mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-29 09:28:15 +03:00
Prevent other cases of losing unsaved levels by returning to menu
2.3 already made it so that if you ran the `rollcredits` command during in-editor playtesting, you wouldn't be returned to the title screen while losing unsaved level changes. But there are plenty of other ways to go back to the title screen from in-editor playtesting too. Namely, gamestate 1015 (the gamestate after completing a level) and 82 (time trial complete). So just add the appropriate checks to those gamestates, and add a catch-all check in Game::quittomenu(). Additionally, Game::updatecustomlevelstats() should not update custom level stats during in-editor playtesting (otherwise it would still happen even if the game didn't bring you back to the title screen). Editor notes will also be shown if the game prevents you from going to the title screen. Also, just to make things clear, I also added a level note for when the level is completed during in-editor playtesting. This is just to make it clear in cases where it might not be obvious that the game returned you to the editor for this reason. E.g. you have a terminal that calls gamestate(1013) in a level with 0 custom crewmates, but when you activate it, it looks like the terminal didn't work for some reason and just brought you back to the editor. But that's just only because you literally just completed the level.
This commit is contained in:
@@ -648,7 +648,10 @@
|
||||
<string english="ERROR: No checkpoint to spawn at" translation="HATA: Canlanılacak kayıt noktası yok" explanation="we cannot playtest because there is no checkpoint in this room that the player could start (be spawned) at" max="38*3"/>
|
||||
<string english="ERROR: Max number of trinkets is 100" translation="HATA: Maksimum eşya sayısı 100'dür" explanation="editor, user tried to place another trinket" max="38*3"/>
|
||||
<string english="ERROR: Max number of crewmates is 100" translation="HATA: Maksimum ekip üyesi sayısı 100'dür" explanation="editor, user tried to place another crewmate" max="38*3"/>
|
||||
<string english="Level quits to menu" translation="" explanation="editor message, user would have been forcefully returned to title screen but wasn't" max="38*3"/>
|
||||
<string english="Level completed" translation="" explanation="editor message, user would have been returned to levels list but wasn't" max="38*3"/>
|
||||
<string english="Rolled credits" translation="Jenerik kısmı" explanation="editor message, credits would have been shown but weren't" max="38*3"/>
|
||||
<string english="Time trial completed" translation="" explanation="editor message, time trial complete screen would have been shown but wasn't" max="38*3"/>
|
||||
<string english="{hrs}:{min|digits=2}:{sec|digits=2}" translation="{hrs}:{min|digits=2}:{sec|digits=2}" explanation="time format H:MM:SS"/>
|
||||
<string english="{hrs}:{min|digits=2}:{sec|digits=2}.{cen|digits=2}" translation="{hrs}:{min|digits=2}:{sec|digits=2}.{cen|digits=2}" explanation="time format H:MM:SS.CC"/>
|
||||
<string english="{min}:{sec|digits=2}" translation="{min}:{sec|digits=2}" explanation="time format M:SS"/>
|
||||
|
||||
Reference in New Issue
Block a user