[DiscordArchive] Quick question how do i map out a vtable in ida so i can use it as a pointer in my structure?
[DiscordArchive] Quick question how do i map out a vtable in ida so i can use it as a pointer in my structure?
Archived author: Deleted User • Posted: 2025-09-29T22:55:14.680000+00:00
Original source
Quick question how do i map out a vtable in ida so i can use it as a pointer in my structure?
Archived author: Saty • Posted: 2025-09-29T22:56:48.985000+00:00
Original source
https://docs.hex-rays.com/user-guide/use...pe-details
Archived author: Saty • Posted: 2025-09-29T22:59:19.728000+00:00
Original source
So if your struct is named "Bla", you name the vtable struct "Bla_vtbl".
Then in your struct, you reference it by "Bla_vtbl *__vftable"
Archived author: Deleted User • Posted: 2025-09-29T22:59:22.867000+00:00
Original source
I've follow this and still having problems
Archived author: Saty • Posted: 2025-09-29T22:59:46.319000+00:00
Original source
Whats the problem
Archived author: Deleted User • Posted: 2025-09-29T22:59:55.420000+00:00
Original source
can i dm you?
Archived author: Saty • Posted: 2025-09-29T23:00:25.422000+00:00
Original source
I usually say keep it in a open chat so someone with the same problem can find it later here.
But if its something sensitive, sure
Archived author: Deleted User • Posted: 2025-09-29T23:01:23.977000+00:00
Original source
its kinda sensitive for right now, i dm you
Archived author: Azarchius • Posted: 2025-09-30T22:07:58.795000+00:00
Original source
yo, CMap refers to a map as you and I understand it--like northrend.
CWorldMap you can think of as the 'base map'. 335 already has all the code necessary to do terrain shifting that was introduced in Cataclysm, that is to say, the ability for a CWorldMap to contain multiple CMaps. This is probably why you don't understand what's the point of the distinction in 335--there is no point to the distinction, not yet, this was a rewrite in preparation for Cataclysm.
A CWorldMap can contain up to 16 CMaps. Basically CWorldMap goes "render CMap[0] if it exists, then CMap[1], then CMap[2]..." and if there is a conflict, the later one overwrites the previous one. This is how Blizzard replaces a single ADT in Gilneas or in Lost Isles to accomplish zone changes without having two separate maps (and doing it without a loading screen while you are inside a building). CWorldMap contains most of the logic that should run regardless of which CMap your character is standing on, whereas CMap logic contains stuff that's only relevant to that specific CMap. Much of the data loaded into CWorldMap's responsibility is just "the CMap that was used to create the CWorldMap gets to populate this shit. The rest dont" -- an example is the WDT. WDT is taken from the first CMap, and any new CMaps have their WDT files ignored.
Speaking of "doing it without a loading screen", the complication with this design annoyed Blizzard at some point, so in BFA they made it so CWorldScene contains *two* CWorldMaps, the "active" one and the "inactive" one. They load an entire CWorldMap in CWorldMap[1] and when it's ready they replace CWorldMap[0] with CWorldMap[1]. They used this in Dragonflight and called it "Airlock Tech", all it is is just "we load a whole fucking CWorldMap in parallel into memory without rendering it and then swap the pointers around when it's ready"
Archived author: Saty • Posted: 2025-09-30T22:20:03.716000+00:00
Original source
ChatGPT ah answer <:kek:868839618898960414>