Added test level feature

This commit is contained in:
Reonu
2021-07-25 14:01:49 +01:00
parent 5b61fed5c9
commit 75b0d960be
3 changed files with 20 additions and 5 deletions

View File

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

View File

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

View File

@@ -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),
};
};