1
0
Fork 0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-12-22 09:39:43 +01:00

Move Comms Relay text boxes to new system

These seemed annoying to do without copy-pasting, because I didn't want
to make a separate function for every single dialogue, and I didn't know
how to pass through the English text, until I realized that I can just
use the existing original.lines vector in the text box to store the
English text. After that, getting it translated on-the-fly isn't too
bad.
This commit is contained in:
Misa 2024-01-21 11:04:00 -08:00 committed by Misa Elizabeth Kai
parent 82150fd3a9
commit 76483f96ef
3 changed files with 32 additions and 18 deletions

View file

@ -1632,56 +1632,56 @@ void Game::updatestate(void)
case 50: case 50:
music.playef(Sound_VIOLET); music.playef(Sound_VIOLET);
graphics.createtextbox(loc::gettext("Help! Can anyone hear this message?"), 5, 8, TEXT_COLOUR("purple")); graphics.createtextbox("", 5, 8, TEXT_COLOUR("purple"));
graphics.textboxcommsrelay(); graphics.textboxcommsrelay("Help! Can anyone hear this message?");
graphics.textboxtimer(60); graphics.textboxtimer(60);
incstate(); incstate();
setstatedelay(100); setstatedelay(100);
break; break;
case 51: case 51:
music.playef(Sound_VIOLET); music.playef(Sound_VIOLET);
graphics.createtextbox(loc::gettext("Verdigris? Are you out there? Are you ok?"), 5, 8, TEXT_COLOUR("purple")); graphics.createtextbox("", 5, 8, TEXT_COLOUR("purple"));
graphics.textboxcommsrelay(); graphics.textboxcommsrelay("Verdigris? Are you out there? Are you ok?");
graphics.textboxtimer(60); graphics.textboxtimer(60);
incstate(); incstate();
setstatedelay(100); setstatedelay(100);
break; break;
case 52: case 52:
music.playef(Sound_VIOLET); music.playef(Sound_VIOLET);
graphics.createtextbox(loc::gettext("Please help us! We've crashed and need assistance!"), 5, 8, TEXT_COLOUR("purple")); graphics.createtextbox("", 5, 8, TEXT_COLOUR("purple"));
graphics.textboxcommsrelay(); graphics.textboxcommsrelay("Please help us! We've crashed and need assistance!");
graphics.textboxtimer(60); graphics.textboxtimer(60);
incstate(); incstate();
setstatedelay(100); setstatedelay(100);
break; break;
case 53: case 53:
music.playef(Sound_VIOLET); music.playef(Sound_VIOLET);
graphics.createtextbox(loc::gettext("Hello? Anyone out there?"), 5, 8, TEXT_COLOUR("purple")); graphics.createtextbox("", 5, 8, TEXT_COLOUR("purple"));
graphics.textboxcommsrelay(); graphics.textboxcommsrelay("Hello? Anyone out there?");
graphics.textboxtimer(60); graphics.textboxtimer(60);
incstate(); incstate();
setstatedelay(100); setstatedelay(100);
break; break;
case 54: case 54:
music.playef(Sound_VIOLET); music.playef(Sound_VIOLET);
graphics.createtextbox(loc::gettext("This is Doctor Violet from the D.S.S. Souleye! Please respond!"), 5, 8, TEXT_COLOUR("purple")); graphics.createtextbox("", 5, 8, TEXT_COLOUR("purple"));
graphics.textboxcommsrelay(); graphics.textboxcommsrelay("This is Doctor Violet from the D.S.S. Souleye! Please respond!");
graphics.textboxtimer(60); graphics.textboxtimer(60);
incstate(); incstate();
setstatedelay(100); setstatedelay(100);
break; break;
case 55: case 55:
music.playef(Sound_VIOLET); music.playef(Sound_VIOLET);
graphics.createtextbox(loc::gettext("Please... Anyone..."), 5, 8, TEXT_COLOUR("purple")); graphics.createtextbox("", 5, 8, TEXT_COLOUR("purple"));
graphics.textboxcommsrelay(); graphics.textboxcommsrelay("Please... Anyone...");
graphics.textboxtimer(60); graphics.textboxtimer(60);
incstate(); incstate();
setstatedelay(100); setstatedelay(100);
break; break;
case 56: case 56:
music.playef(Sound_VIOLET); music.playef(Sound_VIOLET);
graphics.createtextbox(loc::gettext("Please be alright, everyone..."), 5, 8, TEXT_COLOUR("purple")); graphics.createtextbox("", 5, 8, TEXT_COLOUR("purple"));
graphics.textboxcommsrelay(); graphics.textboxcommsrelay("Please be alright, everyone...");
graphics.textboxtimer(60); graphics.textboxtimer(60);
setstate(50); setstate(50);
setstatedelay(100); setstatedelay(100);

View file

@ -3367,7 +3367,21 @@ void Graphics::textboxtranslate(const TextboxTranslate translate, const TextboxF
textboxes[m].updatetext(); textboxes[m].updatetext();
} }
void Graphics::textboxcommsrelay(void) static void commsrelay_textbox(textboxclass* THIS)
{
THIS->lines.clear();
if (THIS->original.lines.empty())
{
return;
}
THIS->lines.push_back(loc::gettext(THIS->original.lines[0].c_str()));
THIS->wrap(11);
THIS->resize();
THIS->xp = 224 - THIS->w;
}
void Graphics::textboxcommsrelay(const char* text)
{ {
// Special treatment for the gamestate textboxes in Comms Relay // Special treatment for the gamestate textboxes in Comms Relay
if (!INBOUNDS_VEC(m, textboxes)) if (!INBOUNDS_VEC(m, textboxes))
@ -3376,8 +3390,8 @@ void Graphics::textboxcommsrelay(void)
return; return;
} }
textboxprintflags(PR_FONT_INTERFACE); textboxprintflags(PR_FONT_INTERFACE);
textboxwrap(11); textboxes[m].original.lines.push_back(text);
textboxes[m].xp = 224 - textboxes[m].w; textboxtranslate(TEXTTRANSLATE_FUNCTION, commsrelay_textbox);
} }
int Graphics::crewcolour(const int t) int Graphics::crewcolour(const int t)

View file

@ -123,7 +123,7 @@ public:
void textboxtranslate(TextboxTranslate translate, TextboxFunction function); void textboxtranslate(TextboxTranslate translate, TextboxFunction function);
void textboxcommsrelay(void); void textboxcommsrelay(const char* text);
void textboxapplyposition(void); void textboxapplyposition(void);