diff --git a/include/config.h b/include/config.h index 61b96358..4048e0a4 100644 --- a/include/config.h +++ b/include/config.h @@ -53,6 +53,8 @@ #define PEACH_SKIP // Remove course specific camera processing #define CAMERA_FIX +// Increase the maximum pone lenght (it will treat bparam1 and bparam2 as a single value) +#define LONGER_POLES // Uncomment this if you want to skip the title screen (Super Mario 64 logo) //#define SKIP_TITLE_SCREEN // Uncomment this if you want to keep the mario head and not skip it diff --git a/src/game/behaviors/pole.inc.c b/src/game/behaviors/pole.inc.c index 0938a99a..9b52b542 100644 --- a/src/game/behaviors/pole.inc.c +++ b/src/game/behaviors/pole.inc.c @@ -1,3 +1,4 @@ +#include "config.h" /** * Behaviors for bhvPoleGrabbing and bhvGiantPole. * @@ -17,9 +18,12 @@ void bhv_pole_init(void) { * `spawn_objects_from_info`. */ - // POLE "FIX": The game will read bparam1 and bparam2 together as a single value, - // so you can have a snake eater pole +#ifdef LONGER_POLES o->hitboxHeight = ((o->oBehParams & 0xFFFF0000) >> 16) * 10; +#else + s32 tenthHitboxHeight = o->oBehParams >> 0x10 & 0xFF; + o->hitboxHeight = tenthHitboxHeight * 10; +#endif } /**