2019-10-05 15:08:05 -04:00
# ifndef CONFIG_H
# define CONFIG_H
2019-08-25 00:46:40 -04:00
/**
* @ file config . h
* A catch - all file for configuring various bugfixes and other settings
* ( maybe eventually ) in SM64
*/
// Bug Fixes
// --| US Version Nintendo Bug Fixes
/// Fixes bug where obtaining over 999 coins sets the number of lives to 999 (or -25)
2020-04-03 14:57:26 -04:00
# define BUGFIX_MAX_LIVES (0 || VERSION_US || VERSION_EU || VERSION_SH)
2019-11-03 14:36:27 -05:00
/// Fixes bug where the Boss music won't fade out after defeating King Bob-omb
2020-12-03 14:26:38 -05:00
# define BUGFIX_KING_BOB_OMB_FADE_MUSIC (0 || VERSION_US || VERSION_EU || VERSION_SH)
2019-08-25 00:46:40 -04:00
/// Fixes bug in Bob-Omb Battlefield where entering a warp stops the Koopa race music
2020-04-03 14:57:26 -04:00
# define BUGFIX_KOOPA_RACE_MUSIC (0 || VERSION_US || VERSION_EU || VERSION_SH)
2019-08-25 00:46:40 -04:00
/// Fixes bug where Piranha Plants do not reset their action state when the
/// player exits their activation radius.
2020-04-03 14:57:26 -04:00
# define BUGFIX_PIRANHA_PLANT_STATE_RESET (0 || VERSION_US || VERSION_EU || VERSION_SH)
2019-08-25 00:46:40 -04:00
/// Fixes bug where sleeping Piranha Plants damage players that bump into them
2020-04-03 14:57:26 -04:00
# define BUGFIX_PIRANHA_PLANT_SLEEP_DAMAGE (0 || VERSION_US || VERSION_SH)
2019-08-25 00:46:40 -04:00
/// Fixes bug where it shows a star when you grab a key in bowser battle stages
2020-12-03 14:26:38 -05:00
# define BUGFIX_STAR_BOWSER_KEY (0 || VERSION_US || VERSION_EU || VERSION_SH)
2019-08-25 00:46:40 -04:00
2020-12-08 19:28:12 -05:00
// Support Rumble Pak
2021-06-28 14:08:49 +01:00
// Currently not recommended, as it may cause random crashes.
2021-05-24 09:02:40 +01:00
//#define ENABLE_RUMBLE (1 || VERSION_SH)
2020-12-08 19:28:12 -05:00
2021-06-08 12:39:10 -04:00
// Clear RAM on boot
# define CLEARRAM 1
2019-10-05 15:08:05 -04:00
// Screen Size Defines
2019-08-25 00:46:40 -04:00
# define SCREEN_WIDTH 320
# define SCREEN_HEIGHT 240
2019-10-05 15:08:05 -04:00
// Border Height Define for NTSC Versions
2020-06-02 12:44:34 -04:00
# ifdef TARGET_N64
2020-02-03 00:51:26 -05:00
# ifndef VERSION_EU
2021-04-27 12:12:11 +01:00
# define BORDER_HEIGHT 0
2020-02-03 00:51:26 -05:00
# else
2021-04-27 12:12:11 +01:00
# define BORDER_HEIGHT 0
2020-02-03 00:51:26 -05:00
# endif
2020-06-02 12:44:34 -04:00
# else
// What's the point of having a border?
# define BORDER_HEIGHT 0
2021-05-26 14:41:46 +01:00
2019-08-25 00:46:40 -04:00
# endif
2020-06-02 12:44:34 -04:00
2021-05-26 14:41:46 +01:00
// --ultrasm64-extbounds specific settings--
// Enable widescreen (16:9) support
# define WIDE
2021-05-26 14:44:07 +01:00
// When this option is enabled, LODs will ONLY work on console.
// When this option is disabled, LODs will work regardless of whether console or emulator is used.
2021-05-26 16:27:46 +01:00
// Regardless of whether this setting is enabled or not, you can use gIsConsole to wrap your own code in a console check.
2021-05-26 14:44:07 +01:00
# define AUTO_LOD
2021-05-26 15:07:11 +01:00
// Skip peach letter cutscene
# define PEACH_SKIP
2021-07-03 21:33:17 +01:00
// Fixes the castle music sometimes triggering after getting a dialog
# define CASTLE_MUSIC_FIX
2021-05-26 15:10:32 +01:00
// Remove course specific camera processing
# define CAMERA_FIX
2021-05-26 17:06:48 +01:00
// Increase the maximum pole length (it will treat bparam1 and bparam2 as a single value)
2021-05-26 15:13:36 +01:00
# define LONGER_POLES
2021-05-27 17:35:05 +01:00
// Disable lives and hide the lives counter
# define DISABLE_LIVES
2021-05-28 23:40:01 +01:00
// Disable AA (Recommended: it changes nothing on emulator, and it makes console run better)
# define DISABLE_AA
2021-06-01 15:55:51 +01:00
// Fix instant warp offset not working when warping across different areas
# define INSTANT_WARP_OFFSET_FIX
2021-06-12 09:43:42 +01:00
// Allows Mario to ledgegrab sloped floors
# define NO_FALSE_LEDGEGRABS
2021-06-21 17:35:28 +01:00
// Allows Mario to jump kick on steep surfaces that are set to be non slippery, instead of being forced to dive
# define JUMP_KICK_FIX
2021-06-30 22:27:43 +01:00
// Allow Mario to grab hangable ceilings from any state
# define HANGING_FIX
2021-06-29 19:35:07 +01:00
// 46 degree walkicks
//#define WALLKICKS_46_DEGREES
2021-07-01 10:28:34 +01:00
// Disable BLJs and crush SimpleFlips's dreams
//#define DISABLE_BLJ
2021-06-27 12:57:07 +01:00
// Disables fall damage
# define NO_FALL_DAMAGE
2021-06-27 13:06:18 +01:00
// Disables the scream that mario makes when falling off a great height (this is separate from actual fall damage)
//#define NO_FALL_DAMAGE_SOUND
2021-06-27 13:03:53 +01:00
// Number of coins to spawn the "100 coin" star. If you remove the define altogether, then there won't be a 100 coin star at all.
# define X_COIN_STAR 100
2021-06-27 21:26:56 +01:00
// Platform displacement 2 also known as momentum patch. Makes Mario keep the momemtum from moving platforms. Breaks treadmills.
# define PLATFORM_DISPLACEMENT_2
2021-06-27 22:04:25 +01:00
// Whether a tree uses snow particles or not is decided via the model IDs instead of the course number
# define TREE_PARTICLE_FIX
2021-06-30 23:10:03 +01:00
// Disable exit course
//#define DISABLE_EXIT_COURSE
2021-07-03 20:42:31 +01:00
// Decides whether you can exit course while moving (has no effect if you disable exit course)
//#define EXIT_COURSE_WHILE_MOVING
2021-06-30 23:10:03 +01:00
// Decides which level "exit course" takes you to (has no effect if you disable exit course)
# define EXIT_COURSE_LEVEL LEVEL_CASTLE
// Decides the area node "exit course" takes you to (has no effect if you disable exit course)
# define EXIT_COURSE_AREA 0x01
// Decides the warp node "exit course" takes you to (has no effect if you disable exit course)
# define EXIT_COURSE_NODE 0x1F
2021-06-27 13:00:26 +01:00
// Stars don't kick you out of the level
// #define NON_STOP_STARS
2021-05-26 16:18:42 +01:00
// Uncomment this if you want global star IDs (useful for creating an open world hack ala MVC)
//#define GLOBAL_STAR_IDS
2021-05-26 15:01:56 +01:00
// Uncomment this if you want to skip the title screen (Super Mario 64 logo)
//#define SKIP_TITLE_SCREEN
2021-05-26 15:07:11 +01:00
// Uncomment this if you want to keep the mario head and not skip it
//#define KEEP_MARIO_HEAD
2021-05-27 00:21:37 -04:00
// Number of possible unique model ID's (keep it higher than 256)
2021-05-27 13:45:15 -04:00
# define MODEL_ID_COUNT 256
2021-07-11 20:02:12 -04:00
//Skybox size modifier, changing this will add support for larger skybox images. NOTE: Vanilla skyboxes may break if you change this option. Be sure to rescale them accordingly.
//Whenever you change this, make sure to run "make -C tools clean" to rebuild the skybox tool (alternatively go into skyconv.c and change the file in any way (like adding/deleting a space) to specifically rebuild that tool).
# define SKYBOX_SIZE 1
2021-05-26 14:41:46 +01:00
2021-06-27 17:19:09 +01:00
// If you want to change the extended boundaries mode, go to engine/extended_bounds.h and change EXTENDED_BOUNDS_MODE
2021-05-26 15:28:06 +01:00
2020-06-02 12:44:34 -04:00
# endif // CONFIG_H