fabian
-
Posts
66 -
Joined
-
Last visited
-
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by fabian
-
-
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]; }
-
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
-
Waht about this errors? I get these erros while extracting the mmaps with some mapids
Building map 109:We have 4 tiles.
ERROR:StaticMapTree::UnloadMapTile(): Trying to unload non-loaded tile. Map:109
X:31 Y:32
ERROR:StaticMapTree::UnloadMapTile(): Trying to unload non-loaded tile. Map:109
X:31 Y:33
ERROR:StaticMapTree::UnloadMapTile(): Trying to unload non-loaded tile. Map:109
X:32 Y:32
ERROR:StaticMapTree::UnloadMapTile(): Trying to unload non-loaded tile. Map:109
X:32 Y:33
Complete!
-
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();
-
mangos should work more on new features and not only on old things.
-
No, implementation is not blizzlike.
but it works, and mangos DON'T have only blizzlike things
-
Well since nobody want's to put up a patch for current, I am doing so to help.
This patch includes the seporated patches into one and my fix of the charge spell.
I've tested it on UDB and YTDB, sofar with no problems.Remember I just fixed it to merge and compile no other changes exept that spell in the sql's
with this patch, somethign works fine, but I can't Enter on a vehicle for example in ulduar. only multimounts are working.
-
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
-
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
-
should work with 10131
-
oh damn it was read from dbc files.
/closed
-
it's wrong please delete
-
Somehow, it doesn't seem bullet proof if you know what I mean, fabian.
but it works
-
maybe you can use my patch?
-
for me it's a better coding style
-
loc = 0;
for(; loc < MAX_LOCALE; ++loc)
is a bad coding style and the same function is for (loc = 0; loc < MAX_LOCALE; ++loc)
-
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;
-
Formula that you attempt drop used in client for quest XP rounding. Rejected.
Also I have tested it ingame again. quest xps are rounded. tested with a few quests
sry for doublepost
-
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
-
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);
-
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
-
which source?
I wrote this patch
-
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;
-
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"
(Update for 4.0.3)tiawps patch for 4.0.x, for helping research opcodes
in OldGeneral discussion
Posted
PTR_OFFSET should be 0xCBF1BC
sessionkey offset still 1288