diff --git a/README.md b/README.md index cca36162..0c0aeecd 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,6 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin - Platform Displacement 2 by Arthurtilly * - Water Surface Type patch by thecozies - Rounded corners by FramePerfection, merged by Cheezepin -- reonucam3: custom camera by me. This is included as a .patch file in the enhancements folder, you need to apply it if you want this camera. - This video shows a rundown of the features: https://youtu.be/TQNkznX9Z3k **Common Hack Changes:** - Better extended boundaries by anonymous_moose @@ -31,6 +29,8 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin - 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 me. This is included as a .patch file in the enhancements folder, you need to apply it if you want this camera. + This video shows a rundown of the features: https://youtu.be/TQNkznX9Z3k **Hacker QOL:** - Global, non-level based, star IDs (off by default) * @@ -48,6 +48,7 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin - The internal ROM name is now set with a define in `config.h` to make it simpler - There is a `gIsConsole` variable that is 1 when running on console and 0 when running on emulator. This way you can wrap your code in a console check. - Expanded audio heap allows for a larger concurrent note count and the importing of more m64 sequences and sound banks (By ArcticJaguar725) * +- You can set a test level in config.h in order to boot straight into it, so you can quickly test the level you're working on. * **Other Bugfixes:** - Castle music fix (Fixes the castle music sometimes triggering after getting a dialog) * diff --git a/include/config.h b/include/config.h index db9c20ee..a3ba6a1e 100644 --- a/include/config.h +++ b/include/config.h @@ -54,6 +54,12 @@ // -- ultrasm64-extbounds specific settings -- +// 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 + // COMMON HACK CHANGES // Internal ROM name. NEEDS TO BE **EXACTLY** 20 CHARACTERS. Can't be 19 characters, can't be 21 characters. You can fill it with spaces. // The end quote should be here: " @@ -79,7 +85,7 @@ // 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 // Platform displacement 2 also known as momentum patch. Makes Mario keep the momemtum from moving platforms. Breaks treadmills. -#define PLATFORM_DISPLACEMENT_2 +//#define PLATFORM_DISPLACEMENT_2 // Stars don't kick you out of the level // #define NON_STOP_STARS // Uncomment this if you want global star IDs (useful for creating an open world hack ala MVC) diff --git a/levels/entry.c b/levels/entry.c index 17c773ed..a7bc8209 100644 --- a/levels/entry.c +++ b/levels/entry.c @@ -7,11 +7,19 @@ #include "make_const_nonconst.h" +#include "config.h" + +extern const LevelScript level_main_scripts_entry[]; const LevelScript level_script_entry[] = { INIT_LEVEL(), SLEEP(/*frames*/ 2), BLACKOUT(/*active*/ FALSE), - SET_REG(/*value*/ 0), + #ifdef TEST_LEVEL + SET_REG(TEST_LEVEL), + EXECUTE(/*seg*/ 0x15, _scriptsSegmentRomStart, _scriptsSegmentRomEnd, level_main_scripts_entry), + #else + SET_REG(0), EXECUTE(/*seg*/ 0x14, /*script*/ _introSegmentRomStart, /*scriptEnd*/ _introSegmentRomEnd, /*entry*/ level_intro_splash_screen), + #endif JUMP(/*target*/ level_script_entry), -}; +}; \ No newline at end of file