You've already forked ultrasm64-2
mirror of
https://github.com/HackerN64/ultrasm64-2.git
synced 2026-01-21 10:38:08 -08:00
Refresh 15
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
#define BUGFIX_STAR_BOWSER_KEY (0 || VERSION_US || VERSION_EU || VERSION_SH)
|
||||
/// Fixes bug that enables Mario in time stop even if is not ready to speak
|
||||
#define BUGFIX_DIALOG_TIME_STOP (0 || VERSION_US || VERSION_EU || VERSION_SH)
|
||||
/// Fixes bug that causes Mario to still collide with Bowser in BITS after his defeat
|
||||
/// Fixes bug that causes Mario to still collide with Bowser in BitS after his defeat
|
||||
#define BUGFIX_BOWSER_COLLIDE_BITS_DEAD (0 || VERSION_US || VERSION_EU || VERSION_SH)
|
||||
/// Fixes bug where Bowser wouldn't reset his speed when fallen off (and adds missing checks)
|
||||
#define BUGFIX_BOWSER_FALLEN_OFF_STAGE (0 || VERSION_US || VERSION_EU || VERSION_SH)
|
||||
|
||||
@@ -12,8 +12,7 @@
|
||||
|
||||
#define DEFINE_BONUS_COURSE(courseenum, _1) courseenum,
|
||||
|
||||
enum CourseNum
|
||||
{
|
||||
enum CourseNum {
|
||||
#include "levels/course_defines.h"
|
||||
COURSE_END, // To mark end + 1 for marking max and count.
|
||||
// TODO: clean this up. This is still bad. Which
|
||||
@@ -27,6 +26,7 @@ enum CourseNum
|
||||
#undef DEFINE_COURSES_END
|
||||
#undef DEFINE_BONUS_COURSE
|
||||
|
||||
#define COURSE_IS_MAIN_COURSE(cmd) (cmd >= COURSE_MIN && cmd <= COURSE_STAGES_MAX)
|
||||
#define COURSE_IS_MAIN_COURSE(cmd) ((cmd) >= COURSE_MIN && (cmd) <= COURSE_STAGES_MAX)
|
||||
#define COURSE_NUM_TO_INDEX(cmd) ((cmd) - 1)
|
||||
|
||||
#endif // COURSE_TABLE_H
|
||||
|
||||
@@ -7,8 +7,7 @@
|
||||
#define STUB_LEVEL(_0, levelenum, _2, _3, _4, _5, _6, _7, _8) levelenum,
|
||||
#define DEFINE_LEVEL(_0, levelenum, _2, _3, _4, _5, _6, _7, _8, _9, _10) levelenum,
|
||||
|
||||
enum LevelNum
|
||||
{
|
||||
enum LevelNum {
|
||||
LEVEL_NONE,
|
||||
#include "levels/level_defines.h"
|
||||
LEVEL_COUNT,
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
#include "behavior_data.h"
|
||||
#include "model_ids.h"
|
||||
|
||||
struct MacroPreset
|
||||
{
|
||||
struct MacroPreset {
|
||||
/*0x00*/ const BehaviorScript *behavior;
|
||||
/*0x04*/ s16 model;
|
||||
/*0x06*/ s16 param;
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
|
||||
/* Mario Animation IDs */
|
||||
|
||||
enum MarioAnimID
|
||||
{
|
||||
enum MarioAnimID {
|
||||
/* 0x00 */ MARIO_ANIM_SLOW_LEDGE_GRAB,
|
||||
/* 0x01 */ MARIO_ANIM_FALL_OVER_BACKWARDS,
|
||||
/* 0x02 */ MARIO_ANIM_BACKWARD_AIR_KB,
|
||||
@@ -196,7 +195,7 @@ enum MarioAnimID
|
||||
/* 0xBC */ MARIO_ANIM_TURNING_PART1,
|
||||
/* 0xBD */ MARIO_ANIM_TURNING_PART2,
|
||||
/* 0xBE */ MARIO_ANIM_SLIDEFLIP_LAND,
|
||||
/* 0XBF */ MARIO_ANIM_SLIDEFLIP,
|
||||
/* 0xBF */ MARIO_ANIM_SLIDEFLIP,
|
||||
/* 0xC0 */ MARIO_ANIM_TRIPLE_JUMP_LAND,
|
||||
/* 0xC1 */ MARIO_ANIM_TRIPLE_JUMP,
|
||||
/* 0xC2 */ MARIO_ANIM_FIRST_PERSON,
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
|
||||
/* Mario Geo-Switch-Case IDs */
|
||||
|
||||
enum MarioEyesGSCId
|
||||
{
|
||||
enum MarioEyesGSCId {
|
||||
/*0x00*/ MARIO_EYES_BLINK,
|
||||
/*0x01*/ MARIO_EYES_OPEN,
|
||||
/*0x02*/ MARIO_EYES_HALF_CLOSED,
|
||||
@@ -16,8 +15,7 @@ enum MarioEyesGSCId
|
||||
/*0x08*/ MARIO_EYES_DEAD
|
||||
};
|
||||
|
||||
enum MarioHandGSCId
|
||||
{
|
||||
enum MarioHandGSCId {
|
||||
/*0x00*/ MARIO_HAND_FISTS,
|
||||
/*0x01*/ MARIO_HAND_OPEN,
|
||||
/*0x02*/ MARIO_HAND_PEACE_SIGN,
|
||||
@@ -26,16 +24,14 @@ enum MarioHandGSCId
|
||||
/*0x05*/ MARIO_HAND_RIGHT_OPEN
|
||||
};
|
||||
|
||||
enum MarioCapGSCId
|
||||
{
|
||||
enum MarioCapGSCId {
|
||||
/*0x00*/ MARIO_HAS_DEFAULT_CAP_ON,
|
||||
/*0x01*/ MARIO_HAS_DEFAULT_CAP_OFF,
|
||||
/*0x02*/ MARIO_HAS_WING_CAP_ON,
|
||||
/*0x03*/ MARIO_HAS_WING_CAP_OFF // unused
|
||||
};
|
||||
|
||||
enum MarioGrabPosGSCId
|
||||
{
|
||||
enum MarioGrabPosGSCId {
|
||||
/*0x00*/ GRAB_POS_NULL,
|
||||
/*0x01*/ GRAB_POS_LIGHT_OBJ,
|
||||
/*0x02*/ GRAB_POS_HEAVY_OBJ,
|
||||
|
||||
@@ -385,7 +385,7 @@
|
||||
|
||||
// group 9
|
||||
#define MODEL_BOO 0x54 // boo_geo
|
||||
#define MODEL_BETA_BOO_KEY 0x55 // small_key_geo
|
||||
#define MODEL_BETA_BOO_KEY 0x55 // small_key_geo
|
||||
#define MODEL_HAUNTED_CHAIR 0x56 // haunted_chair_geo
|
||||
#define MODEL_MAD_PIANO 0x57 // mad_piano_geo
|
||||
#define MODEL_BOOKEND_PART 0x58 // bookend_part_geo
|
||||
@@ -562,7 +562,7 @@
|
||||
#define MODEL_PEACH 0xDE // peach_geo
|
||||
#define MODEL_CHUCKYA 0xDF // chuckya_geo
|
||||
#define MODEL_WHITE_PUFF 0xE0 // white_puff_geo
|
||||
#define MODEL_TRAJECTORY_MARKER_BALL 0xE1 // bowling_ball_track_geo - duplicate used in SSL Pyramid small sized and as a track ball
|
||||
#define MODEL_TRAJECTORY_MARKER_BALL 0xE1 // bowling_ball_track_geo - duplicate used in SSL Pyramid small sized and as a track ball
|
||||
|
||||
// Menu Models (overwrites Level Geometry IDs)
|
||||
#define MODEL_MAIN_MENU_MARIO_SAVE_BUTTON MODEL_LEVEL_GEOMETRY_03 // main_menu_geo_0001D0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -186,8 +186,8 @@
|
||||
#define /*0x0FC*/ oHomingAmpAvgY OBJECT_FIELD_F32(0x1D)
|
||||
|
||||
/* Arrow Lift */
|
||||
#define /*0x0F4*/ oArrowLiftDisplacement OBJECT_FIELD_F32(0x1B)
|
||||
#define /*0x100*/ oArrowLiftUnk100 OBJECT_FIELD_S32(0x1E)
|
||||
#define /*0x0F4*/ oArrowLiftDisplacement OBJECT_FIELD_F32(0x1B)
|
||||
#define /*0x100*/ oArrowLiftUnk100 OBJECT_FIELD_S32(0x1E)
|
||||
|
||||
/* Back-and-Forth Platform */
|
||||
#define /*0x0F4*/ oBackAndForthPlatformDirection OBJECT_FIELD_F32(0x1B)
|
||||
@@ -277,14 +277,14 @@
|
||||
#define /*0x088*/ oBowserCamAct OBJECT_FIELD_S32(0x00)
|
||||
#define /*0x0F4*/ oBowserStatus OBJECT_FIELD_S32(0x1B)
|
||||
#define /*0x0F8*/ oBowserTimer OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x0FC*/ oBowserDistToCentre OBJECT_FIELD_F32(0x1D)
|
||||
#define /*0x0FC*/ oBowserDistToCenter OBJECT_FIELD_F32(0x1D)
|
||||
#define /*0x106*/ oBowserBitsJustJump OBJECT_FIELD_S16(0x1F, 1)
|
||||
#define /*0x108*/ oBowserRandSplitFloor OBJECT_FIELD_S16(0x20, 0)
|
||||
#define /*0x10A*/ oBowserHeldAnglePitch OBJECT_FIELD_S16(0x20, 1)
|
||||
#define /*0x10D*/ oBowserHeldAngleVelYaw OBJECT_FIELD_S16(0x21, 0)
|
||||
#define /*0x10E*/ oBowserGrabbedStatus OBJECT_FIELD_S16(0x21, 1)
|
||||
#define /*0x110*/ oBowserIsReacting OBJECT_FIELD_S16(0x22, 0)
|
||||
#define /*0x112*/ oBowserAngleToCentre OBJECT_FIELD_S16(0x22, 1)
|
||||
#define /*0x112*/ oBowserAngleToCenter OBJECT_FIELD_S16(0x22, 1)
|
||||
#define /*0x1AC*/ oBowserTargetOpacity OBJECT_FIELD_S16(0x49, 0)
|
||||
#define /*0x1AE*/ oBowserEyesTimer OBJECT_FIELD_S16(0x49, 1)
|
||||
#define /*0x1B0*/ oBowserEyesShut OBJECT_FIELD_S16(0x4A, 0)
|
||||
@@ -319,9 +319,9 @@
|
||||
#define /*0x108*/ oBubbaUnk108 OBJECT_FIELD_F32(0x20)
|
||||
#define /*0x10C*/ oBubbaUnk10C OBJECT_FIELD_F32(0x21)
|
||||
#define /*0x1AC*/ oBubbaUnk1AC OBJECT_FIELD_S16(0x49, 0)
|
||||
#define /*0x1AE*/ oBubbaUnk1AE OBJECT_FIELD_S16(0x49, + 1)
|
||||
#define /*0x1AE*/ oBubbaUnk1AE OBJECT_FIELD_S16(0x49, 1)
|
||||
#define /*0x1B0*/ oBubbaUnk1B0 OBJECT_FIELD_S16(0x4A, 0)
|
||||
#define /*0x1B2*/ oBubbaUnk1B2 OBJECT_FIELD_S16(0x4A, + 1)
|
||||
#define /*0x1B2*/ oBubbaUnk1B2 OBJECT_FIELD_S16(0x4A, 1)
|
||||
|
||||
/* Bullet Bill */
|
||||
#define /*0x0F8*/ oBulletBillInitialMoveYaw OBJECT_FIELD_S32(0x1C)
|
||||
@@ -406,7 +406,7 @@
|
||||
#endif
|
||||
|
||||
/* Collision Particle */
|
||||
#define /*0x0F4*/ oCollisionParticleUnkF4 OBJECT_FIELD_F32(0x1B)
|
||||
#define /*0x0F4*/ oCollisionParticleUnkF4 OBJECT_FIELD_F32(0x1B)
|
||||
|
||||
/* Controllable Platform */
|
||||
#define /*0x0F8*/ oControllablePlatformUnkF8 OBJECT_FIELD_S32(0x1C)
|
||||
@@ -442,9 +442,9 @@
|
||||
#define /*0x104*/ oDorrieYawVel OBJECT_FIELD_S32(0x1F)
|
||||
#define /*0x10C*/ oDorrieLiftingMario OBJECT_FIELD_S32(0x21)
|
||||
#define /*0x1AC*/ oDorrieGroundPounded OBJECT_FIELD_S16(0x49, 0)
|
||||
#define /*0x1AE*/ oDorrieAngleToHome OBJECT_FIELD_S16(0x49, + 1)
|
||||
#define /*0x1AE*/ oDorrieAngleToHome OBJECT_FIELD_S16(0x49, 1)
|
||||
#define /*0x1B0*/ oDorrieNeckAngle OBJECT_FIELD_S16(0x4A, 0)
|
||||
#define /*0x1B2*/ oDorrieHeadRaiseSpeed OBJECT_FIELD_S16(0x4A, + 1)
|
||||
#define /*0x1B2*/ oDorrieHeadRaiseSpeed OBJECT_FIELD_S16(0x4A, 1)
|
||||
|
||||
/* Elevator */
|
||||
#define /*0x0F4*/ oElevatorUnkF4 OBJECT_FIELD_F32(0x1B)
|
||||
@@ -523,7 +523,7 @@
|
||||
#define /*0x0F4*/ oFloatingPlatformUnkF4 OBJECT_FIELD_S32(0x1B)
|
||||
#define /*0x0F8*/ oFloatingPlatformUnkF8 OBJECT_FIELD_F32(0x1C)
|
||||
#define /*0x0FC*/ oFloatingPlatformUnkFC OBJECT_FIELD_F32(0x1D)
|
||||
#define /*0x100*/ oFloatingPlatformUnk100 OBJECT_FIELD_S32(0x1E)
|
||||
#define /*0x100*/ oFloatingPlatformUnk100 OBJECT_FIELD_S32(0x1E)
|
||||
|
||||
/* Floor Switch Press Animation */
|
||||
#define /*0x0F4*/ oFloorSwitchPressAnimationUnkF4 OBJECT_FIELD_S32(0x1B)
|
||||
@@ -604,9 +604,9 @@
|
||||
#define /*0x10C*/ oKleptoStartPosZ OBJECT_FIELD_F32(0x21)
|
||||
#define /*0x110*/ oKleptoTimeUntilTargetChange OBJECT_FIELD_S32(0x22)
|
||||
#define /*0x1AC*/ oKleptoTargetNumber OBJECT_FIELD_S16(0x49, 0)
|
||||
#define /*0x1AE*/ oKleptoUnk1AE OBJECT_FIELD_S16(0x49, + 1)
|
||||
#define /*0x1AE*/ oKleptoUnk1AE OBJECT_FIELD_S16(0x49, 1)
|
||||
#define /*0x1B0*/ oKleptoUnk1B0 OBJECT_FIELD_S16(0x4A, 0)
|
||||
#define /*0x1B2*/ oKleptoYawToTarget OBJECT_FIELD_S16(0x4A, + 1)
|
||||
#define /*0x1B2*/ oKleptoYawToTarget OBJECT_FIELD_S16(0x4A, 1)
|
||||
|
||||
/* Koopa */
|
||||
#define /*0x0F4*/ oKoopaAgility OBJECT_FIELD_F32(0x1B)
|
||||
@@ -631,7 +631,7 @@
|
||||
|
||||
/* Koopa Shell Flame */
|
||||
#define /*0x0F4*/ oKoopaShellFlameUnkF4 OBJECT_FIELD_F32(0x1B)
|
||||
#define /*0x0F8*/ oKoopaShellFlameUnkF8 OBJECT_FIELD_F32(0x1C)
|
||||
#define /*0x0F8*/ oKoopaShellFlameScale OBJECT_FIELD_F32(0x1C)
|
||||
|
||||
/* Camera Lakitu */
|
||||
#define /*0x0F4*/ oCameraLakituBlinkTimer OBJECT_FIELD_S32(0x1B)
|
||||
@@ -642,7 +642,7 @@
|
||||
#define /*0x104*/ oCameraLakituUnk104 OBJECT_FIELD_S32(0x1F)
|
||||
#endif
|
||||
#define /*0x1AC*/ oCameraLakituPitchVel OBJECT_FIELD_S16(0x49, 0)
|
||||
#define /*0x1AE*/ oCameraLakituYawVel OBJECT_FIELD_S16(0x49, + 1)
|
||||
#define /*0x1AE*/ oCameraLakituYawVel OBJECT_FIELD_S16(0x49, 1)
|
||||
|
||||
/* Evil Lakitu */
|
||||
#define /*0x0F4*/ oEnemyLakituNumSpinies OBJECT_FIELD_S32(0x1B)
|
||||
@@ -651,14 +651,14 @@
|
||||
#define /*0x100*/ oEnemyLakituFaceForwardCountdown OBJECT_FIELD_S32(0x1E)
|
||||
|
||||
/* Intro Cutscene Lakitu */
|
||||
#define /*0x0F8*/ oIntroLakituSplineSegmentProgress OBJECT_FIELD_F32(0x1C)
|
||||
#define /*0x0FC*/ oIntroLakituSplineSegment OBJECT_FIELD_F32(0x1D)
|
||||
#define /*0x100*/ oIntroLakituUnk100 OBJECT_FIELD_F32(0x1E)
|
||||
#define /*0x104*/ oIntroLakituUnk104 OBJECT_FIELD_F32(0x1F)
|
||||
#define /*0x108*/ oIntroLakituUnk108 OBJECT_FIELD_F32(0x20)
|
||||
#define /*0x10C*/ oIntroLakituUnk10C OBJECT_FIELD_F32(0x21)
|
||||
#define /*0x110*/ oIntroLakituUnk110 OBJECT_FIELD_F32(0x22)
|
||||
#define /*0x1AC*/ oIntroLakituCloud OBJECT_FIELD_OBJ(0x49)
|
||||
#define /*0x0F8*/ oIntroLakituSplineSegmentProgress OBJECT_FIELD_F32(0x1C)
|
||||
#define /*0x0FC*/ oIntroLakituSplineSegment OBJECT_FIELD_F32(0x1D)
|
||||
#define /*0x100*/ oIntroLakituUnk100 OBJECT_FIELD_F32(0x1E)
|
||||
#define /*0x104*/ oIntroLakituUnk104 OBJECT_FIELD_F32(0x1F)
|
||||
#define /*0x108*/ oIntroLakituUnk108 OBJECT_FIELD_F32(0x20)
|
||||
#define /*0x10C*/ oIntroLakituUnk10C OBJECT_FIELD_F32(0x21)
|
||||
#define /*0x110*/ oIntroLakituUnk110 OBJECT_FIELD_F32(0x22)
|
||||
#define /*0x1AC*/ oIntroLakituCloud OBJECT_FIELD_OBJ(0x49)
|
||||
|
||||
/* Main Menu Button */
|
||||
#define /*0x0F4*/ oMenuButtonState OBJECT_FIELD_S32(0x1B)
|
||||
@@ -715,7 +715,7 @@
|
||||
#define /*0x100*/ oMrIUnk100 OBJECT_FIELD_S32(0x1E)
|
||||
#define /*0x104*/ oMrIUnk104 OBJECT_FIELD_S32(0x1F)
|
||||
#define /*0x108*/ oMrIUnk108 OBJECT_FIELD_S32(0x20)
|
||||
#define /*0x10C*/ oMrISize OBJECT_FIELD_F32(0x21)
|
||||
#define /*0x10C*/ oMrIScale OBJECT_FIELD_F32(0x21)
|
||||
#define /*0x110*/ oMrIUnk110 OBJECT_FIELD_S32(0x22)
|
||||
|
||||
/* Object Respawner */
|
||||
@@ -737,9 +737,9 @@
|
||||
// 0x1D-0x21 reserved for pathing
|
||||
#define /*0x110*/ oRacingPenguinWeightedNewTargetSpeed OBJECT_FIELD_F32(0x22)
|
||||
#define /*0x1AC*/ oRacingPenguinFinalTextbox OBJECT_FIELD_S16(0x49, 0)
|
||||
#define /*0x1AE*/ oRacingPenguinMarioWon OBJECT_FIELD_S16(0x49, + 1)
|
||||
#define /*0x1AE*/ oRacingPenguinMarioWon OBJECT_FIELD_S16(0x49, 1)
|
||||
#define /*0x1B0*/ oRacingPenguinReachedBottom OBJECT_FIELD_S16(0x4A, 0)
|
||||
#define /*0x1B2*/ oRacingPenguinMarioCheated OBJECT_FIELD_S16(0x4A, + 1)
|
||||
#define /*0x1B2*/ oRacingPenguinMarioCheated OBJECT_FIELD_S16(0x4A, 1)
|
||||
|
||||
/* Small Penguin */
|
||||
#define /*0x088*/ oSmallPenguinUnk88 OBJECT_FIELD_S32(0x00)
|
||||
@@ -760,7 +760,7 @@
|
||||
|
||||
/* Fire Piranha Plant */
|
||||
#define /*0x0F4*/ oFirePiranhaPlantNeutralScale OBJECT_FIELD_F32(0x1B)
|
||||
#define /*0x0F8*/ oFirePiranhaPlantScale OBJECT_FIELD_F32(0x1C) //Shared with above obj? Coincidence?
|
||||
#define /*0x0F8*/ oFirePiranhaPlantScale OBJECT_FIELD_F32(0x1C) // Shared with above obj? Coincidence?
|
||||
#define /*0x0FC*/ oFirePiranhaPlantActive OBJECT_FIELD_S32(0x1D)
|
||||
#define /*0x100*/ oFirePiranhaPlantDeathSpinTimer OBJECT_FIELD_S32(0x1E)
|
||||
#define /*0x104*/ oFirePiranhaPlantDeathSpinVel OBJECT_FIELD_F32(0x1F)
|
||||
@@ -792,9 +792,9 @@
|
||||
#define /*0x10C*/ oPlatformOnTrackYaw OBJECT_FIELD_S32(0x21)
|
||||
#define /*0x110*/ oPlatformOnTrackOffsetY OBJECT_FIELD_F32(0x22)
|
||||
#define /*0x1AC*/ oPlatformOnTrackIsNotSkiLift OBJECT_FIELD_S16(0x49, 0)
|
||||
#define /*0x1AE*/ oPlatformOnTrackIsNotHMC OBJECT_FIELD_S16(0x49, + 1)
|
||||
#define /*0x1AE*/ oPlatformOnTrackIsNotHMC OBJECT_FIELD_S16(0x49, 1)
|
||||
#define /*0x1B0*/ oPlatformOnTrackType OBJECT_FIELD_S16(0x4A, 0)
|
||||
#define /*0x1B2*/ oPlatformOnTrackWasStoodOn OBJECT_FIELD_S16(0x4A, + 1)
|
||||
#define /*0x1B2*/ oPlatformOnTrackWasStoodOn OBJECT_FIELD_S16(0x4A, 1)
|
||||
|
||||
/* Platform Spawner */
|
||||
#define /*0x0F4*/ oPlatformSpawnerUnkF4 OBJECT_FIELD_S32(0x1B)
|
||||
@@ -857,11 +857,11 @@
|
||||
#define /*0x108*/ oSinkWhenSteppedOnUnk108 OBJECT_FIELD_F32(0x20)
|
||||
|
||||
/* Skeeter */
|
||||
#define /*0x0F4*/ oSkeeterTargetAngle OBJECT_FIELD_S32(0x1B)
|
||||
#define /*0x0F8*/ oSkeeterUnkF8 OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x0FC*/ oSkeeterUnkFC OBJECT_FIELD_F32(0x1D)
|
||||
#define /*0x100*/ oSkeeterWaitTime OBJECT_FIELD_S32(0x1E)
|
||||
#define /*0x1AC*/ oSkeeterUnk1AC OBJECT_FIELD_S16(0x49, 0)
|
||||
#define /*0x0F4*/ oSkeeterTargetAngle OBJECT_FIELD_S32(0x1B)
|
||||
#define /*0x0F8*/ oSkeeterTurningAwayFromWall OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x0FC*/ oSkeeterUnkFC OBJECT_FIELD_F32(0x1D)
|
||||
#define /*0x100*/ oSkeeterWaitTime OBJECT_FIELD_S32(0x1E)
|
||||
#define /*0x1AC*/ oSkeeterUnk1AC OBJECT_FIELD_S16(0x49, 0)
|
||||
|
||||
/* Jrb Sliding Box */
|
||||
#define /*0x0F4*/ oJrbSlidingBoxUnkF4 OBJECT_FIELD_OBJ(0x1B)
|
||||
@@ -875,7 +875,7 @@
|
||||
#define /*0x0F4*/ oSmokeTimer OBJECT_FIELD_S32(0x1B)
|
||||
|
||||
/* Snowman's Bottom */
|
||||
#define /*0x0F4*/ oSnowmansBottomUnkF4 OBJECT_FIELD_F32(0x1B)
|
||||
#define /*0x0F4*/ oSnowmansBottomScale OBJECT_FIELD_F32(0x1B)
|
||||
#define /*0x0F8*/ oSnowmansBottomUnkF8 OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x1AC*/ oSnowmansBottomUnk1AC OBJECT_FIELD_S32(0x49)
|
||||
// 0x1D-0x21 reserved for pathing
|
||||
@@ -894,9 +894,9 @@
|
||||
#define /*0x108*/ oSnufitBodyBaseScale OBJECT_FIELD_S32(0x20)
|
||||
#define /*0x10C*/ oSnufitBullets OBJECT_FIELD_S32(0x21)
|
||||
#define /*0x1AC*/ oSnufitXOffset OBJECT_FIELD_S16(0x49, 0)
|
||||
#define /*0x1AE*/ oSnufitYOffset OBJECT_FIELD_S16(0x49, + 1)
|
||||
#define /*0x1AE*/ oSnufitYOffset OBJECT_FIELD_S16(0x49, 1)
|
||||
#define /*0x1B0*/ oSnufitZOffset OBJECT_FIELD_S16(0x4A, 0)
|
||||
#define /*0x1B2*/ oSnufitBodyScale OBJECT_FIELD_S16(0x4A, + 1)
|
||||
#define /*0x1B2*/ oSnufitBodyScale OBJECT_FIELD_S16(0x4A, 1)
|
||||
|
||||
/* Spindel */
|
||||
#define /*0x0F4*/ oSpindelUnkF4 OBJECT_FIELD_S32(0x1B)
|
||||
@@ -1065,7 +1065,7 @@
|
||||
#define /*0x110*/ oUnagiUnk110 OBJECT_FIELD_F32(0x22)
|
||||
#define /*0x1AC*/ oUnagiUnk1AC OBJECT_FIELD_F32(0x49)
|
||||
#define /*0x1B0*/ oUnagiUnk1B0 OBJECT_FIELD_S16(0x4A, 0)
|
||||
#define /*0x1B2*/ oUnagiUnk1B2 OBJECT_FIELD_S16(0x4A, + 1)
|
||||
#define /*0x1B2*/ oUnagiUnk1B2 OBJECT_FIELD_S16(0x4A, 1)
|
||||
|
||||
/* Water Bomb */
|
||||
#define /*0x0F8*/ oWaterBombVerticalStretch OBJECT_FIELD_F32(0x1C)
|
||||
@@ -1144,7 +1144,7 @@
|
||||
#define /*0x10C*/ oWigglerTargetYaw OBJECT_FIELD_S32(0x21)
|
||||
#define /*0x110*/ oWigglerWalkAwayFromWallTimer OBJECT_FIELD_S32(0x22)
|
||||
#define /*0x1AC*/ oWigglerUnused OBJECT_FIELD_S16(0x49, 0)
|
||||
#define /*0x1AE*/ oWigglerTextStatus OBJECT_FIELD_S16(0x49, + 1)
|
||||
#define /*0x1AE*/ oWigglerTextStatus OBJECT_FIELD_S16(0x49, 1)
|
||||
|
||||
/* Lll Wood Piece */
|
||||
#define /*0x0F4*/ oLllWoodPieceOscillationTimer OBJECT_FIELD_S32(0x1B)
|
||||
|
||||
@@ -291,18 +291,23 @@
|
||||
#define SOUND_GENERAL_PLATFORM /* 0x302D8080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x2D, 0x80, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_DONUT_PLATFORM_EXPLOSION /* 0x302E2080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x2E, 0x20, SOUND_DISCRETE)
|
||||
#define SOUND_GENERAL_BOWSER_BOMB_EXPLOSION /* 0x312F0080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x2F, 0x00, SOUND_NO_VOLUME_LOSS | SOUND_DISCRETE)
|
||||
#if defined(VERSION_JP)
|
||||
#define SOUND_GENERAL_COIN_SPURT /* 0x30300080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x30, 0x00, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_COIN_SPURT_2 /* 0x38300080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x30, 0x00, SOUND_CONSTANT_FREQUENCY | SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_COIN_SPURT_EU /* 0x38302080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x30, 0x20, SOUND_CONSTANT_FREQUENCY | SOUND_DISCRETE) // unverified
|
||||
|
||||
#elif defined(VERSION_US)
|
||||
#define SOUND_GENERAL_COIN_SPURT /* 0x38300080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x30, 0x00, SOUND_CONSTANT_FREQUENCY | SOUND_DISCRETE) // unverified
|
||||
#else
|
||||
#define SOUND_GENERAL_COIN_SPURT /* 0x38302080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x30, 0x20, SOUND_CONSTANT_FREQUENCY | SOUND_DISCRETE) // unverified
|
||||
#endif
|
||||
#define SOUND_GENERAL_EXPLOSION6 /* 0x30310000 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x31, 0x00, 0) // unverified, unused
|
||||
#define SOUND_GENERAL_UNK32 /* 0x30320000 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x32, 0x00, 0) // unverified, unused
|
||||
#define SOUND_GENERAL_BOAT_TILT1 /* 0x30344080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x34, 0x40, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_BOAT_TILT2 /* 0x30354080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x35, 0x40, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_COIN_DROP /* 0x30364080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x36, 0x40, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_UNKNOWN3_LOWPRIO /* 0x30370080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x37, 0x00, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_UNKNOWN3 /* 0x30378080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x37, 0x80, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_UNKNOWN3_2 /* 0x38378080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x37, 0x80, SOUND_CONSTANT_FREQUENCY | SOUND_DISCRETE) // unverified
|
||||
#ifdef VERSION_JP
|
||||
#define SOUND_GENERAL_UNKNOWN3 /* 0x30370080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x37, 0x00, SOUND_DISCRETE) // unverified
|
||||
#else
|
||||
#define SOUND_GENERAL_UNKNOWN3 /* 0x38378080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x37, 0x80, SOUND_CONSTANT_FREQUENCY | SOUND_DISCRETE) // unverified
|
||||
#endif
|
||||
#define SOUND_GENERAL_PENDULUM_SWING /* 0x30380080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x38, 0x00, SOUND_DISCRETE)
|
||||
#define SOUND_GENERAL_CHAIN_CHOMP1 /* 0x30390080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x39, 0x00, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_CHAIN_CHOMP2 /* 0x303A0080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x3A, 0x00, SOUND_DISCRETE) // unverified
|
||||
@@ -319,8 +324,11 @@
|
||||
#define SOUND_GENERAL_QUIET_POUND2 /* 0x30430080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x43, 0x00, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_BIG_POUND /* 0x30440080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x44, 0x00, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_UNK45 /* 0x30450080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x45, 0x00, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_UNK46_LOWPRIO /* 0x30460080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x46, 0x00, SOUND_DISCRETE) // unverified
|
||||
#ifdef VERSION_JP
|
||||
#define SOUND_GENERAL_UNK46 /* 0x30460080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x46, 0x00, SOUND_DISCRETE) // unverified
|
||||
#else
|
||||
#define SOUND_GENERAL_UNK46 /* 0x30468080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x46, 0x80, SOUND_DISCRETE) // unverified
|
||||
#endif
|
||||
#define SOUND_GENERAL_CANNON_UP /* 0x30478080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x47, 0x80, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_GRINDEL_ROLL /* 0x30480080 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x48, 0x00, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_GENERAL_EXPLOSION7 /* 0x30490000 */ SOUND_ARG_LOAD(SOUND_BANK_GENERAL, 0x49, 0x00, 0) // unverified, unused
|
||||
@@ -412,7 +420,7 @@
|
||||
#define SOUND_OBJ_MRI_DEATH /* 0x50140080 */ SOUND_ARG_LOAD(SOUND_BANK_OBJ, 0x14, 0x00, SOUND_DISCRETE)
|
||||
#define SOUND_OBJ_POUNDING1 /* 0x50155080 */ SOUND_ARG_LOAD(SOUND_BANK_OBJ, 0x15, 0x50, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_OBJ_POUNDING1_HIGHPRIO /* 0x50158080 */ SOUND_ARG_LOAD(SOUND_BANK_OBJ, 0x15, 0x80, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_OBJ_WHOMP_LOWPRIO /* 0x50166080 */ SOUND_ARG_LOAD(SOUND_BANK_OBJ, 0x16, 0x60, SOUND_DISCRETE)
|
||||
#define SOUND_OBJ_WHOMP /* 0x50166080 */ SOUND_ARG_LOAD(SOUND_BANK_OBJ, 0x16, 0x60, SOUND_DISCRETE)
|
||||
#define SOUND_OBJ_KING_BOBOMB /* 0x50168080 */ SOUND_ARG_LOAD(SOUND_BANK_OBJ, 0x16, 0x80, SOUND_DISCRETE)
|
||||
#define SOUND_OBJ_BULLY_METAL /* 0x50178080 */ SOUND_ARG_LOAD(SOUND_BANK_OBJ, 0x17, 0x80, SOUND_DISCRETE) // unverified
|
||||
#define SOUND_OBJ_BULLY_EXPLODE /* 0x5018A080 */ SOUND_ARG_LOAD(SOUND_BANK_OBJ, 0x18, 0xA0, SOUND_DISCRETE) // unverified
|
||||
@@ -516,8 +524,11 @@
|
||||
/* Menu Sound Effects */
|
||||
#define SOUND_MENU_CHANGE_SELECT /* 0x7000F880 */ SOUND_ARG_LOAD(SOUND_BANK_MENU, 0x00, 0xF8, SOUND_DISCRETE)
|
||||
#define SOUND_MENU_REVERSE_PAUSE /* 0x70010000 */ SOUND_ARG_LOAD(SOUND_BANK_MENU, 0x01, 0x00, 0) // unverified, unused
|
||||
#ifdef VERSION_JP
|
||||
#define SOUND_MENU_PAUSE /* 0x7002F080 */ SOUND_ARG_LOAD(SOUND_BANK_MENU, 0x02, 0xF0, SOUND_DISCRETE)
|
||||
#define SOUND_MENU_PAUSE_HIGHPRIO /* 0x7002FF80 */ SOUND_ARG_LOAD(SOUND_BANK_MENU, 0x02, 0xFF, SOUND_DISCRETE)
|
||||
#else
|
||||
#define SOUND_MENU_PAUSE /* 0x7002FF80 */ SOUND_ARG_LOAD(SOUND_BANK_MENU, 0x02, 0xFF, SOUND_DISCRETE)
|
||||
#endif
|
||||
#define SOUND_MENU_PAUSE_2 /* 0x7003FF80 */ SOUND_ARG_LOAD(SOUND_BANK_MENU, 0x03, 0xFF, SOUND_DISCRETE)
|
||||
#define SOUND_MENU_MESSAGE_APPEAR /* 0x70040080 */ SOUND_ARG_LOAD(SOUND_BANK_MENU, 0x04, 0x00, SOUND_DISCRETE)
|
||||
#define SOUND_MENU_MESSAGE_DISAPPEAR /* 0x70050080 */ SOUND_ARG_LOAD(SOUND_BANK_MENU, 0x05, 0x00, SOUND_DISCRETE)
|
||||
|
||||
@@ -12,8 +12,7 @@
|
||||
#define SPTYPE_UNKNOWN 3 // object is 14-bytes long, has 3 extra shorts that get converted to floats.
|
||||
#define SPTYPE_DEF_PARAM_AND_YROT 4 // object is 10-bytes long, has y-rotation and uses the default param
|
||||
|
||||
struct SpecialPreset
|
||||
{
|
||||
struct SpecialPreset {
|
||||
/*00*/ u8 preset_id;
|
||||
/*01*/ u8 type; // Determines whether object is 8, 10, 12 or 14 bytes long.
|
||||
/*02*/ u8 defParam; // Default parameter, only used when type is SPTYPE_DEF_PARAM_AND_YROT
|
||||
@@ -23,8 +22,7 @@ struct SpecialPreset
|
||||
|
||||
// Some Models ID's are missing their names because they are probably unused
|
||||
|
||||
static struct SpecialPreset SpecialObjectPresets[] =
|
||||
{
|
||||
static struct SpecialPreset SpecialObjectPresets[] = {
|
||||
{0x00, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_NONE, NULL},
|
||||
{0x01, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_YELLOW_COIN, bhvYellowCoin},
|
||||
{0x02, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_YELLOW_COIN, bhvYellowCoin},
|
||||
|
||||
@@ -43,13 +43,13 @@
|
||||
#define SURFACE_HARD_VERY_SLIPPERY 0x0036 // Hard and very slippery (Always has fall damage)
|
||||
#define SURFACE_HARD_NOT_SLIPPERY 0x0037 // Hard and Non-slippery (Always has fall damage)
|
||||
#define SURFACE_VERTICAL_WIND 0x0038 // Death at bottom with vertical wind
|
||||
#define SURFACE_BOSS_FIGHT_CAMERA 0x0065 // Wide camera for BOB and WF bosses
|
||||
#define SURFACE_BOSS_FIGHT_CAMERA 0x0065 // Wide camera for BoB and WF bosses
|
||||
#define SURFACE_CAMERA_FREE_ROAM 0x0066 // Free roam camera for THI and TTC
|
||||
#define SURFACE_THI3_WALLKICK 0x0068 // Surface where there's a wall kick section in THI 3rd area, has no action defined
|
||||
#define SURFACE_CAMERA_8_DIR 0x0069 // Surface that enables far camera for platforms, used in THI
|
||||
#define SURFACE_CAMERA_MIDDLE 0x006E // Surface camera that returns to the middle, used on the 4 pillars of SSL
|
||||
#define SURFACE_CAMERA_ROTATE_RIGHT 0x006F // Surface camera that rotates to the right (Bowser 1 & THI)
|
||||
#define SURFACE_CAMERA_ROTATE_LEFT 0x0070 // Surface camera that rotates to the left (BOB & TTM)
|
||||
#define SURFACE_CAMERA_ROTATE_LEFT 0x0070 // Surface camera that rotates to the left (BoB & TTM)
|
||||
#define SURFACE_CAMERA_BOUNDARY 0x0072 // Intangible Area, only used to restrict camera movement
|
||||
#define SURFACE_NOISE_VERY_SLIPPERY_73 0x0073 // Very slippery floor with noise, unused
|
||||
#define SURFACE_NOISE_VERY_SLIPPERY_74 0x0074 // Very slippery floor with noise, unused
|
||||
@@ -60,9 +60,9 @@
|
||||
#define SURFACE_NO_CAM_COL_SLIPPERY 0x0079 // Surface with no cam collision flag, slippery with noise (CCM, PSS and TTM slides)
|
||||
#define SURFACE_SWITCH 0x007A // Surface with no cam collision flag, non-slippery with noise, used by switches and Dorrie
|
||||
#define SURFACE_VANISH_CAP_WALLS 0x007B // Vanish cap walls, pass through them with Vanish Cap
|
||||
#define SURFACE_PAINTING_WOBBLE_A6 0x00A6 // Painting wobble (BOB Left)
|
||||
#define SURFACE_PAINTING_WOBBLE_A7 0x00A7 // Painting wobble (BOB Middle)
|
||||
#define SURFACE_PAINTING_WOBBLE_A8 0x00A8 // Painting wobble (BOB Right)
|
||||
#define SURFACE_PAINTING_WOBBLE_A6 0x00A6 // Painting wobble (BoB Left)
|
||||
#define SURFACE_PAINTING_WOBBLE_A7 0x00A7 // Painting wobble (BoB Middle)
|
||||
#define SURFACE_PAINTING_WOBBLE_A8 0x00A8 // Painting wobble (BoB Right)
|
||||
#define SURFACE_PAINTING_WOBBLE_A9 0x00A9 // Painting wobble (CCM Left)
|
||||
#define SURFACE_PAINTING_WOBBLE_AA 0x00AA // Painting wobble (CCM Middle)
|
||||
#define SURFACE_PAINTING_WOBBLE_AB 0x00AB // Painting wobble (CCM Right)
|
||||
@@ -105,9 +105,9 @@
|
||||
#define SURFACE_PAINTING_WOBBLE_D0 0x00D0 // Painting wobble (HMC & COTMC - Left), makes the painting wobble if touched
|
||||
#define SURFACE_PAINTING_WOBBLE_D1 0x00D1 // Painting wobble (Unused, HMC & COTMC - Middle)
|
||||
#define SURFACE_PAINTING_WOBBLE_D2 0x00D2 // Painting wobble (Unused, HMC & COTMC - Right)
|
||||
#define SURFACE_PAINTING_WARP_D3 0x00D3 // Painting warp (BOB Left)
|
||||
#define SURFACE_PAINTING_WARP_D4 0x00D4 // Painting warp (BOB Middle)
|
||||
#define SURFACE_PAINTING_WARP_D5 0x00D5 // Painting warp (BOB Right)
|
||||
#define SURFACE_PAINTING_WARP_D3 0x00D3 // Painting warp (BoB Left)
|
||||
#define SURFACE_PAINTING_WARP_D4 0x00D4 // Painting warp (BoB Middle)
|
||||
#define SURFACE_PAINTING_WARP_D5 0x00D5 // Painting warp (BoB Right)
|
||||
#define SURFACE_PAINTING_WARP_D6 0x00D6 // Painting warp (CCM Left)
|
||||
#define SURFACE_PAINTING_WARP_D7 0x00D7 // Painting warp (CCM Middle)
|
||||
#define SURFACE_PAINTING_WARP_D8 0x00D8 // Painting warp (CCM Right)
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
struct Controller
|
||||
{
|
||||
struct Controller {
|
||||
/*0x00*/ s16 rawStickX; //
|
||||
/*0x02*/ s16 rawStickY; //
|
||||
/*0x04*/ float stickX; // [-64, 64] positive is right
|
||||
@@ -63,16 +62,14 @@ enum SpTaskState {
|
||||
SPTASK_STATE_FINISHED_DP
|
||||
};
|
||||
|
||||
struct SPTask
|
||||
{
|
||||
struct SPTask {
|
||||
/*0x00*/ OSTask task;
|
||||
/*0x40*/ OSMesgQueue *msgqueue;
|
||||
/*0x44*/ OSMesg msg;
|
||||
/*0x48*/ enum SpTaskState state;
|
||||
}; // size = 0x4C, align = 0x8
|
||||
|
||||
struct VblankHandler
|
||||
{
|
||||
struct VblankHandler {
|
||||
OSMesgQueue *queue;
|
||||
OSMesg msg;
|
||||
};
|
||||
@@ -100,8 +97,7 @@ struct Animation {
|
||||
|
||||
#define ANIMINDEX_NUMPARTS(animindex) (sizeof(animindex) / sizeof(u16) / 6 - 1)
|
||||
|
||||
struct GraphNode
|
||||
{
|
||||
struct GraphNode {
|
||||
/*0x00*/ s16 type; // structure type
|
||||
/*0x02*/ s16 flags; // hi = drawing layer, lo = rendering modes
|
||||
/*0x04*/ struct GraphNode *prev;
|
||||
@@ -110,8 +106,7 @@ struct GraphNode
|
||||
/*0x10*/ struct GraphNode *children;
|
||||
};
|
||||
|
||||
struct AnimInfo
|
||||
{
|
||||
struct AnimInfo {
|
||||
/*0x00 0x38*/ s16 animID;
|
||||
/*0x02 0x3A*/ s16 animYTrans;
|
||||
/*0x04 0x3C*/ struct Animation *curAnim;
|
||||
@@ -121,8 +116,7 @@ struct AnimInfo
|
||||
/*0x10 0x48*/ s32 animAccel;
|
||||
};
|
||||
|
||||
struct GraphNodeObject
|
||||
{
|
||||
struct GraphNodeObject {
|
||||
/*0x00*/ struct GraphNode node;
|
||||
/*0x14*/ struct GraphNode *sharedChild;
|
||||
/*0x18*/ s8 areaIndex;
|
||||
@@ -136,8 +130,7 @@ struct GraphNodeObject
|
||||
/*0x54*/ Vec3f cameraToObject;
|
||||
};
|
||||
|
||||
struct ObjectNode
|
||||
{
|
||||
struct ObjectNode {
|
||||
struct GraphNodeObject gfx;
|
||||
struct ObjectNode *next;
|
||||
struct ObjectNode *prev;
|
||||
@@ -146,8 +139,7 @@ struct ObjectNode
|
||||
// NOTE: Since ObjectNode is the first member of Object, it is difficult to determine
|
||||
// whether some of these pointers point to ObjectNode or Object.
|
||||
|
||||
struct Object
|
||||
{
|
||||
struct Object {
|
||||
/*0x000*/ struct ObjectNode header;
|
||||
/*0x068*/ struct Object *parentObj;
|
||||
/*0x06C*/ struct Object *prevObj;
|
||||
@@ -156,8 +148,7 @@ struct Object
|
||||
/*0x076*/ s16 numCollidedObjs;
|
||||
/*0x078*/ struct Object *collidedObjs[4];
|
||||
/*0x088*/
|
||||
union
|
||||
{
|
||||
union {
|
||||
// Object fields. See object_fields.h.
|
||||
u32 asU32[0x50];
|
||||
s32 asS32[0x50];
|
||||
@@ -207,8 +198,7 @@ struct Object
|
||||
/*0x25C*/ void *respawnInfo;
|
||||
};
|
||||
|
||||
struct ObjectHitbox
|
||||
{
|
||||
struct ObjectHitbox {
|
||||
/*0x00*/ u32 interactType;
|
||||
/*0x04*/ u8 downOffset;
|
||||
/*0x05*/ s8 damageOrCoinValue;
|
||||
@@ -220,14 +210,12 @@ struct ObjectHitbox
|
||||
/*0x0E*/ s16 hurtboxHeight;
|
||||
};
|
||||
|
||||
struct Waypoint
|
||||
{
|
||||
struct Waypoint {
|
||||
s16 flags;
|
||||
Vec3s pos;
|
||||
};
|
||||
|
||||
struct Surface
|
||||
{
|
||||
struct Surface {
|
||||
/*0x00*/ s16 type;
|
||||
/*0x02*/ s16 force;
|
||||
/*0x04*/ s8 flags;
|
||||
@@ -246,8 +234,7 @@ struct Surface
|
||||
/*0x2C*/ struct Object *object;
|
||||
};
|
||||
|
||||
struct MarioBodyState
|
||||
{
|
||||
struct MarioBodyState {
|
||||
/*0x00*/ u32 action;
|
||||
/*0x04*/ s8 capState; /// see MarioCapGSCId
|
||||
/*0x05*/ s8 eyeState;
|
||||
@@ -259,11 +246,10 @@ struct MarioBodyState
|
||||
/*0x0C*/ Vec3s torsoAngle;
|
||||
/*0x12*/ Vec3s headAngle;
|
||||
/*0x18*/ Vec3f heldObjLastPosition; /// also known as HOLP
|
||||
u8 padding[4];
|
||||
u8 filler[4];
|
||||
};
|
||||
|
||||
struct MarioState
|
||||
{
|
||||
struct MarioState {
|
||||
/*0x00*/ u16 unk00;
|
||||
/*0x02*/ u16 input;
|
||||
/*0x04*/ u32 flags;
|
||||
|
||||
Reference in New Issue
Block a user