Make character persist on level select

This commit is contained in:
Lucas S. Vieira 2025-04-07 20:47:24 -03:00
parent 1b60dd7cb6
commit 2838dc8f99
3 changed files with 8 additions and 1 deletions

View file

@ -21,5 +21,6 @@ void screen_level_setstate(uint8_t state);
uint8_t screen_level_getstate();
void screen_level_setmode(LEVELMODE mode);
void screen_level_setcharacter(PlayerCharacter character);
PlayerCharacter screen_level_getcharacter();
#endif

View file

@ -1010,6 +1010,12 @@ screen_level_setcharacter(PlayerCharacter character)
level_character = character;
}
PlayerCharacter
screen_level_getcharacter()
{
return level_character;
}
static void
level_play_music(uint8_t round, uint8_t act)

View file

@ -107,7 +107,7 @@ screen_levelselect_load()
data->music_selected = 0;
data->soundtest_selection = 0x00;
data->slidetest_selection = 0x00;
data->character_selection = CHARA_SONIC;
data->character_selection = screen_level_getcharacter();
// Regardless of the level, reset score.
// You're already cheating, I'm not going to allow you