Jump to content

fabian

Members
  • Posts

    66
  • Joined

  • Last visited

  • Donations

    0.00 GBP 

Posts 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. 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!

  3. 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();
    

  4. 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.

    http://paste2.org/p/966438

    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.

  5. 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

  6. 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
    

  7. What bug does the patch fix? What features does the patch add?

    I think it'S only a little typo :P

    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;
    
    

  8. 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);

  9. 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

  10. 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;
    

  11. 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