* Moved puppyprint define to graphics / rearranged some debug defines for ease of access
* Moved compatibility safeguards to config_safeguards.h
* spacing and comment formatting
* #272 Move GFX_POOL_SIZE to config_graphics.h
* disable EASIER_DIALOG_TRIGGER by default
* prevent redefining warnings
* small ifdef typo
* changed ifndef to undefs
Fixes#262Fixes#272
* Fix how shadows handle water/transparency/height
* Change shadow check for flying carpets from a level specific check to a oPlatformOnTrackType check
Fixes#179
@@ -29,12 +29,11 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin
- **CrashOveride**: creating the [ultrasm64](https://github.com/CrashOveride95/ultrasm64) repo
- **falcobuster**: Original coordinate overflow fix (world scale), ASM version of extended bounds
- **anonymous_moose**: porting falco's extended bounds to decomp
- **tuxlovesyou**: `LOAD_MIO0_TEXTURE` macro and moral support
Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
**Lighting Engine by Wiseguy**
- Lighting Engine is available on a separate branch ([base/lighting-engine-wip](https://github.com/Reonu/HackerSM64/tree/base/lighting-engine-wip)). Instructions on how to use it are in the readme of that branch.
- Lighting Engine is available on a separate branch ([base/lighting-engine](https://github.com/Reonu/HackerSM64/tree/base/lighting-engine)). Instructions on how to use it are in the readme of that branch.
- Alternatively, the main repo has `Puppylights` available, which is a more lightweight, but limited lighting library intended to be used to modify existing light properties. You can look at `puppylights.c` to find out how to use it.
// Fixes the castle music sometimes triggering after getting a dialog.
// Fixes the castle music sometimes triggering after getting a dialog
#define CASTLE_MUSIC_FIX
// 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).
// 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)
#define EXPAND_AUDIO_HEAP
// 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.
// 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.
// Reverb parameters can be configured in audio/synthesis.c to meet desired aesthetic/performance needs. Currently US/JP only. Hurts emulator and console performance.
// 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
// The size of the master display list (gDisplayListHead). 6400 is vanilla.
// Size of how large the master display list (gDisplayListHead) can be. 6400 is vanilla
#define GFX_POOL_SIZE 10000
// Show a watermark on the title screen that reads "Made with HackerSM64", instead of the copyright message.
// Show a watermark in the title screen that reads "Made with HackerSM64", instead of the copyright message
#define INTRO_CREDIT
// Spawns floombas on the title screen.
// Spawn floombas in the title screen
#define INTRO_FLOOMBAS
// Enables widescreen (16:9) support.
// Enable 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,26 +26,26 @@
// 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
// Enables Puppyprint, a display library for text and large images.
// Automatically enabled when PUPPYPRINT_DEBUG is enabled.
// Include Puppyprint, a display library for text and large images.
// Automatically included when PUPPYPRINT_DEBUG is enabled
// #define PUPPYPRINT
// Disables AA (Improves console performance but causes visible seams between unconnected geometry).
// Disable 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).
// Use .rej microcode for certain objects (experimental - only should be used when F3DZEX_GBI_2 is defined).
// For advanced users only. Does not work perfectly out the box, best used when exported actor models are
// using 64 vertex sizes, offered by Fast64 in the microcode menu.
// #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,28 +63,24 @@
// Fixes the game reading the ia8 burn smoke texture as an rgba16.
#define BURN_SMOKE_FIX
// Disables the fix to Koopa's unshelled model.
// Disable the fix to Koopa's unshelled model.
#define KOOPA_KEEP_PINK_SHORTS
// Uses the star object's model in the star dance cutscene.
// This has a side effect of making the star dance star also transparent when Mario collects a transparent star.
// #define STAR_DANCE_USES_STARS_MODEL
// Lightweight directional lighting engine by Fazana. Intended for giving proximity and positional pointlights to small objects.
// NOTE: Still breaks occasionally, and PUPPYLIGHT_NODE might not work in areas that aren't area 1.
// NOTE: Stil breaks occasionally, and PUPPYLIGHT_NODE doesn't 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, those 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, they 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 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.
// 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.
// #define DISABLE_SHADOWS
// Uses old shadow IDs for Fast64 compatibility. This is a temporary fix until Fast64 is updated to use the enum defines.
// Use 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.
// Various interaction related settings, bug fixes or QoL changes
/**
* 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.
/**
* 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
*/
// #define BUGFIX_DIALOG_TIME_STOP
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.