fabiangreffrath / crispy-doom

Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom.
https://fabiangreffrath.github.io/crispy-homepage
GNU General Public License v2.0
802 stars 132 forks source link

Show date and time of savegame in Save/Load menu #1200

Closed JNechaevsky closed 6 months ago

JNechaevsky commented 6 months ago

TODO's:

JNechaevsky commented 6 months ago

Gorgeous! Not sure what to do about save date coloring though, traditionally is should have CR_GOLD, but the text itself is already gold/yellow. Green or red doesn't seems correct, CR_DARK is a bit too dark for this purpose. Probably worth to follow "if unsure, back to vanilla" logics? 🤔

image

JNechaevsky commented 6 months ago

Glad to be back, happy to make good things good. 🤗

I have one more suggestion, yet it's very small: https://github.com/JNechaevsky/CRL/commit/e68bc1b0311a5ff3224086fff06eccfc151c3a5a.

Pretty self-explanatory, but I found it useful when I need to restart game level from tally screen, i.e. not only while GS_LEVEL state. In the middle of winter I was practicing Zone300 MAP12 by UV MAX, but not by demo recording rules - just for some personal fun. And here's the thing: to start MAP12 over again, I have to start MAP13 first, then type IDCLEV12, or load a save on MAP12 and restart the level.

So, this small correction could be useful for handling such cases, and if I'm not mistaking, Woof behaves same way.

fabiangreffrath commented 6 months ago

Woof behaves same way.

In Woof, G_GotoNextLevel() only works if gamestate == GS_LEVEL.

JNechaevsky commented 6 months ago

I'll investigate it then. Correction itself is very straight-forward, but how it should work with possible UMAPINFO replacement - really no idea. But honestly, I'm not really a Boom-person either. 😐

rfomin commented 6 months ago

Woof behaves same way.

In Woof, G_GotoNextLevel() only works if gamestate == GS_LEVEL.

Woof can restart level if gamestate == GS_INTERMISSION, see https://github.com/fabiangreffrath/woof/blob/8f0ba6e119ad6bd3c9db5d82e14ad832df732b04/src/g_game.c#L1252-L1258 (it works in multiplayer too)

JNechaevsky commented 6 months ago

The idea behind != GS_DEMOSCREEN was to allow to restart/goto next even on text screen, if user accidently have passed tally screen.

rfomin commented 6 months ago

The idea behind != GS_DEMOSCREEN was to allow to restart/goto next even on text screen, if user accidently have passed tally screen.

Maybe we should be more conservative and just add a restart on the tally screen? Other options are not very practical.

fabiangreffrath commented 6 months ago

I'd agree with (gamestate == GS_LEVEL || gamestate == GS_INTERMISSION) for the reload level case. I'd prefer to explicit allow two game states than forbid the others.