-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Debug Boot (DebugOpeningState) #136
base: develop/2.1.0
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
imo this entire thing should be named "Boot Menu" instead of having inconsistent names (currently there's "boot menu", "debug boot" and "debug opening")
CFLAGS += -DPACKAGE_VERSION='$(PACKAGE_VERSION)' -DCOMPRESS_$(COMPRESSION_TYPE)=1 | ||
CPPFLAGS += -DPACKAGE_VERSION='$(PACKAGE_VERSION)' -DCOMPRESS_$(COMPRESSION_TYPE)=1 | ||
CFLAGS_IDO += -DPACKAGE_VERSION='$(PACKAGE_VERSION)' -DCOMPRESS_$(COMPRESSION_TYPE)=1 | ||
CFLAGS += -DPACKAGE_NAME='$(PACKAGE_NAME)' -DCOMPRESS_$(COMPRESSION_TYPE)=1 | ||
CPPFLAGS += -DPACKAGE_NAME='$(PACKAGE_NAME)' -DCOMPRESS_$(COMPRESSION_TYPE)=1 | ||
CFLAGS_IDO += -DPACKAGE_NAME='$(PACKAGE_NAME)' -DCOMPRESS_$(COMPRESSION_TYPE)=1 | ||
CFLAGS += -DPACKAGE_COMMIT_AUTHOR='$(PACKAGE_COMMIT_AUTHOR)' -DCOMPRESS_$(COMPRESSION_TYPE)=1 | ||
CPPFLAGS += -DPACKAGE_COMMIT_AUTHOR='$(PACKAGE_COMMIT_AUTHOR)' -DCOMPRESS_$(COMPRESSION_TYPE)=1 | ||
CFLAGS_IDO += -DPACKAGE_COMMIT_AUTHOR='$(PACKAGE_COMMIT_AUTHOR)' -DCOMPRESS_$(COMPRESSION_TYPE)=1 | ||
CFLAGS += -DPACKAGE_AUTHOR='$(PACKAGE_AUTHOR)' -DCOMPRESS_$(COMPRESSION_TYPE)=1 | ||
CPPFLAGS += -DPACKAGE_AUTHOR='$(PACKAGE_AUTHOR)' -DCOMPRESS_$(COMPRESSION_TYPE)=1 | ||
CFLAGS_IDO += -DPACKAGE_AUTHOR='$(PACKAGE_AUTHOR)' -DCOMPRESS_$(COMPRESSION_TYPE)=1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is confusing me a lot, why not just do -DPACKAGE_VERSION='$(PACKAGE_VERSION)' -DPACKAGE_NAME='$(PACKAGE_NAME)' -DPACKAGE_COMMIT_AUTHOR='$(PACKAGE_COMMIT_AUTHOR)' -DPACKAGE_AUTHOR='$(PACKAGE_AUTHOR)' -DCOMPRESS_$(COMPRESSION_TYPE)=1
?
@@ -88,7 +88,7 @@ | |||
#endif | |||
|
|||
// Enable the map select feature if booting to map select or using map select for file 1 | |||
#if (BOOT_TO_MAP_SELECT || MAP_SELECT_ON_FILE_1) && !ENABLE_MAP_SELECT | |||
#if (BOOT_TO_DEBUG_OPENING || MAP_SELECT_ON_FILE_1) && !ENABLE_MAP_SELECT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
with this change if you set BOOT_TO_MAP_SELECT
to true it won't enable the map select automatically anymore
@@ -16,3 +16,6 @@ | |||
/* 0x03 */ DEFINE_GAMESTATE_INTERNAL(Play, GAMESTATE_PLAY) | |||
/* 0x04 */ DEFINE_GAMESTATE(TitleSetup, GAMESTATE_TITLE_SETUP, opening) | |||
/* 0x05 */ DEFINE_GAMESTATE(FileSelect, GAMESTATE_FILE_SELECT, file_choose) | |||
#if IS_MAP_SELECT_ENABLED |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
did you meant to use IS_DEBUG_BOOT_ENABLED
?
extern const char gBuildMakeOption[]; | ||
extern const char gBuildGitVersion[]; | ||
extern const char gBuildTeam[]; | ||
#if IS_MAP_SELECT_ENABLED |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IS_DEBUG_BOOT_ENABLED
? also some of these might be used on the rotating n64 logo screen (like the build author and the date)
@@ -334,6 +334,17 @@ typedef struct { | |||
/* 0x01E2 */ char unk_1E2[0x06]; | |||
} ConsoleLogoState; // size = 0x1E8 | |||
|
|||
#if IS_MAP_SELECT_ENABLED |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IS_DEBUG_BOOT_ENABLED
? also it's probably worth to move the structs/functions declarations to a dedicated header
@@ -56,8 +56,7 @@ void MapSelect_Init(GameState* thisx) { | |||
// turning the sfx volume back on | |||
SEQCMD_SET_SEQPLAYER_VOLUME(SEQ_PLAYER_BGM_MAIN, 0, 10); | |||
|
|||
#if BOOT_TO_MAP_SELECT | |||
gSaveContext.fileNum = 0xFF; | |||
#if BOOT_TO_DEBUG_OPENING |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what if I wanna use boot to map select instead of the boot menu? I'm a bit confused by this
if (ENABLE_F3DEX3) { | ||
GfxPrint_SetColor(printer, gRainbow.color.r, gRainbow.color.g, gRainbow.color.b, 255); | ||
GfxPrint_SetPos(printer, WIDE_MULT(7, WIDE_GET_16_9), 25); | ||
GfxPrint_Printf(printer, "Powered by F3DEX3!"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you should add the rainbow "powered by f3dex3" print to the boot menu
if (this->exit) { | ||
#if ENABLE_HACKER_DEBUG |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not using IS_DEBUG
here?
if (this->exit) { | ||
#if ENABLE_HACKER_DEBUG | ||
#if BOOT_TO_SCENE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a bit confused about why this is needed, I assume it's supposed to replace the stuff you removed from TitleSetup_SetupTitleScreen
? in this case why not booting to the boot menu for every debug cases and determine if it should show the menu or directly jump to the execution process based on which setting you're using?
|
||
GfxPrint_SetColor(printer, 220, 0, 17, 255); | ||
GfxPrint_SetPos(printer, 12, 1); | ||
GfxPrint_Printf(printer, "Zelda Debug Boot"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be named "HackerOoT Boot Menu"
oh also something I'd like to have is going back to the first page if you press "R" on the last one and vice versa |
This PR adds my Debug Boot which I previously shared on discord: https://discord.com/channels/879505781916053544/996101154238894110/1243562597006053436
I had to change a lot of stuff in the macros in order to get this working. It uses the map select macro together with the map select because the debug boot and the map select work together in a few ways. One should not be without the other based on this code.
I couldn't find any bugs but I didn't test the debug boot that much in the end if I'm being honest. If bugs appear, reach out to me on discord