/ cheatengine / cmapobjdef.lua
cmapobjdef.lua
 1  -- #include "cmapbaseobj.lua"
 2  
 3  local CMapObjDef = Struct('CMapObjDef', CMapBaseObj)
 4      :ptr('unk_24')
 5      :ptr('unk_28')
 6      :ptr('unk_2C')
 7      :ptr('unk_30')
 8      :ptr('unk_34')
 9      :field('unk_38', 'int32')
10      :embed('position', C3Vector)
11      :embed('bbox', CAaBox)
12      :embed('sphere', CAaSphere)
13      :embed('mat', C44Matrix)
14      :embed('invMat', C44Matrix)
15      :field('unk_F0', 'int32')
16      :ptr('owner')
17      :field('unk_F8', 'int32')
18      :field('unkFlags', 'uint32')
19      :field('unk_100', 'int32')
20      :field('unk_104', 'int32')
21      :field('unk_108', 'int32')
22      :field('unk_10C', 'int32')
23      :field('unk_110', 'int32')
24      :embed('mapObjDefGroupLinkList', TSExplicitList)
25      :embed('defGroups', TSGrowableArray)
26      :ptr('unk_130')
27      :embed('unkGrowableArray', TSGrowableArray)
28      :embed('color', CImVector)
29      :field('unk_148', 'int32')
30      :field('unk_14C', 'int32')
31      :field('unk_150', 'int32')
32      :ptr('unk_154')
33  
34  local address = 0x0078261f -- at CMap__QueryAreaId
35  debugger_onBreakpoint = nil
36  function onBreakpoint()
37      loadStructToTable(CMapObjDef, ESI)
38      debugger_onBreakpoint = nil
39      debug_removeBreakpoint(address)
40      debug_continueFromBreakpoint(co_run)
41      return 1
42  end
43  
44  debug_setBreakpoint(address)
45  debugger_onBreakpoint = onBreakpoint