You've already forked HackerSM64
mirror of
https://github.com/HackerN64/HackerSM64.git
synced 2026-01-21 10:35:32 -08:00
Compare commits
50 Commits
develop/2.
...
someone263
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ef2077353 | ||
|
|
a15db3c56b | ||
|
|
e87dfa74d8 | ||
|
|
e3e1aa02ac | ||
|
|
d3d2bb9247 | ||
|
|
dc1a824ce9 | ||
|
|
efd4e3f9dc | ||
|
|
b1146308a7 | ||
|
|
b8e22f2fbd | ||
|
|
1a71619f47 | ||
|
|
7d6579971a | ||
|
|
a549e1a95a | ||
|
|
83fea6d310 | ||
|
|
8698cc0f89 | ||
|
|
62d6ee135f | ||
|
|
3d330e0b84 | ||
|
|
1691e48326 | ||
|
|
e5af0e8ca5 | ||
|
|
cf570b4406 | ||
|
|
1012fb7957 | ||
|
|
aa1a48afeb | ||
|
|
5e1258e806 | ||
|
|
c938bbf407 | ||
|
|
a1ab7c51f0 | ||
|
|
4cfbc656a9 | ||
|
|
fe6aee22e1 | ||
|
|
ad3aa42eff | ||
|
|
031cc24fa6 | ||
|
|
8d06db06e1 | ||
|
|
642a85fec6 | ||
|
|
3092929822 | ||
|
|
51f8ccfbb0 | ||
|
|
2118234f9b | ||
|
|
ac0299e5b5 | ||
|
|
f98d43c9de | ||
|
|
bf8ea238e5 | ||
|
|
b3cb639e6e | ||
|
|
12595397cd | ||
|
|
65eb5a755f | ||
|
|
eaf9d3e4f9 | ||
|
|
8cfd9af4ee | ||
|
|
3f0143ec0f | ||
|
|
33b2a07759 | ||
|
|
a0e8600776 | ||
|
|
4265019923 | ||
|
|
ad91c636ad | ||
|
|
730f020b6d | ||
|
|
483b72e7da | ||
|
|
36d41a7f94 | ||
|
|
af34a81c06 |
2126
.gitignore
vendored
2126
.gitignore
vendored
File diff suppressed because it is too large
Load Diff
2
.vscode/c_cpp_properties.json
vendored
2
.vscode/c_cpp_properties.json
vendored
@@ -33,7 +33,7 @@
|
||||
"compilerPath": "/usr/bin/mips-linux-gnu-gcc",
|
||||
"cStandard": "gnu17",
|
||||
"cppStandard": "gnu++14",
|
||||
"intelliSenseMode": "linux-gcc-x64"
|
||||
"intelliSenseMode": "linux-gcc-x86"
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# These owners will be the default owners for everything in the repo.
|
||||
* @Reonu
|
||||
* @thecozies
|
||||
* @Mr-Wiseguy
|
||||
* @gheskett
|
||||
|
||||
# Order is important. The last matching pattern has the most precedence.
|
||||
# So if a pull request only touches javascript files, only these owners
|
||||
|
||||
23
Makefile
23
Makefile
@@ -135,10 +135,14 @@ LINK_LIBRARIES = $(foreach i,$(LIBRARIES),-l$(i))
|
||||
|
||||
# Default non-gcc opt flags
|
||||
DEFAULT_OPT_FLAGS = -Ofast
|
||||
# Note: -fno-associative-math is used here to suppress warnings, ideally we would enable this as an optimization but
|
||||
# this conflicts with -ftrapping-math apparently.
|
||||
# TODO: Figure out how to allow -fassociative-math to be enabled
|
||||
SAFETY_OPT_FLAGS = -ftrapping-math -fno-associative-math
|
||||
|
||||
# Main opt flags
|
||||
GCC_MAIN_OPT_FLAGS = \
|
||||
-Ofast \
|
||||
$(DEFAULT_OPT_FLAGS) $(SAFETY_OPT_FLAGS) \
|
||||
--param case-values-threshold=20 \
|
||||
--param max-completely-peeled-insns=10 \
|
||||
--param max-unrolled-insns=10 \
|
||||
@@ -149,7 +153,7 @@ GCC_MAIN_OPT_FLAGS = \
|
||||
|
||||
# Surface Collision
|
||||
GCC_COLLISION_OPT_FLAGS = \
|
||||
-Ofast \
|
||||
$(DEFAULT_OPT_FLAGS) $(SAFETY_OPT_FLAGS) \
|
||||
--param case-values-threshold=20 \
|
||||
--param max-completely-peeled-insns=100 \
|
||||
--param max-unrolled-insns=100 \
|
||||
@@ -162,7 +166,7 @@ GCC_COLLISION_OPT_FLAGS = \
|
||||
|
||||
# Math Util
|
||||
GCC_MATH_UTIL_OPT_FLAGS = \
|
||||
-Ofast \
|
||||
$(DEFAULT_OPT_FLAGS) $(SAFETY_OPT_FLAGS) \
|
||||
-fno-unroll-loops \
|
||||
-fno-peel-loops \
|
||||
--param case-values-threshold=20 \
|
||||
@@ -174,7 +178,7 @@ GCC_MATH_UTIL_OPT_FLAGS = \
|
||||
|
||||
# Rendering graph node
|
||||
GCC_GRAPH_NODE_OPT_FLAGS = \
|
||||
-Ofast \
|
||||
$(DEFAULT_OPT_FLAGS) $(SAFETY_OPT_FLAGS) \
|
||||
--param case-values-threshold=20 \
|
||||
--param max-completely-peeled-insns=100 \
|
||||
--param max-unrolled-insns=100 \
|
||||
@@ -630,7 +634,8 @@ $(BUILD_DIR)/src/usb/usb.o: CFLAGS += -Wno-unused-variable -Wno-sign-compare -Wn
|
||||
$(BUILD_DIR)/src/usb/debug.o: OPT_FLAGS := -O0
|
||||
$(BUILD_DIR)/src/usb/debug.o: CFLAGS += -Wno-unused-parameter -Wno-maybe-uninitialized
|
||||
# File specific opt flags
|
||||
$(BUILD_DIR)/src/audio/*.o: OPT_FLAGS := -Os -fno-jump-tables
|
||||
$(BUILD_DIR)/src/audio/heap.o: OPT_FLAGS := -Os -fno-jump-tables
|
||||
$(BUILD_DIR)/src/audio/synthesis.o: OPT_FLAGS := -Os -fno-jump-tables
|
||||
|
||||
$(BUILD_DIR)/src/engine/surface_collision.o: OPT_FLAGS := $(COLLISION_OPT_FLAGS)
|
||||
$(BUILD_DIR)/src/engine/math_util.o: OPT_FLAGS := $(MATH_UTIL_OPT_FLAGS)
|
||||
@@ -869,8 +874,16 @@ $(ELF): $(BUILD_DIR)/sm64_prelim.elf $(BUILD_DIR)/asm/debug/map.o $(O_FILES) $(Y
|
||||
$(V)$(LD) --gc-sections -L $(BUILD_DIR) -T undefined_syms.txt -T $(BUILD_DIR)/$(LD_SCRIPT) -T goddard.txt -Map $(BUILD_DIR)/sm64.$(VERSION).map --no-check-sections $(addprefix -R ,$(SEG_FILES)) -o $@ $(O_FILES) -L$(LIBS_DIR) -l$(ULTRALIB) -Llib $(LINK_LIBRARIES) -u sprintf -u osMapTLB -Llib/gcclib/$(LIBGCCDIR) -lgcc -lrtc
|
||||
|
||||
# Build ROM
|
||||
ifeq (n,$(findstring n,$(firstword -$(MAKEFLAGS))))
|
||||
# run with -n / --dry-run
|
||||
$(ROM):
|
||||
@$(PRINT) "$(BLUE)DRY RUNS ARE DISABLED$(NO_COL)\n"
|
||||
else
|
||||
# not running with -n / --dry-run
|
||||
$(ROM): $(ELF)
|
||||
$(call print,Building ROM:,$<,$@)
|
||||
endif
|
||||
|
||||
ifeq ($(CONSOLE),n64)
|
||||
$(V)$(OBJCOPY) --pad-to=0x101000 --gap-fill=0xFF $< $@ -O binary
|
||||
else ifeq ($(CONSOLE),bb)
|
||||
|
||||
@@ -14,7 +14,7 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin
|
||||
- **ArcticJaguar725**: Most audio configuration and layout changes, colored ia4 text, floombas, various bugfixes, and more
|
||||
- **CowQuack**: Adjustable skybox sizes, area-specific skybox function
|
||||
- **thecozies**: Water surface types, general maintenance, and time
|
||||
- **MrComit**: General use object defines, JUMP_KICK_FIX, LEDGE_GRABS_CHECK_SLOPE_ANGLE
|
||||
- **MrComit**: General use object defines, JUMP_KICK_FIX
|
||||
- **aglab2**: Bugfixes (particularly puppycam), refactor stuff
|
||||
- **someone2639**: math.s and crash screen disam, stack trace, map packing, shiftable segments 2, S2DEX engine
|
||||
- **Arthurtilly**: Platform Displacement 2
|
||||
@@ -29,11 +29,12 @@ 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.
|
||||
|
||||
**Puppycam**
|
||||
@@ -60,7 +61,6 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
|
||||
- Toggle to disable fall damage and the fall damage sound *
|
||||
- Nonstop stars *
|
||||
- Removed course-specific camera processing *
|
||||
- You can increase the number of frames that you have to perform a firsty *
|
||||
- Ability to set Mario's movement speed when hanging from a ceiling *
|
||||
- Tighter hanging controls (Mario will face the direction of the analog stick directly while hanging from a ceiling) *
|
||||
- reonucam3: custom camera by Reonu. This is included as a .patch file in the enhancements folder, you need to apply it if you want this camera.
|
||||
|
||||
@@ -1 +1 @@
|
||||
v2.0.1
|
||||
v2.0.8
|
||||
|
||||
|
Before Width: | Height: | Size: 995 B After Width: | Height: | Size: 995 B |
@@ -10,7 +10,7 @@ ALIGNED8 static const Texture flyguy_seg8_texture_0800E088[] = {
|
||||
|
||||
// 0x0800F088
|
||||
ALIGNED8 static const Texture flyguy_seg8_texture_0800F088[] = {
|
||||
#include "actors/flyguy/flyguy_face.rgba16.inc.c"
|
||||
#include "actors/flyguy/flyguy_face.custom.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0800F888
|
||||
|
||||
@@ -96,7 +96,7 @@ static const Vtx warp_pipe_seg3_vertex_03007DC0[] = {
|
||||
|
||||
// 0x03007E40
|
||||
ALIGNED8 static const Texture warp_pipe_seg3_texture_03007E40[] = {
|
||||
#include "actors/warp_pipe/warp_pipe_side.rgba16.inc.c"
|
||||
#include "actors/warp_pipe/warp_pipe_side.custom.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03008E40 - 0x03008F98
|
||||
|
||||
|
Before Width: | Height: | Size: 1012 B After Width: | Height: | Size: 1012 B |
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -7,46 +7,50 @@
|
||||
// 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
|
||||
|
||||
// Enables a comprehensive standalone profiler. Automatically enabled by PUPPYPRINT_DEBUG.
|
||||
// If not using PUPPYPRINT_DEBUG, press L to toggle the profiler.
|
||||
// #define USE_PROFILER
|
||||
|
||||
// TEST LEVEL
|
||||
// Uncomment this define and set a test level in order to boot straight into said level.
|
||||
// This allows you to quickly test the level you're working on.
|
||||
// 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.
|
||||
|
||||
@@ -4,65 +4,62 @@
|
||||
* 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.
|
||||
#define X_COIN_STAR 100
|
||||
|
||||
/*
|
||||
* Stars don't kick you out of the level (does not play nicely with vanilla)
|
||||
* In v2.0 there are numerous issues with this define that can be seen here https://github.com/Reonu/HackerSM64/issues/258
|
||||
* Use at your own risk.
|
||||
*/
|
||||
// Stars don't kick you out of the level (does not play nicely with vanilla).
|
||||
// #define NON_STOP_STARS
|
||||
|
||||
// Uncomment this if you want global star IDs (useful for creating an open world hack ala MVC)
|
||||
// Bowser keys always exit the level. Only has an effect if NON_STOP_STARS is enabled.
|
||||
// #define KEYS_EXIT_LEVEL
|
||||
|
||||
// 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 +68,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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,28 @@
|
||||
// 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
|
||||
|
||||
// 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: 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
|
||||
|
||||
@@ -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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user