[BUG][PLAYER] Pressing F12 on menu screen starts level in glitched state.

Started by namida, March 11, 2019, 02:18:19 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

If the user presses the F12 key while on the menu screen, NeoLemmix goes directly to in-game on the last played level (if no level has been played, it will use whatever level would be the default go-to for the currently selected rank). However, the background and terrain is missing (objects and lemmings are visible). It's still functional; physics are correct and the level is completely playable if clear physics mode is used the entire time (or the user knows the level very well).

I suspect this is a result of LemGame not checking if the background and terrain layers have actually been rendered or not, and instead relying on that the preview screen has already done this. LemGame does need to also check if these need to be rendered (eg. they don't need to be when running a mass replay check).

Of course, the bigger question is whether F12 (or any key, for that matter) should have the "go to in-game skipping preview screen" function in the first place. Maybe it's useful in some cases, not sure. I discovered this purely by accident.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Nepster

Yes, this F12 is a special hotkey on the main menu. I wasn't aware of it either :lem-shocked:. And your suspicion is pretty much spot-on: We set up the images for all the layers, just never draw the terrain and background onto them, because we trust the preview screen to have done so (because it has to do it anyway...).
I would be in favor of removing this functionality: Given that the screen loading time is now much faster than in the elder days, there shouldn't be any reason to keep it any longer.

namida

I wonder if it was originally set up for testing purposes (either in relation to clear physics mode which doesn't need normal-mode visibility to work, or perhaps before the new setup that split the layers like this). At any rate, if the reason for its existance is not known, I'd have to assume it doesn't need to exist and the correct solution is simply "remove this "feature"".
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)