Rando version warning on different builds (#2420)

* save build version to savefile

* adjust rando hash icons to use fade in/out

* add dialog message support on the file select screen and display rando version warning

* remove duplicated message functions and use stubbed play state instead for rando warning

* add major/minor/patch version saving to file and compare against

* use strncpy and memset for build version

* don't show rando warning one copy/erase screens

* review feedback

* Add german and french translations for rando warning

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>

---------

Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
This commit is contained in:
Adam Bird 2023-02-28 20:46:55 -05:00 committed by GitHub
commit 1fc6a2f08f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 139 additions and 12 deletions

View file

@ -2416,7 +2416,7 @@ void GameOver_Update(PlayState* play);
void func_80110990(PlayState* play);
void func_801109B0(PlayState* play);
void Message_Init(PlayState* play);
void func_80112098(PlayState* play);
void Regs_InitData(PlayState* play);
void Title_Init(GameState* thisx);
void Title_PrintBuildInfo(Gfx** gfxp);
@ -2433,6 +2433,11 @@ void Heaps_Free(void);
CollisionHeader* BgCheck_GetCollisionHeader(CollisionContext* colCtx, s32 bgId);
// Exposing these methods to leverage them from the file select screen to render messages
void Message_OpenText(PlayState* play, u16 textId);
void Message_Decode(PlayState* play);
void Message_DrawText(PlayState* play, Gfx** gfxP);
#ifdef __cplusplus
#undef this
};

View file

@ -46,6 +46,9 @@ extern "C"
extern OSViMode osViModeFpalLan1;
extern u32 __additional_scanline;
extern u8 gBuildVersion[];
extern s16 gBuildVersionMajor;
extern s16 gBuildVersionMinor;
extern s16 gBuildVersionPatch;
extern u8 gBuildTeam[];
extern u8 gBuildDate[];
extern u8 gBuildMakeOption[];

View file

@ -54,6 +54,10 @@ typedef struct {
} Inventory; // size = 0x5E
typedef struct {
/* */ char buildVersion[50];
/* */ s16 buildVersionMajor;
/* */ s16 buildVersionMinor;
/* */ s16 buildVersionPatch;
/* */ u8 heartPieces;
/* */ u8 heartContainers;
/* */ u8 dungeonKeys[19];