Scene Def not found ? 2.0.1 live menu

Shout-Out

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 18
  1. #1
    bastiflew's Avatar Active Member
    Reputation
    41
    Join Date
    Aug 2012
    Posts
    98
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Scene Def not found ? 2.0.1 live

    Hi,

    anyone found the Scene Def sno offset ?
    I found GameBalance, but Scene Def seems to be not present.

    Thanks

    Scene Def not found ? 2.0.1 live
  2. #2
    enigma32's Avatar Legendary
    Reputation
    912
    Join Date
    Jan 2013
    Posts
    551
    Thanks G/R
    4/738
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Pointers to SnoGroups at:
    0x01CD79D4

    Index Name
    0 TexturesSnoGroup
    1 ShaderMapSnoGroup
    2 AppearanceSnoGroup
    3 PhysMeshSnoGroup
    4 GlobalsSnoGroup
    5 ObserverSnoGroup
    6 SceneSnoGroup
    7 WorldsSnoGroup
    8 ActorSnoGroup
    9 AnimSetSnoGroup
    10 AnimSnoGroup
    11 StringListSnoGroup
    12 PowerSnoGroup
    13 MarkerSetSnoGroup
    14 HeroSnoGroup
    15 GameBalanceSnoGroup
    16 EncounterSnoGroup
    17 AdventureSnoGroup
    18 ConversationSnoGroup
    19 ConversationListSnoGroup
    20 FlagSetSnoGroup
    21 SceneGroupSnoGroup
    22 LevelAreaSnoGroup
    23 QuestSnoGroup
    24 QuestRangeSnoGroup
    25 SkillKitSnoGroup
    26 MonsterSnoGroup
    27 RecipeSnoGroup
    28 TimedEventSnoGroup
    29 ActSnoGroup
    30 LoreSnoGroup
    31 ConditionSnoGroup
    32 AccountSnoGroup
    33 TreasureClassSnoGroup
    34 BossEncounterSnoGroup
    35 TutorialSnoGroup
    36 AccoladeSnoGroup
    37 AmbientSoundSnoGroup
    38 PhysicsSnoGroup
    39 ExplosionSnoGroup
    40 SurfaceSnoGroup
    41 EffectGroupSnoGroup
    42 ClothSnoGroup
    43 TrailSnoGroup
    44 ParticleSnoGroup
    45 FontSnoGroup
    46 Anim2DSnoGroup
    47 ShadersSnoGroup
    48 UISnoGroup
    49 LightSnoGroup
    50 SoundBankSnoGroup
    51 SoundSnoGroup
    52 MusicSnoGroup
    53 RopeSnoGroup
    54 WeatherSnoGroup
    55 ShakesSnoGroup
    56 VibrationsSnoGroup
    57 MaterialSnoGroup
    58 ReverbSnoGroup
    59 AnimTreeSnoGroup

    Can also go by their SnoGroupCode as index at 0x01CD78B8
    Actor = 1,
    Adventure = 2,
    AmbientSound = 5,
    Anim = 6,
    Anim2D = 7,
    AnimSet = 8,
    Appearance = 9,
    Hero = 10,
    Cloth = 11,
    Conversation = 12,
    ConversationList = 13,
    EffectGroup = 14,
    Encounter = 15,
    Explosion = 17,
    FlagSet = 18,
    Font = 19,
    GameBalance = 20,
    Globals = 21,
    LevelArea = 22,
    Light = 23,
    MarkerSet = 24,
    Monster = 25,
    Observer = 26,
    Particle = 27,
    Physics = 28,
    Power = 29,
    Quest = 31,
    Rope = 32,
    Scene = 33,
    SceneGroup = 34,
    ShaderMap = 36,
    Shaders = 37,
    Shakes = 38,
    SkillKit = 39,
    Sound = 40,
    SoundBank = 41,
    StringList = 42,
    Surface = 43,
    Textures = 44,
    Trail = 45,
    UI = 46,
    Weather = 47,
    Worlds = 48,
    Recipe = 49,
    Condition = 51,
    TreasureClass = 52,
    Account = 53,
    TimedEvent = 55,
    Act = 56,
    Material = 57,
    QuestRange = 58,
    Lore = 59,
    Reverb = 60,
    PhysMesh = 61,
    Music = 62,
    Tutorial = 63,
    BossEncounter = 64,
    Accolade = 66,
    AnimTree = 67,
    Vibrations = 68

    Is that what you needed?
    Last edited by enigma32; 02-26-2014 at 03:32 PM.

  3. #3
    bastiflew's Avatar Active Member
    Reputation
    41
    Join Date
    Aug 2012
    Posts
    98
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Look at the SNO Count in Scene Def !

    Scene Def not found ? 2.0.1 live-scenedef-jpg

    if I follow the SNO Ptr, I have this :

    Scene Def not found ? 2.0.1 live-snoscene-jpg

    My SNO table is unusable...

  4. #4
    enigma32's Avatar Legendary
    Reputation
    912
    Join Date
    Jan 2013
    Posts
    551
    Thanks G/R
    4/738
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It's actually MaxIndex and not Count (which is at +0x10C). It's an int16 so you have -1, meaning NO items. Kinda hard to use for anything yea..

  5. #5
    bastiflew's Avatar Active Member
    Reputation
    41
    Join Date
    Aug 2012
    Posts
    98
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ok, so something change right ?
    I found the navcells and navmeshes by searching manually, but no path from SNO...

  6. #6
    enigma32's Avatar Legendary
    Reputation
    912
    Join Date
    Jan 2013
    Posts
    551
    Thanks G/R
    4/738
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Seems most SNO groups are empty, but the hash value was flickering around when loading a game, so it would appear items are created but then destroyed as soon as possible. Maybe they added some optimization.

  7. #7
    bastiflew's Avatar Active Member
    Reputation
    41
    Join Date
    Aug 2012
    Posts
    98
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I extract scene file now, but may be you have a workaround for this issue with SNO ?
    StringList Def seems to have the same problem.

  8. #8
    ejt's Avatar Contributor
    Reputation
    210
    Join Date
    Mar 2008
    Posts
    166
    Thanks G/R
    3/112
    Trade Feedback
    0 (0%)
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    It seems to me (although I'm bad at RE), they have gathered most SNOs into one big SNOGroup called "Global". I ran a program to list all the SNOGroup lists and this is what came out:

    Code:
    [0]	{Name=0x00c8e848 "Global" Limit=32768 SizeOf=20 ...}
    [1]	{Name=0x00c8e9b8 "ShaderMap Def" Limit=1024 SizeOf=20 ...}
    [2]	{Name=0x00c8eb28 "Global" Limit=32768 SizeOf=20 ...}
    [3]	{Name=0x00c8ec98 "Global" Limit=32768 SizeOf=20 ...}
    [4]	{Name=0x00c8ee08 "Globals Def" Limit=1 SizeOf=20 ...}
    [5]	{Name=0x00c8ef78 "Observer Def" Limit=64 SizeOf=20 ...}
    [6]	{Name=0x00c8f0e8 "Global" Limit=32768 SizeOf=20 ...}
    [7]	{Name=0x00c8f258 "Global" Limit=32768 SizeOf=20 ...}
    [8]	{Name=0x00c8f3c8 "Global" Limit=32768 SizeOf=20 ...}
    [9]	{Name=0x00c8f538 "AnimSet Def" Limit=2359 SizeOf=20 ...}
    [10]	{Name=0x00c8f6a8 "Global" Limit=32768 SizeOf=20 ...}
    [11]	{Name=0x00c8f818 "Global" Limit=32768 SizeOf=20 ...}
    [12]	{Name=0x00c8f988 "Global" Limit=32768 SizeOf=20 ...}
    [13]	{Name=0x00c8faf8 "Global" Limit=32768 SizeOf=20 ...}
    [14]	{Name=0x00c8fc68 "Global" Limit=32768 SizeOf=20 ...}
    [15]	{Name=0x00c8fdd8 "GameBalance Def" Limit=128 SizeOf=20 ...}
    [16]	{Name=0x00c8ff48 "Encounter Def" Limit=369 SizeOf=20 ...}
    [17]	{Name=0x00c900b8 "Adventure Def" Limit=578 SizeOf=20 ...}
    [18]	{Name=0x00c90228 "Global" Limit=32768 SizeOf=20 ...}
    [19]	{Name=0x00c90398 "ConversationList Def" Limit=32 SizeOf=20 ...}
    [20]	{Name=0x00c90508 "FlagSet Def" Limit=8 SizeOf=20 ...}
    [21]	{Name=0x00c90678 "SceneGroup Def" Limit=128 SizeOf=20 ...}
    [22]	{Name=0x00c907e8 "Global" Limit=32768 SizeOf=20 ...}
    [23]	{Name=0x00c90958 "Quest Def" Limit=1024 SizeOf=20 ...}
    [24]	{Name=0x00c90ac8 "QuestRange Def" Limit=1334 SizeOf=20 ...}
    [25]	{Name=0x00c90c38 "SkillKit Def" Limit=128 SizeOf=20 ...}
    [26]	{Name=0x00c90da8 "Global" Limit=32768 SizeOf=20 ...}
    [27]	{Name=0x00c90f18 "Recipe Def" Limit=598 SizeOf=20 ...}
    [28]	{Name=0x00c91088 "TimedEvent Def" Limit=1024 SizeOf=20 ...}
    [29]	{Name=0x00c911f8 "Act Def" Limit=7 SizeOf=20 ...}
    [30]	{Name=0x00c91368 "Lore Def" Limit=401 SizeOf=20 ...}
    [31]	{Name=0x00c914d8 "Global" Limit=32768 SizeOf=20 ...}
    [32]	{Name=0x00c91648 "Global" Limit=32768 SizeOf=20 ...}
    [33]	{Name=0x00c917b8 "Global" Limit=32768 SizeOf=20 ...}
    [34]	{Name=0x00c91928 "BossEncounter Def" Limit=64 SizeOf=20 ...}
    [35]	{Name=0x00c91a98 "Tutorial Def" Limit=256 SizeOf=20 ...}
    [36]	{Name=0x00c91c08 "Accolade Def" Limit=256 SizeOf=20 ...}
    [37]	{Name=0x00c91d78 "AmbientSound Def" Limit=849 SizeOf=20 ...}
    [38]	{Name=0x00c91ee8 "Physics Def" Limit=128 SizeOf=20 ...}
    [39]	{Name=0x00c92058 "Explosion Def" Limit=500 SizeOf=20 ...}
    [40]	{Name=0x00c921c8 "Surface Def" Limit=128 SizeOf=20 ...}
    [41]	{Name=0x00c92338 "Global" Limit=32768 SizeOf=20 ...}
    [42]	{Name=0x00c924a8 "Cloth Def" Limit=128 SizeOf=20 ...}
    [43]	{Name=0x00c92618 "Global" Limit=32768 SizeOf=20 ...}
    [44]	{Name=0x00c92788 "Global" Limit=32768 SizeOf=20 ...}
    [45]	{Name=0x00c928f8 "Font Def" Limit=64 SizeOf=20 ...}
    [46]	{Name=0x00c92a68 "Anim2D Def" Limit=256 SizeOf=20 ...}
    [47]	{Name=0x00c92bd8 "Shaders Def" Limit=1313 SizeOf=20 ...}
    [48]	{Name=0x00c92d48 "Global" Limit=32768 SizeOf=20 ...}
    [49]	{Name=0x00c92eb8 "Global" Limit=32768 SizeOf=20 ...}
    [50]	{Name=0x00c93028 "Global" Limit=32768 SizeOf=20 ...}
    [51]	{Name=0x00c93198 "Global" Limit=32768 SizeOf=20 ...}
    [52]	{Name=0x00c93308 "Global" Limit=32768 SizeOf=20 ...}
    [53]	{Name=0x00c93478 "Global" Limit=32768 SizeOf=20 ...}
    [54]	{Name=0x00c935e8 "Weather Def" Limit=504 SizeOf=20 ...}
    [55]	{Name=0x00c93758 "Global" Limit=32768 SizeOf=20 ...}
    [56]	{Name=0x00c938c8 "Vibrations Def" Limit=32 SizeOf=20 ...}
    [57]	{Name=0x00c93a38 "Global" Limit=32768 SizeOf=20 ...}
    [58]	{Name=0x00c93ba8 "Reverb Def" Limit=128 SizeOf=20 ...}
    [59]	{Name=0x00c93d18 "AnimTree Def" Limit=256 SizeOf=20 ...}
    Started at 0x01a7c14c (SnoGroup pointers as enigma32 explained with 2.0.3 offset)

    its worth pointing out that I'm reading [[[[0x1a7c14c]]] + 0x20] if that make sense. However reading [[[[0x1a7c14c]]] + 0x24] gives the old list names but with "empty" lists.

    Like so:

    Code:
    [0]	{Name=0x00827a50 "Textures Def" Limit=64 SizeOf=24 ...}
    [1]	{Name=0x00827bc0 "Textures Def" Limit=64 SizeOf=24 ...}
    [2]	{Name=0x00827d30 "Appearance Def" Limit=64 SizeOf=24 ...}
    [3]	{Name=0x00827ea0 "PhysMesh Def" Limit=64 SizeOf=24 ...}
    [4]	{Name=0x00828010 "PhysMesh Def" Limit=64 SizeOf=24 ...}
    [5]	{Name=0x00828180 "PhysMesh Def" Limit=64 SizeOf=24 ...}
    [6]	{Name=0x008282f0 "Scene Def" Limit=64 SizeOf=24 ...}
    [7]	{Name=0x00828460 "Worlds Def" Limit=64 SizeOf=24 ...}
    [8]	{Name=0x008285d0 "Actor Def" Limit=64 SizeOf=24 ...}
    [9]	{Name=0x00828740 "AnimSet Def" Limit=64 SizeOf=24 ...}
    [10]	{Name=0x008288b0 "Anim Def" Limit=64 SizeOf=24 ...}
    [11]	{Name=0x00828a20 "StringList Def" Limit=64 SizeOf=24 ...}
    [12]	{Name=0x00828b90 "Power Def" Limit=64 SizeOf=24 ...}
    [13]	{Name=0x00828d00 "MarkerSet Def" Limit=64 SizeOf=24 ...}
    [14]	{Name=0x00828e70 "Hero Def" Limit=64 SizeOf=24 ...}
    [15]	{Name=0x00828fe0 "Hero Def" Limit=64 SizeOf=24 ...}
    [16]	{Name=0x00829150 "Hero Def" Limit=64 SizeOf=24 ...}
    [17]	{Name=0x008292c0 "Hero Def" Limit=64 SizeOf=24 ...}
    [18]	{Name=0x00829430 "Conversation Def" Limit=64 SizeOf=24 ...}
    [19]	{Name=0x008295a0 "Conversation Def" Limit=64 SizeOf=24 ...}
    [20]	{Name=0x00829710 "Conversation Def" Limit=64 SizeOf=24 ...}
    [21]	{Name=0x00829880 "Conversation Def" Limit=64 SizeOf=24 ...}
    [22]	{Name=0x008299f0 "LevelArea Def" Limit=64 SizeOf=24 ...}
    [23]	{Name=0x00829b60 "LevelArea Def" Limit=64 SizeOf=24 ...}
    [24]	{Name=0x00829cd0 "LevelArea Def" Limit=64 SizeOf=24 ...}
    [25]	{Name=0x00829e40 "LevelArea Def" Limit=64 SizeOf=24 ...}
    [26]	{Name=0x00829fb0 "Monster Def" Limit=64 SizeOf=24 ...}
    [27]	{Name=0x0082a120 "Monster Def" Limit=64 SizeOf=24 ...}
    [28]	{Name=0x0082a290 "Monster Def" Limit=64 SizeOf=24 ...}
    [29]	{Name=0x0082a400 "Monster Def" Limit=64 SizeOf=24 ...}
    [30]	{Name=0x0082a570 "Monster Def" Limit=64 SizeOf=24 ...}
    [31]	{Name=0x0082a6e0 "Condition Def" Limit=64 SizeOf=24 ...}
    [32]	{Name=0x0082a850 "Account Def" Limit=64 SizeOf=24 ...}
    [33]	{Name=0x0082a9c0 "TreasureClass Def" Limit=64 SizeOf=24 ...}
    [34]	{Name=0x0082ab30 "TreasureClass Def" Limit=64 SizeOf=24 ...}
    [35]	{Name=0x0082aca0 "TreasureClass Def" Limit=64 SizeOf=24 ...}
    [36]	{Name=0x0082ae10 "TreasureClass Def" Limit=64 SizeOf=24 ...}
    [37]	{Name=0x0082af80 "TreasureClass Def" Limit=64 SizeOf=24 ...}
    [38]	{Name=0x0082b0f0 "TreasureClass Def" Limit=64 SizeOf=24 ...}
    [39]	{Name=0x0082b260 "TreasureClass Def" Limit=64 SizeOf=24 ...}
    [40]	{Name=0x0082b3d0 "TreasureClass Def" Limit=64 SizeOf=24 ...}
    [41]	{Name=0x0082b540 "EffectGroup Def" Limit=64 SizeOf=24 ...}
    [42]	{Name=0x0082b6b0 "EffectGroup Def" Limit=64 SizeOf=24 ...}
    [43]	{Name=0x0082b820 "Trail Def" Limit=64 SizeOf=24 ...}
    [44]	{Name=0x0082b990 "Particle Def" Limit=64 SizeOf=24 ...}
    [45]	{Name=0x0082bb00 "Particle Def" Limit=64 SizeOf=24 ...}
    [46]	{Name=0x0082bc70 "Particle Def" Limit=64 SizeOf=24 ...}
    [47]	{Name=0x0082d010 "Particle Def" Limit=64 SizeOf=24 ...}
    [48]	{Name=0x0082d180 "UI Def" Limit=64 SizeOf=24 ...}
    [49]	{Name=0x0082d2f0 "Light Def" Limit=64 SizeOf=24 ...}
    [50]	{Name=0x0082d460 "SoundBank Def" Limit=64 SizeOf=24 ...}
    [51]	{Name=0x0082d5d0 "Sound Def" Limit=64 SizeOf=24 ...}
    [52]	{Name=0x0082d740 "Music Def" Limit=64 SizeOf=24 ...}
    [53]	{Name=0x0082d8b0 "Rope Def" Limit=64 SizeOf=24 ...}
    [54]	{Name=0x0082da20 "Rope Def" Limit=64 SizeOf=24 ...}
    [55]	{Name=0x0082db90 "Shakes Def" Limit=64 SizeOf=24 ...}
    [56]	{Name=0x0082dd00 "Shakes Def" Limit=64 SizeOf=24 ...}
    [57]	{Name=0x0082de70 "Material Def" Limit=64 SizeOf=24 ...}
    [58]	{Name=0x0082dfe0 "Material Def" Limit=64 SizeOf=24 ...}
    [59]	{Name=0x0082e150 "Material Def" Limit=64 SizeOf=24 ...}
    Heres the code I used to generate:
    Code:
    		struct a
    		{
    			DWORD pDef;
    			DWORD unknown_4;
    		};
    
    		class CSNODef
    		{
    		public:
    			DWORD unk[4];           // 0x000
    			DWORD pSNOAddr;         // 0x00C
    		};
    
    		template <class T>
    		class tContainer
    		{
    		public:
    			CHAR  Name[256];            // 0x000
    			ULONG Limit;                // 0x100
    			ULONG SizeOf;               // 0x104
    			ULONG Count;                // 0x108
    			DWORD unknown_10C[5];		// 0x10C
    			T*    List;                 // 0x120
    			DWORD unknown_124;			// 0x124
    			ULONG Bits;					// 0x128
    		};
    
    		std::list<a> grps;
    
    		for (DWORD i = 0; i < 60; i++)
    		{
    			a curGrp;
    
    			CProcess::Instance().Read(0x01A7C14C + (i * sizeof(a)), sizeof(curGrp), &curGrp);
    
    			grps.push_back(curGrp);
    		}
    
    		std::list<CSNODef> defs;
    
    		for (std::list<a>::iterator it = grps.begin(); it != grps.end(); it++)
    		{
    			CSNODef curDef;
    
    			CProcess::Instance().Read(CProcess::Instance().Read<DWORD>(it->pDef), sizeof(CSNODef), &curDef);
    
    			defs.push_back(curDef);
    		}
    
    		std::list<tContainer<CSNODef>> lists;
    
    		for (std::list<CSNODef>::iterator it = defs.begin(); it != defs.end(); it++)
    		{
    			tContainer<CSNODef> curList;
    
    			CProcess::Instance().Read(it->pSNOAddr, sizeof(curList), &curList);
    
    			lists.push_back(curList);
    		}
    The code stinks but it does the job...

    As a sidenote here as updated (2.0.3.22427) list of all snogroup pointers:

    Code:
    [0]	{pDef=0x01aa7f90 unknown_4=0x01086a80 }
    [1]	{pDef=0x01c9a218 unknown_4=0x01086ae0 }
    [2]	{pDef=0x01aab758 unknown_4=0x01086b40 }
    [3]	{pDef=0x01d53040 unknown_4=0x01086ba0 }
    [4]	{pDef=0x01d31538 unknown_4=0x01086c00 }
    [5]	{pDef=0x01d444a8 unknown_4=0x01086c60 }
    [6]	{pDef=0x01cec778 unknown_4=0x01086cc0 }
    [7]	{pDef=0x01cef108 unknown_4=0x01086d20 }
    [8]	{pDef=0x01d2ddb0 unknown_4=0x01086d80 }
    [9]	{pDef=0x01cf6ab8 unknown_4=0x01086de0 }
    [10]	{pDef=0x01d54c40 unknown_4=0x01086e40 }
    [11]	{pDef=0x01cea678 unknown_4=0x01086ea0 }
    [12]	{pDef=0x01cf6160 unknown_4=0x01086f00 }
    [13]	{pDef=0x01d51c20 unknown_4=0x01086f60 }
    [14]	{pDef=0x01d70d80 unknown_4=0x01086fc0 }
    [15]	{pDef=0x01cf7028 unknown_4=0x01087020 }
    [16]	{pDef=0x01d70250 unknown_4=0x01087080 }
    [17]	{pDef=0x01d811a8 unknown_4=0x010870e0 }
    [18]	{pDef=0x01d49fe8 unknown_4=0x01087140 }
    [19]	{pDef=0x01d806a8 unknown_4=0x010871a0 }
    [20]	{pDef=0x01d802c8 unknown_4=0x01087200 }
    [21]	{pDef=0x01d51728 unknown_4=0x01087260 }
    [22]	{pDef=0x01ceaec8 unknown_4=0x010872c0 }
    [23]	{pDef=0x01d46290 unknown_4=0x01087320 }
    [24]	{pDef=0x01d52ab0 unknown_4=0x01087380 }
    [25]	{pDef=0x01d3f8d0 unknown_4=0x010873e0 }
    [26]	{pDef=0x01d4dc78 unknown_4=0x01087440 }
    [27]	{pDef=0x01d54a90 unknown_4=0x010874a0 }
    [28]	{pDef=0x01d801a8 unknown_4=0x01087500 }
    [29]	{pDef=0x01d406a8 unknown_4=0x01087560 }
    [30]	{pDef=0x01d74098 unknown_4=0x010875c0 }
    [31]	{pDef=0x01d7db40 unknown_4=0x01087620 }
    [32]	{pDef=0x01d7bd04 unknown_4=0x01087680 }
    [33]	{pDef=0x01d7ca40 unknown_4=0x010876e0 }
    [34]	{pDef=0x01d41578 unknown_4=0x01087740 }
    [35]	{pDef=0x01d51230 unknown_4=0x010877a0 }
    [36]	{pDef=0x01d74478 unknown_4=0x01087800 }
    [37]	{pDef=0x01cd05f8 unknown_4=0x01087860 }
    [38]	{pDef=0x01ccd1f0 unknown_4=0x010878c0 }
    [39]	{pDef=0x01cd18a8 unknown_4=0x01087920 }
    [40]	{pDef=0x01cce598 unknown_4=0x01087980 }
    [41]	{pDef=0x01ccdde8 unknown_4=0x010879e0 }
    [42]	{pDef=0x01cd1f40 unknown_4=0x01087a40 }
    [43]	{pDef=0x01cd1068 unknown_4=0x01087aa0 }
    [44]	{pDef=0x01ccab10 unknown_4=0x01087b00 }
    [45]	{pDef=0x01c980c0 unknown_4=0x01087b60 }
    [46]	{pDef=0x01cd2da0 unknown_4=0x01087bc0 }
    [47]	{pDef=0x01ab2ae8 unknown_4=0x01087c20 }
    [48]	{pDef=0x01ab4910 unknown_4=0x01087c80 }
    [49]	{pDef=0x01cc3178 unknown_4=0x01087ce0 }
    [50]	{pDef=0x01c9a4a8 unknown_4=0x01087d40 }
    [51]	{pDef=0x01c9ae90 unknown_4=0x01087da0 }
    [52]	{pDef=0x01cc8fc8 unknown_4=0x01087e00 }
    [53]	{pDef=0x01ccf098 unknown_4=0x01087e60 }
    [54]	{pDef=0x01cc1610 unknown_4=0x01087ec0 }
    [55]	{pDef=0x01cce8e8 unknown_4=0x01087f20 }
    [56]	{pDef=0x01def9d0 unknown_4=0x01087f80 }
    [57]	{pDef=0x01c6da40 unknown_4=0x01087fe0 }
    [58]	{pDef=0x01cc8180 unknown_4=0x01088040 }
    [59]	{pDef=0x01d6e9a0 unknown_4=0x00008a6b }
    [ [ [ pDef ] ] + 0x10 ] gives to a tContainer<CSNODef> as defined in the code above
    Last edited by ejt; 03-15-2014 at 05:55 AM.

  9. #9
    bastiflew's Avatar Active Member
    Reputation
    41
    Join Date
    Aug 2012
    Posts
    98
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi,
    Thanks for sharing.

    I reproduce your code in C# for a concrete case :

    I'm looking for my actual scene in game (I'm in A3 keep, the scene id is 0x16b11).
    I dump offset with your code :

    0x1AA7F90 Global
    0x1C9A218 ShaderMap Def
    0x1AAB758 Global
    0x1D53040 Global
    0x1D31538 Globals Def
    0x1D444A8 Observer Def
    0x1CEC778 Global
    0x1CEF108 Global
    0x1D2DDB0 Global
    0x1CF6AB8 AnimSet Def
    0x1D54C40 Global
    0x1CEA678 Global
    0x1CF6160 Global
    0x1D51C20 Global
    0x1D70D80 Global
    0x1CF7028 GameBalance Def
    0x1D70250 Encounter Def
    0x1D811A8 Adventure Def
    0x1D49FE8 Global
    0x1D806A8 ConversationList Def
    0x1D802C8 FlagSet Def
    0x1D51728 SceneGroup Def
    0x1CEAEC8 Global
    0x1D46290 Quest Def
    0x1D52AB0 QuestRange Def
    0x1D3F8D0 SkillKit Def
    0x1D4DC78 Global
    0x1D54A90 Recipe Def
    0x1D801A8 TimedEvent Def
    0x1D406A8 Act Def
    0x1D74098 Lore Def
    0x1D7DB40 Global
    0x1D7BD04 Global
    0x1D7CA40 Global
    0x1D41578 BossEncounter Def
    0x1D51230 Tutorial Def
    0x1D74478 Accolade Def
    0x1CD05F8 AmbientSound Def
    0x1CCD1F0 Physics Def
    0x1CD18A8 Explosion Def
    0x1CCE598 Surface Def
    0x1CCDDE8 Global
    0x1CD1F40 Cloth Def
    0x1CD1068 Global
    0x1CCAB10 Global
    0x1C980C0 Font Def
    0x1CD2DA0 Anim2D Def
    0x1AB2AE8 Shaders Def
    0x1AB4910 Global
    0x1CC3178 Global
    0x1C9A4A8 Global
    0x1C9AE90 Global
    0x1CC8FC8 Global
    0x1CCF098 Global
    0x1CC1610 Weather Def
    0x1CCE8E8 Global
    0x1DEF9D0 Vibrations Def
    0x1C6DA40 Global
    0x1CC8180 Reverb Def
    0x1D6E9A0 AnimTree Def

    In global SNO, I fetch ptr like I did before, and I found one occurence for my scene.
    Sadly, the content of the scene is not good, despite the header of scene seems good.

    Maybe I miss something.

  10. #10
    ejt's Avatar Contributor
    Reputation
    210
    Join Date
    Mar 2008
    Posts
    166
    Thanks G/R
    3/112
    Trade Feedback
    0 (0%)
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Glad to be able to contribute

    I haven't really gotten to scene parsing due to work keeping me busy. How are you reading the scene sno?

  11. #11
    bastiflew's Avatar Active Member
    Reputation
    41
    Join Date
    Aug 2012
    Posts
    98
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    there is two part in a scene file (or at scene memory address, but the content is the same)

    - NavCells with AABB of each square of your scene, and walkable tag
    - NavMeshes with the Z value for each point in each navcell

    I use to read this datas directly to memory, with a classic SNO Parser.
    Since 2.0, I have to extract scn file from MPQ (with a lib called CrystalMPQ)

  12. #12
    DarthTon's Avatar Contributor
    Reputation
    171
    Join Date
    Apr 2010
    Posts
    108
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Scene SNO has changed a bit. NavMeshDef structure (the one located at 0x40 offset in SceneSNO) now doesn't have 'name' field at its end.
    PHP Code:
    class NavMeshDef
    {
    public:
        
    DWORD SquaresX;             // 0x000
        
    DWORD SquaresY;             // 0x004
        
    DWORD pad_008;              // 0x008
        
    DWORD SquareCount;          // 0x00C
        
    float pad_010;              // 0x010
        
    DataPtr2 Squares;           // 0x014
        
    DWORD pad_01C;              // 0x01C
        
    NavMeshSquarearray_ptr;   // 0x020
        
    DWORD pad_024;              // 0x024
        //char name[256];               // 0x028    <- Here it is
    }; 

  13. #13
    bastiflew's Avatar Active Member
    Reputation
    41
    Join Date
    Aug 2012
    Posts
    98
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi DarthTon.
    The NavMeshDef is good, but I can't list current SNO Scene with a classic SNOReader (like I do for Item in gamebalance, or you do in your framework.)
    In PTR or RoS Beta, the SNO Scene was ok, but since 2.0.1 the problem happends.

  14. #14
    ejt's Avatar Contributor
    Reputation
    210
    Join Date
    Mar 2008
    Posts
    166
    Thanks G/R
    3/112
    Trade Feedback
    0 (0%)
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DarthTon View Post
    Scene SNO has changed a bit. NavMeshDef structure (the one located at 0x40 offset in SceneSNO) now doesn't have 'name' field at its end.
    PHP Code:
    class NavMeshDef
    {
    public:
        
    DWORD SquaresX;             // 0x000
        
    DWORD SquaresY;             // 0x004
        
    DWORD pad_008;              // 0x008
        
    DWORD SquareCount;          // 0x00C
        
    float pad_010;              // 0x010
        
    DataPtr2 Squares;           // 0x014
        
    DWORD pad_01C;              // 0x01C
        
    NavMeshSquarearray_ptr;   // 0x020
        
    DWORD pad_024;              // 0x024
        //char name[256];               // 0x028    <- Here it is
    }; 
    Cannot thank you enough DarthTon, that really did the trick for me. Started looking at the scenes today and was scratching my head on what had changed in the SNO structure. Gotten most of the scene structure to work now and thanks to that little change, my SNO gets correct information again

    Thank you again.

    These are the structures I've got for getting scenes in memory from objectmanager:

    PHP Code:

            
    //sizeof = 0x18
            
    struct AABB
            
    {
                
    Vec3 Min;        // 0x000
                
    Vec3 Max;        // 0x00C
            
    };

            
    //sizeof = 0x54
            
    class NavZoneRaw
            
    {
            public:
                
    DWORD WorldId;            // 0x000
                
    DWORD NavZoneId;        // 0x004
                
    DWORD SNOId;            // 0x008
                
    Vec2 unknown_00C;       // 0x00C
                
    DWORD unknown_014;      // 0x014
                
    Vec2 zoneMin;           // 0x018
                
    Vec2 zoneMax;            // 0x020
                
    DWORD unknown_028[8];   // 0x028
                
    DWORD pNavZoneDefRaw;   // 0x048
                
    DWORD pSceneRecord;     // 0x04C
                
    DWORD unknown_050[10];      // 0x050
            
    };

            
    //sizeof = 0x1C8
            
    class NavMeshRaw
            
    {
            public:
                
    DWORD NavMeshId;        // 0x004
                
    DWORD WorldId;            // 0x008
                
    DWORD unknown_C[3];        // 0x00C
                
    DWORD SNOLevelArea;        // 0x018
                
    DWORD unknown_1C[3];    // 0x01C
                
    DWORD SNOPortalWorld;    // 0x028
                
    DWORD unknown_2C[28];    // 0x02C
                
    DWORD SizeX;            // 0x09C
                
    DWORD SizeY;            // 0x0A0
                
    AABB unknown_A4;        // 0x0A4
                
    AABB unknown_B4;        // 0x0B4
                
    DWORD unknown_C4[5];    // 0x0C4
                
    DWORD SNOId;            // 0x0D8
                
    DWORD unknown_DC[6];    // 0x0DC
                //Vec2 MeshMin;            // 0x0E0
                
    DWORD unknown_D8[14];    // 0x0E0
                
    AABB bounds;            // 0x118
                
    AABB boundsMarker;        // 0x128
                
    Vec2 MeshMin;            // 0x138
                
    Vec2 MeshMax;            // 0x140
                
    DWORD unknown_144[4];    // 0x144
                
    NavZoneRawpZone;        //
            
    };

            
    //sizeof = 0x2A8
            
    struct SceneRaw
            
    {
                
    DWORD SceneId;            // 0x000
                
    NavMeshRaw NavMesh;
                
    DWORD unknown[75];
            }; 
    ( I am not an expert in Reverse Engineering and the above structures should be used with caution as they may (will) be incorrect.

  15. #15
    DarthTon's Avatar Contributor
    Reputation
    171
    Join Date
    Apr 2010
    Posts
    108
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I've updated my SVN repo to latest D3 version. At first glance SNO parsing works fine there. You can take a look.

Page 1 of 2 12 LastLast

Similar Threads

  1. [Merchant] item not found
    By aliceamphetamine in forum World of Warcraft Emulator Servers
    Replies: 2
    Last Post: 03-31-2008, 02:50 PM
  2. "Instance not found"
    By Shao111 in forum World of Warcraft Emulator Servers
    Replies: 9
    Last Post: 01-19-2008, 07:49 PM
  3. Plz HelpMe! [Item Not Found]
    By kristian92 in forum World of Warcraft Emulator Servers
    Replies: 4
    Last Post: 01-19-2008, 05:08 PM
  4. The item was not found
    By daveander in forum World of Warcraft Emulator Servers
    Replies: 3
    Last Post: 12-21-2007, 12:03 AM
  5. item was not found wannouncement
    By bahumatneo in forum World of Warcraft Emulator Servers
    Replies: 4
    Last Post: 11-22-2007, 05:02 AM
All times are GMT -5. The time now is 10:14 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search