Forums WoW Modding Support Archives TrinityCore Discord Archives [DiscordArchive] <@200677690838220800> Is there really no identifier on the fragment retrieval methods?

[DiscordArchive] <@200677690838220800> Is there really no identifier on the fragment retrieval methods?

[DiscordArchive] <@200677690838220800> Is there really no identifier on the fragment retrieval methods?

rektbyfaith
Administrator
0
10-10-2025, 01:33 PM
#1
Archived author: MaxtorCoder • Posted: 2025-10-10T13:33:43.852000+00:00
Original source

<@200677690838220800> Is there really no identifier on the fragment retrieval methods?
rektbyfaith
10-10-2025, 01:33 PM #1

Archived author: MaxtorCoder • Posted: 2025-10-10T13:33:43.852000+00:00
Original source

<@200677690838220800> Is there really no identifier on the fragment retrieval methods?

rektbyfaith
Administrator
0
10-10-2025, 01:34 PM
#2
Archived author: Tea • Posted: 2025-10-10T13:34:14.377000+00:00
Original source

thats right
rektbyfaith
10-10-2025, 01:34 PM #2

Archived author: Tea • Posted: 2025-10-10T13:34:14.377000+00:00
Original source

thats right

rektbyfaith
Administrator
0
10-10-2025, 01:34 PM
#3
Archived author: MaxtorCoder • Posted: 2025-10-10T13:34:33.534000+00:00
Original source

```c
FNeighborhoodMirrorData_C *__fastcall FragmentAccessor::GetFNeighborhoodMirrorData_C(__int64 *a1)
{
// [COLLAPSED LOCAL DECLARATIONS. PRESS NUMPAD "+" TO EXPAND]

v1 = *a1;
v2 = (_QWORD *)((char *)*(&off_145742C90 + ((unsigned __int64)*a1 >> 0x36)) + 8);
v9 = *a1 & 0x3FFFFFFF;
if ( v9 >= v2[1] )
{
v7 = 0;
v8[0] = &v9;
v8[1] = v2;
v6 = byte_144CA8FEB;
if ( (unsigned __int8)sub_140174370(v8, &v6) )
{
__debugbreak();
}
}
v3 = 0;
if ( v1 == **(_QWORD **)(*v2 + 8 * v9) )
{
v3 = *(_QWORD *)(*v2 + 8 * v9);
}
v4 = *(unsigned int *)(*(_QWORD *)(v3 + 8) + 168LL);
if ( (int)v4 >= 0 )
{
return (FNeighborhoodMirrorData_C *)(v3 + v4);
}
if ( (_DWORD)v4 == 0xFFFFFFFF )
{
return 0;
}
return *(FNeighborhoodMirrorData_C **)sub_14021ED10(*(_QWORD *)(v3 + 8), *(_DWORD *)(v3 + 0x10), v4);
}
```
Because I have this here, but I feel like that code is literally 1:1 on other methods that retrieve a diff fragment
rektbyfaith
10-10-2025, 01:34 PM #3

Archived author: MaxtorCoder • Posted: 2025-10-10T13:34:33.534000+00:00
Original source

```c
FNeighborhoodMirrorData_C *__fastcall FragmentAccessor::GetFNeighborhoodMirrorData_C(__int64 *a1)
{
// [COLLAPSED LOCAL DECLARATIONS. PRESS NUMPAD "+" TO EXPAND]

v1 = *a1;
v2 = (_QWORD *)((char *)*(&off_145742C90 + ((unsigned __int64)*a1 >> 0x36)) + 8);
v9 = *a1 & 0x3FFFFFFF;
if ( v9 >= v2[1] )
{
v7 = 0;
v8[0] = &v9;
v8[1] = v2;
v6 = byte_144CA8FEB;
if ( (unsigned __int8)sub_140174370(v8, &v6) )
{
__debugbreak();
}
}
v3 = 0;
if ( v1 == **(_QWORD **)(*v2 + 8 * v9) )
{
v3 = *(_QWORD *)(*v2 + 8 * v9);
}
v4 = *(unsigned int *)(*(_QWORD *)(v3 + 8) + 168LL);
if ( (int)v4 >= 0 )
{
return (FNeighborhoodMirrorData_C *)(v3 + v4);
}
if ( (_DWORD)v4 == 0xFFFFFFFF )
{
return 0;
}
return *(FNeighborhoodMirrorData_C **)sub_14021ED10(*(_QWORD *)(v3 + 8), *(_DWORD *)(v3 + 0x10), v4);
}
```
Because I have this here, but I feel like that code is literally 1:1 on other methods that retrieve a diff fragment

rektbyfaith
Administrator
0
10-10-2025, 01:34 PM
#4
Archived author: Tea • Posted: 2025-10-10T13:34:36.064000+00:00
Original source

my best guess is that they are doing a type based lookup using templates
rektbyfaith
10-10-2025, 01:34 PM #4

Archived author: Tea • Posted: 2025-10-10T13:34:36.064000+00:00
Original source

my best guess is that they are doing a type based lookup using templates

rektbyfaith
Administrator
0
10-10-2025, 01:34 PM
#5
Archived author: MaxtorCoder • Posted: 2025-10-10T13:34:56.438000+00:00
Original source

Makes sense I guess
rektbyfaith
10-10-2025, 01:34 PM #5

Archived author: MaxtorCoder • Posted: 2025-10-10T13:34:56.438000+00:00
Original source

Makes sense I guess

rektbyfaith
Administrator
0
10-10-2025, 01:35 PM
#6
Archived author: MaxtorCoder • Posted: 2025-10-10T13:35:18.064000+00:00
Original source

Explains the `entity.Fetch<FMirroredObject_C>()` strings
rektbyfaith
10-10-2025, 01:35 PM #6

Archived author: MaxtorCoder • Posted: 2025-10-10T13:35:18.064000+00:00
Original source

Explains the `entity.Fetch<FMirroredObject_C>()` strings

rektbyfaith
Administrator
0
10-10-2025, 01:35 PM
#7
Archived author: MaxtorCoder • Posted: 2025-10-10T13:35:28.785000+00:00
Original source


[Image: image.png?ex=690bfb60&is=690aa9e0&hm=d32...5cc343d69&]
rektbyfaith
10-10-2025, 01:35 PM #7

Archived author: MaxtorCoder • Posted: 2025-10-10T13:35:28.785000+00:00
Original source


[Image: image.png?ex=690bfb60&is=690aa9e0&hm=d32...5cc343d69&]

rektbyfaith
Administrator
0
10-10-2025, 01:35 PM
#8
Archived author: MaxtorCoder • Posted: 2025-10-10T13:35:40.777000+00:00
Original source

And for tag `HasTag<T>`
rektbyfaith
10-10-2025, 01:35 PM #8

Archived author: MaxtorCoder • Posted: 2025-10-10T13:35:40.777000+00:00
Original source

And for tag `HasTag<T>`

rektbyfaith
Administrator
0
10-10-2025, 01:39 PM
#9
Archived author: MaxtorCoder • Posted: 2025-10-10T13:39:15.967000+00:00
Original source

So I guess I just guess what fragment is being retrieved
rektbyfaith
10-10-2025, 01:39 PM #9

Archived author: MaxtorCoder • Posted: 2025-10-10T13:39:15.967000+00:00
Original source

So I guess I just guess what fragment is being retrieved

Recently Browsing
 1 Guest(s)
Recently Browsing
 1 Guest(s)