Home › Engine functions › Lua (Havok)

Engine executable. Settings and tools of the game program (CivilizationVI.exe), usable without a mod. Mostly undocumented debug and configuration functionality; descriptions come from analysis of the executable and have not all been tried in the running game.

Lua (Havok)

Havok Script (the Lua virtual machine) functions the exe exports.

1501 functions in this category, 61 with a Windows address (60 high or medium confidence or exported, 1 low). The rest are in the full search.

Function Windows RVA Confidence How mapped Notes Linux address Size
hksi_lua_equal(lua_State*, int, int) 0x51620 high export-name join 0x2f839e0 432
hksi_lua_getfield(lua_State*, int, char const*) 0x517b0 high export-name join 0x2f821b0 224
hksi_lua_getmetatable(lua_State*, int) 0x518d0 high export-name join 0x2f82980 240
hksi_lua_isstring(lua_State*, int) 0x51c10 high export-name join 0x2f82360 208
hksi_lua_pushvalue(lua_State*, int) 0x52050 high export-name join 0x2f82290 176
hksi_lua_rawget(lua_State*, int) 0x52150 high export-name join 0x2f82d80 176
hksi_lua_rawgeti(lua_State*, int, int) 0x521f0 high export-name join 0x2f82e30 192
hksi_lua_rawset(lua_State*, int) 0x522b0 high export-name join 0x2f809e0 192
hksi_lua_rawseti(lua_State*, int, int) 0x52360 high export-name join 0x2f82450 192
hksi_lua_setfield(lua_State*, int, char const*) 0x52480 high export-name join 0x2f80770 96
hksi_lua_setmetatable(lua_State*, int) 0x52540 high export-name join 0x2f80900 224
hksi_lua_tonumber(lua_State*, int) 0x526d0 high export-name join windows function shared by 2 names (identical-code folding or stub) 0x2f83c80 192
hksi_lua_topointer 0x52790 export Windows export name (no Linux counterpart found) —
hksi_lua_touserdata(lua_State*, int) 0x52850 high export-name join 0x2f82a70 208
hksi_lua_toboolean(lua_State*, int) 0x548d0 high export-name join 0x2f85e70 208
hksi_lua_tointeger(lua_State*, int) 0x549a0 high export-name join 0x2f85d50 192
hksi_lua_type(lua_State*, int) 0x58c70 high export-name join 0x2f898f0 208
hksi_lua_isnumber(lua_State*, int) 0x10a4d0 high export-name join 0x31f2d90 192
hksi_lua_objlen(lua_State*, int) 0x10a590 high export-name join 0x31f3030 192
hksi_lua_setfenv(lua_State*, int) 0x161080 high export-name join 0x323ee40 240
hksi_lua_isuserdata 0x1a2e80 export Windows export name (no Linux counterpart found) —
hksi_lua_next(lua_State*, int) 0x2a0bb0 high export-name join 0x342da30 224
hksi_lua_gettable(lua_State*, int) 0x373390 high export-name join 0x343d520 192
hksi_lua_rawequal(lua_State*, int, int) 0x373460 high export-name join 0x343e680 432
hksi_lua_tothread 0x4d9f30 export Windows export name (no Linux counterpart found) —
hksi_lua_getfenv(lua_State*, int) 0x4da800 high export-name join 0x36b39d0 224
hks_isstruct 0x678590 export Windows export name (no Linux counterpart found) —
hksi_hks_rawgetslotv 0x6785a0 export Windows export name (no Linux counterpart found) —
hksi_hks_rawgetslotv 0x6786d0 export Windows export name (no Linux counterpart found) —
hksi_hks_rawgetslotv 0x678800 export Windows export name (no Linux counterpart found) —
hksi_hks_rawgetslotv 0x678920 export Windows export name (no Linux counterpart found) —
hksi_hks_rawgetslotv 0x678a30 export Windows export name (no Linux counterpart found) —
hksi_hks_rawgetslotv 0x678b60 export Windows export name (no Linux counterpart found) —
hks_rawsetslot 0x678cb0 export Windows export name (no Linux counterpart found) —
hks_rawsetslotv 0x679040 export Windows export name (no Linux counterpart found) —
hksi_hks_rawsetslotv 0x679140 export Windows export name (no Linux counterpart found) —
hksi_hks_rawsetslotv 0x679250 export Windows export name (no Linux counterpart found) —
hksi_hks_rawsetslotv 0x679360 export Windows export name (no Linux counterpart found) —
hks_rawsetslotv 0x679470 export Windows export name (no Linux counterpart found) —
hksi_hks_getcontext 0x679580 export Windows export name (no Linux counterpart found) —
hksi_hks_isstruct 0x679590 export Windows export name (no Linux counterpart found) —
hksi_hks_rawgetslot 0x679680 export Windows export name (no Linux counterpart found) —
hksi_hks_rawgetslotv 0x679a30 export Windows export name (no Linux counterpart found) —
hksi_hks_rawgetslotv 0x679b60 export Windows export name (no Linux counterpart found) —
hksi_hks_rawgetslotv 0x679c90 export Windows export name (no Linux counterpart found) —
hksi_hks_rawsetslot 0x679dc0 export Windows export name (no Linux counterpart found) —
hksi_hks_rawsetslotv 0x67a150 export Windows export name (no Linux counterpart found) —
hksi_hks_rawsetslotv 0x67a260 export Windows export name (no Linux counterpart found) —
hksi_hks_rawsetslotv 0x67a370 export Windows export name (no Linux counterpart found) —
hksi_hks_rawsetslotv 0x67a480 export Windows export name (no Linux counterpart found) —
hksi_hks_rawsetslotv 0x67a590 export Windows export name (no Linux counterpart found) —
hksi_hks_setcontext 0x67a6b0 export Windows export name (no Linux counterpart found) —
hksi_lua_iscfunction 0x67a6c0 export Windows export name (no Linux counterpart found) —
hksi_lua_lessthan(lua_State*, int, int) 0x67a7b0 high export-name join 0x3bdba32 386
hksi_lua_rawget_array_lud 0x67a970 export Windows export name (no Linux counterpart found) —
hksi_lua_rawlength 0x67aa40 export Windows export name (no Linux counterpart found) —
hksi_lua_rawset_array 0x67aaf0 export Windows export name (no Linux counterpart found) —
hksi_lua_rawset_array_lud 0x67aba0 export Windows export name (no Linux counterpart found) —
hksi_lua_tocfunction 0x67ada0 export Windows export name (no Linux counterpart found) —
hksi_lua_tolstring 0x67ae60 export Windows export name (no Linux counterpart found) —
Low confidence (1, unreliable)
Function Windows RVA How mapped Linux address
hks_seterrorfunction(int (*)(char const*, int, char const*, unsigned int, char const*, char const*)) 0xdbd836 call-graph propagation 0x3b9ca54