From 44fca9aede35d61d9b466183e3d0f327736e650f Mon Sep 17 00:00:00 2001 From: MysterD Date: Tue, 22 Feb 2022 18:29:30 -0800 Subject: [PATCH] Added BehaviorScript pointer handling to Lua API --- autogen/common.py | 8 +- autogen/convert_functions.py | 5 +- docs/lua/functions.md | 42 + docs/lua/structs.md | 3 + src/pc/lua/smlua_cobject.c | 2 + src/pc/lua/smlua_cobject.h | 2 + src/pc/lua/smlua_cobject_autogen.c | 1548 +++++++++++++------------- src/pc/lua/smlua_functions_autogen.c | 45 +- 8 files changed, 843 insertions(+), 812 deletions(-) diff --git a/autogen/common.py b/autogen/common.py index b866fe7b1..818188112 100644 --- a/autogen/common.py +++ b/autogen/common.py @@ -2,6 +2,7 @@ import os usf_types = ['u8', 'u16', 'u32', 'u64', 's8', 's16', 's32', 's64', 'f32'] vec3_types = ['Vec3s', 'Vec3f'] +typedef_pointers = ['BehaviorScript'] exclude_structs = [ 'SPTask', @@ -54,7 +55,7 @@ def translate_type_to_lvt(ptype): if ptype.count('*') == 1 and '(' not in ptype and '[' not in ptype: ptype = ptype.replace('const', '').replace('*', '').strip() - if ptype in usf_types: + if ptype in usf_types or ptype in typedef_pointers: return 'LVT_%s_P' % ptype.upper() return 'LVT_???' @@ -92,10 +93,13 @@ def translate_type_to_lot(ptype): if 'struct' in ptype: if ptype.count('*') > 1: - return 'LVT_???' + return 'LOT_???' + struct_id = ptype.split(' ')[1].replace('*', '') + if struct_id in exclude_structs: return 'LOT_???' + return 'LOT_' + struct_id.upper() if ptype.count('*') == 1 and '???' not in translate_type_to_lvt(ptype): diff --git a/autogen/convert_functions.py b/autogen/convert_functions.py index 254c3430d..b405b8fa2 100644 --- a/autogen/convert_functions.py +++ b/autogen/convert_functions.py @@ -51,7 +51,7 @@ override_disallowed_functions = { "src/engine/surface_collision.h": [ " debug_", "f32_find_wall_collision" ], "src/game/mario_actions_airborne.c": [ "^[us]32 act_.*" ], "src/game/mario_actions_automatic.c": [ "^[us]32 act_.*" ], - "src/game/mario_actions_cutscene.c": [ "^[us]32 act_.*", " geo_" ], + "src/game/mario_actions_cutscene.c": [ "^[us]32 act_.*", " geo_", "spawn_obj" ], "src/game/mario_actions_moving.c": [ "^[us]32 act_.*" ], "src/game/mario_actions_object.c": [ "^[us]32 act_.*" ], "src/game/mario_actions_stationary.c": [ "^[us]32 act_.*" ], @@ -213,6 +213,9 @@ def build_call(function): lfunc = 'lua_pushstring' elif ftype == 'const char*': lfunc = 'lua_pushstring' + elif translate_type_to_lot(ftype) == 'LOT_POINTER': + lvt = translate_type_to_lvt(ftype) + return ' smlua_push_pointer(L, %s, (void*)%s);\n' % (lvt, ccall) elif '???' not in flot and flot != 'LOT_NONE': return ' smlua_push_object(L, %s, %s);\n' % (flot, ccall) diff --git a/docs/lua/functions.md b/docs/lua/functions.md index 65f4ee435..63e23e504 100644 --- a/docs/lua/functions.md +++ b/docs/lua/functions.md @@ -2,6 +2,8 @@ # Supported Functions - behavior_table.h + - [get_behavior_from_id](#get_behavior_from_id) + - [get_id_from_behavior](#get_id_from_behavior)
@@ -357,6 +359,46 @@
+## [get_behavior_from_id](#get_behavior_from_id) + +### Lua Example +`local Pointer Value = get_behavior_from_id(id)` + +### Parameters +| Field | Type | +| ----- | ---- | +| id | integer | + +### Returns +- Pointer + +### C Prototype +`const BehaviorScript* get_behavior_from_id(enum BehaviorId id);` + +[:arrow_up_small:](#) + +
+ +## [get_id_from_behavior](#get_id_from_behavior) + +### Lua Example +`local integerValue = get_id_from_behavior(behavior)` + +### Parameters +| Field | Type | +| ----- | ---- | +| behavior | Pointer | + +### Returns +- integer + +### C Prototype +`enum BehaviorId get_id_from_behavior(const BehaviorScript* behavior);` + +[:arrow_up_small:](#) + +
+ --- # functions from camera.h diff --git a/docs/lua/structs.md b/docs/lua/structs.md index a592195ee..3453c9c31 100644 --- a/docs/lua/structs.md +++ b/docs/lua/structs.md @@ -662,10 +662,12 @@ | areaTimer | integer | | | areaTimerDuration | integer | | | areaTimerType | integer | | +| behavior | Pointer | read-only | | bhvDelayTimer | integer | | | bhvStackIndex | integer | | | collidedObjInteractTypes | integer | | | createdThroughNetwork | integer | | +| curBhvCommand | Pointer | read-only | | globalPlayerIndex | integer | | | header | [ObjectNode](#ObjectNode) | read-only | | heldByPlayerIndex | integer | | @@ -1712,6 +1714,7 @@ | Field | Type | Access | | ----- | ---- | ------ | +| behavior | Pointer | read-only | | flags | integer | | | model | integer | | | moveAngleRange | integer | | diff --git a/src/pc/lua/smlua_cobject.c b/src/pc/lua/smlua_cobject.c index b38d88c85..b29d3f30a 100644 --- a/src/pc/lua/smlua_cobject.c +++ b/src/pc/lua/smlua_cobject.c @@ -115,6 +115,7 @@ static int smlua__get_field(lua_State* L) { case LVT_COBJECT_P: smlua_push_object(L, data->lot, *(u8**)p); break; case LVT_STRING: lua_pushstring(L, (char*)p); break; case LVT_STRING_P: lua_pushstring(L, *(char**)p); break; + case LVT_BEHAVIORSCRIPT: lua_pushinteger(L, *(s32*)p); break; // pointers case LVT_U8_P: @@ -124,6 +125,7 @@ static int smlua__get_field(lua_State* L) { case LVT_S16_P: case LVT_S32_P: case LVT_F32_P: + case LVT_BEHAVIORSCRIPT_P: smlua_push_pointer(L, data->valueType, *(u8**)p); break; diff --git a/src/pc/lua/smlua_cobject.h b/src/pc/lua/smlua_cobject.h index 99a32673e..f351a02e0 100644 --- a/src/pc/lua/smlua_cobject.h +++ b/src/pc/lua/smlua_cobject.h @@ -21,6 +21,8 @@ enum LuaValueType { LVT_COBJECT_P, LVT_STRING, LVT_STRING_P, + LVT_BEHAVIORSCRIPT, + LVT_BEHAVIORSCRIPT_P, LVT_POINTER, }; diff --git a/src/pc/lua/smlua_cobject_autogen.c b/src/pc/lua/smlua_cobject_autogen.c index d193febe9..6c21d1d03 100644 --- a/src/pc/lua/smlua_cobject_autogen.c +++ b/src/pc/lua/smlua_cobject_autogen.c @@ -500,769 +500,769 @@ static struct LuaObjectField sNetworkPlayerFields[LUA_NETWORK_PLAYER_FIELD_COUNT { "type", LVT_U8, offsetof(struct NetworkPlayer, type), true, LOT_NONE }, }; -#define LUA_OBJECT_FIELD_COUNT 746 +#define LUA_OBJECT_FIELD_COUNT 748 static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = { - { "activeFlags", LVT_S16, offsetof(struct Object, activeFlags), 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_???, offsetof(struct Object, behavior), true, LOT_??? }, <--- UNIMPLEMENTED - { "bhvDelayTimer", LVT_S16, offsetof(struct Object, bhvDelayTimer), false, LOT_NONE }, -// { "bhvStack", LOT_???, offsetof(struct Object, bhvStack), false, LOT_??? }, <--- UNIMPLEMENTED - { "bhvStackIndex", LVT_U32, offsetof(struct Object, bhvStackIndex), false, LOT_NONE }, - { "collidedObjInteractTypes", LVT_U32, offsetof(struct Object, collidedObjInteractTypes), false, LOT_NONE }, -// { "collidedObjs", LOT_???, offsetof(struct Object, collidedObjs), false, LOT_??? }, <--- UNIMPLEMENTED -// { "collisionData", LVT_???, offsetof(struct Object, collisionData), false, LOT_??? }, <--- UNIMPLEMENTED - { "createdThroughNetwork", LVT_U8, offsetof(struct Object, createdThroughNetwork), false, LOT_NONE }, -// { "curBhvCommand", LVT_???, offsetof(struct Object, curBhvCommand), true, LOT_??? }, <--- UNIMPLEMENTED - { "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 }, - { "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 }, - { "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_???, offsetof(struct Object, oAnimations), false, LVT_??? }, <--- UNIMPLEMENTED - { "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 }, - { "oBackAndForthPlatformUnk100", LVT_F32, offsetof(struct Object, oBackAndForthPlatformUnk100), false, LOT_NONE }, - { "oBackAndForthPlatformUnkF4", LVT_F32, offsetof(struct Object, oBackAndForthPlatformUnkF4), false, LOT_NONE }, - { "oBackAndForthPlatformUnkF8", LVT_F32, offsetof(struct Object, oBackAndForthPlatformUnkF8), false, LOT_NONE }, - { "oBackAndForthPlatformUnkFC", LVT_F32, offsetof(struct Object, oBackAndForthPlatformUnkFC), 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 }, - { "oBlueFlameUnkF8", LVT_F32, offsetof(struct Object, oBlueFlameUnkF8), 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), true, 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 }, - { "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 }, - { "oCameraLakituUnk104", LVT_S32, offsetof(struct Object, oCameraLakituUnk104), false, LOT_NONE }, - { "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 }, - { "oCoinUnk1B0", LVT_S32, offsetof(struct Object, oCoinUnk1B0), false, LOT_NONE }, - { "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 }, - { "oFishPosY", LVT_F32, offsetof(struct Object, oFishPosY), false, LOT_NONE }, - { "oFishRandomOffset", LVT_F32, offsetof(struct Object, oFishRandomOffset), false, LOT_NONE }, - { "oFishRandomSpeed", LVT_S32, offsetof(struct Object, oFishRandomSpeed), false, LOT_NONE }, - { "oFishRandomVel", LVT_F32, offsetof(struct Object, oFishRandomVel), false, LOT_NONE }, - { "oFishRespawnDistance", LVT_F32, offsetof(struct Object, oFishRespawnDistance), false, LOT_NONE }, - { "oFishWaterLevel", LVT_F32, offsetof(struct Object, oFishWaterLevel), false, LOT_NONE }, - { "oFlags", LVT_U32, offsetof(struct Object, oFlags), false, LOT_NONE }, - { "oFlameThowerFlameUnk110", LVT_S32, offsetof(struct Object, oFlameThowerFlameUnk110), false, LOT_NONE }, - { "oFlameThowerUnk110", LVT_S32, offsetof(struct Object, oFlameThowerUnk110), false, LOT_NONE }, - { "oFlameUnk100", LVT_COBJECT_P, offsetof(struct Object, oFlameUnk100), true, LOT_OBJECT }, - { "oFlameUnkF4", LVT_F32, offsetof(struct Object, oFlameUnkF4), false, LOT_NONE }, - { "oFlameUnkF8", LVT_S32, offsetof(struct Object, oFlameUnkF8), 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), true, 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), true, LOT_OBJECT }, - { "oHiddenObjectUnkF4", LVT_COBJECT_P, offsetof(struct Object, oHiddenObjectUnkF4), true, LOT_OBJECT }, - { "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), true, 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), true, 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 }, - { "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 }, - { "oMantaUnk1AC", LVT_S32, offsetof(struct Object, oMantaUnk1AC), false, LOT_NONE }, - { "oMantaUnkF4", LVT_S32, offsetof(struct Object, oMantaUnkF4), false, LOT_NONE }, - { "oMantaUnkF8", LVT_S32, offsetof(struct Object, oMantaUnkF8), 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 }, - { "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), true, 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), true, 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), true, 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), true, LOT_WAYPOINT }, - { "oPathedPrevWaypointFlags", LVT_S32, offsetof(struct Object, oPathedPrevWaypointFlags), false, LOT_NONE }, - { "oPathedStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedStartWaypoint), true, 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), true, 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), true, 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), true, 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 }, - { "oSmallPiranhaFlameStartSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameStartSpeed), false, LOT_NONE }, - { "oSmallPiranhaFlameUnk100", LVT_S32, offsetof(struct Object, oSmallPiranhaFlameUnk100), false, LOT_NONE }, - { "oSmallPiranhaFlameUnk104", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameUnk104), 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 }, - { "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 }, - { "oStarSpawnUnkFC", LVT_F32, offsetof(struct Object, oStarSpawnUnkFC), false, LOT_NONE }, - { "oStrongWindParticlePenguinObj", LVT_COBJECT_P, offsetof(struct Object, oStrongWindParticlePenguinObj), true, 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_U32, 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 }, - { "oTreasureChestSound", LVT_S32, offsetof(struct Object, oTreasureChestSound), false, LOT_NONE }, - { "oTreasureChestUnkF4", LVT_S32, offsetof(struct Object, oTreasureChestUnkF4), false, LOT_NONE }, - { "oTreasureChestUnkF8", LVT_S32, offsetof(struct Object, oTreasureChestUnkF8), false, LOT_NONE }, - { "oTreasureChestUnkFC", LVT_S32, offsetof(struct Object, oTreasureChestUnkFC), 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), true, LOT_OBJECT }, - { "platform", LVT_COBJECT_P, offsetof(struct Object, platform), true, LOT_OBJECT }, - { "prevObj", LVT_COBJECT_P, offsetof(struct Object, prevObj), true, LOT_OBJECT }, -// { "ptrData", LOT_???, offsetof(struct Object, ptrData), false, LOT_??? }, <--- UNIMPLEMENTED -// { "rawData", LOT_???, offsetof(struct Object, rawData), false, LOT_??? }, <--- UNIMPLEMENTED -// { "respawnInfo", LVT_???, offsetof(struct Object, respawnInfo), false, LOT_??? }, <--- UNIMPLEMENTED - { "respawnInfoType", LVT_S16, offsetof(struct Object, respawnInfoType), false, LOT_NONE }, -// { "transform", LVT_???, offsetof(struct Object, transform), false, LOT_??? }, <--- UNIMPLEMENTED - { "unused1", LVT_U32, offsetof(struct Object, unused1), false, LOT_NONE }, + { "activeFlags", LVT_S16, offsetof(struct Object, activeFlags), 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", LOT_???, offsetof(struct Object, bhvStack), false, LOT_??? }, <--- UNIMPLEMENTED + { "bhvStackIndex", LVT_U32, offsetof(struct Object, bhvStackIndex), false, LOT_NONE }, + { "collidedObjInteractTypes", LVT_U32, offsetof(struct Object, collidedObjInteractTypes), false, LOT_NONE }, +// { "collidedObjs", LOT_???, offsetof(struct Object, collidedObjs), false, LOT_??? }, <--- UNIMPLEMENTED +// { "collisionData", LVT_???, offsetof(struct Object, collisionData), false, LOT_??? }, <--- UNIMPLEMENTED + { "createdThroughNetwork", LVT_U8, offsetof(struct Object, createdThroughNetwork), 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 }, + { "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 }, + { "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_???, offsetof(struct Object, oAnimations), false, LOT_??? }, <--- UNIMPLEMENTED + { "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 }, + { "oBackAndForthPlatformUnk100", LVT_F32, offsetof(struct Object, oBackAndForthPlatformUnk100), false, LOT_NONE }, + { "oBackAndForthPlatformUnkF4", LVT_F32, offsetof(struct Object, oBackAndForthPlatformUnkF4), false, LOT_NONE }, + { "oBackAndForthPlatformUnkF8", LVT_F32, offsetof(struct Object, oBackAndForthPlatformUnkF8), false, LOT_NONE }, + { "oBackAndForthPlatformUnkFC", LVT_F32, offsetof(struct Object, oBackAndForthPlatformUnkFC), 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 }, + { "oBlueFlameUnkF8", LVT_F32, offsetof(struct Object, oBlueFlameUnkF8), 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), true, 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 }, + { "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 }, + { "oCameraLakituUnk104", LVT_S32, offsetof(struct Object, oCameraLakituUnk104), false, LOT_NONE }, + { "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 }, + { "oCoinUnk1B0", LVT_S32, offsetof(struct Object, oCoinUnk1B0), false, LOT_NONE }, + { "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 }, + { "oFishPosY", LVT_F32, offsetof(struct Object, oFishPosY), false, LOT_NONE }, + { "oFishRandomOffset", LVT_F32, offsetof(struct Object, oFishRandomOffset), false, LOT_NONE }, + { "oFishRandomSpeed", LVT_S32, offsetof(struct Object, oFishRandomSpeed), false, LOT_NONE }, + { "oFishRandomVel", LVT_F32, offsetof(struct Object, oFishRandomVel), false, LOT_NONE }, + { "oFishRespawnDistance", LVT_F32, offsetof(struct Object, oFishRespawnDistance), false, LOT_NONE }, + { "oFishWaterLevel", LVT_F32, offsetof(struct Object, oFishWaterLevel), false, LOT_NONE }, + { "oFlags", LVT_U32, offsetof(struct Object, oFlags), false, LOT_NONE }, + { "oFlameThowerFlameUnk110", LVT_S32, offsetof(struct Object, oFlameThowerFlameUnk110), false, LOT_NONE }, + { "oFlameThowerUnk110", LVT_S32, offsetof(struct Object, oFlameThowerUnk110), false, LOT_NONE }, + { "oFlameUnk100", LVT_COBJECT_P, offsetof(struct Object, oFlameUnk100), true, LOT_OBJECT }, + { "oFlameUnkF4", LVT_F32, offsetof(struct Object, oFlameUnkF4), false, LOT_NONE }, + { "oFlameUnkF8", LVT_S32, offsetof(struct Object, oFlameUnkF8), 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), true, 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), true, LOT_OBJECT }, + { "oHiddenObjectUnkF4", LVT_COBJECT_P, offsetof(struct Object, oHiddenObjectUnkF4), true, LOT_OBJECT }, + { "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), true, 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), true, 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 }, + { "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 }, + { "oMantaUnk1AC", LVT_S32, offsetof(struct Object, oMantaUnk1AC), false, LOT_NONE }, + { "oMantaUnkF4", LVT_S32, offsetof(struct Object, oMantaUnkF4), false, LOT_NONE }, + { "oMantaUnkF8", LVT_S32, offsetof(struct Object, oMantaUnkF8), 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 }, + { "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), true, 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), true, 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), true, 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), true, LOT_WAYPOINT }, + { "oPathedPrevWaypointFlags", LVT_S32, offsetof(struct Object, oPathedPrevWaypointFlags), false, LOT_NONE }, + { "oPathedStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedStartWaypoint), true, 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), true, 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), true, 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), true, 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 }, + { "oSmallPiranhaFlameStartSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameStartSpeed), false, LOT_NONE }, + { "oSmallPiranhaFlameUnk100", LVT_S32, offsetof(struct Object, oSmallPiranhaFlameUnk100), false, LOT_NONE }, + { "oSmallPiranhaFlameUnk104", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameUnk104), 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 }, + { "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 }, + { "oStarSpawnUnkFC", LVT_F32, offsetof(struct Object, oStarSpawnUnkFC), false, LOT_NONE }, + { "oStrongWindParticlePenguinObj", LVT_COBJECT_P, offsetof(struct Object, oStrongWindParticlePenguinObj), true, 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_U32, 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 }, + { "oTreasureChestSound", LVT_S32, offsetof(struct Object, oTreasureChestSound), false, LOT_NONE }, + { "oTreasureChestUnkF4", LVT_S32, offsetof(struct Object, oTreasureChestUnkF4), false, LOT_NONE }, + { "oTreasureChestUnkF8", LVT_S32, offsetof(struct Object, oTreasureChestUnkF8), false, LOT_NONE }, + { "oTreasureChestUnkFC", LVT_S32, offsetof(struct Object, oTreasureChestUnkFC), 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), true, LOT_OBJECT }, + { "platform", LVT_COBJECT_P, offsetof(struct Object, platform), true, LOT_OBJECT }, + { "prevObj", LVT_COBJECT_P, offsetof(struct Object, prevObj), true, LOT_OBJECT }, +// { "ptrData", LOT_???, offsetof(struct Object, ptrData), false, LOT_??? }, <--- UNIMPLEMENTED +// { "rawData", LOT_???, offsetof(struct Object, rawData), false, LOT_??? }, <--- UNIMPLEMENTED +// { "respawnInfo", LVT_???, offsetof(struct Object, respawnInfo), false, LOT_??? }, <--- UNIMPLEMENTED + { "respawnInfoType", LVT_S16, offsetof(struct Object, respawnInfoType), false, LOT_NONE }, +// { "transform", LVT_???, offsetof(struct Object, transform), false, LOT_??? }, <--- UNIMPLEMENTED + { "unused1", LVT_U32, offsetof(struct Object, unused1), false, LOT_NONE }, }; #define LUA_OBJECT_HITBOX_FIELD_COUNT 9 @@ -1450,19 +1450,19 @@ static struct LuaObjectField sWarpTransitionDataFields[LUA_WARP_TRANSITION_DATA_ { "texTimer", LVT_S16, offsetof(struct WarpTransitionData, texTimer), false, LOT_NONE }, }; -#define LUA_WATER_DROPLET_PARAMS_FIELD_COUNT 10 +#define LUA_WATER_DROPLET_PARAMS_FIELD_COUNT 11 static struct LuaObjectField sWaterDropletParamsFields[LUA_WATER_DROPLET_PARAMS_FIELD_COUNT] = { -// { "behavior", LVT_???, offsetof(struct WaterDropletParams, behavior), true, LOT_??? }, <--- UNIMPLEMENTED - { "flags", LVT_S16, offsetof(struct WaterDropletParams, flags), false, LOT_NONE }, - { "model", LVT_S16, offsetof(struct WaterDropletParams, model), false, 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 }, + { "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), false, 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 diff --git a/src/pc/lua/smlua_functions_autogen.c b/src/pc/lua/smlua_functions_autogen.c index 3ded6bdbc..f88e4ad3f 100644 --- a/src/pc/lua/smlua_functions_autogen.c +++ b/src/pc/lua/smlua_functions_autogen.c @@ -26,31 +26,27 @@ // behavior_table.h // ////////////////////// -/* int smlua_func_get_behavior_from_id(lua_State* L) { if(!smlua_functions_valid_param_count(L, 1)) { return 0; } int id = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { return 0; } - UNIMPLEMENTED -->(L, get_behavior_from_id(id)); + smlua_push_pointer(L, LVT_BEHAVIORSCRIPT_P, (void*)get_behavior_from_id(id)); return 1; } -*/ -/* int smlua_func_get_id_from_behavior(lua_State* L) { if(!smlua_functions_valid_param_count(L, 1)) { return 0; } -// const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cobject(L, 1, LOT_???); <--- UNIMPLEMENTED + const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { return 0; } lua_pushinteger(L, get_id_from_behavior(behavior)); return 1; } -*/ ////////////// // camera.h // @@ -1346,7 +1342,7 @@ int smlua_func_vec3f_find_ceil(lua_State* L) { if (!gSmLuaConvertSuccess) { return 0; } f32 height = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { return 0; } -// struct Surface** ceil = (struct Surface**)smlua_to_cobject(L, 3, LVT_???); <--- UNIMPLEMENTED +// struct Surface** ceil = (struct Surface**)smlua_to_cobject(L, 3, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { return 0; } lua_pushnumber(L, vec3f_find_ceil(pos, height, ceil)); @@ -1995,26 +1991,6 @@ int smlua_func_should_start_or_continue_dialog(lua_State* L) { return 1; } -/* -int smlua_func_spawn_obj_at_mario_rel_yaw(lua_State* L) { - if(!smlua_functions_valid_param_count(L, 4)) { return 0; } - - struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); - if (!gSmLuaConvertSuccess) { return 0; } - s32 model = smlua_to_integer(L, 2); - if (!gSmLuaConvertSuccess) { return 0; } -// const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cobject(L, 3, LOT_???); <--- UNIMPLEMENTED - if (!gSmLuaConvertSuccess) { return 0; } - s16 relYaw = smlua_to_integer(L, 4); - if (!gSmLuaConvertSuccess) { return 0; } - - extern struct Object *spawn_obj_at_mario_rel_yaw(struct MarioState *m, s32 model, const BehaviorScript *behavior, s16 relYaw); - smlua_push_object(L, LOT_OBJECT, spawn_obj_at_mario_rel_yaw(m, model, behavior, relYaw)); - - return 1; -} -*/ - int smlua_func_stuck_in_ground_handler(lua_State* L) { if(!smlua_functions_valid_param_count(L, 6)) { return 0; } @@ -2251,7 +2227,7 @@ int smlua_func_common_landing_cancels(lua_State* L) { if (!gSmLuaConvertSuccess) { return 0; } struct LandingAction* landingAction = (struct LandingAction*)smlua_to_cobject(L, 2, LOT_LANDINGACTION); if (!gSmLuaConvertSuccess) { return 0; } -// s32 (*setAPressAction)(structMarioState* arg2 = (s32 (*setAPressAction)(structMarioState*)smlua_to_cobject(L, 3, LVT_???); <--- UNIMPLEMENTED +// s32 (*setAPressAction)(structMarioState* arg2 = (s32 (*setAPressAction)(structMarioState*)smlua_to_cobject(L, 3, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { return 0; } u32 arg3 = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { return 0; } @@ -3416,7 +3392,7 @@ int smlua_func_find_ceil(lua_State* L) { if (!gSmLuaConvertSuccess) { return 0; } f32 posZ = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { return 0; } -// struct Surface** pceil = (struct Surface**)smlua_to_cobject(L, 4, LVT_???); <--- UNIMPLEMENTED +// struct Surface** pceil = (struct Surface**)smlua_to_cobject(L, 4, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { return 0; } lua_pushnumber(L, find_ceil(posX, posY, posZ, pceil)); @@ -3435,7 +3411,7 @@ int smlua_func_find_floor(lua_State* L) { if (!gSmLuaConvertSuccess) { return 0; } f32 zPos = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { return 0; } -// struct Surface** pfloor = (struct Surface**)smlua_to_cobject(L, 4, LVT_???); <--- UNIMPLEMENTED +// struct Surface** pfloor = (struct Surface**)smlua_to_cobject(L, 4, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { return 0; } lua_pushnumber(L, find_floor(xPos, yPos, zPos, pfloor)); @@ -3469,7 +3445,7 @@ int smlua_func_find_floor_height_and_data(lua_State* L) { if (!gSmLuaConvertSuccess) { return 0; } f32 zPos = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { return 0; } -// struct FloorGeometry** floorGeo = (struct FloorGeometry**)smlua_to_cobject(L, 4, LVT_???); <--- UNIMPLEMENTED +// struct FloorGeometry** floorGeo = (struct FloorGeometry**)smlua_to_cobject(L, 4, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { return 0; } lua_pushnumber(L, find_floor_height_and_data(xPos, yPos, zPos, floorGeo)); @@ -3511,7 +3487,7 @@ int smlua_func_find_surface_on_ray(lua_State* L) { if (!gSmLuaConvertSuccess) { return 0; } dir[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { return 0; } -// struct Surface** hit_surface = (struct Surface**)smlua_to_cobject(L, 3, LVT_???); <--- UNIMPLEMENTED +// struct Surface** hit_surface = (struct Surface**)smlua_to_cobject(L, 3, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { return 0; } f32* hit_pos = smlua_get_vec3f_from_buffer(); @@ -3620,8 +3596,8 @@ void smlua_bind_functions_autogen(void) { lua_State* L = gLuaState; // behavior_table.h - //smlua_bind_function(L, "get_behavior_from_id", smlua_func_get_behavior_from_id); <--- UNIMPLEMENTED - //smlua_bind_function(L, "get_id_from_behavior", smlua_func_get_id_from_behavior); <--- UNIMPLEMENTED + smlua_bind_function(L, "get_behavior_from_id", smlua_func_get_behavior_from_id); + smlua_bind_function(L, "get_id_from_behavior", smlua_func_get_id_from_behavior); // camera.h smlua_bind_function(L, "set_camera_pitch_shake", smlua_func_set_camera_pitch_shake); @@ -3790,7 +3766,6 @@ void smlua_bind_functions_autogen(void) { smlua_bind_function(L, "mario_ready_to_speak", smlua_func_mario_ready_to_speak); smlua_bind_function(L, "print_displaying_credits_entry", smlua_func_print_displaying_credits_entry); smlua_bind_function(L, "should_start_or_continue_dialog", smlua_func_should_start_or_continue_dialog); - //smlua_bind_function(L, "spawn_obj_at_mario_rel_yaw", smlua_func_spawn_obj_at_mario_rel_yaw); <--- UNIMPLEMENTED smlua_bind_function(L, "stuck_in_ground_handler", smlua_func_stuck_in_ground_handler); // mario_actions_moving.c