mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 08:37:19 +02:00
Merge branch 'master' of https://github.com/highfidelity/hifi into blue
This commit is contained in:
commit
c86a8b3944
13 changed files with 124 additions and 59 deletions
|
@ -12,7 +12,6 @@ Script.load("progress.js");
|
||||||
Script.load("edit.js");
|
Script.load("edit.js");
|
||||||
Script.load("selectAudioDevice.js");
|
Script.load("selectAudioDevice.js");
|
||||||
Script.load("controllers/hydra/hydraMove.js");
|
Script.load("controllers/hydra/hydraMove.js");
|
||||||
Script.load("headMove.js");
|
|
||||||
Script.load("inspect.js");
|
Script.load("inspect.js");
|
||||||
Script.load("lobby.js");
|
Script.load("lobby.js");
|
||||||
Script.load("notifications.js");
|
Script.load("notifications.js");
|
||||||
|
|
|
@ -13,7 +13,8 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
var isDice = false;
|
var isDice = false;
|
||||||
var NUMBER_OF_DICE = 2;
|
var NUMBER_OF_DICE = 4;
|
||||||
|
var LIFETIME = 10000; // Dice will live for about 3 hours
|
||||||
var dice = [];
|
var dice = [];
|
||||||
var DIE_SIZE = 0.20;
|
var DIE_SIZE = 0.20;
|
||||||
|
|
||||||
|
@ -50,7 +51,7 @@ var diceButton = Overlays.addOverlay("image", {
|
||||||
});
|
});
|
||||||
|
|
||||||
var GRAVITY = -3.5;
|
var GRAVITY = -3.5;
|
||||||
var LIFETIME = 300;
|
|
||||||
// NOTE: angularVelocity is in radians/sec
|
// NOTE: angularVelocity is in radians/sec
|
||||||
var MAX_ANGULAR_SPEED = Math.PI;
|
var MAX_ANGULAR_SPEED = Math.PI;
|
||||||
|
|
||||||
|
@ -105,6 +106,7 @@ function mousePressEvent(event) {
|
||||||
var clickedText = false;
|
var clickedText = false;
|
||||||
var clickedOverlay = Overlays.getOverlayAtPoint({x: event.x, y: event.y});
|
var clickedOverlay = Overlays.getOverlayAtPoint({x: event.x, y: event.y});
|
||||||
if (clickedOverlay == offButton) {
|
if (clickedOverlay == offButton) {
|
||||||
|
deleteDice();
|
||||||
Script.stop();
|
Script.stop();
|
||||||
} else if (clickedOverlay == diceButton) {
|
} else if (clickedOverlay == diceButton) {
|
||||||
var HOW_HARD = 2.0;
|
var HOW_HARD = 2.0;
|
||||||
|
@ -116,10 +118,8 @@ function mousePressEvent(event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function scriptEnding() {
|
function scriptEnding() {
|
||||||
deleteDice();
|
|
||||||
Overlays.deleteOverlay(offButton);
|
Overlays.deleteOverlay(offButton);
|
||||||
Overlays.deleteOverlay(diceButton);
|
Overlays.deleteOverlay(diceButton);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Entities.entityCollisionWithEntity.connect(entityCollisionWithEntity);
|
Entities.entityCollisionWithEntity.connect(entityCollisionWithEntity);
|
||||||
|
|
|
@ -23,7 +23,7 @@ var zoneEntityA = Entities.addEntity({
|
||||||
keyLightColor: { red: 255, green: 0, blue: 0 },
|
keyLightColor: { red: 255, green: 0, blue: 0 },
|
||||||
stageSunModelEnabled: false,
|
stageSunModelEnabled: false,
|
||||||
shapeType: "sphere",
|
shapeType: "sphere",
|
||||||
skyboxMode: "atmosphere",
|
backgroundMode: "atmosphere",
|
||||||
atmosphere: {
|
atmosphere: {
|
||||||
center: { x: 1000, y: 0, z: 1000},
|
center: { x: 1000, y: 0, z: 1000},
|
||||||
innerRadius: 1000.0,
|
innerRadius: 1000.0,
|
||||||
|
|
|
@ -23,7 +23,7 @@ var zoneEntityA = Entities.addEntity({
|
||||||
keyLightColor: { red: 255, green: 0, blue: 0 },
|
keyLightColor: { red: 255, green: 0, blue: 0 },
|
||||||
stageSunModelEnabled: false,
|
stageSunModelEnabled: false,
|
||||||
shapeType: "sphere",
|
shapeType: "sphere",
|
||||||
skyboxMode: "atmosphere",
|
backgroundMode: "atmosphere",
|
||||||
atmosphere: {
|
atmosphere: {
|
||||||
center: { x: 1000, y: 0, z: 1000},
|
center: { x: 1000, y: 0, z: 1000},
|
||||||
innerRadius: 1000.0,
|
innerRadius: 1000.0,
|
||||||
|
|
65
examples/harmonicOscillator.js
Normal file
65
examples/harmonicOscillator.js
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
// harmonicOscillator.js
|
||||||
|
//
|
||||||
|
// Created by Philip Rosedale on May 5, 2015
|
||||||
|
// Copyright 2015 High Fidelity, Inc.
|
||||||
|
//
|
||||||
|
// An object moves around the edge of a disc while
|
||||||
|
// changing color. The script is continuously updating
|
||||||
|
// position, velocity, rotation, and color. The movement
|
||||||
|
// should appear perfectly smooth to someone else,
|
||||||
|
// provided their network connection is good.
|
||||||
|
//
|
||||||
|
// Distributed under the Apache License, Version 2.0.
|
||||||
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
//
|
||||||
|
|
||||||
|
var ball, disc;
|
||||||
|
var time = 0.0;
|
||||||
|
var range = 1.0;
|
||||||
|
var speed = 0.5;
|
||||||
|
|
||||||
|
|
||||||
|
var basePosition = Vec3.sum(Camera.getPosition(), Quat.getFront(Camera.getOrientation()));
|
||||||
|
|
||||||
|
ball = Entities.addEntity(
|
||||||
|
{ type: "Box",
|
||||||
|
position: basePosition,
|
||||||
|
dimensions: { x: 0.1, y: 0.1, z: 0.1 },
|
||||||
|
color: { red: 255, green: 0, blue: 255 }
|
||||||
|
});
|
||||||
|
|
||||||
|
disc = Entities.addEntity(
|
||||||
|
{ type: "Sphere",
|
||||||
|
position: basePosition,
|
||||||
|
dimensions: { x: range, y: range / 20.0, z: range },
|
||||||
|
color: { red: 128, green: 128, blue: 128 }
|
||||||
|
});
|
||||||
|
|
||||||
|
function update(deltaTime) {
|
||||||
|
time += deltaTime * speed;
|
||||||
|
if (!ball.isKnownID) {
|
||||||
|
ball = Entities.identifyEntity(ball);
|
||||||
|
}
|
||||||
|
rotation = Quat.angleAxis(time/Math.PI * 180.0, { x: 0, y: 1, z: 0 });
|
||||||
|
Entities.editEntity(ball,
|
||||||
|
{
|
||||||
|
color: { red: 255 * (Math.sin(time)/2.0 + 0.5),
|
||||||
|
green: 255 - 255 * (Math.sin(time)/2.0 + 0.5),
|
||||||
|
blue: 0 },
|
||||||
|
position: { x: basePosition.x + Math.sin(time) / 2.0 * range,
|
||||||
|
y: basePosition.y,
|
||||||
|
z: basePosition.z + Math.cos(time) / 2.0 * range },
|
||||||
|
velocity: { x: Math.cos(time)/2.0 * range,
|
||||||
|
y: 0.0,
|
||||||
|
z: -Math.sin(time)/2.0 * range },
|
||||||
|
rotation: rotation
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function scriptEnding() {
|
||||||
|
Entities.deleteEntity(ball);
|
||||||
|
Entities.deleteEntity(disc);
|
||||||
|
}
|
||||||
|
|
||||||
|
Script.scriptEnding.connect(scriptEnding);
|
||||||
|
Script.update.connect(update);
|
|
@ -3248,6 +3248,7 @@ void Application::displaySide(Camera& theCamera, bool selfAvatarOnly, RenderArgs
|
||||||
{
|
{
|
||||||
PerformanceTimer perfTimer("3dOverlaysFront");
|
PerformanceTimer perfTimer("3dOverlaysFront");
|
||||||
glClear(GL_DEPTH_BUFFER_BIT);
|
glClear(GL_DEPTH_BUFFER_BIT);
|
||||||
|
Glower glower; // Sets alpha to 1.0
|
||||||
_overlays.renderWorld(true);
|
_overlays.renderWorld(true);
|
||||||
}
|
}
|
||||||
activeRenderingThread = nullptr;
|
activeRenderingThread = nullptr;
|
||||||
|
|
|
@ -57,7 +57,9 @@ public:
|
||||||
bool isAxis() const { return getType() == ChannelType::AXIS; }
|
bool isAxis() const { return getType() == ChannelType::AXIS; }
|
||||||
bool isJoint() const { return getType() == ChannelType::JOINT; }
|
bool isJoint() const { return getType() == ChannelType::JOINT; }
|
||||||
|
|
||||||
explicit Input() {}
|
// WORKAROUND: the explicit initializer here avoids a bug in GCC-4.8.2 (but not found in 4.9.2)
|
||||||
|
// where the default initializer (a C++-11ism) for the union data above is not applied.
|
||||||
|
explicit Input() : _id(0) {}
|
||||||
explicit Input(uint32 id) : _id(id) {}
|
explicit Input(uint32 id) : _id(id) {}
|
||||||
explicit Input(uint16 device, uint16 channel, ChannelType type) : _device(device), _channel(channel), _type(uint16(type)) {}
|
explicit Input(uint16 device, uint16 channel, ChannelType type) : _device(device), _channel(channel), _type(uint16(type)) {}
|
||||||
Input(const Input& src) : _id(src._id) {}
|
Input(const Input& src) : _id(src._id) {}
|
||||||
|
|
|
@ -428,7 +428,7 @@ void EntityTreeRenderer::render(RenderArgs::RenderMode renderMode,
|
||||||
scene->setStageDayTime(_bestZone->getStageHour());
|
scene->setStageDayTime(_bestZone->getStageHour());
|
||||||
scene->setStageYearTime(_bestZone->getStageDay());
|
scene->setStageYearTime(_bestZone->getStageDay());
|
||||||
|
|
||||||
if (_bestZone->getSkyboxMode() == SKYBOX_MODE_ATMOSPHERE) {
|
if (_bestZone->getBackgroundMode() == BACKGROUND_MODE_ATMOSPHERE) {
|
||||||
EnvironmentData data = _bestZone->getEnvironmentData();
|
EnvironmentData data = _bestZone->getEnvironmentData();
|
||||||
glm::vec3 keyLightDirection = scene->getKeyLightDirection();
|
glm::vec3 keyLightDirection = scene->getKeyLightDirection();
|
||||||
glm::vec3 inverseKeyLightDirection = keyLightDirection * -1.0f;
|
glm::vec3 inverseKeyLightDirection = keyLightDirection * -1.0f;
|
||||||
|
|
|
@ -89,7 +89,7 @@ EntityItemProperties::EntityItemProperties() :
|
||||||
CONSTRUCT_PROPERTY(stageDay, ZoneEntityItem::DEFAULT_STAGE_DAY),
|
CONSTRUCT_PROPERTY(stageDay, ZoneEntityItem::DEFAULT_STAGE_DAY),
|
||||||
CONSTRUCT_PROPERTY(stageHour, ZoneEntityItem::DEFAULT_STAGE_HOUR),
|
CONSTRUCT_PROPERTY(stageHour, ZoneEntityItem::DEFAULT_STAGE_HOUR),
|
||||||
CONSTRUCT_PROPERTY(name, ENTITY_ITEM_DEFAULT_NAME),
|
CONSTRUCT_PROPERTY(name, ENTITY_ITEM_DEFAULT_NAME),
|
||||||
CONSTRUCT_PROPERTY(skyboxMode, SKYBOX_MODE_INHERIT),
|
CONSTRUCT_PROPERTY(backgroundMode, BACKGROUND_MODE_INHERIT),
|
||||||
|
|
||||||
_id(UNKNOWN_ENTITY_ID),
|
_id(UNKNOWN_ENTITY_ID),
|
||||||
_idSet(false),
|
_idSet(false),
|
||||||
|
@ -237,40 +237,40 @@ void EntityItemProperties::setShapeTypeFromString(const QString& shapeName) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* skyboxModeNames[] = {"inherit", "atmosphere", "texture" };
|
const char* backgroundModeNames[] = {"inherit", "atmosphere", "texture" };
|
||||||
|
|
||||||
QHash<QString, SkyboxMode> stringToSkyboxModeLookup;
|
QHash<QString, BackgroundMode> stringToBackgroundModeLookup;
|
||||||
|
|
||||||
void addSkyboxMode(SkyboxMode type) {
|
void addBackgroundMode(BackgroundMode type) {
|
||||||
stringToSkyboxModeLookup[skyboxModeNames[type]] = type;
|
stringToBackgroundModeLookup[backgroundModeNames[type]] = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
void buildStringToSkyboxModeLookup() {
|
void buildStringToBackgroundModeLookup() {
|
||||||
addSkyboxMode(SKYBOX_MODE_INHERIT);
|
addBackgroundMode(BACKGROUND_MODE_INHERIT);
|
||||||
addSkyboxMode(SKYBOX_MODE_ATMOSPHERE);
|
addBackgroundMode(BACKGROUND_MODE_ATMOSPHERE);
|
||||||
addSkyboxMode(SKYBOX_MODE_TEXTURE);
|
addBackgroundMode(BACKGROUND_MODE_TEXTURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString EntityItemProperties::getSkyboxModeAsString() const {
|
QString EntityItemProperties::getBackgroundModeAsString() const {
|
||||||
if (_skyboxMode < sizeof(skyboxModeNames) / sizeof(char *))
|
if (_backgroundMode < sizeof(backgroundModeNames) / sizeof(char *))
|
||||||
return QString(skyboxModeNames[_skyboxMode]);
|
return QString(backgroundModeNames[_backgroundMode]);
|
||||||
return QString(skyboxModeNames[SKYBOX_MODE_INHERIT]);
|
return QString(backgroundModeNames[BACKGROUND_MODE_INHERIT]);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString EntityItemProperties::getSkyboxModeString(SkyboxMode mode) {
|
QString EntityItemProperties::getBackgroundModeString(BackgroundMode mode) {
|
||||||
if (mode < sizeof(skyboxModeNames) / sizeof(char *))
|
if (mode < sizeof(backgroundModeNames) / sizeof(char *))
|
||||||
return QString(skyboxModeNames[mode]);
|
return QString(backgroundModeNames[mode]);
|
||||||
return QString(skyboxModeNames[SKYBOX_MODE_INHERIT]);
|
return QString(backgroundModeNames[BACKGROUND_MODE_INHERIT]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EntityItemProperties::setSkyboxModeFromString(const QString& skyboxMode) {
|
void EntityItemProperties::setBackgroundModeFromString(const QString& backgroundMode) {
|
||||||
if (stringToSkyboxModeLookup.empty()) {
|
if (stringToBackgroundModeLookup.empty()) {
|
||||||
buildStringToSkyboxModeLookup();
|
buildStringToBackgroundModeLookup();
|
||||||
}
|
}
|
||||||
auto skyboxModeItr = stringToSkyboxModeLookup.find(skyboxMode.toLower());
|
auto backgroundModeItr = stringToBackgroundModeLookup.find(backgroundMode.toLower());
|
||||||
if (skyboxModeItr != stringToSkyboxModeLookup.end()) {
|
if (backgroundModeItr != stringToBackgroundModeLookup.end()) {
|
||||||
_skyboxMode = skyboxModeItr.value();
|
_backgroundMode = backgroundModeItr.value();
|
||||||
_skyboxModeChanged = true;
|
_backgroundModeChanged = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -334,7 +334,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
||||||
CHECK_PROPERTY_CHANGE(PROP_STAGE_DAY, stageDay);
|
CHECK_PROPERTY_CHANGE(PROP_STAGE_DAY, stageDay);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_STAGE_HOUR, stageHour);
|
CHECK_PROPERTY_CHANGE(PROP_STAGE_HOUR, stageHour);
|
||||||
|
|
||||||
CHECK_PROPERTY_CHANGE(PROP_SKYBOX_MODE, skyboxMode);
|
CHECK_PROPERTY_CHANGE(PROP_BACKGROUND_MODE, backgroundMode);
|
||||||
|
|
||||||
changedProperties += _atmosphere.getChangedProperties();
|
changedProperties += _atmosphere.getChangedProperties();
|
||||||
|
|
||||||
|
@ -419,7 +419,7 @@ QScriptValue EntityItemProperties::copyToScriptValue(QScriptEngine* engine, bool
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(stageAltitude);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(stageAltitude);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(stageDay);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(stageDay);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(stageHour);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(stageHour);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE_GETTER(skyboxMode, getSkyboxModeAsString());
|
COPY_PROPERTY_TO_QSCRIPTVALUE_GETTER(backgroundMode, getBackgroundModeAsString());
|
||||||
|
|
||||||
// Sitting properties support
|
// Sitting properties support
|
||||||
if (!skipDefaults) {
|
if (!skipDefaults) {
|
||||||
|
@ -524,7 +524,7 @@ void EntityItemProperties::copyFromScriptValue(const QScriptValue& object) {
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_FLOAT(stageAltitude, setStageAltitude);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE_FLOAT(stageAltitude, setStageAltitude);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_INT(stageDay, setStageDay);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE_INT(stageDay, setStageDay);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_FLOAT(stageHour, setStageHour);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE_FLOAT(stageHour, setStageHour);
|
||||||
COPY_PROPERTY_FROM_QSCRITPTVALUE_ENUM(skyboxMode, SkyboxMode);
|
COPY_PROPERTY_FROM_QSCRITPTVALUE_ENUM(backgroundMode, BackgroundMode);
|
||||||
_atmosphere.copyFromScriptValue(object, _defaultSettings);
|
_atmosphere.copyFromScriptValue(object, _defaultSettings);
|
||||||
_lastEdited = usecTimestampNow();
|
_lastEdited = usecTimestampNow();
|
||||||
}
|
}
|
||||||
|
@ -731,7 +731,7 @@ bool EntityItemProperties::encodeEntityEditPacket(PacketType command, EntityItem
|
||||||
APPEND_ENTITY_PROPERTY(PROP_SHAPE_TYPE, appendValue, (uint32_t)properties.getShapeType());
|
APPEND_ENTITY_PROPERTY(PROP_SHAPE_TYPE, appendValue, (uint32_t)properties.getShapeType());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_COMPOUND_SHAPE_URL, appendValue, properties.getCompoundShapeURL());
|
APPEND_ENTITY_PROPERTY(PROP_COMPOUND_SHAPE_URL, appendValue, properties.getCompoundShapeURL());
|
||||||
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_SKYBOX_MODE, appendValue, (uint32_t)properties.getSkyboxMode());
|
APPEND_ENTITY_PROPERTY(PROP_BACKGROUND_MODE, appendValue, (uint32_t)properties.getBackgroundMode());
|
||||||
|
|
||||||
_staticAtmosphere.setProperties(properties);
|
_staticAtmosphere.setProperties(properties);
|
||||||
_staticAtmosphere.appentToEditPacket(packetData, requestedProperties, propertyFlags, propertiesDidntFit, propertyCount, appendState );
|
_staticAtmosphere.appentToEditPacket(packetData, requestedProperties, propertyFlags, propertiesDidntFit, propertyCount, appendState );
|
||||||
|
@ -984,7 +984,7 @@ bool EntityItemProperties::decodeEntityEditPacket(const unsigned char* data, int
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_STAGE_HOUR, float, setStageHour);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_STAGE_HOUR, float, setStageHour);
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_SHAPE_TYPE, ShapeType, setShapeType);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_SHAPE_TYPE, ShapeType, setShapeType);
|
||||||
READ_ENTITY_PROPERTY_STRING_TO_PROPERTIES(PROP_COMPOUND_SHAPE_URL, setCompoundShapeURL);
|
READ_ENTITY_PROPERTY_STRING_TO_PROPERTIES(PROP_COMPOUND_SHAPE_URL, setCompoundShapeURL);
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_SKYBOX_MODE, SkyboxMode, setSkyboxMode);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_BACKGROUND_MODE, BackgroundMode, setBackgroundMode);
|
||||||
properties.getAtmosphere().decodeFromEditPacket(propertyFlags, dataAt , processedBytes);
|
properties.getAtmosphere().decodeFromEditPacket(propertyFlags, dataAt , processedBytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1088,7 +1088,7 @@ void EntityItemProperties::markAllChanged() {
|
||||||
_stageDayChanged = true;
|
_stageDayChanged = true;
|
||||||
_stageHourChanged = true;
|
_stageHourChanged = true;
|
||||||
|
|
||||||
_skyboxModeChanged = true;
|
_backgroundModeChanged = true;
|
||||||
_atmosphere.markAllChanged();
|
_atmosphere.markAllChanged();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,9 +139,9 @@ public:
|
||||||
DEFINE_PROPERTY(PROP_STAGE_HOUR, StageHour, stageHour, float);
|
DEFINE_PROPERTY(PROP_STAGE_HOUR, StageHour, stageHour, float);
|
||||||
DEFINE_PROPERTY_REF(PROP_NAME, Name, name, QString);
|
DEFINE_PROPERTY_REF(PROP_NAME, Name, name, QString);
|
||||||
DEFINE_PROPERTY_GROUP(Atmosphere, atmosphere, AtmospherePropertyGroup);
|
DEFINE_PROPERTY_GROUP(Atmosphere, atmosphere, AtmospherePropertyGroup);
|
||||||
DEFINE_PROPERTY_REF_ENUM(PROP_SKYBOX_MODE, SkyboxMode, skyboxMode, SkyboxMode);
|
DEFINE_PROPERTY_REF_ENUM(PROP_BACKGROUND_MODE, BackgroundMode, backgroundMode, BackgroundMode);
|
||||||
|
|
||||||
static QString getSkyboxModeString(SkyboxMode mode);
|
static QString getBackgroundModeString(BackgroundMode mode);
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -276,7 +276,7 @@ inline QDebug operator<<(QDebug debug, const EntityItemProperties& properties) {
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, LocalGravity, localGravity, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, LocalGravity, localGravity, "");
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, ParticleRadius, particleRadius, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, ParticleRadius, particleRadius, "");
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, MarketplaceID, marketplaceID, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, MarketplaceID, marketplaceID, "");
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, SkyboxMode, skyboxMode, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, BackgroundMode, backgroundMode, "");
|
||||||
|
|
||||||
debug << " last edited:" << properties.getLastEdited() << "\n";
|
debug << " last edited:" << properties.getLastEdited() << "\n";
|
||||||
debug << " edited ago:" << properties.getEditedAgo() << "\n";
|
debug << " edited ago:" << properties.getEditedAgo() << "\n";
|
||||||
|
|
|
@ -143,9 +143,7 @@ enum EntityPropertyList {
|
||||||
PROP_ATMOSPHERE_RAYLEIGH_SCATTERING = PROP_EMIT_STRENGTH,
|
PROP_ATMOSPHERE_RAYLEIGH_SCATTERING = PROP_EMIT_STRENGTH,
|
||||||
PROP_ATMOSPHERE_SCATTERING_WAVELENGTHS = PROP_LOCAL_GRAVITY,
|
PROP_ATMOSPHERE_SCATTERING_WAVELENGTHS = PROP_LOCAL_GRAVITY,
|
||||||
PROP_ATMOSPHERE_HAS_STARS = PROP_PARTICLE_RADIUS,
|
PROP_ATMOSPHERE_HAS_STARS = PROP_PARTICLE_RADIUS,
|
||||||
PROP_SKYBOX_MODE = PROP_MODEL_URL,
|
PROP_BACKGROUND_MODE = PROP_MODEL_URL,
|
||||||
// SunBrightness - same as KeyLight Intensity?
|
|
||||||
// SunLocation (or direction) - same as KeyLight
|
|
||||||
|
|
||||||
// WARNING!!! DO NOT ADD PROPS_xxx here unless you really really meant to.... Add them UP above
|
// WARNING!!! DO NOT ADD PROPS_xxx here unless you really really meant to.... Add them UP above
|
||||||
};
|
};
|
||||||
|
@ -157,10 +155,10 @@ typedef PropertyFlags<EntityPropertyList> EntityPropertyFlags;
|
||||||
extern EntityPropertyList PROP_LAST_ITEM;
|
extern EntityPropertyList PROP_LAST_ITEM;
|
||||||
|
|
||||||
|
|
||||||
enum SkyboxMode {
|
enum BackgroundMode {
|
||||||
SKYBOX_MODE_INHERIT,
|
BACKGROUND_MODE_INHERIT,
|
||||||
SKYBOX_MODE_ATMOSPHERE,
|
BACKGROUND_MODE_ATMOSPHERE,
|
||||||
SKYBOX_MODE_TEXTURE,
|
BACKGROUND_MODE_TEXTURE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ ZoneEntityItem::ZoneEntityItem(const EntityItemID& entityItemID, const EntityIte
|
||||||
_shapeType = DEFAULT_SHAPE_TYPE;
|
_shapeType = DEFAULT_SHAPE_TYPE;
|
||||||
_compoundShapeURL = DEFAULT_COMPOUND_SHAPE_URL;
|
_compoundShapeURL = DEFAULT_COMPOUND_SHAPE_URL;
|
||||||
|
|
||||||
_skyboxMode = SKYBOX_MODE_INHERIT;
|
_backgroundMode = BACKGROUND_MODE_INHERIT;
|
||||||
|
|
||||||
setProperties(properties);
|
setProperties(properties);
|
||||||
}
|
}
|
||||||
|
@ -103,7 +103,7 @@ EntityItemProperties ZoneEntityItem::getProperties() const {
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(shapeType, getShapeType);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(shapeType, getShapeType);
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(compoundShapeURL, getCompoundShapeURL);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(compoundShapeURL, getCompoundShapeURL);
|
||||||
|
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(skyboxMode, getSkyboxMode);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(backgroundMode, getBackgroundMode);
|
||||||
|
|
||||||
_atmospherePropeties.getProperties(properties);
|
_atmospherePropeties.getProperties(properties);
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ bool ZoneEntityItem::setProperties(const EntityItemProperties& properties) {
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(stageHour, setStageHour);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(stageHour, setStageHour);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(shapeType, updateShapeType);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(shapeType, updateShapeType);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(compoundShapeURL, setCompoundShapeURL);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(compoundShapeURL, setCompoundShapeURL);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(skyboxMode, setSkyboxMode);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(backgroundMode, setBackgroundMode);
|
||||||
|
|
||||||
bool somethingChangedInAtmosphere = _atmospherePropeties.setProperties(properties);
|
bool somethingChangedInAtmosphere = _atmospherePropeties.setProperties(properties);
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@ int ZoneEntityItem::readEntitySubclassDataFromBuffer(const unsigned char* data,
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_HOUR, float, _stageHour);
|
READ_ENTITY_PROPERTY(PROP_STAGE_HOUR, float, _stageHour);
|
||||||
READ_ENTITY_PROPERTY_SETTER(PROP_SHAPE_TYPE, ShapeType, updateShapeType);
|
READ_ENTITY_PROPERTY_SETTER(PROP_SHAPE_TYPE, ShapeType, updateShapeType);
|
||||||
READ_ENTITY_PROPERTY_STRING(PROP_COMPOUND_SHAPE_URL, setCompoundShapeURL);
|
READ_ENTITY_PROPERTY_STRING(PROP_COMPOUND_SHAPE_URL, setCompoundShapeURL);
|
||||||
READ_ENTITY_PROPERTY_SETTER(PROP_SKYBOX_MODE, SkyboxMode, setSkyboxMode);
|
READ_ENTITY_PROPERTY_SETTER(PROP_BACKGROUND_MODE, BackgroundMode, setBackgroundMode);
|
||||||
bytesRead += _atmospherePropeties.readEntitySubclassDataFromBuffer(dataAt, (bytesLeftToRead - bytesRead), args,
|
bytesRead += _atmospherePropeties.readEntitySubclassDataFromBuffer(dataAt, (bytesLeftToRead - bytesRead), args,
|
||||||
propertyFlags, overwriteLocalData);
|
propertyFlags, overwriteLocalData);
|
||||||
|
|
||||||
|
@ -188,7 +188,7 @@ EntityPropertyFlags ZoneEntityItem::getEntityProperties(EncodeBitstreamParams& p
|
||||||
requestedProperties += PROP_STAGE_HOUR;
|
requestedProperties += PROP_STAGE_HOUR;
|
||||||
requestedProperties += PROP_SHAPE_TYPE;
|
requestedProperties += PROP_SHAPE_TYPE;
|
||||||
requestedProperties += PROP_COMPOUND_SHAPE_URL;
|
requestedProperties += PROP_COMPOUND_SHAPE_URL;
|
||||||
requestedProperties += PROP_SKYBOX_MODE;
|
requestedProperties += PROP_BACKGROUND_MODE;
|
||||||
requestedProperties += _atmospherePropeties.getEntityProperties(params);
|
requestedProperties += _atmospherePropeties.getEntityProperties(params);
|
||||||
|
|
||||||
return requestedProperties;
|
return requestedProperties;
|
||||||
|
@ -216,7 +216,7 @@ void ZoneEntityItem::appendSubclassData(OctreePacketData* packetData, EncodeBits
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_HOUR, appendValue, getStageHour());
|
APPEND_ENTITY_PROPERTY(PROP_STAGE_HOUR, appendValue, getStageHour());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_SHAPE_TYPE, appendValue, (uint32_t)getShapeType());
|
APPEND_ENTITY_PROPERTY(PROP_SHAPE_TYPE, appendValue, (uint32_t)getShapeType());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_COMPOUND_SHAPE_URL, appendValue, getCompoundShapeURL());
|
APPEND_ENTITY_PROPERTY(PROP_COMPOUND_SHAPE_URL, appendValue, getCompoundShapeURL());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_SKYBOX_MODE, appendValue, (uint32_t)getSkyboxMode()); // could this be a uint16??
|
APPEND_ENTITY_PROPERTY(PROP_BACKGROUND_MODE, appendValue, (uint32_t)getBackgroundMode()); // could this be a uint16??
|
||||||
|
|
||||||
_atmospherePropeties.appendSubclassData(packetData, params, modelTreeElementExtraEncodeData, requestedProperties,
|
_atmospherePropeties.appendSubclassData(packetData, params, modelTreeElementExtraEncodeData, requestedProperties,
|
||||||
propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
||||||
|
@ -239,7 +239,7 @@ void ZoneEntityItem::debugDump() const {
|
||||||
qCDebug(entities) << " _stageAltitude:" << _stageAltitude;
|
qCDebug(entities) << " _stageAltitude:" << _stageAltitude;
|
||||||
qCDebug(entities) << " _stageDay:" << _stageDay;
|
qCDebug(entities) << " _stageDay:" << _stageDay;
|
||||||
qCDebug(entities) << " _stageHour:" << _stageHour;
|
qCDebug(entities) << " _stageHour:" << _stageHour;
|
||||||
qCDebug(entities) << " _skyboxMode:" << EntityItemProperties::getSkyboxModeString(_skyboxMode);
|
qCDebug(entities) << " _backgroundMode:" << EntityItemProperties::getBackgroundModeString(_backgroundMode);
|
||||||
|
|
||||||
_atmospherePropeties.debugDump();
|
_atmospherePropeties.debugDump();
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,8 +106,8 @@ public:
|
||||||
const QString getCompoundShapeURL() const { return _compoundShapeURL; }
|
const QString getCompoundShapeURL() const { return _compoundShapeURL; }
|
||||||
virtual void setCompoundShapeURL(const QString& url);
|
virtual void setCompoundShapeURL(const QString& url);
|
||||||
|
|
||||||
void setSkyboxMode(SkyboxMode value) { _skyboxMode = value; }
|
void setBackgroundMode(BackgroundMode value) { _backgroundMode = value; }
|
||||||
SkyboxMode getSkyboxMode() const { return _skyboxMode; }
|
BackgroundMode getBackgroundMode() const { return _backgroundMode; }
|
||||||
|
|
||||||
EnvironmentData getEnvironmentData() const;
|
EnvironmentData getEnvironmentData() const;
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@ protected:
|
||||||
ShapeType _shapeType = SHAPE_TYPE_NONE;
|
ShapeType _shapeType = SHAPE_TYPE_NONE;
|
||||||
QString _compoundShapeURL;
|
QString _compoundShapeURL;
|
||||||
|
|
||||||
SkyboxMode _skyboxMode = SKYBOX_MODE_INHERIT;
|
BackgroundMode _backgroundMode = BACKGROUND_MODE_INHERIT;
|
||||||
AtmospherePropertyGroup _atmospherePropeties;
|
AtmospherePropertyGroup _atmospherePropeties;
|
||||||
|
|
||||||
static bool _drawZoneBoundaries;
|
static bool _drawZoneBoundaries;
|
||||||
|
|
Loading…
Reference in a new issue