Compare commits

..

55 Commits

Author SHA1 Message Date
Mr-Wiseguy
62d6ee135f HackerSM64 2.0.2 release 2022-06-28 09:43:19 -04:00
thecozies
3d330e0b84 Merge pull request #387 from HackerN64/develop/2.0.1
HackerSM64 2.0.2 Release
2022-06-28 08:40:54 -05:00
Arceveti
1691e48326 Fix inverted tilting pyramids when platform displacement 2 is disabled (#397) 2022-06-28 09:30:49 -04:00
Reonu
e5af0e8ca5 Add :Zone_Identifier files to gitignore (#428) 2022-06-28 09:28:54 -04:00
Mr-Wiseguy
cf570b4406 Added dcache coherency emulation test that disables instant input if passed (fixes Ares) (#427) 2022-06-28 12:57:14 +01:00
Reonu
1012fb7957 Add extra hud defines (#409)
* Added extra HUD defines

* moved the defines to hud.h
2022-06-27 22:17:44 -04:00
Reonu
aa1a48afeb Fix shindou audio bzero size (#426) 2022-06-27 22:15:47 -04:00
Mr-Wiseguy
5e1258e806 Merge branch 'master' into develop/2.0.1 2022-06-17 01:11:34 -04:00
Arceveti
c938bbf407 Add missing check for 9 vert shadows in LEGACY_SHADOW_IDS ifdef (#406)
* Add missing check for 9 vert shadows in LEGACY_SHADOW_IDS ifdef

* Add legacy shadow ids to ShadowType enum
2022-06-09 15:52:10 +01:00
KazeEmanuar
a1ab7c51f0 Made raycasts not hit backfaces
* Update name of lighting engine branch in readme
2022-06-09 10:04:58 -04:00
Arceveti
4cfbc656a9 Re-implement FALL_DAMAGE_HEIGHT_SMALL usage in play_far_fall_sound (#407) 2022-05-19 17:12:28 -04:00
Arceveti
fe6aee22e1 Remove redundant snufit offset vector (fixes gcc11 compiler warning) (#395) 2022-05-02 15:36:59 -04:00
Arceveti
ad3aa42eff Fix construct_float by changing addiu to ori (#394) 2022-05-02 14:56:04 -04:00
Mr-Wiseguy
031cc24fa6 New profiler (#390)
* Implemented new lightweight CPU/RDP profiler

* Integrated new profiler into puppyprint debug and improved profiler visuals, removed existing puppyprint profiling code
2022-05-01 00:42:58 -04:00
thecozies
8d06db06e1 Added specific extracted assets to gitignore (#386)
* Added specific extracted assets to gitignore

* Add .orig files to gitignore

Co-authored-by: Arceveti <73617174+Arceveti@users.noreply.github.com>

Co-authored-by: Arceveti <73617174+Arceveti@users.noreply.github.com>
2022-04-28 17:50:27 +03:00
Arceveti
642a85fec6 Fix build warnings & errors when building non-US versions (#305)
* Fix build warnings & errors when building non-US versions

* Revert ADSR_STATE_LOOP change in adsr_update in effects.c + add fallthrough comments + clean up ifdefs

* null initialization for loadedPool in heap.c

* Better placement of null initialization of arg0 in alloc_bank_or_seq
2022-04-15 12:46:17 -04:00
Reonu
3092929822 Tie JRB dark skybox with ENABLE_VANILLA_LEVEL_SPECIFIC_CHECKS (#378)
The JRB skybox is darkened if you haven't collected JRB's first star. This behaviour should be under `ENABLE_VANILLA_LEVEL_SPECIFIC_CHECKS`
2022-04-14 18:53:11 -04:00
CrashOveride95
51f8ccfbb0 Comment out username printing during debug builds because people use their real names on their computers
I still wanna give people the option so
2022-04-10 17:37:14 -04:00
CrashOveride95
2118234f9b Remove datetime from version.c to make debug builds reproducible 2022-04-10 17:37:14 -04:00
Gregory Heskett
ac0299e5b5 Bugfix: 2x+ skyboxes given insufficient memory space (#372) 2022-03-30 18:41:22 -04:00
Fazana
f98d43c9de Puppycamera hotfixes (#367)
* fixed some embarassing typos
2022-03-27 03:20:28 -04:00
someone2639
bf8ea238e5 Fix some bad comment descriptions in math_util (#328) 2022-03-25 13:23:34 -04:00
Mr-Wiseguy
b3cb639e6e Fixed makefile issue causing audio files to be compiled with different flags the first time they're built (#318) 2022-03-18 14:15:08 -04:00
Arceveti
12595397cd Fix OBJECTS_REJ build error & warning + silhouette incompatibility (#324)
* Fix OBJECTS_REJ build error & warning

* Fix Mario rendering
2022-03-18 11:03:39 -07:00
Arceveti
65eb5a755f Reimplement 'FIX_WATER_RINGS' (#325)
* Reimplement 'FIX_WATER_RINGS'
2022-03-18 11:02:38 -07:00
Gregory Heskett
eaf9d3e4f9 Merge pull request #352 from gheskett/develop/mingw-custom-audio-fix
Fix custom audio files not compiling under MinGW (in case it ever matters)
2022-03-18 12:47:54 -05:00
Arceveti
8cfd9af4ee Uncomment the last gSPPopMatrix in render_hud_cannon_reticle (#351) 2022-03-15 17:38:38 -04:00
gheskett
3f0143ec0f Fix custom audio files not compiling under MinGW (in case it ever matters) 2022-03-13 18:57:17 -04:00
tuxlovesyou
33b2a07759 Added LOAD_MIO0_TEXTURE alias for backwards-compatibility (#349)
Sometimes tools like Fast64 will export script.c files with
LOAD_MIO0_TEXTURE() macro "calls" even when you have "YAY0" toggled
under the export menu.  To keep this from being a roadblock for
compilation, LOAD_MIO0_TEXTURE() is defined in this commit as an alias
to the LOAD_YAY0_TEXTURE() macro! :-)
2022-03-11 22:10:46 -05:00
axollyon
a0e8600776 Saves default conf on boot now, simplify condition (#321) 2022-03-08 08:49:10 -06:00
Arceveti
4265019923 Fix NON_STOP_STARS & bhvCelebrationStar related issues with Bowser keys (#299)
Fix NON_STOP_STARS issues & bhvCelebrationStar related issues with Bowser keys
2022-01-22 14:07:55 -08:00
Reonu
ad91c636ad Update name of lighting engine branch in readme
sorry for pushing to master :(((((((((((((
2022-01-22 11:11:51 +02:00
Arceveti
730f020b6d Fix formatting inconsistencies in config files (#303)
Fix formatting inconsistencies in config files
2022-01-21 20:00:25 -08:00
Arceveti
483b72e7da Fix render menu buttons functions (#300) 2022-01-19 14:41:14 -08:00
Arceveti
36d41a7f94 Renamed HackerSM64 modified assets so they don't conflict with vanilla assets (#293) 2022-01-16 21:30:06 -08:00
Arceveti
af34a81c06 Fix credits text ifdef (#301) 2022-01-16 21:29:06 -08:00
Mr-Wiseguy
3fac5ad059 Downgraded from F3DZEX2.08J to F3DZEX2.08I so that point lighting works on Jabo (#313)
* Downgraded from F3DZEX2.08J to F3DZEX2.08I so that point lighting works on Jabo

* Swapped to MM's rspboot to fix bug caused by MM's F3DZEX2
2022-01-15 01:09:34 -05:00
Arceveti
6ba4fcdba1 Set oDrawingDistance to 4500 for WF breakable walls (#304) 2022-01-14 19:38:10 -08:00
Arceveti
38c6e456f1 Fix level enum conflict with 99+ levels (#307) 2022-01-14 19:37:56 -08:00
Mr-Wiseguy
7b58f63cbc Merge pending master hotfixes into 2.0.2 #311 2022-01-14 22:25:09 -05:00
Mr-Wiseguy
475e039f8a Fixed hackersm64 using a ucode that never existed (#309) 2022-01-15 03:13:40 +00:00
Arceveti
2329786f88 Make CLEARRAM mandatory (#297) 2022-01-12 15:00:22 -08:00
Arceveti
ca9f7967c8 Merge pull request #285 from Reonu/develop/arceveti/2.0.1/mr_i_iris_clipping
Fix wrong Y offset for Mr. I iris
2022-01-11 14:01:25 -08:00
Arceveti
1b66355249 Merge pull request #284 from Reonu/develop/arceveti/2.0.1/jp_baserom_requirement
JP Baserom is no longer required for US build
2022-01-10 20:52:31 -08:00
Arceveti
0789cf118e Only extract assets from JP/EU/SH roms if they exist 2022-01-10 20:50:37 -08:00
Arceveti
1b37e627bc Merge pull request #283 from Reonu/develop/arceveti/2.0.1/no_getting_buried_compiler_warning
Fix build warning when NO_GETTING_BURIED is enabled
2022-01-10 20:31:38 -08:00
Arceveti
886d9841a8 Better Mr. I offset fix 2022-01-10 18:27:08 -08:00
Mr-Wiseguy
25951363b7 Increment version hotfix 2022-01-07 14:14:47 -05:00
Mr-Wiseguy
797f9fa223 Reverted moving the buffers to fix pool issues 2022-01-07 13:54:04 -05:00
Arceveti
3d24cdee18 Merge pull request #280 from Reonu/develop/arceveti/2.0.1/hardcoded_cos_values
Fix hardcoded cos values in sm64.h
2022-01-07 00:00:59 -08:00
Arceveti
c9523aaa0b Fix wrong Y offset for Mr. I iris 2022-01-04 23:31:39 -08:00
Arceveti
84bbd2ae14 JP Baserom is no longer required for US build 2022-01-04 22:55:19 -08:00
Arceveti
9caafc54eb Fix build warning when NO_GETTING_BURIED is enabled 2022-01-04 22:18:35 -08:00
Arceveti
feff004ef9 Fix hardcoded cos values in sm64.h 2022-01-02 18:46:31 -08:00
Reonu
9d7d56989e New lighting engine branch name in readme 2022-01-01 23:47:08 +00:00
92 changed files with 3230 additions and 1124 deletions

2126
.gitignore vendored

File diff suppressed because it is too large Load Diff

View File

@@ -25,7 +25,7 @@
"TARGET_N64=1",
"VERSION_US=1",
"F3DEX_GBI_2=1",
"F3DZEX_GBI_2=1",
"F3DZEX_NON_GBI_2=1",
"F3DEX_GBI_SHARED=1",
"NON_MATCHING=1",
"AVOID_UB=1"

View File

@@ -108,7 +108,7 @@ else ifeq ($(GRUCODE),l3dex2) # Line3DEX2
else ifeq ($(GRUCODE),f3dex2pl) # Fast3DEX2_PosLight
DEFINES += F3DEX2PL_GBI=1 F3DEX_GBI_2=1 F3DEX_GBI_SHARED=1
else ifeq ($(GRUCODE),f3dzex) # Fast3DZEX (2.08J / Animal Forest - DĹŤbutsu no Mori)
DEFINES += F3DZEX_GBI_2=1 F3DEX_GBI_2=1 F3DEX_GBI_SHARED=1
DEFINES += F3DZEX_NON_GBI_2=1 F3DEX_GBI_2=1 F3DEX_GBI_SHARED=1
else ifeq ($(GRUCODE),super3d) # Super3D
$(warning Super3D is experimental. Try at your own risk.)
DEFINES += SUPER3D_GBI=1 F3D_NEW=1
@@ -323,11 +323,25 @@ ifeq ($(filter clean distclean print-%,$(MAKECMDGOALS)),)
ifeq ($(NOEXTRACT),0)
DUMMY != $(PYTHON) extract_assets.py $(VERSION) >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets)
$(error Failed to extract assets from US ROM)
endif
DUMMY != $(PYTHON) extract_assets.py jp >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets)
ifneq (,$(wildcard baserom.jp.z64))
DUMMY != $(PYTHON) extract_assets.py jp >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets from JP ROM)
endif
endif
ifneq (,$(wildcard baserom.eu.z64))
DUMMY != $(PYTHON) extract_assets.py eu >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets from EU ROM)
endif
endif
ifneq (,$(wildcard baserom.sh.z64))
DUMMY != $(PYTHON) extract_assets.py sh >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets from SH ROM)
endif
endif
endif
@@ -616,7 +630,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)

View File

@@ -29,6 +29,7 @@ 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

View File

@@ -1 +1 @@
v2.0.0
v2.0.2

View File

Before

Width:  |  Height:  |  Size: 995 B

After

Width:  |  Height:  |  Size: 995 B

View File

@@ -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

View File

@@ -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

View File

Before

Width:  |  Height:  |  Size: 1012 B

After

Width:  |  Height:  |  Size: 1012 B

View File

@@ -791,6 +791,7 @@ const BehaviorScript bhvWfBreakableWallLeft[] = {
// WF breakable walls - common:
OR_INT(oFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
SET_HITBOX(/*Radius*/ 300, /*Height*/ 400),
SET_FLOAT(oDrawingDistance, 4500),
SET_INT(oIntangibleTimer, 0),
BEGIN_LOOP(),
CALL_NATIVE(bhv_wf_breakable_wall_loop),

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,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.

View File

@@ -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 ALSO BUILD FROM JP/SH AND EU 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

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,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
// 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 F3DZEX_GBI_2 is defined).
// Use .rej microcode for certain objects (experimental - only should be used when F3DEX_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,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

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

Some files were not shown because too many files have changed in this diff Show More