Jump to content

fabian

Members
  • Posts

    66
  • Joined

  • Last visited

  • Donations

    0.00 GBP 

Everything posted by fabian

  1. CMSG_AUTH_SESSION from 4.0.3 should be // 0x880A, 34826 - 4.0.3.13329 struct CMSG_AUTH_SESSION { byte unk; byte hash16; uint16 clientBuild; byte hash6; byte unk1; uint64 unk2; byte hash14; byte hash11; byte hash2; uint32 unk3; byte hash13; byte hash5; byte hash19; byte hash9; uint32 unk4; byte hash12; byte hash10; byte hash3; uint32 unk5; byte hash7; byte hash17; uint32 clientSeed; uint32 unk6; byte hash; byte hash8; byte hash1; byte hash4; byte hash18; byte hash15; string accountName; uint32 AddonSize; uint32 AddonLengthUncompressed; uint8 AddonLengthCompressed[AddonSize -4]; }
  2. Maybe an update for 4.0.3a (13329) doesn't work with it 4.0.3a: rem CONNECTION_PTR_OFFSET = 0xCB3F8C tiawps_reader.exe 13320076 1288
  3. fabian

    MMaps Redux

    Waht about this errors? I get these erros while extracting the mmaps with some mapids
  4. fabian

    MMaps Redux

    I would move one commentar in PathFinder.h and there is a little typo: NODE must be NOTE: diff --git a/src/game/PathFinder.h b/src/game/PathFinder.h index 8340cd5..01d1875 100644 --- a/src/game/PathFinder.h +++ b/src/game/PathFinder.h @@ -109,8 +109,9 @@ class PathInfo bool isPointInPolyBounds(float x, float y, float z, float &distance, dtPolyRef polyRef); void BuildFreshPath(); + + // NOTE: startPos, endPos is in Y, Z, X format! void BuildPath(dtPolyRef startPoly, float* startPos, dtPolyRef endPoly, float* endPos); - // NODE: startPos, endPos is in Y,Z,X format! void updateNextPosition(); void shortcut();
  5. mangos should work more on new features and not only on old things.
  6. but it works, and mangos DON'T have only blizzlike things
  7. with this patch, somethign works fine, but I can't Enter on a vehicle for example in ulduar. only multimounts are working.
  8. fabian

    MMaps Redux

    I have 3 merge conflicts with the latest mangos and than one compile error diff --git a/src/game/MoveMap.cpp b/src/game/MoveMap.cpp index 9994f23..c337bf7 100644 --- a/src/game/MoveMap.cpp +++ b/src/game/MoveMap.cpp @@ -1,7 +1,7 @@ #include "Map.h" #include "Log.h" -#include "Utilities/UnorderedMap.h" +#include "Utilities/UnorderedMapSet.h" #include "World.h" inline uint32 packTileID(uint32 tileX, uint32 tileY) { return tileX<<16 | tileY; } and the other things arefixes for the compile warnings
  9. fabian

    MMaps Redux

    Compile error fix for latest mangos rev: diff --git a/src/game/MoveMap.cpp b/src/game/MoveMap.cpp index 9994f23..c337bf7 100644 --- a/src/game/MoveMap.cpp +++ b/src/game/MoveMap.cpp @@ -1,7 +1,7 @@ #include "Map.h" #include "Log.h" -#include "Utilities/UnorderedMap.h" +#include "Utilities/UnorderedMapSet.h" #include "World.h" inline uint32 packTileID(uint32 tileX, uint32 tileY) { return tileX<<16 | tileY; } and maybe we can drop this not used variable and fix some warnings: --- a/src/game/PathFinder.cpp +++ b/src/game/PathFinder.cpp @@ -50,10 +50,8 @@ dtPolyRef PathInfo::getPathPolyByPosition(float x, float y, float z) bool PathInfo::isPointInPolyBounds(float x, float y, float z, float &distance, dtPolyRef polyRef) { float point[3] = {y, z, x}; - int polyindex; - const dtMeshTile* tile; - const dtPoly* poly; + if(!m_navMesh->getTileAndPolyByRef(polyRef, &tile, &poly)) return false; // m_pathPolyRefs[i] is invalid diff --git a/src/game/PathFinder.h b/src/game/PathFinder.h index 0144ab4..cc53c00 100644 --- a/src/game/PathFinder.h +++ b/src/game/PathFinder.h @@ -65,6 +65,8 @@ class PathInfo dtNavMeshQuery* m_navMeshQuery; // the nav mesh query used to find the path PathType m_type; // tells what kind of path this is + const dtPoly* poly; + private: inline void clear() { diff --git a/src/game/debugcmds.cpp b/src/game/debugcmds.cpp index cf0353d..df1d777 100644 --- a/src/game/debugcmds.cpp +++ b/src/game/debugcmds.cpp @@ -366,7 +366,6 @@ bool ChatHandler::HandleDebugMoveMapCommand(const char* args) // navmesh poly -> navmesh tile location dtPolyRef polyRef = query->findNearestPoly(location, extents, &(dtQueryFilter()), NULL); const dtMeshTile* tile; - const dtPoly* poly; if(!poly) PSendSysMessage("Dt [??,??] (invalid poly, probably no tile loaded)"); diff --git a/src/game/Chat.h b/src/game/Chat.h index bdb12ce..b86e225 100644 --- a/src/game/Chat.h +++ b/src/game/Chat.h @@ -651,6 +658,8 @@ class ChatHandler void HandleCharacterDeletedRestoreHelper(DeletedInfo const& delInfo); void SetSentErrorMessage(bool val){ sentErrorMessage = val;}; + + const dtPoly* poly; private: WorldSession * m_session; // != NULL for chat command call and NULL for CLI command
  10. oh damn it was read from dbc files. /closed
  11. for me it's a better coding style
  12. loc = 0; for(; loc < MAX_LOCALE; ++loc) is a bad coding style and the same function is for (loc = 0; loc < MAX_LOCALE; ++loc)
  13. What bug does the patch fix? What features does the patch add? I think it'S only a little typo For which repository revision was the patch created? 10267 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. no Who has been writing this patch? Please include either forum user names or email addresses. me diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp index 725c237..2c0c07a 100644 --- a/src/game/Level1.cpp +++ b/src/game/Level1.cpp @@ -1803,8 +1803,7 @@ bool ChatHandler::HandleLookupAreaCommand(const char* args) if (!Utf8FitTo (name, wnamepart)) { - loc = 0; - for(; loc < MAX_LOCALE; ++loc) + for (loc = 0; loc < MAX_LOCALE; ++loc) { if (loc==GetSessionDbcLocale ()) continue; diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp index b7c0374..804e7a6 100644 --- a/src/game/Level2.cpp +++ b/src/game/Level2.cpp @@ -923,8 +923,7 @@ bool ChatHandler::HandleLookupFactionCommand(const char* args) if (!Utf8FitTo(name, wnamepart)) { - loc = 0; - for(; loc < MAX_LOCALE; ++loc) + for (loc = 0; loc < MAX_LOCALE; ++loc) { if (loc == GetSessionDbcLocale()) continue; @@ -4091,8 +4090,7 @@ bool ChatHandler::HandleLearnAllRecipesCommand(const char* args) if (!Utf8FitTo(name, wnamepart)) { - loc = 0; - for(; loc < MAX_LOCALE; ++loc) + for (loc = 0; loc < MAX_LOCALE; ++loc) { if (loc==GetSessionDbcLocale()) continue; @@ -4429,8 +4427,7 @@ bool ChatHandler::HandleLookupTitleCommand(const char* args) if (!Utf8FitTo(name, wnamepart)) { - loc = 0; - for(; loc < MAX_LOCALE; ++loc) + for (loc = 0; loc < MAX_LOCALE; ++loc) { if (loc == GetSessionDbcLocale()) continue; diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index 0eed067..7b85751 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -2721,8 +2721,7 @@ bool ChatHandler::HandleLookupItemSetCommand(const char* args) if (!Utf8FitTo(name, wnamepart)) { - loc = 0; - for(; loc < MAX_LOCALE; ++loc) + for (loc = 0; loc < MAX_LOCALE; ++loc) { if(loc==GetSessionDbcLocale()) continue; @@ -2784,8 +2783,7 @@ bool ChatHandler::HandleLookupSkillCommand(const char* args) if (!Utf8FitTo(name, wnamepart)) { - loc = 0; - for(; loc < MAX_LOCALE; ++loc) + for (loc = 0; loc < MAX_LOCALE; ++loc) { if(loc==GetSessionDbcLocale()) continue; @@ -2909,8 +2907,7 @@ bool ChatHandler::HandleLookupSpellCommand(const char* args) if (!Utf8FitTo(name, wnamepart)) { - loc = 0; - for(; loc < MAX_LOCALE; ++loc) + for (loc = 0; loc < MAX_LOCALE; ++loc) { if(loc==GetSessionDbcLocale()) continue; @@ -3197,8 +3194,7 @@ bool ChatHandler::HandleLookupTaxiNodeCommand(const char * args) if (!Utf8FitTo(name, wnamepart)) { - loc = 0; - for(; loc < MAX_LOCALE; ++loc) + for (loc = 0; loc < MAX_LOCALE; ++loc) { if(loc==GetSessionDbcLocale()) continue;
  14. Also I have tested it ingame again. quest xps are rounded. tested with a few quests sry for doublepost
  15. no all xps are rounded with realXP = ((rawXP + 2) / 5 * 5); it works with the code realXP = ((rawXP + 2) / 5 * 5); tested with a lot of quests and levels or are they wrong rounding values? /Edit I have no mistakes ingame and all quest xps are rounded
  16. the formula round the quest values for example 80 % from 815 xp are 652 the formula round it to 650. is it blizzlike? are the xps rounded on official servers? if no we can use this: if (const QuestXPLevel* pXPData = sQuestXPLevelStore.LookupEntry(baseLevel)) realXP = xpMultiplier * pXPData->xpIndex[RewXPId]; and not this: realXP = ((rawXP + 2) / 5 * 5); but I think the values are rounded on offi. also realXP = ((rawXP + 2) / 5 * 5);
  17. realXP = ((rawXP + 2) / 5 * 5); was already here: - // round values - if (rawXP > 1000) - realXP = ((rawXP + 25) / 50 * 50); - else if (rawXP > 500) - realXP = ((rawXP + 12) / 25 * 25); - else if (rawXP > 100) - realXP = ((rawXP + 5) / 10 * 10); - else - realXP = ((rawXP + 2) / 5 * 5); I have tested all formuals from this and try a few other but only realXP = ((rawXP + 2) / 5 * 5); is the right formular. tested wit a lot of quests. it works fine for me
  18. which source? I wrote this patch
  19. What bug does the patch fix? What features does the patch add? I have ssen that some quests have wrong xp stats. for example the first dk quest. it gives 825 xp but must give 815. It fix the calculation of the xps For which repository revision was the patch created? 10218 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. no? Who has been writing this patch? Please include either forum user names or email addresses. me diff --git a/src/game/QuestDef.cpp b/src/game/QuestDef.cpp index e2d86ca..1a98abc 100644 --- a/src/game/QuestDef.cpp +++ b/src/game/QuestDef.cpp @@ -238,15 +238,7 @@ uint32 Quest::XPValue(Player *pPlayer) const { uint32 rawXP = xpMultiplier * pXPData->xpIndex[RewXPId] / 10; - // round values - if (rawXP > 1000) - realXP = ((rawXP + 25) / 50 * 50); - else if (rawXP > 500) - realXP = ((rawXP + 12) / 25 * 25); - else if (rawXP > 100) - realXP = ((rawXP + 5) / 10 * 10); - else - realXP = ((rawXP + 2) / 5 * 5); + realXP = ((rawXP + 2) / 5 * 5); } return realXP;
  20. diff --git a/src/game/CharacterHandler.cpp b/src/game/CharacterHandler.cpp index ae7e3f1..2e5de34 100644 --- a/src/game/CharacterHandler.cpp +++ b/src/game/CharacterHandler.cpp @@ -15,10 +15,11 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "Common.h" +#include "Config/ConfigEnv.h" #include "Database/DatabaseEnv.h" #include "WorldPacket.h" #include "SharedDefines.h" #include "WorldSession.h" #include "Opcodes.h"
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use