mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 04:57:58 +02:00
add animationSettings property to model entities
This commit is contained in:
parent
ef17659ea2
commit
8a2e3d5045
5 changed files with 32 additions and 3 deletions
|
@ -52,6 +52,8 @@ EntityPropertyDialogBox = (function () {
|
||||||
index++;
|
index++;
|
||||||
array.push({ label: "Animation Frame:", value: properties.animationFrameIndex });
|
array.push({ label: "Animation Frame:", value: properties.animationFrameIndex });
|
||||||
index++;
|
index++;
|
||||||
|
array.push({ label: "Animation Settings:", value: properties.animationSettings });
|
||||||
|
index++;
|
||||||
array.push({ label: "Textures:", value: properties.textures });
|
array.push({ label: "Textures:", value: properties.textures });
|
||||||
index++;
|
index++;
|
||||||
array.push({ label: "Original Textures:\n" + properties.originalTextures, type: "header" });
|
array.push({ label: "Original Textures:\n" + properties.originalTextures, type: "header" });
|
||||||
|
@ -240,6 +242,7 @@ EntityPropertyDialogBox = (function () {
|
||||||
properties.animationIsPlaying = array[index++].value;
|
properties.animationIsPlaying = array[index++].value;
|
||||||
properties.animationFPS = array[index++].value;
|
properties.animationFPS = array[index++].value;
|
||||||
properties.animationFrameIndex = array[index++].value;
|
properties.animationFrameIndex = array[index++].value;
|
||||||
|
properties.animationSettings = array[index++].value;
|
||||||
properties.textures = array[index++].value;
|
properties.textures = array[index++].value;
|
||||||
index++; // skip textureNames label
|
index++; // skip textureNames label
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,6 +66,7 @@ EntityItemProperties::EntityItemProperties() :
|
||||||
_animationIsPlaying(ModelEntityItem::DEFAULT_ANIMATION_IS_PLAYING),
|
_animationIsPlaying(ModelEntityItem::DEFAULT_ANIMATION_IS_PLAYING),
|
||||||
_animationFrameIndex(ModelEntityItem::DEFAULT_ANIMATION_FRAME_INDEX),
|
_animationFrameIndex(ModelEntityItem::DEFAULT_ANIMATION_FRAME_INDEX),
|
||||||
_animationFPS(ModelEntityItem::DEFAULT_ANIMATION_FPS),
|
_animationFPS(ModelEntityItem::DEFAULT_ANIMATION_FPS),
|
||||||
|
_animationSettings(""),
|
||||||
_glowLevel(0.0f),
|
_glowLevel(0.0f),
|
||||||
_localRenderAlpha(1.0f),
|
_localRenderAlpha(1.0f),
|
||||||
_isSpotlight(false),
|
_isSpotlight(false),
|
||||||
|
@ -76,6 +77,8 @@ EntityItemProperties::EntityItemProperties() :
|
||||||
_animationIsPlayingChanged(false),
|
_animationIsPlayingChanged(false),
|
||||||
_animationFrameIndexChanged(false),
|
_animationFrameIndexChanged(false),
|
||||||
_animationFPSChanged(false),
|
_animationFPSChanged(false),
|
||||||
|
_animationSettingsChanged(false),
|
||||||
|
|
||||||
_glowLevelChanged(false),
|
_glowLevelChanged(false),
|
||||||
_localRenderAlphaChanged(false),
|
_localRenderAlphaChanged(false),
|
||||||
_isSpotlightChanged(false),
|
_isSpotlightChanged(false),
|
||||||
|
@ -149,6 +152,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
||||||
CHECK_PROPERTY_CHANGE(PROP_ANIMATION_PLAYING, animationIsPlaying);
|
CHECK_PROPERTY_CHANGE(PROP_ANIMATION_PLAYING, animationIsPlaying);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_ANIMATION_FRAME_INDEX, animationFrameIndex);
|
CHECK_PROPERTY_CHANGE(PROP_ANIMATION_FRAME_INDEX, animationFrameIndex);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_ANIMATION_FPS, animationFPS);
|
CHECK_PROPERTY_CHANGE(PROP_ANIMATION_FPS, animationFPS);
|
||||||
|
CHECK_PROPERTY_CHANGE(PROP_ANIMATION_SETTINGS, animationSettings);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_VISIBLE, visible);
|
CHECK_PROPERTY_CHANGE(PROP_VISIBLE, visible);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_REGISTRATION_POINT, registrationPoint);
|
CHECK_PROPERTY_CHANGE(PROP_REGISTRATION_POINT, registrationPoint);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_ANGULAR_VELOCITY, angularVelocity);
|
CHECK_PROPERTY_CHANGE(PROP_ANGULAR_VELOCITY, angularVelocity);
|
||||||
|
@ -201,8 +205,9 @@ QScriptValue EntityItemProperties::copyToScriptValue(QScriptEngine* engine) cons
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(modelURL);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(modelURL);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(animationURL);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(animationURL);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(animationIsPlaying);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(animationIsPlaying);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(animationFrameIndex);
|
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(animationFPS);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(animationFPS);
|
||||||
|
COPY_PROPERTY_TO_QSCRIPTVALUE(animationFrameIndex);
|
||||||
|
COPY_PROPERTY_TO_QSCRIPTVALUE(animationSettings);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(glowLevel);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(glowLevel);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(localRenderAlpha);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(localRenderAlpha);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(ignoreForCollisions);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(ignoreForCollisions);
|
||||||
|
@ -276,6 +281,7 @@ void EntityItemProperties::copyFromScriptValue(const QScriptValue& object) {
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_BOOL(animationIsPlaying, setAnimationIsPlaying);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE_BOOL(animationIsPlaying, setAnimationIsPlaying);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_FLOAT(animationFPS, setAnimationFPS);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE_FLOAT(animationFPS, setAnimationFPS);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_FLOAT(animationFrameIndex, setAnimationFrameIndex);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE_FLOAT(animationFrameIndex, setAnimationFrameIndex);
|
||||||
|
COPY_PROPERTY_FROM_QSCRIPTVALUE_STRING(animationSettings, setAnimationSettings);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_FLOAT(glowLevel, setGlowLevel);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE_FLOAT(glowLevel, setGlowLevel);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_FLOAT(localRenderAlpha, setLocalRenderAlpha);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE_FLOAT(localRenderAlpha, setLocalRenderAlpha);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_BOOL(ignoreForCollisions, setIgnoreForCollisions);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE_BOOL(ignoreForCollisions, setIgnoreForCollisions);
|
||||||
|
@ -452,6 +458,7 @@ bool EntityItemProperties::encodeEntityEditPacket(PacketType command, EntityItem
|
||||||
APPEND_ENTITY_PROPERTY(PROP_CUTOFF, appendValue, properties.getCutoff());
|
APPEND_ENTITY_PROPERTY(PROP_CUTOFF, appendValue, properties.getCutoff());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_LOCKED, appendValue, properties.getLocked());
|
APPEND_ENTITY_PROPERTY(PROP_LOCKED, appendValue, properties.getLocked());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_TEXTURES, appendValue, properties.getTextures());
|
APPEND_ENTITY_PROPERTY(PROP_TEXTURES, appendValue, properties.getTextures());
|
||||||
|
APPEND_ENTITY_PROPERTY(PROP_ANIMATION_SETTINGS, appendValue, properties.getAnimationSettings());
|
||||||
}
|
}
|
||||||
if (propertyCount > 0) {
|
if (propertyCount > 0) {
|
||||||
int endOfEntityItemData = packetData->getUncompressedByteOffset();
|
int endOfEntityItemData = packetData->getUncompressedByteOffset();
|
||||||
|
@ -661,7 +668,8 @@ bool EntityItemProperties::decodeEntityEditPacket(const unsigned char* data, int
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_CUTOFF, float, setCutoff);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_CUTOFF, float, setCutoff);
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_LOCKED, bool, setLocked);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_LOCKED, bool, setLocked);
|
||||||
READ_ENTITY_PROPERTY_STRING_TO_PROPERTIES(PROP_TEXTURES, setTextures);
|
READ_ENTITY_PROPERTY_STRING_TO_PROPERTIES(PROP_TEXTURES, setTextures);
|
||||||
|
READ_ENTITY_PROPERTY_STRING_TO_PROPERTIES(PROP_ANIMATION_SETTINGS, setAnimationSettings);
|
||||||
|
|
||||||
return valid;
|
return valid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -714,6 +722,7 @@ void EntityItemProperties::markAllChanged() {
|
||||||
_animationIsPlayingChanged = true;
|
_animationIsPlayingChanged = true;
|
||||||
_animationFrameIndexChanged = true;
|
_animationFrameIndexChanged = true;
|
||||||
_animationFPSChanged = true;
|
_animationFPSChanged = true;
|
||||||
|
_animationSettingsChanged = true;
|
||||||
_glowLevelChanged = true;
|
_glowLevelChanged = true;
|
||||||
_localRenderAlphaChanged = true;
|
_localRenderAlphaChanged = true;
|
||||||
_isSpotlightChanged = true;
|
_isSpotlightChanged = true;
|
||||||
|
|
|
@ -80,8 +80,9 @@ enum EntityPropertyList {
|
||||||
|
|
||||||
// used by Model entities
|
// used by Model entities
|
||||||
PROP_TEXTURES,
|
PROP_TEXTURES,
|
||||||
|
PROP_ANIMATION_SETTINGS,
|
||||||
|
|
||||||
PROP_LAST_ITEM = PROP_CUTOFF
|
PROP_LAST_ITEM = PROP_ANIMATION_SETTINGS
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef PropertyFlags<EntityPropertyList> EntityPropertyFlags;
|
typedef PropertyFlags<EntityPropertyList> EntityPropertyFlags;
|
||||||
|
@ -178,6 +179,8 @@ public:
|
||||||
float getAnimationFrameIndex() const { return _animationFrameIndex; }
|
float getAnimationFrameIndex() const { return _animationFrameIndex; }
|
||||||
bool getAnimationIsPlaying() const { return _animationIsPlaying; }
|
bool getAnimationIsPlaying() const { return _animationIsPlaying; }
|
||||||
float getAnimationFPS() const { return _animationFPS; }
|
float getAnimationFPS() const { return _animationFPS; }
|
||||||
|
const QString& getAnimationSettings() const { return _animationSettings; }
|
||||||
|
|
||||||
float getGlowLevel() const { return _glowLevel; }
|
float getGlowLevel() const { return _glowLevel; }
|
||||||
float getLocalRenderAlpha() const { return _localRenderAlpha; }
|
float getLocalRenderAlpha() const { return _localRenderAlpha; }
|
||||||
const QString& getScript() const { return _script; }
|
const QString& getScript() const { return _script; }
|
||||||
|
@ -189,6 +192,10 @@ public:
|
||||||
void setAnimationFrameIndex(float value) { _animationFrameIndex = value; _animationFrameIndexChanged = true; }
|
void setAnimationFrameIndex(float value) { _animationFrameIndex = value; _animationFrameIndexChanged = true; }
|
||||||
void setAnimationIsPlaying(bool value) { _animationIsPlaying = value; _animationIsPlayingChanged = true; }
|
void setAnimationIsPlaying(bool value) { _animationIsPlaying = value; _animationIsPlayingChanged = true; }
|
||||||
void setAnimationFPS(float value) { _animationFPS = value; _animationFPSChanged = true; }
|
void setAnimationFPS(float value) { _animationFPS = value; _animationFPSChanged = true; }
|
||||||
|
void setAnimationSettings(const QString& value)
|
||||||
|
{ _animationSettings = value; _animationSettingsChanged = true; }
|
||||||
|
|
||||||
|
|
||||||
void setGlowLevel(float value) { _glowLevel = value; _glowLevelChanged = true; }
|
void setGlowLevel(float value) { _glowLevel = value; _glowLevelChanged = true; }
|
||||||
void setLocalRenderAlpha(float value) { _localRenderAlpha = value; _localRenderAlphaChanged = true; }
|
void setLocalRenderAlpha(float value) { _localRenderAlpha = value; _localRenderAlphaChanged = true; }
|
||||||
void setScript(const QString& value) { _script = value; _scriptChanged = true; }
|
void setScript(const QString& value) { _script = value; _scriptChanged = true; }
|
||||||
|
@ -342,6 +349,7 @@ private:
|
||||||
bool _animationIsPlaying;
|
bool _animationIsPlaying;
|
||||||
float _animationFrameIndex;
|
float _animationFrameIndex;
|
||||||
float _animationFPS;
|
float _animationFPS;
|
||||||
|
QString _animationSettings;
|
||||||
float _glowLevel;
|
float _glowLevel;
|
||||||
float _localRenderAlpha;
|
float _localRenderAlpha;
|
||||||
bool _isSpotlight;
|
bool _isSpotlight;
|
||||||
|
@ -352,6 +360,7 @@ private:
|
||||||
bool _animationIsPlayingChanged;
|
bool _animationIsPlayingChanged;
|
||||||
bool _animationFrameIndexChanged;
|
bool _animationFrameIndexChanged;
|
||||||
bool _animationFPSChanged;
|
bool _animationFPSChanged;
|
||||||
|
bool _animationSettingsChanged;
|
||||||
bool _glowLevelChanged;
|
bool _glowLevelChanged;
|
||||||
bool _localRenderAlphaChanged;
|
bool _localRenderAlphaChanged;
|
||||||
bool _isSpotlightChanged;
|
bool _isSpotlightChanged;
|
||||||
|
|
|
@ -49,6 +49,7 @@ EntityItemProperties ModelEntityItem::getProperties() const {
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(animationFPS, getAnimationFPS);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(animationFPS, getAnimationFPS);
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(glowLevel, getGlowLevel);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(glowLevel, getGlowLevel);
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(textures, getTextures);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(textures, getTextures);
|
||||||
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(animationSettings, getAnimationSettings);
|
||||||
return properties;
|
return properties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,6 +64,7 @@ bool ModelEntityItem::setProperties(const EntityItemProperties& properties, bool
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(animationFrameIndex, setAnimationFrameIndex);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(animationFrameIndex, setAnimationFrameIndex);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(animationFPS, setAnimationFPS);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(animationFPS, setAnimationFPS);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(textures, setTextures);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(textures, setTextures);
|
||||||
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(animationSettings, setAnimationSettings);
|
||||||
|
|
||||||
if (somethingChanged) {
|
if (somethingChanged) {
|
||||||
bool wantDebug = false;
|
bool wantDebug = false;
|
||||||
|
@ -115,6 +117,7 @@ int ModelEntityItem::readEntitySubclassDataFromBuffer(const unsigned char* data,
|
||||||
setAnimationFrameIndex(animationFrameIndex);
|
setAnimationFrameIndex(animationFrameIndex);
|
||||||
|
|
||||||
READ_ENTITY_PROPERTY_STRING(PROP_TEXTURES, setTextures);
|
READ_ENTITY_PROPERTY_STRING(PROP_TEXTURES, setTextures);
|
||||||
|
READ_ENTITY_PROPERTY_STRING(PROP_ANIMATION_SETTINGS, setAnimationSettings);
|
||||||
|
|
||||||
return bytesRead;
|
return bytesRead;
|
||||||
}
|
}
|
||||||
|
@ -244,6 +247,7 @@ EntityPropertyFlags ModelEntityItem::getEntityProperties(EncodeBitstreamParams&
|
||||||
requestedProperties += PROP_ANIMATION_FPS;
|
requestedProperties += PROP_ANIMATION_FPS;
|
||||||
requestedProperties += PROP_ANIMATION_FRAME_INDEX;
|
requestedProperties += PROP_ANIMATION_FRAME_INDEX;
|
||||||
requestedProperties += PROP_ANIMATION_PLAYING;
|
requestedProperties += PROP_ANIMATION_PLAYING;
|
||||||
|
requestedProperties += PROP_ANIMATION_SETTINGS;
|
||||||
requestedProperties += PROP_TEXTURES;
|
requestedProperties += PROP_TEXTURES;
|
||||||
|
|
||||||
return requestedProperties;
|
return requestedProperties;
|
||||||
|
@ -266,6 +270,7 @@ void ModelEntityItem::appendSubclassData(OctreePacketData* packetData, EncodeBit
|
||||||
APPEND_ENTITY_PROPERTY(PROP_ANIMATION_FRAME_INDEX, appendValue, getAnimationFrameIndex());
|
APPEND_ENTITY_PROPERTY(PROP_ANIMATION_FRAME_INDEX, appendValue, getAnimationFrameIndex());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_ANIMATION_PLAYING, appendValue, getAnimationIsPlaying());
|
APPEND_ENTITY_PROPERTY(PROP_ANIMATION_PLAYING, appendValue, getAnimationIsPlaying());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_TEXTURES, appendValue, getTextures());
|
APPEND_ENTITY_PROPERTY(PROP_TEXTURES, appendValue, getTextures());
|
||||||
|
APPEND_ENTITY_PROPERTY(PROP_ANIMATION_SETTINGS, appendValue, getAnimationSettings());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -76,6 +76,7 @@ public:
|
||||||
void setAnimationURL(const QString& url) { _animationURL = url; }
|
void setAnimationURL(const QString& url) { _animationURL = url; }
|
||||||
static const float DEFAULT_ANIMATION_FRAME_INDEX;
|
static const float DEFAULT_ANIMATION_FRAME_INDEX;
|
||||||
void setAnimationFrameIndex(float value) { _animationLoop.setFrameIndex(value); }
|
void setAnimationFrameIndex(float value) { _animationLoop.setFrameIndex(value); }
|
||||||
|
void setAnimationSettings(const QString& value) { _animationSettings = value; }
|
||||||
|
|
||||||
static const bool DEFAULT_ANIMATION_IS_PLAYING;
|
static const bool DEFAULT_ANIMATION_IS_PLAYING;
|
||||||
void setAnimationIsPlaying(bool value) { _animationLoop.setRunning(value); }
|
void setAnimationIsPlaying(bool value) { _animationLoop.setRunning(value); }
|
||||||
|
@ -90,6 +91,7 @@ public:
|
||||||
bool getAnimationIsPlaying() const { return _animationLoop.isRunning(); }
|
bool getAnimationIsPlaying() const { return _animationLoop.isRunning(); }
|
||||||
float getAnimationFrameIndex() const { return _animationLoop.getFrameIndex(); }
|
float getAnimationFrameIndex() const { return _animationLoop.getFrameIndex(); }
|
||||||
float getAnimationFPS() const { return _animationLoop.getFPS(); }
|
float getAnimationFPS() const { return _animationLoop.getFPS(); }
|
||||||
|
const QString& getAnimationSettings() const { return _animationSettings; }
|
||||||
|
|
||||||
static const QString DEFAULT_TEXTURES;
|
static const QString DEFAULT_TEXTURES;
|
||||||
const QString& getTextures() const { return _textures; }
|
const QString& getTextures() const { return _textures; }
|
||||||
|
@ -109,6 +111,7 @@ protected:
|
||||||
quint64 _lastAnimated;
|
quint64 _lastAnimated;
|
||||||
QString _animationURL;
|
QString _animationURL;
|
||||||
AnimationLoop _animationLoop;
|
AnimationLoop _animationLoop;
|
||||||
|
QString _animationSettings;
|
||||||
QString _textures;
|
QString _textures;
|
||||||
|
|
||||||
// used on client side
|
// used on client side
|
||||||
|
|
Loading…
Reference in a new issue