[DiscordArchive] mapid on a unit is stored in its highguid no?
[DiscordArchive] mapid on a unit is stored in its highguid no?
Archived author: Nix • Posted: 2021-12-18T19:36:12.247000+00:00
Original source
In BFA the Guids are 128 bits, in wotlk it was only 64
Archived author: Foe • Posted: 2021-12-18T19:36:35.848000+00:00
Original source
in emulators we have never included any map data or any other relevant data for that matter in GUIDs, but they might have changed it in newer TC
Archived author: Azarchius • Posted: 2021-12-18T19:36:50.860000+00:00
Original source
wait what? so no guid in wotlk was actually 64 bits? or was there no concept of highguid/lowguid in wotlk?
Archived author: Nix • Posted: 2021-12-18T19:37:10.222000+00:00
Original source
There is a concept of high and low, 32 bits are low, 32 bits are high (With some to spare for the higher bits)
Archived author: Foe • Posted: 2021-12-18T19:37:12.126000+00:00
Original source
There was
Archived author: Azarchius • Posted: 2021-12-18T19:37:14.888000+00:00
Original source
nah my concern is in the actual client, not TC
Archived author: Foe • Posted: 2021-12-18T19:37:34.232000+00:00
Original source
I'm even more confused then
Archived author: Azarchius • Posted: 2021-12-18T19:38:04.291000+00:00
Original source
here
Archived author: Azarchius • Posted: 2021-12-18T19:38:07.134000+00:00
Original source
```cpp
ObjectGuid ObjectGuidFactory::CreateWorldObject(HighGuid type, uint8 subType, uint16 mapId, uint32 serverId, uint32 entry, ObjectGuid::LowType counter)
{
return ObjectGuid(uint64((uint64(type) << 58)
| (uint64(realm.Id.Realm & 0x1FFF) << 42)
| (uint64(mapId & 0x1FFF) << 29)
| (uint64(entry & 0x7FFFFF) << 6)
| (uint64(subType) & 0x3F)),
uint64((uint64(serverId & 0xFFFFFF) << 40)
| (counter & UI64LIT(0xFFFFFFFFFF))));
}
```
Archived author: Azarchius • Posted: 2021-12-18T19:38:48.874000+00:00
Original source
basically, I am encountering an in-client limitation where item entries above 14~ish million crash you, but that could actually be a TC limit now that I think about it, maybe it's sending bogus data to the client, never thought about that.