LevelArea (and other) id to NLS string mapping menu

User Tag List

Results 1 to 1 of 1
  1. #1
    farfle's Avatar Private
    Reputation
    1
    Join Date
    Nov 2012
    Posts
    3
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    LevelArea (and other) id to NLS string mapping

    So, out of a sense of masochism I'm in the process of trying to find the structure in D3 memory for mapping known ids for things like LevelArea names (i.e. 0x4deb for A1_trOUT_NewTristram) to the translated strings that come out of the StringList SNOs (i.e. "New Tristram" for en_US).

    The StringList SNO structure is pretty simple, and gets the map from "A1_trOUT_NewTristram" to "New Tristram", just using string1Ptr -> string2Ptr in the following struct:

    Code:
    typedef struct {
        uint32_t string1Ptr;
        uint32_t unknown_004;
        uint32_t string1Offset;
        uint32_t string1Length;
        uint32_t string2Ptr;
        uint32_t unknown_014;
        uint32_t string2Offset;
        uint32_t string2Length;
        uint32_t string3Ptr;
        uint32_t unknown_024;
        uint32_t string3Offset;
        uint32_t string3Length;
        uint32_t string4Ptr;
        uint32_t unknown_034;
        uint32_t string4Offset;
        uint32_t string4Length;
        uint32_t unknown_040;
        uint32_t unknown_044;
        uint32_t unknown_048;
        uint32_t unknown_04C;
    } StringListEntry_t;
    What I'm having a really hard time finding a static pointer for, is the 0x4deb -> "A1_trOUT_NewTristram" portion.

    If you scan for that string (or any other non-localised string) in memory, you can easily find a linked list of nodes that look like this:

    Code:
    typedef struct {
        uint32_t type;
        uint32_t entryId;
        char name[128];
        uint32_t unknown_1;
        uint32_t unknown_2;
        uint32_t unknown_3;
        uint32_t prevPtr;
        uint32_t nextPtr;
    } fooNode_t;
    where LevelArea seems to have type 0x16, and in my example entryId would = 0x4deb.

    The problem is that if you traverse back to the head of this list (entry type 0x1, id 0x131, "a2dun_spider_web_cloth_round_A" if you have just zoned in on the first A1 quest), there doesn't seem to be any structure to latch onto, and nothing nearby seems to be linked to by any of the map entries (scene, actor, acd, etc) in the object manager (that I've been able to find, anyway).

    Has anyone else looked into this at all, or is everyone just dumping this linked list once every patch and leaving it hardcoded?

    LevelArea (and other) id to NLS string mapping

Similar Threads

  1. [Selling] GW2 1-80 Power leveling, Professions, Map completion, Dungeon tokens and others stuff
    By GoldenMMOShop in forum GW2 Buy Sell Trade
    Replies: 0
    Last Post: 03-12-2015, 06:53 AM
  2. Notes on map randomization in 1.03 and other changes
    By Enarius in forum Diablo 3 General
    Replies: 1
    Last Post: 06-19-2012, 03:41 PM
  3. Problems using Nogit and other map editing tools
    By Heartripperz in forum WoW EMU Questions & Requests
    Replies: 2
    Last Post: 05-13-2009, 04:27 PM
  4. Proffesions tips tricks maps and other stuff
    By sgtjimmy in forum World of Warcraft Guides
    Replies: 1
    Last Post: 02-16-2009, 03:31 AM
  5. Behind AH [Mage Horde] and other bugs
    By Saint in forum World of Warcraft Exploits
    Replies: 10
    Last Post: 05-10-2006, 12:38 AM
All times are GMT -5. The time now is 08:31 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search