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(),

View File

@@ -33,7 +33,6 @@ extern const BehaviorScript bhvCannonBarrel[];
extern const BehaviorScript bhvCannonBaseUnused[];
extern const BehaviorScript bhvChuckya[];
extern const BehaviorScript bhvChuckyaAnchorMario[];
extern const BehaviorScript bhvUnused05A8[];
extern const BehaviorScript bhvRotatingPlatform[];
extern const BehaviorScript bhvTower[];
extern const BehaviorScript bhvBulletBillCannon[];
@@ -86,10 +85,8 @@ extern const BehaviorScript bhvWaterMist[];
extern const BehaviorScript bhvBreathParticleSpawner[];
extern const BehaviorScript bhvBreakBoxTriangle[];
extern const BehaviorScript bhvWaterMist2[];
extern const BehaviorScript bhvUnused0DFC[];
extern const BehaviorScript bhvMistCircParticleSpawner[];
extern const BehaviorScript bhvDirtParticleSpawner[];
extern const BehaviorScript bhvUnused0E40[];
extern const BehaviorScript bhvSnowParticleSpawner[];
extern const BehaviorScript bhvWind[];
extern const BehaviorScript bhvEndToad[];
@@ -153,7 +150,6 @@ extern const BehaviorScript bhvBetaBooKey[];
extern const BehaviorScript bhvAlphaBooKey[];
extern const BehaviorScript bhvBulletBill[];
extern const BehaviorScript bhvWhitePuffSmoke[];
extern const BehaviorScript bhvUnused1820[];
extern const BehaviorScript bhvBowserTailAnchor[];
extern const BehaviorScript bhvBowser[];
extern const BehaviorScript bhvBowserBodyAnchor[];
@@ -195,7 +191,6 @@ extern const BehaviorScript bhvLllRotatingHexagonalRing[];
extern const BehaviorScript bhvLllSinkingRectangularPlatform[];
extern const BehaviorScript bhvLllSinkingSquarePlatforms[];
extern const BehaviorScript bhvLllTiltingInvertedPyramid[];
extern const BehaviorScript bhvUnused1F30[];
extern const BehaviorScript bhvKoopaShell[];
extern const BehaviorScript bhvKoopaShellFlame[];
extern const BehaviorScript bhvToxBox[];
@@ -231,7 +226,6 @@ extern const BehaviorScript bhvJrbSlidingBox[];
extern const BehaviorScript bhvShipPart3[];
extern const BehaviorScript bhvInSunkenShip3[];
extern const BehaviorScript bhvSunkenShipPart[];
extern const BehaviorScript bhvUnused243C[];
extern const BehaviorScript bhvSunkenShipPart2[];
extern const BehaviorScript bhvInSunkenShip[];
extern const BehaviorScript bhvInSunkenShip2[];
@@ -266,13 +260,10 @@ extern const BehaviorScript bhvBbhTiltingTrapPlatform[];
extern const BehaviorScript bhvHauntedBookshelf[];
extern const BehaviorScript bhvMeshElevator[];
extern const BehaviorScript bhvMerryGoRound[];
extern const BehaviorScript bhvInsideCannon[];
extern const BehaviorScript bhvBetaBowserAnchor[];
extern const BehaviorScript bhvStaticCheckeredPlatform[];
extern const BehaviorScript bhvUnused2A10[];
extern const BehaviorScript bhvStar[];
extern const BehaviorScript bhvStaticObject[];
extern const BehaviorScript bhvUnused2A54[];
extern const BehaviorScript bhvCastleFloorTrap[];
extern const BehaviorScript bhvFloorTrapInCastle[];
extern const BehaviorScript bhvTree[];
@@ -342,12 +333,9 @@ extern const BehaviorScript bhvCirclingAmp[];
extern const BehaviorScript bhvButterfly[];
extern const BehaviorScript bhvHoot[];
extern const BehaviorScript bhvBetaHoldableObject[];
extern const BehaviorScript bhvCarrySomething1[];
extern const BehaviorScript bhvCarrySomething2[];
extern const BehaviorScript bhvCarrySomething3[];
extern const BehaviorScript bhvCarrySomething4[];
extern const BehaviorScript bhvCarrySomething5[];
extern const BehaviorScript bhvCarrySomething6[];
extern const BehaviorScript bhvCarrySomethingHeld[];
extern const BehaviorScript bhvCarrySomethingDropped[];
extern const BehaviorScript bhvCarrySomethingThrown[];
extern const BehaviorScript bhvObjectBubble[];
extern const BehaviorScript bhvObjectWaterWave[];
extern const BehaviorScript bhvExplosion[];

View File

@@ -53,7 +53,7 @@ struct MacroPreset MacroObjectPresets[] = {
{bhvGoomba, MODEL_GOOMBA, 0},
{bhvHomingAmp, MODEL_AMP, 0},
{bhvCirclingAmp, MODEL_AMP, 0},
{bhvCarrySomething1, MODEL_UNKNOWN_7D, 0}, // unused
{bhvYellowCoin, MODEL_UNKNOWN_7D, 0}, // unused
{bhvBetaTrampolineTop, MODEL_TRAMPOLINE, 0}, // unused
{bhvFreeBowlingBall, MODEL_BOWLING_BALL, 0}, // unused
{bhvSnufit, MODEL_SNUFIT, 0},

View File

@@ -88,7 +88,6 @@ static const LevelScript script_func_local_2[] = {
OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR_BASE, /*pos*/ 2078, -2966, -6232, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvPillarBase),
OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR_BASE, /*pos*/ 4330, -2966, -5618, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvPillarBase),
OBJECT(/*model*/ MODEL_JRB_FLOATING_PLATFORM, /*pos*/ -1059, 1025, 7072, /*angle*/ 0, 247, 0, /*behParam*/ 0x00000000, /*beh*/ bhvJrbFloatingPlatform),
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -4236, 1044, 2136, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvInsideCannon),
RETURN(),
};

View File

@@ -219,6 +219,7 @@ void mr_i_act_0(void) {
o->oMoveAngleRoll = 0;
#endif
cur_obj_scale(o->oBehParams2ndByte + 1);
o->oGraphYOffset = 100.0f * o->header.gfx.scale[1];
if (o->oTimer == 0)
cur_obj_set_pos_to_home();
if (o->oDistanceToMario < 1500.0f)

View File

@@ -289,7 +289,7 @@ void mario_stop_riding_object(struct MarioState *m) {
void mario_grab_used_object(struct MarioState *m) {
if (m->heldObj == NULL) {
m->heldObj = m->usedObj;
obj_set_held_state(m->heldObj, bhvCarrySomething3);
obj_set_held_state(m->heldObj, bhvCarrySomethingHeld);
}
}
@@ -299,7 +299,7 @@ void mario_drop_held_object(struct MarioState *m) {
stop_shell_music();
}
obj_set_held_state(m->heldObj, bhvCarrySomething4);
obj_set_held_state(m->heldObj, bhvCarrySomethingDropped);
// ! When dropping an object instead of throwing it, it will be put at Mario's
// y-positon instead of the HOLP's y-position. This fact is often exploited when
@@ -320,7 +320,7 @@ void mario_throw_held_object(struct MarioState *m) {
stop_shell_music();
}
obj_set_held_state(m->heldObj, bhvCarrySomething5);
obj_set_held_state(m->heldObj, bhvCarrySomethingThrown);
m->heldObj->oPosX = m->marioBodyState->heldObjLastPosition[0] + 32.0f * sins(m->faceAngle[1]);
m->heldObj->oPosY = m->marioBodyState->heldObjLastPosition[1];

View File

@@ -263,15 +263,15 @@ void obj_set_held_state(struct Object *obj, const BehaviorScript *heldBehavior)
obj->parentObj = o;
if (obj->oFlags & OBJ_FLAG_HOLDABLE) {
if (heldBehavior == bhvCarrySomething3) {
if (heldBehavior == bhvCarrySomethingHeld) {
obj->oHeldState = HELD_HELD;
}
if (heldBehavior == bhvCarrySomething5) {
if (heldBehavior == bhvCarrySomethingThrown) {
obj->oHeldState = HELD_THROWN;
}
if (heldBehavior == bhvCarrySomething4) {
if (heldBehavior == bhvCarrySomethingDropped) {
obj->oHeldState = HELD_DROPPED;
}
} else {