diff --git a/include/screens/level.h b/include/screens/level.h index aeba0ef..943791e 100644 --- a/include/screens/level.h +++ b/include/screens/level.h @@ -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 diff --git a/src/screen_level.c b/src/screen_level.c index 7076be5..0f7783e 100644 --- a/src/screen_level.c +++ b/src/screen_level.c @@ -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) diff --git a/src/screen_levelselect.c b/src/screen_levelselect.c index 00800da..456e9f1 100644 --- a/src/screen_levelselect.c +++ b/src/screen_levelselect.c @@ -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