diff --git a/Makefile b/Makefile index e1549b294..bd3ebcf11 100644 --- a/Makefile +++ b/Makefile @@ -92,7 +92,7 @@ WINDOWS_AUTO_BUILDER ?= 0 # Setup extra cflags EXTRA_CFLAGS ?= EXTRA_CPP_FLAGS ?= -EXTRA_CFLAGS += -Wno-format-security -Wno-trigraphs +EXTRA_CFLAGS += -Wno-format-security -Wno-trigraphs -Wno-missing-braces -Wno-missing-field-initializers dev:; @$(MAKE) DEVELOPMENT=1 diff --git a/autogen/common.py b/autogen/common.py index 1c3575b02..09b806de9 100644 --- a/autogen/common.py +++ b/autogen/common.py @@ -6,6 +6,7 @@ usf_types = ['u8', 'u16', 'u32', 'u64', 's8', 's16', 's32', 's64', 'f32', 'f64'] vec_types = list(VEC_TYPES.keys()) typedef_pointers = ['BehaviorScript', 'ObjectAnimPointer', 'Collision', 'LevelScript', 'Trajectory', 'Texture'] cobject_function_identifier = 'FUNCTION' +cobject_property_identifier = 'PROPERTY' type_mappings = { 'char': 's8', @@ -149,14 +150,10 @@ def translate_type_to_lvt(ptype, allowArrays=False): if ptype == cobject_function_identifier: return "LVT_FUNCTION" - if "struct" in ptype: - if pointerLvl > 1: - return "LVT_???" - if pointerLvl == 1: - return "LVT_COBJECT_P" - return "LVT_COBJECT" + if ptype == cobject_property_identifier: + return "LVT_PROPERTY" - if ptype in override_types: + if "struct" in ptype or ptype in override_types: if pointerLvl > 1: return "LVT_???" if pointerLvl == 1: @@ -174,16 +171,8 @@ def translate_type_to_lot(ptype, allowArrays=True): pointerLvl = 0 lvt = translate_type_to_lvt(ptype, allowArrays=allowArrays) - if ptype == 'void': - return 'LOT_NONE' - - if ptype == 'const char*': - return 'LOT_NONE' - - if ptype == 'ByteString': - return 'LOT_NONE' - - if 'unsigned' not in ptype and (ptype == 'char*' or ('char' in ptype and '[' in ptype)): + if ptype == ('void', 'const char*', 'ByteString') \ + or 'unsigned' not in ptype and (ptype == 'char*' or ('char' in ptype and '[' in ptype)): return 'LOT_NONE' # Remove array symbols so they can be identified @@ -199,13 +188,7 @@ def translate_type_to_lot(ptype, allowArrays=True): if '[' in ptype or '{' in ptype: return 'LOT_???' - if 'enum ' in ptype: - return 'LOT_NONE' - - if ptype in usf_types: - return 'LOT_NONE' - - if extract_integer_datatype(ptype): + if 'enum ' in ptype or ptype in usf_types or extract_integer_datatype(ptype): return 'LOT_NONE' # Strip out our pointer stars to get the true type. @@ -214,22 +197,10 @@ def translate_type_to_lot(ptype, allowArrays=True): pointerLvl = ptype.count("*") ptype = ptype.replace("*", "").strip() - if ptype == 'bool': - return 'LOT_NONE' - if ptype in vec_types: return 'LOT_' + ptype.upper() - if ptype == 'float': - return 'LOT_NONE' - - if ptype == 'LuaFunction': - return 'LOT_NONE' - - if ptype == 'LuaTable': - return 'LOT_NONE' - - if ptype == cobject_function_identifier: + if ptype in ('bool', 'float', 'LuaFunction', 'LuaTable', cobject_function_identifier, cobject_property_identifier): return 'LOT_NONE' if ptype in override_types: @@ -291,22 +262,10 @@ def translate_type_to_lua(ptype): return '`number`', None return '`integer`', None - if ptype == 'char': + if ptype in ('char', 'int', 'lua_Integer'): return '`integer`', None - if ptype == 'int': - return '`integer`', None - - if ptype == 'lua_Integer': - return '`integer`', None - - if ptype == 'float': - return '`number`', None - - if ptype == 'lua_Number': - return '`number`', None - - if ptype == 'double': + if ptype in ('float', 'lua_Number', 'double'): return '`number`', None if ptype == 'bool': @@ -324,6 +283,9 @@ def translate_type_to_lua(ptype): if ptype == cobject_function_identifier: return cobject_function_identifier, None + if ptype == cobject_property_identifier: + return cobject_property_identifier, None + if ptype.count('*') == 1 and '???' not in translate_type_to_lvt(ptype): ptype = ptype.replace('const', '').replace('*', '').strip() s = '`Pointer` <`%s`>' % translate_type_to_lua(ptype)[0].replace('`', '').strip() diff --git a/autogen/convert_structs.py b/autogen/convert_structs.py index 3a88390ec..575dad6b9 100644 --- a/autogen/convert_structs.py +++ b/autogen/convert_structs.py @@ -264,10 +264,17 @@ def table_to_string(table): for row in table: for i in range(columns): - if '#' in row[i]: + if '#' in row[i] or row[i][-1] == '\\': continue if len(row[i]) > column_width[i]: column_width[i] = len(row[i]) + + for row in table: + for i in range(columns): + if row[i][-1] == '\\': + row[i] = row[i][:-1] + row[i+1] = row[i][column_width[i]:] + row[i+1] + row[i] = row[i][:column_width[i]] s = '' for row in table: @@ -327,12 +334,21 @@ def parse_struct(struct_str, sortFields = False): # handle function members if field['type'].startswith(cobject_function_identifier): - field_function = field['identifier'] field_type, field_id = field['type'].split() + field_function = field['identifier'] field['type'] = field_type.strip() - field['identifier'] = field_id.strip('"').strip() + field['identifier'] = field_id.strip() field['function'] = field_function.strip() + # handle property members + if field['type'].startswith(cobject_property_identifier): + field_type, field_id, field_get = field['type'].split() + field_set = field['identifier'] + field['type'] = field_type.strip() + field['identifier'] = field_id.strip() + field['get'] = field_get.strip() + field['set'] = field_set.strip() + struct['fields'].append(field) if identifier == 'Object': @@ -496,9 +512,6 @@ def get_struct_field_info(struct, field): if fid in override_field_mutable[sid] or '*' in override_field_mutable[sid]: fimmutable = 'false' - if ftype == cobject_function_identifier: - fimmutable = 'true' - if not ('char' in ftype and '[' in ftype and 'unsigned' not in ftype): array_match = re.search(r'\[([^\]]+)\]', ftype) if array_match: @@ -549,27 +562,26 @@ def build_struct(struct): startStr += '#ifndef ' + override_field_version_excludes[fid] + '\n' endStr += '\n#endif' startStr += ' { ' - if ftype == cobject_function_identifier: - row.append(startStr ) - row.append('"%s", ' % fid ) - row.append('%s, ' % lvt ) - row.append('(size_t) "%s", ' % field['function']) - row.append('%s, ' % fimmutable ) - row.append('%s, ' % lot ) - row.append('%s, ' % size ) - row.append('sizeof(const char *)' ) - row.append(endStr ) - field_functions.append(field['function']) + row.append(startStr) + row.append('"%s", ' % fid) + row.append('%s, ' % lvt) + if field.get('function'): + row.append('.function = "%s"\\' % field['function']) + elif field.get('get'): + row.append('.get = "%s", ' % field['get']) + row.append('.set = "%s"\\' % field['set']) else: - row.append(startStr ) - row.append('"%s", ' % fid ) - row.append('%s, ' % lvt ) row.append('offsetof(%s%s, %s), ' % (struct_str, name, field['identifier'])) - row.append('%s, ' % fimmutable ) - row.append('%s, ' % lot ) - row.append('%s, ' % size ) - row.append('sizeof(%s)' % ftype ) - row.append(endStr ) + row.append('%s, ' % fimmutable) + row.append('%s, ' % lot ) + if size != 1: + row.append('%s, ' % size ) + row.append('sizeof(%s)' % ftype ) + else: row[-1] = row[-1][:-2] + row.extend(['\\'] * (8 - len(row))) + row.append(endStr) + if field.get('function'): + field_functions.append(field['function']) field_table.append(row) field_table_str, field_count = table_to_string(field_table) @@ -726,6 +738,10 @@ def doc_struct_field(struct, field): flink = doc_find_function_link(field['function']) return '| %s | [`%s`](%s) |\n' % (fid, field['function'], flink), True + if ftype == cobject_property_identifier: + ftype = get_function_signature(field['get']) + ftype = f"`{ftype[ftype.rfind(':')+2:]}`" + restrictions = ('', 'read-only')[fimmutable == 'true'] global total_fields @@ -854,6 +870,9 @@ def def_struct(struct): # try to get the function signature if ftype == cobject_function_identifier: ftype = get_function_signature(field['function']) + elif ftype == cobject_property_identifier: + ftype = get_function_signature(field['get']) + ftype = f"{ftype[ftype.rfind(':')+2:]}" else: ftype = translate_to_def(ftype) diff --git a/autogen/extract_structs.py b/autogen/extract_structs.py index 5fb06c5ef..b57e96850 100644 --- a/autogen/extract_structs.py +++ b/autogen/extract_structs.py @@ -1,7 +1,7 @@ import os import re import sys -from common import cobject_function_identifier +from common import cobject_function_identifier, cobject_property_identifier def extract_structs(filename): with open(filename) as file: @@ -38,7 +38,10 @@ def extract_structs(filename): txt = txt.replace(' ', ' ') # handle function members (NOT function pointers) - txt = re.sub(f'{cobject_function_identifier}\\((.*),(.*)\\)', f'{cobject_function_identifier} \\1 \\2', txt) + txt = re.sub(f'{cobject_function_identifier}\\((.*),(.*)\\)', f'{cobject_function_identifier} \\1\\2', txt) + + # handle property members + txt = re.sub(f'{cobject_property_identifier}\\((.*),(.*),(.*)\\)', f'{cobject_property_identifier} \\1\\2\\3', txt) # strip macros txt = re.sub(r'[^a-zA-Z0-9_][A-Z0-9_]+\(.*\)', '', txt) diff --git a/autogen/lua_definitions/structs.lua b/autogen/lua_definitions/structs.lua index 5441e7424..dc783a555 100644 --- a/autogen/lua_definitions/structs.lua +++ b/autogen/lua_definitions/structs.lua @@ -1199,6 +1199,10 @@ --- @field public isStream boolean --- @field public baseVolume number --- @field public loaded boolean +--- @field public position number +--- @field public looping boolean +--- @field public frequency number +--- @field public volume number --- @class ModFs --- @field public mod Mod diff --git a/docs/lua/structs.md b/docs/lua/structs.md index 79c6d19ff..d0d65ce9a 100644 --- a/docs/lua/structs.md +++ b/docs/lua/structs.md @@ -1747,6 +1747,10 @@ | isStream | `boolean` | read-only | | baseVolume | `number` | | | loaded | `boolean` | read-only | +| position | `number` | | +| looping | `boolean` | | +| frequency | `number` | | +| volume | `number` | | [:arrow_up_small:](#) diff --git a/src/pc/lua/smlua_autogen.h b/src/pc/lua/smlua_autogen.h index 5373e3972..2f8307b81 100644 --- a/src/pc/lua/smlua_autogen.h +++ b/src/pc/lua/smlua_autogen.h @@ -21,6 +21,11 @@ // Optional parameters must be contiguous until the last parameter (a mandatory parameter following an optional parameter is not allowed) #define OPTIONAL +// A macro to tell autogen the field `name` is a property member of the struct that calls `get` or `set` accessors +// - get: fun(self) -> value +// - set: fun(self, value) +#define PROPERTY(name, get, set) + // A macro to tell autogen the field `name` is a function member of the struct that calls `c_function` #define FUNCTION(name, c_function) diff --git a/src/pc/lua/smlua_cobject.c b/src/pc/lua/smlua_cobject.c index 83f3e1542..6ce4ecee0 100644 --- a/src/pc/lua/smlua_cobject.c +++ b/src/pc/lua/smlua_cobject.c @@ -101,6 +101,7 @@ static const char *sLuaLvtNames[] = { [LVT_LUATABLE] = "LuaTable", [LVT_POINTER] = "pointer", [LVT_FUNCTION] = "function", + [LVT_PROPERTY] = "property", [LVT_MAX] = "unknown", }; @@ -552,22 +553,30 @@ static int smlua__get_field(lua_State* L) { // CObject function members if (data->valueType == LVT_FUNCTION) { - const char *function = (const char *) data->valueOffset; - lua_getglobal(L, function); + lua_getglobal(L, data->function); + LUA_STACK_CHECK_END(L); + return 1; + } + + // CObject property + if (data->valueType == LVT_PROPERTY) { + lua_getglobal(L, data->get); + lua_pushvalue(L, 1); + smlua_pcall(L, 1, 1, 0); LUA_STACK_CHECK_END(L); return 1; } u8* p = ((u8*)(intptr_t)pointer) + data->valueOffset; - if (data->count == 1) { - if (smlua_push_field(L, p, data)) { - LOG_LUA_LINE("_get_field on unimplemented type '%d', key '%s'", data->valueType, key); + if (data->count > 1) { + smlua_push_object(L, LOT_ARRAY, p, data); + if (!gSmLuaConvertSuccess) { + LOG_LUA_LINE("_get_field failed to retrieve value type '%d', key '%s'", data->valueType, key); return 0; } } else { - smlua_push_object(L, LOT_ARRAY, p, data); - if (!gSmLuaConvertSuccess) { - LOG_LUA_LINE("_set_field failed to retrieve value type '%d', key '%s'", data->valueType, key); + if (smlua_push_field(L, p, data)) { + LOG_LUA_LINE("_get_field on unimplemented type '%d', key '%s'", data->valueType, key); return 0; } } @@ -633,7 +642,17 @@ static int smlua__set_field(lua_State* L) { return 0; } - if (data->immutable) { + // CObject property + if (data->valueType == LVT_PROPERTY) { + lua_getglobal(L, data->set); + lua_pushvalue(L, 1); + lua_pushvalue(L, 3); + smlua_pcall(L, 2, 1, 0); + LUA_STACK_CHECK_END(L); + return 1; + } + + if (data->immutable || data->valueType == LVT_FUNCTION) { LOG_LUA_LINE("_set_field on immutable key '%s'", key); return 0; } @@ -652,6 +671,41 @@ static int smlua__set_field(lua_State* L) { return 1; } +int smlua__iter(lua_State *L) { + lua_rawgeti(L, 1, 1); + int i = lua_tointeger(L, -1); + lua_pop(L, 1); + + lua_rawgeti(L, 1, 2); + const CObject *cobj = lua_touserdata(L, -1); + lua_pop(L, 1); + + extern struct LuaObjectTable sLuaObjectAutogenTable[]; + struct LuaObjectTable* ot = &sLuaObjectAutogenTable[cobj->lot - LOT_AUTOGEN_MIN - 1]; + if (i >= ot->fieldCount) { return 0; } + + u8* pointer = (u8*)(intptr_t) cobj->pointer; + struct LuaObjectField* data = &ot->fields[i]; + lua_pushstring(L, data->key); + smlua_push_field(L, pointer, data); + + lua_pushinteger(L, ++i); + lua_rawseti(L, 1, 1); + + return 2; +} + +int smlua__pairs(lua_State *L) { + lua_pushcfunction(L, smlua__iter); + + lua_newtable(L); + lua_pushinteger(L, 0); lua_rawseti(L, -2, 1); + lua_pushvalue (L, 1); lua_rawseti(L, -2, 2); + + lua_pushnil(L); + return 3; +} + int smlua__eq(lua_State *L) { const CObject *a = lua_touserdata(L, 1); const CObject *b = lua_touserdata(L, 2); @@ -704,6 +758,7 @@ void smlua_cobject_init_globals(void) { luaL_Reg cObjectMethods[] = { { "__index", smlua__get_field }, { "__newindex", smlua__set_field }, + { "__pairs", smlua__pairs }, { "__eq", smlua__eq }, { "__bnot", smlua__bnot }, { "__metatable", NULL }, diff --git a/src/pc/lua/smlua_cobject.h b/src/pc/lua/smlua_cobject.h index 83cac836d..905cfa80e 100644 --- a/src/pc/lua/smlua_cobject.h +++ b/src/pc/lua/smlua_cobject.h @@ -36,17 +36,27 @@ enum LuaValueType { LVT_LUATABLE, LVT_POINTER, LVT_FUNCTION, + LVT_PROPERTY, LVT_MAX, }; struct LuaObjectField { const char* key; enum LuaValueType valueType; - size_t valueOffset; - bool immutable; - u16 lot; - u16 count; - u32 size; + union { + struct { + size_t valueOffset; + bool immutable; + u16 lot; + u16 count; + u32 size; + }; + const char* function; + struct { + const char* get; + const char* set; + }; + }; }; struct LuaObjectTable { diff --git a/src/pc/lua/smlua_cobject_autogen.c b/src/pc/lua/smlua_cobject_autogen.c index 35a3ce52d..12e78852a 100644 --- a/src/pc/lua/smlua_cobject_autogen.c +++ b/src/pc/lua/smlua_cobject_autogen.c @@ -165,2298 +165,2302 @@ struct LuaObjectTable sLuaObjectTable[LOT_MAX] = { #define LUA_ANIM_INFO_FIELD_COUNT 11 static struct LuaObjectField sAnimInfoFields[LUA_ANIM_INFO_FIELD_COUNT] = { - { "animAccel", LVT_S32, offsetof(struct AnimInfo, animAccel), false, LOT_NONE, 1, sizeof(s32) }, - { "animFrame", LVT_S16, offsetof(struct AnimInfo, animFrame), false, LOT_NONE, 1, sizeof(s16) }, - { "animFrameAccelAssist", LVT_S32, offsetof(struct AnimInfo, animFrameAccelAssist), false, LOT_NONE, 1, sizeof(s32) }, - { "animID", LVT_S16, offsetof(struct AnimInfo, animID), false, LOT_NONE, 1, sizeof(s16) }, - { "animTimer", LVT_U16, offsetof(struct AnimInfo, animTimer), false, LOT_NONE, 1, sizeof(u16) }, - { "animYTrans", LVT_S16, offsetof(struct AnimInfo, animYTrans), false, LOT_NONE, 1, sizeof(s16) }, - { "curAnim", LVT_COBJECT_P, offsetof(struct AnimInfo, curAnim), false, LOT_ANIMATION, 1, sizeof(struct Animation*) }, - { "prevAnimFrame", LVT_S16, offsetof(struct AnimInfo, prevAnimFrame), false, LOT_NONE, 1, sizeof(s16) }, - { "prevAnimFrameTimestamp", LVT_U32, offsetof(struct AnimInfo, prevAnimFrameTimestamp), false, LOT_NONE, 1, sizeof(u32) }, - { "prevAnimID", LVT_S16, offsetof(struct AnimInfo, prevAnimID), false, LOT_NONE, 1, sizeof(s16) }, - { "prevAnimPtr", LVT_COBJECT_P, offsetof(struct AnimInfo, prevAnimPtr), false, LOT_ANIMATION, 1, sizeof(struct Animation*) }, + { "animAccel", LVT_S32, offsetof(struct AnimInfo, animAccel), false, LOT_NONE }, + { "animFrame", LVT_S16, offsetof(struct AnimInfo, animFrame), false, LOT_NONE }, + { "animFrameAccelAssist", LVT_S32, offsetof(struct AnimInfo, animFrameAccelAssist), false, LOT_NONE }, + { "animID", LVT_S16, offsetof(struct AnimInfo, animID), false, LOT_NONE }, + { "animTimer", LVT_U16, offsetof(struct AnimInfo, animTimer), false, LOT_NONE }, + { "animYTrans", LVT_S16, offsetof(struct AnimInfo, animYTrans), false, LOT_NONE }, + { "curAnim", LVT_COBJECT_P, offsetof(struct AnimInfo, curAnim), false, LOT_ANIMATION }, + { "prevAnimFrame", LVT_S16, offsetof(struct AnimInfo, prevAnimFrame), false, LOT_NONE }, + { "prevAnimFrameTimestamp", LVT_U32, offsetof(struct AnimInfo, prevAnimFrameTimestamp), false, LOT_NONE }, + { "prevAnimID", LVT_S16, offsetof(struct AnimInfo, prevAnimID), false, LOT_NONE }, + { "prevAnimPtr", LVT_COBJECT_P, offsetof(struct AnimInfo, prevAnimPtr), false, LOT_ANIMATION }, }; #define LUA_ANIMATION_FIELD_COUNT 10 static struct LuaObjectField sAnimationFields[LUA_ANIMATION_FIELD_COUNT] = { - { "animYTransDivisor", LVT_S16, offsetof(struct Animation, animYTransDivisor), true, LOT_NONE, 1, sizeof(s16) }, - { "flags", LVT_S16, offsetof(struct Animation, flags), true, LOT_NONE, 1, sizeof(s16) }, - { "index", LVT_U16_P, offsetof(struct Animation, index), true, LOT_POINTER, 1, sizeof(u16*) }, - { "indexLength", LVT_U32, offsetof(struct Animation, indexLength), true, LOT_NONE, 1, sizeof(u32) }, - { "length", LVT_U32, offsetof(struct Animation, length), true, LOT_NONE, 1, sizeof(u32) }, - { "loopEnd", LVT_S16, offsetof(struct Animation, loopEnd), true, LOT_NONE, 1, sizeof(s16) }, - { "loopStart", LVT_S16, offsetof(struct Animation, loopStart), true, LOT_NONE, 1, sizeof(s16) }, - { "startFrame", LVT_S16, offsetof(struct Animation, startFrame), true, LOT_NONE, 1, sizeof(s16) }, - { "values", LVT_U16_P, offsetof(struct Animation, values), true, LOT_POINTER, 1, sizeof(u16*) }, - { "valuesLength", LVT_U32, offsetof(struct Animation, valuesLength), true, LOT_NONE, 1, sizeof(u32) }, + { "animYTransDivisor", LVT_S16, offsetof(struct Animation, animYTransDivisor), true, LOT_NONE }, + { "flags", LVT_S16, offsetof(struct Animation, flags), true, LOT_NONE }, + { "index", LVT_U16_P, offsetof(struct Animation, index), true, LOT_POINTER }, + { "indexLength", LVT_U32, offsetof(struct Animation, indexLength), true, LOT_NONE }, + { "length", LVT_U32, offsetof(struct Animation, length), true, LOT_NONE }, + { "loopEnd", LVT_S16, offsetof(struct Animation, loopEnd), true, LOT_NONE }, + { "loopStart", LVT_S16, offsetof(struct Animation, loopStart), true, LOT_NONE }, + { "startFrame", LVT_S16, offsetof(struct Animation, startFrame), true, LOT_NONE }, + { "values", LVT_U16_P, offsetof(struct Animation, values), true, LOT_POINTER }, + { "valuesLength", LVT_U32, offsetof(struct Animation, valuesLength), true, LOT_NONE }, }; #define LUA_AREA_FIELD_COUNT 21 static struct LuaObjectField sAreaFields[LUA_AREA_FIELD_COUNT] = { - { "camera", LVT_COBJECT_P, offsetof(struct Area, camera), false, LOT_CAMERA, 1, sizeof(struct Camera*) }, - { "dialog", LVT_S32, offsetof(struct Area, dialog), false, LOT_NONE, 2, sizeof(s32) }, - { "flags", LVT_S8, offsetof(struct Area, flags), false, LOT_NONE, 1, sizeof(s8) }, - { "index", LVT_S8, offsetof(struct Area, index), false, LOT_NONE, 1, sizeof(s8) }, - { "instantWarps", LVT_COBJECT_P, offsetof(struct Area, instantWarps), false, LOT_INSTANTWARP, 1, sizeof(struct InstantWarp*) }, - { "localAreaTimer", LVT_U32, offsetof(struct Area, localAreaTimer), true, LOT_NONE, 1, sizeof(u32) }, - { "macroObjects", LVT_S16_P, offsetof(struct Area, macroObjects), true, LOT_POINTER, 1, sizeof(s16*) }, - { "macroObjectsAltered", LVT_U8_P, offsetof(struct Area, macroObjectsAltered), true, LOT_POINTER, 1, sizeof(u8*) }, - { "musicParam", LVT_U16, offsetof(struct Area, musicParam), false, LOT_NONE, 1, sizeof(u16) }, - { "musicParam2", LVT_U16, offsetof(struct Area, musicParam2), false, LOT_NONE, 1, sizeof(u16) }, - { "nextSyncID", LVT_U32, offsetof(struct Area, nextSyncID), true, LOT_NONE, 1, sizeof(u32) }, - { "numRedCoins", LVT_U8, offsetof(struct Area, numRedCoins), false, LOT_NONE, 1, sizeof(u8) }, - { "numSecrets", LVT_U8, offsetof(struct Area, numSecrets), false, LOT_NONE, 1, sizeof(u8) }, - { "objectSpawnInfos", LVT_COBJECT_P, offsetof(struct Area, objectSpawnInfos), true, LOT_SPAWNINFO, 1, sizeof(struct SpawnInfo*) }, - { "paintingWarpNodes", LVT_COBJECT_P, offsetof(struct Area, paintingWarpNodes), true, LOT_WARPNODE, 1, sizeof(struct WarpNode*) }, - { "root", LVT_COBJECT_P, offsetof(struct Area, root), false, LOT_GRAPHNODEROOT, 1, sizeof(struct GraphNodeRoot*) }, - { "surfaceRooms", LVT_S8_P, offsetof(struct Area, surfaceRooms), true, LOT_POINTER, 1, sizeof(s8*) }, - { "terrainData", LVT_S16_P, offsetof(struct Area, terrainData), true, LOT_POINTER, 1, sizeof(s16*) }, - { "terrainType", LVT_U16, offsetof(struct Area, terrainType), false, LOT_NONE, 1, sizeof(u16) }, -// { "unused28", LVT_COBJECT_P, offsetof(struct Area, unused28), false, LOT_???, 1, sizeof(struct UnusedArea28*) }, <--- UNIMPLEMENTED - { "warpNodes", LVT_COBJECT_P, offsetof(struct Area, warpNodes), true, LOT_OBJECTWARPNODE, 1, sizeof(struct ObjectWarpNode*) }, - { "whirlpools", LVT_COBJECT_P, offsetof(struct Area, whirlpools), false, LOT_WHIRLPOOL, 2, sizeof(struct Whirlpool*) }, + { "camera", LVT_COBJECT_P, offsetof(struct Area, camera), false, LOT_CAMERA }, + { "dialog", LVT_S32, offsetof(struct Area, dialog), false, LOT_NONE, 2, sizeof(s32) }, + { "flags", LVT_S8, offsetof(struct Area, flags), false, LOT_NONE }, + { "index", LVT_S8, offsetof(struct Area, index), false, LOT_NONE }, + { "instantWarps", LVT_COBJECT_P, offsetof(struct Area, instantWarps), false, LOT_INSTANTWARP }, + { "localAreaTimer", LVT_U32, offsetof(struct Area, localAreaTimer), true, LOT_NONE }, + { "macroObjects", LVT_S16_P, offsetof(struct Area, macroObjects), true, LOT_POINTER }, + { "macroObjectsAltered", LVT_U8_P, offsetof(struct Area, macroObjectsAltered), true, LOT_POINTER }, + { "musicParam", LVT_U16, offsetof(struct Area, musicParam), false, LOT_NONE }, + { "musicParam2", LVT_U16, offsetof(struct Area, musicParam2), false, LOT_NONE }, + { "nextSyncID", LVT_U32, offsetof(struct Area, nextSyncID), true, LOT_NONE }, + { "numRedCoins", LVT_U8, offsetof(struct Area, numRedCoins), false, LOT_NONE }, + { "numSecrets", LVT_U8, offsetof(struct Area, numSecrets), false, LOT_NONE }, + { "objectSpawnInfos", LVT_COBJECT_P, offsetof(struct Area, objectSpawnInfos), true, LOT_SPAWNINFO }, + { "paintingWarpNodes", LVT_COBJECT_P, offsetof(struct Area, paintingWarpNodes), true, LOT_WARPNODE }, + { "root", LVT_COBJECT_P, offsetof(struct Area, root), false, LOT_GRAPHNODEROOT }, + { "surfaceRooms", LVT_S8_P, offsetof(struct Area, surfaceRooms), true, LOT_POINTER }, + { "terrainData", LVT_S16_P, offsetof(struct Area, terrainData), true, LOT_POINTER }, + { "terrainType", LVT_U16, offsetof(struct Area, terrainType), false, LOT_NONE }, +// { "unused28", LVT_COBJECT_P, offsetof(struct Area, unused28), false, LOT_??? }, <--- UNIMPLEMENTED + { "warpNodes", LVT_COBJECT_P, offsetof(struct Area, warpNodes), true, LOT_OBJECTWARPNODE }, + { "whirlpools", LVT_COBJECT_P, offsetof(struct Area, whirlpools), false, LOT_WHIRLPOOL, 2, sizeof(struct Whirlpool*) }, }; #define LUA_BEHAVIOR_DIALOGS_FIELD_COUNT 84 static struct LuaObjectField sBehaviorDialogsFields[LUA_BEHAVIOR_DIALOGS_FIELD_COUNT] = { - { "BobombBuddyBob1Dialog", LVT_S32, offsetof(struct BehaviorDialogs, BobombBuddyBob1Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "BobombBuddyBob2Dialog", LVT_S32, offsetof(struct BehaviorDialogs, BobombBuddyBob2Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "BobombBuddyOther1Dialog", LVT_S32, offsetof(struct BehaviorDialogs, BobombBuddyOther1Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "BobombBuddyOther2Dialog", LVT_S32, offsetof(struct BehaviorDialogs, BobombBuddyOther2Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "Bowser1DefeatedDialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser1DefeatedDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "Bowser1Dialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser1Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "Bowser2DefeatedDialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser2DefeatedDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "Bowser2Dialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser2Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "Bowser3Defeated120StarsDialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser3Defeated120StarsDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "Bowser3DefeatedDialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser3DefeatedDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "Bowser3Dialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser3Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "CapswitchBaseDialog", LVT_S32, offsetof(struct BehaviorDialogs, CapswitchBaseDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "CapswitchMetalDialog", LVT_S32, offsetof(struct BehaviorDialogs, CapswitchMetalDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "CapswitchVanishDialog", LVT_S32, offsetof(struct BehaviorDialogs, CapswitchVanishDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "CapswitchWingDialog", LVT_S32, offsetof(struct BehaviorDialogs, CapswitchWingDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "CastleEnterDialog", LVT_S32, offsetof(struct BehaviorDialogs, CastleEnterDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "CollectedStarDialog", LVT_S32, offsetof(struct BehaviorDialogs, CollectedStarDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "DefaultCutsceneDialog", LVT_S32, offsetof(struct BehaviorDialogs, DefaultCutsceneDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "DoorNeed1StarDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeed1StarDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "DoorNeed30StarsDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeed30StarsDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "DoorNeed3StarsDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeed3StarsDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "DoorNeed50StarsDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeed50StarsDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "DoorNeed70StarsDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeed70StarsDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "DoorNeed8StarsDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeed8StarsDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "DoorNeedKeyDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeedKeyDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "EyerokDefeatedDialog", LVT_S32, offsetof(struct BehaviorDialogs, EyerokDefeatedDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "EyerokIntroDialog", LVT_S32, offsetof(struct BehaviorDialogs, EyerokIntroDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "GhostHuntAfterDialog", LVT_S32, offsetof(struct BehaviorDialogs, GhostHuntAfterDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "GhostHuntDialog", LVT_S32, offsetof(struct BehaviorDialogs, GhostHuntDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "HootIntroDialog", LVT_S32, offsetof(struct BehaviorDialogs, HootIntroDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "HootTiredDialog", LVT_S32, offsetof(struct BehaviorDialogs, HootTiredDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "HundredCoinsDialog", LVT_S32, offsetof(struct BehaviorDialogs, HundredCoinsDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "IntroPipeDialog", LVT_S32, offsetof(struct BehaviorDialogs, IntroPipeDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KeyDoor1DontHaveDialog", LVT_S32, offsetof(struct BehaviorDialogs, KeyDoor1DontHaveDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KeyDoor1HaveDialog", LVT_S32, offsetof(struct BehaviorDialogs, KeyDoor1HaveDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KeyDoor2DontHaveDialog", LVT_S32, offsetof(struct BehaviorDialogs, KeyDoor2DontHaveDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KeyDoor2HaveDialog", LVT_S32, offsetof(struct BehaviorDialogs, KeyDoor2HaveDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KingBobombCheatDialog", LVT_S32, offsetof(struct BehaviorDialogs, KingBobombCheatDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KingBobombDefeatDialog", LVT_S32, offsetof(struct BehaviorDialogs, KingBobombDefeatDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KingBobombIntroDialog", LVT_S32, offsetof(struct BehaviorDialogs, KingBobombIntroDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KingWhompDefeatDialog", LVT_S32, offsetof(struct BehaviorDialogs, KingWhompDefeatDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KingWhompDialog", LVT_S32, offsetof(struct BehaviorDialogs, KingWhompDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KoopaQuickBobStartDialog", LVT_S32, offsetof(struct BehaviorDialogs, KoopaQuickBobStartDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KoopaQuickBobWinDialog", LVT_S32, offsetof(struct BehaviorDialogs, KoopaQuickBobWinDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KoopaQuickCheatedDialog", LVT_S32, offsetof(struct BehaviorDialogs, KoopaQuickCheatedDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KoopaQuickLostDialog", LVT_S32, offsetof(struct BehaviorDialogs, KoopaQuickLostDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KoopaQuickThiStartDialog", LVT_S32, offsetof(struct BehaviorDialogs, KoopaQuickThiStartDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "KoopaQuickThiWinDialog", LVT_S32, offsetof(struct BehaviorDialogs, KoopaQuickThiWinDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "LakituIntroDialog", LVT_S32, offsetof(struct BehaviorDialogs, LakituIntroDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "MetalCourseDialog", LVT_S32, offsetof(struct BehaviorDialogs, MetalCourseDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "Mips1Dialog", LVT_S32, offsetof(struct BehaviorDialogs, Mips1Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "Mips2Dialog", LVT_S32, offsetof(struct BehaviorDialogs, Mips2Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "PeachLetterDialog", LVT_S32, offsetof(struct BehaviorDialogs, PeachLetterDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "RacingPenguinBigStartDialog", LVT_S32, offsetof(struct BehaviorDialogs, RacingPenguinBigStartDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "RacingPenguinCheatDialog", LVT_S32, offsetof(struct BehaviorDialogs, RacingPenguinCheatDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "RacingPenguinLostDialog", LVT_S32, offsetof(struct BehaviorDialogs, RacingPenguinLostDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "RacingPenguinStartDialog", LVT_S32, offsetof(struct BehaviorDialogs, RacingPenguinStartDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "RacingPenguinWinDialog", LVT_S32, offsetof(struct BehaviorDialogs, RacingPenguinWinDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "SnowmanHeadAfterDialog", LVT_S32, offsetof(struct BehaviorDialogs, SnowmanHeadAfterDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "SnowmanHeadBodyDialog", LVT_S32, offsetof(struct BehaviorDialogs, SnowmanHeadBodyDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "SnowmanHeadDialog", LVT_S32, offsetof(struct BehaviorDialogs, SnowmanHeadDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "SnowmanWindDialog", LVT_S32, offsetof(struct BehaviorDialogs, SnowmanWindDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "StarCollectionBaseDialog", LVT_S32, offsetof(struct BehaviorDialogs, StarCollectionBaseDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "StarDoorDialog", LVT_S32, offsetof(struct BehaviorDialogs, StarDoorDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "ToadStar1AfterDialog", LVT_S32, offsetof(struct BehaviorDialogs, ToadStar1AfterDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "ToadStar1Dialog", LVT_S32, offsetof(struct BehaviorDialogs, ToadStar1Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "ToadStar2AfterDialog", LVT_S32, offsetof(struct BehaviorDialogs, ToadStar2AfterDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "ToadStar2Dialog", LVT_S32, offsetof(struct BehaviorDialogs, ToadStar2Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "ToadStar3AfterDialog", LVT_S32, offsetof(struct BehaviorDialogs, ToadStar3AfterDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "ToadStar3Dialog", LVT_S32, offsetof(struct BehaviorDialogs, ToadStar3Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "TuxieMotherBabyFoundDialog", LVT_S32, offsetof(struct BehaviorDialogs, TuxieMotherBabyFoundDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "TuxieMotherBabyWrongDialog", LVT_S32, offsetof(struct BehaviorDialogs, TuxieMotherBabyWrongDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "TuxieMotherDialog", LVT_S32, offsetof(struct BehaviorDialogs, TuxieMotherDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "UkikiCageDialog", LVT_S32, offsetof(struct BehaviorDialogs, UkikiCageDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "UkikiCapGiveDialog", LVT_S32, offsetof(struct BehaviorDialogs, UkikiCapGiveDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "UkikiCapStealDialog", LVT_S32, offsetof(struct BehaviorDialogs, UkikiCapStealDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "UkikiHeldDialog", LVT_S32, offsetof(struct BehaviorDialogs, UkikiHeldDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "VanishCourseDialog", LVT_S32, offsetof(struct BehaviorDialogs, VanishCourseDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "WigglerAttack1Dialog", LVT_S32, offsetof(struct BehaviorDialogs, WigglerAttack1Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "WigglerAttack2Dialog", LVT_S32, offsetof(struct BehaviorDialogs, WigglerAttack2Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "WigglerAttack3Dialog", LVT_S32, offsetof(struct BehaviorDialogs, WigglerAttack3Dialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "WigglerDialog", LVT_S32, offsetof(struct BehaviorDialogs, WigglerDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "WingCourseDialog", LVT_S32, offsetof(struct BehaviorDialogs, WingCourseDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, - { "YoshiDialog", LVT_S32, offsetof(struct BehaviorDialogs, YoshiDialog), false, LOT_NONE, 1, sizeof(enum DialogId) }, + { "BobombBuddyBob1Dialog", LVT_S32, offsetof(struct BehaviorDialogs, BobombBuddyBob1Dialog), false, LOT_NONE }, + { "BobombBuddyBob2Dialog", LVT_S32, offsetof(struct BehaviorDialogs, BobombBuddyBob2Dialog), false, LOT_NONE }, + { "BobombBuddyOther1Dialog", LVT_S32, offsetof(struct BehaviorDialogs, BobombBuddyOther1Dialog), false, LOT_NONE }, + { "BobombBuddyOther2Dialog", LVT_S32, offsetof(struct BehaviorDialogs, BobombBuddyOther2Dialog), false, LOT_NONE }, + { "Bowser1DefeatedDialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser1DefeatedDialog), false, LOT_NONE }, + { "Bowser1Dialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser1Dialog), false, LOT_NONE }, + { "Bowser2DefeatedDialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser2DefeatedDialog), false, LOT_NONE }, + { "Bowser2Dialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser2Dialog), false, LOT_NONE }, + { "Bowser3Defeated120StarsDialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser3Defeated120StarsDialog), false, LOT_NONE }, + { "Bowser3DefeatedDialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser3DefeatedDialog), false, LOT_NONE }, + { "Bowser3Dialog", LVT_S32, offsetof(struct BehaviorDialogs, Bowser3Dialog), false, LOT_NONE }, + { "CapswitchBaseDialog", LVT_S32, offsetof(struct BehaviorDialogs, CapswitchBaseDialog), false, LOT_NONE }, + { "CapswitchMetalDialog", LVT_S32, offsetof(struct BehaviorDialogs, CapswitchMetalDialog), false, LOT_NONE }, + { "CapswitchVanishDialog", LVT_S32, offsetof(struct BehaviorDialogs, CapswitchVanishDialog), false, LOT_NONE }, + { "CapswitchWingDialog", LVT_S32, offsetof(struct BehaviorDialogs, CapswitchWingDialog), false, LOT_NONE }, + { "CastleEnterDialog", LVT_S32, offsetof(struct BehaviorDialogs, CastleEnterDialog), false, LOT_NONE }, + { "CollectedStarDialog", LVT_S32, offsetof(struct BehaviorDialogs, CollectedStarDialog), false, LOT_NONE }, + { "DefaultCutsceneDialog", LVT_S32, offsetof(struct BehaviorDialogs, DefaultCutsceneDialog), false, LOT_NONE }, + { "DoorNeed1StarDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeed1StarDialog), false, LOT_NONE }, + { "DoorNeed30StarsDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeed30StarsDialog), false, LOT_NONE }, + { "DoorNeed3StarsDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeed3StarsDialog), false, LOT_NONE }, + { "DoorNeed50StarsDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeed50StarsDialog), false, LOT_NONE }, + { "DoorNeed70StarsDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeed70StarsDialog), false, LOT_NONE }, + { "DoorNeed8StarsDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeed8StarsDialog), false, LOT_NONE }, + { "DoorNeedKeyDialog", LVT_S32, offsetof(struct BehaviorDialogs, DoorNeedKeyDialog), false, LOT_NONE }, + { "EyerokDefeatedDialog", LVT_S32, offsetof(struct BehaviorDialogs, EyerokDefeatedDialog), false, LOT_NONE }, + { "EyerokIntroDialog", LVT_S32, offsetof(struct BehaviorDialogs, EyerokIntroDialog), false, LOT_NONE }, + { "GhostHuntAfterDialog", LVT_S32, offsetof(struct BehaviorDialogs, GhostHuntAfterDialog), false, LOT_NONE }, + { "GhostHuntDialog", LVT_S32, offsetof(struct BehaviorDialogs, GhostHuntDialog), false, LOT_NONE }, + { "HootIntroDialog", LVT_S32, offsetof(struct BehaviorDialogs, HootIntroDialog), false, LOT_NONE }, + { "HootTiredDialog", LVT_S32, offsetof(struct BehaviorDialogs, HootTiredDialog), false, LOT_NONE }, + { "HundredCoinsDialog", LVT_S32, offsetof(struct BehaviorDialogs, HundredCoinsDialog), false, LOT_NONE }, + { "IntroPipeDialog", LVT_S32, offsetof(struct BehaviorDialogs, IntroPipeDialog), false, LOT_NONE }, + { "KeyDoor1DontHaveDialog", LVT_S32, offsetof(struct BehaviorDialogs, KeyDoor1DontHaveDialog), false, LOT_NONE }, + { "KeyDoor1HaveDialog", LVT_S32, offsetof(struct BehaviorDialogs, KeyDoor1HaveDialog), false, LOT_NONE }, + { "KeyDoor2DontHaveDialog", LVT_S32, offsetof(struct BehaviorDialogs, KeyDoor2DontHaveDialog), false, LOT_NONE }, + { "KeyDoor2HaveDialog", LVT_S32, offsetof(struct BehaviorDialogs, KeyDoor2HaveDialog), false, LOT_NONE }, + { "KingBobombCheatDialog", LVT_S32, offsetof(struct BehaviorDialogs, KingBobombCheatDialog), false, LOT_NONE }, + { "KingBobombDefeatDialog", LVT_S32, offsetof(struct BehaviorDialogs, KingBobombDefeatDialog), false, LOT_NONE }, + { "KingBobombIntroDialog", LVT_S32, offsetof(struct BehaviorDialogs, KingBobombIntroDialog), false, LOT_NONE }, + { "KingWhompDefeatDialog", LVT_S32, offsetof(struct BehaviorDialogs, KingWhompDefeatDialog), false, LOT_NONE }, + { "KingWhompDialog", LVT_S32, offsetof(struct BehaviorDialogs, KingWhompDialog), false, LOT_NONE }, + { "KoopaQuickBobStartDialog", LVT_S32, offsetof(struct BehaviorDialogs, KoopaQuickBobStartDialog), false, LOT_NONE }, + { "KoopaQuickBobWinDialog", LVT_S32, offsetof(struct BehaviorDialogs, KoopaQuickBobWinDialog), false, LOT_NONE }, + { "KoopaQuickCheatedDialog", LVT_S32, offsetof(struct BehaviorDialogs, KoopaQuickCheatedDialog), false, LOT_NONE }, + { "KoopaQuickLostDialog", LVT_S32, offsetof(struct BehaviorDialogs, KoopaQuickLostDialog), false, LOT_NONE }, + { "KoopaQuickThiStartDialog", LVT_S32, offsetof(struct BehaviorDialogs, KoopaQuickThiStartDialog), false, LOT_NONE }, + { "KoopaQuickThiWinDialog", LVT_S32, offsetof(struct BehaviorDialogs, KoopaQuickThiWinDialog), false, LOT_NONE }, + { "LakituIntroDialog", LVT_S32, offsetof(struct BehaviorDialogs, LakituIntroDialog), false, LOT_NONE }, + { "MetalCourseDialog", LVT_S32, offsetof(struct BehaviorDialogs, MetalCourseDialog), false, LOT_NONE }, + { "Mips1Dialog", LVT_S32, offsetof(struct BehaviorDialogs, Mips1Dialog), false, LOT_NONE }, + { "Mips2Dialog", LVT_S32, offsetof(struct BehaviorDialogs, Mips2Dialog), false, LOT_NONE }, + { "PeachLetterDialog", LVT_S32, offsetof(struct BehaviorDialogs, PeachLetterDialog), false, LOT_NONE }, + { "RacingPenguinBigStartDialog", LVT_S32, offsetof(struct BehaviorDialogs, RacingPenguinBigStartDialog), false, LOT_NONE }, + { "RacingPenguinCheatDialog", LVT_S32, offsetof(struct BehaviorDialogs, RacingPenguinCheatDialog), false, LOT_NONE }, + { "RacingPenguinLostDialog", LVT_S32, offsetof(struct BehaviorDialogs, RacingPenguinLostDialog), false, LOT_NONE }, + { "RacingPenguinStartDialog", LVT_S32, offsetof(struct BehaviorDialogs, RacingPenguinStartDialog), false, LOT_NONE }, + { "RacingPenguinWinDialog", LVT_S32, offsetof(struct BehaviorDialogs, RacingPenguinWinDialog), false, LOT_NONE }, + { "SnowmanHeadAfterDialog", LVT_S32, offsetof(struct BehaviorDialogs, SnowmanHeadAfterDialog), false, LOT_NONE }, + { "SnowmanHeadBodyDialog", LVT_S32, offsetof(struct BehaviorDialogs, SnowmanHeadBodyDialog), false, LOT_NONE }, + { "SnowmanHeadDialog", LVT_S32, offsetof(struct BehaviorDialogs, SnowmanHeadDialog), false, LOT_NONE }, + { "SnowmanWindDialog", LVT_S32, offsetof(struct BehaviorDialogs, SnowmanWindDialog), false, LOT_NONE }, + { "StarCollectionBaseDialog", LVT_S32, offsetof(struct BehaviorDialogs, StarCollectionBaseDialog), false, LOT_NONE }, + { "StarDoorDialog", LVT_S32, offsetof(struct BehaviorDialogs, StarDoorDialog), false, LOT_NONE }, + { "ToadStar1AfterDialog", LVT_S32, offsetof(struct BehaviorDialogs, ToadStar1AfterDialog), false, LOT_NONE }, + { "ToadStar1Dialog", LVT_S32, offsetof(struct BehaviorDialogs, ToadStar1Dialog), false, LOT_NONE }, + { "ToadStar2AfterDialog", LVT_S32, offsetof(struct BehaviorDialogs, ToadStar2AfterDialog), false, LOT_NONE }, + { "ToadStar2Dialog", LVT_S32, offsetof(struct BehaviorDialogs, ToadStar2Dialog), false, LOT_NONE }, + { "ToadStar3AfterDialog", LVT_S32, offsetof(struct BehaviorDialogs, ToadStar3AfterDialog), false, LOT_NONE }, + { "ToadStar3Dialog", LVT_S32, offsetof(struct BehaviorDialogs, ToadStar3Dialog), false, LOT_NONE }, + { "TuxieMotherBabyFoundDialog", LVT_S32, offsetof(struct BehaviorDialogs, TuxieMotherBabyFoundDialog), false, LOT_NONE }, + { "TuxieMotherBabyWrongDialog", LVT_S32, offsetof(struct BehaviorDialogs, TuxieMotherBabyWrongDialog), false, LOT_NONE }, + { "TuxieMotherDialog", LVT_S32, offsetof(struct BehaviorDialogs, TuxieMotherDialog), false, LOT_NONE }, + { "UkikiCageDialog", LVT_S32, offsetof(struct BehaviorDialogs, UkikiCageDialog), false, LOT_NONE }, + { "UkikiCapGiveDialog", LVT_S32, offsetof(struct BehaviorDialogs, UkikiCapGiveDialog), false, LOT_NONE }, + { "UkikiCapStealDialog", LVT_S32, offsetof(struct BehaviorDialogs, UkikiCapStealDialog), false, LOT_NONE }, + { "UkikiHeldDialog", LVT_S32, offsetof(struct BehaviorDialogs, UkikiHeldDialog), false, LOT_NONE }, + { "VanishCourseDialog", LVT_S32, offsetof(struct BehaviorDialogs, VanishCourseDialog), false, LOT_NONE }, + { "WigglerAttack1Dialog", LVT_S32, offsetof(struct BehaviorDialogs, WigglerAttack1Dialog), false, LOT_NONE }, + { "WigglerAttack2Dialog", LVT_S32, offsetof(struct BehaviorDialogs, WigglerAttack2Dialog), false, LOT_NONE }, + { "WigglerAttack3Dialog", LVT_S32, offsetof(struct BehaviorDialogs, WigglerAttack3Dialog), false, LOT_NONE }, + { "WigglerDialog", LVT_S32, offsetof(struct BehaviorDialogs, WigglerDialog), false, LOT_NONE }, + { "WingCourseDialog", LVT_S32, offsetof(struct BehaviorDialogs, WingCourseDialog), false, LOT_NONE }, + { "YoshiDialog", LVT_S32, offsetof(struct BehaviorDialogs, YoshiDialog), false, LOT_NONE }, }; #define LUA_BEHAVIOR_TRAJECTORIES_FIELD_COUNT 30 static struct LuaObjectField sBehaviorTrajectoriesFields[LUA_BEHAVIOR_TRAJECTORIES_FIELD_COUNT] = { - { "BowlingBallBob2Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, BowlingBallBob2Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "BowlingBallBobTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, BowlingBallBobTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "BowlingBallThiLargeTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, BowlingBallThiLargeTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "BowlingBallThiSmallTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, BowlingBallThiSmallTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "BowlingBallTtmTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, BowlingBallTtmTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "KoopaBobTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, KoopaBobTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "KoopaThiTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, KoopaThiTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "Mips10Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips10Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "Mips2Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips2Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "Mips3Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips3Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "Mips4Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips4Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "Mips5Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips5Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "Mips6Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips6Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "Mips7Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips7Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "Mips8Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips8Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "Mips9Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips9Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "MipsTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, MipsTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "PlatformBitfsTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformBitfsTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "PlatformCcmTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformCcmTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "PlatformHmcTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformHmcTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "PlatformLll2Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformLll2Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "PlatformLllTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformLllTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "PlatformRr2Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformRr2Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "PlatformRr3Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformRr3Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "PlatformRr4Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformRr4Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "PlatformRrTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformRrTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "RacingPenguinTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, RacingPenguinTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "SnowmanHeadTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, SnowmanHeadTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "Unagi2Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Unagi2Trajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, - { "UnagiTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, UnagiTrajectory), false, LOT_POINTER, 1, sizeof(Trajectory*) }, + { "BowlingBallBob2Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, BowlingBallBob2Trajectory), false, LOT_POINTER }, + { "BowlingBallBobTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, BowlingBallBobTrajectory), false, LOT_POINTER }, + { "BowlingBallThiLargeTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, BowlingBallThiLargeTrajectory), false, LOT_POINTER }, + { "BowlingBallThiSmallTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, BowlingBallThiSmallTrajectory), false, LOT_POINTER }, + { "BowlingBallTtmTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, BowlingBallTtmTrajectory), false, LOT_POINTER }, + { "KoopaBobTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, KoopaBobTrajectory), false, LOT_POINTER }, + { "KoopaThiTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, KoopaThiTrajectory), false, LOT_POINTER }, + { "Mips10Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips10Trajectory), false, LOT_POINTER }, + { "Mips2Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips2Trajectory), false, LOT_POINTER }, + { "Mips3Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips3Trajectory), false, LOT_POINTER }, + { "Mips4Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips4Trajectory), false, LOT_POINTER }, + { "Mips5Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips5Trajectory), false, LOT_POINTER }, + { "Mips6Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips6Trajectory), false, LOT_POINTER }, + { "Mips7Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips7Trajectory), false, LOT_POINTER }, + { "Mips8Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips8Trajectory), false, LOT_POINTER }, + { "Mips9Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Mips9Trajectory), false, LOT_POINTER }, + { "MipsTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, MipsTrajectory), false, LOT_POINTER }, + { "PlatformBitfsTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformBitfsTrajectory), false, LOT_POINTER }, + { "PlatformCcmTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformCcmTrajectory), false, LOT_POINTER }, + { "PlatformHmcTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformHmcTrajectory), false, LOT_POINTER }, + { "PlatformLll2Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformLll2Trajectory), false, LOT_POINTER }, + { "PlatformLllTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformLllTrajectory), false, LOT_POINTER }, + { "PlatformRr2Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformRr2Trajectory), false, LOT_POINTER }, + { "PlatformRr3Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformRr3Trajectory), false, LOT_POINTER }, + { "PlatformRr4Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformRr4Trajectory), false, LOT_POINTER }, + { "PlatformRrTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, PlatformRrTrajectory), false, LOT_POINTER }, + { "RacingPenguinTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, RacingPenguinTrajectory), false, LOT_POINTER }, + { "SnowmanHeadTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, SnowmanHeadTrajectory), false, LOT_POINTER }, + { "Unagi2Trajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, Unagi2Trajectory), false, LOT_POINTER }, + { "UnagiTrajectory", LVT_TRAJECTORY_P, offsetof(struct BehaviorTrajectories, UnagiTrajectory), false, LOT_POINTER }, }; #define LUA_BEHAVIOR_VALUES_FIELD_COUNT 33 static struct LuaObjectField sBehaviorValuesFields[LUA_BEHAVIOR_VALUES_FIELD_COUNT] = { - { "BowlingBallBob2Speed", LVT_F32, offsetof(struct BehaviorValues, BowlingBallBob2Speed), false, LOT_NONE, 1, sizeof(f32) }, - { "BowlingBallBobSpeed", LVT_F32, offsetof(struct BehaviorValues, BowlingBallBobSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "BowlingBallThiLargeSpeed", LVT_F32, offsetof(struct BehaviorValues, BowlingBallThiLargeSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "BowlingBallThiSmallSpeed", LVT_F32, offsetof(struct BehaviorValues, BowlingBallThiSmallSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "BowlingBallTtmSpeed", LVT_F32, offsetof(struct BehaviorValues, BowlingBallTtmSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "ChillBullyDeathPosY", LVT_F32, offsetof(struct BehaviorValues, ChillBullyDeathPosY), false, LOT_NONE, 1, sizeof(f32) }, - { "CourtyardBoosRequirement", LVT_S16, offsetof(struct BehaviorValues, CourtyardBoosRequirement), false, LOT_NONE, 1, sizeof(s16) }, - { "GrateStarRequirement", LVT_U16, offsetof(struct BehaviorValues, GrateStarRequirement), false, LOT_NONE, 1, sizeof(u16) }, - { "InfiniteRenderDistance", LVT_U8, offsetof(struct BehaviorValues, InfiniteRenderDistance), false, LOT_NONE, 1, sizeof(u8) }, - { "KingBobombFVel", LVT_F32, offsetof(struct BehaviorValues, KingBobombFVel), false, LOT_NONE, 1, sizeof(f32) }, - { "KingBobombHealth", LVT_S16, offsetof(struct BehaviorValues, KingBobombHealth), false, LOT_NONE, 1, sizeof(s16) }, - { "KingBobombYawVel", LVT_S16, offsetof(struct BehaviorValues, KingBobombYawVel), false, LOT_NONE, 1, sizeof(s16) }, - { "KingWhompHealth", LVT_S16, offsetof(struct BehaviorValues, KingWhompHealth), false, LOT_NONE, 1, sizeof(s16) }, - { "KoopaBobAgility", LVT_F32, offsetof(struct BehaviorValues, KoopaBobAgility), false, LOT_NONE, 1, sizeof(f32) }, - { "KoopaCatchupAgility", LVT_F32, offsetof(struct BehaviorValues, KoopaCatchupAgility), false, LOT_NONE, 1, sizeof(f32) }, - { "KoopaThiAgility", LVT_F32, offsetof(struct BehaviorValues, KoopaThiAgility), false, LOT_NONE, 1, sizeof(f32) }, - { "MipsStar1Requirement", LVT_S16, offsetof(struct BehaviorValues, MipsStar1Requirement), false, LOT_NONE, 1, sizeof(s16) }, - { "MipsStar2Requirement", LVT_S16, offsetof(struct BehaviorValues, MipsStar2Requirement), false, LOT_NONE, 1, sizeof(s16) }, - { "MultipleCapCollection", LVT_U8, offsetof(struct BehaviorValues, MultipleCapCollection), false, LOT_NONE, 1, sizeof(u8) }, - { "ProcessLODs", LVT_U8, offsetof(struct BehaviorValues, ProcessLODs), false, LOT_NONE, 1, sizeof(u8) }, - { "RacingPenguinBigHeight", LVT_F32, offsetof(struct BehaviorValues, RacingPenguinBigHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "RacingPenguinBigRadius", LVT_F32, offsetof(struct BehaviorValues, RacingPenguinBigRadius), false, LOT_NONE, 1, sizeof(f32) }, - { "RacingPenguinHeight", LVT_F32, offsetof(struct BehaviorValues, RacingPenguinHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "RacingPenguinRadius", LVT_F32, offsetof(struct BehaviorValues, RacingPenguinRadius), false, LOT_NONE, 1, sizeof(f32) }, - { "RespawnShellBoxes", LVT_U8, offsetof(struct BehaviorValues, RespawnShellBoxes), false, LOT_NONE, 1, sizeof(u8) }, - { "ShowStarDialog", LVT_U8, offsetof(struct BehaviorValues, ShowStarDialog), false, LOT_NONE, 1, sizeof(u8) }, - { "ShowStarMilestones", LVT_U8, offsetof(struct BehaviorValues, ShowStarMilestones), false, LOT_NONE, 1, sizeof(u8) }, - { "ToadStar1Requirement", LVT_U16, offsetof(struct BehaviorValues, ToadStar1Requirement), false, LOT_NONE, 1, sizeof(u16) }, - { "ToadStar2Requirement", LVT_U16, offsetof(struct BehaviorValues, ToadStar2Requirement), false, LOT_NONE, 1, sizeof(u16) }, - { "ToadStar3Requirement", LVT_U16, offsetof(struct BehaviorValues, ToadStar3Requirement), false, LOT_NONE, 1, sizeof(u16) }, - { "dialogs", LVT_COBJECT, offsetof(struct BehaviorValues, dialogs), true, LOT_BEHAVIORDIALOGS, 1, sizeof(struct BehaviorDialogs) }, - { "starsNeededForDialog", LVT_COBJECT, offsetof(struct BehaviorValues, starsNeededForDialog), true, LOT_STARSNEEDEDFORDIALOG, 1, sizeof(struct StarsNeededForDialog) }, - { "trajectories", LVT_COBJECT, offsetof(struct BehaviorValues, trajectories), true, LOT_BEHAVIORTRAJECTORIES, 1, sizeof(struct BehaviorTrajectories) }, + { "BowlingBallBob2Speed", LVT_F32, offsetof(struct BehaviorValues, BowlingBallBob2Speed), false, LOT_NONE }, + { "BowlingBallBobSpeed", LVT_F32, offsetof(struct BehaviorValues, BowlingBallBobSpeed), false, LOT_NONE }, + { "BowlingBallThiLargeSpeed", LVT_F32, offsetof(struct BehaviorValues, BowlingBallThiLargeSpeed), false, LOT_NONE }, + { "BowlingBallThiSmallSpeed", LVT_F32, offsetof(struct BehaviorValues, BowlingBallThiSmallSpeed), false, LOT_NONE }, + { "BowlingBallTtmSpeed", LVT_F32, offsetof(struct BehaviorValues, BowlingBallTtmSpeed), false, LOT_NONE }, + { "ChillBullyDeathPosY", LVT_F32, offsetof(struct BehaviorValues, ChillBullyDeathPosY), false, LOT_NONE }, + { "CourtyardBoosRequirement", LVT_S16, offsetof(struct BehaviorValues, CourtyardBoosRequirement), false, LOT_NONE }, + { "GrateStarRequirement", LVT_U16, offsetof(struct BehaviorValues, GrateStarRequirement), false, LOT_NONE }, + { "InfiniteRenderDistance", LVT_U8, offsetof(struct BehaviorValues, InfiniteRenderDistance), false, LOT_NONE }, + { "KingBobombFVel", LVT_F32, offsetof(struct BehaviorValues, KingBobombFVel), false, LOT_NONE }, + { "KingBobombHealth", LVT_S16, offsetof(struct BehaviorValues, KingBobombHealth), false, LOT_NONE }, + { "KingBobombYawVel", LVT_S16, offsetof(struct BehaviorValues, KingBobombYawVel), false, LOT_NONE }, + { "KingWhompHealth", LVT_S16, offsetof(struct BehaviorValues, KingWhompHealth), false, LOT_NONE }, + { "KoopaBobAgility", LVT_F32, offsetof(struct BehaviorValues, KoopaBobAgility), false, LOT_NONE }, + { "KoopaCatchupAgility", LVT_F32, offsetof(struct BehaviorValues, KoopaCatchupAgility), false, LOT_NONE }, + { "KoopaThiAgility", LVT_F32, offsetof(struct BehaviorValues, KoopaThiAgility), false, LOT_NONE }, + { "MipsStar1Requirement", LVT_S16, offsetof(struct BehaviorValues, MipsStar1Requirement), false, LOT_NONE }, + { "MipsStar2Requirement", LVT_S16, offsetof(struct BehaviorValues, MipsStar2Requirement), false, LOT_NONE }, + { "MultipleCapCollection", LVT_U8, offsetof(struct BehaviorValues, MultipleCapCollection), false, LOT_NONE }, + { "ProcessLODs", LVT_U8, offsetof(struct BehaviorValues, ProcessLODs), false, LOT_NONE }, + { "RacingPenguinBigHeight", LVT_F32, offsetof(struct BehaviorValues, RacingPenguinBigHeight), false, LOT_NONE }, + { "RacingPenguinBigRadius", LVT_F32, offsetof(struct BehaviorValues, RacingPenguinBigRadius), false, LOT_NONE }, + { "RacingPenguinHeight", LVT_F32, offsetof(struct BehaviorValues, RacingPenguinHeight), false, LOT_NONE }, + { "RacingPenguinRadius", LVT_F32, offsetof(struct BehaviorValues, RacingPenguinRadius), false, LOT_NONE }, + { "RespawnShellBoxes", LVT_U8, offsetof(struct BehaviorValues, RespawnShellBoxes), false, LOT_NONE }, + { "ShowStarDialog", LVT_U8, offsetof(struct BehaviorValues, ShowStarDialog), false, LOT_NONE }, + { "ShowStarMilestones", LVT_U8, offsetof(struct BehaviorValues, ShowStarMilestones), false, LOT_NONE }, + { "ToadStar1Requirement", LVT_U16, offsetof(struct BehaviorValues, ToadStar1Requirement), false, LOT_NONE }, + { "ToadStar2Requirement", LVT_U16, offsetof(struct BehaviorValues, ToadStar2Requirement), false, LOT_NONE }, + { "ToadStar3Requirement", LVT_U16, offsetof(struct BehaviorValues, ToadStar3Requirement), false, LOT_NONE }, + { "dialogs", LVT_COBJECT, offsetof(struct BehaviorValues, dialogs), true, LOT_BEHAVIORDIALOGS }, + { "starsNeededForDialog", LVT_COBJECT, offsetof(struct BehaviorValues, starsNeededForDialog), true, LOT_STARSNEEDEDFORDIALOG }, + { "trajectories", LVT_COBJECT, offsetof(struct BehaviorValues, trajectories), true, LOT_BEHAVIORTRAJECTORIES }, }; #define LUA_CAMERA_FIELD_COUNT 15 static struct LuaObjectField sCameraFields[LUA_CAMERA_FIELD_COUNT] = { - { "areaCenX", LVT_F32, offsetof(struct Camera, areaCenX), false, LOT_NONE, 1, sizeof(f32) }, - { "areaCenY", LVT_F32, offsetof(struct Camera, areaCenY), false, LOT_NONE, 1, sizeof(f32) }, - { "areaCenZ", LVT_F32, offsetof(struct Camera, areaCenZ), false, LOT_NONE, 1, sizeof(f32) }, - { "cutscene", LVT_U8, offsetof(struct Camera, cutscene), false, LOT_NONE, 1, sizeof(u8) }, - { "defMode", LVT_U8, offsetof(struct Camera, defMode), false, LOT_NONE, 1, sizeof(u8) }, - { "doorStatus", LVT_U8, offsetof(struct Camera, doorStatus), false, LOT_NONE, 1, sizeof(u8) }, - { "filler31", LVT_U8, offsetof(struct Camera, filler31), false, LOT_NONE, 8, sizeof(u8) }, - { "filler3C", LVT_U8, offsetof(struct Camera, filler3C), false, LOT_NONE, 40, sizeof(u8) }, - { "focus", LVT_COBJECT, offsetof(struct Camera, focus), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "mode", LVT_U8, offsetof(struct Camera, mode), false, LOT_NONE, 1, sizeof(u8) }, - { "mtx", LVT_COBJECT, offsetof(struct Camera, mtx), true, LOT_MAT4, 1, sizeof(Mat4) }, - { "nextYaw", LVT_S16, offsetof(struct Camera, nextYaw), false, LOT_NONE, 1, sizeof(s16) }, - { "pos", LVT_COBJECT, offsetof(struct Camera, pos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "unusedVec1", LVT_COBJECT, offsetof(struct Camera, unusedVec1), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "yaw", LVT_S16, offsetof(struct Camera, yaw), false, LOT_NONE, 1, sizeof(s16) }, + { "areaCenX", LVT_F32, offsetof(struct Camera, areaCenX), false, LOT_NONE }, + { "areaCenY", LVT_F32, offsetof(struct Camera, areaCenY), false, LOT_NONE }, + { "areaCenZ", LVT_F32, offsetof(struct Camera, areaCenZ), false, LOT_NONE }, + { "cutscene", LVT_U8, offsetof(struct Camera, cutscene), false, LOT_NONE }, + { "defMode", LVT_U8, offsetof(struct Camera, defMode), false, LOT_NONE }, + { "doorStatus", LVT_U8, offsetof(struct Camera, doorStatus), false, LOT_NONE }, + { "filler31", LVT_U8, offsetof(struct Camera, filler31), false, LOT_NONE, 8, sizeof(u8) }, + { "filler3C", LVT_U8, offsetof(struct Camera, filler3C), false, LOT_NONE, 40, sizeof(u8) }, + { "focus", LVT_COBJECT, offsetof(struct Camera, focus), true, LOT_VEC3F }, + { "mode", LVT_U8, offsetof(struct Camera, mode), false, LOT_NONE }, + { "mtx", LVT_COBJECT, offsetof(struct Camera, mtx), true, LOT_MAT4 }, + { "nextYaw", LVT_S16, offsetof(struct Camera, nextYaw), false, LOT_NONE }, + { "pos", LVT_COBJECT, offsetof(struct Camera, pos), true, LOT_VEC3F }, + { "unusedVec1", LVT_COBJECT, offsetof(struct Camera, unusedVec1), true, LOT_VEC3F }, + { "yaw", LVT_S16, offsetof(struct Camera, yaw), false, LOT_NONE }, }; #define LUA_CHAIN_SEGMENT_FIELD_COUNT 6 static struct LuaObjectField sChainSegmentFields[LUA_CHAIN_SEGMENT_FIELD_COUNT] = { - { "pitch", LVT_S16, offsetof(struct ChainSegment, pitch), false, LOT_NONE, 1, sizeof(s16) }, - { "posX", LVT_F32, offsetof(struct ChainSegment, posX), false, LOT_NONE, 1, sizeof(f32) }, - { "posY", LVT_F32, offsetof(struct ChainSegment, posY), false, LOT_NONE, 1, sizeof(f32) }, - { "posZ", LVT_F32, offsetof(struct ChainSegment, posZ), false, LOT_NONE, 1, sizeof(f32) }, - { "roll", LVT_S16, offsetof(struct ChainSegment, roll), false, LOT_NONE, 1, sizeof(s16) }, - { "yaw", LVT_S16, offsetof(struct ChainSegment, yaw), false, LOT_NONE, 1, sizeof(s16) }, + { "pitch", LVT_S16, offsetof(struct ChainSegment, pitch), false, LOT_NONE }, + { "posX", LVT_F32, offsetof(struct ChainSegment, posX), false, LOT_NONE }, + { "posY", LVT_F32, offsetof(struct ChainSegment, posY), false, LOT_NONE }, + { "posZ", LVT_F32, offsetof(struct ChainSegment, posZ), false, LOT_NONE }, + { "roll", LVT_S16, offsetof(struct ChainSegment, roll), false, LOT_NONE }, + { "yaw", LVT_S16, offsetof(struct ChainSegment, yaw), false, LOT_NONE }, }; #define LUA_CHARACTER_FIELD_COUNT 274 static struct LuaObjectField sCharacterFields[LUA_CHARACTER_FIELD_COUNT] = { - { "animAPose", LVT_S32, offsetof(struct Character, animAPose), true, LOT_NONE, 1, sizeof(s32) }, - { "animAirForwardKb", LVT_S32, offsetof(struct Character, animAirForwardKb), true, LOT_NONE, 1, sizeof(s32) }, - { "animAirKick", LVT_S32, offsetof(struct Character, animAirKick), true, LOT_NONE, 1, sizeof(s32) }, - { "animAirborneOnStomach", LVT_S32, offsetof(struct Character, animAirborneOnStomach), true, LOT_NONE, 1, sizeof(s32) }, - { "animBackflip", LVT_S32, offsetof(struct Character, animBackflip), true, LOT_NONE, 1, sizeof(s32) }, - { "animBackwardAirKb", LVT_S32, offsetof(struct Character, animBackwardAirKb), true, LOT_NONE, 1, sizeof(s32) }, - { "animBackwardKb", LVT_S32, offsetof(struct Character, animBackwardKb), true, LOT_NONE, 1, sizeof(s32) }, - { "animBackwardSpinning", LVT_S32, offsetof(struct Character, animBackwardSpinning), true, LOT_NONE, 1, sizeof(s32) }, - { "animBackwardsWaterKb", LVT_S32, offsetof(struct Character, animBackwardsWaterKb), true, LOT_NONE, 1, sizeof(s32) }, - { "animBeingGrabbed", LVT_S32, offsetof(struct Character, animBeingGrabbed), true, LOT_NONE, 1, sizeof(s32) }, - { "animBendKnessRidingShell", LVT_S32, offsetof(struct Character, animBendKnessRidingShell), true, LOT_NONE, 1, sizeof(s32) }, - { "animBottomStuckInGround", LVT_S32, offsetof(struct Character, animBottomStuckInGround), true, LOT_NONE, 1, sizeof(s32) }, - { "animBreakdance", LVT_S32, offsetof(struct Character, animBreakdance), true, LOT_NONE, 1, sizeof(s32) }, - { "animClimbDownLedge", LVT_S32, offsetof(struct Character, animClimbDownLedge), true, LOT_NONE, 1, sizeof(s32) }, - { "animClimbUpPole", LVT_S32, offsetof(struct Character, animClimbUpPole), true, LOT_NONE, 1, sizeof(s32) }, - { "animCoughing", LVT_S32, offsetof(struct Character, animCoughing), true, LOT_NONE, 1, sizeof(s32) }, - { "animCrawling", LVT_S32, offsetof(struct Character, animCrawling), true, LOT_NONE, 1, sizeof(s32) }, - { "animCreditsLookBackThenRun", LVT_S32, offsetof(struct Character, animCreditsLookBackThenRun), true, LOT_NONE, 1, sizeof(s32) }, - { "animCreditsLookUp", LVT_S32, offsetof(struct Character, animCreditsLookUp), true, LOT_NONE, 1, sizeof(s32) }, - { "animCreditsLowerHand", LVT_S32, offsetof(struct Character, animCreditsLowerHand), true, LOT_NONE, 1, sizeof(s32) }, - { "animCreditsPeaceSign", LVT_S32, offsetof(struct Character, animCreditsPeaceSign), true, LOT_NONE, 1, sizeof(s32) }, - { "animCreditsRaiseHand", LVT_S32, offsetof(struct Character, animCreditsRaiseHand), true, LOT_NONE, 1, sizeof(s32) }, - { "animCreditsReturnFromLookUp", LVT_S32, offsetof(struct Character, animCreditsReturnFromLookUp), true, LOT_NONE, 1, sizeof(s32) }, - { "animCreditsStartWalkLookUp", LVT_S32, offsetof(struct Character, animCreditsStartWalkLookUp), true, LOT_NONE, 1, sizeof(s32) }, - { "animCreditsTakeOffCap", LVT_S32, offsetof(struct Character, animCreditsTakeOffCap), true, LOT_NONE, 1, sizeof(s32) }, - { "animCreditsWaving", LVT_S32, offsetof(struct Character, animCreditsWaving), true, LOT_NONE, 1, sizeof(s32) }, - { "animCrouchFromFastLongjump", LVT_S32, offsetof(struct Character, animCrouchFromFastLongjump), true, LOT_NONE, 1, sizeof(s32) }, - { "animCrouchFromSlideKick", LVT_S32, offsetof(struct Character, animCrouchFromSlideKick), true, LOT_NONE, 1, sizeof(s32) }, - { "animCrouchFromSlowLongjump", LVT_S32, offsetof(struct Character, animCrouchFromSlowLongjump), true, LOT_NONE, 1, sizeof(s32) }, - { "animCrouching", LVT_S32, offsetof(struct Character, animCrouching), true, LOT_NONE, 1, sizeof(s32) }, - { "animDive", LVT_S32, offsetof(struct Character, animDive), true, LOT_NONE, 1, sizeof(s32) }, - { "animDoubleJumpFall", LVT_S32, offsetof(struct Character, animDoubleJumpFall), true, LOT_NONE, 1, sizeof(s32) }, - { "animDoubleJumpRise", LVT_S32, offsetof(struct Character, animDoubleJumpRise), true, LOT_NONE, 1, sizeof(s32) }, - { "animDrowningPart1", LVT_S32, offsetof(struct Character, animDrowningPart1), true, LOT_NONE, 1, sizeof(s32) }, - { "animDrowningPart2", LVT_S32, offsetof(struct Character, animDrowningPart2), true, LOT_NONE, 1, sizeof(s32) }, - { "animDyingFallOver", LVT_S32, offsetof(struct Character, animDyingFallOver), true, LOT_NONE, 1, sizeof(s32) }, - { "animDyingInQuicksand", LVT_S32, offsetof(struct Character, animDyingInQuicksand), true, LOT_NONE, 1, sizeof(s32) }, - { "animDyingOnBack", LVT_S32, offsetof(struct Character, animDyingOnBack), true, LOT_NONE, 1, sizeof(s32) }, - { "animDyingOnStomach", LVT_S32, offsetof(struct Character, animDyingOnStomach), true, LOT_NONE, 1, sizeof(s32) }, - { "animElectrocution", LVT_S32, offsetof(struct Character, animElectrocution), true, LOT_NONE, 1, sizeof(s32) }, - { "animFallFromSlide", LVT_S32, offsetof(struct Character, animFallFromSlide), true, LOT_NONE, 1, sizeof(s32) }, - { "animFallFromSlideKick", LVT_S32, offsetof(struct Character, animFallFromSlideKick), true, LOT_NONE, 1, sizeof(s32) }, - { "animFallFromSlidingWithLightObj", LVT_S32, offsetof(struct Character, animFallFromSlidingWithLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animFallFromWater", LVT_S32, offsetof(struct Character, animFallFromWater), true, LOT_NONE, 1, sizeof(s32) }, - { "animFallLandWithLightObj", LVT_S32, offsetof(struct Character, animFallLandWithLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animFallOverBackwards", LVT_S32, offsetof(struct Character, animFallOverBackwards), true, LOT_NONE, 1, sizeof(s32) }, - { "animFallWithLightObj", LVT_S32, offsetof(struct Character, animFallWithLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animFastLedgeGrab", LVT_S32, offsetof(struct Character, animFastLedgeGrab), true, LOT_NONE, 1, sizeof(s32) }, - { "animFastLongjump", LVT_S32, offsetof(struct Character, animFastLongjump), true, LOT_NONE, 1, sizeof(s32) }, - { "animFinalBowserRaiseHandSpin", LVT_S32, offsetof(struct Character, animFinalBowserRaiseHandSpin), true, LOT_NONE, 1, sizeof(s32) }, - { "animFinalBowserWingCapTakeOff", LVT_S32, offsetof(struct Character, animFinalBowserWingCapTakeOff), true, LOT_NONE, 1, sizeof(s32) }, - { "animFireLavaBurn", LVT_S32, offsetof(struct Character, animFireLavaBurn), true, LOT_NONE, 1, sizeof(s32) }, - { "animFirstPerson", LVT_S32, offsetof(struct Character, animFirstPerson), true, LOT_NONE, 1, sizeof(s32) }, - { "animFirstPunch", LVT_S32, offsetof(struct Character, animFirstPunch), true, LOT_NONE, 1, sizeof(s32) }, - { "animFirstPunchFast", LVT_S32, offsetof(struct Character, animFirstPunchFast), true, LOT_NONE, 1, sizeof(s32) }, - { "animFlutterkick", LVT_S32, offsetof(struct Character, animFlutterkick), true, LOT_NONE, 1, sizeof(s32) }, - { "animFlutterkickWithObj", LVT_S32, offsetof(struct Character, animFlutterkickWithObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animFlyFromCannon", LVT_S32, offsetof(struct Character, animFlyFromCannon), true, LOT_NONE, 1, sizeof(s32) }, - { "animForwardFlip", LVT_S32, offsetof(struct Character, animForwardFlip), true, LOT_NONE, 1, sizeof(s32) }, - { "animForwardKb", LVT_S32, offsetof(struct Character, animForwardKb), true, LOT_NONE, 1, sizeof(s32) }, - { "animForwardSpinning", LVT_S32, offsetof(struct Character, animForwardSpinning), true, LOT_NONE, 1, sizeof(s32) }, - { "animForwardSpinningFlip", LVT_S32, offsetof(struct Character, animForwardSpinningFlip), true, LOT_NONE, 1, sizeof(s32) }, - { "animGeneralFall", LVT_S32, offsetof(struct Character, animGeneralFall), true, LOT_NONE, 1, sizeof(s32) }, - { "animGeneralLand", LVT_S32, offsetof(struct Character, animGeneralLand), true, LOT_NONE, 1, sizeof(s32) }, - { "animGrabBowser", LVT_S32, offsetof(struct Character, animGrabBowser), true, LOT_NONE, 1, sizeof(s32) }, - { "animGrabHeavyObject", LVT_S32, offsetof(struct Character, animGrabHeavyObject), true, LOT_NONE, 1, sizeof(s32) }, - { "animGrabPoleShort", LVT_S32, offsetof(struct Character, animGrabPoleShort), true, LOT_NONE, 1, sizeof(s32) }, - { "animGrabPoleSwingPart1", LVT_S32, offsetof(struct Character, animGrabPoleSwingPart1), true, LOT_NONE, 1, sizeof(s32) }, - { "animGrabPoleSwingPart2", LVT_S32, offsetof(struct Character, animGrabPoleSwingPart2), true, LOT_NONE, 1, sizeof(s32) }, - { "animGroundBonk", LVT_S32, offsetof(struct Character, animGroundBonk), true, LOT_NONE, 1, sizeof(s32) }, - { "animGroundKick", LVT_S32, offsetof(struct Character, animGroundKick), true, LOT_NONE, 1, sizeof(s32) }, - { "animGroundPound", LVT_S32, offsetof(struct Character, animGroundPound), true, LOT_NONE, 1, sizeof(s32) }, - { "animGroundPoundLanding", LVT_S32, offsetof(struct Character, animGroundPoundLanding), true, LOT_NONE, 1, sizeof(s32) }, - { "animGroundThrow", LVT_S32, offsetof(struct Character, animGroundThrow), true, LOT_NONE, 1, sizeof(s32) }, - { "animHandstandIdle", LVT_S32, offsetof(struct Character, animHandstandIdle), true, LOT_NONE, 1, sizeof(s32) }, - { "animHandstandJump", LVT_S32, offsetof(struct Character, animHandstandJump), true, LOT_NONE, 1, sizeof(s32) }, - { "animHandstandLeft", LVT_S32, offsetof(struct Character, animHandstandLeft), true, LOT_NONE, 1, sizeof(s32) }, - { "animHandstandRight", LVT_S32, offsetof(struct Character, animHandstandRight), true, LOT_NONE, 1, sizeof(s32) }, - { "animHangOnCeiling", LVT_S32, offsetof(struct Character, animHangOnCeiling), true, LOT_NONE, 1, sizeof(s32) }, - { "animHangOnOwl", LVT_S32, offsetof(struct Character, animHangOnOwl), true, LOT_NONE, 1, sizeof(s32) }, - { "animHeadStuckInGround", LVT_S32, offsetof(struct Character, animHeadStuckInGround), true, LOT_NONE, 1, sizeof(s32) }, - { "animHeavyThrow", LVT_S32, offsetof(struct Character, animHeavyThrow), true, LOT_NONE, 1, sizeof(s32) }, - { "animHoldingBowser", LVT_S32, offsetof(struct Character, animHoldingBowser), true, LOT_NONE, 1, sizeof(s32) }, - { "animIdleHeadCenter", LVT_S32, offsetof(struct Character, animIdleHeadCenter), true, LOT_NONE, 1, sizeof(s32) }, - { "animIdleHeadLeft", LVT_S32, offsetof(struct Character, animIdleHeadLeft), true, LOT_NONE, 1, sizeof(s32) }, - { "animIdleHeadRight", LVT_S32, offsetof(struct Character, animIdleHeadRight), true, LOT_NONE, 1, sizeof(s32) }, - { "animIdleHeavyObj", LVT_S32, offsetof(struct Character, animIdleHeavyObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animIdleInQuicksand", LVT_S32, offsetof(struct Character, animIdleInQuicksand), true, LOT_NONE, 1, sizeof(s32) }, - { "animIdleOnLedge", LVT_S32, offsetof(struct Character, animIdleOnLedge), true, LOT_NONE, 1, sizeof(s32) }, - { "animIdleOnPole", LVT_S32, offsetof(struct Character, animIdleOnPole), true, LOT_NONE, 1, sizeof(s32) }, - { "animIdleWithLightObj", LVT_S32, offsetof(struct Character, animIdleWithLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animJumpLandWithLightObj", LVT_S32, offsetof(struct Character, animJumpLandWithLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animJumpRidingShell", LVT_S32, offsetof(struct Character, animJumpRidingShell), true, LOT_NONE, 1, sizeof(s32) }, - { "animJumpWithLightObj", LVT_S32, offsetof(struct Character, animJumpWithLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animLandFromDoubleJump", LVT_S32, offsetof(struct Character, animLandFromDoubleJump), true, LOT_NONE, 1, sizeof(s32) }, - { "animLandFromSingleJump", LVT_S32, offsetof(struct Character, animLandFromSingleJump), true, LOT_NONE, 1, sizeof(s32) }, - { "animLandOnStomach", LVT_S32, offsetof(struct Character, animLandOnStomach), true, LOT_NONE, 1, sizeof(s32) }, - { "animLegsStuckInGround", LVT_S32, offsetof(struct Character, animLegsStuckInGround), true, LOT_NONE, 1, sizeof(s32) }, - { "animMissingCap", LVT_S32, offsetof(struct Character, animMissingCap), true, LOT_NONE, 1, sizeof(s32) }, - { "animMoveInQuicksand", LVT_S32, offsetof(struct Character, animMoveInQuicksand), true, LOT_NONE, 1, sizeof(s32) }, - { "animMoveOnWireNetLeft", LVT_S32, offsetof(struct Character, animMoveOnWireNetLeft), true, LOT_NONE, 1, sizeof(s32) }, - { "animMoveOnWireNetRight", LVT_S32, offsetof(struct Character, animMoveOnWireNetRight), true, LOT_NONE, 1, sizeof(s32) }, - { "animOffsetEnabled", LVT_U8, offsetof(struct Character, animOffsetEnabled), true, LOT_NONE, 1, sizeof(u8) }, - { "animOffsetFeet", LVT_F32, offsetof(struct Character, animOffsetFeet), true, LOT_NONE, 1, sizeof(f32) }, - { "animOffsetHand", LVT_F32, offsetof(struct Character, animOffsetHand), true, LOT_NONE, 1, sizeof(f32) }, - { "animOffsetLowYPoint", LVT_F32, offsetof(struct Character, animOffsetLowYPoint), true, LOT_NONE, 1, sizeof(f32) }, - { "animPickUpLightObj", LVT_S32, offsetof(struct Character, animPickUpLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animPlaceLightObj", LVT_S32, offsetof(struct Character, animPlaceLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animPullDoorWalkIn", LVT_S32, offsetof(struct Character, animPullDoorWalkIn), true, LOT_NONE, 1, sizeof(s32) }, - { "animPushDoorWalkIn", LVT_S32, offsetof(struct Character, animPushDoorWalkIn), true, LOT_NONE, 1, sizeof(s32) }, - { "animPushing", LVT_S32, offsetof(struct Character, animPushing), true, LOT_NONE, 1, sizeof(s32) }, - { "animPutCapOn", LVT_S32, offsetof(struct Character, animPutCapOn), true, LOT_NONE, 1, sizeof(s32) }, - { "animQuicklyPutCapOn", LVT_S32, offsetof(struct Character, animQuicklyPutCapOn), true, LOT_NONE, 1, sizeof(s32) }, - { "animReachPocket", LVT_S32, offsetof(struct Character, animReachPocket), true, LOT_NONE, 1, sizeof(s32) }, - { "animReleaseBowser", LVT_S32, offsetof(struct Character, animReleaseBowser), true, LOT_NONE, 1, sizeof(s32) }, - { "animReturnFromHandstand", LVT_S32, offsetof(struct Character, animReturnFromHandstand), true, LOT_NONE, 1, sizeof(s32) }, - { "animReturnFromStarDance", LVT_S32, offsetof(struct Character, animReturnFromStarDance), true, LOT_NONE, 1, sizeof(s32) }, - { "animReturnFromWaterStarDance", LVT_S32, offsetof(struct Character, animReturnFromWaterStarDance), true, LOT_NONE, 1, sizeof(s32) }, - { "animReturnStarApproachDoor", LVT_S32, offsetof(struct Character, animReturnStarApproachDoor), true, LOT_NONE, 1, sizeof(s32) }, - { "animRidingShell", LVT_S32, offsetof(struct Character, animRidingShell), true, LOT_NONE, 1, sizeof(s32) }, - { "animRunWithLightObj", LVT_S32, offsetof(struct Character, animRunWithLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animRunning", LVT_S32, offsetof(struct Character, animRunning), true, LOT_NONE, 1, sizeof(s32) }, - { "animRunningUnused", LVT_S32, offsetof(struct Character, animRunningUnused), true, LOT_NONE, 1, sizeof(s32) }, - { "animSecondPunch", LVT_S32, offsetof(struct Character, animSecondPunch), true, LOT_NONE, 1, sizeof(s32) }, - { "animSecondPunchFast", LVT_S32, offsetof(struct Character, animSecondPunchFast), true, LOT_NONE, 1, sizeof(s32) }, - { "animShivering", LVT_S32, offsetof(struct Character, animShivering), true, LOT_NONE, 1, sizeof(s32) }, - { "animShiveringReturnToIdle", LVT_S32, offsetof(struct Character, animShiveringReturnToIdle), true, LOT_NONE, 1, sizeof(s32) }, - { "animShiveringWarmingHand", LVT_S32, offsetof(struct Character, animShiveringWarmingHand), true, LOT_NONE, 1, sizeof(s32) }, - { "animShocked", LVT_S32, offsetof(struct Character, animShocked), true, LOT_NONE, 1, sizeof(s32) }, - { "animSidestepLeft", LVT_S32, offsetof(struct Character, animSidestepLeft), true, LOT_NONE, 1, sizeof(s32) }, - { "animSidestepRight", LVT_S32, offsetof(struct Character, animSidestepRight), true, LOT_NONE, 1, sizeof(s32) }, - { "animSingleJump", LVT_S32, offsetof(struct Character, animSingleJump), true, LOT_NONE, 1, sizeof(s32) }, - { "animSkidOnGround", LVT_S32, offsetof(struct Character, animSkidOnGround), true, LOT_NONE, 1, sizeof(s32) }, - { "animSleepIdle", LVT_S32, offsetof(struct Character, animSleepIdle), true, LOT_NONE, 1, sizeof(s32) }, - { "animSleepLying", LVT_S32, offsetof(struct Character, animSleepLying), true, LOT_NONE, 1, sizeof(s32) }, - { "animSleepStartLying", LVT_S32, offsetof(struct Character, animSleepStartLying), true, LOT_NONE, 1, sizeof(s32) }, - { "animSlide", LVT_S32, offsetof(struct Character, animSlide), true, LOT_NONE, 1, sizeof(s32) }, - { "animSlideDive", LVT_S32, offsetof(struct Character, animSlideDive), true, LOT_NONE, 1, sizeof(s32) }, - { "animSlideKick", LVT_S32, offsetof(struct Character, animSlideKick), true, LOT_NONE, 1, sizeof(s32) }, - { "animSlideMotionless", LVT_S32, offsetof(struct Character, animSlideMotionless), true, LOT_NONE, 1, sizeof(s32) }, - { "animSlideflip", LVT_S32, offsetof(struct Character, animSlideflip), true, LOT_NONE, 1, sizeof(s32) }, - { "animSlideflipLand", LVT_S32, offsetof(struct Character, animSlideflipLand), true, LOT_NONE, 1, sizeof(s32) }, - { "animSlidejump", LVT_S32, offsetof(struct Character, animSlidejump), true, LOT_NONE, 1, sizeof(s32) }, - { "animSlidingOnBottomWithLightObj", LVT_S32, offsetof(struct Character, animSlidingOnBottomWithLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animSlowLandFromDive", LVT_S32, offsetof(struct Character, animSlowLandFromDive), true, LOT_NONE, 1, sizeof(s32) }, - { "animSlowLedgeGrab", LVT_S32, offsetof(struct Character, animSlowLedgeGrab), true, LOT_NONE, 1, sizeof(s32) }, - { "animSlowLongjump", LVT_S32, offsetof(struct Character, animSlowLongjump), true, LOT_NONE, 1, sizeof(s32) }, - { "animSlowWalkWithLightObj", LVT_S32, offsetof(struct Character, animSlowWalkWithLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animSoftBackKb", LVT_S32, offsetof(struct Character, animSoftBackKb), true, LOT_NONE, 1, sizeof(s32) }, - { "animSoftFrontKb", LVT_S32, offsetof(struct Character, animSoftFrontKb), true, LOT_NONE, 1, sizeof(s32) }, - { "animStandAgainstWall", LVT_S32, offsetof(struct Character, animStandAgainstWall), true, LOT_NONE, 1, sizeof(s32) }, - { "animStandUpFromLavaBoost", LVT_S32, offsetof(struct Character, animStandUpFromLavaBoost), true, LOT_NONE, 1, sizeof(s32) }, - { "animStandUpFromSlidingWithLightObj", LVT_S32, offsetof(struct Character, animStandUpFromSlidingWithLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animStarDance", LVT_S32, offsetof(struct Character, animStarDance), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartCrawling", LVT_S32, offsetof(struct Character, animStartCrawling), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartCrouching", LVT_S32, offsetof(struct Character, animStartCrouching), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartForwardSpinning", LVT_S32, offsetof(struct Character, animStartForwardSpinning), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartGroundPound", LVT_S32, offsetof(struct Character, animStartGroundPound), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartHandstand", LVT_S32, offsetof(struct Character, animStartHandstand), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartReachPocket", LVT_S32, offsetof(struct Character, animStartReachPocket), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartRidingShell", LVT_S32, offsetof(struct Character, animStartRidingShell), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartSleepIdle", LVT_S32, offsetof(struct Character, animStartSleepIdle), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartSleepScratch", LVT_S32, offsetof(struct Character, animStartSleepScratch), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartSleepSitting", LVT_S32, offsetof(struct Character, animStartSleepSitting), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartSleepYawn", LVT_S32, offsetof(struct Character, animStartSleepYawn), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartTiptoe", LVT_S32, offsetof(struct Character, animStartTiptoe), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartTwirl", LVT_S32, offsetof(struct Character, animStartTwirl), true, LOT_NONE, 1, sizeof(s32) }, - { "animStartWallkick", LVT_S32, offsetof(struct Character, animStartWallkick), true, LOT_NONE, 1, sizeof(s32) }, - { "animStopCrawling", LVT_S32, offsetof(struct Character, animStopCrawling), true, LOT_NONE, 1, sizeof(s32) }, - { "animStopCrouching", LVT_S32, offsetof(struct Character, animStopCrouching), true, LOT_NONE, 1, sizeof(s32) }, - { "animStopGrabObjWater", LVT_S32, offsetof(struct Character, animStopGrabObjWater), true, LOT_NONE, 1, sizeof(s32) }, - { "animStopReachPocket", LVT_S32, offsetof(struct Character, animStopReachPocket), true, LOT_NONE, 1, sizeof(s32) }, - { "animStopSkid", LVT_S32, offsetof(struct Character, animStopSkid), true, LOT_NONE, 1, sizeof(s32) }, - { "animStopSlide", LVT_S32, offsetof(struct Character, animStopSlide), true, LOT_NONE, 1, sizeof(s32) }, - { "animStopSlideLightObj", LVT_S32, offsetof(struct Character, animStopSlideLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animSuffocating", LVT_S32, offsetof(struct Character, animSuffocating), true, LOT_NONE, 1, sizeof(s32) }, - { "animSummonStar", LVT_S32, offsetof(struct Character, animSummonStar), true, LOT_NONE, 1, sizeof(s32) }, - { "animSwimPart1", LVT_S32, offsetof(struct Character, animSwimPart1), true, LOT_NONE, 1, sizeof(s32) }, - { "animSwimPart2", LVT_S32, offsetof(struct Character, animSwimPart2), true, LOT_NONE, 1, sizeof(s32) }, - { "animSwimWithObjPart1", LVT_S32, offsetof(struct Character, animSwimWithObjPart1), true, LOT_NONE, 1, sizeof(s32) }, - { "animSwimWithObjPart2", LVT_S32, offsetof(struct Character, animSwimWithObjPart2), true, LOT_NONE, 1, sizeof(s32) }, - { "animSwingingBowser", LVT_S32, offsetof(struct Character, animSwingingBowser), true, LOT_NONE, 1, sizeof(s32) }, - { "animTakeCapOffThenOn", LVT_S32, offsetof(struct Character, animTakeCapOffThenOn), true, LOT_NONE, 1, sizeof(s32) }, - { "animThrowCatchKey", LVT_S32, offsetof(struct Character, animThrowCatchKey), true, LOT_NONE, 1, sizeof(s32) }, - { "animThrowLightObject", LVT_S32, offsetof(struct Character, animThrowLightObject), true, LOT_NONE, 1, sizeof(s32) }, - { "animTiptoe", LVT_S32, offsetof(struct Character, animTiptoe), true, LOT_NONE, 1, sizeof(s32) }, - { "animTripleJump", LVT_S32, offsetof(struct Character, animTripleJump), true, LOT_NONE, 1, sizeof(s32) }, - { "animTripleJumpFly", LVT_S32, offsetof(struct Character, animTripleJumpFly), true, LOT_NONE, 1, sizeof(s32) }, - { "animTripleJumpGroundPound", LVT_S32, offsetof(struct Character, animTripleJumpGroundPound), true, LOT_NONE, 1, sizeof(s32) }, - { "animTripleJumpLand", LVT_S32, offsetof(struct Character, animTripleJumpLand), true, LOT_NONE, 1, sizeof(s32) }, - { "animTurningPart1", LVT_S32, offsetof(struct Character, animTurningPart1), true, LOT_NONE, 1, sizeof(s32) }, - { "animTurningPart2", LVT_S32, offsetof(struct Character, animTurningPart2), true, LOT_NONE, 1, sizeof(s32) }, - { "animTwirl", LVT_S32, offsetof(struct Character, animTwirl), true, LOT_NONE, 1, sizeof(s32) }, - { "animTwirlLand", LVT_S32, offsetof(struct Character, animTwirlLand), true, LOT_NONE, 1, sizeof(s32) }, - { "animUnlockDoor", LVT_S32, offsetof(struct Character, animUnlockDoor), true, LOT_NONE, 1, sizeof(s32) }, - { "animWakeFromLying", LVT_S32, offsetof(struct Character, animWakeFromLying), true, LOT_NONE, 1, sizeof(s32) }, - { "animWakeFromSleep", LVT_S32, offsetof(struct Character, animWakeFromSleep), true, LOT_NONE, 1, sizeof(s32) }, - { "animWalkPanting", LVT_S32, offsetof(struct Character, animWalkPanting), true, LOT_NONE, 1, sizeof(s32) }, - { "animWalkWithHeavyObj", LVT_S32, offsetof(struct Character, animWalkWithHeavyObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animWalkWithLightObj", LVT_S32, offsetof(struct Character, animWalkWithLightObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animWalking", LVT_S32, offsetof(struct Character, animWalking), true, LOT_NONE, 1, sizeof(s32) }, - { "animWaterActionEnd", LVT_S32, offsetof(struct Character, animWaterActionEnd), true, LOT_NONE, 1, sizeof(s32) }, - { "animWaterActionEndWithObj", LVT_S32, offsetof(struct Character, animWaterActionEndWithObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animWaterDying", LVT_S32, offsetof(struct Character, animWaterDying), true, LOT_NONE, 1, sizeof(s32) }, - { "animWaterForwardKb", LVT_S32, offsetof(struct Character, animWaterForwardKb), true, LOT_NONE, 1, sizeof(s32) }, - { "animWaterGrabObjPart1", LVT_S32, offsetof(struct Character, animWaterGrabObjPart1), true, LOT_NONE, 1, sizeof(s32) }, - { "animWaterGrabObjPart2", LVT_S32, offsetof(struct Character, animWaterGrabObjPart2), true, LOT_NONE, 1, sizeof(s32) }, - { "animWaterIdle", LVT_S32, offsetof(struct Character, animWaterIdle), true, LOT_NONE, 1, sizeof(s32) }, - { "animWaterIdleWithObj", LVT_S32, offsetof(struct Character, animWaterIdleWithObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animWaterPickUpObj", LVT_S32, offsetof(struct Character, animWaterPickUpObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animWaterStarDance", LVT_S32, offsetof(struct Character, animWaterStarDance), true, LOT_NONE, 1, sizeof(s32) }, - { "animWaterThrowObj", LVT_S32, offsetof(struct Character, animWaterThrowObj), true, LOT_NONE, 1, sizeof(s32) }, - { "animWingCapFly", LVT_S32, offsetof(struct Character, animWingCapFly), true, LOT_NONE, 1, sizeof(s32) }, - { "anims", LVT_S32, offsetof(struct Character, anims), true, LOT_NONE, CHAR_ANIM_MAX, sizeof(s32) }, - { "cameraHudHead", LVT_U32, offsetof(struct Character, cameraHudHead), true, LOT_NONE, 1, sizeof(u32) }, - { "capEnemyDecalGfx", LVT_COBJECT_P, offsetof(struct Character, capEnemyDecalGfx), true, LOT_GFX, 1, sizeof(Gfx*) }, - { "capEnemyGfx", LVT_COBJECT_P, offsetof(struct Character, capEnemyGfx), true, LOT_GFX, 1, sizeof(Gfx*) }, - { "capEnemyLayer", LVT_U8, offsetof(struct Character, capEnemyLayer), true, LOT_NONE, 1, sizeof(u8) }, - { "capMetalModelId", LVT_U32, offsetof(struct Character, capMetalModelId), true, LOT_NONE, 1, sizeof(u32) }, - { "capMetalWingModelId", LVT_U32, offsetof(struct Character, capMetalWingModelId), true, LOT_NONE, 1, sizeof(u32) }, - { "capModelId", LVT_U32, offsetof(struct Character, capModelId), true, LOT_NONE, 1, sizeof(u32) }, - { "capWingModelId", LVT_U32, offsetof(struct Character, capWingModelId), true, LOT_NONE, 1, sizeof(u32) }, - { "hudHead", LVT_U8, offsetof(struct Character, hudHead), true, LOT_NONE, 1, sizeof(char) }, - { "hudHeadTexture", LVT_COBJECT, offsetof(struct Character, hudHeadTexture), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "modelId", LVT_U32, offsetof(struct Character, modelId), true, LOT_NONE, 1, sizeof(u32) }, - { "name", LVT_STRING_P, offsetof(struct Character, name), true, LOT_NONE, 1, sizeof(char*) }, - { "soundAttacked", LVT_S32, offsetof(struct Character, soundAttacked), true, LOT_NONE, 1, sizeof(s32) }, - { "soundCoughing1", LVT_S32, offsetof(struct Character, soundCoughing1), true, LOT_NONE, 1, sizeof(s32) }, - { "soundCoughing2", LVT_S32, offsetof(struct Character, soundCoughing2), true, LOT_NONE, 1, sizeof(s32) }, - { "soundCoughing3", LVT_S32, offsetof(struct Character, soundCoughing3), true, LOT_NONE, 1, sizeof(s32) }, - { "soundDoh", LVT_S32, offsetof(struct Character, soundDoh), true, LOT_NONE, 1, sizeof(s32) }, - { "soundDrowning", LVT_S32, offsetof(struct Character, soundDrowning), true, LOT_NONE, 1, sizeof(s32) }, - { "soundDying", LVT_S32, offsetof(struct Character, soundDying), true, LOT_NONE, 1, sizeof(s32) }, - { "soundEeuh", LVT_S32, offsetof(struct Character, soundEeuh), true, LOT_NONE, 1, sizeof(s32) }, - { "soundFreqScale", LVT_F32, offsetof(struct Character, soundFreqScale), true, LOT_NONE, 1, sizeof(f32) }, - { "soundGameOver", LVT_S32, offsetof(struct Character, soundGameOver), true, LOT_NONE, 1, sizeof(s32) }, - { "soundGroundPoundWah", LVT_S32, offsetof(struct Character, soundGroundPoundWah), true, LOT_NONE, 1, sizeof(s32) }, - { "soundHaha", LVT_S32, offsetof(struct Character, soundHaha), true, LOT_NONE, 1, sizeof(s32) }, - { "soundHaha_2", LVT_S32, offsetof(struct Character, soundHaha_2), true, LOT_NONE, 1, sizeof(s32) }, - { "soundHello", LVT_S32, offsetof(struct Character, soundHello), true, LOT_NONE, 1, sizeof(s32) }, - { "soundHereWeGo", LVT_S32, offsetof(struct Character, soundHereWeGo), true, LOT_NONE, 1, sizeof(s32) }, - { "soundHoohoo", LVT_S32, offsetof(struct Character, soundHoohoo), true, LOT_NONE, 1, sizeof(s32) }, - { "soundHrmm", LVT_S32, offsetof(struct Character, soundHrmm), true, LOT_NONE, 1, sizeof(s32) }, - { "soundImaTired", LVT_S32, offsetof(struct Character, soundImaTired), true, LOT_NONE, 1, sizeof(s32) }, - { "soundLetsAGo", LVT_S32, offsetof(struct Character, soundLetsAGo), true, LOT_NONE, 1, sizeof(s32) }, - { "soundMamaMia", LVT_S32, offsetof(struct Character, soundMamaMia), true, LOT_NONE, 1, sizeof(s32) }, - { "soundOkeyDokey", LVT_S32, offsetof(struct Character, soundOkeyDokey), true, LOT_NONE, 1, sizeof(s32) }, - { "soundOnFire", LVT_S32, offsetof(struct Character, soundOnFire), true, LOT_NONE, 1, sizeof(s32) }, - { "soundOoof", LVT_S32, offsetof(struct Character, soundOoof), true, LOT_NONE, 1, sizeof(s32) }, - { "soundOoof2", LVT_S32, offsetof(struct Character, soundOoof2), true, LOT_NONE, 1, sizeof(s32) }, - { "soundPanting", LVT_S32, offsetof(struct Character, soundPanting), true, LOT_NONE, 1, sizeof(s32) }, - { "soundPantingCold", LVT_S32, offsetof(struct Character, soundPantingCold), true, LOT_NONE, 1, sizeof(s32) }, - { "soundPressStartToPlay", LVT_S32, offsetof(struct Character, soundPressStartToPlay), true, LOT_NONE, 1, sizeof(s32) }, - { "soundPunchHoo", LVT_S32, offsetof(struct Character, soundPunchHoo), true, LOT_NONE, 1, sizeof(s32) }, - { "soundPunchWah", LVT_S32, offsetof(struct Character, soundPunchWah), true, LOT_NONE, 1, sizeof(s32) }, - { "soundPunchYah", LVT_S32, offsetof(struct Character, soundPunchYah), true, LOT_NONE, 1, sizeof(s32) }, - { "soundSnoring1", LVT_S32, offsetof(struct Character, soundSnoring1), true, LOT_NONE, 1, sizeof(s32) }, - { "soundSnoring2", LVT_S32, offsetof(struct Character, soundSnoring2), true, LOT_NONE, 1, sizeof(s32) }, - { "soundSnoring3", LVT_S32, offsetof(struct Character, soundSnoring3), true, LOT_NONE, 1, sizeof(s32) }, - { "soundSoLongaBowser", LVT_S32, offsetof(struct Character, soundSoLongaBowser), true, LOT_NONE, 1, sizeof(s32) }, - { "soundTwirlBounce", LVT_S32, offsetof(struct Character, soundTwirlBounce), true, LOT_NONE, 1, sizeof(s32) }, - { "soundUh", LVT_S32, offsetof(struct Character, soundUh), true, LOT_NONE, 1, sizeof(s32) }, - { "soundUh2", LVT_S32, offsetof(struct Character, soundUh2), true, LOT_NONE, 1, sizeof(s32) }, - { "soundUh2_2", LVT_S32, offsetof(struct Character, soundUh2_2), true, LOT_NONE, 1, sizeof(s32) }, - { "soundWaaaooow", LVT_S32, offsetof(struct Character, soundWaaaooow), true, LOT_NONE, 1, sizeof(s32) }, - { "soundWah2", LVT_S32, offsetof(struct Character, soundWah2), true, LOT_NONE, 1, sizeof(s32) }, - { "soundWhoa", LVT_S32, offsetof(struct Character, soundWhoa), true, LOT_NONE, 1, sizeof(s32) }, - { "soundYahWahHoo", LVT_S32, offsetof(struct Character, soundYahWahHoo), true, LOT_NONE, 1, sizeof(s32) }, - { "soundYahoo", LVT_S32, offsetof(struct Character, soundYahoo), true, LOT_NONE, 1, sizeof(s32) }, - { "soundYahooWahaYippee", LVT_S32, offsetof(struct Character, soundYahooWahaYippee), true, LOT_NONE, 1, sizeof(s32) }, - { "soundYawning", LVT_S32, offsetof(struct Character, soundYawning), true, LOT_NONE, 1, sizeof(s32) }, - { "sounds", LVT_S32, offsetof(struct Character, sounds), true, LOT_NONE, CHAR_SOUND_MAX, sizeof(s32) }, - { "torsoRotMult", LVT_F32, offsetof(struct Character, torsoRotMult), true, LOT_NONE, 1, sizeof(f32) }, - { "type", LVT_S32, offsetof(struct Character, type), true, LOT_NONE, 1, sizeof(enum CharacterType) }, + { "animAPose", LVT_S32, offsetof(struct Character, animAPose), true, LOT_NONE }, + { "animAirForwardKb", LVT_S32, offsetof(struct Character, animAirForwardKb), true, LOT_NONE }, + { "animAirKick", LVT_S32, offsetof(struct Character, animAirKick), true, LOT_NONE }, + { "animAirborneOnStomach", LVT_S32, offsetof(struct Character, animAirborneOnStomach), true, LOT_NONE }, + { "animBackflip", LVT_S32, offsetof(struct Character, animBackflip), true, LOT_NONE }, + { "animBackwardAirKb", LVT_S32, offsetof(struct Character, animBackwardAirKb), true, LOT_NONE }, + { "animBackwardKb", LVT_S32, offsetof(struct Character, animBackwardKb), true, LOT_NONE }, + { "animBackwardSpinning", LVT_S32, offsetof(struct Character, animBackwardSpinning), true, LOT_NONE }, + { "animBackwardsWaterKb", LVT_S32, offsetof(struct Character, animBackwardsWaterKb), true, LOT_NONE }, + { "animBeingGrabbed", LVT_S32, offsetof(struct Character, animBeingGrabbed), true, LOT_NONE }, + { "animBendKnessRidingShell", LVT_S32, offsetof(struct Character, animBendKnessRidingShell), true, LOT_NONE }, + { "animBottomStuckInGround", LVT_S32, offsetof(struct Character, animBottomStuckInGround), true, LOT_NONE }, + { "animBreakdance", LVT_S32, offsetof(struct Character, animBreakdance), true, LOT_NONE }, + { "animClimbDownLedge", LVT_S32, offsetof(struct Character, animClimbDownLedge), true, LOT_NONE }, + { "animClimbUpPole", LVT_S32, offsetof(struct Character, animClimbUpPole), true, LOT_NONE }, + { "animCoughing", LVT_S32, offsetof(struct Character, animCoughing), true, LOT_NONE }, + { "animCrawling", LVT_S32, offsetof(struct Character, animCrawling), true, LOT_NONE }, + { "animCreditsLookBackThenRun", LVT_S32, offsetof(struct Character, animCreditsLookBackThenRun), true, LOT_NONE }, + { "animCreditsLookUp", LVT_S32, offsetof(struct Character, animCreditsLookUp), true, LOT_NONE }, + { "animCreditsLowerHand", LVT_S32, offsetof(struct Character, animCreditsLowerHand), true, LOT_NONE }, + { "animCreditsPeaceSign", LVT_S32, offsetof(struct Character, animCreditsPeaceSign), true, LOT_NONE }, + { "animCreditsRaiseHand", LVT_S32, offsetof(struct Character, animCreditsRaiseHand), true, LOT_NONE }, + { "animCreditsReturnFromLookUp", LVT_S32, offsetof(struct Character, animCreditsReturnFromLookUp), true, LOT_NONE }, + { "animCreditsStartWalkLookUp", LVT_S32, offsetof(struct Character, animCreditsStartWalkLookUp), true, LOT_NONE }, + { "animCreditsTakeOffCap", LVT_S32, offsetof(struct Character, animCreditsTakeOffCap), true, LOT_NONE }, + { "animCreditsWaving", LVT_S32, offsetof(struct Character, animCreditsWaving), true, LOT_NONE }, + { "animCrouchFromFastLongjump", LVT_S32, offsetof(struct Character, animCrouchFromFastLongjump), true, LOT_NONE }, + { "animCrouchFromSlideKick", LVT_S32, offsetof(struct Character, animCrouchFromSlideKick), true, LOT_NONE }, + { "animCrouchFromSlowLongjump", LVT_S32, offsetof(struct Character, animCrouchFromSlowLongjump), true, LOT_NONE }, + { "animCrouching", LVT_S32, offsetof(struct Character, animCrouching), true, LOT_NONE }, + { "animDive", LVT_S32, offsetof(struct Character, animDive), true, LOT_NONE }, + { "animDoubleJumpFall", LVT_S32, offsetof(struct Character, animDoubleJumpFall), true, LOT_NONE }, + { "animDoubleJumpRise", LVT_S32, offsetof(struct Character, animDoubleJumpRise), true, LOT_NONE }, + { "animDrowningPart1", LVT_S32, offsetof(struct Character, animDrowningPart1), true, LOT_NONE }, + { "animDrowningPart2", LVT_S32, offsetof(struct Character, animDrowningPart2), true, LOT_NONE }, + { "animDyingFallOver", LVT_S32, offsetof(struct Character, animDyingFallOver), true, LOT_NONE }, + { "animDyingInQuicksand", LVT_S32, offsetof(struct Character, animDyingInQuicksand), true, LOT_NONE }, + { "animDyingOnBack", LVT_S32, offsetof(struct Character, animDyingOnBack), true, LOT_NONE }, + { "animDyingOnStomach", LVT_S32, offsetof(struct Character, animDyingOnStomach), true, LOT_NONE }, + { "animElectrocution", LVT_S32, offsetof(struct Character, animElectrocution), true, LOT_NONE }, + { "animFallFromSlide", LVT_S32, offsetof(struct Character, animFallFromSlide), true, LOT_NONE }, + { "animFallFromSlideKick", LVT_S32, offsetof(struct Character, animFallFromSlideKick), true, LOT_NONE }, + { "animFallFromSlidingWithLightObj", LVT_S32, offsetof(struct Character, animFallFromSlidingWithLightObj), true, LOT_NONE }, + { "animFallFromWater", LVT_S32, offsetof(struct Character, animFallFromWater), true, LOT_NONE }, + { "animFallLandWithLightObj", LVT_S32, offsetof(struct Character, animFallLandWithLightObj), true, LOT_NONE }, + { "animFallOverBackwards", LVT_S32, offsetof(struct Character, animFallOverBackwards), true, LOT_NONE }, + { "animFallWithLightObj", LVT_S32, offsetof(struct Character, animFallWithLightObj), true, LOT_NONE }, + { "animFastLedgeGrab", LVT_S32, offsetof(struct Character, animFastLedgeGrab), true, LOT_NONE }, + { "animFastLongjump", LVT_S32, offsetof(struct Character, animFastLongjump), true, LOT_NONE }, + { "animFinalBowserRaiseHandSpin", LVT_S32, offsetof(struct Character, animFinalBowserRaiseHandSpin), true, LOT_NONE }, + { "animFinalBowserWingCapTakeOff", LVT_S32, offsetof(struct Character, animFinalBowserWingCapTakeOff), true, LOT_NONE }, + { "animFireLavaBurn", LVT_S32, offsetof(struct Character, animFireLavaBurn), true, LOT_NONE }, + { "animFirstPerson", LVT_S32, offsetof(struct Character, animFirstPerson), true, LOT_NONE }, + { "animFirstPunch", LVT_S32, offsetof(struct Character, animFirstPunch), true, LOT_NONE }, + { "animFirstPunchFast", LVT_S32, offsetof(struct Character, animFirstPunchFast), true, LOT_NONE }, + { "animFlutterkick", LVT_S32, offsetof(struct Character, animFlutterkick), true, LOT_NONE }, + { "animFlutterkickWithObj", LVT_S32, offsetof(struct Character, animFlutterkickWithObj), true, LOT_NONE }, + { "animFlyFromCannon", LVT_S32, offsetof(struct Character, animFlyFromCannon), true, LOT_NONE }, + { "animForwardFlip", LVT_S32, offsetof(struct Character, animForwardFlip), true, LOT_NONE }, + { "animForwardKb", LVT_S32, offsetof(struct Character, animForwardKb), true, LOT_NONE }, + { "animForwardSpinning", LVT_S32, offsetof(struct Character, animForwardSpinning), true, LOT_NONE }, + { "animForwardSpinningFlip", LVT_S32, offsetof(struct Character, animForwardSpinningFlip), true, LOT_NONE }, + { "animGeneralFall", LVT_S32, offsetof(struct Character, animGeneralFall), true, LOT_NONE }, + { "animGeneralLand", LVT_S32, offsetof(struct Character, animGeneralLand), true, LOT_NONE }, + { "animGrabBowser", LVT_S32, offsetof(struct Character, animGrabBowser), true, LOT_NONE }, + { "animGrabHeavyObject", LVT_S32, offsetof(struct Character, animGrabHeavyObject), true, LOT_NONE }, + { "animGrabPoleShort", LVT_S32, offsetof(struct Character, animGrabPoleShort), true, LOT_NONE }, + { "animGrabPoleSwingPart1", LVT_S32, offsetof(struct Character, animGrabPoleSwingPart1), true, LOT_NONE }, + { "animGrabPoleSwingPart2", LVT_S32, offsetof(struct Character, animGrabPoleSwingPart2), true, LOT_NONE }, + { "animGroundBonk", LVT_S32, offsetof(struct Character, animGroundBonk), true, LOT_NONE }, + { "animGroundKick", LVT_S32, offsetof(struct Character, animGroundKick), true, LOT_NONE }, + { "animGroundPound", LVT_S32, offsetof(struct Character, animGroundPound), true, LOT_NONE }, + { "animGroundPoundLanding", LVT_S32, offsetof(struct Character, animGroundPoundLanding), true, LOT_NONE }, + { "animGroundThrow", LVT_S32, offsetof(struct Character, animGroundThrow), true, LOT_NONE }, + { "animHandstandIdle", LVT_S32, offsetof(struct Character, animHandstandIdle), true, LOT_NONE }, + { "animHandstandJump", LVT_S32, offsetof(struct Character, animHandstandJump), true, LOT_NONE }, + { "animHandstandLeft", LVT_S32, offsetof(struct Character, animHandstandLeft), true, LOT_NONE }, + { "animHandstandRight", LVT_S32, offsetof(struct Character, animHandstandRight), true, LOT_NONE }, + { "animHangOnCeiling", LVT_S32, offsetof(struct Character, animHangOnCeiling), true, LOT_NONE }, + { "animHangOnOwl", LVT_S32, offsetof(struct Character, animHangOnOwl), true, LOT_NONE }, + { "animHeadStuckInGround", LVT_S32, offsetof(struct Character, animHeadStuckInGround), true, LOT_NONE }, + { "animHeavyThrow", LVT_S32, offsetof(struct Character, animHeavyThrow), true, LOT_NONE }, + { "animHoldingBowser", LVT_S32, offsetof(struct Character, animHoldingBowser), true, LOT_NONE }, + { "animIdleHeadCenter", LVT_S32, offsetof(struct Character, animIdleHeadCenter), true, LOT_NONE }, + { "animIdleHeadLeft", LVT_S32, offsetof(struct Character, animIdleHeadLeft), true, LOT_NONE }, + { "animIdleHeadRight", LVT_S32, offsetof(struct Character, animIdleHeadRight), true, LOT_NONE }, + { "animIdleHeavyObj", LVT_S32, offsetof(struct Character, animIdleHeavyObj), true, LOT_NONE }, + { "animIdleInQuicksand", LVT_S32, offsetof(struct Character, animIdleInQuicksand), true, LOT_NONE }, + { "animIdleOnLedge", LVT_S32, offsetof(struct Character, animIdleOnLedge), true, LOT_NONE }, + { "animIdleOnPole", LVT_S32, offsetof(struct Character, animIdleOnPole), true, LOT_NONE }, + { "animIdleWithLightObj", LVT_S32, offsetof(struct Character, animIdleWithLightObj), true, LOT_NONE }, + { "animJumpLandWithLightObj", LVT_S32, offsetof(struct Character, animJumpLandWithLightObj), true, LOT_NONE }, + { "animJumpRidingShell", LVT_S32, offsetof(struct Character, animJumpRidingShell), true, LOT_NONE }, + { "animJumpWithLightObj", LVT_S32, offsetof(struct Character, animJumpWithLightObj), true, LOT_NONE }, + { "animLandFromDoubleJump", LVT_S32, offsetof(struct Character, animLandFromDoubleJump), true, LOT_NONE }, + { "animLandFromSingleJump", LVT_S32, offsetof(struct Character, animLandFromSingleJump), true, LOT_NONE }, + { "animLandOnStomach", LVT_S32, offsetof(struct Character, animLandOnStomach), true, LOT_NONE }, + { "animLegsStuckInGround", LVT_S32, offsetof(struct Character, animLegsStuckInGround), true, LOT_NONE }, + { "animMissingCap", LVT_S32, offsetof(struct Character, animMissingCap), true, LOT_NONE }, + { "animMoveInQuicksand", LVT_S32, offsetof(struct Character, animMoveInQuicksand), true, LOT_NONE }, + { "animMoveOnWireNetLeft", LVT_S32, offsetof(struct Character, animMoveOnWireNetLeft), true, LOT_NONE }, + { "animMoveOnWireNetRight", LVT_S32, offsetof(struct Character, animMoveOnWireNetRight), true, LOT_NONE }, + { "animOffsetEnabled", LVT_U8, offsetof(struct Character, animOffsetEnabled), true, LOT_NONE }, + { "animOffsetFeet", LVT_F32, offsetof(struct Character, animOffsetFeet), true, LOT_NONE }, + { "animOffsetHand", LVT_F32, offsetof(struct Character, animOffsetHand), true, LOT_NONE }, + { "animOffsetLowYPoint", LVT_F32, offsetof(struct Character, animOffsetLowYPoint), true, LOT_NONE }, + { "animPickUpLightObj", LVT_S32, offsetof(struct Character, animPickUpLightObj), true, LOT_NONE }, + { "animPlaceLightObj", LVT_S32, offsetof(struct Character, animPlaceLightObj), true, LOT_NONE }, + { "animPullDoorWalkIn", LVT_S32, offsetof(struct Character, animPullDoorWalkIn), true, LOT_NONE }, + { "animPushDoorWalkIn", LVT_S32, offsetof(struct Character, animPushDoorWalkIn), true, LOT_NONE }, + { "animPushing", LVT_S32, offsetof(struct Character, animPushing), true, LOT_NONE }, + { "animPutCapOn", LVT_S32, offsetof(struct Character, animPutCapOn), true, LOT_NONE }, + { "animQuicklyPutCapOn", LVT_S32, offsetof(struct Character, animQuicklyPutCapOn), true, LOT_NONE }, + { "animReachPocket", LVT_S32, offsetof(struct Character, animReachPocket), true, LOT_NONE }, + { "animReleaseBowser", LVT_S32, offsetof(struct Character, animReleaseBowser), true, LOT_NONE }, + { "animReturnFromHandstand", LVT_S32, offsetof(struct Character, animReturnFromHandstand), true, LOT_NONE }, + { "animReturnFromStarDance", LVT_S32, offsetof(struct Character, animReturnFromStarDance), true, LOT_NONE }, + { "animReturnFromWaterStarDance", LVT_S32, offsetof(struct Character, animReturnFromWaterStarDance), true, LOT_NONE }, + { "animReturnStarApproachDoor", LVT_S32, offsetof(struct Character, animReturnStarApproachDoor), true, LOT_NONE }, + { "animRidingShell", LVT_S32, offsetof(struct Character, animRidingShell), true, LOT_NONE }, + { "animRunWithLightObj", LVT_S32, offsetof(struct Character, animRunWithLightObj), true, LOT_NONE }, + { "animRunning", LVT_S32, offsetof(struct Character, animRunning), true, LOT_NONE }, + { "animRunningUnused", LVT_S32, offsetof(struct Character, animRunningUnused), true, LOT_NONE }, + { "animSecondPunch", LVT_S32, offsetof(struct Character, animSecondPunch), true, LOT_NONE }, + { "animSecondPunchFast", LVT_S32, offsetof(struct Character, animSecondPunchFast), true, LOT_NONE }, + { "animShivering", LVT_S32, offsetof(struct Character, animShivering), true, LOT_NONE }, + { "animShiveringReturnToIdle", LVT_S32, offsetof(struct Character, animShiveringReturnToIdle), true, LOT_NONE }, + { "animShiveringWarmingHand", LVT_S32, offsetof(struct Character, animShiveringWarmingHand), true, LOT_NONE }, + { "animShocked", LVT_S32, offsetof(struct Character, animShocked), true, LOT_NONE }, + { "animSidestepLeft", LVT_S32, offsetof(struct Character, animSidestepLeft), true, LOT_NONE }, + { "animSidestepRight", LVT_S32, offsetof(struct Character, animSidestepRight), true, LOT_NONE }, + { "animSingleJump", LVT_S32, offsetof(struct Character, animSingleJump), true, LOT_NONE }, + { "animSkidOnGround", LVT_S32, offsetof(struct Character, animSkidOnGround), true, LOT_NONE }, + { "animSleepIdle", LVT_S32, offsetof(struct Character, animSleepIdle), true, LOT_NONE }, + { "animSleepLying", LVT_S32, offsetof(struct Character, animSleepLying), true, LOT_NONE }, + { "animSleepStartLying", LVT_S32, offsetof(struct Character, animSleepStartLying), true, LOT_NONE }, + { "animSlide", LVT_S32, offsetof(struct Character, animSlide), true, LOT_NONE }, + { "animSlideDive", LVT_S32, offsetof(struct Character, animSlideDive), true, LOT_NONE }, + { "animSlideKick", LVT_S32, offsetof(struct Character, animSlideKick), true, LOT_NONE }, + { "animSlideMotionless", LVT_S32, offsetof(struct Character, animSlideMotionless), true, LOT_NONE }, + { "animSlideflip", LVT_S32, offsetof(struct Character, animSlideflip), true, LOT_NONE }, + { "animSlideflipLand", LVT_S32, offsetof(struct Character, animSlideflipLand), true, LOT_NONE }, + { "animSlidejump", LVT_S32, offsetof(struct Character, animSlidejump), true, LOT_NONE }, + { "animSlidingOnBottomWithLightObj", LVT_S32, offsetof(struct Character, animSlidingOnBottomWithLightObj), true, LOT_NONE }, + { "animSlowLandFromDive", LVT_S32, offsetof(struct Character, animSlowLandFromDive), true, LOT_NONE }, + { "animSlowLedgeGrab", LVT_S32, offsetof(struct Character, animSlowLedgeGrab), true, LOT_NONE }, + { "animSlowLongjump", LVT_S32, offsetof(struct Character, animSlowLongjump), true, LOT_NONE }, + { "animSlowWalkWithLightObj", LVT_S32, offsetof(struct Character, animSlowWalkWithLightObj), true, LOT_NONE }, + { "animSoftBackKb", LVT_S32, offsetof(struct Character, animSoftBackKb), true, LOT_NONE }, + { "animSoftFrontKb", LVT_S32, offsetof(struct Character, animSoftFrontKb), true, LOT_NONE }, + { "animStandAgainstWall", LVT_S32, offsetof(struct Character, animStandAgainstWall), true, LOT_NONE }, + { "animStandUpFromLavaBoost", LVT_S32, offsetof(struct Character, animStandUpFromLavaBoost), true, LOT_NONE }, + { "animStandUpFromSlidingWithLightObj", LVT_S32, offsetof(struct Character, animStandUpFromSlidingWithLightObj), true, LOT_NONE }, + { "animStarDance", LVT_S32, offsetof(struct Character, animStarDance), true, LOT_NONE }, + { "animStartCrawling", LVT_S32, offsetof(struct Character, animStartCrawling), true, LOT_NONE }, + { "animStartCrouching", LVT_S32, offsetof(struct Character, animStartCrouching), true, LOT_NONE }, + { "animStartForwardSpinning", LVT_S32, offsetof(struct Character, animStartForwardSpinning), true, LOT_NONE }, + { "animStartGroundPound", LVT_S32, offsetof(struct Character, animStartGroundPound), true, LOT_NONE }, + { "animStartHandstand", LVT_S32, offsetof(struct Character, animStartHandstand), true, LOT_NONE }, + { "animStartReachPocket", LVT_S32, offsetof(struct Character, animStartReachPocket), true, LOT_NONE }, + { "animStartRidingShell", LVT_S32, offsetof(struct Character, animStartRidingShell), true, LOT_NONE }, + { "animStartSleepIdle", LVT_S32, offsetof(struct Character, animStartSleepIdle), true, LOT_NONE }, + { "animStartSleepScratch", LVT_S32, offsetof(struct Character, animStartSleepScratch), true, LOT_NONE }, + { "animStartSleepSitting", LVT_S32, offsetof(struct Character, animStartSleepSitting), true, LOT_NONE }, + { "animStartSleepYawn", LVT_S32, offsetof(struct Character, animStartSleepYawn), true, LOT_NONE }, + { "animStartTiptoe", LVT_S32, offsetof(struct Character, animStartTiptoe), true, LOT_NONE }, + { "animStartTwirl", LVT_S32, offsetof(struct Character, animStartTwirl), true, LOT_NONE }, + { "animStartWallkick", LVT_S32, offsetof(struct Character, animStartWallkick), true, LOT_NONE }, + { "animStopCrawling", LVT_S32, offsetof(struct Character, animStopCrawling), true, LOT_NONE }, + { "animStopCrouching", LVT_S32, offsetof(struct Character, animStopCrouching), true, LOT_NONE }, + { "animStopGrabObjWater", LVT_S32, offsetof(struct Character, animStopGrabObjWater), true, LOT_NONE }, + { "animStopReachPocket", LVT_S32, offsetof(struct Character, animStopReachPocket), true, LOT_NONE }, + { "animStopSkid", LVT_S32, offsetof(struct Character, animStopSkid), true, LOT_NONE }, + { "animStopSlide", LVT_S32, offsetof(struct Character, animStopSlide), true, LOT_NONE }, + { "animStopSlideLightObj", LVT_S32, offsetof(struct Character, animStopSlideLightObj), true, LOT_NONE }, + { "animSuffocating", LVT_S32, offsetof(struct Character, animSuffocating), true, LOT_NONE }, + { "animSummonStar", LVT_S32, offsetof(struct Character, animSummonStar), true, LOT_NONE }, + { "animSwimPart1", LVT_S32, offsetof(struct Character, animSwimPart1), true, LOT_NONE }, + { "animSwimPart2", LVT_S32, offsetof(struct Character, animSwimPart2), true, LOT_NONE }, + { "animSwimWithObjPart1", LVT_S32, offsetof(struct Character, animSwimWithObjPart1), true, LOT_NONE }, + { "animSwimWithObjPart2", LVT_S32, offsetof(struct Character, animSwimWithObjPart2), true, LOT_NONE }, + { "animSwingingBowser", LVT_S32, offsetof(struct Character, animSwingingBowser), true, LOT_NONE }, + { "animTakeCapOffThenOn", LVT_S32, offsetof(struct Character, animTakeCapOffThenOn), true, LOT_NONE }, + { "animThrowCatchKey", LVT_S32, offsetof(struct Character, animThrowCatchKey), true, LOT_NONE }, + { "animThrowLightObject", LVT_S32, offsetof(struct Character, animThrowLightObject), true, LOT_NONE }, + { "animTiptoe", LVT_S32, offsetof(struct Character, animTiptoe), true, LOT_NONE }, + { "animTripleJump", LVT_S32, offsetof(struct Character, animTripleJump), true, LOT_NONE }, + { "animTripleJumpFly", LVT_S32, offsetof(struct Character, animTripleJumpFly), true, LOT_NONE }, + { "animTripleJumpGroundPound", LVT_S32, offsetof(struct Character, animTripleJumpGroundPound), true, LOT_NONE }, + { "animTripleJumpLand", LVT_S32, offsetof(struct Character, animTripleJumpLand), true, LOT_NONE }, + { "animTurningPart1", LVT_S32, offsetof(struct Character, animTurningPart1), true, LOT_NONE }, + { "animTurningPart2", LVT_S32, offsetof(struct Character, animTurningPart2), true, LOT_NONE }, + { "animTwirl", LVT_S32, offsetof(struct Character, animTwirl), true, LOT_NONE }, + { "animTwirlLand", LVT_S32, offsetof(struct Character, animTwirlLand), true, LOT_NONE }, + { "animUnlockDoor", LVT_S32, offsetof(struct Character, animUnlockDoor), true, LOT_NONE }, + { "animWakeFromLying", LVT_S32, offsetof(struct Character, animWakeFromLying), true, LOT_NONE }, + { "animWakeFromSleep", LVT_S32, offsetof(struct Character, animWakeFromSleep), true, LOT_NONE }, + { "animWalkPanting", LVT_S32, offsetof(struct Character, animWalkPanting), true, LOT_NONE }, + { "animWalkWithHeavyObj", LVT_S32, offsetof(struct Character, animWalkWithHeavyObj), true, LOT_NONE }, + { "animWalkWithLightObj", LVT_S32, offsetof(struct Character, animWalkWithLightObj), true, LOT_NONE }, + { "animWalking", LVT_S32, offsetof(struct Character, animWalking), true, LOT_NONE }, + { "animWaterActionEnd", LVT_S32, offsetof(struct Character, animWaterActionEnd), true, LOT_NONE }, + { "animWaterActionEndWithObj", LVT_S32, offsetof(struct Character, animWaterActionEndWithObj), true, LOT_NONE }, + { "animWaterDying", LVT_S32, offsetof(struct Character, animWaterDying), true, LOT_NONE }, + { "animWaterForwardKb", LVT_S32, offsetof(struct Character, animWaterForwardKb), true, LOT_NONE }, + { "animWaterGrabObjPart1", LVT_S32, offsetof(struct Character, animWaterGrabObjPart1), true, LOT_NONE }, + { "animWaterGrabObjPart2", LVT_S32, offsetof(struct Character, animWaterGrabObjPart2), true, LOT_NONE }, + { "animWaterIdle", LVT_S32, offsetof(struct Character, animWaterIdle), true, LOT_NONE }, + { "animWaterIdleWithObj", LVT_S32, offsetof(struct Character, animWaterIdleWithObj), true, LOT_NONE }, + { "animWaterPickUpObj", LVT_S32, offsetof(struct Character, animWaterPickUpObj), true, LOT_NONE }, + { "animWaterStarDance", LVT_S32, offsetof(struct Character, animWaterStarDance), true, LOT_NONE }, + { "animWaterThrowObj", LVT_S32, offsetof(struct Character, animWaterThrowObj), true, LOT_NONE }, + { "animWingCapFly", LVT_S32, offsetof(struct Character, animWingCapFly), true, LOT_NONE }, + { "anims", LVT_S32, offsetof(struct Character, anims), true, LOT_NONE, CHAR_ANIM_MAX, sizeof(s32) }, + { "cameraHudHead", LVT_U32, offsetof(struct Character, cameraHudHead), true, LOT_NONE }, + { "capEnemyDecalGfx", LVT_COBJECT_P, offsetof(struct Character, capEnemyDecalGfx), true, LOT_GFX }, + { "capEnemyGfx", LVT_COBJECT_P, offsetof(struct Character, capEnemyGfx), true, LOT_GFX }, + { "capEnemyLayer", LVT_U8, offsetof(struct Character, capEnemyLayer), true, LOT_NONE }, + { "capMetalModelId", LVT_U32, offsetof(struct Character, capMetalModelId), true, LOT_NONE }, + { "capMetalWingModelId", LVT_U32, offsetof(struct Character, capMetalWingModelId), true, LOT_NONE }, + { "capModelId", LVT_U32, offsetof(struct Character, capModelId), true, LOT_NONE }, + { "capWingModelId", LVT_U32, offsetof(struct Character, capWingModelId), true, LOT_NONE }, + { "hudHead", LVT_U8, offsetof(struct Character, hudHead), true, LOT_NONE }, + { "hudHeadTexture", LVT_COBJECT, offsetof(struct Character, hudHeadTexture), true, LOT_TEXTUREINFO }, + { "modelId", LVT_U32, offsetof(struct Character, modelId), true, LOT_NONE }, + { "name", LVT_STRING_P, offsetof(struct Character, name), true, LOT_NONE }, + { "soundAttacked", LVT_S32, offsetof(struct Character, soundAttacked), true, LOT_NONE }, + { "soundCoughing1", LVT_S32, offsetof(struct Character, soundCoughing1), true, LOT_NONE }, + { "soundCoughing2", LVT_S32, offsetof(struct Character, soundCoughing2), true, LOT_NONE }, + { "soundCoughing3", LVT_S32, offsetof(struct Character, soundCoughing3), true, LOT_NONE }, + { "soundDoh", LVT_S32, offsetof(struct Character, soundDoh), true, LOT_NONE }, + { "soundDrowning", LVT_S32, offsetof(struct Character, soundDrowning), true, LOT_NONE }, + { "soundDying", LVT_S32, offsetof(struct Character, soundDying), true, LOT_NONE }, + { "soundEeuh", LVT_S32, offsetof(struct Character, soundEeuh), true, LOT_NONE }, + { "soundFreqScale", LVT_F32, offsetof(struct Character, soundFreqScale), true, LOT_NONE }, + { "soundGameOver", LVT_S32, offsetof(struct Character, soundGameOver), true, LOT_NONE }, + { "soundGroundPoundWah", LVT_S32, offsetof(struct Character, soundGroundPoundWah), true, LOT_NONE }, + { "soundHaha", LVT_S32, offsetof(struct Character, soundHaha), true, LOT_NONE }, + { "soundHaha_2", LVT_S32, offsetof(struct Character, soundHaha_2), true, LOT_NONE }, + { "soundHello", LVT_S32, offsetof(struct Character, soundHello), true, LOT_NONE }, + { "soundHereWeGo", LVT_S32, offsetof(struct Character, soundHereWeGo), true, LOT_NONE }, + { "soundHoohoo", LVT_S32, offsetof(struct Character, soundHoohoo), true, LOT_NONE }, + { "soundHrmm", LVT_S32, offsetof(struct Character, soundHrmm), true, LOT_NONE }, + { "soundImaTired", LVT_S32, offsetof(struct Character, soundImaTired), true, LOT_NONE }, + { "soundLetsAGo", LVT_S32, offsetof(struct Character, soundLetsAGo), true, LOT_NONE }, + { "soundMamaMia", LVT_S32, offsetof(struct Character, soundMamaMia), true, LOT_NONE }, + { "soundOkeyDokey", LVT_S32, offsetof(struct Character, soundOkeyDokey), true, LOT_NONE }, + { "soundOnFire", LVT_S32, offsetof(struct Character, soundOnFire), true, LOT_NONE }, + { "soundOoof", LVT_S32, offsetof(struct Character, soundOoof), true, LOT_NONE }, + { "soundOoof2", LVT_S32, offsetof(struct Character, soundOoof2), true, LOT_NONE }, + { "soundPanting", LVT_S32, offsetof(struct Character, soundPanting), true, LOT_NONE }, + { "soundPantingCold", LVT_S32, offsetof(struct Character, soundPantingCold), true, LOT_NONE }, + { "soundPressStartToPlay", LVT_S32, offsetof(struct Character, soundPressStartToPlay), true, LOT_NONE }, + { "soundPunchHoo", LVT_S32, offsetof(struct Character, soundPunchHoo), true, LOT_NONE }, + { "soundPunchWah", LVT_S32, offsetof(struct Character, soundPunchWah), true, LOT_NONE }, + { "soundPunchYah", LVT_S32, offsetof(struct Character, soundPunchYah), true, LOT_NONE }, + { "soundSnoring1", LVT_S32, offsetof(struct Character, soundSnoring1), true, LOT_NONE }, + { "soundSnoring2", LVT_S32, offsetof(struct Character, soundSnoring2), true, LOT_NONE }, + { "soundSnoring3", LVT_S32, offsetof(struct Character, soundSnoring3), true, LOT_NONE }, + { "soundSoLongaBowser", LVT_S32, offsetof(struct Character, soundSoLongaBowser), true, LOT_NONE }, + { "soundTwirlBounce", LVT_S32, offsetof(struct Character, soundTwirlBounce), true, LOT_NONE }, + { "soundUh", LVT_S32, offsetof(struct Character, soundUh), true, LOT_NONE }, + { "soundUh2", LVT_S32, offsetof(struct Character, soundUh2), true, LOT_NONE }, + { "soundUh2_2", LVT_S32, offsetof(struct Character, soundUh2_2), true, LOT_NONE }, + { "soundWaaaooow", LVT_S32, offsetof(struct Character, soundWaaaooow), true, LOT_NONE }, + { "soundWah2", LVT_S32, offsetof(struct Character, soundWah2), true, LOT_NONE }, + { "soundWhoa", LVT_S32, offsetof(struct Character, soundWhoa), true, LOT_NONE }, + { "soundYahWahHoo", LVT_S32, offsetof(struct Character, soundYahWahHoo), true, LOT_NONE }, + { "soundYahoo", LVT_S32, offsetof(struct Character, soundYahoo), true, LOT_NONE }, + { "soundYahooWahaYippee", LVT_S32, offsetof(struct Character, soundYahooWahaYippee), true, LOT_NONE }, + { "soundYawning", LVT_S32, offsetof(struct Character, soundYawning), true, LOT_NONE }, + { "sounds", LVT_S32, offsetof(struct Character, sounds), true, LOT_NONE, CHAR_SOUND_MAX, sizeof(s32) }, + { "torsoRotMult", LVT_F32, offsetof(struct Character, torsoRotMult), true, LOT_NONE }, + { "type", LVT_S32, offsetof(struct Character, type), true, LOT_NONE }, }; #define LUA_CONTROLLER_FIELD_COUNT 11 static struct LuaObjectField sControllerFields[LUA_CONTROLLER_FIELD_COUNT] = { - { "buttonDown", LVT_U16, offsetof(struct Controller, buttonDown), false, LOT_NONE, 1, sizeof(u16) }, - { "buttonPressed", LVT_U16, offsetof(struct Controller, buttonPressed), false, LOT_NONE, 1, sizeof(u16) }, - { "buttonReleased", LVT_U16, offsetof(struct Controller, buttonReleased), false, LOT_NONE, 1, sizeof(u16) }, -// { "controllerData", LVT_???, offsetof(struct Controller, controllerData), true, LOT_???, 1, sizeof(OSContPad*) }, <--- UNIMPLEMENTED - { "extStickX", LVT_S16, offsetof(struct Controller, extStickX), false, LOT_NONE, 1, sizeof(s16) }, - { "extStickY", LVT_S16, offsetof(struct Controller, extStickY), false, LOT_NONE, 1, sizeof(s16) }, - { "port", LVT_S32, offsetof(struct Controller, port), false, LOT_NONE, 1, sizeof(s32) }, - { "rawStickX", LVT_S16, offsetof(struct Controller, rawStickX), false, LOT_NONE, 1, sizeof(s16) }, - { "rawStickY", LVT_S16, offsetof(struct Controller, rawStickY), false, LOT_NONE, 1, sizeof(s16) }, -// { "statusData", LVT_???, offsetof(struct Controller, statusData), true, LOT_???, 1, sizeof(OSContStatus*) }, <--- UNIMPLEMENTED - { "stickMag", LVT_F32, offsetof(struct Controller, stickMag), false, LOT_NONE, 1, sizeof(f32) }, - { "stickX", LVT_F32, offsetof(struct Controller, stickX), false, LOT_NONE, 1, sizeof(f32) }, - { "stickY", LVT_F32, offsetof(struct Controller, stickY), false, LOT_NONE, 1, sizeof(f32) }, + { "buttonDown", LVT_U16, offsetof(struct Controller, buttonDown), false, LOT_NONE }, + { "buttonPressed", LVT_U16, offsetof(struct Controller, buttonPressed), false, LOT_NONE }, + { "buttonReleased", LVT_U16, offsetof(struct Controller, buttonReleased), false, LOT_NONE }, +// { "controllerData", LVT_???, offsetof(struct Controller, controllerData), true, LOT_??? }, <--- UNIMPLEMENTED + { "extStickX", LVT_S16, offsetof(struct Controller, extStickX), false, LOT_NONE }, + { "extStickY", LVT_S16, offsetof(struct Controller, extStickY), false, LOT_NONE }, + { "port", LVT_S32, offsetof(struct Controller, port), false, LOT_NONE }, + { "rawStickX", LVT_S16, offsetof(struct Controller, rawStickX), false, LOT_NONE }, + { "rawStickY", LVT_S16, offsetof(struct Controller, rawStickY), false, LOT_NONE }, +// { "statusData", LVT_???, offsetof(struct Controller, statusData), true, LOT_??? }, <--- UNIMPLEMENTED + { "stickMag", LVT_F32, offsetof(struct Controller, stickMag), false, LOT_NONE }, + { "stickX", LVT_F32, offsetof(struct Controller, stickX), false, LOT_NONE }, + { "stickY", LVT_F32, offsetof(struct Controller, stickY), false, LOT_NONE }, }; #define LUA_CUSTOM_LEVEL_INFO_FIELD_COUNT 12 static struct LuaObjectField sCustomLevelInfoFields[LUA_CUSTOM_LEVEL_INFO_FIELD_COUNT] = { - { "acousticReach", LVT_U32, offsetof(struct CustomLevelInfo, acousticReach), false, LOT_NONE, 1, sizeof(u32) }, - { "courseNum", LVT_S16, offsetof(struct CustomLevelInfo, courseNum), false, LOT_NONE, 1, sizeof(s16) }, - { "echoLevel1", LVT_U32, offsetof(struct CustomLevelInfo, echoLevel1), false, LOT_NONE, 1, sizeof(u32) }, - { "echoLevel2", LVT_U32, offsetof(struct CustomLevelInfo, echoLevel2), false, LOT_NONE, 1, sizeof(u32) }, - { "echoLevel3", LVT_U32, offsetof(struct CustomLevelInfo, echoLevel3), false, LOT_NONE, 1, sizeof(u32) }, - { "fullName", LVT_STRING_P, offsetof(struct CustomLevelInfo, fullName), true, LOT_NONE, 1, sizeof(char*) }, - { "levelNum", LVT_S16, offsetof(struct CustomLevelInfo, levelNum), false, LOT_NONE, 1, sizeof(s16) }, - { "modIndex", LVT_S32, offsetof(struct CustomLevelInfo, modIndex), false, LOT_NONE, 1, sizeof(s32) }, - { "next", LVT_COBJECT_P, offsetof(struct CustomLevelInfo, next), true, LOT_CUSTOMLEVELINFO, 1, sizeof(struct CustomLevelInfo*) }, - { "script", LVT_LEVELSCRIPT_P, offsetof(struct CustomLevelInfo, script), true, LOT_POINTER, 1, sizeof(LevelScript*) }, - { "scriptEntryName", LVT_STRING_P, offsetof(struct CustomLevelInfo, scriptEntryName), true, LOT_NONE, 1, sizeof(char*) }, - { "shortName", LVT_STRING_P, offsetof(struct CustomLevelInfo, shortName), true, LOT_NONE, 1, sizeof(char*) }, + { "acousticReach", LVT_U32, offsetof(struct CustomLevelInfo, acousticReach), false, LOT_NONE }, + { "courseNum", LVT_S16, offsetof(struct CustomLevelInfo, courseNum), false, LOT_NONE }, + { "echoLevel1", LVT_U32, offsetof(struct CustomLevelInfo, echoLevel1), false, LOT_NONE }, + { "echoLevel2", LVT_U32, offsetof(struct CustomLevelInfo, echoLevel2), false, LOT_NONE }, + { "echoLevel3", LVT_U32, offsetof(struct CustomLevelInfo, echoLevel3), false, LOT_NONE }, + { "fullName", LVT_STRING_P, offsetof(struct CustomLevelInfo, fullName), true, LOT_NONE }, + { "levelNum", LVT_S16, offsetof(struct CustomLevelInfo, levelNum), false, LOT_NONE }, + { "modIndex", LVT_S32, offsetof(struct CustomLevelInfo, modIndex), false, LOT_NONE }, + { "next", LVT_COBJECT_P, offsetof(struct CustomLevelInfo, next), true, LOT_CUSTOMLEVELINFO }, + { "script", LVT_LEVELSCRIPT_P, offsetof(struct CustomLevelInfo, script), true, LOT_POINTER }, + { "scriptEntryName", LVT_STRING_P, offsetof(struct CustomLevelInfo, scriptEntryName), true, LOT_NONE }, + { "shortName", LVT_STRING_P, offsetof(struct CustomLevelInfo, shortName), true, LOT_NONE }, }; #define LUA_DATE_TIME_FIELD_COUNT 6 static struct LuaObjectField sDateTimeFields[LUA_DATE_TIME_FIELD_COUNT] = { - { "day", LVT_S32, offsetof(struct DateTime, day), false, LOT_NONE, 1, sizeof(s32) }, - { "hour", LVT_S32, offsetof(struct DateTime, hour), false, LOT_NONE, 1, sizeof(s32) }, - { "minute", LVT_S32, offsetof(struct DateTime, minute), false, LOT_NONE, 1, sizeof(s32) }, - { "month", LVT_S32, offsetof(struct DateTime, month), false, LOT_NONE, 1, sizeof(s32) }, - { "second", LVT_S32, offsetof(struct DateTime, second), false, LOT_NONE, 1, sizeof(s32) }, - { "year", LVT_S32, offsetof(struct DateTime, year), false, LOT_NONE, 1, sizeof(s32) }, + { "day", LVT_S32, offsetof(struct DateTime, day), false, LOT_NONE }, + { "hour", LVT_S32, offsetof(struct DateTime, hour), false, LOT_NONE }, + { "minute", LVT_S32, offsetof(struct DateTime, minute), false, LOT_NONE }, + { "month", LVT_S32, offsetof(struct DateTime, month), false, LOT_NONE }, + { "second", LVT_S32, offsetof(struct DateTime, second), false, LOT_NONE }, + { "year", LVT_S32, offsetof(struct DateTime, year), false, LOT_NONE }, }; #define LUA_DIALOG_ENTRY_FIELD_COUNT 6 static struct LuaObjectField sDialogEntryFields[LUA_DIALOG_ENTRY_FIELD_COUNT] = { - { "leftOffset", LVT_S16, offsetof(struct DialogEntry, leftOffset), true, LOT_NONE, 1, sizeof(s16) }, - { "linesPerBox", LVT_S8, offsetof(struct DialogEntry, linesPerBox), true, LOT_NONE, 1, sizeof(s8) }, - { "replaced", LVT_BOOL, offsetof(struct DialogEntry, replaced), true, LOT_NONE, 1, sizeof(bool) }, - { "text", LVT_STRING_P, offsetof(struct DialogEntry, text), true, LOT_NONE, 1, sizeof(char*) }, - { "unused", LVT_U32, offsetof(struct DialogEntry, unused), true, LOT_NONE, 1, sizeof(u32) }, - { "width", LVT_S16, offsetof(struct DialogEntry, width), true, LOT_NONE, 1, sizeof(s16) }, + { "leftOffset", LVT_S16, offsetof(struct DialogEntry, leftOffset), true, LOT_NONE }, + { "linesPerBox", LVT_S8, offsetof(struct DialogEntry, linesPerBox), true, LOT_NONE }, + { "replaced", LVT_BOOL, offsetof(struct DialogEntry, replaced), true, LOT_NONE }, + { "text", LVT_STRING_P, offsetof(struct DialogEntry, text), true, LOT_NONE }, + { "unused", LVT_U32, offsetof(struct DialogEntry, unused), true, LOT_NONE }, + { "width", LVT_S16, offsetof(struct DialogEntry, width), true, LOT_NONE }, }; #define LUA_DISPLAY_LIST_NODE_FIELD_COUNT 3 static struct LuaObjectField sDisplayListNodeFields[LUA_DISPLAY_LIST_NODE_FIELD_COUNT] = { - { "displayList", LVT_COBJECT_P, offsetof(struct DisplayListNode, displayList), false, LOT_GFX, 1, sizeof(Gfx*) }, - { "next", LVT_COBJECT_P, offsetof(struct DisplayListNode, next), false, LOT_DISPLAYLISTNODE, 1, sizeof(struct DisplayListNode*) }, -// { "transform", LVT_???, offsetof(struct DisplayListNode, transform), false, LOT_???, 1, sizeof(Mtx*) }, <--- UNIMPLEMENTED -// { "transformPrev", LVT_???, offsetof(struct DisplayListNode, transformPrev), false, LOT_???, 1, sizeof(Mtx*) }, <--- UNIMPLEMENTED - { "usingCamSpace", LVT_U8, offsetof(struct DisplayListNode, usingCamSpace), false, LOT_NONE, 1, sizeof(u8) }, + { "displayList", LVT_COBJECT_P, offsetof(struct DisplayListNode, displayList), false, LOT_GFX }, + { "next", LVT_COBJECT_P, offsetof(struct DisplayListNode, next), false, LOT_DISPLAYLISTNODE }, +// { "transform", LVT_???, offsetof(struct DisplayListNode, transform), false, LOT_??? }, <--- UNIMPLEMENTED +// { "transformPrev", LVT_???, offsetof(struct DisplayListNode, transformPrev), false, LOT_??? }, <--- UNIMPLEMENTED + { "usingCamSpace", LVT_U8, offsetof(struct DisplayListNode, usingCamSpace), false, LOT_NONE }, }; #define LUA_DJUI_COLOR_FIELD_COUNT 4 static struct LuaObjectField sDjuiColorFields[LUA_DJUI_COLOR_FIELD_COUNT] = { - { "a", LVT_U8, offsetof(struct DjuiColor, a), false, LOT_NONE, 1, sizeof(u8) }, - { "b", LVT_U8, offsetof(struct DjuiColor, b), false, LOT_NONE, 1, sizeof(u8) }, - { "g", LVT_U8, offsetof(struct DjuiColor, g), false, LOT_NONE, 1, sizeof(u8) }, - { "r", LVT_U8, offsetof(struct DjuiColor, r), false, LOT_NONE, 1, sizeof(u8) }, + { "a", LVT_U8, offsetof(struct DjuiColor, a), false, LOT_NONE }, + { "b", LVT_U8, offsetof(struct DjuiColor, b), false, LOT_NONE }, + { "g", LVT_U8, offsetof(struct DjuiColor, g), false, LOT_NONE }, + { "r", LVT_U8, offsetof(struct DjuiColor, r), false, LOT_NONE }, }; #define LUA_DJUI_INTERACTABLE_THEME_FIELD_COUNT 7 static struct LuaObjectField sDjuiInteractableThemeFields[LUA_DJUI_INTERACTABLE_THEME_FIELD_COUNT] = { - { "cursorDownBorderColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, cursorDownBorderColor), true, LOT_DJUICOLOR, 1, sizeof(struct DjuiColor) }, - { "cursorDownRectColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, cursorDownRectColor), true, LOT_DJUICOLOR, 1, sizeof(struct DjuiColor) }, - { "defaultBorderColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, defaultBorderColor), true, LOT_DJUICOLOR, 1, sizeof(struct DjuiColor) }, - { "defaultRectColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, defaultRectColor), true, LOT_DJUICOLOR, 1, sizeof(struct DjuiColor) }, - { "hoveredBorderColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, hoveredBorderColor), true, LOT_DJUICOLOR, 1, sizeof(struct DjuiColor) }, - { "hoveredRectColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, hoveredRectColor), true, LOT_DJUICOLOR, 1, sizeof(struct DjuiColor) }, - { "textColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, textColor), true, LOT_DJUICOLOR, 1, sizeof(struct DjuiColor) }, + { "cursorDownBorderColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, cursorDownBorderColor), true, LOT_DJUICOLOR }, + { "cursorDownRectColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, cursorDownRectColor), true, LOT_DJUICOLOR }, + { "defaultBorderColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, defaultBorderColor), true, LOT_DJUICOLOR }, + { "defaultRectColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, defaultRectColor), true, LOT_DJUICOLOR }, + { "hoveredBorderColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, hoveredBorderColor), true, LOT_DJUICOLOR }, + { "hoveredRectColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, hoveredRectColor), true, LOT_DJUICOLOR }, + { "textColor", LVT_COBJECT, offsetof(struct DjuiInteractableTheme, textColor), true, LOT_DJUICOLOR }, }; #define LUA_DJUI_PANEL_THEME_FIELD_COUNT 1 static struct LuaObjectField sDjuiPanelThemeFields[LUA_DJUI_PANEL_THEME_FIELD_COUNT] = { - { "hudFontHeader", LVT_BOOL, offsetof(struct DjuiPanelTheme, hudFontHeader), false, LOT_NONE, 1, sizeof(bool) }, + { "hudFontHeader", LVT_BOOL, offsetof(struct DjuiPanelTheme, hudFontHeader), false, LOT_NONE }, }; #define LUA_DJUI_THEME_FIELD_COUNT 5 static struct LuaObjectField sDjuiThemeFields[LUA_DJUI_THEME_FIELD_COUNT] = { - { "id", LVT_STRING_P, offsetof(struct DjuiTheme, id), true, LOT_NONE, 1, sizeof(const char*) }, - { "interactables", LVT_COBJECT, offsetof(struct DjuiTheme, interactables), true, LOT_DJUIINTERACTABLETHEME, 1, sizeof(struct DjuiInteractableTheme) }, - { "name", LVT_STRING_P, offsetof(struct DjuiTheme, name), true, LOT_NONE, 1, sizeof(const char*) }, - { "panels", LVT_COBJECT, offsetof(struct DjuiTheme, panels), true, LOT_DJUIPANELTHEME, 1, sizeof(struct DjuiPanelTheme) }, - { "threePanels", LVT_COBJECT, offsetof(struct DjuiTheme, threePanels), true, LOT_DJUITHREEPANELTHEME, 1, sizeof(struct DjuiThreePanelTheme) }, + { "id", LVT_STRING_P, offsetof(struct DjuiTheme, id), true, LOT_NONE }, + { "interactables", LVT_COBJECT, offsetof(struct DjuiTheme, interactables), true, LOT_DJUIINTERACTABLETHEME }, + { "name", LVT_STRING_P, offsetof(struct DjuiTheme, name), true, LOT_NONE }, + { "panels", LVT_COBJECT, offsetof(struct DjuiTheme, panels), true, LOT_DJUIPANELTHEME }, + { "threePanels", LVT_COBJECT, offsetof(struct DjuiTheme, threePanels), true, LOT_DJUITHREEPANELTHEME }, }; #define LUA_DJUI_THREE_PANEL_THEME_FIELD_COUNT 2 static struct LuaObjectField sDjuiThreePanelThemeFields[LUA_DJUI_THREE_PANEL_THEME_FIELD_COUNT] = { - { "borderColor", LVT_COBJECT, offsetof(struct DjuiThreePanelTheme, borderColor), true, LOT_DJUICOLOR, 1, sizeof(struct DjuiColor) }, - { "rectColor", LVT_COBJECT, offsetof(struct DjuiThreePanelTheme, rectColor), true, LOT_DJUICOLOR, 1, sizeof(struct DjuiColor) }, + { "borderColor", LVT_COBJECT, offsetof(struct DjuiThreePanelTheme, borderColor), true, LOT_DJUICOLOR }, + { "rectColor", LVT_COBJECT, offsetof(struct DjuiThreePanelTheme, rectColor), true, LOT_DJUICOLOR }, }; #define LUA_EXCLAMATION_BOX_CONTENT_FIELD_COUNT 5 static struct LuaObjectField sExclamationBoxContentFields[LUA_EXCLAMATION_BOX_CONTENT_FIELD_COUNT] = { - { "behavior", LVT_S32, offsetof(struct ExclamationBoxContent, behavior), false, LOT_NONE, 1, sizeof(enum BehaviorId) }, - { "firstByte", LVT_U8, offsetof(struct ExclamationBoxContent, firstByte), false, LOT_NONE, 1, sizeof(u8) }, - { "id", LVT_U8, offsetof(struct ExclamationBoxContent, id), false, LOT_NONE, 1, sizeof(u8) }, - { "model", LVT_S32, offsetof(struct ExclamationBoxContent, model), false, LOT_NONE, 1, sizeof(enum ModelExtendedId) }, - { "unused", LVT_U8, offsetof(struct ExclamationBoxContent, unused), false, LOT_NONE, 1, sizeof(u8) }, + { "behavior", LVT_S32, offsetof(struct ExclamationBoxContent, behavior), false, LOT_NONE }, + { "firstByte", LVT_U8, offsetof(struct ExclamationBoxContent, firstByte), false, LOT_NONE }, + { "id", LVT_U8, offsetof(struct ExclamationBoxContent, id), false, LOT_NONE }, + { "model", LVT_S32, offsetof(struct ExclamationBoxContent, model), false, LOT_NONE }, + { "unused", LVT_U8, offsetof(struct ExclamationBoxContent, unused), false, LOT_NONE }, }; #define LUA_FIRST_PERSON_CAMERA_FIELD_COUNT 10 static struct LuaObjectField sFirstPersonCameraFields[LUA_FIRST_PERSON_CAMERA_FIELD_COUNT] = { - { "centerL", LVT_BOOL, offsetof(struct FirstPersonCamera, centerL), false, LOT_NONE, 1, sizeof(bool) }, - { "crouch", LVT_F32, offsetof(struct FirstPersonCamera, crouch), false, LOT_NONE, 1, sizeof(f32) }, - { "enabled", LVT_BOOL, offsetof(struct FirstPersonCamera, enabled), true, LOT_NONE, 1, sizeof(bool) }, - { "forcePitch", LVT_BOOL, offsetof(struct FirstPersonCamera, forcePitch), false, LOT_NONE, 1, sizeof(bool) }, - { "forceRoll", LVT_BOOL, offsetof(struct FirstPersonCamera, forceRoll), false, LOT_NONE, 1, sizeof(bool) }, - { "forceYaw", LVT_BOOL, offsetof(struct FirstPersonCamera, forceYaw), false, LOT_NONE, 1, sizeof(bool) }, - { "fov", LVT_F32, offsetof(struct FirstPersonCamera, fov), false, LOT_NONE, 1, sizeof(f32) }, - { "offset", LVT_COBJECT, offsetof(struct FirstPersonCamera, offset), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "pitch", LVT_S16, offsetof(struct FirstPersonCamera, pitch), false, LOT_NONE, 1, sizeof(s16) }, - { "yaw", LVT_S16, offsetof(struct FirstPersonCamera, yaw), false, LOT_NONE, 1, sizeof(s16) }, + { "centerL", LVT_BOOL, offsetof(struct FirstPersonCamera, centerL), false, LOT_NONE }, + { "crouch", LVT_F32, offsetof(struct FirstPersonCamera, crouch), false, LOT_NONE }, + { "enabled", LVT_BOOL, offsetof(struct FirstPersonCamera, enabled), true, LOT_NONE }, + { "forcePitch", LVT_BOOL, offsetof(struct FirstPersonCamera, forcePitch), false, LOT_NONE }, + { "forceRoll", LVT_BOOL, offsetof(struct FirstPersonCamera, forceRoll), false, LOT_NONE }, + { "forceYaw", LVT_BOOL, offsetof(struct FirstPersonCamera, forceYaw), false, LOT_NONE }, + { "fov", LVT_F32, offsetof(struct FirstPersonCamera, fov), false, LOT_NONE }, + { "offset", LVT_COBJECT, offsetof(struct FirstPersonCamera, offset), true, LOT_VEC3F }, + { "pitch", LVT_S16, offsetof(struct FirstPersonCamera, pitch), false, LOT_NONE }, + { "yaw", LVT_S16, offsetof(struct FirstPersonCamera, yaw), false, LOT_NONE }, }; #define LUA_FN_GRAPH_NODE_FIELD_COUNT 1 static struct LuaObjectField sFnGraphNodeFields[LUA_FN_GRAPH_NODE_FIELD_COUNT] = { -// { "func", LVT_???, offsetof(struct FnGraphNode, func), false, LOT_???, 1, sizeof(GraphNodeFunc) }, <--- UNIMPLEMENTED - { "node", LVT_COBJECT, offsetof(struct FnGraphNode, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, +// { "func", LVT_???, offsetof(struct FnGraphNode, func), false, LOT_??? }, <--- UNIMPLEMENTED + { "node", LVT_COBJECT, offsetof(struct FnGraphNode, node), true, LOT_GRAPHNODE }, }; #define LUA_GFX_FIELD_COUNT 2 static struct LuaObjectField sGfxFields[LUA_GFX_FIELD_COUNT] = { - { "w0", LVT_U64, offsetof(Gwords, w0), true, LOT_NONE, 1, sizeof(uintptr_t) }, - { "w1", LVT_U64, offsetof(Gwords, w1), true, LOT_NONE, 1, sizeof(uintptr_t) }, + { "w0", LVT_U64, offsetof(Gwords, w0), true, LOT_NONE }, + { "w1", LVT_U64, offsetof(Gwords, w1), true, LOT_NONE }, }; #define LUA_GLOBAL_OBJECT_ANIMATIONS_FIELD_COUNT 56 static struct LuaObjectField sGlobalObjectAnimationsFields[LUA_GLOBAL_OBJECT_ANIMATIONS_FIELD_COUNT] = { - { "amp_seg8_anims_08004034", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, amp_seg8_anims_08004034), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "birds_seg5_anims_050009E8", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, birds_seg5_anims_050009E8), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "blargg_seg5_anims_0500616C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, blargg_seg5_anims_0500616C), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "blue_fish_seg3_anims_0301C2B0", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, blue_fish_seg3_anims_0301C2B0), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "bobomb_seg8_anims_0802396C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, bobomb_seg8_anims_0802396C), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "bookend_seg5_anims_05002540", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, bookend_seg5_anims_05002540), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "bowser_key_seg3_anims_list", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, bowser_key_seg3_anims_list), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "bowser_seg6_anims_06057690", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, bowser_seg6_anims_06057690), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "bub_seg6_anims_06012354", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, bub_seg6_anims_06012354), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "bully_seg5_anims_0500470C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, bully_seg5_anims_0500470C), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "butterfly_seg3_anims_030056B0", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, butterfly_seg3_anims_030056B0), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "castle_grounds_seg7_anims_flags", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, castle_grounds_seg7_anims_flags), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "chain_chomp_seg6_anims_06025178", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, chain_chomp_seg6_anims_06025178), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "chair_seg5_anims_05005784", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, chair_seg5_anims_05005784), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "chilly_chief_seg6_anims_06003994", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, chilly_chief_seg6_anims_06003994), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "chuckya_seg8_anims_0800C070", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, chuckya_seg8_anims_0800C070), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "clam_shell_seg5_anims_05001744", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, clam_shell_seg5_anims_05001744), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "cyan_fish_seg6_anims_0600E264", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, cyan_fish_seg6_anims_0600E264), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "door_seg3_anims_030156C0", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, door_seg3_anims_030156C0), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "dorrie_seg6_anims_0600F638", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, dorrie_seg6_anims_0600F638), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "eyerok_seg5_anims_050116E4", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, eyerok_seg5_anims_050116E4), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "flyguy_seg8_anims_08011A64", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, flyguy_seg8_anims_08011A64), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "goomba_seg8_anims_0801DA4C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, goomba_seg8_anims_0801DA4C), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "heave_ho_seg5_anims_0501534C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, heave_ho_seg5_anims_0501534C), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "hoot_seg5_anims_05005768", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, hoot_seg5_anims_05005768), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "king_bobomb_seg5_anims_0500FE30", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, king_bobomb_seg5_anims_0500FE30), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "klepto_seg5_anims_05008CFC", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, klepto_seg5_anims_05008CFC), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "koopa_flag_seg6_anims_06001028", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, koopa_flag_seg6_anims_06001028), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "koopa_seg6_anims_06011364", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, koopa_seg6_anims_06011364), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "lakitu_enemy_seg5_anims_050144D4", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, lakitu_enemy_seg5_anims_050144D4), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "lakitu_seg6_anims_060058F8", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, lakitu_seg6_anims_060058F8), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "mad_piano_seg5_anims_05009B14", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, mad_piano_seg5_anims_05009B14), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "manta_seg5_anims_05008EB4", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, manta_seg5_anims_05008EB4), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "mips_seg6_anims_06015634", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, mips_seg6_anims_06015634), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "moneybag_seg6_anims_06005E5C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, moneybag_seg6_anims_06005E5C), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "monty_mole_seg5_anims_05007248", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, monty_mole_seg5_anims_05007248), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "peach_seg5_anims_0501C41C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, peach_seg5_anims_0501C41C), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "penguin_seg5_anims_05008B74", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, penguin_seg5_anims_05008B74), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "piranha_plant_seg6_anims_0601C31C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, piranha_plant_seg6_anims_0601C31C), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "scuttlebug_seg6_anims_06015064", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, scuttlebug_seg6_anims_06015064), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "seaweed_seg6_anims_0600A4D4", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, seaweed_seg6_anims_0600A4D4), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "skeeter_seg6_anims_06007DE0", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, skeeter_seg6_anims_06007DE0), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "snowman_seg5_anims_0500D118", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, snowman_seg5_anims_0500D118), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "spindrift_seg5_anims_05002D68", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, spindrift_seg5_anims_05002D68), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "spiny_egg_seg5_anims_050157E4", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, spiny_egg_seg5_anims_050157E4), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "spiny_seg5_anims_05016EAC", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, spiny_seg5_anims_05016EAC), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "sushi_seg5_anims_0500AE54", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, sushi_seg5_anims_0500AE54), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "swoop_seg6_anims_060070D0", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, swoop_seg6_anims_060070D0), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "toad_seg6_anims_0600FB58", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, toad_seg6_anims_0600FB58), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "ukiki_seg5_anims_05015784", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, ukiki_seg5_anims_05015784), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "unagi_seg5_anims_05012824", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, unagi_seg5_anims_05012824), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "water_ring_seg6_anims_06013F7C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, water_ring_seg6_anims_06013F7C), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "whomp_seg6_anims_06020A04", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, whomp_seg6_anims_06020A04), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "wiggler_seg5_anims_0500C874", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, wiggler_seg5_anims_0500C874), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "wiggler_seg5_anims_0500EC8C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, wiggler_seg5_anims_0500EC8C), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "yoshi_seg5_anims_05024100", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, yoshi_seg5_anims_05024100), true, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, + { "amp_seg8_anims_08004034", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, amp_seg8_anims_08004034), true, LOT_POINTER }, + { "birds_seg5_anims_050009E8", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, birds_seg5_anims_050009E8), true, LOT_POINTER }, + { "blargg_seg5_anims_0500616C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, blargg_seg5_anims_0500616C), true, LOT_POINTER }, + { "blue_fish_seg3_anims_0301C2B0", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, blue_fish_seg3_anims_0301C2B0), true, LOT_POINTER }, + { "bobomb_seg8_anims_0802396C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, bobomb_seg8_anims_0802396C), true, LOT_POINTER }, + { "bookend_seg5_anims_05002540", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, bookend_seg5_anims_05002540), true, LOT_POINTER }, + { "bowser_key_seg3_anims_list", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, bowser_key_seg3_anims_list), true, LOT_POINTER }, + { "bowser_seg6_anims_06057690", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, bowser_seg6_anims_06057690), true, LOT_POINTER }, + { "bub_seg6_anims_06012354", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, bub_seg6_anims_06012354), true, LOT_POINTER }, + { "bully_seg5_anims_0500470C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, bully_seg5_anims_0500470C), true, LOT_POINTER }, + { "butterfly_seg3_anims_030056B0", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, butterfly_seg3_anims_030056B0), true, LOT_POINTER }, + { "castle_grounds_seg7_anims_flags", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, castle_grounds_seg7_anims_flags), true, LOT_POINTER }, + { "chain_chomp_seg6_anims_06025178", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, chain_chomp_seg6_anims_06025178), true, LOT_POINTER }, + { "chair_seg5_anims_05005784", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, chair_seg5_anims_05005784), true, LOT_POINTER }, + { "chilly_chief_seg6_anims_06003994", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, chilly_chief_seg6_anims_06003994), true, LOT_POINTER }, + { "chuckya_seg8_anims_0800C070", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, chuckya_seg8_anims_0800C070), true, LOT_POINTER }, + { "clam_shell_seg5_anims_05001744", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, clam_shell_seg5_anims_05001744), true, LOT_POINTER }, + { "cyan_fish_seg6_anims_0600E264", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, cyan_fish_seg6_anims_0600E264), true, LOT_POINTER }, + { "door_seg3_anims_030156C0", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, door_seg3_anims_030156C0), true, LOT_POINTER }, + { "dorrie_seg6_anims_0600F638", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, dorrie_seg6_anims_0600F638), true, LOT_POINTER }, + { "eyerok_seg5_anims_050116E4", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, eyerok_seg5_anims_050116E4), true, LOT_POINTER }, + { "flyguy_seg8_anims_08011A64", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, flyguy_seg8_anims_08011A64), true, LOT_POINTER }, + { "goomba_seg8_anims_0801DA4C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, goomba_seg8_anims_0801DA4C), true, LOT_POINTER }, + { "heave_ho_seg5_anims_0501534C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, heave_ho_seg5_anims_0501534C), true, LOT_POINTER }, + { "hoot_seg5_anims_05005768", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, hoot_seg5_anims_05005768), true, LOT_POINTER }, + { "king_bobomb_seg5_anims_0500FE30", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, king_bobomb_seg5_anims_0500FE30), true, LOT_POINTER }, + { "klepto_seg5_anims_05008CFC", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, klepto_seg5_anims_05008CFC), true, LOT_POINTER }, + { "koopa_flag_seg6_anims_06001028", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, koopa_flag_seg6_anims_06001028), true, LOT_POINTER }, + { "koopa_seg6_anims_06011364", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, koopa_seg6_anims_06011364), true, LOT_POINTER }, + { "lakitu_enemy_seg5_anims_050144D4", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, lakitu_enemy_seg5_anims_050144D4), true, LOT_POINTER }, + { "lakitu_seg6_anims_060058F8", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, lakitu_seg6_anims_060058F8), true, LOT_POINTER }, + { "mad_piano_seg5_anims_05009B14", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, mad_piano_seg5_anims_05009B14), true, LOT_POINTER }, + { "manta_seg5_anims_05008EB4", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, manta_seg5_anims_05008EB4), true, LOT_POINTER }, + { "mips_seg6_anims_06015634", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, mips_seg6_anims_06015634), true, LOT_POINTER }, + { "moneybag_seg6_anims_06005E5C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, moneybag_seg6_anims_06005E5C), true, LOT_POINTER }, + { "monty_mole_seg5_anims_05007248", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, monty_mole_seg5_anims_05007248), true, LOT_POINTER }, + { "peach_seg5_anims_0501C41C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, peach_seg5_anims_0501C41C), true, LOT_POINTER }, + { "penguin_seg5_anims_05008B74", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, penguin_seg5_anims_05008B74), true, LOT_POINTER }, + { "piranha_plant_seg6_anims_0601C31C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, piranha_plant_seg6_anims_0601C31C), true, LOT_POINTER }, + { "scuttlebug_seg6_anims_06015064", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, scuttlebug_seg6_anims_06015064), true, LOT_POINTER }, + { "seaweed_seg6_anims_0600A4D4", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, seaweed_seg6_anims_0600A4D4), true, LOT_POINTER }, + { "skeeter_seg6_anims_06007DE0", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, skeeter_seg6_anims_06007DE0), true, LOT_POINTER }, + { "snowman_seg5_anims_0500D118", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, snowman_seg5_anims_0500D118), true, LOT_POINTER }, + { "spindrift_seg5_anims_05002D68", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, spindrift_seg5_anims_05002D68), true, LOT_POINTER }, + { "spiny_egg_seg5_anims_050157E4", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, spiny_egg_seg5_anims_050157E4), true, LOT_POINTER }, + { "spiny_seg5_anims_05016EAC", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, spiny_seg5_anims_05016EAC), true, LOT_POINTER }, + { "sushi_seg5_anims_0500AE54", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, sushi_seg5_anims_0500AE54), true, LOT_POINTER }, + { "swoop_seg6_anims_060070D0", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, swoop_seg6_anims_060070D0), true, LOT_POINTER }, + { "toad_seg6_anims_0600FB58", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, toad_seg6_anims_0600FB58), true, LOT_POINTER }, + { "ukiki_seg5_anims_05015784", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, ukiki_seg5_anims_05015784), true, LOT_POINTER }, + { "unagi_seg5_anims_05012824", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, unagi_seg5_anims_05012824), true, LOT_POINTER }, + { "water_ring_seg6_anims_06013F7C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, water_ring_seg6_anims_06013F7C), true, LOT_POINTER }, + { "whomp_seg6_anims_06020A04", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, whomp_seg6_anims_06020A04), true, LOT_POINTER }, + { "wiggler_seg5_anims_0500C874", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, wiggler_seg5_anims_0500C874), true, LOT_POINTER }, + { "wiggler_seg5_anims_0500EC8C", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, wiggler_seg5_anims_0500EC8C), true, LOT_POINTER }, + { "yoshi_seg5_anims_05024100", LVT_OBJECTANIMPOINTER_P, offsetof(struct GlobalObjectAnimations, yoshi_seg5_anims_05024100), true, LOT_POINTER }, }; #define LUA_GLOBAL_OBJECT_COLLISION_DATA_FIELD_COUNT 101 static struct LuaObjectField sGlobalObjectCollisionDataFields[LUA_GLOBAL_OBJECT_COLLISION_DATA_FIELD_COUNT] = { - { "bbh_seg7_collision_coffin", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bbh_seg7_collision_coffin), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "bbh_seg7_collision_haunted_bookshelf", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bbh_seg7_collision_haunted_bookshelf), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "bbh_seg7_collision_merry_go_round", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bbh_seg7_collision_merry_go_round), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "bbh_seg7_collision_mesh_elevator", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bbh_seg7_collision_mesh_elevator), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "bbh_seg7_collision_staircase_step", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bbh_seg7_collision_staircase_step), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "bbh_seg7_collision_tilt_floor_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bbh_seg7_collision_tilt_floor_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "bitdw_seg7_collision_moving_pyramid", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bitdw_seg7_collision_moving_pyramid), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "bitfs_seg7_collision_inverted_pyramid", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bitfs_seg7_collision_inverted_pyramid), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "bitfs_seg7_collision_sinking_cage_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bitfs_seg7_collision_sinking_cage_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "bitfs_seg7_collision_sinking_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bitfs_seg7_collision_sinking_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "bitfs_seg7_collision_squishable_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bitfs_seg7_collision_squishable_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "blue_coin_switch_seg8_collision_08000E98", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, blue_coin_switch_seg8_collision_08000E98), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "bob_seg7_collision_chain_chomp_gate", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bob_seg7_collision_chain_chomp_gate), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "bowser_2_seg7_collision_tilting_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bowser_2_seg7_collision_tilting_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "breakable_box_seg8_collision_08012D70", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, breakable_box_seg8_collision_08012D70), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "cannon_lid_seg8_collision_08004950", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, cannon_lid_seg8_collision_08004950), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "capswitch_collision_050033D0", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, capswitch_collision_050033D0), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "capswitch_collision_05003448", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, capswitch_collision_05003448), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "castle_grounds_seg7_collision_cannon_grill", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, castle_grounds_seg7_collision_cannon_grill), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "castle_grounds_seg7_collision_moat_grills", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, castle_grounds_seg7_collision_moat_grills), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "checkerboard_platform_seg8_collision_0800D710", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, checkerboard_platform_seg8_collision_0800D710), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ddd_seg7_collision_bowser_sub_door", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ddd_seg7_collision_bowser_sub_door), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ddd_seg7_collision_submarine", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ddd_seg7_collision_submarine), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "door_seg3_collision_0301CE78", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, door_seg3_collision_0301CE78), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "dorrie_seg6_collision_0600F644", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, dorrie_seg6_collision_0600F644), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "dorrie_seg6_collision_0600FBB8", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, dorrie_seg6_collision_0600FBB8), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "exclamation_box_outline_seg8_collision_08025F78", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, exclamation_box_outline_seg8_collision_08025F78), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "hmc_seg7_collision_controllable_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, hmc_seg7_collision_controllable_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "hmc_seg7_collision_controllable_platform_sub", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, hmc_seg7_collision_controllable_platform_sub), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "hmc_seg7_collision_elevator", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, hmc_seg7_collision_elevator), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "inside_castle_seg7_collision_floor_trap", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, inside_castle_seg7_collision_floor_trap), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "inside_castle_seg7_collision_star_door", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, inside_castle_seg7_collision_star_door), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "inside_castle_seg7_collision_water_level_pillar", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, inside_castle_seg7_collision_water_level_pillar), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "jrb_seg7_collision_floating_box", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_floating_box), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "jrb_seg7_collision_floating_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_floating_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "jrb_seg7_collision_in_sunken_ship", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_in_sunken_ship), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "jrb_seg7_collision_in_sunken_ship_2", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_in_sunken_ship_2), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "jrb_seg7_collision_in_sunken_ship_3", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_in_sunken_ship_3), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "jrb_seg7_collision_pillar_base", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_pillar_base), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "jrb_seg7_collision_rock_solid", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_rock_solid), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_hexagonal_mesh_seg3_collision_0301CECC", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_hexagonal_mesh_seg3_collision_0301CECC), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_drawbridge", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_drawbridge), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_falling_wall", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_falling_wall), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_floating_block", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_floating_block), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_hexagonal_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_hexagonal_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_inverted_pyramid", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_inverted_pyramid), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_octagonal_moving_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_octagonal_moving_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_pitoune", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_pitoune), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_puzzle_piece", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_puzzle_piece), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_rotating_fire_bars", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_rotating_fire_bars), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_rotating_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_rotating_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_sinking_pyramids", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_sinking_pyramids), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_slow_tilting_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_slow_tilting_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "lll_seg7_collision_wood_piece", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_wood_piece), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "metal_box_seg8_collision_08024C28", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, metal_box_seg8_collision_08024C28), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "penguin_seg5_collision_05008B88", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, penguin_seg5_collision_05008B88), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "poundable_pole_collision_06002490", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, poundable_pole_collision_06002490), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "purple_switch_seg8_collision_0800C7A8", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, purple_switch_seg8_collision_0800C7A8), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "rr_seg7_collision_donut_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, rr_seg7_collision_donut_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "rr_seg7_collision_elevator_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, rr_seg7_collision_elevator_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "rr_seg7_collision_pendulum", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, rr_seg7_collision_pendulum), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "rr_seg7_collision_rotating_platform_with_fire", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, rr_seg7_collision_rotating_platform_with_fire), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "sl_seg7_collision_pound_explodes", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, sl_seg7_collision_pound_explodes), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "sl_seg7_collision_sliding_snow_mound", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, sl_seg7_collision_sliding_snow_mound), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "springboard_collision_05001A28", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, springboard_collision_05001A28), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ssl_seg7_collision_0702808C", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ssl_seg7_collision_0702808C), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ssl_seg7_collision_grindel", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ssl_seg7_collision_grindel), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ssl_seg7_collision_pyramid_elevator", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ssl_seg7_collision_pyramid_elevator), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ssl_seg7_collision_pyramid_top", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ssl_seg7_collision_pyramid_top), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ssl_seg7_collision_spindel", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ssl_seg7_collision_spindel), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ssl_seg7_collision_tox_box", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ssl_seg7_collision_tox_box), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "thi_seg7_collision_top_trap", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, thi_seg7_collision_top_trap), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "thwomp_seg5_collision_0500B7D0", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, thwomp_seg5_collision_0500B7D0), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "thwomp_seg5_collision_0500B92C", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, thwomp_seg5_collision_0500B92C), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ttc_seg7_collision_clock_main_rotation", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttc_seg7_collision_clock_main_rotation), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ttc_seg7_collision_clock_pendulum", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttc_seg7_collision_clock_pendulum), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ttc_seg7_collision_clock_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttc_seg7_collision_clock_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ttc_seg7_collision_rotating_clock_platform2", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttc_seg7_collision_rotating_clock_platform2), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ttc_seg7_collision_sliding_surface", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttc_seg7_collision_sliding_surface), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ttm_seg7_collision_pitoune_2", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttm_seg7_collision_pitoune_2), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ttm_seg7_collision_podium_warp", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttm_seg7_collision_podium_warp), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "ttm_seg7_collision_ukiki_cage", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttm_seg7_collision_ukiki_cage), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "unknown_seg8_collision_080262F8", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, unknown_seg8_collision_080262F8), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "warp_pipe_seg3_collision_03009AC8", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, warp_pipe_seg3_collision_03009AC8), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wdw_seg7_collision_arrow_lift", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wdw_seg7_collision_arrow_lift), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wdw_seg7_collision_express_elevator_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wdw_seg7_collision_express_elevator_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wdw_seg7_collision_rect_floating_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wdw_seg7_collision_rect_floating_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wdw_seg7_collision_square_floating_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wdw_seg7_collision_square_floating_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wf_seg7_collision_breakable_wall", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_breakable_wall), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wf_seg7_collision_breakable_wall_2", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_breakable_wall_2), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wf_seg7_collision_bullet_bill_cannon", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_bullet_bill_cannon), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wf_seg7_collision_clocklike_rotation", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_clocklike_rotation), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wf_seg7_collision_kickable_board", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_kickable_board), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wf_seg7_collision_large_bomp", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_large_bomp), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wf_seg7_collision_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wf_seg7_collision_sliding_brick_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_sliding_brick_platform), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wf_seg7_collision_small_bomp", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_small_bomp), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wf_seg7_collision_tower", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_tower), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wf_seg7_collision_tower_door", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_tower_door), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "whomp_seg6_collision_06020A0C", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, whomp_seg6_collision_06020A0C), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "wooden_signpost_seg3_collision_0302DD80", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wooden_signpost_seg3_collision_0302DD80), false, LOT_POINTER, 1, sizeof(Collision*) }, + { "bbh_seg7_collision_coffin", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bbh_seg7_collision_coffin), false, LOT_POINTER }, + { "bbh_seg7_collision_haunted_bookshelf", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bbh_seg7_collision_haunted_bookshelf), false, LOT_POINTER }, + { "bbh_seg7_collision_merry_go_round", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bbh_seg7_collision_merry_go_round), false, LOT_POINTER }, + { "bbh_seg7_collision_mesh_elevator", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bbh_seg7_collision_mesh_elevator), false, LOT_POINTER }, + { "bbh_seg7_collision_staircase_step", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bbh_seg7_collision_staircase_step), false, LOT_POINTER }, + { "bbh_seg7_collision_tilt_floor_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bbh_seg7_collision_tilt_floor_platform), false, LOT_POINTER }, + { "bitdw_seg7_collision_moving_pyramid", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bitdw_seg7_collision_moving_pyramid), false, LOT_POINTER }, + { "bitfs_seg7_collision_inverted_pyramid", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bitfs_seg7_collision_inverted_pyramid), false, LOT_POINTER }, + { "bitfs_seg7_collision_sinking_cage_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bitfs_seg7_collision_sinking_cage_platform), false, LOT_POINTER }, + { "bitfs_seg7_collision_sinking_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bitfs_seg7_collision_sinking_platform), false, LOT_POINTER }, + { "bitfs_seg7_collision_squishable_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bitfs_seg7_collision_squishable_platform), false, LOT_POINTER }, + { "blue_coin_switch_seg8_collision_08000E98", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, blue_coin_switch_seg8_collision_08000E98), false, LOT_POINTER }, + { "bob_seg7_collision_chain_chomp_gate", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bob_seg7_collision_chain_chomp_gate), false, LOT_POINTER }, + { "bowser_2_seg7_collision_tilting_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, bowser_2_seg7_collision_tilting_platform), false, LOT_POINTER }, + { "breakable_box_seg8_collision_08012D70", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, breakable_box_seg8_collision_08012D70), false, LOT_POINTER }, + { "cannon_lid_seg8_collision_08004950", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, cannon_lid_seg8_collision_08004950), false, LOT_POINTER }, + { "capswitch_collision_050033D0", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, capswitch_collision_050033D0), false, LOT_POINTER }, + { "capswitch_collision_05003448", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, capswitch_collision_05003448), false, LOT_POINTER }, + { "castle_grounds_seg7_collision_cannon_grill", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, castle_grounds_seg7_collision_cannon_grill), false, LOT_POINTER }, + { "castle_grounds_seg7_collision_moat_grills", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, castle_grounds_seg7_collision_moat_grills), false, LOT_POINTER }, + { "checkerboard_platform_seg8_collision_0800D710", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, checkerboard_platform_seg8_collision_0800D710), false, LOT_POINTER }, + { "ddd_seg7_collision_bowser_sub_door", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ddd_seg7_collision_bowser_sub_door), false, LOT_POINTER }, + { "ddd_seg7_collision_submarine", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ddd_seg7_collision_submarine), false, LOT_POINTER }, + { "door_seg3_collision_0301CE78", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, door_seg3_collision_0301CE78), false, LOT_POINTER }, + { "dorrie_seg6_collision_0600F644", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, dorrie_seg6_collision_0600F644), false, LOT_POINTER }, + { "dorrie_seg6_collision_0600FBB8", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, dorrie_seg6_collision_0600FBB8), false, LOT_POINTER }, + { "exclamation_box_outline_seg8_collision_08025F78", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, exclamation_box_outline_seg8_collision_08025F78), false, LOT_POINTER }, + { "hmc_seg7_collision_controllable_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, hmc_seg7_collision_controllable_platform), false, LOT_POINTER }, + { "hmc_seg7_collision_controllable_platform_sub", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, hmc_seg7_collision_controllable_platform_sub), false, LOT_POINTER }, + { "hmc_seg7_collision_elevator", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, hmc_seg7_collision_elevator), false, LOT_POINTER }, + { "inside_castle_seg7_collision_floor_trap", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, inside_castle_seg7_collision_floor_trap), false, LOT_POINTER }, + { "inside_castle_seg7_collision_star_door", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, inside_castle_seg7_collision_star_door), false, LOT_POINTER }, + { "inside_castle_seg7_collision_water_level_pillar", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, inside_castle_seg7_collision_water_level_pillar), false, LOT_POINTER }, + { "jrb_seg7_collision_floating_box", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_floating_box), false, LOT_POINTER }, + { "jrb_seg7_collision_floating_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_floating_platform), false, LOT_POINTER }, + { "jrb_seg7_collision_in_sunken_ship", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_in_sunken_ship), false, LOT_POINTER }, + { "jrb_seg7_collision_in_sunken_ship_2", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_in_sunken_ship_2), false, LOT_POINTER }, + { "jrb_seg7_collision_in_sunken_ship_3", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_in_sunken_ship_3), false, LOT_POINTER }, + { "jrb_seg7_collision_pillar_base", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_pillar_base), false, LOT_POINTER }, + { "jrb_seg7_collision_rock_solid", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, jrb_seg7_collision_rock_solid), false, LOT_POINTER }, + { "lll_hexagonal_mesh_seg3_collision_0301CECC", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_hexagonal_mesh_seg3_collision_0301CECC), false, LOT_POINTER }, + { "lll_seg7_collision_drawbridge", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_drawbridge), false, LOT_POINTER }, + { "lll_seg7_collision_falling_wall", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_falling_wall), false, LOT_POINTER }, + { "lll_seg7_collision_floating_block", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_floating_block), false, LOT_POINTER }, + { "lll_seg7_collision_hexagonal_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_hexagonal_platform), false, LOT_POINTER }, + { "lll_seg7_collision_inverted_pyramid", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_inverted_pyramid), false, LOT_POINTER }, + { "lll_seg7_collision_octagonal_moving_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_octagonal_moving_platform), false, LOT_POINTER }, + { "lll_seg7_collision_pitoune", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_pitoune), false, LOT_POINTER }, + { "lll_seg7_collision_puzzle_piece", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_puzzle_piece), false, LOT_POINTER }, + { "lll_seg7_collision_rotating_fire_bars", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_rotating_fire_bars), false, LOT_POINTER }, + { "lll_seg7_collision_rotating_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_rotating_platform), false, LOT_POINTER }, + { "lll_seg7_collision_sinking_pyramids", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_sinking_pyramids), false, LOT_POINTER }, + { "lll_seg7_collision_slow_tilting_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_slow_tilting_platform), false, LOT_POINTER }, + { "lll_seg7_collision_wood_piece", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, lll_seg7_collision_wood_piece), false, LOT_POINTER }, + { "metal_box_seg8_collision_08024C28", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, metal_box_seg8_collision_08024C28), false, LOT_POINTER }, + { "penguin_seg5_collision_05008B88", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, penguin_seg5_collision_05008B88), false, LOT_POINTER }, + { "poundable_pole_collision_06002490", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, poundable_pole_collision_06002490), false, LOT_POINTER }, + { "purple_switch_seg8_collision_0800C7A8", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, purple_switch_seg8_collision_0800C7A8), false, LOT_POINTER }, + { "rr_seg7_collision_donut_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, rr_seg7_collision_donut_platform), false, LOT_POINTER }, + { "rr_seg7_collision_elevator_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, rr_seg7_collision_elevator_platform), false, LOT_POINTER }, + { "rr_seg7_collision_pendulum", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, rr_seg7_collision_pendulum), false, LOT_POINTER }, + { "rr_seg7_collision_rotating_platform_with_fire", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, rr_seg7_collision_rotating_platform_with_fire), false, LOT_POINTER }, + { "sl_seg7_collision_pound_explodes", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, sl_seg7_collision_pound_explodes), false, LOT_POINTER }, + { "sl_seg7_collision_sliding_snow_mound", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, sl_seg7_collision_sliding_snow_mound), false, LOT_POINTER }, + { "springboard_collision_05001A28", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, springboard_collision_05001A28), false, LOT_POINTER }, + { "ssl_seg7_collision_0702808C", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ssl_seg7_collision_0702808C), false, LOT_POINTER }, + { "ssl_seg7_collision_grindel", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ssl_seg7_collision_grindel), false, LOT_POINTER }, + { "ssl_seg7_collision_pyramid_elevator", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ssl_seg7_collision_pyramid_elevator), false, LOT_POINTER }, + { "ssl_seg7_collision_pyramid_top", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ssl_seg7_collision_pyramid_top), false, LOT_POINTER }, + { "ssl_seg7_collision_spindel", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ssl_seg7_collision_spindel), false, LOT_POINTER }, + { "ssl_seg7_collision_tox_box", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ssl_seg7_collision_tox_box), false, LOT_POINTER }, + { "thi_seg7_collision_top_trap", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, thi_seg7_collision_top_trap), false, LOT_POINTER }, + { "thwomp_seg5_collision_0500B7D0", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, thwomp_seg5_collision_0500B7D0), false, LOT_POINTER }, + { "thwomp_seg5_collision_0500B92C", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, thwomp_seg5_collision_0500B92C), false, LOT_POINTER }, + { "ttc_seg7_collision_clock_main_rotation", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttc_seg7_collision_clock_main_rotation), false, LOT_POINTER }, + { "ttc_seg7_collision_clock_pendulum", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttc_seg7_collision_clock_pendulum), false, LOT_POINTER }, + { "ttc_seg7_collision_clock_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttc_seg7_collision_clock_platform), false, LOT_POINTER }, + { "ttc_seg7_collision_rotating_clock_platform2", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttc_seg7_collision_rotating_clock_platform2), false, LOT_POINTER }, + { "ttc_seg7_collision_sliding_surface", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttc_seg7_collision_sliding_surface), false, LOT_POINTER }, + { "ttm_seg7_collision_pitoune_2", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttm_seg7_collision_pitoune_2), false, LOT_POINTER }, + { "ttm_seg7_collision_podium_warp", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttm_seg7_collision_podium_warp), false, LOT_POINTER }, + { "ttm_seg7_collision_ukiki_cage", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, ttm_seg7_collision_ukiki_cage), false, LOT_POINTER }, + { "unknown_seg8_collision_080262F8", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, unknown_seg8_collision_080262F8), false, LOT_POINTER }, + { "warp_pipe_seg3_collision_03009AC8", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, warp_pipe_seg3_collision_03009AC8), false, LOT_POINTER }, + { "wdw_seg7_collision_arrow_lift", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wdw_seg7_collision_arrow_lift), false, LOT_POINTER }, + { "wdw_seg7_collision_express_elevator_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wdw_seg7_collision_express_elevator_platform), false, LOT_POINTER }, + { "wdw_seg7_collision_rect_floating_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wdw_seg7_collision_rect_floating_platform), false, LOT_POINTER }, + { "wdw_seg7_collision_square_floating_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wdw_seg7_collision_square_floating_platform), false, LOT_POINTER }, + { "wf_seg7_collision_breakable_wall", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_breakable_wall), false, LOT_POINTER }, + { "wf_seg7_collision_breakable_wall_2", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_breakable_wall_2), false, LOT_POINTER }, + { "wf_seg7_collision_bullet_bill_cannon", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_bullet_bill_cannon), false, LOT_POINTER }, + { "wf_seg7_collision_clocklike_rotation", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_clocklike_rotation), false, LOT_POINTER }, + { "wf_seg7_collision_kickable_board", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_kickable_board), false, LOT_POINTER }, + { "wf_seg7_collision_large_bomp", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_large_bomp), false, LOT_POINTER }, + { "wf_seg7_collision_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_platform), false, LOT_POINTER }, + { "wf_seg7_collision_sliding_brick_platform", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_sliding_brick_platform), false, LOT_POINTER }, + { "wf_seg7_collision_small_bomp", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_small_bomp), false, LOT_POINTER }, + { "wf_seg7_collision_tower", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_tower), false, LOT_POINTER }, + { "wf_seg7_collision_tower_door", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wf_seg7_collision_tower_door), false, LOT_POINTER }, + { "whomp_seg6_collision_06020A0C", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, whomp_seg6_collision_06020A0C), false, LOT_POINTER }, + { "wooden_signpost_seg3_collision_0302DD80", LVT_COLLISION_P, offsetof(struct GlobalObjectCollisionData, wooden_signpost_seg3_collision_0302DD80), false, LOT_POINTER }, }; #define LUA_GLOBAL_TEXTURES_FIELD_COUNT 14 static struct LuaObjectField sGlobalTexturesFields[LUA_GLOBAL_TEXTURES_FIELD_COUNT] = { - { "apostrophe", LVT_COBJECT, offsetof(struct GlobalTextures, apostrophe), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "arrow_down", LVT_COBJECT, offsetof(struct GlobalTextures, arrow_down), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "arrow_up", LVT_COBJECT, offsetof(struct GlobalTextures, arrow_up), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "camera", LVT_COBJECT, offsetof(struct GlobalTextures, camera), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "coin", LVT_COBJECT, offsetof(struct GlobalTextures, coin), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "double_quote", LVT_COBJECT, offsetof(struct GlobalTextures, double_quote), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "lakitu", LVT_COBJECT, offsetof(struct GlobalTextures, lakitu), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "luigi_head", LVT_COBJECT, offsetof(struct GlobalTextures, luigi_head), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "mario_head", LVT_COBJECT, offsetof(struct GlobalTextures, mario_head), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "no_camera", LVT_COBJECT, offsetof(struct GlobalTextures, no_camera), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "star", LVT_COBJECT, offsetof(struct GlobalTextures, star), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "toad_head", LVT_COBJECT, offsetof(struct GlobalTextures, toad_head), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "waluigi_head", LVT_COBJECT, offsetof(struct GlobalTextures, waluigi_head), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, - { "wario_head", LVT_COBJECT, offsetof(struct GlobalTextures, wario_head), true, LOT_TEXTUREINFO, 1, sizeof(struct TextureInfo) }, + { "apostrophe", LVT_COBJECT, offsetof(struct GlobalTextures, apostrophe), true, LOT_TEXTUREINFO }, + { "arrow_down", LVT_COBJECT, offsetof(struct GlobalTextures, arrow_down), true, LOT_TEXTUREINFO }, + { "arrow_up", LVT_COBJECT, offsetof(struct GlobalTextures, arrow_up), true, LOT_TEXTUREINFO }, + { "camera", LVT_COBJECT, offsetof(struct GlobalTextures, camera), true, LOT_TEXTUREINFO }, + { "coin", LVT_COBJECT, offsetof(struct GlobalTextures, coin), true, LOT_TEXTUREINFO }, + { "double_quote", LVT_COBJECT, offsetof(struct GlobalTextures, double_quote), true, LOT_TEXTUREINFO }, + { "lakitu", LVT_COBJECT, offsetof(struct GlobalTextures, lakitu), true, LOT_TEXTUREINFO }, + { "luigi_head", LVT_COBJECT, offsetof(struct GlobalTextures, luigi_head), true, LOT_TEXTUREINFO }, + { "mario_head", LVT_COBJECT, offsetof(struct GlobalTextures, mario_head), true, LOT_TEXTUREINFO }, + { "no_camera", LVT_COBJECT, offsetof(struct GlobalTextures, no_camera), true, LOT_TEXTUREINFO }, + { "star", LVT_COBJECT, offsetof(struct GlobalTextures, star), true, LOT_TEXTUREINFO }, + { "toad_head", LVT_COBJECT, offsetof(struct GlobalTextures, toad_head), true, LOT_TEXTUREINFO }, + { "waluigi_head", LVT_COBJECT, offsetof(struct GlobalTextures, waluigi_head), true, LOT_TEXTUREINFO }, + { "wario_head", LVT_COBJECT, offsetof(struct GlobalTextures, wario_head), true, LOT_TEXTUREINFO }, }; #define LUA_GRAPH_NODE_FIELD_COUNT 8 static struct LuaObjectField sGraphNodeFields[LUA_GRAPH_NODE_FIELD_COUNT] = { - { "children", LVT_COBJECT_P, offsetof(struct GraphNode, children), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode*) }, - { "extraFlags", LVT_U8, offsetof(struct GraphNode, extraFlags), false, LOT_NONE, 1, sizeof(u8) }, - { "flags", LVT_S16, offsetof(struct GraphNode, flags), false, LOT_NONE, 1, sizeof(s16) }, -// { "georef", LVT_???, offsetof(struct GraphNode, georef), true, LOT_???, 1, sizeof(const void*) }, <--- UNIMPLEMENTED - { "hookProcess", LVT_U8, offsetof(struct GraphNode, hookProcess), false, LOT_NONE, 1, sizeof(u8) }, - { "next", LVT_COBJECT_P, offsetof(struct GraphNode, next), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode*) }, - { "parent", LVT_COBJECT_P, offsetof(struct GraphNode, parent), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode*) }, - { "prev", LVT_COBJECT_P, offsetof(struct GraphNode, prev), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode*) }, - { "type", LVT_S16, offsetof(struct GraphNode, type), true, LOT_NONE, 1, sizeof(s16) }, + { "children", LVT_COBJECT_P, offsetof(struct GraphNode, children), true, LOT_GRAPHNODE }, + { "extraFlags", LVT_U8, offsetof(struct GraphNode, extraFlags), false, LOT_NONE }, + { "flags", LVT_S16, offsetof(struct GraphNode, flags), false, LOT_NONE }, +// { "georef", LVT_???, offsetof(struct GraphNode, georef), true, LOT_??? }, <--- UNIMPLEMENTED + { "hookProcess", LVT_U8, offsetof(struct GraphNode, hookProcess), false, LOT_NONE }, + { "next", LVT_COBJECT_P, offsetof(struct GraphNode, next), true, LOT_GRAPHNODE }, + { "parent", LVT_COBJECT_P, offsetof(struct GraphNode, parent), true, LOT_GRAPHNODE }, + { "prev", LVT_COBJECT_P, offsetof(struct GraphNode, prev), true, LOT_GRAPHNODE }, + { "type", LVT_S16, offsetof(struct GraphNode, type), true, LOT_NONE }, }; #define LUA_GRAPH_NODE_ANIMATED_PART_FIELD_COUNT 3 static struct LuaObjectField sGraphNodeAnimatedPartFields[LUA_GRAPH_NODE_ANIMATED_PART_FIELD_COUNT] = { - { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeAnimatedPart, displayList), false, LOT_GFX, 1, sizeof(Gfx*) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeAnimatedPart, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "translation", LVT_COBJECT, offsetof(struct GraphNodeAnimatedPart, translation), true, LOT_VEC3S, 1, sizeof(Vec3s) }, + { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeAnimatedPart, displayList), false, LOT_GFX }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeAnimatedPart, node), true, LOT_GRAPHNODE }, + { "translation", LVT_COBJECT, offsetof(struct GraphNodeAnimatedPart, translation), true, LOT_VEC3S }, }; #define LUA_GRAPH_NODE_BACKGROUND_FIELD_COUNT 6 static struct LuaObjectField sGraphNodeBackgroundFields[LUA_GRAPH_NODE_BACKGROUND_FIELD_COUNT] = { - { "background", LVT_S32, offsetof(struct GraphNodeBackground, background), false, LOT_NONE, 1, sizeof(s32) }, - { "fnNode", LVT_COBJECT, offsetof(struct GraphNodeBackground, fnNode), true, LOT_FNGRAPHNODE, 1, sizeof(struct FnGraphNode) }, - { "prevCameraFocus", LVT_COBJECT, offsetof(struct GraphNodeBackground, prevCameraFocus), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "prevCameraPos", LVT_COBJECT, offsetof(struct GraphNodeBackground, prevCameraPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "prevCameraTimestamp", LVT_U32, offsetof(struct GraphNodeBackground, prevCameraTimestamp), true, LOT_NONE, 1, sizeof(u32) }, - { "unused", LVT_S32, offsetof(struct GraphNodeBackground, unused), true, LOT_NONE, 1, sizeof(s32) }, + { "background", LVT_S32, offsetof(struct GraphNodeBackground, background), false, LOT_NONE }, + { "fnNode", LVT_COBJECT, offsetof(struct GraphNodeBackground, fnNode), true, LOT_FNGRAPHNODE }, + { "prevCameraFocus", LVT_COBJECT, offsetof(struct GraphNodeBackground, prevCameraFocus), true, LOT_VEC3F }, + { "prevCameraPos", LVT_COBJECT, offsetof(struct GraphNodeBackground, prevCameraPos), true, LOT_VEC3F }, + { "prevCameraTimestamp", LVT_U32, offsetof(struct GraphNodeBackground, prevCameraTimestamp), true, LOT_NONE }, + { "unused", LVT_S32, offsetof(struct GraphNodeBackground, unused), true, LOT_NONE }, }; #define LUA_GRAPH_NODE_BILLBOARD_FIELD_COUNT 3 static struct LuaObjectField sGraphNodeBillboardFields[LUA_GRAPH_NODE_BILLBOARD_FIELD_COUNT] = { - { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeBillboard, displayList), false, LOT_GFX, 1, sizeof(Gfx*) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeBillboard, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "translation", LVT_COBJECT, offsetof(struct GraphNodeBillboard, translation), true, LOT_VEC3S, 1, sizeof(Vec3s) }, + { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeBillboard, displayList), false, LOT_GFX }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeBillboard, node), true, LOT_GRAPHNODE }, + { "translation", LVT_COBJECT, offsetof(struct GraphNodeBillboard, translation), true, LOT_VEC3S }, }; #define LUA_GRAPH_NODE_BONE_FIELD_COUNT 5 static struct LuaObjectField sGraphNodeBoneFields[LUA_GRAPH_NODE_BONE_FIELD_COUNT] = { - { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeBone, displayList), false, LOT_GFX, 1, sizeof(Gfx*) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeBone, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "rotation", LVT_COBJECT, offsetof(struct GraphNodeBone, rotation), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "scale", LVT_COBJECT, offsetof(struct GraphNodeBone, scale), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "translation", LVT_COBJECT, offsetof(struct GraphNodeBone, translation), true, LOT_VEC3S, 1, sizeof(Vec3s) }, + { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeBone, displayList), false, LOT_GFX }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeBone, node), true, LOT_GRAPHNODE }, + { "rotation", LVT_COBJECT, offsetof(struct GraphNodeBone, rotation), true, LOT_VEC3S }, + { "scale", LVT_COBJECT, offsetof(struct GraphNodeBone, scale), true, LOT_VEC3F }, + { "translation", LVT_COBJECT, offsetof(struct GraphNodeBone, translation), true, LOT_VEC3S }, }; #define LUA_GRAPH_NODE_CAMERA_FIELD_COUNT 10 static struct LuaObjectField sGraphNodeCameraFields[LUA_GRAPH_NODE_CAMERA_FIELD_COUNT] = { -// { "config", LVT_???, offsetof(struct GraphNodeCamera, config), false, LOT_???, 1, sizeof(union { ... }) }, <--- UNIMPLEMENTED - { "fnNode", LVT_COBJECT, offsetof(struct GraphNodeCamera, fnNode), true, LOT_FNGRAPHNODE, 1, sizeof(struct FnGraphNode) }, - { "focus", LVT_COBJECT, offsetof(struct GraphNodeCamera, focus), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "matrixPtr", LVT_COBJECT_P, offsetof(struct GraphNodeCamera, matrixPtr), false, LOT_MAT4, 1, sizeof(Mat4*) }, - { "matrixPtrPrev", LVT_COBJECT_P, offsetof(struct GraphNodeCamera, matrixPtrPrev), true, LOT_MAT4, 1, sizeof(Mat4*) }, - { "pos", LVT_COBJECT, offsetof(struct GraphNodeCamera, pos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "prevFocus", LVT_COBJECT, offsetof(struct GraphNodeCamera, prevFocus), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "prevPos", LVT_COBJECT, offsetof(struct GraphNodeCamera, prevPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "prevTimestamp", LVT_U32, offsetof(struct GraphNodeCamera, prevTimestamp), true, LOT_NONE, 1, sizeof(u32) }, - { "roll", LVT_S16, offsetof(struct GraphNodeCamera, roll), false, LOT_NONE, 1, sizeof(s16) }, - { "rollScreen", LVT_S16, offsetof(struct GraphNodeCamera, rollScreen), false, LOT_NONE, 1, sizeof(s16) }, +// { "config", LVT_???, offsetof(struct GraphNodeCamera, config), false, LOT_??? }, <--- UNIMPLEMENTED + { "fnNode", LVT_COBJECT, offsetof(struct GraphNodeCamera, fnNode), true, LOT_FNGRAPHNODE }, + { "focus", LVT_COBJECT, offsetof(struct GraphNodeCamera, focus), true, LOT_VEC3F }, + { "matrixPtr", LVT_COBJECT_P, offsetof(struct GraphNodeCamera, matrixPtr), false, LOT_MAT4 }, + { "matrixPtrPrev", LVT_COBJECT_P, offsetof(struct GraphNodeCamera, matrixPtrPrev), true, LOT_MAT4 }, + { "pos", LVT_COBJECT, offsetof(struct GraphNodeCamera, pos), true, LOT_VEC3F }, + { "prevFocus", LVT_COBJECT, offsetof(struct GraphNodeCamera, prevFocus), true, LOT_VEC3F }, + { "prevPos", LVT_COBJECT, offsetof(struct GraphNodeCamera, prevPos), true, LOT_VEC3F }, + { "prevTimestamp", LVT_U32, offsetof(struct GraphNodeCamera, prevTimestamp), true, LOT_NONE }, + { "roll", LVT_S16, offsetof(struct GraphNodeCamera, roll), false, LOT_NONE }, + { "rollScreen", LVT_S16, offsetof(struct GraphNodeCamera, rollScreen), false, LOT_NONE }, }; #define LUA_GRAPH_NODE_CULLING_RADIUS_FIELD_COUNT 3 static struct LuaObjectField sGraphNodeCullingRadiusFields[LUA_GRAPH_NODE_CULLING_RADIUS_FIELD_COUNT] = { - { "cullingRadius", LVT_S16, offsetof(struct GraphNodeCullingRadius, cullingRadius), false, LOT_NONE, 1, sizeof(s16) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeCullingRadius, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "pad1E", LVT_U8, offsetof(struct GraphNodeCullingRadius, pad1E), false, LOT_NONE, 2, sizeof(u8) }, + { "cullingRadius", LVT_S16, offsetof(struct GraphNodeCullingRadius, cullingRadius), false, LOT_NONE }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeCullingRadius, node), true, LOT_GRAPHNODE }, + { "pad1E", LVT_U8, offsetof(struct GraphNodeCullingRadius, pad1E), false, LOT_NONE, 2, sizeof(u8) }, }; #define LUA_GRAPH_NODE_DISPLAY_LIST_FIELD_COUNT 2 static struct LuaObjectField sGraphNodeDisplayListFields[LUA_GRAPH_NODE_DISPLAY_LIST_FIELD_COUNT] = { - { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeDisplayList, displayList), false, LOT_GFX, 1, sizeof(Gfx*) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeDisplayList, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, + { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeDisplayList, displayList), false, LOT_GFX }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeDisplayList, node), true, LOT_GRAPHNODE }, }; #define LUA_GRAPH_NODE_GENERATED_FIELD_COUNT 2 static struct LuaObjectField sGraphNodeGeneratedFields[LUA_GRAPH_NODE_GENERATED_FIELD_COUNT] = { - { "fnNode", LVT_COBJECT, offsetof(struct GraphNodeGenerated, fnNode), true, LOT_FNGRAPHNODE, 1, sizeof(struct FnGraphNode) }, - { "parameter", LVT_U32, offsetof(struct GraphNodeGenerated, parameter), false, LOT_NONE, 1, sizeof(u32) }, + { "fnNode", LVT_COBJECT, offsetof(struct GraphNodeGenerated, fnNode), true, LOT_FNGRAPHNODE }, + { "parameter", LVT_U32, offsetof(struct GraphNodeGenerated, parameter), false, LOT_NONE }, }; #define LUA_GRAPH_NODE_HELD_OBJECT_FIELD_COUNT 6 static struct LuaObjectField sGraphNodeHeldObjectFields[LUA_GRAPH_NODE_HELD_OBJECT_FIELD_COUNT] = { - { "fnNode", LVT_COBJECT, offsetof(struct GraphNodeHeldObject, fnNode), true, LOT_FNGRAPHNODE, 1, sizeof(struct FnGraphNode) }, - { "objNode", LVT_COBJECT_P, offsetof(struct GraphNodeHeldObject, objNode), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "playerIndex", LVT_S32, offsetof(struct GraphNodeHeldObject, playerIndex), false, LOT_NONE, 1, sizeof(s32) }, - { "prevShadowPos", LVT_COBJECT, offsetof(struct GraphNodeHeldObject, prevShadowPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "prevShadowPosTimestamp", LVT_U32, offsetof(struct GraphNodeHeldObject, prevShadowPosTimestamp), true, LOT_NONE, 1, sizeof(u32) }, - { "translation", LVT_COBJECT, offsetof(struct GraphNodeHeldObject, translation), true, LOT_VEC3S, 1, sizeof(Vec3s) }, + { "fnNode", LVT_COBJECT, offsetof(struct GraphNodeHeldObject, fnNode), true, LOT_FNGRAPHNODE }, + { "objNode", LVT_COBJECT_P, offsetof(struct GraphNodeHeldObject, objNode), false, LOT_OBJECT }, + { "playerIndex", LVT_S32, offsetof(struct GraphNodeHeldObject, playerIndex), false, LOT_NONE }, + { "prevShadowPos", LVT_COBJECT, offsetof(struct GraphNodeHeldObject, prevShadowPos), true, LOT_VEC3F }, + { "prevShadowPosTimestamp", LVT_U32, offsetof(struct GraphNodeHeldObject, prevShadowPosTimestamp), true, LOT_NONE }, + { "translation", LVT_COBJECT, offsetof(struct GraphNodeHeldObject, translation), true, LOT_VEC3S }, }; #define LUA_GRAPH_NODE_LEVEL_OF_DETAIL_FIELD_COUNT 3 static struct LuaObjectField sGraphNodeLevelOfDetailFields[LUA_GRAPH_NODE_LEVEL_OF_DETAIL_FIELD_COUNT] = { - { "maxDistance", LVT_S16, offsetof(struct GraphNodeLevelOfDetail, maxDistance), false, LOT_NONE, 1, sizeof(s16) }, - { "minDistance", LVT_S16, offsetof(struct GraphNodeLevelOfDetail, minDistance), false, LOT_NONE, 1, sizeof(s16) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeLevelOfDetail, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, + { "maxDistance", LVT_S16, offsetof(struct GraphNodeLevelOfDetail, maxDistance), false, LOT_NONE }, + { "minDistance", LVT_S16, offsetof(struct GraphNodeLevelOfDetail, minDistance), false, LOT_NONE }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeLevelOfDetail, node), true, LOT_GRAPHNODE }, }; #define LUA_GRAPH_NODE_MASTER_LIST_FIELD_COUNT 1 static struct LuaObjectField sGraphNodeMasterListFields[LUA_GRAPH_NODE_MASTER_LIST_FIELD_COUNT] = { - { "node", LVT_COBJECT, offsetof(struct GraphNodeMasterList, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeMasterList, node), true, LOT_GRAPHNODE }, }; #define LUA_GRAPH_NODE_OBJECT_FIELD_COUNT 27 static struct LuaObjectField sGraphNodeObjectFields[LUA_GRAPH_NODE_OBJECT_FIELD_COUNT] = { - { "activeAreaIndex", LVT_S8, offsetof(struct GraphNodeObject, activeAreaIndex), false, LOT_NONE, 1, sizeof(s8) }, - { "angle", LVT_COBJECT, offsetof(struct GraphNodeObject, angle), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "animInfo", LVT_COBJECT, offsetof(struct GraphNodeObject, animInfo), true, LOT_ANIMINFO, 1, sizeof(struct AnimInfo) }, - { "areaIndex", LVT_S8, offsetof(struct GraphNodeObject, areaIndex), false, LOT_NONE, 1, sizeof(s8) }, - { "cameraToObject", LVT_COBJECT, offsetof(struct GraphNodeObject, cameraToObject), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "disableAutomaticShadowPos", LVT_BOOL, offsetof(struct GraphNodeObject, disableAutomaticShadowPos), false, LOT_NONE, 1, sizeof(bool) }, - { "inited", LVT_BOOL, offsetof(struct GraphNodeObject, inited), false, LOT_NONE, 1, sizeof(bool) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeObject, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "pos", LVT_COBJECT, offsetof(struct GraphNodeObject, pos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "prevAngle", LVT_COBJECT, offsetof(struct GraphNodeObject, prevAngle), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "prevPos", LVT_COBJECT, offsetof(struct GraphNodeObject, prevPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "prevScale", LVT_COBJECT, offsetof(struct GraphNodeObject, prevScale), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "prevScaleTimestamp", LVT_U32, offsetof(struct GraphNodeObject, prevScaleTimestamp), true, LOT_NONE, 1, sizeof(u32) }, - { "prevShadowPos", LVT_COBJECT, offsetof(struct GraphNodeObject, prevShadowPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "prevShadowPosTimestamp", LVT_U32, offsetof(struct GraphNodeObject, prevShadowPosTimestamp), true, LOT_NONE, 1, sizeof(u32) }, - { "prevThrowMatrix", LVT_COBJECT, offsetof(struct GraphNodeObject, prevThrowMatrix), true, LOT_MAT4, 1, sizeof(Mat4) }, - { "prevThrowMatrixTimestamp", LVT_U32, offsetof(struct GraphNodeObject, prevThrowMatrixTimestamp), true, LOT_NONE, 1, sizeof(u32) }, - { "prevTimestamp", LVT_U32, offsetof(struct GraphNodeObject, prevTimestamp), true, LOT_NONE, 1, sizeof(u32) }, - { "scale", LVT_COBJECT, offsetof(struct GraphNodeObject, scale), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "shadowInvisible", LVT_BOOL, offsetof(struct GraphNodeObject, shadowInvisible), false, LOT_NONE, 1, sizeof(bool) }, - { "shadowPos", LVT_COBJECT, offsetof(struct GraphNodeObject, shadowPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "sharedChild", LVT_COBJECT_P, offsetof(struct GraphNodeObject, sharedChild), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode*) }, - { "skipInViewCheck", LVT_BOOL, offsetof(struct GraphNodeObject, skipInViewCheck), false, LOT_NONE, 1, sizeof(bool) }, - { "skipInterpolationTimestamp", LVT_U32, offsetof(struct GraphNodeObject, skipInterpolationTimestamp), true, LOT_NONE, 1, sizeof(u32) }, - { "throwMatrix", LVT_COBJECT_P, offsetof(struct GraphNodeObject, throwMatrix), false, LOT_MAT4, 1, sizeof(Mat4*) }, - { "throwMatrixPrev", LVT_COBJECT_P, offsetof(struct GraphNodeObject, throwMatrixPrev), true, LOT_MAT4, 1, sizeof(Mat4*) }, - { "unk4C", LVT_COBJECT_P, offsetof(struct GraphNodeObject, unk4C), true, LOT_SPAWNINFO, 1, sizeof(struct SpawnInfo*) }, + { "activeAreaIndex", LVT_S8, offsetof(struct GraphNodeObject, activeAreaIndex), false, LOT_NONE }, + { "angle", LVT_COBJECT, offsetof(struct GraphNodeObject, angle), true, LOT_VEC3S }, + { "animInfo", LVT_COBJECT, offsetof(struct GraphNodeObject, animInfo), true, LOT_ANIMINFO }, + { "areaIndex", LVT_S8, offsetof(struct GraphNodeObject, areaIndex), false, LOT_NONE }, + { "cameraToObject", LVT_COBJECT, offsetof(struct GraphNodeObject, cameraToObject), true, LOT_VEC3F }, + { "disableAutomaticShadowPos", LVT_BOOL, offsetof(struct GraphNodeObject, disableAutomaticShadowPos), false, LOT_NONE }, + { "inited", LVT_BOOL, offsetof(struct GraphNodeObject, inited), false, LOT_NONE }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeObject, node), true, LOT_GRAPHNODE }, + { "pos", LVT_COBJECT, offsetof(struct GraphNodeObject, pos), true, LOT_VEC3F }, + { "prevAngle", LVT_COBJECT, offsetof(struct GraphNodeObject, prevAngle), true, LOT_VEC3S }, + { "prevPos", LVT_COBJECT, offsetof(struct GraphNodeObject, prevPos), true, LOT_VEC3F }, + { "prevScale", LVT_COBJECT, offsetof(struct GraphNodeObject, prevScale), true, LOT_VEC3F }, + { "prevScaleTimestamp", LVT_U32, offsetof(struct GraphNodeObject, prevScaleTimestamp), true, LOT_NONE }, + { "prevShadowPos", LVT_COBJECT, offsetof(struct GraphNodeObject, prevShadowPos), true, LOT_VEC3F }, + { "prevShadowPosTimestamp", LVT_U32, offsetof(struct GraphNodeObject, prevShadowPosTimestamp), true, LOT_NONE }, + { "prevThrowMatrix", LVT_COBJECT, offsetof(struct GraphNodeObject, prevThrowMatrix), true, LOT_MAT4 }, + { "prevThrowMatrixTimestamp", LVT_U32, offsetof(struct GraphNodeObject, prevThrowMatrixTimestamp), true, LOT_NONE }, + { "prevTimestamp", LVT_U32, offsetof(struct GraphNodeObject, prevTimestamp), true, LOT_NONE }, + { "scale", LVT_COBJECT, offsetof(struct GraphNodeObject, scale), true, LOT_VEC3F }, + { "shadowInvisible", LVT_BOOL, offsetof(struct GraphNodeObject, shadowInvisible), false, LOT_NONE }, + { "shadowPos", LVT_COBJECT, offsetof(struct GraphNodeObject, shadowPos), true, LOT_VEC3F }, + { "sharedChild", LVT_COBJECT_P, offsetof(struct GraphNodeObject, sharedChild), true, LOT_GRAPHNODE }, + { "skipInViewCheck", LVT_BOOL, offsetof(struct GraphNodeObject, skipInViewCheck), false, LOT_NONE }, + { "skipInterpolationTimestamp", LVT_U32, offsetof(struct GraphNodeObject, skipInterpolationTimestamp), true, LOT_NONE }, + { "throwMatrix", LVT_COBJECT_P, offsetof(struct GraphNodeObject, throwMatrix), false, LOT_MAT4 }, + { "throwMatrixPrev", LVT_COBJECT_P, offsetof(struct GraphNodeObject, throwMatrixPrev), true, LOT_MAT4 }, + { "unk4C", LVT_COBJECT_P, offsetof(struct GraphNodeObject, unk4C), true, LOT_SPAWNINFO }, }; #define LUA_GRAPH_NODE_OBJECT_PARENT_FIELD_COUNT 2 static struct LuaObjectField sGraphNodeObjectParentFields[LUA_GRAPH_NODE_OBJECT_PARENT_FIELD_COUNT] = { - { "node", LVT_COBJECT, offsetof(struct GraphNodeObjectParent, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "sharedChild", LVT_COBJECT_P, offsetof(struct GraphNodeObjectParent, sharedChild), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode*) }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeObjectParent, node), true, LOT_GRAPHNODE }, + { "sharedChild", LVT_COBJECT_P, offsetof(struct GraphNodeObjectParent, sharedChild), true, LOT_GRAPHNODE }, }; #define LUA_GRAPH_NODE_ORTHO_PROJECTION_FIELD_COUNT 2 static struct LuaObjectField sGraphNodeOrthoProjectionFields[LUA_GRAPH_NODE_ORTHO_PROJECTION_FIELD_COUNT] = { - { "node", LVT_COBJECT, offsetof(struct GraphNodeOrthoProjection, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "scale", LVT_F32, offsetof(struct GraphNodeOrthoProjection, scale), false, LOT_NONE, 1, sizeof(f32) }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeOrthoProjection, node), true, LOT_GRAPHNODE }, + { "scale", LVT_F32, offsetof(struct GraphNodeOrthoProjection, scale), false, LOT_NONE }, }; #define LUA_GRAPH_NODE_PERSPECTIVE_FIELD_COUNT 7 static struct LuaObjectField sGraphNodePerspectiveFields[LUA_GRAPH_NODE_PERSPECTIVE_FIELD_COUNT] = { - { "far", LVT_S16, offsetof(struct GraphNodePerspective, far), false, LOT_NONE, 1, sizeof(s16) }, - { "fnNode", LVT_COBJECT, offsetof(struct GraphNodePerspective, fnNode), true, LOT_FNGRAPHNODE, 1, sizeof(struct FnGraphNode) }, - { "fov", LVT_F32, offsetof(struct GraphNodePerspective, fov), false, LOT_NONE, 1, sizeof(f32) }, - { "near", LVT_S16, offsetof(struct GraphNodePerspective, near), false, LOT_NONE, 1, sizeof(s16) }, - { "prevFov", LVT_F32, offsetof(struct GraphNodePerspective, prevFov), false, LOT_NONE, 1, sizeof(f32) }, - { "prevTimestamp", LVT_F32, offsetof(struct GraphNodePerspective, prevTimestamp), false, LOT_NONE, 1, sizeof(f32) }, - { "unused", LVT_S32, offsetof(struct GraphNodePerspective, unused), true, LOT_NONE, 1, sizeof(s32) }, + { "far", LVT_S16, offsetof(struct GraphNodePerspective, far), false, LOT_NONE }, + { "fnNode", LVT_COBJECT, offsetof(struct GraphNodePerspective, fnNode), true, LOT_FNGRAPHNODE }, + { "fov", LVT_F32, offsetof(struct GraphNodePerspective, fov), false, LOT_NONE }, + { "near", LVT_S16, offsetof(struct GraphNodePerspective, near), false, LOT_NONE }, + { "prevFov", LVT_F32, offsetof(struct GraphNodePerspective, prevFov), false, LOT_NONE }, + { "prevTimestamp", LVT_F32, offsetof(struct GraphNodePerspective, prevTimestamp), false, LOT_NONE }, + { "unused", LVT_S32, offsetof(struct GraphNodePerspective, unused), true, LOT_NONE }, }; #define LUA_GRAPH_NODE_ROOT_FIELD_COUNT 7 static struct LuaObjectField sGraphNodeRootFields[LUA_GRAPH_NODE_ROOT_FIELD_COUNT] = { - { "areaIndex", LVT_U8, offsetof(struct GraphNodeRoot, areaIndex), true, LOT_NONE, 1, sizeof(u8) }, - { "height", LVT_S16, offsetof(struct GraphNodeRoot, height), false, LOT_NONE, 1, sizeof(s16) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeRoot, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "numViews", LVT_S16, offsetof(struct GraphNodeRoot, numViews), true, LOT_NONE, 1, sizeof(s16) }, - { "width", LVT_S16, offsetof(struct GraphNodeRoot, width), false, LOT_NONE, 1, sizeof(s16) }, - { "x", LVT_S16, offsetof(struct GraphNodeRoot, x), false, LOT_NONE, 1, sizeof(s16) }, - { "y", LVT_S16, offsetof(struct GraphNodeRoot, y), false, LOT_NONE, 1, sizeof(s16) }, + { "areaIndex", LVT_U8, offsetof(struct GraphNodeRoot, areaIndex), true, LOT_NONE }, + { "height", LVT_S16, offsetof(struct GraphNodeRoot, height), false, LOT_NONE }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeRoot, node), true, LOT_GRAPHNODE }, + { "numViews", LVT_S16, offsetof(struct GraphNodeRoot, numViews), true, LOT_NONE }, + { "width", LVT_S16, offsetof(struct GraphNodeRoot, width), false, LOT_NONE }, + { "x", LVT_S16, offsetof(struct GraphNodeRoot, x), false, LOT_NONE }, + { "y", LVT_S16, offsetof(struct GraphNodeRoot, y), false, LOT_NONE }, }; #define LUA_GRAPH_NODE_ROTATION_FIELD_COUNT 3 static struct LuaObjectField sGraphNodeRotationFields[LUA_GRAPH_NODE_ROTATION_FIELD_COUNT] = { - { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeRotation, displayList), false, LOT_GFX, 1, sizeof(Gfx*) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeRotation, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "rotation", LVT_COBJECT, offsetof(struct GraphNodeRotation, rotation), true, LOT_VEC3S, 1, sizeof(Vec3s) }, + { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeRotation, displayList), false, LOT_GFX }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeRotation, node), true, LOT_GRAPHNODE }, + { "rotation", LVT_COBJECT, offsetof(struct GraphNodeRotation, rotation), true, LOT_VEC3S }, }; #define LUA_GRAPH_NODE_SCALE_FIELD_COUNT 3 static struct LuaObjectField sGraphNodeScaleFields[LUA_GRAPH_NODE_SCALE_FIELD_COUNT] = { - { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeScale, displayList), false, LOT_GFX, 1, sizeof(Gfx*) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeScale, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "scale", LVT_F32, offsetof(struct GraphNodeScale, scale), false, LOT_NONE, 1, sizeof(f32) }, + { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeScale, displayList), false, LOT_GFX }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeScale, node), true, LOT_GRAPHNODE }, + { "scale", LVT_F32, offsetof(struct GraphNodeScale, scale), false, LOT_NONE }, }; #define LUA_GRAPH_NODE_SCALE_XYZ_FIELD_COUNT 3 static struct LuaObjectField sGraphNodeScaleXYZFields[LUA_GRAPH_NODE_SCALE_XYZ_FIELD_COUNT] = { - { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeScaleXYZ, displayList), false, LOT_GFX, 1, sizeof(Gfx*) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeScaleXYZ, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "scale", LVT_COBJECT, offsetof(struct GraphNodeScaleXYZ, scale), true, LOT_VEC3F, 1, sizeof(Vec3f) }, + { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeScaleXYZ, displayList), false, LOT_GFX }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeScaleXYZ, node), true, LOT_GRAPHNODE }, + { "scale", LVT_COBJECT, offsetof(struct GraphNodeScaleXYZ, scale), true, LOT_VEC3F }, }; #define LUA_GRAPH_NODE_SHADOW_FIELD_COUNT 4 static struct LuaObjectField sGraphNodeShadowFields[LUA_GRAPH_NODE_SHADOW_FIELD_COUNT] = { - { "node", LVT_COBJECT, offsetof(struct GraphNodeShadow, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "shadowScale", LVT_S16, offsetof(struct GraphNodeShadow, shadowScale), false, LOT_NONE, 1, sizeof(s16) }, - { "shadowSolidity", LVT_U8, offsetof(struct GraphNodeShadow, shadowSolidity), false, LOT_NONE, 1, sizeof(u8) }, - { "shadowType", LVT_U8, offsetof(struct GraphNodeShadow, shadowType), false, LOT_NONE, 1, sizeof(u8) }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeShadow, node), true, LOT_GRAPHNODE }, + { "shadowScale", LVT_S16, offsetof(struct GraphNodeShadow, shadowScale), false, LOT_NONE }, + { "shadowSolidity", LVT_U8, offsetof(struct GraphNodeShadow, shadowSolidity), false, LOT_NONE }, + { "shadowType", LVT_U8, offsetof(struct GraphNodeShadow, shadowType), false, LOT_NONE }, }; #define LUA_GRAPH_NODE_START_FIELD_COUNT 1 static struct LuaObjectField sGraphNodeStartFields[LUA_GRAPH_NODE_START_FIELD_COUNT] = { - { "node", LVT_COBJECT, offsetof(struct GraphNodeStart, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeStart, node), true, LOT_GRAPHNODE }, }; #define LUA_GRAPH_NODE_SWITCH_CASE_FIELD_COUNT 4 static struct LuaObjectField sGraphNodeSwitchCaseFields[LUA_GRAPH_NODE_SWITCH_CASE_FIELD_COUNT] = { - { "fnNode", LVT_COBJECT, offsetof(struct GraphNodeSwitchCase, fnNode), true, LOT_FNGRAPHNODE, 1, sizeof(struct FnGraphNode) }, - { "parameter", LVT_S16, offsetof(struct GraphNodeSwitchCase, parameter), false, LOT_NONE, 1, sizeof(s16) }, - { "selectedCase", LVT_S16, offsetof(struct GraphNodeSwitchCase, selectedCase), false, LOT_NONE, 1, sizeof(s16) }, - { "unused", LVT_S32, offsetof(struct GraphNodeSwitchCase, unused), true, LOT_NONE, 1, sizeof(s32) }, + { "fnNode", LVT_COBJECT, offsetof(struct GraphNodeSwitchCase, fnNode), true, LOT_FNGRAPHNODE }, + { "parameter", LVT_S16, offsetof(struct GraphNodeSwitchCase, parameter), false, LOT_NONE }, + { "selectedCase", LVT_S16, offsetof(struct GraphNodeSwitchCase, selectedCase), false, LOT_NONE }, + { "unused", LVT_S32, offsetof(struct GraphNodeSwitchCase, unused), true, LOT_NONE }, }; #define LUA_GRAPH_NODE_TRANSLATION_FIELD_COUNT 4 static struct LuaObjectField sGraphNodeTranslationFields[LUA_GRAPH_NODE_TRANSLATION_FIELD_COUNT] = { - { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeTranslation, displayList), false, LOT_GFX, 1, sizeof(Gfx*) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeTranslation, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "pad1E", LVT_U8, offsetof(struct GraphNodeTranslation, pad1E), false, LOT_NONE, 2, sizeof(u8) }, - { "translation", LVT_COBJECT, offsetof(struct GraphNodeTranslation, translation), true, LOT_VEC3S, 1, sizeof(Vec3s) }, + { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeTranslation, displayList), false, LOT_GFX }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeTranslation, node), true, LOT_GRAPHNODE }, + { "pad1E", LVT_U8, offsetof(struct GraphNodeTranslation, pad1E), false, LOT_NONE, 2, sizeof(u8) }, + { "translation", LVT_COBJECT, offsetof(struct GraphNodeTranslation, translation), true, LOT_VEC3S }, }; #define LUA_GRAPH_NODE_TRANSLATION_ROTATION_FIELD_COUNT 4 static struct LuaObjectField sGraphNodeTranslationRotationFields[LUA_GRAPH_NODE_TRANSLATION_ROTATION_FIELD_COUNT] = { - { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeTranslationRotation, displayList), false, LOT_GFX, 1, sizeof(Gfx*) }, - { "node", LVT_COBJECT, offsetof(struct GraphNodeTranslationRotation, node), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode) }, - { "rotation", LVT_COBJECT, offsetof(struct GraphNodeTranslationRotation, rotation), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "translation", LVT_COBJECT, offsetof(struct GraphNodeTranslationRotation, translation), true, LOT_VEC3S, 1, sizeof(Vec3s) }, + { "displayList", LVT_COBJECT_P, offsetof(struct GraphNodeTranslationRotation, displayList), false, LOT_GFX }, + { "node", LVT_COBJECT, offsetof(struct GraphNodeTranslationRotation, node), true, LOT_GRAPHNODE }, + { "rotation", LVT_COBJECT, offsetof(struct GraphNodeTranslationRotation, rotation), true, LOT_VEC3S }, + { "translation", LVT_COBJECT, offsetof(struct GraphNodeTranslationRotation, translation), true, LOT_VEC3S }, }; #define LUA_INSTANT_WARP_FIELD_COUNT 3 static struct LuaObjectField sInstantWarpFields[LUA_INSTANT_WARP_FIELD_COUNT] = { - { "area", LVT_U8, offsetof(struct InstantWarp, area), false, LOT_NONE, 1, sizeof(u8) }, - { "displacement", LVT_COBJECT, offsetof(struct InstantWarp, displacement), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "id", LVT_U8, offsetof(struct InstantWarp, id), false, LOT_NONE, 1, sizeof(u8) }, + { "area", LVT_U8, offsetof(struct InstantWarp, area), false, LOT_NONE }, + { "displacement", LVT_COBJECT, offsetof(struct InstantWarp, displacement), true, LOT_VEC3S }, + { "id", LVT_U8, offsetof(struct InstantWarp, id), false, LOT_NONE }, }; #define LUA_LAKITU_STATE_FIELD_COUNT 38 static struct LuaObjectField sLakituStateFields[LUA_LAKITU_STATE_FIELD_COUNT] = { - { "curFocus", LVT_COBJECT, offsetof(struct LakituState, curFocus), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "curPos", LVT_COBJECT, offsetof(struct LakituState, curPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "defMode", LVT_U8, offsetof(struct LakituState, defMode), false, LOT_NONE, 1, sizeof(u8) }, - { "filler30", LVT_U8, offsetof(struct LakituState, filler30), false, LOT_NONE, 12, sizeof(u8) }, - { "filler3E", LVT_U8, offsetof(struct LakituState, filler3E), false, LOT_NONE, 10, sizeof(u8) }, - { "filler72", LVT_U8, offsetof(struct LakituState, filler72), false, LOT_NONE, 8, sizeof(u8) }, - { "focHSpeed", LVT_F32, offsetof(struct LakituState, focHSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "focVSpeed", LVT_F32, offsetof(struct LakituState, focVSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "focus", LVT_COBJECT, offsetof(struct LakituState, focus), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "focusDistance", LVT_F32, offsetof(struct LakituState, focusDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "goalFocus", LVT_COBJECT, offsetof(struct LakituState, goalFocus), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "goalPos", LVT_COBJECT, offsetof(struct LakituState, goalPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "keyDanceRoll", LVT_S16, offsetof(struct LakituState, keyDanceRoll), false, LOT_NONE, 1, sizeof(s16) }, - { "lastFrameAction", LVT_U32, offsetof(struct LakituState, lastFrameAction), false, LOT_NONE, 1, sizeof(u32) }, - { "mode", LVT_U8, offsetof(struct LakituState, mode), false, LOT_NONE, 1, sizeof(u8) }, - { "nextYaw", LVT_S16, offsetof(struct LakituState, nextYaw), false, LOT_NONE, 1, sizeof(s16) }, - { "oldPitch", LVT_S16, offsetof(struct LakituState, oldPitch), false, LOT_NONE, 1, sizeof(s16) }, - { "oldRoll", LVT_S16, offsetof(struct LakituState, oldRoll), false, LOT_NONE, 1, sizeof(s16) }, - { "oldYaw", LVT_S16, offsetof(struct LakituState, oldYaw), false, LOT_NONE, 1, sizeof(s16) }, - { "pos", LVT_COBJECT, offsetof(struct LakituState, pos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "posHSpeed", LVT_F32, offsetof(struct LakituState, posHSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "posVSpeed", LVT_F32, offsetof(struct LakituState, posVSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "roll", LVT_S16, offsetof(struct LakituState, roll), false, LOT_NONE, 1, sizeof(s16) }, - { "shakeMagnitude", LVT_COBJECT, offsetof(struct LakituState, shakeMagnitude), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "shakePitchDecay", LVT_S16, offsetof(struct LakituState, shakePitchDecay), false, LOT_NONE, 1, sizeof(s16) }, - { "shakePitchPhase", LVT_S16, offsetof(struct LakituState, shakePitchPhase), false, LOT_NONE, 1, sizeof(s16) }, - { "shakePitchVel", LVT_S16, offsetof(struct LakituState, shakePitchVel), false, LOT_NONE, 1, sizeof(s16) }, - { "shakeRollDecay", LVT_S16, offsetof(struct LakituState, shakeRollDecay), false, LOT_NONE, 1, sizeof(s16) }, - { "shakeRollPhase", LVT_S16, offsetof(struct LakituState, shakeRollPhase), false, LOT_NONE, 1, sizeof(s16) }, - { "shakeRollVel", LVT_S16, offsetof(struct LakituState, shakeRollVel), false, LOT_NONE, 1, sizeof(s16) }, - { "shakeYawDecay", LVT_S16, offsetof(struct LakituState, shakeYawDecay), false, LOT_NONE, 1, sizeof(s16) }, - { "shakeYawPhase", LVT_S16, offsetof(struct LakituState, shakeYawPhase), false, LOT_NONE, 1, sizeof(s16) }, - { "shakeYawVel", LVT_S16, offsetof(struct LakituState, shakeYawVel), false, LOT_NONE, 1, sizeof(s16) }, - { "skipCameraInterpolationTimestamp", LVT_U32, offsetof(struct LakituState, skipCameraInterpolationTimestamp), false, LOT_NONE, 1, sizeof(u32) }, - { "unused", LVT_S16, offsetof(struct LakituState, unused), false, LOT_NONE, 1, sizeof(s16) }, - { "unusedVec1", LVT_COBJECT, offsetof(struct LakituState, unusedVec1), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "unusedVec2", LVT_COBJECT, offsetof(struct LakituState, unusedVec2), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "yaw", LVT_S16, offsetof(struct LakituState, yaw), false, LOT_NONE, 1, sizeof(s16) }, + { "curFocus", LVT_COBJECT, offsetof(struct LakituState, curFocus), true, LOT_VEC3F }, + { "curPos", LVT_COBJECT, offsetof(struct LakituState, curPos), true, LOT_VEC3F }, + { "defMode", LVT_U8, offsetof(struct LakituState, defMode), false, LOT_NONE }, + { "filler30", LVT_U8, offsetof(struct LakituState, filler30), false, LOT_NONE, 12, sizeof(u8) }, + { "filler3E", LVT_U8, offsetof(struct LakituState, filler3E), false, LOT_NONE, 10, sizeof(u8) }, + { "filler72", LVT_U8, offsetof(struct LakituState, filler72), false, LOT_NONE, 8, sizeof(u8) }, + { "focHSpeed", LVT_F32, offsetof(struct LakituState, focHSpeed), false, LOT_NONE }, + { "focVSpeed", LVT_F32, offsetof(struct LakituState, focVSpeed), false, LOT_NONE }, + { "focus", LVT_COBJECT, offsetof(struct LakituState, focus), true, LOT_VEC3F }, + { "focusDistance", LVT_F32, offsetof(struct LakituState, focusDistance), false, LOT_NONE }, + { "goalFocus", LVT_COBJECT, offsetof(struct LakituState, goalFocus), true, LOT_VEC3F }, + { "goalPos", LVT_COBJECT, offsetof(struct LakituState, goalPos), true, LOT_VEC3F }, + { "keyDanceRoll", LVT_S16, offsetof(struct LakituState, keyDanceRoll), false, LOT_NONE }, + { "lastFrameAction", LVT_U32, offsetof(struct LakituState, lastFrameAction), false, LOT_NONE }, + { "mode", LVT_U8, offsetof(struct LakituState, mode), false, LOT_NONE }, + { "nextYaw", LVT_S16, offsetof(struct LakituState, nextYaw), false, LOT_NONE }, + { "oldPitch", LVT_S16, offsetof(struct LakituState, oldPitch), false, LOT_NONE }, + { "oldRoll", LVT_S16, offsetof(struct LakituState, oldRoll), false, LOT_NONE }, + { "oldYaw", LVT_S16, offsetof(struct LakituState, oldYaw), false, LOT_NONE }, + { "pos", LVT_COBJECT, offsetof(struct LakituState, pos), true, LOT_VEC3F }, + { "posHSpeed", LVT_F32, offsetof(struct LakituState, posHSpeed), false, LOT_NONE }, + { "posVSpeed", LVT_F32, offsetof(struct LakituState, posVSpeed), false, LOT_NONE }, + { "roll", LVT_S16, offsetof(struct LakituState, roll), false, LOT_NONE }, + { "shakeMagnitude", LVT_COBJECT, offsetof(struct LakituState, shakeMagnitude), true, LOT_VEC3S }, + { "shakePitchDecay", LVT_S16, offsetof(struct LakituState, shakePitchDecay), false, LOT_NONE }, + { "shakePitchPhase", LVT_S16, offsetof(struct LakituState, shakePitchPhase), false, LOT_NONE }, + { "shakePitchVel", LVT_S16, offsetof(struct LakituState, shakePitchVel), false, LOT_NONE }, + { "shakeRollDecay", LVT_S16, offsetof(struct LakituState, shakeRollDecay), false, LOT_NONE }, + { "shakeRollPhase", LVT_S16, offsetof(struct LakituState, shakeRollPhase), false, LOT_NONE }, + { "shakeRollVel", LVT_S16, offsetof(struct LakituState, shakeRollVel), false, LOT_NONE }, + { "shakeYawDecay", LVT_S16, offsetof(struct LakituState, shakeYawDecay), false, LOT_NONE }, + { "shakeYawPhase", LVT_S16, offsetof(struct LakituState, shakeYawPhase), false, LOT_NONE }, + { "shakeYawVel", LVT_S16, offsetof(struct LakituState, shakeYawVel), false, LOT_NONE }, + { "skipCameraInterpolationTimestamp", LVT_U32, offsetof(struct LakituState, skipCameraInterpolationTimestamp), false, LOT_NONE }, + { "unused", LVT_S16, offsetof(struct LakituState, unused), false, LOT_NONE }, + { "unusedVec1", LVT_COBJECT, offsetof(struct LakituState, unusedVec1), true, LOT_VEC3F }, + { "unusedVec2", LVT_COBJECT, offsetof(struct LakituState, unusedVec2), true, LOT_VEC3S }, + { "yaw", LVT_S16, offsetof(struct LakituState, yaw), false, LOT_NONE }, }; #define LUA_LEVEL_VALUES_FIELD_COUNT 56 static struct LuaObjectField sLevelValuesFields[LUA_LEVEL_VALUES_FIELD_COUNT] = { - { "bubbleOnDeathBarrierInCapStages", LVT_U8, offsetof(struct LevelValues, bubbleOnDeathBarrierInCapStages), false, LOT_NONE, 1, sizeof(u8) }, - { "ceilNormalMaxY", LVT_F32, offsetof(struct LevelValues, ceilNormalMaxY), false, LOT_NONE, 1, sizeof(f32) }, - { "cellHeightLimit", LVT_S16, offsetof(struct LevelValues, cellHeightLimit), false, LOT_NONE, 1, sizeof(s16) }, - { "coinsRequiredForCoinStar", LVT_S16, offsetof(struct LevelValues, coinsRequiredForCoinStar), false, LOT_NONE, 1, sizeof(s16) }, - { "disableActs", LVT_U8, offsetof(struct LevelValues, disableActs), false, LOT_NONE, 1, sizeof(u8) }, - { "entryLevel", LVT_S32, offsetof(struct LevelValues, entryLevel), false, LOT_NONE, 1, sizeof(enum LevelNum) }, - { "exitCastleArea", LVT_S16, offsetof(struct LevelValues, exitCastleArea), false, LOT_NONE, 1, sizeof(s16) }, - { "exitCastleLevel", LVT_S32, offsetof(struct LevelValues, exitCastleLevel), false, LOT_NONE, 1, sizeof(enum LevelNum) }, - { "exitCastleWarpNode", LVT_U8, offsetof(struct LevelValues, exitCastleWarpNode), false, LOT_NONE, 1, sizeof(u8) }, - { "extendedPauseDisplay", LVT_U8, offsetof(struct LevelValues, extendedPauseDisplay), false, LOT_NONE, 1, sizeof(u8) }, - { "fixCollisionBugs", LVT_U8, offsetof(struct LevelValues, fixCollisionBugs), false, LOT_NONE, 1, sizeof(u8) }, - { "fixCollisionBugsFalseLedgeGrab", LVT_U8, offsetof(struct LevelValues, fixCollisionBugsFalseLedgeGrab), false, LOT_NONE, 1, sizeof(u8) }, - { "fixCollisionBugsGroundPoundBonks", LVT_U8, offsetof(struct LevelValues, fixCollisionBugsGroundPoundBonks), false, LOT_NONE, 1, sizeof(u8) }, - { "fixCollisionBugsPickBestWall", LVT_U8, offsetof(struct LevelValues, fixCollisionBugsPickBestWall), false, LOT_NONE, 1, sizeof(u8) }, - { "fixCollisionBugsRoundedCorners", LVT_U8, offsetof(struct LevelValues, fixCollisionBugsRoundedCorners), false, LOT_NONE, 1, sizeof(u8) }, - { "fixInvalidShellRides", LVT_U8, offsetof(struct LevelValues, fixInvalidShellRides), false, LOT_NONE, 1, sizeof(u8) }, - { "fixVanishFloors", LVT_U8, offsetof(struct LevelValues, fixVanishFloors), false, LOT_NONE, 1, sizeof(u8) }, - { "floatingStarDance", LVT_U8, offsetof(struct LevelValues, floatingStarDance), false, LOT_NONE, 1, sizeof(u8) }, - { "floorLowerLimit", LVT_S16, offsetof(struct LevelValues, floorLowerLimit), false, LOT_NONE, 1, sizeof(s16) }, - { "floorLowerLimitMisc", LVT_S16, offsetof(struct LevelValues, floorLowerLimitMisc), false, LOT_NONE, 1, sizeof(s16) }, - { "floorLowerLimitShadow", LVT_S16, offsetof(struct LevelValues, floorLowerLimitShadow), false, LOT_NONE, 1, sizeof(s16) }, - { "floorNormalMinY", LVT_F32, offsetof(struct LevelValues, floorNormalMinY), false, LOT_NONE, 1, sizeof(f32) }, - { "hudCapTimer", LVT_U8, offsetof(struct LevelValues, hudCapTimer), false, LOT_NONE, 1, sizeof(u8) }, - { "hudRedCoinsRadar", LVT_U8, offsetof(struct LevelValues, hudRedCoinsRadar), false, LOT_NONE, 1, sizeof(u8) }, - { "hudSecretsRadar", LVT_U8, offsetof(struct LevelValues, hudSecretsRadar), false, LOT_NONE, 1, sizeof(u8) }, - { "infiniteStairsRequirement", LVT_S16, offsetof(struct LevelValues, infiniteStairsRequirement), false, LOT_NONE, 1, sizeof(s16) }, - { "jrbDarkenSkybox", LVT_U8, offsetof(struct LevelValues, jrbDarkenSkybox), false, LOT_NONE, 1, sizeof(u8) }, - { "maxCoins", LVT_U16, offsetof(struct LevelValues, maxCoins), false, LOT_NONE, 1, sizeof(u16) }, - { "maxLives", LVT_U16, offsetof(struct LevelValues, maxLives), false, LOT_NONE, 1, sizeof(u16) }, - { "metalCapDuration", LVT_U16, offsetof(struct LevelValues, metalCapDuration), false, LOT_NONE, 1, sizeof(u16) }, - { "metalCapDurationCotmc", LVT_U16, offsetof(struct LevelValues, metalCapDurationCotmc), false, LOT_NONE, 1, sizeof(u16) }, - { "metalCapSequence", LVT_S32, offsetof(struct LevelValues, metalCapSequence), false, LOT_NONE, 1, sizeof(enum SeqId) }, - { "mushroom1UpHeal", LVT_U8, offsetof(struct LevelValues, mushroom1UpHeal), false, LOT_NONE, 1, sizeof(u8) }, - { "numCoinsToLife", LVT_U16, offsetof(struct LevelValues, numCoinsToLife), false, LOT_NONE, 1, sizeof(u16) }, - { "pauseExitAnywhere", LVT_U8, offsetof(struct LevelValues, pauseExitAnywhere), false, LOT_NONE, 1, sizeof(u8) }, - { "previewBlueCoins", LVT_U8, offsetof(struct LevelValues, previewBlueCoins), false, LOT_NONE, 1, sizeof(u8) }, - { "pssSlideStarIndex", LVT_U8, offsetof(struct LevelValues, pssSlideStarIndex), false, LOT_NONE, 1, sizeof(u8) }, - { "pssSlideStarTime", LVT_U16, offsetof(struct LevelValues, pssSlideStarTime), false, LOT_NONE, 1, sizeof(u16) }, - { "respawnBlueCoinsSwitch", LVT_U8, offsetof(struct LevelValues, respawnBlueCoinsSwitch), false, LOT_NONE, 1, sizeof(u8) }, - { "shellSequence", LVT_S32, offsetof(struct LevelValues, shellSequence), false, LOT_NONE, 1, sizeof(enum SeqId) }, - { "showStarNumber", LVT_U8, offsetof(struct LevelValues, showStarNumber), false, LOT_NONE, 1, sizeof(u8) }, - { "skipCreditsAt", LVT_S32, offsetof(struct LevelValues, skipCreditsAt), false, LOT_NONE, 1, sizeof(enum LevelNum) }, - { "starHeal", LVT_U8, offsetof(struct LevelValues, starHeal), false, LOT_NONE, 1, sizeof(u8) }, - { "starPositions", LVT_COBJECT, offsetof(struct LevelValues, starPositions), true, LOT_STARPOSITIONS, 1, sizeof(struct StarPositions) }, - { "useGlobalStarIds", LVT_U8, offsetof(struct LevelValues, useGlobalStarIds), false, LOT_NONE, 1, sizeof(u8) }, - { "vanishCapDuration", LVT_U16, offsetof(struct LevelValues, vanishCapDuration), false, LOT_NONE, 1, sizeof(u16) }, - { "vanishCapDurationVcutm", LVT_U16, offsetof(struct LevelValues, vanishCapDurationVcutm), false, LOT_NONE, 1, sizeof(u16) }, - { "vanishCapSequence", LVT_S32, offsetof(struct LevelValues, vanishCapSequence), false, LOT_NONE, 1, sizeof(enum SeqId) }, - { "visibleSecrets", LVT_U8, offsetof(struct LevelValues, visibleSecrets), false, LOT_NONE, 1, sizeof(u8) }, - { "wallMaxRadius", LVT_F32, offsetof(struct LevelValues, wallMaxRadius), false, LOT_NONE, 1, sizeof(f32) }, - { "wdwWaterLevelSpeed", LVT_F32, offsetof(struct LevelValues, wdwWaterLevelSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "wingCapDuration", LVT_U16, offsetof(struct LevelValues, wingCapDuration), false, LOT_NONE, 1, sizeof(u16) }, - { "wingCapDurationTotwc", LVT_U16, offsetof(struct LevelValues, wingCapDurationTotwc), false, LOT_NONE, 1, sizeof(u16) }, - { "wingCapLookUpReq", LVT_S16, offsetof(struct LevelValues, wingCapLookUpReq), false, LOT_NONE, 1, sizeof(s16) }, - { "wingCapSequence", LVT_S32, offsetof(struct LevelValues, wingCapSequence), false, LOT_NONE, 1, sizeof(enum SeqId) }, - { "zoomOutCameraOnPause", LVT_U8, offsetof(struct LevelValues, zoomOutCameraOnPause), false, LOT_NONE, 1, sizeof(u8) }, + { "bubbleOnDeathBarrierInCapStages", LVT_U8, offsetof(struct LevelValues, bubbleOnDeathBarrierInCapStages), false, LOT_NONE }, + { "ceilNormalMaxY", LVT_F32, offsetof(struct LevelValues, ceilNormalMaxY), false, LOT_NONE }, + { "cellHeightLimit", LVT_S16, offsetof(struct LevelValues, cellHeightLimit), false, LOT_NONE }, + { "coinsRequiredForCoinStar", LVT_S16, offsetof(struct LevelValues, coinsRequiredForCoinStar), false, LOT_NONE }, + { "disableActs", LVT_U8, offsetof(struct LevelValues, disableActs), false, LOT_NONE }, + { "entryLevel", LVT_S32, offsetof(struct LevelValues, entryLevel), false, LOT_NONE }, + { "exitCastleArea", LVT_S16, offsetof(struct LevelValues, exitCastleArea), false, LOT_NONE }, + { "exitCastleLevel", LVT_S32, offsetof(struct LevelValues, exitCastleLevel), false, LOT_NONE }, + { "exitCastleWarpNode", LVT_U8, offsetof(struct LevelValues, exitCastleWarpNode), false, LOT_NONE }, + { "extendedPauseDisplay", LVT_U8, offsetof(struct LevelValues, extendedPauseDisplay), false, LOT_NONE }, + { "fixCollisionBugs", LVT_U8, offsetof(struct LevelValues, fixCollisionBugs), false, LOT_NONE }, + { "fixCollisionBugsFalseLedgeGrab", LVT_U8, offsetof(struct LevelValues, fixCollisionBugsFalseLedgeGrab), false, LOT_NONE }, + { "fixCollisionBugsGroundPoundBonks", LVT_U8, offsetof(struct LevelValues, fixCollisionBugsGroundPoundBonks), false, LOT_NONE }, + { "fixCollisionBugsPickBestWall", LVT_U8, offsetof(struct LevelValues, fixCollisionBugsPickBestWall), false, LOT_NONE }, + { "fixCollisionBugsRoundedCorners", LVT_U8, offsetof(struct LevelValues, fixCollisionBugsRoundedCorners), false, LOT_NONE }, + { "fixInvalidShellRides", LVT_U8, offsetof(struct LevelValues, fixInvalidShellRides), false, LOT_NONE }, + { "fixVanishFloors", LVT_U8, offsetof(struct LevelValues, fixVanishFloors), false, LOT_NONE }, + { "floatingStarDance", LVT_U8, offsetof(struct LevelValues, floatingStarDance), false, LOT_NONE }, + { "floorLowerLimit", LVT_S16, offsetof(struct LevelValues, floorLowerLimit), false, LOT_NONE }, + { "floorLowerLimitMisc", LVT_S16, offsetof(struct LevelValues, floorLowerLimitMisc), false, LOT_NONE }, + { "floorLowerLimitShadow", LVT_S16, offsetof(struct LevelValues, floorLowerLimitShadow), false, LOT_NONE }, + { "floorNormalMinY", LVT_F32, offsetof(struct LevelValues, floorNormalMinY), false, LOT_NONE }, + { "hudCapTimer", LVT_U8, offsetof(struct LevelValues, hudCapTimer), false, LOT_NONE }, + { "hudRedCoinsRadar", LVT_U8, offsetof(struct LevelValues, hudRedCoinsRadar), false, LOT_NONE }, + { "hudSecretsRadar", LVT_U8, offsetof(struct LevelValues, hudSecretsRadar), false, LOT_NONE }, + { "infiniteStairsRequirement", LVT_S16, offsetof(struct LevelValues, infiniteStairsRequirement), false, LOT_NONE }, + { "jrbDarkenSkybox", LVT_U8, offsetof(struct LevelValues, jrbDarkenSkybox), false, LOT_NONE }, + { "maxCoins", LVT_U16, offsetof(struct LevelValues, maxCoins), false, LOT_NONE }, + { "maxLives", LVT_U16, offsetof(struct LevelValues, maxLives), false, LOT_NONE }, + { "metalCapDuration", LVT_U16, offsetof(struct LevelValues, metalCapDuration), false, LOT_NONE }, + { "metalCapDurationCotmc", LVT_U16, offsetof(struct LevelValues, metalCapDurationCotmc), false, LOT_NONE }, + { "metalCapSequence", LVT_S32, offsetof(struct LevelValues, metalCapSequence), false, LOT_NONE }, + { "mushroom1UpHeal", LVT_U8, offsetof(struct LevelValues, mushroom1UpHeal), false, LOT_NONE }, + { "numCoinsToLife", LVT_U16, offsetof(struct LevelValues, numCoinsToLife), false, LOT_NONE }, + { "pauseExitAnywhere", LVT_U8, offsetof(struct LevelValues, pauseExitAnywhere), false, LOT_NONE }, + { "previewBlueCoins", LVT_U8, offsetof(struct LevelValues, previewBlueCoins), false, LOT_NONE }, + { "pssSlideStarIndex", LVT_U8, offsetof(struct LevelValues, pssSlideStarIndex), false, LOT_NONE }, + { "pssSlideStarTime", LVT_U16, offsetof(struct LevelValues, pssSlideStarTime), false, LOT_NONE }, + { "respawnBlueCoinsSwitch", LVT_U8, offsetof(struct LevelValues, respawnBlueCoinsSwitch), false, LOT_NONE }, + { "shellSequence", LVT_S32, offsetof(struct LevelValues, shellSequence), false, LOT_NONE }, + { "showStarNumber", LVT_U8, offsetof(struct LevelValues, showStarNumber), false, LOT_NONE }, + { "skipCreditsAt", LVT_S32, offsetof(struct LevelValues, skipCreditsAt), false, LOT_NONE }, + { "starHeal", LVT_U8, offsetof(struct LevelValues, starHeal), false, LOT_NONE }, + { "starPositions", LVT_COBJECT, offsetof(struct LevelValues, starPositions), true, LOT_STARPOSITIONS }, + { "useGlobalStarIds", LVT_U8, offsetof(struct LevelValues, useGlobalStarIds), false, LOT_NONE }, + { "vanishCapDuration", LVT_U16, offsetof(struct LevelValues, vanishCapDuration), false, LOT_NONE }, + { "vanishCapDurationVcutm", LVT_U16, offsetof(struct LevelValues, vanishCapDurationVcutm), false, LOT_NONE }, + { "vanishCapSequence", LVT_S32, offsetof(struct LevelValues, vanishCapSequence), false, LOT_NONE }, + { "visibleSecrets", LVT_U8, offsetof(struct LevelValues, visibleSecrets), false, LOT_NONE }, + { "wallMaxRadius", LVT_F32, offsetof(struct LevelValues, wallMaxRadius), false, LOT_NONE }, + { "wdwWaterLevelSpeed", LVT_F32, offsetof(struct LevelValues, wdwWaterLevelSpeed), false, LOT_NONE }, + { "wingCapDuration", LVT_U16, offsetof(struct LevelValues, wingCapDuration), false, LOT_NONE }, + { "wingCapDurationTotwc", LVT_U16, offsetof(struct LevelValues, wingCapDurationTotwc), false, LOT_NONE }, + { "wingCapLookUpReq", LVT_S16, offsetof(struct LevelValues, wingCapLookUpReq), false, LOT_NONE }, + { "wingCapSequence", LVT_S32, offsetof(struct LevelValues, wingCapSequence), false, LOT_NONE }, + { "zoomOutCameraOnPause", LVT_U8, offsetof(struct LevelValues, zoomOutCameraOnPause), false, LOT_NONE }, }; #define LUA_MARIO_ANIMATION_FIELD_COUNT 2 static struct LuaObjectField sMarioAnimationFields[LUA_MARIO_ANIMATION_FIELD_COUNT] = { -// { "animDmaTable", LVT_COBJECT_P, offsetof(struct MarioAnimation, animDmaTable), true, LOT_???, 1, sizeof(struct MarioAnimDmaRelatedThing*) }, <--- UNIMPLEMENTED - { "currentAnimAddr", LVT_U8_P, offsetof(struct MarioAnimation, currentAnimAddr), true, LOT_POINTER, 1, sizeof(u8*) }, - { "targetAnim", LVT_COBJECT_P, offsetof(struct MarioAnimation, targetAnim), false, LOT_ANIMATION, 1, sizeof(struct Animation*) }, +// { "animDmaTable", LVT_COBJECT_P, offsetof(struct MarioAnimation, animDmaTable), true, LOT_??? }, <--- UNIMPLEMENTED + { "currentAnimAddr", LVT_U8_P, offsetof(struct MarioAnimation, currentAnimAddr), true, LOT_POINTER }, + { "targetAnim", LVT_COBJECT_P, offsetof(struct MarioAnimation, targetAnim), false, LOT_ANIMATION }, }; #define LUA_MARIO_BODY_STATE_FIELD_COUNT 29 static struct LuaObjectField sMarioBodyStateFields[LUA_MARIO_BODY_STATE_FIELD_COUNT] = { - { "action", LVT_U32, offsetof(struct MarioBodyState, action), false, LOT_NONE, 1, sizeof(u32) }, - { "allowPartRotation", LVT_U8, offsetof(struct MarioBodyState, allowPartRotation), false, LOT_NONE, 1, sizeof(u8) }, + { "action", LVT_U32, offsetof(struct MarioBodyState, action), false, LOT_NONE }, + { "allowPartRotation", LVT_U8, offsetof(struct MarioBodyState, allowPartRotation), false, LOT_NONE }, { "animPartsPos", LVT_COBJECT, offsetof(struct MarioBodyState, animPartsPos), true, LOT_VEC3F, MARIO_ANIM_PART_MAX, sizeof(Vec3f) }, { "animPartsRot", LVT_COBJECT, offsetof(struct MarioBodyState, animPartsRot), true, LOT_VEC3S, MARIO_ANIM_PART_MAX, sizeof(Vec3s) }, - { "capState", LVT_S8, offsetof(struct MarioBodyState, capState), false, LOT_NONE, 1, sizeof(s8) }, - { "currAnimPart", LVT_U32, offsetof(struct MarioBodyState, currAnimPart), true, LOT_NONE, 1, sizeof(u32) }, - { "eyeState", LVT_S8, offsetof(struct MarioBodyState, eyeState), false, LOT_NONE, 1, sizeof(s8) }, - { "grabPos", LVT_S8, offsetof(struct MarioBodyState, grabPos), false, LOT_NONE, 1, sizeof(s8) }, - { "handState", LVT_S8, offsetof(struct MarioBodyState, handState), false, LOT_NONE, 1, sizeof(s8) }, - { "headAngle", LVT_COBJECT, offsetof(struct MarioBodyState, headAngle), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "headPos", LVT_COBJECT, offsetof(struct MarioBodyState, headPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "heldObjLastPosition", LVT_COBJECT, offsetof(struct MarioBodyState, heldObjLastPosition), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "lightB", LVT_U16, offsetof(struct MarioBodyState, lightB), false, LOT_NONE, 1, sizeof(u16) }, - { "lightG", LVT_U16, offsetof(struct MarioBodyState, lightG), false, LOT_NONE, 1, sizeof(u16) }, - { "lightR", LVT_U16, offsetof(struct MarioBodyState, lightR), false, LOT_NONE, 1, sizeof(u16) }, - { "lightingDirX", LVT_F32, offsetof(struct MarioBodyState, lightingDirX), false, LOT_NONE, 1, sizeof(f32) }, - { "lightingDirY", LVT_F32, offsetof(struct MarioBodyState, lightingDirY), false, LOT_NONE, 1, sizeof(f32) }, - { "lightingDirZ", LVT_F32, offsetof(struct MarioBodyState, lightingDirZ), false, LOT_NONE, 1, sizeof(f32) }, - { "mirrorMario", LVT_BOOL, offsetof(struct MarioBodyState, mirrorMario), false, LOT_NONE, 1, sizeof(bool) }, - { "modelState", LVT_S16, offsetof(struct MarioBodyState, modelState), false, LOT_NONE, 1, sizeof(s16) }, - { "punchState", LVT_U8, offsetof(struct MarioBodyState, punchState), false, LOT_NONE, 1, sizeof(u8) }, - { "shadeB", LVT_U16, offsetof(struct MarioBodyState, shadeB), false, LOT_NONE, 1, sizeof(u16) }, - { "shadeG", LVT_U16, offsetof(struct MarioBodyState, shadeG), false, LOT_NONE, 1, sizeof(u16) }, - { "shadeR", LVT_U16, offsetof(struct MarioBodyState, shadeR), false, LOT_NONE, 1, sizeof(u16) }, - { "torsoAngle", LVT_COBJECT, offsetof(struct MarioBodyState, torsoAngle), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "torsoPos", LVT_COBJECT, offsetof(struct MarioBodyState, torsoPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "updateHeadPosTime", LVT_U32, offsetof(struct MarioBodyState, updateHeadPosTime), true, LOT_NONE, 1, sizeof(u32) }, - { "updateTorsoTime", LVT_U32, offsetof(struct MarioBodyState, updateTorsoTime), true, LOT_NONE, 1, sizeof(u32) }, - { "wingFlutter", LVT_S8, offsetof(struct MarioBodyState, wingFlutter), false, LOT_NONE, 1, sizeof(s8) }, + { "capState", LVT_S8, offsetof(struct MarioBodyState, capState), false, LOT_NONE }, + { "currAnimPart", LVT_U32, offsetof(struct MarioBodyState, currAnimPart), true, LOT_NONE }, + { "eyeState", LVT_S8, offsetof(struct MarioBodyState, eyeState), false, LOT_NONE }, + { "grabPos", LVT_S8, offsetof(struct MarioBodyState, grabPos), false, LOT_NONE }, + { "handState", LVT_S8, offsetof(struct MarioBodyState, handState), false, LOT_NONE }, + { "headAngle", LVT_COBJECT, offsetof(struct MarioBodyState, headAngle), true, LOT_VEC3S }, + { "headPos", LVT_COBJECT, offsetof(struct MarioBodyState, headPos), true, LOT_VEC3F }, + { "heldObjLastPosition", LVT_COBJECT, offsetof(struct MarioBodyState, heldObjLastPosition), true, LOT_VEC3F }, + { "lightB", LVT_U16, offsetof(struct MarioBodyState, lightB), false, LOT_NONE }, + { "lightG", LVT_U16, offsetof(struct MarioBodyState, lightG), false, LOT_NONE }, + { "lightR", LVT_U16, offsetof(struct MarioBodyState, lightR), false, LOT_NONE }, + { "lightingDirX", LVT_F32, offsetof(struct MarioBodyState, lightingDirX), false, LOT_NONE }, + { "lightingDirY", LVT_F32, offsetof(struct MarioBodyState, lightingDirY), false, LOT_NONE }, + { "lightingDirZ", LVT_F32, offsetof(struct MarioBodyState, lightingDirZ), false, LOT_NONE }, + { "mirrorMario", LVT_BOOL, offsetof(struct MarioBodyState, mirrorMario), false, LOT_NONE }, + { "modelState", LVT_S16, offsetof(struct MarioBodyState, modelState), false, LOT_NONE }, + { "punchState", LVT_U8, offsetof(struct MarioBodyState, punchState), false, LOT_NONE }, + { "shadeB", LVT_U16, offsetof(struct MarioBodyState, shadeB), false, LOT_NONE }, + { "shadeG", LVT_U16, offsetof(struct MarioBodyState, shadeG), false, LOT_NONE }, + { "shadeR", LVT_U16, offsetof(struct MarioBodyState, shadeR), false, LOT_NONE }, + { "torsoAngle", LVT_COBJECT, offsetof(struct MarioBodyState, torsoAngle), true, LOT_VEC3S }, + { "torsoPos", LVT_COBJECT, offsetof(struct MarioBodyState, torsoPos), true, LOT_VEC3F }, + { "updateHeadPosTime", LVT_U32, offsetof(struct MarioBodyState, updateHeadPosTime), true, LOT_NONE }, + { "updateTorsoTime", LVT_U32, offsetof(struct MarioBodyState, updateTorsoTime), true, LOT_NONE }, + { "wingFlutter", LVT_S8, offsetof(struct MarioBodyState, wingFlutter), false, LOT_NONE }, }; #define LUA_MARIO_STATE_FIELD_COUNT 80 static struct LuaObjectField sMarioStateFields[LUA_MARIO_STATE_FIELD_COUNT] = { - { "action", LVT_U32, offsetof(struct MarioState, action), false, LOT_NONE, 1, sizeof(u32) }, - { "actionArg", LVT_U32, offsetof(struct MarioState, actionArg), false, LOT_NONE, 1, sizeof(u32) }, - { "actionState", LVT_U16, offsetof(struct MarioState, actionState), false, LOT_NONE, 1, sizeof(u16) }, - { "actionTimer", LVT_U16, offsetof(struct MarioState, actionTimer), false, LOT_NONE, 1, sizeof(u16) }, - { "angleVel", LVT_COBJECT, offsetof(struct MarioState, angleVel), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "animation", LVT_COBJECT_P, offsetof(struct MarioState, animation), false, LOT_MARIOANIMATION, 1, sizeof(struct MarioAnimation*) }, - { "area", LVT_COBJECT_P, offsetof(struct MarioState, area), true, LOT_AREA, 1, sizeof(struct Area*) }, - { "bounceSquishTimer", LVT_U8, offsetof(struct MarioState, bounceSquishTimer), false, LOT_NONE, 1, sizeof(u8) }, - { "bubbleObj", LVT_COBJECT_P, offsetof(struct MarioState, bubbleObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "cap", LVT_U32, offsetof(struct MarioState, cap), false, LOT_NONE, 1, sizeof(u32) }, - { "capTimer", LVT_U16, offsetof(struct MarioState, capTimer), false, LOT_NONE, 1, sizeof(u16) }, - { "ceil", LVT_COBJECT_P, offsetof(struct MarioState, ceil), false, LOT_SURFACE, 1, sizeof(struct Surface*) }, - { "ceilHeight", LVT_F32, offsetof(struct MarioState, ceilHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "character", LVT_COBJECT_P, offsetof(struct MarioState, character), false, LOT_CHARACTER, 1, sizeof(struct Character*) }, - { "collidedObjInteractTypes", LVT_U32, offsetof(struct MarioState, collidedObjInteractTypes), false, LOT_NONE, 1, sizeof(u32) }, - { "controller", LVT_COBJECT_P, offsetof(struct MarioState, controller), true, LOT_CONTROLLER, 1, sizeof(struct Controller*) }, - { "curAnimOffset", LVT_F32, offsetof(struct MarioState, curAnimOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "currentRoom", LVT_S16, offsetof(struct MarioState, currentRoom), false, LOT_NONE, 1, sizeof(s16) }, - { "dialogId", LVT_S32, offsetof(struct MarioState, dialogId), true, LOT_NONE, 1, sizeof(s32) }, - { "doubleJumpTimer", LVT_U8, offsetof(struct MarioState, doubleJumpTimer), false, LOT_NONE, 1, sizeof(u8) }, - { "faceAngle", LVT_COBJECT, offsetof(struct MarioState, faceAngle), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "fadeWarpOpacity", LVT_U8, offsetof(struct MarioState, fadeWarpOpacity), false, LOT_NONE, 1, sizeof(u8) }, - { "flags", LVT_U32, offsetof(struct MarioState, flags), false, LOT_NONE, 1, sizeof(u32) }, - { "floor", LVT_COBJECT_P, offsetof(struct MarioState, floor), false, LOT_SURFACE, 1, sizeof(struct Surface*) }, - { "floorAngle", LVT_S16, offsetof(struct MarioState, floorAngle), false, LOT_NONE, 1, sizeof(s16) }, - { "floorHeight", LVT_F32, offsetof(struct MarioState, floorHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "forwardVel", LVT_F32, offsetof(struct MarioState, forwardVel), false, LOT_NONE, 1, sizeof(f32) }, - { "framesSinceA", LVT_U8, offsetof(struct MarioState, framesSinceA), false, LOT_NONE, 1, sizeof(u8) }, - { "framesSinceB", LVT_U8, offsetof(struct MarioState, framesSinceB), false, LOT_NONE, 1, sizeof(u8) }, - { "freeze", LVT_U8, offsetof(struct MarioState, freeze), false, LOT_NONE, 1, sizeof(u8) }, - { "healCounter", LVT_U8, offsetof(struct MarioState, healCounter), false, LOT_NONE, 1, sizeof(u8) }, - { "health", LVT_S16, offsetof(struct MarioState, health), false, LOT_NONE, 1, sizeof(s16) }, - { "heldByObj", LVT_COBJECT_P, offsetof(struct MarioState, heldByObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "heldObj", LVT_COBJECT_P, offsetof(struct MarioState, heldObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "hurtCounter", LVT_U8, offsetof(struct MarioState, hurtCounter), false, LOT_NONE, 1, sizeof(u8) }, - { "input", LVT_U16, offsetof(struct MarioState, input), false, LOT_NONE, 1, sizeof(u16) }, - { "intendedMag", LVT_F32, offsetof(struct MarioState, intendedMag), false, LOT_NONE, 1, sizeof(f32) }, - { "intendedYaw", LVT_S16, offsetof(struct MarioState, intendedYaw), false, LOT_NONE, 1, sizeof(s16) }, - { "interactObj", LVT_COBJECT_P, offsetof(struct MarioState, interactObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "invincTimer", LVT_S16, offsetof(struct MarioState, invincTimer), false, LOT_NONE, 1, sizeof(s16) }, - { "isSnoring", LVT_U8, offsetof(struct MarioState, isSnoring), false, LOT_NONE, 1, sizeof(u8) }, - { "knockbackTimer", LVT_S8, offsetof(struct MarioState, knockbackTimer), false, LOT_NONE, 1, sizeof(s8) }, - { "marioBodyState", LVT_COBJECT_P, offsetof(struct MarioState, marioBodyState), true, LOT_MARIOBODYSTATE, 1, sizeof(struct MarioBodyState*) }, - { "marioObj", LVT_COBJECT_P, offsetof(struct MarioState, marioObj), true, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "minimumBoneY", LVT_F32, offsetof(struct MarioState, minimumBoneY), false, LOT_NONE, 1, sizeof(f32) }, - { "nonInstantWarpPos", LVT_COBJECT, offsetof(struct MarioState, nonInstantWarpPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "numCoins", LVT_S16, offsetof(struct MarioState, numCoins), false, LOT_NONE, 1, sizeof(s16) }, - { "numKeys", LVT_S8, offsetof(struct MarioState, numKeys), false, LOT_NONE, 1, sizeof(s8) }, - { "numLives", LVT_S8, offsetof(struct MarioState, numLives), false, LOT_NONE, 1, sizeof(s8) }, - { "numStars", LVT_S16, offsetof(struct MarioState, numStars), false, LOT_NONE, 1, sizeof(s16) }, - { "particleFlags", LVT_U32, offsetof(struct MarioState, particleFlags), false, LOT_NONE, 1, sizeof(u32) }, - { "peakHeight", LVT_F32, offsetof(struct MarioState, peakHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "playerIndex", LVT_U16, offsetof(struct MarioState, playerIndex), true, LOT_NONE, 1, sizeof(u16) }, - { "pos", LVT_COBJECT, offsetof(struct MarioState, pos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "prevAction", LVT_U32, offsetof(struct MarioState, prevAction), false, LOT_NONE, 1, sizeof(u32) }, - { "prevNumStarsForDialog", LVT_S16, offsetof(struct MarioState, prevNumStarsForDialog), false, LOT_NONE, 1, sizeof(s16) }, - { "quicksandDepth", LVT_F32, offsetof(struct MarioState, quicksandDepth), false, LOT_NONE, 1, sizeof(f32) }, - { "riddenObj", LVT_COBJECT_P, offsetof(struct MarioState, riddenObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "skipWarpInteractionsTimer", LVT_U8, offsetof(struct MarioState, skipWarpInteractionsTimer), false, LOT_NONE, 1, sizeof(u8) }, - { "slideVelX", LVT_F32, offsetof(struct MarioState, slideVelX), false, LOT_NONE, 1, sizeof(f32) }, - { "slideVelZ", LVT_F32, offsetof(struct MarioState, slideVelZ), false, LOT_NONE, 1, sizeof(f32) }, - { "slideYaw", LVT_S16, offsetof(struct MarioState, slideYaw), false, LOT_NONE, 1, sizeof(s16) }, - { "spawnInfo", LVT_COBJECT_P, offsetof(struct MarioState, spawnInfo), false, LOT_SPAWNINFO, 1, sizeof(struct SpawnInfo*) }, - { "specialTripleJump", LVT_U8, offsetof(struct MarioState, specialTripleJump), false, LOT_NONE, 1, sizeof(u8) }, - { "splineKeyframe", LVT_COBJECT_P, offsetof(struct MarioState, splineKeyframe), false, LOT_VEC4S, 1, sizeof(Vec4s*) }, - { "splineKeyframeFraction", LVT_F32, offsetof(struct MarioState, splineKeyframeFraction), false, LOT_NONE, 1, sizeof(f32) }, - { "splineState", LVT_S32, offsetof(struct MarioState, splineState), false, LOT_NONE, 1, sizeof(s32) }, - { "squishTimer", LVT_U8, offsetof(struct MarioState, squishTimer), false, LOT_NONE, 1, sizeof(u8) }, - { "statusForCamera", LVT_COBJECT_P, offsetof(struct MarioState, statusForCamera), true, LOT_PLAYERCAMERASTATE, 1, sizeof(struct PlayerCameraState*) }, - { "terrainSoundAddend", LVT_U32, offsetof(struct MarioState, terrainSoundAddend), false, LOT_NONE, 1, sizeof(u32) }, - { "twirlYaw", LVT_S16, offsetof(struct MarioState, twirlYaw), false, LOT_NONE, 1, sizeof(s16) }, - { "unkB0", LVT_S16, offsetof(struct MarioState, unkB0), false, LOT_NONE, 1, sizeof(s16) }, - { "unkC4", LVT_F32, offsetof(struct MarioState, unkC4), false, LOT_NONE, 1, sizeof(f32) }, - { "usedObj", LVT_COBJECT_P, offsetof(struct MarioState, usedObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "vel", LVT_COBJECT, offsetof(struct MarioState, vel), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "wall", LVT_COBJECT_P, offsetof(struct MarioState, wall), false, LOT_SURFACE, 1, sizeof(struct Surface*) }, - { "wallKickTimer", LVT_U8, offsetof(struct MarioState, wallKickTimer), false, LOT_NONE, 1, sizeof(u8) }, - { "wallNormal", LVT_COBJECT, offsetof(struct MarioState, wallNormal), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "wasNetworkVisible", LVT_U8, offsetof(struct MarioState, wasNetworkVisible), false, LOT_NONE, 1, sizeof(u8) }, - { "waterLevel", LVT_S16, offsetof(struct MarioState, waterLevel), false, LOT_NONE, 1, sizeof(s16) }, + { "action", LVT_U32, offsetof(struct MarioState, action), false, LOT_NONE }, + { "actionArg", LVT_U32, offsetof(struct MarioState, actionArg), false, LOT_NONE }, + { "actionState", LVT_U16, offsetof(struct MarioState, actionState), false, LOT_NONE }, + { "actionTimer", LVT_U16, offsetof(struct MarioState, actionTimer), false, LOT_NONE }, + { "angleVel", LVT_COBJECT, offsetof(struct MarioState, angleVel), true, LOT_VEC3S }, + { "animation", LVT_COBJECT_P, offsetof(struct MarioState, animation), false, LOT_MARIOANIMATION }, + { "area", LVT_COBJECT_P, offsetof(struct MarioState, area), true, LOT_AREA }, + { "bounceSquishTimer", LVT_U8, offsetof(struct MarioState, bounceSquishTimer), false, LOT_NONE }, + { "bubbleObj", LVT_COBJECT_P, offsetof(struct MarioState, bubbleObj), false, LOT_OBJECT }, + { "cap", LVT_U32, offsetof(struct MarioState, cap), false, LOT_NONE }, + { "capTimer", LVT_U16, offsetof(struct MarioState, capTimer), false, LOT_NONE }, + { "ceil", LVT_COBJECT_P, offsetof(struct MarioState, ceil), false, LOT_SURFACE }, + { "ceilHeight", LVT_F32, offsetof(struct MarioState, ceilHeight), false, LOT_NONE }, + { "character", LVT_COBJECT_P, offsetof(struct MarioState, character), false, LOT_CHARACTER }, + { "collidedObjInteractTypes", LVT_U32, offsetof(struct MarioState, collidedObjInteractTypes), false, LOT_NONE }, + { "controller", LVT_COBJECT_P, offsetof(struct MarioState, controller), true, LOT_CONTROLLER }, + { "curAnimOffset", LVT_F32, offsetof(struct MarioState, curAnimOffset), false, LOT_NONE }, + { "currentRoom", LVT_S16, offsetof(struct MarioState, currentRoom), false, LOT_NONE }, + { "dialogId", LVT_S32, offsetof(struct MarioState, dialogId), true, LOT_NONE }, + { "doubleJumpTimer", LVT_U8, offsetof(struct MarioState, doubleJumpTimer), false, LOT_NONE }, + { "faceAngle", LVT_COBJECT, offsetof(struct MarioState, faceAngle), true, LOT_VEC3S }, + { "fadeWarpOpacity", LVT_U8, offsetof(struct MarioState, fadeWarpOpacity), false, LOT_NONE }, + { "flags", LVT_U32, offsetof(struct MarioState, flags), false, LOT_NONE }, + { "floor", LVT_COBJECT_P, offsetof(struct MarioState, floor), false, LOT_SURFACE }, + { "floorAngle", LVT_S16, offsetof(struct MarioState, floorAngle), false, LOT_NONE }, + { "floorHeight", LVT_F32, offsetof(struct MarioState, floorHeight), false, LOT_NONE }, + { "forwardVel", LVT_F32, offsetof(struct MarioState, forwardVel), false, LOT_NONE }, + { "framesSinceA", LVT_U8, offsetof(struct MarioState, framesSinceA), false, LOT_NONE }, + { "framesSinceB", LVT_U8, offsetof(struct MarioState, framesSinceB), false, LOT_NONE }, + { "freeze", LVT_U8, offsetof(struct MarioState, freeze), false, LOT_NONE }, + { "healCounter", LVT_U8, offsetof(struct MarioState, healCounter), false, LOT_NONE }, + { "health", LVT_S16, offsetof(struct MarioState, health), false, LOT_NONE }, + { "heldByObj", LVT_COBJECT_P, offsetof(struct MarioState, heldByObj), false, LOT_OBJECT }, + { "heldObj", LVT_COBJECT_P, offsetof(struct MarioState, heldObj), false, LOT_OBJECT }, + { "hurtCounter", LVT_U8, offsetof(struct MarioState, hurtCounter), false, LOT_NONE }, + { "input", LVT_U16, offsetof(struct MarioState, input), false, LOT_NONE }, + { "intendedMag", LVT_F32, offsetof(struct MarioState, intendedMag), false, LOT_NONE }, + { "intendedYaw", LVT_S16, offsetof(struct MarioState, intendedYaw), false, LOT_NONE }, + { "interactObj", LVT_COBJECT_P, offsetof(struct MarioState, interactObj), false, LOT_OBJECT }, + { "invincTimer", LVT_S16, offsetof(struct MarioState, invincTimer), false, LOT_NONE }, + { "isSnoring", LVT_U8, offsetof(struct MarioState, isSnoring), false, LOT_NONE }, + { "knockbackTimer", LVT_S8, offsetof(struct MarioState, knockbackTimer), false, LOT_NONE }, + { "marioBodyState", LVT_COBJECT_P, offsetof(struct MarioState, marioBodyState), true, LOT_MARIOBODYSTATE }, + { "marioObj", LVT_COBJECT_P, offsetof(struct MarioState, marioObj), true, LOT_OBJECT }, + { "minimumBoneY", LVT_F32, offsetof(struct MarioState, minimumBoneY), false, LOT_NONE }, + { "nonInstantWarpPos", LVT_COBJECT, offsetof(struct MarioState, nonInstantWarpPos), true, LOT_VEC3F }, + { "numCoins", LVT_S16, offsetof(struct MarioState, numCoins), false, LOT_NONE }, + { "numKeys", LVT_S8, offsetof(struct MarioState, numKeys), false, LOT_NONE }, + { "numLives", LVT_S8, offsetof(struct MarioState, numLives), false, LOT_NONE }, + { "numStars", LVT_S16, offsetof(struct MarioState, numStars), false, LOT_NONE }, + { "particleFlags", LVT_U32, offsetof(struct MarioState, particleFlags), false, LOT_NONE }, + { "peakHeight", LVT_F32, offsetof(struct MarioState, peakHeight), false, LOT_NONE }, + { "playerIndex", LVT_U16, offsetof(struct MarioState, playerIndex), true, LOT_NONE }, + { "pos", LVT_COBJECT, offsetof(struct MarioState, pos), true, LOT_VEC3F }, + { "prevAction", LVT_U32, offsetof(struct MarioState, prevAction), false, LOT_NONE }, + { "prevNumStarsForDialog", LVT_S16, offsetof(struct MarioState, prevNumStarsForDialog), false, LOT_NONE }, + { "quicksandDepth", LVT_F32, offsetof(struct MarioState, quicksandDepth), false, LOT_NONE }, + { "riddenObj", LVT_COBJECT_P, offsetof(struct MarioState, riddenObj), false, LOT_OBJECT }, + { "skipWarpInteractionsTimer", LVT_U8, offsetof(struct MarioState, skipWarpInteractionsTimer), false, LOT_NONE }, + { "slideVelX", LVT_F32, offsetof(struct MarioState, slideVelX), false, LOT_NONE }, + { "slideVelZ", LVT_F32, offsetof(struct MarioState, slideVelZ), false, LOT_NONE }, + { "slideYaw", LVT_S16, offsetof(struct MarioState, slideYaw), false, LOT_NONE }, + { "spawnInfo", LVT_COBJECT_P, offsetof(struct MarioState, spawnInfo), false, LOT_SPAWNINFO }, + { "specialTripleJump", LVT_U8, offsetof(struct MarioState, specialTripleJump), false, LOT_NONE }, + { "splineKeyframe", LVT_COBJECT_P, offsetof(struct MarioState, splineKeyframe), false, LOT_VEC4S }, + { "splineKeyframeFraction", LVT_F32, offsetof(struct MarioState, splineKeyframeFraction), false, LOT_NONE }, + { "splineState", LVT_S32, offsetof(struct MarioState, splineState), false, LOT_NONE }, + { "squishTimer", LVT_U8, offsetof(struct MarioState, squishTimer), false, LOT_NONE }, + { "statusForCamera", LVT_COBJECT_P, offsetof(struct MarioState, statusForCamera), true, LOT_PLAYERCAMERASTATE }, + { "terrainSoundAddend", LVT_U32, offsetof(struct MarioState, terrainSoundAddend), false, LOT_NONE }, + { "twirlYaw", LVT_S16, offsetof(struct MarioState, twirlYaw), false, LOT_NONE }, + { "unkB0", LVT_S16, offsetof(struct MarioState, unkB0), false, LOT_NONE }, + { "unkC4", LVT_F32, offsetof(struct MarioState, unkC4), false, LOT_NONE }, + { "usedObj", LVT_COBJECT_P, offsetof(struct MarioState, usedObj), false, LOT_OBJECT }, + { "vel", LVT_COBJECT, offsetof(struct MarioState, vel), true, LOT_VEC3F }, + { "wall", LVT_COBJECT_P, offsetof(struct MarioState, wall), false, LOT_SURFACE }, + { "wallKickTimer", LVT_U8, offsetof(struct MarioState, wallKickTimer), false, LOT_NONE }, + { "wallNormal", LVT_COBJECT, offsetof(struct MarioState, wallNormal), true, LOT_VEC3F }, + { "wasNetworkVisible", LVT_U8, offsetof(struct MarioState, wasNetworkVisible), false, LOT_NONE }, + { "waterLevel", LVT_S16, offsetof(struct MarioState, waterLevel), false, LOT_NONE }, }; #define LUA_MOD_FIELD_COUNT 17 static struct LuaObjectField sModFields[LUA_MOD_FIELD_COUNT] = { - { "basePath", LVT_STRING, offsetof(struct Mod, basePath), true, LOT_NONE, 1, sizeof(char) }, - { "category", LVT_STRING_P, offsetof(struct Mod, category), true, LOT_NONE, 1, sizeof(char*) }, - { "customBehaviorIndex", LVT_U8, offsetof(struct Mod, customBehaviorIndex), true, LOT_NONE, 1, sizeof(u8) }, - { "description", LVT_STRING_P, offsetof(struct Mod, description), true, LOT_NONE, 1, sizeof(char*) }, - { "enabled", LVT_BOOL, offsetof(struct Mod, enabled), true, LOT_NONE, 1, sizeof(bool) }, - { "fileCapacity", LVT_U16, offsetof(struct Mod, fileCapacity), true, LOT_NONE, 1, sizeof(u16) }, - { "fileCount", LVT_U16, offsetof(struct Mod, fileCount), true, LOT_NONE, 1, sizeof(u16) }, - { "ignoreScriptWarnings", LVT_BOOL, offsetof(struct Mod, ignoreScriptWarnings), true, LOT_NONE, 1, sizeof(bool) }, - { "incompatible", LVT_STRING_P, offsetof(struct Mod, incompatible), true, LOT_NONE, 1, sizeof(char*) }, - { "index", LVT_S32, offsetof(struct Mod, index), true, LOT_NONE, 1, sizeof(s32) }, - { "isDirectory", LVT_BOOL, offsetof(struct Mod, isDirectory), true, LOT_NONE, 1, sizeof(bool) }, - { "name", LVT_STRING, offsetof(struct Mod, name), true, LOT_NONE, 1, sizeof(char) }, - { "pausable", LVT_BOOL, offsetof(struct Mod, pausable), true, LOT_NONE, 1, sizeof(bool) }, - { "relativePath", LVT_STRING, offsetof(struct Mod, relativePath), true, LOT_NONE, 1, sizeof(char) }, - { "renderBehindHud", LVT_BOOL, offsetof(struct Mod, renderBehindHud), true, LOT_NONE, 1, sizeof(bool) }, - { "selectable", LVT_BOOL, offsetof(struct Mod, selectable), true, LOT_NONE, 1, sizeof(bool) }, - { "size", LVT_U64, offsetof(struct Mod, size), true, LOT_NONE, 1, sizeof(size_t) }, + { "basePath", LVT_STRING, offsetof(struct Mod, basePath), true, LOT_NONE }, + { "category", LVT_STRING_P, offsetof(struct Mod, category), true, LOT_NONE }, + { "customBehaviorIndex", LVT_U8, offsetof(struct Mod, customBehaviorIndex), true, LOT_NONE }, + { "description", LVT_STRING_P, offsetof(struct Mod, description), true, LOT_NONE }, + { "enabled", LVT_BOOL, offsetof(struct Mod, enabled), true, LOT_NONE }, + { "fileCapacity", LVT_U16, offsetof(struct Mod, fileCapacity), true, LOT_NONE }, + { "fileCount", LVT_U16, offsetof(struct Mod, fileCount), true, LOT_NONE }, + { "ignoreScriptWarnings", LVT_BOOL, offsetof(struct Mod, ignoreScriptWarnings), true, LOT_NONE }, + { "incompatible", LVT_STRING_P, offsetof(struct Mod, incompatible), true, LOT_NONE }, + { "index", LVT_S32, offsetof(struct Mod, index), true, LOT_NONE }, + { "isDirectory", LVT_BOOL, offsetof(struct Mod, isDirectory), true, LOT_NONE }, + { "name", LVT_STRING, offsetof(struct Mod, name), true, LOT_NONE }, + { "pausable", LVT_BOOL, offsetof(struct Mod, pausable), true, LOT_NONE }, + { "relativePath", LVT_STRING, offsetof(struct Mod, relativePath), true, LOT_NONE }, + { "renderBehindHud", LVT_BOOL, offsetof(struct Mod, renderBehindHud), true, LOT_NONE }, + { "selectable", LVT_BOOL, offsetof(struct Mod, selectable), true, LOT_NONE }, + { "size", LVT_U64, offsetof(struct Mod, size), true, LOT_NONE }, }; -#define LUA_MOD_AUDIO_FIELD_COUNT 4 +#define LUA_MOD_AUDIO_FIELD_COUNT 8 static struct LuaObjectField sModAudioFields[LUA_MOD_AUDIO_FIELD_COUNT] = { - { "baseVolume", LVT_F32, offsetof(struct ModAudio, baseVolume), false, LOT_NONE, 1, sizeof(f32) }, - { "filepath", LVT_STRING_P, offsetof(struct ModAudio, filepath), true, LOT_NONE, 1, sizeof(const char*) }, - { "isStream", LVT_BOOL, offsetof(struct ModAudio, isStream), true, LOT_NONE, 1, sizeof(bool) }, - { "loaded", LVT_BOOL, offsetof(struct ModAudio, loaded), true, LOT_NONE, 1, sizeof(bool) }, + { "baseVolume", LVT_F32, offsetof(struct ModAudio, baseVolume), false, LOT_NONE }, + { "filepath", LVT_STRING_P, offsetof(struct ModAudio, filepath), true, LOT_NONE }, + { "frequency", LVT_PROPERTY, .get = "audio_stream_get_frequency", .set = "audio_stream_set_frequency" }, + { "isStream", LVT_BOOL, offsetof(struct ModAudio, isStream), true, LOT_NONE }, + { "loaded", LVT_BOOL, offsetof(struct ModAudio, loaded), true, LOT_NONE }, + { "looping", LVT_PROPERTY, .get = "audio_stream_get_looping", .set = "audio_stream_set_looping" }, + { "position", LVT_PROPERTY, .get = "audio_stream_get_position", .set = "audio_stream_set_position" }, + { "volume", LVT_PROPERTY, .get = "audio_stream_get_volume", .set = "audio_stream_set_volume" }, }; #define LUA_MOD_FS_FIELD_COUNT 15 static struct LuaObjectField sModFsFields[LUA_MOD_FS_FIELD_COUNT] = { - { "clear", LVT_FUNCTION, (size_t) "mod_fs_clear", true, LOT_NONE, 1, sizeof(const char *) }, - { "copy_file", LVT_FUNCTION, (size_t) "mod_fs_copy_file", true, LOT_NONE, 1, sizeof(const char *) }, - { "create_file", LVT_FUNCTION, (size_t) "mod_fs_create_file", true, LOT_NONE, 1, sizeof(const char *) }, - { "delete", LVT_FUNCTION, (size_t) "mod_fs_delete", true, LOT_NONE, 1, sizeof(const char *) }, - { "delete_file", LVT_FUNCTION, (size_t) "mod_fs_delete_file", true, LOT_NONE, 1, sizeof(const char *) }, - { "get_file", LVT_FUNCTION, (size_t) "mod_fs_get_file", true, LOT_NONE, 1, sizeof(const char *) }, - { "get_filename", LVT_FUNCTION, (size_t) "mod_fs_get_filename", true, LOT_NONE, 1, sizeof(const char *) }, - { "isPublic", LVT_BOOL, offsetof(struct ModFs, isPublic), true, LOT_NONE, 1, sizeof(bool) }, - { "mod", LVT_COBJECT_P, offsetof(struct ModFs, mod), true, LOT_MOD, 1, sizeof(struct Mod*) }, - { "modPath", LVT_STRING, offsetof(struct ModFs, modPath), true, LOT_NONE, 1, sizeof(char) }, - { "move_file", LVT_FUNCTION, (size_t) "mod_fs_move_file", true, LOT_NONE, 1, sizeof(const char *) }, - { "numFiles", LVT_U16, offsetof(struct ModFs, numFiles), true, LOT_NONE, 1, sizeof(u16) }, - { "save", LVT_FUNCTION, (size_t) "mod_fs_save", true, LOT_NONE, 1, sizeof(const char *) }, - { "set_public", LVT_FUNCTION, (size_t) "mod_fs_set_public", true, LOT_NONE, 1, sizeof(const char *) }, - { "totalSize", LVT_U32, offsetof(struct ModFs, totalSize), true, LOT_NONE, 1, sizeof(u32) }, + { "clear", LVT_FUNCTION, .function = "mod_fs_clear" }, + { "copy_file", LVT_FUNCTION, .function = "mod_fs_copy_file" }, + { "create_file", LVT_FUNCTION, .function = "mod_fs_create_file" }, + { "delete", LVT_FUNCTION, .function = "mod_fs_delete" }, + { "delete_file", LVT_FUNCTION, .function = "mod_fs_delete_file" }, + { "get_file", LVT_FUNCTION, .function = "mod_fs_get_file" }, + { "get_filename", LVT_FUNCTION, .function = "mod_fs_get_filename" }, + { "isPublic", LVT_BOOL, offsetof(struct ModFs, isPublic), true, LOT_NONE }, + { "mod", LVT_COBJECT_P, offsetof(struct ModFs, mod), true, LOT_MOD }, + { "modPath", LVT_STRING, offsetof(struct ModFs, modPath), true, LOT_NONE }, + { "move_file", LVT_FUNCTION, .function = "mod_fs_move_file" }, + { "numFiles", LVT_U16, offsetof(struct ModFs, numFiles), true, LOT_NONE }, + { "save", LVT_FUNCTION, .function = "mod_fs_save" }, + { "set_public", LVT_FUNCTION, .function = "mod_fs_set_public" }, + { "totalSize", LVT_U32, offsetof(struct ModFs, totalSize), true, LOT_NONE }, }; #define LUA_MOD_FS_FILE_FIELD_COUNT 25 static struct LuaObjectField sModFsFileFields[LUA_MOD_FS_FILE_FIELD_COUNT] = { - { "erase", LVT_FUNCTION, (size_t) "mod_fs_file_erase", true, LOT_NONE, 1, sizeof(const char *) }, - { "filepath", LVT_STRING, offsetof(struct ModFsFile, filepath), true, LOT_NONE, 1, sizeof(char) }, - { "fill", LVT_FUNCTION, (size_t) "mod_fs_file_fill", true, LOT_NONE, 1, sizeof(const char *) }, - { "isPublic", LVT_BOOL, offsetof(struct ModFsFile, isPublic), true, LOT_NONE, 1, sizeof(bool) }, - { "isText", LVT_BOOL, offsetof(struct ModFsFile, isText), true, LOT_NONE, 1, sizeof(bool) }, - { "is_eof", LVT_FUNCTION, (size_t) "mod_fs_file_is_eof", true, LOT_NONE, 1, sizeof(const char *) }, - { "modFs", LVT_COBJECT_P, offsetof(struct ModFsFile, modFs), true, LOT_MODFS, 1, sizeof(struct ModFs*) }, - { "offset", LVT_U32, offsetof(struct ModFsFile, offset), true, LOT_NONE, 1, sizeof(u32) }, - { "read_bool", LVT_FUNCTION, (size_t) "mod_fs_file_read_bool", true, LOT_NONE, 1, sizeof(const char *) }, - { "read_bytes", LVT_FUNCTION, (size_t) "mod_fs_file_read_bytes", true, LOT_NONE, 1, sizeof(const char *) }, - { "read_integer", LVT_FUNCTION, (size_t) "mod_fs_file_read_integer", true, LOT_NONE, 1, sizeof(const char *) }, - { "read_line", LVT_FUNCTION, (size_t) "mod_fs_file_read_line", true, LOT_NONE, 1, sizeof(const char *) }, - { "read_number", LVT_FUNCTION, (size_t) "mod_fs_file_read_number", true, LOT_NONE, 1, sizeof(const char *) }, - { "read_string", LVT_FUNCTION, (size_t) "mod_fs_file_read_string", true, LOT_NONE, 1, sizeof(const char *) }, - { "rewind", LVT_FUNCTION, (size_t) "mod_fs_file_rewind", true, LOT_NONE, 1, sizeof(const char *) }, - { "seek", LVT_FUNCTION, (size_t) "mod_fs_file_seek", true, LOT_NONE, 1, sizeof(const char *) }, - { "set_public", LVT_FUNCTION, (size_t) "mod_fs_file_set_public", true, LOT_NONE, 1, sizeof(const char *) }, - { "set_text_mode", LVT_FUNCTION, (size_t) "mod_fs_file_set_text_mode", true, LOT_NONE, 1, sizeof(const char *) }, - { "size", LVT_U32, offsetof(struct ModFsFile, size), true, LOT_NONE, 1, sizeof(u32) }, - { "write_bool", LVT_FUNCTION, (size_t) "mod_fs_file_write_bool", true, LOT_NONE, 1, sizeof(const char *) }, - { "write_bytes", LVT_FUNCTION, (size_t) "mod_fs_file_write_bytes", true, LOT_NONE, 1, sizeof(const char *) }, - { "write_integer", LVT_FUNCTION, (size_t) "mod_fs_file_write_integer", true, LOT_NONE, 1, sizeof(const char *) }, - { "write_line", LVT_FUNCTION, (size_t) "mod_fs_file_write_line", true, LOT_NONE, 1, sizeof(const char *) }, - { "write_number", LVT_FUNCTION, (size_t) "mod_fs_file_write_number", true, LOT_NONE, 1, sizeof(const char *) }, - { "write_string", LVT_FUNCTION, (size_t) "mod_fs_file_write_string", true, LOT_NONE, 1, sizeof(const char *) }, + { "erase", LVT_FUNCTION, .function = "mod_fs_file_erase" }, + { "filepath", LVT_STRING, offsetof(struct ModFsFile, filepath), true, LOT_NONE }, + { "fill", LVT_FUNCTION, .function = "mod_fs_file_fill" }, + { "isPublic", LVT_BOOL, offsetof(struct ModFsFile, isPublic), true, LOT_NONE }, + { "isText", LVT_BOOL, offsetof(struct ModFsFile, isText), true, LOT_NONE }, + { "is_eof", LVT_FUNCTION, .function = "mod_fs_file_is_eof" }, + { "modFs", LVT_COBJECT_P, offsetof(struct ModFsFile, modFs), true, LOT_MODFS }, + { "offset", LVT_U32, offsetof(struct ModFsFile, offset), true, LOT_NONE }, + { "read_bool", LVT_FUNCTION, .function = "mod_fs_file_read_bool" }, + { "read_bytes", LVT_FUNCTION, .function = "mod_fs_file_read_bytes" }, + { "read_integer", LVT_FUNCTION, .function = "mod_fs_file_read_integer" }, + { "read_line", LVT_FUNCTION, .function = "mod_fs_file_read_line" }, + { "read_number", LVT_FUNCTION, .function = "mod_fs_file_read_number" }, + { "read_string", LVT_FUNCTION, .function = "mod_fs_file_read_string" }, + { "rewind", LVT_FUNCTION, .function = "mod_fs_file_rewind" }, + { "seek", LVT_FUNCTION, .function = "mod_fs_file_seek" }, + { "set_public", LVT_FUNCTION, .function = "mod_fs_file_set_public" }, + { "set_text_mode", LVT_FUNCTION, .function = "mod_fs_file_set_text_mode" }, + { "size", LVT_U32, offsetof(struct ModFsFile, size), true, LOT_NONE }, + { "write_bool", LVT_FUNCTION, .function = "mod_fs_file_write_bool" }, + { "write_bytes", LVT_FUNCTION, .function = "mod_fs_file_write_bytes" }, + { "write_integer", LVT_FUNCTION, .function = "mod_fs_file_write_integer" }, + { "write_line", LVT_FUNCTION, .function = "mod_fs_file_write_line" }, + { "write_number", LVT_FUNCTION, .function = "mod_fs_file_write_number" }, + { "write_string", LVT_FUNCTION, .function = "mod_fs_file_write_string" }, }; #define LUA_NAMETAGS_SETTINGS_FIELD_COUNT 2 static struct LuaObjectField sNametagsSettingsFields[LUA_NAMETAGS_SETTINGS_FIELD_COUNT] = { - { "showHealth", LVT_BOOL, offsetof(struct NametagsSettings, showHealth), false, LOT_NONE, 1, sizeof(bool) }, - { "showSelfTag", LVT_BOOL, offsetof(struct NametagsSettings, showSelfTag), false, LOT_NONE, 1, sizeof(bool) }, + { "showHealth", LVT_BOOL, offsetof(struct NametagsSettings, showHealth), false, LOT_NONE }, + { "showSelfTag", LVT_BOOL, offsetof(struct NametagsSettings, showSelfTag), false, LOT_NONE }, }; #define LUA_NETWORK_PLAYER_FIELD_COUNT 32 static struct LuaObjectField sNetworkPlayerFields[LUA_NETWORK_PLAYER_FIELD_COUNT] = { - { "connected", LVT_BOOL, offsetof(struct NetworkPlayer, connected), true, LOT_NONE, 1, sizeof(bool) }, - { "currActNum", LVT_S16, offsetof(struct NetworkPlayer, currActNum), true, LOT_NONE, 1, sizeof(s16) }, - { "currAreaIndex", LVT_S16, offsetof(struct NetworkPlayer, currAreaIndex), true, LOT_NONE, 1, sizeof(s16) }, - { "currAreaSyncValid", LVT_BOOL, offsetof(struct NetworkPlayer, currAreaSyncValid), true, LOT_NONE, 1, sizeof(bool) }, - { "currCourseNum", LVT_S16, offsetof(struct NetworkPlayer, currCourseNum), true, LOT_NONE, 1, sizeof(s16) }, - { "currLevelAreaSeqId", LVT_U16, offsetof(struct NetworkPlayer, currLevelAreaSeqId), true, LOT_NONE, 1, sizeof(u16) }, - { "currLevelNum", LVT_S16, offsetof(struct NetworkPlayer, currLevelNum), true, LOT_NONE, 1, sizeof(s16) }, - { "currLevelSyncValid", LVT_BOOL, offsetof(struct NetworkPlayer, currLevelSyncValid), true, LOT_NONE, 1, sizeof(bool) }, - { "currPositionValid", LVT_BOOL, offsetof(struct NetworkPlayer, currPositionValid), true, LOT_NONE, 1, sizeof(bool) }, - { "description", LVT_STRING, offsetof(struct NetworkPlayer, description), true, LOT_NONE, 1, sizeof(char) }, - { "descriptionA", LVT_U8, offsetof(struct NetworkPlayer, descriptionA), true, LOT_NONE, 1, sizeof(u8) }, - { "descriptionB", LVT_U8, offsetof(struct NetworkPlayer, descriptionB), true, LOT_NONE, 1, sizeof(u8) }, - { "descriptionG", LVT_U8, offsetof(struct NetworkPlayer, descriptionG), true, LOT_NONE, 1, sizeof(u8) }, - { "descriptionR", LVT_U8, offsetof(struct NetworkPlayer, descriptionR), true, LOT_NONE, 1, sizeof(u8) }, - { "fadeOpacity", LVT_U8, offsetof(struct NetworkPlayer, fadeOpacity), true, LOT_NONE, 1, sizeof(u8) }, - { "globalIndex", LVT_U8, offsetof(struct NetworkPlayer, globalIndex), true, LOT_NONE, 1, sizeof(u8) }, - { "lastPingSent", LVT_F32, offsetof(struct NetworkPlayer, lastPingSent), true, LOT_NONE, 1, sizeof(f32) }, - { "lastReceived", LVT_F32, offsetof(struct NetworkPlayer, lastReceived), true, LOT_NONE, 1, sizeof(f32) }, - { "lastSent", LVT_F32, offsetof(struct NetworkPlayer, lastSent), true, LOT_NONE, 1, sizeof(f32) }, - { "localIndex", LVT_U8, offsetof(struct NetworkPlayer, localIndex), true, LOT_NONE, 1, sizeof(u8) }, - { "modelIndex", LVT_U8, offsetof(struct NetworkPlayer, modelIndex), true, LOT_NONE, 1, sizeof(u8) }, - { "name", LVT_STRING, offsetof(struct NetworkPlayer, name), true, LOT_NONE, 1, sizeof(char) }, - { "onRxSeqId", LVT_U8, offsetof(struct NetworkPlayer, onRxSeqId), true, LOT_NONE, 1, sizeof(u8) }, - { "overrideLocation", LVT_STRING, offsetof(struct NetworkPlayer, overrideLocation), true, LOT_NONE, 1, sizeof(char) }, - { "overrideModelIndex", LVT_U8, offsetof(struct NetworkPlayer, overrideModelIndex), false, LOT_NONE, 1, sizeof(u8) }, - { "overridePalette", LVT_COBJECT, offsetof(struct NetworkPlayer, overridePalette), false, LOT_PLAYERPALETTE, 1, sizeof(struct PlayerPalette) }, - { "overridePaletteIndex", LVT_U8, offsetof(struct NetworkPlayer, overridePaletteIndex), false, LOT_NONE, 1, sizeof(u8) }, - { "overridePaletteIndexLp", LVT_U8, offsetof(struct NetworkPlayer, overridePaletteIndexLp), true, LOT_NONE, 1, sizeof(u8) }, - { "palette", LVT_COBJECT, offsetof(struct NetworkPlayer, palette), true, LOT_PLAYERPALETTE, 1, sizeof(struct PlayerPalette) }, - { "paletteIndex", LVT_U8, offsetof(struct NetworkPlayer, paletteIndex), true, LOT_NONE, 1, sizeof(u8) }, - { "ping", LVT_U32, offsetof(struct NetworkPlayer, ping), true, LOT_NONE, 1, sizeof(u32) }, - { "type", LVT_U8, offsetof(struct NetworkPlayer, type), true, LOT_NONE, 1, sizeof(u8) }, + { "connected", LVT_BOOL, offsetof(struct NetworkPlayer, connected), true, LOT_NONE }, + { "currActNum", LVT_S16, offsetof(struct NetworkPlayer, currActNum), true, LOT_NONE }, + { "currAreaIndex", LVT_S16, offsetof(struct NetworkPlayer, currAreaIndex), true, LOT_NONE }, + { "currAreaSyncValid", LVT_BOOL, offsetof(struct NetworkPlayer, currAreaSyncValid), true, LOT_NONE }, + { "currCourseNum", LVT_S16, offsetof(struct NetworkPlayer, currCourseNum), true, LOT_NONE }, + { "currLevelAreaSeqId", LVT_U16, offsetof(struct NetworkPlayer, currLevelAreaSeqId), true, LOT_NONE }, + { "currLevelNum", LVT_S16, offsetof(struct NetworkPlayer, currLevelNum), true, LOT_NONE }, + { "currLevelSyncValid", LVT_BOOL, offsetof(struct NetworkPlayer, currLevelSyncValid), true, LOT_NONE }, + { "currPositionValid", LVT_BOOL, offsetof(struct NetworkPlayer, currPositionValid), true, LOT_NONE }, + { "description", LVT_STRING, offsetof(struct NetworkPlayer, description), true, LOT_NONE }, + { "descriptionA", LVT_U8, offsetof(struct NetworkPlayer, descriptionA), true, LOT_NONE }, + { "descriptionB", LVT_U8, offsetof(struct NetworkPlayer, descriptionB), true, LOT_NONE }, + { "descriptionG", LVT_U8, offsetof(struct NetworkPlayer, descriptionG), true, LOT_NONE }, + { "descriptionR", LVT_U8, offsetof(struct NetworkPlayer, descriptionR), true, LOT_NONE }, + { "fadeOpacity", LVT_U8, offsetof(struct NetworkPlayer, fadeOpacity), true, LOT_NONE }, + { "globalIndex", LVT_U8, offsetof(struct NetworkPlayer, globalIndex), true, LOT_NONE }, + { "lastPingSent", LVT_F32, offsetof(struct NetworkPlayer, lastPingSent), true, LOT_NONE }, + { "lastReceived", LVT_F32, offsetof(struct NetworkPlayer, lastReceived), true, LOT_NONE }, + { "lastSent", LVT_F32, offsetof(struct NetworkPlayer, lastSent), true, LOT_NONE }, + { "localIndex", LVT_U8, offsetof(struct NetworkPlayer, localIndex), true, LOT_NONE }, + { "modelIndex", LVT_U8, offsetof(struct NetworkPlayer, modelIndex), true, LOT_NONE }, + { "name", LVT_STRING, offsetof(struct NetworkPlayer, name), true, LOT_NONE }, + { "onRxSeqId", LVT_U8, offsetof(struct NetworkPlayer, onRxSeqId), true, LOT_NONE }, + { "overrideLocation", LVT_STRING, offsetof(struct NetworkPlayer, overrideLocation), true, LOT_NONE }, + { "overrideModelIndex", LVT_U8, offsetof(struct NetworkPlayer, overrideModelIndex), false, LOT_NONE }, + { "overridePalette", LVT_COBJECT, offsetof(struct NetworkPlayer, overridePalette), false, LOT_PLAYERPALETTE }, + { "overridePaletteIndex", LVT_U8, offsetof(struct NetworkPlayer, overridePaletteIndex), false, LOT_NONE }, + { "overridePaletteIndexLp", LVT_U8, offsetof(struct NetworkPlayer, overridePaletteIndexLp), true, LOT_NONE }, + { "palette", LVT_COBJECT, offsetof(struct NetworkPlayer, palette), true, LOT_PLAYERPALETTE }, + { "paletteIndex", LVT_U8, offsetof(struct NetworkPlayer, paletteIndex), true, LOT_NONE }, + { "ping", LVT_U32, offsetof(struct NetworkPlayer, ping), true, LOT_NONE }, + { "type", LVT_U8, offsetof(struct NetworkPlayer, type), true, LOT_NONE }, }; #define LUA_OBJECT_FIELD_COUNT 763 static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = { - { "activeFlags", LVT_S16, offsetof(struct Object, activeFlags), false, LOT_NONE, 1, sizeof(s16) }, - { "allowRemoteInteractions", LVT_U8, offsetof(struct Object, allowRemoteInteractions), false, LOT_NONE, 1, sizeof(u8) }, - { "areaTimer", LVT_U32, offsetof(struct Object, areaTimer), false, LOT_NONE, 1, sizeof(u32) }, - { "areaTimerDuration", LVT_U32, offsetof(struct Object, areaTimerDuration), false, LOT_NONE, 1, sizeof(u32) }, -// { "areaTimerRunOnceCallback)(void)", LVT_???, offsetof(struct Object, areaTimerRunOnceCallback)(void)), false, LOT_???, 1, sizeof(void (*) }, <--- UNIMPLEMENTED - { "areaTimerType", LVT_S32, offsetof(struct Object, areaTimerType), false, LOT_NONE, 1, sizeof(enum AreaTimerType) }, - { "behavior", LVT_BEHAVIORSCRIPT_P, offsetof(struct Object, behavior), true, LOT_POINTER, 1, sizeof(const BehaviorScript*) }, - { "bhvDelayTimer", LVT_S16, offsetof(struct Object, bhvDelayTimer), false, LOT_NONE, 1, sizeof(s16) }, - { "bhvStack", LVT_U64, offsetof(struct Object, bhvStack), true, LOT_NONE, OBJECT_MAX_BHV_STACK, sizeof(uintptr_t) }, - { "bhvStackIndex", LVT_U32, offsetof(struct Object, bhvStackIndex), true, LOT_NONE, 1, sizeof(u32) }, - { "collidedObjInteractTypes", LVT_U32, offsetof(struct Object, collidedObjInteractTypes), false, LOT_NONE, 1, sizeof(u32) }, - { "collidedObjs", LVT_COBJECT_P, offsetof(struct Object, collidedObjs), false, LOT_OBJECT, 4, sizeof(struct Object*) }, - { "collisionData", LVT_COLLISION_P, offsetof(struct Object, collisionData), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "coopFlags", LVT_U8, offsetof(struct Object, coopFlags), true, LOT_NONE, 1, sizeof(u8) }, - { "ctx", LVT_U8, offsetof(struct Object, ctx), false, LOT_NONE, 1, sizeof(u8) }, - { "curBhvCommand", LVT_BEHAVIORSCRIPT_P, offsetof(struct Object, curBhvCommand), true, LOT_POINTER, 1, sizeof(const BehaviorScript*) }, - { "globalPlayerIndex", LVT_U8, offsetof(struct Object, globalPlayerIndex), false, LOT_NONE, 1, sizeof(u8) }, - { "header", LVT_COBJECT, offsetof(struct Object, header), true, LOT_OBJECTNODE, 1, sizeof(struct ObjectNode) }, - { "heldByPlayerIndex", LVT_U32, offsetof(struct Object, heldByPlayerIndex), false, LOT_NONE, 1, sizeof(u32) }, - { "hitboxDownOffset", LVT_F32, offsetof(struct Object, hitboxDownOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "hitboxHeight", LVT_F32, offsetof(struct Object, hitboxHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "hitboxRadius", LVT_F32, offsetof(struct Object, hitboxRadius), false, LOT_NONE, 1, sizeof(f32) }, - { "hookRender", LVT_U8, offsetof(struct Object, hookRender), false, LOT_NONE, 1, sizeof(u8) }, - { "hurtboxHeight", LVT_F32, offsetof(struct Object, hurtboxHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "hurtboxRadius", LVT_F32, offsetof(struct Object, hurtboxRadius), false, LOT_NONE, 1, sizeof(f32) }, - { "numCollidedObjs", LVT_S16, offsetof(struct Object, numCollidedObjs), false, LOT_NONE, 1, sizeof(s16) }, - { "numSurfaces", LVT_U32, offsetof(struct Object, numSurfaces), true, LOT_NONE, 1, sizeof(u32) }, - { "o1UpForceSpawn", LVT_S32, offsetof(struct Object, o1UpForceSpawn), false, LOT_NONE, 1, sizeof(s32) }, - { "o1UpHiddenUnkF4", LVT_S32, offsetof(struct Object, o1UpHiddenUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oAction", LVT_S32, offsetof(struct Object, oAction), false, LOT_NONE, 1, sizeof(s32) }, - { "oActivatedBackAndForthPlatformCountdown", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformCountdown), false, LOT_NONE, 1, sizeof(s32) }, - { "oActivatedBackAndForthPlatformFlipRotation", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformFlipRotation), false, LOT_NONE, 1, sizeof(s32) }, - { "oActivatedBackAndForthPlatformMaxOffset", LVT_F32, offsetof(struct Object, oActivatedBackAndForthPlatformMaxOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oActivatedBackAndForthPlatformOffset", LVT_F32, offsetof(struct Object, oActivatedBackAndForthPlatformOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oActivatedBackAndForthPlatformStartYaw", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformStartYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oActivatedBackAndForthPlatformVel", LVT_F32, offsetof(struct Object, oActivatedBackAndForthPlatformVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oActivatedBackAndForthPlatformVertical", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformVertical), false, LOT_NONE, 1, sizeof(s32) }, - { "oActiveParticleFlags", LVT_U32, offsetof(struct Object, oActiveParticleFlags), false, LOT_NONE, 1, sizeof(u32) }, - { "oAmpRadiusOfRotation", LVT_F32, offsetof(struct Object, oAmpRadiusOfRotation), false, LOT_NONE, 1, sizeof(f32) }, - { "oAmpYPhase", LVT_S32, offsetof(struct Object, oAmpYPhase), false, LOT_NONE, 1, sizeof(s32) }, - { "oAngleToHome", LVT_S32, offsetof(struct Object, oAngleToHome), false, LOT_NONE, 1, sizeof(s32) }, - { "oAngleToMario", LVT_S32, offsetof(struct Object, oAngleToMario), false, LOT_NONE, 1, sizeof(s32) }, - { "oAngleVelPitch", LVT_S32, offsetof(struct Object, oAngleVelPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oAngleVelRoll", LVT_S32, offsetof(struct Object, oAngleVelRoll), false, LOT_NONE, 1, sizeof(s32) }, - { "oAngleVelYaw", LVT_S32, offsetof(struct Object, oAngleVelYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oAnimState", LVT_S32, offsetof(struct Object, oAnimState), false, LOT_NONE, 1, sizeof(s32) }, - { "oAnimations", LVT_OBJECTANIMPOINTER_P, offsetof(struct Object, oAnimations), false, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "oArrowLiftDisplacement", LVT_F32, offsetof(struct Object, oArrowLiftDisplacement), false, LOT_NONE, 1, sizeof(f32) }, - { "oArrowLiftUnk100", LVT_S32, offsetof(struct Object, oArrowLiftUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oBBallSpawnerMaxSpawnDist", LVT_F32, offsetof(struct Object, oBBallSpawnerMaxSpawnDist), false, LOT_NONE, 1, sizeof(f32) }, - { "oBBallSpawnerPeriodMinus1", LVT_S32, offsetof(struct Object, oBBallSpawnerPeriodMinus1), false, LOT_NONE, 1, sizeof(s32) }, - { "oBBallSpawnerSpawnOdds", LVT_F32, offsetof(struct Object, oBBallSpawnerSpawnOdds), false, LOT_NONE, 1, sizeof(f32) }, - { "oBackAndForthPlatformDirection", LVT_F32, offsetof(struct Object, oBackAndForthPlatformDirection), false, LOT_NONE, 1, sizeof(f32) }, - { "oBackAndForthPlatformDistance", LVT_F32, offsetof(struct Object, oBackAndForthPlatformDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "oBackAndForthPlatformPathLength", LVT_F32, offsetof(struct Object, oBackAndForthPlatformPathLength), false, LOT_NONE, 1, sizeof(f32) }, - { "oBackAndForthPlatformVel", LVT_F32, offsetof(struct Object, oBackAndForthPlatformVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oBehParams", LVT_S32, offsetof(struct Object, oBehParams), false, LOT_NONE, 1, sizeof(s32) }, - { "oBehParams2ndByte", LVT_S32, offsetof(struct Object, oBehParams2ndByte), false, LOT_NONE, 1, sizeof(s32) }, - { "oBetaTrampolineMarioOnTrampoline", LVT_S32, offsetof(struct Object, oBetaTrampolineMarioOnTrampoline), false, LOT_NONE, 1, sizeof(s32) }, - { "oBigBooNumMinionBoosKilled", LVT_S32, offsetof(struct Object, oBigBooNumMinionBoosKilled), false, LOT_NONE, 1, sizeof(s32) }, - { "oBirdChirpChirpUnkF4", LVT_S32, offsetof(struct Object, oBirdChirpChirpUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oBirdSpeed", LVT_F32, offsetof(struct Object, oBirdSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oBirdTargetPitch", LVT_S32, offsetof(struct Object, oBirdTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oBirdTargetYaw", LVT_S32, offsetof(struct Object, oBirdTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oBlackSmokeBowserUnkF4", LVT_F32, offsetof(struct Object, oBlackSmokeBowserUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oBlueFishRandomAngle", LVT_F32, offsetof(struct Object, oBlueFishRandomAngle), false, LOT_NONE, 1, sizeof(f32) }, - { "oBlueFishRandomTime", LVT_S32, offsetof(struct Object, oBlueFishRandomTime), false, LOT_NONE, 1, sizeof(s32) }, - { "oBlueFishRandomVel", LVT_F32, offsetof(struct Object, oBlueFishRandomVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oBlueFlameNextScale", LVT_F32, offsetof(struct Object, oBlueFlameNextScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oBobombBlinkTimer", LVT_S32, offsetof(struct Object, oBobombBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombBuddyBlinkTimer", LVT_S32, offsetof(struct Object, oBobombBuddyBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombBuddyCannonStatus", LVT_S32, offsetof(struct Object, oBobombBuddyCannonStatus), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombBuddyHasTalkedToMario", LVT_S32, offsetof(struct Object, oBobombBuddyHasTalkedToMario), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombBuddyPosXCopy", LVT_F32, offsetof(struct Object, oBobombBuddyPosXCopy), false, LOT_NONE, 1, sizeof(f32) }, - { "oBobombBuddyPosYCopy", LVT_F32, offsetof(struct Object, oBobombBuddyPosYCopy), false, LOT_NONE, 1, sizeof(f32) }, - { "oBobombBuddyPosZCopy", LVT_F32, offsetof(struct Object, oBobombBuddyPosZCopy), false, LOT_NONE, 1, sizeof(f32) }, - { "oBobombBuddyRole", LVT_S32, offsetof(struct Object, oBobombBuddyRole), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombExpBubGfxExpRateX", LVT_S32, offsetof(struct Object, oBobombExpBubGfxExpRateX), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombExpBubGfxExpRateY", LVT_S32, offsetof(struct Object, oBobombExpBubGfxExpRateY), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombExpBubGfxScaleFacX", LVT_S32, offsetof(struct Object, oBobombExpBubGfxScaleFacX), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombExpBubGfxScaleFacY", LVT_S32, offsetof(struct Object, oBobombExpBubGfxScaleFacY), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombFuseLit", LVT_S32, offsetof(struct Object, oBobombFuseLit), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombFuseTimer", LVT_S32, offsetof(struct Object, oBobombFuseTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oBooBaseScale", LVT_F32, offsetof(struct Object, oBooBaseScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oBooDeathStatus", LVT_S32, offsetof(struct Object, oBooDeathStatus), false, LOT_NONE, 1, sizeof(s32) }, - { "oBooInitialMoveYaw", LVT_S32, offsetof(struct Object, oBooInitialMoveYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oBooMoveYawBeforeHit", LVT_F32, offsetof(struct Object, oBooMoveYawBeforeHit), false, LOT_NONE, 1, sizeof(f32) }, - { "oBooMoveYawDuringHit", LVT_S32, offsetof(struct Object, oBooMoveYawDuringHit), false, LOT_NONE, 1, sizeof(s32) }, - { "oBooNegatedAggressiveness", LVT_F32, offsetof(struct Object, oBooNegatedAggressiveness), false, LOT_NONE, 1, sizeof(f32) }, - { "oBooOscillationTimer", LVT_S32, offsetof(struct Object, oBooOscillationTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oBooParentBigBoo", LVT_COBJECT_P, offsetof(struct Object, oBooParentBigBoo), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oBooTargetOpacity", LVT_S32, offsetof(struct Object, oBooTargetOpacity), false, LOT_NONE, 1, sizeof(s32) }, - { "oBooTurningSpeed", LVT_S16, offsetof(struct Object, oBooTurningSpeed), false, LOT_NONE, 1, sizeof(s16) }, - { "oBookSwitchManagerUnkF4", LVT_S32, offsetof(struct Object, oBookSwitchManagerUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oBookSwitchManagerUnkF8", LVT_S32, offsetof(struct Object, oBookSwitchManagerUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oBookSwitchUnkF4", LVT_F32, offsetof(struct Object, oBookSwitchUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oBookendUnkF4", LVT_S32, offsetof(struct Object, oBookendUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oBookendUnkF8", LVT_S32, offsetof(struct Object, oBookendUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oBounciness", LVT_F32, offsetof(struct Object, oBounciness), false, LOT_NONE, 1, sizeof(f32) }, - { "oBouncingFireBallUnkF4", LVT_S32, offsetof(struct Object, oBouncingFireBallUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oBowlingBallTargetYaw", LVT_S32, offsetof(struct Object, oBowlingBallTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oBowserAngleToCentre", LVT_S16, offsetof(struct Object, oBowserAngleToCentre), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserDistToCentre", LVT_F32, offsetof(struct Object, oBowserDistToCentre), false, LOT_NONE, 1, sizeof(f32) }, - { "oBowserEyesShut", LVT_S16, offsetof(struct Object, oBowserEyesShut), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserHeldAnglePitch", LVT_S16, offsetof(struct Object, oBowserHeldAnglePitch), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserHeldAngleVelYaw", LVT_S16, offsetof(struct Object, oBowserHeldAngleVelYaw), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserKeyScale", LVT_F32, offsetof(struct Object, oBowserKeyScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oBowserPuzzleCompletionFlags", LVT_S32, offsetof(struct Object, oBowserPuzzleCompletionFlags), false, LOT_NONE, 1, sizeof(s32) }, -// { "oBowserPuzzlePieceActionList", LVT_???, offsetof(struct Object, oBowserPuzzlePieceActionList), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED - { "oBowserPuzzlePieceContinuePerformingAction", LVT_S32, offsetof(struct Object, oBowserPuzzlePieceContinuePerformingAction), false, LOT_NONE, 1, sizeof(s32) }, -// { "oBowserPuzzlePieceNextAction", LVT_???, offsetof(struct Object, oBowserPuzzlePieceNextAction), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED - { "oBowserPuzzlePieceOffsetX", LVT_F32, offsetof(struct Object, oBowserPuzzlePieceOffsetX), false, LOT_NONE, 1, sizeof(f32) }, - { "oBowserPuzzlePieceOffsetY", LVT_F32, offsetof(struct Object, oBowserPuzzlePieceOffsetY), false, LOT_NONE, 1, sizeof(f32) }, - { "oBowserPuzzlePieceOffsetZ", LVT_F32, offsetof(struct Object, oBowserPuzzlePieceOffsetZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oBowserShockWaveUnkF4", LVT_F32, offsetof(struct Object, oBowserShockWaveUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oBowserUnk106", LVT_S16, offsetof(struct Object, oBowserUnk106), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk108", LVT_S16, offsetof(struct Object, oBowserUnk108), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk10E", LVT_S16, offsetof(struct Object, oBowserUnk10E), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk110", LVT_S16, offsetof(struct Object, oBowserUnk110), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk1AC", LVT_S16, offsetof(struct Object, oBowserUnk1AC), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk1AE", LVT_S16, offsetof(struct Object, oBowserUnk1AE), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk1B2", LVT_S16, offsetof(struct Object, oBowserUnk1B2), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk88", LVT_S32, offsetof(struct Object, oBowserUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oBowserUnkF4", LVT_S32, offsetof(struct Object, oBowserUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oBowserUnkF8", LVT_S32, offsetof(struct Object, oBowserUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oBreakableBoxSmallFramesSinceReleased", LVT_S32, offsetof(struct Object, oBreakableBoxSmallFramesSinceReleased), false, LOT_NONE, 1, sizeof(s32) }, - { "oBreakableBoxSmallReleased", LVT_S32, offsetof(struct Object, oBreakableBoxSmallReleased), false, LOT_NONE, 1, sizeof(s32) }, - { "oBreakableWallForce", LVT_S32, offsetof(struct Object, oBreakableWallForce), false, LOT_NONE, 1, sizeof(s32) }, - { "oBubbaUnk100", LVT_S32, offsetof(struct Object, oBubbaUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oBubbaUnk104", LVT_S32, offsetof(struct Object, oBubbaUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oBubbaUnk108", LVT_F32, offsetof(struct Object, oBubbaUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oBubbaUnk10C", LVT_F32, offsetof(struct Object, oBubbaUnk10C), false, LOT_NONE, 1, sizeof(f32) }, - { "oBubbaUnk1AC", LVT_S16, offsetof(struct Object, oBubbaUnk1AC), false, LOT_NONE, 1, sizeof(s16) }, - { "oBubbaUnk1AE", LVT_S16, offsetof(struct Object, oBubbaUnk1AE), false, LOT_NONE, 1, sizeof(s16) }, - { "oBubbaUnk1B0", LVT_S16, offsetof(struct Object, oBubbaUnk1B0), false, LOT_NONE, 1, sizeof(s16) }, - { "oBubbaUnk1B2", LVT_S16, offsetof(struct Object, oBubbaUnk1B2), false, LOT_NONE, 1, sizeof(s16) }, - { "oBubbaUnkF4", LVT_F32, offsetof(struct Object, oBubbaUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oBubbaUnkF8", LVT_S32, offsetof(struct Object, oBubbaUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oBubbaUnkFC", LVT_S32, offsetof(struct Object, oBubbaUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oBulletBillInitialMoveYaw", LVT_S32, offsetof(struct Object, oBulletBillInitialMoveYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oBullyKBTimerAndMinionKOCounter", LVT_S32, offsetof(struct Object, oBullyKBTimerAndMinionKOCounter), false, LOT_NONE, 1, sizeof(s32) }, - { "oBullyLastNetworkPlayerIndex", LVT_S16, offsetof(struct Object, oBullyLastNetworkPlayerIndex), false, LOT_NONE, 1, sizeof(s16) }, - { "oBullyMarioCollisionAngle", LVT_S32, offsetof(struct Object, oBullyMarioCollisionAngle), false, LOT_NONE, 1, sizeof(s32) }, - { "oBullyPrevX", LVT_F32, offsetof(struct Object, oBullyPrevX), false, LOT_NONE, 1, sizeof(f32) }, - { "oBullyPrevY", LVT_F32, offsetof(struct Object, oBullyPrevY), false, LOT_NONE, 1, sizeof(f32) }, - { "oBullyPrevZ", LVT_F32, offsetof(struct Object, oBullyPrevZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oBullySubtype", LVT_S32, offsetof(struct Object, oBullySubtype), false, LOT_NONE, 1, sizeof(s32) }, - { "oBuoyancy", LVT_F32, offsetof(struct Object, oBuoyancy), false, LOT_NONE, 1, sizeof(f32) }, - { "oButterflyYPhase", LVT_S32, offsetof(struct Object, oButterflyYPhase), false, LOT_NONE, 1, sizeof(s32) }, - { "oCameraLakituBlinkTimer", LVT_S32, offsetof(struct Object, oCameraLakituBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oCameraLakituCircleRadius", LVT_F32, offsetof(struct Object, oCameraLakituCircleRadius), false, LOT_NONE, 1, sizeof(f32) }, - { "oCameraLakituFinishedDialog", LVT_S32, offsetof(struct Object, oCameraLakituFinishedDialog), false, LOT_NONE, 1, sizeof(s32) }, - { "oCameraLakituPitchVel", LVT_S16, offsetof(struct Object, oCameraLakituPitchVel), false, LOT_NONE, 1, sizeof(s16) }, - { "oCameraLakituSpeed", LVT_F32, offsetof(struct Object, oCameraLakituSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "activeFlags", LVT_S16, offsetof(struct Object, activeFlags), false, LOT_NONE }, + { "allowRemoteInteractions", LVT_U8, offsetof(struct Object, allowRemoteInteractions), false, LOT_NONE }, + { "areaTimer", LVT_U32, offsetof(struct Object, areaTimer), false, LOT_NONE }, + { "areaTimerDuration", LVT_U32, offsetof(struct Object, areaTimerDuration), false, LOT_NONE }, +// { "areaTimerRunOnceCallback)(void)", LVT_???, offsetof(struct Object, areaTimerRunOnceCallback)(void)), false, LOT_??? }, <--- UNIMPLEMENTED + { "areaTimerType", LVT_S32, offsetof(struct Object, areaTimerType), false, LOT_NONE }, + { "behavior", LVT_BEHAVIORSCRIPT_P, offsetof(struct Object, behavior), true, LOT_POINTER }, + { "bhvDelayTimer", LVT_S16, offsetof(struct Object, bhvDelayTimer), false, LOT_NONE }, + { "bhvStack", LVT_U64, offsetof(struct Object, bhvStack), true, LOT_NONE, OBJECT_MAX_BHV_STACK, sizeof(uintptr_t) }, + { "bhvStackIndex", LVT_U32, offsetof(struct Object, bhvStackIndex), true, LOT_NONE }, + { "collidedObjInteractTypes", LVT_U32, offsetof(struct Object, collidedObjInteractTypes), false, LOT_NONE }, + { "collidedObjs", LVT_COBJECT_P, offsetof(struct Object, collidedObjs), false, LOT_OBJECT, 4, sizeof(struct Object*) }, + { "collisionData", LVT_COLLISION_P, offsetof(struct Object, collisionData), false, LOT_POINTER }, + { "coopFlags", LVT_U8, offsetof(struct Object, coopFlags), true, LOT_NONE }, + { "ctx", LVT_U8, offsetof(struct Object, ctx), false, LOT_NONE }, + { "curBhvCommand", LVT_BEHAVIORSCRIPT_P, offsetof(struct Object, curBhvCommand), true, LOT_POINTER }, + { "globalPlayerIndex", LVT_U8, offsetof(struct Object, globalPlayerIndex), false, LOT_NONE }, + { "header", LVT_COBJECT, offsetof(struct Object, header), true, LOT_OBJECTNODE }, + { "heldByPlayerIndex", LVT_U32, offsetof(struct Object, heldByPlayerIndex), false, LOT_NONE }, + { "hitboxDownOffset", LVT_F32, offsetof(struct Object, hitboxDownOffset), false, LOT_NONE }, + { "hitboxHeight", LVT_F32, offsetof(struct Object, hitboxHeight), false, LOT_NONE }, + { "hitboxRadius", LVT_F32, offsetof(struct Object, hitboxRadius), false, LOT_NONE }, + { "hookRender", LVT_U8, offsetof(struct Object, hookRender), false, LOT_NONE }, + { "hurtboxHeight", LVT_F32, offsetof(struct Object, hurtboxHeight), false, LOT_NONE }, + { "hurtboxRadius", LVT_F32, offsetof(struct Object, hurtboxRadius), false, LOT_NONE }, + { "numCollidedObjs", LVT_S16, offsetof(struct Object, numCollidedObjs), false, LOT_NONE }, + { "numSurfaces", LVT_U32, offsetof(struct Object, numSurfaces), true, LOT_NONE }, + { "o1UpForceSpawn", LVT_S32, offsetof(struct Object, o1UpForceSpawn), false, LOT_NONE }, + { "o1UpHiddenUnkF4", LVT_S32, offsetof(struct Object, o1UpHiddenUnkF4), false, LOT_NONE }, + { "oAction", LVT_S32, offsetof(struct Object, oAction), false, LOT_NONE }, + { "oActivatedBackAndForthPlatformCountdown", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformCountdown), false, LOT_NONE }, + { "oActivatedBackAndForthPlatformFlipRotation", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformFlipRotation), false, LOT_NONE }, + { "oActivatedBackAndForthPlatformMaxOffset", LVT_F32, offsetof(struct Object, oActivatedBackAndForthPlatformMaxOffset), false, LOT_NONE }, + { "oActivatedBackAndForthPlatformOffset", LVT_F32, offsetof(struct Object, oActivatedBackAndForthPlatformOffset), false, LOT_NONE }, + { "oActivatedBackAndForthPlatformStartYaw", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformStartYaw), false, LOT_NONE }, + { "oActivatedBackAndForthPlatformVel", LVT_F32, offsetof(struct Object, oActivatedBackAndForthPlatformVel), false, LOT_NONE }, + { "oActivatedBackAndForthPlatformVertical", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformVertical), false, LOT_NONE }, + { "oActiveParticleFlags", LVT_U32, offsetof(struct Object, oActiveParticleFlags), false, LOT_NONE }, + { "oAmpRadiusOfRotation", LVT_F32, offsetof(struct Object, oAmpRadiusOfRotation), false, LOT_NONE }, + { "oAmpYPhase", LVT_S32, offsetof(struct Object, oAmpYPhase), false, LOT_NONE }, + { "oAngleToHome", LVT_S32, offsetof(struct Object, oAngleToHome), false, LOT_NONE }, + { "oAngleToMario", LVT_S32, offsetof(struct Object, oAngleToMario), false, LOT_NONE }, + { "oAngleVelPitch", LVT_S32, offsetof(struct Object, oAngleVelPitch), false, LOT_NONE }, + { "oAngleVelRoll", LVT_S32, offsetof(struct Object, oAngleVelRoll), false, LOT_NONE }, + { "oAngleVelYaw", LVT_S32, offsetof(struct Object, oAngleVelYaw), false, LOT_NONE }, + { "oAnimState", LVT_S32, offsetof(struct Object, oAnimState), false, LOT_NONE }, + { "oAnimations", LVT_OBJECTANIMPOINTER_P, offsetof(struct Object, oAnimations), false, LOT_POINTER }, + { "oArrowLiftDisplacement", LVT_F32, offsetof(struct Object, oArrowLiftDisplacement), false, LOT_NONE }, + { "oArrowLiftUnk100", LVT_S32, offsetof(struct Object, oArrowLiftUnk100), false, LOT_NONE }, + { "oBBallSpawnerMaxSpawnDist", LVT_F32, offsetof(struct Object, oBBallSpawnerMaxSpawnDist), false, LOT_NONE }, + { "oBBallSpawnerPeriodMinus1", LVT_S32, offsetof(struct Object, oBBallSpawnerPeriodMinus1), false, LOT_NONE }, + { "oBBallSpawnerSpawnOdds", LVT_F32, offsetof(struct Object, oBBallSpawnerSpawnOdds), false, LOT_NONE }, + { "oBackAndForthPlatformDirection", LVT_F32, offsetof(struct Object, oBackAndForthPlatformDirection), false, LOT_NONE }, + { "oBackAndForthPlatformDistance", LVT_F32, offsetof(struct Object, oBackAndForthPlatformDistance), false, LOT_NONE }, + { "oBackAndForthPlatformPathLength", LVT_F32, offsetof(struct Object, oBackAndForthPlatformPathLength), false, LOT_NONE }, + { "oBackAndForthPlatformVel", LVT_F32, offsetof(struct Object, oBackAndForthPlatformVel), false, LOT_NONE }, + { "oBehParams", LVT_S32, offsetof(struct Object, oBehParams), false, LOT_NONE }, + { "oBehParams2ndByte", LVT_S32, offsetof(struct Object, oBehParams2ndByte), false, LOT_NONE }, + { "oBetaTrampolineMarioOnTrampoline", LVT_S32, offsetof(struct Object, oBetaTrampolineMarioOnTrampoline), false, LOT_NONE }, + { "oBigBooNumMinionBoosKilled", LVT_S32, offsetof(struct Object, oBigBooNumMinionBoosKilled), false, LOT_NONE }, + { "oBirdChirpChirpUnkF4", LVT_S32, offsetof(struct Object, oBirdChirpChirpUnkF4), false, LOT_NONE }, + { "oBirdSpeed", LVT_F32, offsetof(struct Object, oBirdSpeed), false, LOT_NONE }, + { "oBirdTargetPitch", LVT_S32, offsetof(struct Object, oBirdTargetPitch), false, LOT_NONE }, + { "oBirdTargetYaw", LVT_S32, offsetof(struct Object, oBirdTargetYaw), false, LOT_NONE }, + { "oBlackSmokeBowserUnkF4", LVT_F32, offsetof(struct Object, oBlackSmokeBowserUnkF4), false, LOT_NONE }, + { "oBlueFishRandomAngle", LVT_F32, offsetof(struct Object, oBlueFishRandomAngle), false, LOT_NONE }, + { "oBlueFishRandomTime", LVT_S32, offsetof(struct Object, oBlueFishRandomTime), false, LOT_NONE }, + { "oBlueFishRandomVel", LVT_F32, offsetof(struct Object, oBlueFishRandomVel), false, LOT_NONE }, + { "oBlueFlameNextScale", LVT_F32, offsetof(struct Object, oBlueFlameNextScale), false, LOT_NONE }, + { "oBobombBlinkTimer", LVT_S32, offsetof(struct Object, oBobombBlinkTimer), false, LOT_NONE }, + { "oBobombBuddyBlinkTimer", LVT_S32, offsetof(struct Object, oBobombBuddyBlinkTimer), false, LOT_NONE }, + { "oBobombBuddyCannonStatus", LVT_S32, offsetof(struct Object, oBobombBuddyCannonStatus), false, LOT_NONE }, + { "oBobombBuddyHasTalkedToMario", LVT_S32, offsetof(struct Object, oBobombBuddyHasTalkedToMario), false, LOT_NONE }, + { "oBobombBuddyPosXCopy", LVT_F32, offsetof(struct Object, oBobombBuddyPosXCopy), false, LOT_NONE }, + { "oBobombBuddyPosYCopy", LVT_F32, offsetof(struct Object, oBobombBuddyPosYCopy), false, LOT_NONE }, + { "oBobombBuddyPosZCopy", LVT_F32, offsetof(struct Object, oBobombBuddyPosZCopy), false, LOT_NONE }, + { "oBobombBuddyRole", LVT_S32, offsetof(struct Object, oBobombBuddyRole), false, LOT_NONE }, + { "oBobombExpBubGfxExpRateX", LVT_S32, offsetof(struct Object, oBobombExpBubGfxExpRateX), false, LOT_NONE }, + { "oBobombExpBubGfxExpRateY", LVT_S32, offsetof(struct Object, oBobombExpBubGfxExpRateY), false, LOT_NONE }, + { "oBobombExpBubGfxScaleFacX", LVT_S32, offsetof(struct Object, oBobombExpBubGfxScaleFacX), false, LOT_NONE }, + { "oBobombExpBubGfxScaleFacY", LVT_S32, offsetof(struct Object, oBobombExpBubGfxScaleFacY), false, LOT_NONE }, + { "oBobombFuseLit", LVT_S32, offsetof(struct Object, oBobombFuseLit), false, LOT_NONE }, + { "oBobombFuseTimer", LVT_S32, offsetof(struct Object, oBobombFuseTimer), false, LOT_NONE }, + { "oBooBaseScale", LVT_F32, offsetof(struct Object, oBooBaseScale), false, LOT_NONE }, + { "oBooDeathStatus", LVT_S32, offsetof(struct Object, oBooDeathStatus), false, LOT_NONE }, + { "oBooInitialMoveYaw", LVT_S32, offsetof(struct Object, oBooInitialMoveYaw), false, LOT_NONE }, + { "oBooMoveYawBeforeHit", LVT_F32, offsetof(struct Object, oBooMoveYawBeforeHit), false, LOT_NONE }, + { "oBooMoveYawDuringHit", LVT_S32, offsetof(struct Object, oBooMoveYawDuringHit), false, LOT_NONE }, + { "oBooNegatedAggressiveness", LVT_F32, offsetof(struct Object, oBooNegatedAggressiveness), false, LOT_NONE }, + { "oBooOscillationTimer", LVT_S32, offsetof(struct Object, oBooOscillationTimer), false, LOT_NONE }, + { "oBooParentBigBoo", LVT_COBJECT_P, offsetof(struct Object, oBooParentBigBoo), false, LOT_OBJECT }, + { "oBooTargetOpacity", LVT_S32, offsetof(struct Object, oBooTargetOpacity), false, LOT_NONE }, + { "oBooTurningSpeed", LVT_S16, offsetof(struct Object, oBooTurningSpeed), false, LOT_NONE }, + { "oBookSwitchManagerUnkF4", LVT_S32, offsetof(struct Object, oBookSwitchManagerUnkF4), false, LOT_NONE }, + { "oBookSwitchManagerUnkF8", LVT_S32, offsetof(struct Object, oBookSwitchManagerUnkF8), false, LOT_NONE }, + { "oBookSwitchUnkF4", LVT_F32, offsetof(struct Object, oBookSwitchUnkF4), false, LOT_NONE }, + { "oBookendUnkF4", LVT_S32, offsetof(struct Object, oBookendUnkF4), false, LOT_NONE }, + { "oBookendUnkF8", LVT_S32, offsetof(struct Object, oBookendUnkF8), false, LOT_NONE }, + { "oBounciness", LVT_F32, offsetof(struct Object, oBounciness), false, LOT_NONE }, + { "oBouncingFireBallUnkF4", LVT_S32, offsetof(struct Object, oBouncingFireBallUnkF4), false, LOT_NONE }, + { "oBowlingBallTargetYaw", LVT_S32, offsetof(struct Object, oBowlingBallTargetYaw), false, LOT_NONE }, + { "oBowserAngleToCentre", LVT_S16, offsetof(struct Object, oBowserAngleToCentre), false, LOT_NONE }, + { "oBowserDistToCentre", LVT_F32, offsetof(struct Object, oBowserDistToCentre), false, LOT_NONE }, + { "oBowserEyesShut", LVT_S16, offsetof(struct Object, oBowserEyesShut), false, LOT_NONE }, + { "oBowserHeldAnglePitch", LVT_S16, offsetof(struct Object, oBowserHeldAnglePitch), false, LOT_NONE }, + { "oBowserHeldAngleVelYaw", LVT_S16, offsetof(struct Object, oBowserHeldAngleVelYaw), false, LOT_NONE }, + { "oBowserKeyScale", LVT_F32, offsetof(struct Object, oBowserKeyScale), false, LOT_NONE }, + { "oBowserPuzzleCompletionFlags", LVT_S32, offsetof(struct Object, oBowserPuzzleCompletionFlags), false, LOT_NONE }, +// { "oBowserPuzzlePieceActionList", LVT_???, offsetof(struct Object, oBowserPuzzlePieceActionList), false, LOT_??? }, <--- UNIMPLEMENTED + { "oBowserPuzzlePieceContinuePerformingAction", LVT_S32, offsetof(struct Object, oBowserPuzzlePieceContinuePerformingAction), false, LOT_NONE }, +// { "oBowserPuzzlePieceNextAction", LVT_???, offsetof(struct Object, oBowserPuzzlePieceNextAction), false, LOT_??? }, <--- UNIMPLEMENTED + { "oBowserPuzzlePieceOffsetX", LVT_F32, offsetof(struct Object, oBowserPuzzlePieceOffsetX), false, LOT_NONE }, + { "oBowserPuzzlePieceOffsetY", LVT_F32, offsetof(struct Object, oBowserPuzzlePieceOffsetY), false, LOT_NONE }, + { "oBowserPuzzlePieceOffsetZ", LVT_F32, offsetof(struct Object, oBowserPuzzlePieceOffsetZ), false, LOT_NONE }, + { "oBowserShockWaveUnkF4", LVT_F32, offsetof(struct Object, oBowserShockWaveUnkF4), false, LOT_NONE }, + { "oBowserUnk106", LVT_S16, offsetof(struct Object, oBowserUnk106), false, LOT_NONE }, + { "oBowserUnk108", LVT_S16, offsetof(struct Object, oBowserUnk108), false, LOT_NONE }, + { "oBowserUnk10E", LVT_S16, offsetof(struct Object, oBowserUnk10E), false, LOT_NONE }, + { "oBowserUnk110", LVT_S16, offsetof(struct Object, oBowserUnk110), false, LOT_NONE }, + { "oBowserUnk1AC", LVT_S16, offsetof(struct Object, oBowserUnk1AC), false, LOT_NONE }, + { "oBowserUnk1AE", LVT_S16, offsetof(struct Object, oBowserUnk1AE), false, LOT_NONE }, + { "oBowserUnk1B2", LVT_S16, offsetof(struct Object, oBowserUnk1B2), false, LOT_NONE }, + { "oBowserUnk88", LVT_S32, offsetof(struct Object, oBowserUnk88), false, LOT_NONE }, + { "oBowserUnkF4", LVT_S32, offsetof(struct Object, oBowserUnkF4), false, LOT_NONE }, + { "oBowserUnkF8", LVT_S32, offsetof(struct Object, oBowserUnkF8), false, LOT_NONE }, + { "oBreakableBoxSmallFramesSinceReleased", LVT_S32, offsetof(struct Object, oBreakableBoxSmallFramesSinceReleased), false, LOT_NONE }, + { "oBreakableBoxSmallReleased", LVT_S32, offsetof(struct Object, oBreakableBoxSmallReleased), false, LOT_NONE }, + { "oBreakableWallForce", LVT_S32, offsetof(struct Object, oBreakableWallForce), false, LOT_NONE }, + { "oBubbaUnk100", LVT_S32, offsetof(struct Object, oBubbaUnk100), false, LOT_NONE }, + { "oBubbaUnk104", LVT_S32, offsetof(struct Object, oBubbaUnk104), false, LOT_NONE }, + { "oBubbaUnk108", LVT_F32, offsetof(struct Object, oBubbaUnk108), false, LOT_NONE }, + { "oBubbaUnk10C", LVT_F32, offsetof(struct Object, oBubbaUnk10C), false, LOT_NONE }, + { "oBubbaUnk1AC", LVT_S16, offsetof(struct Object, oBubbaUnk1AC), false, LOT_NONE }, + { "oBubbaUnk1AE", LVT_S16, offsetof(struct Object, oBubbaUnk1AE), false, LOT_NONE }, + { "oBubbaUnk1B0", LVT_S16, offsetof(struct Object, oBubbaUnk1B0), false, LOT_NONE }, + { "oBubbaUnk1B2", LVT_S16, offsetof(struct Object, oBubbaUnk1B2), false, LOT_NONE }, + { "oBubbaUnkF4", LVT_F32, offsetof(struct Object, oBubbaUnkF4), false, LOT_NONE }, + { "oBubbaUnkF8", LVT_S32, offsetof(struct Object, oBubbaUnkF8), false, LOT_NONE }, + { "oBubbaUnkFC", LVT_S32, offsetof(struct Object, oBubbaUnkFC), false, LOT_NONE }, + { "oBulletBillInitialMoveYaw", LVT_S32, offsetof(struct Object, oBulletBillInitialMoveYaw), false, LOT_NONE }, + { "oBullyKBTimerAndMinionKOCounter", LVT_S32, offsetof(struct Object, oBullyKBTimerAndMinionKOCounter), false, LOT_NONE }, + { "oBullyLastNetworkPlayerIndex", LVT_S16, offsetof(struct Object, oBullyLastNetworkPlayerIndex), false, LOT_NONE }, + { "oBullyMarioCollisionAngle", LVT_S32, offsetof(struct Object, oBullyMarioCollisionAngle), false, LOT_NONE }, + { "oBullyPrevX", LVT_F32, offsetof(struct Object, oBullyPrevX), false, LOT_NONE }, + { "oBullyPrevY", LVT_F32, offsetof(struct Object, oBullyPrevY), false, LOT_NONE }, + { "oBullyPrevZ", LVT_F32, offsetof(struct Object, oBullyPrevZ), false, LOT_NONE }, + { "oBullySubtype", LVT_S32, offsetof(struct Object, oBullySubtype), false, LOT_NONE }, + { "oBuoyancy", LVT_F32, offsetof(struct Object, oBuoyancy), false, LOT_NONE }, + { "oButterflyYPhase", LVT_S32, offsetof(struct Object, oButterflyYPhase), false, LOT_NONE }, + { "oCameraLakituBlinkTimer", LVT_S32, offsetof(struct Object, oCameraLakituBlinkTimer), false, LOT_NONE }, + { "oCameraLakituCircleRadius", LVT_F32, offsetof(struct Object, oCameraLakituCircleRadius), false, LOT_NONE }, + { "oCameraLakituFinishedDialog", LVT_S32, offsetof(struct Object, oCameraLakituFinishedDialog), false, LOT_NONE }, + { "oCameraLakituPitchVel", LVT_S16, offsetof(struct Object, oCameraLakituPitchVel), false, LOT_NONE }, + { "oCameraLakituSpeed", LVT_F32, offsetof(struct Object, oCameraLakituSpeed), false, LOT_NONE }, #ifndef VERSION_JP - { "oCameraLakituUnk104", LVT_S32, offsetof(struct Object, oCameraLakituUnk104), false, LOT_NONE, 1, sizeof(s32) }, + { "oCameraLakituUnk104", LVT_S32, offsetof(struct Object, oCameraLakituUnk104), false, LOT_NONE }, #endif - { "oCameraLakituYawVel", LVT_S16, offsetof(struct Object, oCameraLakituYawVel), false, LOT_NONE, 1, sizeof(s16) }, - { "oCannonBarrelBubblesUnkF4", LVT_F32, offsetof(struct Object, oCannonBarrelBubblesUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oCannonPlayerIndex", LVT_S32, offsetof(struct Object, oCannonPlayerIndex), false, LOT_NONE, 1, sizeof(s32) }, - { "oCannonUnk10C", LVT_S32, offsetof(struct Object, oCannonUnk10C), false, LOT_NONE, 1, sizeof(s32) }, - { "oCannonUnkF4", LVT_S32, offsetof(struct Object, oCannonUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oCannonUnkF8", LVT_S32, offsetof(struct Object, oCannonUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oCapUnkF4", LVT_S32, offsetof(struct Object, oCapUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oCapUnkF8", LVT_S32, offsetof(struct Object, oCapUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oCelebStarDiameterOfRotation", LVT_S32, offsetof(struct Object, oCelebStarDiameterOfRotation), false, LOT_NONE, 1, sizeof(s32) }, - { "oCelebStarUnkF4", LVT_S32, offsetof(struct Object, oCelebStarUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oChainChompDistToPivot", LVT_F32, offsetof(struct Object, oChainChompDistToPivot), false, LOT_NONE, 1, sizeof(f32) }, - { "oChainChompHitGate", LVT_S32, offsetof(struct Object, oChainChompHitGate), false, LOT_NONE, 1, sizeof(s32) }, - { "oChainChompMaxDistBetweenChainParts", LVT_F32, offsetof(struct Object, oChainChompMaxDistBetweenChainParts), false, LOT_NONE, 1, sizeof(f32) }, - { "oChainChompMaxDistFromPivotPerChainPart", LVT_F32, offsetof(struct Object, oChainChompMaxDistFromPivotPerChainPart), false, LOT_NONE, 1, sizeof(f32) }, - { "oChainChompNumLunges", LVT_S32, offsetof(struct Object, oChainChompNumLunges), false, LOT_NONE, 1, sizeof(s32) }, - { "oChainChompReleaseStatus", LVT_S32, offsetof(struct Object, oChainChompReleaseStatus), false, LOT_NONE, 1, sizeof(s32) }, - { "oChainChompRestrictedByChain", LVT_S32, offsetof(struct Object, oChainChompRestrictedByChain), false, LOT_NONE, 1, sizeof(s32) }, - { "oChainChompSegments", LVT_COBJECT_P, offsetof(struct Object, oChainChompSegments), true, LOT_CHAINSEGMENT, 1, sizeof(struct ChainSegment*) }, - { "oChainChompTargetPitch", LVT_S32, offsetof(struct Object, oChainChompTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oChainChompUnk104", LVT_F32, offsetof(struct Object, oChainChompUnk104), false, LOT_NONE, 1, sizeof(f32) }, - { "oCheckerBoardPlatformUnk1AC", LVT_F32, offsetof(struct Object, oCheckerBoardPlatformUnk1AC), false, LOT_NONE, 1, sizeof(f32) }, - { "oCheckerBoardPlatformUnkF8", LVT_S32, offsetof(struct Object, oCheckerBoardPlatformUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oCheckerBoardPlatformUnkFC", LVT_S32, offsetof(struct Object, oCheckerBoardPlatformUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oCheepCheepUnk104", LVT_F32, offsetof(struct Object, oCheepCheepUnk104), false, LOT_NONE, 1, sizeof(f32) }, - { "oCheepCheepUnk108", LVT_F32, offsetof(struct Object, oCheepCheepUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oCheepCheepUnkF4", LVT_F32, offsetof(struct Object, oCheepCheepUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oCheepCheepUnkF8", LVT_F32, offsetof(struct Object, oCheepCheepUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oCheepCheepUnkFC", LVT_F32, offsetof(struct Object, oCheepCheepUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oChuckyaUnk100", LVT_S32, offsetof(struct Object, oChuckyaUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oChuckyaUnk88", LVT_S32, offsetof(struct Object, oChuckyaUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oChuckyaUnkF8", LVT_S32, offsetof(struct Object, oChuckyaUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oChuckyaUnkFC", LVT_S32, offsetof(struct Object, oChuckyaUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oClamUnkF4", LVT_S32, offsetof(struct Object, oClamUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oCloudBlowing", LVT_S32, offsetof(struct Object, oCloudBlowing), false, LOT_NONE, 1, sizeof(s32) }, - { "oCloudCenterX", LVT_F32, offsetof(struct Object, oCloudCenterX), false, LOT_NONE, 1, sizeof(f32) }, - { "oCloudCenterY", LVT_F32, offsetof(struct Object, oCloudCenterY), false, LOT_NONE, 1, sizeof(f32) }, - { "oCloudFwooshMovementRadius", LVT_S16, offsetof(struct Object, oCloudFwooshMovementRadius), false, LOT_NONE, 1, sizeof(s16) }, - { "oCloudGrowSpeed", LVT_F32, offsetof(struct Object, oCloudGrowSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oCoinUnk110", LVT_F32, offsetof(struct Object, oCoinUnk110), false, LOT_NONE, 1, sizeof(f32) }, + { "oCameraLakituYawVel", LVT_S16, offsetof(struct Object, oCameraLakituYawVel), false, LOT_NONE }, + { "oCannonBarrelBubblesUnkF4", LVT_F32, offsetof(struct Object, oCannonBarrelBubblesUnkF4), false, LOT_NONE }, + { "oCannonPlayerIndex", LVT_S32, offsetof(struct Object, oCannonPlayerIndex), false, LOT_NONE }, + { "oCannonUnk10C", LVT_S32, offsetof(struct Object, oCannonUnk10C), false, LOT_NONE }, + { "oCannonUnkF4", LVT_S32, offsetof(struct Object, oCannonUnkF4), false, LOT_NONE }, + { "oCannonUnkF8", LVT_S32, offsetof(struct Object, oCannonUnkF8), false, LOT_NONE }, + { "oCapUnkF4", LVT_S32, offsetof(struct Object, oCapUnkF4), false, LOT_NONE }, + { "oCapUnkF8", LVT_S32, offsetof(struct Object, oCapUnkF8), false, LOT_NONE }, + { "oCelebStarDiameterOfRotation", LVT_S32, offsetof(struct Object, oCelebStarDiameterOfRotation), false, LOT_NONE }, + { "oCelebStarUnkF4", LVT_S32, offsetof(struct Object, oCelebStarUnkF4), false, LOT_NONE }, + { "oChainChompDistToPivot", LVT_F32, offsetof(struct Object, oChainChompDistToPivot), false, LOT_NONE }, + { "oChainChompHitGate", LVT_S32, offsetof(struct Object, oChainChompHitGate), false, LOT_NONE }, + { "oChainChompMaxDistBetweenChainParts", LVT_F32, offsetof(struct Object, oChainChompMaxDistBetweenChainParts), false, LOT_NONE }, + { "oChainChompMaxDistFromPivotPerChainPart", LVT_F32, offsetof(struct Object, oChainChompMaxDistFromPivotPerChainPart), false, LOT_NONE }, + { "oChainChompNumLunges", LVT_S32, offsetof(struct Object, oChainChompNumLunges), false, LOT_NONE }, + { "oChainChompReleaseStatus", LVT_S32, offsetof(struct Object, oChainChompReleaseStatus), false, LOT_NONE }, + { "oChainChompRestrictedByChain", LVT_S32, offsetof(struct Object, oChainChompRestrictedByChain), false, LOT_NONE }, + { "oChainChompSegments", LVT_COBJECT_P, offsetof(struct Object, oChainChompSegments), true, LOT_CHAINSEGMENT }, + { "oChainChompTargetPitch", LVT_S32, offsetof(struct Object, oChainChompTargetPitch), false, LOT_NONE }, + { "oChainChompUnk104", LVT_F32, offsetof(struct Object, oChainChompUnk104), false, LOT_NONE }, + { "oCheckerBoardPlatformUnk1AC", LVT_F32, offsetof(struct Object, oCheckerBoardPlatformUnk1AC), false, LOT_NONE }, + { "oCheckerBoardPlatformUnkF8", LVT_S32, offsetof(struct Object, oCheckerBoardPlatformUnkF8), false, LOT_NONE }, + { "oCheckerBoardPlatformUnkFC", LVT_S32, offsetof(struct Object, oCheckerBoardPlatformUnkFC), false, LOT_NONE }, + { "oCheepCheepUnk104", LVT_F32, offsetof(struct Object, oCheepCheepUnk104), false, LOT_NONE }, + { "oCheepCheepUnk108", LVT_F32, offsetof(struct Object, oCheepCheepUnk108), false, LOT_NONE }, + { "oCheepCheepUnkF4", LVT_F32, offsetof(struct Object, oCheepCheepUnkF4), false, LOT_NONE }, + { "oCheepCheepUnkF8", LVT_F32, offsetof(struct Object, oCheepCheepUnkF8), false, LOT_NONE }, + { "oCheepCheepUnkFC", LVT_F32, offsetof(struct Object, oCheepCheepUnkFC), false, LOT_NONE }, + { "oChuckyaUnk100", LVT_S32, offsetof(struct Object, oChuckyaUnk100), false, LOT_NONE }, + { "oChuckyaUnk88", LVT_S32, offsetof(struct Object, oChuckyaUnk88), false, LOT_NONE }, + { "oChuckyaUnkF8", LVT_S32, offsetof(struct Object, oChuckyaUnkF8), false, LOT_NONE }, + { "oChuckyaUnkFC", LVT_S32, offsetof(struct Object, oChuckyaUnkFC), false, LOT_NONE }, + { "oClamUnkF4", LVT_S32, offsetof(struct Object, oClamUnkF4), false, LOT_NONE }, + { "oCloudBlowing", LVT_S32, offsetof(struct Object, oCloudBlowing), false, LOT_NONE }, + { "oCloudCenterX", LVT_F32, offsetof(struct Object, oCloudCenterX), false, LOT_NONE }, + { "oCloudCenterY", LVT_F32, offsetof(struct Object, oCloudCenterY), false, LOT_NONE }, + { "oCloudFwooshMovementRadius", LVT_S16, offsetof(struct Object, oCloudFwooshMovementRadius), false, LOT_NONE }, + { "oCloudGrowSpeed", LVT_F32, offsetof(struct Object, oCloudGrowSpeed), false, LOT_NONE }, + { "oCoinUnk110", LVT_F32, offsetof(struct Object, oCoinUnk110), false, LOT_NONE }, #ifndef VERSION_JP - { "oCoinUnk1B0", LVT_S32, offsetof(struct Object, oCoinUnk1B0), false, LOT_NONE, 1, sizeof(s32) }, + { "oCoinUnk1B0", LVT_S32, offsetof(struct Object, oCoinUnk1B0), false, LOT_NONE }, #endif - { "oCoinUnkF4", LVT_S32, offsetof(struct Object, oCoinUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oCoinUnkF8", LVT_S32, offsetof(struct Object, oCoinUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oCollisionDistance", LVT_F32, offsetof(struct Object, oCollisionDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "oCollisionParticleUnkF4", LVT_F32, offsetof(struct Object, oCollisionParticleUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oControllablePlatformUnk100", LVT_S32, offsetof(struct Object, oControllablePlatformUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oControllablePlatformUnkF8", LVT_S32, offsetof(struct Object, oControllablePlatformUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oControllablePlatformUnkFC", LVT_F32, offsetof(struct Object, oControllablePlatformUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oDDDPoleMaxOffset", LVT_F32, offsetof(struct Object, oDDDPoleMaxOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oDDDPoleOffset", LVT_F32, offsetof(struct Object, oDDDPoleOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oDDDPoleVel", LVT_F32, offsetof(struct Object, oDDDPoleVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oDamageOrCoinValue", LVT_S32, offsetof(struct Object, oDamageOrCoinValue), false, LOT_NONE, 1, sizeof(s32) }, - { "oDeathSound", LVT_S32, offsetof(struct Object, oDeathSound), false, LOT_NONE, 1, sizeof(s32) }, - { "oDialogResponse", LVT_S16, offsetof(struct Object, oDialogResponse), false, LOT_NONE, 1, sizeof(s16) }, - { "oDialogState", LVT_S16, offsetof(struct Object, oDialogState), false, LOT_NONE, 1, sizeof(s16) }, - { "oDistanceToMario", LVT_F32, offsetof(struct Object, oDistanceToMario), false, LOT_NONE, 1, sizeof(f32) }, - { "oDonutPlatformSpawnerSpawnedPlatforms", LVT_S32, offsetof(struct Object, oDonutPlatformSpawnerSpawnedPlatforms), false, LOT_NONE, 1, sizeof(s32) }, - { "oDoorUnk100", LVT_S32, offsetof(struct Object, oDoorUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oDoorUnk88", LVT_S32, offsetof(struct Object, oDoorUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oDoorUnkF8", LVT_S32, offsetof(struct Object, oDoorUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oDoorUnkFC", LVT_S32, offsetof(struct Object, oDoorUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oDorrieAngleToHome", LVT_S16, offsetof(struct Object, oDorrieAngleToHome), false, LOT_NONE, 1, sizeof(s16) }, - { "oDorrieDistToHome", LVT_F32, offsetof(struct Object, oDorrieDistToHome), false, LOT_NONE, 1, sizeof(f32) }, - { "oDorrieForwardDistToMario", LVT_F32, offsetof(struct Object, oDorrieForwardDistToMario), false, LOT_NONE, 1, sizeof(f32) }, - { "oDorrieGroundPounded", LVT_S16, offsetof(struct Object, oDorrieGroundPounded), false, LOT_NONE, 1, sizeof(s16) }, - { "oDorrieHeadRaiseSpeed", LVT_S16, offsetof(struct Object, oDorrieHeadRaiseSpeed), false, LOT_NONE, 1, sizeof(s16) }, - { "oDorrieLiftingMario", LVT_S32, offsetof(struct Object, oDorrieLiftingMario), false, LOT_NONE, 1, sizeof(s32) }, - { "oDorrieNeckAngle", LVT_S16, offsetof(struct Object, oDorrieNeckAngle), false, LOT_NONE, 1, sizeof(s16) }, - { "oDorrieOffsetY", LVT_F32, offsetof(struct Object, oDorrieOffsetY), false, LOT_NONE, 1, sizeof(f32) }, - { "oDorrieVelY", LVT_F32, offsetof(struct Object, oDorrieVelY), false, LOT_NONE, 1, sizeof(f32) }, - { "oDorrieYawVel", LVT_S32, offsetof(struct Object, oDorrieYawVel), false, LOT_NONE, 1, sizeof(s32) }, - { "oDragStrength", LVT_F32, offsetof(struct Object, oDragStrength), false, LOT_NONE, 1, sizeof(f32) }, - { "oDrawingDistance", LVT_F32, offsetof(struct Object, oDrawingDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "oElevatorUnk100", LVT_S32, offsetof(struct Object, oElevatorUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oElevatorUnkF4", LVT_F32, offsetof(struct Object, oElevatorUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oElevatorUnkF8", LVT_F32, offsetof(struct Object, oElevatorUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oElevatorUnkFC", LVT_F32, offsetof(struct Object, oElevatorUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oEndBirdUnk104", LVT_F32, offsetof(struct Object, oEndBirdUnk104), false, LOT_NONE, 1, sizeof(f32) }, - { "oEnemyLakituBlinkTimer", LVT_S32, offsetof(struct Object, oEnemyLakituBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oEnemyLakituFaceForwardCountdown", LVT_S32, offsetof(struct Object, oEnemyLakituFaceForwardCountdown), false, LOT_NONE, 1, sizeof(s32) }, - { "oEnemyLakituNumSpinies", LVT_S32, offsetof(struct Object, oEnemyLakituNumSpinies), false, LOT_NONE, 1, sizeof(s32) }, - { "oEnemyLakituSpinyCooldown", LVT_S32, offsetof(struct Object, oEnemyLakituSpinyCooldown), false, LOT_NONE, 1, sizeof(s32) }, - { "oExclamationBoxForce", LVT_S32, offsetof(struct Object, oExclamationBoxForce), false, LOT_NONE, 1, sizeof(s32) }, - { "oExclamationBoxUnkF4", LVT_F32, offsetof(struct Object, oExclamationBoxUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oExclamationBoxUnkF8", LVT_F32, offsetof(struct Object, oExclamationBoxUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oExclamationBoxUnkFC", LVT_S32, offsetof(struct Object, oExclamationBoxUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokBossActiveHand", LVT_S32, offsetof(struct Object, oEyerokBossActiveHand), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokBossNumHands", LVT_S32, offsetof(struct Object, oEyerokBossNumHands), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokBossUnk104", LVT_S32, offsetof(struct Object, oEyerokBossUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokBossUnk108", LVT_F32, offsetof(struct Object, oEyerokBossUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oEyerokBossUnk10C", LVT_F32, offsetof(struct Object, oEyerokBossUnk10C), false, LOT_NONE, 1, sizeof(f32) }, - { "oEyerokBossUnk110", LVT_F32, offsetof(struct Object, oEyerokBossUnk110), false, LOT_NONE, 1, sizeof(f32) }, - { "oEyerokBossUnk1AC", LVT_S32, offsetof(struct Object, oEyerokBossUnk1AC), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokBossUnkFC", LVT_S32, offsetof(struct Object, oEyerokBossUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokHandDead", LVT_S32, offsetof(struct Object, oEyerokHandDead), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokHandUnk100", LVT_S32, offsetof(struct Object, oEyerokHandUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokHandUnkFC", LVT_S32, offsetof(struct Object, oEyerokHandUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokHandWakeUpTimer", LVT_S32, offsetof(struct Object, oEyerokHandWakeUpTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokReceivedAttack", LVT_S32, offsetof(struct Object, oEyerokReceivedAttack), false, LOT_NONE, 1, sizeof(s32) }, - { "oFaceAnglePitch", LVT_S32, offsetof(struct Object, oFaceAnglePitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oFaceAngleRoll", LVT_S32, offsetof(struct Object, oFaceAngleRoll), false, LOT_NONE, 1, sizeof(s32) }, - { "oFaceAngleYaw", LVT_S32, offsetof(struct Object, oFaceAngleYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oFallingPillarPitchAcceleration", LVT_F32, offsetof(struct Object, oFallingPillarPitchAcceleration), false, LOT_NONE, 1, sizeof(f32) }, - { "oFirePiranhaPlantActive", LVT_S32, offsetof(struct Object, oFirePiranhaPlantActive), false, LOT_NONE, 1, sizeof(s32) }, - { "oFirePiranhaPlantDeathSpinTimer", LVT_S32, offsetof(struct Object, oFirePiranhaPlantDeathSpinTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oFirePiranhaPlantDeathSpinVel", LVT_F32, offsetof(struct Object, oFirePiranhaPlantDeathSpinVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oFirePiranhaPlantNeutralScale", LVT_F32, offsetof(struct Object, oFirePiranhaPlantNeutralScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oFirePiranhaPlantScale", LVT_F32, offsetof(struct Object, oFirePiranhaPlantScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oFireSpitterLastWaterY", LVT_F32, offsetof(struct Object, oFireSpitterLastWaterY), false, LOT_NONE, 1, sizeof(f32) }, - { "oFireSpitterScaleVel", LVT_F32, offsetof(struct Object, oFireSpitterScaleVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishActiveDistance", LVT_F32, offsetof(struct Object, oFishActiveDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishDepthDistance", LVT_F32, offsetof(struct Object, oFishDepthDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishGoalVel", LVT_F32, offsetof(struct Object, oFishGoalVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishGoalY", LVT_F32, offsetof(struct Object, oFishGoalY), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishHeightOffset", LVT_F32, offsetof(struct Object, oFishHeightOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishRoamDistance", LVT_F32, offsetof(struct Object, oFishRoamDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishWaterLevel", LVT_F32, offsetof(struct Object, oFishWaterLevel), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishYawVel", LVT_S32, offsetof(struct Object, oFishYawVel), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlags", LVT_U32, offsetof(struct Object, oFlags), false, LOT_NONE, 1, sizeof(u32) }, - { "oFlameBowser", LVT_COBJECT_P, offsetof(struct Object, oFlameBowser), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oFlameScale", LVT_F32, offsetof(struct Object, oFlameScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oFlameSpeedTimerOffset", LVT_S32, offsetof(struct Object, oFlameSpeedTimerOffset), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlameThowerFlameUnk110", LVT_S32, offsetof(struct Object, oFlameThowerFlameUnk110), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlameThowerUnk110", LVT_S32, offsetof(struct Object, oFlameThowerUnk110), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlameUnkFC", LVT_F32, offsetof(struct Object, oFlameUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oFloatingPlatformUnk100", LVT_S32, offsetof(struct Object, oFloatingPlatformUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oFloatingPlatformUnkF4", LVT_S32, offsetof(struct Object, oFloatingPlatformUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oFloatingPlatformUnkF8", LVT_F32, offsetof(struct Object, oFloatingPlatformUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oFloatingPlatformUnkFC", LVT_F32, offsetof(struct Object, oFloatingPlatformUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oFloor", LVT_COBJECT_P, offsetof(struct Object, oFloor), false, LOT_SURFACE, 1, sizeof(struct Surface*) }, - { "oFloorHeight", LVT_F32, offsetof(struct Object, oFloorHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "oFloorRoom", LVT_S16, offsetof(struct Object, oFloorRoom), false, LOT_NONE, 1, sizeof(s16) }, - { "oFloorSwitchPressAnimationUnk100", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oFloorSwitchPressAnimationUnkF4", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oFloorSwitchPressAnimationUnkF8", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oFloorSwitchPressAnimationUnkFC", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oFloorType", LVT_S16, offsetof(struct Object, oFloorType), false, LOT_NONE, 1, sizeof(s16) }, - { "oFlyGuyIdleTimer", LVT_S32, offsetof(struct Object, oFlyGuyIdleTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlyGuyLungeTargetPitch", LVT_S32, offsetof(struct Object, oFlyGuyLungeTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlyGuyLungeYDecel", LVT_F32, offsetof(struct Object, oFlyGuyLungeYDecel), false, LOT_NONE, 1, sizeof(f32) }, - { "oFlyGuyOscTimer", LVT_S32, offsetof(struct Object, oFlyGuyOscTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlyGuyScaleVel", LVT_F32, offsetof(struct Object, oFlyGuyScaleVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oFlyGuyTargetRoll", LVT_S32, offsetof(struct Object, oFlyGuyTargetRoll), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlyGuyUnusedJitter", LVT_S32, offsetof(struct Object, oFlyGuyUnusedJitter), false, LOT_NONE, 1, sizeof(s32) }, - { "oForwardVel", LVT_F32, offsetof(struct Object, oForwardVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oForwardVelS32", LVT_S32, offsetof(struct Object, oForwardVelS32), false, LOT_NONE, 1, sizeof(s32) }, - { "oFriction", LVT_F32, offsetof(struct Object, oFriction), false, LOT_NONE, 1, sizeof(f32) }, - { "oGoombaBlinkTimer", LVT_S32, offsetof(struct Object, oGoombaBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oGoombaJumpCooldown", LVT_U32, offsetof(struct Object, oGoombaJumpCooldown), false, LOT_NONE, 1, sizeof(u32) }, - { "oGoombaRelativeSpeed", LVT_F32, offsetof(struct Object, oGoombaRelativeSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oGoombaScale", LVT_F32, offsetof(struct Object, oGoombaScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oGoombaSize", LVT_S32, offsetof(struct Object, oGoombaSize), false, LOT_NONE, 1, sizeof(s32) }, - { "oGoombaTargetYaw", LVT_S32, offsetof(struct Object, oGoombaTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oGoombaTurningAwayFromWall", LVT_S32, offsetof(struct Object, oGoombaTurningAwayFromWall), false, LOT_NONE, 1, sizeof(s32) }, - { "oGoombaWalkTimer", LVT_S32, offsetof(struct Object, oGoombaWalkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oGrandStarUnk108", LVT_S32, offsetof(struct Object, oGrandStarUnk108), false, LOT_NONE, 1, sizeof(s32) }, - { "oGraphYOffset", LVT_F32, offsetof(struct Object, oGraphYOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oGravity", LVT_F32, offsetof(struct Object, oGravity), false, LOT_NONE, 1, sizeof(f32) }, - { "oHauntedBookshelfShouldOpen", LVT_S32, offsetof(struct Object, oHauntedBookshelfShouldOpen), false, LOT_NONE, 1, sizeof(s32) }, - { "oHauntedChairUnk100", LVT_S32_P, offsetof(struct Object, oHauntedChairUnk100), true, LOT_POINTER, 1, sizeof(s32*) }, - { "oHauntedChairUnk104", LVT_S32, offsetof(struct Object, oHauntedChairUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oHauntedChairUnkF4", LVT_S32, offsetof(struct Object, oHauntedChairUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oHauntedChairUnkF8", LVT_F32, offsetof(struct Object, oHauntedChairUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oHauntedChairUnkFC", LVT_F32, offsetof(struct Object, oHauntedChairUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oHealth", LVT_S32, offsetof(struct Object, oHealth), false, LOT_NONE, 1, sizeof(s32) }, - { "oHeaveHoUnk88", LVT_S32, offsetof(struct Object, oHeaveHoUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oHeaveHoUnkF4", LVT_F32, offsetof(struct Object, oHeaveHoUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oHeldState", LVT_U32, offsetof(struct Object, oHeldState), false, LOT_NONE, 1, sizeof(u32) }, - { "oHiddenBlueCoinSwitch", LVT_COBJECT_P, offsetof(struct Object, oHiddenBlueCoinSwitch), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oHiddenObjectUnkF4", LVT_COBJECT_P, offsetof(struct Object, oHiddenObjectUnkF4), false, LOT_OBJECT, 1, sizeof(struct Object*) }, -// { "oHiddenStarLastInteractedObject", LVT_???, offsetof(struct Object, oHiddenStarLastInteractedObject), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED - { "oHiddenStarTriggerCounter", LVT_S32, offsetof(struct Object, oHiddenStarTriggerCounter), false, LOT_NONE, 1, sizeof(s32) }, - { "oHomeX", LVT_F32, offsetof(struct Object, oHomeX), false, LOT_NONE, 1, sizeof(f32) }, - { "oHomeY", LVT_F32, offsetof(struct Object, oHomeY), false, LOT_NONE, 1, sizeof(f32) }, - { "oHomeZ", LVT_F32, offsetof(struct Object, oHomeZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oHomingAmpAvgY", LVT_F32, offsetof(struct Object, oHomingAmpAvgY), false, LOT_NONE, 1, sizeof(f32) }, - { "oHomingAmpLockedOn", LVT_S32, offsetof(struct Object, oHomingAmpLockedOn), false, LOT_NONE, 1, sizeof(s32) }, - { "oHootAvailability", LVT_S32, offsetof(struct Object, oHootAvailability), false, LOT_NONE, 1, sizeof(s32) }, - { "oHootMarioReleaseTime", LVT_S32, offsetof(struct Object, oHootMarioReleaseTime), false, LOT_NONE, 1, sizeof(s32) }, - { "oHorizontalGrindelDistToHome", LVT_F32, offsetof(struct Object, oHorizontalGrindelDistToHome), false, LOT_NONE, 1, sizeof(f32) }, - { "oHorizontalGrindelOnGround", LVT_S32, offsetof(struct Object, oHorizontalGrindelOnGround), false, LOT_NONE, 1, sizeof(s32) }, - { "oHorizontalGrindelTargetYaw", LVT_S32, offsetof(struct Object, oHorizontalGrindelTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oHorizontalMovementUnk100", LVT_F32, offsetof(struct Object, oHorizontalMovementUnk100), false, LOT_NONE, 1, sizeof(f32) }, - { "oHorizontalMovementUnk104", LVT_S32, offsetof(struct Object, oHorizontalMovementUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oHorizontalMovementUnk108", LVT_F32, offsetof(struct Object, oHorizontalMovementUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oHorizontalMovementUnkF4", LVT_S32, offsetof(struct Object, oHorizontalMovementUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oHorizontalMovementUnkF8", LVT_S32, offsetof(struct Object, oHorizontalMovementUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oIntangibleTimer", LVT_S32, offsetof(struct Object, oIntangibleTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oInteractStatus", LVT_S32, offsetof(struct Object, oInteractStatus), false, LOT_NONE, 1, sizeof(s32) }, - { "oInteractType", LVT_U32, offsetof(struct Object, oInteractType), false, LOT_NONE, 1, sizeof(u32) }, - { "oInteractionSubtype", LVT_U32, offsetof(struct Object, oInteractionSubtype), false, LOT_NONE, 1, sizeof(u32) }, - { "oIntroLakituCloud", LVT_COBJECT_P, offsetof(struct Object, oIntroLakituCloud), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oIntroLakituSplineSegment", LVT_F32, offsetof(struct Object, oIntroLakituSplineSegment), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroLakituSplineSegmentProgress", LVT_F32, offsetof(struct Object, oIntroLakituSplineSegmentProgress), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroLakituUnk100", LVT_F32, offsetof(struct Object, oIntroLakituUnk100), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroLakituUnk104", LVT_F32, offsetof(struct Object, oIntroLakituUnk104), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroLakituUnk108", LVT_F32, offsetof(struct Object, oIntroLakituUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroLakituUnk10C", LVT_F32, offsetof(struct Object, oIntroLakituUnk10C), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroLakituUnk110", LVT_F32, offsetof(struct Object, oIntroLakituUnk110), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroPeachDistToCamera", LVT_F32, offsetof(struct Object, oIntroPeachDistToCamera), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroPeachPitchFromFocus", LVT_F32, offsetof(struct Object, oIntroPeachPitchFromFocus), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroPeachYawFromFocus", LVT_F32, offsetof(struct Object, oIntroPeachYawFromFocus), false, LOT_NONE, 1, sizeof(f32) }, - { "oJrbSlidingBoxUnkF4", LVT_COBJECT_P, offsetof(struct Object, oJrbSlidingBoxUnkF4), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oJrbSlidingBoxUnkF8", LVT_S32, offsetof(struct Object, oJrbSlidingBoxUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oJrbSlidingBoxUnkFC", LVT_F32, offsetof(struct Object, oJrbSlidingBoxUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oJumpingBoxUnkF4", LVT_S32, offsetof(struct Object, oJumpingBoxUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oJumpingBoxUnkF8", LVT_S32, offsetof(struct Object, oJumpingBoxUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oKickableBoardF4", LVT_S32, offsetof(struct Object, oKickableBoardF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oKickableBoardF8", LVT_S32, offsetof(struct Object, oKickableBoardF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oKingBobombUnk100", LVT_S32, offsetof(struct Object, oKingBobombUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oKingBobombUnk104", LVT_S32, offsetof(struct Object, oKingBobombUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oKingBobombUnk108", LVT_S32, offsetof(struct Object, oKingBobombUnk108), false, LOT_NONE, 1, sizeof(s32) }, - { "oKingBobombUnk88", LVT_S32, offsetof(struct Object, oKingBobombUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oKingBobombUnkF8", LVT_S32, offsetof(struct Object, oKingBobombUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oKingBobombUnkFC", LVT_S32, offsetof(struct Object, oKingBobombUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oKleptoDistanceToTarget", LVT_F32, offsetof(struct Object, oKleptoDistanceToTarget), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoSpeed", LVT_F32, offsetof(struct Object, oKleptoSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoStartPosX", LVT_F32, offsetof(struct Object, oKleptoStartPosX), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoStartPosY", LVT_F32, offsetof(struct Object, oKleptoStartPosY), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoStartPosZ", LVT_F32, offsetof(struct Object, oKleptoStartPosZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoTargetNumber", LVT_S16, offsetof(struct Object, oKleptoTargetNumber), false, LOT_NONE, 1, sizeof(s16) }, - { "oKleptoTimeUntilTargetChange", LVT_S32, offsetof(struct Object, oKleptoTimeUntilTargetChange), false, LOT_NONE, 1, sizeof(s32) }, - { "oKleptoUnk1AE", LVT_S16, offsetof(struct Object, oKleptoUnk1AE), false, LOT_NONE, 1, sizeof(s16) }, - { "oKleptoUnk1B0", LVT_S16, offsetof(struct Object, oKleptoUnk1B0), false, LOT_NONE, 1, sizeof(s16) }, - { "oKleptoUnkF8", LVT_F32, offsetof(struct Object, oKleptoUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoUnkFC", LVT_F32, offsetof(struct Object, oKleptoUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoYawToTarget", LVT_S16, offsetof(struct Object, oKleptoYawToTarget), false, LOT_NONE, 1, sizeof(s16) }, - { "oKoopaAgility", LVT_F32, offsetof(struct Object, oKoopaAgility), false, LOT_NONE, 1, sizeof(f32) }, - { "oKoopaAngleToMario", LVT_S32, offsetof(struct Object, oKoopaAngleToMario), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaBlinkTimer", LVT_S32, offsetof(struct Object, oKoopaBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaCountdown", LVT_S16, offsetof(struct Object, oKoopaCountdown), false, LOT_NONE, 1, sizeof(s16) }, - { "oKoopaDistanceToMario", LVT_F32, offsetof(struct Object, oKoopaDistanceToMario), false, LOT_NONE, 1, sizeof(f32) }, - { "oKoopaMovementType", LVT_S32, offsetof(struct Object, oKoopaMovementType), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaRaceEndpointKoopaFinished", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointKoopaFinished), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaRaceEndpointRaceBegun", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointRaceBegun), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaRaceEndpointRaceEnded", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointRaceEnded), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaRaceEndpointRaceStatus", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointRaceStatus), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaRaceEndpointUnk100", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaShellFlameUnkF4", LVT_F32, offsetof(struct Object, oKoopaShellFlameUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oKoopaShellFlameUnkF8", LVT_F32, offsetof(struct Object, oKoopaShellFlameUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oKoopaTargetYaw", LVT_S32, offsetof(struct Object, oKoopaTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaTheQuickInitTextboxCooldown", LVT_S16, offsetof(struct Object, oKoopaTheQuickInitTextboxCooldown), false, LOT_NONE, 1, sizeof(s16) }, - { "oKoopaTheQuickRaceIndex", LVT_S16, offsetof(struct Object, oKoopaTheQuickRaceIndex), false, LOT_NONE, 1, sizeof(s16) }, - { "oKoopaTurningAwayFromWall", LVT_S32, offsetof(struct Object, oKoopaTurningAwayFromWall), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaUnshelledTimeUntilTurn", LVT_S32, offsetof(struct Object, oKoopaUnshelledTimeUntilTurn), false, LOT_NONE, 1, sizeof(s32) }, - { "oLightID", LVT_S32, offsetof(struct Object, oLightID), false, LOT_NONE, 1, sizeof(s32) }, - { "oLllRotatingHexFlameUnkF4", LVT_F32, offsetof(struct Object, oLllRotatingHexFlameUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oLllRotatingHexFlameUnkF8", LVT_F32, offsetof(struct Object, oLllRotatingHexFlameUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oLllRotatingHexFlameUnkFC", LVT_F32, offsetof(struct Object, oLllRotatingHexFlameUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oLllWoodPieceOscillationTimer", LVT_S32, offsetof(struct Object, oLllWoodPieceOscillationTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oMacroUnk108", LVT_F32, offsetof(struct Object, oMacroUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oMacroUnk10C", LVT_F32, offsetof(struct Object, oMacroUnk10C), false, LOT_NONE, 1, sizeof(f32) }, - { "oMacroUnk110", LVT_F32, offsetof(struct Object, oMacroUnk110), false, LOT_NONE, 1, sizeof(f32) }, - { "oMantaTargetPitch", LVT_S32, offsetof(struct Object, oMantaTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oMantaTargetYaw", LVT_S32, offsetof(struct Object, oMantaTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioBurnTimer", LVT_S32, offsetof(struct Object, oMarioBurnTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioCannonInputYaw", LVT_S32, offsetof(struct Object, oMarioCannonInputYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioCannonObjectYaw", LVT_S32, offsetof(struct Object, oMarioCannonObjectYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioJumboStarCutscenePosZ", LVT_F32, offsetof(struct Object, oMarioJumboStarCutscenePosZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oMarioLongJumpIsSlow", LVT_S32, offsetof(struct Object, oMarioLongJumpIsSlow), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioParticleFlags", LVT_S32, offsetof(struct Object, oMarioParticleFlags), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioPolePos", LVT_F32, offsetof(struct Object, oMarioPolePos), false, LOT_NONE, 1, sizeof(f32) }, - { "oMarioPoleUnk108", LVT_S32, offsetof(struct Object, oMarioPoleUnk108), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioPoleYawVel", LVT_S32, offsetof(struct Object, oMarioPoleYawVel), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioReadingSignDPosX", LVT_F32, offsetof(struct Object, oMarioReadingSignDPosX), false, LOT_NONE, 1, sizeof(f32) }, - { "oMarioReadingSignDPosZ", LVT_F32, offsetof(struct Object, oMarioReadingSignDPosZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oMarioReadingSignDYaw", LVT_S32, offsetof(struct Object, oMarioReadingSignDYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioSteepJumpYaw", LVT_S32, offsetof(struct Object, oMarioSteepJumpYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioTornadoPosY", LVT_F32, offsetof(struct Object, oMarioTornadoPosY), false, LOT_NONE, 1, sizeof(f32) }, - { "oMarioTornadoYawVel", LVT_S32, offsetof(struct Object, oMarioTornadoYawVel), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioWalkingPitch", LVT_S32, offsetof(struct Object, oMarioWalkingPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioWhirlpoolPosY", LVT_F32, offsetof(struct Object, oMarioWhirlpoolPosY), false, LOT_NONE, 1, sizeof(f32) }, - { "oMenuButtonActionPhase", LVT_S32, offsetof(struct Object, oMenuButtonActionPhase), false, LOT_NONE, 1, sizeof(s32) }, - { "oMenuButtonIsCustom", LVT_S32, offsetof(struct Object, oMenuButtonIsCustom), false, LOT_NONE, 1, sizeof(s32) }, - { "oMenuButtonOrigPosX", LVT_F32, offsetof(struct Object, oMenuButtonOrigPosX), false, LOT_NONE, 1, sizeof(f32) }, - { "oMenuButtonOrigPosY", LVT_F32, offsetof(struct Object, oMenuButtonOrigPosY), false, LOT_NONE, 1, sizeof(f32) }, - { "oMenuButtonOrigPosZ", LVT_F32, offsetof(struct Object, oMenuButtonOrigPosZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oMenuButtonScale", LVT_F32, offsetof(struct Object, oMenuButtonScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oMenuButtonState", LVT_S32, offsetof(struct Object, oMenuButtonState), false, LOT_NONE, 1, sizeof(s32) }, - { "oMenuButtonTimer", LVT_S32, offsetof(struct Object, oMenuButtonTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oMerryGoRoundBooManagerNumBoosKilled", LVT_S32, offsetof(struct Object, oMerryGoRoundBooManagerNumBoosKilled), false, LOT_NONE, 1, sizeof(s32) }, - { "oMerryGoRoundBooManagerNumBoosSpawned", LVT_S32, offsetof(struct Object, oMerryGoRoundBooManagerNumBoosSpawned), false, LOT_NONE, 1, sizeof(s32) }, - { "oMerryGoRoundMarioIsOutside", LVT_S32, offsetof(struct Object, oMerryGoRoundMarioIsOutside), false, LOT_NONE, 1, sizeof(s32) }, - { "oMerryGoRoundMusicShouldPlay", LVT_S32, offsetof(struct Object, oMerryGoRoundMusicShouldPlay), false, LOT_NONE, 1, sizeof(s32) }, - { "oMerryGoRoundStopped", LVT_S32, offsetof(struct Object, oMerryGoRoundStopped), false, LOT_NONE, 1, sizeof(s32) }, - { "oMipsForwardVelocity", LVT_F32, offsetof(struct Object, oMipsForwardVelocity), false, LOT_NONE, 1, sizeof(f32) }, - { "oMipsStarStatus", LVT_S32, offsetof(struct Object, oMipsStarStatus), false, LOT_NONE, 1, sizeof(s32) }, - { "oMipsStartWaypointIndex", LVT_S32, offsetof(struct Object, oMipsStartWaypointIndex), false, LOT_NONE, 1, sizeof(s32) }, - { "oMoneybagJumpState", LVT_S32, offsetof(struct Object, oMoneybagJumpState), false, LOT_NONE, 1, sizeof(s32) }, - { "oMontyMoleCurrentHole", LVT_COBJECT_P, offsetof(struct Object, oMontyMoleCurrentHole), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oMontyMoleHeightRelativeToFloor", LVT_F32, offsetof(struct Object, oMontyMoleHeightRelativeToFloor), false, LOT_NONE, 1, sizeof(f32) }, - { "oMontyMoleHoleCooldown", LVT_S32, offsetof(struct Object, oMontyMoleHoleCooldown), false, LOT_NONE, 1, sizeof(s32) }, - { "oMontyMoleHoleX", LVT_F32, offsetof(struct Object, oMontyMoleHoleX), false, LOT_NONE, 1, sizeof(f32) }, - { "oMontyMoleHoleY", LVT_F32, offsetof(struct Object, oMontyMoleHoleY), false, LOT_NONE, 1, sizeof(f32) }, - { "oMontyMoleHoleZ", LVT_F32, offsetof(struct Object, oMontyMoleHoleZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oMoveAnglePitch", LVT_S32, offsetof(struct Object, oMoveAnglePitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oMoveAngleRoll", LVT_S32, offsetof(struct Object, oMoveAngleRoll), false, LOT_NONE, 1, sizeof(s32) }, - { "oMoveAngleYaw", LVT_S32, offsetof(struct Object, oMoveAngleYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMoveFlags", LVT_U32, offsetof(struct Object, oMoveFlags), false, LOT_NONE, 1, sizeof(u32) }, - { "oMovingFlameTimer", LVT_S32, offsetof(struct Object, oMovingFlameTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrBlizzardChangeInDizziness", LVT_F32, offsetof(struct Object, oMrBlizzardChangeInDizziness), false, LOT_NONE, 1, sizeof(f32) }, - { "oMrBlizzardDistFromHome", LVT_S32, offsetof(struct Object, oMrBlizzardDistFromHome), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrBlizzardDizziness", LVT_F32, offsetof(struct Object, oMrBlizzardDizziness), false, LOT_NONE, 1, sizeof(f32) }, - { "oMrBlizzardGraphYOffset", LVT_F32, offsetof(struct Object, oMrBlizzardGraphYOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oMrBlizzardGraphYVel", LVT_F32, offsetof(struct Object, oMrBlizzardGraphYVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oMrBlizzardHeldObj", LVT_COBJECT_P, offsetof(struct Object, oMrBlizzardHeldObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oMrBlizzardScale", LVT_F32, offsetof(struct Object, oMrBlizzardScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oMrBlizzardTargetMoveYaw", LVT_S32, offsetof(struct Object, oMrBlizzardTargetMoveYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrBlizzardTimer", LVT_S32, offsetof(struct Object, oMrBlizzardTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrISize", LVT_F32, offsetof(struct Object, oMrISize), false, LOT_NONE, 1, sizeof(f32) }, - { "oMrIUnk100", LVT_S32, offsetof(struct Object, oMrIUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrIUnk104", LVT_S32, offsetof(struct Object, oMrIUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrIUnk108", LVT_S32, offsetof(struct Object, oMrIUnk108), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrIUnk110", LVT_S32, offsetof(struct Object, oMrIUnk110), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrIUnkF4", LVT_S32, offsetof(struct Object, oMrIUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrIUnkFC", LVT_S32, offsetof(struct Object, oMrIUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oNumLootCoins", LVT_S32, offsetof(struct Object, oNumLootCoins), false, LOT_NONE, 1, sizeof(s32) }, - { "oOpacity", LVT_S32, offsetof(struct Object, oOpacity), false, LOT_NONE, 1, sizeof(s32) }, - { "oOpenableGrillUnk88", LVT_S32, offsetof(struct Object, oOpenableGrillUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oOpenableGrillUnkF4", LVT_COBJECT_P, offsetof(struct Object, oOpenableGrillUnkF4), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oParentRelativePosX", LVT_F32, offsetof(struct Object, oParentRelativePosX), false, LOT_NONE, 1, sizeof(f32) }, - { "oParentRelativePosY", LVT_F32, offsetof(struct Object, oParentRelativePosY), false, LOT_NONE, 1, sizeof(f32) }, - { "oParentRelativePosZ", LVT_F32, offsetof(struct Object, oParentRelativePosZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oPathedPrevWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedPrevWaypoint), false, LOT_WAYPOINT, 1, sizeof(struct Waypoint*) }, - { "oPathedPrevWaypointFlags", LVT_S32, offsetof(struct Object, oPathedPrevWaypointFlags), false, LOT_NONE, 1, sizeof(s32) }, - { "oPathedStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedStartWaypoint), false, LOT_WAYPOINT, 1, sizeof(struct Waypoint*) }, - { "oPathedTargetPitch", LVT_S32, offsetof(struct Object, oPathedTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oPathedTargetYaw", LVT_S32, offsetof(struct Object, oPathedTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oPiranhaPlantScale", LVT_F32, offsetof(struct Object, oPiranhaPlantScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oPiranhaPlantSleepMusicState", LVT_S32, offsetof(struct Object, oPiranhaPlantSleepMusicState), false, LOT_NONE, 1, sizeof(s32) }, - { "oPitouneUnkF4", LVT_F32, offsetof(struct Object, oPitouneUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oPitouneUnkF8", LVT_F32, offsetof(struct Object, oPitouneUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oPitouneUnkFC", LVT_F32, offsetof(struct Object, oPitouneUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformOnTrackBaseBallIndex", LVT_S32, offsetof(struct Object, oPlatformOnTrackBaseBallIndex), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformOnTrackDistMovedSinceLastBall", LVT_F32, offsetof(struct Object, oPlatformOnTrackDistMovedSinceLastBall), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformOnTrackIsNotHMC", LVT_S16, offsetof(struct Object, oPlatformOnTrackIsNotHMC), false, LOT_NONE, 1, sizeof(s16) }, - { "oPlatformOnTrackIsNotSkiLift", LVT_S16, offsetof(struct Object, oPlatformOnTrackIsNotSkiLift), false, LOT_NONE, 1, sizeof(s16) }, - { "oPlatformOnTrackOffsetY", LVT_F32, offsetof(struct Object, oPlatformOnTrackOffsetY), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformOnTrackPitch", LVT_S32, offsetof(struct Object, oPlatformOnTrackPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformOnTrackPrevWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPlatformOnTrackPrevWaypoint), false, LOT_WAYPOINT, 1, sizeof(struct Waypoint*) }, - { "oPlatformOnTrackPrevWaypointFlags", LVT_S32, offsetof(struct Object, oPlatformOnTrackPrevWaypointFlags), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformOnTrackSkiLiftRollVel", LVT_F32, offsetof(struct Object, oPlatformOnTrackSkiLiftRollVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformOnTrackStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPlatformOnTrackStartWaypoint), false, LOT_WAYPOINT, 1, sizeof(struct Waypoint*) }, - { "oPlatformOnTrackType", LVT_S16, offsetof(struct Object, oPlatformOnTrackType), false, LOT_NONE, 1, sizeof(s16) }, - { "oPlatformOnTrackWasStoodOn", LVT_S16, offsetof(struct Object, oPlatformOnTrackWasStoodOn), false, LOT_NONE, 1, sizeof(s16) }, - { "oPlatformOnTrackYaw", LVT_S32, offsetof(struct Object, oPlatformOnTrackYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformSpawnerUnk100", LVT_F32, offsetof(struct Object, oPlatformSpawnerUnk100), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformSpawnerUnk104", LVT_F32, offsetof(struct Object, oPlatformSpawnerUnk104), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformSpawnerUnk108", LVT_F32, offsetof(struct Object, oPlatformSpawnerUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformSpawnerUnkF4", LVT_S32, offsetof(struct Object, oPlatformSpawnerUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformSpawnerUnkF8", LVT_S32, offsetof(struct Object, oPlatformSpawnerUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformSpawnerUnkFC", LVT_S32, offsetof(struct Object, oPlatformSpawnerUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformTimer", LVT_S32, offsetof(struct Object, oPlatformTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformUnk10C", LVT_F32, offsetof(struct Object, oPlatformUnk10C), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformUnk110", LVT_F32, offsetof(struct Object, oPlatformUnk110), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformUnkF8", LVT_COBJECT_P, offsetof(struct Object, oPlatformUnkF8), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oPlatformUnkFC", LVT_S32, offsetof(struct Object, oPlatformUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyAliveBodyPartFlags", LVT_U32, offsetof(struct Object, oPokeyAliveBodyPartFlags), false, LOT_NONE, 1, sizeof(u32) }, - { "oPokeyBodyPartBlinkTimer", LVT_S32, offsetof(struct Object, oPokeyBodyPartBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyBodyPartDeathDelayAfterHeadKilled", LVT_S32, offsetof(struct Object, oPokeyBodyPartDeathDelayAfterHeadKilled), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyBottomBodyPartSize", LVT_F32, offsetof(struct Object, oPokeyBottomBodyPartSize), false, LOT_NONE, 1, sizeof(f32) }, - { "oPokeyChangeTargetTimer", LVT_S32, offsetof(struct Object, oPokeyChangeTargetTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyHeadWasKilled", LVT_S32, offsetof(struct Object, oPokeyHeadWasKilled), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyNumAliveBodyParts", LVT_S32, offsetof(struct Object, oPokeyNumAliveBodyParts), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyTargetYaw", LVT_S32, offsetof(struct Object, oPokeyTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyTurningAwayFromWall", LVT_S32, offsetof(struct Object, oPokeyTurningAwayFromWall), false, LOT_NONE, 1, sizeof(s32) }, - { "oPosX", LVT_F32, offsetof(struct Object, oPosX), false, LOT_NONE, 1, sizeof(f32) }, - { "oPosY", LVT_F32, offsetof(struct Object, oPosY), false, LOT_NONE, 1, sizeof(f32) }, - { "oPosZ", LVT_F32, offsetof(struct Object, oPosZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oPrevAction", LVT_S32, offsetof(struct Object, oPrevAction), false, LOT_NONE, 1, sizeof(s32) }, - { "oPyramidTopFragmentsScale", LVT_F32, offsetof(struct Object, oPyramidTopFragmentsScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oPyramidTopPillarsTouched", LVT_S32, offsetof(struct Object, oPyramidTopPillarsTouched), false, LOT_NONE, 1, sizeof(s32) }, - { "oRRCruiserWingUnkF4", LVT_S32, offsetof(struct Object, oRRCruiserWingUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oRRCruiserWingUnkF8", LVT_S32, offsetof(struct Object, oRRCruiserWingUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oRacingPenguinFinalTextbox", LVT_S16, offsetof(struct Object, oRacingPenguinFinalTextbox), false, LOT_NONE, 1, sizeof(s16) }, - { "oRacingPenguinInitTextCooldown", LVT_S32, offsetof(struct Object, oRacingPenguinInitTextCooldown), false, LOT_NONE, 1, sizeof(s32) }, - { "oRacingPenguinMarioCheated", LVT_S16, offsetof(struct Object, oRacingPenguinMarioCheated), false, LOT_NONE, 1, sizeof(s16) }, - { "oRacingPenguinMarioWon", LVT_S16, offsetof(struct Object, oRacingPenguinMarioWon), false, LOT_NONE, 1, sizeof(s16) }, - { "oRacingPenguinReachedBottom", LVT_S16, offsetof(struct Object, oRacingPenguinReachedBottom), false, LOT_NONE, 1, sizeof(s16) }, - { "oRacingPenguinWeightedNewTargetSpeed", LVT_F32, offsetof(struct Object, oRacingPenguinWeightedNewTargetSpeed), false, LOT_NONE, 1, sizeof(f32) }, -// { "oRespawnerBehaviorToRespawn", LVT_???, offsetof(struct Object, oRespawnerBehaviorToRespawn), true, LOT_???, 1, sizeof(const void*) }, <--- UNIMPLEMENTED - { "oRespawnerMinSpawnDist", LVT_F32, offsetof(struct Object, oRespawnerMinSpawnDist), false, LOT_NONE, 1, sizeof(f32) }, - { "oRespawnerModelToRespawn", LVT_S32, offsetof(struct Object, oRespawnerModelToRespawn), false, LOT_NONE, 1, sizeof(s32) }, - { "oRollingLogUnkF4", LVT_F32, offsetof(struct Object, oRollingLogUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oRoom", LVT_S32, offsetof(struct Object, oRoom), false, LOT_NONE, 1, sizeof(s32) }, - { "oSLSnowmanWindOriginalYaw", LVT_S32, offsetof(struct Object, oSLSnowmanWindOriginalYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oSLWalkingPenguinCurStep", LVT_S32, offsetof(struct Object, oSLWalkingPenguinCurStep), false, LOT_NONE, 1, sizeof(s32) }, - { "oSLWalkingPenguinCurStepTimer", LVT_S32, offsetof(struct Object, oSLWalkingPenguinCurStepTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oSLWalkingPenguinWindCollisionXPos", LVT_F32, offsetof(struct Object, oSLWalkingPenguinWindCollisionXPos), false, LOT_NONE, 1, sizeof(f32) }, - { "oSLWalkingPenguinWindCollisionZPos", LVT_F32, offsetof(struct Object, oSLWalkingPenguinWindCollisionZPos), false, LOT_NONE, 1, sizeof(f32) }, - { "oScuttlebugSpawnerUnk88", LVT_S32, offsetof(struct Object, oScuttlebugSpawnerUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oScuttlebugSpawnerUnkF4", LVT_S32, offsetof(struct Object, oScuttlebugSpawnerUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oScuttlebugUnkF4", LVT_S32, offsetof(struct Object, oScuttlebugUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oScuttlebugUnkF8", LVT_S32, offsetof(struct Object, oScuttlebugUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oScuttlebugUnkFC", LVT_S32, offsetof(struct Object, oScuttlebugUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oSeesawPlatformPitchVel", LVT_F32, offsetof(struct Object, oSeesawPlatformPitchVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oShipPart3UnkF4", LVT_S32, offsetof(struct Object, oShipPart3UnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oShipPart3UnkF8", LVT_S32, offsetof(struct Object, oShipPart3UnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oSinkWhenSteppedOnUnk104", LVT_S32, offsetof(struct Object, oSinkWhenSteppedOnUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oSinkWhenSteppedOnUnk108", LVT_F32, offsetof(struct Object, oSinkWhenSteppedOnUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oSkeeterLastWaterY", LVT_F32, offsetof(struct Object, oSkeeterLastWaterY), false, LOT_NONE, 1, sizeof(f32) }, - { "oSkeeterTargetAngle", LVT_S32, offsetof(struct Object, oSkeeterTargetAngle), false, LOT_NONE, 1, sizeof(s32) }, - { "oSkeeterUnk1AC", LVT_S16, offsetof(struct Object, oSkeeterUnk1AC), false, LOT_NONE, 1, sizeof(s16) }, - { "oSkeeterUnkF8", LVT_S32, offsetof(struct Object, oSkeeterUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oSkeeterUnkFC", LVT_F32, offsetof(struct Object, oSkeeterUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oSkeeterWaitTime", LVT_S32, offsetof(struct Object, oSkeeterWaitTime), false, LOT_NONE, 1, sizeof(s32) }, - { "oSmallBompInitX", LVT_F32, offsetof(struct Object, oSmallBompInitX), false, LOT_NONE, 1, sizeof(f32) }, - { "oSmallPenguinUnk100", LVT_S32, offsetof(struct Object, oSmallPenguinUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oSmallPenguinUnk104", LVT_F32, offsetof(struct Object, oSmallPenguinUnk104), false, LOT_NONE, 1, sizeof(f32) }, - { "oSmallPenguinUnk108", LVT_F32, offsetof(struct Object, oSmallPenguinUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oSmallPenguinUnk110", LVT_S32, offsetof(struct Object, oSmallPenguinUnk110), false, LOT_NONE, 1, sizeof(s32) }, - { "oSmallPenguinUnk88", LVT_S32, offsetof(struct Object, oSmallPenguinUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oSmallPiranhaFlameEndSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameEndSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oSmallPiranhaFlameModel", LVT_S32, offsetof(struct Object, oSmallPiranhaFlameModel), false, LOT_NONE, 1, sizeof(s32) }, - { "oSmallPiranhaFlameNextFlameTimer", LVT_S32, offsetof(struct Object, oSmallPiranhaFlameNextFlameTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oSmallPiranhaFlameSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oSmallPiranhaFlameStartSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameStartSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oSmokeTimer", LVT_S32, offsetof(struct Object, oSmokeTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnowmansBottomUnk1AC", LVT_S32, offsetof(struct Object, oSnowmansBottomUnk1AC), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnowmansBottomUnkF4", LVT_F32, offsetof(struct Object, oSnowmansBottomUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oSnowmansBottomUnkF8", LVT_S32, offsetof(struct Object, oSnowmansBottomUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnowmansHeadUnkF4", LVT_S32, offsetof(struct Object, oSnowmansHeadUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnufitBodyBaseScale", LVT_S32, offsetof(struct Object, oSnufitBodyBaseScale), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnufitBodyScale", LVT_S16, offsetof(struct Object, oSnufitBodyScale), false, LOT_NONE, 1, sizeof(s16) }, - { "oSnufitBodyScalePeriod", LVT_S32, offsetof(struct Object, oSnufitBodyScalePeriod), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnufitBullets", LVT_S32, offsetof(struct Object, oSnufitBullets), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnufitCircularPeriod", LVT_S32, offsetof(struct Object, oSnufitCircularPeriod), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnufitRecoil", LVT_S32, offsetof(struct Object, oSnufitRecoil), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnufitScale", LVT_F32, offsetof(struct Object, oSnufitScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oSnufitXOffset", LVT_S16, offsetof(struct Object, oSnufitXOffset), false, LOT_NONE, 1, sizeof(s16) }, - { "oSnufitYOffset", LVT_S16, offsetof(struct Object, oSnufitYOffset), false, LOT_NONE, 1, sizeof(s16) }, - { "oSnufitZOffset", LVT_S16, offsetof(struct Object, oSnufitZOffset), false, LOT_NONE, 1, sizeof(s16) }, - { "oSoundEffectUnkF4", LVT_S32, offsetof(struct Object, oSoundEffectUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oSoundStateID", LVT_S32, offsetof(struct Object, oSoundStateID), false, LOT_NONE, 1, sizeof(s32) }, - { "oSparkleSpawnUnk1B0", LVT_S32, offsetof(struct Object, oSparkleSpawnUnk1B0), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpindelUnkF4", LVT_S32, offsetof(struct Object, oSpindelUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpindelUnkF8", LVT_S32, offsetof(struct Object, oSpindelUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpinningHeartPlayedSound", LVT_S32, offsetof(struct Object, oSpinningHeartPlayedSound), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpinningHeartTotalSpin", LVT_S32, offsetof(struct Object, oSpinningHeartTotalSpin), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpinyTargetYaw", LVT_S32, offsetof(struct Object, oSpinyTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpinyTimeUntilTurn", LVT_S32, offsetof(struct Object, oSpinyTimeUntilTurn), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpinyTurningAwayFromWall", LVT_S32, offsetof(struct Object, oSpinyTurningAwayFromWall), false, LOT_NONE, 1, sizeof(s32) }, -// { "oStarBehavior", LVT_???, offsetof(struct Object, oStarBehavior), true, LOT_???, 1, sizeof(const void*) }, <--- UNIMPLEMENTED - { "oStarSelectorSize", LVT_F32, offsetof(struct Object, oStarSelectorSize), false, LOT_NONE, 1, sizeof(f32) }, - { "oStarSelectorTimer", LVT_S32, offsetof(struct Object, oStarSelectorTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oStarSelectorType", LVT_S32, offsetof(struct Object, oStarSelectorType), false, LOT_NONE, 1, sizeof(s32) }, - { "oStarSpawnDisFromHome", LVT_F32, offsetof(struct Object, oStarSpawnDisFromHome), false, LOT_NONE, 1, sizeof(f32) }, - { "oStarSpawnExtCutsceneFlags", LVT_S16, offsetof(struct Object, oStarSpawnExtCutsceneFlags), false, LOT_NONE, 1, sizeof(s16) }, - { "oStarSpawnUnkFC", LVT_F32, offsetof(struct Object, oStarSpawnUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oStrongWindParticlePenguinObj", LVT_COBJECT_P, offsetof(struct Object, oStrongWindParticlePenguinObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oSubAction", LVT_S32, offsetof(struct Object, oSubAction), false, LOT_NONE, 1, sizeof(s32) }, - { "oSushiSharkUnkF4", LVT_S32, offsetof(struct Object, oSushiSharkUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oSwingPlatformAngle", LVT_F32, offsetof(struct Object, oSwingPlatformAngle), false, LOT_NONE, 1, sizeof(f32) }, - { "oSwingPlatformSpeed", LVT_F32, offsetof(struct Object, oSwingPlatformSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oSwoopBonkCountdown", LVT_S32, offsetof(struct Object, oSwoopBonkCountdown), false, LOT_NONE, 1, sizeof(s32) }, - { "oSwoopTargetPitch", LVT_S32, offsetof(struct Object, oSwoopTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oSwoopTargetYaw", LVT_S32, offsetof(struct Object, oSwoopTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oSyncDeath", LVT_U32, offsetof(struct Object, oSyncDeath), false, LOT_NONE, 1, sizeof(u32) }, - { "oSyncID", LVT_U32, offsetof(struct Object, oSyncID), true, LOT_NONE, 1, sizeof(u32) }, - { "oTTC2DRotatorIncrement", LVT_S32, offsetof(struct Object, oTTC2DRotatorIncrement), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTC2DRotatorMinTimeUntilNextTurn", LVT_S32, offsetof(struct Object, oTTC2DRotatorMinTimeUntilNextTurn), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTC2DRotatorRandomDirTimer", LVT_S32, offsetof(struct Object, oTTC2DRotatorRandomDirTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTC2DRotatorSpeed", LVT_S32, offsetof(struct Object, oTTC2DRotatorSpeed), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTC2DRotatorTargetYaw", LVT_S32, offsetof(struct Object, oTTC2DRotatorTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCChangeDirTimer", LVT_S32, offsetof(struct Object, oTTCChangeDirTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCCogDir", LVT_F32, offsetof(struct Object, oTTCCogDir), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCCogSpeed", LVT_F32, offsetof(struct Object, oTTCCogSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCCogTargetVel", LVT_F32, offsetof(struct Object, oTTCCogTargetVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCElevatorDir", LVT_F32, offsetof(struct Object, oTTCElevatorDir), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCElevatorMoveTime", LVT_S32, offsetof(struct Object, oTTCElevatorMoveTime), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCElevatorPeakY", LVT_F32, offsetof(struct Object, oTTCElevatorPeakY), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCMovingBarDelay", LVT_S32, offsetof(struct Object, oTTCMovingBarDelay), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCMovingBarOffset", LVT_F32, offsetof(struct Object, oTTCMovingBarOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCMovingBarSpeed", LVT_F32, offsetof(struct Object, oTTCMovingBarSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCMovingBarStartOffset", LVT_F32, offsetof(struct Object, oTTCMovingBarStartOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCMovingBarStoppedTimer", LVT_S32, offsetof(struct Object, oTTCMovingBarStoppedTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCPendulumAccelDir", LVT_F32, offsetof(struct Object, oTTCPendulumAccelDir), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCPendulumAngle", LVT_F32, offsetof(struct Object, oTTCPendulumAngle), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCPendulumAngleAccel", LVT_F32, offsetof(struct Object, oTTCPendulumAngleAccel), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCPendulumAngleVel", LVT_F32, offsetof(struct Object, oTTCPendulumAngleVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCPendulumDelay", LVT_S32, offsetof(struct Object, oTTCPendulumDelay), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCPendulumSoundTimer", LVT_S32, offsetof(struct Object, oTTCPendulumSoundTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCPitBlockDir", LVT_S32, offsetof(struct Object, oTTCPitBlockDir), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCPitBlockPeakY", LVT_F32, offsetof(struct Object, oTTCPitBlockPeakY), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCPitBlockWaitTime", LVT_S32, offsetof(struct Object, oTTCPitBlockWaitTime), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCRotatingSolidNumSides", LVT_S32, offsetof(struct Object, oTTCRotatingSolidNumSides), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCRotatingSolidNumTurns", LVT_S32, offsetof(struct Object, oTTCRotatingSolidNumTurns), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCRotatingSolidRotationDelay", LVT_S32, offsetof(struct Object, oTTCRotatingSolidRotationDelay), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCRotatingSolidSoundTimer", LVT_S32, offsetof(struct Object, oTTCRotatingSolidSoundTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCRotatingSolidVelY", LVT_F32, offsetof(struct Object, oTTCRotatingSolidVelY), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCSpinnerDir", LVT_S32, offsetof(struct Object, oTTCSpinnerDir), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCTreadmillBigSurface", LVT_S16_P, offsetof(struct Object, oTTCTreadmillBigSurface), true, LOT_POINTER, 1, sizeof(s16*) }, - { "oTTCTreadmillSmallSurface", LVT_S16_P, offsetof(struct Object, oTTCTreadmillSmallSurface), true, LOT_POINTER, 1, sizeof(s16*) }, - { "oTTCTreadmillSpeed", LVT_F32, offsetof(struct Object, oTTCTreadmillSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCTreadmillTargetSpeed", LVT_F32, offsetof(struct Object, oTTCTreadmillTargetSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCTreadmillTimeUntilSwitch", LVT_S32, offsetof(struct Object, oTTCTreadmillTimeUntilSwitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oThwompRandomTimer", LVT_S32, offsetof(struct Object, oThwompRandomTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTiltingPyramidMarioOnPlatform", LVT_S32, offsetof(struct Object, oTiltingPyramidMarioOnPlatform), false, LOT_NONE, 1, sizeof(s32) }, - { "oTiltingPyramidNormalX", LVT_F32, offsetof(struct Object, oTiltingPyramidNormalX), false, LOT_NONE, 1, sizeof(f32) }, - { "oTiltingPyramidNormalY", LVT_F32, offsetof(struct Object, oTiltingPyramidNormalY), false, LOT_NONE, 1, sizeof(f32) }, - { "oTiltingPyramidNormalZ", LVT_F32, offsetof(struct Object, oTiltingPyramidNormalZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oTimer", LVT_S32, offsetof(struct Object, oTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oToadMessageDialogId", LVT_S32, offsetof(struct Object, oToadMessageDialogId), false, LOT_NONE, 1, sizeof(s32) }, - { "oToadMessageRecentlyTalked", LVT_S32, offsetof(struct Object, oToadMessageRecentlyTalked), false, LOT_NONE, 1, sizeof(s32) }, - { "oToadMessageState", LVT_S32, offsetof(struct Object, oToadMessageState), false, LOT_NONE, 1, sizeof(s32) }, -// { "oToxBoxMovementPattern", LVT_???, offsetof(struct Object, oToxBoxMovementPattern), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED - { "oToxBoxMovementStep", LVT_S32, offsetof(struct Object, oToxBoxMovementStep), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreasureChestCurrentAnswer", LVT_S32, offsetof(struct Object, oTreasureChestCurrentAnswer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreasureChestIsAboveWater", LVT_S32, offsetof(struct Object, oTreasureChestIsAboveWater), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreasureChestIsLastInteractionIncorrect", LVT_S32, offsetof(struct Object, oTreasureChestIsLastInteractionIncorrect), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreasureChestLastNetworkPlayerIndex", LVT_S16, offsetof(struct Object, oTreasureChestLastNetworkPlayerIndex), false, LOT_NONE, 1, sizeof(s16) }, - { "oTreasureChestSound", LVT_S32, offsetof(struct Object, oTreasureChestSound), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreeSnowOrLeafUnkF4", LVT_S32, offsetof(struct Object, oTreeSnowOrLeafUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreeSnowOrLeafUnkF8", LVT_S32, offsetof(struct Object, oTreeSnowOrLeafUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreeSnowOrLeafUnkFC", LVT_S32, offsetof(struct Object, oTreeSnowOrLeafUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oTripletButterflyBaseYaw", LVT_F32, offsetof(struct Object, oTripletButterflyBaseYaw), false, LOT_NONE, 1, sizeof(f32) }, - { "oTripletButterflyModel", LVT_S32, offsetof(struct Object, oTripletButterflyModel), false, LOT_NONE, 1, sizeof(s32) }, - { "oTripletButterflyScale", LVT_F32, offsetof(struct Object, oTripletButterflyScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oTripletButterflyScalePhase", LVT_S32, offsetof(struct Object, oTripletButterflyScalePhase), false, LOT_NONE, 1, sizeof(s32) }, - { "oTripletButterflySelectedButterfly", LVT_S32, offsetof(struct Object, oTripletButterflySelectedButterfly), false, LOT_NONE, 1, sizeof(s32) }, - { "oTripletButterflySpeed", LVT_F32, offsetof(struct Object, oTripletButterflySpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oTripletButterflyTargetPitch", LVT_S32, offsetof(struct Object, oTripletButterflyTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oTripletButterflyTargetYaw", LVT_S32, offsetof(struct Object, oTripletButterflyTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oTripletButterflyType", LVT_S32, offsetof(struct Object, oTripletButterflyType), false, LOT_NONE, 1, sizeof(s32) }, - { "oTumblingBridgeUnkF4", LVT_S32, offsetof(struct Object, oTumblingBridgeUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oTweesterScaleTimer", LVT_S32, offsetof(struct Object, oTweesterScaleTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTweesterUnused", LVT_S32, offsetof(struct Object, oTweesterUnused), false, LOT_NONE, 1, sizeof(s32) }, - { "oUkikiCageNextAction", LVT_S32, offsetof(struct Object, oUkikiCageNextAction), false, LOT_NONE, 1, sizeof(s32) }, - { "oUkikiCageSpinTimer", LVT_S16, offsetof(struct Object, oUkikiCageSpinTimer), false, LOT_NONE, 1, sizeof(s16) }, - { "oUkikiChaseFleeRange", LVT_F32, offsetof(struct Object, oUkikiChaseFleeRange), false, LOT_NONE, 1, sizeof(f32) }, - { "oUkikiHasCap", LVT_S16, offsetof(struct Object, oUkikiHasCap), false, LOT_NONE, 1, sizeof(s16) }, - { "oUkikiTauntCounter", LVT_S16, offsetof(struct Object, oUkikiTauntCounter), false, LOT_NONE, 1, sizeof(s16) }, - { "oUkikiTauntsToBeDone", LVT_S16, offsetof(struct Object, oUkikiTauntsToBeDone), false, LOT_NONE, 1, sizeof(s16) }, - { "oUkikiTextState", LVT_S16, offsetof(struct Object, oUkikiTextState), false, LOT_NONE, 1, sizeof(s16) }, - { "oUkikiTextboxTimer", LVT_S16, offsetof(struct Object, oUkikiTextboxTimer), false, LOT_NONE, 1, sizeof(s16) }, - { "oUnagiUnk110", LVT_F32, offsetof(struct Object, oUnagiUnk110), false, LOT_NONE, 1, sizeof(f32) }, - { "oUnagiUnk1AC", LVT_F32, offsetof(struct Object, oUnagiUnk1AC), false, LOT_NONE, 1, sizeof(f32) }, - { "oUnagiUnk1B0", LVT_S16, offsetof(struct Object, oUnagiUnk1B0), false, LOT_NONE, 1, sizeof(s16) }, - { "oUnagiUnk1B2", LVT_S16, offsetof(struct Object, oUnagiUnk1B2), false, LOT_NONE, 1, sizeof(s16) }, - { "oUnagiUnkF4", LVT_F32, offsetof(struct Object, oUnagiUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oUnagiUnkF8", LVT_F32, offsetof(struct Object, oUnagiUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oUnk1A8", LVT_U32, offsetof(struct Object, oUnk1A8), false, LOT_NONE, 1, sizeof(u32) }, - { "oUnk94", LVT_U32, offsetof(struct Object, oUnk94), false, LOT_NONE, 1, sizeof(u32) }, - { "oUnkBC", LVT_F32, offsetof(struct Object, oUnkBC), false, LOT_NONE, 1, sizeof(f32) }, - { "oUnkC0", LVT_F32, offsetof(struct Object, oUnkC0), false, LOT_NONE, 1, sizeof(f32) }, - { "oUnlockDoorStarState", LVT_U32, offsetof(struct Object, oUnlockDoorStarState), false, LOT_NONE, 1, sizeof(u32) }, - { "oUnlockDoorStarTimer", LVT_S32, offsetof(struct Object, oUnlockDoorStarTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oUnlockDoorStarYawVel", LVT_S32, offsetof(struct Object, oUnlockDoorStarYawVel), false, LOT_NONE, 1, sizeof(s32) }, - { "oVelX", LVT_F32, offsetof(struct Object, oVelX), false, LOT_NONE, 1, sizeof(f32) }, - { "oVelY", LVT_F32, offsetof(struct Object, oVelY), false, LOT_NONE, 1, sizeof(f32) }, - { "oVelZ", LVT_F32, offsetof(struct Object, oVelZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oWFSlidBrickPtfmMovVel", LVT_F32, offsetof(struct Object, oWFSlidBrickPtfmMovVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oWallAngle", LVT_S32, offsetof(struct Object, oWallAngle), false, LOT_NONE, 1, sizeof(s32) }, - { "oWallHitboxRadius", LVT_F32, offsetof(struct Object, oWallHitboxRadius), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterBombNumBounces", LVT_F32, offsetof(struct Object, oWaterBombNumBounces), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterBombOnGround", LVT_S32, offsetof(struct Object, oWaterBombOnGround), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterBombSpawnerBombActive", LVT_S32, offsetof(struct Object, oWaterBombSpawnerBombActive), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterBombSpawnerTimeToSpawn", LVT_S32, offsetof(struct Object, oWaterBombSpawnerTimeToSpawn), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterBombStretchSpeed", LVT_F32, offsetof(struct Object, oWaterBombStretchSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterBombVerticalStretch", LVT_F32, offsetof(struct Object, oWaterBombVerticalStretch), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterCannonUnk100", LVT_S32, offsetof(struct Object, oWaterCannonUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterCannonUnkF4", LVT_S32, offsetof(struct Object, oWaterCannonUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterCannonUnkF8", LVT_S32, offsetof(struct Object, oWaterCannonUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterCannonUnkFC", LVT_S32, offsetof(struct Object, oWaterCannonUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterLevelPillarDrained", LVT_S32, offsetof(struct Object, oWaterLevelPillarDrained), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterLevelTriggerTargetWaterLevel", LVT_S32, offsetof(struct Object, oWaterLevelTriggerTargetWaterLevel), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterLevelTriggerUnkF4", LVT_S32, offsetof(struct Object, oWaterLevelTriggerUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterObjUnk100", LVT_S32, offsetof(struct Object, oWaterObjUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterObjUnkF4", LVT_S32, offsetof(struct Object, oWaterObjUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterObjUnkF8", LVT_S32, offsetof(struct Object, oWaterObjUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterObjUnkFC", LVT_S32, offsetof(struct Object, oWaterObjUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingAvgScale", LVT_F32, offsetof(struct Object, oWaterRingAvgScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterRingIndex", LVT_S32, offsetof(struct Object, oWaterRingIndex), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingMarioDistInFront", LVT_F32, offsetof(struct Object, oWaterRingMarioDistInFront), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterRingMgrLastRingCollected", LVT_S32, offsetof(struct Object, oWaterRingMgrLastRingCollected), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingMgrNextRingIndex", LVT_S32, offsetof(struct Object, oWaterRingMgrNextRingIndex), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingNormalX", LVT_F32, offsetof(struct Object, oWaterRingNormalX), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterRingNormalY", LVT_F32, offsetof(struct Object, oWaterRingNormalY), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterRingNormalZ", LVT_F32, offsetof(struct Object, oWaterRingNormalZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterRingScalePhaseX", LVT_S32, offsetof(struct Object, oWaterRingScalePhaseX), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingScalePhaseY", LVT_S32, offsetof(struct Object, oWaterRingScalePhaseY), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingScalePhaseZ", LVT_S32, offsetof(struct Object, oWaterRingScalePhaseZ), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingSpawnerRingsCollected", LVT_S32, offsetof(struct Object, oWaterRingSpawnerRingsCollected), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaveTrailSize", LVT_F32, offsetof(struct Object, oWaveTrailSize), false, LOT_NONE, 1, sizeof(f32) }, - { "oWhirlpoolInitFacePitch", LVT_S32, offsetof(struct Object, oWhirlpoolInitFacePitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oWhirlpoolInitFaceRoll", LVT_S32, offsetof(struct Object, oWhirlpoolInitFaceRoll), false, LOT_NONE, 1, sizeof(s32) }, - { "oWhirlpoolTimeout", LVT_S32, offsetof(struct Object, oWhirlpoolTimeout), false, LOT_NONE, 1, sizeof(s32) }, - { "oWhitePuffUnkF4", LVT_F32, offsetof(struct Object, oWhitePuffUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oWhitePuffUnkF8", LVT_S32, offsetof(struct Object, oWhitePuffUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oWhitePuffUnkFC", LVT_S32, offsetof(struct Object, oWhitePuffUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oWhompShakeVal", LVT_S32, offsetof(struct Object, oWhompShakeVal), false, LOT_NONE, 1, sizeof(s32) }, - { "oWigglerFallThroughFloorsHeight", LVT_F32, offsetof(struct Object, oWigglerFallThroughFloorsHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "oWigglerSegments", LVT_COBJECT_P, offsetof(struct Object, oWigglerSegments), true, LOT_CHAINSEGMENT, 1, sizeof(struct ChainSegment*) }, - { "oWigglerSquishSpeed", LVT_F32, offsetof(struct Object, oWigglerSquishSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oWigglerTargetYaw", LVT_S32, offsetof(struct Object, oWigglerTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oWigglerTextStatus", LVT_S16, offsetof(struct Object, oWigglerTextStatus), false, LOT_NONE, 1, sizeof(s16) }, - { "oWigglerTimeUntilRandomTurn", LVT_S32, offsetof(struct Object, oWigglerTimeUntilRandomTurn), false, LOT_NONE, 1, sizeof(s32) }, - { "oWigglerUnused", LVT_S16, offsetof(struct Object, oWigglerUnused), false, LOT_NONE, 1, sizeof(s16) }, - { "oWigglerWalkAnimSpeed", LVT_F32, offsetof(struct Object, oWigglerWalkAnimSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oWigglerWalkAwayFromWallTimer", LVT_S32, offsetof(struct Object, oWigglerWalkAwayFromWallTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oWoodenPostMarioPounding", LVT_S32, offsetof(struct Object, oWoodenPostMarioPounding), false, LOT_NONE, 1, sizeof(s32) }, - { "oWoodenPostOffsetY", LVT_F32, offsetof(struct Object, oWoodenPostOffsetY), false, LOT_NONE, 1, sizeof(f32) }, - { "oWoodenPostPrevAngleToMario", LVT_S32, offsetof(struct Object, oWoodenPostPrevAngleToMario), false, LOT_NONE, 1, sizeof(s32) }, - { "oWoodenPostSpeedY", LVT_F32, offsetof(struct Object, oWoodenPostSpeedY), false, LOT_NONE, 1, sizeof(f32) }, - { "oWoodenPostTotalMarioAngle", LVT_S32, offsetof(struct Object, oWoodenPostTotalMarioAngle), false, LOT_NONE, 1, sizeof(s32) }, - { "oYoshiBlinkTimer", LVT_S32, offsetof(struct Object, oYoshiBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oYoshiChosenHome", LVT_S32, offsetof(struct Object, oYoshiChosenHome), false, LOT_NONE, 1, sizeof(s32) }, - { "oYoshiTargetYaw", LVT_S32, offsetof(struct Object, oYoshiTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "parentObj", LVT_COBJECT_P, offsetof(struct Object, parentObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "platform", LVT_COBJECT_P, offsetof(struct Object, platform), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "prevObj", LVT_COBJECT_P, offsetof(struct Object, prevObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, -// { "ptrData", LVT_???, offsetof(struct Object, ptrData), false, LOT_???, 1, sizeof(union { ... }) }, <--- UNIMPLEMENTED -// { "rawData", LVT_???, offsetof(struct Object, rawData), false, LOT_???, 1, sizeof(union { ... }) }, <--- UNIMPLEMENTED -// { "respawnInfo", LVT_???, offsetof(struct Object, respawnInfo), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED - { "respawnInfoType", LVT_S16, offsetof(struct Object, respawnInfoType), true, LOT_NONE, 1, sizeof(s16) }, - { "setHome", LVT_U8, offsetof(struct Object, setHome), false, LOT_NONE, 1, sizeof(u8) }, - { "transform", LVT_COBJECT, offsetof(struct Object, transform), true, LOT_MAT4, 1, sizeof(Mat4) }, - { "unused1", LVT_U32, offsetof(struct Object, unused1), false, LOT_NONE, 1, sizeof(u32) }, - { "usingObj", LVT_COBJECT_P, offsetof(struct Object, usingObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "oCoinUnkF4", LVT_S32, offsetof(struct Object, oCoinUnkF4), false, LOT_NONE }, + { "oCoinUnkF8", LVT_S32, offsetof(struct Object, oCoinUnkF8), false, LOT_NONE }, + { "oCollisionDistance", LVT_F32, offsetof(struct Object, oCollisionDistance), false, LOT_NONE }, + { "oCollisionParticleUnkF4", LVT_F32, offsetof(struct Object, oCollisionParticleUnkF4), false, LOT_NONE }, + { "oControllablePlatformUnk100", LVT_S32, offsetof(struct Object, oControllablePlatformUnk100), false, LOT_NONE }, + { "oControllablePlatformUnkF8", LVT_S32, offsetof(struct Object, oControllablePlatformUnkF8), false, LOT_NONE }, + { "oControllablePlatformUnkFC", LVT_F32, offsetof(struct Object, oControllablePlatformUnkFC), false, LOT_NONE }, + { "oDDDPoleMaxOffset", LVT_F32, offsetof(struct Object, oDDDPoleMaxOffset), false, LOT_NONE }, + { "oDDDPoleOffset", LVT_F32, offsetof(struct Object, oDDDPoleOffset), false, LOT_NONE }, + { "oDDDPoleVel", LVT_F32, offsetof(struct Object, oDDDPoleVel), false, LOT_NONE }, + { "oDamageOrCoinValue", LVT_S32, offsetof(struct Object, oDamageOrCoinValue), false, LOT_NONE }, + { "oDeathSound", LVT_S32, offsetof(struct Object, oDeathSound), false, LOT_NONE }, + { "oDialogResponse", LVT_S16, offsetof(struct Object, oDialogResponse), false, LOT_NONE }, + { "oDialogState", LVT_S16, offsetof(struct Object, oDialogState), false, LOT_NONE }, + { "oDistanceToMario", LVT_F32, offsetof(struct Object, oDistanceToMario), false, LOT_NONE }, + { "oDonutPlatformSpawnerSpawnedPlatforms", LVT_S32, offsetof(struct Object, oDonutPlatformSpawnerSpawnedPlatforms), false, LOT_NONE }, + { "oDoorUnk100", LVT_S32, offsetof(struct Object, oDoorUnk100), false, LOT_NONE }, + { "oDoorUnk88", LVT_S32, offsetof(struct Object, oDoorUnk88), false, LOT_NONE }, + { "oDoorUnkF8", LVT_S32, offsetof(struct Object, oDoorUnkF8), false, LOT_NONE }, + { "oDoorUnkFC", LVT_S32, offsetof(struct Object, oDoorUnkFC), false, LOT_NONE }, + { "oDorrieAngleToHome", LVT_S16, offsetof(struct Object, oDorrieAngleToHome), false, LOT_NONE }, + { "oDorrieDistToHome", LVT_F32, offsetof(struct Object, oDorrieDistToHome), false, LOT_NONE }, + { "oDorrieForwardDistToMario", LVT_F32, offsetof(struct Object, oDorrieForwardDistToMario), false, LOT_NONE }, + { "oDorrieGroundPounded", LVT_S16, offsetof(struct Object, oDorrieGroundPounded), false, LOT_NONE }, + { "oDorrieHeadRaiseSpeed", LVT_S16, offsetof(struct Object, oDorrieHeadRaiseSpeed), false, LOT_NONE }, + { "oDorrieLiftingMario", LVT_S32, offsetof(struct Object, oDorrieLiftingMario), false, LOT_NONE }, + { "oDorrieNeckAngle", LVT_S16, offsetof(struct Object, oDorrieNeckAngle), false, LOT_NONE }, + { "oDorrieOffsetY", LVT_F32, offsetof(struct Object, oDorrieOffsetY), false, LOT_NONE }, + { "oDorrieVelY", LVT_F32, offsetof(struct Object, oDorrieVelY), false, LOT_NONE }, + { "oDorrieYawVel", LVT_S32, offsetof(struct Object, oDorrieYawVel), false, LOT_NONE }, + { "oDragStrength", LVT_F32, offsetof(struct Object, oDragStrength), false, LOT_NONE }, + { "oDrawingDistance", LVT_F32, offsetof(struct Object, oDrawingDistance), false, LOT_NONE }, + { "oElevatorUnk100", LVT_S32, offsetof(struct Object, oElevatorUnk100), false, LOT_NONE }, + { "oElevatorUnkF4", LVT_F32, offsetof(struct Object, oElevatorUnkF4), false, LOT_NONE }, + { "oElevatorUnkF8", LVT_F32, offsetof(struct Object, oElevatorUnkF8), false, LOT_NONE }, + { "oElevatorUnkFC", LVT_F32, offsetof(struct Object, oElevatorUnkFC), false, LOT_NONE }, + { "oEndBirdUnk104", LVT_F32, offsetof(struct Object, oEndBirdUnk104), false, LOT_NONE }, + { "oEnemyLakituBlinkTimer", LVT_S32, offsetof(struct Object, oEnemyLakituBlinkTimer), false, LOT_NONE }, + { "oEnemyLakituFaceForwardCountdown", LVT_S32, offsetof(struct Object, oEnemyLakituFaceForwardCountdown), false, LOT_NONE }, + { "oEnemyLakituNumSpinies", LVT_S32, offsetof(struct Object, oEnemyLakituNumSpinies), false, LOT_NONE }, + { "oEnemyLakituSpinyCooldown", LVT_S32, offsetof(struct Object, oEnemyLakituSpinyCooldown), false, LOT_NONE }, + { "oExclamationBoxForce", LVT_S32, offsetof(struct Object, oExclamationBoxForce), false, LOT_NONE }, + { "oExclamationBoxUnkF4", LVT_F32, offsetof(struct Object, oExclamationBoxUnkF4), false, LOT_NONE }, + { "oExclamationBoxUnkF8", LVT_F32, offsetof(struct Object, oExclamationBoxUnkF8), false, LOT_NONE }, + { "oExclamationBoxUnkFC", LVT_S32, offsetof(struct Object, oExclamationBoxUnkFC), false, LOT_NONE }, + { "oEyerokBossActiveHand", LVT_S32, offsetof(struct Object, oEyerokBossActiveHand), false, LOT_NONE }, + { "oEyerokBossNumHands", LVT_S32, offsetof(struct Object, oEyerokBossNumHands), false, LOT_NONE }, + { "oEyerokBossUnk104", LVT_S32, offsetof(struct Object, oEyerokBossUnk104), false, LOT_NONE }, + { "oEyerokBossUnk108", LVT_F32, offsetof(struct Object, oEyerokBossUnk108), false, LOT_NONE }, + { "oEyerokBossUnk10C", LVT_F32, offsetof(struct Object, oEyerokBossUnk10C), false, LOT_NONE }, + { "oEyerokBossUnk110", LVT_F32, offsetof(struct Object, oEyerokBossUnk110), false, LOT_NONE }, + { "oEyerokBossUnk1AC", LVT_S32, offsetof(struct Object, oEyerokBossUnk1AC), false, LOT_NONE }, + { "oEyerokBossUnkFC", LVT_S32, offsetof(struct Object, oEyerokBossUnkFC), false, LOT_NONE }, + { "oEyerokHandDead", LVT_S32, offsetof(struct Object, oEyerokHandDead), false, LOT_NONE }, + { "oEyerokHandUnk100", LVT_S32, offsetof(struct Object, oEyerokHandUnk100), false, LOT_NONE }, + { "oEyerokHandUnkFC", LVT_S32, offsetof(struct Object, oEyerokHandUnkFC), false, LOT_NONE }, + { "oEyerokHandWakeUpTimer", LVT_S32, offsetof(struct Object, oEyerokHandWakeUpTimer), false, LOT_NONE }, + { "oEyerokReceivedAttack", LVT_S32, offsetof(struct Object, oEyerokReceivedAttack), false, LOT_NONE }, + { "oFaceAnglePitch", LVT_S32, offsetof(struct Object, oFaceAnglePitch), false, LOT_NONE }, + { "oFaceAngleRoll", LVT_S32, offsetof(struct Object, oFaceAngleRoll), false, LOT_NONE }, + { "oFaceAngleYaw", LVT_S32, offsetof(struct Object, oFaceAngleYaw), false, LOT_NONE }, + { "oFallingPillarPitchAcceleration", LVT_F32, offsetof(struct Object, oFallingPillarPitchAcceleration), false, LOT_NONE }, + { "oFirePiranhaPlantActive", LVT_S32, offsetof(struct Object, oFirePiranhaPlantActive), false, LOT_NONE }, + { "oFirePiranhaPlantDeathSpinTimer", LVT_S32, offsetof(struct Object, oFirePiranhaPlantDeathSpinTimer), false, LOT_NONE }, + { "oFirePiranhaPlantDeathSpinVel", LVT_F32, offsetof(struct Object, oFirePiranhaPlantDeathSpinVel), false, LOT_NONE }, + { "oFirePiranhaPlantNeutralScale", LVT_F32, offsetof(struct Object, oFirePiranhaPlantNeutralScale), false, LOT_NONE }, + { "oFirePiranhaPlantScale", LVT_F32, offsetof(struct Object, oFirePiranhaPlantScale), false, LOT_NONE }, + { "oFireSpitterLastWaterY", LVT_F32, offsetof(struct Object, oFireSpitterLastWaterY), false, LOT_NONE }, + { "oFireSpitterScaleVel", LVT_F32, offsetof(struct Object, oFireSpitterScaleVel), false, LOT_NONE }, + { "oFishActiveDistance", LVT_F32, offsetof(struct Object, oFishActiveDistance), false, LOT_NONE }, + { "oFishDepthDistance", LVT_F32, offsetof(struct Object, oFishDepthDistance), false, LOT_NONE }, + { "oFishGoalVel", LVT_F32, offsetof(struct Object, oFishGoalVel), false, LOT_NONE }, + { "oFishGoalY", LVT_F32, offsetof(struct Object, oFishGoalY), false, LOT_NONE }, + { "oFishHeightOffset", LVT_F32, offsetof(struct Object, oFishHeightOffset), false, LOT_NONE }, + { "oFishRoamDistance", LVT_F32, offsetof(struct Object, oFishRoamDistance), false, LOT_NONE }, + { "oFishWaterLevel", LVT_F32, offsetof(struct Object, oFishWaterLevel), false, LOT_NONE }, + { "oFishYawVel", LVT_S32, offsetof(struct Object, oFishYawVel), false, LOT_NONE }, + { "oFlags", LVT_U32, offsetof(struct Object, oFlags), false, LOT_NONE }, + { "oFlameBowser", LVT_COBJECT_P, offsetof(struct Object, oFlameBowser), false, LOT_OBJECT }, + { "oFlameScale", LVT_F32, offsetof(struct Object, oFlameScale), false, LOT_NONE }, + { "oFlameSpeedTimerOffset", LVT_S32, offsetof(struct Object, oFlameSpeedTimerOffset), false, LOT_NONE }, + { "oFlameThowerFlameUnk110", LVT_S32, offsetof(struct Object, oFlameThowerFlameUnk110), false, LOT_NONE }, + { "oFlameThowerUnk110", LVT_S32, offsetof(struct Object, oFlameThowerUnk110), false, LOT_NONE }, + { "oFlameUnkFC", LVT_F32, offsetof(struct Object, oFlameUnkFC), false, LOT_NONE }, + { "oFloatingPlatformUnk100", LVT_S32, offsetof(struct Object, oFloatingPlatformUnk100), false, LOT_NONE }, + { "oFloatingPlatformUnkF4", LVT_S32, offsetof(struct Object, oFloatingPlatformUnkF4), false, LOT_NONE }, + { "oFloatingPlatformUnkF8", LVT_F32, offsetof(struct Object, oFloatingPlatformUnkF8), false, LOT_NONE }, + { "oFloatingPlatformUnkFC", LVT_F32, offsetof(struct Object, oFloatingPlatformUnkFC), false, LOT_NONE }, + { "oFloor", LVT_COBJECT_P, offsetof(struct Object, oFloor), false, LOT_SURFACE }, + { "oFloorHeight", LVT_F32, offsetof(struct Object, oFloorHeight), false, LOT_NONE }, + { "oFloorRoom", LVT_S16, offsetof(struct Object, oFloorRoom), false, LOT_NONE }, + { "oFloorSwitchPressAnimationUnk100", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnk100), false, LOT_NONE }, + { "oFloorSwitchPressAnimationUnkF4", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnkF4), false, LOT_NONE }, + { "oFloorSwitchPressAnimationUnkF8", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnkF8), false, LOT_NONE }, + { "oFloorSwitchPressAnimationUnkFC", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnkFC), false, LOT_NONE }, + { "oFloorType", LVT_S16, offsetof(struct Object, oFloorType), false, LOT_NONE }, + { "oFlyGuyIdleTimer", LVT_S32, offsetof(struct Object, oFlyGuyIdleTimer), false, LOT_NONE }, + { "oFlyGuyLungeTargetPitch", LVT_S32, offsetof(struct Object, oFlyGuyLungeTargetPitch), false, LOT_NONE }, + { "oFlyGuyLungeYDecel", LVT_F32, offsetof(struct Object, oFlyGuyLungeYDecel), false, LOT_NONE }, + { "oFlyGuyOscTimer", LVT_S32, offsetof(struct Object, oFlyGuyOscTimer), false, LOT_NONE }, + { "oFlyGuyScaleVel", LVT_F32, offsetof(struct Object, oFlyGuyScaleVel), false, LOT_NONE }, + { "oFlyGuyTargetRoll", LVT_S32, offsetof(struct Object, oFlyGuyTargetRoll), false, LOT_NONE }, + { "oFlyGuyUnusedJitter", LVT_S32, offsetof(struct Object, oFlyGuyUnusedJitter), false, LOT_NONE }, + { "oForwardVel", LVT_F32, offsetof(struct Object, oForwardVel), false, LOT_NONE }, + { "oForwardVelS32", LVT_S32, offsetof(struct Object, oForwardVelS32), false, LOT_NONE }, + { "oFriction", LVT_F32, offsetof(struct Object, oFriction), false, LOT_NONE }, + { "oGoombaBlinkTimer", LVT_S32, offsetof(struct Object, oGoombaBlinkTimer), false, LOT_NONE }, + { "oGoombaJumpCooldown", LVT_U32, offsetof(struct Object, oGoombaJumpCooldown), false, LOT_NONE }, + { "oGoombaRelativeSpeed", LVT_F32, offsetof(struct Object, oGoombaRelativeSpeed), false, LOT_NONE }, + { "oGoombaScale", LVT_F32, offsetof(struct Object, oGoombaScale), false, LOT_NONE }, + { "oGoombaSize", LVT_S32, offsetof(struct Object, oGoombaSize), false, LOT_NONE }, + { "oGoombaTargetYaw", LVT_S32, offsetof(struct Object, oGoombaTargetYaw), false, LOT_NONE }, + { "oGoombaTurningAwayFromWall", LVT_S32, offsetof(struct Object, oGoombaTurningAwayFromWall), false, LOT_NONE }, + { "oGoombaWalkTimer", LVT_S32, offsetof(struct Object, oGoombaWalkTimer), false, LOT_NONE }, + { "oGrandStarUnk108", LVT_S32, offsetof(struct Object, oGrandStarUnk108), false, LOT_NONE }, + { "oGraphYOffset", LVT_F32, offsetof(struct Object, oGraphYOffset), false, LOT_NONE }, + { "oGravity", LVT_F32, offsetof(struct Object, oGravity), false, LOT_NONE }, + { "oHauntedBookshelfShouldOpen", LVT_S32, offsetof(struct Object, oHauntedBookshelfShouldOpen), false, LOT_NONE }, + { "oHauntedChairUnk100", LVT_S32_P, offsetof(struct Object, oHauntedChairUnk100), true, LOT_POINTER }, + { "oHauntedChairUnk104", LVT_S32, offsetof(struct Object, oHauntedChairUnk104), false, LOT_NONE }, + { "oHauntedChairUnkF4", LVT_S32, offsetof(struct Object, oHauntedChairUnkF4), false, LOT_NONE }, + { "oHauntedChairUnkF8", LVT_F32, offsetof(struct Object, oHauntedChairUnkF8), false, LOT_NONE }, + { "oHauntedChairUnkFC", LVT_F32, offsetof(struct Object, oHauntedChairUnkFC), false, LOT_NONE }, + { "oHealth", LVT_S32, offsetof(struct Object, oHealth), false, LOT_NONE }, + { "oHeaveHoUnk88", LVT_S32, offsetof(struct Object, oHeaveHoUnk88), false, LOT_NONE }, + { "oHeaveHoUnkF4", LVT_F32, offsetof(struct Object, oHeaveHoUnkF4), false, LOT_NONE }, + { "oHeldState", LVT_U32, offsetof(struct Object, oHeldState), false, LOT_NONE }, + { "oHiddenBlueCoinSwitch", LVT_COBJECT_P, offsetof(struct Object, oHiddenBlueCoinSwitch), false, LOT_OBJECT }, + { "oHiddenObjectUnkF4", LVT_COBJECT_P, offsetof(struct Object, oHiddenObjectUnkF4), false, LOT_OBJECT }, +// { "oHiddenStarLastInteractedObject", LVT_???, offsetof(struct Object, oHiddenStarLastInteractedObject), false, LOT_??? }, <--- UNIMPLEMENTED + { "oHiddenStarTriggerCounter", LVT_S32, offsetof(struct Object, oHiddenStarTriggerCounter), false, LOT_NONE }, + { "oHomeX", LVT_F32, offsetof(struct Object, oHomeX), false, LOT_NONE }, + { "oHomeY", LVT_F32, offsetof(struct Object, oHomeY), false, LOT_NONE }, + { "oHomeZ", LVT_F32, offsetof(struct Object, oHomeZ), false, LOT_NONE }, + { "oHomingAmpAvgY", LVT_F32, offsetof(struct Object, oHomingAmpAvgY), false, LOT_NONE }, + { "oHomingAmpLockedOn", LVT_S32, offsetof(struct Object, oHomingAmpLockedOn), false, LOT_NONE }, + { "oHootAvailability", LVT_S32, offsetof(struct Object, oHootAvailability), false, LOT_NONE }, + { "oHootMarioReleaseTime", LVT_S32, offsetof(struct Object, oHootMarioReleaseTime), false, LOT_NONE }, + { "oHorizontalGrindelDistToHome", LVT_F32, offsetof(struct Object, oHorizontalGrindelDistToHome), false, LOT_NONE }, + { "oHorizontalGrindelOnGround", LVT_S32, offsetof(struct Object, oHorizontalGrindelOnGround), false, LOT_NONE }, + { "oHorizontalGrindelTargetYaw", LVT_S32, offsetof(struct Object, oHorizontalGrindelTargetYaw), false, LOT_NONE }, + { "oHorizontalMovementUnk100", LVT_F32, offsetof(struct Object, oHorizontalMovementUnk100), false, LOT_NONE }, + { "oHorizontalMovementUnk104", LVT_S32, offsetof(struct Object, oHorizontalMovementUnk104), false, LOT_NONE }, + { "oHorizontalMovementUnk108", LVT_F32, offsetof(struct Object, oHorizontalMovementUnk108), false, LOT_NONE }, + { "oHorizontalMovementUnkF4", LVT_S32, offsetof(struct Object, oHorizontalMovementUnkF4), false, LOT_NONE }, + { "oHorizontalMovementUnkF8", LVT_S32, offsetof(struct Object, oHorizontalMovementUnkF8), false, LOT_NONE }, + { "oIntangibleTimer", LVT_S32, offsetof(struct Object, oIntangibleTimer), false, LOT_NONE }, + { "oInteractStatus", LVT_S32, offsetof(struct Object, oInteractStatus), false, LOT_NONE }, + { "oInteractType", LVT_U32, offsetof(struct Object, oInteractType), false, LOT_NONE }, + { "oInteractionSubtype", LVT_U32, offsetof(struct Object, oInteractionSubtype), false, LOT_NONE }, + { "oIntroLakituCloud", LVT_COBJECT_P, offsetof(struct Object, oIntroLakituCloud), false, LOT_OBJECT }, + { "oIntroLakituSplineSegment", LVT_F32, offsetof(struct Object, oIntroLakituSplineSegment), false, LOT_NONE }, + { "oIntroLakituSplineSegmentProgress", LVT_F32, offsetof(struct Object, oIntroLakituSplineSegmentProgress), false, LOT_NONE }, + { "oIntroLakituUnk100", LVT_F32, offsetof(struct Object, oIntroLakituUnk100), false, LOT_NONE }, + { "oIntroLakituUnk104", LVT_F32, offsetof(struct Object, oIntroLakituUnk104), false, LOT_NONE }, + { "oIntroLakituUnk108", LVT_F32, offsetof(struct Object, oIntroLakituUnk108), false, LOT_NONE }, + { "oIntroLakituUnk10C", LVT_F32, offsetof(struct Object, oIntroLakituUnk10C), false, LOT_NONE }, + { "oIntroLakituUnk110", LVT_F32, offsetof(struct Object, oIntroLakituUnk110), false, LOT_NONE }, + { "oIntroPeachDistToCamera", LVT_F32, offsetof(struct Object, oIntroPeachDistToCamera), false, LOT_NONE }, + { "oIntroPeachPitchFromFocus", LVT_F32, offsetof(struct Object, oIntroPeachPitchFromFocus), false, LOT_NONE }, + { "oIntroPeachYawFromFocus", LVT_F32, offsetof(struct Object, oIntroPeachYawFromFocus), false, LOT_NONE }, + { "oJrbSlidingBoxUnkF4", LVT_COBJECT_P, offsetof(struct Object, oJrbSlidingBoxUnkF4), false, LOT_OBJECT }, + { "oJrbSlidingBoxUnkF8", LVT_S32, offsetof(struct Object, oJrbSlidingBoxUnkF8), false, LOT_NONE }, + { "oJrbSlidingBoxUnkFC", LVT_F32, offsetof(struct Object, oJrbSlidingBoxUnkFC), false, LOT_NONE }, + { "oJumpingBoxUnkF4", LVT_S32, offsetof(struct Object, oJumpingBoxUnkF4), false, LOT_NONE }, + { "oJumpingBoxUnkF8", LVT_S32, offsetof(struct Object, oJumpingBoxUnkF8), false, LOT_NONE }, + { "oKickableBoardF4", LVT_S32, offsetof(struct Object, oKickableBoardF4), false, LOT_NONE }, + { "oKickableBoardF8", LVT_S32, offsetof(struct Object, oKickableBoardF8), false, LOT_NONE }, + { "oKingBobombUnk100", LVT_S32, offsetof(struct Object, oKingBobombUnk100), false, LOT_NONE }, + { "oKingBobombUnk104", LVT_S32, offsetof(struct Object, oKingBobombUnk104), false, LOT_NONE }, + { "oKingBobombUnk108", LVT_S32, offsetof(struct Object, oKingBobombUnk108), false, LOT_NONE }, + { "oKingBobombUnk88", LVT_S32, offsetof(struct Object, oKingBobombUnk88), false, LOT_NONE }, + { "oKingBobombUnkF8", LVT_S32, offsetof(struct Object, oKingBobombUnkF8), false, LOT_NONE }, + { "oKingBobombUnkFC", LVT_S32, offsetof(struct Object, oKingBobombUnkFC), false, LOT_NONE }, + { "oKleptoDistanceToTarget", LVT_F32, offsetof(struct Object, oKleptoDistanceToTarget), false, LOT_NONE }, + { "oKleptoSpeed", LVT_F32, offsetof(struct Object, oKleptoSpeed), false, LOT_NONE }, + { "oKleptoStartPosX", LVT_F32, offsetof(struct Object, oKleptoStartPosX), false, LOT_NONE }, + { "oKleptoStartPosY", LVT_F32, offsetof(struct Object, oKleptoStartPosY), false, LOT_NONE }, + { "oKleptoStartPosZ", LVT_F32, offsetof(struct Object, oKleptoStartPosZ), false, LOT_NONE }, + { "oKleptoTargetNumber", LVT_S16, offsetof(struct Object, oKleptoTargetNumber), false, LOT_NONE }, + { "oKleptoTimeUntilTargetChange", LVT_S32, offsetof(struct Object, oKleptoTimeUntilTargetChange), false, LOT_NONE }, + { "oKleptoUnk1AE", LVT_S16, offsetof(struct Object, oKleptoUnk1AE), false, LOT_NONE }, + { "oKleptoUnk1B0", LVT_S16, offsetof(struct Object, oKleptoUnk1B0), false, LOT_NONE }, + { "oKleptoUnkF8", LVT_F32, offsetof(struct Object, oKleptoUnkF8), false, LOT_NONE }, + { "oKleptoUnkFC", LVT_F32, offsetof(struct Object, oKleptoUnkFC), false, LOT_NONE }, + { "oKleptoYawToTarget", LVT_S16, offsetof(struct Object, oKleptoYawToTarget), false, LOT_NONE }, + { "oKoopaAgility", LVT_F32, offsetof(struct Object, oKoopaAgility), false, LOT_NONE }, + { "oKoopaAngleToMario", LVT_S32, offsetof(struct Object, oKoopaAngleToMario), false, LOT_NONE }, + { "oKoopaBlinkTimer", LVT_S32, offsetof(struct Object, oKoopaBlinkTimer), false, LOT_NONE }, + { "oKoopaCountdown", LVT_S16, offsetof(struct Object, oKoopaCountdown), false, LOT_NONE }, + { "oKoopaDistanceToMario", LVT_F32, offsetof(struct Object, oKoopaDistanceToMario), false, LOT_NONE }, + { "oKoopaMovementType", LVT_S32, offsetof(struct Object, oKoopaMovementType), false, LOT_NONE }, + { "oKoopaRaceEndpointKoopaFinished", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointKoopaFinished), false, LOT_NONE }, + { "oKoopaRaceEndpointRaceBegun", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointRaceBegun), false, LOT_NONE }, + { "oKoopaRaceEndpointRaceEnded", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointRaceEnded), false, LOT_NONE }, + { "oKoopaRaceEndpointRaceStatus", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointRaceStatus), false, LOT_NONE }, + { "oKoopaRaceEndpointUnk100", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointUnk100), false, LOT_NONE }, + { "oKoopaShellFlameUnkF4", LVT_F32, offsetof(struct Object, oKoopaShellFlameUnkF4), false, LOT_NONE }, + { "oKoopaShellFlameUnkF8", LVT_F32, offsetof(struct Object, oKoopaShellFlameUnkF8), false, LOT_NONE }, + { "oKoopaTargetYaw", LVT_S32, offsetof(struct Object, oKoopaTargetYaw), false, LOT_NONE }, + { "oKoopaTheQuickInitTextboxCooldown", LVT_S16, offsetof(struct Object, oKoopaTheQuickInitTextboxCooldown), false, LOT_NONE }, + { "oKoopaTheQuickRaceIndex", LVT_S16, offsetof(struct Object, oKoopaTheQuickRaceIndex), false, LOT_NONE }, + { "oKoopaTurningAwayFromWall", LVT_S32, offsetof(struct Object, oKoopaTurningAwayFromWall), false, LOT_NONE }, + { "oKoopaUnshelledTimeUntilTurn", LVT_S32, offsetof(struct Object, oKoopaUnshelledTimeUntilTurn), false, LOT_NONE }, + { "oLightID", LVT_S32, offsetof(struct Object, oLightID), false, LOT_NONE }, + { "oLllRotatingHexFlameUnkF4", LVT_F32, offsetof(struct Object, oLllRotatingHexFlameUnkF4), false, LOT_NONE }, + { "oLllRotatingHexFlameUnkF8", LVT_F32, offsetof(struct Object, oLllRotatingHexFlameUnkF8), false, LOT_NONE }, + { "oLllRotatingHexFlameUnkFC", LVT_F32, offsetof(struct Object, oLllRotatingHexFlameUnkFC), false, LOT_NONE }, + { "oLllWoodPieceOscillationTimer", LVT_S32, offsetof(struct Object, oLllWoodPieceOscillationTimer), false, LOT_NONE }, + { "oMacroUnk108", LVT_F32, offsetof(struct Object, oMacroUnk108), false, LOT_NONE }, + { "oMacroUnk10C", LVT_F32, offsetof(struct Object, oMacroUnk10C), false, LOT_NONE }, + { "oMacroUnk110", LVT_F32, offsetof(struct Object, oMacroUnk110), false, LOT_NONE }, + { "oMantaTargetPitch", LVT_S32, offsetof(struct Object, oMantaTargetPitch), false, LOT_NONE }, + { "oMantaTargetYaw", LVT_S32, offsetof(struct Object, oMantaTargetYaw), false, LOT_NONE }, + { "oMarioBurnTimer", LVT_S32, offsetof(struct Object, oMarioBurnTimer), false, LOT_NONE }, + { "oMarioCannonInputYaw", LVT_S32, offsetof(struct Object, oMarioCannonInputYaw), false, LOT_NONE }, + { "oMarioCannonObjectYaw", LVT_S32, offsetof(struct Object, oMarioCannonObjectYaw), false, LOT_NONE }, + { "oMarioJumboStarCutscenePosZ", LVT_F32, offsetof(struct Object, oMarioJumboStarCutscenePosZ), false, LOT_NONE }, + { "oMarioLongJumpIsSlow", LVT_S32, offsetof(struct Object, oMarioLongJumpIsSlow), false, LOT_NONE }, + { "oMarioParticleFlags", LVT_S32, offsetof(struct Object, oMarioParticleFlags), false, LOT_NONE }, + { "oMarioPolePos", LVT_F32, offsetof(struct Object, oMarioPolePos), false, LOT_NONE }, + { "oMarioPoleUnk108", LVT_S32, offsetof(struct Object, oMarioPoleUnk108), false, LOT_NONE }, + { "oMarioPoleYawVel", LVT_S32, offsetof(struct Object, oMarioPoleYawVel), false, LOT_NONE }, + { "oMarioReadingSignDPosX", LVT_F32, offsetof(struct Object, oMarioReadingSignDPosX), false, LOT_NONE }, + { "oMarioReadingSignDPosZ", LVT_F32, offsetof(struct Object, oMarioReadingSignDPosZ), false, LOT_NONE }, + { "oMarioReadingSignDYaw", LVT_S32, offsetof(struct Object, oMarioReadingSignDYaw), false, LOT_NONE }, + { "oMarioSteepJumpYaw", LVT_S32, offsetof(struct Object, oMarioSteepJumpYaw), false, LOT_NONE }, + { "oMarioTornadoPosY", LVT_F32, offsetof(struct Object, oMarioTornadoPosY), false, LOT_NONE }, + { "oMarioTornadoYawVel", LVT_S32, offsetof(struct Object, oMarioTornadoYawVel), false, LOT_NONE }, + { "oMarioWalkingPitch", LVT_S32, offsetof(struct Object, oMarioWalkingPitch), false, LOT_NONE }, + { "oMarioWhirlpoolPosY", LVT_F32, offsetof(struct Object, oMarioWhirlpoolPosY), false, LOT_NONE }, + { "oMenuButtonActionPhase", LVT_S32, offsetof(struct Object, oMenuButtonActionPhase), false, LOT_NONE }, + { "oMenuButtonIsCustom", LVT_S32, offsetof(struct Object, oMenuButtonIsCustom), false, LOT_NONE }, + { "oMenuButtonOrigPosX", LVT_F32, offsetof(struct Object, oMenuButtonOrigPosX), false, LOT_NONE }, + { "oMenuButtonOrigPosY", LVT_F32, offsetof(struct Object, oMenuButtonOrigPosY), false, LOT_NONE }, + { "oMenuButtonOrigPosZ", LVT_F32, offsetof(struct Object, oMenuButtonOrigPosZ), false, LOT_NONE }, + { "oMenuButtonScale", LVT_F32, offsetof(struct Object, oMenuButtonScale), false, LOT_NONE }, + { "oMenuButtonState", LVT_S32, offsetof(struct Object, oMenuButtonState), false, LOT_NONE }, + { "oMenuButtonTimer", LVT_S32, offsetof(struct Object, oMenuButtonTimer), false, LOT_NONE }, + { "oMerryGoRoundBooManagerNumBoosKilled", LVT_S32, offsetof(struct Object, oMerryGoRoundBooManagerNumBoosKilled), false, LOT_NONE }, + { "oMerryGoRoundBooManagerNumBoosSpawned", LVT_S32, offsetof(struct Object, oMerryGoRoundBooManagerNumBoosSpawned), false, LOT_NONE }, + { "oMerryGoRoundMarioIsOutside", LVT_S32, offsetof(struct Object, oMerryGoRoundMarioIsOutside), false, LOT_NONE }, + { "oMerryGoRoundMusicShouldPlay", LVT_S32, offsetof(struct Object, oMerryGoRoundMusicShouldPlay), false, LOT_NONE }, + { "oMerryGoRoundStopped", LVT_S32, offsetof(struct Object, oMerryGoRoundStopped), false, LOT_NONE }, + { "oMipsForwardVelocity", LVT_F32, offsetof(struct Object, oMipsForwardVelocity), false, LOT_NONE }, + { "oMipsStarStatus", LVT_S32, offsetof(struct Object, oMipsStarStatus), false, LOT_NONE }, + { "oMipsStartWaypointIndex", LVT_S32, offsetof(struct Object, oMipsStartWaypointIndex), false, LOT_NONE }, + { "oMoneybagJumpState", LVT_S32, offsetof(struct Object, oMoneybagJumpState), false, LOT_NONE }, + { "oMontyMoleCurrentHole", LVT_COBJECT_P, offsetof(struct Object, oMontyMoleCurrentHole), false, LOT_OBJECT }, + { "oMontyMoleHeightRelativeToFloor", LVT_F32, offsetof(struct Object, oMontyMoleHeightRelativeToFloor), false, LOT_NONE }, + { "oMontyMoleHoleCooldown", LVT_S32, offsetof(struct Object, oMontyMoleHoleCooldown), false, LOT_NONE }, + { "oMontyMoleHoleX", LVT_F32, offsetof(struct Object, oMontyMoleHoleX), false, LOT_NONE }, + { "oMontyMoleHoleY", LVT_F32, offsetof(struct Object, oMontyMoleHoleY), false, LOT_NONE }, + { "oMontyMoleHoleZ", LVT_F32, offsetof(struct Object, oMontyMoleHoleZ), false, LOT_NONE }, + { "oMoveAnglePitch", LVT_S32, offsetof(struct Object, oMoveAnglePitch), false, LOT_NONE }, + { "oMoveAngleRoll", LVT_S32, offsetof(struct Object, oMoveAngleRoll), false, LOT_NONE }, + { "oMoveAngleYaw", LVT_S32, offsetof(struct Object, oMoveAngleYaw), false, LOT_NONE }, + { "oMoveFlags", LVT_U32, offsetof(struct Object, oMoveFlags), false, LOT_NONE }, + { "oMovingFlameTimer", LVT_S32, offsetof(struct Object, oMovingFlameTimer), false, LOT_NONE }, + { "oMrBlizzardChangeInDizziness", LVT_F32, offsetof(struct Object, oMrBlizzardChangeInDizziness), false, LOT_NONE }, + { "oMrBlizzardDistFromHome", LVT_S32, offsetof(struct Object, oMrBlizzardDistFromHome), false, LOT_NONE }, + { "oMrBlizzardDizziness", LVT_F32, offsetof(struct Object, oMrBlizzardDizziness), false, LOT_NONE }, + { "oMrBlizzardGraphYOffset", LVT_F32, offsetof(struct Object, oMrBlizzardGraphYOffset), false, LOT_NONE }, + { "oMrBlizzardGraphYVel", LVT_F32, offsetof(struct Object, oMrBlizzardGraphYVel), false, LOT_NONE }, + { "oMrBlizzardHeldObj", LVT_COBJECT_P, offsetof(struct Object, oMrBlizzardHeldObj), false, LOT_OBJECT }, + { "oMrBlizzardScale", LVT_F32, offsetof(struct Object, oMrBlizzardScale), false, LOT_NONE }, + { "oMrBlizzardTargetMoveYaw", LVT_S32, offsetof(struct Object, oMrBlizzardTargetMoveYaw), false, LOT_NONE }, + { "oMrBlizzardTimer", LVT_S32, offsetof(struct Object, oMrBlizzardTimer), false, LOT_NONE }, + { "oMrISize", LVT_F32, offsetof(struct Object, oMrISize), false, LOT_NONE }, + { "oMrIUnk100", LVT_S32, offsetof(struct Object, oMrIUnk100), false, LOT_NONE }, + { "oMrIUnk104", LVT_S32, offsetof(struct Object, oMrIUnk104), false, LOT_NONE }, + { "oMrIUnk108", LVT_S32, offsetof(struct Object, oMrIUnk108), false, LOT_NONE }, + { "oMrIUnk110", LVT_S32, offsetof(struct Object, oMrIUnk110), false, LOT_NONE }, + { "oMrIUnkF4", LVT_S32, offsetof(struct Object, oMrIUnkF4), false, LOT_NONE }, + { "oMrIUnkFC", LVT_S32, offsetof(struct Object, oMrIUnkFC), false, LOT_NONE }, + { "oNumLootCoins", LVT_S32, offsetof(struct Object, oNumLootCoins), false, LOT_NONE }, + { "oOpacity", LVT_S32, offsetof(struct Object, oOpacity), false, LOT_NONE }, + { "oOpenableGrillUnk88", LVT_S32, offsetof(struct Object, oOpenableGrillUnk88), false, LOT_NONE }, + { "oOpenableGrillUnkF4", LVT_COBJECT_P, offsetof(struct Object, oOpenableGrillUnkF4), false, LOT_OBJECT }, + { "oParentRelativePosX", LVT_F32, offsetof(struct Object, oParentRelativePosX), false, LOT_NONE }, + { "oParentRelativePosY", LVT_F32, offsetof(struct Object, oParentRelativePosY), false, LOT_NONE }, + { "oParentRelativePosZ", LVT_F32, offsetof(struct Object, oParentRelativePosZ), false, LOT_NONE }, + { "oPathedPrevWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedPrevWaypoint), false, LOT_WAYPOINT }, + { "oPathedPrevWaypointFlags", LVT_S32, offsetof(struct Object, oPathedPrevWaypointFlags), false, LOT_NONE }, + { "oPathedStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedStartWaypoint), false, LOT_WAYPOINT }, + { "oPathedTargetPitch", LVT_S32, offsetof(struct Object, oPathedTargetPitch), false, LOT_NONE }, + { "oPathedTargetYaw", LVT_S32, offsetof(struct Object, oPathedTargetYaw), false, LOT_NONE }, + { "oPiranhaPlantScale", LVT_F32, offsetof(struct Object, oPiranhaPlantScale), false, LOT_NONE }, + { "oPiranhaPlantSleepMusicState", LVT_S32, offsetof(struct Object, oPiranhaPlantSleepMusicState), false, LOT_NONE }, + { "oPitouneUnkF4", LVT_F32, offsetof(struct Object, oPitouneUnkF4), false, LOT_NONE }, + { "oPitouneUnkF8", LVT_F32, offsetof(struct Object, oPitouneUnkF8), false, LOT_NONE }, + { "oPitouneUnkFC", LVT_F32, offsetof(struct Object, oPitouneUnkFC), false, LOT_NONE }, + { "oPlatformOnTrackBaseBallIndex", LVT_S32, offsetof(struct Object, oPlatformOnTrackBaseBallIndex), false, LOT_NONE }, + { "oPlatformOnTrackDistMovedSinceLastBall", LVT_F32, offsetof(struct Object, oPlatformOnTrackDistMovedSinceLastBall), false, LOT_NONE }, + { "oPlatformOnTrackIsNotHMC", LVT_S16, offsetof(struct Object, oPlatformOnTrackIsNotHMC), false, LOT_NONE }, + { "oPlatformOnTrackIsNotSkiLift", LVT_S16, offsetof(struct Object, oPlatformOnTrackIsNotSkiLift), false, LOT_NONE }, + { "oPlatformOnTrackOffsetY", LVT_F32, offsetof(struct Object, oPlatformOnTrackOffsetY), false, LOT_NONE }, + { "oPlatformOnTrackPitch", LVT_S32, offsetof(struct Object, oPlatformOnTrackPitch), false, LOT_NONE }, + { "oPlatformOnTrackPrevWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPlatformOnTrackPrevWaypoint), false, LOT_WAYPOINT }, + { "oPlatformOnTrackPrevWaypointFlags", LVT_S32, offsetof(struct Object, oPlatformOnTrackPrevWaypointFlags), false, LOT_NONE }, + { "oPlatformOnTrackSkiLiftRollVel", LVT_F32, offsetof(struct Object, oPlatformOnTrackSkiLiftRollVel), false, LOT_NONE }, + { "oPlatformOnTrackStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPlatformOnTrackStartWaypoint), false, LOT_WAYPOINT }, + { "oPlatformOnTrackType", LVT_S16, offsetof(struct Object, oPlatformOnTrackType), false, LOT_NONE }, + { "oPlatformOnTrackWasStoodOn", LVT_S16, offsetof(struct Object, oPlatformOnTrackWasStoodOn), false, LOT_NONE }, + { "oPlatformOnTrackYaw", LVT_S32, offsetof(struct Object, oPlatformOnTrackYaw), false, LOT_NONE }, + { "oPlatformSpawnerUnk100", LVT_F32, offsetof(struct Object, oPlatformSpawnerUnk100), false, LOT_NONE }, + { "oPlatformSpawnerUnk104", LVT_F32, offsetof(struct Object, oPlatformSpawnerUnk104), false, LOT_NONE }, + { "oPlatformSpawnerUnk108", LVT_F32, offsetof(struct Object, oPlatformSpawnerUnk108), false, LOT_NONE }, + { "oPlatformSpawnerUnkF4", LVT_S32, offsetof(struct Object, oPlatformSpawnerUnkF4), false, LOT_NONE }, + { "oPlatformSpawnerUnkF8", LVT_S32, offsetof(struct Object, oPlatformSpawnerUnkF8), false, LOT_NONE }, + { "oPlatformSpawnerUnkFC", LVT_S32, offsetof(struct Object, oPlatformSpawnerUnkFC), false, LOT_NONE }, + { "oPlatformTimer", LVT_S32, offsetof(struct Object, oPlatformTimer), false, LOT_NONE }, + { "oPlatformUnk10C", LVT_F32, offsetof(struct Object, oPlatformUnk10C), false, LOT_NONE }, + { "oPlatformUnk110", LVT_F32, offsetof(struct Object, oPlatformUnk110), false, LOT_NONE }, + { "oPlatformUnkF8", LVT_COBJECT_P, offsetof(struct Object, oPlatformUnkF8), false, LOT_OBJECT }, + { "oPlatformUnkFC", LVT_S32, offsetof(struct Object, oPlatformUnkFC), false, LOT_NONE }, + { "oPokeyAliveBodyPartFlags", LVT_U32, offsetof(struct Object, oPokeyAliveBodyPartFlags), false, LOT_NONE }, + { "oPokeyBodyPartBlinkTimer", LVT_S32, offsetof(struct Object, oPokeyBodyPartBlinkTimer), false, LOT_NONE }, + { "oPokeyBodyPartDeathDelayAfterHeadKilled", LVT_S32, offsetof(struct Object, oPokeyBodyPartDeathDelayAfterHeadKilled), false, LOT_NONE }, + { "oPokeyBottomBodyPartSize", LVT_F32, offsetof(struct Object, oPokeyBottomBodyPartSize), false, LOT_NONE }, + { "oPokeyChangeTargetTimer", LVT_S32, offsetof(struct Object, oPokeyChangeTargetTimer), false, LOT_NONE }, + { "oPokeyHeadWasKilled", LVT_S32, offsetof(struct Object, oPokeyHeadWasKilled), false, LOT_NONE }, + { "oPokeyNumAliveBodyParts", LVT_S32, offsetof(struct Object, oPokeyNumAliveBodyParts), false, LOT_NONE }, + { "oPokeyTargetYaw", LVT_S32, offsetof(struct Object, oPokeyTargetYaw), false, LOT_NONE }, + { "oPokeyTurningAwayFromWall", LVT_S32, offsetof(struct Object, oPokeyTurningAwayFromWall), false, LOT_NONE }, + { "oPosX", LVT_F32, offsetof(struct Object, oPosX), false, LOT_NONE }, + { "oPosY", LVT_F32, offsetof(struct Object, oPosY), false, LOT_NONE }, + { "oPosZ", LVT_F32, offsetof(struct Object, oPosZ), false, LOT_NONE }, + { "oPrevAction", LVT_S32, offsetof(struct Object, oPrevAction), false, LOT_NONE }, + { "oPyramidTopFragmentsScale", LVT_F32, offsetof(struct Object, oPyramidTopFragmentsScale), false, LOT_NONE }, + { "oPyramidTopPillarsTouched", LVT_S32, offsetof(struct Object, oPyramidTopPillarsTouched), false, LOT_NONE }, + { "oRRCruiserWingUnkF4", LVT_S32, offsetof(struct Object, oRRCruiserWingUnkF4), false, LOT_NONE }, + { "oRRCruiserWingUnkF8", LVT_S32, offsetof(struct Object, oRRCruiserWingUnkF8), false, LOT_NONE }, + { "oRacingPenguinFinalTextbox", LVT_S16, offsetof(struct Object, oRacingPenguinFinalTextbox), false, LOT_NONE }, + { "oRacingPenguinInitTextCooldown", LVT_S32, offsetof(struct Object, oRacingPenguinInitTextCooldown), false, LOT_NONE }, + { "oRacingPenguinMarioCheated", LVT_S16, offsetof(struct Object, oRacingPenguinMarioCheated), false, LOT_NONE }, + { "oRacingPenguinMarioWon", LVT_S16, offsetof(struct Object, oRacingPenguinMarioWon), false, LOT_NONE }, + { "oRacingPenguinReachedBottom", LVT_S16, offsetof(struct Object, oRacingPenguinReachedBottom), false, LOT_NONE }, + { "oRacingPenguinWeightedNewTargetSpeed", LVT_F32, offsetof(struct Object, oRacingPenguinWeightedNewTargetSpeed), false, LOT_NONE }, +// { "oRespawnerBehaviorToRespawn", LVT_???, offsetof(struct Object, oRespawnerBehaviorToRespawn), true, LOT_??? }, <--- UNIMPLEMENTED + { "oRespawnerMinSpawnDist", LVT_F32, offsetof(struct Object, oRespawnerMinSpawnDist), false, LOT_NONE }, + { "oRespawnerModelToRespawn", LVT_S32, offsetof(struct Object, oRespawnerModelToRespawn), false, LOT_NONE }, + { "oRollingLogUnkF4", LVT_F32, offsetof(struct Object, oRollingLogUnkF4), false, LOT_NONE }, + { "oRoom", LVT_S32, offsetof(struct Object, oRoom), false, LOT_NONE }, + { "oSLSnowmanWindOriginalYaw", LVT_S32, offsetof(struct Object, oSLSnowmanWindOriginalYaw), false, LOT_NONE }, + { "oSLWalkingPenguinCurStep", LVT_S32, offsetof(struct Object, oSLWalkingPenguinCurStep), false, LOT_NONE }, + { "oSLWalkingPenguinCurStepTimer", LVT_S32, offsetof(struct Object, oSLWalkingPenguinCurStepTimer), false, LOT_NONE }, + { "oSLWalkingPenguinWindCollisionXPos", LVT_F32, offsetof(struct Object, oSLWalkingPenguinWindCollisionXPos), false, LOT_NONE }, + { "oSLWalkingPenguinWindCollisionZPos", LVT_F32, offsetof(struct Object, oSLWalkingPenguinWindCollisionZPos), false, LOT_NONE }, + { "oScuttlebugSpawnerUnk88", LVT_S32, offsetof(struct Object, oScuttlebugSpawnerUnk88), false, LOT_NONE }, + { "oScuttlebugSpawnerUnkF4", LVT_S32, offsetof(struct Object, oScuttlebugSpawnerUnkF4), false, LOT_NONE }, + { "oScuttlebugUnkF4", LVT_S32, offsetof(struct Object, oScuttlebugUnkF4), false, LOT_NONE }, + { "oScuttlebugUnkF8", LVT_S32, offsetof(struct Object, oScuttlebugUnkF8), false, LOT_NONE }, + { "oScuttlebugUnkFC", LVT_S32, offsetof(struct Object, oScuttlebugUnkFC), false, LOT_NONE }, + { "oSeesawPlatformPitchVel", LVT_F32, offsetof(struct Object, oSeesawPlatformPitchVel), false, LOT_NONE }, + { "oShipPart3UnkF4", LVT_S32, offsetof(struct Object, oShipPart3UnkF4), false, LOT_NONE }, + { "oShipPart3UnkF8", LVT_S32, offsetof(struct Object, oShipPart3UnkF8), false, LOT_NONE }, + { "oSinkWhenSteppedOnUnk104", LVT_S32, offsetof(struct Object, oSinkWhenSteppedOnUnk104), false, LOT_NONE }, + { "oSinkWhenSteppedOnUnk108", LVT_F32, offsetof(struct Object, oSinkWhenSteppedOnUnk108), false, LOT_NONE }, + { "oSkeeterLastWaterY", LVT_F32, offsetof(struct Object, oSkeeterLastWaterY), false, LOT_NONE }, + { "oSkeeterTargetAngle", LVT_S32, offsetof(struct Object, oSkeeterTargetAngle), false, LOT_NONE }, + { "oSkeeterUnk1AC", LVT_S16, offsetof(struct Object, oSkeeterUnk1AC), false, LOT_NONE }, + { "oSkeeterUnkF8", LVT_S32, offsetof(struct Object, oSkeeterUnkF8), false, LOT_NONE }, + { "oSkeeterUnkFC", LVT_F32, offsetof(struct Object, oSkeeterUnkFC), false, LOT_NONE }, + { "oSkeeterWaitTime", LVT_S32, offsetof(struct Object, oSkeeterWaitTime), false, LOT_NONE }, + { "oSmallBompInitX", LVT_F32, offsetof(struct Object, oSmallBompInitX), false, LOT_NONE }, + { "oSmallPenguinUnk100", LVT_S32, offsetof(struct Object, oSmallPenguinUnk100), false, LOT_NONE }, + { "oSmallPenguinUnk104", LVT_F32, offsetof(struct Object, oSmallPenguinUnk104), false, LOT_NONE }, + { "oSmallPenguinUnk108", LVT_F32, offsetof(struct Object, oSmallPenguinUnk108), false, LOT_NONE }, + { "oSmallPenguinUnk110", LVT_S32, offsetof(struct Object, oSmallPenguinUnk110), false, LOT_NONE }, + { "oSmallPenguinUnk88", LVT_S32, offsetof(struct Object, oSmallPenguinUnk88), false, LOT_NONE }, + { "oSmallPiranhaFlameEndSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameEndSpeed), false, LOT_NONE }, + { "oSmallPiranhaFlameModel", LVT_S32, offsetof(struct Object, oSmallPiranhaFlameModel), false, LOT_NONE }, + { "oSmallPiranhaFlameNextFlameTimer", LVT_S32, offsetof(struct Object, oSmallPiranhaFlameNextFlameTimer), false, LOT_NONE }, + { "oSmallPiranhaFlameSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameSpeed), false, LOT_NONE }, + { "oSmallPiranhaFlameStartSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameStartSpeed), false, LOT_NONE }, + { "oSmokeTimer", LVT_S32, offsetof(struct Object, oSmokeTimer), false, LOT_NONE }, + { "oSnowmansBottomUnk1AC", LVT_S32, offsetof(struct Object, oSnowmansBottomUnk1AC), false, LOT_NONE }, + { "oSnowmansBottomUnkF4", LVT_F32, offsetof(struct Object, oSnowmansBottomUnkF4), false, LOT_NONE }, + { "oSnowmansBottomUnkF8", LVT_S32, offsetof(struct Object, oSnowmansBottomUnkF8), false, LOT_NONE }, + { "oSnowmansHeadUnkF4", LVT_S32, offsetof(struct Object, oSnowmansHeadUnkF4), false, LOT_NONE }, + { "oSnufitBodyBaseScale", LVT_S32, offsetof(struct Object, oSnufitBodyBaseScale), false, LOT_NONE }, + { "oSnufitBodyScale", LVT_S16, offsetof(struct Object, oSnufitBodyScale), false, LOT_NONE }, + { "oSnufitBodyScalePeriod", LVT_S32, offsetof(struct Object, oSnufitBodyScalePeriod), false, LOT_NONE }, + { "oSnufitBullets", LVT_S32, offsetof(struct Object, oSnufitBullets), false, LOT_NONE }, + { "oSnufitCircularPeriod", LVT_S32, offsetof(struct Object, oSnufitCircularPeriod), false, LOT_NONE }, + { "oSnufitRecoil", LVT_S32, offsetof(struct Object, oSnufitRecoil), false, LOT_NONE }, + { "oSnufitScale", LVT_F32, offsetof(struct Object, oSnufitScale), false, LOT_NONE }, + { "oSnufitXOffset", LVT_S16, offsetof(struct Object, oSnufitXOffset), false, LOT_NONE }, + { "oSnufitYOffset", LVT_S16, offsetof(struct Object, oSnufitYOffset), false, LOT_NONE }, + { "oSnufitZOffset", LVT_S16, offsetof(struct Object, oSnufitZOffset), false, LOT_NONE }, + { "oSoundEffectUnkF4", LVT_S32, offsetof(struct Object, oSoundEffectUnkF4), false, LOT_NONE }, + { "oSoundStateID", LVT_S32, offsetof(struct Object, oSoundStateID), false, LOT_NONE }, + { "oSparkleSpawnUnk1B0", LVT_S32, offsetof(struct Object, oSparkleSpawnUnk1B0), false, LOT_NONE }, + { "oSpindelUnkF4", LVT_S32, offsetof(struct Object, oSpindelUnkF4), false, LOT_NONE }, + { "oSpindelUnkF8", LVT_S32, offsetof(struct Object, oSpindelUnkF8), false, LOT_NONE }, + { "oSpinningHeartPlayedSound", LVT_S32, offsetof(struct Object, oSpinningHeartPlayedSound), false, LOT_NONE }, + { "oSpinningHeartTotalSpin", LVT_S32, offsetof(struct Object, oSpinningHeartTotalSpin), false, LOT_NONE }, + { "oSpinyTargetYaw", LVT_S32, offsetof(struct Object, oSpinyTargetYaw), false, LOT_NONE }, + { "oSpinyTimeUntilTurn", LVT_S32, offsetof(struct Object, oSpinyTimeUntilTurn), false, LOT_NONE }, + { "oSpinyTurningAwayFromWall", LVT_S32, offsetof(struct Object, oSpinyTurningAwayFromWall), false, LOT_NONE }, +// { "oStarBehavior", LVT_???, offsetof(struct Object, oStarBehavior), true, LOT_??? }, <--- UNIMPLEMENTED + { "oStarSelectorSize", LVT_F32, offsetof(struct Object, oStarSelectorSize), false, LOT_NONE }, + { "oStarSelectorTimer", LVT_S32, offsetof(struct Object, oStarSelectorTimer), false, LOT_NONE }, + { "oStarSelectorType", LVT_S32, offsetof(struct Object, oStarSelectorType), false, LOT_NONE }, + { "oStarSpawnDisFromHome", LVT_F32, offsetof(struct Object, oStarSpawnDisFromHome), false, LOT_NONE }, + { "oStarSpawnExtCutsceneFlags", LVT_S16, offsetof(struct Object, oStarSpawnExtCutsceneFlags), false, LOT_NONE }, + { "oStarSpawnUnkFC", LVT_F32, offsetof(struct Object, oStarSpawnUnkFC), false, LOT_NONE }, + { "oStrongWindParticlePenguinObj", LVT_COBJECT_P, offsetof(struct Object, oStrongWindParticlePenguinObj), false, LOT_OBJECT }, + { "oSubAction", LVT_S32, offsetof(struct Object, oSubAction), false, LOT_NONE }, + { "oSushiSharkUnkF4", LVT_S32, offsetof(struct Object, oSushiSharkUnkF4), false, LOT_NONE }, + { "oSwingPlatformAngle", LVT_F32, offsetof(struct Object, oSwingPlatformAngle), false, LOT_NONE }, + { "oSwingPlatformSpeed", LVT_F32, offsetof(struct Object, oSwingPlatformSpeed), false, LOT_NONE }, + { "oSwoopBonkCountdown", LVT_S32, offsetof(struct Object, oSwoopBonkCountdown), false, LOT_NONE }, + { "oSwoopTargetPitch", LVT_S32, offsetof(struct Object, oSwoopTargetPitch), false, LOT_NONE }, + { "oSwoopTargetYaw", LVT_S32, offsetof(struct Object, oSwoopTargetYaw), false, LOT_NONE }, + { "oSyncDeath", LVT_U32, offsetof(struct Object, oSyncDeath), false, LOT_NONE }, + { "oSyncID", LVT_U32, offsetof(struct Object, oSyncID), true, LOT_NONE }, + { "oTTC2DRotatorIncrement", LVT_S32, offsetof(struct Object, oTTC2DRotatorIncrement), false, LOT_NONE }, + { "oTTC2DRotatorMinTimeUntilNextTurn", LVT_S32, offsetof(struct Object, oTTC2DRotatorMinTimeUntilNextTurn), false, LOT_NONE }, + { "oTTC2DRotatorRandomDirTimer", LVT_S32, offsetof(struct Object, oTTC2DRotatorRandomDirTimer), false, LOT_NONE }, + { "oTTC2DRotatorSpeed", LVT_S32, offsetof(struct Object, oTTC2DRotatorSpeed), false, LOT_NONE }, + { "oTTC2DRotatorTargetYaw", LVT_S32, offsetof(struct Object, oTTC2DRotatorTargetYaw), false, LOT_NONE }, + { "oTTCChangeDirTimer", LVT_S32, offsetof(struct Object, oTTCChangeDirTimer), false, LOT_NONE }, + { "oTTCCogDir", LVT_F32, offsetof(struct Object, oTTCCogDir), false, LOT_NONE }, + { "oTTCCogSpeed", LVT_F32, offsetof(struct Object, oTTCCogSpeed), false, LOT_NONE }, + { "oTTCCogTargetVel", LVT_F32, offsetof(struct Object, oTTCCogTargetVel), false, LOT_NONE }, + { "oTTCElevatorDir", LVT_F32, offsetof(struct Object, oTTCElevatorDir), false, LOT_NONE }, + { "oTTCElevatorMoveTime", LVT_S32, offsetof(struct Object, oTTCElevatorMoveTime), false, LOT_NONE }, + { "oTTCElevatorPeakY", LVT_F32, offsetof(struct Object, oTTCElevatorPeakY), false, LOT_NONE }, + { "oTTCMovingBarDelay", LVT_S32, offsetof(struct Object, oTTCMovingBarDelay), false, LOT_NONE }, + { "oTTCMovingBarOffset", LVT_F32, offsetof(struct Object, oTTCMovingBarOffset), false, LOT_NONE }, + { "oTTCMovingBarSpeed", LVT_F32, offsetof(struct Object, oTTCMovingBarSpeed), false, LOT_NONE }, + { "oTTCMovingBarStartOffset", LVT_F32, offsetof(struct Object, oTTCMovingBarStartOffset), false, LOT_NONE }, + { "oTTCMovingBarStoppedTimer", LVT_S32, offsetof(struct Object, oTTCMovingBarStoppedTimer), false, LOT_NONE }, + { "oTTCPendulumAccelDir", LVT_F32, offsetof(struct Object, oTTCPendulumAccelDir), false, LOT_NONE }, + { "oTTCPendulumAngle", LVT_F32, offsetof(struct Object, oTTCPendulumAngle), false, LOT_NONE }, + { "oTTCPendulumAngleAccel", LVT_F32, offsetof(struct Object, oTTCPendulumAngleAccel), false, LOT_NONE }, + { "oTTCPendulumAngleVel", LVT_F32, offsetof(struct Object, oTTCPendulumAngleVel), false, LOT_NONE }, + { "oTTCPendulumDelay", LVT_S32, offsetof(struct Object, oTTCPendulumDelay), false, LOT_NONE }, + { "oTTCPendulumSoundTimer", LVT_S32, offsetof(struct Object, oTTCPendulumSoundTimer), false, LOT_NONE }, + { "oTTCPitBlockDir", LVT_S32, offsetof(struct Object, oTTCPitBlockDir), false, LOT_NONE }, + { "oTTCPitBlockPeakY", LVT_F32, offsetof(struct Object, oTTCPitBlockPeakY), false, LOT_NONE }, + { "oTTCPitBlockWaitTime", LVT_S32, offsetof(struct Object, oTTCPitBlockWaitTime), false, LOT_NONE }, + { "oTTCRotatingSolidNumSides", LVT_S32, offsetof(struct Object, oTTCRotatingSolidNumSides), false, LOT_NONE }, + { "oTTCRotatingSolidNumTurns", LVT_S32, offsetof(struct Object, oTTCRotatingSolidNumTurns), false, LOT_NONE }, + { "oTTCRotatingSolidRotationDelay", LVT_S32, offsetof(struct Object, oTTCRotatingSolidRotationDelay), false, LOT_NONE }, + { "oTTCRotatingSolidSoundTimer", LVT_S32, offsetof(struct Object, oTTCRotatingSolidSoundTimer), false, LOT_NONE }, + { "oTTCRotatingSolidVelY", LVT_F32, offsetof(struct Object, oTTCRotatingSolidVelY), false, LOT_NONE }, + { "oTTCSpinnerDir", LVT_S32, offsetof(struct Object, oTTCSpinnerDir), false, LOT_NONE }, + { "oTTCTreadmillBigSurface", LVT_S16_P, offsetof(struct Object, oTTCTreadmillBigSurface), true, LOT_POINTER }, + { "oTTCTreadmillSmallSurface", LVT_S16_P, offsetof(struct Object, oTTCTreadmillSmallSurface), true, LOT_POINTER }, + { "oTTCTreadmillSpeed", LVT_F32, offsetof(struct Object, oTTCTreadmillSpeed), false, LOT_NONE }, + { "oTTCTreadmillTargetSpeed", LVT_F32, offsetof(struct Object, oTTCTreadmillTargetSpeed), false, LOT_NONE }, + { "oTTCTreadmillTimeUntilSwitch", LVT_S32, offsetof(struct Object, oTTCTreadmillTimeUntilSwitch), false, LOT_NONE }, + { "oThwompRandomTimer", LVT_S32, offsetof(struct Object, oThwompRandomTimer), false, LOT_NONE }, + { "oTiltingPyramidMarioOnPlatform", LVT_S32, offsetof(struct Object, oTiltingPyramidMarioOnPlatform), false, LOT_NONE }, + { "oTiltingPyramidNormalX", LVT_F32, offsetof(struct Object, oTiltingPyramidNormalX), false, LOT_NONE }, + { "oTiltingPyramidNormalY", LVT_F32, offsetof(struct Object, oTiltingPyramidNormalY), false, LOT_NONE }, + { "oTiltingPyramidNormalZ", LVT_F32, offsetof(struct Object, oTiltingPyramidNormalZ), false, LOT_NONE }, + { "oTimer", LVT_S32, offsetof(struct Object, oTimer), false, LOT_NONE }, + { "oToadMessageDialogId", LVT_S32, offsetof(struct Object, oToadMessageDialogId), false, LOT_NONE }, + { "oToadMessageRecentlyTalked", LVT_S32, offsetof(struct Object, oToadMessageRecentlyTalked), false, LOT_NONE }, + { "oToadMessageState", LVT_S32, offsetof(struct Object, oToadMessageState), false, LOT_NONE }, +// { "oToxBoxMovementPattern", LVT_???, offsetof(struct Object, oToxBoxMovementPattern), false, LOT_??? }, <--- UNIMPLEMENTED + { "oToxBoxMovementStep", LVT_S32, offsetof(struct Object, oToxBoxMovementStep), false, LOT_NONE }, + { "oTreasureChestCurrentAnswer", LVT_S32, offsetof(struct Object, oTreasureChestCurrentAnswer), false, LOT_NONE }, + { "oTreasureChestIsAboveWater", LVT_S32, offsetof(struct Object, oTreasureChestIsAboveWater), false, LOT_NONE }, + { "oTreasureChestIsLastInteractionIncorrect", LVT_S32, offsetof(struct Object, oTreasureChestIsLastInteractionIncorrect), false, LOT_NONE }, + { "oTreasureChestLastNetworkPlayerIndex", LVT_S16, offsetof(struct Object, oTreasureChestLastNetworkPlayerIndex), false, LOT_NONE }, + { "oTreasureChestSound", LVT_S32, offsetof(struct Object, oTreasureChestSound), false, LOT_NONE }, + { "oTreeSnowOrLeafUnkF4", LVT_S32, offsetof(struct Object, oTreeSnowOrLeafUnkF4), false, LOT_NONE }, + { "oTreeSnowOrLeafUnkF8", LVT_S32, offsetof(struct Object, oTreeSnowOrLeafUnkF8), false, LOT_NONE }, + { "oTreeSnowOrLeafUnkFC", LVT_S32, offsetof(struct Object, oTreeSnowOrLeafUnkFC), false, LOT_NONE }, + { "oTripletButterflyBaseYaw", LVT_F32, offsetof(struct Object, oTripletButterflyBaseYaw), false, LOT_NONE }, + { "oTripletButterflyModel", LVT_S32, offsetof(struct Object, oTripletButterflyModel), false, LOT_NONE }, + { "oTripletButterflyScale", LVT_F32, offsetof(struct Object, oTripletButterflyScale), false, LOT_NONE }, + { "oTripletButterflyScalePhase", LVT_S32, offsetof(struct Object, oTripletButterflyScalePhase), false, LOT_NONE }, + { "oTripletButterflySelectedButterfly", LVT_S32, offsetof(struct Object, oTripletButterflySelectedButterfly), false, LOT_NONE }, + { "oTripletButterflySpeed", LVT_F32, offsetof(struct Object, oTripletButterflySpeed), false, LOT_NONE }, + { "oTripletButterflyTargetPitch", LVT_S32, offsetof(struct Object, oTripletButterflyTargetPitch), false, LOT_NONE }, + { "oTripletButterflyTargetYaw", LVT_S32, offsetof(struct Object, oTripletButterflyTargetYaw), false, LOT_NONE }, + { "oTripletButterflyType", LVT_S32, offsetof(struct Object, oTripletButterflyType), false, LOT_NONE }, + { "oTumblingBridgeUnkF4", LVT_S32, offsetof(struct Object, oTumblingBridgeUnkF4), false, LOT_NONE }, + { "oTweesterScaleTimer", LVT_S32, offsetof(struct Object, oTweesterScaleTimer), false, LOT_NONE }, + { "oTweesterUnused", LVT_S32, offsetof(struct Object, oTweesterUnused), false, LOT_NONE }, + { "oUkikiCageNextAction", LVT_S32, offsetof(struct Object, oUkikiCageNextAction), false, LOT_NONE }, + { "oUkikiCageSpinTimer", LVT_S16, offsetof(struct Object, oUkikiCageSpinTimer), false, LOT_NONE }, + { "oUkikiChaseFleeRange", LVT_F32, offsetof(struct Object, oUkikiChaseFleeRange), false, LOT_NONE }, + { "oUkikiHasCap", LVT_S16, offsetof(struct Object, oUkikiHasCap), false, LOT_NONE }, + { "oUkikiTauntCounter", LVT_S16, offsetof(struct Object, oUkikiTauntCounter), false, LOT_NONE }, + { "oUkikiTauntsToBeDone", LVT_S16, offsetof(struct Object, oUkikiTauntsToBeDone), false, LOT_NONE }, + { "oUkikiTextState", LVT_S16, offsetof(struct Object, oUkikiTextState), false, LOT_NONE }, + { "oUkikiTextboxTimer", LVT_S16, offsetof(struct Object, oUkikiTextboxTimer), false, LOT_NONE }, + { "oUnagiUnk110", LVT_F32, offsetof(struct Object, oUnagiUnk110), false, LOT_NONE }, + { "oUnagiUnk1AC", LVT_F32, offsetof(struct Object, oUnagiUnk1AC), false, LOT_NONE }, + { "oUnagiUnk1B0", LVT_S16, offsetof(struct Object, oUnagiUnk1B0), false, LOT_NONE }, + { "oUnagiUnk1B2", LVT_S16, offsetof(struct Object, oUnagiUnk1B2), false, LOT_NONE }, + { "oUnagiUnkF4", LVT_F32, offsetof(struct Object, oUnagiUnkF4), false, LOT_NONE }, + { "oUnagiUnkF8", LVT_F32, offsetof(struct Object, oUnagiUnkF8), false, LOT_NONE }, + { "oUnk1A8", LVT_U32, offsetof(struct Object, oUnk1A8), false, LOT_NONE }, + { "oUnk94", LVT_U32, offsetof(struct Object, oUnk94), false, LOT_NONE }, + { "oUnkBC", LVT_F32, offsetof(struct Object, oUnkBC), false, LOT_NONE }, + { "oUnkC0", LVT_F32, offsetof(struct Object, oUnkC0), false, LOT_NONE }, + { "oUnlockDoorStarState", LVT_U32, offsetof(struct Object, oUnlockDoorStarState), false, LOT_NONE }, + { "oUnlockDoorStarTimer", LVT_S32, offsetof(struct Object, oUnlockDoorStarTimer), false, LOT_NONE }, + { "oUnlockDoorStarYawVel", LVT_S32, offsetof(struct Object, oUnlockDoorStarYawVel), false, LOT_NONE }, + { "oVelX", LVT_F32, offsetof(struct Object, oVelX), false, LOT_NONE }, + { "oVelY", LVT_F32, offsetof(struct Object, oVelY), false, LOT_NONE }, + { "oVelZ", LVT_F32, offsetof(struct Object, oVelZ), false, LOT_NONE }, + { "oWFSlidBrickPtfmMovVel", LVT_F32, offsetof(struct Object, oWFSlidBrickPtfmMovVel), false, LOT_NONE }, + { "oWallAngle", LVT_S32, offsetof(struct Object, oWallAngle), false, LOT_NONE }, + { "oWallHitboxRadius", LVT_F32, offsetof(struct Object, oWallHitboxRadius), false, LOT_NONE }, + { "oWaterBombNumBounces", LVT_F32, offsetof(struct Object, oWaterBombNumBounces), false, LOT_NONE }, + { "oWaterBombOnGround", LVT_S32, offsetof(struct Object, oWaterBombOnGround), false, LOT_NONE }, + { "oWaterBombSpawnerBombActive", LVT_S32, offsetof(struct Object, oWaterBombSpawnerBombActive), false, LOT_NONE }, + { "oWaterBombSpawnerTimeToSpawn", LVT_S32, offsetof(struct Object, oWaterBombSpawnerTimeToSpawn), false, LOT_NONE }, + { "oWaterBombStretchSpeed", LVT_F32, offsetof(struct Object, oWaterBombStretchSpeed), false, LOT_NONE }, + { "oWaterBombVerticalStretch", LVT_F32, offsetof(struct Object, oWaterBombVerticalStretch), false, LOT_NONE }, + { "oWaterCannonUnk100", LVT_S32, offsetof(struct Object, oWaterCannonUnk100), false, LOT_NONE }, + { "oWaterCannonUnkF4", LVT_S32, offsetof(struct Object, oWaterCannonUnkF4), false, LOT_NONE }, + { "oWaterCannonUnkF8", LVT_S32, offsetof(struct Object, oWaterCannonUnkF8), false, LOT_NONE }, + { "oWaterCannonUnkFC", LVT_S32, offsetof(struct Object, oWaterCannonUnkFC), false, LOT_NONE }, + { "oWaterLevelPillarDrained", LVT_S32, offsetof(struct Object, oWaterLevelPillarDrained), false, LOT_NONE }, + { "oWaterLevelTriggerTargetWaterLevel", LVT_S32, offsetof(struct Object, oWaterLevelTriggerTargetWaterLevel), false, LOT_NONE }, + { "oWaterLevelTriggerUnkF4", LVT_S32, offsetof(struct Object, oWaterLevelTriggerUnkF4), false, LOT_NONE }, + { "oWaterObjUnk100", LVT_S32, offsetof(struct Object, oWaterObjUnk100), false, LOT_NONE }, + { "oWaterObjUnkF4", LVT_S32, offsetof(struct Object, oWaterObjUnkF4), false, LOT_NONE }, + { "oWaterObjUnkF8", LVT_S32, offsetof(struct Object, oWaterObjUnkF8), false, LOT_NONE }, + { "oWaterObjUnkFC", LVT_S32, offsetof(struct Object, oWaterObjUnkFC), false, LOT_NONE }, + { "oWaterRingAvgScale", LVT_F32, offsetof(struct Object, oWaterRingAvgScale), false, LOT_NONE }, + { "oWaterRingIndex", LVT_S32, offsetof(struct Object, oWaterRingIndex), false, LOT_NONE }, + { "oWaterRingMarioDistInFront", LVT_F32, offsetof(struct Object, oWaterRingMarioDistInFront), false, LOT_NONE }, + { "oWaterRingMgrLastRingCollected", LVT_S32, offsetof(struct Object, oWaterRingMgrLastRingCollected), false, LOT_NONE }, + { "oWaterRingMgrNextRingIndex", LVT_S32, offsetof(struct Object, oWaterRingMgrNextRingIndex), false, LOT_NONE }, + { "oWaterRingNormalX", LVT_F32, offsetof(struct Object, oWaterRingNormalX), false, LOT_NONE }, + { "oWaterRingNormalY", LVT_F32, offsetof(struct Object, oWaterRingNormalY), false, LOT_NONE }, + { "oWaterRingNormalZ", LVT_F32, offsetof(struct Object, oWaterRingNormalZ), false, LOT_NONE }, + { "oWaterRingScalePhaseX", LVT_S32, offsetof(struct Object, oWaterRingScalePhaseX), false, LOT_NONE }, + { "oWaterRingScalePhaseY", LVT_S32, offsetof(struct Object, oWaterRingScalePhaseY), false, LOT_NONE }, + { "oWaterRingScalePhaseZ", LVT_S32, offsetof(struct Object, oWaterRingScalePhaseZ), false, LOT_NONE }, + { "oWaterRingSpawnerRingsCollected", LVT_S32, offsetof(struct Object, oWaterRingSpawnerRingsCollected), false, LOT_NONE }, + { "oWaveTrailSize", LVT_F32, offsetof(struct Object, oWaveTrailSize), false, LOT_NONE }, + { "oWhirlpoolInitFacePitch", LVT_S32, offsetof(struct Object, oWhirlpoolInitFacePitch), false, LOT_NONE }, + { "oWhirlpoolInitFaceRoll", LVT_S32, offsetof(struct Object, oWhirlpoolInitFaceRoll), false, LOT_NONE }, + { "oWhirlpoolTimeout", LVT_S32, offsetof(struct Object, oWhirlpoolTimeout), false, LOT_NONE }, + { "oWhitePuffUnkF4", LVT_F32, offsetof(struct Object, oWhitePuffUnkF4), false, LOT_NONE }, + { "oWhitePuffUnkF8", LVT_S32, offsetof(struct Object, oWhitePuffUnkF8), false, LOT_NONE }, + { "oWhitePuffUnkFC", LVT_S32, offsetof(struct Object, oWhitePuffUnkFC), false, LOT_NONE }, + { "oWhompShakeVal", LVT_S32, offsetof(struct Object, oWhompShakeVal), false, LOT_NONE }, + { "oWigglerFallThroughFloorsHeight", LVT_F32, offsetof(struct Object, oWigglerFallThroughFloorsHeight), false, LOT_NONE }, + { "oWigglerSegments", LVT_COBJECT_P, offsetof(struct Object, oWigglerSegments), true, LOT_CHAINSEGMENT }, + { "oWigglerSquishSpeed", LVT_F32, offsetof(struct Object, oWigglerSquishSpeed), false, LOT_NONE }, + { "oWigglerTargetYaw", LVT_S32, offsetof(struct Object, oWigglerTargetYaw), false, LOT_NONE }, + { "oWigglerTextStatus", LVT_S16, offsetof(struct Object, oWigglerTextStatus), false, LOT_NONE }, + { "oWigglerTimeUntilRandomTurn", LVT_S32, offsetof(struct Object, oWigglerTimeUntilRandomTurn), false, LOT_NONE }, + { "oWigglerUnused", LVT_S16, offsetof(struct Object, oWigglerUnused), false, LOT_NONE }, + { "oWigglerWalkAnimSpeed", LVT_F32, offsetof(struct Object, oWigglerWalkAnimSpeed), false, LOT_NONE }, + { "oWigglerWalkAwayFromWallTimer", LVT_S32, offsetof(struct Object, oWigglerWalkAwayFromWallTimer), false, LOT_NONE }, + { "oWoodenPostMarioPounding", LVT_S32, offsetof(struct Object, oWoodenPostMarioPounding), false, LOT_NONE }, + { "oWoodenPostOffsetY", LVT_F32, offsetof(struct Object, oWoodenPostOffsetY), false, LOT_NONE }, + { "oWoodenPostPrevAngleToMario", LVT_S32, offsetof(struct Object, oWoodenPostPrevAngleToMario), false, LOT_NONE }, + { "oWoodenPostSpeedY", LVT_F32, offsetof(struct Object, oWoodenPostSpeedY), false, LOT_NONE }, + { "oWoodenPostTotalMarioAngle", LVT_S32, offsetof(struct Object, oWoodenPostTotalMarioAngle), false, LOT_NONE }, + { "oYoshiBlinkTimer", LVT_S32, offsetof(struct Object, oYoshiBlinkTimer), false, LOT_NONE }, + { "oYoshiChosenHome", LVT_S32, offsetof(struct Object, oYoshiChosenHome), false, LOT_NONE }, + { "oYoshiTargetYaw", LVT_S32, offsetof(struct Object, oYoshiTargetYaw), false, LOT_NONE }, + { "parentObj", LVT_COBJECT_P, offsetof(struct Object, parentObj), false, LOT_OBJECT }, + { "platform", LVT_COBJECT_P, offsetof(struct Object, platform), false, LOT_OBJECT }, + { "prevObj", LVT_COBJECT_P, offsetof(struct Object, prevObj), false, LOT_OBJECT }, +// { "ptrData", LVT_???, offsetof(struct Object, ptrData), false, LOT_??? }, <--- UNIMPLEMENTED +// { "rawData", LVT_???, offsetof(struct Object, rawData), false, LOT_??? }, <--- UNIMPLEMENTED +// { "respawnInfo", LVT_???, offsetof(struct Object, respawnInfo), false, LOT_??? }, <--- UNIMPLEMENTED + { "respawnInfoType", LVT_S16, offsetof(struct Object, respawnInfoType), true, LOT_NONE }, + { "setHome", LVT_U8, offsetof(struct Object, setHome), false, LOT_NONE }, + { "transform", LVT_COBJECT, offsetof(struct Object, transform), true, LOT_MAT4 }, + { "unused1", LVT_U32, offsetof(struct Object, unused1), false, LOT_NONE }, + { "usingObj", LVT_COBJECT_P, offsetof(struct Object, usingObj), false, LOT_OBJECT }, }; #define LUA_OBJECT_HITBOX_FIELD_COUNT 9 static struct LuaObjectField sObjectHitboxFields[LUA_OBJECT_HITBOX_FIELD_COUNT] = { - { "damageOrCoinValue", LVT_S8, offsetof(struct ObjectHitbox, damageOrCoinValue), false, LOT_NONE, 1, sizeof(s8) }, - { "downOffset", LVT_U8, offsetof(struct ObjectHitbox, downOffset), false, LOT_NONE, 1, sizeof(u8) }, - { "health", LVT_S8, offsetof(struct ObjectHitbox, health), false, LOT_NONE, 1, sizeof(s8) }, - { "height", LVT_S16, offsetof(struct ObjectHitbox, height), false, LOT_NONE, 1, sizeof(s16) }, - { "hurtboxHeight", LVT_S16, offsetof(struct ObjectHitbox, hurtboxHeight), false, LOT_NONE, 1, sizeof(s16) }, - { "hurtboxRadius", LVT_S16, offsetof(struct ObjectHitbox, hurtboxRadius), false, LOT_NONE, 1, sizeof(s16) }, - { "interactType", LVT_U32, offsetof(struct ObjectHitbox, interactType), false, LOT_NONE, 1, sizeof(u32) }, - { "numLootCoins", LVT_S8, offsetof(struct ObjectHitbox, numLootCoins), false, LOT_NONE, 1, sizeof(s8) }, - { "radius", LVT_S16, offsetof(struct ObjectHitbox, radius), false, LOT_NONE, 1, sizeof(s16) }, + { "damageOrCoinValue", LVT_S8, offsetof(struct ObjectHitbox, damageOrCoinValue), false, LOT_NONE }, + { "downOffset", LVT_U8, offsetof(struct ObjectHitbox, downOffset), false, LOT_NONE }, + { "health", LVT_S8, offsetof(struct ObjectHitbox, health), false, LOT_NONE }, + { "height", LVT_S16, offsetof(struct ObjectHitbox, height), false, LOT_NONE }, + { "hurtboxHeight", LVT_S16, offsetof(struct ObjectHitbox, hurtboxHeight), false, LOT_NONE }, + { "hurtboxRadius", LVT_S16, offsetof(struct ObjectHitbox, hurtboxRadius), false, LOT_NONE }, + { "interactType", LVT_U32, offsetof(struct ObjectHitbox, interactType), false, LOT_NONE }, + { "numLootCoins", LVT_S8, offsetof(struct ObjectHitbox, numLootCoins), false, LOT_NONE }, + { "radius", LVT_S16, offsetof(struct ObjectHitbox, radius), false, LOT_NONE }, }; #define LUA_OBJECT_NODE_FIELD_COUNT 3 static struct LuaObjectField sObjectNodeFields[LUA_OBJECT_NODE_FIELD_COUNT] = { - { "gfx", LVT_COBJECT, offsetof(struct ObjectNode, gfx), true, LOT_GRAPHNODEOBJECT, 1, sizeof(struct GraphNodeObject) }, - { "next", LVT_COBJECT_P, offsetof(struct ObjectNode, next), true, LOT_OBJECTNODE, 1, sizeof(struct ObjectNode*) }, - { "prev", LVT_COBJECT_P, offsetof(struct ObjectNode, prev), true, LOT_OBJECTNODE, 1, sizeof(struct ObjectNode*) }, + { "gfx", LVT_COBJECT, offsetof(struct ObjectNode, gfx), true, LOT_GRAPHNODEOBJECT }, + { "next", LVT_COBJECT_P, offsetof(struct ObjectNode, next), true, LOT_OBJECTNODE }, + { "prev", LVT_COBJECT_P, offsetof(struct ObjectNode, prev), true, LOT_OBJECTNODE }, }; #define LUA_OBJECT_WARP_NODE_FIELD_COUNT 3 static struct LuaObjectField sObjectWarpNodeFields[LUA_OBJECT_WARP_NODE_FIELD_COUNT] = { - { "next", LVT_COBJECT_P, offsetof(struct ObjectWarpNode, next), true, LOT_OBJECTWARPNODE, 1, sizeof(struct ObjectWarpNode*) }, - { "node", LVT_COBJECT, offsetof(struct ObjectWarpNode, node), true, LOT_WARPNODE, 1, sizeof(struct WarpNode) }, - { "object", LVT_COBJECT_P, offsetof(struct ObjectWarpNode, object), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "next", LVT_COBJECT_P, offsetof(struct ObjectWarpNode, next), true, LOT_OBJECTWARPNODE }, + { "node", LVT_COBJECT, offsetof(struct ObjectWarpNode, node), true, LOT_WARPNODE }, + { "object", LVT_COBJECT_P, offsetof(struct ObjectWarpNode, object), false, LOT_OBJECT }, }; #define LUA_PAINTING_FIELD_COUNT 36 static struct LuaObjectField sPaintingFields[LUA_PAINTING_FIELD_COUNT] = { - { "alpha", LVT_U8, offsetof(struct Painting, alpha), false, LOT_NONE, 1, sizeof(u8) }, - { "currFloor", LVT_S8, offsetof(struct Painting, currFloor), false, LOT_NONE, 1, sizeof(s8) }, - { "currRippleMag", LVT_F32, offsetof(struct Painting, currRippleMag), false, LOT_NONE, 1, sizeof(f32) }, - { "currRippleRate", LVT_F32, offsetof(struct Painting, currRippleRate), false, LOT_NONE, 1, sizeof(f32) }, - { "dispersionFactor", LVT_F32, offsetof(struct Painting, dispersionFactor), false, LOT_NONE, 1, sizeof(f32) }, - { "entryDispersionFactor", LVT_F32, offsetof(struct Painting, entryDispersionFactor), false, LOT_NONE, 1, sizeof(f32) }, - { "entryRippleDecay", LVT_F32, offsetof(struct Painting, entryRippleDecay), false, LOT_NONE, 1, sizeof(f32) }, - { "entryRippleMag", LVT_F32, offsetof(struct Painting, entryRippleMag), false, LOT_NONE, 1, sizeof(f32) }, - { "entryRippleRate", LVT_F32, offsetof(struct Painting, entryRippleRate), false, LOT_NONE, 1, sizeof(f32) }, - { "floorEntered", LVT_S8, offsetof(struct Painting, floorEntered), false, LOT_NONE, 1, sizeof(s8) }, - { "id", LVT_S16, offsetof(struct Painting, id), true, LOT_NONE, 1, sizeof(s16) }, - { "imageCount", LVT_S8, offsetof(struct Painting, imageCount), true, LOT_NONE, 1, sizeof(s8) }, - { "lastFloor", LVT_S8, offsetof(struct Painting, lastFloor), false, LOT_NONE, 1, sizeof(s8) }, - { "marioIsUnder", LVT_S8, offsetof(struct Painting, marioIsUnder), false, LOT_NONE, 1, sizeof(s8) }, - { "marioWasUnder", LVT_S8, offsetof(struct Painting, marioWasUnder), false, LOT_NONE, 1, sizeof(s8) }, - { "marioWentUnder", LVT_S8, offsetof(struct Painting, marioWentUnder), false, LOT_NONE, 1, sizeof(s8) }, - { "passiveDispersionFactor", LVT_F32, offsetof(struct Painting, passiveDispersionFactor), false, LOT_NONE, 1, sizeof(f32) }, - { "passiveRippleDecay", LVT_F32, offsetof(struct Painting, passiveRippleDecay), false, LOT_NONE, 1, sizeof(f32) }, - { "passiveRippleMag", LVT_F32, offsetof(struct Painting, passiveRippleMag), false, LOT_NONE, 1, sizeof(f32) }, - { "passiveRippleRate", LVT_F32, offsetof(struct Painting, passiveRippleRate), false, LOT_NONE, 1, sizeof(f32) }, - { "pitch", LVT_F32, offsetof(struct Painting, pitch), false, LOT_NONE, 1, sizeof(f32) }, - { "posX", LVT_F32, offsetof(struct Painting, posX), false, LOT_NONE, 1, sizeof(f32) }, - { "posY", LVT_F32, offsetof(struct Painting, posY), false, LOT_NONE, 1, sizeof(f32) }, - { "posZ", LVT_F32, offsetof(struct Painting, posZ), false, LOT_NONE, 1, sizeof(f32) }, - { "rippleDecay", LVT_F32, offsetof(struct Painting, rippleDecay), false, LOT_NONE, 1, sizeof(f32) }, - { "rippleTimer", LVT_F32, offsetof(struct Painting, rippleTimer), false, LOT_NONE, 1, sizeof(f32) }, - { "rippleTrigger", LVT_S8, offsetof(struct Painting, rippleTrigger), false, LOT_NONE, 1, sizeof(s8) }, - { "rippleX", LVT_F32, offsetof(struct Painting, rippleX), false, LOT_NONE, 1, sizeof(f32) }, - { "rippleY", LVT_F32, offsetof(struct Painting, rippleY), false, LOT_NONE, 1, sizeof(f32) }, - { "size", LVT_F32, offsetof(struct Painting, size), false, LOT_NONE, 1, sizeof(f32) }, - { "state", LVT_S8, offsetof(struct Painting, state), false, LOT_NONE, 1, sizeof(s8) }, + { "alpha", LVT_U8, offsetof(struct Painting, alpha), false, LOT_NONE }, + { "currFloor", LVT_S8, offsetof(struct Painting, currFloor), false, LOT_NONE }, + { "currRippleMag", LVT_F32, offsetof(struct Painting, currRippleMag), false, LOT_NONE }, + { "currRippleRate", LVT_F32, offsetof(struct Painting, currRippleRate), false, LOT_NONE }, + { "dispersionFactor", LVT_F32, offsetof(struct Painting, dispersionFactor), false, LOT_NONE }, + { "entryDispersionFactor", LVT_F32, offsetof(struct Painting, entryDispersionFactor), false, LOT_NONE }, + { "entryRippleDecay", LVT_F32, offsetof(struct Painting, entryRippleDecay), false, LOT_NONE }, + { "entryRippleMag", LVT_F32, offsetof(struct Painting, entryRippleMag), false, LOT_NONE }, + { "entryRippleRate", LVT_F32, offsetof(struct Painting, entryRippleRate), false, LOT_NONE }, + { "floorEntered", LVT_S8, offsetof(struct Painting, floorEntered), false, LOT_NONE }, + { "id", LVT_S16, offsetof(struct Painting, id), true, LOT_NONE }, + { "imageCount", LVT_S8, offsetof(struct Painting, imageCount), true, LOT_NONE }, + { "lastFloor", LVT_S8, offsetof(struct Painting, lastFloor), false, LOT_NONE }, + { "marioIsUnder", LVT_S8, offsetof(struct Painting, marioIsUnder), false, LOT_NONE }, + { "marioWasUnder", LVT_S8, offsetof(struct Painting, marioWasUnder), false, LOT_NONE }, + { "marioWentUnder", LVT_S8, offsetof(struct Painting, marioWentUnder), false, LOT_NONE }, + { "passiveDispersionFactor", LVT_F32, offsetof(struct Painting, passiveDispersionFactor), false, LOT_NONE }, + { "passiveRippleDecay", LVT_F32, offsetof(struct Painting, passiveRippleDecay), false, LOT_NONE }, + { "passiveRippleMag", LVT_F32, offsetof(struct Painting, passiveRippleMag), false, LOT_NONE }, + { "passiveRippleRate", LVT_F32, offsetof(struct Painting, passiveRippleRate), false, LOT_NONE }, + { "pitch", LVT_F32, offsetof(struct Painting, pitch), false, LOT_NONE }, + { "posX", LVT_F32, offsetof(struct Painting, posX), false, LOT_NONE }, + { "posY", LVT_F32, offsetof(struct Painting, posY), false, LOT_NONE }, + { "posZ", LVT_F32, offsetof(struct Painting, posZ), false, LOT_NONE }, + { "rippleDecay", LVT_F32, offsetof(struct Painting, rippleDecay), false, LOT_NONE }, + { "rippleTimer", LVT_F32, offsetof(struct Painting, rippleTimer), false, LOT_NONE }, + { "rippleTrigger", LVT_S8, offsetof(struct Painting, rippleTrigger), false, LOT_NONE }, + { "rippleX", LVT_F32, offsetof(struct Painting, rippleX), false, LOT_NONE }, + { "rippleY", LVT_F32, offsetof(struct Painting, rippleY), false, LOT_NONE }, + { "size", LVT_F32, offsetof(struct Painting, size), false, LOT_NONE }, + { "state", LVT_S8, offsetof(struct Painting, state), false, LOT_NONE }, { "textureArray", LVT_TEXTURE_P, offsetof(struct Painting, textureArray), true, LOT_POINTER, 2, sizeof(const Texture*) }, - { "textureHeight", LVT_S16, offsetof(struct Painting, textureHeight), true, LOT_NONE, 1, sizeof(s16) }, - { "textureType", LVT_S8, offsetof(struct Painting, textureType), true, LOT_NONE, 1, sizeof(s8) }, - { "textureWidth", LVT_S16, offsetof(struct Painting, textureWidth), true, LOT_NONE, 1, sizeof(s16) }, - { "yaw", LVT_F32, offsetof(struct Painting, yaw), false, LOT_NONE, 1, sizeof(f32) }, + { "textureHeight", LVT_S16, offsetof(struct Painting, textureHeight), true, LOT_NONE }, + { "textureType", LVT_S8, offsetof(struct Painting, textureType), true, LOT_NONE }, + { "textureWidth", LVT_S16, offsetof(struct Painting, textureWidth), true, LOT_NONE }, + { "yaw", LVT_F32, offsetof(struct Painting, yaw), false, LOT_NONE }, }; #define LUA_PAINTING_VALUES_FIELD_COUNT 16 static struct LuaObjectField sPaintingValuesFields[LUA_PAINTING_VALUES_FIELD_COUNT] = { - { "bob_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, bob_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "ccm_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, ccm_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "cotmc_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, cotmc_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "ddd_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, ddd_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "hmc_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, hmc_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "jrb_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, jrb_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "lll_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, lll_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "sl_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, sl_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "ssl_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, ssl_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "thi_huge_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, thi_huge_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "thi_tiny_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, thi_tiny_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "ttc_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, ttc_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "ttm_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, ttm_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "ttm_slide_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, ttm_slide_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "wdw_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, wdw_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, - { "wf_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, wf_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, + { "bob_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, bob_painting), false, LOT_PAINTING }, + { "ccm_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, ccm_painting), false, LOT_PAINTING }, + { "cotmc_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, cotmc_painting), false, LOT_PAINTING }, + { "ddd_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, ddd_painting), false, LOT_PAINTING }, + { "hmc_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, hmc_painting), false, LOT_PAINTING }, + { "jrb_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, jrb_painting), false, LOT_PAINTING }, + { "lll_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, lll_painting), false, LOT_PAINTING }, + { "sl_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, sl_painting), false, LOT_PAINTING }, + { "ssl_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, ssl_painting), false, LOT_PAINTING }, + { "thi_huge_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, thi_huge_painting), false, LOT_PAINTING }, + { "thi_tiny_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, thi_tiny_painting), false, LOT_PAINTING }, + { "ttc_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, ttc_painting), false, LOT_PAINTING }, + { "ttm_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, ttm_painting), false, LOT_PAINTING }, + { "ttm_slide_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, ttm_slide_painting), false, LOT_PAINTING }, + { "wdw_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, wdw_painting), false, LOT_PAINTING }, + { "wf_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, wf_painting), false, LOT_PAINTING }, }; #define LUA_PLAYER_CAMERA_STATE_FIELD_COUNT 7 static struct LuaObjectField sPlayerCameraStateFields[LUA_PLAYER_CAMERA_STATE_FIELD_COUNT] = { - { "action", LVT_U32, offsetof(struct PlayerCameraState, action), false, LOT_NONE, 1, sizeof(u32) }, - { "cameraEvent", LVT_S16, offsetof(struct PlayerCameraState, cameraEvent), false, LOT_NONE, 1, sizeof(s16) }, - { "faceAngle", LVT_COBJECT, offsetof(struct PlayerCameraState, faceAngle), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "headRotation", LVT_COBJECT, offsetof(struct PlayerCameraState, headRotation), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "pos", LVT_COBJECT, offsetof(struct PlayerCameraState, pos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "unused", LVT_S16, offsetof(struct PlayerCameraState, unused), false, LOT_NONE, 1, sizeof(s16) }, - { "usedObj", LVT_COBJECT_P, offsetof(struct PlayerCameraState, usedObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "action", LVT_U32, offsetof(struct PlayerCameraState, action), false, LOT_NONE }, + { "cameraEvent", LVT_S16, offsetof(struct PlayerCameraState, cameraEvent), false, LOT_NONE }, + { "faceAngle", LVT_COBJECT, offsetof(struct PlayerCameraState, faceAngle), true, LOT_VEC3S }, + { "headRotation", LVT_COBJECT, offsetof(struct PlayerCameraState, headRotation), true, LOT_VEC3S }, + { "pos", LVT_COBJECT, offsetof(struct PlayerCameraState, pos), true, LOT_VEC3F }, + { "unused", LVT_S16, offsetof(struct PlayerCameraState, unused), false, LOT_NONE }, + { "usedObj", LVT_COBJECT_P, offsetof(struct PlayerCameraState, usedObj), false, LOT_OBJECT }, }; #define LUA_PLAYER_PALETTE_FIELD_COUNT 1 @@ -2466,210 +2470,210 @@ static struct LuaObjectField sPlayerPaletteFields[LUA_PLAYER_PALETTE_FIELD_COUNT #define LUA_RAY_INTERSECTION_INFO_FIELD_COUNT 2 static struct LuaObjectField sRayIntersectionInfoFields[LUA_RAY_INTERSECTION_INFO_FIELD_COUNT] = { - { "hitPos", LVT_COBJECT, offsetof(struct RayIntersectionInfo, hitPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "surface", LVT_COBJECT_P, offsetof(struct RayIntersectionInfo, surface), false, LOT_SURFACE, 1, sizeof(struct Surface*) }, + { "hitPos", LVT_COBJECT, offsetof(struct RayIntersectionInfo, hitPos), true, LOT_VEC3F }, + { "surface", LVT_COBJECT_P, offsetof(struct RayIntersectionInfo, surface), false, LOT_SURFACE }, }; #define LUA_ROMHACK_CAMERA_SETTINGS_FIELD_COUNT 10 static struct LuaObjectField sRomhackCameraSettingsFields[LUA_ROMHACK_CAMERA_SETTINGS_FIELD_COUNT] = { - { "centering", LVT_U8, offsetof(struct RomhackCameraSettings, centering), false, LOT_NONE, 1, sizeof(u8) }, - { "collisions", LVT_U8, offsetof(struct RomhackCameraSettings, collisions), false, LOT_NONE, 1, sizeof(u8) }, - { "dpad", LVT_U8, offsetof(struct RomhackCameraSettings, dpad), false, LOT_NONE, 1, sizeof(u8) }, - { "enable", LVT_S32, offsetof(struct RomhackCameraSettings, enable), false, LOT_NONE, 1, sizeof(enum RomhackCameraOverride) }, - { "modsOnly", LVT_U8, offsetof(struct RomhackCameraSettings, modsOnly), false, LOT_NONE, 1, sizeof(u8) }, - { "slowFall", LVT_U8, offsetof(struct RomhackCameraSettings, slowFall), false, LOT_NONE, 1, sizeof(u8) }, - { "zoomedInDist", LVT_U32, offsetof(struct RomhackCameraSettings, zoomedInDist), false, LOT_NONE, 1, sizeof(u32) }, - { "zoomedInHeight", LVT_U32, offsetof(struct RomhackCameraSettings, zoomedInHeight), false, LOT_NONE, 1, sizeof(u32) }, - { "zoomedOutDist", LVT_U32, offsetof(struct RomhackCameraSettings, zoomedOutDist), false, LOT_NONE, 1, sizeof(u32) }, - { "zoomedOutHeight", LVT_U32, offsetof(struct RomhackCameraSettings, zoomedOutHeight), false, LOT_NONE, 1, sizeof(u32) }, + { "centering", LVT_U8, offsetof(struct RomhackCameraSettings, centering), false, LOT_NONE }, + { "collisions", LVT_U8, offsetof(struct RomhackCameraSettings, collisions), false, LOT_NONE }, + { "dpad", LVT_U8, offsetof(struct RomhackCameraSettings, dpad), false, LOT_NONE }, + { "enable", LVT_S32, offsetof(struct RomhackCameraSettings, enable), false, LOT_NONE }, + { "modsOnly", LVT_U8, offsetof(struct RomhackCameraSettings, modsOnly), false, LOT_NONE }, + { "slowFall", LVT_U8, offsetof(struct RomhackCameraSettings, slowFall), false, LOT_NONE }, + { "zoomedInDist", LVT_U32, offsetof(struct RomhackCameraSettings, zoomedInDist), false, LOT_NONE }, + { "zoomedInHeight", LVT_U32, offsetof(struct RomhackCameraSettings, zoomedInHeight), false, LOT_NONE }, + { "zoomedOutDist", LVT_U32, offsetof(struct RomhackCameraSettings, zoomedOutDist), false, LOT_NONE }, + { "zoomedOutHeight", LVT_U32, offsetof(struct RomhackCameraSettings, zoomedOutHeight), false, LOT_NONE }, }; #define LUA_SERVER_SETTINGS_FIELD_COUNT 13 static struct LuaObjectField sServerSettingsFields[LUA_SERVER_SETTINGS_FIELD_COUNT] = { - { "bouncyLevelBounds", LVT_S32, offsetof(struct ServerSettings, bouncyLevelBounds), false, LOT_NONE, 1, sizeof(enum BouncyLevelBounds) }, - { "bubbleDeath", LVT_U8, offsetof(struct ServerSettings, bubbleDeath), false, LOT_NONE, 1, sizeof(u8) }, - { "enablePlayerList", LVT_U8, offsetof(struct ServerSettings, enablePlayerList), false, LOT_NONE, 1, sizeof(u8) }, - { "enablePlayersInLevelDisplay", LVT_U8, offsetof(struct ServerSettings, enablePlayersInLevelDisplay), false, LOT_NONE, 1, sizeof(u8) }, - { "headlessServer", LVT_U8, offsetof(struct ServerSettings, headlessServer), false, LOT_NONE, 1, sizeof(u8) }, - { "maxPlayers", LVT_U8, offsetof(struct ServerSettings, maxPlayers), false, LOT_NONE, 1, sizeof(u8) }, - { "nametags", LVT_U8, offsetof(struct ServerSettings, nametags), false, LOT_NONE, 1, sizeof(u8) }, - { "pauseAnywhere", LVT_U8, offsetof(struct ServerSettings, pauseAnywhere), false, LOT_NONE, 1, sizeof(u8) }, - { "playerInteractions", LVT_S32, offsetof(struct ServerSettings, playerInteractions), false, LOT_NONE, 1, sizeof(enum PlayerInteractions) }, - { "playerKnockbackStrength", LVT_U8, offsetof(struct ServerSettings, playerKnockbackStrength), false, LOT_NONE, 1, sizeof(u8) }, - { "pvpType", LVT_S32, offsetof(struct ServerSettings, pvpType), false, LOT_NONE, 1, sizeof(enum PvpType) }, - { "skipIntro", LVT_U8, offsetof(struct ServerSettings, skipIntro), false, LOT_NONE, 1, sizeof(u8) }, - { "stayInLevelAfterStar", LVT_U8, offsetof(struct ServerSettings, stayInLevelAfterStar), false, LOT_NONE, 1, sizeof(u8) }, + { "bouncyLevelBounds", LVT_S32, offsetof(struct ServerSettings, bouncyLevelBounds), false, LOT_NONE }, + { "bubbleDeath", LVT_U8, offsetof(struct ServerSettings, bubbleDeath), false, LOT_NONE }, + { "enablePlayerList", LVT_U8, offsetof(struct ServerSettings, enablePlayerList), false, LOT_NONE }, + { "enablePlayersInLevelDisplay", LVT_U8, offsetof(struct ServerSettings, enablePlayersInLevelDisplay), false, LOT_NONE }, + { "headlessServer", LVT_U8, offsetof(struct ServerSettings, headlessServer), false, LOT_NONE }, + { "maxPlayers", LVT_U8, offsetof(struct ServerSettings, maxPlayers), false, LOT_NONE }, + { "nametags", LVT_U8, offsetof(struct ServerSettings, nametags), false, LOT_NONE }, + { "pauseAnywhere", LVT_U8, offsetof(struct ServerSettings, pauseAnywhere), false, LOT_NONE }, + { "playerInteractions", LVT_S32, offsetof(struct ServerSettings, playerInteractions), false, LOT_NONE }, + { "playerKnockbackStrength", LVT_U8, offsetof(struct ServerSettings, playerKnockbackStrength), false, LOT_NONE }, + { "pvpType", LVT_S32, offsetof(struct ServerSettings, pvpType), false, LOT_NONE }, + { "skipIntro", LVT_U8, offsetof(struct ServerSettings, skipIntro), false, LOT_NONE }, + { "stayInLevelAfterStar", LVT_U8, offsetof(struct ServerSettings, stayInLevelAfterStar), false, LOT_NONE }, }; #define LUA_SPAWN_INFO_FIELD_COUNT 8 static struct LuaObjectField sSpawnInfoFields[LUA_SPAWN_INFO_FIELD_COUNT] = { - { "activeAreaIndex", LVT_S8, offsetof(struct SpawnInfo, activeAreaIndex), false, LOT_NONE, 1, sizeof(s8) }, - { "areaIndex", LVT_S8, offsetof(struct SpawnInfo, areaIndex), false, LOT_NONE, 1, sizeof(s8) }, - { "behaviorArg", LVT_U32, offsetof(struct SpawnInfo, behaviorArg), false, LOT_NONE, 1, sizeof(u32) }, -// { "behaviorScript", LVT_???, offsetof(struct SpawnInfo, behaviorScript), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED - { "next", LVT_COBJECT_P, offsetof(struct SpawnInfo, next), true, LOT_SPAWNINFO, 1, sizeof(struct SpawnInfo*) }, - { "startAngle", LVT_COBJECT, offsetof(struct SpawnInfo, startAngle), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "startPos", LVT_COBJECT, offsetof(struct SpawnInfo, startPos), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "syncID", LVT_U32, offsetof(struct SpawnInfo, syncID), true, LOT_NONE, 1, sizeof(u32) }, - { "unk18", LVT_COBJECT_P, offsetof(struct SpawnInfo, unk18), true, LOT_GRAPHNODE, 1, sizeof(struct GraphNode*) }, + { "activeAreaIndex", LVT_S8, offsetof(struct SpawnInfo, activeAreaIndex), false, LOT_NONE }, + { "areaIndex", LVT_S8, offsetof(struct SpawnInfo, areaIndex), false, LOT_NONE }, + { "behaviorArg", LVT_U32, offsetof(struct SpawnInfo, behaviorArg), false, LOT_NONE }, +// { "behaviorScript", LVT_???, offsetof(struct SpawnInfo, behaviorScript), false, LOT_??? }, <--- UNIMPLEMENTED + { "next", LVT_COBJECT_P, offsetof(struct SpawnInfo, next), true, LOT_SPAWNINFO }, + { "startAngle", LVT_COBJECT, offsetof(struct SpawnInfo, startAngle), true, LOT_VEC3S }, + { "startPos", LVT_COBJECT, offsetof(struct SpawnInfo, startPos), true, LOT_VEC3S }, + { "syncID", LVT_U32, offsetof(struct SpawnInfo, syncID), true, LOT_NONE }, + { "unk18", LVT_COBJECT_P, offsetof(struct SpawnInfo, unk18), true, LOT_GRAPHNODE }, }; #define LUA_SPAWN_PARTICLES_INFO_FIELD_COUNT 12 static struct LuaObjectField sSpawnParticlesInfoFields[LUA_SPAWN_PARTICLES_INFO_FIELD_COUNT] = { - { "behParam", LVT_S8, offsetof(struct SpawnParticlesInfo, behParam), false, LOT_NONE, 1, sizeof(s8) }, - { "count", LVT_S8, offsetof(struct SpawnParticlesInfo, count), false, LOT_NONE, 1, sizeof(s8) }, - { "dragStrength", LVT_S8, offsetof(struct SpawnParticlesInfo, dragStrength), false, LOT_NONE, 1, sizeof(s8) }, - { "forwardVelBase", LVT_S8, offsetof(struct SpawnParticlesInfo, forwardVelBase), false, LOT_NONE, 1, sizeof(s8) }, - { "forwardVelRange", LVT_S8, offsetof(struct SpawnParticlesInfo, forwardVelRange), false, LOT_NONE, 1, sizeof(s8) }, - { "gravity", LVT_S8, offsetof(struct SpawnParticlesInfo, gravity), false, LOT_NONE, 1, sizeof(s8) }, - { "model", LVT_U16, offsetof(struct SpawnParticlesInfo, model), true, LOT_NONE, 1, sizeof(u16) }, - { "offsetY", LVT_S8, offsetof(struct SpawnParticlesInfo, offsetY), false, LOT_NONE, 1, sizeof(s8) }, - { "sizeBase", LVT_F32, offsetof(struct SpawnParticlesInfo, sizeBase), false, LOT_NONE, 1, sizeof(f32) }, - { "sizeRange", LVT_F32, offsetof(struct SpawnParticlesInfo, sizeRange), false, LOT_NONE, 1, sizeof(f32) }, - { "velYBase", LVT_S8, offsetof(struct SpawnParticlesInfo, velYBase), false, LOT_NONE, 1, sizeof(s8) }, - { "velYRange", LVT_S8, offsetof(struct SpawnParticlesInfo, velYRange), false, LOT_NONE, 1, sizeof(s8) }, + { "behParam", LVT_S8, offsetof(struct SpawnParticlesInfo, behParam), false, LOT_NONE }, + { "count", LVT_S8, offsetof(struct SpawnParticlesInfo, count), false, LOT_NONE }, + { "dragStrength", LVT_S8, offsetof(struct SpawnParticlesInfo, dragStrength), false, LOT_NONE }, + { "forwardVelBase", LVT_S8, offsetof(struct SpawnParticlesInfo, forwardVelBase), false, LOT_NONE }, + { "forwardVelRange", LVT_S8, offsetof(struct SpawnParticlesInfo, forwardVelRange), false, LOT_NONE }, + { "gravity", LVT_S8, offsetof(struct SpawnParticlesInfo, gravity), false, LOT_NONE }, + { "model", LVT_U16, offsetof(struct SpawnParticlesInfo, model), true, LOT_NONE }, + { "offsetY", LVT_S8, offsetof(struct SpawnParticlesInfo, offsetY), false, LOT_NONE }, + { "sizeBase", LVT_F32, offsetof(struct SpawnParticlesInfo, sizeBase), false, LOT_NONE }, + { "sizeRange", LVT_F32, offsetof(struct SpawnParticlesInfo, sizeRange), false, LOT_NONE }, + { "velYBase", LVT_S8, offsetof(struct SpawnParticlesInfo, velYBase), false, LOT_NONE }, + { "velYRange", LVT_S8, offsetof(struct SpawnParticlesInfo, velYRange), false, LOT_NONE }, }; #define LUA_STAR_POSITIONS_FIELD_COUNT 26 static struct LuaObjectField sStarPositionsFields[LUA_STAR_POSITIONS_FIELD_COUNT] = { - { "BalconyBooStarPos", LVT_COBJECT, offsetof(struct StarPositions, BalconyBooStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "BigBullyStarPos", LVT_COBJECT, offsetof(struct StarPositions, BigBullyStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "BigBullyTrioStarPos", LVT_COBJECT, offsetof(struct StarPositions, BigBullyTrioStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "BigPiranhasStarPos", LVT_COBJECT, offsetof(struct StarPositions, BigPiranhasStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "CcmSlideStarPos", LVT_COBJECT, offsetof(struct StarPositions, CcmSlideStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "ChillBullyStarPos", LVT_COBJECT, offsetof(struct StarPositions, ChillBullyStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "EyerockStarPos", LVT_COBJECT, offsetof(struct StarPositions, EyerockStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "GhostHuntBooStarPos", LVT_COBJECT, offsetof(struct StarPositions, GhostHuntBooStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "JetstreamRingStarPos", LVT_COBJECT, offsetof(struct StarPositions, JetstreamRingStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "KingBobombStarPos", LVT_COBJECT, offsetof(struct StarPositions, KingBobombStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "KingWhompStarPos", LVT_COBJECT, offsetof(struct StarPositions, KingWhompStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "KleptoStarPos", LVT_COBJECT, offsetof(struct StarPositions, KleptoStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "KoopaBobStarPos", LVT_COBJECT, offsetof(struct StarPositions, KoopaBobStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "KoopaThiStarPos", LVT_COBJECT, offsetof(struct StarPositions, KoopaThiStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "MantaRayStarPos", LVT_COBJECT, offsetof(struct StarPositions, MantaRayStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "MerryGoRoundStarPos", LVT_COBJECT, offsetof(struct StarPositions, MerryGoRoundStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "MrIStarPos", LVT_COBJECT, offsetof(struct StarPositions, MrIStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "PssSlideStarPos", LVT_COBJECT, offsetof(struct StarPositions, PssSlideStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "RacingPenguinStarPos", LVT_COBJECT, offsetof(struct StarPositions, RacingPenguinStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "SnowmanHeadStarPos", LVT_COBJECT, offsetof(struct StarPositions, SnowmanHeadStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "TreasureChestStarPos", LVT_COBJECT, offsetof(struct StarPositions, TreasureChestStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "TreasureJrbStarPos", LVT_COBJECT, offsetof(struct StarPositions, TreasureJrbStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "TuxieMotherStarPos", LVT_COBJECT, offsetof(struct StarPositions, TuxieMotherStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "UkikiCageStarPos", LVT_COBJECT, offsetof(struct StarPositions, UkikiCageStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "UnagiStarPos", LVT_COBJECT, offsetof(struct StarPositions, UnagiStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "WigglerStarPos", LVT_COBJECT, offsetof(struct StarPositions, WigglerStarPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, + { "BalconyBooStarPos", LVT_COBJECT, offsetof(struct StarPositions, BalconyBooStarPos), true, LOT_VEC3F }, + { "BigBullyStarPos", LVT_COBJECT, offsetof(struct StarPositions, BigBullyStarPos), true, LOT_VEC3F }, + { "BigBullyTrioStarPos", LVT_COBJECT, offsetof(struct StarPositions, BigBullyTrioStarPos), true, LOT_VEC3F }, + { "BigPiranhasStarPos", LVT_COBJECT, offsetof(struct StarPositions, BigPiranhasStarPos), true, LOT_VEC3F }, + { "CcmSlideStarPos", LVT_COBJECT, offsetof(struct StarPositions, CcmSlideStarPos), true, LOT_VEC3F }, + { "ChillBullyStarPos", LVT_COBJECT, offsetof(struct StarPositions, ChillBullyStarPos), true, LOT_VEC3F }, + { "EyerockStarPos", LVT_COBJECT, offsetof(struct StarPositions, EyerockStarPos), true, LOT_VEC3F }, + { "GhostHuntBooStarPos", LVT_COBJECT, offsetof(struct StarPositions, GhostHuntBooStarPos), true, LOT_VEC3F }, + { "JetstreamRingStarPos", LVT_COBJECT, offsetof(struct StarPositions, JetstreamRingStarPos), true, LOT_VEC3F }, + { "KingBobombStarPos", LVT_COBJECT, offsetof(struct StarPositions, KingBobombStarPos), true, LOT_VEC3F }, + { "KingWhompStarPos", LVT_COBJECT, offsetof(struct StarPositions, KingWhompStarPos), true, LOT_VEC3F }, + { "KleptoStarPos", LVT_COBJECT, offsetof(struct StarPositions, KleptoStarPos), true, LOT_VEC3F }, + { "KoopaBobStarPos", LVT_COBJECT, offsetof(struct StarPositions, KoopaBobStarPos), true, LOT_VEC3F }, + { "KoopaThiStarPos", LVT_COBJECT, offsetof(struct StarPositions, KoopaThiStarPos), true, LOT_VEC3F }, + { "MantaRayStarPos", LVT_COBJECT, offsetof(struct StarPositions, MantaRayStarPos), true, LOT_VEC3F }, + { "MerryGoRoundStarPos", LVT_COBJECT, offsetof(struct StarPositions, MerryGoRoundStarPos), true, LOT_VEC3F }, + { "MrIStarPos", LVT_COBJECT, offsetof(struct StarPositions, MrIStarPos), true, LOT_VEC3F }, + { "PssSlideStarPos", LVT_COBJECT, offsetof(struct StarPositions, PssSlideStarPos), true, LOT_VEC3F }, + { "RacingPenguinStarPos", LVT_COBJECT, offsetof(struct StarPositions, RacingPenguinStarPos), true, LOT_VEC3F }, + { "SnowmanHeadStarPos", LVT_COBJECT, offsetof(struct StarPositions, SnowmanHeadStarPos), true, LOT_VEC3F }, + { "TreasureChestStarPos", LVT_COBJECT, offsetof(struct StarPositions, TreasureChestStarPos), true, LOT_VEC3F }, + { "TreasureJrbStarPos", LVT_COBJECT, offsetof(struct StarPositions, TreasureJrbStarPos), true, LOT_VEC3F }, + { "TuxieMotherStarPos", LVT_COBJECT, offsetof(struct StarPositions, TuxieMotherStarPos), true, LOT_VEC3F }, + { "UkikiCageStarPos", LVT_COBJECT, offsetof(struct StarPositions, UkikiCageStarPos), true, LOT_VEC3F }, + { "UnagiStarPos", LVT_COBJECT, offsetof(struct StarPositions, UnagiStarPos), true, LOT_VEC3F }, + { "WigglerStarPos", LVT_COBJECT, offsetof(struct StarPositions, WigglerStarPos), true, LOT_VEC3F }, }; #define LUA_STARS_NEEDED_FOR_DIALOG_FIELD_COUNT 6 static struct LuaObjectField sStarsNeededForDialogFields[LUA_STARS_NEEDED_FOR_DIALOG_FIELD_COUNT] = { - { "dialog1", LVT_U16, offsetof(struct StarsNeededForDialog, dialog1), false, LOT_NONE, 1, sizeof(u16) }, - { "dialog2", LVT_U16, offsetof(struct StarsNeededForDialog, dialog2), false, LOT_NONE, 1, sizeof(u16) }, - { "dialog3", LVT_U16, offsetof(struct StarsNeededForDialog, dialog3), false, LOT_NONE, 1, sizeof(u16) }, - { "dialog4", LVT_U16, offsetof(struct StarsNeededForDialog, dialog4), false, LOT_NONE, 1, sizeof(u16) }, - { "dialog5", LVT_U16, offsetof(struct StarsNeededForDialog, dialog5), false, LOT_NONE, 1, sizeof(u16) }, - { "dialog6", LVT_U16, offsetof(struct StarsNeededForDialog, dialog6), false, LOT_NONE, 1, sizeof(u16) }, + { "dialog1", LVT_U16, offsetof(struct StarsNeededForDialog, dialog1), false, LOT_NONE }, + { "dialog2", LVT_U16, offsetof(struct StarsNeededForDialog, dialog2), false, LOT_NONE }, + { "dialog3", LVT_U16, offsetof(struct StarsNeededForDialog, dialog3), false, LOT_NONE }, + { "dialog4", LVT_U16, offsetof(struct StarsNeededForDialog, dialog4), false, LOT_NONE }, + { "dialog5", LVT_U16, offsetof(struct StarsNeededForDialog, dialog5), false, LOT_NONE }, + { "dialog6", LVT_U16, offsetof(struct StarsNeededForDialog, dialog6), false, LOT_NONE }, }; #define LUA_STATIC_OBJECT_COLLISION_FIELD_COUNT 2 static struct LuaObjectField sStaticObjectCollisionFields[LUA_STATIC_OBJECT_COLLISION_FIELD_COUNT] = { - { "index", LVT_U32, offsetof(struct StaticObjectCollision, index), true, LOT_NONE, 1, sizeof(u32) }, - { "length", LVT_U16, offsetof(struct StaticObjectCollision, length), true, LOT_NONE, 1, sizeof(u16) }, + { "index", LVT_U32, offsetof(struct StaticObjectCollision, index), true, LOT_NONE }, + { "length", LVT_U16, offsetof(struct StaticObjectCollision, length), true, LOT_NONE }, }; #define LUA_SURFACE_FIELD_COUNT 16 static struct LuaObjectField sSurfaceFields[LUA_SURFACE_FIELD_COUNT] = { - { "flags", LVT_S8, offsetof(struct Surface, flags), false, LOT_NONE, 1, sizeof(s8) }, - { "force", LVT_S16, offsetof(struct Surface, force), false, LOT_NONE, 1, sizeof(s16) }, - { "lowerY", LVT_S16, offsetof(struct Surface, lowerY), false, LOT_NONE, 1, sizeof(s16) }, - { "modifiedTimestamp", LVT_U32, offsetof(struct Surface, modifiedTimestamp), false, LOT_NONE, 1, sizeof(u32) }, - { "normal", LVT_COBJECT, offsetof(struct Surface, normal), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "object", LVT_COBJECT_P, offsetof(struct Surface, object), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "originOffset", LVT_F32, offsetof(struct Surface, originOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "prevVertex1", LVT_COBJECT, offsetof(struct Surface, prevVertex1), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "prevVertex2", LVT_COBJECT, offsetof(struct Surface, prevVertex2), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "prevVertex3", LVT_COBJECT, offsetof(struct Surface, prevVertex3), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "room", LVT_S8, offsetof(struct Surface, room), false, LOT_NONE, 1, sizeof(s8) }, - { "type", LVT_S16, offsetof(struct Surface, type), false, LOT_NONE, 1, sizeof(s16) }, - { "upperY", LVT_S16, offsetof(struct Surface, upperY), false, LOT_NONE, 1, sizeof(s16) }, - { "vertex1", LVT_COBJECT, offsetof(struct Surface, vertex1), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "vertex2", LVT_COBJECT, offsetof(struct Surface, vertex2), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "vertex3", LVT_COBJECT, offsetof(struct Surface, vertex3), true, LOT_VEC3S, 1, sizeof(Vec3s) }, + { "flags", LVT_S8, offsetof(struct Surface, flags), false, LOT_NONE }, + { "force", LVT_S16, offsetof(struct Surface, force), false, LOT_NONE }, + { "lowerY", LVT_S16, offsetof(struct Surface, lowerY), false, LOT_NONE }, + { "modifiedTimestamp", LVT_U32, offsetof(struct Surface, modifiedTimestamp), false, LOT_NONE }, + { "normal", LVT_COBJECT, offsetof(struct Surface, normal), true, LOT_VEC3F }, + { "object", LVT_COBJECT_P, offsetof(struct Surface, object), false, LOT_OBJECT }, + { "originOffset", LVT_F32, offsetof(struct Surface, originOffset), false, LOT_NONE }, + { "prevVertex1", LVT_COBJECT, offsetof(struct Surface, prevVertex1), true, LOT_VEC3S }, + { "prevVertex2", LVT_COBJECT, offsetof(struct Surface, prevVertex2), true, LOT_VEC3S }, + { "prevVertex3", LVT_COBJECT, offsetof(struct Surface, prevVertex3), true, LOT_VEC3S }, + { "room", LVT_S8, offsetof(struct Surface, room), false, LOT_NONE }, + { "type", LVT_S16, offsetof(struct Surface, type), false, LOT_NONE }, + { "upperY", LVT_S16, offsetof(struct Surface, upperY), false, LOT_NONE }, + { "vertex1", LVT_COBJECT, offsetof(struct Surface, vertex1), true, LOT_VEC3S }, + { "vertex2", LVT_COBJECT, offsetof(struct Surface, vertex2), true, LOT_VEC3S }, + { "vertex3", LVT_COBJECT, offsetof(struct Surface, vertex3), true, LOT_VEC3S }, }; #define LUA_TEXTURE_INFO_FIELD_COUNT 6 static struct LuaObjectField sTextureInfoFields[LUA_TEXTURE_INFO_FIELD_COUNT] = { - { "format", LVT_U8, offsetof(struct TextureInfo, format), true, LOT_NONE, 1, sizeof(u8) }, - { "height", LVT_U32, offsetof(struct TextureInfo, height), true, LOT_NONE, 1, sizeof(u32) }, - { "name", LVT_STRING_P, offsetof(struct TextureInfo, name), true, LOT_NONE, 1, sizeof(const char*) }, - { "size", LVT_U8, offsetof(struct TextureInfo, size), true, LOT_NONE, 1, sizeof(u8) }, - { "texture", LVT_TEXTURE_P, offsetof(struct TextureInfo, texture), true, LOT_POINTER, 1, sizeof(const Texture*) }, - { "width", LVT_U32, offsetof(struct TextureInfo, width), true, LOT_NONE, 1, sizeof(u32) }, + { "format", LVT_U8, offsetof(struct TextureInfo, format), true, LOT_NONE }, + { "height", LVT_U32, offsetof(struct TextureInfo, height), true, LOT_NONE }, + { "name", LVT_STRING_P, offsetof(struct TextureInfo, name), true, LOT_NONE }, + { "size", LVT_U8, offsetof(struct TextureInfo, size), true, LOT_NONE }, + { "texture", LVT_TEXTURE_P, offsetof(struct TextureInfo, texture), true, LOT_POINTER }, + { "width", LVT_U32, offsetof(struct TextureInfo, width), true, LOT_NONE }, }; #define LUA_VTX_FIELD_COUNT 13 static struct LuaObjectField sVtxFields[LUA_VTX_FIELD_COUNT] = { - { "a", LVT_U8, offsetof(Vtx_L, a), false, LOT_NONE, 1, sizeof(unsigned char) }, - { "b", LVT_U8, offsetof(Vtx_L, b), false, LOT_NONE, 1, sizeof(unsigned char) }, - { "flag", LVT_U16, offsetof(Vtx_L, flag), false, LOT_NONE, 1, sizeof(unsigned short) }, - { "g", LVT_U8, offsetof(Vtx_L, g), false, LOT_NONE, 1, sizeof(unsigned char) }, - { "nx", LVT_S8, offsetof(Vtx_L, nx), false, LOT_NONE, 1, sizeof(signed char) }, - { "ny", LVT_S8, offsetof(Vtx_L, ny), false, LOT_NONE, 1, sizeof(signed char) }, - { "nz", LVT_S8, offsetof(Vtx_L, nz), false, LOT_NONE, 1, sizeof(signed char) }, - { "r", LVT_U8, offsetof(Vtx_L, r), false, LOT_NONE, 1, sizeof(unsigned char) }, - { "tu", LVT_S16, offsetof(Vtx_L, tu), false, LOT_NONE, 1, sizeof(short) }, - { "tv", LVT_S16, offsetof(Vtx_L, tv), false, LOT_NONE, 1, sizeof(short) }, - { "x", LVT_F32, offsetof(Vtx_L, x), false, LOT_NONE, 1, sizeof(float) }, - { "y", LVT_F32, offsetof(Vtx_L, y), false, LOT_NONE, 1, sizeof(float) }, - { "z", LVT_F32, offsetof(Vtx_L, z), false, LOT_NONE, 1, sizeof(float) }, + { "a", LVT_U8, offsetof(Vtx_L, a), false, LOT_NONE }, + { "b", LVT_U8, offsetof(Vtx_L, b), false, LOT_NONE }, + { "flag", LVT_U16, offsetof(Vtx_L, flag), false, LOT_NONE }, + { "g", LVT_U8, offsetof(Vtx_L, g), false, LOT_NONE }, + { "nx", LVT_S8, offsetof(Vtx_L, nx), false, LOT_NONE }, + { "ny", LVT_S8, offsetof(Vtx_L, ny), false, LOT_NONE }, + { "nz", LVT_S8, offsetof(Vtx_L, nz), false, LOT_NONE }, + { "r", LVT_U8, offsetof(Vtx_L, r), false, LOT_NONE }, + { "tu", LVT_S16, offsetof(Vtx_L, tu), false, LOT_NONE }, + { "tv", LVT_S16, offsetof(Vtx_L, tv), false, LOT_NONE }, + { "x", LVT_F32, offsetof(Vtx_L, x), false, LOT_NONE }, + { "y", LVT_F32, offsetof(Vtx_L, y), false, LOT_NONE }, + { "z", LVT_F32, offsetof(Vtx_L, z), false, LOT_NONE }, }; #define LUA_WALL_COLLISION_DATA_FIELD_COUNT 10 static struct LuaObjectField sWallCollisionDataFields[LUA_WALL_COLLISION_DATA_FIELD_COUNT] = { - { "normalAddition", LVT_COBJECT, offsetof(struct WallCollisionData, normalAddition), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "normalCount", LVT_U8, offsetof(struct WallCollisionData, normalCount), false, LOT_NONE, 1, sizeof(u8) }, - { "numWalls", LVT_S16, offsetof(struct WallCollisionData, numWalls), false, LOT_NONE, 1, sizeof(s16) }, - { "offsetY", LVT_F32, offsetof(struct WallCollisionData, offsetY), false, LOT_NONE, 1, sizeof(f32) }, - { "radius", LVT_F32, offsetof(struct WallCollisionData, radius), false, LOT_NONE, 1, sizeof(f32) }, - { "unused", LVT_S16, offsetof(struct WallCollisionData, unused), false, LOT_NONE, 1, sizeof(s16) }, + { "normalAddition", LVT_COBJECT, offsetof(struct WallCollisionData, normalAddition), true, LOT_VEC3F }, + { "normalCount", LVT_U8, offsetof(struct WallCollisionData, normalCount), false, LOT_NONE }, + { "numWalls", LVT_S16, offsetof(struct WallCollisionData, numWalls), false, LOT_NONE }, + { "offsetY", LVT_F32, offsetof(struct WallCollisionData, offsetY), false, LOT_NONE }, + { "radius", LVT_F32, offsetof(struct WallCollisionData, radius), false, LOT_NONE }, + { "unused", LVT_S16, offsetof(struct WallCollisionData, unused), false, LOT_NONE }, { "walls", LVT_COBJECT_P, offsetof(struct WallCollisionData, walls), false, LOT_SURFACE, 4, sizeof(struct Surface*) }, - { "x", LVT_F32, offsetof(struct WallCollisionData, x), false, LOT_NONE, 1, sizeof(f32) }, - { "y", LVT_F32, offsetof(struct WallCollisionData, y), false, LOT_NONE, 1, sizeof(f32) }, - { "z", LVT_F32, offsetof(struct WallCollisionData, z), false, LOT_NONE, 1, sizeof(f32) }, + { "x", LVT_F32, offsetof(struct WallCollisionData, x), false, LOT_NONE }, + { "y", LVT_F32, offsetof(struct WallCollisionData, y), false, LOT_NONE }, + { "z", LVT_F32, offsetof(struct WallCollisionData, z), false, LOT_NONE }, }; #define LUA_WARP_NODE_FIELD_COUNT 4 static struct LuaObjectField sWarpNodeFields[LUA_WARP_NODE_FIELD_COUNT] = { - { "destArea", LVT_U8, offsetof(struct WarpNode, destArea), false, LOT_NONE, 1, sizeof(u8) }, - { "destLevel", LVT_U8, offsetof(struct WarpNode, destLevel), false, LOT_NONE, 1, sizeof(u8) }, - { "destNode", LVT_U8, offsetof(struct WarpNode, destNode), false, LOT_NONE, 1, sizeof(u8) }, - { "id", LVT_U8, offsetof(struct WarpNode, id), false, LOT_NONE, 1, sizeof(u8) }, + { "destArea", LVT_U8, offsetof(struct WarpNode, destArea), false, LOT_NONE }, + { "destLevel", LVT_U8, offsetof(struct WarpNode, destLevel), false, LOT_NONE }, + { "destNode", LVT_U8, offsetof(struct WarpNode, destNode), false, LOT_NONE }, + { "id", LVT_U8, offsetof(struct WarpNode, id), false, LOT_NONE }, }; #define LUA_WATER_DROPLET_PARAMS_FIELD_COUNT 11 static struct LuaObjectField sWaterDropletParamsFields[LUA_WATER_DROPLET_PARAMS_FIELD_COUNT] = { - { "behavior", LVT_BEHAVIORSCRIPT_P, offsetof(struct WaterDropletParams, behavior), true, LOT_POINTER, 1, sizeof(const BehaviorScript*) }, - { "flags", LVT_S16, offsetof(struct WaterDropletParams, flags), false, LOT_NONE, 1, sizeof(s16) }, - { "model", LVT_S16, offsetof(struct WaterDropletParams, model), true, LOT_NONE, 1, sizeof(s16) }, - { "moveAngleRange", LVT_S16, offsetof(struct WaterDropletParams, moveAngleRange), false, LOT_NONE, 1, sizeof(s16) }, - { "moveRange", LVT_S16, offsetof(struct WaterDropletParams, moveRange), false, LOT_NONE, 1, sizeof(s16) }, - { "randForwardVelOffset", LVT_F32, offsetof(struct WaterDropletParams, randForwardVelOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "randForwardVelScale", LVT_F32, offsetof(struct WaterDropletParams, randForwardVelScale), false, LOT_NONE, 1, sizeof(f32) }, - { "randSizeOffset", LVT_F32, offsetof(struct WaterDropletParams, randSizeOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "randSizeScale", LVT_F32, offsetof(struct WaterDropletParams, randSizeScale), false, LOT_NONE, 1, sizeof(f32) }, - { "randYVelOffset", LVT_F32, offsetof(struct WaterDropletParams, randYVelOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "randYVelScale", LVT_F32, offsetof(struct WaterDropletParams, randYVelScale), false, LOT_NONE, 1, sizeof(f32) }, + { "behavior", LVT_BEHAVIORSCRIPT_P, offsetof(struct WaterDropletParams, behavior), true, LOT_POINTER }, + { "flags", LVT_S16, offsetof(struct WaterDropletParams, flags), false, LOT_NONE }, + { "model", LVT_S16, offsetof(struct WaterDropletParams, model), true, LOT_NONE }, + { "moveAngleRange", LVT_S16, offsetof(struct WaterDropletParams, moveAngleRange), false, LOT_NONE }, + { "moveRange", LVT_S16, offsetof(struct WaterDropletParams, moveRange), false, LOT_NONE }, + { "randForwardVelOffset", LVT_F32, offsetof(struct WaterDropletParams, randForwardVelOffset), false, LOT_NONE }, + { "randForwardVelScale", LVT_F32, offsetof(struct WaterDropletParams, randForwardVelScale), false, LOT_NONE }, + { "randSizeOffset", LVT_F32, offsetof(struct WaterDropletParams, randSizeOffset), false, LOT_NONE }, + { "randSizeScale", LVT_F32, offsetof(struct WaterDropletParams, randSizeScale), false, LOT_NONE }, + { "randYVelOffset", LVT_F32, offsetof(struct WaterDropletParams, randYVelOffset), false, LOT_NONE }, + { "randYVelScale", LVT_F32, offsetof(struct WaterDropletParams, randYVelScale), false, LOT_NONE }, }; #define LUA_WAYPOINT_FIELD_COUNT 2 static struct LuaObjectField sWaypointFields[LUA_WAYPOINT_FIELD_COUNT] = { - { "flags", LVT_S16, offsetof(struct Waypoint, flags), false, LOT_NONE, 1, sizeof(s16) }, - { "pos", LVT_COBJECT, offsetof(struct Waypoint, pos), true, LOT_VEC3S, 1, sizeof(Vec3s) }, + { "flags", LVT_S16, offsetof(struct Waypoint, flags), false, LOT_NONE }, + { "pos", LVT_COBJECT, offsetof(struct Waypoint, pos), true, LOT_VEC3S }, }; #define LUA_WHIRLPOOL_FIELD_COUNT 2 static struct LuaObjectField sWhirlpoolFields[LUA_WHIRLPOOL_FIELD_COUNT] = { - { "pos", LVT_COBJECT, offsetof(struct Whirlpool, pos), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "strength", LVT_S16, offsetof(struct Whirlpool, strength), false, LOT_NONE, 1, sizeof(s16) }, + { "pos", LVT_COBJECT, offsetof(struct Whirlpool, pos), true, LOT_VEC3S }, + { "strength", LVT_S16, offsetof(struct Whirlpool, strength), false, LOT_NONE }, }; struct LuaObjectTable sLuaObjectAutogenTable[LOT_AUTOGEN_MAX - LOT_AUTOGEN_MIN] = { diff --git a/src/pc/lua/utils/smlua_audio_utils.h b/src/pc/lua/utils/smlua_audio_utils.h index 93696c80d..29fa17d45 100644 --- a/src/pc/lua/utils/smlua_audio_utils.h +++ b/src/pc/lua/utils/smlua_audio_utils.h @@ -33,6 +33,11 @@ struct ModAudio { bool isStream; f32 baseVolume; bool loaded; + + PROPERTY(position, audio_stream_get_position, audio_stream_set_position); + PROPERTY(looping, audio_stream_get_looping, audio_stream_set_looping); + PROPERTY(frequency, audio_stream_get_frequency, audio_stream_set_frequency); + PROPERTY(volume, audio_stream_get_volume, audio_stream_set_volume); }; /* |description|Loads an `audio` stream by `filename` (with extension)|descriptionEnd| */