diff --git a/autogen/common.py b/autogen/common.py index 9f3ad5714..79be88e1d 100644 --- a/autogen/common.py +++ b/autogen/common.py @@ -17,13 +17,40 @@ type_mappings = { 'double': 'f64', 'uintptr_t': 'u64', # this is assumed + 'size_t': 'u64', # this is assumed } exclude_structs = [ - 'SPTask', - 'VblankHandler', + 'AnimationTable', + 'BullyCollisionData', + 'CameraFOVStatus', + 'CameraStoredInfo', + 'CameraTrigger', + 'ChainSegment', + 'Cutscene', + 'CutsceneSplinePoint', + 'CutsceneVariable', + 'FloorGeometry', + 'GraphNode_802A45E4', + 'HandheldShakePoint', + 'LinearTransitionPoint', 'MarioAnimDmaRelatedThing', + 'ModAudioSampleCopies', + 'ModFile', + 'ModeTransitionInfo', + 'OffsetSizePair', + 'PaintingMeshVertex', + 'ParallelTrackingPoint', + 'PlayerGeometry', + 'PlayerPalette', + 'SPTask', + 'SoundState', + 'TransitionInfo', 'UnusedArea28', + 'VblankHandler', + 'Vtx_Interp', + 'WarpTransition', + 'WarpTransitionData', ] override_types = { "Gfx", "Vtx" } diff --git a/autogen/convert_structs.py b/autogen/convert_structs.py index eb5a2ced6..cbb638874 100644 --- a/autogen/convert_structs.py +++ b/autogen/convert_structs.py @@ -116,6 +116,7 @@ override_field_immutable = { "Object": ["oSyncID", "coopFlags", "oChainChompSegments", "oWigglerSegments", "oHauntedChairUnk100", "oTTCTreadmillBigSurface", "oTTCTreadmillSmallSurface", "bhvStackIndex", "respawnInfoType", "numSurfaces" ], "GlobalObjectAnimations": [ "*"], "SpawnParticlesInfo": [ "model" ], + "WaterDropletParams": [ "model" ], "MarioBodyState": [ "updateTorsoTime", "updateHeadPosTime", "animPartsPos", "currAnimPart" ], "Area": [ "localAreaTimer", "nextSyncID", "objectSpawnInfos", "paintingWarpNodes", "warpNodes" ], "Mod": [ "*" ], diff --git a/autogen/lua_definitions/functions.lua b/autogen/lua_definitions/functions.lua index 40b6f9855..5c2ae3d28 100644 --- a/autogen/lua_definitions/functions.lua +++ b/autogen/lua_definitions/functions.lua @@ -3615,12 +3615,6 @@ function rotate_camera_around_walls(c, cPos, avoidYaw, yawRange) -- ... end ---- @param pg PlayerGeometry ---- Finds the floor and ceiling directly above and below Mario's position. Updates Mario's geometry information for camera calculations -function find_mario_floor_and_ceil(pg) - -- ... -end - --- @param cutscene integer --- @return integer --- Starts a cutscene focused on an object without requiring focus to remain locked. This is useful for dynamic events where the camera adjusts freely @@ -6399,17 +6393,6 @@ function mario_bonk_reflection(m, negateSpeed) -- ... end ---- @param data BullyCollisionData ---- @param posX number ---- @param posZ number ---- @param forwardVel number ---- @param yaw integer ---- @param conversionRatio number ---- @param radius number -function init_bully_collision_data(data, posX, posZ, forwardVel, yaw, conversionRatio, radius) - -- ... -end - --- @param m MarioState --- @param sinkingSpeed number --- @return integer @@ -8832,13 +8815,6 @@ function cur_obj_init_animation_with_accel_and_sound(animIndex, accel) -- ... end ---- @param obj Object ---- @param animations AnimationTable ---- @param animIndex integer -function obj_init_animation_with_sound(obj, animations, animIndex) - -- ... -end - --- @param obj Object function cur_obj_enable_rendering_and_become_tangible(obj) -- ... @@ -9450,11 +9426,6 @@ function cur_obj_follow_path(unusedArg) -- ... end ---- @param segment ChainSegment -function chain_segment_init(segment) - -- ... -end - --- @param diameter number --- @return number function random_f32_around_zero(diameter) @@ -11841,6 +11812,14 @@ function obj_get_temp_spawn_particles_info(modelId) -- ... end +--- @param modelId ModelExtendedId +--- @param behaviorId BehaviorId +--- @return WaterDropletParams +--- Returns a temporary water droplet params pointer with its model and behavior loaded in from `modelId` and `behaviorId` +function obj_get_temp_water_droplet_params(modelId, behaviorId) + -- ... +end + --- @return ObjectHitbox --- Returns a temporary object hitbox pointer function get_temp_object_hitbox() diff --git a/autogen/lua_definitions/structs.lua b/autogen/lua_definitions/structs.lua index 95e263d89..247babf6d 100644 --- a/autogen/lua_definitions/structs.lua +++ b/autogen/lua_definitions/structs.lua @@ -25,9 +25,6 @@ --- @field public valuesLength integer --- @field public indexLength integer ---- @class AnimationTable ---- @field public count integer - --- @class Area --- @field public index integer --- @field public flags integer @@ -203,14 +200,6 @@ --- @field public dialogs BehaviorDialogs --- @field public trajectories BehaviorTrajectories ---- @class BullyCollisionData ---- @field public conversionRatio number ---- @field public radius number ---- @field public posX number ---- @field public posZ number ---- @field public velX number ---- @field public velZ number - --- @class Camera --- @field public mode integer --- @field public defMode integer @@ -228,44 +217,6 @@ --- @field public areaCenY number --- @field public mtx Mat4 ---- @class CameraFOVStatus ---- @field public fovFunc integer ---- @field public fov number ---- @field public fovOffset number ---- @field public unusedIsSleeping integer ---- @field public shakeAmplitude number ---- @field public shakePhase integer ---- @field public shakeSpeed integer ---- @field public decay integer - ---- @class CameraOverride ---- @field public value integer ---- @field public override boolean - ---- @class CameraStoredInfo ---- @field public pos Vec3f ---- @field public focus Vec3f ---- @field public panDist number ---- @field public cannonYOffset number - ---- @class CameraTrigger ---- @field public area integer ---- @field public centerX integer ---- @field public centerY integer ---- @field public centerZ integer ---- @field public boundsX integer ---- @field public boundsY integer ---- @field public boundsZ integer ---- @field public boundsYaw integer - ---- @class ChainSegment ---- @field public posX number ---- @field public posY number ---- @field public posZ number ---- @field public pitch integer ---- @field public yaw integer ---- @field public roll integer - --- @class Character --- @field public type CharacterType --- @field public name string @@ -567,21 +518,6 @@ --- @field public modIndex integer --- @field public next CustomLevelInfo ---- @class Cutscene ---- @field public duration integer - ---- @class CutsceneSplinePoint ---- @field public index integer ---- @field public speed integer ---- @field public point Vec3s - ---- @class CutsceneVariable ---- @field public unused1 integer ---- @field public point Vec3f ---- @field public unusedPoint Vec3f ---- @field public angle Vec3s ---- @field public unused2 integer - --- @class DateTime --- @field public year integer --- @field public month integer @@ -651,13 +587,6 @@ --- @field public fov number --- @field public offset Vec3f ---- @class FloorGeometry ---- @field public unused number[] ---- @field public normalX number ---- @field public normalY number ---- @field public normalZ number ---- @field public originOffset number - --- @class FnGraphNode --- @field public node GraphNode @@ -1015,19 +944,6 @@ --- @field public translation Vec3s --- @field public rotation Vec3s ---- @class GraphNode_802A45E4 ---- @field public unk18 integer ---- @field public unk1A integer ---- @field public unk1C integer ---- @field public unk1E integer ---- @field public unk20 integer ---- @field public unk22 integer - ---- @class HandheldShakePoint ---- @field public index integer ---- @field public pad integer ---- @field public point Vec3s - --- @class HudUtilsRotation --- @field public rotation number --- @field public rotationDiff number @@ -1139,13 +1055,6 @@ --- @field public floorNormalMinY number --- @field public ceilNormalMaxY number ---- @class LinearTransitionPoint ---- @field public focus Vec3f ---- @field public pos Vec3f ---- @field public dist number ---- @field public pitch integer ---- @field public yaw integer - --- @class MarioAnimation --- @field public currentAnimAddr Pointer_integer --- @field public targetAnim Animation @@ -1277,6 +1186,7 @@ --- @field public renderBehindHud boolean --- @field public pausable boolean --- @field public ignoreScriptWarnings boolean +--- @field public size integer --- @field public customBehaviorIndex integer --- @class ModAudio @@ -1285,19 +1195,6 @@ --- @field public baseVolume number --- @field public loaded boolean ---- @class ModAudioSampleCopies ---- @field public next ModAudioSampleCopies ---- @field public prev ModAudioSampleCopies ---- @field public parent ModAudio - ---- @class ModFile ---- @field public relativePath string ---- @field public modifiedTimestamp integer ---- @field public isLoadedLuaModule boolean ---- @field public wroteBytes integer ---- @field public dataHash integer[] ---- @field public cachedPath string - --- @class ModFs --- @field public mod Mod --- @field public modPath string @@ -1342,14 +1239,6 @@ --- @field public set_text_mode fun(file: ModFsFile, text: boolean): boolean --- @field public set_public fun(file: ModFsFile, pub: boolean): boolean ---- @class ModeTransitionInfo ---- @field public newMode integer ---- @field public lastMode integer ---- @field public max integer ---- @field public frame integer ---- @field public transitionStart LinearTransitionPoint ---- @field public transitionEnd LinearTransitionPoint - --- @class NametagsSettings --- @field public showHealth boolean --- @field public showSelfTag boolean @@ -1374,7 +1263,6 @@ --- @field public onRxSeqId integer --- @field public modelIndex integer --- @field public ping integer ---- @field public palette PlayerPalette --- @field public name string --- @field public description string --- @field public descriptionR integer @@ -1383,7 +1271,6 @@ --- @field public descriptionA integer --- @field public overrideLocation string --- @field public overrideModelIndex integer ---- @field public overridePalette PlayerPalette --- @field public paletteIndex integer --- @field public overridePaletteIndex integer --- @field public overridePaletteIndexLp integer @@ -1638,7 +1525,6 @@ --- @field public oCannonPlayerIndex integer --- @field public oCapUnkF4 integer --- @field public oCapUnkF8 integer ---- @field public oChainChompSegments ChainSegment --- @field public oChainChompMaxDistFromPivotPerChainPart number --- @field public oChainChompMaxDistBetweenChainParts number --- @field public oChainChompDistToPivot number @@ -2132,7 +2018,6 @@ --- @field public oStrongWindParticlePenguinObj Object --- @field public oWhompShakeVal integer --- @field public oWigglerFallThroughFloorsHeight number ---- @field public oWigglerSegments ChainSegment --- @field public oWigglerWalkAnimSpeed number --- @field public oWigglerSquishSpeed number --- @field public oWigglerTimeUntilRandomTurn integer @@ -2173,10 +2058,6 @@ --- @field public object Object --- @field public next ObjectWarpNode ---- @class OffsetSizePair ---- @field public offset integer ---- @field public size integer - --- @class Painting --- @field public id integer --- @field public imageCount integer @@ -2215,10 +2096,6 @@ --- @field public marioWentUnder integer --- @field public size number ---- @class PaintingMeshVertex ---- @field public pos integer[] ---- @field public norm integer[] - --- @class PaintingValues --- @field public cotmc_painting Painting --- @field public bob_painting Painting @@ -2237,12 +2114,6 @@ --- @field public thi_huge_painting Painting --- @field public ttm_slide_painting Painting ---- @class ParallelTrackingPoint ---- @field public startOfPath integer ---- @field public pos Vec3f ---- @field public distThresh number ---- @field public zoom number - --- @class PlayerCameraState --- @field public action integer --- @field public pos Vec3f @@ -2252,23 +2123,6 @@ --- @field public cameraEvent integer --- @field public usedObj Object ---- @class PlayerGeometry ---- @field public currFloor Surface ---- @field public currFloorHeight number ---- @field public currFloorType integer ---- @field public currCeil Surface ---- @field public currCeilType integer ---- @field public currCeilHeight number ---- @field public prevFloor Surface ---- @field public prevFloorHeight number ---- @field public prevFloorType integer ---- @field public prevCeil Surface ---- @field public prevCeilHeight number ---- @field public prevCeilType integer ---- @field public waterHeight number - ---- @class PlayerPalette - --- @class RayIntersectionInfo --- @field public surface Surface --- @field public hitPos Vec3f @@ -2300,12 +2154,6 @@ --- @field public maxPlayers integer --- @field public pauseAnywhere integer ---- @class SoundState ---- @field public playSound integer ---- @field public animFrame1 integer ---- @field public animFrame2 integer ---- @field public soundMagic integer - --- @class SpawnInfo --- @field public startPos Vec3s --- @field public startAngle Vec3s @@ -2395,17 +2243,6 @@ --- @field public height integer --- @field public bitSize integer ---- @class TransitionInfo ---- @field public posPitch integer ---- @field public posYaw integer ---- @field public posDist number ---- @field public focPitch integer ---- @field public focYaw integer ---- @field public focDist number ---- @field public framesLeft integer ---- @field public marioPos Vec3f ---- @field public pad integer - --- @class Vtx --- @field public x number --- @field public y number @@ -2421,10 +2258,6 @@ --- @field public nz integer --- @field public a integer ---- @class Vtx_Interp ---- @field public ob number[] ---- @field public n string - --- @class WallCollisionData --- @field public x number --- @field public y number @@ -2443,25 +2276,6 @@ --- @field public destArea integer --- @field public destNode integer ---- @class WarpTransition ---- @field public isActive integer ---- @field public type integer ---- @field public time integer ---- @field public pauseRendering integer ---- @field public data WarpTransitionData - ---- @class WarpTransitionData ---- @field public red integer ---- @field public green integer ---- @field public blue integer ---- @field public startTexRadius integer ---- @field public endTexRadius integer ---- @field public startTexX integer ---- @field public startTexY integer ---- @field public endTexX integer ---- @field public endTexY integer ---- @field public texTimer integer - --- @class WaterDropletParams --- @field public flags integer --- @field public model integer diff --git a/docs/lua/functions-3.md b/docs/lua/functions-3.md index cc6eb0c0f..d8c234a94 100644 --- a/docs/lua/functions-3.md +++ b/docs/lua/functions-3.md @@ -2121,29 +2121,6 @@ Rotates the camera to avoid walls or other obstructions. Ensures clear visibilit
-## [find_mario_floor_and_ceil](#find_mario_floor_and_ceil) - -### Description -Finds the floor and ceiling directly above and below Mario's position. Updates Mario's geometry information for camera calculations - -### Lua Example -`find_mario_floor_and_ceil(pg)` - -### Parameters -| Field | Type | -| ----- | ---- | -| pg | [PlayerGeometry](structs.md#PlayerGeometry) | - -### Returns -- None - -### C Prototype -`void find_mario_floor_and_ceil(struct PlayerGeometry *pg);` - -[:arrow_up_small:](#) - -
- ## [start_object_cutscene_without_focus](#start_object_cutscene_without_focus) ### Description diff --git a/docs/lua/functions-4.md b/docs/lua/functions-4.md index 7d4b7c5f1..ecdb479e4 100644 --- a/docs/lua/functions-4.md +++ b/docs/lua/functions-4.md @@ -3923,32 +3923,6 @@ Reflects Mario off a wall if he is colliding with one and flips forward velocity
-## [init_bully_collision_data](#init_bully_collision_data) - -### Lua Example -`init_bully_collision_data(data, posX, posZ, forwardVel, yaw, conversionRatio, radius)` - -### Parameters -| Field | Type | -| ----- | ---- | -| data | [BullyCollisionData](structs.md#BullyCollisionData) | -| posX | `number` | -| posZ | `number` | -| forwardVel | `number` | -| yaw | `integer` | -| conversionRatio | `number` | -| radius | `number` | - -### Returns -- None - -### C Prototype -`void init_bully_collision_data(struct BullyCollisionData *data, f32 posX, f32 posZ, f32 forwardVel, s16 yaw, f32 conversionRatio, f32 radius);` - -[:arrow_up_small:](#) - -
- ## [mario_update_quicksand](#mario_update_quicksand) ### Description diff --git a/docs/lua/functions-6.md b/docs/lua/functions-6.md index 7106da178..c895d8580 100644 --- a/docs/lua/functions-6.md +++ b/docs/lua/functions-6.md @@ -1007,28 +1007,6 @@ Multiplies a vector by the transpose of a matrix of the form: `| ? ? ? 0 |` `| ?
-## [obj_init_animation_with_sound](#obj_init_animation_with_sound) - -### Lua Example -`obj_init_animation_with_sound(obj, animations, animIndex)` - -### Parameters -| Field | Type | -| ----- | ---- | -| obj | [Object](structs.md#Object) | -| animations | [AnimationTable](structs.md#AnimationTable) | -| animIndex | `integer` | - -### Returns -- None - -### C Prototype -`void obj_init_animation_with_sound(struct Object *obj, const struct AnimationTable* animations, s32 animIndex);` - -[:arrow_up_small:](#) - -
- ## [cur_obj_enable_rendering_and_become_tangible](#cur_obj_enable_rendering_and_become_tangible) ### Lua Example @@ -3214,26 +3192,6 @@ Transforms the vector at `localTranslateIndex` into the object's local coordinat
-## [chain_segment_init](#chain_segment_init) - -### Lua Example -`chain_segment_init(segment)` - -### Parameters -| Field | Type | -| ----- | ---- | -| segment | [ChainSegment](structs.md#ChainSegment) | - -### Returns -- None - -### C Prototype -`void chain_segment_init(struct ChainSegment *segment);` - -[:arrow_up_small:](#) - -
- ## [random_f32_around_zero](#random_f32_around_zero) ### Lua Example diff --git a/docs/lua/functions-7.md b/docs/lua/functions-7.md index bfb92be17..8f2047a35 100644 --- a/docs/lua/functions-7.md +++ b/docs/lua/functions-7.md @@ -3014,6 +3014,30 @@ Returns a temporary particle spawn info pointer with its model loaded in from `m
+## [obj_get_temp_water_droplet_params](#obj_get_temp_water_droplet_params) + +### Description +Returns a temporary water droplet params pointer with its model and behavior loaded in from `modelId` and `behaviorId` + +### Lua Example +`local WaterDropletParamsValue = obj_get_temp_water_droplet_params(modelId, behaviorId)` + +### Parameters +| Field | Type | +| ----- | ---- | +| modelId | [enum ModelExtendedId](constants.md#enum-ModelExtendedId) | +| behaviorId | [enum BehaviorId](constants.md#enum-BehaviorId) | + +### Returns +[WaterDropletParams](structs.md#WaterDropletParams) + +### C Prototype +`struct WaterDropletParams* obj_get_temp_water_droplet_params(enum ModelExtendedId modelId, enum BehaviorId behaviorId);` + +[:arrow_up_small:](#) + +
+ ## [get_temp_object_hitbox](#get_temp_object_hitbox) ### Description diff --git a/docs/lua/functions.md b/docs/lua/functions.md index ec4053cd3..b322cb77d 100644 --- a/docs/lua/functions.md +++ b/docs/lua/functions.md @@ -711,7 +711,6 @@ - [camera_course_processing](functions-3.md#camera_course_processing) - [resolve_geometry_collisions](functions-3.md#resolve_geometry_collisions) - [rotate_camera_around_walls](functions-3.md#rotate_camera_around_walls) - - [find_mario_floor_and_ceil](functions-3.md#find_mario_floor_and_ceil) - [start_object_cutscene_without_focus](functions-3.md#start_object_cutscene_without_focus) - [cutscene_object_with_dialog](functions-3.md#cutscene_object_with_dialog) - [cutscene_object_without_dialog](functions-3.md#cutscene_object_without_dialog) @@ -1194,7 +1193,6 @@ - mario_step.h - [get_additive_y_vel_for_jumps](functions-4.md#get_additive_y_vel_for_jumps) - [mario_bonk_reflection](functions-4.md#mario_bonk_reflection) - - [init_bully_collision_data](functions-4.md#init_bully_collision_data) - [mario_update_quicksand](functions-4.md#mario_update_quicksand) - [mario_push_off_steep_floor](functions-4.md#mario_push_off_steep_floor) - [mario_update_moving_sand](functions-4.md#mario_update_moving_sand) @@ -1566,7 +1564,6 @@ - [cur_obj_init_animation_with_sound](functions-6.md#cur_obj_init_animation_with_sound) - [obj_init_animation_with_accel_and_sound](functions-6.md#obj_init_animation_with_accel_and_sound) - [cur_obj_init_animation_with_accel_and_sound](functions-6.md#cur_obj_init_animation_with_accel_and_sound) - - [obj_init_animation_with_sound](functions-6.md#obj_init_animation_with_sound) - [cur_obj_enable_rendering_and_become_tangible](functions-6.md#cur_obj_enable_rendering_and_become_tangible) - [cur_obj_enable_rendering](functions-6.md#cur_obj_enable_rendering) - [cur_obj_disable_rendering_and_become_intangible](functions-6.md#cur_obj_disable_rendering_and_become_intangible) @@ -1677,7 +1674,6 @@ - [cur_obj_rotate_face_angle_using_vel](functions-6.md#cur_obj_rotate_face_angle_using_vel) - [cur_obj_set_face_angle_to_move_angle](functions-6.md#cur_obj_set_face_angle_to_move_angle) - [cur_obj_follow_path](functions-6.md#cur_obj_follow_path) - - [chain_segment_init](functions-6.md#chain_segment_init) - [random_f32_around_zero](functions-6.md#random_f32_around_zero) - [obj_scale_random](functions-6.md#obj_scale_random) - [obj_translate_xyz_random](functions-6.md#obj_translate_xyz_random) @@ -2103,6 +2099,7 @@ - [obj_set_field_f32](functions-7.md#obj_set_field_f32) - [obj_set_field_s16](functions-7.md#obj_set_field_s16) - [obj_get_temp_spawn_particles_info](functions-7.md#obj_get_temp_spawn_particles_info) + - [obj_get_temp_water_droplet_params](functions-7.md#obj_get_temp_water_droplet_params) - [get_temp_object_hitbox](functions-7.md#get_temp_object_hitbox) - [obj_is_attackable](functions-7.md#obj_is_attackable) - [obj_is_breakable_object](functions-7.md#obj_is_breakable_object) diff --git a/docs/lua/structs.md b/docs/lua/structs.md index e11caf9f4..730d02e78 100644 --- a/docs/lua/structs.md +++ b/docs/lua/structs.md @@ -11,7 +11,6 @@ - [BullyCollisionData](#BullyCollisionData) - [Camera](#Camera) - [CameraFOVStatus](#CameraFOVStatus) -- [CameraOverride](#CameraOverride) - [CameraStoredInfo](#CameraStoredInfo) - [CameraTrigger](#CameraTrigger) - [ChainSegment](#ChainSegment) @@ -171,16 +170,6 @@
-## [AnimationTable](#AnimationTable) - -| Field | Type | Access | -| ----- | ---- | ------ | -| count | `integer` | read-only | - -[:arrow_up_small:](#) - -
- ## [Area](#Area) | Field | Type | Access | @@ -384,21 +373,6 @@
-## [BullyCollisionData](#BullyCollisionData) - -| Field | Type | Access | -| ----- | ---- | ------ | -| conversionRatio | `number` | | -| radius | `number` | | -| posX | `number` | | -| posZ | `number` | | -| velX | `number` | | -| velZ | `number` | | - -[:arrow_up_small:](#) - -
- ## [Camera](#Camera) | Field | Type | Access | @@ -423,79 +397,6 @@
-## [CameraFOVStatus](#CameraFOVStatus) - -| Field | Type | Access | -| ----- | ---- | ------ | -| fovFunc | `integer` | | -| fov | `number` | | -| fovOffset | `number` | | -| unusedIsSleeping | `integer` | | -| shakeAmplitude | `number` | | -| shakePhase | `integer` | | -| shakeSpeed | `integer` | | -| decay | `integer` | | - -[:arrow_up_small:](#) - -
- -## [CameraOverride](#CameraOverride) - -| Field | Type | Access | -| ----- | ---- | ------ | -| value | `integer` | | -| override | `boolean` | | - -[:arrow_up_small:](#) - -
- -## [CameraStoredInfo](#CameraStoredInfo) - -| Field | Type | Access | -| ----- | ---- | ------ | -| pos | [Vec3f](structs.md#Vec3f) | read-only | -| focus | [Vec3f](structs.md#Vec3f) | read-only | -| panDist | `number` | | -| cannonYOffset | `number` | | - -[:arrow_up_small:](#) - -
- -## [CameraTrigger](#CameraTrigger) - -| Field | Type | Access | -| ----- | ---- | ------ | -| area | `integer` | | -| centerX | `integer` | | -| centerY | `integer` | | -| centerZ | `integer` | | -| boundsX | `integer` | | -| boundsY | `integer` | | -| boundsZ | `integer` | | -| boundsYaw | `integer` | | - -[:arrow_up_small:](#) - -
- -## [ChainSegment](#ChainSegment) - -| Field | Type | Access | -| ----- | ---- | ------ | -| posX | `number` | | -| posY | `number` | | -| posZ | `number` | | -| pitch | `integer` | | -| yaw | `integer` | | -| roll | `integer` | | - -[:arrow_up_small:](#) - -
- ## [Character](#Character) | Field | Type | Access | @@ -830,42 +731,6 @@
-## [Cutscene](#Cutscene) - -| Field | Type | Access | -| ----- | ---- | ------ | -| duration | `integer` | | - -[:arrow_up_small:](#) - -
- -## [CutsceneSplinePoint](#CutsceneSplinePoint) - -| Field | Type | Access | -| ----- | ---- | ------ | -| index | `integer` | | -| speed | `integer` | | -| point | [Vec3s](structs.md#Vec3s) | read-only | - -[:arrow_up_small:](#) - -
- -## [CutsceneVariable](#CutsceneVariable) - -| Field | Type | Access | -| ----- | ---- | ------ | -| unused1 | `integer` | | -| point | [Vec3f](structs.md#Vec3f) | read-only | -| unusedPoint | [Vec3f](structs.md#Vec3f) | read-only | -| angle | [Vec3s](structs.md#Vec3s) | read-only | -| unused2 | `integer` | | - -[:arrow_up_small:](#) - -
- ## [DateTime](#DateTime) | Field | Type | Access | @@ -1005,20 +870,6 @@
-## [FloorGeometry](#FloorGeometry) - -| Field | Type | Access | -| ----- | ---- | ------ | -| unused | `Array` <`number`> | | -| normalX | `number` | | -| normalY | `number` | | -| normalZ | `number` | | -| originOffset | `number` | | - -[:arrow_up_small:](#) - -
- ## [FnGraphNode](#FnGraphNode) | Field | Type | Access | @@ -1586,33 +1437,6 @@
-## [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 | -| ----- | ---- | ------ | -| index | `integer` | | -| pad | `integer` | | -| point | [Vec3s](structs.md#Vec3s) | read-only | - -[:arrow_up_small:](#) - -
- ## [HudUtilsRotation](#HudUtilsRotation) | Field | Type | Access | @@ -1752,20 +1576,6 @@
-## [LinearTransitionPoint](#LinearTransitionPoint) - -| Field | Type | Access | -| ----- | ---- | ------ | -| focus | [Vec3f](structs.md#Vec3f) | read-only | -| pos | [Vec3f](structs.md#Vec3f) | read-only | -| dist | `number` | | -| pitch | `integer` | | -| yaw | `integer` | | - -[:arrow_up_small:](#) - -
- ## [MarioAnimation](#MarioAnimation) | Field | Type | Access | @@ -1946,6 +1756,7 @@ | renderBehindHud | `boolean` | read-only | | pausable | `boolean` | read-only | | ignoreScriptWarnings | `boolean` | read-only | +| size | `integer` | read-only | | customBehaviorIndex | `integer` | read-only | [:arrow_up_small:](#) @@ -1965,33 +1776,6 @@
-## [ModAudioSampleCopies](#ModAudioSampleCopies) - -| Field | Type | Access | -| ----- | ---- | ------ | -| next | [ModAudioSampleCopies](structs.md#ModAudioSampleCopies) | | -| prev | [ModAudioSampleCopies](structs.md#ModAudioSampleCopies) | | -| parent | [ModAudio](structs.md#ModAudio) | | - -[:arrow_up_small:](#) - -
- -## [ModFile](#ModFile) - -| Field | Type | Access | -| ----- | ---- | ------ | -| relativePath | `string` | read-only | -| modifiedTimestamp | `integer` | read-only | -| isLoadedLuaModule | `boolean` | read-only | -| wroteBytes | `integer` | read-only | -| dataHash | `Array` <`integer`> | read-only | -| cachedPath | `string` | read-only | - -[:arrow_up_small:](#) - -
- ## [ModFs](#ModFs) | Field | Type | Access | @@ -2060,21 +1844,6 @@
-## [ModeTransitionInfo](#ModeTransitionInfo) - -| Field | Type | Access | -| ----- | ---- | ------ | -| newMode | `integer` | | -| lastMode | `integer` | | -| max | `integer` | | -| frame | `integer` | | -| transitionStart | [LinearTransitionPoint](structs.md#LinearTransitionPoint) | read-only | -| transitionEnd | [LinearTransitionPoint](structs.md#LinearTransitionPoint) | read-only | - -[:arrow_up_small:](#) - -
- ## [NametagsSettings](#NametagsSettings) | Field | Type | Access | @@ -2109,7 +1878,6 @@ | onRxSeqId | `integer` | read-only | | modelIndex | `integer` | read-only | | ping | `integer` | read-only | -| palette | [PlayerPalette](structs.md#PlayerPalette) | read-only | | name | `string` | read-only | | description | `string` | read-only | | descriptionR | `integer` | read-only | @@ -2118,7 +1886,6 @@ | descriptionA | `integer` | read-only | | overrideLocation | `string` | read-only | | overrideModelIndex | `integer` | | -| overridePalette | [PlayerPalette](structs.md#PlayerPalette) | | [:arrow_up_small:](#) @@ -2385,7 +2152,6 @@ | oCannonPlayerIndex | `integer` | | | oCapUnkF4 | `integer` | | | oCapUnkF8 | `integer` | | -| oChainChompSegments | [ChainSegment](structs.md#ChainSegment) | read-only | | oChainChompMaxDistFromPivotPerChainPart | `number` | | | oChainChompMaxDistBetweenChainParts | `number` | | | oChainChompDistToPivot | `number` | | @@ -2879,7 +2645,6 @@ | oStrongWindParticlePenguinObj | [Object](structs.md#Object) | | | oWhompShakeVal | `integer` | | | oWigglerFallThroughFloorsHeight | `number` | | -| oWigglerSegments | [ChainSegment](structs.md#ChainSegment) | read-only | | oWigglerWalkAnimSpeed | `number` | | | oWigglerSquishSpeed | `number` | | | oWigglerTimeUntilRandomTurn | `integer` | | @@ -2945,17 +2710,6 @@
-## [OffsetSizePair](#OffsetSizePair) - -| Field | Type | Access | -| ----- | ---- | ------ | -| offset | `integer` | | -| size | `integer` | | - -[:arrow_up_small:](#) - -
- ## [Painting](#Painting) | Field | Type | Access | @@ -3001,17 +2755,6 @@
-## [PaintingMeshVertex](#PaintingMeshVertex) - -| Field | Type | Access | -| ----- | ---- | ------ | -| pos | `Array` <`integer`> | | -| norm | `Array` <`integer`> | | - -[:arrow_up_small:](#) - -
- ## [PaintingValues](#PaintingValues) | Field | Type | Access | @@ -3037,19 +2780,6 @@
-## [ParallelTrackingPoint](#ParallelTrackingPoint) - -| Field | Type | Access | -| ----- | ---- | ------ | -| startOfPath | `integer` | | -| pos | [Vec3f](structs.md#Vec3f) | read-only | -| distThresh | `number` | | -| zoom | `number` | | - -[:arrow_up_small:](#) - -
- ## [PlayerCameraState](#PlayerCameraState) | Field | Type | Access | @@ -3066,37 +2796,6 @@
-## [PlayerGeometry](#PlayerGeometry) - -| Field | Type | Access | -| ----- | ---- | ------ | -| currFloor | [Surface](structs.md#Surface) | | -| currFloorHeight | `number` | | -| currFloorType | `integer` | | -| currCeil | [Surface](structs.md#Surface) | | -| currCeilType | `integer` | | -| currCeilHeight | `number` | | -| prevFloor | [Surface](structs.md#Surface) | | -| prevFloorHeight | `number` | | -| prevFloorType | `integer` | | -| prevCeil | [Surface](structs.md#Surface) | | -| prevCeilHeight | `number` | | -| prevCeilType | `integer` | | -| waterHeight | `number` | | - -[:arrow_up_small:](#) - -
- -## [PlayerPalette](#PlayerPalette) - -| Field | Type | Access | -| ----- | ---- | ------ | - -[:arrow_up_small:](#) - -
- ## [RayIntersectionInfo](#RayIntersectionInfo) | Field | Type | Access | @@ -3149,19 +2848,6 @@
-## [SoundState](#SoundState) - -| Field | Type | Access | -| ----- | ---- | ------ | -| playSound | `integer` | | -| animFrame1 | `integer` | | -| animFrame2 | `integer` | | -| soundMagic | `integer` | | - -[:arrow_up_small:](#) - -
- ## [SpawnInfo](#SpawnInfo) | Field | Type | Access | @@ -3300,24 +2986,6 @@
-## [TransitionInfo](#TransitionInfo) - -| Field | Type | Access | -| ----- | ---- | ------ | -| posPitch | `integer` | | -| posYaw | `integer` | | -| posDist | `number` | | -| focPitch | `integer` | | -| focYaw | `integer` | | -| focDist | `number` | | -| framesLeft | `integer` | | -| marioPos | [Vec3f](structs.md#Vec3f) | read-only | -| pad | `integer` | | - -[:arrow_up_small:](#) - -
- ## [Vec2f](#Vec2f) | Field | Type | Access | @@ -3448,17 +3116,6 @@
-## [Vtx_Interp](#Vtx_Interp) - -| Field | Type | Access | -| ----- | ---- | ------ | -| ob | `Array` <`number`> | | -| n | `string` | | - -[:arrow_up_small:](#) - -
- ## [WallCollisionData](#WallCollisionData) | Field | Type | Access | @@ -3491,45 +3148,12 @@
-## [WarpTransition](#WarpTransition) - -| Field | Type | Access | -| ----- | ---- | ------ | -| isActive | `integer` | | -| type | `integer` | | -| time | `integer` | | -| pauseRendering | `integer` | | -| data | [WarpTransitionData](structs.md#WarpTransitionData) | read-only | - -[:arrow_up_small:](#) - -
- -## [WarpTransitionData](#WarpTransitionData) - -| Field | Type | Access | -| ----- | ---- | ------ | -| red | `integer` | | -| green | `integer` | | -| blue | `integer` | | -| startTexRadius | `integer` | | -| endTexRadius | `integer` | | -| startTexX | `integer` | | -| startTexY | `integer` | | -| endTexX | `integer` | | -| endTexY | `integer` | | -| texTimer | `integer` | | - -[:arrow_up_small:](#) - -
- ## [WaterDropletParams](#WaterDropletParams) | Field | Type | Access | | ----- | ---- | ------ | | flags | `integer` | | -| model | `integer` | | +| model | `integer` | read-only | | behavior | `Pointer` <`BehaviorScript`> | read-only | | moveAngleRange | `integer` | | | moveRange | `integer` | | diff --git a/src/pc/lua/smlua_cobject_autogen.c b/src/pc/lua/smlua_cobject_autogen.c index aeec902f6..c0c009161 100644 --- a/src/pc/lua/smlua_cobject_autogen.c +++ b/src/pc/lua/smlua_cobject_autogen.c @@ -192,12 +192,6 @@ static struct LuaObjectField sAnimationFields[LUA_ANIMATION_FIELD_COUNT] = { { "valuesLength", LVT_U32, offsetof(struct Animation, valuesLength), true, LOT_NONE, 1, sizeof(u32) }, }; -#define LUA_ANIMATION_TABLE_FIELD_COUNT 1 -static struct LuaObjectField sAnimationTableFields[LUA_ANIMATION_TABLE_FIELD_COUNT] = { -// { "const anims", LVT_???, offsetof(struct AnimationTable, const anims), true, LOT_???, 1, sizeof(const struct Animation* []) }, <--- UNIMPLEMENTED - { "count", LVT_U32, offsetof(struct AnimationTable, count), true, LOT_NONE, 1, sizeof(u32) }, -}; - #define LUA_AREA_FIELD_COUNT 21 static struct LuaObjectField sAreaFields[LUA_AREA_FIELD_COUNT] = { { "camera", LVT_COBJECT_P, offsetof(struct Area, camera), false, LOT_CAMERA, 1, sizeof(struct Camera*) }, @@ -382,16 +376,6 @@ static struct LuaObjectField sBehaviorValuesFields[LUA_BEHAVIOR_VALUES_FIELD_COU { "trajectories", LVT_COBJECT, offsetof(struct BehaviorValues, trajectories), true, LOT_BEHAVIORTRAJECTORIES, 1, sizeof(struct BehaviorTrajectories) }, }; -#define LUA_BULLY_COLLISION_DATA_FIELD_COUNT 6 -static struct LuaObjectField sBullyCollisionDataFields[LUA_BULLY_COLLISION_DATA_FIELD_COUNT] = { - { "conversionRatio", LVT_F32, offsetof(struct BullyCollisionData, conversionRatio), false, LOT_NONE, 1, sizeof(f32) }, - { "posX", LVT_F32, offsetof(struct BullyCollisionData, posX), false, LOT_NONE, 1, sizeof(f32) }, - { "posZ", LVT_F32, offsetof(struct BullyCollisionData, posZ), false, LOT_NONE, 1, sizeof(f32) }, - { "radius", LVT_F32, offsetof(struct BullyCollisionData, radius), false, LOT_NONE, 1, sizeof(f32) }, - { "velX", LVT_F32, offsetof(struct BullyCollisionData, velX), false, LOT_NONE, 1, sizeof(f32) }, - { "velZ", LVT_F32, offsetof(struct BullyCollisionData, velZ), false, LOT_NONE, 1, sizeof(f32) }, -}; - #define LUA_CAMERA_FIELD_COUNT 15 static struct LuaObjectField sCameraFields[LUA_CAMERA_FIELD_COUNT] = { { "areaCenX", LVT_F32, offsetof(struct Camera, areaCenX), false, LOT_NONE, 1, sizeof(f32) }, @@ -411,55 +395,6 @@ static struct LuaObjectField sCameraFields[LUA_CAMERA_FIELD_COUNT] = { { "yaw", LVT_S16, offsetof(struct Camera, yaw), false, LOT_NONE, 1, sizeof(s16) }, }; -#define LUA_CAMERA_FOVSTATUS_FIELD_COUNT 8 -static struct LuaObjectField sCameraFOVStatusFields[LUA_CAMERA_FOVSTATUS_FIELD_COUNT] = { - { "decay", LVT_S16, offsetof(struct CameraFOVStatus, decay), false, LOT_NONE, 1, sizeof(s16) }, - { "fov", LVT_F32, offsetof(struct CameraFOVStatus, fov), false, LOT_NONE, 1, sizeof(f32) }, - { "fovFunc", LVT_U8, offsetof(struct CameraFOVStatus, fovFunc), false, LOT_NONE, 1, sizeof(u8) }, - { "fovOffset", LVT_F32, offsetof(struct CameraFOVStatus, fovOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "shakeAmplitude", LVT_F32, offsetof(struct CameraFOVStatus, shakeAmplitude), false, LOT_NONE, 1, sizeof(f32) }, - { "shakePhase", LVT_S16, offsetof(struct CameraFOVStatus, shakePhase), false, LOT_NONE, 1, sizeof(s16) }, - { "shakeSpeed", LVT_S16, offsetof(struct CameraFOVStatus, shakeSpeed), false, LOT_NONE, 1, sizeof(s16) }, - { "unusedIsSleeping", LVT_U32, offsetof(struct CameraFOVStatus, unusedIsSleeping), false, LOT_NONE, 1, sizeof(u32) }, -}; - -#define LUA_CAMERA_OVERRIDE_FIELD_COUNT 2 -static struct LuaObjectField sCameraOverrideFields[LUA_CAMERA_OVERRIDE_FIELD_COUNT] = { - { "override", LVT_BOOL, offsetof(struct CameraOverride, override), false, LOT_NONE, 1, sizeof(bool) }, - { "value", LVT_U32, offsetof(struct CameraOverride, value), false, LOT_NONE, 1, sizeof(unsigned int) }, -}; - -#define LUA_CAMERA_STORED_INFO_FIELD_COUNT 4 -static struct LuaObjectField sCameraStoredInfoFields[LUA_CAMERA_STORED_INFO_FIELD_COUNT] = { - { "cannonYOffset", LVT_F32, offsetof(struct CameraStoredInfo, cannonYOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "focus", LVT_COBJECT, offsetof(struct CameraStoredInfo, focus), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "panDist", LVT_F32, offsetof(struct CameraStoredInfo, panDist), false, LOT_NONE, 1, sizeof(f32) }, - { "pos", LVT_COBJECT, offsetof(struct CameraStoredInfo, pos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, -}; - -#define LUA_CAMERA_TRIGGER_FIELD_COUNT 8 -static struct LuaObjectField sCameraTriggerFields[LUA_CAMERA_TRIGGER_FIELD_COUNT] = { - { "area", LVT_S8, offsetof(struct CameraTrigger, area), false, LOT_NONE, 1, sizeof(s8) }, - { "boundsX", LVT_S16, offsetof(struct CameraTrigger, boundsX), false, LOT_NONE, 1, sizeof(s16) }, - { "boundsY", LVT_S16, offsetof(struct CameraTrigger, boundsY), false, LOT_NONE, 1, sizeof(s16) }, - { "boundsYaw", LVT_S16, offsetof(struct CameraTrigger, boundsYaw), false, LOT_NONE, 1, sizeof(s16) }, - { "boundsZ", LVT_S16, offsetof(struct CameraTrigger, boundsZ), false, LOT_NONE, 1, sizeof(s16) }, - { "centerX", LVT_S16, offsetof(struct CameraTrigger, centerX), false, LOT_NONE, 1, sizeof(s16) }, - { "centerY", LVT_S16, offsetof(struct CameraTrigger, centerY), false, LOT_NONE, 1, sizeof(s16) }, - { "centerZ", LVT_S16, offsetof(struct CameraTrigger, centerZ), false, LOT_NONE, 1, sizeof(s16) }, -// { "event", LVT_???, offsetof(struct CameraTrigger, event), false, LOT_???, 1, sizeof(CameraEvent) }, <--- 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, 1, sizeof(s16) }, - { "posX", LVT_F32, offsetof(struct ChainSegment, posX), false, LOT_NONE, 1, sizeof(f32) }, - { "posY", LVT_F32, offsetof(struct ChainSegment, posY), false, LOT_NONE, 1, sizeof(f32) }, - { "posZ", LVT_F32, offsetof(struct ChainSegment, posZ), false, LOT_NONE, 1, sizeof(f32) }, - { "roll", LVT_S16, offsetof(struct ChainSegment, roll), false, LOT_NONE, 1, sizeof(s16) }, - { "yaw", LVT_S16, offsetof(struct ChainSegment, yaw), false, LOT_NONE, 1, sizeof(s16) }, -}; - #define LUA_CHARACTER_FIELD_COUNT 272 static struct LuaObjectField sCharacterFields[LUA_CHARACTER_FIELD_COUNT] = { { "animAPose", LVT_S32, offsetof(struct Character, animAPose), true, LOT_NONE, 1, sizeof(s32) }, @@ -771,28 +706,6 @@ static struct LuaObjectField sCustomLevelInfoFields[LUA_CUSTOM_LEVEL_INFO_FIELD_ { "shortName", LVT_STRING_P, offsetof(struct CustomLevelInfo, shortName), true, LOT_NONE, 1, sizeof(char*) }, }; -#define LUA_CUTSCENE_FIELD_COUNT 1 -static struct LuaObjectField sCutsceneFields[LUA_CUTSCENE_FIELD_COUNT] = { - { "duration", LVT_S16, offsetof(struct Cutscene, duration), false, LOT_NONE, 1, sizeof(s16) }, -// { "shot", LVT_???, offsetof(struct Cutscene, shot), false, LOT_???, 1, sizeof(CutsceneShot) }, <--- UNIMPLEMENTED -}; - -#define LUA_CUTSCENE_SPLINE_POINT_FIELD_COUNT 3 -static struct LuaObjectField sCutsceneSplinePointFields[LUA_CUTSCENE_SPLINE_POINT_FIELD_COUNT] = { - { "index", LVT_S8, offsetof(struct CutsceneSplinePoint, index), false, LOT_NONE, 1, sizeof(s8) }, - { "point", LVT_COBJECT, offsetof(struct CutsceneSplinePoint, point), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "speed", LVT_U8, offsetof(struct CutsceneSplinePoint, speed), false, LOT_NONE, 1, sizeof(u8) }, -}; - -#define LUA_CUTSCENE_VARIABLE_FIELD_COUNT 5 -static struct LuaObjectField sCutsceneVariableFields[LUA_CUTSCENE_VARIABLE_FIELD_COUNT] = { - { "angle", LVT_COBJECT, offsetof(struct CutsceneVariable, angle), true, LOT_VEC3S, 1, sizeof(Vec3s) }, - { "point", LVT_COBJECT, offsetof(struct CutsceneVariable, point), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "unused1", LVT_S32, offsetof(struct CutsceneVariable, unused1), false, LOT_NONE, 1, sizeof(s32) }, - { "unused2", LVT_S16, offsetof(struct CutsceneVariable, unused2), false, LOT_NONE, 1, sizeof(s16) }, - { "unusedPoint", LVT_COBJECT, offsetof(struct CutsceneVariable, unusedPoint), true, LOT_VEC3F, 1, sizeof(Vec3f) }, -}; - #define LUA_DATE_TIME_FIELD_COUNT 6 static struct LuaObjectField sDateTimeFields[LUA_DATE_TIME_FIELD_COUNT] = { { "day", LVT_S32, offsetof(struct DateTime, day), false, LOT_NONE, 1, sizeof(s32) }, @@ -884,15 +797,6 @@ static struct LuaObjectField sFirstPersonCameraFields[LUA_FIRST_PERSON_CAMERA_FI { "yaw", LVT_S16, offsetof(struct FirstPersonCamera, yaw), false, LOT_NONE, 1, sizeof(s16) }, }; -#define LUA_FLOOR_GEOMETRY_FIELD_COUNT 5 -static struct LuaObjectField sFloorGeometryFields[LUA_FLOOR_GEOMETRY_FIELD_COUNT] = { - { "normalX", LVT_F32, offsetof(struct FloorGeometry, normalX), false, LOT_NONE, 1, sizeof(f32) }, - { "normalY", LVT_F32, offsetof(struct FloorGeometry, normalY), false, LOT_NONE, 1, sizeof(f32) }, - { "normalZ", LVT_F32, offsetof(struct FloorGeometry, normalZ), false, LOT_NONE, 1, sizeof(f32) }, - { "originOffset", LVT_F32, offsetof(struct FloorGeometry, originOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "unused", LVT_F32, offsetof(struct FloorGeometry, unused), false, LOT_NONE, 4, sizeof(f32) }, -}; - #define LUA_FN_GRAPH_NODE_FIELD_COUNT 1 static struct LuaObjectField sFnGraphNodeFields[LUA_FN_GRAPH_NODE_FIELD_COUNT] = { // { "func", LVT_???, offsetof(struct FnGraphNode, func), false, LOT_???, 1, sizeof(GraphNodeFunc) }, <--- UNIMPLEMENTED @@ -1315,24 +1219,6 @@ static struct LuaObjectField sGraphNodeTranslationRotationFields[LUA_GRAPH_NODE_ { "translation", LVT_COBJECT, offsetof(struct GraphNodeTranslationRotation, translation), true, LOT_VEC3S, 1, sizeof(Vec3s) }, }; -#define LUA_GRAPH_NODE_802_A45_E4_FIELD_COUNT 6 -static struct LuaObjectField sGraphNode_802A45E4Fields[LUA_GRAPH_NODE_802_A45_E4_FIELD_COUNT] = { -// { "0x00]", LVT_???, offsetof(struct GraphNode_802A45E4, 0x00]), false, LOT_???, 1, sizeof(s8 filler0[0x18 -) }, <--- UNIMPLEMENTED - { "unk18", LVT_S16, offsetof(struct GraphNode_802A45E4, unk18), false, LOT_NONE, 1, sizeof(s16) }, - { "unk1A", LVT_S16, offsetof(struct GraphNode_802A45E4, unk1A), false, LOT_NONE, 1, sizeof(s16) }, - { "unk1C", LVT_S16, offsetof(struct GraphNode_802A45E4, unk1C), false, LOT_NONE, 1, sizeof(s16) }, - { "unk1E", LVT_S16, offsetof(struct GraphNode_802A45E4, unk1E), false, LOT_NONE, 1, sizeof(s16) }, - { "unk20", LVT_S16, offsetof(struct GraphNode_802A45E4, unk20), false, LOT_NONE, 1, sizeof(s16) }, - { "unk22", LVT_S16, offsetof(struct GraphNode_802A45E4, unk22), false, LOT_NONE, 1, sizeof(s16) }, -}; - -#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, 1, sizeof(s8) }, - { "pad", LVT_U32, offsetof(struct HandheldShakePoint, pad), false, LOT_NONE, 1, sizeof(u32) }, - { "point", LVT_COBJECT, offsetof(struct HandheldShakePoint, point), true, LOT_VEC3S, 1, sizeof(Vec3s) }, -}; - #define LUA_HUD_UTILS_ROTATION_FIELD_COUNT 6 static struct LuaObjectField sHudUtilsRotationFields[LUA_HUD_UTILS_ROTATION_FIELD_COUNT] = { { "pivotX", LVT_F32, offsetof(struct HudUtilsRotation, pivotX), false, LOT_NONE, 1, sizeof(f32) }, @@ -1452,15 +1338,6 @@ static struct LuaObjectField sLevelValuesFields[LUA_LEVEL_VALUES_FIELD_COUNT] = { "zoomOutCameraOnPause", LVT_U8, offsetof(struct LevelValues, zoomOutCameraOnPause), false, LOT_NONE, 1, sizeof(u8) }, }; -#define LUA_LINEAR_TRANSITION_POINT_FIELD_COUNT 5 -static struct LuaObjectField sLinearTransitionPointFields[LUA_LINEAR_TRANSITION_POINT_FIELD_COUNT] = { - { "dist", LVT_F32, offsetof(struct LinearTransitionPoint, dist), false, LOT_NONE, 1, sizeof(f32) }, - { "focus", LVT_COBJECT, offsetof(struct LinearTransitionPoint, focus), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "pitch", LVT_S16, offsetof(struct LinearTransitionPoint, pitch), false, LOT_NONE, 1, sizeof(s16) }, - { "pos", LVT_COBJECT, offsetof(struct LinearTransitionPoint, pos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "yaw", LVT_S16, offsetof(struct LinearTransitionPoint, yaw), false, LOT_NONE, 1, sizeof(s16) }, -}; - #define LUA_MARIO_ANIMATION_FIELD_COUNT 2 static struct LuaObjectField sMarioAnimationFields[LUA_MARIO_ANIMATION_FIELD_COUNT] = { // { "animDmaTable", LVT_COBJECT_P, offsetof(struct MarioAnimation, animDmaTable), true, LOT_???, 1, sizeof(struct MarioAnimDmaRelatedThing*) }, <--- UNIMPLEMENTED @@ -1584,7 +1461,7 @@ static struct LuaObjectField sMarioStateFields[LUA_MARIO_STATE_FIELD_COUNT] = { { "waterLevel", LVT_S16, offsetof(struct MarioState, waterLevel), false, LOT_NONE, 1, sizeof(s16) }, }; -#define LUA_MOD_FIELD_COUNT 16 +#define LUA_MOD_FIELD_COUNT 17 static struct LuaObjectField sModFields[LUA_MOD_FIELD_COUNT] = { { "basePath", LVT_STRING, offsetof(struct Mod, basePath), true, LOT_NONE, 1, sizeof(char) }, { "category", LVT_STRING_P, offsetof(struct Mod, category), true, LOT_NONE, 1, sizeof(char*) }, @@ -1602,7 +1479,7 @@ static struct LuaObjectField sModFields[LUA_MOD_FIELD_COUNT] = { { "relativePath", LVT_STRING, offsetof(struct Mod, relativePath), true, LOT_NONE, 1, sizeof(char) }, { "renderBehindHud", LVT_BOOL, offsetof(struct Mod, renderBehindHud), true, LOT_NONE, 1, sizeof(bool) }, { "selectable", LVT_BOOL, offsetof(struct Mod, selectable), true, LOT_NONE, 1, sizeof(bool) }, -// { "size", LVT_???, offsetof(struct Mod, size), true, LOT_???, 1, sizeof(size_t) }, <--- UNIMPLEMENTED + { "size", LVT_U64, offsetof(struct Mod, size), true, LOT_NONE, 1, sizeof(size_t) }, }; #define LUA_MOD_AUDIO_FIELD_COUNT 4 @@ -1613,27 +1490,6 @@ static struct LuaObjectField sModAudioFields[LUA_MOD_AUDIO_FIELD_COUNT] = { { "loaded", LVT_BOOL, offsetof(struct ModAudio, loaded), true, LOT_NONE, 1, sizeof(bool) }, }; -#define LUA_MOD_AUDIO_SAMPLE_COPIES_FIELD_COUNT 3 -static struct LuaObjectField sModAudioSampleCopiesFields[LUA_MOD_AUDIO_SAMPLE_COPIES_FIELD_COUNT] = { -// { "decoder", LVT_???, offsetof(struct ModAudioSampleCopies, decoder), false, LOT_???, 1, sizeof(ma_decoder) }, <--- UNIMPLEMENTED - { "next", LVT_COBJECT_P, offsetof(struct ModAudioSampleCopies, next), false, LOT_MODAUDIOSAMPLECOPIES, 1, sizeof(struct ModAudioSampleCopies*) }, - { "parent", LVT_COBJECT_P, offsetof(struct ModAudioSampleCopies, parent), false, LOT_MODAUDIO, 1, sizeof(struct ModAudio*) }, - { "prev", LVT_COBJECT_P, offsetof(struct ModAudioSampleCopies, prev), false, LOT_MODAUDIOSAMPLECOPIES, 1, sizeof(struct ModAudioSampleCopies*) }, -// { "sound", LVT_???, offsetof(struct ModAudioSampleCopies, sound), false, LOT_???, 1, sizeof(ma_sound) }, <--- UNIMPLEMENTED -}; - -#define LUA_MOD_FILE_FIELD_COUNT 6 -static struct LuaObjectField sModFileFields[LUA_MOD_FILE_FIELD_COUNT] = { - { "cachedPath", LVT_STRING_P, offsetof(struct ModFile, cachedPath), true, LOT_NONE, 1, sizeof(char*) }, - { "dataHash", LVT_U8, offsetof(struct ModFile, dataHash), true, LOT_NONE, 16, sizeof(u8) }, -// { "fp", LVT_???, offsetof(struct ModFile, fp), true, LOT_???, 1, sizeof(FILE*) }, <--- UNIMPLEMENTED - { "isLoadedLuaModule", LVT_BOOL, offsetof(struct ModFile, isLoadedLuaModule), true, LOT_NONE, 1, sizeof(bool) }, - { "modifiedTimestamp", LVT_U64, offsetof(struct ModFile, modifiedTimestamp), true, LOT_NONE, 1, sizeof(u64) }, - { "relativePath", LVT_STRING, offsetof(struct ModFile, relativePath), true, LOT_NONE, 1, sizeof(char) }, -// { "size", LVT_???, offsetof(struct ModFile, size), true, LOT_???, 1, sizeof(size_t) }, <--- UNIMPLEMENTED - { "wroteBytes", LVT_U64, offsetof(struct ModFile, wroteBytes), true, LOT_NONE, 1, sizeof(u64) }, -}; - static const char FUNCTION__mod_fs_clear[] = "mod_fs_clear"; static const char FUNCTION__mod_fs_copy_file[] = "mod_fs_copy_file"; static const char FUNCTION__mod_fs_create_file[] = "mod_fs_create_file"; @@ -1713,839 +1569,829 @@ static struct LuaObjectField sModFsFileFields[LUA_MOD_FS_FILE_FIELD_COUNT] = { { "write_string", LVT_FUNCTION, (size_t) FUNCTION__mod_fs_file_write_string, true, LOT_NONE, 1, sizeof(const char *) }, }; -#define LUA_MODE_TRANSITION_INFO_FIELD_COUNT 6 -static struct LuaObjectField sModeTransitionInfoFields[LUA_MODE_TRANSITION_INFO_FIELD_COUNT] = { - { "frame", LVT_S16, offsetof(struct ModeTransitionInfo, frame), false, LOT_NONE, 1, sizeof(s16) }, - { "lastMode", LVT_S16, offsetof(struct ModeTransitionInfo, lastMode), false, LOT_NONE, 1, sizeof(s16) }, - { "max", LVT_S16, offsetof(struct ModeTransitionInfo, max), false, LOT_NONE, 1, sizeof(s16) }, - { "newMode", LVT_S16, offsetof(struct ModeTransitionInfo, newMode), false, LOT_NONE, 1, sizeof(s16) }, - { "transitionEnd", LVT_COBJECT, offsetof(struct ModeTransitionInfo, transitionEnd), true, LOT_LINEARTRANSITIONPOINT, 1, sizeof(struct LinearTransitionPoint) }, - { "transitionStart", LVT_COBJECT, offsetof(struct ModeTransitionInfo, transitionStart), true, LOT_LINEARTRANSITIONPOINT, 1, sizeof(struct LinearTransitionPoint) }, -}; - #define LUA_NAMETAGS_SETTINGS_FIELD_COUNT 2 static struct LuaObjectField sNametagsSettingsFields[LUA_NAMETAGS_SETTINGS_FIELD_COUNT] = { { "showHealth", LVT_BOOL, offsetof(struct NametagsSettings, showHealth), false, LOT_NONE, 1, sizeof(bool) }, { "showSelfTag", LVT_BOOL, offsetof(struct NametagsSettings, showSelfTag), false, LOT_NONE, 1, sizeof(bool) }, }; -#define LUA_NETWORK_PLAYER_FIELD_COUNT 32 +#define LUA_NETWORK_PLAYER_FIELD_COUNT 30 static struct LuaObjectField sNetworkPlayerFields[LUA_NETWORK_PLAYER_FIELD_COUNT] = { - { "connected", LVT_BOOL, offsetof(struct NetworkPlayer, connected), true, LOT_NONE, 1, sizeof(bool) }, - { "currActNum", LVT_S16, offsetof(struct NetworkPlayer, currActNum), true, LOT_NONE, 1, sizeof(s16) }, - { "currAreaIndex", LVT_S16, offsetof(struct NetworkPlayer, currAreaIndex), true, LOT_NONE, 1, sizeof(s16) }, - { "currAreaSyncValid", LVT_BOOL, offsetof(struct NetworkPlayer, currAreaSyncValid), true, LOT_NONE, 1, sizeof(bool) }, - { "currCourseNum", LVT_S16, offsetof(struct NetworkPlayer, currCourseNum), true, LOT_NONE, 1, sizeof(s16) }, - { "currLevelAreaSeqId", LVT_U16, offsetof(struct NetworkPlayer, currLevelAreaSeqId), true, LOT_NONE, 1, sizeof(u16) }, - { "currLevelNum", LVT_S16, offsetof(struct NetworkPlayer, currLevelNum), true, LOT_NONE, 1, sizeof(s16) }, - { "currLevelSyncValid", LVT_BOOL, offsetof(struct NetworkPlayer, currLevelSyncValid), true, LOT_NONE, 1, sizeof(bool) }, - { "currPositionValid", LVT_BOOL, offsetof(struct NetworkPlayer, currPositionValid), true, LOT_NONE, 1, sizeof(bool) }, - { "description", LVT_STRING, offsetof(struct NetworkPlayer, description), true, LOT_NONE, 1, sizeof(char) }, - { "descriptionA", LVT_U8, offsetof(struct NetworkPlayer, descriptionA), true, LOT_NONE, 1, sizeof(u8) }, - { "descriptionB", LVT_U8, offsetof(struct NetworkPlayer, descriptionB), true, LOT_NONE, 1, sizeof(u8) }, - { "descriptionG", LVT_U8, offsetof(struct NetworkPlayer, descriptionG), true, LOT_NONE, 1, sizeof(u8) }, - { "descriptionR", LVT_U8, offsetof(struct NetworkPlayer, descriptionR), true, LOT_NONE, 1, sizeof(u8) }, - { "fadeOpacity", LVT_U8, offsetof(struct NetworkPlayer, fadeOpacity), true, LOT_NONE, 1, sizeof(u8) }, - { "globalIndex", LVT_U8, offsetof(struct NetworkPlayer, globalIndex), true, LOT_NONE, 1, sizeof(u8) }, - { "lastPingSent", LVT_F32, offsetof(struct NetworkPlayer, lastPingSent), true, LOT_NONE, 1, sizeof(f32) }, - { "lastReceived", LVT_F32, offsetof(struct NetworkPlayer, lastReceived), true, LOT_NONE, 1, sizeof(f32) }, - { "lastSent", LVT_F32, offsetof(struct NetworkPlayer, lastSent), true, LOT_NONE, 1, sizeof(f32) }, - { "localIndex", LVT_U8, offsetof(struct NetworkPlayer, localIndex), true, LOT_NONE, 1, sizeof(u8) }, - { "modelIndex", LVT_U8, offsetof(struct NetworkPlayer, modelIndex), true, LOT_NONE, 1, sizeof(u8) }, - { "name", LVT_STRING, offsetof(struct NetworkPlayer, name), true, LOT_NONE, 1, sizeof(char) }, - { "onRxSeqId", LVT_U8, offsetof(struct NetworkPlayer, onRxSeqId), true, LOT_NONE, 1, sizeof(u8) }, - { "overrideLocation", LVT_STRING, offsetof(struct NetworkPlayer, overrideLocation), true, LOT_NONE, 1, sizeof(char) }, - { "overrideModelIndex", LVT_U8, offsetof(struct NetworkPlayer, overrideModelIndex), false, LOT_NONE, 1, sizeof(u8) }, - { "overridePalette", LVT_COBJECT, offsetof(struct NetworkPlayer, overridePalette), false, LOT_PLAYERPALETTE, 1, sizeof(struct PlayerPalette) }, - { "overridePaletteIndex", LVT_U8, offsetof(struct NetworkPlayer, overridePaletteIndex), false, LOT_NONE, 1, sizeof(u8) }, - { "overridePaletteIndexLp", LVT_U8, offsetof(struct NetworkPlayer, overridePaletteIndexLp), true, LOT_NONE, 1, sizeof(u8) }, - { "palette", LVT_COBJECT, offsetof(struct NetworkPlayer, palette), true, LOT_PLAYERPALETTE, 1, sizeof(struct PlayerPalette) }, - { "paletteIndex", LVT_U8, offsetof(struct NetworkPlayer, paletteIndex), true, LOT_NONE, 1, sizeof(u8) }, - { "ping", LVT_U32, offsetof(struct NetworkPlayer, ping), true, LOT_NONE, 1, sizeof(u32) }, -// { "rxPacketHash", LVT_???, offsetof(struct NetworkPlayer, rxPacketHash), true, LOT_???, 1, sizeof(u32) }, <--- UNIMPLEMENTED -// { "rxSeqIds", LVT_???, offsetof(struct NetworkPlayer, rxSeqIds), true, LOT_???, 1, sizeof(u16) }, <--- UNIMPLEMENTED - { "type", LVT_U8, offsetof(struct NetworkPlayer, type), true, LOT_NONE, 1, sizeof(u8) }, + { "connected", LVT_BOOL, offsetof(struct NetworkPlayer, connected), true, LOT_NONE, 1, sizeof(bool) }, + { "currActNum", LVT_S16, offsetof(struct NetworkPlayer, currActNum), true, LOT_NONE, 1, sizeof(s16) }, + { "currAreaIndex", LVT_S16, offsetof(struct NetworkPlayer, currAreaIndex), true, LOT_NONE, 1, sizeof(s16) }, + { "currAreaSyncValid", LVT_BOOL, offsetof(struct NetworkPlayer, currAreaSyncValid), true, LOT_NONE, 1, sizeof(bool) }, + { "currCourseNum", LVT_S16, offsetof(struct NetworkPlayer, currCourseNum), true, LOT_NONE, 1, sizeof(s16) }, + { "currLevelAreaSeqId", LVT_U16, offsetof(struct NetworkPlayer, currLevelAreaSeqId), true, LOT_NONE, 1, sizeof(u16) }, + { "currLevelNum", LVT_S16, offsetof(struct NetworkPlayer, currLevelNum), true, LOT_NONE, 1, sizeof(s16) }, + { "currLevelSyncValid", LVT_BOOL, offsetof(struct NetworkPlayer, currLevelSyncValid), true, LOT_NONE, 1, sizeof(bool) }, + { "currPositionValid", LVT_BOOL, offsetof(struct NetworkPlayer, currPositionValid), true, LOT_NONE, 1, sizeof(bool) }, + { "description", LVT_STRING, offsetof(struct NetworkPlayer, description), true, LOT_NONE, 1, sizeof(char) }, + { "descriptionA", LVT_U8, offsetof(struct NetworkPlayer, descriptionA), true, LOT_NONE, 1, sizeof(u8) }, + { "descriptionB", LVT_U8, offsetof(struct NetworkPlayer, descriptionB), true, LOT_NONE, 1, sizeof(u8) }, + { "descriptionG", LVT_U8, offsetof(struct NetworkPlayer, descriptionG), true, LOT_NONE, 1, sizeof(u8) }, + { "descriptionR", LVT_U8, offsetof(struct NetworkPlayer, descriptionR), true, LOT_NONE, 1, sizeof(u8) }, + { "fadeOpacity", LVT_U8, offsetof(struct NetworkPlayer, fadeOpacity), true, LOT_NONE, 1, sizeof(u8) }, + { "globalIndex", LVT_U8, offsetof(struct NetworkPlayer, globalIndex), true, LOT_NONE, 1, sizeof(u8) }, + { "lastPingSent", LVT_F32, offsetof(struct NetworkPlayer, lastPingSent), true, LOT_NONE, 1, sizeof(f32) }, + { "lastReceived", LVT_F32, offsetof(struct NetworkPlayer, lastReceived), true, LOT_NONE, 1, sizeof(f32) }, + { "lastSent", LVT_F32, offsetof(struct NetworkPlayer, lastSent), true, LOT_NONE, 1, sizeof(f32) }, + { "localIndex", LVT_U8, offsetof(struct NetworkPlayer, localIndex), true, LOT_NONE, 1, sizeof(u8) }, + { "modelIndex", LVT_U8, offsetof(struct NetworkPlayer, modelIndex), true, LOT_NONE, 1, sizeof(u8) }, + { "name", LVT_STRING, offsetof(struct NetworkPlayer, name), true, LOT_NONE, 1, sizeof(char) }, + { "onRxSeqId", LVT_U8, offsetof(struct NetworkPlayer, onRxSeqId), true, LOT_NONE, 1, sizeof(u8) }, + { "overrideLocation", LVT_STRING, offsetof(struct NetworkPlayer, overrideLocation), true, LOT_NONE, 1, sizeof(char) }, + { "overrideModelIndex", LVT_U8, offsetof(struct NetworkPlayer, overrideModelIndex), false, LOT_NONE, 1, sizeof(u8) }, +// { "overridePalette", LVT_COBJECT, offsetof(struct NetworkPlayer, overridePalette), false, LOT_???, 1, sizeof(struct PlayerPalette) }, <--- UNIMPLEMENTED + { "overridePaletteIndex", LVT_U8, offsetof(struct NetworkPlayer, overridePaletteIndex), false, LOT_NONE, 1, sizeof(u8) }, + { "overridePaletteIndexLp", LVT_U8, offsetof(struct NetworkPlayer, overridePaletteIndexLp), true, LOT_NONE, 1, sizeof(u8) }, +// { "palette", LVT_COBJECT, offsetof(struct NetworkPlayer, palette), true, LOT_???, 1, sizeof(struct PlayerPalette) }, <--- UNIMPLEMENTED + { "paletteIndex", LVT_U8, offsetof(struct NetworkPlayer, paletteIndex), true, LOT_NONE, 1, sizeof(u8) }, + { "ping", LVT_U32, offsetof(struct NetworkPlayer, ping), true, LOT_NONE, 1, sizeof(u32) }, +// { "rxPacketHash", LVT_???, offsetof(struct NetworkPlayer, rxPacketHash), true, LOT_???, 1, sizeof(u32) }, <--- UNIMPLEMENTED +// { "rxSeqIds", LVT_???, offsetof(struct NetworkPlayer, rxSeqIds), true, LOT_???, 1, sizeof(u16) }, <--- UNIMPLEMENTED + { "type", LVT_U8, offsetof(struct NetworkPlayer, type), true, LOT_NONE, 1, sizeof(u8) }, }; -#define LUA_OBJECT_FIELD_COUNT 762 +#define LUA_OBJECT_FIELD_COUNT 760 static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = { - { "activeFlags", LVT_S16, offsetof(struct Object, activeFlags), false, LOT_NONE, 1, sizeof(s16) }, - { "allowRemoteInteractions", LVT_U8, offsetof(struct Object, allowRemoteInteractions), false, LOT_NONE, 1, sizeof(u8) }, - { "areaTimer", LVT_U32, offsetof(struct Object, areaTimer), false, LOT_NONE, 1, sizeof(u32) }, - { "areaTimerDuration", LVT_U32, offsetof(struct Object, areaTimerDuration), false, LOT_NONE, 1, sizeof(u32) }, -// { "areaTimerRunOnceCallback)(void)", LVT_???, offsetof(struct Object, areaTimerRunOnceCallback)(void)), false, LOT_???, 1, sizeof(void (*) }, <--- UNIMPLEMENTED - { "areaTimerType", LVT_S32, offsetof(struct Object, areaTimerType), false, LOT_NONE, 1, sizeof(enum AreaTimerType) }, - { "behavior", LVT_BEHAVIORSCRIPT_P, offsetof(struct Object, behavior), true, LOT_POINTER, 1, sizeof(const BehaviorScript*) }, - { "bhvDelayTimer", LVT_S16, offsetof(struct Object, bhvDelayTimer), false, LOT_NONE, 1, sizeof(s16) }, -// { "bhvStack", LVT_???, offsetof(struct Object, bhvStack), false, LOT_???, 1, sizeof(uintptr_t) }, <--- UNIMPLEMENTED - { "bhvStackIndex", LVT_U32, offsetof(struct Object, bhvStackIndex), true, LOT_NONE, 1, sizeof(u32) }, - { "collidedObjInteractTypes", LVT_U32, offsetof(struct Object, collidedObjInteractTypes), false, LOT_NONE, 1, sizeof(u32) }, - { "collidedObjs", LVT_COBJECT_P, offsetof(struct Object, collidedObjs), false, LOT_OBJECT, 4, sizeof(struct Object*) }, - { "collisionData", LVT_COLLISION_P, offsetof(struct Object, collisionData), false, LOT_POINTER, 1, sizeof(Collision*) }, - { "coopFlags", LVT_U8, offsetof(struct Object, coopFlags), true, LOT_NONE, 1, sizeof(u8) }, - { "ctx", LVT_U8, offsetof(struct Object, ctx), false, LOT_NONE, 1, sizeof(u8) }, - { "curBhvCommand", LVT_BEHAVIORSCRIPT_P, offsetof(struct Object, curBhvCommand), true, LOT_POINTER, 1, sizeof(const BehaviorScript*) }, - { "globalPlayerIndex", LVT_U8, offsetof(struct Object, globalPlayerIndex), false, LOT_NONE, 1, sizeof(u8) }, - { "header", LVT_COBJECT, offsetof(struct Object, header), true, LOT_OBJECTNODE, 1, sizeof(struct ObjectNode) }, - { "heldByPlayerIndex", LVT_U32, offsetof(struct Object, heldByPlayerIndex), false, LOT_NONE, 1, sizeof(u32) }, - { "hitboxDownOffset", LVT_F32, offsetof(struct Object, hitboxDownOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "hitboxHeight", LVT_F32, offsetof(struct Object, hitboxHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "hitboxRadius", LVT_F32, offsetof(struct Object, hitboxRadius), false, LOT_NONE, 1, sizeof(f32) }, - { "hookRender", LVT_U8, offsetof(struct Object, hookRender), false, LOT_NONE, 1, sizeof(u8) }, - { "hurtboxHeight", LVT_F32, offsetof(struct Object, hurtboxHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "hurtboxRadius", LVT_F32, offsetof(struct Object, hurtboxRadius), false, LOT_NONE, 1, sizeof(f32) }, - { "numCollidedObjs", LVT_S16, offsetof(struct Object, numCollidedObjs), false, LOT_NONE, 1, sizeof(s16) }, - { "numSurfaces", LVT_U32, offsetof(struct Object, numSurfaces), true, LOT_NONE, 1, sizeof(u32) }, - { "o1UpForceSpawn", LVT_S32, offsetof(struct Object, o1UpForceSpawn), false, LOT_NONE, 1, sizeof(s32) }, - { "o1UpHiddenUnkF4", LVT_S32, offsetof(struct Object, o1UpHiddenUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oAction", LVT_S32, offsetof(struct Object, oAction), false, LOT_NONE, 1, sizeof(s32) }, - { "oActivatedBackAndForthPlatformCountdown", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformCountdown), false, LOT_NONE, 1, sizeof(s32) }, - { "oActivatedBackAndForthPlatformFlipRotation", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformFlipRotation), false, LOT_NONE, 1, sizeof(s32) }, - { "oActivatedBackAndForthPlatformMaxOffset", LVT_F32, offsetof(struct Object, oActivatedBackAndForthPlatformMaxOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oActivatedBackAndForthPlatformOffset", LVT_F32, offsetof(struct Object, oActivatedBackAndForthPlatformOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oActivatedBackAndForthPlatformStartYaw", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformStartYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oActivatedBackAndForthPlatformVel", LVT_F32, offsetof(struct Object, oActivatedBackAndForthPlatformVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oActivatedBackAndForthPlatformVertical", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformVertical), false, LOT_NONE, 1, sizeof(s32) }, - { "oActiveParticleFlags", LVT_U32, offsetof(struct Object, oActiveParticleFlags), false, LOT_NONE, 1, sizeof(u32) }, - { "oAmpRadiusOfRotation", LVT_F32, offsetof(struct Object, oAmpRadiusOfRotation), false, LOT_NONE, 1, sizeof(f32) }, - { "oAmpYPhase", LVT_S32, offsetof(struct Object, oAmpYPhase), false, LOT_NONE, 1, sizeof(s32) }, - { "oAngleToHome", LVT_S32, offsetof(struct Object, oAngleToHome), false, LOT_NONE, 1, sizeof(s32) }, - { "oAngleToMario", LVT_S32, offsetof(struct Object, oAngleToMario), false, LOT_NONE, 1, sizeof(s32) }, - { "oAngleVelPitch", LVT_S32, offsetof(struct Object, oAngleVelPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oAngleVelRoll", LVT_S32, offsetof(struct Object, oAngleVelRoll), false, LOT_NONE, 1, sizeof(s32) }, - { "oAngleVelYaw", LVT_S32, offsetof(struct Object, oAngleVelYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oAnimState", LVT_S32, offsetof(struct Object, oAnimState), false, LOT_NONE, 1, sizeof(s32) }, - { "oAnimations", LVT_OBJECTANIMPOINTER_P, offsetof(struct Object, oAnimations), false, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, - { "oArrowLiftDisplacement", LVT_F32, offsetof(struct Object, oArrowLiftDisplacement), false, LOT_NONE, 1, sizeof(f32) }, - { "oArrowLiftUnk100", LVT_S32, offsetof(struct Object, oArrowLiftUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oBBallSpawnerMaxSpawnDist", LVT_F32, offsetof(struct Object, oBBallSpawnerMaxSpawnDist), false, LOT_NONE, 1, sizeof(f32) }, - { "oBBallSpawnerPeriodMinus1", LVT_S32, offsetof(struct Object, oBBallSpawnerPeriodMinus1), false, LOT_NONE, 1, sizeof(s32) }, - { "oBBallSpawnerSpawnOdds", LVT_F32, offsetof(struct Object, oBBallSpawnerSpawnOdds), false, LOT_NONE, 1, sizeof(f32) }, - { "oBackAndForthPlatformDirection", LVT_F32, offsetof(struct Object, oBackAndForthPlatformDirection), false, LOT_NONE, 1, sizeof(f32) }, - { "oBackAndForthPlatformDistance", LVT_F32, offsetof(struct Object, oBackAndForthPlatformDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "oBackAndForthPlatformPathLength", LVT_F32, offsetof(struct Object, oBackAndForthPlatformPathLength), false, LOT_NONE, 1, sizeof(f32) }, - { "oBackAndForthPlatformVel", LVT_F32, offsetof(struct Object, oBackAndForthPlatformVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oBehParams", LVT_S32, offsetof(struct Object, oBehParams), false, LOT_NONE, 1, sizeof(s32) }, - { "oBehParams2ndByte", LVT_S32, offsetof(struct Object, oBehParams2ndByte), false, LOT_NONE, 1, sizeof(s32) }, - { "oBetaTrampolineMarioOnTrampoline", LVT_S32, offsetof(struct Object, oBetaTrampolineMarioOnTrampoline), false, LOT_NONE, 1, sizeof(s32) }, - { "oBigBooNumMinionBoosKilled", LVT_S32, offsetof(struct Object, oBigBooNumMinionBoosKilled), false, LOT_NONE, 1, sizeof(s32) }, - { "oBirdChirpChirpUnkF4", LVT_S32, offsetof(struct Object, oBirdChirpChirpUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oBirdSpeed", LVT_F32, offsetof(struct Object, oBirdSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oBirdTargetPitch", LVT_S32, offsetof(struct Object, oBirdTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oBirdTargetYaw", LVT_S32, offsetof(struct Object, oBirdTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oBlackSmokeBowserUnkF4", LVT_F32, offsetof(struct Object, oBlackSmokeBowserUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oBlueFishRandomAngle", LVT_F32, offsetof(struct Object, oBlueFishRandomAngle), false, LOT_NONE, 1, sizeof(f32) }, - { "oBlueFishRandomTime", LVT_S32, offsetof(struct Object, oBlueFishRandomTime), false, LOT_NONE, 1, sizeof(s32) }, - { "oBlueFishRandomVel", LVT_F32, offsetof(struct Object, oBlueFishRandomVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oBlueFlameNextScale", LVT_F32, offsetof(struct Object, oBlueFlameNextScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oBobombBlinkTimer", LVT_S32, offsetof(struct Object, oBobombBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombBuddyBlinkTimer", LVT_S32, offsetof(struct Object, oBobombBuddyBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombBuddyCannonStatus", LVT_S32, offsetof(struct Object, oBobombBuddyCannonStatus), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombBuddyHasTalkedToMario", LVT_S32, offsetof(struct Object, oBobombBuddyHasTalkedToMario), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombBuddyPosXCopy", LVT_F32, offsetof(struct Object, oBobombBuddyPosXCopy), false, LOT_NONE, 1, sizeof(f32) }, - { "oBobombBuddyPosYCopy", LVT_F32, offsetof(struct Object, oBobombBuddyPosYCopy), false, LOT_NONE, 1, sizeof(f32) }, - { "oBobombBuddyPosZCopy", LVT_F32, offsetof(struct Object, oBobombBuddyPosZCopy), false, LOT_NONE, 1, sizeof(f32) }, - { "oBobombBuddyRole", LVT_S32, offsetof(struct Object, oBobombBuddyRole), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombExpBubGfxExpRateX", LVT_S32, offsetof(struct Object, oBobombExpBubGfxExpRateX), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombExpBubGfxExpRateY", LVT_S32, offsetof(struct Object, oBobombExpBubGfxExpRateY), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombExpBubGfxScaleFacX", LVT_S32, offsetof(struct Object, oBobombExpBubGfxScaleFacX), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombExpBubGfxScaleFacY", LVT_S32, offsetof(struct Object, oBobombExpBubGfxScaleFacY), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombFuseLit", LVT_S32, offsetof(struct Object, oBobombFuseLit), false, LOT_NONE, 1, sizeof(s32) }, - { "oBobombFuseTimer", LVT_S32, offsetof(struct Object, oBobombFuseTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oBooBaseScale", LVT_F32, offsetof(struct Object, oBooBaseScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oBooDeathStatus", LVT_S32, offsetof(struct Object, oBooDeathStatus), false, LOT_NONE, 1, sizeof(s32) }, - { "oBooInitialMoveYaw", LVT_S32, offsetof(struct Object, oBooInitialMoveYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oBooMoveYawBeforeHit", LVT_F32, offsetof(struct Object, oBooMoveYawBeforeHit), false, LOT_NONE, 1, sizeof(f32) }, - { "oBooMoveYawDuringHit", LVT_S32, offsetof(struct Object, oBooMoveYawDuringHit), false, LOT_NONE, 1, sizeof(s32) }, - { "oBooNegatedAggressiveness", LVT_F32, offsetof(struct Object, oBooNegatedAggressiveness), false, LOT_NONE, 1, sizeof(f32) }, - { "oBooOscillationTimer", LVT_S32, offsetof(struct Object, oBooOscillationTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oBooParentBigBoo", LVT_COBJECT_P, offsetof(struct Object, oBooParentBigBoo), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oBooTargetOpacity", LVT_S32, offsetof(struct Object, oBooTargetOpacity), false, LOT_NONE, 1, sizeof(s32) }, - { "oBooTurningSpeed", LVT_S16, offsetof(struct Object, oBooTurningSpeed), false, LOT_NONE, 1, sizeof(s16) }, - { "oBookSwitchManagerUnkF4", LVT_S32, offsetof(struct Object, oBookSwitchManagerUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oBookSwitchManagerUnkF8", LVT_S32, offsetof(struct Object, oBookSwitchManagerUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oBookSwitchUnkF4", LVT_F32, offsetof(struct Object, oBookSwitchUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oBookendUnkF4", LVT_S32, offsetof(struct Object, oBookendUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oBookendUnkF8", LVT_S32, offsetof(struct Object, oBookendUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oBounciness", LVT_F32, offsetof(struct Object, oBounciness), false, LOT_NONE, 1, sizeof(f32) }, - { "oBouncingFireBallUnkF4", LVT_S32, offsetof(struct Object, oBouncingFireBallUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oBowlingBallTargetYaw", LVT_S32, offsetof(struct Object, oBowlingBallTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oBowserAngleToCentre", LVT_S16, offsetof(struct Object, oBowserAngleToCentre), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserDistToCentre", LVT_F32, offsetof(struct Object, oBowserDistToCentre), false, LOT_NONE, 1, sizeof(f32) }, - { "oBowserEyesShut", LVT_S16, offsetof(struct Object, oBowserEyesShut), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserHeldAnglePitch", LVT_S16, offsetof(struct Object, oBowserHeldAnglePitch), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserHeldAngleVelYaw", LVT_S16, offsetof(struct Object, oBowserHeldAngleVelYaw), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserKeyScale", LVT_F32, offsetof(struct Object, oBowserKeyScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oBowserPuzzleCompletionFlags", LVT_S32, offsetof(struct Object, oBowserPuzzleCompletionFlags), false, LOT_NONE, 1, sizeof(s32) }, -// { "oBowserPuzzlePieceActionList", LVT_???, offsetof(struct Object, oBowserPuzzlePieceActionList), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED - { "oBowserPuzzlePieceContinuePerformingAction", LVT_S32, offsetof(struct Object, oBowserPuzzlePieceContinuePerformingAction), false, LOT_NONE, 1, sizeof(s32) }, -// { "oBowserPuzzlePieceNextAction", LVT_???, offsetof(struct Object, oBowserPuzzlePieceNextAction), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED - { "oBowserPuzzlePieceOffsetX", LVT_F32, offsetof(struct Object, oBowserPuzzlePieceOffsetX), false, LOT_NONE, 1, sizeof(f32) }, - { "oBowserPuzzlePieceOffsetY", LVT_F32, offsetof(struct Object, oBowserPuzzlePieceOffsetY), false, LOT_NONE, 1, sizeof(f32) }, - { "oBowserPuzzlePieceOffsetZ", LVT_F32, offsetof(struct Object, oBowserPuzzlePieceOffsetZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oBowserShockWaveUnkF4", LVT_F32, offsetof(struct Object, oBowserShockWaveUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oBowserUnk106", LVT_S16, offsetof(struct Object, oBowserUnk106), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk108", LVT_S16, offsetof(struct Object, oBowserUnk108), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk10E", LVT_S16, offsetof(struct Object, oBowserUnk10E), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk110", LVT_S16, offsetof(struct Object, oBowserUnk110), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk1AC", LVT_S16, offsetof(struct Object, oBowserUnk1AC), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk1AE", LVT_S16, offsetof(struct Object, oBowserUnk1AE), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk1B2", LVT_S16, offsetof(struct Object, oBowserUnk1B2), false, LOT_NONE, 1, sizeof(s16) }, - { "oBowserUnk88", LVT_S32, offsetof(struct Object, oBowserUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oBowserUnkF4", LVT_S32, offsetof(struct Object, oBowserUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oBowserUnkF8", LVT_S32, offsetof(struct Object, oBowserUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oBreakableBoxSmallFramesSinceReleased", LVT_S32, offsetof(struct Object, oBreakableBoxSmallFramesSinceReleased), false, LOT_NONE, 1, sizeof(s32) }, - { "oBreakableBoxSmallReleased", LVT_S32, offsetof(struct Object, oBreakableBoxSmallReleased), false, LOT_NONE, 1, sizeof(s32) }, - { "oBreakableWallForce", LVT_S32, offsetof(struct Object, oBreakableWallForce), false, LOT_NONE, 1, sizeof(s32) }, - { "oBubbaUnk100", LVT_S32, offsetof(struct Object, oBubbaUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oBubbaUnk104", LVT_S32, offsetof(struct Object, oBubbaUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oBubbaUnk108", LVT_F32, offsetof(struct Object, oBubbaUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oBubbaUnk10C", LVT_F32, offsetof(struct Object, oBubbaUnk10C), false, LOT_NONE, 1, sizeof(f32) }, - { "oBubbaUnk1AC", LVT_S16, offsetof(struct Object, oBubbaUnk1AC), false, LOT_NONE, 1, sizeof(s16) }, - { "oBubbaUnk1AE", LVT_S16, offsetof(struct Object, oBubbaUnk1AE), false, LOT_NONE, 1, sizeof(s16) }, - { "oBubbaUnk1B0", LVT_S16, offsetof(struct Object, oBubbaUnk1B0), false, LOT_NONE, 1, sizeof(s16) }, - { "oBubbaUnk1B2", LVT_S16, offsetof(struct Object, oBubbaUnk1B2), false, LOT_NONE, 1, sizeof(s16) }, - { "oBubbaUnkF4", LVT_F32, offsetof(struct Object, oBubbaUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oBubbaUnkF8", LVT_S32, offsetof(struct Object, oBubbaUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oBubbaUnkFC", LVT_S32, offsetof(struct Object, oBubbaUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oBulletBillInitialMoveYaw", LVT_S32, offsetof(struct Object, oBulletBillInitialMoveYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oBullyKBTimerAndMinionKOCounter", LVT_S32, offsetof(struct Object, oBullyKBTimerAndMinionKOCounter), false, LOT_NONE, 1, sizeof(s32) }, - { "oBullyLastNetworkPlayerIndex", LVT_S16, offsetof(struct Object, oBullyLastNetworkPlayerIndex), false, LOT_NONE, 1, sizeof(s16) }, - { "oBullyMarioCollisionAngle", LVT_S32, offsetof(struct Object, oBullyMarioCollisionAngle), false, LOT_NONE, 1, sizeof(s32) }, - { "oBullyPrevX", LVT_F32, offsetof(struct Object, oBullyPrevX), false, LOT_NONE, 1, sizeof(f32) }, - { "oBullyPrevY", LVT_F32, offsetof(struct Object, oBullyPrevY), false, LOT_NONE, 1, sizeof(f32) }, - { "oBullyPrevZ", LVT_F32, offsetof(struct Object, oBullyPrevZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oBullySubtype", LVT_S32, offsetof(struct Object, oBullySubtype), false, LOT_NONE, 1, sizeof(s32) }, - { "oBuoyancy", LVT_F32, offsetof(struct Object, oBuoyancy), false, LOT_NONE, 1, sizeof(f32) }, - { "oButterflyYPhase", LVT_S32, offsetof(struct Object, oButterflyYPhase), false, LOT_NONE, 1, sizeof(s32) }, - { "oCameraLakituBlinkTimer", LVT_S32, offsetof(struct Object, oCameraLakituBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oCameraLakituCircleRadius", LVT_F32, offsetof(struct Object, oCameraLakituCircleRadius), false, LOT_NONE, 1, sizeof(f32) }, - { "oCameraLakituFinishedDialog", LVT_S32, offsetof(struct Object, oCameraLakituFinishedDialog), false, LOT_NONE, 1, sizeof(s32) }, - { "oCameraLakituPitchVel", LVT_S16, offsetof(struct Object, oCameraLakituPitchVel), false, LOT_NONE, 1, sizeof(s16) }, - { "oCameraLakituSpeed", LVT_F32, offsetof(struct Object, oCameraLakituSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "activeFlags", LVT_S16, offsetof(struct Object, activeFlags), false, LOT_NONE, 1, sizeof(s16) }, + { "allowRemoteInteractions", LVT_U8, offsetof(struct Object, allowRemoteInteractions), false, LOT_NONE, 1, sizeof(u8) }, + { "areaTimer", LVT_U32, offsetof(struct Object, areaTimer), false, LOT_NONE, 1, sizeof(u32) }, + { "areaTimerDuration", LVT_U32, offsetof(struct Object, areaTimerDuration), false, LOT_NONE, 1, sizeof(u32) }, +// { "areaTimerRunOnceCallback)(void)", LVT_???, offsetof(struct Object, areaTimerRunOnceCallback)(void)), false, LOT_???, 1, sizeof(void (*) }, <--- UNIMPLEMENTED + { "areaTimerType", LVT_S32, offsetof(struct Object, areaTimerType), false, LOT_NONE, 1, sizeof(enum AreaTimerType) }, + { "behavior", LVT_BEHAVIORSCRIPT_P, offsetof(struct Object, behavior), true, LOT_POINTER, 1, sizeof(const BehaviorScript*) }, + { "bhvDelayTimer", LVT_S16, offsetof(struct Object, bhvDelayTimer), false, LOT_NONE, 1, sizeof(s16) }, +// { "bhvStack", LVT_???, offsetof(struct Object, bhvStack), false, LOT_???, 1, sizeof(uintptr_t) }, <--- UNIMPLEMENTED + { "bhvStackIndex", LVT_U32, offsetof(struct Object, bhvStackIndex), true, LOT_NONE, 1, sizeof(u32) }, + { "collidedObjInteractTypes", LVT_U32, offsetof(struct Object, collidedObjInteractTypes), false, LOT_NONE, 1, sizeof(u32) }, + { "collidedObjs", LVT_COBJECT_P, offsetof(struct Object, collidedObjs), false, LOT_OBJECT, 4, sizeof(struct Object*) }, + { "collisionData", LVT_COLLISION_P, offsetof(struct Object, collisionData), false, LOT_POINTER, 1, sizeof(Collision*) }, + { "coopFlags", LVT_U8, offsetof(struct Object, coopFlags), true, LOT_NONE, 1, sizeof(u8) }, + { "ctx", LVT_U8, offsetof(struct Object, ctx), false, LOT_NONE, 1, sizeof(u8) }, + { "curBhvCommand", LVT_BEHAVIORSCRIPT_P, offsetof(struct Object, curBhvCommand), true, LOT_POINTER, 1, sizeof(const BehaviorScript*) }, + { "globalPlayerIndex", LVT_U8, offsetof(struct Object, globalPlayerIndex), false, LOT_NONE, 1, sizeof(u8) }, + { "header", LVT_COBJECT, offsetof(struct Object, header), true, LOT_OBJECTNODE, 1, sizeof(struct ObjectNode) }, + { "heldByPlayerIndex", LVT_U32, offsetof(struct Object, heldByPlayerIndex), false, LOT_NONE, 1, sizeof(u32) }, + { "hitboxDownOffset", LVT_F32, offsetof(struct Object, hitboxDownOffset), false, LOT_NONE, 1, sizeof(f32) }, + { "hitboxHeight", LVT_F32, offsetof(struct Object, hitboxHeight), false, LOT_NONE, 1, sizeof(f32) }, + { "hitboxRadius", LVT_F32, offsetof(struct Object, hitboxRadius), false, LOT_NONE, 1, sizeof(f32) }, + { "hookRender", LVT_U8, offsetof(struct Object, hookRender), false, LOT_NONE, 1, sizeof(u8) }, + { "hurtboxHeight", LVT_F32, offsetof(struct Object, hurtboxHeight), false, LOT_NONE, 1, sizeof(f32) }, + { "hurtboxRadius", LVT_F32, offsetof(struct Object, hurtboxRadius), false, LOT_NONE, 1, sizeof(f32) }, + { "numCollidedObjs", LVT_S16, offsetof(struct Object, numCollidedObjs), false, LOT_NONE, 1, sizeof(s16) }, + { "numSurfaces", LVT_U32, offsetof(struct Object, numSurfaces), true, LOT_NONE, 1, sizeof(u32) }, + { "o1UpForceSpawn", LVT_S32, offsetof(struct Object, o1UpForceSpawn), false, LOT_NONE, 1, sizeof(s32) }, + { "o1UpHiddenUnkF4", LVT_S32, offsetof(struct Object, o1UpHiddenUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oAction", LVT_S32, offsetof(struct Object, oAction), false, LOT_NONE, 1, sizeof(s32) }, + { "oActivatedBackAndForthPlatformCountdown", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformCountdown), false, LOT_NONE, 1, sizeof(s32) }, + { "oActivatedBackAndForthPlatformFlipRotation", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformFlipRotation), false, LOT_NONE, 1, sizeof(s32) }, + { "oActivatedBackAndForthPlatformMaxOffset", LVT_F32, offsetof(struct Object, oActivatedBackAndForthPlatformMaxOffset), false, LOT_NONE, 1, sizeof(f32) }, + { "oActivatedBackAndForthPlatformOffset", LVT_F32, offsetof(struct Object, oActivatedBackAndForthPlatformOffset), false, LOT_NONE, 1, sizeof(f32) }, + { "oActivatedBackAndForthPlatformStartYaw", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformStartYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oActivatedBackAndForthPlatformVel", LVT_F32, offsetof(struct Object, oActivatedBackAndForthPlatformVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oActivatedBackAndForthPlatformVertical", LVT_S32, offsetof(struct Object, oActivatedBackAndForthPlatformVertical), false, LOT_NONE, 1, sizeof(s32) }, + { "oActiveParticleFlags", LVT_U32, offsetof(struct Object, oActiveParticleFlags), false, LOT_NONE, 1, sizeof(u32) }, + { "oAmpRadiusOfRotation", LVT_F32, offsetof(struct Object, oAmpRadiusOfRotation), false, LOT_NONE, 1, sizeof(f32) }, + { "oAmpYPhase", LVT_S32, offsetof(struct Object, oAmpYPhase), false, LOT_NONE, 1, sizeof(s32) }, + { "oAngleToHome", LVT_S32, offsetof(struct Object, oAngleToHome), false, LOT_NONE, 1, sizeof(s32) }, + { "oAngleToMario", LVT_S32, offsetof(struct Object, oAngleToMario), false, LOT_NONE, 1, sizeof(s32) }, + { "oAngleVelPitch", LVT_S32, offsetof(struct Object, oAngleVelPitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oAngleVelRoll", LVT_S32, offsetof(struct Object, oAngleVelRoll), false, LOT_NONE, 1, sizeof(s32) }, + { "oAngleVelYaw", LVT_S32, offsetof(struct Object, oAngleVelYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oAnimState", LVT_S32, offsetof(struct Object, oAnimState), false, LOT_NONE, 1, sizeof(s32) }, + { "oAnimations", LVT_OBJECTANIMPOINTER_P, offsetof(struct Object, oAnimations), false, LOT_POINTER, 1, sizeof(ObjectAnimPointer*) }, + { "oArrowLiftDisplacement", LVT_F32, offsetof(struct Object, oArrowLiftDisplacement), false, LOT_NONE, 1, sizeof(f32) }, + { "oArrowLiftUnk100", LVT_S32, offsetof(struct Object, oArrowLiftUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oBBallSpawnerMaxSpawnDist", LVT_F32, offsetof(struct Object, oBBallSpawnerMaxSpawnDist), false, LOT_NONE, 1, sizeof(f32) }, + { "oBBallSpawnerPeriodMinus1", LVT_S32, offsetof(struct Object, oBBallSpawnerPeriodMinus1), false, LOT_NONE, 1, sizeof(s32) }, + { "oBBallSpawnerSpawnOdds", LVT_F32, offsetof(struct Object, oBBallSpawnerSpawnOdds), false, LOT_NONE, 1, sizeof(f32) }, + { "oBackAndForthPlatformDirection", LVT_F32, offsetof(struct Object, oBackAndForthPlatformDirection), false, LOT_NONE, 1, sizeof(f32) }, + { "oBackAndForthPlatformDistance", LVT_F32, offsetof(struct Object, oBackAndForthPlatformDistance), false, LOT_NONE, 1, sizeof(f32) }, + { "oBackAndForthPlatformPathLength", LVT_F32, offsetof(struct Object, oBackAndForthPlatformPathLength), false, LOT_NONE, 1, sizeof(f32) }, + { "oBackAndForthPlatformVel", LVT_F32, offsetof(struct Object, oBackAndForthPlatformVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oBehParams", LVT_S32, offsetof(struct Object, oBehParams), false, LOT_NONE, 1, sizeof(s32) }, + { "oBehParams2ndByte", LVT_S32, offsetof(struct Object, oBehParams2ndByte), false, LOT_NONE, 1, sizeof(s32) }, + { "oBetaTrampolineMarioOnTrampoline", LVT_S32, offsetof(struct Object, oBetaTrampolineMarioOnTrampoline), false, LOT_NONE, 1, sizeof(s32) }, + { "oBigBooNumMinionBoosKilled", LVT_S32, offsetof(struct Object, oBigBooNumMinionBoosKilled), false, LOT_NONE, 1, sizeof(s32) }, + { "oBirdChirpChirpUnkF4", LVT_S32, offsetof(struct Object, oBirdChirpChirpUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oBirdSpeed", LVT_F32, offsetof(struct Object, oBirdSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oBirdTargetPitch", LVT_S32, offsetof(struct Object, oBirdTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oBirdTargetYaw", LVT_S32, offsetof(struct Object, oBirdTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oBlackSmokeBowserUnkF4", LVT_F32, offsetof(struct Object, oBlackSmokeBowserUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oBlueFishRandomAngle", LVT_F32, offsetof(struct Object, oBlueFishRandomAngle), false, LOT_NONE, 1, sizeof(f32) }, + { "oBlueFishRandomTime", LVT_S32, offsetof(struct Object, oBlueFishRandomTime), false, LOT_NONE, 1, sizeof(s32) }, + { "oBlueFishRandomVel", LVT_F32, offsetof(struct Object, oBlueFishRandomVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oBlueFlameNextScale", LVT_F32, offsetof(struct Object, oBlueFlameNextScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oBobombBlinkTimer", LVT_S32, offsetof(struct Object, oBobombBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oBobombBuddyBlinkTimer", LVT_S32, offsetof(struct Object, oBobombBuddyBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oBobombBuddyCannonStatus", LVT_S32, offsetof(struct Object, oBobombBuddyCannonStatus), false, LOT_NONE, 1, sizeof(s32) }, + { "oBobombBuddyHasTalkedToMario", LVT_S32, offsetof(struct Object, oBobombBuddyHasTalkedToMario), false, LOT_NONE, 1, sizeof(s32) }, + { "oBobombBuddyPosXCopy", LVT_F32, offsetof(struct Object, oBobombBuddyPosXCopy), false, LOT_NONE, 1, sizeof(f32) }, + { "oBobombBuddyPosYCopy", LVT_F32, offsetof(struct Object, oBobombBuddyPosYCopy), false, LOT_NONE, 1, sizeof(f32) }, + { "oBobombBuddyPosZCopy", LVT_F32, offsetof(struct Object, oBobombBuddyPosZCopy), false, LOT_NONE, 1, sizeof(f32) }, + { "oBobombBuddyRole", LVT_S32, offsetof(struct Object, oBobombBuddyRole), false, LOT_NONE, 1, sizeof(s32) }, + { "oBobombExpBubGfxExpRateX", LVT_S32, offsetof(struct Object, oBobombExpBubGfxExpRateX), false, LOT_NONE, 1, sizeof(s32) }, + { "oBobombExpBubGfxExpRateY", LVT_S32, offsetof(struct Object, oBobombExpBubGfxExpRateY), false, LOT_NONE, 1, sizeof(s32) }, + { "oBobombExpBubGfxScaleFacX", LVT_S32, offsetof(struct Object, oBobombExpBubGfxScaleFacX), false, LOT_NONE, 1, sizeof(s32) }, + { "oBobombExpBubGfxScaleFacY", LVT_S32, offsetof(struct Object, oBobombExpBubGfxScaleFacY), false, LOT_NONE, 1, sizeof(s32) }, + { "oBobombFuseLit", LVT_S32, offsetof(struct Object, oBobombFuseLit), false, LOT_NONE, 1, sizeof(s32) }, + { "oBobombFuseTimer", LVT_S32, offsetof(struct Object, oBobombFuseTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oBooBaseScale", LVT_F32, offsetof(struct Object, oBooBaseScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oBooDeathStatus", LVT_S32, offsetof(struct Object, oBooDeathStatus), false, LOT_NONE, 1, sizeof(s32) }, + { "oBooInitialMoveYaw", LVT_S32, offsetof(struct Object, oBooInitialMoveYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oBooMoveYawBeforeHit", LVT_F32, offsetof(struct Object, oBooMoveYawBeforeHit), false, LOT_NONE, 1, sizeof(f32) }, + { "oBooMoveYawDuringHit", LVT_S32, offsetof(struct Object, oBooMoveYawDuringHit), false, LOT_NONE, 1, sizeof(s32) }, + { "oBooNegatedAggressiveness", LVT_F32, offsetof(struct Object, oBooNegatedAggressiveness), false, LOT_NONE, 1, sizeof(f32) }, + { "oBooOscillationTimer", LVT_S32, offsetof(struct Object, oBooOscillationTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oBooParentBigBoo", LVT_COBJECT_P, offsetof(struct Object, oBooParentBigBoo), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "oBooTargetOpacity", LVT_S32, offsetof(struct Object, oBooTargetOpacity), false, LOT_NONE, 1, sizeof(s32) }, + { "oBooTurningSpeed", LVT_S16, offsetof(struct Object, oBooTurningSpeed), false, LOT_NONE, 1, sizeof(s16) }, + { "oBookSwitchManagerUnkF4", LVT_S32, offsetof(struct Object, oBookSwitchManagerUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oBookSwitchManagerUnkF8", LVT_S32, offsetof(struct Object, oBookSwitchManagerUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oBookSwitchUnkF4", LVT_F32, offsetof(struct Object, oBookSwitchUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oBookendUnkF4", LVT_S32, offsetof(struct Object, oBookendUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oBookendUnkF8", LVT_S32, offsetof(struct Object, oBookendUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oBounciness", LVT_F32, offsetof(struct Object, oBounciness), false, LOT_NONE, 1, sizeof(f32) }, + { "oBouncingFireBallUnkF4", LVT_S32, offsetof(struct Object, oBouncingFireBallUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oBowlingBallTargetYaw", LVT_S32, offsetof(struct Object, oBowlingBallTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oBowserAngleToCentre", LVT_S16, offsetof(struct Object, oBowserAngleToCentre), false, LOT_NONE, 1, sizeof(s16) }, + { "oBowserDistToCentre", LVT_F32, offsetof(struct Object, oBowserDistToCentre), false, LOT_NONE, 1, sizeof(f32) }, + { "oBowserEyesShut", LVT_S16, offsetof(struct Object, oBowserEyesShut), false, LOT_NONE, 1, sizeof(s16) }, + { "oBowserHeldAnglePitch", LVT_S16, offsetof(struct Object, oBowserHeldAnglePitch), false, LOT_NONE, 1, sizeof(s16) }, + { "oBowserHeldAngleVelYaw", LVT_S16, offsetof(struct Object, oBowserHeldAngleVelYaw), false, LOT_NONE, 1, sizeof(s16) }, + { "oBowserKeyScale", LVT_F32, offsetof(struct Object, oBowserKeyScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oBowserPuzzleCompletionFlags", LVT_S32, offsetof(struct Object, oBowserPuzzleCompletionFlags), false, LOT_NONE, 1, sizeof(s32) }, +// { "oBowserPuzzlePieceActionList", LVT_???, offsetof(struct Object, oBowserPuzzlePieceActionList), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED + { "oBowserPuzzlePieceContinuePerformingAction", LVT_S32, offsetof(struct Object, oBowserPuzzlePieceContinuePerformingAction), false, LOT_NONE, 1, sizeof(s32) }, +// { "oBowserPuzzlePieceNextAction", LVT_???, offsetof(struct Object, oBowserPuzzlePieceNextAction), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED + { "oBowserPuzzlePieceOffsetX", LVT_F32, offsetof(struct Object, oBowserPuzzlePieceOffsetX), false, LOT_NONE, 1, sizeof(f32) }, + { "oBowserPuzzlePieceOffsetY", LVT_F32, offsetof(struct Object, oBowserPuzzlePieceOffsetY), false, LOT_NONE, 1, sizeof(f32) }, + { "oBowserPuzzlePieceOffsetZ", LVT_F32, offsetof(struct Object, oBowserPuzzlePieceOffsetZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oBowserShockWaveUnkF4", LVT_F32, offsetof(struct Object, oBowserShockWaveUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oBowserUnk106", LVT_S16, offsetof(struct Object, oBowserUnk106), false, LOT_NONE, 1, sizeof(s16) }, + { "oBowserUnk108", LVT_S16, offsetof(struct Object, oBowserUnk108), false, LOT_NONE, 1, sizeof(s16) }, + { "oBowserUnk10E", LVT_S16, offsetof(struct Object, oBowserUnk10E), false, LOT_NONE, 1, sizeof(s16) }, + { "oBowserUnk110", LVT_S16, offsetof(struct Object, oBowserUnk110), false, LOT_NONE, 1, sizeof(s16) }, + { "oBowserUnk1AC", LVT_S16, offsetof(struct Object, oBowserUnk1AC), false, LOT_NONE, 1, sizeof(s16) }, + { "oBowserUnk1AE", LVT_S16, offsetof(struct Object, oBowserUnk1AE), false, LOT_NONE, 1, sizeof(s16) }, + { "oBowserUnk1B2", LVT_S16, offsetof(struct Object, oBowserUnk1B2), false, LOT_NONE, 1, sizeof(s16) }, + { "oBowserUnk88", LVT_S32, offsetof(struct Object, oBowserUnk88), false, LOT_NONE, 1, sizeof(s32) }, + { "oBowserUnkF4", LVT_S32, offsetof(struct Object, oBowserUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oBowserUnkF8", LVT_S32, offsetof(struct Object, oBowserUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oBreakableBoxSmallFramesSinceReleased", LVT_S32, offsetof(struct Object, oBreakableBoxSmallFramesSinceReleased), false, LOT_NONE, 1, sizeof(s32) }, + { "oBreakableBoxSmallReleased", LVT_S32, offsetof(struct Object, oBreakableBoxSmallReleased), false, LOT_NONE, 1, sizeof(s32) }, + { "oBreakableWallForce", LVT_S32, offsetof(struct Object, oBreakableWallForce), false, LOT_NONE, 1, sizeof(s32) }, + { "oBubbaUnk100", LVT_S32, offsetof(struct Object, oBubbaUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oBubbaUnk104", LVT_S32, offsetof(struct Object, oBubbaUnk104), false, LOT_NONE, 1, sizeof(s32) }, + { "oBubbaUnk108", LVT_F32, offsetof(struct Object, oBubbaUnk108), false, LOT_NONE, 1, sizeof(f32) }, + { "oBubbaUnk10C", LVT_F32, offsetof(struct Object, oBubbaUnk10C), false, LOT_NONE, 1, sizeof(f32) }, + { "oBubbaUnk1AC", LVT_S16, offsetof(struct Object, oBubbaUnk1AC), false, LOT_NONE, 1, sizeof(s16) }, + { "oBubbaUnk1AE", LVT_S16, offsetof(struct Object, oBubbaUnk1AE), false, LOT_NONE, 1, sizeof(s16) }, + { "oBubbaUnk1B0", LVT_S16, offsetof(struct Object, oBubbaUnk1B0), false, LOT_NONE, 1, sizeof(s16) }, + { "oBubbaUnk1B2", LVT_S16, offsetof(struct Object, oBubbaUnk1B2), false, LOT_NONE, 1, sizeof(s16) }, + { "oBubbaUnkF4", LVT_F32, offsetof(struct Object, oBubbaUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oBubbaUnkF8", LVT_S32, offsetof(struct Object, oBubbaUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oBubbaUnkFC", LVT_S32, offsetof(struct Object, oBubbaUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oBulletBillInitialMoveYaw", LVT_S32, offsetof(struct Object, oBulletBillInitialMoveYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oBullyKBTimerAndMinionKOCounter", LVT_S32, offsetof(struct Object, oBullyKBTimerAndMinionKOCounter), false, LOT_NONE, 1, sizeof(s32) }, + { "oBullyLastNetworkPlayerIndex", LVT_S16, offsetof(struct Object, oBullyLastNetworkPlayerIndex), false, LOT_NONE, 1, sizeof(s16) }, + { "oBullyMarioCollisionAngle", LVT_S32, offsetof(struct Object, oBullyMarioCollisionAngle), false, LOT_NONE, 1, sizeof(s32) }, + { "oBullyPrevX", LVT_F32, offsetof(struct Object, oBullyPrevX), false, LOT_NONE, 1, sizeof(f32) }, + { "oBullyPrevY", LVT_F32, offsetof(struct Object, oBullyPrevY), false, LOT_NONE, 1, sizeof(f32) }, + { "oBullyPrevZ", LVT_F32, offsetof(struct Object, oBullyPrevZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oBullySubtype", LVT_S32, offsetof(struct Object, oBullySubtype), false, LOT_NONE, 1, sizeof(s32) }, + { "oBuoyancy", LVT_F32, offsetof(struct Object, oBuoyancy), false, LOT_NONE, 1, sizeof(f32) }, + { "oButterflyYPhase", LVT_S32, offsetof(struct Object, oButterflyYPhase), false, LOT_NONE, 1, sizeof(s32) }, + { "oCameraLakituBlinkTimer", LVT_S32, offsetof(struct Object, oCameraLakituBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oCameraLakituCircleRadius", LVT_F32, offsetof(struct Object, oCameraLakituCircleRadius), false, LOT_NONE, 1, sizeof(f32) }, + { "oCameraLakituFinishedDialog", LVT_S32, offsetof(struct Object, oCameraLakituFinishedDialog), false, LOT_NONE, 1, sizeof(s32) }, + { "oCameraLakituPitchVel", LVT_S16, offsetof(struct Object, oCameraLakituPitchVel), false, LOT_NONE, 1, sizeof(s16) }, + { "oCameraLakituSpeed", LVT_F32, offsetof(struct Object, oCameraLakituSpeed), false, LOT_NONE, 1, sizeof(f32) }, #ifndef VERSION_JP - { "oCameraLakituUnk104", LVT_S32, offsetof(struct Object, oCameraLakituUnk104), false, LOT_NONE, 1, sizeof(s32) }, + { "oCameraLakituUnk104", LVT_S32, offsetof(struct Object, oCameraLakituUnk104), false, LOT_NONE, 1, sizeof(s32) }, #endif - { "oCameraLakituYawVel", LVT_S16, offsetof(struct Object, oCameraLakituYawVel), false, LOT_NONE, 1, sizeof(s16) }, - { "oCannonBarrelBubblesUnkF4", LVT_F32, offsetof(struct Object, oCannonBarrelBubblesUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oCannonPlayerIndex", LVT_S32, offsetof(struct Object, oCannonPlayerIndex), false, LOT_NONE, 1, sizeof(s32) }, - { "oCannonUnk10C", LVT_S32, offsetof(struct Object, oCannonUnk10C), false, LOT_NONE, 1, sizeof(s32) }, - { "oCannonUnkF4", LVT_S32, offsetof(struct Object, oCannonUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oCannonUnkF8", LVT_S32, offsetof(struct Object, oCannonUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oCapUnkF4", LVT_S32, offsetof(struct Object, oCapUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oCapUnkF8", LVT_S32, offsetof(struct Object, oCapUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oCelebStarDiameterOfRotation", LVT_S32, offsetof(struct Object, oCelebStarDiameterOfRotation), false, LOT_NONE, 1, sizeof(s32) }, - { "oCelebStarUnkF4", LVT_S32, offsetof(struct Object, oCelebStarUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oChainChompDistToPivot", LVT_F32, offsetof(struct Object, oChainChompDistToPivot), false, LOT_NONE, 1, sizeof(f32) }, - { "oChainChompHitGate", LVT_S32, offsetof(struct Object, oChainChompHitGate), false, LOT_NONE, 1, sizeof(s32) }, - { "oChainChompMaxDistBetweenChainParts", LVT_F32, offsetof(struct Object, oChainChompMaxDistBetweenChainParts), false, LOT_NONE, 1, sizeof(f32) }, - { "oChainChompMaxDistFromPivotPerChainPart", LVT_F32, offsetof(struct Object, oChainChompMaxDistFromPivotPerChainPart), false, LOT_NONE, 1, sizeof(f32) }, - { "oChainChompNumLunges", LVT_S32, offsetof(struct Object, oChainChompNumLunges), false, LOT_NONE, 1, sizeof(s32) }, - { "oChainChompReleaseStatus", LVT_S32, offsetof(struct Object, oChainChompReleaseStatus), false, LOT_NONE, 1, sizeof(s32) }, - { "oChainChompRestrictedByChain", LVT_S32, offsetof(struct Object, oChainChompRestrictedByChain), false, LOT_NONE, 1, sizeof(s32) }, - { "oChainChompSegments", LVT_COBJECT_P, offsetof(struct Object, oChainChompSegments), true, LOT_CHAINSEGMENT, 1, sizeof(struct ChainSegment*) }, - { "oChainChompTargetPitch", LVT_S32, offsetof(struct Object, oChainChompTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oChainChompUnk104", LVT_F32, offsetof(struct Object, oChainChompUnk104), false, LOT_NONE, 1, sizeof(f32) }, - { "oCheckerBoardPlatformUnk1AC", LVT_F32, offsetof(struct Object, oCheckerBoardPlatformUnk1AC), false, LOT_NONE, 1, sizeof(f32) }, - { "oCheckerBoardPlatformUnkF8", LVT_S32, offsetof(struct Object, oCheckerBoardPlatformUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oCheckerBoardPlatformUnkFC", LVT_S32, offsetof(struct Object, oCheckerBoardPlatformUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oCheepCheepUnk104", LVT_F32, offsetof(struct Object, oCheepCheepUnk104), false, LOT_NONE, 1, sizeof(f32) }, - { "oCheepCheepUnk108", LVT_F32, offsetof(struct Object, oCheepCheepUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oCheepCheepUnkF4", LVT_F32, offsetof(struct Object, oCheepCheepUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oCheepCheepUnkF8", LVT_F32, offsetof(struct Object, oCheepCheepUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oCheepCheepUnkFC", LVT_F32, offsetof(struct Object, oCheepCheepUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oChuckyaUnk100", LVT_S32, offsetof(struct Object, oChuckyaUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oChuckyaUnk88", LVT_S32, offsetof(struct Object, oChuckyaUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oChuckyaUnkF8", LVT_S32, offsetof(struct Object, oChuckyaUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oChuckyaUnkFC", LVT_S32, offsetof(struct Object, oChuckyaUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oClamUnkF4", LVT_S32, offsetof(struct Object, oClamUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oCloudBlowing", LVT_S32, offsetof(struct Object, oCloudBlowing), false, LOT_NONE, 1, sizeof(s32) }, - { "oCloudCenterX", LVT_F32, offsetof(struct Object, oCloudCenterX), false, LOT_NONE, 1, sizeof(f32) }, - { "oCloudCenterY", LVT_F32, offsetof(struct Object, oCloudCenterY), false, LOT_NONE, 1, sizeof(f32) }, - { "oCloudFwooshMovementRadius", LVT_S16, offsetof(struct Object, oCloudFwooshMovementRadius), false, LOT_NONE, 1, sizeof(s16) }, - { "oCloudGrowSpeed", LVT_F32, offsetof(struct Object, oCloudGrowSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oCoinUnk110", LVT_F32, offsetof(struct Object, oCoinUnk110), false, LOT_NONE, 1, sizeof(f32) }, + { "oCameraLakituYawVel", LVT_S16, offsetof(struct Object, oCameraLakituYawVel), false, LOT_NONE, 1, sizeof(s16) }, + { "oCannonBarrelBubblesUnkF4", LVT_F32, offsetof(struct Object, oCannonBarrelBubblesUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oCannonPlayerIndex", LVT_S32, offsetof(struct Object, oCannonPlayerIndex), false, LOT_NONE, 1, sizeof(s32) }, + { "oCannonUnk10C", LVT_S32, offsetof(struct Object, oCannonUnk10C), false, LOT_NONE, 1, sizeof(s32) }, + { "oCannonUnkF4", LVT_S32, offsetof(struct Object, oCannonUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oCannonUnkF8", LVT_S32, offsetof(struct Object, oCannonUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oCapUnkF4", LVT_S32, offsetof(struct Object, oCapUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oCapUnkF8", LVT_S32, offsetof(struct Object, oCapUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oCelebStarDiameterOfRotation", LVT_S32, offsetof(struct Object, oCelebStarDiameterOfRotation), false, LOT_NONE, 1, sizeof(s32) }, + { "oCelebStarUnkF4", LVT_S32, offsetof(struct Object, oCelebStarUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oChainChompDistToPivot", LVT_F32, offsetof(struct Object, oChainChompDistToPivot), false, LOT_NONE, 1, sizeof(f32) }, + { "oChainChompHitGate", LVT_S32, offsetof(struct Object, oChainChompHitGate), false, LOT_NONE, 1, sizeof(s32) }, + { "oChainChompMaxDistBetweenChainParts", LVT_F32, offsetof(struct Object, oChainChompMaxDistBetweenChainParts), false, LOT_NONE, 1, sizeof(f32) }, + { "oChainChompMaxDistFromPivotPerChainPart", LVT_F32, offsetof(struct Object, oChainChompMaxDistFromPivotPerChainPart), false, LOT_NONE, 1, sizeof(f32) }, + { "oChainChompNumLunges", LVT_S32, offsetof(struct Object, oChainChompNumLunges), false, LOT_NONE, 1, sizeof(s32) }, + { "oChainChompReleaseStatus", LVT_S32, offsetof(struct Object, oChainChompReleaseStatus), false, LOT_NONE, 1, sizeof(s32) }, + { "oChainChompRestrictedByChain", LVT_S32, offsetof(struct Object, oChainChompRestrictedByChain), false, LOT_NONE, 1, sizeof(s32) }, +// { "oChainChompSegments", LVT_COBJECT_P, offsetof(struct Object, oChainChompSegments), true, LOT_???, 1, sizeof(struct ChainSegment*) }, <--- UNIMPLEMENTED + { "oChainChompTargetPitch", LVT_S32, offsetof(struct Object, oChainChompTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oChainChompUnk104", LVT_F32, offsetof(struct Object, oChainChompUnk104), false, LOT_NONE, 1, sizeof(f32) }, + { "oCheckerBoardPlatformUnk1AC", LVT_F32, offsetof(struct Object, oCheckerBoardPlatformUnk1AC), false, LOT_NONE, 1, sizeof(f32) }, + { "oCheckerBoardPlatformUnkF8", LVT_S32, offsetof(struct Object, oCheckerBoardPlatformUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oCheckerBoardPlatformUnkFC", LVT_S32, offsetof(struct Object, oCheckerBoardPlatformUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oCheepCheepUnk104", LVT_F32, offsetof(struct Object, oCheepCheepUnk104), false, LOT_NONE, 1, sizeof(f32) }, + { "oCheepCheepUnk108", LVT_F32, offsetof(struct Object, oCheepCheepUnk108), false, LOT_NONE, 1, sizeof(f32) }, + { "oCheepCheepUnkF4", LVT_F32, offsetof(struct Object, oCheepCheepUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oCheepCheepUnkF8", LVT_F32, offsetof(struct Object, oCheepCheepUnkF8), false, LOT_NONE, 1, sizeof(f32) }, + { "oCheepCheepUnkFC", LVT_F32, offsetof(struct Object, oCheepCheepUnkFC), false, LOT_NONE, 1, sizeof(f32) }, + { "oChuckyaUnk100", LVT_S32, offsetof(struct Object, oChuckyaUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oChuckyaUnk88", LVT_S32, offsetof(struct Object, oChuckyaUnk88), false, LOT_NONE, 1, sizeof(s32) }, + { "oChuckyaUnkF8", LVT_S32, offsetof(struct Object, oChuckyaUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oChuckyaUnkFC", LVT_S32, offsetof(struct Object, oChuckyaUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oClamUnkF4", LVT_S32, offsetof(struct Object, oClamUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oCloudBlowing", LVT_S32, offsetof(struct Object, oCloudBlowing), false, LOT_NONE, 1, sizeof(s32) }, + { "oCloudCenterX", LVT_F32, offsetof(struct Object, oCloudCenterX), false, LOT_NONE, 1, sizeof(f32) }, + { "oCloudCenterY", LVT_F32, offsetof(struct Object, oCloudCenterY), false, LOT_NONE, 1, sizeof(f32) }, + { "oCloudFwooshMovementRadius", LVT_S16, offsetof(struct Object, oCloudFwooshMovementRadius), false, LOT_NONE, 1, sizeof(s16) }, + { "oCloudGrowSpeed", LVT_F32, offsetof(struct Object, oCloudGrowSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oCoinUnk110", LVT_F32, offsetof(struct Object, oCoinUnk110), false, LOT_NONE, 1, sizeof(f32) }, #ifndef VERSION_JP - { "oCoinUnk1B0", LVT_S32, offsetof(struct Object, oCoinUnk1B0), false, LOT_NONE, 1, sizeof(s32) }, + { "oCoinUnk1B0", LVT_S32, offsetof(struct Object, oCoinUnk1B0), false, LOT_NONE, 1, sizeof(s32) }, #endif - { "oCoinUnkF4", LVT_S32, offsetof(struct Object, oCoinUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oCoinUnkF8", LVT_S32, offsetof(struct Object, oCoinUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oCollisionDistance", LVT_F32, offsetof(struct Object, oCollisionDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "oCollisionParticleUnkF4", LVT_F32, offsetof(struct Object, oCollisionParticleUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oControllablePlatformUnk100", LVT_S32, offsetof(struct Object, oControllablePlatformUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oControllablePlatformUnkF8", LVT_S32, offsetof(struct Object, oControllablePlatformUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oControllablePlatformUnkFC", LVT_F32, offsetof(struct Object, oControllablePlatformUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oDDDPoleMaxOffset", LVT_F32, offsetof(struct Object, oDDDPoleMaxOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oDDDPoleOffset", LVT_F32, offsetof(struct Object, oDDDPoleOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oDDDPoleVel", LVT_F32, offsetof(struct Object, oDDDPoleVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oDamageOrCoinValue", LVT_S32, offsetof(struct Object, oDamageOrCoinValue), false, LOT_NONE, 1, sizeof(s32) }, - { "oDeathSound", LVT_S32, offsetof(struct Object, oDeathSound), false, LOT_NONE, 1, sizeof(s32) }, - { "oDialogResponse", LVT_S16, offsetof(struct Object, oDialogResponse), false, LOT_NONE, 1, sizeof(s16) }, - { "oDialogState", LVT_S16, offsetof(struct Object, oDialogState), false, LOT_NONE, 1, sizeof(s16) }, - { "oDistanceToMario", LVT_F32, offsetof(struct Object, oDistanceToMario), false, LOT_NONE, 1, sizeof(f32) }, - { "oDonutPlatformSpawnerSpawnedPlatforms", LVT_S32, offsetof(struct Object, oDonutPlatformSpawnerSpawnedPlatforms), false, LOT_NONE, 1, sizeof(s32) }, - { "oDoorUnk100", LVT_S32, offsetof(struct Object, oDoorUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oDoorUnk88", LVT_S32, offsetof(struct Object, oDoorUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oDoorUnkF8", LVT_S32, offsetof(struct Object, oDoorUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oDoorUnkFC", LVT_S32, offsetof(struct Object, oDoorUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oDorrieAngleToHome", LVT_S16, offsetof(struct Object, oDorrieAngleToHome), false, LOT_NONE, 1, sizeof(s16) }, - { "oDorrieDistToHome", LVT_F32, offsetof(struct Object, oDorrieDistToHome), false, LOT_NONE, 1, sizeof(f32) }, - { "oDorrieForwardDistToMario", LVT_F32, offsetof(struct Object, oDorrieForwardDistToMario), false, LOT_NONE, 1, sizeof(f32) }, - { "oDorrieGroundPounded", LVT_S16, offsetof(struct Object, oDorrieGroundPounded), false, LOT_NONE, 1, sizeof(s16) }, - { "oDorrieHeadRaiseSpeed", LVT_S16, offsetof(struct Object, oDorrieHeadRaiseSpeed), false, LOT_NONE, 1, sizeof(s16) }, - { "oDorrieLiftingMario", LVT_S32, offsetof(struct Object, oDorrieLiftingMario), false, LOT_NONE, 1, sizeof(s32) }, - { "oDorrieNeckAngle", LVT_S16, offsetof(struct Object, oDorrieNeckAngle), false, LOT_NONE, 1, sizeof(s16) }, - { "oDorrieOffsetY", LVT_F32, offsetof(struct Object, oDorrieOffsetY), false, LOT_NONE, 1, sizeof(f32) }, - { "oDorrieVelY", LVT_F32, offsetof(struct Object, oDorrieVelY), false, LOT_NONE, 1, sizeof(f32) }, - { "oDorrieYawVel", LVT_S32, offsetof(struct Object, oDorrieYawVel), false, LOT_NONE, 1, sizeof(s32) }, - { "oDragStrength", LVT_F32, offsetof(struct Object, oDragStrength), false, LOT_NONE, 1, sizeof(f32) }, - { "oDrawingDistance", LVT_F32, offsetof(struct Object, oDrawingDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "oElevatorUnk100", LVT_S32, offsetof(struct Object, oElevatorUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oElevatorUnkF4", LVT_F32, offsetof(struct Object, oElevatorUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oElevatorUnkF8", LVT_F32, offsetof(struct Object, oElevatorUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oElevatorUnkFC", LVT_F32, offsetof(struct Object, oElevatorUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oEndBirdUnk104", LVT_F32, offsetof(struct Object, oEndBirdUnk104), false, LOT_NONE, 1, sizeof(f32) }, - { "oEnemyLakituBlinkTimer", LVT_S32, offsetof(struct Object, oEnemyLakituBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oEnemyLakituFaceForwardCountdown", LVT_S32, offsetof(struct Object, oEnemyLakituFaceForwardCountdown), false, LOT_NONE, 1, sizeof(s32) }, - { "oEnemyLakituNumSpinies", LVT_S32, offsetof(struct Object, oEnemyLakituNumSpinies), false, LOT_NONE, 1, sizeof(s32) }, - { "oEnemyLakituSpinyCooldown", LVT_S32, offsetof(struct Object, oEnemyLakituSpinyCooldown), false, LOT_NONE, 1, sizeof(s32) }, - { "oExclamationBoxForce", LVT_S32, offsetof(struct Object, oExclamationBoxForce), false, LOT_NONE, 1, sizeof(s32) }, - { "oExclamationBoxUnkF4", LVT_F32, offsetof(struct Object, oExclamationBoxUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oExclamationBoxUnkF8", LVT_F32, offsetof(struct Object, oExclamationBoxUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oExclamationBoxUnkFC", LVT_S32, offsetof(struct Object, oExclamationBoxUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokBossActiveHand", LVT_S32, offsetof(struct Object, oEyerokBossActiveHand), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokBossNumHands", LVT_S32, offsetof(struct Object, oEyerokBossNumHands), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokBossUnk104", LVT_S32, offsetof(struct Object, oEyerokBossUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokBossUnk108", LVT_F32, offsetof(struct Object, oEyerokBossUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oEyerokBossUnk10C", LVT_F32, offsetof(struct Object, oEyerokBossUnk10C), false, LOT_NONE, 1, sizeof(f32) }, - { "oEyerokBossUnk110", LVT_F32, offsetof(struct Object, oEyerokBossUnk110), false, LOT_NONE, 1, sizeof(f32) }, - { "oEyerokBossUnk1AC", LVT_S32, offsetof(struct Object, oEyerokBossUnk1AC), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokBossUnkFC", LVT_S32, offsetof(struct Object, oEyerokBossUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokHandDead", LVT_S32, offsetof(struct Object, oEyerokHandDead), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokHandUnk100", LVT_S32, offsetof(struct Object, oEyerokHandUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokHandUnkFC", LVT_S32, offsetof(struct Object, oEyerokHandUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokHandWakeUpTimer", LVT_S32, offsetof(struct Object, oEyerokHandWakeUpTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oEyerokReceivedAttack", LVT_S32, offsetof(struct Object, oEyerokReceivedAttack), false, LOT_NONE, 1, sizeof(s32) }, - { "oFaceAnglePitch", LVT_S32, offsetof(struct Object, oFaceAnglePitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oFaceAngleRoll", LVT_S32, offsetof(struct Object, oFaceAngleRoll), false, LOT_NONE, 1, sizeof(s32) }, - { "oFaceAngleYaw", LVT_S32, offsetof(struct Object, oFaceAngleYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oFallingPillarPitchAcceleration", LVT_F32, offsetof(struct Object, oFallingPillarPitchAcceleration), false, LOT_NONE, 1, sizeof(f32) }, - { "oFirePiranhaPlantActive", LVT_S32, offsetof(struct Object, oFirePiranhaPlantActive), false, LOT_NONE, 1, sizeof(s32) }, - { "oFirePiranhaPlantDeathSpinTimer", LVT_S32, offsetof(struct Object, oFirePiranhaPlantDeathSpinTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oFirePiranhaPlantDeathSpinVel", LVT_F32, offsetof(struct Object, oFirePiranhaPlantDeathSpinVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oFirePiranhaPlantNeutralScale", LVT_F32, offsetof(struct Object, oFirePiranhaPlantNeutralScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oFirePiranhaPlantScale", LVT_F32, offsetof(struct Object, oFirePiranhaPlantScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oFireSpitterLastWaterY", LVT_F32, offsetof(struct Object, oFireSpitterLastWaterY), false, LOT_NONE, 1, sizeof(f32) }, - { "oFireSpitterScaleVel", LVT_F32, offsetof(struct Object, oFireSpitterScaleVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishActiveDistance", LVT_F32, offsetof(struct Object, oFishActiveDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishDepthDistance", LVT_F32, offsetof(struct Object, oFishDepthDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishGoalVel", LVT_F32, offsetof(struct Object, oFishGoalVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishGoalY", LVT_F32, offsetof(struct Object, oFishGoalY), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishHeightOffset", LVT_F32, offsetof(struct Object, oFishHeightOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishRoamDistance", LVT_F32, offsetof(struct Object, oFishRoamDistance), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishWaterLevel", LVT_F32, offsetof(struct Object, oFishWaterLevel), false, LOT_NONE, 1, sizeof(f32) }, - { "oFishYawVel", LVT_S32, offsetof(struct Object, oFishYawVel), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlags", LVT_U32, offsetof(struct Object, oFlags), false, LOT_NONE, 1, sizeof(u32) }, - { "oFlameBowser", LVT_COBJECT_P, offsetof(struct Object, oFlameBowser), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oFlameScale", LVT_F32, offsetof(struct Object, oFlameScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oFlameSpeedTimerOffset", LVT_S32, offsetof(struct Object, oFlameSpeedTimerOffset), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlameThowerFlameUnk110", LVT_S32, offsetof(struct Object, oFlameThowerFlameUnk110), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlameThowerUnk110", LVT_S32, offsetof(struct Object, oFlameThowerUnk110), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlameUnkFC", LVT_F32, offsetof(struct Object, oFlameUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oFloatingPlatformUnk100", LVT_S32, offsetof(struct Object, oFloatingPlatformUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oFloatingPlatformUnkF4", LVT_S32, offsetof(struct Object, oFloatingPlatformUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oFloatingPlatformUnkF8", LVT_F32, offsetof(struct Object, oFloatingPlatformUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oFloatingPlatformUnkFC", LVT_F32, offsetof(struct Object, oFloatingPlatformUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oFloor", LVT_COBJECT_P, offsetof(struct Object, oFloor), false, LOT_SURFACE, 1, sizeof(struct Surface*) }, - { "oFloorHeight", LVT_F32, offsetof(struct Object, oFloorHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "oFloorRoom", LVT_S16, offsetof(struct Object, oFloorRoom), false, LOT_NONE, 1, sizeof(s16) }, - { "oFloorSwitchPressAnimationUnk100", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oFloorSwitchPressAnimationUnkF4", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oFloorSwitchPressAnimationUnkF8", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oFloorSwitchPressAnimationUnkFC", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oFloorType", LVT_S16, offsetof(struct Object, oFloorType), false, LOT_NONE, 1, sizeof(s16) }, - { "oFlyGuyIdleTimer", LVT_S32, offsetof(struct Object, oFlyGuyIdleTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlyGuyLungeTargetPitch", LVT_S32, offsetof(struct Object, oFlyGuyLungeTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlyGuyLungeYDecel", LVT_F32, offsetof(struct Object, oFlyGuyLungeYDecel), false, LOT_NONE, 1, sizeof(f32) }, - { "oFlyGuyOscTimer", LVT_S32, offsetof(struct Object, oFlyGuyOscTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlyGuyScaleVel", LVT_F32, offsetof(struct Object, oFlyGuyScaleVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oFlyGuyTargetRoll", LVT_S32, offsetof(struct Object, oFlyGuyTargetRoll), false, LOT_NONE, 1, sizeof(s32) }, - { "oFlyGuyUnusedJitter", LVT_S32, offsetof(struct Object, oFlyGuyUnusedJitter), false, LOT_NONE, 1, sizeof(s32) }, - { "oForwardVel", LVT_F32, offsetof(struct Object, oForwardVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oForwardVelS32", LVT_S32, offsetof(struct Object, oForwardVelS32), false, LOT_NONE, 1, sizeof(s32) }, - { "oFriction", LVT_F32, offsetof(struct Object, oFriction), false, LOT_NONE, 1, sizeof(f32) }, - { "oGoombaBlinkTimer", LVT_S32, offsetof(struct Object, oGoombaBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oGoombaJumpCooldown", LVT_U32, offsetof(struct Object, oGoombaJumpCooldown), false, LOT_NONE, 1, sizeof(u32) }, - { "oGoombaRelativeSpeed", LVT_F32, offsetof(struct Object, oGoombaRelativeSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oGoombaScale", LVT_F32, offsetof(struct Object, oGoombaScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oGoombaSize", LVT_S32, offsetof(struct Object, oGoombaSize), false, LOT_NONE, 1, sizeof(s32) }, - { "oGoombaTargetYaw", LVT_S32, offsetof(struct Object, oGoombaTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oGoombaTurningAwayFromWall", LVT_S32, offsetof(struct Object, oGoombaTurningAwayFromWall), false, LOT_NONE, 1, sizeof(s32) }, - { "oGoombaWalkTimer", LVT_S32, offsetof(struct Object, oGoombaWalkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oGrandStarUnk108", LVT_S32, offsetof(struct Object, oGrandStarUnk108), false, LOT_NONE, 1, sizeof(s32) }, - { "oGraphYOffset", LVT_F32, offsetof(struct Object, oGraphYOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oGravity", LVT_F32, offsetof(struct Object, oGravity), false, LOT_NONE, 1, sizeof(f32) }, - { "oHauntedBookshelfShouldOpen", LVT_S32, offsetof(struct Object, oHauntedBookshelfShouldOpen), false, LOT_NONE, 1, sizeof(s32) }, - { "oHauntedChairUnk100", LVT_S32_P, offsetof(struct Object, oHauntedChairUnk100), true, LOT_POINTER, 1, sizeof(s32*) }, - { "oHauntedChairUnk104", LVT_S32, offsetof(struct Object, oHauntedChairUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oHauntedChairUnkF4", LVT_S32, offsetof(struct Object, oHauntedChairUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oHauntedChairUnkF8", LVT_F32, offsetof(struct Object, oHauntedChairUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oHauntedChairUnkFC", LVT_F32, offsetof(struct Object, oHauntedChairUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oHealth", LVT_S32, offsetof(struct Object, oHealth), false, LOT_NONE, 1, sizeof(s32) }, - { "oHeaveHoUnk88", LVT_S32, offsetof(struct Object, oHeaveHoUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oHeaveHoUnkF4", LVT_F32, offsetof(struct Object, oHeaveHoUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oHeldState", LVT_U32, offsetof(struct Object, oHeldState), false, LOT_NONE, 1, sizeof(u32) }, - { "oHiddenBlueCoinSwitch", LVT_COBJECT_P, offsetof(struct Object, oHiddenBlueCoinSwitch), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oHiddenObjectUnkF4", LVT_COBJECT_P, offsetof(struct Object, oHiddenObjectUnkF4), false, LOT_OBJECT, 1, sizeof(struct Object*) }, -// { "oHiddenStarLastInteractedObject", LVT_???, offsetof(struct Object, oHiddenStarLastInteractedObject), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED - { "oHiddenStarTriggerCounter", LVT_S32, offsetof(struct Object, oHiddenStarTriggerCounter), false, LOT_NONE, 1, sizeof(s32) }, - { "oHomeX", LVT_F32, offsetof(struct Object, oHomeX), false, LOT_NONE, 1, sizeof(f32) }, - { "oHomeY", LVT_F32, offsetof(struct Object, oHomeY), false, LOT_NONE, 1, sizeof(f32) }, - { "oHomeZ", LVT_F32, offsetof(struct Object, oHomeZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oHomingAmpAvgY", LVT_F32, offsetof(struct Object, oHomingAmpAvgY), false, LOT_NONE, 1, sizeof(f32) }, - { "oHomingAmpLockedOn", LVT_S32, offsetof(struct Object, oHomingAmpLockedOn), false, LOT_NONE, 1, sizeof(s32) }, - { "oHootAvailability", LVT_S32, offsetof(struct Object, oHootAvailability), false, LOT_NONE, 1, sizeof(s32) }, - { "oHootMarioReleaseTime", LVT_S32, offsetof(struct Object, oHootMarioReleaseTime), false, LOT_NONE, 1, sizeof(s32) }, - { "oHorizontalGrindelDistToHome", LVT_F32, offsetof(struct Object, oHorizontalGrindelDistToHome), false, LOT_NONE, 1, sizeof(f32) }, - { "oHorizontalGrindelOnGround", LVT_S32, offsetof(struct Object, oHorizontalGrindelOnGround), false, LOT_NONE, 1, sizeof(s32) }, - { "oHorizontalGrindelTargetYaw", LVT_S32, offsetof(struct Object, oHorizontalGrindelTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oHorizontalMovementUnk100", LVT_F32, offsetof(struct Object, oHorizontalMovementUnk100), false, LOT_NONE, 1, sizeof(f32) }, - { "oHorizontalMovementUnk104", LVT_S32, offsetof(struct Object, oHorizontalMovementUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oHorizontalMovementUnk108", LVT_F32, offsetof(struct Object, oHorizontalMovementUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oHorizontalMovementUnkF4", LVT_S32, offsetof(struct Object, oHorizontalMovementUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oHorizontalMovementUnkF8", LVT_S32, offsetof(struct Object, oHorizontalMovementUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oIntangibleTimer", LVT_S32, offsetof(struct Object, oIntangibleTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oInteractStatus", LVT_S32, offsetof(struct Object, oInteractStatus), false, LOT_NONE, 1, sizeof(s32) }, - { "oInteractType", LVT_U32, offsetof(struct Object, oInteractType), false, LOT_NONE, 1, sizeof(u32) }, - { "oInteractionSubtype", LVT_U32, offsetof(struct Object, oInteractionSubtype), false, LOT_NONE, 1, sizeof(u32) }, - { "oIntroLakituCloud", LVT_COBJECT_P, offsetof(struct Object, oIntroLakituCloud), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oIntroLakituSplineSegment", LVT_F32, offsetof(struct Object, oIntroLakituSplineSegment), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroLakituSplineSegmentProgress", LVT_F32, offsetof(struct Object, oIntroLakituSplineSegmentProgress), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroLakituUnk100", LVT_F32, offsetof(struct Object, oIntroLakituUnk100), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroLakituUnk104", LVT_F32, offsetof(struct Object, oIntroLakituUnk104), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroLakituUnk108", LVT_F32, offsetof(struct Object, oIntroLakituUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroLakituUnk10C", LVT_F32, offsetof(struct Object, oIntroLakituUnk10C), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroLakituUnk110", LVT_F32, offsetof(struct Object, oIntroLakituUnk110), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroPeachDistToCamera", LVT_F32, offsetof(struct Object, oIntroPeachDistToCamera), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroPeachPitchFromFocus", LVT_F32, offsetof(struct Object, oIntroPeachPitchFromFocus), false, LOT_NONE, 1, sizeof(f32) }, - { "oIntroPeachYawFromFocus", LVT_F32, offsetof(struct Object, oIntroPeachYawFromFocus), false, LOT_NONE, 1, sizeof(f32) }, - { "oJrbSlidingBoxUnkF4", LVT_COBJECT_P, offsetof(struct Object, oJrbSlidingBoxUnkF4), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oJrbSlidingBoxUnkF8", LVT_S32, offsetof(struct Object, oJrbSlidingBoxUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oJrbSlidingBoxUnkFC", LVT_F32, offsetof(struct Object, oJrbSlidingBoxUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oJumpingBoxUnkF4", LVT_S32, offsetof(struct Object, oJumpingBoxUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oJumpingBoxUnkF8", LVT_S32, offsetof(struct Object, oJumpingBoxUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oKickableBoardF4", LVT_S32, offsetof(struct Object, oKickableBoardF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oKickableBoardF8", LVT_S32, offsetof(struct Object, oKickableBoardF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oKingBobombUnk100", LVT_S32, offsetof(struct Object, oKingBobombUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oKingBobombUnk104", LVT_S32, offsetof(struct Object, oKingBobombUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oKingBobombUnk108", LVT_S32, offsetof(struct Object, oKingBobombUnk108), false, LOT_NONE, 1, sizeof(s32) }, - { "oKingBobombUnk88", LVT_S32, offsetof(struct Object, oKingBobombUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oKingBobombUnkF8", LVT_S32, offsetof(struct Object, oKingBobombUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oKingBobombUnkFC", LVT_S32, offsetof(struct Object, oKingBobombUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oKleptoDistanceToTarget", LVT_F32, offsetof(struct Object, oKleptoDistanceToTarget), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoSpeed", LVT_F32, offsetof(struct Object, oKleptoSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoStartPosX", LVT_F32, offsetof(struct Object, oKleptoStartPosX), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoStartPosY", LVT_F32, offsetof(struct Object, oKleptoStartPosY), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoStartPosZ", LVT_F32, offsetof(struct Object, oKleptoStartPosZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoTargetNumber", LVT_S16, offsetof(struct Object, oKleptoTargetNumber), false, LOT_NONE, 1, sizeof(s16) }, - { "oKleptoTimeUntilTargetChange", LVT_S32, offsetof(struct Object, oKleptoTimeUntilTargetChange), false, LOT_NONE, 1, sizeof(s32) }, - { "oKleptoUnk1AE", LVT_S16, offsetof(struct Object, oKleptoUnk1AE), false, LOT_NONE, 1, sizeof(s16) }, - { "oKleptoUnk1B0", LVT_S16, offsetof(struct Object, oKleptoUnk1B0), false, LOT_NONE, 1, sizeof(s16) }, - { "oKleptoUnkF8", LVT_F32, offsetof(struct Object, oKleptoUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoUnkFC", LVT_F32, offsetof(struct Object, oKleptoUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oKleptoYawToTarget", LVT_S16, offsetof(struct Object, oKleptoYawToTarget), false, LOT_NONE, 1, sizeof(s16) }, - { "oKoopaAgility", LVT_F32, offsetof(struct Object, oKoopaAgility), false, LOT_NONE, 1, sizeof(f32) }, - { "oKoopaAngleToMario", LVT_S32, offsetof(struct Object, oKoopaAngleToMario), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaBlinkTimer", LVT_S32, offsetof(struct Object, oKoopaBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaCountdown", LVT_S16, offsetof(struct Object, oKoopaCountdown), false, LOT_NONE, 1, sizeof(s16) }, - { "oKoopaDistanceToMario", LVT_F32, offsetof(struct Object, oKoopaDistanceToMario), false, LOT_NONE, 1, sizeof(f32) }, - { "oKoopaMovementType", LVT_S32, offsetof(struct Object, oKoopaMovementType), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaRaceEndpointKoopaFinished", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointKoopaFinished), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaRaceEndpointRaceBegun", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointRaceBegun), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaRaceEndpointRaceEnded", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointRaceEnded), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaRaceEndpointRaceStatus", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointRaceStatus), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaRaceEndpointUnk100", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaShellFlameUnkF4", LVT_F32, offsetof(struct Object, oKoopaShellFlameUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oKoopaShellFlameUnkF8", LVT_F32, offsetof(struct Object, oKoopaShellFlameUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oKoopaTargetYaw", LVT_S32, offsetof(struct Object, oKoopaTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaTheQuickInitTextboxCooldown", LVT_S16, offsetof(struct Object, oKoopaTheQuickInitTextboxCooldown), false, LOT_NONE, 1, sizeof(s16) }, - { "oKoopaTheQuickRaceIndex", LVT_S16, offsetof(struct Object, oKoopaTheQuickRaceIndex), false, LOT_NONE, 1, sizeof(s16) }, - { "oKoopaTurningAwayFromWall", LVT_S32, offsetof(struct Object, oKoopaTurningAwayFromWall), false, LOT_NONE, 1, sizeof(s32) }, - { "oKoopaUnshelledTimeUntilTurn", LVT_S32, offsetof(struct Object, oKoopaUnshelledTimeUntilTurn), false, LOT_NONE, 1, sizeof(s32) }, - { "oLightID", LVT_S32, offsetof(struct Object, oLightID), false, LOT_NONE, 1, sizeof(s32) }, - { "oLllRotatingHexFlameUnkF4", LVT_F32, offsetof(struct Object, oLllRotatingHexFlameUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oLllRotatingHexFlameUnkF8", LVT_F32, offsetof(struct Object, oLllRotatingHexFlameUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oLllRotatingHexFlameUnkFC", LVT_F32, offsetof(struct Object, oLllRotatingHexFlameUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oLllWoodPieceOscillationTimer", LVT_S32, offsetof(struct Object, oLllWoodPieceOscillationTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oMacroUnk108", LVT_F32, offsetof(struct Object, oMacroUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oMacroUnk10C", LVT_F32, offsetof(struct Object, oMacroUnk10C), false, LOT_NONE, 1, sizeof(f32) }, - { "oMacroUnk110", LVT_F32, offsetof(struct Object, oMacroUnk110), false, LOT_NONE, 1, sizeof(f32) }, - { "oMantaTargetPitch", LVT_S32, offsetof(struct Object, oMantaTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oMantaTargetYaw", LVT_S32, offsetof(struct Object, oMantaTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioBurnTimer", LVT_S32, offsetof(struct Object, oMarioBurnTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioCannonInputYaw", LVT_S32, offsetof(struct Object, oMarioCannonInputYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioCannonObjectYaw", LVT_S32, offsetof(struct Object, oMarioCannonObjectYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioJumboStarCutscenePosZ", LVT_F32, offsetof(struct Object, oMarioJumboStarCutscenePosZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oMarioLongJumpIsSlow", LVT_S32, offsetof(struct Object, oMarioLongJumpIsSlow), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioParticleFlags", LVT_S32, offsetof(struct Object, oMarioParticleFlags), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioPolePos", LVT_F32, offsetof(struct Object, oMarioPolePos), false, LOT_NONE, 1, sizeof(f32) }, - { "oMarioPoleUnk108", LVT_S32, offsetof(struct Object, oMarioPoleUnk108), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioPoleYawVel", LVT_S32, offsetof(struct Object, oMarioPoleYawVel), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioReadingSignDPosX", LVT_F32, offsetof(struct Object, oMarioReadingSignDPosX), false, LOT_NONE, 1, sizeof(f32) }, - { "oMarioReadingSignDPosZ", LVT_F32, offsetof(struct Object, oMarioReadingSignDPosZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oMarioReadingSignDYaw", LVT_S32, offsetof(struct Object, oMarioReadingSignDYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioSteepJumpYaw", LVT_S32, offsetof(struct Object, oMarioSteepJumpYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioTornadoPosY", LVT_F32, offsetof(struct Object, oMarioTornadoPosY), false, LOT_NONE, 1, sizeof(f32) }, - { "oMarioTornadoYawVel", LVT_S32, offsetof(struct Object, oMarioTornadoYawVel), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioWalkingPitch", LVT_S32, offsetof(struct Object, oMarioWalkingPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oMarioWhirlpoolPosY", LVT_F32, offsetof(struct Object, oMarioWhirlpoolPosY), false, LOT_NONE, 1, sizeof(f32) }, - { "oMenuButtonActionPhase", LVT_S32, offsetof(struct Object, oMenuButtonActionPhase), false, LOT_NONE, 1, sizeof(s32) }, - { "oMenuButtonIsCustom", LVT_S32, offsetof(struct Object, oMenuButtonIsCustom), false, LOT_NONE, 1, sizeof(s32) }, - { "oMenuButtonOrigPosX", LVT_F32, offsetof(struct Object, oMenuButtonOrigPosX), false, LOT_NONE, 1, sizeof(f32) }, - { "oMenuButtonOrigPosY", LVT_F32, offsetof(struct Object, oMenuButtonOrigPosY), false, LOT_NONE, 1, sizeof(f32) }, - { "oMenuButtonOrigPosZ", LVT_F32, offsetof(struct Object, oMenuButtonOrigPosZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oMenuButtonScale", LVT_F32, offsetof(struct Object, oMenuButtonScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oMenuButtonState", LVT_S32, offsetof(struct Object, oMenuButtonState), false, LOT_NONE, 1, sizeof(s32) }, - { "oMenuButtonTimer", LVT_S32, offsetof(struct Object, oMenuButtonTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oMerryGoRoundBooManagerNumBoosKilled", LVT_S32, offsetof(struct Object, oMerryGoRoundBooManagerNumBoosKilled), false, LOT_NONE, 1, sizeof(s32) }, - { "oMerryGoRoundBooManagerNumBoosSpawned", LVT_S32, offsetof(struct Object, oMerryGoRoundBooManagerNumBoosSpawned), false, LOT_NONE, 1, sizeof(s32) }, - { "oMerryGoRoundMarioIsOutside", LVT_S32, offsetof(struct Object, oMerryGoRoundMarioIsOutside), false, LOT_NONE, 1, sizeof(s32) }, - { "oMerryGoRoundMusicShouldPlay", LVT_S32, offsetof(struct Object, oMerryGoRoundMusicShouldPlay), false, LOT_NONE, 1, sizeof(s32) }, - { "oMerryGoRoundStopped", LVT_S32, offsetof(struct Object, oMerryGoRoundStopped), false, LOT_NONE, 1, sizeof(s32) }, - { "oMipsForwardVelocity", LVT_F32, offsetof(struct Object, oMipsForwardVelocity), false, LOT_NONE, 1, sizeof(f32) }, - { "oMipsStarStatus", LVT_S32, offsetof(struct Object, oMipsStarStatus), false, LOT_NONE, 1, sizeof(s32) }, - { "oMipsStartWaypointIndex", LVT_S32, offsetof(struct Object, oMipsStartWaypointIndex), false, LOT_NONE, 1, sizeof(s32) }, - { "oMoneybagJumpState", LVT_S32, offsetof(struct Object, oMoneybagJumpState), false, LOT_NONE, 1, sizeof(s32) }, - { "oMontyMoleCurrentHole", LVT_COBJECT_P, offsetof(struct Object, oMontyMoleCurrentHole), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oMontyMoleHeightRelativeToFloor", LVT_F32, offsetof(struct Object, oMontyMoleHeightRelativeToFloor), false, LOT_NONE, 1, sizeof(f32) }, - { "oMontyMoleHoleCooldown", LVT_S32, offsetof(struct Object, oMontyMoleHoleCooldown), false, LOT_NONE, 1, sizeof(s32) }, - { "oMontyMoleHoleX", LVT_F32, offsetof(struct Object, oMontyMoleHoleX), false, LOT_NONE, 1, sizeof(f32) }, - { "oMontyMoleHoleY", LVT_F32, offsetof(struct Object, oMontyMoleHoleY), false, LOT_NONE, 1, sizeof(f32) }, - { "oMontyMoleHoleZ", LVT_F32, offsetof(struct Object, oMontyMoleHoleZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oMoveAnglePitch", LVT_S32, offsetof(struct Object, oMoveAnglePitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oMoveAngleRoll", LVT_S32, offsetof(struct Object, oMoveAngleRoll), false, LOT_NONE, 1, sizeof(s32) }, - { "oMoveAngleYaw", LVT_S32, offsetof(struct Object, oMoveAngleYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMoveFlags", LVT_U32, offsetof(struct Object, oMoveFlags), false, LOT_NONE, 1, sizeof(u32) }, - { "oMovingFlameTimer", LVT_S32, offsetof(struct Object, oMovingFlameTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrBlizzardChangeInDizziness", LVT_F32, offsetof(struct Object, oMrBlizzardChangeInDizziness), false, LOT_NONE, 1, sizeof(f32) }, - { "oMrBlizzardDistFromHome", LVT_S32, offsetof(struct Object, oMrBlizzardDistFromHome), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrBlizzardDizziness", LVT_F32, offsetof(struct Object, oMrBlizzardDizziness), false, LOT_NONE, 1, sizeof(f32) }, - { "oMrBlizzardGraphYOffset", LVT_F32, offsetof(struct Object, oMrBlizzardGraphYOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oMrBlizzardGraphYVel", LVT_F32, offsetof(struct Object, oMrBlizzardGraphYVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oMrBlizzardHeldObj", LVT_COBJECT_P, offsetof(struct Object, oMrBlizzardHeldObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oMrBlizzardScale", LVT_F32, offsetof(struct Object, oMrBlizzardScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oMrBlizzardTargetMoveYaw", LVT_S32, offsetof(struct Object, oMrBlizzardTargetMoveYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrBlizzardTimer", LVT_S32, offsetof(struct Object, oMrBlizzardTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrISize", LVT_F32, offsetof(struct Object, oMrISize), false, LOT_NONE, 1, sizeof(f32) }, - { "oMrIUnk100", LVT_S32, offsetof(struct Object, oMrIUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrIUnk104", LVT_S32, offsetof(struct Object, oMrIUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrIUnk108", LVT_S32, offsetof(struct Object, oMrIUnk108), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrIUnk110", LVT_S32, offsetof(struct Object, oMrIUnk110), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrIUnkF4", LVT_S32, offsetof(struct Object, oMrIUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oMrIUnkFC", LVT_S32, offsetof(struct Object, oMrIUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oNumLootCoins", LVT_S32, offsetof(struct Object, oNumLootCoins), false, LOT_NONE, 1, sizeof(s32) }, - { "oOpacity", LVT_S32, offsetof(struct Object, oOpacity), false, LOT_NONE, 1, sizeof(s32) }, - { "oOpenableGrillUnk88", LVT_S32, offsetof(struct Object, oOpenableGrillUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oOpenableGrillUnkF4", LVT_COBJECT_P, offsetof(struct Object, oOpenableGrillUnkF4), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oParentRelativePosX", LVT_F32, offsetof(struct Object, oParentRelativePosX), false, LOT_NONE, 1, sizeof(f32) }, - { "oParentRelativePosY", LVT_F32, offsetof(struct Object, oParentRelativePosY), false, LOT_NONE, 1, sizeof(f32) }, - { "oParentRelativePosZ", LVT_F32, offsetof(struct Object, oParentRelativePosZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oPathedPrevWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedPrevWaypoint), false, LOT_WAYPOINT, 1, sizeof(struct Waypoint*) }, - { "oPathedPrevWaypointFlags", LVT_S32, offsetof(struct Object, oPathedPrevWaypointFlags), false, LOT_NONE, 1, sizeof(s32) }, - { "oPathedStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedStartWaypoint), false, LOT_WAYPOINT, 1, sizeof(struct Waypoint*) }, - { "oPathedTargetPitch", LVT_S32, offsetof(struct Object, oPathedTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oPathedTargetYaw", LVT_S32, offsetof(struct Object, oPathedTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oPiranhaPlantScale", LVT_F32, offsetof(struct Object, oPiranhaPlantScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oPiranhaPlantSleepMusicState", LVT_S32, offsetof(struct Object, oPiranhaPlantSleepMusicState), false, LOT_NONE, 1, sizeof(s32) }, - { "oPitouneUnkF4", LVT_F32, offsetof(struct Object, oPitouneUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oPitouneUnkF8", LVT_F32, offsetof(struct Object, oPitouneUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oPitouneUnkFC", LVT_F32, offsetof(struct Object, oPitouneUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformOnTrackBaseBallIndex", LVT_S32, offsetof(struct Object, oPlatformOnTrackBaseBallIndex), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformOnTrackDistMovedSinceLastBall", LVT_F32, offsetof(struct Object, oPlatformOnTrackDistMovedSinceLastBall), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformOnTrackIsNotHMC", LVT_S16, offsetof(struct Object, oPlatformOnTrackIsNotHMC), false, LOT_NONE, 1, sizeof(s16) }, - { "oPlatformOnTrackIsNotSkiLift", LVT_S16, offsetof(struct Object, oPlatformOnTrackIsNotSkiLift), false, LOT_NONE, 1, sizeof(s16) }, - { "oPlatformOnTrackOffsetY", LVT_F32, offsetof(struct Object, oPlatformOnTrackOffsetY), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformOnTrackPitch", LVT_S32, offsetof(struct Object, oPlatformOnTrackPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformOnTrackPrevWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPlatformOnTrackPrevWaypoint), false, LOT_WAYPOINT, 1, sizeof(struct Waypoint*) }, - { "oPlatformOnTrackPrevWaypointFlags", LVT_S32, offsetof(struct Object, oPlatformOnTrackPrevWaypointFlags), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformOnTrackSkiLiftRollVel", LVT_F32, offsetof(struct Object, oPlatformOnTrackSkiLiftRollVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformOnTrackStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPlatformOnTrackStartWaypoint), false, LOT_WAYPOINT, 1, sizeof(struct Waypoint*) }, - { "oPlatformOnTrackType", LVT_S16, offsetof(struct Object, oPlatformOnTrackType), false, LOT_NONE, 1, sizeof(s16) }, - { "oPlatformOnTrackWasStoodOn", LVT_S16, offsetof(struct Object, oPlatformOnTrackWasStoodOn), false, LOT_NONE, 1, sizeof(s16) }, - { "oPlatformOnTrackYaw", LVT_S32, offsetof(struct Object, oPlatformOnTrackYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformSpawnerUnk100", LVT_F32, offsetof(struct Object, oPlatformSpawnerUnk100), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformSpawnerUnk104", LVT_F32, offsetof(struct Object, oPlatformSpawnerUnk104), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformSpawnerUnk108", LVT_F32, offsetof(struct Object, oPlatformSpawnerUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformSpawnerUnkF4", LVT_S32, offsetof(struct Object, oPlatformSpawnerUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformSpawnerUnkF8", LVT_S32, offsetof(struct Object, oPlatformSpawnerUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformSpawnerUnkFC", LVT_S32, offsetof(struct Object, oPlatformSpawnerUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformTimer", LVT_S32, offsetof(struct Object, oPlatformTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oPlatformUnk10C", LVT_F32, offsetof(struct Object, oPlatformUnk10C), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformUnk110", LVT_F32, offsetof(struct Object, oPlatformUnk110), false, LOT_NONE, 1, sizeof(f32) }, - { "oPlatformUnkF8", LVT_COBJECT_P, offsetof(struct Object, oPlatformUnkF8), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oPlatformUnkFC", LVT_S32, offsetof(struct Object, oPlatformUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyAliveBodyPartFlags", LVT_U32, offsetof(struct Object, oPokeyAliveBodyPartFlags), false, LOT_NONE, 1, sizeof(u32) }, - { "oPokeyBodyPartBlinkTimer", LVT_S32, offsetof(struct Object, oPokeyBodyPartBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyBodyPartDeathDelayAfterHeadKilled", LVT_S32, offsetof(struct Object, oPokeyBodyPartDeathDelayAfterHeadKilled), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyBottomBodyPartSize", LVT_F32, offsetof(struct Object, oPokeyBottomBodyPartSize), false, LOT_NONE, 1, sizeof(f32) }, - { "oPokeyChangeTargetTimer", LVT_S32, offsetof(struct Object, oPokeyChangeTargetTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyHeadWasKilled", LVT_S32, offsetof(struct Object, oPokeyHeadWasKilled), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyNumAliveBodyParts", LVT_S32, offsetof(struct Object, oPokeyNumAliveBodyParts), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyTargetYaw", LVT_S32, offsetof(struct Object, oPokeyTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oPokeyTurningAwayFromWall", LVT_S32, offsetof(struct Object, oPokeyTurningAwayFromWall), false, LOT_NONE, 1, sizeof(s32) }, - { "oPosX", LVT_F32, offsetof(struct Object, oPosX), false, LOT_NONE, 1, sizeof(f32) }, - { "oPosY", LVT_F32, offsetof(struct Object, oPosY), false, LOT_NONE, 1, sizeof(f32) }, - { "oPosZ", LVT_F32, offsetof(struct Object, oPosZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oPrevAction", LVT_S32, offsetof(struct Object, oPrevAction), false, LOT_NONE, 1, sizeof(s32) }, - { "oPyramidTopFragmentsScale", LVT_F32, offsetof(struct Object, oPyramidTopFragmentsScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oPyramidTopPillarsTouched", LVT_S32, offsetof(struct Object, oPyramidTopPillarsTouched), false, LOT_NONE, 1, sizeof(s32) }, - { "oRRCruiserWingUnkF4", LVT_S32, offsetof(struct Object, oRRCruiserWingUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oRRCruiserWingUnkF8", LVT_S32, offsetof(struct Object, oRRCruiserWingUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oRacingPenguinFinalTextbox", LVT_S16, offsetof(struct Object, oRacingPenguinFinalTextbox), false, LOT_NONE, 1, sizeof(s16) }, - { "oRacingPenguinInitTextCooldown", LVT_S32, offsetof(struct Object, oRacingPenguinInitTextCooldown), false, LOT_NONE, 1, sizeof(s32) }, - { "oRacingPenguinMarioCheated", LVT_S16, offsetof(struct Object, oRacingPenguinMarioCheated), false, LOT_NONE, 1, sizeof(s16) }, - { "oRacingPenguinMarioWon", LVT_S16, offsetof(struct Object, oRacingPenguinMarioWon), false, LOT_NONE, 1, sizeof(s16) }, - { "oRacingPenguinReachedBottom", LVT_S16, offsetof(struct Object, oRacingPenguinReachedBottom), false, LOT_NONE, 1, sizeof(s16) }, - { "oRacingPenguinWeightedNewTargetSpeed", LVT_F32, offsetof(struct Object, oRacingPenguinWeightedNewTargetSpeed), false, LOT_NONE, 1, sizeof(f32) }, -// { "oRespawnerBehaviorToRespawn", LVT_???, offsetof(struct Object, oRespawnerBehaviorToRespawn), true, LOT_???, 1, sizeof(const void*) }, <--- UNIMPLEMENTED - { "oRespawnerMinSpawnDist", LVT_F32, offsetof(struct Object, oRespawnerMinSpawnDist), false, LOT_NONE, 1, sizeof(f32) }, - { "oRespawnerModelToRespawn", LVT_S32, offsetof(struct Object, oRespawnerModelToRespawn), false, LOT_NONE, 1, sizeof(s32) }, - { "oRollingLogUnkF4", LVT_F32, offsetof(struct Object, oRollingLogUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oRoom", LVT_S32, offsetof(struct Object, oRoom), false, LOT_NONE, 1, sizeof(s32) }, - { "oSLSnowmanWindOriginalYaw", LVT_S32, offsetof(struct Object, oSLSnowmanWindOriginalYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oSLWalkingPenguinCurStep", LVT_S32, offsetof(struct Object, oSLWalkingPenguinCurStep), false, LOT_NONE, 1, sizeof(s32) }, - { "oSLWalkingPenguinCurStepTimer", LVT_S32, offsetof(struct Object, oSLWalkingPenguinCurStepTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oSLWalkingPenguinWindCollisionXPos", LVT_F32, offsetof(struct Object, oSLWalkingPenguinWindCollisionXPos), false, LOT_NONE, 1, sizeof(f32) }, - { "oSLWalkingPenguinWindCollisionZPos", LVT_F32, offsetof(struct Object, oSLWalkingPenguinWindCollisionZPos), false, LOT_NONE, 1, sizeof(f32) }, - { "oScuttlebugSpawnerUnk88", LVT_S32, offsetof(struct Object, oScuttlebugSpawnerUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oScuttlebugSpawnerUnkF4", LVT_S32, offsetof(struct Object, oScuttlebugSpawnerUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oScuttlebugUnkF4", LVT_S32, offsetof(struct Object, oScuttlebugUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oScuttlebugUnkF8", LVT_S32, offsetof(struct Object, oScuttlebugUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oScuttlebugUnkFC", LVT_S32, offsetof(struct Object, oScuttlebugUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oSeesawPlatformPitchVel", LVT_F32, offsetof(struct Object, oSeesawPlatformPitchVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oShipPart3UnkF4", LVT_S32, offsetof(struct Object, oShipPart3UnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oShipPart3UnkF8", LVT_S32, offsetof(struct Object, oShipPart3UnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oSinkWhenSteppedOnUnk104", LVT_S32, offsetof(struct Object, oSinkWhenSteppedOnUnk104), false, LOT_NONE, 1, sizeof(s32) }, - { "oSinkWhenSteppedOnUnk108", LVT_F32, offsetof(struct Object, oSinkWhenSteppedOnUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oSkeeterLastWaterY", LVT_F32, offsetof(struct Object, oSkeeterLastWaterY), false, LOT_NONE, 1, sizeof(f32) }, - { "oSkeeterTargetAngle", LVT_S32, offsetof(struct Object, oSkeeterTargetAngle), false, LOT_NONE, 1, sizeof(s32) }, - { "oSkeeterUnk1AC", LVT_S16, offsetof(struct Object, oSkeeterUnk1AC), false, LOT_NONE, 1, sizeof(s16) }, - { "oSkeeterUnkF8", LVT_S32, offsetof(struct Object, oSkeeterUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oSkeeterUnkFC", LVT_F32, offsetof(struct Object, oSkeeterUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oSkeeterWaitTime", LVT_S32, offsetof(struct Object, oSkeeterWaitTime), false, LOT_NONE, 1, sizeof(s32) }, - { "oSmallBompInitX", LVT_F32, offsetof(struct Object, oSmallBompInitX), false, LOT_NONE, 1, sizeof(f32) }, - { "oSmallPenguinUnk100", LVT_S32, offsetof(struct Object, oSmallPenguinUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oSmallPenguinUnk104", LVT_F32, offsetof(struct Object, oSmallPenguinUnk104), false, LOT_NONE, 1, sizeof(f32) }, - { "oSmallPenguinUnk108", LVT_F32, offsetof(struct Object, oSmallPenguinUnk108), false, LOT_NONE, 1, sizeof(f32) }, - { "oSmallPenguinUnk110", LVT_S32, offsetof(struct Object, oSmallPenguinUnk110), false, LOT_NONE, 1, sizeof(s32) }, - { "oSmallPenguinUnk88", LVT_S32, offsetof(struct Object, oSmallPenguinUnk88), false, LOT_NONE, 1, sizeof(s32) }, - { "oSmallPiranhaFlameEndSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameEndSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oSmallPiranhaFlameModel", LVT_S32, offsetof(struct Object, oSmallPiranhaFlameModel), false, LOT_NONE, 1, sizeof(s32) }, - { "oSmallPiranhaFlameNextFlameTimer", LVT_S32, offsetof(struct Object, oSmallPiranhaFlameNextFlameTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oSmallPiranhaFlameSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oSmallPiranhaFlameStartSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameStartSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oSmokeTimer", LVT_S32, offsetof(struct Object, oSmokeTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnowmansBottomUnk1AC", LVT_S32, offsetof(struct Object, oSnowmansBottomUnk1AC), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnowmansBottomUnkF4", LVT_F32, offsetof(struct Object, oSnowmansBottomUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oSnowmansBottomUnkF8", LVT_S32, offsetof(struct Object, oSnowmansBottomUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnowmansHeadUnkF4", LVT_S32, offsetof(struct Object, oSnowmansHeadUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnufitBodyBaseScale", LVT_S32, offsetof(struct Object, oSnufitBodyBaseScale), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnufitBodyScale", LVT_S16, offsetof(struct Object, oSnufitBodyScale), false, LOT_NONE, 1, sizeof(s16) }, - { "oSnufitBodyScalePeriod", LVT_S32, offsetof(struct Object, oSnufitBodyScalePeriod), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnufitBullets", LVT_S32, offsetof(struct Object, oSnufitBullets), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnufitCircularPeriod", LVT_S32, offsetof(struct Object, oSnufitCircularPeriod), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnufitRecoil", LVT_S32, offsetof(struct Object, oSnufitRecoil), false, LOT_NONE, 1, sizeof(s32) }, - { "oSnufitScale", LVT_F32, offsetof(struct Object, oSnufitScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oSnufitXOffset", LVT_S16, offsetof(struct Object, oSnufitXOffset), false, LOT_NONE, 1, sizeof(s16) }, - { "oSnufitYOffset", LVT_S16, offsetof(struct Object, oSnufitYOffset), false, LOT_NONE, 1, sizeof(s16) }, - { "oSnufitZOffset", LVT_S16, offsetof(struct Object, oSnufitZOffset), false, LOT_NONE, 1, sizeof(s16) }, - { "oSoundEffectUnkF4", LVT_S32, offsetof(struct Object, oSoundEffectUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oSoundStateID", LVT_S32, offsetof(struct Object, oSoundStateID), false, LOT_NONE, 1, sizeof(s32) }, - { "oSparkleSpawnUnk1B0", LVT_S32, offsetof(struct Object, oSparkleSpawnUnk1B0), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpindelUnkF4", LVT_S32, offsetof(struct Object, oSpindelUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpindelUnkF8", LVT_S32, offsetof(struct Object, oSpindelUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpinningHeartPlayedSound", LVT_S32, offsetof(struct Object, oSpinningHeartPlayedSound), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpinningHeartTotalSpin", LVT_S32, offsetof(struct Object, oSpinningHeartTotalSpin), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpinyTargetYaw", LVT_S32, offsetof(struct Object, oSpinyTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpinyTimeUntilTurn", LVT_S32, offsetof(struct Object, oSpinyTimeUntilTurn), false, LOT_NONE, 1, sizeof(s32) }, - { "oSpinyTurningAwayFromWall", LVT_S32, offsetof(struct Object, oSpinyTurningAwayFromWall), false, LOT_NONE, 1, sizeof(s32) }, -// { "oStarBehavior", LVT_???, offsetof(struct Object, oStarBehavior), true, LOT_???, 1, sizeof(const void*) }, <--- UNIMPLEMENTED - { "oStarSelectorSize", LVT_F32, offsetof(struct Object, oStarSelectorSize), false, LOT_NONE, 1, sizeof(f32) }, - { "oStarSelectorTimer", LVT_S32, offsetof(struct Object, oStarSelectorTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oStarSelectorType", LVT_S32, offsetof(struct Object, oStarSelectorType), false, LOT_NONE, 1, sizeof(s32) }, - { "oStarSpawnDisFromHome", LVT_F32, offsetof(struct Object, oStarSpawnDisFromHome), false, LOT_NONE, 1, sizeof(f32) }, - { "oStarSpawnExtCutsceneFlags", LVT_S16, offsetof(struct Object, oStarSpawnExtCutsceneFlags), false, LOT_NONE, 1, sizeof(s16) }, - { "oStarSpawnUnkFC", LVT_F32, offsetof(struct Object, oStarSpawnUnkFC), false, LOT_NONE, 1, sizeof(f32) }, - { "oStrongWindParticlePenguinObj", LVT_COBJECT_P, offsetof(struct Object, oStrongWindParticlePenguinObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "oSubAction", LVT_S32, offsetof(struct Object, oSubAction), false, LOT_NONE, 1, sizeof(s32) }, - { "oSushiSharkUnkF4", LVT_S32, offsetof(struct Object, oSushiSharkUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oSwingPlatformAngle", LVT_F32, offsetof(struct Object, oSwingPlatformAngle), false, LOT_NONE, 1, sizeof(f32) }, - { "oSwingPlatformSpeed", LVT_F32, offsetof(struct Object, oSwingPlatformSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oSwoopBonkCountdown", LVT_S32, offsetof(struct Object, oSwoopBonkCountdown), false, LOT_NONE, 1, sizeof(s32) }, - { "oSwoopTargetPitch", LVT_S32, offsetof(struct Object, oSwoopTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oSwoopTargetYaw", LVT_S32, offsetof(struct Object, oSwoopTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oSyncDeath", LVT_U32, offsetof(struct Object, oSyncDeath), false, LOT_NONE, 1, sizeof(u32) }, - { "oSyncID", LVT_U32, offsetof(struct Object, oSyncID), true, LOT_NONE, 1, sizeof(u32) }, - { "oTTC2DRotatorIncrement", LVT_S32, offsetof(struct Object, oTTC2DRotatorIncrement), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTC2DRotatorMinTimeUntilNextTurn", LVT_S32, offsetof(struct Object, oTTC2DRotatorMinTimeUntilNextTurn), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTC2DRotatorRandomDirTimer", LVT_S32, offsetof(struct Object, oTTC2DRotatorRandomDirTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTC2DRotatorSpeed", LVT_S32, offsetof(struct Object, oTTC2DRotatorSpeed), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTC2DRotatorTargetYaw", LVT_S32, offsetof(struct Object, oTTC2DRotatorTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCChangeDirTimer", LVT_S32, offsetof(struct Object, oTTCChangeDirTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCCogDir", LVT_F32, offsetof(struct Object, oTTCCogDir), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCCogSpeed", LVT_F32, offsetof(struct Object, oTTCCogSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCCogTargetVel", LVT_F32, offsetof(struct Object, oTTCCogTargetVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCElevatorDir", LVT_F32, offsetof(struct Object, oTTCElevatorDir), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCElevatorMoveTime", LVT_S32, offsetof(struct Object, oTTCElevatorMoveTime), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCElevatorPeakY", LVT_F32, offsetof(struct Object, oTTCElevatorPeakY), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCMovingBarDelay", LVT_S32, offsetof(struct Object, oTTCMovingBarDelay), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCMovingBarOffset", LVT_F32, offsetof(struct Object, oTTCMovingBarOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCMovingBarSpeed", LVT_F32, offsetof(struct Object, oTTCMovingBarSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCMovingBarStartOffset", LVT_F32, offsetof(struct Object, oTTCMovingBarStartOffset), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCMovingBarStoppedTimer", LVT_S32, offsetof(struct Object, oTTCMovingBarStoppedTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCPendulumAccelDir", LVT_F32, offsetof(struct Object, oTTCPendulumAccelDir), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCPendulumAngle", LVT_F32, offsetof(struct Object, oTTCPendulumAngle), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCPendulumAngleAccel", LVT_F32, offsetof(struct Object, oTTCPendulumAngleAccel), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCPendulumAngleVel", LVT_F32, offsetof(struct Object, oTTCPendulumAngleVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCPendulumDelay", LVT_S32, offsetof(struct Object, oTTCPendulumDelay), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCPendulumSoundTimer", LVT_S32, offsetof(struct Object, oTTCPendulumSoundTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCPitBlockDir", LVT_S32, offsetof(struct Object, oTTCPitBlockDir), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCPitBlockPeakY", LVT_F32, offsetof(struct Object, oTTCPitBlockPeakY), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCPitBlockWaitTime", LVT_S32, offsetof(struct Object, oTTCPitBlockWaitTime), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCRotatingSolidNumSides", LVT_S32, offsetof(struct Object, oTTCRotatingSolidNumSides), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCRotatingSolidNumTurns", LVT_S32, offsetof(struct Object, oTTCRotatingSolidNumTurns), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCRotatingSolidRotationDelay", LVT_S32, offsetof(struct Object, oTTCRotatingSolidRotationDelay), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCRotatingSolidSoundTimer", LVT_S32, offsetof(struct Object, oTTCRotatingSolidSoundTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCRotatingSolidVelY", LVT_F32, offsetof(struct Object, oTTCRotatingSolidVelY), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCSpinnerDir", LVT_S32, offsetof(struct Object, oTTCSpinnerDir), false, LOT_NONE, 1, sizeof(s32) }, - { "oTTCTreadmillBigSurface", LVT_S16_P, offsetof(struct Object, oTTCTreadmillBigSurface), true, LOT_POINTER, 1, sizeof(s16*) }, - { "oTTCTreadmillSmallSurface", LVT_S16_P, offsetof(struct Object, oTTCTreadmillSmallSurface), true, LOT_POINTER, 1, sizeof(s16*) }, - { "oTTCTreadmillSpeed", LVT_F32, offsetof(struct Object, oTTCTreadmillSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCTreadmillTargetSpeed", LVT_F32, offsetof(struct Object, oTTCTreadmillTargetSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oTTCTreadmillTimeUntilSwitch", LVT_S32, offsetof(struct Object, oTTCTreadmillTimeUntilSwitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oThwompRandomTimer", LVT_S32, offsetof(struct Object, oThwompRandomTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTiltingPyramidMarioOnPlatform", LVT_S32, offsetof(struct Object, oTiltingPyramidMarioOnPlatform), false, LOT_NONE, 1, sizeof(s32) }, - { "oTiltingPyramidNormalX", LVT_F32, offsetof(struct Object, oTiltingPyramidNormalX), false, LOT_NONE, 1, sizeof(f32) }, - { "oTiltingPyramidNormalY", LVT_F32, offsetof(struct Object, oTiltingPyramidNormalY), false, LOT_NONE, 1, sizeof(f32) }, - { "oTiltingPyramidNormalZ", LVT_F32, offsetof(struct Object, oTiltingPyramidNormalZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oTimer", LVT_S32, offsetof(struct Object, oTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oToadMessageDialogId", LVT_S32, offsetof(struct Object, oToadMessageDialogId), false, LOT_NONE, 1, sizeof(s32) }, - { "oToadMessageRecentlyTalked", LVT_S32, offsetof(struct Object, oToadMessageRecentlyTalked), false, LOT_NONE, 1, sizeof(s32) }, - { "oToadMessageState", LVT_S32, offsetof(struct Object, oToadMessageState), false, LOT_NONE, 1, sizeof(s32) }, -// { "oToxBoxMovementPattern", LVT_???, offsetof(struct Object, oToxBoxMovementPattern), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED - { "oToxBoxMovementStep", LVT_S32, offsetof(struct Object, oToxBoxMovementStep), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreasureChestCurrentAnswer", LVT_S32, offsetof(struct Object, oTreasureChestCurrentAnswer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreasureChestIsAboveWater", LVT_S32, offsetof(struct Object, oTreasureChestIsAboveWater), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreasureChestIsLastInteractionIncorrect", LVT_S32, offsetof(struct Object, oTreasureChestIsLastInteractionIncorrect), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreasureChestLastNetworkPlayerIndex", LVT_S16, offsetof(struct Object, oTreasureChestLastNetworkPlayerIndex), false, LOT_NONE, 1, sizeof(s16) }, - { "oTreasureChestSound", LVT_S32, offsetof(struct Object, oTreasureChestSound), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreeSnowOrLeafUnkF4", LVT_S32, offsetof(struct Object, oTreeSnowOrLeafUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreeSnowOrLeafUnkF8", LVT_S32, offsetof(struct Object, oTreeSnowOrLeafUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oTreeSnowOrLeafUnkFC", LVT_S32, offsetof(struct Object, oTreeSnowOrLeafUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oTripletButterflyBaseYaw", LVT_F32, offsetof(struct Object, oTripletButterflyBaseYaw), false, LOT_NONE, 1, sizeof(f32) }, - { "oTripletButterflyModel", LVT_S32, offsetof(struct Object, oTripletButterflyModel), false, LOT_NONE, 1, sizeof(s32) }, - { "oTripletButterflyScale", LVT_F32, offsetof(struct Object, oTripletButterflyScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oTripletButterflyScalePhase", LVT_S32, offsetof(struct Object, oTripletButterflyScalePhase), false, LOT_NONE, 1, sizeof(s32) }, - { "oTripletButterflySelectedButterfly", LVT_S32, offsetof(struct Object, oTripletButterflySelectedButterfly), false, LOT_NONE, 1, sizeof(s32) }, - { "oTripletButterflySpeed", LVT_F32, offsetof(struct Object, oTripletButterflySpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oTripletButterflyTargetPitch", LVT_S32, offsetof(struct Object, oTripletButterflyTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oTripletButterflyTargetYaw", LVT_S32, offsetof(struct Object, oTripletButterflyTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oTripletButterflyType", LVT_S32, offsetof(struct Object, oTripletButterflyType), false, LOT_NONE, 1, sizeof(s32) }, - { "oTumblingBridgeUnkF4", LVT_S32, offsetof(struct Object, oTumblingBridgeUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oTweesterScaleTimer", LVT_S32, offsetof(struct Object, oTweesterScaleTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oTweesterUnused", LVT_S32, offsetof(struct Object, oTweesterUnused), false, LOT_NONE, 1, sizeof(s32) }, - { "oUkikiCageNextAction", LVT_S32, offsetof(struct Object, oUkikiCageNextAction), false, LOT_NONE, 1, sizeof(s32) }, - { "oUkikiCageSpinTimer", LVT_S16, offsetof(struct Object, oUkikiCageSpinTimer), false, LOT_NONE, 1, sizeof(s16) }, - { "oUkikiChaseFleeRange", LVT_F32, offsetof(struct Object, oUkikiChaseFleeRange), false, LOT_NONE, 1, sizeof(f32) }, - { "oUkikiHasCap", LVT_S16, offsetof(struct Object, oUkikiHasCap), false, LOT_NONE, 1, sizeof(s16) }, - { "oUkikiTauntCounter", LVT_S16, offsetof(struct Object, oUkikiTauntCounter), false, LOT_NONE, 1, sizeof(s16) }, - { "oUkikiTauntsToBeDone", LVT_S16, offsetof(struct Object, oUkikiTauntsToBeDone), false, LOT_NONE, 1, sizeof(s16) }, - { "oUkikiTextState", LVT_S16, offsetof(struct Object, oUkikiTextState), false, LOT_NONE, 1, sizeof(s16) }, - { "oUkikiTextboxTimer", LVT_S16, offsetof(struct Object, oUkikiTextboxTimer), false, LOT_NONE, 1, sizeof(s16) }, - { "oUnagiUnk110", LVT_F32, offsetof(struct Object, oUnagiUnk110), false, LOT_NONE, 1, sizeof(f32) }, - { "oUnagiUnk1AC", LVT_F32, offsetof(struct Object, oUnagiUnk1AC), false, LOT_NONE, 1, sizeof(f32) }, - { "oUnagiUnk1B0", LVT_S16, offsetof(struct Object, oUnagiUnk1B0), false, LOT_NONE, 1, sizeof(s16) }, - { "oUnagiUnk1B2", LVT_S16, offsetof(struct Object, oUnagiUnk1B2), false, LOT_NONE, 1, sizeof(s16) }, - { "oUnagiUnkF4", LVT_F32, offsetof(struct Object, oUnagiUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oUnagiUnkF8", LVT_F32, offsetof(struct Object, oUnagiUnkF8), false, LOT_NONE, 1, sizeof(f32) }, - { "oUnk1A8", LVT_U32, offsetof(struct Object, oUnk1A8), false, LOT_NONE, 1, sizeof(u32) }, - { "oUnk94", LVT_U32, offsetof(struct Object, oUnk94), false, LOT_NONE, 1, sizeof(u32) }, - { "oUnkBC", LVT_F32, offsetof(struct Object, oUnkBC), false, LOT_NONE, 1, sizeof(f32) }, - { "oUnkC0", LVT_F32, offsetof(struct Object, oUnkC0), false, LOT_NONE, 1, sizeof(f32) }, - { "oUnlockDoorStarState", LVT_U32, offsetof(struct Object, oUnlockDoorStarState), false, LOT_NONE, 1, sizeof(u32) }, - { "oUnlockDoorStarTimer", LVT_S32, offsetof(struct Object, oUnlockDoorStarTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oUnlockDoorStarYawVel", LVT_S32, offsetof(struct Object, oUnlockDoorStarYawVel), false, LOT_NONE, 1, sizeof(s32) }, - { "oVelX", LVT_F32, offsetof(struct Object, oVelX), false, LOT_NONE, 1, sizeof(f32) }, - { "oVelY", LVT_F32, offsetof(struct Object, oVelY), false, LOT_NONE, 1, sizeof(f32) }, - { "oVelZ", LVT_F32, offsetof(struct Object, oVelZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oWFSlidBrickPtfmMovVel", LVT_F32, offsetof(struct Object, oWFSlidBrickPtfmMovVel), false, LOT_NONE, 1, sizeof(f32) }, - { "oWallAngle", LVT_S32, offsetof(struct Object, oWallAngle), false, LOT_NONE, 1, sizeof(s32) }, - { "oWallHitboxRadius", LVT_F32, offsetof(struct Object, oWallHitboxRadius), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterBombNumBounces", LVT_F32, offsetof(struct Object, oWaterBombNumBounces), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterBombOnGround", LVT_S32, offsetof(struct Object, oWaterBombOnGround), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterBombSpawnerBombActive", LVT_S32, offsetof(struct Object, oWaterBombSpawnerBombActive), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterBombSpawnerTimeToSpawn", LVT_S32, offsetof(struct Object, oWaterBombSpawnerTimeToSpawn), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterBombStretchSpeed", LVT_F32, offsetof(struct Object, oWaterBombStretchSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterBombVerticalStretch", LVT_F32, offsetof(struct Object, oWaterBombVerticalStretch), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterCannonUnk100", LVT_S32, offsetof(struct Object, oWaterCannonUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterCannonUnkF4", LVT_S32, offsetof(struct Object, oWaterCannonUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterCannonUnkF8", LVT_S32, offsetof(struct Object, oWaterCannonUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterCannonUnkFC", LVT_S32, offsetof(struct Object, oWaterCannonUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterLevelPillarDrained", LVT_S32, offsetof(struct Object, oWaterLevelPillarDrained), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterLevelTriggerTargetWaterLevel", LVT_S32, offsetof(struct Object, oWaterLevelTriggerTargetWaterLevel), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterLevelTriggerUnkF4", LVT_S32, offsetof(struct Object, oWaterLevelTriggerUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterObjUnk100", LVT_S32, offsetof(struct Object, oWaterObjUnk100), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterObjUnkF4", LVT_S32, offsetof(struct Object, oWaterObjUnkF4), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterObjUnkF8", LVT_S32, offsetof(struct Object, oWaterObjUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterObjUnkFC", LVT_S32, offsetof(struct Object, oWaterObjUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingAvgScale", LVT_F32, offsetof(struct Object, oWaterRingAvgScale), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterRingIndex", LVT_S32, offsetof(struct Object, oWaterRingIndex), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingMarioDistInFront", LVT_F32, offsetof(struct Object, oWaterRingMarioDistInFront), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterRingMgrLastRingCollected", LVT_S32, offsetof(struct Object, oWaterRingMgrLastRingCollected), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingMgrNextRingIndex", LVT_S32, offsetof(struct Object, oWaterRingMgrNextRingIndex), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingNormalX", LVT_F32, offsetof(struct Object, oWaterRingNormalX), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterRingNormalY", LVT_F32, offsetof(struct Object, oWaterRingNormalY), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterRingNormalZ", LVT_F32, offsetof(struct Object, oWaterRingNormalZ), false, LOT_NONE, 1, sizeof(f32) }, - { "oWaterRingScalePhaseX", LVT_S32, offsetof(struct Object, oWaterRingScalePhaseX), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingScalePhaseY", LVT_S32, offsetof(struct Object, oWaterRingScalePhaseY), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingScalePhaseZ", LVT_S32, offsetof(struct Object, oWaterRingScalePhaseZ), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaterRingSpawnerRingsCollected", LVT_S32, offsetof(struct Object, oWaterRingSpawnerRingsCollected), false, LOT_NONE, 1, sizeof(s32) }, - { "oWaveTrailSize", LVT_F32, offsetof(struct Object, oWaveTrailSize), false, LOT_NONE, 1, sizeof(f32) }, - { "oWhirlpoolInitFacePitch", LVT_S32, offsetof(struct Object, oWhirlpoolInitFacePitch), false, LOT_NONE, 1, sizeof(s32) }, - { "oWhirlpoolInitFaceRoll", LVT_S32, offsetof(struct Object, oWhirlpoolInitFaceRoll), false, LOT_NONE, 1, sizeof(s32) }, - { "oWhirlpoolTimeout", LVT_S32, offsetof(struct Object, oWhirlpoolTimeout), false, LOT_NONE, 1, sizeof(s32) }, - { "oWhitePuffUnkF4", LVT_F32, offsetof(struct Object, oWhitePuffUnkF4), false, LOT_NONE, 1, sizeof(f32) }, - { "oWhitePuffUnkF8", LVT_S32, offsetof(struct Object, oWhitePuffUnkF8), false, LOT_NONE, 1, sizeof(s32) }, - { "oWhitePuffUnkFC", LVT_S32, offsetof(struct Object, oWhitePuffUnkFC), false, LOT_NONE, 1, sizeof(s32) }, - { "oWhompShakeVal", LVT_S32, offsetof(struct Object, oWhompShakeVal), false, LOT_NONE, 1, sizeof(s32) }, - { "oWigglerFallThroughFloorsHeight", LVT_F32, offsetof(struct Object, oWigglerFallThroughFloorsHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "oWigglerSegments", LVT_COBJECT_P, offsetof(struct Object, oWigglerSegments), true, LOT_CHAINSEGMENT, 1, sizeof(struct ChainSegment*) }, - { "oWigglerSquishSpeed", LVT_F32, offsetof(struct Object, oWigglerSquishSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oWigglerTargetYaw", LVT_S32, offsetof(struct Object, oWigglerTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "oWigglerTextStatus", LVT_S16, offsetof(struct Object, oWigglerTextStatus), false, LOT_NONE, 1, sizeof(s16) }, - { "oWigglerTimeUntilRandomTurn", LVT_S32, offsetof(struct Object, oWigglerTimeUntilRandomTurn), false, LOT_NONE, 1, sizeof(s32) }, - { "oWigglerUnused", LVT_S16, offsetof(struct Object, oWigglerUnused), false, LOT_NONE, 1, sizeof(s16) }, - { "oWigglerWalkAnimSpeed", LVT_F32, offsetof(struct Object, oWigglerWalkAnimSpeed), false, LOT_NONE, 1, sizeof(f32) }, - { "oWigglerWalkAwayFromWallTimer", LVT_S32, offsetof(struct Object, oWigglerWalkAwayFromWallTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oWoodenPostMarioPounding", LVT_S32, offsetof(struct Object, oWoodenPostMarioPounding), false, LOT_NONE, 1, sizeof(s32) }, - { "oWoodenPostOffsetY", LVT_F32, offsetof(struct Object, oWoodenPostOffsetY), false, LOT_NONE, 1, sizeof(f32) }, - { "oWoodenPostPrevAngleToMario", LVT_S32, offsetof(struct Object, oWoodenPostPrevAngleToMario), false, LOT_NONE, 1, sizeof(s32) }, - { "oWoodenPostSpeedY", LVT_F32, offsetof(struct Object, oWoodenPostSpeedY), false, LOT_NONE, 1, sizeof(f32) }, - { "oWoodenPostTotalMarioAngle", LVT_S32, offsetof(struct Object, oWoodenPostTotalMarioAngle), false, LOT_NONE, 1, sizeof(s32) }, - { "oYoshiBlinkTimer", LVT_S32, offsetof(struct Object, oYoshiBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, - { "oYoshiChosenHome", LVT_S32, offsetof(struct Object, oYoshiChosenHome), false, LOT_NONE, 1, sizeof(s32) }, - { "oYoshiTargetYaw", LVT_S32, offsetof(struct Object, oYoshiTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, - { "parentObj", LVT_COBJECT_P, offsetof(struct Object, parentObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "platform", LVT_COBJECT_P, offsetof(struct Object, platform), false, LOT_OBJECT, 1, sizeof(struct Object*) }, - { "prevObj", LVT_COBJECT_P, offsetof(struct Object, prevObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, -// { "ptrData", LVT_???, offsetof(struct Object, ptrData), false, LOT_???, 1, sizeof(union { ... }) }, <--- UNIMPLEMENTED -// { "rawData", LVT_???, offsetof(struct Object, rawData), false, LOT_???, 1, sizeof(union { ... }) }, <--- UNIMPLEMENTED -// { "respawnInfo", LVT_???, offsetof(struct Object, respawnInfo), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED - { "respawnInfoType", LVT_S16, offsetof(struct Object, respawnInfoType), true, LOT_NONE, 1, sizeof(s16) }, - { "setHome", LVT_U8, offsetof(struct Object, setHome), false, LOT_NONE, 1, sizeof(u8) }, - { "transform", LVT_COBJECT, offsetof(struct Object, transform), true, LOT_MAT4, 1, sizeof(Mat4) }, - { "unused1", LVT_U32, offsetof(struct Object, unused1), false, LOT_NONE, 1, sizeof(u32) }, - { "usingObj", LVT_COBJECT_P, offsetof(struct Object, usingObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "oCoinUnkF4", LVT_S32, offsetof(struct Object, oCoinUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oCoinUnkF8", LVT_S32, offsetof(struct Object, oCoinUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oCollisionDistance", LVT_F32, offsetof(struct Object, oCollisionDistance), false, LOT_NONE, 1, sizeof(f32) }, + { "oCollisionParticleUnkF4", LVT_F32, offsetof(struct Object, oCollisionParticleUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oControllablePlatformUnk100", LVT_S32, offsetof(struct Object, oControllablePlatformUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oControllablePlatformUnkF8", LVT_S32, offsetof(struct Object, oControllablePlatformUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oControllablePlatformUnkFC", LVT_F32, offsetof(struct Object, oControllablePlatformUnkFC), false, LOT_NONE, 1, sizeof(f32) }, + { "oDDDPoleMaxOffset", LVT_F32, offsetof(struct Object, oDDDPoleMaxOffset), false, LOT_NONE, 1, sizeof(f32) }, + { "oDDDPoleOffset", LVT_F32, offsetof(struct Object, oDDDPoleOffset), false, LOT_NONE, 1, sizeof(f32) }, + { "oDDDPoleVel", LVT_F32, offsetof(struct Object, oDDDPoleVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oDamageOrCoinValue", LVT_S32, offsetof(struct Object, oDamageOrCoinValue), false, LOT_NONE, 1, sizeof(s32) }, + { "oDeathSound", LVT_S32, offsetof(struct Object, oDeathSound), false, LOT_NONE, 1, sizeof(s32) }, + { "oDialogResponse", LVT_S16, offsetof(struct Object, oDialogResponse), false, LOT_NONE, 1, sizeof(s16) }, + { "oDialogState", LVT_S16, offsetof(struct Object, oDialogState), false, LOT_NONE, 1, sizeof(s16) }, + { "oDistanceToMario", LVT_F32, offsetof(struct Object, oDistanceToMario), false, LOT_NONE, 1, sizeof(f32) }, + { "oDonutPlatformSpawnerSpawnedPlatforms", LVT_S32, offsetof(struct Object, oDonutPlatformSpawnerSpawnedPlatforms), false, LOT_NONE, 1, sizeof(s32) }, + { "oDoorUnk100", LVT_S32, offsetof(struct Object, oDoorUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oDoorUnk88", LVT_S32, offsetof(struct Object, oDoorUnk88), false, LOT_NONE, 1, sizeof(s32) }, + { "oDoorUnkF8", LVT_S32, offsetof(struct Object, oDoorUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oDoorUnkFC", LVT_S32, offsetof(struct Object, oDoorUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oDorrieAngleToHome", LVT_S16, offsetof(struct Object, oDorrieAngleToHome), false, LOT_NONE, 1, sizeof(s16) }, + { "oDorrieDistToHome", LVT_F32, offsetof(struct Object, oDorrieDistToHome), false, LOT_NONE, 1, sizeof(f32) }, + { "oDorrieForwardDistToMario", LVT_F32, offsetof(struct Object, oDorrieForwardDistToMario), false, LOT_NONE, 1, sizeof(f32) }, + { "oDorrieGroundPounded", LVT_S16, offsetof(struct Object, oDorrieGroundPounded), false, LOT_NONE, 1, sizeof(s16) }, + { "oDorrieHeadRaiseSpeed", LVT_S16, offsetof(struct Object, oDorrieHeadRaiseSpeed), false, LOT_NONE, 1, sizeof(s16) }, + { "oDorrieLiftingMario", LVT_S32, offsetof(struct Object, oDorrieLiftingMario), false, LOT_NONE, 1, sizeof(s32) }, + { "oDorrieNeckAngle", LVT_S16, offsetof(struct Object, oDorrieNeckAngle), false, LOT_NONE, 1, sizeof(s16) }, + { "oDorrieOffsetY", LVT_F32, offsetof(struct Object, oDorrieOffsetY), false, LOT_NONE, 1, sizeof(f32) }, + { "oDorrieVelY", LVT_F32, offsetof(struct Object, oDorrieVelY), false, LOT_NONE, 1, sizeof(f32) }, + { "oDorrieYawVel", LVT_S32, offsetof(struct Object, oDorrieYawVel), false, LOT_NONE, 1, sizeof(s32) }, + { "oDragStrength", LVT_F32, offsetof(struct Object, oDragStrength), false, LOT_NONE, 1, sizeof(f32) }, + { "oDrawingDistance", LVT_F32, offsetof(struct Object, oDrawingDistance), false, LOT_NONE, 1, sizeof(f32) }, + { "oElevatorUnk100", LVT_S32, offsetof(struct Object, oElevatorUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oElevatorUnkF4", LVT_F32, offsetof(struct Object, oElevatorUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oElevatorUnkF8", LVT_F32, offsetof(struct Object, oElevatorUnkF8), false, LOT_NONE, 1, sizeof(f32) }, + { "oElevatorUnkFC", LVT_F32, offsetof(struct Object, oElevatorUnkFC), false, LOT_NONE, 1, sizeof(f32) }, + { "oEndBirdUnk104", LVT_F32, offsetof(struct Object, oEndBirdUnk104), false, LOT_NONE, 1, sizeof(f32) }, + { "oEnemyLakituBlinkTimer", LVT_S32, offsetof(struct Object, oEnemyLakituBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oEnemyLakituFaceForwardCountdown", LVT_S32, offsetof(struct Object, oEnemyLakituFaceForwardCountdown), false, LOT_NONE, 1, sizeof(s32) }, + { "oEnemyLakituNumSpinies", LVT_S32, offsetof(struct Object, oEnemyLakituNumSpinies), false, LOT_NONE, 1, sizeof(s32) }, + { "oEnemyLakituSpinyCooldown", LVT_S32, offsetof(struct Object, oEnemyLakituSpinyCooldown), false, LOT_NONE, 1, sizeof(s32) }, + { "oExclamationBoxForce", LVT_S32, offsetof(struct Object, oExclamationBoxForce), false, LOT_NONE, 1, sizeof(s32) }, + { "oExclamationBoxUnkF4", LVT_F32, offsetof(struct Object, oExclamationBoxUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oExclamationBoxUnkF8", LVT_F32, offsetof(struct Object, oExclamationBoxUnkF8), false, LOT_NONE, 1, sizeof(f32) }, + { "oExclamationBoxUnkFC", LVT_S32, offsetof(struct Object, oExclamationBoxUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oEyerokBossActiveHand", LVT_S32, offsetof(struct Object, oEyerokBossActiveHand), false, LOT_NONE, 1, sizeof(s32) }, + { "oEyerokBossNumHands", LVT_S32, offsetof(struct Object, oEyerokBossNumHands), false, LOT_NONE, 1, sizeof(s32) }, + { "oEyerokBossUnk104", LVT_S32, offsetof(struct Object, oEyerokBossUnk104), false, LOT_NONE, 1, sizeof(s32) }, + { "oEyerokBossUnk108", LVT_F32, offsetof(struct Object, oEyerokBossUnk108), false, LOT_NONE, 1, sizeof(f32) }, + { "oEyerokBossUnk10C", LVT_F32, offsetof(struct Object, oEyerokBossUnk10C), false, LOT_NONE, 1, sizeof(f32) }, + { "oEyerokBossUnk110", LVT_F32, offsetof(struct Object, oEyerokBossUnk110), false, LOT_NONE, 1, sizeof(f32) }, + { "oEyerokBossUnk1AC", LVT_S32, offsetof(struct Object, oEyerokBossUnk1AC), false, LOT_NONE, 1, sizeof(s32) }, + { "oEyerokBossUnkFC", LVT_S32, offsetof(struct Object, oEyerokBossUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oEyerokHandDead", LVT_S32, offsetof(struct Object, oEyerokHandDead), false, LOT_NONE, 1, sizeof(s32) }, + { "oEyerokHandUnk100", LVT_S32, offsetof(struct Object, oEyerokHandUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oEyerokHandUnkFC", LVT_S32, offsetof(struct Object, oEyerokHandUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oEyerokHandWakeUpTimer", LVT_S32, offsetof(struct Object, oEyerokHandWakeUpTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oEyerokReceivedAttack", LVT_S32, offsetof(struct Object, oEyerokReceivedAttack), false, LOT_NONE, 1, sizeof(s32) }, + { "oFaceAnglePitch", LVT_S32, offsetof(struct Object, oFaceAnglePitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oFaceAngleRoll", LVT_S32, offsetof(struct Object, oFaceAngleRoll), false, LOT_NONE, 1, sizeof(s32) }, + { "oFaceAngleYaw", LVT_S32, offsetof(struct Object, oFaceAngleYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oFallingPillarPitchAcceleration", LVT_F32, offsetof(struct Object, oFallingPillarPitchAcceleration), false, LOT_NONE, 1, sizeof(f32) }, + { "oFirePiranhaPlantActive", LVT_S32, offsetof(struct Object, oFirePiranhaPlantActive), false, LOT_NONE, 1, sizeof(s32) }, + { "oFirePiranhaPlantDeathSpinTimer", LVT_S32, offsetof(struct Object, oFirePiranhaPlantDeathSpinTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oFirePiranhaPlantDeathSpinVel", LVT_F32, offsetof(struct Object, oFirePiranhaPlantDeathSpinVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oFirePiranhaPlantNeutralScale", LVT_F32, offsetof(struct Object, oFirePiranhaPlantNeutralScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oFirePiranhaPlantScale", LVT_F32, offsetof(struct Object, oFirePiranhaPlantScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oFireSpitterLastWaterY", LVT_F32, offsetof(struct Object, oFireSpitterLastWaterY), false, LOT_NONE, 1, sizeof(f32) }, + { "oFireSpitterScaleVel", LVT_F32, offsetof(struct Object, oFireSpitterScaleVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oFishActiveDistance", LVT_F32, offsetof(struct Object, oFishActiveDistance), false, LOT_NONE, 1, sizeof(f32) }, + { "oFishDepthDistance", LVT_F32, offsetof(struct Object, oFishDepthDistance), false, LOT_NONE, 1, sizeof(f32) }, + { "oFishGoalVel", LVT_F32, offsetof(struct Object, oFishGoalVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oFishGoalY", LVT_F32, offsetof(struct Object, oFishGoalY), false, LOT_NONE, 1, sizeof(f32) }, + { "oFishHeightOffset", LVT_F32, offsetof(struct Object, oFishHeightOffset), false, LOT_NONE, 1, sizeof(f32) }, + { "oFishRoamDistance", LVT_F32, offsetof(struct Object, oFishRoamDistance), false, LOT_NONE, 1, sizeof(f32) }, + { "oFishWaterLevel", LVT_F32, offsetof(struct Object, oFishWaterLevel), false, LOT_NONE, 1, sizeof(f32) }, + { "oFishYawVel", LVT_S32, offsetof(struct Object, oFishYawVel), false, LOT_NONE, 1, sizeof(s32) }, + { "oFlags", LVT_U32, offsetof(struct Object, oFlags), false, LOT_NONE, 1, sizeof(u32) }, + { "oFlameBowser", LVT_COBJECT_P, offsetof(struct Object, oFlameBowser), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "oFlameScale", LVT_F32, offsetof(struct Object, oFlameScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oFlameSpeedTimerOffset", LVT_S32, offsetof(struct Object, oFlameSpeedTimerOffset), false, LOT_NONE, 1, sizeof(s32) }, + { "oFlameThowerFlameUnk110", LVT_S32, offsetof(struct Object, oFlameThowerFlameUnk110), false, LOT_NONE, 1, sizeof(s32) }, + { "oFlameThowerUnk110", LVT_S32, offsetof(struct Object, oFlameThowerUnk110), false, LOT_NONE, 1, sizeof(s32) }, + { "oFlameUnkFC", LVT_F32, offsetof(struct Object, oFlameUnkFC), false, LOT_NONE, 1, sizeof(f32) }, + { "oFloatingPlatformUnk100", LVT_S32, offsetof(struct Object, oFloatingPlatformUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oFloatingPlatformUnkF4", LVT_S32, offsetof(struct Object, oFloatingPlatformUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oFloatingPlatformUnkF8", LVT_F32, offsetof(struct Object, oFloatingPlatformUnkF8), false, LOT_NONE, 1, sizeof(f32) }, + { "oFloatingPlatformUnkFC", LVT_F32, offsetof(struct Object, oFloatingPlatformUnkFC), false, LOT_NONE, 1, sizeof(f32) }, + { "oFloor", LVT_COBJECT_P, offsetof(struct Object, oFloor), false, LOT_SURFACE, 1, sizeof(struct Surface*) }, + { "oFloorHeight", LVT_F32, offsetof(struct Object, oFloorHeight), false, LOT_NONE, 1, sizeof(f32) }, + { "oFloorRoom", LVT_S16, offsetof(struct Object, oFloorRoom), false, LOT_NONE, 1, sizeof(s16) }, + { "oFloorSwitchPressAnimationUnk100", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oFloorSwitchPressAnimationUnkF4", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oFloorSwitchPressAnimationUnkF8", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oFloorSwitchPressAnimationUnkFC", LVT_S32, offsetof(struct Object, oFloorSwitchPressAnimationUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oFloorType", LVT_S16, offsetof(struct Object, oFloorType), false, LOT_NONE, 1, sizeof(s16) }, + { "oFlyGuyIdleTimer", LVT_S32, offsetof(struct Object, oFlyGuyIdleTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oFlyGuyLungeTargetPitch", LVT_S32, offsetof(struct Object, oFlyGuyLungeTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oFlyGuyLungeYDecel", LVT_F32, offsetof(struct Object, oFlyGuyLungeYDecel), false, LOT_NONE, 1, sizeof(f32) }, + { "oFlyGuyOscTimer", LVT_S32, offsetof(struct Object, oFlyGuyOscTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oFlyGuyScaleVel", LVT_F32, offsetof(struct Object, oFlyGuyScaleVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oFlyGuyTargetRoll", LVT_S32, offsetof(struct Object, oFlyGuyTargetRoll), false, LOT_NONE, 1, sizeof(s32) }, + { "oFlyGuyUnusedJitter", LVT_S32, offsetof(struct Object, oFlyGuyUnusedJitter), false, LOT_NONE, 1, sizeof(s32) }, + { "oForwardVel", LVT_F32, offsetof(struct Object, oForwardVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oForwardVelS32", LVT_S32, offsetof(struct Object, oForwardVelS32), false, LOT_NONE, 1, sizeof(s32) }, + { "oFriction", LVT_F32, offsetof(struct Object, oFriction), false, LOT_NONE, 1, sizeof(f32) }, + { "oGoombaBlinkTimer", LVT_S32, offsetof(struct Object, oGoombaBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oGoombaJumpCooldown", LVT_U32, offsetof(struct Object, oGoombaJumpCooldown), false, LOT_NONE, 1, sizeof(u32) }, + { "oGoombaRelativeSpeed", LVT_F32, offsetof(struct Object, oGoombaRelativeSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oGoombaScale", LVT_F32, offsetof(struct Object, oGoombaScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oGoombaSize", LVT_S32, offsetof(struct Object, oGoombaSize), false, LOT_NONE, 1, sizeof(s32) }, + { "oGoombaTargetYaw", LVT_S32, offsetof(struct Object, oGoombaTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oGoombaTurningAwayFromWall", LVT_S32, offsetof(struct Object, oGoombaTurningAwayFromWall), false, LOT_NONE, 1, sizeof(s32) }, + { "oGoombaWalkTimer", LVT_S32, offsetof(struct Object, oGoombaWalkTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oGrandStarUnk108", LVT_S32, offsetof(struct Object, oGrandStarUnk108), false, LOT_NONE, 1, sizeof(s32) }, + { "oGraphYOffset", LVT_F32, offsetof(struct Object, oGraphYOffset), false, LOT_NONE, 1, sizeof(f32) }, + { "oGravity", LVT_F32, offsetof(struct Object, oGravity), false, LOT_NONE, 1, sizeof(f32) }, + { "oHauntedBookshelfShouldOpen", LVT_S32, offsetof(struct Object, oHauntedBookshelfShouldOpen), false, LOT_NONE, 1, sizeof(s32) }, + { "oHauntedChairUnk100", LVT_S32_P, offsetof(struct Object, oHauntedChairUnk100), true, LOT_POINTER, 1, sizeof(s32*) }, + { "oHauntedChairUnk104", LVT_S32, offsetof(struct Object, oHauntedChairUnk104), false, LOT_NONE, 1, sizeof(s32) }, + { "oHauntedChairUnkF4", LVT_S32, offsetof(struct Object, oHauntedChairUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oHauntedChairUnkF8", LVT_F32, offsetof(struct Object, oHauntedChairUnkF8), false, LOT_NONE, 1, sizeof(f32) }, + { "oHauntedChairUnkFC", LVT_F32, offsetof(struct Object, oHauntedChairUnkFC), false, LOT_NONE, 1, sizeof(f32) }, + { "oHealth", LVT_S32, offsetof(struct Object, oHealth), false, LOT_NONE, 1, sizeof(s32) }, + { "oHeaveHoUnk88", LVT_S32, offsetof(struct Object, oHeaveHoUnk88), false, LOT_NONE, 1, sizeof(s32) }, + { "oHeaveHoUnkF4", LVT_F32, offsetof(struct Object, oHeaveHoUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oHeldState", LVT_U32, offsetof(struct Object, oHeldState), false, LOT_NONE, 1, sizeof(u32) }, + { "oHiddenBlueCoinSwitch", LVT_COBJECT_P, offsetof(struct Object, oHiddenBlueCoinSwitch), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "oHiddenObjectUnkF4", LVT_COBJECT_P, offsetof(struct Object, oHiddenObjectUnkF4), false, LOT_OBJECT, 1, sizeof(struct Object*) }, +// { "oHiddenStarLastInteractedObject", LVT_???, offsetof(struct Object, oHiddenStarLastInteractedObject), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED + { "oHiddenStarTriggerCounter", LVT_S32, offsetof(struct Object, oHiddenStarTriggerCounter), false, LOT_NONE, 1, sizeof(s32) }, + { "oHomeX", LVT_F32, offsetof(struct Object, oHomeX), false, LOT_NONE, 1, sizeof(f32) }, + { "oHomeY", LVT_F32, offsetof(struct Object, oHomeY), false, LOT_NONE, 1, sizeof(f32) }, + { "oHomeZ", LVT_F32, offsetof(struct Object, oHomeZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oHomingAmpAvgY", LVT_F32, offsetof(struct Object, oHomingAmpAvgY), false, LOT_NONE, 1, sizeof(f32) }, + { "oHomingAmpLockedOn", LVT_S32, offsetof(struct Object, oHomingAmpLockedOn), false, LOT_NONE, 1, sizeof(s32) }, + { "oHootAvailability", LVT_S32, offsetof(struct Object, oHootAvailability), false, LOT_NONE, 1, sizeof(s32) }, + { "oHootMarioReleaseTime", LVT_S32, offsetof(struct Object, oHootMarioReleaseTime), false, LOT_NONE, 1, sizeof(s32) }, + { "oHorizontalGrindelDistToHome", LVT_F32, offsetof(struct Object, oHorizontalGrindelDistToHome), false, LOT_NONE, 1, sizeof(f32) }, + { "oHorizontalGrindelOnGround", LVT_S32, offsetof(struct Object, oHorizontalGrindelOnGround), false, LOT_NONE, 1, sizeof(s32) }, + { "oHorizontalGrindelTargetYaw", LVT_S32, offsetof(struct Object, oHorizontalGrindelTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oHorizontalMovementUnk100", LVT_F32, offsetof(struct Object, oHorizontalMovementUnk100), false, LOT_NONE, 1, sizeof(f32) }, + { "oHorizontalMovementUnk104", LVT_S32, offsetof(struct Object, oHorizontalMovementUnk104), false, LOT_NONE, 1, sizeof(s32) }, + { "oHorizontalMovementUnk108", LVT_F32, offsetof(struct Object, oHorizontalMovementUnk108), false, LOT_NONE, 1, sizeof(f32) }, + { "oHorizontalMovementUnkF4", LVT_S32, offsetof(struct Object, oHorizontalMovementUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oHorizontalMovementUnkF8", LVT_S32, offsetof(struct Object, oHorizontalMovementUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oIntangibleTimer", LVT_S32, offsetof(struct Object, oIntangibleTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oInteractStatus", LVT_S32, offsetof(struct Object, oInteractStatus), false, LOT_NONE, 1, sizeof(s32) }, + { "oInteractType", LVT_U32, offsetof(struct Object, oInteractType), false, LOT_NONE, 1, sizeof(u32) }, + { "oInteractionSubtype", LVT_U32, offsetof(struct Object, oInteractionSubtype), false, LOT_NONE, 1, sizeof(u32) }, + { "oIntroLakituCloud", LVT_COBJECT_P, offsetof(struct Object, oIntroLakituCloud), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "oIntroLakituSplineSegment", LVT_F32, offsetof(struct Object, oIntroLakituSplineSegment), false, LOT_NONE, 1, sizeof(f32) }, + { "oIntroLakituSplineSegmentProgress", LVT_F32, offsetof(struct Object, oIntroLakituSplineSegmentProgress), false, LOT_NONE, 1, sizeof(f32) }, + { "oIntroLakituUnk100", LVT_F32, offsetof(struct Object, oIntroLakituUnk100), false, LOT_NONE, 1, sizeof(f32) }, + { "oIntroLakituUnk104", LVT_F32, offsetof(struct Object, oIntroLakituUnk104), false, LOT_NONE, 1, sizeof(f32) }, + { "oIntroLakituUnk108", LVT_F32, offsetof(struct Object, oIntroLakituUnk108), false, LOT_NONE, 1, sizeof(f32) }, + { "oIntroLakituUnk10C", LVT_F32, offsetof(struct Object, oIntroLakituUnk10C), false, LOT_NONE, 1, sizeof(f32) }, + { "oIntroLakituUnk110", LVT_F32, offsetof(struct Object, oIntroLakituUnk110), false, LOT_NONE, 1, sizeof(f32) }, + { "oIntroPeachDistToCamera", LVT_F32, offsetof(struct Object, oIntroPeachDistToCamera), false, LOT_NONE, 1, sizeof(f32) }, + { "oIntroPeachPitchFromFocus", LVT_F32, offsetof(struct Object, oIntroPeachPitchFromFocus), false, LOT_NONE, 1, sizeof(f32) }, + { "oIntroPeachYawFromFocus", LVT_F32, offsetof(struct Object, oIntroPeachYawFromFocus), false, LOT_NONE, 1, sizeof(f32) }, + { "oJrbSlidingBoxUnkF4", LVT_COBJECT_P, offsetof(struct Object, oJrbSlidingBoxUnkF4), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "oJrbSlidingBoxUnkF8", LVT_S32, offsetof(struct Object, oJrbSlidingBoxUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oJrbSlidingBoxUnkFC", LVT_F32, offsetof(struct Object, oJrbSlidingBoxUnkFC), false, LOT_NONE, 1, sizeof(f32) }, + { "oJumpingBoxUnkF4", LVT_S32, offsetof(struct Object, oJumpingBoxUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oJumpingBoxUnkF8", LVT_S32, offsetof(struct Object, oJumpingBoxUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oKickableBoardF4", LVT_S32, offsetof(struct Object, oKickableBoardF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oKickableBoardF8", LVT_S32, offsetof(struct Object, oKickableBoardF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oKingBobombUnk100", LVT_S32, offsetof(struct Object, oKingBobombUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oKingBobombUnk104", LVT_S32, offsetof(struct Object, oKingBobombUnk104), false, LOT_NONE, 1, sizeof(s32) }, + { "oKingBobombUnk108", LVT_S32, offsetof(struct Object, oKingBobombUnk108), false, LOT_NONE, 1, sizeof(s32) }, + { "oKingBobombUnk88", LVT_S32, offsetof(struct Object, oKingBobombUnk88), false, LOT_NONE, 1, sizeof(s32) }, + { "oKingBobombUnkF8", LVT_S32, offsetof(struct Object, oKingBobombUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oKingBobombUnkFC", LVT_S32, offsetof(struct Object, oKingBobombUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oKleptoDistanceToTarget", LVT_F32, offsetof(struct Object, oKleptoDistanceToTarget), false, LOT_NONE, 1, sizeof(f32) }, + { "oKleptoSpeed", LVT_F32, offsetof(struct Object, oKleptoSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oKleptoStartPosX", LVT_F32, offsetof(struct Object, oKleptoStartPosX), false, LOT_NONE, 1, sizeof(f32) }, + { "oKleptoStartPosY", LVT_F32, offsetof(struct Object, oKleptoStartPosY), false, LOT_NONE, 1, sizeof(f32) }, + { "oKleptoStartPosZ", LVT_F32, offsetof(struct Object, oKleptoStartPosZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oKleptoTargetNumber", LVT_S16, offsetof(struct Object, oKleptoTargetNumber), false, LOT_NONE, 1, sizeof(s16) }, + { "oKleptoTimeUntilTargetChange", LVT_S32, offsetof(struct Object, oKleptoTimeUntilTargetChange), false, LOT_NONE, 1, sizeof(s32) }, + { "oKleptoUnk1AE", LVT_S16, offsetof(struct Object, oKleptoUnk1AE), false, LOT_NONE, 1, sizeof(s16) }, + { "oKleptoUnk1B0", LVT_S16, offsetof(struct Object, oKleptoUnk1B0), false, LOT_NONE, 1, sizeof(s16) }, + { "oKleptoUnkF8", LVT_F32, offsetof(struct Object, oKleptoUnkF8), false, LOT_NONE, 1, sizeof(f32) }, + { "oKleptoUnkFC", LVT_F32, offsetof(struct Object, oKleptoUnkFC), false, LOT_NONE, 1, sizeof(f32) }, + { "oKleptoYawToTarget", LVT_S16, offsetof(struct Object, oKleptoYawToTarget), false, LOT_NONE, 1, sizeof(s16) }, + { "oKoopaAgility", LVT_F32, offsetof(struct Object, oKoopaAgility), false, LOT_NONE, 1, sizeof(f32) }, + { "oKoopaAngleToMario", LVT_S32, offsetof(struct Object, oKoopaAngleToMario), false, LOT_NONE, 1, sizeof(s32) }, + { "oKoopaBlinkTimer", LVT_S32, offsetof(struct Object, oKoopaBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oKoopaCountdown", LVT_S16, offsetof(struct Object, oKoopaCountdown), false, LOT_NONE, 1, sizeof(s16) }, + { "oKoopaDistanceToMario", LVT_F32, offsetof(struct Object, oKoopaDistanceToMario), false, LOT_NONE, 1, sizeof(f32) }, + { "oKoopaMovementType", LVT_S32, offsetof(struct Object, oKoopaMovementType), false, LOT_NONE, 1, sizeof(s32) }, + { "oKoopaRaceEndpointKoopaFinished", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointKoopaFinished), false, LOT_NONE, 1, sizeof(s32) }, + { "oKoopaRaceEndpointRaceBegun", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointRaceBegun), false, LOT_NONE, 1, sizeof(s32) }, + { "oKoopaRaceEndpointRaceEnded", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointRaceEnded), false, LOT_NONE, 1, sizeof(s32) }, + { "oKoopaRaceEndpointRaceStatus", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointRaceStatus), false, LOT_NONE, 1, sizeof(s32) }, + { "oKoopaRaceEndpointUnk100", LVT_S32, offsetof(struct Object, oKoopaRaceEndpointUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oKoopaShellFlameUnkF4", LVT_F32, offsetof(struct Object, oKoopaShellFlameUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oKoopaShellFlameUnkF8", LVT_F32, offsetof(struct Object, oKoopaShellFlameUnkF8), false, LOT_NONE, 1, sizeof(f32) }, + { "oKoopaTargetYaw", LVT_S32, offsetof(struct Object, oKoopaTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oKoopaTheQuickInitTextboxCooldown", LVT_S16, offsetof(struct Object, oKoopaTheQuickInitTextboxCooldown), false, LOT_NONE, 1, sizeof(s16) }, + { "oKoopaTheQuickRaceIndex", LVT_S16, offsetof(struct Object, oKoopaTheQuickRaceIndex), false, LOT_NONE, 1, sizeof(s16) }, + { "oKoopaTurningAwayFromWall", LVT_S32, offsetof(struct Object, oKoopaTurningAwayFromWall), false, LOT_NONE, 1, sizeof(s32) }, + { "oKoopaUnshelledTimeUntilTurn", LVT_S32, offsetof(struct Object, oKoopaUnshelledTimeUntilTurn), false, LOT_NONE, 1, sizeof(s32) }, + { "oLightID", LVT_S32, offsetof(struct Object, oLightID), false, LOT_NONE, 1, sizeof(s32) }, + { "oLllRotatingHexFlameUnkF4", LVT_F32, offsetof(struct Object, oLllRotatingHexFlameUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oLllRotatingHexFlameUnkF8", LVT_F32, offsetof(struct Object, oLllRotatingHexFlameUnkF8), false, LOT_NONE, 1, sizeof(f32) }, + { "oLllRotatingHexFlameUnkFC", LVT_F32, offsetof(struct Object, oLllRotatingHexFlameUnkFC), false, LOT_NONE, 1, sizeof(f32) }, + { "oLllWoodPieceOscillationTimer", LVT_S32, offsetof(struct Object, oLllWoodPieceOscillationTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oMacroUnk108", LVT_F32, offsetof(struct Object, oMacroUnk108), false, LOT_NONE, 1, sizeof(f32) }, + { "oMacroUnk10C", LVT_F32, offsetof(struct Object, oMacroUnk10C), false, LOT_NONE, 1, sizeof(f32) }, + { "oMacroUnk110", LVT_F32, offsetof(struct Object, oMacroUnk110), false, LOT_NONE, 1, sizeof(f32) }, + { "oMantaTargetPitch", LVT_S32, offsetof(struct Object, oMantaTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oMantaTargetYaw", LVT_S32, offsetof(struct Object, oMantaTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oMarioBurnTimer", LVT_S32, offsetof(struct Object, oMarioBurnTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oMarioCannonInputYaw", LVT_S32, offsetof(struct Object, oMarioCannonInputYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oMarioCannonObjectYaw", LVT_S32, offsetof(struct Object, oMarioCannonObjectYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oMarioJumboStarCutscenePosZ", LVT_F32, offsetof(struct Object, oMarioJumboStarCutscenePosZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oMarioLongJumpIsSlow", LVT_S32, offsetof(struct Object, oMarioLongJumpIsSlow), false, LOT_NONE, 1, sizeof(s32) }, + { "oMarioParticleFlags", LVT_S32, offsetof(struct Object, oMarioParticleFlags), false, LOT_NONE, 1, sizeof(s32) }, + { "oMarioPolePos", LVT_F32, offsetof(struct Object, oMarioPolePos), false, LOT_NONE, 1, sizeof(f32) }, + { "oMarioPoleUnk108", LVT_S32, offsetof(struct Object, oMarioPoleUnk108), false, LOT_NONE, 1, sizeof(s32) }, + { "oMarioPoleYawVel", LVT_S32, offsetof(struct Object, oMarioPoleYawVel), false, LOT_NONE, 1, sizeof(s32) }, + { "oMarioReadingSignDPosX", LVT_F32, offsetof(struct Object, oMarioReadingSignDPosX), false, LOT_NONE, 1, sizeof(f32) }, + { "oMarioReadingSignDPosZ", LVT_F32, offsetof(struct Object, oMarioReadingSignDPosZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oMarioReadingSignDYaw", LVT_S32, offsetof(struct Object, oMarioReadingSignDYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oMarioSteepJumpYaw", LVT_S32, offsetof(struct Object, oMarioSteepJumpYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oMarioTornadoPosY", LVT_F32, offsetof(struct Object, oMarioTornadoPosY), false, LOT_NONE, 1, sizeof(f32) }, + { "oMarioTornadoYawVel", LVT_S32, offsetof(struct Object, oMarioTornadoYawVel), false, LOT_NONE, 1, sizeof(s32) }, + { "oMarioWalkingPitch", LVT_S32, offsetof(struct Object, oMarioWalkingPitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oMarioWhirlpoolPosY", LVT_F32, offsetof(struct Object, oMarioWhirlpoolPosY), false, LOT_NONE, 1, sizeof(f32) }, + { "oMenuButtonActionPhase", LVT_S32, offsetof(struct Object, oMenuButtonActionPhase), false, LOT_NONE, 1, sizeof(s32) }, + { "oMenuButtonIsCustom", LVT_S32, offsetof(struct Object, oMenuButtonIsCustom), false, LOT_NONE, 1, sizeof(s32) }, + { "oMenuButtonOrigPosX", LVT_F32, offsetof(struct Object, oMenuButtonOrigPosX), false, LOT_NONE, 1, sizeof(f32) }, + { "oMenuButtonOrigPosY", LVT_F32, offsetof(struct Object, oMenuButtonOrigPosY), false, LOT_NONE, 1, sizeof(f32) }, + { "oMenuButtonOrigPosZ", LVT_F32, offsetof(struct Object, oMenuButtonOrigPosZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oMenuButtonScale", LVT_F32, offsetof(struct Object, oMenuButtonScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oMenuButtonState", LVT_S32, offsetof(struct Object, oMenuButtonState), false, LOT_NONE, 1, sizeof(s32) }, + { "oMenuButtonTimer", LVT_S32, offsetof(struct Object, oMenuButtonTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oMerryGoRoundBooManagerNumBoosKilled", LVT_S32, offsetof(struct Object, oMerryGoRoundBooManagerNumBoosKilled), false, LOT_NONE, 1, sizeof(s32) }, + { "oMerryGoRoundBooManagerNumBoosSpawned", LVT_S32, offsetof(struct Object, oMerryGoRoundBooManagerNumBoosSpawned), false, LOT_NONE, 1, sizeof(s32) }, + { "oMerryGoRoundMarioIsOutside", LVT_S32, offsetof(struct Object, oMerryGoRoundMarioIsOutside), false, LOT_NONE, 1, sizeof(s32) }, + { "oMerryGoRoundMusicShouldPlay", LVT_S32, offsetof(struct Object, oMerryGoRoundMusicShouldPlay), false, LOT_NONE, 1, sizeof(s32) }, + { "oMerryGoRoundStopped", LVT_S32, offsetof(struct Object, oMerryGoRoundStopped), false, LOT_NONE, 1, sizeof(s32) }, + { "oMipsForwardVelocity", LVT_F32, offsetof(struct Object, oMipsForwardVelocity), false, LOT_NONE, 1, sizeof(f32) }, + { "oMipsStarStatus", LVT_S32, offsetof(struct Object, oMipsStarStatus), false, LOT_NONE, 1, sizeof(s32) }, + { "oMipsStartWaypointIndex", LVT_S32, offsetof(struct Object, oMipsStartWaypointIndex), false, LOT_NONE, 1, sizeof(s32) }, + { "oMoneybagJumpState", LVT_S32, offsetof(struct Object, oMoneybagJumpState), false, LOT_NONE, 1, sizeof(s32) }, + { "oMontyMoleCurrentHole", LVT_COBJECT_P, offsetof(struct Object, oMontyMoleCurrentHole), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "oMontyMoleHeightRelativeToFloor", LVT_F32, offsetof(struct Object, oMontyMoleHeightRelativeToFloor), false, LOT_NONE, 1, sizeof(f32) }, + { "oMontyMoleHoleCooldown", LVT_S32, offsetof(struct Object, oMontyMoleHoleCooldown), false, LOT_NONE, 1, sizeof(s32) }, + { "oMontyMoleHoleX", LVT_F32, offsetof(struct Object, oMontyMoleHoleX), false, LOT_NONE, 1, sizeof(f32) }, + { "oMontyMoleHoleY", LVT_F32, offsetof(struct Object, oMontyMoleHoleY), false, LOT_NONE, 1, sizeof(f32) }, + { "oMontyMoleHoleZ", LVT_F32, offsetof(struct Object, oMontyMoleHoleZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oMoveAnglePitch", LVT_S32, offsetof(struct Object, oMoveAnglePitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oMoveAngleRoll", LVT_S32, offsetof(struct Object, oMoveAngleRoll), false, LOT_NONE, 1, sizeof(s32) }, + { "oMoveAngleYaw", LVT_S32, offsetof(struct Object, oMoveAngleYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oMoveFlags", LVT_U32, offsetof(struct Object, oMoveFlags), false, LOT_NONE, 1, sizeof(u32) }, + { "oMovingFlameTimer", LVT_S32, offsetof(struct Object, oMovingFlameTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oMrBlizzardChangeInDizziness", LVT_F32, offsetof(struct Object, oMrBlizzardChangeInDizziness), false, LOT_NONE, 1, sizeof(f32) }, + { "oMrBlizzardDistFromHome", LVT_S32, offsetof(struct Object, oMrBlizzardDistFromHome), false, LOT_NONE, 1, sizeof(s32) }, + { "oMrBlizzardDizziness", LVT_F32, offsetof(struct Object, oMrBlizzardDizziness), false, LOT_NONE, 1, sizeof(f32) }, + { "oMrBlizzardGraphYOffset", LVT_F32, offsetof(struct Object, oMrBlizzardGraphYOffset), false, LOT_NONE, 1, sizeof(f32) }, + { "oMrBlizzardGraphYVel", LVT_F32, offsetof(struct Object, oMrBlizzardGraphYVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oMrBlizzardHeldObj", LVT_COBJECT_P, offsetof(struct Object, oMrBlizzardHeldObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "oMrBlizzardScale", LVT_F32, offsetof(struct Object, oMrBlizzardScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oMrBlizzardTargetMoveYaw", LVT_S32, offsetof(struct Object, oMrBlizzardTargetMoveYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oMrBlizzardTimer", LVT_S32, offsetof(struct Object, oMrBlizzardTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oMrISize", LVT_F32, offsetof(struct Object, oMrISize), false, LOT_NONE, 1, sizeof(f32) }, + { "oMrIUnk100", LVT_S32, offsetof(struct Object, oMrIUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oMrIUnk104", LVT_S32, offsetof(struct Object, oMrIUnk104), false, LOT_NONE, 1, sizeof(s32) }, + { "oMrIUnk108", LVT_S32, offsetof(struct Object, oMrIUnk108), false, LOT_NONE, 1, sizeof(s32) }, + { "oMrIUnk110", LVT_S32, offsetof(struct Object, oMrIUnk110), false, LOT_NONE, 1, sizeof(s32) }, + { "oMrIUnkF4", LVT_S32, offsetof(struct Object, oMrIUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oMrIUnkFC", LVT_S32, offsetof(struct Object, oMrIUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oNumLootCoins", LVT_S32, offsetof(struct Object, oNumLootCoins), false, LOT_NONE, 1, sizeof(s32) }, + { "oOpacity", LVT_S32, offsetof(struct Object, oOpacity), false, LOT_NONE, 1, sizeof(s32) }, + { "oOpenableGrillUnk88", LVT_S32, offsetof(struct Object, oOpenableGrillUnk88), false, LOT_NONE, 1, sizeof(s32) }, + { "oOpenableGrillUnkF4", LVT_COBJECT_P, offsetof(struct Object, oOpenableGrillUnkF4), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "oParentRelativePosX", LVT_F32, offsetof(struct Object, oParentRelativePosX), false, LOT_NONE, 1, sizeof(f32) }, + { "oParentRelativePosY", LVT_F32, offsetof(struct Object, oParentRelativePosY), false, LOT_NONE, 1, sizeof(f32) }, + { "oParentRelativePosZ", LVT_F32, offsetof(struct Object, oParentRelativePosZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oPathedPrevWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedPrevWaypoint), false, LOT_WAYPOINT, 1, sizeof(struct Waypoint*) }, + { "oPathedPrevWaypointFlags", LVT_S32, offsetof(struct Object, oPathedPrevWaypointFlags), false, LOT_NONE, 1, sizeof(s32) }, + { "oPathedStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPathedStartWaypoint), false, LOT_WAYPOINT, 1, sizeof(struct Waypoint*) }, + { "oPathedTargetPitch", LVT_S32, offsetof(struct Object, oPathedTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oPathedTargetYaw", LVT_S32, offsetof(struct Object, oPathedTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oPiranhaPlantScale", LVT_F32, offsetof(struct Object, oPiranhaPlantScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oPiranhaPlantSleepMusicState", LVT_S32, offsetof(struct Object, oPiranhaPlantSleepMusicState), false, LOT_NONE, 1, sizeof(s32) }, + { "oPitouneUnkF4", LVT_F32, offsetof(struct Object, oPitouneUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oPitouneUnkF8", LVT_F32, offsetof(struct Object, oPitouneUnkF8), false, LOT_NONE, 1, sizeof(f32) }, + { "oPitouneUnkFC", LVT_F32, offsetof(struct Object, oPitouneUnkFC), false, LOT_NONE, 1, sizeof(f32) }, + { "oPlatformOnTrackBaseBallIndex", LVT_S32, offsetof(struct Object, oPlatformOnTrackBaseBallIndex), false, LOT_NONE, 1, sizeof(s32) }, + { "oPlatformOnTrackDistMovedSinceLastBall", LVT_F32, offsetof(struct Object, oPlatformOnTrackDistMovedSinceLastBall), false, LOT_NONE, 1, sizeof(f32) }, + { "oPlatformOnTrackIsNotHMC", LVT_S16, offsetof(struct Object, oPlatformOnTrackIsNotHMC), false, LOT_NONE, 1, sizeof(s16) }, + { "oPlatformOnTrackIsNotSkiLift", LVT_S16, offsetof(struct Object, oPlatformOnTrackIsNotSkiLift), false, LOT_NONE, 1, sizeof(s16) }, + { "oPlatformOnTrackOffsetY", LVT_F32, offsetof(struct Object, oPlatformOnTrackOffsetY), false, LOT_NONE, 1, sizeof(f32) }, + { "oPlatformOnTrackPitch", LVT_S32, offsetof(struct Object, oPlatformOnTrackPitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oPlatformOnTrackPrevWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPlatformOnTrackPrevWaypoint), false, LOT_WAYPOINT, 1, sizeof(struct Waypoint*) }, + { "oPlatformOnTrackPrevWaypointFlags", LVT_S32, offsetof(struct Object, oPlatformOnTrackPrevWaypointFlags), false, LOT_NONE, 1, sizeof(s32) }, + { "oPlatformOnTrackSkiLiftRollVel", LVT_F32, offsetof(struct Object, oPlatformOnTrackSkiLiftRollVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oPlatformOnTrackStartWaypoint", LVT_COBJECT_P, offsetof(struct Object, oPlatformOnTrackStartWaypoint), false, LOT_WAYPOINT, 1, sizeof(struct Waypoint*) }, + { "oPlatformOnTrackType", LVT_S16, offsetof(struct Object, oPlatformOnTrackType), false, LOT_NONE, 1, sizeof(s16) }, + { "oPlatformOnTrackWasStoodOn", LVT_S16, offsetof(struct Object, oPlatformOnTrackWasStoodOn), false, LOT_NONE, 1, sizeof(s16) }, + { "oPlatformOnTrackYaw", LVT_S32, offsetof(struct Object, oPlatformOnTrackYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oPlatformSpawnerUnk100", LVT_F32, offsetof(struct Object, oPlatformSpawnerUnk100), false, LOT_NONE, 1, sizeof(f32) }, + { "oPlatformSpawnerUnk104", LVT_F32, offsetof(struct Object, oPlatformSpawnerUnk104), false, LOT_NONE, 1, sizeof(f32) }, + { "oPlatformSpawnerUnk108", LVT_F32, offsetof(struct Object, oPlatformSpawnerUnk108), false, LOT_NONE, 1, sizeof(f32) }, + { "oPlatformSpawnerUnkF4", LVT_S32, offsetof(struct Object, oPlatformSpawnerUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oPlatformSpawnerUnkF8", LVT_S32, offsetof(struct Object, oPlatformSpawnerUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oPlatformSpawnerUnkFC", LVT_S32, offsetof(struct Object, oPlatformSpawnerUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oPlatformTimer", LVT_S32, offsetof(struct Object, oPlatformTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oPlatformUnk10C", LVT_F32, offsetof(struct Object, oPlatformUnk10C), false, LOT_NONE, 1, sizeof(f32) }, + { "oPlatformUnk110", LVT_F32, offsetof(struct Object, oPlatformUnk110), false, LOT_NONE, 1, sizeof(f32) }, + { "oPlatformUnkF8", LVT_COBJECT_P, offsetof(struct Object, oPlatformUnkF8), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "oPlatformUnkFC", LVT_S32, offsetof(struct Object, oPlatformUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oPokeyAliveBodyPartFlags", LVT_U32, offsetof(struct Object, oPokeyAliveBodyPartFlags), false, LOT_NONE, 1, sizeof(u32) }, + { "oPokeyBodyPartBlinkTimer", LVT_S32, offsetof(struct Object, oPokeyBodyPartBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oPokeyBodyPartDeathDelayAfterHeadKilled", LVT_S32, offsetof(struct Object, oPokeyBodyPartDeathDelayAfterHeadKilled), false, LOT_NONE, 1, sizeof(s32) }, + { "oPokeyBottomBodyPartSize", LVT_F32, offsetof(struct Object, oPokeyBottomBodyPartSize), false, LOT_NONE, 1, sizeof(f32) }, + { "oPokeyChangeTargetTimer", LVT_S32, offsetof(struct Object, oPokeyChangeTargetTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oPokeyHeadWasKilled", LVT_S32, offsetof(struct Object, oPokeyHeadWasKilled), false, LOT_NONE, 1, sizeof(s32) }, + { "oPokeyNumAliveBodyParts", LVT_S32, offsetof(struct Object, oPokeyNumAliveBodyParts), false, LOT_NONE, 1, sizeof(s32) }, + { "oPokeyTargetYaw", LVT_S32, offsetof(struct Object, oPokeyTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oPokeyTurningAwayFromWall", LVT_S32, offsetof(struct Object, oPokeyTurningAwayFromWall), false, LOT_NONE, 1, sizeof(s32) }, + { "oPosX", LVT_F32, offsetof(struct Object, oPosX), false, LOT_NONE, 1, sizeof(f32) }, + { "oPosY", LVT_F32, offsetof(struct Object, oPosY), false, LOT_NONE, 1, sizeof(f32) }, + { "oPosZ", LVT_F32, offsetof(struct Object, oPosZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oPrevAction", LVT_S32, offsetof(struct Object, oPrevAction), false, LOT_NONE, 1, sizeof(s32) }, + { "oPyramidTopFragmentsScale", LVT_F32, offsetof(struct Object, oPyramidTopFragmentsScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oPyramidTopPillarsTouched", LVT_S32, offsetof(struct Object, oPyramidTopPillarsTouched), false, LOT_NONE, 1, sizeof(s32) }, + { "oRRCruiserWingUnkF4", LVT_S32, offsetof(struct Object, oRRCruiserWingUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oRRCruiserWingUnkF8", LVT_S32, offsetof(struct Object, oRRCruiserWingUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oRacingPenguinFinalTextbox", LVT_S16, offsetof(struct Object, oRacingPenguinFinalTextbox), false, LOT_NONE, 1, sizeof(s16) }, + { "oRacingPenguinInitTextCooldown", LVT_S32, offsetof(struct Object, oRacingPenguinInitTextCooldown), false, LOT_NONE, 1, sizeof(s32) }, + { "oRacingPenguinMarioCheated", LVT_S16, offsetof(struct Object, oRacingPenguinMarioCheated), false, LOT_NONE, 1, sizeof(s16) }, + { "oRacingPenguinMarioWon", LVT_S16, offsetof(struct Object, oRacingPenguinMarioWon), false, LOT_NONE, 1, sizeof(s16) }, + { "oRacingPenguinReachedBottom", LVT_S16, offsetof(struct Object, oRacingPenguinReachedBottom), false, LOT_NONE, 1, sizeof(s16) }, + { "oRacingPenguinWeightedNewTargetSpeed", LVT_F32, offsetof(struct Object, oRacingPenguinWeightedNewTargetSpeed), false, LOT_NONE, 1, sizeof(f32) }, +// { "oRespawnerBehaviorToRespawn", LVT_???, offsetof(struct Object, oRespawnerBehaviorToRespawn), true, LOT_???, 1, sizeof(const void*) }, <--- UNIMPLEMENTED + { "oRespawnerMinSpawnDist", LVT_F32, offsetof(struct Object, oRespawnerMinSpawnDist), false, LOT_NONE, 1, sizeof(f32) }, + { "oRespawnerModelToRespawn", LVT_S32, offsetof(struct Object, oRespawnerModelToRespawn), false, LOT_NONE, 1, sizeof(s32) }, + { "oRollingLogUnkF4", LVT_F32, offsetof(struct Object, oRollingLogUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oRoom", LVT_S32, offsetof(struct Object, oRoom), false, LOT_NONE, 1, sizeof(s32) }, + { "oSLSnowmanWindOriginalYaw", LVT_S32, offsetof(struct Object, oSLSnowmanWindOriginalYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oSLWalkingPenguinCurStep", LVT_S32, offsetof(struct Object, oSLWalkingPenguinCurStep), false, LOT_NONE, 1, sizeof(s32) }, + { "oSLWalkingPenguinCurStepTimer", LVT_S32, offsetof(struct Object, oSLWalkingPenguinCurStepTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oSLWalkingPenguinWindCollisionXPos", LVT_F32, offsetof(struct Object, oSLWalkingPenguinWindCollisionXPos), false, LOT_NONE, 1, sizeof(f32) }, + { "oSLWalkingPenguinWindCollisionZPos", LVT_F32, offsetof(struct Object, oSLWalkingPenguinWindCollisionZPos), false, LOT_NONE, 1, sizeof(f32) }, + { "oScuttlebugSpawnerUnk88", LVT_S32, offsetof(struct Object, oScuttlebugSpawnerUnk88), false, LOT_NONE, 1, sizeof(s32) }, + { "oScuttlebugSpawnerUnkF4", LVT_S32, offsetof(struct Object, oScuttlebugSpawnerUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oScuttlebugUnkF4", LVT_S32, offsetof(struct Object, oScuttlebugUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oScuttlebugUnkF8", LVT_S32, offsetof(struct Object, oScuttlebugUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oScuttlebugUnkFC", LVT_S32, offsetof(struct Object, oScuttlebugUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oSeesawPlatformPitchVel", LVT_F32, offsetof(struct Object, oSeesawPlatformPitchVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oShipPart3UnkF4", LVT_S32, offsetof(struct Object, oShipPart3UnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oShipPart3UnkF8", LVT_S32, offsetof(struct Object, oShipPart3UnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oSinkWhenSteppedOnUnk104", LVT_S32, offsetof(struct Object, oSinkWhenSteppedOnUnk104), false, LOT_NONE, 1, sizeof(s32) }, + { "oSinkWhenSteppedOnUnk108", LVT_F32, offsetof(struct Object, oSinkWhenSteppedOnUnk108), false, LOT_NONE, 1, sizeof(f32) }, + { "oSkeeterLastWaterY", LVT_F32, offsetof(struct Object, oSkeeterLastWaterY), false, LOT_NONE, 1, sizeof(f32) }, + { "oSkeeterTargetAngle", LVT_S32, offsetof(struct Object, oSkeeterTargetAngle), false, LOT_NONE, 1, sizeof(s32) }, + { "oSkeeterUnk1AC", LVT_S16, offsetof(struct Object, oSkeeterUnk1AC), false, LOT_NONE, 1, sizeof(s16) }, + { "oSkeeterUnkF8", LVT_S32, offsetof(struct Object, oSkeeterUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oSkeeterUnkFC", LVT_F32, offsetof(struct Object, oSkeeterUnkFC), false, LOT_NONE, 1, sizeof(f32) }, + { "oSkeeterWaitTime", LVT_S32, offsetof(struct Object, oSkeeterWaitTime), false, LOT_NONE, 1, sizeof(s32) }, + { "oSmallBompInitX", LVT_F32, offsetof(struct Object, oSmallBompInitX), false, LOT_NONE, 1, sizeof(f32) }, + { "oSmallPenguinUnk100", LVT_S32, offsetof(struct Object, oSmallPenguinUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oSmallPenguinUnk104", LVT_F32, offsetof(struct Object, oSmallPenguinUnk104), false, LOT_NONE, 1, sizeof(f32) }, + { "oSmallPenguinUnk108", LVT_F32, offsetof(struct Object, oSmallPenguinUnk108), false, LOT_NONE, 1, sizeof(f32) }, + { "oSmallPenguinUnk110", LVT_S32, offsetof(struct Object, oSmallPenguinUnk110), false, LOT_NONE, 1, sizeof(s32) }, + { "oSmallPenguinUnk88", LVT_S32, offsetof(struct Object, oSmallPenguinUnk88), false, LOT_NONE, 1, sizeof(s32) }, + { "oSmallPiranhaFlameEndSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameEndSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oSmallPiranhaFlameModel", LVT_S32, offsetof(struct Object, oSmallPiranhaFlameModel), false, LOT_NONE, 1, sizeof(s32) }, + { "oSmallPiranhaFlameNextFlameTimer", LVT_S32, offsetof(struct Object, oSmallPiranhaFlameNextFlameTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oSmallPiranhaFlameSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oSmallPiranhaFlameStartSpeed", LVT_F32, offsetof(struct Object, oSmallPiranhaFlameStartSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oSmokeTimer", LVT_S32, offsetof(struct Object, oSmokeTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oSnowmansBottomUnk1AC", LVT_S32, offsetof(struct Object, oSnowmansBottomUnk1AC), false, LOT_NONE, 1, sizeof(s32) }, + { "oSnowmansBottomUnkF4", LVT_F32, offsetof(struct Object, oSnowmansBottomUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oSnowmansBottomUnkF8", LVT_S32, offsetof(struct Object, oSnowmansBottomUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oSnowmansHeadUnkF4", LVT_S32, offsetof(struct Object, oSnowmansHeadUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oSnufitBodyBaseScale", LVT_S32, offsetof(struct Object, oSnufitBodyBaseScale), false, LOT_NONE, 1, sizeof(s32) }, + { "oSnufitBodyScale", LVT_S16, offsetof(struct Object, oSnufitBodyScale), false, LOT_NONE, 1, sizeof(s16) }, + { "oSnufitBodyScalePeriod", LVT_S32, offsetof(struct Object, oSnufitBodyScalePeriod), false, LOT_NONE, 1, sizeof(s32) }, + { "oSnufitBullets", LVT_S32, offsetof(struct Object, oSnufitBullets), false, LOT_NONE, 1, sizeof(s32) }, + { "oSnufitCircularPeriod", LVT_S32, offsetof(struct Object, oSnufitCircularPeriod), false, LOT_NONE, 1, sizeof(s32) }, + { "oSnufitRecoil", LVT_S32, offsetof(struct Object, oSnufitRecoil), false, LOT_NONE, 1, sizeof(s32) }, + { "oSnufitScale", LVT_F32, offsetof(struct Object, oSnufitScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oSnufitXOffset", LVT_S16, offsetof(struct Object, oSnufitXOffset), false, LOT_NONE, 1, sizeof(s16) }, + { "oSnufitYOffset", LVT_S16, offsetof(struct Object, oSnufitYOffset), false, LOT_NONE, 1, sizeof(s16) }, + { "oSnufitZOffset", LVT_S16, offsetof(struct Object, oSnufitZOffset), false, LOT_NONE, 1, sizeof(s16) }, + { "oSoundEffectUnkF4", LVT_S32, offsetof(struct Object, oSoundEffectUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oSoundStateID", LVT_S32, offsetof(struct Object, oSoundStateID), false, LOT_NONE, 1, sizeof(s32) }, + { "oSparkleSpawnUnk1B0", LVT_S32, offsetof(struct Object, oSparkleSpawnUnk1B0), false, LOT_NONE, 1, sizeof(s32) }, + { "oSpindelUnkF4", LVT_S32, offsetof(struct Object, oSpindelUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oSpindelUnkF8", LVT_S32, offsetof(struct Object, oSpindelUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oSpinningHeartPlayedSound", LVT_S32, offsetof(struct Object, oSpinningHeartPlayedSound), false, LOT_NONE, 1, sizeof(s32) }, + { "oSpinningHeartTotalSpin", LVT_S32, offsetof(struct Object, oSpinningHeartTotalSpin), false, LOT_NONE, 1, sizeof(s32) }, + { "oSpinyTargetYaw", LVT_S32, offsetof(struct Object, oSpinyTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oSpinyTimeUntilTurn", LVT_S32, offsetof(struct Object, oSpinyTimeUntilTurn), false, LOT_NONE, 1, sizeof(s32) }, + { "oSpinyTurningAwayFromWall", LVT_S32, offsetof(struct Object, oSpinyTurningAwayFromWall), false, LOT_NONE, 1, sizeof(s32) }, +// { "oStarBehavior", LVT_???, offsetof(struct Object, oStarBehavior), true, LOT_???, 1, sizeof(const void*) }, <--- UNIMPLEMENTED + { "oStarSelectorSize", LVT_F32, offsetof(struct Object, oStarSelectorSize), false, LOT_NONE, 1, sizeof(f32) }, + { "oStarSelectorTimer", LVT_S32, offsetof(struct Object, oStarSelectorTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oStarSelectorType", LVT_S32, offsetof(struct Object, oStarSelectorType), false, LOT_NONE, 1, sizeof(s32) }, + { "oStarSpawnDisFromHome", LVT_F32, offsetof(struct Object, oStarSpawnDisFromHome), false, LOT_NONE, 1, sizeof(f32) }, + { "oStarSpawnExtCutsceneFlags", LVT_S16, offsetof(struct Object, oStarSpawnExtCutsceneFlags), false, LOT_NONE, 1, sizeof(s16) }, + { "oStarSpawnUnkFC", LVT_F32, offsetof(struct Object, oStarSpawnUnkFC), false, LOT_NONE, 1, sizeof(f32) }, + { "oStrongWindParticlePenguinObj", LVT_COBJECT_P, offsetof(struct Object, oStrongWindParticlePenguinObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "oSubAction", LVT_S32, offsetof(struct Object, oSubAction), false, LOT_NONE, 1, sizeof(s32) }, + { "oSushiSharkUnkF4", LVT_S32, offsetof(struct Object, oSushiSharkUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oSwingPlatformAngle", LVT_F32, offsetof(struct Object, oSwingPlatformAngle), false, LOT_NONE, 1, sizeof(f32) }, + { "oSwingPlatformSpeed", LVT_F32, offsetof(struct Object, oSwingPlatformSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oSwoopBonkCountdown", LVT_S32, offsetof(struct Object, oSwoopBonkCountdown), false, LOT_NONE, 1, sizeof(s32) }, + { "oSwoopTargetPitch", LVT_S32, offsetof(struct Object, oSwoopTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oSwoopTargetYaw", LVT_S32, offsetof(struct Object, oSwoopTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oSyncDeath", LVT_U32, offsetof(struct Object, oSyncDeath), false, LOT_NONE, 1, sizeof(u32) }, + { "oSyncID", LVT_U32, offsetof(struct Object, oSyncID), true, LOT_NONE, 1, sizeof(u32) }, + { "oTTC2DRotatorIncrement", LVT_S32, offsetof(struct Object, oTTC2DRotatorIncrement), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTC2DRotatorMinTimeUntilNextTurn", LVT_S32, offsetof(struct Object, oTTC2DRotatorMinTimeUntilNextTurn), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTC2DRotatorRandomDirTimer", LVT_S32, offsetof(struct Object, oTTC2DRotatorRandomDirTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTC2DRotatorSpeed", LVT_S32, offsetof(struct Object, oTTC2DRotatorSpeed), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTC2DRotatorTargetYaw", LVT_S32, offsetof(struct Object, oTTC2DRotatorTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCChangeDirTimer", LVT_S32, offsetof(struct Object, oTTCChangeDirTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCCogDir", LVT_F32, offsetof(struct Object, oTTCCogDir), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCCogSpeed", LVT_F32, offsetof(struct Object, oTTCCogSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCCogTargetVel", LVT_F32, offsetof(struct Object, oTTCCogTargetVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCElevatorDir", LVT_F32, offsetof(struct Object, oTTCElevatorDir), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCElevatorMoveTime", LVT_S32, offsetof(struct Object, oTTCElevatorMoveTime), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCElevatorPeakY", LVT_F32, offsetof(struct Object, oTTCElevatorPeakY), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCMovingBarDelay", LVT_S32, offsetof(struct Object, oTTCMovingBarDelay), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCMovingBarOffset", LVT_F32, offsetof(struct Object, oTTCMovingBarOffset), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCMovingBarSpeed", LVT_F32, offsetof(struct Object, oTTCMovingBarSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCMovingBarStartOffset", LVT_F32, offsetof(struct Object, oTTCMovingBarStartOffset), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCMovingBarStoppedTimer", LVT_S32, offsetof(struct Object, oTTCMovingBarStoppedTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCPendulumAccelDir", LVT_F32, offsetof(struct Object, oTTCPendulumAccelDir), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCPendulumAngle", LVT_F32, offsetof(struct Object, oTTCPendulumAngle), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCPendulumAngleAccel", LVT_F32, offsetof(struct Object, oTTCPendulumAngleAccel), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCPendulumAngleVel", LVT_F32, offsetof(struct Object, oTTCPendulumAngleVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCPendulumDelay", LVT_S32, offsetof(struct Object, oTTCPendulumDelay), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCPendulumSoundTimer", LVT_S32, offsetof(struct Object, oTTCPendulumSoundTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCPitBlockDir", LVT_S32, offsetof(struct Object, oTTCPitBlockDir), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCPitBlockPeakY", LVT_F32, offsetof(struct Object, oTTCPitBlockPeakY), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCPitBlockWaitTime", LVT_S32, offsetof(struct Object, oTTCPitBlockWaitTime), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCRotatingSolidNumSides", LVT_S32, offsetof(struct Object, oTTCRotatingSolidNumSides), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCRotatingSolidNumTurns", LVT_S32, offsetof(struct Object, oTTCRotatingSolidNumTurns), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCRotatingSolidRotationDelay", LVT_S32, offsetof(struct Object, oTTCRotatingSolidRotationDelay), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCRotatingSolidSoundTimer", LVT_S32, offsetof(struct Object, oTTCRotatingSolidSoundTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCRotatingSolidVelY", LVT_F32, offsetof(struct Object, oTTCRotatingSolidVelY), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCSpinnerDir", LVT_S32, offsetof(struct Object, oTTCSpinnerDir), false, LOT_NONE, 1, sizeof(s32) }, + { "oTTCTreadmillBigSurface", LVT_S16_P, offsetof(struct Object, oTTCTreadmillBigSurface), true, LOT_POINTER, 1, sizeof(s16*) }, + { "oTTCTreadmillSmallSurface", LVT_S16_P, offsetof(struct Object, oTTCTreadmillSmallSurface), true, LOT_POINTER, 1, sizeof(s16*) }, + { "oTTCTreadmillSpeed", LVT_F32, offsetof(struct Object, oTTCTreadmillSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCTreadmillTargetSpeed", LVT_F32, offsetof(struct Object, oTTCTreadmillTargetSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oTTCTreadmillTimeUntilSwitch", LVT_S32, offsetof(struct Object, oTTCTreadmillTimeUntilSwitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oThwompRandomTimer", LVT_S32, offsetof(struct Object, oThwompRandomTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oTiltingPyramidMarioOnPlatform", LVT_S32, offsetof(struct Object, oTiltingPyramidMarioOnPlatform), false, LOT_NONE, 1, sizeof(s32) }, + { "oTiltingPyramidNormalX", LVT_F32, offsetof(struct Object, oTiltingPyramidNormalX), false, LOT_NONE, 1, sizeof(f32) }, + { "oTiltingPyramidNormalY", LVT_F32, offsetof(struct Object, oTiltingPyramidNormalY), false, LOT_NONE, 1, sizeof(f32) }, + { "oTiltingPyramidNormalZ", LVT_F32, offsetof(struct Object, oTiltingPyramidNormalZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oTimer", LVT_S32, offsetof(struct Object, oTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oToadMessageDialogId", LVT_S32, offsetof(struct Object, oToadMessageDialogId), false, LOT_NONE, 1, sizeof(s32) }, + { "oToadMessageRecentlyTalked", LVT_S32, offsetof(struct Object, oToadMessageRecentlyTalked), false, LOT_NONE, 1, sizeof(s32) }, + { "oToadMessageState", LVT_S32, offsetof(struct Object, oToadMessageState), false, LOT_NONE, 1, sizeof(s32) }, +// { "oToxBoxMovementPattern", LVT_???, offsetof(struct Object, oToxBoxMovementPattern), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED + { "oToxBoxMovementStep", LVT_S32, offsetof(struct Object, oToxBoxMovementStep), false, LOT_NONE, 1, sizeof(s32) }, + { "oTreasureChestCurrentAnswer", LVT_S32, offsetof(struct Object, oTreasureChestCurrentAnswer), false, LOT_NONE, 1, sizeof(s32) }, + { "oTreasureChestIsAboveWater", LVT_S32, offsetof(struct Object, oTreasureChestIsAboveWater), false, LOT_NONE, 1, sizeof(s32) }, + { "oTreasureChestIsLastInteractionIncorrect", LVT_S32, offsetof(struct Object, oTreasureChestIsLastInteractionIncorrect), false, LOT_NONE, 1, sizeof(s32) }, + { "oTreasureChestLastNetworkPlayerIndex", LVT_S16, offsetof(struct Object, oTreasureChestLastNetworkPlayerIndex), false, LOT_NONE, 1, sizeof(s16) }, + { "oTreasureChestSound", LVT_S32, offsetof(struct Object, oTreasureChestSound), false, LOT_NONE, 1, sizeof(s32) }, + { "oTreeSnowOrLeafUnkF4", LVT_S32, offsetof(struct Object, oTreeSnowOrLeafUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oTreeSnowOrLeafUnkF8", LVT_S32, offsetof(struct Object, oTreeSnowOrLeafUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oTreeSnowOrLeafUnkFC", LVT_S32, offsetof(struct Object, oTreeSnowOrLeafUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oTripletButterflyBaseYaw", LVT_F32, offsetof(struct Object, oTripletButterflyBaseYaw), false, LOT_NONE, 1, sizeof(f32) }, + { "oTripletButterflyModel", LVT_S32, offsetof(struct Object, oTripletButterflyModel), false, LOT_NONE, 1, sizeof(s32) }, + { "oTripletButterflyScale", LVT_F32, offsetof(struct Object, oTripletButterflyScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oTripletButterflyScalePhase", LVT_S32, offsetof(struct Object, oTripletButterflyScalePhase), false, LOT_NONE, 1, sizeof(s32) }, + { "oTripletButterflySelectedButterfly", LVT_S32, offsetof(struct Object, oTripletButterflySelectedButterfly), false, LOT_NONE, 1, sizeof(s32) }, + { "oTripletButterflySpeed", LVT_F32, offsetof(struct Object, oTripletButterflySpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oTripletButterflyTargetPitch", LVT_S32, offsetof(struct Object, oTripletButterflyTargetPitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oTripletButterflyTargetYaw", LVT_S32, offsetof(struct Object, oTripletButterflyTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oTripletButterflyType", LVT_S32, offsetof(struct Object, oTripletButterflyType), false, LOT_NONE, 1, sizeof(s32) }, + { "oTumblingBridgeUnkF4", LVT_S32, offsetof(struct Object, oTumblingBridgeUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oTweesterScaleTimer", LVT_S32, offsetof(struct Object, oTweesterScaleTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oTweesterUnused", LVT_S32, offsetof(struct Object, oTweesterUnused), false, LOT_NONE, 1, sizeof(s32) }, + { "oUkikiCageNextAction", LVT_S32, offsetof(struct Object, oUkikiCageNextAction), false, LOT_NONE, 1, sizeof(s32) }, + { "oUkikiCageSpinTimer", LVT_S16, offsetof(struct Object, oUkikiCageSpinTimer), false, LOT_NONE, 1, sizeof(s16) }, + { "oUkikiChaseFleeRange", LVT_F32, offsetof(struct Object, oUkikiChaseFleeRange), false, LOT_NONE, 1, sizeof(f32) }, + { "oUkikiHasCap", LVT_S16, offsetof(struct Object, oUkikiHasCap), false, LOT_NONE, 1, sizeof(s16) }, + { "oUkikiTauntCounter", LVT_S16, offsetof(struct Object, oUkikiTauntCounter), false, LOT_NONE, 1, sizeof(s16) }, + { "oUkikiTauntsToBeDone", LVT_S16, offsetof(struct Object, oUkikiTauntsToBeDone), false, LOT_NONE, 1, sizeof(s16) }, + { "oUkikiTextState", LVT_S16, offsetof(struct Object, oUkikiTextState), false, LOT_NONE, 1, sizeof(s16) }, + { "oUkikiTextboxTimer", LVT_S16, offsetof(struct Object, oUkikiTextboxTimer), false, LOT_NONE, 1, sizeof(s16) }, + { "oUnagiUnk110", LVT_F32, offsetof(struct Object, oUnagiUnk110), false, LOT_NONE, 1, sizeof(f32) }, + { "oUnagiUnk1AC", LVT_F32, offsetof(struct Object, oUnagiUnk1AC), false, LOT_NONE, 1, sizeof(f32) }, + { "oUnagiUnk1B0", LVT_S16, offsetof(struct Object, oUnagiUnk1B0), false, LOT_NONE, 1, sizeof(s16) }, + { "oUnagiUnk1B2", LVT_S16, offsetof(struct Object, oUnagiUnk1B2), false, LOT_NONE, 1, sizeof(s16) }, + { "oUnagiUnkF4", LVT_F32, offsetof(struct Object, oUnagiUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oUnagiUnkF8", LVT_F32, offsetof(struct Object, oUnagiUnkF8), false, LOT_NONE, 1, sizeof(f32) }, + { "oUnk1A8", LVT_U32, offsetof(struct Object, oUnk1A8), false, LOT_NONE, 1, sizeof(u32) }, + { "oUnk94", LVT_U32, offsetof(struct Object, oUnk94), false, LOT_NONE, 1, sizeof(u32) }, + { "oUnkBC", LVT_F32, offsetof(struct Object, oUnkBC), false, LOT_NONE, 1, sizeof(f32) }, + { "oUnkC0", LVT_F32, offsetof(struct Object, oUnkC0), false, LOT_NONE, 1, sizeof(f32) }, + { "oUnlockDoorStarState", LVT_U32, offsetof(struct Object, oUnlockDoorStarState), false, LOT_NONE, 1, sizeof(u32) }, + { "oUnlockDoorStarTimer", LVT_S32, offsetof(struct Object, oUnlockDoorStarTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oUnlockDoorStarYawVel", LVT_S32, offsetof(struct Object, oUnlockDoorStarYawVel), false, LOT_NONE, 1, sizeof(s32) }, + { "oVelX", LVT_F32, offsetof(struct Object, oVelX), false, LOT_NONE, 1, sizeof(f32) }, + { "oVelY", LVT_F32, offsetof(struct Object, oVelY), false, LOT_NONE, 1, sizeof(f32) }, + { "oVelZ", LVT_F32, offsetof(struct Object, oVelZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oWFSlidBrickPtfmMovVel", LVT_F32, offsetof(struct Object, oWFSlidBrickPtfmMovVel), false, LOT_NONE, 1, sizeof(f32) }, + { "oWallAngle", LVT_S32, offsetof(struct Object, oWallAngle), false, LOT_NONE, 1, sizeof(s32) }, + { "oWallHitboxRadius", LVT_F32, offsetof(struct Object, oWallHitboxRadius), false, LOT_NONE, 1, sizeof(f32) }, + { "oWaterBombNumBounces", LVT_F32, offsetof(struct Object, oWaterBombNumBounces), false, LOT_NONE, 1, sizeof(f32) }, + { "oWaterBombOnGround", LVT_S32, offsetof(struct Object, oWaterBombOnGround), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterBombSpawnerBombActive", LVT_S32, offsetof(struct Object, oWaterBombSpawnerBombActive), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterBombSpawnerTimeToSpawn", LVT_S32, offsetof(struct Object, oWaterBombSpawnerTimeToSpawn), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterBombStretchSpeed", LVT_F32, offsetof(struct Object, oWaterBombStretchSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oWaterBombVerticalStretch", LVT_F32, offsetof(struct Object, oWaterBombVerticalStretch), false, LOT_NONE, 1, sizeof(f32) }, + { "oWaterCannonUnk100", LVT_S32, offsetof(struct Object, oWaterCannonUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterCannonUnkF4", LVT_S32, offsetof(struct Object, oWaterCannonUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterCannonUnkF8", LVT_S32, offsetof(struct Object, oWaterCannonUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterCannonUnkFC", LVT_S32, offsetof(struct Object, oWaterCannonUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterLevelPillarDrained", LVT_S32, offsetof(struct Object, oWaterLevelPillarDrained), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterLevelTriggerTargetWaterLevel", LVT_S32, offsetof(struct Object, oWaterLevelTriggerTargetWaterLevel), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterLevelTriggerUnkF4", LVT_S32, offsetof(struct Object, oWaterLevelTriggerUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterObjUnk100", LVT_S32, offsetof(struct Object, oWaterObjUnk100), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterObjUnkF4", LVT_S32, offsetof(struct Object, oWaterObjUnkF4), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterObjUnkF8", LVT_S32, offsetof(struct Object, oWaterObjUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterObjUnkFC", LVT_S32, offsetof(struct Object, oWaterObjUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterRingAvgScale", LVT_F32, offsetof(struct Object, oWaterRingAvgScale), false, LOT_NONE, 1, sizeof(f32) }, + { "oWaterRingIndex", LVT_S32, offsetof(struct Object, oWaterRingIndex), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterRingMarioDistInFront", LVT_F32, offsetof(struct Object, oWaterRingMarioDistInFront), false, LOT_NONE, 1, sizeof(f32) }, + { "oWaterRingMgrLastRingCollected", LVT_S32, offsetof(struct Object, oWaterRingMgrLastRingCollected), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterRingMgrNextRingIndex", LVT_S32, offsetof(struct Object, oWaterRingMgrNextRingIndex), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterRingNormalX", LVT_F32, offsetof(struct Object, oWaterRingNormalX), false, LOT_NONE, 1, sizeof(f32) }, + { "oWaterRingNormalY", LVT_F32, offsetof(struct Object, oWaterRingNormalY), false, LOT_NONE, 1, sizeof(f32) }, + { "oWaterRingNormalZ", LVT_F32, offsetof(struct Object, oWaterRingNormalZ), false, LOT_NONE, 1, sizeof(f32) }, + { "oWaterRingScalePhaseX", LVT_S32, offsetof(struct Object, oWaterRingScalePhaseX), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterRingScalePhaseY", LVT_S32, offsetof(struct Object, oWaterRingScalePhaseY), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterRingScalePhaseZ", LVT_S32, offsetof(struct Object, oWaterRingScalePhaseZ), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaterRingSpawnerRingsCollected", LVT_S32, offsetof(struct Object, oWaterRingSpawnerRingsCollected), false, LOT_NONE, 1, sizeof(s32) }, + { "oWaveTrailSize", LVT_F32, offsetof(struct Object, oWaveTrailSize), false, LOT_NONE, 1, sizeof(f32) }, + { "oWhirlpoolInitFacePitch", LVT_S32, offsetof(struct Object, oWhirlpoolInitFacePitch), false, LOT_NONE, 1, sizeof(s32) }, + { "oWhirlpoolInitFaceRoll", LVT_S32, offsetof(struct Object, oWhirlpoolInitFaceRoll), false, LOT_NONE, 1, sizeof(s32) }, + { "oWhirlpoolTimeout", LVT_S32, offsetof(struct Object, oWhirlpoolTimeout), false, LOT_NONE, 1, sizeof(s32) }, + { "oWhitePuffUnkF4", LVT_F32, offsetof(struct Object, oWhitePuffUnkF4), false, LOT_NONE, 1, sizeof(f32) }, + { "oWhitePuffUnkF8", LVT_S32, offsetof(struct Object, oWhitePuffUnkF8), false, LOT_NONE, 1, sizeof(s32) }, + { "oWhitePuffUnkFC", LVT_S32, offsetof(struct Object, oWhitePuffUnkFC), false, LOT_NONE, 1, sizeof(s32) }, + { "oWhompShakeVal", LVT_S32, offsetof(struct Object, oWhompShakeVal), false, LOT_NONE, 1, sizeof(s32) }, + { "oWigglerFallThroughFloorsHeight", LVT_F32, offsetof(struct Object, oWigglerFallThroughFloorsHeight), false, LOT_NONE, 1, sizeof(f32) }, +// { "oWigglerSegments", LVT_COBJECT_P, offsetof(struct Object, oWigglerSegments), true, LOT_???, 1, sizeof(struct ChainSegment*) }, <--- UNIMPLEMENTED + { "oWigglerSquishSpeed", LVT_F32, offsetof(struct Object, oWigglerSquishSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oWigglerTargetYaw", LVT_S32, offsetof(struct Object, oWigglerTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "oWigglerTextStatus", LVT_S16, offsetof(struct Object, oWigglerTextStatus), false, LOT_NONE, 1, sizeof(s16) }, + { "oWigglerTimeUntilRandomTurn", LVT_S32, offsetof(struct Object, oWigglerTimeUntilRandomTurn), false, LOT_NONE, 1, sizeof(s32) }, + { "oWigglerUnused", LVT_S16, offsetof(struct Object, oWigglerUnused), false, LOT_NONE, 1, sizeof(s16) }, + { "oWigglerWalkAnimSpeed", LVT_F32, offsetof(struct Object, oWigglerWalkAnimSpeed), false, LOT_NONE, 1, sizeof(f32) }, + { "oWigglerWalkAwayFromWallTimer", LVT_S32, offsetof(struct Object, oWigglerWalkAwayFromWallTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oWoodenPostMarioPounding", LVT_S32, offsetof(struct Object, oWoodenPostMarioPounding), false, LOT_NONE, 1, sizeof(s32) }, + { "oWoodenPostOffsetY", LVT_F32, offsetof(struct Object, oWoodenPostOffsetY), false, LOT_NONE, 1, sizeof(f32) }, + { "oWoodenPostPrevAngleToMario", LVT_S32, offsetof(struct Object, oWoodenPostPrevAngleToMario), false, LOT_NONE, 1, sizeof(s32) }, + { "oWoodenPostSpeedY", LVT_F32, offsetof(struct Object, oWoodenPostSpeedY), false, LOT_NONE, 1, sizeof(f32) }, + { "oWoodenPostTotalMarioAngle", LVT_S32, offsetof(struct Object, oWoodenPostTotalMarioAngle), false, LOT_NONE, 1, sizeof(s32) }, + { "oYoshiBlinkTimer", LVT_S32, offsetof(struct Object, oYoshiBlinkTimer), false, LOT_NONE, 1, sizeof(s32) }, + { "oYoshiChosenHome", LVT_S32, offsetof(struct Object, oYoshiChosenHome), false, LOT_NONE, 1, sizeof(s32) }, + { "oYoshiTargetYaw", LVT_S32, offsetof(struct Object, oYoshiTargetYaw), false, LOT_NONE, 1, sizeof(s32) }, + { "parentObj", LVT_COBJECT_P, offsetof(struct Object, parentObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "platform", LVT_COBJECT_P, offsetof(struct Object, platform), false, LOT_OBJECT, 1, sizeof(struct Object*) }, + { "prevObj", LVT_COBJECT_P, offsetof(struct Object, prevObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, +// { "ptrData", LVT_???, offsetof(struct Object, ptrData), false, LOT_???, 1, sizeof(union { ... }) }, <--- UNIMPLEMENTED +// { "rawData", LVT_???, offsetof(struct Object, rawData), false, LOT_???, 1, sizeof(union { ... }) }, <--- UNIMPLEMENTED +// { "respawnInfo", LVT_???, offsetof(struct Object, respawnInfo), false, LOT_???, 1, sizeof(void*) }, <--- UNIMPLEMENTED + { "respawnInfoType", LVT_S16, offsetof(struct Object, respawnInfoType), true, LOT_NONE, 1, sizeof(s16) }, + { "setHome", LVT_U8, offsetof(struct Object, setHome), false, LOT_NONE, 1, sizeof(u8) }, + { "transform", LVT_COBJECT, offsetof(struct Object, transform), true, LOT_MAT4, 1, sizeof(Mat4) }, + { "unused1", LVT_U32, offsetof(struct Object, unused1), false, LOT_NONE, 1, sizeof(u32) }, + { "usingObj", LVT_COBJECT_P, offsetof(struct Object, usingObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, }; #define LUA_OBJECT_HITBOX_FIELD_COUNT 9 @@ -2575,12 +2421,6 @@ static struct LuaObjectField sObjectWarpNodeFields[LUA_OBJECT_WARP_NODE_FIELD_CO { "object", LVT_COBJECT_P, offsetof(struct ObjectWarpNode, object), false, LOT_OBJECT, 1, sizeof(struct Object*) }, }; -#define LUA_OFFSET_SIZE_PAIR_FIELD_COUNT 2 -static struct LuaObjectField sOffsetSizePairFields[LUA_OFFSET_SIZE_PAIR_FIELD_COUNT] = { - { "offset", LVT_U32, offsetof(struct OffsetSizePair, offset), false, LOT_NONE, 1, sizeof(u32) }, - { "size", LVT_U32, offsetof(struct OffsetSizePair, size), false, LOT_NONE, 1, sizeof(u32) }, -}; - #define LUA_PAINTING_FIELD_COUNT 36 static struct LuaObjectField sPaintingFields[LUA_PAINTING_FIELD_COUNT] = { { "alpha", LVT_U8, offsetof(struct Painting, alpha), false, LOT_NONE, 1, sizeof(u8) }, @@ -2621,12 +2461,6 @@ static struct LuaObjectField sPaintingFields[LUA_PAINTING_FIELD_COUNT] = { { "yaw", LVT_F32, offsetof(struct Painting, yaw), false, LOT_NONE, 1, sizeof(f32) }, }; -#define LUA_PAINTING_MESH_VERTEX_FIELD_COUNT 2 -static struct LuaObjectField sPaintingMeshVertexFields[LUA_PAINTING_MESH_VERTEX_FIELD_COUNT] = { - { "norm", LVT_S8, offsetof(struct PaintingMeshVertex, norm), false, LOT_NONE, 3, sizeof(s8) }, - { "pos", LVT_S16, offsetof(struct PaintingMeshVertex, pos), false, LOT_NONE, 3, sizeof(s16) }, -}; - #define LUA_PAINTING_VALUES_FIELD_COUNT 16 static struct LuaObjectField sPaintingValuesFields[LUA_PAINTING_VALUES_FIELD_COUNT] = { { "bob_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, bob_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, @@ -2647,14 +2481,6 @@ static struct LuaObjectField sPaintingValuesFields[LUA_PAINTING_VALUES_FIELD_COU { "wf_painting", LVT_COBJECT_P, offsetof(struct PaintingValues, wf_painting), false, LOT_PAINTING, 1, sizeof(struct Painting*) }, }; -#define LUA_PARALLEL_TRACKING_POINT_FIELD_COUNT 4 -static struct LuaObjectField sParallelTrackingPointFields[LUA_PARALLEL_TRACKING_POINT_FIELD_COUNT] = { - { "distThresh", LVT_F32, offsetof(struct ParallelTrackingPoint, distThresh), false, LOT_NONE, 1, sizeof(f32) }, - { "pos", LVT_COBJECT, offsetof(struct ParallelTrackingPoint, pos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "startOfPath", LVT_S16, offsetof(struct ParallelTrackingPoint, startOfPath), false, LOT_NONE, 1, sizeof(s16) }, - { "zoom", LVT_F32, offsetof(struct ParallelTrackingPoint, zoom), false, LOT_NONE, 1, sizeof(f32) }, -}; - #define LUA_PLAYER_CAMERA_STATE_FIELD_COUNT 7 static struct LuaObjectField sPlayerCameraStateFields[LUA_PLAYER_CAMERA_STATE_FIELD_COUNT] = { { "action", LVT_U32, offsetof(struct PlayerCameraState, action), false, LOT_NONE, 1, sizeof(u32) }, @@ -2666,28 +2492,6 @@ static struct LuaObjectField sPlayerCameraStateFields[LUA_PLAYER_CAMERA_STATE_FI { "usedObj", LVT_COBJECT_P, offsetof(struct PlayerCameraState, usedObj), false, LOT_OBJECT, 1, sizeof(struct Object*) }, }; -#define LUA_PLAYER_GEOMETRY_FIELD_COUNT 13 -static struct LuaObjectField sPlayerGeometryFields[LUA_PLAYER_GEOMETRY_FIELD_COUNT] = { - { "currCeil", LVT_COBJECT_P, offsetof(struct PlayerGeometry, currCeil), false, LOT_SURFACE, 1, sizeof(struct Surface*) }, - { "currCeilHeight", LVT_F32, offsetof(struct PlayerGeometry, currCeilHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "currCeilType", LVT_S16, offsetof(struct PlayerGeometry, currCeilType), false, LOT_NONE, 1, sizeof(s16) }, - { "currFloor", LVT_COBJECT_P, offsetof(struct PlayerGeometry, currFloor), false, LOT_SURFACE, 1, sizeof(struct Surface*) }, - { "currFloorHeight", LVT_F32, offsetof(struct PlayerGeometry, currFloorHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "currFloorType", LVT_S16, offsetof(struct PlayerGeometry, currFloorType), false, LOT_NONE, 1, sizeof(s16) }, - { "prevCeil", LVT_COBJECT_P, offsetof(struct PlayerGeometry, prevCeil), false, LOT_SURFACE, 1, sizeof(struct Surface*) }, - { "prevCeilHeight", LVT_F32, offsetof(struct PlayerGeometry, prevCeilHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "prevCeilType", LVT_S16, offsetof(struct PlayerGeometry, prevCeilType), false, LOT_NONE, 1, sizeof(s16) }, - { "prevFloor", LVT_COBJECT_P, offsetof(struct PlayerGeometry, prevFloor), false, LOT_SURFACE, 1, sizeof(struct Surface*) }, - { "prevFloorHeight", LVT_F32, offsetof(struct PlayerGeometry, prevFloorHeight), false, LOT_NONE, 1, sizeof(f32) }, - { "prevFloorType", LVT_S16, offsetof(struct PlayerGeometry, prevFloorType), false, LOT_NONE, 1, sizeof(s16) }, - { "waterHeight", LVT_F32, offsetof(struct PlayerGeometry, waterHeight), false, LOT_NONE, 1, sizeof(f32) }, -}; - -#define LUA_PLAYER_PALETTE_FIELD_COUNT 0 -static struct LuaObjectField sPlayerPaletteFields[LUA_PLAYER_PALETTE_FIELD_COUNT] = { -// { "parts", LVT_???, offsetof(struct PlayerPalette, parts), false, LOT_???, 1, sizeof(u8) }, <--- UNIMPLEMENTED -}; - #define LUA_RAY_INTERSECTION_INFO_FIELD_COUNT 2 static struct LuaObjectField sRayIntersectionInfoFields[LUA_RAY_INTERSECTION_INFO_FIELD_COUNT] = { { "hitPos", LVT_COBJECT, offsetof(struct RayIntersectionInfo, hitPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, @@ -2725,14 +2529,6 @@ static struct LuaObjectField sServerSettingsFields[LUA_SERVER_SETTINGS_FIELD_COU { "stayInLevelAfterStar", LVT_U8, offsetof(struct ServerSettings, stayInLevelAfterStar), false, LOT_NONE, 1, sizeof(u8) }, }; -#define LUA_SOUND_STATE_FIELD_COUNT 4 -static struct LuaObjectField sSoundStateFields[LUA_SOUND_STATE_FIELD_COUNT] = { - { "animFrame1", LVT_S8, offsetof(struct SoundState, animFrame1), false, LOT_NONE, 1, sizeof(s8) }, - { "animFrame2", LVT_S8, offsetof(struct SoundState, animFrame2), false, LOT_NONE, 1, sizeof(s8) }, - { "playSound", LVT_S16, offsetof(struct SoundState, playSound), false, LOT_NONE, 1, sizeof(s16) }, - { "soundMagic", LVT_S32, offsetof(struct SoundState, soundMagic), false, LOT_NONE, 1, sizeof(s32) }, -}; - #define LUA_SPAWN_INFO_FIELD_COUNT 8 static struct LuaObjectField sSpawnInfoFields[LUA_SPAWN_INFO_FIELD_COUNT] = { { "activeAreaIndex", LVT_S8, offsetof(struct SpawnInfo, activeAreaIndex), false, LOT_NONE, 1, sizeof(s8) }, @@ -2837,19 +2633,6 @@ static struct LuaObjectField sTextureInfoFields[LUA_TEXTURE_INFO_FIELD_COUNT] = { "width", LVT_U32, offsetof(struct TextureInfo, width), true, LOT_NONE, 1, sizeof(u32) }, }; -#define LUA_TRANSITION_INFO_FIELD_COUNT 9 -static struct LuaObjectField sTransitionInfoFields[LUA_TRANSITION_INFO_FIELD_COUNT] = { - { "focDist", LVT_F32, offsetof(struct TransitionInfo, focDist), false, LOT_NONE, 1, sizeof(f32) }, - { "focPitch", LVT_S16, offsetof(struct TransitionInfo, focPitch), false, LOT_NONE, 1, sizeof(s16) }, - { "focYaw", LVT_S16, offsetof(struct TransitionInfo, focYaw), false, LOT_NONE, 1, sizeof(s16) }, - { "framesLeft", LVT_S32, offsetof(struct TransitionInfo, framesLeft), false, LOT_NONE, 1, sizeof(s32) }, - { "marioPos", LVT_COBJECT, offsetof(struct TransitionInfo, marioPos), true, LOT_VEC3F, 1, sizeof(Vec3f) }, - { "pad", LVT_U8, offsetof(struct TransitionInfo, pad), false, LOT_NONE, 1, sizeof(u8) }, - { "posDist", LVT_F32, offsetof(struct TransitionInfo, posDist), false, LOT_NONE, 1, sizeof(f32) }, - { "posPitch", LVT_S16, offsetof(struct TransitionInfo, posPitch), false, LOT_NONE, 1, sizeof(s16) }, - { "posYaw", LVT_S16, offsetof(struct TransitionInfo, posYaw), false, LOT_NONE, 1, sizeof(s16) }, -}; - #define LUA_VTX_FIELD_COUNT 13 static struct LuaObjectField sVtxFields[LUA_VTX_FIELD_COUNT] = { { "a", LVT_U8, offsetof(Vtx_L, a), false, LOT_NONE, 1, sizeof(unsigned char) }, @@ -2867,12 +2650,6 @@ static struct LuaObjectField sVtxFields[LUA_VTX_FIELD_COUNT] = { { "z", LVT_F32, offsetof(Vtx_L, z), false, LOT_NONE, 1, sizeof(float) }, }; -#define LUA_VTX__INTERP_FIELD_COUNT 2 -static struct LuaObjectField sVtx_InterpFields[LUA_VTX__INTERP_FIELD_COUNT] = { - { "n", LVT_STRING, offsetof(Vtx_Interp, n), false, LOT_NONE, 1, sizeof(signed char) }, - { "ob", LVT_F32, offsetof(Vtx_Interp, ob), false, LOT_NONE, 3, sizeof(float) }, -}; - #define LUA_WALL_COLLISION_DATA_FIELD_COUNT 10 static struct LuaObjectField sWallCollisionDataFields[LUA_WALL_COLLISION_DATA_FIELD_COUNT] = { { "normalAddition", LVT_COBJECT, offsetof(struct WallCollisionData, normalAddition), true, LOT_VEC3F, 1, sizeof(Vec3f) }, @@ -2895,34 +2672,11 @@ static struct LuaObjectField sWarpNodeFields[LUA_WARP_NODE_FIELD_COUNT] = { { "id", LVT_U8, offsetof(struct WarpNode, id), false, LOT_NONE, 1, sizeof(u8) }, }; -#define LUA_WARP_TRANSITION_FIELD_COUNT 5 -static struct LuaObjectField sWarpTransitionFields[LUA_WARP_TRANSITION_FIELD_COUNT] = { - { "data", LVT_COBJECT, offsetof(struct WarpTransition, data), true, LOT_WARPTRANSITIONDATA, 1, sizeof(struct WarpTransitionData) }, - { "isActive", LVT_U8, offsetof(struct WarpTransition, isActive), false, LOT_NONE, 1, sizeof(u8) }, - { "pauseRendering", LVT_U8, offsetof(struct WarpTransition, pauseRendering), false, LOT_NONE, 1, sizeof(u8) }, - { "time", LVT_U8, offsetof(struct WarpTransition, time), false, LOT_NONE, 1, sizeof(u8) }, - { "type", LVT_U8, offsetof(struct WarpTransition, type), false, LOT_NONE, 1, sizeof(u8) }, -}; - -#define LUA_WARP_TRANSITION_DATA_FIELD_COUNT 10 -static struct LuaObjectField sWarpTransitionDataFields[LUA_WARP_TRANSITION_DATA_FIELD_COUNT] = { - { "blue", LVT_U8, offsetof(struct WarpTransitionData, blue), false, LOT_NONE, 1, sizeof(u8) }, - { "endTexRadius", LVT_S16, offsetof(struct WarpTransitionData, endTexRadius), false, LOT_NONE, 1, sizeof(s16) }, - { "endTexX", LVT_S16, offsetof(struct WarpTransitionData, endTexX), false, LOT_NONE, 1, sizeof(s16) }, - { "endTexY", LVT_S16, offsetof(struct WarpTransitionData, endTexY), false, LOT_NONE, 1, sizeof(s16) }, - { "green", LVT_U8, offsetof(struct WarpTransitionData, green), false, LOT_NONE, 1, sizeof(u8) }, - { "red", LVT_U8, offsetof(struct WarpTransitionData, red), false, LOT_NONE, 1, sizeof(u8) }, - { "startTexRadius", LVT_S16, offsetof(struct WarpTransitionData, startTexRadius), false, LOT_NONE, 1, sizeof(s16) }, - { "startTexX", LVT_S16, offsetof(struct WarpTransitionData, startTexX), false, LOT_NONE, 1, sizeof(s16) }, - { "startTexY", LVT_S16, offsetof(struct WarpTransitionData, startTexY), false, LOT_NONE, 1, sizeof(s16) }, - { "texTimer", LVT_S16, offsetof(struct WarpTransitionData, texTimer), false, LOT_NONE, 1, sizeof(s16) }, -}; - #define LUA_WATER_DROPLET_PARAMS_FIELD_COUNT 11 static struct LuaObjectField sWaterDropletParamsFields[LUA_WATER_DROPLET_PARAMS_FIELD_COUNT] = { { "behavior", LVT_BEHAVIORSCRIPT_P, offsetof(struct WaterDropletParams, behavior), true, LOT_POINTER, 1, sizeof(const BehaviorScript*) }, { "flags", LVT_S16, offsetof(struct WaterDropletParams, flags), false, LOT_NONE, 1, sizeof(s16) }, - { "model", LVT_S16, offsetof(struct WaterDropletParams, model), false, LOT_NONE, 1, sizeof(s16) }, + { "model", LVT_S16, offsetof(struct WaterDropletParams, model), true, LOT_NONE, 1, sizeof(s16) }, { "moveAngleRange", LVT_S16, offsetof(struct WaterDropletParams, moveAngleRange), false, LOT_NONE, 1, sizeof(s16) }, { "moveRange", LVT_S16, offsetof(struct WaterDropletParams, moveRange), false, LOT_NONE, 1, sizeof(s16) }, { "randForwardVelOffset", LVT_F32, offsetof(struct WaterDropletParams, randForwardVelOffset), false, LOT_NONE, 1, sizeof(f32) }, @@ -2948,24 +2702,14 @@ static struct LuaObjectField sWhirlpoolFields[LUA_WHIRLPOOL_FIELD_COUNT] = { struct LuaObjectTable sLuaObjectAutogenTable[LOT_AUTOGEN_MAX - LOT_AUTOGEN_MIN] = { { LOT_ANIMINFO, sAnimInfoFields, LUA_ANIM_INFO_FIELD_COUNT }, { LOT_ANIMATION, sAnimationFields, LUA_ANIMATION_FIELD_COUNT }, - { LOT_ANIMATIONTABLE, sAnimationTableFields, LUA_ANIMATION_TABLE_FIELD_COUNT }, { LOT_AREA, sAreaFields, LUA_AREA_FIELD_COUNT }, { LOT_BEHAVIORDIALOGS, sBehaviorDialogsFields, LUA_BEHAVIOR_DIALOGS_FIELD_COUNT }, { LOT_BEHAVIORTRAJECTORIES, sBehaviorTrajectoriesFields, LUA_BEHAVIOR_TRAJECTORIES_FIELD_COUNT }, { LOT_BEHAVIORVALUES, sBehaviorValuesFields, LUA_BEHAVIOR_VALUES_FIELD_COUNT }, - { LOT_BULLYCOLLISIONDATA, sBullyCollisionDataFields, LUA_BULLY_COLLISION_DATA_FIELD_COUNT }, { LOT_CAMERA, sCameraFields, LUA_CAMERA_FIELD_COUNT }, - { LOT_CAMERAFOVSTATUS, sCameraFOVStatusFields, LUA_CAMERA_FOVSTATUS_FIELD_COUNT }, - { LOT_CAMERAOVERRIDE, sCameraOverrideFields, LUA_CAMERA_OVERRIDE_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_CUSTOMLEVELINFO, sCustomLevelInfoFields, LUA_CUSTOM_LEVEL_INFO_FIELD_COUNT }, - { LOT_CUTSCENE, sCutsceneFields, LUA_CUTSCENE_FIELD_COUNT }, - { LOT_CUTSCENESPLINEPOINT, sCutsceneSplinePointFields, LUA_CUTSCENE_SPLINE_POINT_FIELD_COUNT }, - { LOT_CUTSCENEVARIABLE, sCutsceneVariableFields, LUA_CUTSCENE_VARIABLE_FIELD_COUNT }, { LOT_DATETIME, sDateTimeFields, LUA_DATE_TIME_FIELD_COUNT }, { LOT_DIALOGENTRY, sDialogEntryFields, LUA_DIALOG_ENTRY_FIELD_COUNT }, { LOT_DISPLAYLISTNODE, sDisplayListNodeFields, LUA_DISPLAY_LIST_NODE_FIELD_COUNT }, @@ -2976,7 +2720,6 @@ struct LuaObjectTable sLuaObjectAutogenTable[LOT_AUTOGEN_MAX - LOT_AUTOGEN_MIN] { LOT_DJUITHREEPANELTHEME, sDjuiThreePanelThemeFields, LUA_DJUI_THREE_PANEL_THEME_FIELD_COUNT }, { LOT_EXCLAMATIONBOXCONTENT, sExclamationBoxContentFields, LUA_EXCLAMATION_BOX_CONTENT_FIELD_COUNT }, { LOT_FIRSTPERSONCAMERA, sFirstPersonCameraFields, LUA_FIRST_PERSON_CAMERA_FIELD_COUNT }, - { LOT_FLOORGEOMETRY, sFloorGeometryFields, LUA_FLOOR_GEOMETRY_FIELD_COUNT }, { LOT_FNGRAPHNODE, sFnGraphNodeFields, LUA_FN_GRAPH_NODE_FIELD_COUNT }, { LOT_GFX, sGfxFields, LUA_GFX_FIELD_COUNT }, { LOT_GLOBALOBJECTANIMATIONS, sGlobalObjectAnimationsFields, LUA_GLOBAL_OBJECT_ANIMATIONS_FIELD_COUNT }, @@ -3007,41 +2750,29 @@ struct LuaObjectTable sLuaObjectAutogenTable[LOT_AUTOGEN_MAX - LOT_AUTOGEN_MIN] { LOT_GRAPHNODESWITCHCASE, sGraphNodeSwitchCaseFields, LUA_GRAPH_NODE_SWITCH_CASE_FIELD_COUNT }, { LOT_GRAPHNODETRANSLATION, sGraphNodeTranslationFields, LUA_GRAPH_NODE_TRANSLATION_FIELD_COUNT }, { LOT_GRAPHNODETRANSLATIONROTATION, sGraphNodeTranslationRotationFields, LUA_GRAPH_NODE_TRANSLATION_ROTATION_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_HUDUTILSROTATION, sHudUtilsRotationFields, LUA_HUD_UTILS_ROTATION_FIELD_COUNT }, { LOT_INSTANTWARP, sInstantWarpFields, LUA_INSTANT_WARP_FIELD_COUNT }, { LOT_LAKITUSTATE, sLakituStateFields, LUA_LAKITU_STATE_FIELD_COUNT }, { LOT_LEVELVALUES, sLevelValuesFields, LUA_LEVEL_VALUES_FIELD_COUNT }, - { LOT_LINEARTRANSITIONPOINT, sLinearTransitionPointFields, LUA_LINEAR_TRANSITION_POINT_FIELD_COUNT }, { LOT_MARIOANIMATION, sMarioAnimationFields, LUA_MARIO_ANIMATION_FIELD_COUNT }, { LOT_MARIOBODYSTATE, sMarioBodyStateFields, LUA_MARIO_BODY_STATE_FIELD_COUNT }, { LOT_MARIOSTATE, sMarioStateFields, LUA_MARIO_STATE_FIELD_COUNT }, { LOT_MOD, sModFields, LUA_MOD_FIELD_COUNT }, { LOT_MODAUDIO, sModAudioFields, LUA_MOD_AUDIO_FIELD_COUNT }, - { LOT_MODAUDIOSAMPLECOPIES, sModAudioSampleCopiesFields, LUA_MOD_AUDIO_SAMPLE_COPIES_FIELD_COUNT }, - { LOT_MODFILE, sModFileFields, LUA_MOD_FILE_FIELD_COUNT }, { LOT_MODFS, sModFsFields, LUA_MOD_FS_FIELD_COUNT }, { LOT_MODFSFILE, sModFsFileFields, LUA_MOD_FS_FILE_FIELD_COUNT }, - { LOT_MODETRANSITIONINFO, sModeTransitionInfoFields, LUA_MODE_TRANSITION_INFO_FIELD_COUNT }, { LOT_NAMETAGSSETTINGS, sNametagsSettingsFields, LUA_NAMETAGS_SETTINGS_FIELD_COUNT }, { LOT_NETWORKPLAYER, sNetworkPlayerFields, LUA_NETWORK_PLAYER_FIELD_COUNT }, { LOT_OBJECT, sObjectFields, LUA_OBJECT_FIELD_COUNT }, { LOT_OBJECTHITBOX, sObjectHitboxFields, LUA_OBJECT_HITBOX_FIELD_COUNT }, { LOT_OBJECTNODE, sObjectNodeFields, LUA_OBJECT_NODE_FIELD_COUNT }, { LOT_OBJECTWARPNODE, sObjectWarpNodeFields, LUA_OBJECT_WARP_NODE_FIELD_COUNT }, - { LOT_OFFSETSIZEPAIR, sOffsetSizePairFields, LUA_OFFSET_SIZE_PAIR_FIELD_COUNT }, { LOT_PAINTING, sPaintingFields, LUA_PAINTING_FIELD_COUNT }, - { LOT_PAINTINGMESHVERTEX, sPaintingMeshVertexFields, LUA_PAINTING_MESH_VERTEX_FIELD_COUNT }, { LOT_PAINTINGVALUES, sPaintingValuesFields, LUA_PAINTING_VALUES_FIELD_COUNT }, - { LOT_PARALLELTRACKINGPOINT, sParallelTrackingPointFields, LUA_PARALLEL_TRACKING_POINT_FIELD_COUNT }, { LOT_PLAYERCAMERASTATE, sPlayerCameraStateFields, LUA_PLAYER_CAMERA_STATE_FIELD_COUNT }, - { LOT_PLAYERGEOMETRY, sPlayerGeometryFields, LUA_PLAYER_GEOMETRY_FIELD_COUNT }, - { LOT_PLAYERPALETTE, sPlayerPaletteFields, LUA_PLAYER_PALETTE_FIELD_COUNT }, { LOT_RAYINTERSECTIONINFO, sRayIntersectionInfoFields, LUA_RAY_INTERSECTION_INFO_FIELD_COUNT }, { LOT_ROMHACKCAMERASETTINGS, sRomhackCameraSettingsFields, LUA_ROMHACK_CAMERA_SETTINGS_FIELD_COUNT }, { LOT_SERVERSETTINGS, sServerSettingsFields, LUA_SERVER_SETTINGS_FIELD_COUNT }, - { LOT_SOUNDSTATE, sSoundStateFields, LUA_SOUND_STATE_FIELD_COUNT }, { LOT_SPAWNINFO, sSpawnInfoFields, LUA_SPAWN_INFO_FIELD_COUNT }, { LOT_SPAWNPARTICLESINFO, sSpawnParticlesInfoFields, LUA_SPAWN_PARTICLES_INFO_FIELD_COUNT }, { LOT_STARPOSITIONS, sStarPositionsFields, LUA_STAR_POSITIONS_FIELD_COUNT }, @@ -3049,13 +2780,9 @@ struct LuaObjectTable sLuaObjectAutogenTable[LOT_AUTOGEN_MAX - LOT_AUTOGEN_MIN] { LOT_STATICOBJECTCOLLISION, sStaticObjectCollisionFields, LUA_STATIC_OBJECT_COLLISION_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 }, { LOT_VTX, sVtxFields, LUA_VTX_FIELD_COUNT }, - { LOT_VTX_INTERP, sVtx_InterpFields, LUA_VTX__INTERP_FIELD_COUNT }, { LOT_WALLCOLLISIONDATA, sWallCollisionDataFields, LUA_WALL_COLLISION_DATA_FIELD_COUNT }, { 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 }, @@ -3079,24 +2806,14 @@ const char *sLuaLotNames[] = { [LOT_ANIMINFO] = "AnimInfo", [LOT_ANIMATION] = "Animation", - [LOT_ANIMATIONTABLE] = "AnimationTable", [LOT_AREA] = "Area", [LOT_BEHAVIORDIALOGS] = "BehaviorDialogs", [LOT_BEHAVIORTRAJECTORIES] = "BehaviorTrajectories", [LOT_BEHAVIORVALUES] = "BehaviorValues", - [LOT_BULLYCOLLISIONDATA] = "BullyCollisionData", [LOT_CAMERA] = "Camera", - [LOT_CAMERAFOVSTATUS] = "CameraFOVStatus", - [LOT_CAMERAOVERRIDE] = "CameraOverride", - [LOT_CAMERASTOREDINFO] = "CameraStoredInfo", - [LOT_CAMERATRIGGER] = "CameraTrigger", - [LOT_CHAINSEGMENT] = "ChainSegment", [LOT_CHARACTER] = "Character", [LOT_CONTROLLER] = "Controller", [LOT_CUSTOMLEVELINFO] = "CustomLevelInfo", - [LOT_CUTSCENE] = "Cutscene", - [LOT_CUTSCENESPLINEPOINT] = "CutsceneSplinePoint", - [LOT_CUTSCENEVARIABLE] = "CutsceneVariable", [LOT_DATETIME] = "DateTime", [LOT_DIALOGENTRY] = "DialogEntry", [LOT_DISPLAYLISTNODE] = "DisplayListNode", @@ -3107,7 +2824,6 @@ const char *sLuaLotNames[] = { [LOT_DJUITHREEPANELTHEME] = "DjuiThreePanelTheme", [LOT_EXCLAMATIONBOXCONTENT] = "ExclamationBoxContent", [LOT_FIRSTPERSONCAMERA] = "FirstPersonCamera", - [LOT_FLOORGEOMETRY] = "FloorGeometry", [LOT_FNGRAPHNODE] = "FnGraphNode", [LOT_GFX] = "Gfx", [LOT_GLOBALOBJECTANIMATIONS] = "GlobalObjectAnimations", @@ -3138,41 +2854,29 @@ const char *sLuaLotNames[] = { [LOT_GRAPHNODESWITCHCASE] = "GraphNodeSwitchCase", [LOT_GRAPHNODETRANSLATION] = "GraphNodeTranslation", [LOT_GRAPHNODETRANSLATIONROTATION] = "GraphNodeTranslationRotation", - [LOT_GRAPHNODE_802A45E4] = "GraphNode_802A45E4", - [LOT_HANDHELDSHAKEPOINT] = "HandheldShakePoint", [LOT_HUDUTILSROTATION] = "HudUtilsRotation", [LOT_INSTANTWARP] = "InstantWarp", [LOT_LAKITUSTATE] = "LakituState", [LOT_LEVELVALUES] = "LevelValues", - [LOT_LINEARTRANSITIONPOINT] = "LinearTransitionPoint", [LOT_MARIOANIMATION] = "MarioAnimation", [LOT_MARIOBODYSTATE] = "MarioBodyState", [LOT_MARIOSTATE] = "MarioState", [LOT_MOD] = "Mod", [LOT_MODAUDIO] = "ModAudio", - [LOT_MODAUDIOSAMPLECOPIES] = "ModAudioSampleCopies", - [LOT_MODFILE] = "ModFile", [LOT_MODFS] = "ModFs", [LOT_MODFSFILE] = "ModFsFile", - [LOT_MODETRANSITIONINFO] = "ModeTransitionInfo", [LOT_NAMETAGSSETTINGS] = "NametagsSettings", [LOT_NETWORKPLAYER] = "NetworkPlayer", [LOT_OBJECT] = "Object", [LOT_OBJECTHITBOX] = "ObjectHitbox", [LOT_OBJECTNODE] = "ObjectNode", [LOT_OBJECTWARPNODE] = "ObjectWarpNode", - [LOT_OFFSETSIZEPAIR] = "OffsetSizePair", [LOT_PAINTING] = "Painting", - [LOT_PAINTINGMESHVERTEX] = "PaintingMeshVertex", [LOT_PAINTINGVALUES] = "PaintingValues", - [LOT_PARALLELTRACKINGPOINT] = "ParallelTrackingPoint", [LOT_PLAYERCAMERASTATE] = "PlayerCameraState", - [LOT_PLAYERGEOMETRY] = "PlayerGeometry", - [LOT_PLAYERPALETTE] = "PlayerPalette", [LOT_RAYINTERSECTIONINFO] = "RayIntersectionInfo", [LOT_ROMHACKCAMERASETTINGS] = "RomhackCameraSettings", [LOT_SERVERSETTINGS] = "ServerSettings", - [LOT_SOUNDSTATE] = "SoundState", [LOT_SPAWNINFO] = "SpawnInfo", [LOT_SPAWNPARTICLESINFO] = "SpawnParticlesInfo", [LOT_STARPOSITIONS] = "StarPositions", @@ -3180,13 +2884,9 @@ const char *sLuaLotNames[] = { [LOT_STATICOBJECTCOLLISION] = "StaticObjectCollision", [LOT_SURFACE] = "Surface", [LOT_TEXTUREINFO] = "TextureInfo", - [LOT_TRANSITIONINFO] = "TransitionInfo", [LOT_VTX] = "Vtx", - [LOT_VTX_INTERP] = "Vtx_Interp", [LOT_WALLCOLLISIONDATA] = "WallCollisionData", [LOT_WARPNODE] = "WarpNode", - [LOT_WARPTRANSITION] = "WarpTransition", - [LOT_WARPTRANSITIONDATA] = "WarpTransitionData", [LOT_WATERDROPLETPARAMS] = "WaterDropletParams", [LOT_WAYPOINT] = "Waypoint", [LOT_WHIRLPOOL] = "Whirlpool", diff --git a/src/pc/lua/smlua_cobject_autogen.h b/src/pc/lua/smlua_cobject_autogen.h index a79378a98..db8b57187 100644 --- a/src/pc/lua/smlua_cobject_autogen.h +++ b/src/pc/lua/smlua_cobject_autogen.h @@ -25,24 +25,14 @@ enum LuaObjectAutogenType { LOT_AUTOGEN_MIN = 1000, LOT_ANIMINFO, LOT_ANIMATION, - LOT_ANIMATIONTABLE, LOT_AREA, LOT_BEHAVIORDIALOGS, LOT_BEHAVIORTRAJECTORIES, LOT_BEHAVIORVALUES, - LOT_BULLYCOLLISIONDATA, LOT_CAMERA, - LOT_CAMERAFOVSTATUS, - LOT_CAMERAOVERRIDE, - LOT_CAMERASTOREDINFO, - LOT_CAMERATRIGGER, - LOT_CHAINSEGMENT, LOT_CHARACTER, LOT_CONTROLLER, LOT_CUSTOMLEVELINFO, - LOT_CUTSCENE, - LOT_CUTSCENESPLINEPOINT, - LOT_CUTSCENEVARIABLE, LOT_DATETIME, LOT_DIALOGENTRY, LOT_DISPLAYLISTNODE, @@ -53,7 +43,6 @@ enum LuaObjectAutogenType { LOT_DJUITHREEPANELTHEME, LOT_EXCLAMATIONBOXCONTENT, LOT_FIRSTPERSONCAMERA, - LOT_FLOORGEOMETRY, LOT_FNGRAPHNODE, LOT_GFX, LOT_GLOBALOBJECTANIMATIONS, @@ -84,41 +73,29 @@ enum LuaObjectAutogenType { LOT_GRAPHNODESWITCHCASE, LOT_GRAPHNODETRANSLATION, LOT_GRAPHNODETRANSLATIONROTATION, - LOT_GRAPHNODE_802A45E4, - LOT_HANDHELDSHAKEPOINT, LOT_HUDUTILSROTATION, LOT_INSTANTWARP, LOT_LAKITUSTATE, LOT_LEVELVALUES, - LOT_LINEARTRANSITIONPOINT, LOT_MARIOANIMATION, LOT_MARIOBODYSTATE, LOT_MARIOSTATE, LOT_MOD, LOT_MODAUDIO, - LOT_MODAUDIOSAMPLECOPIES, - LOT_MODFILE, LOT_MODFS, LOT_MODFSFILE, - LOT_MODETRANSITIONINFO, LOT_NAMETAGSSETTINGS, LOT_NETWORKPLAYER, LOT_OBJECT, LOT_OBJECTHITBOX, LOT_OBJECTNODE, LOT_OBJECTWARPNODE, - LOT_OFFSETSIZEPAIR, LOT_PAINTING, - LOT_PAINTINGMESHVERTEX, LOT_PAINTINGVALUES, - LOT_PARALLELTRACKINGPOINT, LOT_PLAYERCAMERASTATE, - LOT_PLAYERGEOMETRY, - LOT_PLAYERPALETTE, LOT_RAYINTERSECTIONINFO, LOT_ROMHACKCAMERASETTINGS, LOT_SERVERSETTINGS, - LOT_SOUNDSTATE, LOT_SPAWNINFO, LOT_SPAWNPARTICLESINFO, LOT_STARPOSITIONS, @@ -126,13 +103,9 @@ enum LuaObjectAutogenType { LOT_STATICOBJECTCOLLISION, LOT_SURFACE, LOT_TEXTUREINFO, - LOT_TRANSITIONINFO, LOT_VTX, - LOT_VTX_INTERP, LOT_WALLCOLLISIONDATA, LOT_WARPNODE, - LOT_WARPTRANSITION, - LOT_WARPTRANSITIONDATA, LOT_WATERDROPLETPARAMS, LOT_WAYPOINT, LOT_WHIRLPOOL, diff --git a/src/pc/lua/smlua_functions_autogen.c b/src/pc/lua/smlua_functions_autogen.c index db7fbdab4..572a45186 100644 --- a/src/pc/lua/smlua_functions_autogen.c +++ b/src/pc/lua/smlua_functions_autogen.c @@ -11861,6 +11861,7 @@ int smlua_func_rotate_camera_around_walls(lua_State* L) { return 1; } +/* int smlua_func_find_mario_floor_and_ceil(lua_State* L) { if (L == NULL) { return 0; } @@ -11870,13 +11871,14 @@ int smlua_func_find_mario_floor_and_ceil(lua_State* L) { return 0; } - struct PlayerGeometry* pg = (struct PlayerGeometry*)smlua_to_cobject(L, 1, LOT_PLAYERGEOMETRY); +// struct PlayerGeometry* pg = (struct PlayerGeometry*)smlua_to_cobject(L, 1, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_mario_floor_and_ceil"); return 0; } find_mario_floor_and_ceil(pg); return 1; } +*/ int smlua_func_start_object_cutscene_without_focus(lua_State* L) { if (L == NULL) { return 0; } @@ -19305,6 +19307,7 @@ int smlua_func_mario_bonk_reflection(lua_State* L) { return 1; } +/* int smlua_func_init_bully_collision_data(lua_State* L) { if (L == NULL) { return 0; } @@ -19314,7 +19317,7 @@ int smlua_func_init_bully_collision_data(lua_State* L) { return 0; } - struct BullyCollisionData* data = (struct BullyCollisionData*)smlua_to_cobject(L, 1, LOT_BULLYCOLLISIONDATA); +// struct BullyCollisionData* data = (struct BullyCollisionData*)smlua_to_cobject(L, 1, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "init_bully_collision_data"); return 0; } f32 posX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "init_bully_collision_data"); return 0; } @@ -19333,6 +19336,7 @@ int smlua_func_init_bully_collision_data(lua_State* L) { return 1; } +*/ int smlua_func_mario_update_quicksand(lua_State* L) { if (L == NULL) { return 0; } @@ -26452,6 +26456,7 @@ int smlua_func_cur_obj_init_animation_with_accel_and_sound(lua_State* L) { return 1; } +/* int smlua_func_obj_init_animation_with_sound(lua_State* L) { if (L == NULL) { return 0; } @@ -26463,7 +26468,7 @@ int smlua_func_obj_init_animation_with_sound(lua_State* L) { struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_init_animation_with_sound"); return 0; } - struct AnimationTable* animations = (struct AnimationTable*)smlua_to_cobject(L, 2, LOT_ANIMATIONTABLE); +// struct AnimationTable* animations = (struct AnimationTable*)smlua_to_cobject(L, 2, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_init_animation_with_sound"); return 0; } s32 animIndex = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_init_animation_with_sound"); return 0; } @@ -26473,6 +26478,7 @@ int smlua_func_obj_init_animation_with_sound(lua_State* L) { return 1; } +*/ int smlua_func_cur_obj_enable_rendering_and_become_tangible(lua_State* L) { if (L == NULL) { return 0; } @@ -28494,6 +28500,7 @@ int smlua_func_cur_obj_follow_path(lua_State* L) { return 1; } +/* int smlua_func_chain_segment_init(lua_State* L) { if (L == NULL) { return 0; } @@ -28503,7 +28510,7 @@ int smlua_func_chain_segment_init(lua_State* L) { return 0; } - struct ChainSegment* segment = (struct ChainSegment*)smlua_to_cobject(L, 1, LOT_CHAINSEGMENT); +// struct ChainSegment* segment = (struct ChainSegment*)smlua_to_cobject(L, 1, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "chain_segment_init"); return 0; } extern void chain_segment_init(struct ChainSegment *segment); @@ -28511,6 +28518,7 @@ int smlua_func_chain_segment_init(lua_State* L) { return 1; } +*/ int smlua_func_random_f32_around_zero(lua_State* L) { if (L == NULL) { return 0; } @@ -35165,6 +35173,25 @@ int smlua_func_obj_get_temp_spawn_particles_info(lua_State* L) { return 1; } +int smlua_func_obj_get_temp_water_droplet_params(lua_State* L) { + if (L == NULL) { return 0; } + + int top = lua_gettop(L); + if (top != 2) { + LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_get_temp_water_droplet_params", 2, top); + return 0; + } + + int modelId = smlua_to_integer(L, 1); + if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_temp_water_droplet_params"); return 0; } + int behaviorId = smlua_to_integer(L, 2); + if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_get_temp_water_droplet_params"); return 0; } + + smlua_push_object(L, LOT_WATERDROPLETPARAMS, obj_get_temp_water_droplet_params(modelId, behaviorId), NULL); + + return 1; +} + int smlua_func_get_temp_object_hitbox(UNUSED lua_State* L) { if (L == NULL) { return 0; } @@ -37393,7 +37420,7 @@ void smlua_bind_functions_autogen(void) { smlua_bind_function(L, "camera_course_processing", smlua_func_camera_course_processing); smlua_bind_function(L, "resolve_geometry_collisions", smlua_func_resolve_geometry_collisions); smlua_bind_function(L, "rotate_camera_around_walls", smlua_func_rotate_camera_around_walls); - smlua_bind_function(L, "find_mario_floor_and_ceil", smlua_func_find_mario_floor_and_ceil); + //smlua_bind_function(L, "find_mario_floor_and_ceil", smlua_func_find_mario_floor_and_ceil); <--- UNIMPLEMENTED smlua_bind_function(L, "start_object_cutscene_without_focus", smlua_func_start_object_cutscene_without_focus); smlua_bind_function(L, "cutscene_object_with_dialog", smlua_func_cutscene_object_with_dialog); smlua_bind_function(L, "cutscene_object_without_dialog", smlua_func_cutscene_object_without_dialog); @@ -37831,7 +37858,7 @@ void smlua_bind_functions_autogen(void) { // mario_step.h smlua_bind_function(L, "get_additive_y_vel_for_jumps", smlua_func_get_additive_y_vel_for_jumps); smlua_bind_function(L, "mario_bonk_reflection", smlua_func_mario_bonk_reflection); - smlua_bind_function(L, "init_bully_collision_data", smlua_func_init_bully_collision_data); + //smlua_bind_function(L, "init_bully_collision_data", smlua_func_init_bully_collision_data); <--- UNIMPLEMENTED smlua_bind_function(L, "mario_update_quicksand", smlua_func_mario_update_quicksand); smlua_bind_function(L, "mario_push_off_steep_floor", smlua_func_mario_push_off_steep_floor); smlua_bind_function(L, "mario_update_moving_sand", smlua_func_mario_update_moving_sand); @@ -38184,7 +38211,7 @@ void smlua_bind_functions_autogen(void) { smlua_bind_function(L, "cur_obj_init_animation_with_sound", smlua_func_cur_obj_init_animation_with_sound); smlua_bind_function(L, "obj_init_animation_with_accel_and_sound", smlua_func_obj_init_animation_with_accel_and_sound); smlua_bind_function(L, "cur_obj_init_animation_with_accel_and_sound", smlua_func_cur_obj_init_animation_with_accel_and_sound); - smlua_bind_function(L, "obj_init_animation_with_sound", smlua_func_obj_init_animation_with_sound); + //smlua_bind_function(L, "obj_init_animation_with_sound", smlua_func_obj_init_animation_with_sound); <--- UNIMPLEMENTED smlua_bind_function(L, "cur_obj_enable_rendering_and_become_tangible", smlua_func_cur_obj_enable_rendering_and_become_tangible); smlua_bind_function(L, "cur_obj_enable_rendering", smlua_func_cur_obj_enable_rendering); smlua_bind_function(L, "cur_obj_disable_rendering_and_become_intangible", smlua_func_cur_obj_disable_rendering_and_become_intangible); @@ -38295,7 +38322,7 @@ void smlua_bind_functions_autogen(void) { smlua_bind_function(L, "cur_obj_rotate_face_angle_using_vel", smlua_func_cur_obj_rotate_face_angle_using_vel); smlua_bind_function(L, "cur_obj_set_face_angle_to_move_angle", smlua_func_cur_obj_set_face_angle_to_move_angle); smlua_bind_function(L, "cur_obj_follow_path", smlua_func_cur_obj_follow_path); - smlua_bind_function(L, "chain_segment_init", smlua_func_chain_segment_init); + //smlua_bind_function(L, "chain_segment_init", smlua_func_chain_segment_init); <--- UNIMPLEMENTED smlua_bind_function(L, "random_f32_around_zero", smlua_func_random_f32_around_zero); smlua_bind_function(L, "obj_scale_random", smlua_func_obj_scale_random); smlua_bind_function(L, "obj_translate_xyz_random", smlua_func_obj_translate_xyz_random); @@ -38702,6 +38729,7 @@ void smlua_bind_functions_autogen(void) { smlua_bind_function(L, "obj_set_field_f32", smlua_func_obj_set_field_f32); smlua_bind_function(L, "obj_set_field_s16", smlua_func_obj_set_field_s16); smlua_bind_function(L, "obj_get_temp_spawn_particles_info", smlua_func_obj_get_temp_spawn_particles_info); + smlua_bind_function(L, "obj_get_temp_water_droplet_params", smlua_func_obj_get_temp_water_droplet_params); smlua_bind_function(L, "get_temp_object_hitbox", smlua_func_get_temp_object_hitbox); smlua_bind_function(L, "obj_is_attackable", smlua_func_obj_is_attackable); smlua_bind_function(L, "obj_is_breakable_object", smlua_func_obj_is_breakable_object); diff --git a/src/pc/lua/utils/smlua_camera_utils.c b/src/pc/lua/utils/smlua_camera_utils.c index d994a08e5..2a2b6c94f 100644 --- a/src/pc/lua/utils/smlua_camera_utils.c +++ b/src/pc/lua/utils/smlua_camera_utils.c @@ -2,6 +2,11 @@ #include "game/bettercamera.h" #include "game/object_list_processor.h" +struct CameraOverride { + u32 value; + bool override; +}; + static struct CameraOverride sOverrideCameraXSens = { 0 }; static struct CameraOverride sOverrideCameraYSens = { 0 }; static struct CameraOverride sOverrideCameraAggr = { 0 }; diff --git a/src/pc/lua/utils/smlua_camera_utils.h b/src/pc/lua/utils/smlua_camera_utils.h index 5065d6d07..b9090568b 100644 --- a/src/pc/lua/utils/smlua_camera_utils.h +++ b/src/pc/lua/utils/smlua_camera_utils.h @@ -4,11 +4,6 @@ #include "types.h" #include "game/camera.h" -struct CameraOverride { - unsigned int value; - bool override; -}; - /* |description|Resets camera config overrides|descriptionEnd| */ void camera_reset_overrides(void); /* |description|Freezes the camera by not updating it|descriptionEnd| */ diff --git a/src/pc/lua/utils/smlua_obj_utils.c b/src/pc/lua/utils/smlua_obj_utils.c index c30fc40b1..6ddc020f8 100644 --- a/src/pc/lua/utils/smlua_obj_utils.c +++ b/src/pc/lua/utils/smlua_obj_utils.c @@ -367,6 +367,20 @@ struct SpawnParticlesInfo* obj_get_temp_spawn_particles_info(enum ModelExtendedI return &sTmpSpi; } +struct WaterDropletParams* obj_get_temp_water_droplet_params(enum ModelExtendedId modelId, enum BehaviorId behaviorId) { + static struct WaterDropletParams sTmpWdp = { 0 }; + memset(&sTmpWdp, 0, sizeof(struct WaterDropletParams)); + + s16 loadedModelId = smlua_model_util_load(modelId); + sTmpWdp.model = loadedModelId; + + const BehaviorScript *behavior = get_behavior_from_id(behaviorId); + behavior = smlua_override_behavior(behavior); + sTmpWdp.behavior = behavior; + + return &sTmpWdp; +} + struct ObjectHitbox* get_temp_object_hitbox(void) { static struct ObjectHitbox sTmpHitbox = { 0 }; memset(&sTmpHitbox, 0, sizeof(struct ObjectHitbox)); diff --git a/src/pc/lua/utils/smlua_obj_utils.h b/src/pc/lua/utils/smlua_obj_utils.h index fd8354a82..b0e75fbb0 100644 --- a/src/pc/lua/utils/smlua_obj_utils.h +++ b/src/pc/lua/utils/smlua_obj_utils.h @@ -118,6 +118,8 @@ void obj_set_field_s16(struct Object *o, s32 fieldIndex, s32 fieldSubIndex, s16 /* |description|Returns a temporary particle spawn info pointer with its model loaded in from `modelId`|descriptionEnd| */ struct SpawnParticlesInfo* obj_get_temp_spawn_particles_info(enum ModelExtendedId modelId); +/* |description|Returns a temporary water droplet params pointer with its model and behavior loaded in from `modelId` and `behaviorId`|descriptionEnd| */ +struct WaterDropletParams* obj_get_temp_water_droplet_params(enum ModelExtendedId modelId, enum BehaviorId behaviorId); /* |description|Returns a temporary object hitbox pointer|descriptionEnd| */ struct ObjectHitbox* get_temp_object_hitbox(void);