[DiscordArchive] Yeah, that's part of CMapBaseObj.
[DiscordArchive] Yeah, that's part of CMapBaseObj.
Archived author: Saty • Posted: 2025-09-09T22:16:00.301000+00:00
Original source
Yeah, that's part of CMapBaseObj.
What exactly do you need to know about it?
Just how it works in general?
Archived author: Saty • Posted: 2025-09-09T22:16:28.209000+00:00
Original source
If you have any offset in mind you are particulary interested in, can try to explain it
Archived author: gromchek • Posted: 2025-09-09T22:30:41.133000+00:00
Original source
In general, I want to know everything. About all structures in the game. Now I work on classes and functions related to the map.
Check binana repo on github
Archived author: Saty • Posted: 2025-09-09T22:35:51.620000+00:00
Original source
Well, TSLists in general are quite easy.
You got your link:
```C
struct TSLink
{
TSLink *m_prevlink;
void *m_next;
};
```
And your List itself:
```C
struct TSList
{
ptrdiff_t m_linkoffset;
TSLink m_terminator;
};
```
You can get the first item by doing `<TSList>.m_terminator.m_next` and the last one by doing `<TSList>.m_terminator.m_prevlink.m_prevlink.m_next` (If I remember correctly)
You get the next item by doing `((TSLink)(¤t + m_linkoffset)).m_next`
The TSLink m_next you can change to whatever the item should be. It's basically a T object.
Archived author: gromchek • Posted: 2025-09-09T22:44:17+00:00
Original source
Yes, I understand it, now it remains to understand structure of T obj.
More precisely, this is CMapBaseObjLink (28 byte size) - 4 bytes for index and 24 bytes for 6 pointers.
But maybe in some cases it's a different structure