From b3e21d7edcb0fce8c907f0003ed720bfedcb81cd Mon Sep 17 00:00:00 2001 From: MysterD Date: Sat, 19 Feb 2022 13:51:02 -0800 Subject: [PATCH] Added object fields to Lua API --- autogen/convert_structs.py | 62 ++- autogen/extract_object_fields.py | 41 ++ docs/lua/structs.md | 830 +++++++++++++++++++++++++++ src/pc/lua/smlua_cobject_autogen.c | 867 +++++++++++++++++++++++++++-- src/pc/lua/smlua_cobject_autogen.h | 6 + 5 files changed, 1759 insertions(+), 47 deletions(-) create mode 100644 autogen/extract_object_fields.py diff --git a/autogen/convert_structs.py b/autogen/convert_structs.py index 8ed0628e..89f84ba9 100644 --- a/autogen/convert_structs.py +++ b/autogen/convert_structs.py @@ -2,6 +2,7 @@ import os import re import sys from extract_structs import * +from extract_object_fields import * from common import * in_files = [ @@ -11,7 +12,8 @@ in_files = [ 'src/game/characters.h', 'src/engine/surface_collision.h', 'src/pc/network/network_player.h', - 'src/pc/djui/djui_hud_utils.h' + 'src/pc/djui/djui_hud_utils.h', + 'src/game/object_helpers.h' ] smlua_cobject_autogen = 'src/pc/lua/smlua_cobject_autogen' @@ -20,6 +22,7 @@ docs_lua_structs = 'docs/lua/structs.md' c_template = """/* THIS FILE IS AUTOGENERATED */ /* SHOULD NOT BE MANUALLY CHANGED */ $[INCLUDES] +#include "include\object_fields.h" $[BODY] struct LuaObjectField* smlua_get_object_field_autogen(u16 lot, const char* key) { struct LuaObjectTable* ot = &sLuaObjectAutogenTable[lot - LOT_AUTOGEN_MIN - 1]; @@ -57,6 +60,7 @@ override_field_immutable = { "Character": [ "*" ], "NetworkPlayer": [ "*" ], "TextureInfo": [ "*" ], + "Object": ["oSyncID"], } sLuaManuallyDefinedStructs = [ @@ -160,6 +164,9 @@ def parse_struct(struct_str): struct['fields'].append(field) + if identifier == 'Object': + struct['fields'] += extract_object_fields() + struct['fields'] = sorted(struct['fields'], key=lambda d: d['identifier']) return struct @@ -294,6 +301,42 @@ def doc_struct_index(structs): s += '\n
\n\n' return s +def doc_struct_field(struct, field): + fid, ftype, fimmutable, lvt, lot = get_struct_field_info(struct, field) + + if '???' in lvt or '???' in lot: + return '' + + ftype, do_link = translate_type_to_lua(ftype) + + restrictions = ('', 'read-only')[fimmutable == 'true'] + + global total_fields + total_fields += 1 + + if do_link: + return '| %s | [%s](#%s) | %s |\n' % (fid, ftype, ftype, restrictions) + + return '| %s | %s | %s |\n' % (fid, ftype, restrictions) + + +def doc_struct_object_fields(struct): + fields = extract_object_fields() + + s = '\n### Object-Independent Data Fields\n' + s += "| Field | Type | Access |\n" + s += "| ----- | ---- | ------ |\n" + for field in fields: + if field['identifier'] == 'oPathedStartWaypoint': + s += '\n### Object-Dependent Data Fields\n' + s += "| Field | Type | Access |\n" + s += "| ----- | ---- | ------ |\n" + + s += doc_struct_field(struct, field) + + return s + + def doc_struct(struct): sid = struct['identifier'] s = '## [%s](#%s)\n\n' % (sid, sid) @@ -304,21 +347,12 @@ def doc_struct(struct): # build doc table field_table = [] for field in struct['fields']: - fid, ftype, fimmutable, lvt, lot = get_struct_field_info(struct, field) - if '???' in lvt or '???' in lot: + if 'object_field' in field and field['object_field'] == True: continue + s += doc_struct_field(struct, field) - ftype, do_link = translate_type_to_lua(ftype) - - restrictions = ('', 'read-only')[fimmutable == 'true'] - if do_link: - s += '| %s | [%s](#%s) | %s |\n' % (fid, ftype, ftype, restrictions) - continue - - s += '| %s | %s | %s |\n' % (fid, ftype, restrictions) - - global total_fields - total_fields += 1 + if sid == 'Object': + s += doc_struct_object_fields(struct) s += '\n[:arrow_up_small:](#)\n\n
\n' diff --git a/autogen/extract_object_fields.py b/autogen/extract_object_fields.py new file mode 100644 index 00000000..f7df655a --- /dev/null +++ b/autogen/extract_object_fields.py @@ -0,0 +1,41 @@ +import os +import re +import sys +from extract_constants import * + +object_field_types = { + 'OBJECT_FIELD_U32': 'u32', + 'OBJECT_FIELD_S32': 's32', + 'OBJECT_FIELD_S16': 's16', + 'OBJECT_FIELD_F32': 'f32', + 'OBJECT_FIELD_S16P': 's16*', + 'OBJECT_FIELD_S32P': 's32*', + 'OBJECT_FIELD_ANIMS': 'struct Animation**', + 'OBJECT_FIELD_WAYPOINT': 'struct Waypoint*', + 'OBJECT_FIELD_CHAIN_SEGMENT': 'struct ChainSegment*', + 'OBJECT_FIELD_OBJ': 'struct Object*', + 'OBJECT_FIELD_SURFACE': 'struct Surface*', + 'OBJECT_FIELD_VPTR': 'void*', + 'OBJECT_FIELD_CVPTR': 'const void*', +} + +def extract_object_fields(): + fields = [] + for line in extract_constants("include/object_fields.h").splitlines(): + parts = line.split(' ', 3) + field_id = parts[1] + val = parts[2] + + if not field_id.startswith('o'): + #print('REJECT: ' + line) + continue + + field_type = object_field_types[val.split('(')[0]] + + field = {} + field['type'] = field_type.strip() + field['identifier'] = field_id.strip() + field['object_field'] = True + field['field_str'] = line + fields.append(field) + return fields diff --git a/docs/lua/structs.md b/docs/lua/structs.md index 3a9d1bf5..a592195e 100644 --- a/docs/lua/structs.md +++ b/docs/lua/structs.md @@ -8,6 +8,7 @@ - [CameraFOVStatus](#CameraFOVStatus) - [CameraStoredInfo](#CameraStoredInfo) - [CameraTrigger](#CameraTrigger) +- [ChainSegment](#ChainSegment) - [Character](#Character) - [Controller](#Controller) - [Cutscene](#Cutscene) @@ -17,6 +18,7 @@ - [GlobalTextures](#GlobalTextures) - [GraphNode](#GraphNode) - [GraphNodeObject](#GraphNodeObject) +- [GraphNode_802A45E4](#GraphNode_802A45E4) - [HandheldShakePoint](#HandheldShakePoint) - [InstantWarp](#InstantWarp) - [LakituState](#LakituState) @@ -37,6 +39,8 @@ - [PlayerGeometry](#PlayerGeometry) - [SPTask](#SPTask) - [SpawnInfo](#SpawnInfo) +- [SpawnParticlesInfo](#SpawnParticlesInfo) +- [Struct802A272C](#Struct802A272C) - [Surface](#Surface) - [TextureInfo](#TextureInfo) - [TransitionInfo](#TransitionInfo) @@ -48,8 +52,10 @@ - [WarpNode](#WarpNode) - [WarpTransition](#WarpTransition) - [WarpTransitionData](#WarpTransitionData) +- [WaterDropletParams](#WaterDropletParams) - [Waypoint](#Waypoint) - [Whirlpool](#Whirlpool) +- [struct802A1230](#struct802A1230)
@@ -181,6 +187,21 @@
+## [ChainSegment](#ChainSegment) + +| Field | Type | Access | +| ----- | ---- | ------ | +| pitch | integer | | +| posX | number | | +| posY | number | | +| posZ | number | | +| roll | integer | | +| yaw | integer | | + +[:arrow_up_small:](#) + +
+ ## [Character](#Character) | Field | Type | Access | @@ -376,6 +397,21 @@
+## [GraphNode_802A45E4](#GraphNode_802A45E4) + +| Field | Type | Access | +| ----- | ---- | ------ | +| unk18 | integer | | +| unk1A | integer | | +| unk1C | integer | | +| unk1E | integer | | +| unk20 | integer | | +| unk22 | integer | | + +[:arrow_up_small:](#) + +
+ ## [HandheldShakePoint](#HandheldShakePoint) | Field | Type | Access | @@ -645,6 +681,738 @@ | respawnInfoType | integer | | | unused1 | integer | | +### Object-Independent Data Fields +| Field | Type | Access | +| ----- | ---- | ------ | +| oFlags | integer | | +| oDialogResponse | integer | | +| oDialogState | integer | | +| oUnk94 | integer | | +| oSyncID | integer | read-only | +| oIntangibleTimer | integer | | +| oPosX | number | | +| oPosY | number | | +| oPosZ | number | | +| oVelX | number | | +| oVelY | number | | +| oVelZ | number | | +| oForwardVel | number | | +| oForwardVelS32 | integer | | +| oUnkBC | number | | +| oUnkC0 | number | | +| oMoveAnglePitch | integer | | +| oMoveAngleYaw | integer | | +| oMoveAngleRoll | integer | | +| oFaceAnglePitch | integer | | +| oFaceAngleYaw | integer | | +| oFaceAngleRoll | integer | | +| oGraphYOffset | number | | +| oActiveParticleFlags | integer | | +| oGravity | number | | +| oFloorHeight | number | | +| oMoveFlags | integer | | +| oAnimState | integer | | +| oAngleVelPitch | integer | | +| oAngleVelYaw | integer | | +| oAngleVelRoll | integer | | +| oHeldState | integer | | +| oWallHitboxRadius | number | | +| oDragStrength | number | | +| oInteractType | integer | | +| oInteractStatus | integer | | +| oParentRelativePosX | number | | +| oParentRelativePosY | number | | +| oParentRelativePosZ | number | | +| oBehParams2ndByte | integer | | +| oAction | integer | | +| oSubAction | integer | | +| oTimer | integer | | +| oBounciness | number | | +| oDistanceToMario | number | | +| oAngleToMario | integer | | +| oHomeX | number | | +| oHomeY | number | | +| oHomeZ | number | | +| oFriction | number | | +| oBuoyancy | number | | +| oSoundStateID | integer | | +| oOpacity | integer | | +| oDamageOrCoinValue | integer | | +| oHealth | integer | | +| oBehParams | integer | | +| oPrevAction | integer | | +| oInteractionSubtype | integer | | +| oCollisionDistance | number | | +| oNumLootCoins | integer | | +| oDrawingDistance | number | | +| oRoom | integer | | +| oSyncDeath | integer | | +| oUnk1A8 | integer | | +| oWallAngle | integer | | +| oFloorType | integer | | +| oFloorRoom | integer | | +| oAngleToHome | integer | | +| oFloor | [Surface](#Surface) | read-only | +| oDeathSound | integer | | + +### Object-Dependent Data Fields +| Field | Type | Access | +| ----- | ---- | ------ | +| oPathedStartWaypoint | [Waypoint](#Waypoint) | read-only | +| oPathedPrevWaypoint | [Waypoint](#Waypoint) | read-only | +| oPathedPrevWaypointFlags | integer | | +| oPathedTargetPitch | integer | | +| oPathedTargetYaw | integer | | +| oMacroUnk108 | number | | +| oMacroUnk10C | number | | +| oMacroUnk110 | number | | +| oMarioParticleFlags | integer | | +| oMarioPoleUnk108 | integer | | +| oMarioReadingSignDYaw | integer | | +| oMarioPoleYawVel | integer | | +| oMarioCannonObjectYaw | integer | | +| oMarioTornadoYawVel | integer | | +| oMarioReadingSignDPosX | number | | +| oMarioPolePos | number | | +| oMarioCannonInputYaw | integer | | +| oMarioTornadoPosY | number | | +| oMarioReadingSignDPosZ | number | | +| oMarioWhirlpoolPosY | number | | +| oMarioBurnTimer | integer | | +| oMarioLongJumpIsSlow | integer | | +| oMarioSteepJumpYaw | integer | | +| oMarioWalkingPitch | integer | | +| o1UpHiddenUnkF4 | integer | | +| o1UpForceSpawn | integer | | +| oActivatedBackAndForthPlatformMaxOffset | number | | +| oActivatedBackAndForthPlatformOffset | number | | +| oActivatedBackAndForthPlatformVel | number | | +| oActivatedBackAndForthPlatformCountdown | integer | | +| oActivatedBackAndForthPlatformStartYaw | integer | | +| oActivatedBackAndForthPlatformVertical | integer | | +| oActivatedBackAndForthPlatformFlipRotation | integer | | +| oAmpRadiusOfRotation | number | | +| oAmpYPhase | integer | | +| oHomingAmpLockedOn | integer | | +| oHomingAmpAvgY | number | | +| oArrowLiftDisplacement | number | | +| oArrowLiftUnk100 | integer | | +| oBackAndForthPlatformUnkF4 | number | | +| oBackAndForthPlatformUnkF8 | number | | +| oBackAndForthPlatformUnkFC | number | | +| oBackAndForthPlatformUnk100 | number | | +| oBirdSpeed | number | | +| oBirdTargetPitch | integer | | +| oBirdTargetYaw | integer | | +| oBirdChirpChirpUnkF4 | integer | | +| oEndBirdUnk104 | number | | +| oHiddenBlueCoinSwitch | [Object](#Object) | read-only | +| oBobombBlinkTimer | integer | | +| oBobombFuseLit | integer | | +| oBobombFuseTimer | integer | | +| oBobombBuddyBlinkTimer | integer | | +| oBobombBuddyHasTalkedToMario | integer | | +| oBobombBuddyRole | integer | | +| oBobombBuddyCannonStatus | integer | | +| oBobombBuddyPosXCopy | number | | +| oBobombBuddyPosYCopy | number | | +| oBobombBuddyPosZCopy | number | | +| oBobombExpBubGfxScaleFacX | integer | | +| oBobombExpBubGfxScaleFacY | integer | | +| oBobombExpBubGfxExpRateX | integer | | +| oBobombExpBubGfxExpRateY | integer | | +| oSmallBompInitX | number | | +| oBooDeathStatus | integer | | +| oBooTargetOpacity | integer | | +| oBooBaseScale | number | | +| oBooOscillationTimer | integer | | +| oBooMoveYawDuringHit | integer | | +| oBooMoveYawBeforeHit | number | | +| oBooParentBigBoo | [Object](#Object) | read-only | +| oBooNegatedAggressiveness | number | | +| oBooInitialMoveYaw | integer | | +| oBooTurningSpeed | integer | | +| oBigBooNumMinionBoosKilled | integer | | +| oBookendUnkF4 | integer | | +| oBookendUnkF8 | integer | | +| oBookSwitchUnkF4 | number | | +| oBookSwitchManagerUnkF4 | integer | | +| oBookSwitchManagerUnkF8 | integer | | +| oHauntedBookshelfShouldOpen | integer | | +| oBouncingFireBallUnkF4 | integer | | +| oBowlingBallTargetYaw | integer | | +| oBBallSpawnerMaxSpawnDist | number | | +| oBBallSpawnerSpawnOdds | number | | +| oBBallSpawnerPeriodMinus1 | integer | | +| oBowserUnk88 | integer | | +| oBowserUnkF4 | integer | | +| oBowserUnkF8 | integer | | +| oBowserDistToCentre | number | | +| oBowserUnk106 | integer | | +| oBowserUnk108 | integer | | +| oBowserHeldAnglePitch | integer | | +| oBowserHeldAngleVelYaw | integer | | +| oBowserUnk10E | integer | | +| oBowserUnk110 | integer | | +| oBowserAngleToCentre | integer | | +| oBowserUnk1AC | integer | | +| oBowserUnk1AE | integer | | +| oBowserEyesShut | integer | | +| oBowserUnk1B2 | integer | | +| oBowserShockWaveUnkF4 | number | | +| oBlackSmokeBowserUnkF4 | number | | +| oBowserKeyScale | number | | +| oBowserPuzzleCompletionFlags | integer | | +| oBowserPuzzlePieceOffsetX | number | | +| oBowserPuzzlePieceOffsetY | number | | +| oBowserPuzzlePieceOffsetZ | number | | +| oBowserPuzzlePieceContinuePerformingAction | integer | | +| oBubbaUnkF4 | number | | +| oBubbaUnkF8 | integer | | +| oBubbaUnkFC | integer | | +| oBubbaUnk100 | integer | | +| oBubbaUnk104 | integer | | +| oBubbaUnk108 | number | | +| oBubbaUnk10C | number | | +| oBubbaUnk1AC | integer | | +| oBubbaUnk1AE | integer | | +| oBubbaUnk1B0 | integer | | +| oBubbaUnk1B2 | integer | | +| oBulletBillInitialMoveYaw | integer | | +| oBullySubtype | integer | | +| oBullyPrevX | number | | +| oBullyPrevY | number | | +| oBullyPrevZ | number | | +| oBullyKBTimerAndMinionKOCounter | integer | | +| oBullyMarioCollisionAngle | integer | | +| oButterflyYPhase | integer | | +| oTripletButterflyScale | number | | +| oTripletButterflySpeed | number | | +| oTripletButterflyBaseYaw | number | | +| oTripletButterflyTargetPitch | integer | | +| oTripletButterflyTargetYaw | integer | | +| oTripletButterflyType | integer | | +| oTripletButterflyModel | integer | | +| oTripletButterflySelectedButterfly | integer | | +| oTripletButterflyScalePhase | integer | | +| oCannonUnkF4 | integer | | +| oCannonUnkF8 | integer | | +| oCannonUnk10C | integer | | +| oCannonPlayerIndex | integer | | +| oCapUnkF4 | integer | | +| oCapUnkF8 | integer | | +| oChainChompSegments | [ChainSegment](#ChainSegment) | read-only | +| oChainChompMaxDistFromPivotPerChainPart | number | | +| oChainChompMaxDistBetweenChainParts | number | | +| oChainChompDistToPivot | number | | +| oChainChompUnk104 | number | | +| oChainChompRestrictedByChain | integer | | +| oChainChompTargetPitch | integer | | +| oChainChompNumLunges | integer | | +| oChainChompReleaseStatus | integer | | +| oChainChompHitGate | integer | | +| oCheckerBoardPlatformUnkF8 | integer | | +| oCheckerBoardPlatformUnkFC | integer | | +| oCheckerBoardPlatformUnk1AC | number | | +| oCheepCheepUnkF4 | number | | +| oCheepCheepUnkF8 | number | | +| oCheepCheepUnkFC | number | | +| oCheepCheepUnk104 | number | | +| oCheepCheepUnk108 | number | | +| oChuckyaUnk88 | integer | | +| oChuckyaUnkF8 | integer | | +| oChuckyaUnkFC | integer | | +| oChuckyaUnk100 | integer | | +| oClamUnkF4 | integer | | +| oCloudCenterX | number | | +| oCloudCenterY | number | | +| oCloudBlowing | integer | | +| oCloudGrowSpeed | number | | +| oCloudFwooshMovementRadius | integer | | +| oCoinUnkF4 | integer | | +| oCoinUnkF8 | integer | | +| oCoinUnk110 | number | | +| oCoinUnk1B0 | integer | | +| oCollisionParticleUnkF4 | number | | +| oControllablePlatformUnkF8 | integer | | +| oControllablePlatformUnkFC | number | | +| oControllablePlatformUnk100 | integer | | +| oBreakableBoxSmallReleased | integer | | +| oBreakableBoxSmallFramesSinceReleased | integer | | +| oJumpingBoxUnkF4 | integer | | +| oJumpingBoxUnkF8 | integer | | +| oRRCruiserWingUnkF4 | integer | | +| oRRCruiserWingUnkF8 | integer | | +| oDonutPlatformSpawnerSpawnedPlatforms | integer | | +| oDoorUnk88 | integer | | +| oDoorUnkF8 | integer | | +| oDoorUnkFC | integer | | +| oDoorUnk100 | integer | | +| oDorrieDistToHome | number | | +| oDorrieOffsetY | number | | +| oDorrieVelY | number | | +| oDorrieForwardDistToMario | number | | +| oDorrieYawVel | integer | | +| oDorrieLiftingMario | integer | | +| oDorrieGroundPounded | integer | | +| oDorrieAngleToHome | integer | | +| oDorrieNeckAngle | integer | | +| oDorrieHeadRaiseSpeed | integer | | +| oElevatorUnkF4 | number | | +| oElevatorUnkF8 | number | | +| oElevatorUnkFC | number | | +| oElevatorUnk100 | integer | | +| oExclamationBoxUnkF4 | number | | +| oExclamationBoxUnkF8 | number | | +| oExclamationBoxUnkFC | integer | | +| oExclamationBoxForce | integer | | +| oEyerokBossNumHands | integer | | +| oEyerokBossUnkFC | integer | | +| oEyerokBossActiveHand | integer | | +| oEyerokBossUnk104 | integer | | +| oEyerokBossUnk108 | number | | +| oEyerokBossUnk10C | number | | +| oEyerokBossUnk110 | number | | +| oEyerokBossUnk1AC | integer | | +| oEyerokHandWakeUpTimer | integer | | +| oEyerokReceivedAttack | integer | | +| oEyerokHandUnkFC | integer | | +| oEyerokHandUnk100 | integer | | +| oEyerokHandDead | integer | | +| oFallingPillarPitchAcceleration | number | | +| oFireSpitterScaleVel | number | | +| oFireSpitterLastWaterY | number | | +| oBlueFishRandomVel | number | | +| oBlueFishRandomTime | integer | | +| oBlueFishRandomAngle | number | | +| oFishWaterLevel | number | | +| oFishPosY | number | | +| oFishRandomOffset | number | | +| oFishRandomSpeed | integer | | +| oFishRespawnDistance | number | | +| oFishRandomVel | number | | +| oFishDepthDistance | number | | +| oFishActiveDistance | number | | +| oFlameUnkF4 | number | | +| oFlameUnkF8 | integer | | +| oFlameUnkFC | number | | +| oFlameUnk100 | [Object](#Object) | read-only | +| oBlueFlameUnkF8 | number | | +| oSmallPiranhaFlameStartSpeed | number | | +| oSmallPiranhaFlameEndSpeed | number | | +| oSmallPiranhaFlameModel | integer | | +| oSmallPiranhaFlameUnk100 | integer | | +| oSmallPiranhaFlameUnk104 | number | | +| oMovingFlameTimer | integer | | +| oFlameThowerFlameUnk110 | integer | | +| oFlameThowerUnk110 | integer | | +| oFloatingPlatformUnkF4 | integer | | +| oFloatingPlatformUnkF8 | number | | +| oFloatingPlatformUnkFC | number | | +| oFloatingPlatformUnk100 | integer | | +| oFloorSwitchPressAnimationUnkF4 | integer | | +| oFloorSwitchPressAnimationUnkF8 | integer | | +| oFloorSwitchPressAnimationUnkFC | integer | | +| oFloorSwitchPressAnimationUnk100 | integer | | +| oFlyGuyIdleTimer | integer | | +| oFlyGuyOscTimer | integer | | +| oFlyGuyUnusedJitter | integer | | +| oFlyGuyLungeYDecel | number | | +| oFlyGuyLungeTargetPitch | integer | | +| oFlyGuyTargetRoll | integer | | +| oFlyGuyScaleVel | number | | +| oGrandStarUnk108 | integer | | +| oHorizontalGrindelTargetYaw | integer | | +| oHorizontalGrindelDistToHome | number | | +| oHorizontalGrindelOnGround | integer | | +| oGoombaSize | integer | | +| oGoombaScale | number | | +| oGoombaWalkTimer | integer | | +| oGoombaTargetYaw | integer | | +| oGoombaBlinkTimer | integer | | +| oGoombaTurningAwayFromWall | integer | | +| oGoombaRelativeSpeed | number | | +| oGoombaJumpCooldown | integer | | +| oHauntedChairUnkF4 | integer | | +| oHauntedChairUnkF8 | number | | +| oHauntedChairUnkFC | number | | +| oHauntedChairUnk100 | Pointer | read-only | +| oHauntedChairUnk104 | integer | | +| oHeaveHoUnk88 | integer | | +| oHeaveHoUnkF4 | number | | +| oHiddenObjectUnkF4 | [Object](#Object) | read-only | +| oHootAvailability | integer | | +| oHootMarioReleaseTime | integer | | +| oHorizontalMovementUnkF4 | integer | | +| oHorizontalMovementUnkF8 | integer | | +| oHorizontalMovementUnk100 | number | | +| oHorizontalMovementUnk104 | integer | | +| oHorizontalMovementUnk108 | number | | +| oKickableBoardF4 | integer | | +| oKickableBoardF8 | integer | | +| oKingBobombUnk88 | integer | | +| oKingBobombUnkF8 | integer | | +| oKingBobombUnkFC | integer | | +| oKingBobombUnk100 | integer | | +| oKingBobombUnk104 | integer | | +| oKingBobombUnk108 | integer | | +| oKleptoDistanceToTarget | number | | +| oKleptoUnkF8 | number | | +| oKleptoUnkFC | number | | +| oKleptoSpeed | number | | +| oKleptoStartPosX | number | | +| oKleptoStartPosY | number | | +| oKleptoStartPosZ | number | | +| oKleptoTimeUntilTargetChange | integer | | +| oKleptoTargetNumber | integer | | +| oKleptoUnk1AE | integer | | +| oKleptoUnk1B0 | integer | | +| oKleptoYawToTarget | integer | | +| oKoopaAgility | number | | +| oKoopaMovementType | integer | | +| oKoopaTargetYaw | integer | | +| oKoopaUnshelledTimeUntilTurn | integer | | +| oKoopaTurningAwayFromWall | integer | | +| oKoopaDistanceToMario | number | | +| oKoopaAngleToMario | integer | | +| oKoopaBlinkTimer | integer | | +| oKoopaCountdown | integer | | +| oKoopaTheQuickRaceIndex | integer | | +| oKoopaTheQuickInitTextboxCooldown | integer | | +| oKoopaRaceEndpointRaceBegun | integer | | +| oKoopaRaceEndpointKoopaFinished | integer | | +| oKoopaRaceEndpointRaceStatus | integer | | +| oKoopaRaceEndpointUnk100 | integer | | +| oKoopaRaceEndpointRaceEnded | integer | | +| oKoopaShellFlameUnkF4 | number | | +| oKoopaShellFlameUnkF8 | number | | +| oCameraLakituBlinkTimer | integer | | +| oCameraLakituSpeed | number | | +| oCameraLakituCircleRadius | number | | +| oCameraLakituFinishedDialog | integer | | +| oCameraLakituUnk104 | integer | | +| oCameraLakituPitchVel | integer | | +| oCameraLakituYawVel | integer | | +| oEnemyLakituNumSpinies | integer | | +| oEnemyLakituBlinkTimer | integer | | +| oEnemyLakituSpinyCooldown | integer | | +| oEnemyLakituFaceForwardCountdown | integer | | +| oIntroLakituSplineSegmentProgress | number | | +| oIntroLakituSplineSegment | number | | +| oIntroLakituUnk100 | number | | +| oIntroLakituUnk104 | number | | +| oIntroLakituUnk108 | number | | +| oIntroLakituUnk10C | number | | +| oIntroLakituUnk110 | number | | +| oIntroLakituCloud | [Object](#Object) | read-only | +| oMenuButtonState | integer | | +| oMenuButtonTimer | integer | | +| oMenuButtonOrigPosX | number | | +| oMenuButtonOrigPosY | number | | +| oMenuButtonOrigPosZ | number | | +| oMenuButtonScale | number | | +| oMenuButtonActionPhase | integer | | +| oMenuButtonIsCustom | integer | | +| oMantaUnkF4 | integer | | +| oMantaUnkF8 | integer | | +| oMantaUnk1AC | integer | | +| oMerryGoRoundStopped | integer | | +| oMerryGoRoundMusicShouldPlay | integer | | +| oMerryGoRoundMarioIsOutside | integer | | +| oMerryGoRoundBooManagerNumBoosKilled | integer | | +| oMerryGoRoundBooManagerNumBoosSpawned | integer | | +| oMipsStarStatus | integer | | +| oMipsStartWaypointIndex | integer | | +| oMipsForwardVelocity | number | | +| oMoneybagJumpState | integer | | +| oMontyMoleCurrentHole | [Object](#Object) | read-only | +| oMontyMoleHeightRelativeToFloor | number | | +| oMontyMoleHoleX | number | | +| oMontyMoleHoleY | number | | +| oMontyMoleHoleZ | number | | +| oMontyMoleHoleCooldown | integer | | +| oMrBlizzardScale | number | | +| oMrBlizzardHeldObj | [Object](#Object) | read-only | +| oMrBlizzardGraphYVel | number | | +| oMrBlizzardTimer | integer | | +| oMrBlizzardDizziness | number | | +| oMrBlizzardChangeInDizziness | number | | +| oMrBlizzardGraphYOffset | number | | +| oMrBlizzardDistFromHome | integer | | +| oMrBlizzardTargetMoveYaw | integer | | +| oMrIUnkF4 | integer | | +| oMrIUnkFC | integer | | +| oMrIUnk100 | integer | | +| oMrIUnk104 | integer | | +| oMrIUnk108 | integer | | +| oMrISize | number | | +| oMrIUnk110 | integer | | +| oRespawnerModelToRespawn | integer | | +| oRespawnerMinSpawnDist | number | | +| oOpenableGrillUnk88 | integer | | +| oOpenableGrillUnkF4 | [Object](#Object) | read-only | +| oIntroPeachYawFromFocus | number | | +| oIntroPeachPitchFromFocus | number | | +| oIntroPeachDistToCamera | number | | +| oRacingPenguinInitTextCooldown | integer | | +| oRacingPenguinWeightedNewTargetSpeed | number | | +| oRacingPenguinFinalTextbox | integer | | +| oRacingPenguinMarioWon | integer | | +| oRacingPenguinReachedBottom | integer | | +| oRacingPenguinMarioCheated | integer | | +| oSmallPenguinUnk88 | integer | | +| oSmallPenguinUnk100 | integer | | +| oSmallPenguinUnk104 | number | | +| oSmallPenguinUnk108 | number | | +| oSmallPenguinUnk110 | integer | | +| oSLWalkingPenguinWindCollisionXPos | number | | +| oSLWalkingPenguinWindCollisionZPos | number | | +| oSLWalkingPenguinCurStep | integer | | +| oSLWalkingPenguinCurStepTimer | integer | | +| oPiranhaPlantSleepMusicState | integer | | +| oPiranhaPlantScale | number | | +| oFirePiranhaPlantNeutralScale | number | | +| oFirePiranhaPlantScale | number | | +| oFirePiranhaPlantActive | integer | | +| oFirePiranhaPlantDeathSpinTimer | integer | | +| oFirePiranhaPlantDeathSpinVel | number | | +| oPitouneUnkF4 | number | | +| oPitouneUnkF8 | number | | +| oPitouneUnkFC | number | | +| oPlatformTimer | integer | | +| oPlatformUnkF8 | [Object](#Object) | read-only | +| oPlatformUnkFC | integer | | +| oPlatformUnk10C | number | | +| oPlatformUnk110 | number | | +| oPlatformOnTrackBaseBallIndex | integer | | +| oPlatformOnTrackDistMovedSinceLastBall | number | | +| oPlatformOnTrackSkiLiftRollVel | number | | +| oPlatformOnTrackStartWaypoint | [Waypoint](#Waypoint) | read-only | +| oPlatformOnTrackPrevWaypoint | [Waypoint](#Waypoint) | read-only | +| oPlatformOnTrackPrevWaypointFlags | integer | | +| oPlatformOnTrackPitch | integer | | +| oPlatformOnTrackYaw | integer | | +| oPlatformOnTrackOffsetY | number | | +| oPlatformOnTrackIsNotSkiLift | integer | | +| oPlatformOnTrackIsNotHMC | integer | | +| oPlatformOnTrackType | integer | | +| oPlatformOnTrackWasStoodOn | integer | | +| oPlatformSpawnerUnkF4 | integer | | +| oPlatformSpawnerUnkF8 | integer | | +| oPlatformSpawnerUnkFC | integer | | +| oPlatformSpawnerUnk100 | number | | +| oPlatformSpawnerUnk104 | number | | +| oPlatformSpawnerUnk108 | number | | +| oPokeyAliveBodyPartFlags | integer | | +| oPokeyNumAliveBodyParts | integer | | +| oPokeyBottomBodyPartSize | number | | +| oPokeyHeadWasKilled | integer | | +| oPokeyTargetYaw | integer | | +| oPokeyChangeTargetTimer | integer | | +| oPokeyTurningAwayFromWall | integer | | +| oPokeyBodyPartDeathDelayAfterHeadKilled | integer | | +| oPokeyBodyPartBlinkTimer | integer | | +| oDDDPoleVel | number | | +| oDDDPoleMaxOffset | number | | +| oDDDPoleOffset | number | | +| oPyramidTopPillarsTouched | integer | | +| oPyramidTopFragmentsScale | number | | +| oRollingLogUnkF4 | number | | +| oLllRotatingHexFlameUnkF4 | number | | +| oLllRotatingHexFlameUnkF8 | number | | +| oLllRotatingHexFlameUnkFC | number | | +| oScuttlebugUnkF4 | integer | | +| oScuttlebugUnkF8 | integer | | +| oScuttlebugUnkFC | integer | | +| oScuttlebugSpawnerUnk88 | integer | | +| oScuttlebugSpawnerUnkF4 | integer | | +| oSeesawPlatformPitchVel | number | | +| oShipPart3UnkF4 | integer | | +| oShipPart3UnkF8 | integer | | +| oSinkWhenSteppedOnUnk104 | integer | | +| oSinkWhenSteppedOnUnk108 | number | | +| oSkeeterTargetAngle | integer | | +| oSkeeterUnkF8 | integer | | +| oSkeeterUnkFC | number | | +| oSkeeterWaitTime | integer | | +| oSkeeterLastWaterY | number | | +| oSkeeterUnk1AC | integer | | +| oJrbSlidingBoxUnkF4 | [Object](#Object) | read-only | +| oJrbSlidingBoxUnkF8 | integer | | +| oJrbSlidingBoxUnkFC | number | | +| oWFSlidBrickPtfmMovVel | number | | +| oSmokeTimer | integer | | +| oSnowmansBottomUnkF4 | number | | +| oSnowmansBottomUnkF8 | integer | | +| oSnowmansBottomUnk1AC | integer | | +| oSnowmansHeadUnkF4 | integer | | +| oSLSnowmanWindOriginalYaw | integer | | +| oSnufitRecoil | integer | | +| oSnufitScale | number | | +| oSnufitCircularPeriod | integer | | +| oSnufitBodyScalePeriod | integer | | +| oSnufitBodyBaseScale | integer | | +| oSnufitBullets | integer | | +| oSnufitXOffset | integer | | +| oSnufitYOffset | integer | | +| oSnufitZOffset | integer | | +| oSnufitBodyScale | integer | | +| oSpindelUnkF4 | integer | | +| oSpindelUnkF8 | integer | | +| oSpinningHeartTotalSpin | integer | | +| oSpinningHeartPlayedSound | integer | | +| oSpinyTimeUntilTurn | integer | | +| oSpinyTargetYaw | integer | | +| oSpinyTurningAwayFromWall | integer | | +| oSoundEffectUnkF4 | integer | | +| oStarSpawnDisFromHome | number | | +| oStarSpawnUnkFC | number | | +| oHiddenStarTriggerCounter | integer | | +| oSparkleSpawnUnk1B0 | integer | | +| oUnlockDoorStarState | integer | | +| oUnlockDoorStarTimer | integer | | +| oUnlockDoorStarYawVel | integer | | +| oCelebStarUnkF4 | integer | | +| oCelebStarDiameterOfRotation | integer | | +| oStarSelectorType | integer | | +| oStarSelectorTimer | integer | | +| oStarSelectorSize | number | | +| oSushiSharkUnkF4 | integer | | +| oSwingPlatformAngle | number | | +| oSwingPlatformSpeed | number | | +| oSwoopBonkCountdown | integer | | +| oSwoopTargetPitch | integer | | +| oSwoopTargetYaw | integer | | +| oThwompRandomTimer | integer | | +| oTiltingPyramidNormalX | number | | +| oTiltingPyramidNormalY | number | | +| oTiltingPyramidNormalZ | number | | +| oTiltingPyramidMarioOnPlatform | integer | | +| oToadMessageDialogId | integer | | +| oToadMessageRecentlyTalked | integer | | +| oToadMessageState | integer | | +| oToxBoxMovementStep | integer | | +| oTTCRotatingSolidNumTurns | integer | | +| oTTCRotatingSolidNumSides | integer | | +| oTTCRotatingSolidRotationDelay | integer | | +| oTTCRotatingSolidVelY | number | | +| oTTCRotatingSolidSoundTimer | integer | | +| oTTCPendulumAccelDir | number | | +| oTTCPendulumAngle | number | | +| oTTCPendulumAngleVel | number | | +| oTTCPendulumAngleAccel | number | | +| oTTCPendulumDelay | integer | | +| oTTCPendulumSoundTimer | integer | | +| oTTCTreadmillBigSurface | Pointer | read-only | +| oTTCTreadmillSmallSurface | Pointer | read-only | +| oTTCTreadmillSpeed | number | | +| oTTCTreadmillTargetSpeed | number | | +| oTTCTreadmillTimeUntilSwitch | integer | | +| oTTCMovingBarDelay | integer | | +| oTTCMovingBarStoppedTimer | integer | | +| oTTCMovingBarOffset | number | | +| oTTCMovingBarSpeed | number | | +| oTTCMovingBarStartOffset | number | | +| oTTCCogDir | number | | +| oTTCCogSpeed | number | | +| oTTCCogTargetVel | number | | +| oTTCPitBlockPeakY | number | | +| oTTCPitBlockDir | integer | | +| oTTCPitBlockWaitTime | integer | | +| oTTCElevatorDir | number | | +| oTTCElevatorPeakY | number | | +| oTTCElevatorMoveTime | integer | | +| oTTC2DRotatorMinTimeUntilNextTurn | integer | | +| oTTC2DRotatorTargetYaw | integer | | +| oTTC2DRotatorIncrement | integer | | +| oTTC2DRotatorRandomDirTimer | integer | | +| oTTC2DRotatorSpeed | integer | | +| oTTCSpinnerDir | integer | | +| oTTCChangeDirTimer | integer | | +| oBetaTrampolineMarioOnTrampoline | integer | | +| oTreasureChestUnkF4 | integer | | +| oTreasureChestUnkF8 | integer | | +| oTreasureChestUnkFC | integer | | +| oTreasureChestSound | integer | | +| oTreeSnowOrLeafUnkF4 | integer | | +| oTreeSnowOrLeafUnkF8 | integer | | +| oTreeSnowOrLeafUnkFC | integer | | +| oTumblingBridgeUnkF4 | integer | | +| oTweesterScaleTimer | integer | | +| oTweesterUnused | integer | | +| oUkikiTauntCounter | integer | | +| oUkikiTauntsToBeDone | integer | | +| oUkikiChaseFleeRange | number | | +| oUkikiTextState | integer | | +| oUkikiTextboxTimer | integer | | +| oUkikiCageSpinTimer | integer | | +| oUkikiHasCap | integer | | +| oUkikiCageNextAction | integer | | +| oUnagiUnkF4 | number | | +| oUnagiUnkF8 | number | | +| oUnagiUnk110 | number | | +| oUnagiUnk1AC | number | | +| oUnagiUnk1B0 | integer | | +| oUnagiUnk1B2 | integer | | +| oWaterBombVerticalStretch | number | | +| oWaterBombStretchSpeed | number | | +| oWaterBombOnGround | integer | | +| oWaterBombNumBounces | number | | +| oWaterBombSpawnerBombActive | integer | | +| oWaterBombSpawnerTimeToSpawn | integer | | +| oWaterCannonUnkF4 | integer | | +| oWaterCannonUnkF8 | integer | | +| oWaterCannonUnkFC | integer | | +| oWaterCannonUnk100 | integer | | +| oCannonBarrelBubblesUnkF4 | number | | +| oWaterLevelPillarDrained | integer | | +| oWaterLevelTriggerUnkF4 | integer | | +| oWaterLevelTriggerTargetWaterLevel | integer | | +| oWaterObjUnkF4 | integer | | +| oWaterObjUnkF8 | integer | | +| oWaterObjUnkFC | integer | | +| oWaterObjUnk100 | integer | | +| oWaterRingScalePhaseX | integer | | +| oWaterRingScalePhaseY | integer | | +| oWaterRingScalePhaseZ | integer | | +| oWaterRingNormalX | number | | +| oWaterRingNormalY | number | | +| oWaterRingNormalZ | number | | +| oWaterRingMarioDistInFront | number | | +| oWaterRingIndex | integer | | +| oWaterRingAvgScale | number | | +| oWaterRingSpawnerRingsCollected | integer | | +| oWaterRingMgrNextRingIndex | integer | | +| oWaterRingMgrLastRingCollected | integer | | +| oWaveTrailSize | number | | +| oWhirlpoolInitFacePitch | integer | | +| oWhirlpoolInitFaceRoll | integer | | +| oWhirlpoolTimeout | integer | | +| oWhitePuffUnkF4 | number | | +| oWhitePuffUnkF8 | integer | | +| oWhitePuffUnkFC | integer | | +| oStrongWindParticlePenguinObj | [Object](#Object) | read-only | +| oWhompShakeVal | integer | | +| oWigglerFallThroughFloorsHeight | number | | +| oWigglerSegments | [ChainSegment](#ChainSegment) | read-only | +| oWigglerWalkAnimSpeed | number | | +| oWigglerSquishSpeed | number | | +| oWigglerTimeUntilRandomTurn | integer | | +| oWigglerTargetYaw | integer | | +| oWigglerWalkAwayFromWallTimer | integer | | +| oWigglerUnused | integer | | +| oWigglerTextStatus | integer | | +| oLllWoodPieceOscillationTimer | integer | | +| oWoodenPostTotalMarioAngle | integer | | +| oWoodenPostPrevAngleToMario | integer | | +| oWoodenPostSpeedY | number | | +| oWoodenPostMarioPounding | integer | | +| oWoodenPostOffsetY | number | | +| oYoshiBlinkTimer | integer | | +| oYoshiChosenHome | integer | | +| oYoshiTargetYaw | integer | | +| oBreakableWallForce | integer | | + [:arrow_up_small:](#)
@@ -769,6 +1537,38 @@
+## [SpawnParticlesInfo](#SpawnParticlesInfo) + +| Field | Type | Access | +| ----- | ---- | ------ | +| behParam | integer | | +| count | integer | | +| dragStrength | integer | | +| forwardVelBase | integer | | +| forwardVelRange | integer | | +| gravity | integer | | +| model | integer | | +| offsetY | integer | | +| sizeBase | number | | +| sizeRange | number | | +| velYBase | integer | | +| velYRange | integer | | + +[:arrow_up_small:](#) + +
+ +## [Struct802A272C](#Struct802A272C) + +| Field | Type | Access | +| ----- | ---- | ------ | +| vecF | [Vec3f](#Vec3f) | read-only | +| vecS | [Vec3s](#Vec3s) | read-only | + +[:arrow_up_small:](#) + +
+ ## [Surface](#Surface) | Field | Type | Access | @@ -908,6 +1708,25 @@
+## [WaterDropletParams](#WaterDropletParams) + +| Field | Type | Access | +| ----- | ---- | ------ | +| flags | integer | | +| model | integer | | +| moveAngleRange | integer | | +| moveRange | integer | | +| randForwardVelOffset | number | | +| randForwardVelScale | number | | +| randSizeOffset | number | | +| randSizeScale | number | | +| randYVelOffset | number | | +| randYVelScale | number | | + +[:arrow_up_small:](#) + +
+ ## [Waypoint](#Waypoint) | Field | Type | Access | @@ -930,3 +1749,14 @@
+## [struct802A1230](#struct802A1230) + +| Field | Type | Access | +| ----- | ---- | ------ | +| unk00 | integer | | +| unk02 | integer | | + +[:arrow_up_small:](#) + +
+ diff --git a/src/pc/lua/smlua_cobject_autogen.c b/src/pc/lua/smlua_cobject_autogen.c index e584a745..b18c8151 100644 --- a/src/pc/lua/smlua_cobject_autogen.c +++ b/src/pc/lua/smlua_cobject_autogen.c @@ -8,7 +8,9 @@ #include "src/engine/surface_collision.h" #include "src/pc/network/network_player.h" #include "src/pc/djui/djui_hud_utils.h" +#include "src/game/object_helpers.h" +#include "include\object_fields.h" #define LUA_ANIM_INFO_FIELD_COUNT 11 static struct LuaObjectField sAnimInfoFields[LUA_ANIM_INFO_FIELD_COUNT] = { { "animAccel", LVT_S32, offsetof(struct AnimInfo, animAccel), false, LOT_NONE }, @@ -111,6 +113,16 @@ static struct LuaObjectField sCameraTriggerFields[LUA_CAMERA_TRIGGER_FIELD_COUNT // { "event", LVT_???, offsetof(struct CameraTrigger, event), false, LOT_??? }, <--- UNIMPLEMENTED }; +#define LUA_CHAIN_SEGMENT_FIELD_COUNT 6 +static struct LuaObjectField sChainSegmentFields[LUA_CHAIN_SEGMENT_FIELD_COUNT] = { + { "pitch", LVT_S16, offsetof(struct ChainSegment, pitch), false, LOT_NONE }, + { "posX", LVT_F32, offsetof(struct ChainSegment, posX), false, LOT_NONE }, + { "posY", LVT_F32, offsetof(struct ChainSegment, posY), false, LOT_NONE }, + { "posZ", LVT_F32, offsetof(struct ChainSegment, posZ), false, LOT_NONE }, + { "roll", LVT_S16, offsetof(struct ChainSegment, roll), false, LOT_NONE }, + { "yaw", LVT_S16, offsetof(struct ChainSegment, yaw), false, LOT_NONE }, +}; + #define LUA_CHARACTER_FIELD_COUNT 59 static struct LuaObjectField sCharacterFields[LUA_CHARACTER_FIELD_COUNT] = { { "animOffsetEnabled", LVT_U8, offsetof(struct Character, animOffsetEnabled), true, LOT_NONE }, @@ -270,6 +282,17 @@ static struct LuaObjectField sGraphNodeObjectFields[LUA_GRAPH_NODE_OBJECT_FIELD_ { "unk4C", LVT_COBJECT_P, offsetof(struct GraphNodeObject, unk4C), true, LOT_SPAWNINFO }, }; +#define LUA_GRAPH_NODE_802_A45_E4_FIELD_COUNT 6 +static struct LuaObjectField sGraphNode_802A45E4Fields[LUA_GRAPH_NODE_802_A45_E4_FIELD_COUNT] = { +// { "0x00]", LOT_???, offsetof(struct GraphNode_802A45E4, 0x00]), false, LOT_??? }, <--- UNIMPLEMENTED + { "unk18", LVT_S16, offsetof(struct GraphNode_802A45E4, unk18), false, LOT_NONE }, + { "unk1A", LVT_S16, offsetof(struct GraphNode_802A45E4, unk1A), false, LOT_NONE }, + { "unk1C", LVT_S16, offsetof(struct GraphNode_802A45E4, unk1C), false, LOT_NONE }, + { "unk1E", LVT_S16, offsetof(struct GraphNode_802A45E4, unk1E), false, LOT_NONE }, + { "unk20", LVT_S16, offsetof(struct GraphNode_802A45E4, unk20), false, LOT_NONE }, + { "unk22", LVT_S16, offsetof(struct GraphNode_802A45E4, unk22), false, LOT_NONE }, +}; + #define LUA_HANDHELD_SHAKE_POINT_FIELD_COUNT 3 static struct LuaObjectField sHandheldShakePointFields[LUA_HANDHELD_SHAKE_POINT_FIELD_COUNT] = { { "index", LVT_S8, offsetof(struct HandheldShakePoint, index), false, LOT_NONE }, @@ -476,40 +499,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 22 +#define LUA_OBJECT_FIELD_COUNT 746 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 }, - { "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_???, 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 }, }; #define LUA_OBJECT_HITBOX_FIELD_COUNT 9 @@ -593,6 +1345,28 @@ static struct LuaObjectField sSpawnInfoFields[LUA_SPAWN_INFO_FIELD_COUNT] = { { "unk18", LVT_COBJECT_P, offsetof(struct SpawnInfo, unk18), true, LOT_GRAPHNODE }, }; +#define LUA_SPAWN_PARTICLES_INFO_FIELD_COUNT 12 +static struct LuaObjectField sSpawnParticlesInfoFields[LUA_SPAWN_PARTICLES_INFO_FIELD_COUNT] = { + { "behParam", LVT_S8, offsetof(struct SpawnParticlesInfo, behParam), false, LOT_NONE }, + { "count", LVT_S8, offsetof(struct SpawnParticlesInfo, count), false, LOT_NONE }, + { "dragStrength", LVT_S8, offsetof(struct SpawnParticlesInfo, dragStrength), false, LOT_NONE }, + { "forwardVelBase", LVT_S8, offsetof(struct SpawnParticlesInfo, forwardVelBase), false, LOT_NONE }, + { "forwardVelRange", LVT_S8, offsetof(struct SpawnParticlesInfo, forwardVelRange), false, LOT_NONE }, + { "gravity", LVT_S8, offsetof(struct SpawnParticlesInfo, gravity), false, LOT_NONE }, + { "model", LVT_U8, offsetof(struct SpawnParticlesInfo, model), false, LOT_NONE }, + { "offsetY", LVT_S8, offsetof(struct SpawnParticlesInfo, offsetY), false, LOT_NONE }, + { "sizeBase", LVT_F32, offsetof(struct SpawnParticlesInfo, sizeBase), false, LOT_NONE }, + { "sizeRange", LVT_F32, offsetof(struct SpawnParticlesInfo, sizeRange), false, LOT_NONE }, + { "velYBase", LVT_S8, offsetof(struct SpawnParticlesInfo, velYBase), false, LOT_NONE }, + { "velYRange", LVT_S8, offsetof(struct SpawnParticlesInfo, velYRange), false, LOT_NONE }, +}; + +#define LUA_STRUCT802_A272_C_FIELD_COUNT 2 +static struct LuaObjectField sStruct802A272CFields[LUA_STRUCT802_A272_C_FIELD_COUNT] = { + { "vecF", LVT_COBJECT, offsetof(struct Struct802A272C, vecF), true, LOT_VEC3F }, + { "vecS", LVT_COBJECT, offsetof(struct Struct802A272C, vecS), true, LOT_VEC3S }, +}; + #define LUA_SURFACE_FIELD_COUNT 16 static struct LuaObjectField sSurfaceFields[LUA_SURFACE_FIELD_COUNT] = { { "flags", LVT_S8, offsetof(struct Surface, flags), false, LOT_NONE }, @@ -675,6 +1449,21 @@ 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 +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 }, +}; + #define LUA_WAYPOINT_FIELD_COUNT 2 static struct LuaObjectField sWaypointFields[LUA_WAYPOINT_FIELD_COUNT] = { { "flags", LVT_S16, offsetof(struct Waypoint, flags), false, LOT_NONE }, @@ -687,6 +1476,12 @@ static struct LuaObjectField sWhirlpoolFields[LUA_WHIRLPOOL_FIELD_COUNT] = { { "strength", LVT_S16, offsetof(struct Whirlpool, strength), false, LOT_NONE }, }; +#define LUA_STRUCT802_A1230_FIELD_COUNT 2 +static struct LuaObjectField sstruct802A1230Fields[LUA_STRUCT802_A1230_FIELD_COUNT] = { + { "unk00", LVT_S16, offsetof(struct struct802A1230, unk00), false, LOT_NONE }, + { "unk02", LVT_S16, offsetof(struct struct802A1230, unk02), false, LOT_NONE }, +}; + struct LuaObjectTable sLuaObjectAutogenTable[LOT_AUTOGEN_MAX - LOT_AUTOGEN_MIN] = { { LOT_ANIMINFO, sAnimInfoFields, LUA_ANIM_INFO_FIELD_COUNT }, { LOT_ANIMATION, sAnimationFields, LUA_ANIMATION_FIELD_COUNT }, @@ -695,6 +1490,7 @@ struct LuaObjectTable sLuaObjectAutogenTable[LOT_AUTOGEN_MAX - LOT_AUTOGEN_MIN] { LOT_CAMERAFOVSTATUS, sCameraFOVStatusFields, LUA_CAMERA_FOVSTATUS_FIELD_COUNT }, { LOT_CAMERASTOREDINFO, sCameraStoredInfoFields, LUA_CAMERA_STORED_INFO_FIELD_COUNT }, { LOT_CAMERATRIGGER, sCameraTriggerFields, LUA_CAMERA_TRIGGER_FIELD_COUNT }, + { LOT_CHAINSEGMENT, sChainSegmentFields, LUA_CHAIN_SEGMENT_FIELD_COUNT }, { LOT_CHARACTER, sCharacterFields, LUA_CHARACTER_FIELD_COUNT }, { LOT_CONTROLLER, sControllerFields, LUA_CONTROLLER_FIELD_COUNT }, { LOT_CUTSCENE, sCutsceneFields, LUA_CUTSCENE_FIELD_COUNT }, @@ -704,6 +1500,7 @@ struct LuaObjectTable sLuaObjectAutogenTable[LOT_AUTOGEN_MAX - LOT_AUTOGEN_MIN] { LOT_GLOBALTEXTURES, sGlobalTexturesFields, LUA_GLOBAL_TEXTURES_FIELD_COUNT }, { LOT_GRAPHNODE, sGraphNodeFields, LUA_GRAPH_NODE_FIELD_COUNT }, { LOT_GRAPHNODEOBJECT, sGraphNodeObjectFields, LUA_GRAPH_NODE_OBJECT_FIELD_COUNT }, + { LOT_GRAPHNODE_802A45E4, sGraphNode_802A45E4Fields, LUA_GRAPH_NODE_802_A45_E4_FIELD_COUNT }, { LOT_HANDHELDSHAKEPOINT, sHandheldShakePointFields, LUA_HANDHELD_SHAKE_POINT_FIELD_COUNT }, { LOT_INSTANTWARP, sInstantWarpFields, LUA_INSTANT_WARP_FIELD_COUNT }, { LOT_LAKITUSTATE, sLakituStateFields, LUA_LAKITU_STATE_FIELD_COUNT }, @@ -722,6 +1519,8 @@ struct LuaObjectTable sLuaObjectAutogenTable[LOT_AUTOGEN_MAX - LOT_AUTOGEN_MIN] { LOT_PLAYERCAMERASTATE, sPlayerCameraStateFields, LUA_PLAYER_CAMERA_STATE_FIELD_COUNT }, { LOT_PLAYERGEOMETRY, sPlayerGeometryFields, LUA_PLAYER_GEOMETRY_FIELD_COUNT }, { LOT_SPAWNINFO, sSpawnInfoFields, LUA_SPAWN_INFO_FIELD_COUNT }, + { LOT_SPAWNPARTICLESINFO, sSpawnParticlesInfoFields, LUA_SPAWN_PARTICLES_INFO_FIELD_COUNT }, + { LOT_STRUCT802A272C, sStruct802A272CFields, LUA_STRUCT802_A272_C_FIELD_COUNT }, { LOT_SURFACE, sSurfaceFields, LUA_SURFACE_FIELD_COUNT }, { LOT_TEXTUREINFO, sTextureInfoFields, LUA_TEXTURE_INFO_FIELD_COUNT }, { LOT_TRANSITIONINFO, sTransitionInfoFields, LUA_TRANSITION_INFO_FIELD_COUNT }, @@ -729,8 +1528,10 @@ struct LuaObjectTable sLuaObjectAutogenTable[LOT_AUTOGEN_MAX - LOT_AUTOGEN_MIN] { LOT_WARPNODE, sWarpNodeFields, LUA_WARP_NODE_FIELD_COUNT }, { LOT_WARPTRANSITION, sWarpTransitionFields, LUA_WARP_TRANSITION_FIELD_COUNT }, { LOT_WARPTRANSITIONDATA, sWarpTransitionDataFields, LUA_WARP_TRANSITION_DATA_FIELD_COUNT }, + { LOT_WATERDROPLETPARAMS, sWaterDropletParamsFields, LUA_WATER_DROPLET_PARAMS_FIELD_COUNT }, { LOT_WAYPOINT, sWaypointFields, LUA_WAYPOINT_FIELD_COUNT }, { LOT_WHIRLPOOL, sWhirlpoolFields, LUA_WHIRLPOOL_FIELD_COUNT }, + { LOT_STRUCT802A1230, sstruct802A1230Fields, LUA_STRUCT802_A1230_FIELD_COUNT }, }; struct LuaObjectField* smlua_get_object_field_autogen(u16 lot, const char* key) { diff --git a/src/pc/lua/smlua_cobject_autogen.h b/src/pc/lua/smlua_cobject_autogen.h index 4d58296b..20aa65df 100644 --- a/src/pc/lua/smlua_cobject_autogen.h +++ b/src/pc/lua/smlua_cobject_autogen.h @@ -12,6 +12,7 @@ enum LuaObjectAutogenType { LOT_CAMERAFOVSTATUS, LOT_CAMERASTOREDINFO, LOT_CAMERATRIGGER, + LOT_CHAINSEGMENT, LOT_CHARACTER, LOT_CONTROLLER, LOT_CUTSCENE, @@ -21,6 +22,7 @@ enum LuaObjectAutogenType { LOT_GLOBALTEXTURES, LOT_GRAPHNODE, LOT_GRAPHNODEOBJECT, + LOT_GRAPHNODE_802A45E4, LOT_HANDHELDSHAKEPOINT, LOT_INSTANTWARP, LOT_LAKITUSTATE, @@ -39,6 +41,8 @@ enum LuaObjectAutogenType { LOT_PLAYERCAMERASTATE, LOT_PLAYERGEOMETRY, LOT_SPAWNINFO, + LOT_SPAWNPARTICLESINFO, + LOT_STRUCT802A272C, LOT_SURFACE, LOT_TEXTUREINFO, LOT_TRANSITIONINFO, @@ -46,8 +50,10 @@ enum LuaObjectAutogenType { LOT_WARPNODE, LOT_WARPTRANSITION, LOT_WARPTRANSITIONDATA, + LOT_WATERDROPLETPARAMS, LOT_WAYPOINT, LOT_WHIRLPOOL, + LOT_STRUCT802A1230, LOT_AUTOGEN_MAX, };