More OBJ_FLAG_UCODE_LARGE usage + fix Mr. I scaling

This commit is contained in:
Arceveti
2021-09-20 23:17:32 -07:00
parent 2badfe6ce0
commit fe9d1f93b1
7 changed files with 30 additions and 112 deletions

View File

@@ -356,7 +356,6 @@ const BehaviorScript bhvMrI[] = {
SET_HOME(),
SPAWN_CHILD(/*Model*/ MODEL_MR_I_IRIS, /*Behavior*/ bhvMrIBody),
SET_MODEL(MODEL_MR_I),
SET_FLOAT(oGraphYOffset, 100),
BILLBOARD(),
CALL_NATIVE(bhv_init_room),
BEGIN_LOOP(),
@@ -691,12 +690,6 @@ const BehaviorScript bhvChuckyaAnchorMario[] = {
END_LOOP(),
};
const BehaviorScript bhvUnused05A8[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
BREAK(),
};
const BehaviorScript bhvRotatingPlatform[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_LONG(oFlags, (OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_DONT_CALC_COLL_DIST | OBJ_FLAG_UCODE_LARGE)),
@@ -1265,19 +1258,6 @@ const BehaviorScript bhvWaterMist2[] = {
END_LOOP(),
};
const BehaviorScript bhvUnused0DFC[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
SET_INT(oAnimState, -1),
SET_FLOAT(oFaceAnglePitch, 0),
SET_FLOAT(oFaceAngleYaw, 0),
SET_FLOAT(oFaceAngleRoll, 0),
BEGIN_REPEAT(6),
ADD_INT(oAnimState, 1),
END_REPEAT(),
DEACTIVATE(),
};
const BehaviorScript bhvMistCircParticleSpawner[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
@@ -1462,7 +1442,7 @@ const BehaviorScript bhvBetaMovingFlames[] = {
const BehaviorScript bhvRrRotatingBridgePlatform[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(rr_seg7_collision_rotating_platform_with_fire),
SET_FLOAT(oCollisionDistance, 1500),
SET_HOME(),
@@ -1678,7 +1658,7 @@ const BehaviorScript bhvAnotherTiltingPlatform[] = {
const BehaviorScript bhvSquarishPathMoving[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
OR_LONG(oFlags, (OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(bitdw_seg7_collision_moving_pyramid),
SET_HOME(),
BEGIN_LOOP(),
@@ -1942,11 +1922,6 @@ const BehaviorScript bhvWhitePuffSmoke[] = {
DEACTIVATE(),
};
const BehaviorScript bhvUnused1820[] = {
BEGIN(OBJ_LIST_DEFAULT),
BREAK(),
};
const BehaviorScript bhvBowserTailAnchor[] = {
BEGIN(OBJ_LIST_GENACTOR),
SET_HITBOX_WITH_OFFSET(/*Radius*/ 100, /*Height*/ 50, /*Downwards offset*/ -50),
@@ -2179,7 +2154,7 @@ const BehaviorScript bhvInvisibleObjectsUnderBridge[] = {
const BehaviorScript bhvWaterLevelPillar[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
OR_LONG(oFlags, (OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(inside_castle_seg7_collision_water_level_pillar),
CALL_NATIVE(bhv_water_level_pillar_init),
BEGIN_LOOP(),
@@ -2251,7 +2226,7 @@ const BehaviorScript bhvStub1D0C[] = {
const BehaviorScript bhvLllRotatingHexagonalPlatform[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_LONG(oFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
OR_LONG(oFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_DONT_CALC_COLL_DIST | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(lll_seg7_collision_hexagonal_platform),
SET_HOME(),
BEGIN_LOOP(),
@@ -2394,12 +2369,6 @@ const BehaviorScript bhvLllTiltingInvertedPyramid[] = {
END_LOOP(),
};
const BehaviorScript bhvUnused1F30[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
BREAK(),
};
const BehaviorScript bhvKoopaShell[] = {
BEGIN(OBJ_LIST_LEVEL),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
@@ -2647,7 +2616,7 @@ const BehaviorScript bhvRockSolid[] = {
const BehaviorScript bhvBowserSubDoor[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(ddd_seg7_collision_bowser_sub_door),
SET_FLOAT(oDrawingDistance, 20000),
SET_FLOAT(oCollisionDistance, 20000),
@@ -2892,7 +2861,7 @@ const BehaviorScript bhvTweesterSandParticle[] = {
const BehaviorScript bhvTweester[] = {
BEGIN(OBJ_LIST_POLELIKE),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
SET_OBJ_PHYSICS(/*Wall hitbox radius*/ 30, /*Gravity*/ -400, /*Bounciness*/ 0, /*Drag strength*/ 0, /*Friction*/ 0, /*Buoyancy*/ 200, /*Unused*/ 0, 0),
DROP_TO_FLOOR(),
SET_HOME(),
@@ -3017,7 +2986,7 @@ const BehaviorScript bhvGhostHuntBoo[] = {
const BehaviorScript bhvHiddenStaircaseStep[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
OR_LONG(oFlags, (OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(bbh_seg7_collision_staircase_step),
SET_INT(oRoom, 1),
SET_FLOAT(oCollisionDistance, 1000),
@@ -3042,7 +3011,7 @@ const BehaviorScript bhvBooStaircase[] = {
const BehaviorScript bhvBbhTiltingTrapPlatform[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(bbh_seg7_collision_tilt_floor_platform),
SET_HOME(),
SET_INT(oRoom, 2),
@@ -3054,7 +3023,7 @@ const BehaviorScript bhvBbhTiltingTrapPlatform[] = {
const BehaviorScript bhvHauntedBookshelf[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
OR_LONG(oFlags, (OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(bbh_seg7_collision_haunted_bookshelf),
SET_HOME(),
SET_INT(oRoom, 6),
@@ -3066,7 +3035,7 @@ const BehaviorScript bhvHauntedBookshelf[] = {
const BehaviorScript bhvMeshElevator[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
OR_LONG(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE),
LOAD_COLLISION_DATA(bbh_seg7_collision_mesh_elevator),
SET_HOME(),
SET_INT(oRoom, 12),
@@ -3080,7 +3049,7 @@ const BehaviorScript bhvMeshElevator[] = {
const BehaviorScript bhvMerryGoRound[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(bbh_seg7_collision_merry_go_round),
SET_FLOAT(oCollisionDistance, 2000),
SET_INT(oRoom, 10),
@@ -3100,10 +3069,6 @@ const BehaviorScript bhvPlaysMusicTrackWhenTouched[] = {
};
#endif
const BehaviorScript bhvInsideCannon[] = {
BREAK(),
};
const BehaviorScript bhvBetaBowserAnchor[] = {
BEGIN(OBJ_LIST_DESTRUCTIVE),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
@@ -3128,13 +3093,6 @@ const BehaviorScript bhvStaticCheckeredPlatform[] = {
END_LOOP(),
};
const BehaviorScript bhvUnused2A10[] = {
BEGIN(OBJ_LIST_DEFAULT),
BILLBOARD(),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
BREAK(),
};
const BehaviorScript bhvUnusedFakeStar[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
@@ -3144,25 +3102,12 @@ const BehaviorScript bhvUnusedFakeStar[] = {
END_LOOP(),
};
// What is this?
UNUSED static const BehaviorScript unused_1[] = {
BREAK(),
BREAK(),
BREAK(),
BREAK(),
};
const BehaviorScript bhvStaticObject[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_LONG(oFlags, (OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
BREAK(),
};
const BehaviorScript bhvUnused2A54[] = {
BEGIN(OBJ_LIST_DEFAULT),
BREAK(),
};
const BehaviorScript bhvCastleFloorTrap[] = {
BEGIN(OBJ_LIST_DEFAULT),
DISABLE_RENDERING(),
@@ -3890,32 +3835,17 @@ const BehaviorScript bhvBetaHoldableObject[] = {
END_LOOP(),
};
const BehaviorScript bhvCarrySomething1[] = {
const BehaviorScript bhvCarrySomethingHeld[] = {
BEGIN(OBJ_LIST_DEFAULT),
BREAK(),
};
const BehaviorScript bhvCarrySomething2[] = {
const BehaviorScript bhvCarrySomethingDropped[] = {
BEGIN(OBJ_LIST_DEFAULT),
BREAK(),
};
const BehaviorScript bhvCarrySomething3[] = {
BEGIN(OBJ_LIST_DEFAULT),
BREAK(),
};
const BehaviorScript bhvCarrySomething4[] = {
BEGIN(OBJ_LIST_DEFAULT),
BREAK(),
};
const BehaviorScript bhvCarrySomething5[] = {
BEGIN(OBJ_LIST_DEFAULT),
BREAK(),
};
const BehaviorScript bhvCarrySomething6[] = {
const BehaviorScript bhvCarrySomethingThrown[] = {
BEGIN(OBJ_LIST_DEFAULT),
BREAK(),
};
@@ -4349,7 +4279,7 @@ const BehaviorScript bhvRrCruiserWing[] = {
const BehaviorScript bhvSpindel[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(ssl_seg7_collision_spindel),
CALL_NATIVE(bhv_spindel_init),
BEGIN_LOOP(),
@@ -4360,7 +4290,7 @@ const BehaviorScript bhvSpindel[] = {
const BehaviorScript bhvSslMovingPyramidWall[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
LOAD_COLLISION_DATA(ssl_seg7_collision_0702808C),
CALL_NATIVE(bhv_ssl_moving_pyramid_wall_init),
BEGIN_LOOP(),
@@ -5342,7 +5272,7 @@ const BehaviorScript bhvMontyMoleRock[] = {
const BehaviorScript bhvPlatformOnTrack[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
SET_OBJ_PHYSICS(/*Wall hitbox radius*/ 50, /*Gravity*/ -100, /*Bounciness*/ -50, /*Drag strength*/ 100, /*Friction*/ 1000, /*Buoyancy*/ 200, /*Unused*/ 0, 0),
CALL_NATIVE(bhv_init_room),
CALL_NATIVE(bhv_platform_on_track_init),
@@ -5386,7 +5316,7 @@ const BehaviorScript bhvFerrisWheelAxle[] = {
const BehaviorScript bhvFerrisWheelPlatform[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
OR_LONG(oFlags, (OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
BEGIN_LOOP(),
CALL_NATIVE(bhv_ferris_wheel_platform_update),
CALL_NATIVE(load_object_collision_model),
@@ -5588,7 +5518,7 @@ const BehaviorScript bhvOctagonalPlatformRotating[] = {
const BehaviorScript bhvAnimatesOnFloorSwitchPress[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_LONG(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)),
SET_FLOAT(oCollisionDistance, 8000),
CALL_NATIVE(bhv_animates_on_floor_switch_press_init),
BEGIN_LOOP(),