Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/include/object_fields.h
7854 views
1
#ifndef OBJECT_FIELDS_H
2
#define OBJECT_FIELDS_H
3
4
/**
5
* The array [0x88, 0x1C8) in struct Object consists of fields that can vary by
6
* object type. These macros provide access to these fields.
7
*/
8
9
#ifdef OBJECT_FIELDS_INDEX_DIRECTLY
10
#define OBJECT_FIELD_U32(index) index
11
#define OBJECT_FIELD_S32(index) index
12
#define OBJECT_FIELD_S16(index, subIndex) index
13
#define OBJECT_FIELD_F32(index) index
14
#define OBJECT_FIELD_S16P(index) index
15
#define OBJECT_FIELD_S32P(index) index
16
#define OBJECT_FIELD_ANIMS(index) index
17
#define OBJECT_FIELD_WAYPOINT(index) index
18
#define OBJECT_FIELD_CHAIN_SEGMENT(index) index
19
#define OBJECT_FIELD_OBJ(index) index
20
#define OBJECT_FIELD_SURFACE(index) index
21
#define OBJECT_FIELD_VPTR(index) index
22
#define OBJECT_FIELD_CVPTR(index) index
23
#else
24
#define OBJECT_FIELD_U32(index) rawData.asU32[index]
25
#define OBJECT_FIELD_S32(index) rawData.asS32[index]
26
#define OBJECT_FIELD_S16(index, subIndex) rawData.asS16[index][subIndex]
27
#define OBJECT_FIELD_F32(index) rawData.asF32[index]
28
#if !IS_64_BIT
29
#define OBJECT_FIELD_S16P(index) rawData.asS16P[index]
30
#define OBJECT_FIELD_S32P(index) rawData.asS32P[index]
31
#define OBJECT_FIELD_ANIMS(index) rawData.asAnims[index]
32
#define OBJECT_FIELD_WAYPOINT(index) rawData.asWaypoint[index]
33
#define OBJECT_FIELD_CHAIN_SEGMENT(index) rawData.asChainSegment[index]
34
#define OBJECT_FIELD_OBJ(index) rawData.asObject[index]
35
#define OBJECT_FIELD_SURFACE(index) rawData.asSurface[index]
36
#define OBJECT_FIELD_VPTR(index) rawData.asVoidPtr[index]
37
#define OBJECT_FIELD_CVPTR(index) rawData.asConstVoidPtr[index]
38
#else
39
#define OBJECT_FIELD_S16P(index) ptrData.asS16P[index]
40
#define OBJECT_FIELD_S32P(index) ptrData.asS32P[index]
41
#define OBJECT_FIELD_ANIMS(index) ptrData.asAnims[index]
42
#define OBJECT_FIELD_WAYPOINT(index) ptrData.asWaypoint[index]
43
#define OBJECT_FIELD_CHAIN_SEGMENT(index) ptrData.asChainSegment[index]
44
#define OBJECT_FIELD_OBJ(index) ptrData.asObject[index]
45
#define OBJECT_FIELD_SURFACE(index) ptrData.asSurface[index]
46
#define OBJECT_FIELD_VPTR(index) ptrData.asVoidPtr[index]
47
#define OBJECT_FIELD_CVPTR(index) ptrData.asConstVoidPtr[index]
48
#endif
49
#endif
50
51
// 0x088 (0x00), the first field, is object-specific and defined below the common fields.
52
/* Common fields */
53
#define /*0x08C*/ oFlags OBJECT_FIELD_U32(0x01)
54
#define /*0x090*/ oDialogResponse OBJECT_FIELD_S16(0x02, 0)
55
#define /*0x092*/ oDialogState OBJECT_FIELD_S16(0x02, 1)
56
#define /*0x094*/ oUnk94 OBJECT_FIELD_U32(0x03)
57
// 0x98 unused/removed.
58
#define /*0x09C*/ oIntangibleTimer OBJECT_FIELD_S32(0x05)
59
#define /*0x0A0*/ O_POS_INDEX 0x06
60
#define /*0x0A0*/ oPosX OBJECT_FIELD_F32(O_POS_INDEX + 0)
61
#define /*0x0A4*/ oPosY OBJECT_FIELD_F32(O_POS_INDEX + 1)
62
#define /*0x0A8*/ oPosZ OBJECT_FIELD_F32(O_POS_INDEX + 2)
63
#define /*0x0AC*/ oVelX OBJECT_FIELD_F32(0x09)
64
#define /*0x0B0*/ oVelY OBJECT_FIELD_F32(0x0A)
65
#define /*0x0B4*/ oVelZ OBJECT_FIELD_F32(0x0B)
66
#define /*0x0B8*/ oForwardVel OBJECT_FIELD_F32(0x0C)
67
#define /*0x0B8*/ oForwardVelS32 OBJECT_FIELD_S32(0x0C)
68
#define /*0x0BC*/ oLeftVel OBJECT_FIELD_F32(0x0D)
69
#define /*0x0C0*/ oUpVel OBJECT_FIELD_F32(0x0E)
70
#define /*0x0C4*/ O_MOVE_ANGLE_INDEX 0x0F
71
#define /*0x0C4*/ O_MOVE_ANGLE_PITCH_INDEX (O_MOVE_ANGLE_INDEX + 0)
72
#define /*0x0C4*/ O_MOVE_ANGLE_YAW_INDEX (O_MOVE_ANGLE_INDEX + 1)
73
#define /*0x0C4*/ O_MOVE_ANGLE_ROLL_INDEX (O_MOVE_ANGLE_INDEX + 2)
74
#define /*0x0C4*/ oMoveAnglePitch OBJECT_FIELD_S32(O_MOVE_ANGLE_PITCH_INDEX)
75
#define /*0x0C8*/ oMoveAngleYaw OBJECT_FIELD_S32(O_MOVE_ANGLE_YAW_INDEX)
76
#define /*0x0CC*/ oMoveAngleRoll OBJECT_FIELD_S32(O_MOVE_ANGLE_ROLL_INDEX)
77
#define /*0x0D0*/ O_FACE_ANGLE_INDEX 0x12
78
#define /*0x0D0*/ O_FACE_ANGLE_PITCH_INDEX (O_FACE_ANGLE_INDEX + 0)
79
#define /*0x0D0*/ O_FACE_ANGLE_YAW_INDEX (O_FACE_ANGLE_INDEX + 1)
80
#define /*0x0D0*/ O_FACE_ANGLE_ROLL_INDEX (O_FACE_ANGLE_INDEX + 2)
81
#define /*0x0D0*/ oFaceAnglePitch OBJECT_FIELD_S32(O_FACE_ANGLE_PITCH_INDEX)
82
#define /*0x0D4*/ oFaceAngleYaw OBJECT_FIELD_S32(O_FACE_ANGLE_YAW_INDEX)
83
#define /*0x0D8*/ oFaceAngleRoll OBJECT_FIELD_S32(O_FACE_ANGLE_ROLL_INDEX)
84
#define /*0x0DC*/ oGraphYOffset OBJECT_FIELD_F32(0x15)
85
#define /*0x0E0*/ oActiveParticleFlags OBJECT_FIELD_U32(0x16)
86
#define /*0x0E4*/ oGravity OBJECT_FIELD_F32(0x17)
87
#define /*0x0E8*/ oFloorHeight OBJECT_FIELD_F32(0x18)
88
#define /*0x0EC*/ oMoveFlags OBJECT_FIELD_U32(0x19)
89
#define /*0x0F0*/ oAnimState OBJECT_FIELD_S32(0x1A)
90
// 0x0F4-0x110 (0x1B-0x22) are object specific and defined below the common fields.
91
#define /*0x114*/ oAngleVelPitch OBJECT_FIELD_S32(0x23)
92
#define /*0x118*/ oAngleVelYaw OBJECT_FIELD_S32(0x24)
93
#define /*0x11C*/ oAngleVelRoll OBJECT_FIELD_S32(0x25)
94
#define /*0x120*/ oAnimations OBJECT_FIELD_ANIMS(0x26)
95
#define /*0x124*/ oHeldState OBJECT_FIELD_U32(0x27)
96
#define /*0x128*/ oWallHitboxRadius OBJECT_FIELD_F32(0x28)
97
#define /*0x12C*/ oDragStrength OBJECT_FIELD_F32(0x29)
98
#define /*0x130*/ oInteractType OBJECT_FIELD_U32(0x2A)
99
#define /*0x134*/ oInteractStatus OBJECT_FIELD_S32(0x2B)
100
#define /*0x138*/ O_PARENT_RELATIVE_POS_INDEX 0x2C
101
#define /*0x138*/ oParentRelativePosX OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_INDEX + 0)
102
#define /*0x13C*/ oParentRelativePosY OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_INDEX + 1)
103
#define /*0x140*/ oParentRelativePosZ OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_INDEX + 2)
104
#define /*0x144*/ oBehParams2ndByte OBJECT_FIELD_S32(0x2F)
105
// 0x148 unused, possibly a third param byte.
106
#define /*0x14C*/ oAction OBJECT_FIELD_S32(0x31)
107
#define /*0x150*/ oSubAction OBJECT_FIELD_S32(0x32)
108
#define /*0x154*/ oTimer OBJECT_FIELD_S32(0x33)
109
#define /*0x158*/ oBounciness OBJECT_FIELD_F32(0x34)
110
#define /*0x15C*/ oDistanceToMario OBJECT_FIELD_F32(0x35)
111
#define /*0x160*/ oAngleToMario OBJECT_FIELD_S32(0x36)
112
#define /*0x164*/ oHomeX OBJECT_FIELD_F32(0x37)
113
#define /*0x168*/ oHomeY OBJECT_FIELD_F32(0x38)
114
#define /*0x16C*/ oHomeZ OBJECT_FIELD_F32(0x39)
115
#define /*0x170*/ oFriction OBJECT_FIELD_F32(0x3A)
116
#define /*0x174*/ oBuoyancy OBJECT_FIELD_F32(0x3B)
117
#define /*0x178*/ oSoundStateID OBJECT_FIELD_S32(0x3C)
118
#define /*0x17C*/ oOpacity OBJECT_FIELD_S32(0x3D)
119
#define /*0x180*/ oDamageOrCoinValue OBJECT_FIELD_S32(0x3E)
120
#define /*0x184*/ oHealth OBJECT_FIELD_S32(0x3F)
121
#define /*0x188*/ oBehParams OBJECT_FIELD_S32(0x40)
122
#define /*0x18C*/ oPrevAction OBJECT_FIELD_S32(0x41)
123
#define /*0x190*/ oInteractionSubtype OBJECT_FIELD_U32(0x42)
124
#define /*0x194*/ oCollisionDistance OBJECT_FIELD_F32(0x43)
125
#define /*0x198*/ oNumLootCoins OBJECT_FIELD_S32(0x44)
126
#define /*0x19C*/ oDrawingDistance OBJECT_FIELD_F32(0x45)
127
#define /*0x1A0*/ oRoom OBJECT_FIELD_S32(0x46)
128
// 0x1A4 is unused, possibly related to 0x1A8 in removed macro purposes.
129
#define /*0x1A8*/ oUnk1A8 OBJECT_FIELD_U32(0x48)
130
// 0x1AC-0x1B2 (0x48-0x4A) are object specific and defined below the common fields.
131
#define /*0x1B4*/ oWallAngle OBJECT_FIELD_S32(0x4B)
132
#define /*0x1B8*/ oFloorType OBJECT_FIELD_S16(0x4C, 0)
133
#define /*0x1BA*/ oFloorRoom OBJECT_FIELD_S16(0x4C, 1)
134
#define /*0x1BC*/ oAngleToHome OBJECT_FIELD_S32(0x4D)
135
#define /*0x1C0*/ oFloor OBJECT_FIELD_SURFACE(0x4E)
136
#define /*0x1C4*/ oDeathSound OBJECT_FIELD_S32(0x4F)
137
138
/* Pathed (see obj_follow_path) */
139
#define /*0x0FC*/ oPathedStartWaypoint OBJECT_FIELD_WAYPOINT(0x1D)
140
#define /*0x100*/ oPathedPrevWaypoint OBJECT_FIELD_WAYPOINT(0x1E)
141
#define /*0x104*/ oPathedPrevWaypointFlags OBJECT_FIELD_S32(0x1F)
142
#define /*0x108*/ oPathedTargetPitch OBJECT_FIELD_S32(0x20)
143
#define /*0x10C*/ oPathedTargetYaw OBJECT_FIELD_S32(0x21)
144
145
/* Special Object Macro */
146
#define /*0x108*/ oMacroUnk108 OBJECT_FIELD_F32(0x20)
147
#define /*0x10C*/ oMacroUnk10C OBJECT_FIELD_F32(0x21)
148
#define /*0x110*/ oMacroUnk110 OBJECT_FIELD_F32(0x22)
149
150
/* Mario */
151
#define /*0x0F4*/ oMarioParticleFlags OBJECT_FIELD_S32(0x1B)
152
#define /*0x108*/ oMarioPoleUnk108 OBJECT_FIELD_S32(0x20)
153
#define /*0x108*/ oMarioReadingSignDYaw OBJECT_FIELD_S32(0x20)
154
#define /*0x10C*/ oMarioPoleYawVel OBJECT_FIELD_S32(0x21)
155
#define /*0x10C*/ oMarioCannonObjectYaw OBJECT_FIELD_S32(0x21)
156
#define /*0x10C*/ oMarioTornadoYawVel OBJECT_FIELD_S32(0x21)
157
#define /*0x10C*/ oMarioReadingSignDPosX OBJECT_FIELD_F32(0x21)
158
#define /*0x110*/ oMarioPolePos OBJECT_FIELD_F32(0x22)
159
#define /*0x110*/ oMarioCannonInputYaw OBJECT_FIELD_S32(0x22)
160
#define /*0x110*/ oMarioTornadoPosY OBJECT_FIELD_F32(0x22)
161
#define /*0x110*/ oMarioReadingSignDPosZ OBJECT_FIELD_F32(0x22)
162
#define /*0x110*/ oMarioWhirlpoolPosY OBJECT_FIELD_F32(0x22)
163
#define /*0x110*/ oMarioBurnTimer OBJECT_FIELD_S32(0x22)
164
#define /*0x110*/ oMarioLongJumpIsSlow OBJECT_FIELD_S32(0x22)
165
#define /*0x110*/ oMarioSteepJumpYaw OBJECT_FIELD_S32(0x22)
166
#define /*0x110*/ oMarioWalkingPitch OBJECT_FIELD_S32(0x22)
167
168
/* 1-Up Hidden */
169
#define /*0x0F4*/ o1UpHiddenUnkF4 OBJECT_FIELD_S32(0x1B)
170
171
/* Activated Back and Forth Platform */
172
#define /*0x0F4*/ oActivatedBackAndForthPlatformMaxOffset OBJECT_FIELD_F32(0x1B)
173
#define /*0x0F8*/ oActivatedBackAndForthPlatformOffset OBJECT_FIELD_F32(0x1C)
174
#define /*0x0FC*/ oActivatedBackAndForthPlatformVel OBJECT_FIELD_F32(0x1D)
175
#define /*0x100*/ oActivatedBackAndForthPlatformCountdown OBJECT_FIELD_S32(0x1E)
176
#define /*0x104*/ oActivatedBackAndForthPlatformStartYaw OBJECT_FIELD_S32(0x1F)
177
#define /*0x108*/ oActivatedBackAndForthPlatformVertical OBJECT_FIELD_S32(0x20)
178
#define /*0x10C*/ oActivatedBackAndForthPlatformFlipRotation OBJECT_FIELD_S32(0x21)
179
180
/* Amp */
181
#define /*0x0F4*/ oAmpRadiusOfRotation OBJECT_FIELD_F32(0x1B)
182
#define /*0x0F8*/ oAmpYPhase OBJECT_FIELD_S32(0x1C)
183
184
/* Homing Amp */
185
#define /*0x0F4*/ oHomingAmpLockedOn OBJECT_FIELD_S32(0x1B)
186
#define /*0x0FC*/ oHomingAmpAvgY OBJECT_FIELD_F32(0x1D)
187
188
/* Arrow Lift */
189
#define /*0x0F4*/ oArrowLiftDisplacement OBJECT_FIELD_F32(0x1B)
190
#define /*0x100*/ oArrowLiftUnk100 OBJECT_FIELD_S32(0x1E)
191
192
/* Back-and-Forth Platform */
193
#define /*0x0F4*/ oBackAndForthPlatformDirection OBJECT_FIELD_F32(0x1B)
194
#define /*0x0F8*/ oBackAndForthPlatformPathLength OBJECT_FIELD_F32(0x1C)
195
#define /*0x0FC*/ oBackAndForthPlatformDistance OBJECT_FIELD_F32(0x1D)
196
#define /*0x100*/ oBackAndForthPlatformVel OBJECT_FIELD_F32(0x1E)
197
198
/* Bird */
199
#define /*0x0F4*/ oBirdSpeed OBJECT_FIELD_F32(0x1B)
200
#define /*0x0F8*/ oBirdTargetPitch OBJECT_FIELD_S32(0x1C)
201
#define /*0x0FC*/ oBirdTargetYaw OBJECT_FIELD_S32(0x1D)
202
203
/* Bird Chirp Chirp */
204
#define /*0x0F4*/ oBirdChirpChirpUnkF4 OBJECT_FIELD_S32(0x1B)
205
206
/* End Birds */
207
#define /*0x104*/ oEndBirdUnk104 OBJECT_FIELD_F32(0x1F)
208
209
/* Hidden Blue Coin */
210
#define /*0x0F8*/ oHiddenBlueCoinSwitch OBJECT_FIELD_OBJ(0x1C)
211
212
/* Bob-omb */
213
#define /*0x0F4*/ oBobombBlinkTimer OBJECT_FIELD_S32(0x1B)
214
#define /*0x0F8*/ oBobombFuseLit OBJECT_FIELD_S32(0x1C)
215
#define /*0x0FC*/ oBobombFuseTimer OBJECT_FIELD_S32(0x1D)
216
217
/* Bob-omb Buddy */
218
#define /*0x0F4*/ oBobombBuddyBlinkTimer OBJECT_FIELD_S32(0x1B)
219
#define /*0x0F8*/ oBobombBuddyHasTalkedToMario OBJECT_FIELD_S32(0x1C)
220
#define /*0x0FC*/ oBobombBuddyRole OBJECT_FIELD_S32(0x1D)
221
#define /*0x100*/ oBobombBuddyCannonStatus OBJECT_FIELD_S32(0x1E)
222
#define /*0x108*/ oBobombBuddyPosXCopy OBJECT_FIELD_F32(0x20)
223
#define /*0x10C*/ oBobombBuddyPosYCopy OBJECT_FIELD_F32(0x21)
224
#define /*0x110*/ oBobombBuddyPosZCopy OBJECT_FIELD_F32(0x22)
225
226
/* Bob-omb Explosion Bubble */
227
#define /*0x0FC*/ oBobombExpBubGfxScaleFacX OBJECT_FIELD_S32(0x1D)
228
#define /*0x100*/ oBobombExpBubGfxScaleFacY OBJECT_FIELD_S32(0x1E)
229
#define /*0x104*/ oBobombExpBubGfxExpRateX OBJECT_FIELD_S32(0x1F)
230
#define /*0x108*/ oBobombExpBubGfxExpRateY OBJECT_FIELD_S32(0x20)
231
232
/* Bomp (Small) */
233
#define /*0x100*/ oSmallBompInitX OBJECT_FIELD_F32(0x1E)
234
235
/* Boo */
236
#define /*0x088*/ oBooDeathStatus OBJECT_FIELD_S32(0x00)
237
#define /*0x0F4*/ oBooTargetOpacity OBJECT_FIELD_S32(0x1B)
238
#define /*0x0F8*/ oBooBaseScale OBJECT_FIELD_F32(0x1C)
239
#define /*0x0FC*/ oBooOscillationTimer OBJECT_FIELD_S32(0x1D)
240
#define /*0x100*/ oBooMoveYawDuringHit OBJECT_FIELD_S32(0x1E)
241
#define /*0x104*/ oBooMoveYawBeforeHit OBJECT_FIELD_F32(0x1F)
242
#define /*0x108*/ oBooParentBigBoo OBJECT_FIELD_OBJ(0x20)
243
#define /*0x10C*/ oBooNegatedAggressiveness OBJECT_FIELD_F32(0x21)
244
#define /*0x110*/ oBooInitialMoveYaw OBJECT_FIELD_S32(0x22)
245
#define /*0x1B0*/ oBooTurningSpeed OBJECT_FIELD_S16(0x4A, 0)
246
247
/* Big Boo */
248
#define /*0x1AC*/ oBigBooNumMinionBoosKilled OBJECT_FIELD_S32(0x49)
249
250
/* Bookend */
251
#define /*0x0F4*/ oBookendUnkF4 OBJECT_FIELD_S32(0x1B)
252
#define /*0x0F8*/ oBookendUnkF8 OBJECT_FIELD_S32(0x1C)
253
254
/* Book Switch */
255
#define /*0x0F4*/ oBookSwitchUnkF4 OBJECT_FIELD_F32(0x1B)
256
257
/* Book Switch Manager */
258
#define /*0x0F4*/ oBookSwitchManagerUnkF4 OBJECT_FIELD_S32(0x1B)
259
#define /*0x0F8*/ oBookSwitchManagerUnkF8 OBJECT_FIELD_S32(0x1C)
260
261
/* Haunted Bookshelf */
262
#define /*0x088*/ oHauntedBookshelfShouldOpen OBJECT_FIELD_S32(0x00)
263
264
/* Bouncing FireBall */
265
#define /*0x0F4*/ oBouncingFireBallUnkF4 OBJECT_FIELD_S32(0x1B)
266
267
/* Bowling Ball */
268
#define /*0x0F4*/ oBowlingBallTargetYaw OBJECT_FIELD_S32(0x1B)
269
// 0x1D-0x21 reserved for pathing
270
271
/* Bowling Ball Spawner (Generic) */
272
#define /*0x0F4*/ oBBallSpawnerMaxSpawnDist OBJECT_FIELD_F32(0x1B)
273
#define /*0x0F8*/ oBBallSpawnerSpawnOdds OBJECT_FIELD_F32(0x1C)
274
#define /*0x0FC*/ oBBallSpawnerPeriodMinus1 OBJECT_FIELD_S32(0x1D)
275
276
/* Bowser */
277
#define /*0x088*/ oBowserCamAct OBJECT_FIELD_S32(0x00)
278
#define /*0x0F4*/ oBowserStatus OBJECT_FIELD_S32(0x1B)
279
#define /*0x0F8*/ oBowserTimer OBJECT_FIELD_S32(0x1C)
280
#define /*0x0FC*/ oBowserDistToCentre OBJECT_FIELD_F32(0x1D)
281
#define /*0x106*/ oBowserBitsJustJump OBJECT_FIELD_S16(0x1F, 1)
282
#define /*0x108*/ oBowserRandSplitFloor OBJECT_FIELD_S16(0x20, 0)
283
#define /*0x10A*/ oBowserHeldAnglePitch OBJECT_FIELD_S16(0x20, 1)
284
#define /*0x10D*/ oBowserHeldAngleVelYaw OBJECT_FIELD_S16(0x21, 0)
285
#define /*0x10E*/ oBowserGrabbedStatus OBJECT_FIELD_S16(0x21, 1)
286
#define /*0x110*/ oBowserIsReacting OBJECT_FIELD_S16(0x22, 0)
287
#define /*0x112*/ oBowserAngleToCentre OBJECT_FIELD_S16(0x22, 1)
288
#define /*0x1AC*/ oBowserTargetOpacity OBJECT_FIELD_S16(0x49, 0)
289
#define /*0x1AE*/ oBowserEyesTimer OBJECT_FIELD_S16(0x49, 1)
290
#define /*0x1B0*/ oBowserEyesShut OBJECT_FIELD_S16(0x4A, 0)
291
#define /*0x1B2*/ oBowserRainbowLight OBJECT_FIELD_S16(0x4A, 1)
292
293
/* Bowser Shockwave */
294
#define /*0x0F4*/ oBowserShockWaveScale OBJECT_FIELD_F32(0x1B)
295
296
/* Black Smoke Bowser */
297
#define /*0x0F4*/ oBlackSmokeBowserUnkF4 OBJECT_FIELD_F32(0x1B)
298
299
/* Bowser Key Cutscene */
300
#define /*0x0F4*/ oBowserKeyScale OBJECT_FIELD_F32(0x1B)
301
302
/* Bowser Puzzle */
303
#define /*0x0F4*/ oBowserPuzzleCompletionFlags OBJECT_FIELD_S32(0x1B)
304
305
/* Bowser Puzzle Piece */
306
#define /*0x0FC*/ oBowserPuzzlePieceOffsetX OBJECT_FIELD_F32(0x1D)
307
#define /*0x100*/ oBowserPuzzlePieceOffsetY OBJECT_FIELD_F32(0x1E)
308
#define /*0x104*/ oBowserPuzzlePieceOffsetZ OBJECT_FIELD_F32(0x1F)
309
#define /*0x108*/ oBowserPuzzlePieceContinuePerformingAction OBJECT_FIELD_S32(0x20)
310
#define /*0x10C*/ oBowserPuzzlePieceActionList OBJECT_FIELD_VPTR(0x21)
311
#define /*0x110*/ oBowserPuzzlePieceNextAction OBJECT_FIELD_VPTR(0x22)
312
313
/* Bubba */
314
#define /*0x0F4*/ oBubbaUnkF4 OBJECT_FIELD_F32(0x1B)
315
#define /*0x0F8*/ oBubbaUnkF8 OBJECT_FIELD_S32(0x1C)
316
#define /*0x0FC*/ oBubbaUnkFC OBJECT_FIELD_S32(0x1D)
317
#define /*0x100*/ oBubbaUnk100 OBJECT_FIELD_S32(0x1E)
318
#define /*0x104*/ oBubbaUnk104 OBJECT_FIELD_S32(0x1F)
319
#define /*0x108*/ oBubbaUnk108 OBJECT_FIELD_F32(0x20)
320
#define /*0x10C*/ oBubbaUnk10C OBJECT_FIELD_F32(0x21)
321
#define /*0x1AC*/ oBubbaUnk1AC OBJECT_FIELD_S16(0x49, 0)
322
#define /*0x1AE*/ oBubbaUnk1AE OBJECT_FIELD_S16(0x49, + 1)
323
#define /*0x1B0*/ oBubbaUnk1B0 OBJECT_FIELD_S16(0x4A, 0)
324
#define /*0x1B2*/ oBubbaUnk1B2 OBJECT_FIELD_S16(0x4A, + 1)
325
326
/* Bullet Bill */
327
#define /*0x0F8*/ oBulletBillInitialMoveYaw OBJECT_FIELD_S32(0x1C)
328
329
/* Bully (all variants) */
330
#define /*0x0F4*/ oBullySubtype OBJECT_FIELD_S32(0x1B)
331
#define /*0x0F8*/ oBullyPrevX OBJECT_FIELD_F32(0x1C)
332
#define /*0x0FC*/ oBullyPrevY OBJECT_FIELD_F32(0x1D)
333
#define /*0x100*/ oBullyPrevZ OBJECT_FIELD_F32(0x1E)
334
#define /*0x104*/ oBullyKBTimerAndMinionKOCounter OBJECT_FIELD_S32(0x1F)
335
#define /*0x108*/ oBullyMarioCollisionAngle OBJECT_FIELD_S32(0x20)
336
337
/* Butterfly */
338
#define /*0x0F4*/ oButterflyYPhase OBJECT_FIELD_S32(0x1B)
339
340
/* Triplet Butterfly */
341
#define /*0x0F4*/ oTripletButterflyScale OBJECT_FIELD_F32(0x1B)
342
#define /*0x0F8*/ oTripletButterflySpeed OBJECT_FIELD_F32(0x1C)
343
#define /*0x0FC*/ oTripletButterflyBaseYaw OBJECT_FIELD_F32(0x1D)
344
#define /*0x100*/ oTripletButterflyTargetPitch OBJECT_FIELD_S32(0x1E)
345
#define /*0x104*/ oTripletButterflyTargetYaw OBJECT_FIELD_S32(0x1F)
346
#define /*0x108*/ oTripletButterflyType OBJECT_FIELD_S32(0x20)
347
#define /*0x10C*/ oTripletButterflyModel OBJECT_FIELD_S32(0x21)
348
#define /*0x110*/ oTripletButterflySelectedButterfly OBJECT_FIELD_S32(0x22)
349
#define /*0x1AC*/ oTripletButterflyScalePhase OBJECT_FIELD_S32(0x49)
350
351
/* Cannon */
352
#define /*0x0F4*/ oCannonUnkF4 OBJECT_FIELD_S32(0x1B)
353
#define /*0x0F8*/ oCannonUnkF8 OBJECT_FIELD_S32(0x1C)
354
#define /*0x10C*/ oCannonUnk10C OBJECT_FIELD_S32(0x21)
355
356
/* Cap */
357
#define /*0x0F4*/ oCapUnkF4 OBJECT_FIELD_S32(0x1B)
358
#define /*0x0F8*/ oCapUnkF8 OBJECT_FIELD_S32(0x1C)
359
360
/* Chain Chomp */
361
#define /*0x0F4*/ oChainChompSegments OBJECT_FIELD_CHAIN_SEGMENT(0x1B)
362
#define /*0x0F8*/ oChainChompMaxDistFromPivotPerChainPart OBJECT_FIELD_F32(0x1C)
363
#define /*0x0FC*/ oChainChompMaxDistBetweenChainParts OBJECT_FIELD_F32(0x1D)
364
#define /*0x100*/ oChainChompDistToPivot OBJECT_FIELD_F32(0x1E)
365
#define /*0x104*/ oChainChompUnk104 OBJECT_FIELD_F32(0x1F)
366
#define /*0x108*/ oChainChompRestrictedByChain OBJECT_FIELD_S32(0x20)
367
#define /*0x10C*/ oChainChompTargetPitch OBJECT_FIELD_S32(0x21)
368
#define /*0x110*/ oChainChompNumLunges OBJECT_FIELD_S32(0x22)
369
#define /*0x1AC*/ oChainChompReleaseStatus OBJECT_FIELD_S32(0x49)
370
#define /*0x1B0*/ oChainChompHitGate OBJECT_FIELD_S32(0x4A)
371
372
/* Checkerboard Platform */
373
#define /*0x0F8*/ oCheckerBoardPlatformUnkF8 OBJECT_FIELD_S32(0x1C) // oAction like
374
#define /*0x0FC*/ oCheckerBoardPlatformUnkFC OBJECT_FIELD_S32(0x1D)
375
#define /*0x1AC*/ oCheckerBoardPlatformUnk1AC OBJECT_FIELD_F32(0x49)
376
377
/* Cheep Cheep */
378
#define /*0x0F4*/ oCheepCheepUnkF4 OBJECT_FIELD_F32(0x1B)
379
#define /*0x0F8*/ oCheepCheepUnkF8 OBJECT_FIELD_F32(0x1C)
380
#define /*0x0FC*/ oCheepCheepUnkFC OBJECT_FIELD_F32(0x1D)
381
#define /*0x104*/ oCheepCheepUnk104 OBJECT_FIELD_F32(0x1F)
382
#define /*0x108*/ oCheepCheepUnk108 OBJECT_FIELD_F32(0x20)
383
384
/* Chuckya */
385
#define /*0x088*/ oChuckyaUnk88 OBJECT_FIELD_S32(0x00)
386
#define /*0x0F8*/ oChuckyaUnkF8 OBJECT_FIELD_S32(0x1C)
387
#define /*0x0FC*/ oChuckyaUnkFC OBJECT_FIELD_S32(0x1D)
388
#define /*0x100*/ oChuckyaUnk100 OBJECT_FIELD_S32(0x1E)
389
390
/* Clam */
391
#define /*0x0F4*/ oClamUnkF4 OBJECT_FIELD_S32(0x1B)
392
393
/* Cloud */
394
#define /*0x0F4*/ oCloudCenterX OBJECT_FIELD_F32(0x1B)
395
#define /*0x0F8*/ oCloudCenterY OBJECT_FIELD_F32(0x1C)
396
#define /*0x0FC*/ oCloudBlowing OBJECT_FIELD_S32(0x1D)
397
#define /*0x100*/ oCloudGrowSpeed OBJECT_FIELD_F32(0x1E)
398
#define /*0x1AC*/ oCloudFwooshMovementRadius OBJECT_FIELD_S16(0x49, 0)
399
400
/* Coin */
401
#define /*0x0F4*/ oCoinUnkF4 OBJECT_FIELD_S32(0x1B)
402
#define /*0x0F8*/ oCoinUnkF8 OBJECT_FIELD_S32(0x1C)
403
#define /*0x110*/ oCoinUnk110 OBJECT_FIELD_F32(0x22)
404
#ifndef VERSION_JP
405
#define /*0x1B0*/ oCoinUnk1B0 OBJECT_FIELD_S32(0x4A)
406
#endif
407
408
/* Collision Particle */
409
#define /*0x0F4*/ oCollisionParticleUnkF4 OBJECT_FIELD_F32(0x1B)
410
411
/* Controllable Platform */
412
#define /*0x0F8*/ oControllablePlatformUnkF8 OBJECT_FIELD_S32(0x1C)
413
#define /*0x0FC*/ oControllablePlatformUnkFC OBJECT_FIELD_F32(0x1D)
414
#define /*0x100*/ oControllablePlatformUnk100 OBJECT_FIELD_S32(0x1E)
415
416
/* Breakable Box Small (Small Cork Box) */
417
#define /*0x0F4*/ oBreakableBoxSmallReleased OBJECT_FIELD_S32(0x1B)
418
#define /*0x0FC*/ oBreakableBoxSmallFramesSinceReleased OBJECT_FIELD_S32(0x1D)
419
420
/* Jumping Box (Crazy Box) */
421
#define /*0x0F4*/ oJumpingBoxUnkF4 OBJECT_FIELD_S32(0x1B)
422
#define /*0x0F8*/ oJumpingBoxUnkF8 OBJECT_FIELD_S32(0x1C)
423
424
/* RR Cruiser Wing */
425
#define /*0x0F4*/ oRRCruiserWingUnkF4 OBJECT_FIELD_S32(0x1B)
426
#define /*0x0F8*/ oRRCruiserWingUnkF8 OBJECT_FIELD_S32(0x1C)
427
428
/* Donut Platform Spawner */
429
#define /*0x0F4*/ oDonutPlatformSpawnerSpawnedPlatforms OBJECT_FIELD_S32(0x1B)
430
431
/* Door */
432
#define /*0x088*/ oDoorUnk88 OBJECT_FIELD_S32(0x00)
433
#define /*0x0F8*/ oDoorUnkF8 OBJECT_FIELD_S32(0x1C)
434
#define /*0x0FC*/ oDoorUnkFC OBJECT_FIELD_S32(0x1D)
435
#define /*0x100*/ oDoorUnk100 OBJECT_FIELD_S32(0x1E)
436
437
/* Dorrie */
438
#define /*0x0F4*/ oDorrieDistToHome OBJECT_FIELD_F32(0x1B)
439
#define /*0x0F8*/ oDorrieOffsetY OBJECT_FIELD_F32(0x1C)
440
#define /*0x0FC*/ oDorrieVelY OBJECT_FIELD_F32(0x1D)
441
#define /*0x100*/ oDorrieForwardDistToMario OBJECT_FIELD_F32(0x1E)
442
#define /*0x104*/ oDorrieYawVel OBJECT_FIELD_S32(0x1F)
443
#define /*0x10C*/ oDorrieLiftingMario OBJECT_FIELD_S32(0x21)
444
#define /*0x1AC*/ oDorrieGroundPounded OBJECT_FIELD_S16(0x49, 0)
445
#define /*0x1AE*/ oDorrieAngleToHome OBJECT_FIELD_S16(0x49, + 1)
446
#define /*0x1B0*/ oDorrieNeckAngle OBJECT_FIELD_S16(0x4A, 0)
447
#define /*0x1B2*/ oDorrieHeadRaiseSpeed OBJECT_FIELD_S16(0x4A, + 1)
448
449
/* Elevator */
450
#define /*0x0F4*/ oElevatorUnkF4 OBJECT_FIELD_F32(0x1B)
451
#define /*0x0F8*/ oElevatorUnkF8 OBJECT_FIELD_F32(0x1C)
452
#define /*0x0FC*/ oElevatorUnkFC OBJECT_FIELD_F32(0x1D)
453
#define /*0x100*/ oElevatorUnk100 OBJECT_FIELD_S32(0x1E)
454
455
/* Exclamation Box */
456
#define /*0x0F4*/ oExclamationBoxUnkF4 OBJECT_FIELD_F32(0x1B) // scale?
457
#define /*0x0F8*/ oExclamationBoxUnkF8 OBJECT_FIELD_F32(0x1C) // scale?
458
#define /*0x0FC*/ oExclamationBoxUnkFC OBJECT_FIELD_S32(0x1D) // angle?
459
460
/* Eyerok Boss */
461
#define /*0x0F8*/ oEyerokBossNumHands OBJECT_FIELD_S32(0x1C)
462
#define /*0x0FC*/ oEyerokBossUnkFC OBJECT_FIELD_S32(0x1D)
463
#define /*0x100*/ oEyerokBossActiveHand OBJECT_FIELD_S32(0x1E)
464
#define /*0x104*/ oEyerokBossUnk104 OBJECT_FIELD_S32(0x1F)
465
#define /*0x108*/ oEyerokBossUnk108 OBJECT_FIELD_F32(0x20)
466
#define /*0x10C*/ oEyerokBossUnk10C OBJECT_FIELD_F32(0x21)
467
#define /*0x110*/ oEyerokBossUnk110 OBJECT_FIELD_F32(0x22)
468
#define /*0x1AC*/ oEyerokBossUnk1AC OBJECT_FIELD_S32(0x49)
469
470
/* Eyerok Hand */
471
#define /*0x0F4*/ oEyerokHandWakeUpTimer OBJECT_FIELD_S32(0x1B)
472
#define /*0x0F8*/ oEyerokReceivedAttack OBJECT_FIELD_S32(0x1C)
473
#define /*0x0FC*/ oEyerokHandUnkFC OBJECT_FIELD_S32(0x1D)
474
#define /*0x100*/ oEyerokHandUnk100 OBJECT_FIELD_S32(0x1E)
475
476
/* Falling Pillar */
477
#define /*0x0F4*/ oFallingPillarPitchAcceleration OBJECT_FIELD_F32(0x1B)
478
479
/* Fire Spitter */
480
#define /*0x0F4*/ oFireSpitterScaleVel OBJECT_FIELD_F32(0x1B)
481
482
/* Blue Fish */
483
#define /*0x0F4*/ oBlueFishRandomVel OBJECT_FIELD_F32(0x1B)
484
#define /*0x0F8*/ oBlueFishRandomTime OBJECT_FIELD_S32(0x1C)
485
#define /*0x100*/ oBlueFishRandomAngle OBJECT_FIELD_F32(0x1E)
486
487
/* Fish Group */
488
#define /*0x0F4*/ oFishWaterLevel OBJECT_FIELD_F32(0x1B)
489
#define /*0x0F8*/ oFishGoalY OBJECT_FIELD_F32(0x1C)
490
#define /*0x0FC*/ oFishHeightOffset OBJECT_FIELD_F32(0x1D)
491
#define /*0x100*/ oFishYawVel OBJECT_FIELD_S32(0x1E)
492
#define /*0x104*/ oFishRoamDistance OBJECT_FIELD_F32(0x1F)
493
#define /*0x108*/ oFishGoalVel OBJECT_FIELD_F32(0x20)
494
#define /*0x10C*/ oFishDepthDistance OBJECT_FIELD_F32(0x21)
495
#define /*0x110*/ oFishActiveDistance OBJECT_FIELD_F32(0x22)
496
497
/* Flame */
498
#define /*0x0F4*/ oFlameScale OBJECT_FIELD_F32(0x1B)
499
#define /*0x0F8*/ oFlameSpeedTimerOffset OBJECT_FIELD_S32(0x1C)
500
#define /*0x0FC*/ oFlameUnusedRand OBJECT_FIELD_F32(0x1D)
501
#define /*0x100*/ oFlameBowser OBJECT_FIELD_OBJ(0x1E)
502
503
/* Blue Flame */
504
#define /*0x0F8*/ oBlueFlameNextScale OBJECT_FIELD_F32(0x1C)
505
506
/* Small Piranha Flame */
507
#define /*0x0F4*/ oSmallPiranhaFlameStartSpeed OBJECT_FIELD_F32(0x1B)
508
#define /*0x0F8*/ oSmallPiranhaFlameEndSpeed OBJECT_FIELD_F32(0x1C)
509
#define /*0x0FC*/ oSmallPiranhaFlameModel OBJECT_FIELD_S32(0x1D)
510
#define /*0x100*/ oSmallPiranhaFlameNextFlameTimer OBJECT_FIELD_S32(0x1E)
511
#define /*0x104*/ oSmallPiranhaFlameSpeed OBJECT_FIELD_F32(0x1F)
512
513
/* Moving Flame */
514
#define /*0x0F4*/ oMovingFlameTimer OBJECT_FIELD_S32(0x1B)
515
516
/* Flamethrower Flame */
517
#define /*0x110*/ oFlameThowerFlameUnk110 OBJECT_FIELD_S32(0x22)
518
519
/* Flamethrower */
520
#define /*0x110*/ oFlameThowerUnk110 OBJECT_FIELD_S32(0x22)
521
522
/* Floating Platform */
523
#define /*0x0F4*/ oFloatingPlatformUnkF4 OBJECT_FIELD_S32(0x1B)
524
#define /*0x0F8*/ oFloatingPlatformUnkF8 OBJECT_FIELD_F32(0x1C)
525
#define /*0x0FC*/ oFloatingPlatformUnkFC OBJECT_FIELD_F32(0x1D)
526
#define /*0x100*/ oFloatingPlatformUnk100 OBJECT_FIELD_S32(0x1E)
527
528
/* Floor Switch Press Animation */
529
#define /*0x0F4*/ oFloorSwitchPressAnimationUnkF4 OBJECT_FIELD_S32(0x1B)
530
#define /*0x0F8*/ oFloorSwitchPressAnimationUnkF8 OBJECT_FIELD_S32(0x1C)
531
#define /*0x0FC*/ oFloorSwitchPressAnimationUnkFC OBJECT_FIELD_S32(0x1D)
532
#define /*0x100*/ oFloorSwitchPressAnimationUnk100 OBJECT_FIELD_S32(0x1E)
533
534
/* Fly Guy */
535
#define /*0x0F4*/ oFlyGuyIdleTimer OBJECT_FIELD_S32(0x1B)
536
#define /*0x0F8*/ oFlyGuyOscTimer OBJECT_FIELD_S32(0x1C)
537
#define /*0x0FC*/ oFlyGuyUnusedJitter OBJECT_FIELD_S32(0x1D)
538
#define /*0x100*/ oFlyGuyLungeYDecel OBJECT_FIELD_F32(0x1E)
539
#define /*0x104*/ oFlyGuyLungeTargetPitch OBJECT_FIELD_S32(0x1F)
540
#define /*0x108*/ oFlyGuyTargetRoll OBJECT_FIELD_S32(0x20)
541
#define /*0x10C*/ oFlyGuyScaleVel OBJECT_FIELD_F32(0x21)
542
543
/* Grand Star */
544
#define /*0x108*/ oGrandStarUnk108 OBJECT_FIELD_S32(0x20)
545
546
/* Horizontal Grindel */
547
#define /*0x0F4*/ oHorizontalGrindelTargetYaw OBJECT_FIELD_S32(0x1B)
548
#define /*0x0F8*/ oHorizontalGrindelDistToHome OBJECT_FIELD_F32(0x1C)
549
#define /*0x0FC*/ oHorizontalGrindelOnGround OBJECT_FIELD_S32(0x1D)
550
551
/* Goomba */
552
#define /*0x0F4*/ oGoombaSize OBJECT_FIELD_S32(0x1B)
553
#define /*0x0F8*/ oGoombaScale OBJECT_FIELD_F32(0x1C)
554
#define /*0x0FC*/ oGoombaWalkTimer OBJECT_FIELD_S32(0x1D)
555
#define /*0x100*/ oGoombaTargetYaw OBJECT_FIELD_S32(0x1E)
556
#define /*0x104*/ oGoombaBlinkTimer OBJECT_FIELD_S32(0x1F)
557
#define /*0x108*/ oGoombaTurningAwayFromWall OBJECT_FIELD_S32(0x20)
558
#define /*0x10C*/ oGoombaRelativeSpeed OBJECT_FIELD_F32(0x21)
559
560
/* Haunted Chair */
561
#define /*0x0F4*/ oHauntedChairUnkF4 OBJECT_FIELD_S32(0x1B)
562
#define /*0x0F8*/ oHauntedChairUnkF8 OBJECT_FIELD_F32(0x1C)
563
#define /*0x0FC*/ oHauntedChairUnkFC OBJECT_FIELD_F32(0x1D)
564
#define /*0x100*/ oHauntedChairUnk100 OBJECT_FIELD_S32P(0x1E)
565
#define /*0x104*/ oHauntedChairUnk104 OBJECT_FIELD_S32(0x1F)
566
567
/* Heave-Ho */
568
#define /*0x088*/ oHeaveHoUnk88 OBJECT_FIELD_S32(0x00)
569
#define /*0x0F4*/ oHeaveHoUnkF4 OBJECT_FIELD_F32(0x1B)
570
571
/* Hidden Object */
572
#define /*0x0F4*/ oHiddenObjectUnkF4 OBJECT_FIELD_OBJ(0x1B)
573
574
/* Hoot */
575
#define /*0x0F4*/ oHootAvailability OBJECT_FIELD_S32(0x1B)
576
#define /*0x110*/ oHootMarioReleaseTime OBJECT_FIELD_S32(0x22)
577
578
/* Horizontal Movement */
579
#define /*0x0F4*/ oHorizontalMovementUnkF4 OBJECT_FIELD_S32(0x1B)
580
#define /*0x0F8*/ oHorizontalMovementUnkF8 OBJECT_FIELD_S32(0x1C)
581
#define /*0x100*/ oHorizontalMovementUnk100 OBJECT_FIELD_F32(0x1E)
582
#define /*0x104*/ oHorizontalMovementUnk104 OBJECT_FIELD_S32(0x1F)
583
#define /*0x108*/ oHorizontalMovementUnk108 OBJECT_FIELD_F32(0x20)
584
585
/* Kickable Board */
586
#define /*0x0F4*/ oKickableBoardF4 OBJECT_FIELD_S32(0x1B)
587
#define /*0x0F8*/ oKickableBoardF8 OBJECT_FIELD_S32(0x1C)
588
589
/* King Bob-omb */
590
#define /*0x088*/ oKingBobombUnk88 OBJECT_FIELD_S32(0x00)
591
#define /*0x0F8*/ oKingBobombUnkF8 OBJECT_FIELD_S32(0x1C)
592
#define /*0x0FC*/ oKingBobombUnkFC OBJECT_FIELD_S32(0x1D)
593
#define /*0x100*/ oKingBobombUnk100 OBJECT_FIELD_S32(0x1E)
594
#define /*0x104*/ oKingBobombUnk104 OBJECT_FIELD_S32(0x1F)
595
#define /*0x108*/ oKingBobombUnk108 OBJECT_FIELD_S32(0x20)
596
597
/* Klepto */
598
#define /*0x0F4*/ oKleptoDistanceToTarget OBJECT_FIELD_F32(0x1B)
599
#define /*0x0F8*/ oKleptoUnkF8 OBJECT_FIELD_F32(0x1C)
600
#define /*0x0FC*/ oKleptoUnkFC OBJECT_FIELD_F32(0x1D)
601
#define /*0x100*/ oKleptoSpeed OBJECT_FIELD_F32(0x1E)
602
#define /*0x104*/ oKleptoStartPosX OBJECT_FIELD_F32(0x1F)
603
#define /*0x108*/ oKleptoStartPosY OBJECT_FIELD_F32(0x20)
604
#define /*0x10C*/ oKleptoStartPosZ OBJECT_FIELD_F32(0x21)
605
#define /*0x110*/ oKleptoTimeUntilTargetChange OBJECT_FIELD_S32(0x22)
606
#define /*0x1AC*/ oKleptoTargetNumber OBJECT_FIELD_S16(0x49, 0)
607
#define /*0x1AE*/ oKleptoUnk1AE OBJECT_FIELD_S16(0x49, + 1)
608
#define /*0x1B0*/ oKleptoUnk1B0 OBJECT_FIELD_S16(0x4A, 0)
609
#define /*0x1B2*/ oKleptoYawToTarget OBJECT_FIELD_S16(0x4A, + 1)
610
611
/* Koopa */
612
#define /*0x0F4*/ oKoopaAgility OBJECT_FIELD_F32(0x1B)
613
#define /*0x0F8*/ oKoopaMovementType OBJECT_FIELD_S32(0x1C)
614
#define /*0x0FC*/ oKoopaTargetYaw OBJECT_FIELD_S32(0x1D)
615
#define /*0x100*/ oKoopaUnshelledTimeUntilTurn OBJECT_FIELD_S32(0x1E)
616
#define /*0x104*/ oKoopaTurningAwayFromWall OBJECT_FIELD_S32(0x1F)
617
#define /*0x108*/ oKoopaDistanceToMario OBJECT_FIELD_F32(0x20)
618
#define /*0x10C*/ oKoopaAngleToMario OBJECT_FIELD_S32(0x21)
619
#define /*0x110*/ oKoopaBlinkTimer OBJECT_FIELD_S32(0x22)
620
#define /*0x1AC*/ oKoopaCountdown OBJECT_FIELD_S16(0x49, 0)
621
#define /*0x1AE*/ oKoopaTheQuickRaceIndex OBJECT_FIELD_S16(0x49, 1)
622
#define /*0x1B0*/ oKoopaTheQuickInitTextboxCooldown OBJECT_FIELD_S16(0x4A, 0)
623
// 0x1D-0x21 for koopa the quick reserved for pathing
624
625
/* Koopa Race Endpoint */
626
#define /*0x0F4*/ oKoopaRaceEndpointRaceBegun OBJECT_FIELD_S32(0x1B)
627
#define /*0x0F8*/ oKoopaRaceEndpointKoopaFinished OBJECT_FIELD_S32(0x1C)
628
#define /*0x0FC*/ oKoopaRaceEndpointRaceStatus OBJECT_FIELD_S32(0x1D)
629
#define /*0x100*/ oKoopaRaceEndpointDialog OBJECT_FIELD_S32(0x1E)
630
#define /*0x104*/ oKoopaRaceEndpointRaceEnded OBJECT_FIELD_S32(0x1F)
631
632
/* Koopa Shell Flame */
633
#define /*0x0F4*/ oKoopaShellFlameUnkF4 OBJECT_FIELD_F32(0x1B)
634
#define /*0x0F8*/ oKoopaShellFlameUnkF8 OBJECT_FIELD_F32(0x1C)
635
636
/* Camera Lakitu */
637
#define /*0x0F4*/ oCameraLakituBlinkTimer OBJECT_FIELD_S32(0x1B)
638
#define /*0x0F8*/ oCameraLakituSpeed OBJECT_FIELD_F32(0x1C)
639
#define /*0x0FC*/ oCameraLakituCircleRadius OBJECT_FIELD_F32(0x1D)
640
#define /*0x100*/ oCameraLakituFinishedDialog OBJECT_FIELD_S32(0x1E)
641
#ifndef VERSION_JP
642
#define /*0x104*/ oCameraLakituUnk104 OBJECT_FIELD_S32(0x1F)
643
#endif
644
#define /*0x1AC*/ oCameraLakituPitchVel OBJECT_FIELD_S16(0x49, 0)
645
#define /*0x1AE*/ oCameraLakituYawVel OBJECT_FIELD_S16(0x49, + 1)
646
647
/* Evil Lakitu */
648
#define /*0x0F4*/ oEnemyLakituNumSpinies OBJECT_FIELD_S32(0x1B)
649
#define /*0x0F8*/ oEnemyLakituBlinkTimer OBJECT_FIELD_S32(0x1C)
650
#define /*0x0FC*/ oEnemyLakituSpinyCooldown OBJECT_FIELD_S32(0x1D)
651
#define /*0x100*/ oEnemyLakituFaceForwardCountdown OBJECT_FIELD_S32(0x1E)
652
653
/* Intro Cutscene Lakitu */
654
#define /*0x0F8*/ oIntroLakituSplineSegmentProgress OBJECT_FIELD_F32(0x1C)
655
#define /*0x0FC*/ oIntroLakituSplineSegment OBJECT_FIELD_F32(0x1D)
656
#define /*0x100*/ oIntroLakituUnk100 OBJECT_FIELD_F32(0x1E)
657
#define /*0x104*/ oIntroLakituUnk104 OBJECT_FIELD_F32(0x1F)
658
#define /*0x108*/ oIntroLakituUnk108 OBJECT_FIELD_F32(0x20)
659
#define /*0x10C*/ oIntroLakituUnk10C OBJECT_FIELD_F32(0x21)
660
#define /*0x110*/ oIntroLakituUnk110 OBJECT_FIELD_F32(0x22)
661
#define /*0x1AC*/ oIntroLakituCloud OBJECT_FIELD_OBJ(0x49)
662
663
/* Main Menu Button */
664
#define /*0x0F4*/ oMenuButtonState OBJECT_FIELD_S32(0x1B)
665
#define /*0x0F8*/ oMenuButtonTimer OBJECT_FIELD_S32(0x1C)
666
#define /*0x0FC*/ oMenuButtonOrigPosX OBJECT_FIELD_F32(0x1D)
667
#define /*0x100*/ oMenuButtonOrigPosY OBJECT_FIELD_F32(0x1E)
668
#define /*0x104*/ oMenuButtonOrigPosZ OBJECT_FIELD_F32(0x1F)
669
#define /*0x108*/ oMenuButtonScale OBJECT_FIELD_F32(0x20)
670
#define /*0x10C*/ oMenuButtonActionPhase OBJECT_FIELD_S32(0x21)
671
672
/* Manta Ray */
673
#define /*0x0F4*/ oMantaTargetPitch OBJECT_FIELD_S32(0x1B)
674
#define /*0x0F8*/ oMantaTargetYaw OBJECT_FIELD_S32(0x1C)
675
676
/* Merry-Go-Round */
677
#define /*0x088*/ oMerryGoRoundStopped OBJECT_FIELD_S32(0x00)
678
#define /*0x0F8*/ oMerryGoRoundMusicShouldPlay OBJECT_FIELD_S32(0x1C)
679
#define /*0x0FC*/ oMerryGoRoundMarioIsOutside OBJECT_FIELD_S32(0x1D)
680
681
/* Merry-Go-Round Boo Manager */
682
#define /*0x088*/ oMerryGoRoundBooManagerNumBoosKilled OBJECT_FIELD_S32(0x00)
683
#define /*0x0FC*/ oMerryGoRoundBooManagerNumBoosSpawned OBJECT_FIELD_S32(0x1D)
684
685
/* Mips */
686
#define /*0x0F4*/ oMipsStarStatus OBJECT_FIELD_S32(0x1B)
687
#define /*0x0F8*/ oMipsStartWaypointIndex OBJECT_FIELD_S32(0x1C)
688
// 0x1D-0x21 reserved for pathing
689
#define /*0x1AC*/ oMipsForwardVelocity OBJECT_FIELD_F32(0x49)
690
691
/* Moneybag */
692
#define /*0x0F4*/ oMoneybagJumpState OBJECT_FIELD_S32(0x1B)
693
694
/* Monty Mole */
695
#define /*0x0F4*/ oMontyMoleCurrentHole OBJECT_FIELD_OBJ(0x1B)
696
#define /*0x0F8*/ oMontyMoleHeightRelativeToFloor OBJECT_FIELD_F32(0x1C)
697
698
/* Monty Mole Hole */
699
#define /*0x0F4*/ oMontyMoleHoleCooldown OBJECT_FIELD_S32(0x1B)
700
701
/* Mr. Blizzard */
702
#define /*0x0F4*/ oMrBlizzardScale OBJECT_FIELD_F32(0x1B)
703
#define /*0x0F8*/ oMrBlizzardHeldObj OBJECT_FIELD_OBJ(0x1C)
704
#define /*0x0FC*/ oMrBlizzardGraphYVel OBJECT_FIELD_F32(0x1D)
705
#define /*0x100*/ oMrBlizzardTimer OBJECT_FIELD_S32(0x1E)
706
#define /*0x104*/ oMrBlizzardDizziness OBJECT_FIELD_F32(0x1F)
707
#define /*0x108*/ oMrBlizzardChangeInDizziness OBJECT_FIELD_F32(0x20)
708
#define /*0x10C*/ oMrBlizzardGraphYOffset OBJECT_FIELD_F32(0x21)
709
#define /*0x110*/ oMrBlizzardDistFromHome OBJECT_FIELD_S32(0x22)
710
#define /*0x1AC*/ oMrBlizzardTargetMoveYaw OBJECT_FIELD_S32(0x49)
711
712
/* Mr. I */
713
#define /*0x0F4*/ oMrIUnkF4 OBJECT_FIELD_S32(0x1B)
714
#define /*0x0FC*/ oMrIUnkFC OBJECT_FIELD_S32(0x1D)
715
#define /*0x100*/ oMrIUnk100 OBJECT_FIELD_S32(0x1E)
716
#define /*0x104*/ oMrIUnk104 OBJECT_FIELD_S32(0x1F)
717
#define /*0x108*/ oMrIUnk108 OBJECT_FIELD_S32(0x20)
718
#define /*0x10C*/ oMrISize OBJECT_FIELD_F32(0x21)
719
#define /*0x110*/ oMrIUnk110 OBJECT_FIELD_S32(0x22)
720
721
/* Object Respawner */
722
#define /*0x0F4*/ oRespawnerModelToRespawn OBJECT_FIELD_S32(0x1B)
723
#define /*0x0F8*/ oRespawnerMinSpawnDist OBJECT_FIELD_F32(0x1C)
724
#define /*0x0FC*/ oRespawnerBehaviorToRespawn OBJECT_FIELD_CVPTR(0x1D)
725
726
/* Openable Grill */
727
#define /*0x088*/ oOpenableGrillUnk88 OBJECT_FIELD_S32(0x00)
728
#define /*0x0F4*/ oOpenableGrillUnkF4 OBJECT_FIELD_OBJ(0x1B)
729
730
/* Intro Cutscene Peach */
731
#define /*0x108*/ oIntroPeachYawFromFocus OBJECT_FIELD_F32(0x20)
732
#define /*0x10C*/ oIntroPeachPitchFromFocus OBJECT_FIELD_F32(0x21)
733
#define /*0x110*/ oIntroPeachDistToCamera OBJECT_FIELD_F32(0x22)
734
735
/* Racing Penguin */
736
#define /*0x0F4*/ oRacingPenguinInitTextCooldown OBJECT_FIELD_S32(0x1B)
737
// 0x1D-0x21 reserved for pathing
738
#define /*0x110*/ oRacingPenguinWeightedNewTargetSpeed OBJECT_FIELD_F32(0x22)
739
#define /*0x1AC*/ oRacingPenguinFinalTextbox OBJECT_FIELD_S16(0x49, 0)
740
#define /*0x1AE*/ oRacingPenguinMarioWon OBJECT_FIELD_S16(0x49, + 1)
741
#define /*0x1B0*/ oRacingPenguinReachedBottom OBJECT_FIELD_S16(0x4A, 0)
742
#define /*0x1B2*/ oRacingPenguinMarioCheated OBJECT_FIELD_S16(0x4A, + 1)
743
744
/* Small Penguin */
745
#define /*0x088*/ oSmallPenguinUnk88 OBJECT_FIELD_S32(0x00)
746
#define /*0x100*/ oSmallPenguinUnk100 OBJECT_FIELD_S32(0x1E) // angle?
747
#define /*0x104*/ oSmallPenguinUnk104 OBJECT_FIELD_F32(0x1F)
748
#define /*0x108*/ oSmallPenguinUnk108 OBJECT_FIELD_F32(0x20)
749
#define /*0x110*/ oSmallPenguinUnk110 OBJECT_FIELD_S32(0x22)
750
751
/* SL Walking Penguin */
752
#define /*0x100*/ oSLWalkingPenguinWindCollisionXPos OBJECT_FIELD_F32(0x1E)
753
#define /*0x104*/ oSLWalkingPenguinWindCollisionZPos OBJECT_FIELD_F32(0x1F)
754
#define /*0x10C*/ oSLWalkingPenguinCurStep OBJECT_FIELD_S32(0x21)
755
#define /*0x110*/ oSLWalkingPenguinCurStepTimer OBJECT_FIELD_S32(0x22)
756
757
/* Piranha Plant */
758
#define /*0x0F4*/ oPiranhaPlantSleepMusicState OBJECT_FIELD_S32(0x1B)
759
#define /*0x0F8*/ oPiranhaPlantScale OBJECT_FIELD_F32(0x1C)
760
761
/* Fire Piranha Plant */
762
#define /*0x0F4*/ oFirePiranhaPlantNeutralScale OBJECT_FIELD_F32(0x1B)
763
#define /*0x0F8*/ oFirePiranhaPlantScale OBJECT_FIELD_F32(0x1C) //Shared with above obj? Coincidence?
764
#define /*0x0FC*/ oFirePiranhaPlantActive OBJECT_FIELD_S32(0x1D)
765
#define /*0x100*/ oFirePiranhaPlantDeathSpinTimer OBJECT_FIELD_S32(0x1E)
766
#define /*0x104*/ oFirePiranhaPlantDeathSpinVel OBJECT_FIELD_F32(0x1F)
767
768
/* Pitoune */
769
#define /*0x0F4*/ oPitouneUnkF4 OBJECT_FIELD_F32(0x1B)
770
#define /*0x0F8*/ oPitouneUnkF8 OBJECT_FIELD_F32(0x1C)
771
#define /*0x0FC*/ oPitouneUnkFC OBJECT_FIELD_F32(0x1D)
772
773
/* Falling Rising Bitfs Platform */
774
#define /*0x0F4*/ oBitfsPlatformTimer OBJECT_FIELD_S32(0x1B)
775
776
/* Falling Bowser Bits Platform */
777
#define /*0x0F8*/ oBitsPlatformBowser OBJECT_FIELD_OBJ(0x1C)
778
#define /*0x0FC*/ oBitsPlatformTimer OBJECT_FIELD_S32(0x1D)
779
780
/* WF Platform */
781
#define /*0x10C*/ oPlatformUnk10C OBJECT_FIELD_F32(0x21)
782
#define /*0x110*/ oPlatformUnk110 OBJECT_FIELD_F32(0x22)
783
784
/* Platform on Tracks */
785
#define /*0x088*/ oPlatformOnTrackBaseBallIndex OBJECT_FIELD_S32(0x00)
786
#define /*0x0F4*/ oPlatformOnTrackDistMovedSinceLastBall OBJECT_FIELD_F32(0x1B)
787
#define /*0x0F8*/ oPlatformOnTrackSkiLiftRollVel OBJECT_FIELD_F32(0x1C)
788
#define /*0x0FC*/ oPlatformOnTrackStartWaypoint OBJECT_FIELD_WAYPOINT(0x1D)
789
#define /*0x100*/ oPlatformOnTrackPrevWaypoint OBJECT_FIELD_WAYPOINT(0x1E)
790
#define /*0x104*/ oPlatformOnTrackPrevWaypointFlags OBJECT_FIELD_S32(0x1F)
791
#define /*0x108*/ oPlatformOnTrackPitch OBJECT_FIELD_S32(0x20)
792
#define /*0x10C*/ oPlatformOnTrackYaw OBJECT_FIELD_S32(0x21)
793
#define /*0x110*/ oPlatformOnTrackOffsetY OBJECT_FIELD_F32(0x22)
794
#define /*0x1AC*/ oPlatformOnTrackIsNotSkiLift OBJECT_FIELD_S16(0x49, 0)
795
#define /*0x1AE*/ oPlatformOnTrackIsNotHMC OBJECT_FIELD_S16(0x49, + 1)
796
#define /*0x1B0*/ oPlatformOnTrackType OBJECT_FIELD_S16(0x4A, 0)
797
#define /*0x1B2*/ oPlatformOnTrackWasStoodOn OBJECT_FIELD_S16(0x4A, + 1)
798
799
/* Platform Spawner */
800
#define /*0x0F4*/ oPlatformSpawnerUnkF4 OBJECT_FIELD_S32(0x1B)
801
#define /*0x0F8*/ oPlatformSpawnerUnkF8 OBJECT_FIELD_S32(0x1C)
802
#define /*0x0FC*/ oPlatformSpawnerUnkFC OBJECT_FIELD_S32(0x1D)
803
#define /*0x100*/ oPlatformSpawnerUnk100 OBJECT_FIELD_F32(0x1E)
804
#define /*0x104*/ oPlatformSpawnerUnk104 OBJECT_FIELD_F32(0x1F)
805
#define /*0x108*/ oPlatformSpawnerUnk108 OBJECT_FIELD_F32(0x20)
806
807
/* Pokey */
808
#define /*0x0F4*/ oPokeyAliveBodyPartFlags OBJECT_FIELD_U32(0x1B)
809
#define /*0x0F8*/ oPokeyNumAliveBodyParts OBJECT_FIELD_S32(0x1C)
810
#define /*0x0FC*/ oPokeyBottomBodyPartSize OBJECT_FIELD_F32(0x1D)
811
#define /*0x100*/ oPokeyHeadWasKilled OBJECT_FIELD_S32(0x1E)
812
#define /*0x104*/ oPokeyTargetYaw OBJECT_FIELD_S32(0x1F)
813
#define /*0x108*/ oPokeyChangeTargetTimer OBJECT_FIELD_S32(0x20)
814
#define /*0x10C*/ oPokeyTurningAwayFromWall OBJECT_FIELD_S32(0x21)
815
816
/* Pokey Body Part */
817
#define /*0x0F8*/ oPokeyBodyPartDeathDelayAfterHeadKilled OBJECT_FIELD_S32(0x1C)
818
#define /*0x110*/ oPokeyBodyPartBlinkTimer OBJECT_FIELD_S32(0x22)
819
820
/* DDD Pole */
821
#define /*0x0F4*/ oDDDPoleVel OBJECT_FIELD_F32(0x1B)
822
#define /*0x0F8*/ oDDDPoleMaxOffset OBJECT_FIELD_F32(0x1C)
823
#define /*0x0FC*/ oDDDPoleOffset OBJECT_FIELD_F32(0x1D)
824
825
/* Pyramid Top */
826
#define /*0x0F4*/ oPyramidTopPillarsTouched OBJECT_FIELD_S32(0x1B)
827
828
/* Pyramid Top Explosion */
829
#define /*0x0F4*/ oPyramidTopFragmentsScale OBJECT_FIELD_F32(0x1B)
830
831
/* Rolling Log */
832
#define /*0x0F4*/ oRollingLogUnkF4 OBJECT_FIELD_F32(0x1B)
833
834
/* Lll Rotating Hex Flame */
835
#define /*0x0F4*/ oLllRotatingHexFlameUnkF4 OBJECT_FIELD_F32(0x1B)
836
#define /*0x0F8*/ oLllRotatingHexFlameUnkF8 OBJECT_FIELD_F32(0x1C)
837
#define /*0x0FC*/ oLllRotatingHexFlameUnkFC OBJECT_FIELD_F32(0x1D)
838
839
/* Scuttlebug */
840
#define /*0x0F4*/ oScuttlebugUnkF4 OBJECT_FIELD_S32(0x1B)
841
#define /*0x0F8*/ oScuttlebugUnkF8 OBJECT_FIELD_S32(0x1C)
842
#define /*0x0FC*/ oScuttlebugUnkFC OBJECT_FIELD_S32(0x1D)
843
844
/* Scuttlebug Spawner */
845
#define /*0x088*/ oScuttlebugSpawnerUnk88 OBJECT_FIELD_S32(0x00)
846
#define /*0x0F4*/ oScuttlebugSpawnerUnkF4 OBJECT_FIELD_S32(0x1B)
847
848
/* Seesaw Platform */
849
#define /*0x0F4*/ oSeesawPlatformPitchVel OBJECT_FIELD_F32(0x1B)
850
851
/* Ship Part 3 */
852
#define /*0x0F4*/ oShipPart3UnkF4 OBJECT_FIELD_S32(0x1B) // angle?
853
#define /*0x0F8*/ oShipPart3UnkF8 OBJECT_FIELD_S32(0x1C) // angle?
854
855
/* Sink When Stepped On */
856
#define /*0x104*/ oSinkWhenSteppedOnUnk104 OBJECT_FIELD_S32(0x1F)
857
#define /*0x108*/ oSinkWhenSteppedOnUnk108 OBJECT_FIELD_F32(0x20)
858
859
/* Skeeter */
860
#define /*0x0F4*/ oSkeeterTargetAngle OBJECT_FIELD_S32(0x1B)
861
#define /*0x0F8*/ oSkeeterUnkF8 OBJECT_FIELD_S32(0x1C)
862
#define /*0x0FC*/ oSkeeterUnkFC OBJECT_FIELD_F32(0x1D)
863
#define /*0x100*/ oSkeeterWaitTime OBJECT_FIELD_S32(0x1E)
864
#define /*0x1AC*/ oSkeeterUnk1AC OBJECT_FIELD_S16(0x49, 0)
865
866
/* Jrb Sliding Box */
867
#define /*0x0F4*/ oJrbSlidingBoxUnkF4 OBJECT_FIELD_OBJ(0x1B)
868
#define /*0x0F8*/ oJrbSlidingBoxUnkF8 OBJECT_FIELD_S32(0x1C)
869
#define /*0x0FC*/ oJrbSlidingBoxUnkFC OBJECT_FIELD_F32(0x1D)
870
871
/* WF Sliding Brick Platform */
872
#define /*0x0F4*/ oWFSlidBrickPtfmMovVel OBJECT_FIELD_F32(0x1B)
873
874
/* Smoke */
875
#define /*0x0F4*/ oSmokeTimer OBJECT_FIELD_S32(0x1B)
876
877
/* Snowman's Bottom */
878
#define /*0x0F4*/ oSnowmansBottomUnkF4 OBJECT_FIELD_F32(0x1B)
879
#define /*0x0F8*/ oSnowmansBottomUnkF8 OBJECT_FIELD_S32(0x1C)
880
#define /*0x1AC*/ oSnowmansBottomUnk1AC OBJECT_FIELD_S32(0x49)
881
// 0x1D-0x21 reserved for pathing
882
883
/* Snowman's Head */
884
#define /*0x0F4*/ oSnowmansHeadDialogActive OBJECT_FIELD_S32(0x1B)
885
886
/* Snowman Wind Blowing */
887
#define /*0x0F4*/ oSLSnowmanWindOriginalYaw OBJECT_FIELD_S32(0x1B)
888
889
/* Snufit */
890
#define /*0x0F4*/ oSnufitRecoil OBJECT_FIELD_S32(0x1B)
891
#define /*0x0F8*/ oSnufitScale OBJECT_FIELD_F32(0x1C)
892
#define /*0x100*/ oSnufitCircularPeriod OBJECT_FIELD_S32(0x1E)
893
#define /*0x104*/ oSnufitBodyScalePeriod OBJECT_FIELD_S32(0x1F)
894
#define /*0x108*/ oSnufitBodyBaseScale OBJECT_FIELD_S32(0x20)
895
#define /*0x10C*/ oSnufitBullets OBJECT_FIELD_S32(0x21)
896
#define /*0x1AC*/ oSnufitXOffset OBJECT_FIELD_S16(0x49, 0)
897
#define /*0x1AE*/ oSnufitYOffset OBJECT_FIELD_S16(0x49, + 1)
898
#define /*0x1B0*/ oSnufitZOffset OBJECT_FIELD_S16(0x4A, 0)
899
#define /*0x1B2*/ oSnufitBodyScale OBJECT_FIELD_S16(0x4A, + 1)
900
901
/* Spindel */
902
#define /*0x0F4*/ oSpindelUnkF4 OBJECT_FIELD_S32(0x1B)
903
#define /*0x0F8*/ oSpindelUnkF8 OBJECT_FIELD_S32(0x1C)
904
905
/* Spinning Heart */
906
#define /*0x0F4*/ oSpinningHeartTotalSpin OBJECT_FIELD_S32(0x1B)
907
#define /*0x0F8*/ oSpinningHeartPlayedSound OBJECT_FIELD_S32(0x1C)
908
909
/* Spiny */
910
#define /*0x0F4*/ oSpinyTimeUntilTurn OBJECT_FIELD_S32(0x1B)
911
#define /*0x0F8*/ oSpinyTargetYaw OBJECT_FIELD_S32(0x1C)
912
#define /*0x100*/ oSpinyTurningAwayFromWall OBJECT_FIELD_S32(0x1E)
913
914
/* Sound Effect */
915
#define /*0x0F4*/ oSoundEffectUnkF4 OBJECT_FIELD_S32(0x1B)
916
917
/* Star Spawn */
918
#define /*0x0F4*/ oStarSpawnDisFromHome OBJECT_FIELD_F32(0x1B)
919
#define /*0x0FC*/ oStarSpawnUnkFC OBJECT_FIELD_F32(0x1D)
920
921
/* Hidden Star */
922
// Secrets/Red Coins
923
#define /*0x0F4*/ oHiddenStarTriggerCounter OBJECT_FIELD_S32(0x1B)
924
925
// Overall very difficult to determine usage, mostly stubbed code.
926
/* Sparkle Spawn Star */
927
#define /*0x1B0*/ oSparkleSpawnUnk1B0 OBJECT_FIELD_S32(0x4A)
928
929
/* Sealed Door Star */
930
#define /*0x108*/ oUnlockDoorStarState OBJECT_FIELD_U32(0x20)
931
#define /*0x10C*/ oUnlockDoorStarTimer OBJECT_FIELD_S32(0x21)
932
#define /*0x110*/ oUnlockDoorStarYawVel OBJECT_FIELD_S32(0x22)
933
934
/* Celebration Star */
935
#define /*0x0F4*/ oCelebStarUnkF4 OBJECT_FIELD_S32(0x1B)
936
#define /*0x108*/ oCelebStarDiameterOfRotation OBJECT_FIELD_S32(0x20)
937
938
/* Star Selector */
939
#define /*0x0F4*/ oStarSelectorType OBJECT_FIELD_S32(0x1B)
940
#define /*0x0F8*/ oStarSelectorTimer OBJECT_FIELD_S32(0x1C)
941
#define /*0x108*/ oStarSelectorSize OBJECT_FIELD_F32(0x20)
942
943
/* Sushi Shark */
944
#define /*0x0F4*/ oSushiSharkUnkF4 OBJECT_FIELD_S32(0x1B) // angle?
945
946
/* Swing Platform */
947
#define /*0x0F4*/ oSwingPlatformAngle OBJECT_FIELD_F32(0x1B)
948
#define /*0x0F8*/ oSwingPlatformSpeed OBJECT_FIELD_F32(0x1C)
949
950
/* Swoop */
951
#define /*0x0F4*/ oSwoopBonkCountdown OBJECT_FIELD_S32(0x1B)
952
#define /*0x0F8*/ oSwoopTargetPitch OBJECT_FIELD_S32(0x1C)
953
#define /*0x0FC*/ oSwoopTargetYaw OBJECT_FIELD_S32(0x1D)
954
955
/* Thwomp */
956
#define /*0x0F4*/ oThwompRandomTimer OBJECT_FIELD_S32(0x1B)
957
958
/* Tilting Platform */
959
#define /*0x0F4*/ oTiltingPyramidNormalX OBJECT_FIELD_F32(0x1B)
960
#define /*0x0F8*/ oTiltingPyramidNormalY OBJECT_FIELD_F32(0x1C)
961
#define /*0x0FC*/ oTiltingPyramidNormalZ OBJECT_FIELD_F32(0x1D)
962
#define /*0x10C*/ oTiltingPyramidMarioOnPlatform OBJECT_FIELD_S32(0x21)
963
964
/* Toad Message */
965
#define /*0x108*/ oToadMessageDialogId OBJECT_FIELD_U32(0x20)
966
#define /*0x10C*/ oToadMessageRecentlyTalked OBJECT_FIELD_S32(0x21)
967
#define /*0x110*/ oToadMessageState OBJECT_FIELD_S32(0x22)
968
969
/* Tox Box */
970
#define /*0x1AC*/ oToxBoxMovementPattern OBJECT_FIELD_VPTR(0x49)
971
#define /*0x1B0*/ oToxBoxMovementStep OBJECT_FIELD_S32(0x4A)
972
973
/* TTC Rotating Solid */
974
#define /*0x0F4*/ oTTCRotatingSolidNumTurns OBJECT_FIELD_S32(0x1B)
975
#define /*0x0F8*/ oTTCRotatingSolidNumSides OBJECT_FIELD_S32(0x1C)
976
#define /*0x0FC*/ oTTCRotatingSolidRotationDelay OBJECT_FIELD_S32(0x1D)
977
#define /*0x100*/ oTTCRotatingSolidVelY OBJECT_FIELD_F32(0x1E)
978
#define /*0x104*/ oTTCRotatingSolidSoundTimer OBJECT_FIELD_S32(0x1F)
979
980
/* TTC Pendulum */
981
#define /*0x0F4*/ oTTCPendulumAccelDir OBJECT_FIELD_F32(0x1B)
982
#define /*0x0F8*/ oTTCPendulumAngle OBJECT_FIELD_F32(0x1C)
983
#define /*0x0FC*/ oTTCPendulumAngleVel OBJECT_FIELD_F32(0x1D)
984
#define /*0x100*/ oTTCPendulumAngleAccel OBJECT_FIELD_F32(0x1E)
985
#define /*0x104*/ oTTCPendulumDelay OBJECT_FIELD_S32(0x1F)
986
#define /*0x108*/ oTTCPendulumSoundTimer OBJECT_FIELD_S32(0x20)
987
988
/* TTC Treadmill */
989
#define /*0x0F4*/ oTTCTreadmillBigSurface OBJECT_FIELD_S16P(0x1B)
990
#define /*0x0F8*/ oTTCTreadmillSmallSurface OBJECT_FIELD_S16P(0x1C)
991
#define /*0x0FC*/ oTTCTreadmillSpeed OBJECT_FIELD_F32(0x1D)
992
#define /*0x100*/ oTTCTreadmillTargetSpeed OBJECT_FIELD_F32(0x1E)
993
#define /*0x104*/ oTTCTreadmillTimeUntilSwitch OBJECT_FIELD_S32(0x1F)
994
995
/* TTC Moving Bar */
996
#define /*0x0F4*/ oTTCMovingBarDelay OBJECT_FIELD_S32(0x1B)
997
#define /*0x0F8*/ oTTCMovingBarStoppedTimer OBJECT_FIELD_S32(0x1C)
998
#define /*0x0FC*/ oTTCMovingBarOffset OBJECT_FIELD_F32(0x1D)
999
#define /*0x100*/ oTTCMovingBarSpeed OBJECT_FIELD_F32(0x1E)
1000
#define /*0x104*/ oTTCMovingBarStartOffset OBJECT_FIELD_F32(0x1F)
1001
1002
/* TTC Cog */
1003
#define /*0x0F4*/ oTTCCogDir OBJECT_FIELD_F32(0x1B)
1004
#define /*0x0F8*/ oTTCCogSpeed OBJECT_FIELD_F32(0x1C)
1005
#define /*0x0FC*/ oTTCCogTargetVel OBJECT_FIELD_F32(0x1D)
1006
1007
/* TTC Pit Block */
1008
#define /*0x0F4*/ oTTCPitBlockPeakY OBJECT_FIELD_F32(0x1B)
1009
#define /*0x0F8*/ oTTCPitBlockDir OBJECT_FIELD_S32(0x1C)
1010
#define /*0x0FC*/ oTTCPitBlockWaitTime OBJECT_FIELD_S32(0x1D)
1011
1012
/* TTC Elevator */
1013
#define /*0x0F4*/ oTTCElevatorDir OBJECT_FIELD_F32(0x1B)
1014
#define /*0x0F8*/ oTTCElevatorPeakY OBJECT_FIELD_F32(0x1C)
1015
#define /*0x0FC*/ oTTCElevatorMoveTime OBJECT_FIELD_S32(0x1D)
1016
1017
/* TTC 2D Rotator */
1018
#define /*0x0F4*/ oTTC2DRotatorMinTimeUntilNextTurn OBJECT_FIELD_S32(0x1B)
1019
#define /*0x0F8*/ oTTC2DRotatorTargetYaw OBJECT_FIELD_S32(0x1C)
1020
#define /*0x0FC*/ oTTC2DRotatorIncrement OBJECT_FIELD_S32(0x1D)
1021
#define /*0x104*/ oTTC2DRotatorRandomDirTimer OBJECT_FIELD_S32(0x1F)
1022
#define /*0x108*/ oTTC2DRotatorSpeed OBJECT_FIELD_S32(0x20)
1023
1024
/* TTC Spinner */
1025
#define /*0x0F4*/ oTTCSpinnerDir OBJECT_FIELD_S32(0x1B)
1026
#define /*0x0F8*/ oTTCChangeDirTimer OBJECT_FIELD_S32(0x1C)
1027
1028
/* Beta Trampoline */
1029
#define /*0x110*/ oBetaTrampolineMarioOnTrampoline OBJECT_FIELD_S32(0x22)
1030
1031
/* Treasure Chest */
1032
#define /*0x0F4*/ oTreasureChestUnkF4 OBJECT_FIELD_S32(0x1B)
1033
#define /*0x0F8*/ oTreasureChestUnkF8 OBJECT_FIELD_S32(0x1C)
1034
#define /*0x0FC*/ oTreasureChestUnkFC OBJECT_FIELD_S32(0x1D)
1035
1036
/* Tree Snow Or Leaf */
1037
#define /*0x0F4*/ oTreeSnowOrLeafUnkF4 OBJECT_FIELD_S32(0x1B)
1038
#define /*0x0F8*/ oTreeSnowOrLeafUnkF8 OBJECT_FIELD_S32(0x1C)
1039
#define /*0x0FC*/ oTreeSnowOrLeafUnkFC OBJECT_FIELD_S32(0x1D)
1040
1041
/* Tumbling Bridge */
1042
#define /*0x0F4*/ oTumblingBridgeUnkF4 OBJECT_FIELD_S32(0x1B)
1043
1044
/* Tweester */
1045
#define /*0x0F4*/ oTweesterScaleTimer OBJECT_FIELD_S32(0x1B)
1046
#define /*0x0F8*/ oTweesterUnused OBJECT_FIELD_S32(0x1C)
1047
1048
/* Ukiki */
1049
#define /*0x0F4*/ oUkikiTauntCounter OBJECT_FIELD_S16(0x1B, 0)
1050
#define /*0x0F6*/ oUkikiTauntsToBeDone OBJECT_FIELD_S16(0x1B, 1)
1051
// 0x1D-0x21 reserved for pathing
1052
#define /*0x110*/ oUkikiChaseFleeRange OBJECT_FIELD_F32(0x22)
1053
#define /*0x1AC*/ oUkikiTextState OBJECT_FIELD_S16(0x49, 0)
1054
#define /*0x1AE*/ oUkikiTextboxTimer OBJECT_FIELD_S16(0x49, 1)
1055
#define /*0x1B0*/ oUkikiCageSpinTimer OBJECT_FIELD_S16(0x4A, 0)
1056
#define /*0x1B2*/ oUkikiHasCap OBJECT_FIELD_S16(0x4A, 1)
1057
1058
/* Ukiki Cage*/
1059
#define /*0x088*/ oUkikiCageNextAction OBJECT_FIELD_S32(0x00)
1060
1061
/* Unagi */
1062
#define /*0x0F4*/ oUnagiUnkF4 OBJECT_FIELD_F32(0x1B)
1063
#define /*0x0F8*/ oUnagiUnkF8 OBJECT_FIELD_F32(0x1C)
1064
// 0x1D-0x21 reserved for pathing
1065
#define /*0x110*/ oUnagiUnk110 OBJECT_FIELD_F32(0x22)
1066
#define /*0x1AC*/ oUnagiUnk1AC OBJECT_FIELD_F32(0x49)
1067
#define /*0x1B0*/ oUnagiUnk1B0 OBJECT_FIELD_S16(0x4A, 0)
1068
#define /*0x1B2*/ oUnagiUnk1B2 OBJECT_FIELD_S16(0x4A, + 1)
1069
1070
/* Water Bomb */
1071
#define /*0x0F8*/ oWaterBombVerticalStretch OBJECT_FIELD_F32(0x1C)
1072
#define /*0x0FC*/ oWaterBombStretchSpeed OBJECT_FIELD_F32(0x1D)
1073
#define /*0x100*/ oWaterBombOnGround OBJECT_FIELD_S32(0x1E)
1074
#define /*0x104*/ oWaterBombNumBounces OBJECT_FIELD_F32(0x1F)
1075
1076
/* Water Bomb Spawner */
1077
#define /*0x0F4*/ oWaterBombSpawnerBombActive OBJECT_FIELD_S32(0x1B)
1078
#define /*0x0F8*/ oWaterBombSpawnerTimeToSpawn OBJECT_FIELD_S32(0x1C)
1079
1080
/* Water Bomb Cannon */
1081
#define /*0x0F4*/ oWaterCannonUnkF4 OBJECT_FIELD_S32(0x1B)
1082
#define /*0x0F8*/ oWaterCannonUnkF8 OBJECT_FIELD_S32(0x1C)
1083
#define /*0x0FC*/ oWaterCannonUnkFC OBJECT_FIELD_S32(0x1D)
1084
#define /*0x100*/ oWaterCannonUnk100 OBJECT_FIELD_S32(0x1E)
1085
1086
/* Cannon Barrel Bubbles */
1087
#define /*0x0F4*/ oCannonBarrelBubblesUnkF4 OBJECT_FIELD_F32(0x1B)
1088
1089
/* Water Level Pillar */
1090
#define /*0x0F8*/ oWaterLevelPillarDrained OBJECT_FIELD_S32(0x1C)
1091
1092
/* Water Level Trigger */
1093
#define /*0x0F4*/ oWaterLevelTriggerUnkF4 OBJECT_FIELD_S32(0x1B)
1094
#define /*0x0F8*/ oWaterLevelTriggerTargetWaterLevel OBJECT_FIELD_S32(0x1C)
1095
1096
/* Water Objects */
1097
#define /*0x0F4*/ oWaterObjUnkF4 OBJECT_FIELD_S32(0x1B)
1098
#define /*0x0F8*/ oWaterObjUnkF8 OBJECT_FIELD_S32(0x1C)
1099
#define /*0x0FC*/ oWaterObjUnkFC OBJECT_FIELD_S32(0x1D)
1100
#define /*0x100*/ oWaterObjUnk100 OBJECT_FIELD_S32(0x1E)
1101
1102
/* Water Ring (both variants) */
1103
#define /*0x0F4*/ oWaterRingScalePhaseX OBJECT_FIELD_S32(0x1B)
1104
#define /*0x0F8*/ oWaterRingScalePhaseY OBJECT_FIELD_S32(0x1C)
1105
#define /*0x0FC*/ oWaterRingScalePhaseZ OBJECT_FIELD_S32(0x1D)
1106
#define /*0x100*/ oWaterRingNormalX OBJECT_FIELD_F32(0x1E)
1107
#define /*0x104*/ oWaterRingNormalY OBJECT_FIELD_F32(0x1F)
1108
#define /*0x108*/ oWaterRingNormalZ OBJECT_FIELD_F32(0x20)
1109
#define /*0x10C*/ oWaterRingMarioDistInFront OBJECT_FIELD_F32(0x21)
1110
#define /*0x110*/ oWaterRingIndex OBJECT_FIELD_S32(0x22)
1111
#define /*0x1AC*/ oWaterRingAvgScale OBJECT_FIELD_F32(0x49)
1112
1113
/* Water Ring Spawner (Jet Stream Ring Spawner and Manta Ray) */
1114
#define /*0x1AC*/ oWaterRingSpawnerRingsCollected OBJECT_FIELD_S32(0x49)
1115
1116
/* Water Ring Manager (Jet Stream Ring Spawner and Manta Ray Ring Manager) */
1117
#define /*0x0F4*/ oWaterRingMgrNextRingIndex OBJECT_FIELD_S32(0x1B)
1118
#define /*0x0F8*/ oWaterRingMgrLastRingCollected OBJECT_FIELD_S32(0x1C)
1119
1120
/* Wave Trail */
1121
#define /*0x0F8*/ oWaveTrailSize OBJECT_FIELD_F32(0x1C)
1122
1123
/* Whirlpool */
1124
#define /*0x0F4*/ oWhirlpoolInitFacePitch OBJECT_FIELD_S32(0x1B)
1125
#define /*0x0F8*/ oWhirlpoolInitFaceRoll OBJECT_FIELD_S32(0x1C)
1126
1127
/* White Puff Explode */
1128
#define /*0x0F4*/ oWhitePuffUnkF4 OBJECT_FIELD_F32(0x1B)
1129
#define /*0x0F8*/ oWhitePuffUnkF8 OBJECT_FIELD_S32(0x1C)
1130
#define /*0x0FC*/ oWhitePuffUnkFC OBJECT_FIELD_S32(0x1D)
1131
1132
/* White Wind Particle */
1133
#define /*0x0F4*/ oStrongWindParticlePenguinObj OBJECT_FIELD_OBJ(0x1B)
1134
1135
/* Whomp */
1136
#define /*0x0F8*/ oWhompShakeVal OBJECT_FIELD_S32(0x1C)
1137
1138
/* Wiggler */
1139
#define /*0x0F4*/ oWigglerFallThroughFloorsHeight OBJECT_FIELD_F32(0x1B)
1140
#define /*0x0F8*/ oWigglerSegments OBJECT_FIELD_CHAIN_SEGMENT(0x1C)
1141
#define /*0x0FC*/ oWigglerWalkAnimSpeed OBJECT_FIELD_F32(0x1D)
1142
#define /*0x104*/ oWigglerSquishSpeed OBJECT_FIELD_F32(0x1F)
1143
#define /*0x108*/ oWigglerTimeUntilRandomTurn OBJECT_FIELD_S32(0x20)
1144
#define /*0x10C*/ oWigglerTargetYaw OBJECT_FIELD_S32(0x21)
1145
#define /*0x110*/ oWigglerWalkAwayFromWallTimer OBJECT_FIELD_S32(0x22)
1146
#define /*0x1AC*/ oWigglerUnused OBJECT_FIELD_S16(0x49, 0)
1147
#define /*0x1AE*/ oWigglerTextStatus OBJECT_FIELD_S16(0x49, + 1)
1148
1149
/* Lll Wood Piece */
1150
#define /*0x0F4*/ oLllWoodPieceOscillationTimer OBJECT_FIELD_S32(0x1B)
1151
1152
/* Wooden Post */
1153
#define /*0x0F4*/ oWoodenPostTotalMarioAngle OBJECT_FIELD_S32(0x1B)
1154
#define /*0x0F8*/ oWoodenPostPrevAngleToMario OBJECT_FIELD_S32(0x1C)
1155
#define /*0x0FC*/ oWoodenPostSpeedY OBJECT_FIELD_F32(0x1D)
1156
#define /*0x100*/ oWoodenPostMarioPounding OBJECT_FIELD_S32(0x1E)
1157
#define /*0x104*/ oWoodenPostOffsetY OBJECT_FIELD_F32(0x1F)
1158
1159
/* Yoshi */
1160
#define /*0x0F4*/ oYoshiBlinkTimer OBJECT_FIELD_S32(0x1B)
1161
#define /*0x0FC*/ oYoshiChosenHome OBJECT_FIELD_S32(0x1D)
1162
#define /*0x100*/ oYoshiTargetYaw OBJECT_FIELD_S32(0x1E)
1163
1164
#endif // OBJECT_FIELDS_H
1165
1166