Skip to content

common_structs.h

ApiFunc

typedef ApiFunc source

EvtScript

typedef EvtScript source

NoArgCallback

typedef NoArgCallback source

AuCallback

typedef AuCallback source

Color_RGBA8

struct Color_RGBA8 source
Fields

r: u8

g: u8

b: u8

a: u8

Color_RGB8

struct Color_RGB8 source
Fields

r: u8

g: u8

b: u8

Vec2b

struct Vec2b source
Fields

x: s8

y: s8

Vec2bu

struct Vec2bu source
Fields

x: u8

y: u8

Vec3b

struct Vec3b source
Fields

x: s8

y: s8

z: s8

Vec2s

struct Vec2s source
Fields

x: s16

y: s16

Vec2su

struct Vec2su source
Fields

x: u16

y: u16

Vec3s

struct Vec3s source
Fields

x: s16

y: s16

z: s16

Vec2i

struct Vec2i source
Fields

x: s32

y: s32

VecXZi

struct VecXZi source
Fields

x: s32

z: s32

Vec3i

struct Vec3i source
Fields

x: s32

y: s32

z: s32

Vec2f

struct Vec2f source
Fields

x: f32

y: f32

VecXZf

struct VecXZf source
Fields

x: f32

z: f32

Vec3f

struct Vec3f source
Fields

x: f32

y: f32

z: f32

Vec4f

struct Vec4f source
Fields

x: f32

y: f32

z: f32

yaw: f32

Color4f

struct Color4f source
Fields

r: f32

g: f32

b: f32

a: f32

Color3i

struct Color3i source
Fields

r: s32

g: s32

b: s32

Color4i

struct Color4i source
Fields

r: s32

g: s32

b: s32

a: s32

Matrix4f

typedef Matrix4f source

Matrix4s

struct Matrix4s source
Fields

whole: s16 [4][4];

frac: s16 [4][4];

CameraRig

struct CameraRig source
Fields

boomYaw: f32

boomLength: f32

boomPitch: f32

viewPitch: f32

targetPos: Vec3f

DmaTable

struct DmaTable source
Fields

start: u8*

end: u8*

dest: u8*

HeapNode

struct HeapNode source
Fields

next: structHeapNode*

length: u32

allocated: u16

entryID: u16

capacity: u32

NpcMotionBlur

struct NpcMotionBlur source

Ring buffer of an NPC's position over the past 20 frames.

Fields

unused: s8

index: s8Current blur ring buffer index

posX: f32 [20];

posY: f32 [20];

posZ: f32 [20];

NpcChompBlur

struct NpcChompBlur source
Fields

npc: structNpc*

offset: Vec3f

NpcQuizmoBlur

struct NpcQuizmoBlur source
Fields

flags: s32

NpcHistoryPoint

struct NpcHistoryPoint source
Fields

isAirborne: s8

pos: Vec3f

FollowAnims

struct FollowAnims source
Fields

walk: u32

jump: u32

fall: u32

land: u32

idle: u32

run: u32

NpcFollowData

struct NpcFollowData source
Fields

moveHistory: NpcHistoryPoint [40];

lastPointIdx: s32

targetPointIdx: s32

followState: s32

targetNpcID: s32

anims: FollowAnims*

walkSpeed: f32

runSpeed: f32

idleRadius: f32

walkRadius: f32

Npc

struct Npc source
Fields

flags: s32

onUpdate: void (*)(struct Npc *)Run before anything else for this NPC in update_npcs()

onRender: void (*)(struct Npc *)Run after the display list for this NPC is built

yaw: f32

planarFlyDist: f32

jumpScale: f32

moveSpeed: f32

jumpVel: f32

blur: union { ... }

spriteInstanceID: s32

curAnim: u32

animNotifyValue: s32

animationSpeed: f32

renderYaw: f32

pos: Vec3f

rot: Vec3f

rotPivotOffsetY: f32

scale: Vec3f

moveToPos: Vec3f

colliderPos: Vec3f

shadowIndex: s32

shadowScale: f32

collisionChannel: s32

curFloor: s16

curWall: s16

isFacingAway: s16

yawCamOffset: s16

turnAroundYawAdjustment: s16

duration: s16

homePos: Vec3s

imgfxType: s16

imgfxArg1: s16

imgfxArg2: s16

imgfxArg3: s16

imgfxArg4: s16

imgfxFlags: u16

npcID: s8

collisionDiameter: s16

collisionHeight: s16

renderMode: s8

verticalRenderOffset: s8

alpha: u8

hideAlpha: u8Used when hiding NPCs; Multiplied with Npc::alpha

extraAnimList: u32*

palSwapType: s8

palSwapPrevType: s8

resetPalAdjust: s8

palAnimState: s8

nextPalTime: s16

palBlendAlpha: s16

spriteColorVariations: s8

originalPalettesCount: s8

originalPalettesList: u16**

copiedPalettes: u16 [16][16];

adjustedPalettes: u16* [16];

blendPalA: s16

blendPalB: s16

palswapTimeHoldA: u16

palswapTimeAtoB: s16

palswapTimeHoldB: s16

palswapTimeBtoA: s16

blendPalC: s16

blendPalD: s16

screenSpaceOffset2D: f32 [2];

verticalStretch: f32

decorations: structEffectInstance* [2];

decorationType: s8 [2];

changedDecoration: s8 [2];

decorationInitialized: s8 [2];

decorationGlowPhase: s16 [2];

NpcList

typedef NpcList source

PartnerData

struct PartnerData source
Fields

enabled: u8

level: s8

PlayerData

struct PlayerData source
Fields

bootsLevel: s8

hammerLevel: s8

curHP: s8

curMaxHP: s8

hardMaxHP: s8

curFP: s8

curMaxFP: s8

hardMaxFP: s8

maxBP: s8

level: s8

hasActionCommands: s8

coins: s16

starPieces: u8

starPoints: s8

curPartner: s8

partners: PartnerData [12];

keyItems: s16 [32];

badges: s16 [128];

invItems: s16 [10];

storedItems: s16 [32];

equippedBadges: s16 [64];

merleeSpellType: s8

merleeCastsLeft: s8

merleeTurnCount: s16

maxStarPower: s8

starPower: s16

starBeamLevel: s8

actionCommandAttempts: u16

actionCommandSuccesses: u16

hitsTaken: u16

hitsBlocked: u16

playerFirstStrikes: u16

enemyFirstStrikes: u16

powerBounces: u16

battlesCount: u16

battlesWon: u16

fleeAttempts: u16

battlesFled: u16

trainingsDone: u16

walkingStepsTaken: s32

runningStepsTaken: s32

totalCoinsEarned: u32

idleFrameCounter: s16

frameCounter: u32

quizzesAnswered: u16

quizzesCorrect: u16

partnerUnlockedTime: s32 [12];

partnerUsedTime: s32 [12];

tradeEventStartTime: s32

droTreeHintTime: s32

starPiecesCollected: u16

jumpGamePlays: u16

jumpGameTotal: u32

jumpGameRecord: u16

smashGamePlays: u16

smashGameTotal: u32

smashGameRecord: u16

reserved: char [232];

Trigger

struct Trigger source
Fields

flags: s32

varIndex: s32

location: union { ... }

onActivateFunc: int (*)(struct Trigger *)

onTriggerEvt: EvtScript*

runningScript: structEvt*

priority: s32

varTable: s32 [3];

varTableF: f32 [3];

varTablePtr: void* [3];

itemList: s32*

tattleMsg: s32

hasPlayerInteractPrompt: u8

runningScriptID: s32

TriggerList

typedef TriggerList source

TriggerBlueprint

struct TriggerBlueprint source
Fields

flags: s32

varIndex: s16

colliderID: s32

onActivateFunc: int (*)(struct Trigger *)

tattleMsg: s32

hasPlayerInteractPrompt: s32

itemList: s32*

Evt

struct Evt source
Fields

stateFlags: u8

curArgc: u8

curOpcode: u8

priority: u8

groupFlags: u8

blocked: s8

loopDepth: s8

switchDepth: s8

ptrNextLine: Bytecode*

ptrReadPos: Bytecode*

labelIndices: s8 [16];

labelPositions: void* [16];

userData: void*

blockingParent: structEvt*

childScript: structEvt*

parentScript: structEvt*

functionTemp: s32 [4];

functionTempF: f32 [4];

functionTempPtr: void* [4];

callFunction: ApiFunc

varTable: s32 [16];

varTableF: f32 [16];

varTablePtr: void* [16];

varFlags: s32 [3];

loopStartTable: s32 [8];

loopCounterTable: s32 [8];

switchBlockState: s8 [8];

switchBlockValue: s32 [8];

buffer: s32*

array: s32*

flagArray: s32*

id: s32

owner1: union { ... }Initially -1

owner2: union { ... }Initially -1

timeScale: f32

frameCounter: f32

ptrFirstLine: Bytecode*

ptrSavedPos: Bytecode*

ptrCurLine: Bytecode*

debugPaused: s8

debugStep: s8

ScriptList

typedef ScriptList source

EntityCallback

typedef EntityCallback source

DmaEntry

struct DmaEntry source
Fields

start: void*

end: void*

EntityBlueprint

struct EntityBlueprint source
Fields

flags: u16

typeDataSize: u16

renderCommandList: void*

modelAnimationNodes: void*

fpInit: void (*)(struct Entity *)

updateEntityScript: void*

fpHandleCollision: EntityCallback

dma: DmaEntry

dmaList: DmaEntry*

entityType: u8

aabbSize: u8 [3];

EntityData

EntityData source

any

saveBlock

swtch

shatteringBlock

block

crate

chest

bluePipe

heartBlockContent

superBlockContent

simpleSpring

hiddenPanel

signPost

padlock

boardedFloor

bombableRock

tweester

starBoxLauncher

cymbalPlant

pinkFlower

spinningFlower

trumpetPlant

munchlesia

arrowSign

Entity

struct Entity source
Fields

flags: s32

listIndex: u8

collisionFlags: u8

collisionTimer: s8

scriptDelay: u8

type: u8

alpha: u8

aabb: Vec3s

vertexSegment: s16

virtualModelIndex: s16

shadowIndex: s16

scriptReadPos: s32*

updateScriptCallback: EntityCallback

updateMatrixOverride: EntityCallback

boundScript: Evt*

boundScriptBytecode: EvtScript*

savedReadPos: s32* [3];

blueprint: EntityBlueprint*

renderSetupFunc: void (*)(int)

dataBuf: EntityData

gfxBaseAddr: void*

pos: Vec3f

scale: Vec3f

rot: Vec3f

shadowPosY: f32

inverseTransformMatrix: Matrix4f

effectiveSize: f32

transformMatrix: Mtx

EntityList

typedef EntityList source

ShadowCallback

typedef ShadowCallback source

ShadowBlueprint

struct ShadowBlueprint source
Fields

flags: u16

typeDataSize: s16

renderCommandList: void*

animModelNode: structStaticAnimatorNode**

onCreateCallback: ShadowCallback

entityType: u8

aabbSize: char [3];

Shadow

struct Shadow source
Fields

flags: s32

listIndex: u8

alpha: u8

entityModelID: s16

vertexSegment: s16

vertexArray: Vec3s*

pos: Vec3f

scale: Vec3f

rot: Vec3f

transformMatrix: Mtx

ShadowList

typedef ShadowList source

Worker

struct Worker source
Fields

flags: s32

update: void (*)(void)

draw: void (*)(void)

WorkerList

typedef WorkerList source

MusicControlData

struct MusicControlData source
Fields

flags: u16

state: s16

fadeOutTime: s32

fadeInTime: s32

fadeStartVolume: s16

fadeEndVolume: s16

requestedSongID: s32

variation: s32

songName: s32

battleSongID: s32name or handle of currently playing song

battleVariation: s32

savedSongID: s32

savedVariation: s32

savedSongName: s32

MusicProximityTrigger

struct MusicProximityTrigger source
Fields

pos: VecXZf

innerDist: f32

outerDist: f32

unk: s32

manualActivationFlag: s32

StatusBar

struct StatusBar source
Fields

hpIconHIDs: s32 [2];

fpIconHIDs: s32 [2];

coinIconHID: s32

coinSparkleHID: s32

spIconHID: s32

spShineHID: s32

hpTimesHID: s32

fpTimesHID: s32

spTimesHID: s32

coinTimesHID: s32

starIconHID: s32

drawPosX: s16

drawPosY: s16

showTimer: s16

hidden: s8

displayHP: s8

displayFP: s8

displayCoins: s16

displayStarpoints: s16

ignoreChanges: s8

openInputDisabled: s8

alwaysShown: s8

disabled: s8

displayStarPower: s16

hpBlinking: s8

hpBlinkAnimTime: s8

hpBlinkTimeLeft: s8

fpBlinking: s8

fpBlinkAnimTime: s8

fpBlinkTimeLeft: s8

starPowerBlinking: s8

starPowerBlinkCounter: s8

starpointsBlinking: s8

starpointsBlinkAnimTime: s8

coinsBlinking: s8

coinsBlinkAnimTime: s8

coinsBlinkTimeLeft: s8

shimmerState: s8

shimmerTime: s8

shimmerLimit: s8

powBarsToBlink: s8

coinCountTimesHID: s32

coinCountIconHID: s32

iconIndex12: s32

iconIndex13: s32

coinCounterHideDelay: s8

coinCountDisposeTime: s8

prevIgnoreChanges: s8

CameraInitData

struct CameraInitData source
Fields

flags: s16

updateMode: s8

viewWidth: s16

viewHeight: s16

viewStartX: s16

viewStartY: s16

nearClip: s16

farClip: s16

vfov: s16

CameraControlSettings

struct CameraControlSettings source
Fields

type: s32

boomLength: f32

boomPitch: f32

points: union { ... }

viewPitch: f32

flag: s32

Camera

struct Camera source
Fields

flags: u16

moveFlags: s16

updateMode: s16

needsInit: s16

needsReinit: s16

viewportW: s16

viewportH: s16

viewportStartX: s16

viewportStartY: s16

nearClip: s16

farClip: s16

vfov: f32

params: union { ... }

bgColor: s16 [3];

targetScreenCoords: Vec3s

perspNorm: u16

lookAt_eye: Vec3f

lookAt_obj: Vec3f

lookAt_obj_target: Vec3f

targetPos: Vec3f

curYaw: f32

interpYaw: f32

curBoomLength: f32

curBoomPitch: f32

curBoomYaw: f32

targetOffsetY: f32

targetBoomYaw: f32

lookAt_yaw: f32

lookAt_pitch: f32

vp: Vp

vpAlt: Vp

mtxPerspective: Matrix4f

mtxViewPlayer: Matrix4f

mtxViewLeading: Matrix4f

mtxViewShaking: Matrix4f

fpDoPreRender: void (*)(struct Camera *)

fpDoPostRender: void (*)(struct Camera *)

mtxBillboard: Mtx*

prevSettings: CameraControlSettings*

curSettings: CameraControlSettings*

prevRig: CameraRig

nextRig: CameraRig

interpAlpha: f32

linearInterp: f32

linearInterpRate: f32

moveSpeed: f32

yinterpGoal: f32

yinterpAlpha: f32

yinterpRate: f32

yinterpCur: f32

prevTargetPos: Vec3f

movePos: Vec3f

prevMovePos: Vec3f

prevPrevMovePos: Vec3f

overrideSettings: CameraControlSettings

useOverrideSettings: s16

prevUseOverride: s16

prevPrevUseOverride: s16

panActive: s16

interpEasingParameter: f32

leadAmount: f32

targetLeadAmount: f32

leadInterpAlpha: f32

accumulatedStickLead: f32

increasingLeadInterp: s32

leadAmtScale: f32

prevLeadPosX: f32

prevLeadPosZ: f32

leadConstrainDir: s32

needsInitialConstrainDir: s32

prevLeadSettings: CameraControlSettings*

unusedLeadAmt: f32

unusedLeadCounter: s16

unusedLeadDir: s16

BattleStatus

struct BattleStatus source
Fields

flags1: s32

flags2: s32

varTable: s32 [16];

varTableF: f32 [16];

varTablePtr: void* [16];

curSubmenu: s8

lastSelectedAbility: s8

curPartnerSubmenu: s8

lastPartnerPowerSelection: s8

lastPlayerMenuSelection: s8 [16];

lastPartnerMenuSelection: s8 [16];

cancelTargetMenuSubstate: s16

acceptTargetMenuSubstate: s16

enabledMenusFlags: s16

enabledStarPowersFlags: s32

totalStarPoints: s8

pendingStarPoints: s8

incrementStarPointDelay: s8

damageTaken: u8

changePartnerAllowed: s8

menuStatus: s8 [4];-1 = automatically pick the first move, 0 = disabled, 1 = enabled

actionQuality: s8

maxActionQuality: s8

actionCommandMode: s8

actionProgress: s8

resultTier: s8

actionResult: s8

blockResult: s8

itemUsesLeft: s8

hpDrainCount: s8

nextMerleeSpellType: s8

hustleTurns: s8

stateFreezeCount: s8

endBattleFadeOutRate: s8

initialEnemyCount: s8

reflectFlags: s8

nextActorOrdinal: s8

cancelTurnMode: s8

waitForState: s8

hammerCharge: s8

jumpCharge: s8

rushFlags: u8

outtaSightActive: s8

turboChargeTurnsLeft: s8

turboChargeAmount: u8

waterBlockTurnsLeft: s8

waterBlockAmount: u8

waterBlockEffect: structEffectInstance*

cloudNineTurnsLeft: s8

cloudNineDodgeChance: s8

cloudNineEffect: structEffectInstance*

merleeAttackBoost: s8

merleeDefenseBoost: s8

hammerLossTurns: s8

jumpLossTurns: s8

itemLossTurns: s8

preUpdateCallback: void (*)(void)

initBattleCallback: void (*)(void)

controlScript: structEvt*

controlScriptID: s32

camMovementScript: structEvt*

camMovementScriptID: s32

camLookatObjPos: Vec3f

playerActor: structActor*

partnerActor: structActor*

enemyActors: structActor* [24];

enemyIDs: s16 [24];

nextEnemyIndex: s8

numEnemyActors: s8

activeEnemyActorID: s16

curTurnEnemy: structActor*

moveCategory: s80 = jump, 1 = hammer, 5 = partner, ...

moveArgument: s16

selectedMoveID: s16

curAttackDamage: s16

lastAttackDamage: s16

curTargetListFlags: s32

curAttackElement: s32

curAttackEventSuppression: s32

curAttackStatus: s32

statusChance: u8

statusDuration: s8

sampleTargetHomeIndex: s8

powerBounceCounter: s8

wasStatusInflicted: s8

curDamageSource: u8

curTargetID: s16

curTargetPart: s8

curTargetID2: s16

curTargetPart2: s8

battlePhase: s8

attackerActorID: s16

lastSelectedItem: s16

lastSelectedPartner: s8

submenuIcons: s16 [24];

submenuMoves: u8 [24];

submenuStatus: s8 [24];See [BattleSubmenuStatus].

submenuMoveCount: u8

curButtonsDown: s32

curButtonsPressed: s32

curButtonsHeld: s32

stickX: s32

stickY: s32

inputBitmask: s32

stickAngle: s32

stickMagnitude: s32

holdInputBuffer: s32 [64];

pushInputBuffer: s32 [64];

holdInputBufferPos: s8

inputBufferPos: s8

darknessMode: s8

actionCmdDifficultyTable: s32*

curStage: structStage*

buffEffect: structEffectInstance*

tattleFlags: u8 [28];

TextureHeader

struct TextureHeader source
Fields

name: s8 [32];

auxW: u16

mainW: u16

auxH: u16

mainH: u16

isVariant: u8

extraTiles: u8

auxCombineType: u8

auxCombineSubType: u8

auxFmt: u8

mainFmt: u8

auxBitDepth: u8

mainBitDepth: u8

auxWrapW: u8

mainWrapW: u8

auxWrapH: u8

mainWrapH: u8

filtering: u8

MoveData

struct MoveData source
Fields

nameMsg: s32

flags: s32

shortDescMsg: s32

fullDescMsg: s32

category: s8See MoveType.

costFP: s8

costBP: s8

actionTip: u8

Collider

struct Collider source
Fields

flags: s32

nextSibling: s16

firstChild: s16

parentModelIndex: s16

numTriangles: s16

triangleTable: structColliderTriangle*

aabb: structColliderBoundingBox*

camSettings: structCameraControlSettings*

numVertices: s16

vertexTable: Vec3f*

CollisionData

struct CollisionData source
Fields

vertices: Vec3f*

colliderList: Collider*

aabbs: structColliderBoundingBox*

camSettings: structCameraControlSettings*

numColliders: s16

AnimatorNode

struct AnimatorNode source
Fields

displayList: Gfx*

children: structAnimatorNode* [32];

basePos: Vec3f

pos: Vec3f

rot: Vec3f

scale: Vec3f

mtx: Matrix4f

flags: s16

uniqueIndex: s16

vertexStartOffset: s16

fcData: union { ... }

AnimatorNodeBlueprint

struct AnimatorNodeBlueprint source
Fields

displayList: void*

basePos: Vec3f

rot: Vec3f

StaticAnimatorNode

struct StaticAnimatorNode source
Fields

displayList: void*

rot: Vec3s

pos: Vec3f

sibling: structStaticAnimatorNode*

child: structStaticAnimatorNode*

vertexStartOffset: s16

vtxList: Vtx*

modelID: s16

ModelAnimator

struct ModelAnimator source
Fields

flags: u32

renderMode: s8

animReadPos: s16*

savedReadPos: s16*

rootNode: AnimatorNode*

nodeCache: AnimatorNode* [122];

nextUniqueID: u8

staticNodeIDs: u8 [122];

nextUpdateTime: f32

timeScale: f32

mtx: Mtx

baseAddr: void*

animationBuffer: s16*

staticNodes: StaticAnimatorNode* [122];

staticRoot: StaticAnimatorNode**

treeIndexPos: s32

savedTreePos: s32

fpRenderCallback: void (*)(void *)

renderCallbackArg: void*

AnimatedMeshList

typedef AnimatedMeshList source

ColliderBoundingBox

struct ColliderBoundingBox source
Fields

min: Vec3f

max: Vec3f

flagsForCollider: s32

ItemData

struct ItemData source
Fields

nameMsg: s32

hudElemID: s16

sortValue: s16

targetFlags: s32

sellValue: s16

fullDescMsg: s32

shortDescMsg: s32

typeFlags: s16

moveID: u8

potencyA: s8

potencyB: s8

ItemEntity

struct ItemEntity source
Fields

flags: s32

boundVar: s16

pickupMsgFlags: s16

pos: Vec3f

physicsData: structItemEntityPhysicsData*

itemID: s16

state: s8

spawnType: s8

pickupDelay: u8

renderGroup: s8

spawnAngle: s16

shadowIndex: s16

readPos: s32*

savedReadPos: s32*

lookupRasterIndex: u8

lookupPaletteIndex: u8

nextUpdate: u8

alpha: u8

scale: f32

lastPos: Vec3s

sparkleNextUpdate: s32

sparkleReadPos: s32*

sparkleUnk44: s32

sparkleSavedPos: s32*

sparkleRaster: u8*

sparklePalette: u16*

sparkleWidth: s32

sparkleHeight: s32

MessagePrintState

struct MessagePrintState source
Fields

srcBuffer: u8*

printBufferPos: u16

msgID: s32

srcBufferPos: u16

curPrintDelay: u16

printBuffer: u8 [1088];

printBufferSize: s16

effectFrameCounter: u16

font: u8

fontVariant: u8

windowOffsetPos: Vec2s

windowBasePos: Vec2s

printDelayTime: u8

charsPerChunk: u8

curLinePos: s32

windowScrollRate: u8

nextLinePos: u16

lineCount: u8

curAnimFrame: u8 [4];

animTimers: s16 [4];

rewindArrowAnimState: u8

rewindArrowCounter: s16

rewindArrowSwingPhase: s16

rewindArrowPos: Vec2su

curLine: u8

unkArraySize: u8

lineEndPos: u16 [4];

maxOption: u8

cursorPosX: u16 [6];

cursorPosY: u16 [6];

curOption: u8

madeChoice: s8

cancelOption: u8

targetOption: u8

scrollingTime: u8

selectedOption: u8

windowState: u8

stateFlags: s32

delayFlags: s16

closedWritebackBool: s32*

style: u8

fadeInCounter: u8

initOpenPos: Vec2s

openStartPos: Vec2su

fadeOutCounter: u8

windowSize: Vec2su

speechSoundType: s8

volume: u8

speechPan: u8

speechPitchShift: u16

speechSoundIDA: s32

speechSoundIDB: s32

varBufferReadPos: u16

curImageIndex: u8

varImageScreenPos: Vec2su

varImgHasBorder: u8

varImgFinalAlpha: u8

varImgAlphaFadeStep: u8

varImageDisplayState: u8

varImageFadeTimer: s16

msgHeight: s16

msgWidth: u16

maxLineChars: s8

numLines: s8

maxLinesPerPage: u8

sizeScale: f32

letterBackgroundImg: u8*

letterBackgroundPal: u16*

letterContentImg: u8*

letterContentPal: u16*

MessageDrawState

struct MessageDrawState source
Fields

clipX: s32 [2];

clipY: s32 [2];

msgScale: Vec2f

charScale: Vec2f

drawBufferPos: s32

savedPos: s16 [2];

savedColor: u8

framePalette: u8

centerPos: u8

visiblePrintedCount: s32

printModeFlags: u16

effectFlags: u32

font: u16

fontVariant: u16

curPosX: u8

nextPos: s16 [2];

textStartPos: s16 [2];

textColor: s16

printBuffer: u8*

nextCounter: u8

MessageCharData

struct MessageCharData source
Fields

raster: u8*

charWidthTable: u8*

monospaceWidth: u8

baseHeightOffset: u8

MessageCharset

struct MessageCharset source
Fields

texSize: Vec2bu

newLineY: u8

charRasterSize: u16

rasters: MessageCharData*

MesasgeFontGlyphData

struct MesasgeFontGlyphData source
Fields

raster: u8*

palette: u16*

texSize: Vec2bu

charWidth: u8

charHeight: u8

MessageImageData

struct MessageImageData source
Fields

raster: u8*

palette: u16*

width: u16

height: u16

format: s32

bitDepth: s32

MessageNumber

struct MessageNumber source
Fields

rasters: u8*

texSize: u8

texWidth: u8

texHeight: u8

digitWidth: u8 [10];

fixedWidth: u8

ShopItemEntity

struct ShopItemEntity source
Fields

index: s32

pos: Vec3f

ShopOwner

struct ShopOwner source
Fields

npcID: s32

idleAnim: s32

talkAnim: s32

onBuyEvt: EvtScript*

onTalkEvt: EvtScript*

shopMsgIDs: s32*

ShopItemLocation

struct ShopItemLocation source
Fields

posModelID: u16

triggerColliderID: u16

ShopItemData

struct ShopItemData source
Fields

itemID: u32

price: s32

descMsg: s32

ShopSellPriceData

struct ShopSellPriceData source
Fields

itemID: s32

sellPrice: s32

GameStatus

struct GameStatus source
Fields

curButtons: u32 [4];

pressedButtons: u32 [4];

heldButtons: u32 [4];

prevButtons: u32 [4];

stickX: s8 [4];

stickY: s8 [4];

holdDelayTime: s16 [4];

holdRepeatInterval: s16 [4];

holdDelayCounter: s16

holdRepeatCounter: s16

demoButtonInput: s16

demoStickX: s8

demoStickY: s8

mainScriptID: s32

context: s8

demoState: s8

nextDemoScene: s8

contBitPattern: u8

debugEnemyContact: s8

debugQuizmo: s8

debugUnused1: s8

debugUnused2: s8

debugScripts: s8

musicEnabled: s8

healthBarsEnabled: s8

keepUsingPartnerOnMapChange: s8

peachFlags: u8

peachDisguise: s8

peachBakingIngredient: u8See PeachBakingItems. enum

multiplayerEnabled: s8

altViewportOffset: Vec2b

playerSpriteSet: s8

areaID: s16

prevArea: s16

didAreaChange: s16

mapID: s16

entryID: s16

exitTangent: f32

playerPos: Vec3f

playerYaw: f32

introPart: s8

demoBattleFlags: s8

soundOutputMode: u8

startupState: s8

logoTime: s8

skipLogos: s8

titleScreenTimer: s8

titleScreenDismissTime: s8

screenColorA: s16

screenColorR: s16

screenColorG: s16

screenColorB: s16

playerGroundTraceAngles: Vec3f

playerGroundTraceNormal: Vec3f

frameCounter: u16

nextRNG: u32

shopItemEntities: ShopItemEntity*

mapShop: structShop*

backgroundFlags: s16

backgroundMinX: s16

backgroundMinY: s16

backgroundMaxX: s16

backgroundMaxY: s16

backgroundXOffset: s16

backgroundRaster: u8*

backgroundPalette: u16*

backgroundDarkness: u16

savedBackgroundDarkness: s16

savedPos: Vec3s

saveSlot: u8

loadType: u8

saveCount: u32

PartnerAnimations

PartnerAnimations source

anims

still

walk

jump

fall

fly

idle

run

talk

hurt

PushBlockFallCallback

typedef PushBlockFallCallback source

PushBlockGrid

struct PushBlockGrid source
Fields

cells: u8*

numCellsX: u8

numCellsZ: u8

centerPos: Vec3i

dropCallback: PushBlockFallCallback

ItemEntityPhysicsData

struct ItemEntityPhysicsData source
Fields

verticalVel: f32

gravity: f32

collisionRadius: f32

constVel: f32

velX: f32

velZ: f32

moveAngle: f32

timeLeft: s32

useSimplePhysics: s32

RenderTask

struct RenderTask source
Fields

renderMode: s32

dist: s32

appendGfxArg: void*

appendGfx: void (*)(void *)

SelectableTarget

struct SelectableTarget source
Fields

actorID: s16

partID: s16

truePos: Vec3s

sortPos: Vec3s

priorityOffset: s8

column: s8

row: s8

layer: s8

ActorPartMovement

struct ActorPartMovement source
Fields

absolutePos: Vec3f

goalPos: Vec3f

jumpScale: f32

moveSpeed: f32

angle: f32

dist: f32

moveTime: s16

varTable: s32 [16];

varTableF: f32 [16];

varTablePtr: void* [16];

ActorPartBlueprint

struct ActorPartBlueprint source
Fields

flags: s32

index: s8

posOffset: Vec3b

targetOffset: Vec2b

opacity: s16

idleAnimations: s32*

defenseTable: s32*

eventFlags: s32

elementImmunityFlags: s32

projectileTargetOffset: Vec2b

overrideNameMsg: s32

ActorPart

struct ActorPart source
Fields

flags: s32

targetFlags: s32

staticData: ActorPartBlueprint*

nextPart: structActorPart*

movement: structActorPartMovement*

partOffset: Vec3s

visualOffset: Vec3s

partOffsetFloat: Vec3f

absolutePos: Vec3f

rot: Vec3f

rotPivotOffset: Vec3s

scale: Vec3f

curPos: Vec3f

yaw: f32

palAnimPosOffset: s16 [2];

targetOffset: Vec2s

targetPriorityOffset: s16

size: Vec2bu

verticalStretch: s8

projectileTargetOffset: Vec2b

defenseTable: u32*

eventFlags: s32

elementalImmunities: s32

spriteInstanceID: s32

curAnimation: u32

animNotifyValue: s32

animationRate: f32

idleAnimations: u32*

opacity: s16

shadowIndex: s32

shadowScale: f32

partTypeData: s32 [6];

actorTypeData2b: s16 [2];

decorationTable: structDecorationTable*

ColliderTriangle

struct ColliderTriangle source
Fields

v1: Vec3f*

v2: Vec3f*

v3: Vec3f*

e13: Vec3f

e21: Vec3f

e32: Vec3f

normal: Vec3f

oneSided: s16

FontRasterSet

struct FontRasterSet source
Fields

sizeX: u8

sizeY: u8

CollisionStatus

struct CollisionStatus source
Fields

pushingAgainstWall: s16

curFloor: s16

lastTouchedFloor: s16

floorBelow: s16

curCeiling: s16

curInspect: s16

curWall: s16

lastWallHammered: s16

touchingWallTrigger: s16

bombetteExploded: s16

bombetteExplosionPos: Vec3f

DecorFireTrail

struct DecorFireTrail source
Fields

scale: s16

DecorGoldenFlames

struct DecorGoldenFlames source
Fields

scaleX: s16

scaleY: s16

offsetX: s16

DecorRedFlames

struct DecorRedFlames source
Fields

scaleX: s16

scaleY: s16

alpha: s16

offsetZ: s16

unused1: s16

unused2: s16

unused3: s16

DecorBowserAura

struct DecorBowserAura source
Fields

scaleX: s16

scaleY: s16

alpha: s16

offsetZ: s16

DecorDataSparkles

struct DecorDataSparkles source
Fields

spawnInterval: s16

DecorDataStars

struct DecorDataStars source
Fields

scalePct: s16

offsetY: s16

DecorationData

DecorationData source

raw

fireTrail

redFlames

goldenFlames

bowserAura

sparkles

stars

DecorationTable

struct DecorationTable source
Fields

copiedPalettes: u16 [2][27][16];

paletteAdjustment: s8

resetPalAdjust: s8

palAnimState: s8

nextPalTime: s16

palBlendAlpha: s16

spriteColorVariations: s8

originalPalettesCount: s8

originalPalettesList: u16**

adjustedPalettes: u16* [27];

blendPalA: s16

blendPalB: s16

palswapTimeHoldA: s16

palswapTimeAtoB: s16

palswapTimeHoldB: s16

palswapTimeBtoA: s16

palswapUnused1: s16

palswapUnused2: s16

glowState: s8

glowStateChanged: s8

glowUnk1: s8

pad753: char [5];

glowUnk2: s16

glowUnk3: s16

glowPhase: s16

pad75E: char [6];

flashState: s8

flashStateChanged: s8

flashMode: s8

flashFramesLeft: s8

flashEnabled: u8

flashPalettes: u16* [16];

blurUnused: s8

blurBufferPos: s8

blurDrawCount: s8

blurEnableCount: s8

yaw: s16 [16];

posX: s16 [16];

posY: s16 [16];

posZ: s16 [16];

rotPivotOffsetX: s8 [16];

rotPivotOffsetY: s8 [16];

rotX: u8 [16];

rotY: u8 [16];

rotZ: u8 [16];

blurDisableDelay: s8

effect: structEffectInstance* [2];

type: s8 [2];

changed: u8 [2];

state: s8 [2];

stateResetTimer: s16 [2];

decorData: DecorationData [2];

PlayerPathElement

struct PlayerPathElement source
Fields

isJumping: s8

pos: Vec3f

LavaReset

struct LavaReset source
Fields

colliderID: s32

pos: Vec3f

BombTrigger

struct BombTrigger source
Fields

pos: Vec3f

diameter: f32

AnimatedModel

struct AnimatedModel source
Fields

animModelID: s32

pos: Vec3f

rot: Vec3f

scale: Vec3f

mtx: Mtx

curAnimData: s16*

AnimatedModelList

typedef AnimatedModelList source

CollisionHeader

struct CollisionHeader source
Fields

numColliders: s16

treeOffset: s32

numVerts: s16

triangleTableOffset: s32

bbTableSize: s16

bbTableOffset: s32

ActorMovement

struct ActorMovement source
Fields

curPos: Vec3f

goalPos: Vec3f

acceleration: f32

speed: f32

vel: f32

angle: f32

dist: f32

flyElapsed: f32

flyTime: s16

flyArcAmplitude: s16

ChompChain

struct ChompChain source
Fields

curPos: Vec3f

gravAccel: f32

velY: f32

settleAmt: f32

settleRate: f32

outerLinkLen: f32

innerLinkLen: f32

linkLengthZ: f32

ActorState

struct ActorState source
Fields

curPos: Vec3f

goalPos: Vec3f

velStep: Vec3f

acceleration: f32

speed: f32

vel: f32

angle: f32

dist: f32

bounceDivisor: f32

animJumpRise: s32

animJumpFall: s32

animJumpLand: s32

moveTime: s16

moveArcAmplitude: s16

jumpPartIndex: u8

functionTemp: s32 [4];

functionTempF: f32 [4];

functionTempPtr: void* [4];

varTable: s32 [16];

varTableF: f32 [16];

varTablePtr: void* [16];

Actor

struct Actor source
Fields

flags: s32

flags2: s32

actorBlueprint: structActorBlueprint*

state: ActorState

fly: ActorMovement

ordinal: u8

footStepCounter: u8

actorType: u8

homePos: Vec3f

curPos: Vec3f

headOffset: Vec3s

healthBarPos: Vec3s

rot: Vec3f

rotPivotOffset: Vec3s

scale: Vec3f

scaleModifier: Vec3f

scalingFactor: f32

yaw: f32

size: Vec2bu

actorID: s16

statusIconOffset: Vec2b

statusTextOffset: Vec2b

healthBarOffset: Vec2b

verticalRenderOffset: s8

actorTypeData1: s32 [6];

actorTypeData1b: s16 [2];

curHP: s16

maxHP: s16

healthFraction: s8

idleSource: EvtScript*

takeTurnSource: EvtScript*

handleEventSource: EvtScript*

handlePhaseSource: EvtScript*

idleScript: structEvt*

takeTurnScript: structEvt*

handleEventScript: structEvt*

handlePhaseScript: structEvt*

idleScriptID: s32

takeTurnScriptID: s32

handleEventScriptID: s32

handlePhaseScriptID: s32

lastEventType: s8

turnPriority: s8

enemyIndex: s8

numParts: s8

partsTable: structActorPart*

lastDamageTaken: s16

hpChangeCounter: s16

damageCounter: s16

attackResultEffect: structEffectInstance*

actionRatingCombo: s8

actionRatingTime: s8

healthBarHideTime: s8

extraCoinBonus: s8

instigatorValue: s8

statusTable: s32*

debuff: s8

debuffDuration: s8

staticStatus: s8

staticDuration: s8

stoneStatus: s8

stoneDuration: s8

koStatus: s8

koDuration: s8

transparentStatus: s8

transparentDuration: s8

statusAfflicted: s8

disableDismissTimer: s8

isGlowing: s8

attackBoost: s8

defenseBoost: s8

chillOutAmount: s8

chillOutTurns: s8

icePillarEffect: structEffectInstance*

targetData: structSelectableTarget [24];

targetListLength: s8

targetIndexList: s8 [24];

selectedTargetIndex: s8

targetPartID: s8

targetActorID: s16

shadow: union { ... }

shadowScale: f32

renderMode: s16

hudElementDataIndex: s16

loopingSoundID: s32 [2];

disableEffect: structEffectInstance*

BackgroundHeader

struct BackgroundHeader source
Fields

raster: u8*

palette: u16*

startX: u16

startY: u16

width: u16

height: u16

FontData

struct FontData source

SlideParams

struct SlideParams source
Fields

heading: f32

maxDescendAccel: f32

launchVel: f32

maxDescendVel: f32

integrator: f32 [4];

PlayerStatus

struct PlayerStatus source
Fields

flags: s32

animFlags: u32

curStateTime: s16

shiverTime: s8

peachDisguise: s8

availableDisguiseType: s8set in main map scripts

curAlpha: u8

prevAlpha: u8

blinkTimer: s16

moveFrames: s16

enableCollisionOverlapsCheck: s8

inputDisabledCount: s8

lastGoodPos: Vec3s

pushVel: Vec3f

pos: Vec3f

groundAnglesXZ: Vec2f

jumpFromPos: VecXZf

landPos: VecXZf

jumpFromHeight: f32

jumpApexHeight: f32

curSpeed: f32

walkSpeed: f32

runSpeed: f32

overlapPushAmount: f32

groundNormalPitch: f32

maxJumpSpeed: f32

gravityIntegrator: f32 [4];

targetYaw: f32

curYaw: f32

overlapPushYaw: f32

pitch: f32

flipYaw: f32 [4];

heading: f32

trueAnimation: u32Encoding back-facing sprite

spriteFacingAngle: f32

colliderHeight: s16

colliderDiameter: s16

actionState: s8

prevActionState: s8

actionSubstate: s8

anim: u32

animNotifyValue: u16

renderMode: s8

hazardType: s8

timeInAir: s16

peakJumpTime: s16

peachItemHeld: s8

camResetDelay: s8

interactingWithID: s16

encounteredNPC: Npc*

shadowID: s32

slideParams: SlideParams*

spinRate: f32

specialDecorationEffect: structEffectInstance*

curButtons: s32

pressedButtons: s32

heldButtons: s32

stickAxis: s32 [2];

curButtonsBuffer: s32 [10];

pressedButtonsBuffer: s32 [10];

heldButtonsBuffer: s32 [10];

stickXBuffer: s32 [10];

stickYBuffer: s32 [10];

inputBufPos: s32

poundImpactDelay: s8

Path

struct Path source
Fields

numVectors: s32

lengths: f32*

staticVectorList: Vec3f*

vectors: Vec3f*

timeElapsed: s32

timeLeft: s32

easingType: s32

PauseItemPage

struct PauseItemPage source
Fields

enabled: u8

listStart: u8

numCols: u8

numRows: u8

startIndex: s32

count: s32

PauseMapSpace

struct PauseMapSpace source
Fields

pos: Vec2s

parent: u8

pathLength: u8

path: Vec2b*

afterRequirement: s32

id: s32

struct MenuPanel source
Fields

initialized: s8

col: s8

row: s8

selected: u8

state: s8

numCols: s8

numRows: s8

numPages: s8

gridData: u8*

fpInit: void (*)(struct MenuPanel *)

fpHandleInput: void (*)(struct MenuPanel *)

fpUpdate: void (*)(struct MenuPanel *)

fpCleanup: void (*)(struct MenuPanel *)

WindowBackground

struct WindowBackground source
Fields

imgData: u8*

fmt: u8

bitDepth: u8

width: u8

height: u8

size: s8

WindowCorners

struct WindowCorners source
Fields

imgData: u8*

fmt: u8

bitDepth: u8

size1: Vec2bu

size2: Vec2bu

size3: Vec2bu

size4: Vec2bu

WindowStyleCustom

struct WindowStyleCustom source
Fields

background: WindowBackground

corners: WindowCorners

opaqueCombineMode: Gfx

transparentCombineMode: Gfx

color1: Color_RGBA8

color2: Color_RGBA8

WindowStyle

WindowStyle source

defaultStyleID

customStyle

WindowUpdateFunc

WindowUpdateFunc source

i

func

struct MenuWindowBP source
Fields

windowID: s8

pos: Vec2s

width: s16

height: s16

priority: u8

fpDrawContents: void (*)(struct MenuPanel *, int, int, int, int, int, int)

tab: MenuPanel*

parentID: s8

fpUpdate: WindowUpdateFunc

extraFlags: u8

style: WindowStyle

Window

struct Window source
Fields

flags: u8

priority: u8

originalPriority: u8

parent: s8

fpUpdate: WindowUpdateFunc

fpPending: WindowUpdateFunc

pos: Vec2s

width: s16

height: s16

fpDrawContents: void (*)(void)

drawContentsArg0: void*

updateCounter: u8

DisplayContext

struct DisplayContext source
Fields

lookAt: LookAt

hilite: Hilite

camPerspMatrix: Mtx [8];

mainGfx: Gfx [8320];

backgroundGfx: Gfx [512];

matrixStack: Mtx [512];

PlayerSpinState

struct PlayerSpinState source
Fields

stopSoundTimer: s8

hasBufferedSpin: s8

hitWallTime: s8

spinCountdown: s8

prevActionState: s32

bufferedStickAxis: Vec2i

spinDirectionMagnitude: f32

spinDirection: Vec2f

inputMagnitude: f32

spinRate: f32

speedScale: f32

frictionScale: f32

initialSpinTime: s16

fullSpeedSpinTime: s16

spinSoundID: s32

TweesterPhysics

struct TweesterPhysics source
Fields

countdown: s32

state: s32

prevFlags: s32Partner npc flags before contact with Tweester

radius: f32

angle: f32

angularVel: f32

liftoffVelPhase: f32

PartnerStatus

struct PartnerStatus source
Fields

partnerActionState: s8

shouldResumeAbility: s8

partnerAction_unk_2: s8

actingPartner: s8

stickX: s16

stickY: s16

curButtons: s32

pressedButtons: s32

heldButtons: s32

inputDisabledCount: s8

npc: Npc

SpriteRasterInfo

struct SpriteRasterInfo source
Fields

raster: u8*

defaultPal: u16*

width: s32

height: s32

KnockdownData

struct KnockdownData source
Fields

imgfxIdx: s32

workerID: s32

spriteIndex: s32

rasterIndex: s32

pos: Vec3f

rot: Vec3f

scale: Vec3f

width: f32

height: f32

VirtualEntity

struct VirtualEntity source
Fields

entityModelIndex: s32

pos: Vec3f

rot: Vec3f

scale: Vec3f

goalPos: Vec3f

moveDist: f32

moveAngle: f32

moveSpeed: f32

jumpGravity: f32

jumpVel: f32

moveTime: f32

VirtualEntityList

typedef VirtualEntityList source

PopupMessageCallback

typedef PopupMessageCallback source

PopupMessage

struct PopupMessage source
Fields

updateFunc: PopupMessageCallback

renderWorldFunc: PopupMessageCallback

renderUIFunc: PopupMessageCallback

active: s16

messageIndex: s16

duration: s16

showMsgState: s8

needsInit: s8

data: union { ... }

HiddenPanelsData

struct HiddenPanelsData source
Fields

tryFlipTrigger: s8

panelsCount: u8

activateISpy: s8

flipTriggerPosY: f32

SpriteShadingLightSource

struct SpriteShadingLightSource source
Fields

flags: s8

rgb: Color_RGB8

pos: Vec3f

falloff: f32

SpriteShadingProfile

struct SpriteShadingProfile source
Fields

flags: u16

sources: SpriteShadingLightSource [7];

ambientColor: Color_RGB8

ambientPower: u8

ImgFXOverlayTexture

struct ImgFXOverlayTexture source
Fields

raster: u8*

palette: u16*

width: u16

height: u16

offsetX: s32

offsetY: s32

displayList: Gfx*

ImgFXTexture

struct ImgFXTexture source
Fields

raster: u8*

palette: u16*

width: u16

height: u16

xOffset: s16

yOffset: s16

alpha: u8

dlist: Gfx*

ImgFXWorkingTexture

struct ImgFXWorkingTexture source
Fields

tex: ImgFXTexture

alphaMultiplier: u8

SongUpdateEvent

struct SongUpdateEvent source
Fields

songName: s32

duration: s32

startVolume: s32

finalVolume: s32

variation: s32

unk14: s32

unk18: s32

unk1C: s32

MusicEventTrigger

typedef MusicEventTrigger source

MusicEvent

struct MusicEvent source
Fields

musicEventID: s32

scripts: EvtScript* [4];

ParadeNpcInfo

struct ParadeNpcInfo source
Fields

initialAnim: u32

animList: u32*

pos: Vec3f

yaw: f32

CreditsEntry

struct CreditsEntry source
Fields

msgID: s32

posX: s32

posY: s32

palette: s32

appearMode: s32

appearTime: s32

perCharDelayIn: s32

holdMode: s32

holdTime: s32

vanishMode: s32

vanishTime: s32

perCharDelayOut: s32

next: s32

flags: s16

CreditsLine

struct CreditsLine source
Fields

message: u8*

time: s32

state: s32

palette: s32

msgWidth: s32

appearMode: s32

appearTime: s32

perCharDelayIn: s32

holdMode: s32

holdTime: s32

vanishMode: s32

vanishTime: s32

perCharDelayOut: s32

posX: s32

posY: s32

flags: s16

CreditsChar

struct CreditsChar source
Fields

charIndex: s32

font: s32

variation: s32

palette: s32

posX: s32

posY: s32

fadeInTime: s32

CreditsData

struct CreditsData source
Fields

workerID: u32

lines: CreditsLine [32];

CreditsPairOffset

struct CreditsPairOffset source
Fields

firstChar: u8

secondChar: u8

offset: s16

PartnerDMAData

struct PartnerDMAData source
Fields

dmaStart: u32

dmaEnd: u32

dmaDest: void*

ActorBlueprint: structActorBlueprint*

y: s32

MsgVoice

struct MsgVoice source
Fields

voiceA: s32

voiceB: s32

pitchShift: s32

Rect

struct Rect source
Fields

ulx: s32

uly: s32

lrx: s32

lry: s32

LavaPiranhaVine

struct LavaPiranhaVine source
Fields

bonePos: Vec3f [9];

boneRot: f32 [9];

boneCount: s32

boneLength: f32

points: Vec3f [27];

numPoints: s32

SpeechBubbleData

struct SpeechBubbleData source
Fields

encounteredNPC: Npc*

pos: Vec3f

yaw: f32

scale: f32

holdTime: s32

state: u8

brightness: u8