Forums WoW Modding Support Archives WoWModding Support Archives [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?

[DiscordArchive] Quick question how do i map out a vtable in ida so i can use it as a pointer in my structure?

Pages (2): 1 2 Next
rektbyfaith
Administrator
0
09-29-2025, 10:55 PM
#1
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?
rektbyfaith
09-29-2025, 10:55 PM #1

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?

rektbyfaith
Administrator
0
09-29-2025, 10:56 PM
#2
Archived author: Saty • Posted: 2025-09-29T22:56:48.985000+00:00
Original source

https://docs.hex-rays.com/user-guide/use...pe-details
rektbyfaith
09-29-2025, 10:56 PM #2

Archived author: Saty • Posted: 2025-09-29T22:56:48.985000+00:00
Original source

https://docs.hex-rays.com/user-guide/use...pe-details

rektbyfaith
Administrator
0
09-29-2025, 10:59 PM
#3
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"
rektbyfaith
09-29-2025, 10:59 PM #3

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"

rektbyfaith
Administrator
0
09-29-2025, 10:59 PM
#4
Archived author: Deleted User • Posted: 2025-09-29T22:59:22.867000+00:00
Original source

I've follow this and still having problems
rektbyfaith
09-29-2025, 10:59 PM #4

Archived author: Deleted User • Posted: 2025-09-29T22:59:22.867000+00:00
Original source

I've follow this and still having problems

rektbyfaith
Administrator
0
09-29-2025, 10:59 PM
#5
Archived author: Saty • Posted: 2025-09-29T22:59:46.319000+00:00
Original source

Whats the problem
rektbyfaith
09-29-2025, 10:59 PM #5

Archived author: Saty • Posted: 2025-09-29T22:59:46.319000+00:00
Original source

Whats the problem

rektbyfaith
Administrator
0
09-29-2025, 10:59 PM
#6
Archived author: Deleted User • Posted: 2025-09-29T22:59:55.420000+00:00
Original source

can i dm you?
rektbyfaith
09-29-2025, 10:59 PM #6

Archived author: Deleted User • Posted: 2025-09-29T22:59:55.420000+00:00
Original source

can i dm you?

rektbyfaith
Administrator
0
09-29-2025, 11:00 PM
#7
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
rektbyfaith
09-29-2025, 11:00 PM #7

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

rektbyfaith
Administrator
0
09-29-2025, 11:01 PM
#8
Archived author: Deleted User • Posted: 2025-09-29T23:01:23.977000+00:00
Original source

its kinda sensitive for right now, i dm you
rektbyfaith
09-29-2025, 11:01 PM #8

Archived author: Deleted User • Posted: 2025-09-29T23:01:23.977000+00:00
Original source

its kinda sensitive for right now, i dm you

rektbyfaith
Administrator
0
09-30-2025, 10:07 PM
#9
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"
rektbyfaith
09-30-2025, 10:07 PM #9

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"

rektbyfaith
Administrator
0
09-30-2025, 10:20 PM
#10
Archived author: Saty • Posted: 2025-09-30T22:20:03.716000+00:00
Original source

ChatGPT ah answer <:kek:868839618898960414>
rektbyfaith
09-30-2025, 10:20 PM #10

Archived author: Saty • Posted: 2025-09-30T22:20:03.716000+00:00
Original source

ChatGPT ah answer <:kek:868839618898960414>

Pages (2): 1 2 Next
Recently Browsing
 1 Guest(s)
Recently Browsing
 1 Guest(s)