@@ -198,7 +198,7 @@ enum Offsets {
198198 // Returns an int the caller (Script_GameTooltip_SetUnit) tests, so the
199199 // co-hook must forward the original's return value.
200200 // - GameObject (0x0052aa20, __thiscall(self, guid*), RET 4) — the GO
201- // hover populator; resolves the GO (OBJ_TYPE_GAMEOBJECT ) and writes the
201+ // hover populator; resolves the GO (TYPEMASK_GAMEOBJECT ) and writes the
202202 // GO field at +0x370.
203203 FUN_GAMETOOLTIP_BUILD_UNIT = 0x00529FE0 ,
204204 FUN_GAMETOOLTIP_BUILD_GAMEOBJECT = 0x0052AA20 ,
@@ -1895,7 +1895,7 @@ enum Offsets {
18951895 // gated on the bank-open globals). Returns the CGContainer GUID of the bag
18961896 // equipped in that slot, or 0 if none. This is the internal PackBagSlot
18971897 // uses to resolve bags 1..4: get the bag GUID here, resolve the container
1898- // via FUN_OBJECT_RESOLVE_BY_GUID(OBJ_TYPE_CONTAINER , guid), then call the
1898+ // via FUN_OBJECT_RESOLVE_BY_GUID(TYPEMASK_CONTAINER , guid), then call the
18991899 // container's vtable[+OFF_CONTAINER_GET_INVENTORY] to get the inventory
19001900 // object GetItemBySlot indexes. Lets us enumerate bag contents in pure C++
19011901 // without PackBagSlot's Lua-stack coupling. (Reads GUID arrays at
@@ -1957,14 +1957,8 @@ enum Offsets {
19571957 // guidLo/guidHi). All our callers go through `Object::ByGuid`
19581958 // (object/Resolve.h), which wraps this single address.
19591959 FUN_OBJECT_RESOLVE_BY_GUID = 0x00468460 ,
1960- // The type arg is a bitmask of object-type bits, not an enum
1961- // index — `1<<1` for items, `1<<2` for containers, `1<<3` for
1962- // units, matching what `FUN_00529FE0` passes for SetUnit (`ECX=8`).
1963- OBJ_TYPE_ITEM = 2 ,
1964- OBJ_TYPE_CONTAINER = 4 ,
1965- OBJ_TYPE_UNIT = 8 ,
1966- OBJ_TYPE_PLAYER = 0x10 , // what the engine's bag observer FUN_004F8DB0 passes
1967- OBJ_TYPE_GAMEOBJECT = 0x20 , // 1<<5; passed by FUN_0052AA20 (hover-tooltip populator).
1960+ // The type arg is a bitmask of object-type bits (see the TYPEMASK_*
1961+ // block below), not an enum index.
19681962
19691963 // `CGObject::GetName` — returns the display-name `const char *` for
19701964 // a resolved CGObject (CGUnit / CGPlayer / CGCreature). Internally
@@ -2850,8 +2844,11 @@ enum Offsets {
28502844 // each callback invocation, guidLo/guidHi pushed as 8 stack bytes.
28512845 FUN_CLNT_OBJ_MGR_ENUM_VISIBLE_OBJECTS = 0x00468380 ,
28522846
2853- // Type-mask flags accepted by FUN_OBJECT_RESOLVE_BY_GUID. Single-bit
2854- // flags can be OR'd together.
2847+ // Type-mask flags accepted by FUN_OBJECT_RESOLVE_BY_GUID (and the SetUnit
2848+ // path FUN_00529FE0, which passes ECX=8 for UNIT). A bitmask of
2849+ // object-type bits, not an enum index — single-bit flags OR together.
2850+ // PLAYER (0x10) is what the bag observer FUN_004F8DB0 passes; GAMEOBJECT
2851+ // (0x20) what the hover-tooltip populator FUN_0052AA20 passes.
28552852 TYPEMASK_OBJECT = 0x01 ,
28562853 TYPEMASK_ITEM = 0x02 ,
28572854 TYPEMASK_CONTAINER = 0x04 ,
0 commit comments