[FIXED][Bug][Player]Failure screen massage on Level Cleared screen

Started by GigaLem, December 18, 2018, 06:54:08 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

GigaLem

Just tested a level and got this as the message. May I remind you that this message is went you fail a level with few lemmings saved.
Image in spoiler
Spoiler

Nepster

Sorry, but this is not nearly enough information you are giving us here. My current guess is that either the level pack of this level overrides the default messages, or the file with your default messages got changed, so that the top message got replaced with the one you are seeing. The messages are stored in the file "data\postview.nxmi" and this file should look like the attached one.

IchoTolot

We got a false message again during Nessy's stream with the Contest 16 pack.

A level with 1 Lemming (Arty's R1 level) got solved an it showed the "Very Bad" message instead of the "Save All" one. The pack uses the standard messages.

@Nessy: Could you post the stream link here for reference? ???

namida

I have encountered this bug several times, with default postview messages, on levels that either:
- Have a save requirement of zero. Probably not critical, no real-world level will have this requirement, only placeholder ones. Correct behaviour here is undefined, as both "saved none" and "met requirement exactly" are fulfilled, and in a real-world scenario these are mutually exclusive so no priority between them is defined.
- Have exactly one lemming (including cloners) and require exactly one lemming saved. Correct behaviour here would be to display the "saved all" message.

There may be other situations, but these are the ones I recall. I don't personally remember seeing it on levels with more than 1 lemming, as long as the postview message conditions themself aren't faulty.
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)

Nessy

Quote from: IchoTolot
@Nessy: Could you post the stream link here for reference? ???

For reference here's the part of the stream where I completed Arty's Rule 1 level which has only 1 lemming and before the window pops up to save my replay you can see the incorrect message.

I haven't encountered this bug before but I actually want to run some more tests on it first and post some of my findings.

EDIT: Okay so one interesting thing I noticed right off the bat is that in the default postview text file the "Better Rethink Your Strategy..." message I got on that level seems to be linked to saving exactly one lemming in a level regardless if it's one lemming saved out of one.

$RESULT
  CONDITION 1
  LINE Better rethink your strategy before
  LINE you try this level again!
$END


I'm wondering if this is overwriting the "Right On!" message or if the "Right On!" message isn't even being checked because it already met the save 1 condition?



ccexplore

Yeah, ordering definitely matters for these kinds of checks, because some cases may satisfy multiple checks but usually only one of the corresponding messages is most appropriate .  For reference, this post described the exact ordering of checks that the original Lemmings 1 game performs to determine which message to show (ie. it stops at the first check that is satisfied and displays the corresponding message associated with that check).  Might be good to take a closer look at how NeoLemmix's programming orders the checks it performs.  If it's based directly on the ordering of entries in postview.nxmi, I'd suggest to try reordering the entries in the file to match the original game's ordering of checks.

Nepster

I have fixed the issue with requirements of 0 or 1 lemming for the next release. The checks for absolute values (like 0 or 1) are now ignored if the level is solved.

namida

QuoteThe checks for absolute values (like 0 or 1) are now ignored if the level is solved.

Just to be safe there, I would check that this doesn't result in a divide-by-zero error on levels that require saving 0 of 0 (which might be used as placeholders during development of packs).
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

We only divide by the constant 100 in that algorithm, so there is no possibility of a divide-by-zero error.