From 2ff3df08fa993d1bf1f00f47f7cbad7b60ce3ce3 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 16 Sep 2014 20:35:32 +0300 Subject: In features.xml add option for fix dead animations. New option: fixDeadAnimation Default value: true --- src/client.cpp | 1 + src/defaults.cpp | 1 + src/resources/spritedef.cpp | 6 +++--- src/settings.h | 4 +++- 4 files changed, 8 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/client.cpp b/src/client.cpp index 1fef92bd2..f5268f6c8 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -1703,6 +1703,7 @@ void Client::initFeatures() { features.init(paths.getStringValue("featuresFile"), true); features.setDefaultValues(getFeaturesDefaults()); + settings.fixDeadAnimation = features.getBoolValue("fixDeadAnimation"); } void Client::initTradeFilter() diff --git a/src/defaults.cpp b/src/defaults.cpp index 6e095a629..e1762d91f 100644 --- a/src/defaults.cpp +++ b/src/defaults.cpp @@ -573,6 +573,7 @@ DefaultsData* getFeaturesDefaults() DefaultsData *const configData = new DefaultsData; AddDEF("languageTab", false); AddDEF("allowFollow", true); + AddDEF("fixDeadAnimation", true); return configData; } diff --git a/src/resources/spritedef.cpp b/src/resources/spritedef.cpp index 74ac376b5..7b89af145 100644 --- a/src/resources/spritedef.cpp +++ b/src/resources/spritedef.cpp @@ -22,7 +22,9 @@ #include "resources/spritedef.h" +#include "configuration.h" #include "logger.h" +#include "settings.h" #include "resources/map/mapconsts.h" @@ -34,8 +36,6 @@ #include "resources/spriteaction.h" #include "resources/spritereference.h" -#include "configuration.h" - #include "debug.h" SpriteReference *SpriteReference::Empty = nullptr; @@ -106,7 +106,7 @@ SpriteDef *SpriteDef::load(const std::string &animationFile, def->mProcessedFiles.insert(animationFile); def->loadSprite(rootNode, variant, palettes); def->substituteActions(); - if (serverVersion < 1) + if (settings.fixDeadAnimation) def->fixDeadAction(); if (prot) { diff --git a/src/settings.h b/src/settings.h index ab18c5ebe..1362672aa 100644 --- a/src/settings.h +++ b/src/settings.h @@ -73,7 +73,8 @@ class Settings final mouseFocused(true), disableGameModifiers(false), awayMode(false), - pseudoAwayMode(false) + pseudoAwayMode(false), + fixDeadAnimation(true) { } std::string updateHost; @@ -116,6 +117,7 @@ class Settings final bool disableGameModifiers; bool awayMode; bool pseudoAwayMode; + bool fixDeadAnimation; }; extern Settings settings; -- cgit v1.2.3-70-g09d2