widescreen mode saves to savefile

This commit is contained in:
Reonu
2021-07-18 11:08:09 +01:00
parent 11364cbb7f
commit f65eef2529
6 changed files with 29 additions and 14 deletions

View File

@@ -715,6 +715,9 @@ void thread5_game_loop(UNUSED void *arg) {
play_music(SEQ_PLAYER_SFX, SEQUENCE_ARGS(0, SEQ_SOUND_PLAYER), 0);
set_sound_mode(save_file_get_sound_mode());
#ifdef WIDE
gWidescreen = save_file_get_widescreen_mode();
#endif
render_init();
while (TRUE) {

View File

@@ -1682,11 +1682,7 @@ void render_pause_castle_main_strings(s16 x, s16 y) {
}
}
}
#ifdef WIDE
if (gPlayer1Controller->buttonPressed & L_TRIG){
gWidescreen ^= 1;
}
#endif
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, gDialogTextAlpha);
if (gDialogLineNum < COURSE_STAGES_COUNT) {
@@ -1736,11 +1732,6 @@ s16 render_pause_courses_and_castle(void) {
shade_screen();
render_pause_my_score_coins();
render_pause_red_coins();
#ifdef WIDE
if (gPlayer1Controller->buttonPressed & L_TRIG){
gWidescreen ^= 1;
}
#endif
#ifndef EXIT_COURSE_WHILE_MOVING
s32 exitCheck = gMarioStates[0].action & ACT_FLAG_PAUSE_EXIT;
#else
@@ -1788,6 +1779,10 @@ s16 render_pause_courses_and_castle(void) {
}
#ifdef WIDE
render_widescreen_setting();
if (gPlayer1Controller->buttonPressed & L_TRIG){
gWidescreen ^= 1;
save_file_set_widescreen_mode(gWidescreen);
}
#endif
if (gDialogTextAlpha < 250) {
gDialogTextAlpha += 25;

View File

@@ -298,7 +298,11 @@ static void geo_process_perspective(struct GraphNodePerspective *node) {
Mtx *mtx = alloc_display_list(sizeof(*mtx));
#ifdef WIDE
if (gWidescreen){
aspect = 1.775f;
if (gCurrLevelNum == 0x01) {
aspect = 1.33333f;
} else {
aspect = 1.775f;
}
}
else{
aspect = 1.33333f;

View File

@@ -629,6 +629,19 @@ void save_file_set_sound_mode(u16 mode) {
save_main_menu_data();
}
#ifdef WIDE
u8 save_file_get_widescreen_mode(void) {
return gSaveBuffer.menuData[0].wideMode;
}
void save_file_set_widescreen_mode(u8 mode) {
gSaveBuffer.menuData[0].wideMode = mode;
gMainMenuDataModified = TRUE;
save_main_menu_data();
}
#endif
u16 save_file_get_sound_mode(void) {
return gSaveBuffer.menuData[0].soundMode;
}

View File

@@ -59,6 +59,7 @@ struct MainMenuSaveData
// on the high score screen.
u32 coinScoreAges[NUM_SAVE_FILES];
u16 soundMode;
u8 wideMode;
#ifdef VERSION_EU
u16 language;
@@ -160,6 +161,8 @@ void save_file_set_cap_pos(s16 x, s16 y, s16 z);
s32 save_file_get_cap_pos(Vec3s capPos);
void save_file_set_sound_mode(u16 mode);
u16 save_file_get_sound_mode(void);
u8 save_file_get_widescreen_mode(void);
void save_file_set_widescreen_mode(u8 mode);
void save_file_move_cap_to_default_location(void);
void disable_warp_checkpoint(void);

View File

@@ -2266,9 +2266,6 @@ Gfx *geo_file_select_strings_and_menu_cursor(s32 callContext, UNUSED struct Grap
* either completing a course choosing "SAVE & QUIT" or having a game over.
*/
s32 lvl_init_menu_values_and_cursor_pos(UNUSED s32 arg, UNUSED s32 unused) {
#ifdef WIDE
gWidescreen = 0;
#endif
sSelectedButtonID = MENU_BUTTON_NONE;
sCurrentMenuLevel = MENU_LAYER_MAIN;
sTextBaseAlpha = 0;