Add level exploring menu for translators

I would, of course, recommend translators to translate the roomnames
while playing the full game (optionally in invincibility) so they can
immediately get all the context and maybe the most inspiration. And if
you want to go back into a specific level, then there's always the time
trials and intermission replays which will give you full coverage of
all the room names.

However, the time trials weren't really made for room name translation.
They have some annoying features like the instant restart when you
press ENTER at the wrong time, they remove context clues like
teleporters and companions, but the worst problem is that the last room
in a level is often completely untranslatable inside the time trials
because you immediately get sent to the results screen...

So, I added a new menu in the translator options, "explore game", which
gives you access to all the time trials and the two intermissions, from
the same menu. All these time trials (which they're still based off of,
under the hood) are stripped of the annoying features that come with
time trials. These are the changes I made to time trial behavior in
translator exploring mode:

- No 3-2-1-Go! countdown
- No on-screen time/death/shiny/par
- ENTER doesn't restart, and the map menu works. The entire map is also
  revealed.
- Prize for the Reckless is in its normal form
- The teleporters in Entanglement Generator, Wheeler's Wormhole and
  Level Complete are restored as context for room names (actually, we
  should probably restore them in time trials anyway? Their "press to
  teleport" prompt is already blocked out in time trials and they do
  nothing other than being a checkpoint. I guess the reason they were
  removed was to stop people from opening the teleporter menu when that
  was not specifically blocked out in time trials yet.)
- The companions are there at the end of levels, and behave like in no
  death mode (become happy and follow you to the teleporter). Also for
  context.
- At the end of each level, you're not suddenly sent to the menu, but
  you can use the teleporter at your leisure just like in the
  intermission replays. In the Final Level, you do get sent to the menu
  automatically, but after a longer delay.

I made another mark on VVVVVV: don't be startled, I added gamestates.
I wanted all teleporters at the end of levels to behave like the ones
at the end of the intermission replays, and all handling for
teleporting with specific companions is already done in gamestates, so
rather than adding conditional blocks across 5 or so different
gamestates, it made more sense to make a single gamestate for
"teleporting in translator exploring mode" (3090). I also added an
alternative to having to use gamestate 3500 or 82 for the end of the
final level: 3091-3092.

One other thing I want to add to the "explore game" menu: a per-level
count of how many room names are left to translate. That shouldn't be
too difficult, and I'm planning that for the next commit.
This commit is contained in:
Dav999-v
2022-11-26 03:33:17 +01:00
committed by Misa Elizabeth Kai
parent 34cb42a19f
commit 80b9bcf0dd
14 changed files with 234 additions and 29 deletions

View File

@@ -158,12 +158,16 @@
<string english="Maintenance" translation="Onderhoud" explanation="title" max="20"/>
<string english="open lang folder" translation="talenmap openen" explanation="menu option. Button that opens the folder with language files (which is called lang) in a file explorer"/>
<string english="Sync all language files after adding new strings." translation="Synchroniseer alle taalbestanden na het toevoegen van nieuwe tekst." explanation="" max="38*6"/>
<string english="translate room names" translation="vertaal kamernamen" explanation="menu option"/>
<string english="Translate rooms" translation="Vertaal kamernamen" explanation="title" max="20"/>
<string english="Enable room name translation mode, so you can translate room names in context." translation="Schakel kamernaam-vertaalmodus in, zodat je kamernamen in context kunt vertalen." explanation="" max="38*4"/>
<string english="translate room names" translation="kamernamen vertalen" explanation="menu option"/>
<string english="Translate rooms" translation="Kamernamen vertalen" explanation="title" max="20"/>
<string english="Enable room name translation mode, so you can translate room names in context. Press I for invincibility." translation="Schakel kamernaam-vertaalmodus in, zodat je kamernamen in context kunt vertalen. Druk op I voor onkwetsbaarheid." explanation="" max="38*4"/>
<string english="You have not enabled room name translation mode!" translation="Je hebt kamernaam-vertaalmodus niet ingeschakeld!" explanation="" max="38*4"/>
<string english="menu test" translation="menutest" explanation="menu option"/>
<string english="Menu test" translation="Menutest" explanation="title" max="20"/>
<string english="Cycle through most menus in the game. The menus will not actually work, all options take you to the next menu instead. Press Escape to stop." translation="De meeste menu&apos;s in het spel doorlopen. De menu&apos;s zullen niet echt werken, alle opties zullen in plaats daarvan naar het volgende menu leiden. Druk op Escape om te stoppen." explanation="" max="38*6"/>
<string english="explore game" translation="spel verkennen" explanation="menu option"/>
<string english="Explore game" translation="Spel verkennen" explanation="title" max="20"/>
<string english="Explore the rooms of any level in the game, to find all room names to translate." translation="Verken de kamers van elk level in het spel, om alle kamers te vinden die vertaald kunnen worden." explanation="" max="38*6"/>
<string english="limits check" translation="limietcontrole" explanation="menu option"/>
<string english="global limits check" translation="globale limietcontrole" explanation="menu option"/>
<string english="Limits check" translation="Limietcontrole" explanation="title" max="20"/>
@@ -349,6 +353,10 @@
<string english="The Warp Zone" translation="De Wikkelzone" explanation="area name as title" max="20"/>
<string english="the final level" translation="het eindlevel" explanation="area name as menu option"/>
<string english="The Final Level" translation="Het Eindlevel" explanation="area name as title" max="20"/>
<string english="intermission 1" translation="intermissie 1" explanation="area name as menu option"/>
<string english="Intermission 1" translation="Intermissie 1" explanation="area name as title" max="20"/>
<string english="intermission 2" translation="intermissie 2" explanation="area name as menu option"/>
<string english="Intermission 2" translation="Intermissie 2" explanation="area name as title" max="20"/>
<string english="???" translation="???" explanation="locked area" max="20"/>
<string english="Not yet attempted" translation="Nog geen poging gedaan" explanation="" max="38*2"/>
<string english="TO UNLOCK:" translation="OM TE ONTGRENDELEN:" explanation="followed by `Rescue XX`/`Complete the game`, and then `Find XX trinkets`" max="40"/>