From cbf70c1d63c2bf0837d099309599a8d331550eb9 Mon Sep 17 00:00:00 2001 From: TheSumm Date: Sun, 15 Feb 2015 03:25:28 +0100 Subject: [PATCH] Enable protocol 10.75 --- modules/gamelib/game.lua | 2 +- src/client/game.cpp | 4 +-- src/client/thingtypeanimator.cpp | 40 +++++++++++++++++++++ src/client/thingtypeanimator.h | 60 ++++++++++++++++++++++++++++++++ 4 files changed, 103 insertions(+), 3 deletions(-) create mode 100644 src/client/thingtypeanimator.cpp create mode 100644 src/client/thingtypeanimator.h diff --git a/modules/gamelib/game.lua b/modules/gamelib/game.lua index 41f09f51..3189538c 100644 --- a/modules/gamelib/game.lua +++ b/modules/gamelib/game.lua @@ -73,7 +73,7 @@ function g_game.getSupportedClients() 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1070, 1071, 1072, - 1073, 1074 + 1073, 1074, 1075 } end diff --git a/src/client/game.cpp b/src/client/game.cpp index 52d4477c..2dffbd7d 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -1450,7 +1450,7 @@ void Game::setProtocolVersion(int version) if(isOnline()) stdext::throw_exception("Unable to change protocol version while online"); - if(version != 0 && (version < 740 || version > 1074)) + if(version != 0 && (version < 740 || version > 1075)) stdext::throw_exception(stdext::format("Protocol version %d not supported", version)); m_protocolVersion = version; @@ -1468,7 +1468,7 @@ void Game::setClientVersion(int version) if(isOnline()) stdext::throw_exception("Unable to change client version while online"); - if(version != 0 && (version < 740 || version > 1074)) + if(version != 0 && (version < 740 || version > 1075)) stdext::throw_exception(stdext::format("Client version %d not supported", version)); m_features.reset(); diff --git a/src/client/thingtypeanimator.cpp b/src/client/thingtypeanimator.cpp new file mode 100644 index 00000000..6211c2cf --- /dev/null +++ b/src/client/thingtypeanimator.cpp @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2010-2014 OTClient + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include "thingtypeanimator.h" +#include "spritemanager.h" +#include "game.h" +#include "lightview.h" + +#include +#include +#include +#include +#include +#include + +ThingTypeAnimator::ThingTypeAnimator(int id, ThingCategory category) +{ + m_category = category; + m_id = id; + +} diff --git a/src/client/thingtypeanimator.h b/src/client/thingtypeanimator.h new file mode 100644 index 00000000..1653e543 --- /dev/null +++ b/src/client/thingtypeanimator.h @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2010-2014 OTClient + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef THINGTYPEANIMATOR_H +#define THINGTYPEANIMATOR_H + +#include "declarations.h" + +#include +#include +#include +#include +#include +#include + +enum FrameDurations { + FRAME_DURATION_ITEM = 500, + FRAME_DURATION_OUTFIT = 300, + FRAME_DURATION_EFFECT = 75 +}; + +class ThingTypeAnimator : public LuaObject +{ +public: + ThingTypeAnimator(int id, ThingCategory category); + +private: + int m_lastPhase; + int m_currentPhase; + int m_startingPhase; + int m_loopCount; + + int m_phases; + int m_timer; + + int m_id; + ThingCategory m_category; + +}; + +#endif