Added checkbox for altitude effect.

This commit is contained in:
Nissim Hadar 2017-10-11 22:10:58 -07:00
parent 3ec8faa1b9
commit a21995db24
9 changed files with 53 additions and 18 deletions

View file

@ -338,7 +338,7 @@ void ZoneEntityRenderer::updateHazeFromEntity(const TypedEntityPointer& entity)
const uint32_t hazeMode = entity->getHazeMode();
haze->setHazeActive(hazeMode == HAZE_MODE_ENABLED);
//// haze->setAltitudeBased(hazeMode == HAZE_MODE_RANGE_ALTITUDE);
haze->setAltitudeBased(_hazeProperties.getHazeAltitudeEffect());
haze->setHazeRangeFactor(model::convertHazeRangeToHazeRangeFactor(_hazeProperties.getHazeRange()));
xColor hazeBlendInColor = _hazeProperties.getHazeBlendInColor();

View file

@ -1161,7 +1161,8 @@ void EntityItemProperties::entityPropertyFlagsFromScriptValue(const QScriptValue
ADD_GROUP_PROPERTY_TO_MAP(PROP_HAZE_ENABLE_LIGHT_BLEND, Haze, haze, HazeEnableLightBlend, hazeEnableLightBlend);
ADD_GROUP_PROPERTY_TO_MAP(PROP_HAZE_LIGHT_BLEND_ANGLE, Haze, haze, HazeLightBlendAngle, hazeLightBlendAngle);
ADD_GROUP_PROPERTY_TO_MAP(PROP_HAZE_ALTITUDE, Haze, haze, HazeCeiling, hazeCeiling);
ADD_GROUP_PROPERTY_TO_MAP(PROP_HAZE_ALTITUDE_EFFECT, Haze, haze, HazeAltitudeEffect, hazeAltitudeEfect);
ADD_GROUP_PROPERTY_TO_MAP(PROP_HAZE_CEILING, Haze, haze, HazeCeiling, hazeCeiling);
ADD_GROUP_PROPERTY_TO_MAP(PROP_HAZE_BASE_REF, Haze, haze, HazeBaseRef, hazeBaseRef);
ADD_GROUP_PROPERTY_TO_MAP(PROP_HAZE_BACKGROUND_BLEND, Haze, haze, HazeBackgroundBlend, hazeBackgroundBlend);

View file

@ -240,14 +240,15 @@ enum EntityPropertyList {
PROP_HAZE_ENABLE_LIGHT_BLEND = PROP_IS_SPOTLIGHT,
PROP_HAZE_LIGHT_BLEND_ANGLE = PROP_DIFFUSE_COLOR,
PROP_HAZE_ALTITUDE = PROP_AMBIENT_COLOR_UNUSED,
PROP_HAZE_BASE_REF = PROP_SPECULAR_COLOR_UNUSED,
PROP_HAZE_ALTITUDE_EFFECT = PROP_AMBIENT_COLOR_UNUSED,
PROP_HAZE_CEILING = PROP_SPECULAR_COLOR_UNUSED,
PROP_HAZE_BASE_REF = PROP_LINEAR_ATTENUATION_UNUSED,
PROP_HAZE_BACKGROUND_BLEND = PROP_LINEAR_ATTENUATION_UNUSED,
PROP_HAZE_BACKGROUND_BLEND = PROP_QUADRATIC_ATTENUATION_UNUSED,
PROP_HAZE_ATTENUATE_KEYLIGHT = PROP_QUADRATIC_ATTENUATION_UNUSED,
PROP_HAZE_KEYLIGHT_RANGE = PROP_ANIMATION_FRAME_INDEX,
PROP_HAZE_KEYLIGHT_ALTITUDE = PROP_MODEL_URL,
PROP_HAZE_ATTENUATE_KEYLIGHT = PROP_ANIMATION_FRAME_INDEX,
PROP_HAZE_KEYLIGHT_RANGE = PROP_MODEL_URL,
PROP_HAZE_KEYLIGHT_ALTITUDE = PROP_ANIMATION_URL,
PROP_SKYBOX_COLOR = PROP_ANIMATION_URL,
PROP_SKYBOX_URL = PROP_ANIMATION_FPS,

View file

@ -35,7 +35,8 @@ void HazePropertyGroup::copyToScriptValue(const EntityPropertyFlags& desiredProp
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_HAZE_ENABLE_LIGHT_BLEND, Haze, haze, HazeEnableLightBlend, hazeEnableLightBlend);
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_HAZE_LIGHT_BLEND_ANGLE, Haze, haze, HazeLightBlendAngle, hazeLightBlendAngle);
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_HAZE_ALTITUDE, Haze, haze, HazeCeiling, hazeCeiling);
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_HAZE_ALTITUDE_EFFECT, Haze, haze, HazeAltitudeEffect, hazeAltitudeEffect);
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_HAZE_CEILING, Haze, haze, HazeCeiling, hazeCeiling);
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_HAZE_BASE_REF, Haze, haze, HazeBaseRef, hazeBaseRef);
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_HAZE_BACKGROUND_BLEND, Haze, haze, HazeBackgroundBlend, hazeBackgroundBlend);
@ -52,6 +53,7 @@ void HazePropertyGroup::copyFromScriptValue(const QScriptValue& object, bool& _d
COPY_GROUP_PROPERTY_FROM_QSCRIPTVALUE(haze, hazeEnableLightBlend, bool, setHazeEnableLightBlend);
COPY_GROUP_PROPERTY_FROM_QSCRIPTVALUE(haze, hazeLightBlendAngle, float, setHazeLightBlendAngle);
COPY_GROUP_PROPERTY_FROM_QSCRIPTVALUE(haze, hazeAltitudeEffect, bool, setHazeAltitudeEffect);
COPY_GROUP_PROPERTY_FROM_QSCRIPTVALUE(haze, hazeCeiling, float, setHazeCeiling);
COPY_GROUP_PROPERTY_FROM_QSCRIPTVALUE(haze, hazeBaseRef, float, setHazeBaseRef);
@ -69,6 +71,7 @@ void HazePropertyGroup::merge(const HazePropertyGroup& other) {
COPY_PROPERTY_IF_CHANGED(hazeEnableLightBlend);
COPY_PROPERTY_IF_CHANGED(hazeLightBlendAngle);
COPY_PROPERTY_IF_CHANGED(hazeAltitudeEffect);
COPY_PROPERTY_IF_CHANGED(hazeCeiling);
COPY_PROPERTY_IF_CHANGED(hazeBaseRef);
@ -88,6 +91,7 @@ void HazePropertyGroup::debugDump() const {
qCDebug(entities) << " _hazeEnableLightBlend:" << _hazeEnableLightBlend;
qCDebug(entities) << " _hazeLightBlendAngle:" << _hazeLightBlendAngle;
qCDebug(entities) << " _hazeAltitudeEffect:" << _hazeAltitudeEffect;
qCDebug(entities) << " _hazeCeiling:" << _hazeCeiling;
qCDebug(entities) << " _hazeBaseRef:" << _hazeBaseRef;
@ -115,6 +119,9 @@ void HazePropertyGroup::listChangedProperties(QList<QString>& out) {
out << "haze-hazeLightBlendAngle";
}
if (hazeAltitudeEffectChanged()) {
out << "haze-hazeAltitudeEffect";
}
if (hazeCeilingChanged()) {
out << "haze-hazeCeiling";
}
@ -152,7 +159,8 @@ bool HazePropertyGroup::appendToEditPacket(OctreePacketData* packetData,
APPEND_ENTITY_PROPERTY(PROP_HAZE_ENABLE_LIGHT_BLEND, getHazeEnableLightBlend());
APPEND_ENTITY_PROPERTY(PROP_HAZE_LIGHT_BLEND_ANGLE, getHazeLightBlendAngle());
APPEND_ENTITY_PROPERTY(PROP_HAZE_ALTITUDE, getHazeCeiling());
APPEND_ENTITY_PROPERTY(PROP_HAZE_ALTITUDE_EFFECT, getHazeAltitudeEffect());
APPEND_ENTITY_PROPERTY(PROP_HAZE_CEILING, getHazeCeiling());
APPEND_ENTITY_PROPERTY(PROP_HAZE_BASE_REF, getHazeBaseRef());
APPEND_ENTITY_PROPERTY(PROP_HAZE_BACKGROUND_BLEND, getHazeBackgroundBlend());
@ -176,7 +184,8 @@ bool HazePropertyGroup::decodeFromEditPacket(EntityPropertyFlags& propertyFlags,
READ_ENTITY_PROPERTY(PROP_HAZE_ENABLE_LIGHT_BLEND, bool, setHazeEnableLightBlend);
READ_ENTITY_PROPERTY(PROP_HAZE_LIGHT_BLEND_ANGLE, float, setHazeLightBlendAngle);
READ_ENTITY_PROPERTY(PROP_HAZE_ALTITUDE, float, setHazeCeiling);
READ_ENTITY_PROPERTY(PROP_HAZE_ALTITUDE_EFFECT, bool, setHazeAltitudeEffect);
READ_ENTITY_PROPERTY(PROP_HAZE_CEILING, float, setHazeCeiling);
READ_ENTITY_PROPERTY(PROP_HAZE_BASE_REF, float, setHazeBaseRef);
READ_ENTITY_PROPERTY(PROP_HAZE_BACKGROUND_BLEND, float, setHazeBackgroundBlend);
@ -191,7 +200,8 @@ bool HazePropertyGroup::decodeFromEditPacket(EntityPropertyFlags& propertyFlags,
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_HAZE_ENABLE_LIGHT_BLEND, HazeEnableLightBlend);
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_HAZE_LIGHT_BLEND_ANGLE, HazeLightBlendAngle);
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_HAZE_ALTITUDE, HazeCeiling);
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_HAZE_ALTITUDE_EFFECT, HazeAltitudeEffect);
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_HAZE_CEILING, HazeCeiling);
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_HAZE_BASE_REF, HazeBaseRef);
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_HAZE_BACKGROUND_BLEND, HazeBackgroundBlend);
@ -214,6 +224,7 @@ void HazePropertyGroup::markAllChanged() {
_hazeEnableLightBlendChanged = true;
_hazeLightBlendAngleChanged = true;
_hazeAltitudeEffectChanged = true;
_hazeCeilingChanged = true;
_hazeBaseRefChanged = true;
@ -233,7 +244,8 @@ EntityPropertyFlags HazePropertyGroup::getChangedProperties() const {
CHECK_PROPERTY_CHANGE(PROP_HAZE_ENABLE_LIGHT_BLEND, hazeEnableLightBlend);
CHECK_PROPERTY_CHANGE(PROP_HAZE_LIGHT_BLEND_ANGLE, hazeLightBlendAngle);
CHECK_PROPERTY_CHANGE(PROP_HAZE_ALTITUDE, hazeCeiling);
CHECK_PROPERTY_CHANGE(PROP_HAZE_ALTITUDE_EFFECT, hazeAltitudeEffect);
CHECK_PROPERTY_CHANGE(PROP_HAZE_CEILING, hazeCeiling);
CHECK_PROPERTY_CHANGE(PROP_HAZE_BASE_REF, hazeBaseRef);
CHECK_PROPERTY_CHANGE(PROP_HAZE_BACKGROUND_BLEND, hazeBackgroundBlend);
@ -252,6 +264,7 @@ void HazePropertyGroup::getProperties(EntityItemProperties& properties) const {
COPY_ENTITY_GROUP_PROPERTY_TO_PROPERTIES(Haze, HazeEnableLightBlend, getHazeEnableLightBlend);
COPY_ENTITY_GROUP_PROPERTY_TO_PROPERTIES(Haze, HazeLightBlendAngle, getHazeLightBlendAngle);
COPY_ENTITY_GROUP_PROPERTY_TO_PROPERTIES(Haze, HazeAltitudeEffect, getHazeAltitudeEffect);
COPY_ENTITY_GROUP_PROPERTY_TO_PROPERTIES(Haze, HazeCeiling, getHazeCeiling);
COPY_ENTITY_GROUP_PROPERTY_TO_PROPERTIES(Haze, HazeBaseRef, getHazeBaseRef);
@ -271,6 +284,7 @@ bool HazePropertyGroup::setProperties(const EntityItemProperties& properties) {
SET_ENTITY_GROUP_PROPERTY_FROM_PROPERTIES(Haze, HazeEnableLightBlend, hazeEnableLightBlend, setHazeEnableLightBlend);
SET_ENTITY_GROUP_PROPERTY_FROM_PROPERTIES(Haze, HazeLightBlendAngle, hazeLightBlendAngle, setHazeLightBlendAngle);
SET_ENTITY_GROUP_PROPERTY_FROM_PROPERTIES(Haze, HazeAltitudeEffect, hazeAltitudeEffect, setHazeAltitudeEffect);
SET_ENTITY_GROUP_PROPERTY_FROM_PROPERTIES(Haze, HazeCeiling, hazeCeiling, setHazeCeiling);
SET_ENTITY_GROUP_PROPERTY_FROM_PROPERTIES(Haze, HazeBaseRef, hazeBaseRef, setHazeBaseRef);
@ -292,7 +306,7 @@ EntityPropertyFlags HazePropertyGroup::getEntityProperties(EncodeBitstreamParams
requestedProperties += PROP_HAZE_ENABLE_LIGHT_BLEND;
requestedProperties += PROP_HAZE_LIGHT_BLEND_ANGLE;
requestedProperties += PROP_HAZE_ALTITUDE;
requestedProperties += PROP_HAZE_CEILING;
requestedProperties += PROP_HAZE_BASE_REF;
requestedProperties += PROP_HAZE_BACKGROUND_BLEND;
@ -320,7 +334,8 @@ void HazePropertyGroup::appendSubclassData(OctreePacketData* packetData, EncodeB
APPEND_ENTITY_PROPERTY(PROP_HAZE_ENABLE_LIGHT_BLEND, getHazeEnableLightBlend());
APPEND_ENTITY_PROPERTY(PROP_HAZE_LIGHT_BLEND_ANGLE, getHazeLightBlendAngle());
APPEND_ENTITY_PROPERTY(PROP_HAZE_ALTITUDE, getHazeCeiling());
APPEND_ENTITY_PROPERTY(PROP_HAZE_ALTITUDE_EFFECT, getHazeAltitudeEffect());
APPEND_ENTITY_PROPERTY(PROP_HAZE_CEILING, getHazeCeiling());
APPEND_ENTITY_PROPERTY(PROP_HAZE_BASE_REF, getHazeBaseRef());
APPEND_ENTITY_PROPERTY(PROP_HAZE_BACKGROUND_BLEND, getHazeBackgroundBlend());
@ -344,7 +359,8 @@ int HazePropertyGroup::readEntitySubclassDataFromBuffer(const unsigned char* dat
READ_ENTITY_PROPERTY(PROP_HAZE_ENABLE_LIGHT_BLEND, bool, setHazeEnableLightBlend);
READ_ENTITY_PROPERTY(PROP_HAZE_LIGHT_BLEND_ANGLE, float, setHazeLightBlendAngle);
READ_ENTITY_PROPERTY(PROP_HAZE_ALTITUDE, float, setHazeCeiling);
READ_ENTITY_PROPERTY(PROP_HAZE_ALTITUDE_EFFECT, bool, setHazeAltitudeEffect);
READ_ENTITY_PROPERTY(PROP_HAZE_CEILING, float, setHazeCeiling);
READ_ENTITY_PROPERTY(PROP_HAZE_BASE_REF, float, setHazeBaseRef);
READ_ENTITY_PROPERTY(PROP_HAZE_BACKGROUND_BLEND, float, setHazeBackgroundBlend);

View file

@ -94,8 +94,9 @@ public:
DEFINE_PROPERTY(PROP_HAZE_ENABLE_LIGHT_BLEND, HazeEnableLightBlend, hazeEnableLightBlend, bool, false);
DEFINE_PROPERTY_REF(PROP_HAZE_LIGHT_BLEND_ANGLE, HazeLightBlendAngle, hazeLightBlendAngle, float, DEFAULT_HAZE_LIGHT_BLEND_ANGLE);
// Range & Altitude parameters
DEFINE_PROPERTY_REF(PROP_HAZE_ALTITUDE, HazeCeiling, hazeCeiling, float, DEFAULT_HAZE_CEILING);
// Altitude parameters
DEFINE_PROPERTY(PROP_HAZE_ALTITUDE_EFFECT, HazeAltitudeEffect, hazeAltitudeEffect, bool, false);
DEFINE_PROPERTY_REF(PROP_HAZE_CEILING, HazeCeiling, hazeCeiling, float, DEFAULT_HAZE_CEILING);
DEFINE_PROPERTY_REF(PROP_HAZE_BASE_REF, HazeBaseRef, hazeBaseRef, float, DEFAULT_HAZE_BASE_REF);
// Background (skybox) blend value

View file

@ -197,6 +197,8 @@ public:
void setHazeLightBlendAngle(float hazeLightBlendAngle) { _hazeLightBlendAngle = hazeLightBlendAngle; }
float getHazeLightBlendAngle() const { return _hazeLightBlendAngle; }
void setHazeAltitudeEffect(bool hazeAltitudeEffect) { _hazeAltitudeEffect = hazeAltitudeEffect; }
bool getHazeAltitudeEffect() const { return _hazeAltitudeEffect; }
void setHazeCeiling(float hazeCeiling) { _hazeCeiling = hazeCeiling; }
float getHazeCeiling() const { return _hazeCeiling; }
void setHazeBaseRef(float hazeBaseRef) { _hazeBaseRef = hazeBaseRef; }
@ -223,6 +225,7 @@ protected:
bool _hazeEnableLightBlend;
float _hazeLightBlendAngle;
bool _hazeAltitudeEffect;
float _hazeCeiling;
float _hazeBaseRef;

View file

@ -180,6 +180,12 @@ float SceneScripting::Stage::getHazeLightBlendAngle() const {
return _skyStage->getHazeLightBlendAngle();
}
void SceneScripting::Stage::setHazeAltitudeEffect(const bool hazeAltitudeEffect) {
_skyStage->setHazeAltitudeEffect(hazeAltitudeEffect);
}
bool SceneScripting::Stage::getHazeAltitudeEffect() const {
return _skyStage->getHazeAltitudeEffect();
}
void SceneScripting::Stage::setHazeCeiling(const float hazeCeiling) {
_skyStage->setHazeCeiling(hazeCeiling);
}

View file

@ -145,6 +145,10 @@ namespace SceneScripting {
void setHazeLightBlendAngle(float value);
float getHazeLightBlendAngle() const;
Q_PROPERTY(bool hazeAltitudeEffect READ getHazeAltitudeEffect WRITE setHazeAltitudeEffect)
void setHazeAltitudeEffect(bool value);
bool getHazeAltitudeEffect() const;
Q_PROPERTY(float hazeCeiling READ getHazeCeiling WRITE setHazeCeiling)
void setHazeCeiling(float value);
float getHazeCeiling() const;

View file

@ -671,6 +671,7 @@ function loaded() {
var elZoneHazeEnableLightBlend = document.getElementById("property-zone-haze-enable-light-blend");
var elZoneHazeLightBlendAngle = document.getElementById("property-zone-haze-blend-angle");
var elZoneHazeAltitudeEffect = document.getElementById("property-zone-haze-altitude-effect");
var elZoneHazeBaseRef = document.getElementById("property-zone-haze-base");
var elZoneHazeCeiling = document.getElementById("property-zone-haze-ceiling");
@ -1043,6 +1044,7 @@ function loaded() {
elZoneHazeEnableLightBlend.checked = properties.haze.hazeEnableLightBlend;
elZoneHazeLightBlendAngle.value = properties.haze.hazeLightBlendAngle.toFixed(0);
elZoneHazeAltitudeEffect.checked = properties.haze.hazeAltitudeEffect;
elZoneHazeBaseRef.value = properties.haze.hazeBaseRef.toFixed(0);
elZoneHazeCeiling.value = properties.haze.hazeCeiling.toFixed(0);
@ -1503,6 +1505,7 @@ function loaded() {
elZoneHazeEnableLightBlend.addEventListener('change', createEmitGroupCheckedPropertyUpdateFunction('haze', 'hazeEnableLightBlend'));
elZoneHazeLightBlendAngle.addEventListener('change', createEmitGroupNumberPropertyUpdateFunction('haze', 'hazeLightBlendAngle'));
elZoneHazeAltitudeEffect.addEventListener('change', createEmitGroupCheckedPropertyUpdateFunction('haze', 'hazeAltitudeEffect'));
elZoneHazeCeiling.addEventListener('change', createEmitGroupNumberPropertyUpdateFunction('haze', 'hazeCeiling'));
elZoneHazeBaseRef.addEventListener('change', createEmitGroupNumberPropertyUpdateFunction('haze', 'hazeBaseRef'));