sm64coopdx/docs/lua/structs.md

2358 lines
82 KiB
Markdown
Raw Normal View History

2022-01-30 06:47:22 +00:00
## [:rewind: Lua Reference](lua.md)
# Supported Structs
2022-02-19 06:43:38 +00:00
- [AnimInfo](#AnimInfo)
2022-01-30 06:47:22 +00:00
- [Animation](#Animation)
- [Area](#Area)
- [BassAudio](#BassAudio)
- [BehaviorDialogs](#BehaviorDialogs)
2022-04-09 04:01:17 +00:00
- [BehaviorTrajectories](#BehaviorTrajectories)
- [BehaviorValues](#BehaviorValues)
2022-03-03 09:04:15 +00:00
- [BullyCollisionData](#BullyCollisionData)
2022-01-30 06:47:22 +00:00
- [Camera](#Camera)
- [CameraFOVStatus](#CameraFOVStatus)
- [CameraStoredInfo](#CameraStoredInfo)
- [CameraTrigger](#CameraTrigger)
2022-02-19 21:51:02 +00:00
- [ChainSegment](#ChainSegment)
2022-01-30 06:47:22 +00:00
- [Character](#Character)
- [Controller](#Controller)
- [CustomLevelInfo](#CustomLevelInfo)
2022-01-30 06:47:22 +00:00
- [Cutscene](#Cutscene)
- [CutsceneSplinePoint](#CutsceneSplinePoint)
- [CutsceneVariable](#CutsceneVariable)
- [FloorGeometry](#FloorGeometry)
- [GlobalObjectAnimations](#GlobalObjectAnimations)
- [GlobalObjectCollisionData](#GlobalObjectCollisionData)
2022-02-16 06:14:55 +00:00
- [GlobalTextures](#GlobalTextures)
2022-01-30 06:47:22 +00:00
- [GraphNode](#GraphNode)
- [GraphNodeObject](#GraphNodeObject)
2022-02-19 21:51:02 +00:00
- [GraphNode_802A45E4](#GraphNode_802A45E4)
2022-01-30 06:47:22 +00:00
- [HandheldShakePoint](#HandheldShakePoint)
- [InstantWarp](#InstantWarp)
- [LakituState](#LakituState)
- [LevelValues](#LevelValues)
2022-01-30 06:47:22 +00:00
- [LinearTransitionPoint](#LinearTransitionPoint)
- [MarioAnimDmaRelatedThing](#MarioAnimDmaRelatedThing)
- [MarioAnimation](#MarioAnimation)
- [MarioBodyState](#MarioBodyState)
- [MarioState](#MarioState)
2022-04-23 01:44:59 +00:00
- [Mod](#Mod)
- [ModFile](#ModFile)
2022-01-30 06:47:22 +00:00
- [ModeTransitionInfo](#ModeTransitionInfo)
2022-02-03 03:24:51 +00:00
- [NetworkPlayer](#NetworkPlayer)
2022-01-30 06:47:22 +00:00
- [Object](#Object)
- [ObjectHitbox](#ObjectHitbox)
- [ObjectNode](#ObjectNode)
- [ObjectWarpNode](#ObjectWarpNode)
- [OffsetSizePair](#OffsetSizePair)
- [ParallelTrackingPoint](#ParallelTrackingPoint)
- [PlayerCameraState](#PlayerCameraState)
- [PlayerGeometry](#PlayerGeometry)
Arbitrary shirt, pants, glove colors + settings menu (#145) * Support for more granular player colors You can now configure RGB values for shirt, pants, gloves, and shoes. Due to some limitations, configuring shoes does nothing at the moment. * Remove paletteIndex and friends Restructured and filled in some remaining code to account for that. * Add Edit Palette panel to Player panel * Change PlayerPalette contents to an enum-indexed array, remove shoes This gets rid of all the hokey code doing switch cases on the different parts. * Fix goof with player model selection box Should actually have affect now even if a custom palette is being used. * Fix gap in player color display list commands The extra space was leftover from when I was trying to get shoes working. Forgot to clean it up. * Standardize PlayerParts enum, including for lua constants autogen * djui_panel_player.c: Properly hook sending palette changes on unpause Editing the palette and then unpausing should send out the packet to everyone with the new palette changes (and update the palette preset selection box), but since we weren't hooking that situation before, it would stay changed only for you. You would have had to press the Back button for it to work right. * Allow Lua mods to continue using `paletteIndex`, `overridePaletteIndex` This lets mod code like this still work unchanged: if s.team == 2 then np.overridePaletteIndex = 7 elseif s.team == 1 then np.overridePaletteIndex = 15 else np.overridePaletteIndex = np.paletteIndex end It's essentially faked, and would work strangely if the value of either variable was inspected more closely directly. This should at least handle the typical use case, though. Every frame, `overridePaletteIndex` is checked to see if it was modified from its previous value. If so, `overridePalette` is set to the preset corresponding to the index. `paletteIndex` contains a special value that when used to assign to `overridePaletteIndex`, it copies `palette` into `overridePalette` to restore the real colors, which of course may not follow the presets at all. * characters.h: Pack `PlayerPalette` to eliminate size differences between computers * mario_misc.c: Remove remaining "TODO GAG"
2022-08-07 22:13:19 +00:00
- [PlayerPalette](#PlayerPalette)
2022-03-05 22:24:58 +00:00
- [RayIntersectionInfo](#RayIntersectionInfo)
2022-01-30 06:47:22 +00:00
- [SPTask](#SPTask)
- [ServerSettings](#ServerSettings)
2022-03-05 04:03:00 +00:00
- [SoundState](#SoundState)
2022-01-30 06:47:22 +00:00
- [SpawnInfo](#SpawnInfo)
2022-02-19 21:51:02 +00:00
- [SpawnParticlesInfo](#SpawnParticlesInfo)
- [StarPositions](#StarPositions)
- [StarsNeededForDialog](#StarsNeededForDialog)
2022-02-19 21:51:02 +00:00
- [Struct802A272C](#Struct802A272C)
2022-01-30 06:47:22 +00:00
- [Surface](#Surface)
2022-02-16 06:13:10 +00:00
- [TextureInfo](#TextureInfo)
2022-01-30 06:47:22 +00:00
- [TransitionInfo](#TransitionInfo)
- [UnusedArea28](#UnusedArea28)
- [VblankHandler](#VblankHandler)
- [Vec3f](#Vec3f)
- [Vec3s](#Vec3s)
- [WallCollisionData](#WallCollisionData)
- [WarpNode](#WarpNode)
- [WarpTransition](#WarpTransition)
- [WarpTransitionData](#WarpTransitionData)
2022-02-19 21:51:02 +00:00
- [WaterDropletParams](#WaterDropletParams)
2022-01-30 06:47:22 +00:00
- [Waypoint](#Waypoint)
- [Whirlpool](#Whirlpool)
2022-02-19 21:51:02 +00:00
- [struct802A1230](#struct802A1230)
2022-01-30 06:47:22 +00:00
<br />
2022-02-19 06:43:38 +00:00
## [AnimInfo](#AnimInfo)
| Field | Type | Access |
| ----- | ---- | ------ |
| animAccel | `integer` | |
| animFrame | `integer` | |
| animFrameAccelAssist | `integer` | |
| animID | `integer` | |
| animTimer | `integer` | |
| animYTrans | `integer` | |
| curAnim | [Animation](structs.md#Animation) | |
| prevAnimFrame | `integer` | |
| prevAnimFrameTimestamp | `integer` | |
| prevAnimID | `integer` | |
| prevAnimPtr | [Animation](structs.md#Animation) | |
2022-02-19 06:43:38 +00:00
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [Animation](#Animation)
| Field | Type | Access |
| ----- | ---- | ------ |
| animYTransDivisor | `integer` | |
| flags | `integer` | |
| index | `Pointer` <`integer`> | read-only |
| length | `integer` | |
| loopEnd | `integer` | |
| loopStart | `integer` | |
| startFrame | `integer` | |
| unusedBoneCount | `integer` | |
| values | `Pointer` <`integer`> | read-only |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [Area](#Area)
| Field | Type | Access |
| ----- | ---- | ------ |
| camera | [Camera](structs.md#Camera) | |
| flags | `integer` | |
| index | `integer` | |
| instantWarps | [InstantWarp](structs.md#InstantWarp) | |
2022-03-26 04:39:03 +00:00
| localAreaTimer | `integer` | read-only |
| macroObjects | `Pointer` <`integer`> | read-only |
2022-03-30 04:12:42 +00:00
| macroObjectsAltered | `Pointer` <`integer`> | read-only |
| musicParam | `integer` | |
| musicParam2 | `integer` | |
| numRedCoins | `integer` | |
| numSecrets | `integer` | |
| objectSpawnInfos | [SpawnInfo](structs.md#SpawnInfo) | |
| paintingWarpNodes | [WarpNode](structs.md#WarpNode) | |
| surfaceRooms | `Pointer` <`integer`> | read-only |
| terrainData | `Pointer` <`integer`> | read-only |
| terrainType | `integer` | |
| warpNodes | [ObjectWarpNode](structs.md#ObjectWarpNode) | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [BassAudio](#BassAudio)
| Field | Type | Access |
| ----- | ---- | ------ |
| file | [ModFile](structs.md#ModFile) | read-only |
| handle | `integer` | read-only |
| isStream | `boolean` | read-only |
| loaded | `boolean` | read-only |
| rawData | `string` | read-only |
[:arrow_up_small:](#)
<br />
## [BehaviorDialogs](#BehaviorDialogs)
| Field | Type | Access |
| ----- | ---- | ------ |
| BobombBuddyBob1Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| BobombBuddyBob2Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| BobombBuddyOther1Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| BobombBuddyOther2Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| Bowser1DefeatedDialog | [enum DialogId](constants.md#enum-DialogId) | |
| Bowser1Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| Bowser2DefeatedDialog | [enum DialogId](constants.md#enum-DialogId) | |
| Bowser2Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| Bowser3Defeated120StarsDialog | [enum DialogId](constants.md#enum-DialogId) | |
| Bowser3DefeatedDialog | [enum DialogId](constants.md#enum-DialogId) | |
| Bowser3Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| CapswitchBaseDialog | [enum DialogId](constants.md#enum-DialogId) | |
| CapswitchMetalDialog | [enum DialogId](constants.md#enum-DialogId) | |
| CapswitchVanishDialog | [enum DialogId](constants.md#enum-DialogId) | |
| CapswitchWingDialog | [enum DialogId](constants.md#enum-DialogId) | |
| CastleEnterDialog | [enum DialogId](constants.md#enum-DialogId) | |
| CollectedStarDialog | [enum DialogId](constants.md#enum-DialogId) | |
| DefaultCutsceneDialog | [enum DialogId](constants.md#enum-DialogId) | |
| DoorNeed1StarDialog | [enum DialogId](constants.md#enum-DialogId) | |
| DoorNeed30StarsDialog | [enum DialogId](constants.md#enum-DialogId) | |
| DoorNeed3StarsDialog | [enum DialogId](constants.md#enum-DialogId) | |
| DoorNeed50StarsDialog | [enum DialogId](constants.md#enum-DialogId) | |
| DoorNeed70StarsDialog | [enum DialogId](constants.md#enum-DialogId) | |
| DoorNeed8StarsDialog | [enum DialogId](constants.md#enum-DialogId) | |
| DoorNeedKeyDialog | [enum DialogId](constants.md#enum-DialogId) | |
| EyerokDefeatedDialog | [enum DialogId](constants.md#enum-DialogId) | |
| EyerokIntroDialog | [enum DialogId](constants.md#enum-DialogId) | |
| GhostHuntAfterDialog | [enum DialogId](constants.md#enum-DialogId) | |
| GhostHuntDialog | [enum DialogId](constants.md#enum-DialogId) | |
| HootIntroDialog | [enum DialogId](constants.md#enum-DialogId) | |
| HootTiredDialog | [enum DialogId](constants.md#enum-DialogId) | |
| HundredCoinsDialog | [enum DialogId](constants.md#enum-DialogId) | |
| IntroPipeDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KeyDoor1DontHaveDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KeyDoor1HaveDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KeyDoor2DontHaveDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KeyDoor2HaveDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KingBobombCheatDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KingBobombDefeatDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KingBobombIntroDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KingWhompDefeatDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KingWhompDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KoopaQuickBobStartDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KoopaQuickBobWinDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KoopaQuickCheatedDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KoopaQuickLostDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KoopaQuickThiStartDialog | [enum DialogId](constants.md#enum-DialogId) | |
| KoopaQuickThiWinDialog | [enum DialogId](constants.md#enum-DialogId) | |
| LakituIntroDialog | [enum DialogId](constants.md#enum-DialogId) | |
| MetalCourseDialog | [enum DialogId](constants.md#enum-DialogId) | |
| Mips1Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| Mips2Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| PeachLetterDialog | [enum DialogId](constants.md#enum-DialogId) | |
| RacingPenguinBigStartDialog | [enum DialogId](constants.md#enum-DialogId) | |
| RacingPenguinCheatDialog | [enum DialogId](constants.md#enum-DialogId) | |
| RacingPenguinLostDialog | [enum DialogId](constants.md#enum-DialogId) | |
| RacingPenguinStartDialog | [enum DialogId](constants.md#enum-DialogId) | |
| RacingPenguinWinDialog | [enum DialogId](constants.md#enum-DialogId) | |
| SnowmanHeadAfterDialog | [enum DialogId](constants.md#enum-DialogId) | |
| SnowmanHeadBodyDialog | [enum DialogId](constants.md#enum-DialogId) | |
| SnowmanHeadDialog | [enum DialogId](constants.md#enum-DialogId) | |
| SnowmanWindDialog | [enum DialogId](constants.md#enum-DialogId) | |
| StarCollectionBaseDialog | [enum DialogId](constants.md#enum-DialogId) | |
| StarDoorDialog | [enum DialogId](constants.md#enum-DialogId) | |
| ToadStar1AfterDialog | [enum DialogId](constants.md#enum-DialogId) | |
| ToadStar1Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| ToadStar2AfterDialog | [enum DialogId](constants.md#enum-DialogId) | |
| ToadStar2Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| ToadStar3AfterDialog | [enum DialogId](constants.md#enum-DialogId) | |
| ToadStar3Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| TuxieMotherBabyFoundDialog | [enum DialogId](constants.md#enum-DialogId) | |
| TuxieMotherBabyWrongDialog | [enum DialogId](constants.md#enum-DialogId) | |
| TuxieMotherDialog | [enum DialogId](constants.md#enum-DialogId) | |
| UkikiCageDialog | [enum DialogId](constants.md#enum-DialogId) | |
| UkikiCapGiveDialog | [enum DialogId](constants.md#enum-DialogId) | |
| UkikiCapStealDialog | [enum DialogId](constants.md#enum-DialogId) | |
| UkikiHeldDialog | [enum DialogId](constants.md#enum-DialogId) | |
| VanishCourseDialog | [enum DialogId](constants.md#enum-DialogId) | |
| WigglerAttack1Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| WigglerAttack2Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| WigglerAttack3Dialog | [enum DialogId](constants.md#enum-DialogId) | |
| WigglerDialog | [enum DialogId](constants.md#enum-DialogId) | |
| WingCourseDialog | [enum DialogId](constants.md#enum-DialogId) | |
| YoshiDialog | [enum DialogId](constants.md#enum-DialogId) | |
[:arrow_up_small:](#)
<br />
2022-04-09 04:01:17 +00:00
## [BehaviorTrajectories](#BehaviorTrajectories)
| Field | Type | Access |
| ----- | ---- | ------ |
2022-04-09 06:01:41 +00:00
| BowlingBallBob2Trajectory | `Pointer` <`Trajectory`> | |
| BowlingBallBobTrajectory | `Pointer` <`Trajectory`> | |
2022-06-03 02:45:01 +00:00
| BowlingBallThiLargeTrajectory | `Pointer` <`Trajectory`> | |
| BowlingBallThiSmallTrajectory | `Pointer` <`Trajectory`> | |
2022-04-09 06:01:41 +00:00
| BowlingBallTtmTrajectory | `Pointer` <`Trajectory`> | |
| KoopaBobTrajectory | `Pointer` <`Trajectory`> | |
| KoopaThiTrajectory | `Pointer` <`Trajectory`> | |
| Mips10Trajectory | `Pointer` <`Trajectory`> | |
| Mips2Trajectory | `Pointer` <`Trajectory`> | |
| Mips3Trajectory | `Pointer` <`Trajectory`> | |
| Mips4Trajectory | `Pointer` <`Trajectory`> | |
| Mips5Trajectory | `Pointer` <`Trajectory`> | |
| Mips6Trajectory | `Pointer` <`Trajectory`> | |
| Mips7Trajectory | `Pointer` <`Trajectory`> | |
| Mips8Trajectory | `Pointer` <`Trajectory`> | |
| Mips9Trajectory | `Pointer` <`Trajectory`> | |
| MipsTrajectory | `Pointer` <`Trajectory`> | |
| PlatformBitfsTrajectory | `Pointer` <`Trajectory`> | |
| PlatformCcmTrajectory | `Pointer` <`Trajectory`> | |
| PlatformHmcTrajectory | `Pointer` <`Trajectory`> | |
| PlatformLll2Trajectory | `Pointer` <`Trajectory`> | |
| PlatformLllTrajectory | `Pointer` <`Trajectory`> | |
| PlatformRr2Trajectory | `Pointer` <`Trajectory`> | |
| PlatformRr3Trajectory | `Pointer` <`Trajectory`> | |
| PlatformRr4Trajectory | `Pointer` <`Trajectory`> | |
| PlatformRrTrajectory | `Pointer` <`Trajectory`> | |
| RacingPenguinTrajectory | `Pointer` <`Trajectory`> | |
| SnowmanHeadTrajectory | `Pointer` <`Trajectory`> | |
| Unagi2Trajectory | `Pointer` <`Trajectory`> | |
| UnagiTrajectory | `Pointer` <`Trajectory`> | |
2022-04-09 04:01:17 +00:00
[:arrow_up_small:](#)
<br />
## [BehaviorValues](#BehaviorValues)
| Field | Type | Access |
| ----- | ---- | ------ |
2022-06-03 02:50:41 +00:00
| BowlingBallBob2Speed | `number` | |
| BowlingBallBobSpeed | `number` | |
| BowlingBallThiLargeSpeed | `number` | |
| BowlingBallThiSmallSpeed | `number` | |
| BowlingBallTtmSpeed | `number` | |
| GrateStarRequirement | `integer` | |
| KingBobombFVel | `number` | |
| KingBobombHealth | `integer` | |
| KingBobombYawVel | `integer` | |
| KingWhompHealth | `integer` | |
2022-04-09 06:01:41 +00:00
| KoopaBobAgility | `number` | |
| KoopaCatchupAgility | `number` | |
| KoopaThiAgility | `number` | |
| MipsStar1Requirement | `integer` | |
| MipsStar2Requirement | `integer` | |
| RacingPenguinBigHeight | `number` | |
| RacingPenguinBigRadius | `number` | |
| RacingPenguinHeight | `number` | |
| RacingPenguinRadius | `number` | |
| ShowStarMilestones | `integer` | |
| ToadStar1Requirement | `integer` | |
| ToadStar2Requirement | `integer` | |
| ToadStar3Requirement | `integer` | |
| dialogs | [BehaviorDialogs](structs.md#BehaviorDialogs) | read-only |
| starsNeededForDialog | [StarsNeededForDialog](structs.md#StarsNeededForDialog) | read-only |
2022-04-09 04:01:17 +00:00
| trajectories | [BehaviorTrajectories](structs.md#BehaviorTrajectories) | read-only |
[:arrow_up_small:](#)
<br />
2022-03-03 09:04:15 +00:00
## [BullyCollisionData](#BullyCollisionData)
| Field | Type | Access |
| ----- | ---- | ------ |
| conversionRatio | `number` | |
| posX | `number` | |
| posZ | `number` | |
| radius | `number` | |
| velX | `number` | |
| velZ | `number` | |
2022-03-03 09:04:15 +00:00
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [Camera](#Camera)
| Field | Type | Access |
| ----- | ---- | ------ |
| areaCenX | `number` | |
| areaCenY | `number` | |
| areaCenZ | `number` | |
| cutscene | `integer` | |
| defMode | `integer` | |
| doorStatus | `integer` | |
| focus | [Vec3f](structs.md#Vec3f) | read-only |
| mode | `integer` | |
| nextYaw | `integer` | |
| pos | [Vec3f](structs.md#Vec3f) | read-only |
| unusedVec1 | [Vec3f](structs.md#Vec3f) | read-only |
| yaw | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [CameraFOVStatus](#CameraFOVStatus)
| Field | Type | Access |
| ----- | ---- | ------ |
| decay | `integer` | |
| fov | `number` | |
| fovFunc | `integer` | |
| fovOffset | `number` | |
| shakeAmplitude | `number` | |
| shakePhase | `integer` | |
| shakeSpeed | `integer` | |
| unusedIsSleeping | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [CameraStoredInfo](#CameraStoredInfo)
| Field | Type | Access |
| ----- | ---- | ------ |
| cannonYOffset | `number` | |
| focus | [Vec3f](structs.md#Vec3f) | read-only |
| panDist | `number` | |
| pos | [Vec3f](structs.md#Vec3f) | read-only |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [CameraTrigger](#CameraTrigger)
| Field | Type | Access |
| ----- | ---- | ------ |
| area | `integer` | |
| boundsX | `integer` | |
| boundsY | `integer` | |
| boundsYaw | `integer` | |
| boundsZ | `integer` | |
| centerX | `integer` | |
| centerY | `integer` | |
| centerZ | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
2022-02-19 21:51:02 +00:00
## [ChainSegment](#ChainSegment)
| Field | Type | Access |
| ----- | ---- | ------ |
| pitch | `integer` | |
| posX | `number` | |
| posY | `number` | |
| posZ | `number` | |
| roll | `integer` | |
| yaw | `integer` | |
2022-02-19 21:51:02 +00:00
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [Character](#Character)
| Field | Type | Access |
| ----- | ---- | ------ |
| animOffsetEnabled | `integer` | read-only |
| animOffsetFeet | `number` | read-only |
| animOffsetHand | `number` | read-only |
| animOffsetLowYPoint | `number` | read-only |
| cameraHudHead | `integer` | read-only |
| capEnemyLayer | `integer` | read-only |
| capMetalModelId | `integer` | read-only |
| capMetalWingModelId | `integer` | read-only |
| capModelId | `integer` | read-only |
| capWingModelId | `integer` | read-only |
| hudHead | `integer` | read-only |
| hudHeadTexture | [TextureInfo](structs.md#TextureInfo) | read-only |
| modelId | `integer` | read-only |
| name | `string` | read-only |
| soundAttacked | `integer` | read-only |
| soundCoughing1 | `integer` | read-only |
| soundCoughing2 | `integer` | read-only |
| soundCoughing3 | `integer` | read-only |
| soundDoh | `integer` | read-only |
| soundDrowning | `integer` | read-only |
| soundDying | `integer` | read-only |
| soundEeuh | `integer` | read-only |
| soundFreqScale | `number` | read-only |
| soundGameOver | `integer` | read-only |
| soundGroundPoundWah | `integer` | read-only |
| soundHaha | `integer` | read-only |
| soundHaha_2 | `integer` | read-only |
| soundHello | `integer` | read-only |
| soundHereWeGo | `integer` | read-only |
| soundHoohoo | `integer` | read-only |
| soundHrmm | `integer` | read-only |
| soundImaTired | `integer` | read-only |
Fixed various audio bugs; DynOS can now detect texture duplicates to decrease generated bin files size (#110) Fixed the following audio bugs: Bug: Rom-hacks sequences don't seem to be affected by volume scaling and muting Fix: Force the BGM sequences to follow the vanilla behavior: Volume can't go higher than default volume Volume is reduced to 31% when the game is paused Audio is stopped when the game is paused outside the Castle levels Bug: (Pointed out by Draco) Mario's voice clips are not replaced by the player's character's in the following instances: fall to death barrier, "here we go" in the ending cutscene, "let's a go" after selecting a star, "okey dokey" after starting the game. Fix: The first two ones now call play_character_sound(m, CHAR_SOUND_...) instead of play_sound(SOUND_MARIO_..., pos). The last two ones couldn't be fixed the same way for two reasons: First, the corresponding sounds were not referenced in the sound table, second, the sound played is always cut-off after a few frames (due to how sm64 resets the sound banks after loading a level). Added SOUND_*_LETS_A_GO and SOUND_*_OKEY_DOKEY sounds for each playable character as Bass samples. Character Bass sounds work the same way as vanilla sounds (i.e. can be played with play_character_sound), but they cannot be prematurely stopped by sm64 sound banks shenanigans. This fixes the cut-off for both the star select and the castle grounds entry, plays the sound corresponding to the player's character, and doesn't need to extend or edit the sound table. DynOS can detect texture duplicates when generating a bin or lvl file. When a duplicate is detected, the name of the original texture node is written instead of the whole PNG data, decreasing significantly the resulting file size.
2022-05-19 23:40:45 +00:00
| soundLetsAGo | `integer` | read-only |
| soundMamaMia | `integer` | read-only |
Fixed various audio bugs; DynOS can now detect texture duplicates to decrease generated bin files size (#110) Fixed the following audio bugs: Bug: Rom-hacks sequences don't seem to be affected by volume scaling and muting Fix: Force the BGM sequences to follow the vanilla behavior: Volume can't go higher than default volume Volume is reduced to 31% when the game is paused Audio is stopped when the game is paused outside the Castle levels Bug: (Pointed out by Draco) Mario's voice clips are not replaced by the player's character's in the following instances: fall to death barrier, "here we go" in the ending cutscene, "let's a go" after selecting a star, "okey dokey" after starting the game. Fix: The first two ones now call play_character_sound(m, CHAR_SOUND_...) instead of play_sound(SOUND_MARIO_..., pos). The last two ones couldn't be fixed the same way for two reasons: First, the corresponding sounds were not referenced in the sound table, second, the sound played is always cut-off after a few frames (due to how sm64 resets the sound banks after loading a level). Added SOUND_*_LETS_A_GO and SOUND_*_OKEY_DOKEY sounds for each playable character as Bass samples. Character Bass sounds work the same way as vanilla sounds (i.e. can be played with play_character_sound), but they cannot be prematurely stopped by sm64 sound banks shenanigans. This fixes the cut-off for both the star select and the castle grounds entry, plays the sound corresponding to the player's character, and doesn't need to extend or edit the sound table. DynOS can detect texture duplicates when generating a bin or lvl file. When a duplicate is detected, the name of the original texture node is written instead of the whole PNG data, decreasing significantly the resulting file size.
2022-05-19 23:40:45 +00:00
| soundOkeyDokey | `integer` | read-only |
| soundOnFire | `integer` | read-only |
| soundOoof | `integer` | read-only |
| soundOoof2 | `integer` | read-only |
| soundPanting | `integer` | read-only |
| soundPantingCold | `integer` | read-only |
| soundPressStartToPlay | `integer` | read-only |
| soundPunchHoo | `integer` | read-only |
| soundPunchWah | `integer` | read-only |
| soundPunchYah | `integer` | read-only |
| soundSnoring1 | `integer` | read-only |
| soundSnoring2 | `integer` | read-only |
| soundSnoring3 | `integer` | read-only |
| soundSoLongaBowser | `integer` | read-only |
| soundTwirlBounce | `integer` | read-only |
| soundUh | `integer` | read-only |
| soundUh2 | `integer` | read-only |
| soundUh2_2 | `integer` | read-only |
| soundWaaaooow | `integer` | read-only |
| soundWah2 | `integer` | read-only |
| soundWhoa | `integer` | read-only |
| soundYahWahHoo | `integer` | read-only |
| soundYahoo | `integer` | read-only |
| soundYahooWahaYippee | `integer` | read-only |
| soundYawning | `integer` | read-only |
| torsoRotMult | `number` | read-only |
| type | [enum CharacterType](constants.md#enum-CharacterType) | read-only |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [Controller](#Controller)
| Field | Type | Access |
| ----- | ---- | ------ |
| buttonDown | `integer` | |
| buttonPressed | `integer` | |
| extStickX | `integer` | |
| extStickY | `integer` | |
| port | `integer` | |
| rawStickX | `integer` | |
| rawStickY | `integer` | |
| stickMag | `number` | |
| stickX | `number` | |
| stickY | `number` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [CustomLevelInfo](#CustomLevelInfo)
| Field | Type | Access |
| ----- | ---- | ------ |
| acousticReach | `integer` | |
| courseNum | `integer` | |
| echoLevel1 | `integer` | |
| echoLevel2 | `integer` | |
| echoLevel3 | `integer` | |
| fullName | `string` | read-only |
| levelNum | `integer` | |
| next | [CustomLevelInfo](structs.md#CustomLevelInfo) | |
| script | `Pointer` <`LevelScript`> | read-only |
| scriptEntryName | `string` | read-only |
| shortName | `string` | read-only |
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [Cutscene](#Cutscene)
| Field | Type | Access |
| ----- | ---- | ------ |
| duration | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [CutsceneSplinePoint](#CutsceneSplinePoint)
| Field | Type | Access |
| ----- | ---- | ------ |
| index | `integer` | |
| point | [Vec3s](structs.md#Vec3s) | read-only |
| speed | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [CutsceneVariable](#CutsceneVariable)
| Field | Type | Access |
| ----- | ---- | ------ |
| angle | [Vec3s](structs.md#Vec3s) | read-only |
| point | [Vec3f](structs.md#Vec3f) | read-only |
| unused1 | `integer` | |
| unused2 | `integer` | |
| unusedPoint | [Vec3f](structs.md#Vec3f) | read-only |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [FloorGeometry](#FloorGeometry)
| Field | Type | Access |
| ----- | ---- | ------ |
| normalX | `number` | |
| normalY | `number` | |
| normalZ | `number` | |
| originOffset | `number` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [GlobalObjectAnimations](#GlobalObjectAnimations)
| Field | Type | Access |
| ----- | ---- | ------ |
| amp_seg8_anims_08004034 | `Pointer` <`ObjectAnimPointer`> | read-only |
| birds_seg5_anims_050009E8 | `Pointer` <`ObjectAnimPointer`> | read-only |
2022-06-03 02:33:28 +00:00
| blargg_seg5_anims_0500616C | `Pointer` <`ObjectAnimPointer`> | read-only |
| blue_fish_seg3_anims_0301C2B0 | `Pointer` <`ObjectAnimPointer`> | read-only |
| bobomb_seg8_anims_0802396C | `Pointer` <`ObjectAnimPointer`> | read-only |
| bookend_seg5_anims_05002540 | `Pointer` <`ObjectAnimPointer`> | read-only |
| bowser_key_seg3_anims_list | `Pointer` <`ObjectAnimPointer`> | read-only |
| bowser_seg6_anims_06057690 | `Pointer` <`ObjectAnimPointer`> | read-only |
| bub_seg6_anims_06012354 | `Pointer` <`ObjectAnimPointer`> | read-only |
| bully_seg5_anims_0500470C | `Pointer` <`ObjectAnimPointer`> | read-only |
| butterfly_seg3_anims_030056B0 | `Pointer` <`ObjectAnimPointer`> | read-only |
| castle_grounds_seg7_anims_flags | `Pointer` <`ObjectAnimPointer`> | read-only |
| chain_chomp_seg6_anims_06025178 | `Pointer` <`ObjectAnimPointer`> | read-only |
| chair_seg5_anims_05005784 | `Pointer` <`ObjectAnimPointer`> | read-only |
| chilly_chief_seg6_anims_06003994 | `Pointer` <`ObjectAnimPointer`> | read-only |
| chuckya_seg8_anims_0800C070 | `Pointer` <`ObjectAnimPointer`> | read-only |
| clam_shell_seg5_anims_05001744 | `Pointer` <`ObjectAnimPointer`> | read-only |
2022-06-03 02:33:28 +00:00
| cyan_fish_seg6_anims_0600E264 | `Pointer` <`ObjectAnimPointer`> | read-only |
| door_seg3_anims_030156C0 | `Pointer` <`ObjectAnimPointer`> | read-only |
| dorrie_seg6_anims_0600F638 | `Pointer` <`ObjectAnimPointer`> | read-only |
| eyerok_seg5_anims_050116E4 | `Pointer` <`ObjectAnimPointer`> | read-only |
| flyguy_seg8_anims_08011A64 | `Pointer` <`ObjectAnimPointer`> | read-only |
| goomba_seg8_anims_0801DA4C | `Pointer` <`ObjectAnimPointer`> | read-only |
| heave_ho_seg5_anims_0501534C | `Pointer` <`ObjectAnimPointer`> | read-only |
| hoot_seg5_anims_05005768 | `Pointer` <`ObjectAnimPointer`> | read-only |
| king_bobomb_seg5_anims_0500FE30 | `Pointer` <`ObjectAnimPointer`> | read-only |
| klepto_seg5_anims_05008CFC | `Pointer` <`ObjectAnimPointer`> | read-only |
| koopa_flag_seg6_anims_06001028 | `Pointer` <`ObjectAnimPointer`> | read-only |
| koopa_seg6_anims_06011364 | `Pointer` <`ObjectAnimPointer`> | read-only |
| lakitu_enemy_seg5_anims_050144D4 | `Pointer` <`ObjectAnimPointer`> | read-only |
| lakitu_seg6_anims_060058F8 | `Pointer` <`ObjectAnimPointer`> | read-only |
| mad_piano_seg5_anims_05009B14 | `Pointer` <`ObjectAnimPointer`> | read-only |
| manta_seg5_anims_05008EB4 | `Pointer` <`ObjectAnimPointer`> | read-only |
| mips_seg6_anims_06015634 | `Pointer` <`ObjectAnimPointer`> | read-only |
| moneybag_seg6_anims_06005E5C | `Pointer` <`ObjectAnimPointer`> | read-only |
| monty_mole_seg5_anims_05007248 | `Pointer` <`ObjectAnimPointer`> | read-only |
| peach_seg5_anims_0501C41C | `Pointer` <`ObjectAnimPointer`> | read-only |
| penguin_seg5_anims_05008B74 | `Pointer` <`ObjectAnimPointer`> | read-only |
| piranha_plant_seg6_anims_0601C31C | `Pointer` <`ObjectAnimPointer`> | read-only |
| scuttlebug_seg6_anims_06015064 | `Pointer` <`ObjectAnimPointer`> | read-only |
| seaweed_seg6_anims_0600A4D4 | `Pointer` <`ObjectAnimPointer`> | read-only |
| skeeter_seg6_anims_06007DE0 | `Pointer` <`ObjectAnimPointer`> | read-only |
| snowman_seg5_anims_0500D118 | `Pointer` <`ObjectAnimPointer`> | read-only |
| spindrift_seg5_anims_05002D68 | `Pointer` <`ObjectAnimPointer`> | read-only |
2022-06-03 02:33:28 +00:00
| spiny_egg_seg5_anims_050157E4 | `Pointer` <`ObjectAnimPointer`> | read-only |
| spiny_seg5_anims_05016EAC | `Pointer` <`ObjectAnimPointer`> | read-only |
| sushi_seg5_anims_0500AE54 | `Pointer` <`ObjectAnimPointer`> | read-only |
| swoop_seg6_anims_060070D0 | `Pointer` <`ObjectAnimPointer`> | read-only |
| toad_seg6_anims_0600FB58 | `Pointer` <`ObjectAnimPointer`> | read-only |
| ukiki_seg5_anims_05015784 | `Pointer` <`ObjectAnimPointer`> | read-only |
| unagi_seg5_anims_05012824 | `Pointer` <`ObjectAnimPointer`> | read-only |
| water_ring_seg6_anims_06013F7C | `Pointer` <`ObjectAnimPointer`> | read-only |
| whomp_seg6_anims_06020A04 | `Pointer` <`ObjectAnimPointer`> | read-only |
| wiggler_seg5_anims_0500C874 | `Pointer` <`ObjectAnimPointer`> | read-only |
| wiggler_seg5_anims_0500EC8C | `Pointer` <`ObjectAnimPointer`> | read-only |
| yoshi_seg5_anims_05024100 | `Pointer` <`ObjectAnimPointer`> | read-only |
[:arrow_up_small:](#)
<br />
## [GlobalObjectCollisionData](#GlobalObjectCollisionData)
| Field | Type | Access |
| ----- | ---- | ------ |
| bbh_seg7_collision_coffin | `Pointer` <`Collision`> | |
| bbh_seg7_collision_haunted_bookshelf | `Pointer` <`Collision`> | |
| bbh_seg7_collision_merry_go_round | `Pointer` <`Collision`> | |
| bbh_seg7_collision_mesh_elevator | `Pointer` <`Collision`> | |
| bbh_seg7_collision_staircase_step | `Pointer` <`Collision`> | |
| bbh_seg7_collision_tilt_floor_platform | `Pointer` <`Collision`> | |
| bitdw_seg7_collision_moving_pyramid | `Pointer` <`Collision`> | |
| bitfs_seg7_collision_inverted_pyramid | `Pointer` <`Collision`> | |
| bitfs_seg7_collision_sinking_cage_platform | `Pointer` <`Collision`> | |
| bitfs_seg7_collision_sinking_platform | `Pointer` <`Collision`> | |
| bitfs_seg7_collision_squishable_platform | `Pointer` <`Collision`> | |
| blue_coin_switch_seg8_collision_08000E98 | `Pointer` <`Collision`> | |
| bob_seg7_collision_chain_chomp_gate | `Pointer` <`Collision`> | |
| bowser_2_seg7_collision_tilting_platform | `Pointer` <`Collision`> | |
| breakable_box_seg8_collision_08012D70 | `Pointer` <`Collision`> | |
| cannon_lid_seg8_collision_08004950 | `Pointer` <`Collision`> | |
| capswitch_collision_050033D0 | `Pointer` <`Collision`> | |
| capswitch_collision_05003448 | `Pointer` <`Collision`> | |
| castle_grounds_seg7_collision_cannon_grill | `Pointer` <`Collision`> | |
| castle_grounds_seg7_collision_moat_grills | `Pointer` <`Collision`> | |
| checkerboard_platform_seg8_collision_0800D710 | `Pointer` <`Collision`> | |
| ddd_seg7_collision_bowser_sub_door | `Pointer` <`Collision`> | |
| ddd_seg7_collision_submarine | `Pointer` <`Collision`> | |
| door_seg3_collision_0301CE78 | `Pointer` <`Collision`> | |
| dorrie_seg6_collision_0600F644 | `Pointer` <`Collision`> | |
2022-06-03 02:33:28 +00:00
| dorrie_seg6_collision_0600FBB8 | `Pointer` <`Collision`> | |
| exclamation_box_outline_seg8_collision_08025F78 | `Pointer` <`Collision`> | |
| hmc_seg7_collision_controllable_platform | `Pointer` <`Collision`> | |
| hmc_seg7_collision_controllable_platform_sub | `Pointer` <`Collision`> | |
| hmc_seg7_collision_elevator | `Pointer` <`Collision`> | |
| inside_castle_seg7_collision_floor_trap | `Pointer` <`Collision`> | |
| inside_castle_seg7_collision_star_door | `Pointer` <`Collision`> | |
| inside_castle_seg7_collision_water_level_pillar | `Pointer` <`Collision`> | |
| jrb_seg7_collision_floating_box | `Pointer` <`Collision`> | |
| jrb_seg7_collision_floating_platform | `Pointer` <`Collision`> | |
| jrb_seg7_collision_in_sunken_ship | `Pointer` <`Collision`> | |
| jrb_seg7_collision_in_sunken_ship_2 | `Pointer` <`Collision`> | |
| jrb_seg7_collision_in_sunken_ship_3 | `Pointer` <`Collision`> | |
| jrb_seg7_collision_pillar_base | `Pointer` <`Collision`> | |
| jrb_seg7_collision_rock_solid | `Pointer` <`Collision`> | |
| lll_hexagonal_mesh_seg3_collision_0301CECC | `Pointer` <`Collision`> | |
| lll_seg7_collision_drawbridge | `Pointer` <`Collision`> | |
| lll_seg7_collision_falling_wall | `Pointer` <`Collision`> | |
| lll_seg7_collision_floating_block | `Pointer` <`Collision`> | |
| lll_seg7_collision_hexagonal_platform | `Pointer` <`Collision`> | |
| lll_seg7_collision_inverted_pyramid | `Pointer` <`Collision`> | |
| lll_seg7_collision_octagonal_moving_platform | `Pointer` <`Collision`> | |
| lll_seg7_collision_pitoune | `Pointer` <`Collision`> | |
| lll_seg7_collision_puzzle_piece | `Pointer` <`Collision`> | |
| lll_seg7_collision_rotating_fire_bars | `Pointer` <`Collision`> | |
| lll_seg7_collision_rotating_platform | `Pointer` <`Collision`> | |
| lll_seg7_collision_sinking_pyramids | `Pointer` <`Collision`> | |
| lll_seg7_collision_slow_tilting_platform | `Pointer` <`Collision`> | |
| lll_seg7_collision_wood_piece | `Pointer` <`Collision`> | |
| metal_box_seg8_collision_08024C28 | `Pointer` <`Collision`> | |
| penguin_seg5_collision_05008B88 | `Pointer` <`Collision`> | |
| poundable_pole_collision_06002490 | `Pointer` <`Collision`> | |
| purple_switch_seg8_collision_0800C7A8 | `Pointer` <`Collision`> | |
| rr_seg7_collision_donut_platform | `Pointer` <`Collision`> | |
| rr_seg7_collision_elevator_platform | `Pointer` <`Collision`> | |
| rr_seg7_collision_pendulum | `Pointer` <`Collision`> | |
| rr_seg7_collision_rotating_platform_with_fire | `Pointer` <`Collision`> | |
| sl_seg7_collision_pound_explodes | `Pointer` <`Collision`> | |
| sl_seg7_collision_sliding_snow_mound | `Pointer` <`Collision`> | |
| springboard_collision_05001A28 | `Pointer` <`Collision`> | |
| ssl_seg7_collision_0702808C | `Pointer` <`Collision`> | |
| ssl_seg7_collision_grindel | `Pointer` <`Collision`> | |
| ssl_seg7_collision_pyramid_elevator | `Pointer` <`Collision`> | |
| ssl_seg7_collision_pyramid_top | `Pointer` <`Collision`> | |
| ssl_seg7_collision_spindel | `Pointer` <`Collision`> | |
| ssl_seg7_collision_tox_box | `Pointer` <`Collision`> | |
| thi_seg7_collision_top_trap | `Pointer` <`Collision`> | |
| thwomp_seg5_collision_0500B7D0 | `Pointer` <`Collision`> | |
| thwomp_seg5_collision_0500B92C | `Pointer` <`Collision`> | |
| ttc_seg7_collision_clock_main_rotation | `Pointer` <`Collision`> | |
| ttc_seg7_collision_clock_pendulum | `Pointer` <`Collision`> | |
| ttc_seg7_collision_clock_platform | `Pointer` <`Collision`> | |
| ttc_seg7_collision_rotating_clock_platform2 | `Pointer` <`Collision`> | |
| ttc_seg7_collision_sliding_surface | `Pointer` <`Collision`> | |
| ttm_seg7_collision_pitoune_2 | `Pointer` <`Collision`> | |
| ttm_seg7_collision_podium_warp | `Pointer` <`Collision`> | |
| ttm_seg7_collision_ukiki_cage | `Pointer` <`Collision`> | |
2022-06-03 02:33:28 +00:00
| unknown_seg8_collision_080262F8 | `Pointer` <`Collision`> | |
| warp_pipe_seg3_collision_03009AC8 | `Pointer` <`Collision`> | |
| wdw_seg7_collision_arrow_lift | `Pointer` <`Collision`> | |
| wdw_seg7_collision_express_elevator_platform | `Pointer` <`Collision`> | |
| wdw_seg7_collision_rect_floating_platform | `Pointer` <`Collision`> | |
| wdw_seg7_collision_square_floating_platform | `Pointer` <`Collision`> | |
| wf_seg7_collision_breakable_wall | `Pointer` <`Collision`> | |
| wf_seg7_collision_breakable_wall_2 | `Pointer` <`Collision`> | |
| wf_seg7_collision_bullet_bill_cannon | `Pointer` <`Collision`> | |
| wf_seg7_collision_clocklike_rotation | `Pointer` <`Collision`> | |
| wf_seg7_collision_kickable_board | `Pointer` <`Collision`> | |
| wf_seg7_collision_large_bomp | `Pointer` <`Collision`> | |
| wf_seg7_collision_platform | `Pointer` <`Collision`> | |
| wf_seg7_collision_sliding_brick_platform | `Pointer` <`Collision`> | |
| wf_seg7_collision_small_bomp | `Pointer` <`Collision`> | |
| wf_seg7_collision_tower | `Pointer` <`Collision`> | |
| wf_seg7_collision_tower_door | `Pointer` <`Collision`> | |
| whomp_seg6_collision_06020A0C | `Pointer` <`Collision`> | |
| wooden_signpost_seg3_collision_0302DD80 | `Pointer` <`Collision`> | |
[:arrow_up_small:](#)
<br />
2022-02-16 06:14:55 +00:00
## [GlobalTextures](#GlobalTextures)
| Field | Type | Access |
| ----- | ---- | ------ |
| arrow_down | [TextureInfo](structs.md#TextureInfo) | read-only |
| arrow_up | [TextureInfo](structs.md#TextureInfo) | read-only |
| camera | [TextureInfo](structs.md#TextureInfo) | read-only |
| coin | [TextureInfo](structs.md#TextureInfo) | read-only |
| lakitu | [TextureInfo](structs.md#TextureInfo) | read-only |
| no_camera | [TextureInfo](structs.md#TextureInfo) | read-only |
| star | [TextureInfo](structs.md#TextureInfo) | read-only |
2022-02-16 06:14:55 +00:00
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [GraphNode](#GraphNode)
| Field | Type | Access |
| ----- | ---- | ------ |
| children | [GraphNode](structs.md#GraphNode) | |
Changes in level_info; play_transition; dev-only warp command; bug fix for moving sounds played via lua (#69) Improved level_info.c and added functions to LUA: const char *get_level_name_ascii(s16 courseNum, s16 levelNum, s16 areaIndex, s16 charCase): Return a level name as an ascii string. If charCase is 1, capitalize all letters. If charCase is -1, decapitalize all letters except the first one of each word. const u8 *get_level_name_sm64(s16 courseNum, s16 levelNum, s16 areaIndex, s16 charCase): Return a level name as an sm64 u8 string. If charCase is 1, capitalize all letters. If charCase is -1, decapitalize all letters except the first one of each word. const char *get_level_name(s16 courseNum, s16 levelNum, s16 areaIndex): Shortcut for get_level_name_ascii(courseNum, levelNum, areaIndex, -1). const char *get_star_name_ascii(s16 courseNum, s16 starNum, s16 charCase): Return a star name as an ascii string. If charCase is 1, capitalize all letters. If charCase is -1, decapitalize all letters except the first one of each word. const u8 *get_star_name_sm64(s16 courseNum, s16 starNum, s16 charCase): Return a star name as an sm64 u8 string. If charCase is 1, capitalize all letters. If charCase is -1, decapitalize all letters except the first one of each word. const char *get_star_name(s16 courseNum, s16 starNum): Shortcut for get_star_name_ascii(courseNum, starNum, -1). Added play_transition function to LUA. I chose to copy the function declaration to smlua_misc_utils.h instead of adding area.h to the autogen tool, as most structures, variables and functions in area.h aren't meant to be used by LUA scripts. Added a dev-only warp chat command. This command signature is /warp [LEVEL] [AREA] [ACT]. Level can be either a number or a shorthand name (bob, wf, ccm...). Area and Act are numbers. This command is available only when building the game with DEBUG and DEVELOPMENT. This command cannot be used if hosting through Discord. Fixed a bug with moving sounds when they are played via a lua script. Bug: Moving sounds (including terrain sounds, flying sound, quicksand sound) are not played correctly when a lua script play them via a call of play_sound or play_sound_with_freq_scale. This is due to how the moving sounds are handled internally. They use the f32 pointer provided to the play_sound functions to decide if the sound must be kept playing, stopped or restarted. Most of the time, the pointer provided is the cameraToObject field of Mario's object graph node. Since smlua uses a circular buffer for Vec3f conversion, this pointer is lost, and the sound engine can't decide what to do with the sound, resulting in a weird and incorrect sound effect. Fix: play_sound and play_sound_with_freq_scale now calls smlua_get_vec3f_for_play_sound before filling the sound request queue, to retrieve the correct pointer from the Vec3f provided by smlua.
2022-04-26 20:48:50 +00:00
| extraFlags | `integer` | |
| flags | `integer` | |
| next | [GraphNode](structs.md#GraphNode) | |
| parent | [GraphNode](structs.md#GraphNode) | |
| prev | [GraphNode](structs.md#GraphNode) | |
| type | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [GraphNodeObject](#GraphNodeObject)
| Field | Type | Access |
| ----- | ---- | ------ |
| activeAreaIndex | `integer` | |
| angle | [Vec3s](structs.md#Vec3s) | read-only |
| animInfo | [AnimInfo](structs.md#AnimInfo) | read-only |
| areaIndex | `integer` | |
| cameraToObject | [Vec3f](structs.md#Vec3f) | read-only |
| node | [GraphNode](structs.md#GraphNode) | read-only |
| pos | [Vec3f](structs.md#Vec3f) | read-only |
| prevAngle | [Vec3s](structs.md#Vec3s) | read-only |
| prevPos | [Vec3f](structs.md#Vec3f) | read-only |
| prevScale | [Vec3f](structs.md#Vec3f) | read-only |
| prevScaleTimestamp | `integer` | |
| prevShadowPos | [Vec3f](structs.md#Vec3f) | read-only |
| prevShadowPosTimestamp | `integer` | |
| prevThrowMatrixTimestamp | `integer` | |
| prevTimestamp | `integer` | |
| scale | [Vec3f](structs.md#Vec3f) | read-only |
| sharedChild | [GraphNode](structs.md#GraphNode) | |
| skipInViewCheck | `boolean` | |
| skipInterpolationTimestamp | `integer` | |
| unk4C | [SpawnInfo](structs.md#SpawnInfo) | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
2022-02-19 21:51:02 +00:00
## [GraphNode_802A45E4](#GraphNode_802A45E4)
| Field | Type | Access |
| ----- | ---- | ------ |
| unk18 | `integer` | |
| unk1A | `integer` | |
| unk1C | `integer` | |
| unk1E | `integer` | |
| unk20 | `integer` | |
| unk22 | `integer` | |
2022-02-19 21:51:02 +00:00
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [HandheldShakePoint](#HandheldShakePoint)
| Field | Type | Access |
| ----- | ---- | ------ |
| index | `integer` | |
| pad | `integer` | |
| point | [Vec3s](structs.md#Vec3s) | read-only |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [InstantWarp](#InstantWarp)
| Field | Type | Access |
| ----- | ---- | ------ |
| area | `integer` | |
| displacement | [Vec3s](structs.md#Vec3s) | read-only |
| id | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [LakituState](#LakituState)
| Field | Type | Access |
| ----- | ---- | ------ |
| curFocus | [Vec3f](structs.md#Vec3f) | read-only |
| curPos | [Vec3f](structs.md#Vec3f) | read-only |
| defMode | `integer` | |
| focHSpeed | `number` | |
| focVSpeed | `number` | |
| focus | [Vec3f](structs.md#Vec3f) | read-only |
| focusDistance | `number` | |
| goalFocus | [Vec3f](structs.md#Vec3f) | read-only |
| goalPos | [Vec3f](structs.md#Vec3f) | read-only |
| keyDanceRoll | `integer` | |
| lastFrameAction | `integer` | |
| mode | `integer` | |
| nextYaw | `integer` | |
| oldPitch | `integer` | |
| oldRoll | `integer` | |
| oldYaw | `integer` | |
| pos | [Vec3f](structs.md#Vec3f) | read-only |
| posHSpeed | `number` | |
| posVSpeed | `number` | |
| roll | `integer` | |
| shakeMagnitude | [Vec3s](structs.md#Vec3s) | read-only |
| shakePitchDecay | `integer` | |
| shakePitchPhase | `integer` | |
| shakePitchVel | `integer` | |
| shakeRollDecay | `integer` | |
| shakeRollPhase | `integer` | |
| shakeRollVel | `integer` | |
| shakeYawDecay | `integer` | |
| shakeYawPhase | `integer` | |
| shakeYawVel | `integer` | |
| skipCameraInterpolationTimestamp | `integer` | |
| unused | `integer` | |
| unusedVec1 | [Vec3f](structs.md#Vec3f) | read-only |
| unusedVec2 | [Vec3s](structs.md#Vec3s) | read-only |
| yaw | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [LevelValues](#LevelValues)
| Field | Type | Access |
| ----- | ---- | ------ |
| coinsRequiredForCoinStar | `integer` | |
| entryLevel | [enum LevelNum](constants.md#enum-LevelNum) | |
2022-04-10 09:29:44 +00:00
| exitCastleArea | `integer` | |
| exitCastleLevel | [enum LevelNum](constants.md#enum-LevelNum) | |
| exitCastleWarpNode | `integer` | |
| fixCollisionBugs | `integer` | |
| metalCapDuration | `integer` | |
| metalCapDurationCotmc | `integer` | |
| pssSlideStarIndex | `integer` | |
| pssSlideStarTime | `integer` | |
| skipCreditsAt | [enum LevelNum](constants.md#enum-LevelNum) | |
2022-04-09 02:46:01 +00:00
| starPositions | [StarPositions](structs.md#StarPositions) | read-only |
| vanishCapDuration | `integer` | |
| vanishCapDurationVcutm | `integer` | |
| wingCapDuration | `integer` | |
| wingCapDurationTotwc | `integer` | |
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [LinearTransitionPoint](#LinearTransitionPoint)
| Field | Type | Access |
| ----- | ---- | ------ |
| dist | `number` | |
| focus | [Vec3f](structs.md#Vec3f) | read-only |
| pitch | `integer` | |
| pos | [Vec3f](structs.md#Vec3f) | read-only |
| yaw | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [MarioAnimation](#MarioAnimation)
| Field | Type | Access |
| ----- | ---- | ------ |
| currentAnimAddr | `Pointer` <`integer`> | read-only |
| targetAnim | [Animation](structs.md#Animation) | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [MarioBodyState](#MarioBodyState)
| Field | Type | Access |
| ----- | ---- | ------ |
| action | `integer` | |
| capState | `integer` | |
| eyeState | `integer` | |
| grabPos | `integer` | |
| handState | `integer` | |
| headAngle | [Vec3s](structs.md#Vec3s) | read-only |
2022-04-21 01:21:36 +00:00
| headPos | [Vec3f](structs.md#Vec3f) | read-only |
| heldObjLastPosition | [Vec3f](structs.md#Vec3f) | read-only |
| modelState | `integer` | |
| punchState | `integer` | |
| torsoAngle | [Vec3s](structs.md#Vec3s) | read-only |
| torsoPos | [Vec3f](structs.md#Vec3f) | read-only |
2022-03-26 04:39:03 +00:00
| updateTorsoTime | `integer` | read-only |
| wingFlutter | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [MarioState](#MarioState)
| Field | Type | Access |
| ----- | ---- | ------ |
| action | `integer` | |
| actionArg | `integer` | |
| actionState | `integer` | |
| actionTimer | `integer` | |
| angleVel | [Vec3s](structs.md#Vec3s) | read-only |
| animation | [MarioAnimation](structs.md#MarioAnimation) | |
| area | [Area](structs.md#Area) | |
| bubbleObj | [Object](structs.md#Object) | |
| capTimer | `integer` | |
| ceil | [Surface](structs.md#Surface) | |
| ceilHeight | `number` | |
| character | [Character](structs.md#Character) | |
| collidedObjInteractTypes | `integer` | |
| controller | [Controller](structs.md#Controller) | |
| curAnimOffset | `number` | |
| currentRoom | `integer` | |
| doubleJumpTimer | `integer` | |
| faceAngle | [Vec3s](structs.md#Vec3s) | read-only |
| fadeWarpOpacity | `integer` | |
| flags | `integer` | |
| floor | [Surface](structs.md#Surface) | |
| floorAngle | `integer` | |
| floorHeight | `number` | |
| forwardVel | `number` | |
| framesSinceA | `integer` | |
| framesSinceB | `integer` | |
| freeze | `integer` | |
| healCounter | `integer` | |
| health | `integer` | |
| heldByObj | [Object](structs.md#Object) | |
| heldObj | [Object](structs.md#Object) | |
| hurtCounter | `integer` | |
| input | `integer` | |
| intendedMag | `number` | |
| intendedYaw | `integer` | |
| interactObj | [Object](structs.md#Object) | |
| invincTimer | `integer` | |
| isSnoring | `integer` | |
| knockbackTimer | `integer` | |
| marioBodyState | [MarioBodyState](structs.md#MarioBodyState) | |
| marioObj | [Object](structs.md#Object) | |
| minimumBoneY | `number` | |
| nonInstantWarpPos | [Vec3f](structs.md#Vec3f) | read-only |
| numCoins | `integer` | |
| numKeys | `integer` | |
| numLives | `integer` | |
| numStars | `integer` | |
| particleFlags | `integer` | |
| peakHeight | `number` | |
| playerIndex | `integer` | read-only |
| pos | [Vec3f](structs.md#Vec3f) | read-only |
| prevAction | `integer` | |
| prevNumStarsForDialog | `integer` | |
| quicksandDepth | `number` | |
| riddenObj | [Object](structs.md#Object) | |
| slideVelX | `number` | |
| slideVelZ | `number` | |
| slideYaw | `integer` | |
| spawnInfo | [SpawnInfo](structs.md#SpawnInfo) | |
| specialTripleJump | `integer` | |
| splineKeyframeFraction | `number` | |
| splineState | `integer` | |
| squishTimer | `integer` | |
| statusForCamera | [PlayerCameraState](structs.md#PlayerCameraState) | |
| terrainSoundAddend | `integer` | |
| twirlYaw | `integer` | |
| unkB0 | `integer` | |
| unkC4 | `number` | |
| usedObj | [Object](structs.md#Object) | |
| vel | [Vec3f](structs.md#Vec3f) | read-only |
| wall | [Surface](structs.md#Surface) | |
| wallKickTimer | `integer` | |
2022-06-01 08:00:21 +00:00
| wallNormal | [Vec3f](structs.md#Vec3f) | read-only |
| wasNetworkVisible | `integer` | |
| waterLevel | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
2022-04-23 01:44:59 +00:00
## [Mod](#Mod)
| Field | Type | Access |
| ----- | ---- | ------ |
| basePath | `string` | read-only |
| description | `string` | read-only |
| enabled | `boolean` | read-only |
| fileCount | `integer` | read-only |
| incompatible | `string` | read-only |
| index | `integer` | read-only |
| isDirectory | `boolean` | read-only |
| name | `string` | read-only |
| relativePath | `string` | read-only |
| selectable | `boolean` | read-only |
[:arrow_up_small:](#)
<br />
## [ModFile](#ModFile)
| Field | Type | Access |
| ----- | ---- | ------ |
| cachedPath | `string` | read-only |
| relativePath | `string` | read-only |
| wroteBytes | `integer` | read-only |
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [ModeTransitionInfo](#ModeTransitionInfo)
| Field | Type | Access |
| ----- | ---- | ------ |
| frame | `integer` | |
| lastMode | `integer` | |
| max | `integer` | |
| newMode | `integer` | |
| transitionEnd | [LinearTransitionPoint](structs.md#LinearTransitionPoint) | read-only |
| transitionStart | [LinearTransitionPoint](structs.md#LinearTransitionPoint) | read-only |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
2022-02-03 03:24:51 +00:00
## [NetworkPlayer](#NetworkPlayer)
| Field | Type | Access |
| ----- | ---- | ------ |
| connected | `boolean` | read-only |
| currActNum | `integer` | read-only |
| currAreaIndex | `integer` | read-only |
| currAreaSyncValid | `boolean` | read-only |
| currCourseNum | `integer` | read-only |
| currLevelAreaSeqId | `integer` | read-only |
| currLevelNum | `integer` | read-only |
| currLevelSyncValid | `boolean` | read-only |
2022-08-07 22:26:32 +00:00
| currPositionValid | `boolean` | read-only |
| description | `string` | read-only |
| descriptionA | `integer` | read-only |
| descriptionB | `integer` | read-only |
| descriptionG | `integer` | read-only |
| descriptionR | `integer` | read-only |
| fadeOpacity | `integer` | read-only |
| globalIndex | `integer` | read-only |
| lastReceived | `number` | read-only |
| lastSent | `number` | read-only |
| localIndex | `integer` | read-only |
| modelIndex | `integer` | read-only |
| name | `string` | read-only |
| onRxSeqId | `integer` | read-only |
| overrideModelIndex | `integer` | |
Arbitrary shirt, pants, glove colors + settings menu (#145) * Support for more granular player colors You can now configure RGB values for shirt, pants, gloves, and shoes. Due to some limitations, configuring shoes does nothing at the moment. * Remove paletteIndex and friends Restructured and filled in some remaining code to account for that. * Add Edit Palette panel to Player panel * Change PlayerPalette contents to an enum-indexed array, remove shoes This gets rid of all the hokey code doing switch cases on the different parts. * Fix goof with player model selection box Should actually have affect now even if a custom palette is being used. * Fix gap in player color display list commands The extra space was leftover from when I was trying to get shoes working. Forgot to clean it up. * Standardize PlayerParts enum, including for lua constants autogen * djui_panel_player.c: Properly hook sending palette changes on unpause Editing the palette and then unpausing should send out the packet to everyone with the new palette changes (and update the palette preset selection box), but since we weren't hooking that situation before, it would stay changed only for you. You would have had to press the Back button for it to work right. * Allow Lua mods to continue using `paletteIndex`, `overridePaletteIndex` This lets mod code like this still work unchanged: if s.team == 2 then np.overridePaletteIndex = 7 elseif s.team == 1 then np.overridePaletteIndex = 15 else np.overridePaletteIndex = np.paletteIndex end It's essentially faked, and would work strangely if the value of either variable was inspected more closely directly. This should at least handle the typical use case, though. Every frame, `overridePaletteIndex` is checked to see if it was modified from its previous value. If so, `overridePalette` is set to the preset corresponding to the index. `paletteIndex` contains a special value that when used to assign to `overridePaletteIndex`, it copies `palette` into `overridePalette` to restore the real colors, which of course may not follow the presets at all. * characters.h: Pack `PlayerPalette` to eliminate size differences between computers * mario_misc.c: Remove remaining "TODO GAG"
2022-08-07 22:13:19 +00:00
| overridePalette | [PlayerPalette](structs.md#PlayerPalette) | |
| overridePaletteIndex | `integer` | |
Arbitrary shirt, pants, glove colors + settings menu (#145) * Support for more granular player colors You can now configure RGB values for shirt, pants, gloves, and shoes. Due to some limitations, configuring shoes does nothing at the moment. * Remove paletteIndex and friends Restructured and filled in some remaining code to account for that. * Add Edit Palette panel to Player panel * Change PlayerPalette contents to an enum-indexed array, remove shoes This gets rid of all the hokey code doing switch cases on the different parts. * Fix goof with player model selection box Should actually have affect now even if a custom palette is being used. * Fix gap in player color display list commands The extra space was leftover from when I was trying to get shoes working. Forgot to clean it up. * Standardize PlayerParts enum, including for lua constants autogen * djui_panel_player.c: Properly hook sending palette changes on unpause Editing the palette and then unpausing should send out the packet to everyone with the new palette changes (and update the palette preset selection box), but since we weren't hooking that situation before, it would stay changed only for you. You would have had to press the Back button for it to work right. * Allow Lua mods to continue using `paletteIndex`, `overridePaletteIndex` This lets mod code like this still work unchanged: if s.team == 2 then np.overridePaletteIndex = 7 elseif s.team == 1 then np.overridePaletteIndex = 15 else np.overridePaletteIndex = np.paletteIndex end It's essentially faked, and would work strangely if the value of either variable was inspected more closely directly. This should at least handle the typical use case, though. Every frame, `overridePaletteIndex` is checked to see if it was modified from its previous value. If so, `overridePalette` is set to the preset corresponding to the index. `paletteIndex` contains a special value that when used to assign to `overridePaletteIndex`, it copies `palette` into `overridePalette` to restore the real colors, which of course may not follow the presets at all. * characters.h: Pack `PlayerPalette` to eliminate size differences between computers * mario_misc.c: Remove remaining "TODO GAG"
2022-08-07 22:13:19 +00:00
| overridePaletteIndexLp | `integer` | read-only |
| palette | [PlayerPalette](structs.md#PlayerPalette) | read-only |
| paletteIndex | `integer` | read-only |
| type | `integer` | read-only |
2022-02-03 03:24:51 +00:00
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [Object](#Object)
| Field | Type | Access |
| ----- | ---- | ------ |
| activeFlags | `integer` | |
| areaTimer | `integer` | |
| areaTimerDuration | `integer` | |
| areaTimerType | [enum AreaTimerType](constants.md#enum-AreaTimerType) | |
| behavior | `Pointer` <`BehaviorScript`> | read-only |
| bhvDelayTimer | `integer` | |
| bhvStackIndex | `integer` | |
| collidedObjInteractTypes | `integer` | |
| collisionData | `Pointer` <`Collision`> | |
| coopFlags | `integer` | read-only |
| curBhvCommand | `Pointer` <`BehaviorScript`> | read-only |
| globalPlayerIndex | `integer` | |
| header | [ObjectNode](structs.md#ObjectNode) | read-only |
| heldByPlayerIndex | `integer` | |
| hitboxDownOffset | `number` | |
| hitboxHeight | `number` | |
| hitboxRadius | `number` | |
2022-04-20 05:36:47 +00:00
| hookRender | `integer` | |
| hurtboxHeight | `number` | |
| hurtboxRadius | `number` | |
| numCollidedObjs | `integer` | |
| parentObj | [Object](structs.md#Object) | |
| platform | [Object](structs.md#Object) | |
| prevObj | [Object](structs.md#Object) | |
| respawnInfoType | `integer` | |
| setHome | `integer` | |
| unused1 | `integer` | |
2022-03-30 04:12:42 +00:00
| usingObj | [Object](structs.md#Object) | |
2022-01-30 06:47:22 +00:00
2022-02-19 21:51:02 +00:00
### Object-Independent Data Fields
| Field | Type | Access |
| ----- | ---- | ------ |
| oFlags | `integer` | |
| oDialogResponse | `integer` | |
| oDialogState | `integer` | |
| oUnk94 | `integer` | |
| oSyncID | `integer` | read-only |
| oIntangibleTimer | `integer` | |
| oPosX | `number` | |
| oPosY | `number` | |
| oPosZ | `number` | |
| oVelX | `number` | |
| oVelY | `number` | |
| oVelZ | `number` | |
| oForwardVel | `number` | |
| oForwardVelS32 | `integer` | |
| oUnkBC | `number` | |
| oUnkC0 | `number` | |
| oMoveAnglePitch | `integer` | |
| oMoveAngleYaw | `integer` | |
| oMoveAngleRoll | `integer` | |
| oFaceAnglePitch | `integer` | |
| oFaceAngleYaw | `integer` | |
| oFaceAngleRoll | `integer` | |
| oGraphYOffset | `number` | |
| oActiveParticleFlags | `integer` | |
| oGravity | `number` | |
| oFloorHeight | `number` | |
| oMoveFlags | `integer` | |
| oAnimState | `integer` | |
| oAngleVelPitch | `integer` | |
| oAngleVelYaw | `integer` | |
| oAngleVelRoll | `integer` | |
| oAnimations | `Pointer` <`ObjectAnimPointer`> | |
| oHeldState | `integer` | |
| oWallHitboxRadius | `number` | |
| oDragStrength | `number` | |
| oInteractType | `integer` | |
| oInteractStatus | `integer` | |
| oParentRelativePosX | `number` | |
| oParentRelativePosY | `number` | |
| oParentRelativePosZ | `number` | |
| oBehParams2ndByte | `integer` | |
| oAction | `integer` | |
| oSubAction | `integer` | |
| oTimer | `integer` | |
| oBounciness | `number` | |
| oDistanceToMario | `number` | |
| oAngleToMario | `integer` | |
| oHomeX | `number` | |
| oHomeY | `number` | |
| oHomeZ | `number` | |
| oFriction | `number` | |
| oBuoyancy | `number` | |
| oSoundStateID | `integer` | |
| oOpacity | `integer` | |
| oDamageOrCoinValue | `integer` | |
| oHealth | `integer` | |
| oBehParams | `integer` | |
| oPrevAction | `integer` | |
| oInteractionSubtype | `integer` | |
| oCollisionDistance | `number` | |
| oNumLootCoins | `integer` | |
| oDrawingDistance | `number` | |
| oRoom | `integer` | |
| oSyncDeath | `integer` | |
| oUnk1A8 | `integer` | |
| oWallAngle | `integer` | |
| oFloorType | `integer` | |
| oFloorRoom | `integer` | |
| oAngleToHome | `integer` | |
| oFloor | [Surface](structs.md#Surface) | |
| oDeathSound | `integer` | |
2022-02-19 21:51:02 +00:00
### Object-Dependent Data Fields
| Field | Type | Access |
| ----- | ---- | ------ |
| oPathedStartWaypoint | [Waypoint](structs.md#Waypoint) | |
| oPathedPrevWaypoint | [Waypoint](structs.md#Waypoint) | |
| oPathedPrevWaypointFlags | `integer` | |
| oPathedTargetPitch | `integer` | |
| oPathedTargetYaw | `integer` | |
| oMacroUnk108 | `number` | |
| oMacroUnk10C | `number` | |
| oMacroUnk110 | `number` | |
| oMarioParticleFlags | `integer` | |
| oMarioPoleUnk108 | `integer` | |
| oMarioReadingSignDYaw | `integer` | |
| oMarioPoleYawVel | `integer` | |
| oMarioCannonObjectYaw | `integer` | |
| oMarioTornadoYawVel | `integer` | |
| oMarioReadingSignDPosX | `number` | |
| oMarioPolePos | `number` | |
| oMarioCannonInputYaw | `integer` | |
| oMarioTornadoPosY | `number` | |
| oMarioReadingSignDPosZ | `number` | |
| oMarioWhirlpoolPosY | `number` | |
| oMarioBurnTimer | `integer` | |
| oMarioLongJumpIsSlow | `integer` | |
| oMarioSteepJumpYaw | `integer` | |
| oMarioWalkingPitch | `integer` | |
| o1UpHiddenUnkF4 | `integer` | |
| o1UpForceSpawn | `integer` | |
| oActivatedBackAndForthPlatformMaxOffset | `number` | |
| oActivatedBackAndForthPlatformOffset | `number` | |
| oActivatedBackAndForthPlatformVel | `number` | |
| oActivatedBackAndForthPlatformCountdown | `integer` | |
| oActivatedBackAndForthPlatformStartYaw | `integer` | |
| oActivatedBackAndForthPlatformVertical | `integer` | |
| oActivatedBackAndForthPlatformFlipRotation | `integer` | |
| oAmpRadiusOfRotation | `number` | |
| oAmpYPhase | `integer` | |
| oHomingAmpLockedOn | `integer` | |
| oHomingAmpAvgY | `number` | |
| oArrowLiftDisplacement | `number` | |
| oArrowLiftUnk100 | `integer` | |
| oBackAndForthPlatformDirection | `number` | |
| oBackAndForthPlatformPathLength | `number` | |
| oBackAndForthPlatformDistance | `number` | |
| oBackAndForthPlatformVel | `number` | |
| oBirdSpeed | `number` | |
| oBirdTargetPitch | `integer` | |
| oBirdTargetYaw | `integer` | |
| oBirdChirpChirpUnkF4 | `integer` | |
| oEndBirdUnk104 | `number` | |
| oHiddenBlueCoinSwitch | [Object](structs.md#Object) | |
| oBobombBlinkTimer | `integer` | |
| oBobombFuseLit | `integer` | |
| oBobombFuseTimer | `integer` | |
| oBobombBuddyBlinkTimer | `integer` | |
| oBobombBuddyHasTalkedToMario | `integer` | |
| oBobombBuddyRole | `integer` | |
| oBobombBuddyCannonStatus | `integer` | |
| oBobombBuddyPosXCopy | `number` | |
| oBobombBuddyPosYCopy | `number` | |
| oBobombBuddyPosZCopy | `number` | |
| oBobombExpBubGfxScaleFacX | `integer` | |
| oBobombExpBubGfxScaleFacY | `integer` | |
| oBobombExpBubGfxExpRateX | `integer` | |
| oBobombExpBubGfxExpRateY | `integer` | |
| oSmallBompInitX | `number` | |
| oBooDeathStatus | `integer` | |
| oBooTargetOpacity | `integer` | |
| oBooBaseScale | `number` | |
| oBooOscillationTimer | `integer` | |
| oBooMoveYawDuringHit | `integer` | |
| oBooMoveYawBeforeHit | `number` | |
| oBooParentBigBoo | [Object](structs.md#Object) | |
| oBooNegatedAggressiveness | `number` | |
| oBooInitialMoveYaw | `integer` | |
| oBooTurningSpeed | `integer` | |
| oBigBooNumMinionBoosKilled | `integer` | |
| oBookendUnkF4 | `integer` | |
| oBookendUnkF8 | `integer` | |
| oBookSwitchUnkF4 | `number` | |
| oBookSwitchManagerUnkF4 | `integer` | |
| oBookSwitchManagerUnkF8 | `integer` | |
| oHauntedBookshelfShouldOpen | `integer` | |
| oBouncingFireBallUnkF4 | `integer` | |
| oBowlingBallTargetYaw | `integer` | |
| oBBallSpawnerMaxSpawnDist | `number` | |
| oBBallSpawnerSpawnOdds | `number` | |
| oBBallSpawnerPeriodMinus1 | `integer` | |
| oBowserUnk88 | `integer` | |
| oBowserUnkF4 | `integer` | |
| oBowserUnkF8 | `integer` | |
| oBowserDistToCentre | `number` | |
| oBowserUnk106 | `integer` | |
| oBowserUnk108 | `integer` | |
| oBowserHeldAnglePitch | `integer` | |
| oBowserHeldAngleVelYaw | `integer` | |
| oBowserUnk10E | `integer` | |
| oBowserUnk110 | `integer` | |
| oBowserAngleToCentre | `integer` | |
| oBowserUnk1AC | `integer` | |
| oBowserUnk1AE | `integer` | |
| oBowserEyesShut | `integer` | |
| oBowserUnk1B2 | `integer` | |
| oBowserShockWaveUnkF4 | `number` | |
| oBlackSmokeBowserUnkF4 | `number` | |
| oBowserKeyScale | `number` | |
| oBowserPuzzleCompletionFlags | `integer` | |
| oBowserPuzzlePieceOffsetX | `number` | |
| oBowserPuzzlePieceOffsetY | `number` | |
| oBowserPuzzlePieceOffsetZ | `number` | |
| oBowserPuzzlePieceContinuePerformingAction | `integer` | |
| oBubbaUnkF4 | `number` | |
| oBubbaUnkF8 | `integer` | |
| oBubbaUnkFC | `integer` | |
| oBubbaUnk100 | `integer` | |
| oBubbaUnk104 | `integer` | |
| oBubbaUnk108 | `number` | |
| oBubbaUnk10C | `number` | |
| oBubbaUnk1AC | `integer` | |
| oBubbaUnk1AE | `integer` | |
| oBubbaUnk1B0 | `integer` | |
| oBubbaUnk1B2 | `integer` | |
| oBulletBillInitialMoveYaw | `integer` | |
| oBullySubtype | `integer` | |
| oBullyPrevX | `number` | |
| oBullyPrevY | `number` | |
| oBullyPrevZ | `number` | |
| oBullyKBTimerAndMinionKOCounter | `integer` | |
| oBullyMarioCollisionAngle | `integer` | |
2022-04-21 01:27:34 +00:00
| oBullyLastNetworkPlayerIndex | `integer` | |
| oButterflyYPhase | `integer` | |
| oTripletButterflyScale | `number` | |
| oTripletButterflySpeed | `number` | |
| oTripletButterflyBaseYaw | `number` | |
| oTripletButterflyTargetPitch | `integer` | |
| oTripletButterflyTargetYaw | `integer` | |
| oTripletButterflyType | `integer` | |
| oTripletButterflyModel | `integer` | |
| oTripletButterflySelectedButterfly | `integer` | |
| oTripletButterflyScalePhase | `integer` | |
| oCannonUnkF4 | `integer` | |
| oCannonUnkF8 | `integer` | |
| oCannonUnk10C | `integer` | |
| oCannonPlayerIndex | `integer` | |
| oCapUnkF4 | `integer` | |
| oCapUnkF8 | `integer` | |
| oChainChompSegments | [ChainSegment](structs.md#ChainSegment) | |
| oChainChompMaxDistFromPivotPerChainPart | `number` | |
| oChainChompMaxDistBetweenChainParts | `number` | |
| oChainChompDistToPivot | `number` | |
| oChainChompUnk104 | `number` | |
| oChainChompRestrictedByChain | `integer` | |
| oChainChompTargetPitch | `integer` | |
| oChainChompNumLunges | `integer` | |
| oChainChompReleaseStatus | `integer` | |
| oChainChompHitGate | `integer` | |
| oCheckerBoardPlatformUnkF8 | `integer` | |
| oCheckerBoardPlatformUnkFC | `integer` | |
| oCheckerBoardPlatformUnk1AC | `number` | |
| oCheepCheepUnkF4 | `number` | |
| oCheepCheepUnkF8 | `number` | |
| oCheepCheepUnkFC | `number` | |
| oCheepCheepUnk104 | `number` | |
| oCheepCheepUnk108 | `number` | |
| oChuckyaUnk88 | `integer` | |
| oChuckyaUnkF8 | `integer` | |
| oChuckyaUnkFC | `integer` | |
| oChuckyaUnk100 | `integer` | |
| oClamUnkF4 | `integer` | |
| oCloudCenterX | `number` | |
| oCloudCenterY | `number` | |
| oCloudBlowing | `integer` | |
| oCloudGrowSpeed | `number` | |
| oCloudFwooshMovementRadius | `integer` | |
| oCoinUnkF4 | `integer` | |
| oCoinUnkF8 | `integer` | |
| oCoinUnk110 | `number` | |
| oCoinUnk1B0 | `integer` | |
| oCollisionParticleUnkF4 | `number` | |
| oControllablePlatformUnkF8 | `integer` | |
| oControllablePlatformUnkFC | `number` | |
| oControllablePlatformUnk100 | `integer` | |
| oBreakableBoxSmallReleased | `integer` | |
| oBreakableBoxSmallFramesSinceReleased | `integer` | |
| oJumpingBoxUnkF4 | `integer` | |
| oJumpingBoxUnkF8 | `integer` | |
| oRRCruiserWingUnkF4 | `integer` | |
| oRRCruiserWingUnkF8 | `integer` | |
| oDonutPlatformSpawnerSpawnedPlatforms | `integer` | |
| oDoorUnk88 | `integer` | |
| oDoorUnkF8 | `integer` | |
| oDoorUnkFC | `integer` | |
| oDoorUnk100 | `integer` | |
| oDorrieDistToHome | `number` | |
| oDorrieOffsetY | `number` | |
| oDorrieVelY | `number` | |
| oDorrieForwardDistToMario | `number` | |
| oDorrieYawVel | `integer` | |
| oDorrieLiftingMario | `integer` | |
| oDorrieGroundPounded | `integer` | |
| oDorrieAngleToHome | `integer` | |
| oDorrieNeckAngle | `integer` | |
| oDorrieHeadRaiseSpeed | `integer` | |
| oElevatorUnkF4 | `number` | |
| oElevatorUnkF8 | `number` | |
| oElevatorUnkFC | `number` | |
| oElevatorUnk100 | `integer` | |
| oExclamationBoxUnkF4 | `number` | |
| oExclamationBoxUnkF8 | `number` | |
| oExclamationBoxUnkFC | `integer` | |
| oExclamationBoxForce | `integer` | |
| oEyerokBossNumHands | `integer` | |
| oEyerokBossUnkFC | `integer` | |
| oEyerokBossActiveHand | `integer` | |
| oEyerokBossUnk104 | `integer` | |
| oEyerokBossUnk108 | `number` | |
| oEyerokBossUnk10C | `number` | |
| oEyerokBossUnk110 | `number` | |
| oEyerokBossUnk1AC | `integer` | |
| oEyerokHandWakeUpTimer | `integer` | |
| oEyerokReceivedAttack | `integer` | |
| oEyerokHandUnkFC | `integer` | |
| oEyerokHandUnk100 | `integer` | |
| oEyerokHandDead | `integer` | |
| oFallingPillarPitchAcceleration | `number` | |
| oFireSpitterScaleVel | `number` | |
| oFireSpitterLastWaterY | `number` | |
| oBlueFishRandomVel | `number` | |
| oBlueFishRandomTime | `integer` | |
| oBlueFishRandomAngle | `number` | |
| oFishWaterLevel | `number` | |
| oFishGoalY | `number` | |
| oFishHeightOffset | `number` | |
| oFishYawVel | `integer` | |
| oFishRoamDistance | `number` | |
| oFishGoalVel | `number` | |
| oFishDepthDistance | `number` | |
| oFishActiveDistance | `number` | |
| oFlameScale | `number` | |
| oFlameSpeedTimerOffset | `integer` | |
| oFlameUnkFC | `number` | |
| oFlameBowser | [Object](structs.md#Object) | |
| oBlueFlameNextScale | `number` | |
| oSmallPiranhaFlameStartSpeed | `number` | |
| oSmallPiranhaFlameEndSpeed | `number` | |
| oSmallPiranhaFlameModel | `integer` | |
| oSmallPiranhaFlameNextFlameTimer | `integer` | |
| oSmallPiranhaFlameSpeed | `number` | |
| oMovingFlameTimer | `integer` | |
| oFlameThowerFlameUnk110 | `integer` | |
| oFlameThowerUnk110 | `integer` | |
| oFloatingPlatformUnkF4 | `integer` | |
| oFloatingPlatformUnkF8 | `number` | |
| oFloatingPlatformUnkFC | `number` | |
| oFloatingPlatformUnk100 | `integer` | |
| oFloorSwitchPressAnimationUnkF4 | `integer` | |
| oFloorSwitchPressAnimationUnkF8 | `integer` | |
| oFloorSwitchPressAnimationUnkFC | `integer` | |
| oFloorSwitchPressAnimationUnk100 | `integer` | |
| oFlyGuyIdleTimer | `integer` | |
| oFlyGuyOscTimer | `integer` | |
| oFlyGuyUnusedJitter | `integer` | |
| oFlyGuyLungeYDecel | `number` | |
| oFlyGuyLungeTargetPitch | `integer` | |
| oFlyGuyTargetRoll | `integer` | |
| oFlyGuyScaleVel | `number` | |
| oGrandStarUnk108 | `integer` | |
| oHorizontalGrindelTargetYaw | `integer` | |
| oHorizontalGrindelDistToHome | `number` | |
| oHorizontalGrindelOnGround | `integer` | |
| oGoombaSize | `integer` | |
| oGoombaScale | `number` | |
| oGoombaWalkTimer | `integer` | |
| oGoombaTargetYaw | `integer` | |
| oGoombaBlinkTimer | `integer` | |
| oGoombaTurningAwayFromWall | `integer` | |
| oGoombaRelativeSpeed | `number` | |
| oGoombaJumpCooldown | `integer` | |
| oHauntedChairUnkF4 | `integer` | |
| oHauntedChairUnkF8 | `number` | |
| oHauntedChairUnkFC | `number` | |
| oHauntedChairUnk100 | `Pointer` <`integer`> | read-only |
| oHauntedChairUnk104 | `integer` | |
| oHeaveHoUnk88 | `integer` | |
| oHeaveHoUnkF4 | `number` | |
| oHiddenObjectUnkF4 | [Object](structs.md#Object) | |
| oHootAvailability | `integer` | |
| oHootMarioReleaseTime | `integer` | |
| oHorizontalMovementUnkF4 | `integer` | |
| oHorizontalMovementUnkF8 | `integer` | |
| oHorizontalMovementUnk100 | `number` | |
| oHorizontalMovementUnk104 | `integer` | |
| oHorizontalMovementUnk108 | `number` | |
| oKickableBoardF4 | `integer` | |
| oKickableBoardF8 | `integer` | |
| oKingBobombUnk88 | `integer` | |
| oKingBobombUnkF8 | `integer` | |
| oKingBobombUnkFC | `integer` | |
| oKingBobombUnk100 | `integer` | |
| oKingBobombUnk104 | `integer` | |
| oKingBobombUnk108 | `integer` | |
| oKleptoDistanceToTarget | `number` | |
| oKleptoUnkF8 | `number` | |
| oKleptoUnkFC | `number` | |
| oKleptoSpeed | `number` | |
| oKleptoStartPosX | `number` | |
| oKleptoStartPosY | `number` | |
| oKleptoStartPosZ | `number` | |
| oKleptoTimeUntilTargetChange | `integer` | |
| oKleptoTargetNumber | `integer` | |
| oKleptoUnk1AE | `integer` | |
| oKleptoUnk1B0 | `integer` | |
| oKleptoYawToTarget | `integer` | |
| oKoopaAgility | `number` | |
| oKoopaMovementType | `integer` | |
| oKoopaTargetYaw | `integer` | |
| oKoopaUnshelledTimeUntilTurn | `integer` | |
| oKoopaTurningAwayFromWall | `integer` | |
| oKoopaDistanceToMario | `number` | |
| oKoopaAngleToMario | `integer` | |
| oKoopaBlinkTimer | `integer` | |
| oKoopaCountdown | `integer` | |
| oKoopaTheQuickRaceIndex | `integer` | |
| oKoopaTheQuickInitTextboxCooldown | `integer` | |
| oKoopaRaceEndpointRaceBegun | `integer` | |
| oKoopaRaceEndpointKoopaFinished | `integer` | |
| oKoopaRaceEndpointRaceStatus | `integer` | |
| oKoopaRaceEndpointUnk100 | `integer` | |
| oKoopaRaceEndpointRaceEnded | `integer` | |
| oKoopaShellFlameUnkF4 | `number` | |
| oKoopaShellFlameUnkF8 | `number` | |
| oCameraLakituBlinkTimer | `integer` | |
| oCameraLakituSpeed | `number` | |
| oCameraLakituCircleRadius | `number` | |
| oCameraLakituFinishedDialog | `integer` | |
| oCameraLakituUnk104 | `integer` | |
| oCameraLakituPitchVel | `integer` | |
| oCameraLakituYawVel | `integer` | |
| oEnemyLakituNumSpinies | `integer` | |
| oEnemyLakituBlinkTimer | `integer` | |
| oEnemyLakituSpinyCooldown | `integer` | |
| oEnemyLakituFaceForwardCountdown | `integer` | |
| oIntroLakituSplineSegmentProgress | `number` | |
| oIntroLakituSplineSegment | `number` | |
| oIntroLakituUnk100 | `number` | |
| oIntroLakituUnk104 | `number` | |
| oIntroLakituUnk108 | `number` | |
| oIntroLakituUnk10C | `number` | |
| oIntroLakituUnk110 | `number` | |
| oIntroLakituCloud | [Object](structs.md#Object) | |
| oMenuButtonState | `integer` | |
| oMenuButtonTimer | `integer` | |
| oMenuButtonOrigPosX | `number` | |
| oMenuButtonOrigPosY | `number` | |
| oMenuButtonOrigPosZ | `number` | |
| oMenuButtonScale | `number` | |
| oMenuButtonActionPhase | `integer` | |
| oMenuButtonIsCustom | `integer` | |
| oMantaTargetPitch | `integer` | |
| oMantaTargetYaw | `integer` | |
| oMerryGoRoundStopped | `integer` | |
| oMerryGoRoundMusicShouldPlay | `integer` | |
| oMerryGoRoundMarioIsOutside | `integer` | |
| oMerryGoRoundBooManagerNumBoosKilled | `integer` | |
| oMerryGoRoundBooManagerNumBoosSpawned | `integer` | |
| oMipsStarStatus | `integer` | |
| oMipsStartWaypointIndex | `integer` | |
| oMipsForwardVelocity | `number` | |
| oMoneybagJumpState | `integer` | |
| oMontyMoleCurrentHole | [Object](structs.md#Object) | |
| oMontyMoleHeightRelativeToFloor | `number` | |
| oMontyMoleHoleX | `number` | |
| oMontyMoleHoleY | `number` | |
| oMontyMoleHoleZ | `number` | |
| oMontyMoleHoleCooldown | `integer` | |
| oMrBlizzardScale | `number` | |
| oMrBlizzardHeldObj | [Object](structs.md#Object) | |
| oMrBlizzardGraphYVel | `number` | |
| oMrBlizzardTimer | `integer` | |
| oMrBlizzardDizziness | `number` | |
| oMrBlizzardChangeInDizziness | `number` | |
| oMrBlizzardGraphYOffset | `number` | |
| oMrBlizzardDistFromHome | `integer` | |
| oMrBlizzardTargetMoveYaw | `integer` | |
| oMrIUnkF4 | `integer` | |
| oMrIUnkFC | `integer` | |
| oMrIUnk100 | `integer` | |
| oMrIUnk104 | `integer` | |
| oMrIUnk108 | `integer` | |
| oMrISize | `number` | |
| oMrIUnk110 | `integer` | |
| oRespawnerModelToRespawn | `integer` | |
| oRespawnerMinSpawnDist | `number` | |
| oOpenableGrillUnk88 | `integer` | |
| oOpenableGrillUnkF4 | [Object](structs.md#Object) | |
| oIntroPeachYawFromFocus | `number` | |
| oIntroPeachPitchFromFocus | `number` | |
| oIntroPeachDistToCamera | `number` | |
| oRacingPenguinInitTextCooldown | `integer` | |
| oRacingPenguinWeightedNewTargetSpeed | `number` | |
| oRacingPenguinFinalTextbox | `integer` | |
| oRacingPenguinMarioWon | `integer` | |
| oRacingPenguinReachedBottom | `integer` | |
| oRacingPenguinMarioCheated | `integer` | |
| oSmallPenguinUnk88 | `integer` | |
| oSmallPenguinUnk100 | `integer` | |
| oSmallPenguinUnk104 | `number` | |
| oSmallPenguinUnk108 | `number` | |
| oSmallPenguinUnk110 | `integer` | |
| oSLWalkingPenguinWindCollisionXPos | `number` | |
| oSLWalkingPenguinWindCollisionZPos | `number` | |
| oSLWalkingPenguinCurStep | `integer` | |
| oSLWalkingPenguinCurStepTimer | `integer` | |
| oPiranhaPlantSleepMusicState | `integer` | |
| oPiranhaPlantScale | `number` | |
| oFirePiranhaPlantNeutralScale | `number` | |
| oFirePiranhaPlantScale | `number` | |
| oFirePiranhaPlantActive | `integer` | |
| oFirePiranhaPlantDeathSpinTimer | `integer` | |
| oFirePiranhaPlantDeathSpinVel | `number` | |
| oPitouneUnkF4 | `number` | |
| oPitouneUnkF8 | `number` | |
| oPitouneUnkFC | `number` | |
| oPlatformTimer | `integer` | |
| oPlatformUnkF8 | [Object](structs.md#Object) | |
| oPlatformUnkFC | `integer` | |
| oPlatformUnk10C | `number` | |
| oPlatformUnk110 | `number` | |
| oPlatformOnTrackBaseBallIndex | `integer` | |
| oPlatformOnTrackDistMovedSinceLastBall | `number` | |
| oPlatformOnTrackSkiLiftRollVel | `number` | |
| oPlatformOnTrackStartWaypoint | [Waypoint](structs.md#Waypoint) | |
| oPlatformOnTrackPrevWaypoint | [Waypoint](structs.md#Waypoint) | |
| oPlatformOnTrackPrevWaypointFlags | `integer` | |
| oPlatformOnTrackPitch | `integer` | |
| oPlatformOnTrackYaw | `integer` | |
| oPlatformOnTrackOffsetY | `number` | |
| oPlatformOnTrackIsNotSkiLift | `integer` | |
| oPlatformOnTrackIsNotHMC | `integer` | |
| oPlatformOnTrackType | `integer` | |
| oPlatformOnTrackWasStoodOn | `integer` | |
| oPlatformSpawnerUnkF4 | `integer` | |
| oPlatformSpawnerUnkF8 | `integer` | |
| oPlatformSpawnerUnkFC | `integer` | |
| oPlatformSpawnerUnk100 | `number` | |
| oPlatformSpawnerUnk104 | `number` | |
| oPlatformSpawnerUnk108 | `number` | |
| oPokeyAliveBodyPartFlags | `integer` | |
| oPokeyNumAliveBodyParts | `integer` | |
| oPokeyBottomBodyPartSize | `number` | |
| oPokeyHeadWasKilled | `integer` | |
| oPokeyTargetYaw | `integer` | |
| oPokeyChangeTargetTimer | `integer` | |
| oPokeyTurningAwayFromWall | `integer` | |
| oPokeyBodyPartDeathDelayAfterHeadKilled | `integer` | |
| oPokeyBodyPartBlinkTimer | `integer` | |
| oDDDPoleVel | `number` | |
| oDDDPoleMaxOffset | `number` | |
| oDDDPoleOffset | `number` | |
| oPyramidTopPillarsTouched | `integer` | |
| oPyramidTopFragmentsScale | `number` | |
| oRollingLogUnkF4 | `number` | |
| oLllRotatingHexFlameUnkF4 | `number` | |
| oLllRotatingHexFlameUnkF8 | `number` | |
| oLllRotatingHexFlameUnkFC | `number` | |
| oScuttlebugUnkF4 | `integer` | |
| oScuttlebugUnkF8 | `integer` | |
| oScuttlebugUnkFC | `integer` | |
| oScuttlebugSpawnerUnk88 | `integer` | |
| oScuttlebugSpawnerUnkF4 | `integer` | |
| oSeesawPlatformPitchVel | `number` | |
| oShipPart3UnkF4 | `integer` | |
| oShipPart3UnkF8 | `integer` | |
| oSinkWhenSteppedOnUnk104 | `integer` | |
| oSinkWhenSteppedOnUnk108 | `number` | |
| oSkeeterTargetAngle | `integer` | |
| oSkeeterUnkF8 | `integer` | |
| oSkeeterUnkFC | `number` | |
| oSkeeterWaitTime | `integer` | |
| oSkeeterLastWaterY | `number` | |
| oSkeeterUnk1AC | `integer` | |
| oJrbSlidingBoxUnkF4 | [Object](structs.md#Object) | |
| oJrbSlidingBoxUnkF8 | `integer` | |
| oJrbSlidingBoxUnkFC | `number` | |
| oWFSlidBrickPtfmMovVel | `number` | |
| oSmokeTimer | `integer` | |
| oSnowmansBottomUnkF4 | `number` | |
| oSnowmansBottomUnkF8 | `integer` | |
| oSnowmansBottomUnk1AC | `integer` | |
| oSnowmansHeadUnkF4 | `integer` | |
| oSLSnowmanWindOriginalYaw | `integer` | |
| oSnufitRecoil | `integer` | |
| oSnufitScale | `number` | |
| oSnufitCircularPeriod | `integer` | |
| oSnufitBodyScalePeriod | `integer` | |
| oSnufitBodyBaseScale | `integer` | |
| oSnufitBullets | `integer` | |
| oSnufitXOffset | `integer` | |
| oSnufitYOffset | `integer` | |
| oSnufitZOffset | `integer` | |
| oSnufitBodyScale | `integer` | |
| oSpindelUnkF4 | `integer` | |
| oSpindelUnkF8 | `integer` | |
| oSpinningHeartTotalSpin | `integer` | |
| oSpinningHeartPlayedSound | `integer` | |
| oSpinyTimeUntilTurn | `integer` | |
| oSpinyTargetYaw | `integer` | |
| oSpinyTurningAwayFromWall | `integer` | |
| oSoundEffectUnkF4 | `integer` | |
| oStarSpawnDisFromHome | `number` | |
| oStarSpawnUnkFC | `number` | |
| oStarSpawnExtCutsceneFlags | `integer` | |
| oHiddenStarTriggerCounter | `integer` | |
| oSparkleSpawnUnk1B0 | `integer` | |
| oUnlockDoorStarState | `integer` | |
| oUnlockDoorStarTimer | `integer` | |
| oUnlockDoorStarYawVel | `integer` | |
| oCelebStarUnkF4 | `integer` | |
| oCelebStarDiameterOfRotation | `integer` | |
| oStarSelectorType | `integer` | |
| oStarSelectorTimer | `integer` | |
| oStarSelectorSize | `number` | |
| oSushiSharkUnkF4 | `integer` | |
| oSwingPlatformAngle | `number` | |
| oSwingPlatformSpeed | `number` | |
| oSwoopBonkCountdown | `integer` | |
| oSwoopTargetPitch | `integer` | |
| oSwoopTargetYaw | `integer` | |
| oThwompRandomTimer | `integer` | |
| oTiltingPyramidNormalX | `number` | |
| oTiltingPyramidNormalY | `number` | |
| oTiltingPyramidNormalZ | `number` | |
| oTiltingPyramidMarioOnPlatform | `integer` | |
| oToadMessageDialogId | `integer` | |
| oToadMessageRecentlyTalked | `integer` | |
| oToadMessageState | `integer` | |
| oToxBoxMovementStep | `integer` | |
| oTTCRotatingSolidNumTurns | `integer` | |
| oTTCRotatingSolidNumSides | `integer` | |
| oTTCRotatingSolidRotationDelay | `integer` | |
| oTTCRotatingSolidVelY | `number` | |
| oTTCRotatingSolidSoundTimer | `integer` | |
| oTTCPendulumAccelDir | `number` | |
| oTTCPendulumAngle | `number` | |
| oTTCPendulumAngleVel | `number` | |
| oTTCPendulumAngleAccel | `number` | |
| oTTCPendulumDelay | `integer` | |
| oTTCPendulumSoundTimer | `integer` | |
| oTTCTreadmillBigSurface | `Pointer` <`integer`> | read-only |
| oTTCTreadmillSmallSurface | `Pointer` <`integer`> | read-only |
| oTTCTreadmillSpeed | `number` | |
| oTTCTreadmillTargetSpeed | `number` | |
| oTTCTreadmillTimeUntilSwitch | `integer` | |
| oTTCMovingBarDelay | `integer` | |
| oTTCMovingBarStoppedTimer | `integer` | |
| oTTCMovingBarOffset | `number` | |
| oTTCMovingBarSpeed | `number` | |
| oTTCMovingBarStartOffset | `number` | |
| oTTCCogDir | `number` | |
| oTTCCogSpeed | `number` | |
| oTTCCogTargetVel | `number` | |
| oTTCPitBlockPeakY | `number` | |
| oTTCPitBlockDir | `integer` | |
| oTTCPitBlockWaitTime | `integer` | |
| oTTCElevatorDir | `number` | |
| oTTCElevatorPeakY | `number` | |
| oTTCElevatorMoveTime | `integer` | |
| oTTC2DRotatorMinTimeUntilNextTurn | `integer` | |
| oTTC2DRotatorTargetYaw | `integer` | |
| oTTC2DRotatorIncrement | `integer` | |
| oTTC2DRotatorRandomDirTimer | `integer` | |
| oTTC2DRotatorSpeed | `integer` | |
| oTTCSpinnerDir | `integer` | |
| oTTCChangeDirTimer | `integer` | |
| oBetaTrampolineMarioOnTrampoline | `integer` | |
| oTreasureChestCurrentAnswer | `integer` | |
| oTreasureChestIsLastInteractionIncorrect | `integer` | |
| oTreasureChestIsAboveWater | `integer` | |
| oTreasureChestSound | `integer` | |
| oTreasureChestLastNetworkPlayerIndex | `integer` | |
| oTreeSnowOrLeafUnkF4 | `integer` | |
| oTreeSnowOrLeafUnkF8 | `integer` | |
| oTreeSnowOrLeafUnkFC | `integer` | |
| oTumblingBridgeUnkF4 | `integer` | |
| oTweesterScaleTimer | `integer` | |
| oTweesterUnused | `integer` | |
| oUkikiTauntCounter | `integer` | |
| oUkikiTauntsToBeDone | `integer` | |
| oUkikiChaseFleeRange | `number` | |
| oUkikiTextState | `integer` | |
| oUkikiTextboxTimer | `integer` | |
| oUkikiCageSpinTimer | `integer` | |
| oUkikiHasCap | `integer` | |
| oUkikiCageNextAction | `integer` | |
| oUnagiUnkF4 | `number` | |
| oUnagiUnkF8 | `number` | |
| oUnagiUnk110 | `number` | |
| oUnagiUnk1AC | `number` | |
| oUnagiUnk1B0 | `integer` | |
| oUnagiUnk1B2 | `integer` | |
| oWaterBombVerticalStretch | `number` | |
| oWaterBombStretchSpeed | `number` | |
| oWaterBombOnGround | `integer` | |
| oWaterBombNumBounces | `number` | |
| oWaterBombSpawnerBombActive | `integer` | |
| oWaterBombSpawnerTimeToSpawn | `integer` | |
| oWaterCannonUnkF4 | `integer` | |
| oWaterCannonUnkF8 | `integer` | |
| oWaterCannonUnkFC | `integer` | |
| oWaterCannonUnk100 | `integer` | |
| oCannonBarrelBubblesUnkF4 | `number` | |
| oWaterLevelPillarDrained | `integer` | |
| oWaterLevelTriggerUnkF4 | `integer` | |
| oWaterLevelTriggerTargetWaterLevel | `integer` | |
| oWaterObjUnkF4 | `integer` | |
| oWaterObjUnkF8 | `integer` | |
| oWaterObjUnkFC | `integer` | |
| oWaterObjUnk100 | `integer` | |
| oWaterRingScalePhaseX | `integer` | |
| oWaterRingScalePhaseY | `integer` | |
| oWaterRingScalePhaseZ | `integer` | |
| oWaterRingNormalX | `number` | |
| oWaterRingNormalY | `number` | |
| oWaterRingNormalZ | `number` | |
| oWaterRingMarioDistInFront | `number` | |
| oWaterRingIndex | `integer` | |
| oWaterRingAvgScale | `number` | |
| oWaterRingSpawnerRingsCollected | `integer` | |
| oWaterRingMgrNextRingIndex | `integer` | |
| oWaterRingMgrLastRingCollected | `integer` | |
| oWaveTrailSize | `number` | |
| oWhirlpoolInitFacePitch | `integer` | |
| oWhirlpoolInitFaceRoll | `integer` | |
| oWhirlpoolTimeout | `integer` | |
| oWhitePuffUnkF4 | `number` | |
| oWhitePuffUnkF8 | `integer` | |
| oWhitePuffUnkFC | `integer` | |
| oStrongWindParticlePenguinObj | [Object](structs.md#Object) | |
| oWhompShakeVal | `integer` | |
| oWigglerFallThroughFloorsHeight | `number` | |
| oWigglerSegments | [ChainSegment](structs.md#ChainSegment) | |
| oWigglerWalkAnimSpeed | `number` | |
| oWigglerSquishSpeed | `number` | |
| oWigglerTimeUntilRandomTurn | `integer` | |
| oWigglerTargetYaw | `integer` | |
| oWigglerWalkAwayFromWallTimer | `integer` | |
| oWigglerUnused | `integer` | |
| oWigglerTextStatus | `integer` | |
| oLllWoodPieceOscillationTimer | `integer` | |
| oWoodenPostTotalMarioAngle | `integer` | |
| oWoodenPostPrevAngleToMario | `integer` | |
| oWoodenPostSpeedY | `number` | |
| oWoodenPostMarioPounding | `integer` | |
| oWoodenPostOffsetY | `number` | |
| oYoshiBlinkTimer | `integer` | |
| oYoshiChosenHome | `integer` | |
| oYoshiTargetYaw | `integer` | |
| oBreakableWallForce | `integer` | |
2022-02-19 21:51:02 +00:00
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [ObjectHitbox](#ObjectHitbox)
| Field | Type | Access |
| ----- | ---- | ------ |
| damageOrCoinValue | `integer` | |
| downOffset | `integer` | |
| health | `integer` | |
| height | `integer` | |
| hurtboxHeight | `integer` | |
| hurtboxRadius | `integer` | |
| interactType | `integer` | |
| numLootCoins | `integer` | |
| radius | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [ObjectNode](#ObjectNode)
| Field | Type | Access |
| ----- | ---- | ------ |
| gfx | [GraphNodeObject](structs.md#GraphNodeObject) | read-only |
| next | [ObjectNode](structs.md#ObjectNode) | |
| prev | [ObjectNode](structs.md#ObjectNode) | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [ObjectWarpNode](#ObjectWarpNode)
| Field | Type | Access |
| ----- | ---- | ------ |
| next | [ObjectWarpNode](structs.md#ObjectWarpNode) | |
| node | [WarpNode](structs.md#WarpNode) | read-only |
| object | [Object](structs.md#Object) | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [OffsetSizePair](#OffsetSizePair)
| Field | Type | Access |
| ----- | ---- | ------ |
| offset | `integer` | |
| size | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [ParallelTrackingPoint](#ParallelTrackingPoint)
| Field | Type | Access |
| ----- | ---- | ------ |
| distThresh | `number` | |
| pos | [Vec3f](structs.md#Vec3f) | read-only |
| startOfPath | `integer` | |
| zoom | `number` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [PlayerCameraState](#PlayerCameraState)
| Field | Type | Access |
| ----- | ---- | ------ |
| action | `integer` | |
| cameraEvent | `integer` | |
| faceAngle | [Vec3s](structs.md#Vec3s) | read-only |
| headRotation | [Vec3s](structs.md#Vec3s) | read-only |
| pos | [Vec3f](structs.md#Vec3f) | read-only |
| unused | `integer` | |
| usedObj | [Object](structs.md#Object) | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [PlayerGeometry](#PlayerGeometry)
| Field | Type | Access |
| ----- | ---- | ------ |
| currCeil | [Surface](structs.md#Surface) | |
| currCeilHeight | `number` | |
| currCeilType | `integer` | |
| currFloor | [Surface](structs.md#Surface) | |
| currFloorHeight | `number` | |
| currFloorType | `integer` | |
| prevCeil | [Surface](structs.md#Surface) | |
| prevCeilHeight | `number` | |
| prevCeilType | `integer` | |
| prevFloor | [Surface](structs.md#Surface) | |
| prevFloorHeight | `number` | |
| prevFloorType | `integer` | |
| waterHeight | `number` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
Arbitrary shirt, pants, glove colors + settings menu (#145) * Support for more granular player colors You can now configure RGB values for shirt, pants, gloves, and shoes. Due to some limitations, configuring shoes does nothing at the moment. * Remove paletteIndex and friends Restructured and filled in some remaining code to account for that. * Add Edit Palette panel to Player panel * Change PlayerPalette contents to an enum-indexed array, remove shoes This gets rid of all the hokey code doing switch cases on the different parts. * Fix goof with player model selection box Should actually have affect now even if a custom palette is being used. * Fix gap in player color display list commands The extra space was leftover from when I was trying to get shoes working. Forgot to clean it up. * Standardize PlayerParts enum, including for lua constants autogen * djui_panel_player.c: Properly hook sending palette changes on unpause Editing the palette and then unpausing should send out the packet to everyone with the new palette changes (and update the palette preset selection box), but since we weren't hooking that situation before, it would stay changed only for you. You would have had to press the Back button for it to work right. * Allow Lua mods to continue using `paletteIndex`, `overridePaletteIndex` This lets mod code like this still work unchanged: if s.team == 2 then np.overridePaletteIndex = 7 elseif s.team == 1 then np.overridePaletteIndex = 15 else np.overridePaletteIndex = np.paletteIndex end It's essentially faked, and would work strangely if the value of either variable was inspected more closely directly. This should at least handle the typical use case, though. Every frame, `overridePaletteIndex` is checked to see if it was modified from its previous value. If so, `overridePalette` is set to the preset corresponding to the index. `paletteIndex` contains a special value that when used to assign to `overridePaletteIndex`, it copies `palette` into `overridePalette` to restore the real colors, which of course may not follow the presets at all. * characters.h: Pack `PlayerPalette` to eliminate size differences between computers * mario_misc.c: Remove remaining "TODO GAG"
2022-08-07 22:13:19 +00:00
## [PlayerPalette](#PlayerPalette)
| Field | Type | Access |
| ----- | ---- | ------ |
[:arrow_up_small:](#)
<br />
2022-03-05 22:24:58 +00:00
## [RayIntersectionInfo](#RayIntersectionInfo)
| Field | Type | Access |
| ----- | ---- | ------ |
| hitPos | [Vec3f](structs.md#Vec3f) | read-only |
| surface | [Surface](structs.md#Surface) | |
[:arrow_up_small:](#)
<br />
## [ServerSettings](#ServerSettings)
| Field | Type | Access |
| ----- | ---- | ------ |
| bubbleDeath | `integer` | |
| enableCheats | `integer` | |
| headlessServer | `integer` | |
| playerInteractions | [enum PlayerInteractions](constants.md#enum-PlayerInteractions) | |
| playerKnockbackStrength | `integer` | |
| shareLives | `integer` | |
| skipIntro | `integer` | |
| stayInLevelAfterStar | `integer` | |
[:arrow_up_small:](#)
<br />
2022-03-05 04:03:00 +00:00
## [SoundState](#SoundState)
| Field | Type | Access |
| ----- | ---- | ------ |
| animFrame1 | `integer` | |
| animFrame2 | `integer` | |
| playSound | `integer` | |
| soundMagic | `integer` | |
2022-03-05 04:03:00 +00:00
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [SpawnInfo](#SpawnInfo)
| Field | Type | Access |
| ----- | ---- | ------ |
| activeAreaIndex | `integer` | |
| areaIndex | `integer` | |
| behaviorArg | `integer` | |
| next | [SpawnInfo](structs.md#SpawnInfo) | |
| startAngle | [Vec3s](structs.md#Vec3s) | read-only |
| startPos | [Vec3s](structs.md#Vec3s) | read-only |
| unk18 | [GraphNode](structs.md#GraphNode) | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
2022-02-19 21:51:02 +00:00
## [SpawnParticlesInfo](#SpawnParticlesInfo)
| Field | Type | Access |
| ----- | ---- | ------ |
| behParam | `integer` | |
| count | `integer` | |
| dragStrength | `integer` | |
| forwardVelBase | `integer` | |
| forwardVelRange | `integer` | |
| gravity | `integer` | |
| model | `integer` | read-only |
| offsetY | `integer` | |
| sizeBase | `number` | |
| sizeRange | `number` | |
| velYBase | `integer` | |
| velYRange | `integer` | |
2022-02-19 21:51:02 +00:00
[:arrow_up_small:](#)
<br />
## [StarPositions](#StarPositions)
| Field | Type | Access |
| ----- | ---- | ------ |
| BalconyBooStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| BigBullyStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| BigBullyTrioStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| BigPiranhasStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| CcmSlideStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| ChillBullyStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| EyerockStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| GhostHuntBooStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| JetstreamRingStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| KingBobombStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| KingWhompStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| KleptoStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| KoopaBobStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| KoopaThiStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| MantaRayStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| MerryGoRoundStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| MrIStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| PssSlideStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| RacingPenguinStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| SnowmanHeadStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| TreasureChestStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| TreasureJrbStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| TuxieMotherStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| UkikiCageStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| UnagiStarPos | [Vec3f](structs.md#Vec3f) | read-only |
| WigglerStarPos | [Vec3f](structs.md#Vec3f) | read-only |
[:arrow_up_small:](#)
<br />
## [StarsNeededForDialog](#StarsNeededForDialog)
| Field | Type | Access |
| ----- | ---- | ------ |
| dialog1 | `integer` | |
| dialog2 | `integer` | |
| dialog3 | `integer` | |
| dialog4 | `integer` | |
| dialog5 | `integer` | |
| dialog6 | `integer` | |
[:arrow_up_small:](#)
<br />
2022-02-19 21:51:02 +00:00
## [Struct802A272C](#Struct802A272C)
| Field | Type | Access |
| ----- | ---- | ------ |
| vecF | [Vec3f](structs.md#Vec3f) | read-only |
| vecS | [Vec3s](structs.md#Vec3s) | read-only |
2022-02-19 21:51:02 +00:00
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [Surface](#Surface)
| Field | Type | Access |
| ----- | ---- | ------ |
| flags | `integer` | |
| force | `integer` | |
| lowerY | `integer` | |
| modifiedTimestamp | `integer` | |
| normal | [Vec3f](structs.md#Vec3f) | read-only |
| object | [Object](structs.md#Object) | |
| originOffset | `number` | |
| prevVertex1 | [Vec3s](structs.md#Vec3s) | read-only |
| prevVertex2 | [Vec3s](structs.md#Vec3s) | read-only |
| prevVertex3 | [Vec3s](structs.md#Vec3s) | read-only |
| room | `integer` | |
| type | `integer` | |
| upperY | `integer` | |
| vertex1 | [Vec3s](structs.md#Vec3s) | read-only |
| vertex2 | [Vec3s](structs.md#Vec3s) | read-only |
| vertex3 | [Vec3s](structs.md#Vec3s) | read-only |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
2022-02-16 06:13:10 +00:00
## [TextureInfo](#TextureInfo)
| Field | Type | Access |
| ----- | ---- | ------ |
| bitSize | `integer` | read-only |
| height | `integer` | read-only |
| texture | `Pointer` <`integer`> | read-only |
| width | `integer` | read-only |
2022-02-16 06:13:10 +00:00
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [TransitionInfo](#TransitionInfo)
| Field | Type | Access |
| ----- | ---- | ------ |
| focDist | `number` | |
| focPitch | `integer` | |
| focYaw | `integer` | |
| framesLeft | `integer` | |
| marioPos | [Vec3f](structs.md#Vec3f) | read-only |
| pad | `integer` | |
| posDist | `number` | |
| posPitch | `integer` | |
| posYaw | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [Vec3f](#Vec3f)
| Field | Type | Access |
| ----- | ---- | ------ |
| x | `number` | |
| y | `number` | |
| z | `number` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [Vec3s](#Vec3s)
| Field | Type | Access |
| ----- | ---- | ------ |
| x | `integer` | |
| y | `integer` | |
| z | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [WallCollisionData](#WallCollisionData)
| Field | Type | Access |
| ----- | ---- | ------ |
2022-06-01 08:00:21 +00:00
| normalAddition | [Vec3f](structs.md#Vec3f) | read-only |
| normalCount | `integer` | |
| numWalls | `integer` | |
| offsetY | `number` | |
| radius | `number` | |
| unused | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [WarpNode](#WarpNode)
| Field | Type | Access |
| ----- | ---- | ------ |
| destArea | `integer` | |
| destLevel | `integer` | |
| destNode | `integer` | |
| id | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [WarpTransition](#WarpTransition)
| Field | Type | Access |
| ----- | ---- | ------ |
| data | [WarpTransitionData](structs.md#WarpTransitionData) | read-only |
| isActive | `integer` | |
| pauseRendering | `integer` | |
| time | `integer` | |
| type | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [WarpTransitionData](#WarpTransitionData)
| Field | Type | Access |
| ----- | ---- | ------ |
| blue | `integer` | |
| endTexRadius | `integer` | |
| endTexX | `integer` | |
| endTexY | `integer` | |
| green | `integer` | |
| red | `integer` | |
| startTexRadius | `integer` | |
| startTexX | `integer` | |
| startTexY | `integer` | |
| texTimer | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
2022-02-19 21:51:02 +00:00
## [WaterDropletParams](#WaterDropletParams)
| Field | Type | Access |
| ----- | ---- | ------ |
| behavior | `Pointer` <`BehaviorScript`> | read-only |
| flags | `integer` | |
| model | `integer` | |
| moveAngleRange | `integer` | |
| moveRange | `integer` | |
| randForwardVelOffset | `number` | |
| randForwardVelScale | `number` | |
| randSizeOffset | `number` | |
| randSizeScale | `number` | |
| randYVelOffset | `number` | |
| randYVelScale | `number` | |
2022-02-19 21:51:02 +00:00
[:arrow_up_small:](#)
<br />
2022-01-30 06:47:22 +00:00
## [Waypoint](#Waypoint)
| Field | Type | Access |
| ----- | ---- | ------ |
| flags | `integer` | |
| pos | [Vec3s](structs.md#Vec3s) | read-only |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
## [Whirlpool](#Whirlpool)
| Field | Type | Access |
| ----- | ---- | ------ |
| pos | [Vec3s](structs.md#Vec3s) | read-only |
| strength | `integer` | |
2022-01-30 06:47:22 +00:00
[:arrow_up_small:](#)
<br />
2022-02-19 21:51:02 +00:00
## [struct802A1230](#struct802A1230)
| Field | Type | Access |
| ----- | ---- | ------ |
| unk00 | `integer` | |
| unk02 | `integer` | |
2022-02-19 21:51:02 +00:00
[:arrow_up_small:](#)
<br />