Fix formatting inconsistencies in config files (#303)

Fix formatting inconsistencies in config files
This commit is contained in:
Arceveti
2022-01-21 20:00:25 -08:00
committed by GitHub
parent 483b72e7da
commit 730f020b6d
17 changed files with 172 additions and 190 deletions

View File

@@ -4,12 +4,12 @@
* AUDIO SETTINGS *
******************/
// Fixes the castle music sometimes triggering after getting a dialog
// Fixes the castle music sometimes triggering after getting a dialog.
#define CASTLE_MUSIC_FIX
// Increase audio heap size to allow for more concurrent notes to be played and for more custom sequences/banks to be imported (not supported for SH)
// Increases the audio heap size to allow for more concurrent notes to be played and for more custom sequences/banks to be imported (not supported for SH).
#define EXPAND_AUDIO_HEAP
// Use a much better implementation of reverb over vanilla's fake echo reverb. Great for caves or eerie levels, as well as just a better audio experience in general.
// Uses a much better implementation of reverb over vanilla's fake echo reverb. Great for caves or eerie levels, as well as just a better audio experience in general.
// Reverb parameters can be configured in audio/synthesis.c to meet desired aesthetic/performance needs. Currently US/JP only. Hurts emulator and console performance.
//#define BETTER_REVERB
// #define BETTER_REVERB

View File

@@ -3,11 +3,11 @@
/**********************
* BENCHMARK SETTINGS *
**********************/
/**
* Enabling this will enable a set of defines in order to run a benchmark on the game
* Currently this just starts the credits, and enables puppyprint debug
*/
/**
* Enabling this will enable a set of defines in order to run a benchmark on the game.
* Currently this just starts the credits, and enables PUPPYPRINT_DEBUG.
*/
// #define ENABLE_CREDITS_BENCHMARK
#ifdef ENABLE_CREDITS_BENCHMARK

View File

@@ -4,37 +4,37 @@
* CAMERA SETTINGS *
*******************/
// Force the camera mode to your choice (except when swimming or flying)
// Forces the camera mode to your choice (except when swimming or flying).
// It does this by setting the area's camera->defMode to this mode, and also
// changes hardcoded modes to use c->defMode
// Note: removes door cutscenes due to the way they're designed to work with specific modes
// Search for FORCED_CAMERA_MODE in camera.c for more information
// changes hardcoded modes to use c->defMode.
// Note: removes door cutscenes due to the way they're designed to work with specific modes.
// Search for FORCED_CAMERA_MODE in camera.c for more information.
#define FORCED_CAMERA_MODE CAMERA_MODE_8_DIRECTIONS
// Changes hardcoded camera mode reverting to instead use the area's default mode (defMode)
// If you're using a FORCED_CAMERA_MODE, this must be on for it to work
// Changes hardcoded camera mode reverting to instead use the area's default mode (defMode).
// If you're using a FORCED_CAMERA_MODE, this must be on for it to work.
#define USE_COURSE_DEFAULT_MODE
/***** Movement specific camera modes: *****/
// Camera mode when Mario is < 400 units away from the water surface (default is CAMERA_MODE_WATER_SURFACE)
// Camera mode when Mario is < 400 units away from the water surface (default is CAMERA_MODE_WATER_SURFACE).
#define WATER_SURFACE_CAMERA_MODE CAMERA_MODE_WATER_SURFACE
// Camera mode when Mario is > 800 units away from the water surface (default is CAMERA_MODE_BEHIND_MARIO)
// Camera mode when Mario is > 800 units away from the water surface (default is CAMERA_MODE_BEHIND_MARIO).
#define DEEP_WATER_CAMERA_MODE CAMERA_MODE_BEHIND_MARIO
// Camera mode when Mario is flying (default is CAMERA_MODE_BEHIND_MARIO)
// Camera mode when Mario is flying (default is CAMERA_MODE_BEHIND_MARIO).
#define FLYING_CAMERA_MODE CAMERA_MODE_BEHIND_MARIO
/*******************************************/
// Makes the camera approach Mario's height much more quickly
// Makes the camera approach Mario's height much more quickly.
#define FAST_VERTICAL_CAMERA_MOVEMENT
// Enables "parallel lakitu camera" or "aglab cam" which lets you move the camera smoothly with the dpad
// Enables "parallel lakitu camera" or "aglab cam" which lets you move the camera smoothly with the D-pad.
#define PARALLEL_LAKITU_CAM
// Enables Puppy Camera 2, a rewritten camera that can be freely configured and modified.
// #define PUPPYCAM
// Note: Reonucam is available, but because we had no time to test it properly, it's included as a patch rather than being in the code by default.
// Run this command to apply the patch if you want to use it:
// Run this command to apply the patch if you want to use it:
// tools/apply_patch.sh enhancements/reonucam.patch
// Consider it a beta, but it should work fine. Please report any bugs with it. Applying the patch will simply add a define here, so you can still turn it off even after patching.
@@ -42,13 +42,13 @@
/***** Vanilla config options *****/
/**********************************/
// Included for ENABLE_VANILLA_LEVEL_SPECIFIC_CHECKS define
// Included for ENABLE_VANILLA_LEVEL_SPECIFIC_CHECKS define.
#include "config_game.h"
// Allow course specific camera processing
// You will likely want this disabled in non-vanilla hacks
// Allow course specific camera processing.
// You will likely want this disabled in non-vanilla hacks.
// This is automatically enabled when ENABLE_VANILLA_LEVEL_SPECIFIC_CHECKS is enabled,
// but feel free to override it if you really want to for some reason
// but feel free to override it if you really want to for some reason/
#ifdef ENABLE_VANILLA_LEVEL_SPECIFIC_CHECKS
#define ENABLE_VANILLA_CAM_PROCESSING
#endif

View File

@@ -8,10 +8,10 @@
// The defined number is the forward speed threshold before the change is active, since it's only noticeable at lower speeds.
#define FAST_FLOOR_ALIGN 10
// Automatically calculate the optimal collision distance for an object based on its vertices.
// Automatically calculates the optimal collision distance for an object based on its vertices.
#define AUTO_COLLISION_DISTANCE
// Allow all surfaces types to have force, (doesn't require setting force, just allows it to be optional).
// Allows all surfaces types to have force, (doesn't require setting force, just allows it to be optional).
#define ALL_SURFACES_HAVE_FORCE
// Number of walls that can push Mario at once. Vanilla is 4.

View File

@@ -6,8 +6,8 @@
// -- CUTSCENE SKIPS --
// Skip peach letter cutscene
// Skips the peach letter cutscene.
#define PEACH_SKIP
// Uncomment this if you want to skip the title screen (Super Mario 64 logo)
//#define SKIP_TITLE_SCREEN
// Skips the title/splash screen (Super Mario 64 logo).
// #define SKIP_TITLE_SCREEN

View File

@@ -7,7 +7,7 @@
// Enables most debug options, including PUPPYPRINT_DEBUG.
// #define DEBUG_ALL
// Disables all debug options (except PUPPYPRINT)
// Disables all debug options (except PUPPYPRINT).
#define DISABLE_ALL
// TEST LEVEL
@@ -16,37 +16,37 @@
// If you want the game to boot normally, just comment out the define again.
// #define TEST_LEVEL LEVEL_BOB
// Enable debug level select. Hold L while the game boots to turn it on.
// Enables debug level select. Hold L while the game boots to turn it on.
#define DEBUG_LEVEL_SELECT
// Enable debug free move (DPad up to enter, A to exit).
// Enables debug free move (D-pad up to enter, A to exit).
#define ENABLE_DEBUG_FREE_MOVE
// Include a custom, enhanced performance profiler. (Enables PUPPYPRINT by default in config_safeguards).
// Enables a custom, enhanced performance profiler. (Enables PUPPYPRINT by default in config_safeguards).
// #define PUPPYPRINT_DEBUG 1
// Use cycles instead of microseconds in Puppyprint debug output.
// Uses cycles instead of microseconds in Puppyprint debug output.
// #define PUPPYPRINT_DEBUG_CYCLES
// A vanilla style debug mode. It doesn't rely on a text engine, but it's much less powerful that PUPPYPRINT_DEBUG.
// Press DPAD left to show the debug UI.
// A vanilla style debug mode. It doesn't rely on a text engine, but it's much less powerful that PUPPYPRINT_DEBUG.
// Press D-pad left to show the debug UI.
// #define VANILLA_STYLE_CUSTOM_DEBUG
// Visual debug enables some collision visuals. Tapping Right on the dpad will cycle between visual hitboxes, visual surfaces, both, and neither.
// Visual debug enables some collision visuals. Tapping Right on the D-pad will cycle between visual hitboxes, visual surfaces, both, and neither.
// If puppyprint is enabled, then this can be cycled only while the screen is active.
// #define VISUAL_DEBUG
// Open all courses and doors. Used for debugging purposes to unlock all content.
// Opens all courses and doors. Used for debugging purposes to unlock all content.
#define UNLOCK_ALL
// Same as above, but also reads all save file flags as complete.
// This will not overwrite existing save file data unless you save over it.
// #define COMPLETE_SAVE_FILE
// Removes the limit on FPS
// Removes the limit on FPS.
// #define UNLOCK_FPS
// Include vanilla debug functionality.
// Includes vanilla debug functionality.
// #define VANILLA_DEBUG
// Forces a crash when the game starts. Useful for debugging the crash screen.

View File

@@ -4,29 +4,29 @@
* GAME SETTINGS *
*****************/
/**
/**
* Enables some mechanics that change behavior depending on hardcoded level numbers.
* You may also need to change sLevelsWithRooms in object_helpers.c
* TODO: separate this into separate defines, behavior params, or make these mechanics otherwise dynamic
* You may also need to change sLevelsWithRooms in object_helpers.c.
* TODO: separate this into separate defines, behavior params, or make these mechanics otherwise dynamic.
*/
// #define ENABLE_VANILLA_LEVEL_SPECIFIC_CHECKS
// Disable lives and hide the lives counter
// Disables lives and hides the lives counter.
#define DISABLE_LIVES
// Save number of lives to the save file (Does nothing if DISABLE_LIVES is enabled)
// Saves the number of lives to the save file (Does nothing if DISABLE_LIVES is enabled).
#define SAVE_NUM_LIVES
// The number of lives Mario starts with after a game over or starting the game for the first time (must be lower than 127)
// This is the number of lives Mario starts with after a game over or starting the game for the first time (must be lower than 127).
#define DEFAULT_NUM_LIVES 4
// This can be 0..127
// This can be 0..127.
#define MAX_NUM_LIVES 100
// This can be 0..32767
// This can be 0..32767.
#define MAX_NUM_COINS 999
// Air/Breath meter is separate from health meter when underwater
// Air/breath meter is separate from health meter when underwater.
// #define BREATH_METER
// 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.
@@ -39,30 +39,28 @@
*/
// #define NON_STOP_STARS
// Uncomment this if you want global star IDs (useful for creating an open world hack ala MVC)
// Uncomment this if you want global star IDs (useful for creating an open world hack ala MVC).
// #define GLOBAL_STAR_IDS
// Number of possible unique model ID's (keep it higher than 256)
// Number of possible unique model ID's (keep it higher than 256).
#define MODEL_ID_COUNT 256
// Number of supported areas per level.
#define AREA_COUNT 8
// Makes signs and NPCs easier to talk to.
// NOTE: Currently has issues with talking to Bowser post-fight,
// https://github.com/Reonu/HackerSM64/issues/273
// #define EASIER_DIALOG_TRIGGER
// Show an "A" when Mario is able to talk [requires EASIER_DIALOG_TRIGGER]
// Shows an "A" when Mario is able to talk [requires EASIER_DIALOG_TRIGGER].
// #define DIALOG_INDICATOR
// Include the English characters that were missing from US segment2
// J, Q, V, X, Z, ¨, !, !!, ?, &, %, ., and the beta key.
// [MAKE SURE TO HAVE EU AND JP/SH BASEROMS TO OBTAIN THE ASSETS]
// [MAKE SURE TO INCLUDE EU AND JP/SH BASEROMS IN THE REPO TO OBTAIN THE ASSETS]
// If this is disabled, backup assets will be used.
// #define COMPLETE_EN_US_SEGMENT2
/// Removes multi-language cake screen
// Removes multi-language cake screen.
#define EU_CUSTOM_CAKE_FIX
// Adds multiple languages to the game. Just a placeholder for the most part, because it only works with EU, and must be enabled with EU.
@@ -71,5 +69,6 @@
// Prevents infinite death loops by always restoring Mario's health when he's warped to any kind of warp while dead.
#define PREVENT_DEATH_LOOP
// The level that the game starts in after file select. The levelscript needs to have a MARIO_POS command for this to work.
// The level that the game starts with immediately after file select.
// The levelscript needs to have a MARIO_POS command for this to work.
#define START_LEVEL LEVEL_CASTLE_GROUNDS

View File

@@ -4,11 +4,11 @@
* GODDARD SETTINGS *
********************/
// Uncomment this if you want to keep the mario head and not skip it
// Enables Goddard (the Mario head).
// #define KEEP_MARIO_HEAD
// Goddard easter egg from Shindou (has no effect if KEEP_MARIO_HEAD is disabled)
// Enables the Goddard easter egg from Shindou (has no effect if KEEP_MARIO_HEAD is disabled).
#define GODDARD_EASTER_EGG
// Disables the demo that plays when idle on the start screen (has no effect if KEEP_MARIO_HEAD is disabled)
// Disables the demo that plays when idle on the start screen (has no effect if KEEP_MARIO_HEAD is disabled).
#define DISABLE_DEMO

View File

@@ -4,21 +4,21 @@
* GRAPHICS SETTINGS *
*********************/
// Size of how large the master display list (gDisplayListHead) can be. 6400 is vanilla
// The size of the master display list (gDisplayListHead). 6400 is vanilla.
#define GFX_POOL_SIZE 10000
// Show a watermark in the title screen that reads "Made with HackerSM64", instead of the copyright message
// Show a watermark on the title screen that reads "Made with HackerSM64", instead of the copyright message.
#define INTRO_CREDIT
// Spawn floombas in the title screen
// Spawns floombas on the title screen.
#define INTRO_FLOOMBAS
// Enable widescreen (16:9) support
// Enables widescreen (16:9) support.
#define WIDE
// 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).
// When increasing this, you should probably also increase the GFX pool size. (the GFX_POOL_SIZE define above)
// When increasing this, you should probably also increase the GFX pool size (the GFX_POOL_SIZE define above).
#define SKYBOX_SIZE 1
// When this option is enabled, LODs will ONLY work on console.
@@ -26,17 +26,17 @@
// Regardless of whether this setting is enabled or not, you can use gIsConsole to wrap your own code in a console check.
#define AUTO_LOD
// Include Puppyprint, a display library for text and large images.
// Automatically included when PUPPYPRINT_DEBUG is enabled
// Enables Puppyprint, a display library for text and large images.
// Automatically enabled when PUPPYPRINT_DEBUG is enabled.
// #define PUPPYPRINT
// Disable AA (Improves console performance but causes visible seams between unconnected geometry).
// Disables AA (Improves console performance but causes visible seams between unconnected geometry).
// #define DISABLE_AA
// Makes the coins ia8 64x64 instead of ia16 32x32. Uses new ia8 textures so that vanilla coins look better.
#define IA8_COINS
// Similar to the above, but 30 FPS (Textures by InTheBeef, cleaned up by Arceveti)
// Similar to the above, but 30 FPS (Textures by InTheBeef, cleaned up by Arceveti).
#define IA8_30FPS_COINS
// Use .rej microcode for certain objects (experimental - only should be used when F3DEX_GBI_2 is defined).
@@ -45,7 +45,7 @@
// #define OBJECTS_REJ
/**
* Mario's silhouette when behind solid objects/surfaces
* Mario's silhouette when behind solid objects/surfaces.
* Also enables new render layers, such as LAYER_ALPHA_DECAL.
* The number is the intensity of the silhouette, from 0-255.
* NOTE: The overlap between Mario's model parts is visible on certain HLE plugins.
@@ -63,24 +63,24 @@
// Fixes the game reading the ia8 burn smoke texture as an rgba16.
#define BURN_SMOKE_FIX
// Disable the fix to Koopa's unshelled model.
// Disables the fix to Koopa's unshelled model.
#define KOOPA_KEEP_PINK_SHORTS
// Lightweight directional lighting engine by Fazana. Intended for giving proximity and positional pointlights to small objects.
// NOTE: Stil breaks occasionally, and PUPPYLIGHT_NODE doesn't work in areas that aren't area 1.
// NOTE: Still breaks occasionally, and PUPPYLIGHT_NODE might not work in areas that aren't area 1.
// #define PUPPYLIGHTS
// Uses the correct "up" vector for the guLookAtReflect call in geo_process_master_list_sub.
// It is sideways in vanilla, and since vanilla's environment map textures are sideways too, they will appear as sideways in-game if this is enabled.
// It is sideways in vanilla, and since vanilla's environment map textures are sideways too, those will appear as sideways in-game if this is enabled.
// Make sure your custom environment map textures are the correct orientation.
// #define FIX_REFLECT_MTX
// This improves performance a bit, and does not seem to break anything.
#define DISABLE_GRAPH_NODE_TYPE_FUNCTIONAL
// Disables object shadows. You'll probably only want this either as a last resort for performance or if you're making a super stylized hack.
// Disables all object shadows. You'll probably only want this either as a last resort for performance or if you're making a super stylized hack.
// #define DISABLE_SHADOWS
// Use old shadow IDs for Fast64 compatibility. This is a temporary fix until Fast64 is updated to use the enum defines.
// Uses old shadow IDs for Fast64 compatibility. This is a temporary fix until Fast64 is updated to use the enum defines.
// NOTE: When this is enabled, The 49th hardcoded rectangle shadow will act as a regular circular shadow, due to Mario's shadow ID being 99 in vanilla.
#define LEGACY_SHADOW_IDS

View File

@@ -6,10 +6,9 @@
// Various interaction related settings, bug fixes or QoL changes
/**
* This bug allows mario to move when initiating a dialog,
* just as long as mario doesn't enter an action that can
* be interrupted with text
* Uncomment this to fix this bug, and frustrate speedrunners
/**
* This fixes a bug which allows mario to move when initiating
* a dialog. just as long as mario doesn't enter an action that
* can be interrupted with text.
*/
// #define BUGFIX_DIALOG_TIME_STOP

View File

@@ -6,13 +6,13 @@
// -- EXIT COURSE SETTINGS --
// Disable exit course
//#define DISABLE_EXIT_COURSE
// Disables Exit Course.
// #define DISABLE_EXIT_COURSE
// Decides whether you can exit course while moving (has no effect if you disable exit course)
// Decides whether you can exit course while moving (has no effect if you disable Exit Course).
#define EXIT_COURSE_WHILE_MOVING
// Decides which level, area and warp ID the "exit course" option takes you to (has no effect if you disable exit course)
// Decides which level, area and warp ID the "Exit Course" option takes you to (has no effect if you disable Exit Course).
// Ensure that the warp exists, or else the game will crash.
#define EXIT_COURSE_LEVEL LEVEL_CASTLE
#define EXIT_COURSE_AREA 0x01

View File

@@ -7,79 +7,78 @@
// Changes Mario's ground turn radius by making it dependent on the analog stick magnitude and speed.
// #define VELOCITY_BASED_TURN_SPEED
// Allows Mario to easily side flip when moving forwards at any speed
// Allows Mario to easily side flip when moving forwards at any speed.
// #define SIDE_FLIP_AT_LOW_SPEEDS
// Allows Mario to aim towards a new direction at the end of turning around,
// and allows Mario to turn around multiple times in a row
// and allows Mario to turn around multiple times in a row.
// #define RESET_DIRECTION_WHEN_TURNING_AROUND
// Improved hanging:
// - Doesn't require holding down the A button
// - Precise turning control
// - Prevents falling from the edges
// - Doesn't require holding down the A button.
// - Precise turning control.
// - Prevents falling from the edges.
#define BETTER_HANGING
// Change the movement speed when hanging from a ceiling (the vanilla value is 4.0f, has no effect if BETTER_HANGING is enabled)
// Change the movement speed when hanging from a ceiling (the vanilla value is 4.0f, has no effect if BETTER_HANGING is enabled).
#define HANGING_SPEED 12.0f
// Prevents Mario from falling asleep while idle
// Prevents Mario from falling asleep while idle.
// #define NO_SLEEP
// Disables fall damage
// Disables fall damage.
#define NO_FALL_DAMAGE
// Disables the scream that mario makes when falling off a great height (this is separate from actual fall damage)
//#define NO_FALL_DAMAGE_SOUND
// Disables the scream that mario makes when falling off a great height (this is separate from actual fall damage).
// #define NO_FALL_DAMAGE_SOUND
// Fall height for normal fall damage. Vanilla is 1150.0f
// Fall height for normal fall damage. Vanilla is 1150.0f.
#define FALL_DAMAGE_HEIGHT_SMALL 1150.0f
// Fall height for double fall damage. Vanilla is 3000.0f
// Fall height for double fall damage. Vanilla is 3000.0f.
#define FALL_DAMAGE_HEIGHT_LARGE 3000.0f
// Disables Mario getting stuck in snow and sand when falling
// Disables Mario getting stuck in snow and sand when falling.
// #define NO_GETTING_BURIED
// Prevents hands-free holding. (WARNING: Enabling this may make you a total buzzkill)
// Prevents hands-free holding.
// #define HANDS_FREE_HOLDING_FIX
// Prevents Mario losing his cap.
//#define PREVENT_CAP_LOSS
// Prevents Mario from losing his cap.
// #define PREVENT_CAP_LOSS
// Platform displacement 2 also known as momentum patch. Makes Mario keep the momemtum from moving platforms. Doesn't break treadmills anymore!
// Enables Platform Displacement 2, also known as momentum patch. Makes Mario keep the momemtum from moving platforms.
#define PLATFORM_DISPLACEMENT_2
// Use Shindou's pole behavior
//#define SHINDOU_POLES
// Uses Shindou's pole behavior.
// #define SHINDOU_POLES
// If A and Z are pressed on the same frame, Mario will long jump instead of ground pound.
// If A and Z are pressed on the same frame while running, Mario will long jump instead of ground pound.
#define EASIER_LONG_JUMPS
// Hold Z while twirling to descend faster
// Enables the ability to hold Z while twirling to descend faster.
#define Z_TWIRL
// Disables bonks when ground pounding next to a wall
// Disables bonks when ground pounding next to a wall.
#define DISABLE_GROUNDPOUND_BONK
// Allows Mario to jump kick on steep surfaces that are set to be non slippery, instead of being forced to dive
// 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
// Allow Mario to grab hangable ceilings from any state
// Allows Mario to grab hangable ceilings from any state.
#define HANGING_FIX
// The last frame that will be considered a firsty when wallkicking
// The last frame after hitting a wall that will be considered a firsty when wallkicking.
#define FIRSTY_LAST_FRAME 1
// The maximum angle the player can wall kick, in degrees. 0..90. To allow 45 degree wall kicks, you must supply `46` to allow 45 and under.
#define WALL_KICK_DEGREES 45
// This is vanilla behavior, disable to allow ledge grabbing on
// any surface angle
// This is vanilla behavior, disable it to allow ledge grabbing regardless of floor pitch.
// #define LEDGE_GRABS_CHECK_SLOPE_ANGLE
// Disable BLJs and crush SimpleFlips's dreams
//#define DISABLE_BLJ
// Disables BLJs and crushes SimpleFlips's dreams.
// #define DISABLE_BLJ
// Re-enable upwarping when entering water. Forces you to only enter water from the top
// Re-enables upwarping when entering water. Forces you to only enter water from the top.
// #define WATER_PLUNGE_UPWARP

View File

@@ -6,16 +6,15 @@
// -- COIN --
// The distance from Mario which coin formations spawn coins at.
// Vanilla is 2000.0f.
// The distance from Mario at which coin formations spawn their coins. Vanilla is 2000.0f.
// Set this to o->oDrawingDistance for a more reasonable range at the cost of performance.
#define COIN_FORMATION_DISTANCE 2000.0f
// Moving Coins flicker and disappear when they hit lava instead of being instantly deleted.
#define COIN_LAVA_FLICKER
// Allow for retries on collecting the remaining blue coins from a blue coin switch.
//#define BLUE_COIN_SWITCH_RETRY
// Allows for retries on collecting the remaining blue coins from a blue coin switch.
// #define BLUE_COIN_SWITCH_RETRY
// -- GOOMBA --
@@ -23,25 +22,26 @@
// #define TINY_GOOMBA_ALWAYS_DROPS_COIN
// Floombas! These fellas sport custom behaviors (bhvFloomba, bhvFloombaTripletSpawner) and of course the iconic Floomba texture.
// Also support macros (macro_floomba, macro_huge_floomba, macro_tiny_floomba, macro_floomba_triplet_spawner, macro_floomba_quintuplet_spawner).
// Also supports macros (macro_floomba, macro_huge_floomba, macro_tiny_floomba, macro_floomba_triplet_spawner, macro_floomba_quintuplet_spawner).
#define FLOOMBAS
// -- HOOT --
// Use intendedYaw to control Hoot instead of raw left and right inputs.
// Uses intendedYaw to control Hoot instead of the raw left and right inputs.
#define HOOT_YAW_FIX
// Leaf particles occasionally fall from trees which contain Hoot.
// Causes leaf particles to occasionally fall from trees which contain Hoot.
#define HOOT_TREE_PARTICLES
// -- MR I --
// Uncomment to allow MR I to shoot his particle in any direction
// Enables Mr I to shoot his particle in any direction.
// #define MR_I_PITCH_SHOOTING
// -- WATER RING --
// Fix DDD water rings by checking for interaction rather than normals.
//! NOT IMPLEMENTED
// #define FIX_WATER_RINGS
// -- POWER STAR --
@@ -56,12 +56,12 @@
// -- PLATFORM ON TRACK --
// The speed of a platform on a track can be controlled by standing near the front or back of it
//#define CONTROLLABLE_PLATFORM_SPEED
// Allows the speed of a platform on a track to be controlled by standing near the front or back of it.
// #define CONTROLLABLE_PLATFORM_SPEED
// -- CHAIN CHOMP --
// The number of chain balls the Chain Chomp has. Vanilla is 5.
// The number of chain balls the Chain Chomp has. Vanilla is 5.
#define CHAIN_CHOMP_NUM_SEGMENTS 5
// -- POKEY --

View File

@@ -8,11 +8,11 @@
// The end quote should be here: "
#define INTERNAL_ROM_NAME "HackerSM64 "
// Support Rumble Pak
// Enables Rumble Pak Support.
// Currently not recommended, as it may cause random crashes.
//#define ENABLE_RUMBLE (1 || VERSION_SH)
// #define ENABLE_RUMBLE (1 || VERSION_SH)
// Screen Size Defines
// Screen Size Defines.
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240

View File

@@ -11,7 +11,7 @@
/*****************
* config_graphics
* config_graphics.h
*/
#ifndef F3DEX_GBI_2
@@ -23,20 +23,20 @@
#endif // !F3DEX_GBI_SHARED
#ifdef OBJECTS_REJ
// Enable required ucodes.
// Enable required ucodes.
#define F3DEX2_REJ_GBI
#define F3DLX2_REJ_GBI
#endif // OBJECTS_REJ
/*****************
* config_debug
* config_debug.h
*/
#ifdef PUPPYPRINT_DEBUG
#undef PUPPYPRINT
#define PUPPYPRINT
#endif
#endif // PUPPYPRINT_DEBUG
#ifdef COMPLETE_SAVE_FILE
#undef UNLOCK_ALL
@@ -83,29 +83,29 @@
/*****************
* config_camera
* config_camera.h
*/
#ifdef FORCED_CAMERA_MODE
#undef USE_COURSE_DEFAULT_MODE
#define USE_COURSE_DEFAULT_MODE // Forced camera mode overwrites the default mode
#endif
#define USE_COURSE_DEFAULT_MODE // Forced camera mode overwrites the default mode.
#endif // FORCED_CAMERA_MODE
#ifndef WATER_SURFACE_CAMERA_MODE
#define WATER_SURFACE_CAMERA_MODE CAMERA_MODE_WATER_SURFACE
#endif
#endif // !WATER_SURFACE_CAMERA_MODE
#ifndef DEEP_WATER_CAMERA_MODE
#define DEEP_WATER_CAMERA_MODE CAMERA_MODE_BEHIND_MARIO
#endif
#endif // !DEEP_WATER_CAMERA_MODE
#ifndef FLYING_CAMERA_MODE
#define FLYING_CAMERA_MODE CAMERA_MODE_BEHIND_MARIO
#endif
#endif // !FLYING_CAMERA_MODE
/*****************
* config_game
* config_game.h
*/
#ifdef DISABLE_LIVES
@@ -114,11 +114,11 @@
#ifndef START_LEVEL
#define START_LEVEL LEVEL_CASTLE_GROUNDS
#endif
#endif // !START_LEVEL
/*****************
* config_goddard
* config_goddard.h
*/
#ifndef KEEP_MARIO_HEAD
@@ -128,8 +128,9 @@
#define DISABLE_DEMO
#endif // !KEEP_MARIO_HEAD
/*****************
* config_menu
* config_menu.h
*/
#ifdef DISABLE_EXIT_COURSE
@@ -141,10 +142,10 @@
/*****************
* config_objects
* config_objects.h
*/
// Enable floombas if the intro floombas are enabled
// Enable floombas if the intro floombas are enabled.
#ifdef INTRO_FLOOMBAS
#undef FLOOMBAS
#define FLOOMBAS
@@ -152,7 +153,7 @@
/*****************
* config_rom
* config_rom.h
*/
#ifndef TARGET_N64

View File

@@ -7,33 +7,33 @@
* World scale value. This allows you to scale down geometry by the given amount, which allows for larger levels
* without the distortion you would otherwise get. Larger world scale comes at a cost of precision, which
* can increase Z-fighting. Values above 4 should not be necessary.
*
* Uncomment this out to specifically set it, otherwise world scale will be based off of your extended bounds mode
*
* Uncomment this out to specifically set it, otherwise world scale will be based off of your extended bounds mode.
*/
// #define WORLD_SCALE 1
/*
0: Regular bounds
Same as vanilla sm64, boundaries are (-8192 to 8191)
16x16 collision cells.
1: 2x extended bounds
level boundaries are twice as big (-16384 to 16383)
Collision calculations remain as fast as vanilla, at the cost of using more RAM.
32x32 collision cells.
2: Regular bounds (performance)
Same boundaries as vanilla (-8192 to 8191), but with twice the amount of collision cells
Trades more RAM usage for faster collision calculations.
32x32 collision cells.
3: 4x extended bounds
level boundaries are 4 times as big (-32768 to 32767)
Collision calculations remain as fast as vanilla, at the cost of using far more RAM (16 times vanilla).
64x64 collision cells.
If you see "SURFACE POOL FULL" or "SURFACE NODE POOL FULL" in game, you should increase
SURFACE_POOL_SIZE or SURFACE_NODE_POOL_SIZE, respectively, or reduce the amount of
collision surfaces in your level.
*/
/**
* 0: Regular bounds
* Same as vanilla sm64, boundaries are (-8192 to 8191)
* 16x16 collision cells.
* 1: 2x extended bounds
* level boundaries are twice as big (-16384 to 16383)
* Collision calculations remain as fast as vanilla, at the cost of using more RAM.
* 32x32 collision cells.
* 2: Regular bounds (performance)
* Same boundaries as vanilla (-8192 to 8191), but with twice the amount of collision cells
* Trades more RAM usage for faster collision calculations.
* 32x32 collision cells.
* 3: 4x extended bounds
* level boundaries are 4 times as big (-32768 to 32767)
* Collision calculations remain as fast as vanilla, at the cost of using far more RAM (16 times vanilla).
* 64x64 collision cells.
*
* If you see "SURFACE POOL FULL" or "SURFACE NODE POOL FULL" in game, you should increase
* SURFACE_POOL_SIZE or SURFACE_NODE_POOL_SIZE, respectively, or reduce the amount of
* collision surfaces in your level.
*/
// Set this to the extended bounds mode you want, then do "make clean".
#define EXTENDED_BOUNDS_MODE 1
@@ -79,9 +79,9 @@ STATIC_ASSERT(((EXTENDED_BOUNDS_MODE >= 0) && (EXTENDED_BOUNDS_MODE <= 3)), "You
// Multiply SURFACE_POOL_SIZE by the average amount of cells the surfaces intersect.
#define SURFACE_NODE_POOL_SIZE (SURFACE_POOL_SIZE * 4) // Vanilla: 7000
// Flags for error messages
// Flags for error messages.
#define NOT_ENOUGH_ROOM_FOR_SURFACES (1 << 0)
#define NOT_ENOUGH_ROOM_FOR_NODES (1 << 1)
// Use this to convert game units to cell coordinates
#define GET_CELL_COORD(p) ((((s32)(p) + LEVEL_BOUNDARY_MAX) / CELL_SIZE) & (NUM_CELLS - 1));
// Use this to convert game units to cell coordinates.
#define GET_CELL_COORD(p) ((((s32)(p) + LEVEL_BOUNDARY_MAX) / CELL_SIZE) & (NUM_CELLS - 1))

View File

@@ -63,30 +63,14 @@ s32 check_fall_damage(struct MarioState *m, u32 hardFallAction) {
#ifdef NO_FALL_DAMAGE
return FALSE;
#endif
f32 fallHeight;
f32 damageHeight;
fallHeight = m->peakHeight - m->pos[1];
f32 fallHeight = m->peakHeight - m->pos[1];
#pragma GCC diagnostic push
#if defined(__clang__)
#pragma GCC diagnostic ignored "-Wtautological-constant-out-of-range-compare"
#elif defined(__GNUC__)
#pragma GCC diagnostic ignored "-Wtype-limits"
#endif
//! Never true
if (m->actionState == ACT_GROUND_POUND) {
damageHeight = 600.0f;
} else {
damageHeight = 1150.0f;
}
#pragma GCC diagnostic pop
f32 damageHeight = FALL_DAMAGE_HEIGHT_SMALL;
if (m->action != ACT_TWIRLING && m->floor->type != SURFACE_BURNING) {
if (m->vel[1] < -55.0f) {
if (fallHeight > 3000.0f) {
if (fallHeight > FALL_DAMAGE_HEIGHT_LARGE) {
m->hurtCounter += (m->flags & MARIO_CAP_ON_HEAD) ? 16 : 24;
#if ENABLE_RUMBLE
queue_rumble_data(5, 80);