From b1bfc35ad7d61aa8ef5315ac059dbbbb56e4a129 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sat, 10 Nov 2018 10:06:51 -0500 Subject: [PATCH] Hardcode tutorial prompt offset index --- src/doomstat.h | 6 +++++- src/f_finale.c | 3 ++- src/g_game.c | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/doomstat.h b/src/doomstat.h index 432699d99..b57098d52 100644 --- a/src/doomstat.h +++ b/src/doomstat.h @@ -169,7 +169,11 @@ typedef struct extern cutscene_t *cutscenes[128]; -#define MAX_PROMPTS 256 +// Reserve prompt space for tutorials +#define TUTORIAL_PROMPT 201 // one-based +#define TUTORIAL_AREAS 6 +#define TUTORIAL_AREA_PROMPTS 5 +#define MAX_PROMPTS (TUTORIAL_PROMPT+TUTORIAL_AREAS*TUTORIAL_AREA_PROMPTS*3) // 3 control modes #define MAX_PAGES 128 typedef struct diff --git a/src/f_finale.c b/src/f_finale.c index d706bf22e..0be8dd0bc 100644 --- a/src/f_finale.c +++ b/src/f_finale.c @@ -2236,6 +2236,7 @@ void F_StartTextPrompt(INT32 promptnum, INT32 pagenum, mobj_t *mo, UINT16 postex void F_StartTextPromptByNamedTag(char *tag, mobj_t *mo, UINT16 postexectag, boolean blockcontrols, boolean freezerealtime) { INT32 promptnum, pagenum; + INT32 tutorialpromptnum = (tutorialmode) ? TUTORIAL_PROMPT-1 : 0; char realtag[33]; if (!tag || !tag[0]) @@ -2248,7 +2249,7 @@ void F_StartTextPromptByNamedTag(char *tag, mobj_t *mo, UINT16 postexectag, bool if (tutorialmode) strncat(realtag, "FPS", 33); - for (promptnum = 0; promptnum < MAX_PROMPTS; promptnum++) + for (promptnum = 0 + tutorialpromptnum; promptnum < MAX_PROMPTS; promptnum++) { if (!textprompts[promptnum]) continue; diff --git a/src/g_game.c b/src/g_game.c index 2eecbe1b3..12e9cc961 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -141,7 +141,7 @@ tic_t countdowntimer = 0; boolean countdowntimeup = false; cutscene_t *cutscenes[128]; -textprompt_t *textprompts[256]; +textprompt_t *textprompts[MAX_PROMPTS]; INT16 nextmapoverride; boolean skipstats;