[BUG][PLAYER]replay sometimes cancels on 10 second skip

Started by mobius, September 18, 2016, 11:57:24 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

mobius

Not always, and I can't figure out any pattern or reason for it; but often if I restart and and replaying the level if I press the space bar to skip 10 seconds it cancel's the replay. This isn't supposed to happen is it?

EDIT: mobius mentioned in #neolemmix that this occurs on V1.47n.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


namida

Only if the last replay action occurs within the first 10 seconds. I'll look into this.

Just in case, do you have "Explicit Replay Cancelling" on or off? (Not that it should make a difference)
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

I'm not able to reproduce this, even using V1.47n rather than V1.47n-C2 or V1.47n-D:FC73BC8.

First, I strongly suggest upgrading to either the stable V1.47n-C2 or the experimental V1.47n-D:FC73BC8.

If it happens again, can you follow these steps and report back:
1. Wait a little bit to see if the replay continues (and thus it's merely a graphical glitch with the R disappearing). If this is the case, changes for the next update (these changes are included in V1.47n-D:FC73BC8, but not in V1.47n-C2) should have already fixed this.
2. Restart the level again. Do not do the 10-second skip, just watch (fast forward is okay).
3. If the R disappears again (which will most likely be within the first 10 seconds), see if you can notice anything about the time. Does a skill assignment, nuke, or release rate change occur (whether or not it's one that you actually performed before)?
4. Whether you can notice anything or not, save a replay file and upload that here.
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)

mobius

I've upgraded and using the version found on your site today.

I've uploaded the level I was testing and two replays; the control I did not use the 10 second skip at all. The second I do immediatly.

It's definitely not a graphical glitch, the replay stops when the R goes away.

Oddly; in this example, if I space immediately, the blocker action is remembered but not the rest. I've observed this else where; often the first action is remembered but the rest is lost. I also tried spacing after the first miner and then then second miner is lost (replay stops after first).

I know this is a bug that happened recently because I didn't happen before, but I can't say when it started it may have been for a few versions now.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


namida

Yep, can confirm that the replay files also cut off at the points you mentioned. But I cannot reproduce this. Just to be sure, how are you restarting the level? (ie: the R key? Backwards frameskips to the start? Exiting the level completely (to the postview screen) then playing it again?)
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

Can you (or anyone else having this issue) test the following please:

(a) If you use a different forwards frameskip key (either a custom one, or perhaps the > key (5sec skip)), does this occur?
(b) If you reconfigure your hotkeys to not have any "Cancel Replay" key, does this still occur?
(c) Has this ever happened when you don't use frameskips at all, but just let the game continue playing normally (or fast forwarded)?
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)

mobius

after a quick test I discovered that this glitch isn't happening when I downloaded the latest editor/player combo and used it in the folder I downloaded it from, without moving any files around therefore; the problem must be something I did with my own files.*

I'll just throw away the old version I have and use the correct one.


*perhaps a bad combination of files from different versions. I have not been the least bit organized with versions.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


mobius

Couldn't find the old topic, so started a new one.

This is occurring again, exactly like before in version 1.48-B
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


namida

I still can neither reproduce this, nor by looking at the code figure out any reason why it would be happening.

If you can find any exact method to reproduce this, please let me know. This makes it much easier to investigate.

If anyone else is having this issue, let me know and explain the situation it happened in.

If neither of these lead anywhere, then I may need to make a test version specifically designed to investigate this issue.


Just in case, do you ever get weird behaviour with the Space key in any other programs / games?


@Nepster: If you get a chance, can you also look for anything in the code that might be causing this? TGameWindow.OnKeyPress (or OnKeyDown?) is probably a good starting point.
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

After some discussion with möbius in chat, here is a summary of my current knowledge:

Steps to reproduce the bug in V1.48-B:
1) Select the option "Don't Replay after Backwards Frameskip" in the general options menu.
2) Start a level and assign some skills.
3) Hit the "Restart level" hotkey. Note that the red "R" appears at the bottom and skill assignments are replayed.
4) Do a forwards frameskip. Now the replay stops and the red "R" vanishes.

Expected behavior is one of the following two behaviors:
A) Pressing the restart hotkey is seen as a backwards framskip and the replay is cancelled in step 3) already.
B) Restarting is not seen as a backwards framskip and it is intended that the attempt is replayed. But then forward frameskips shouldn't cancel it.
As I don't use the option "Don't Replay after Backwards Frameskip" myself, I don't know what the actual intended behavior would be, i.e. which of the two would be the most useful behavior to the people using this option.

I don't know (yet) how the option "Don't Replay after Backwards Frameskip" is actually implemented, but given the above behavior I would guess that it does the following: Whenever jumping to a new frame (note that restarting the level is implemented slightly differently than framskips), it deletes all skill assignments after the target frame.

mobius

my request for that "not replaying on B-F ing" option for just that; initially I said I didn't want a replay on restart either but I've changed my mind- since then realized that's a very bad decision.

the intended Beauvoir should be: checking this option simply prevents B F ing from also replaying.

When restarting the level should replay like without having this option checked. This option (and as I understood namida's intentions at the time I don't think he intended this;) should not effect restarting at all. Frameskipping forward with any keys (including space bar) should not cancel the replay.
This is how I use it most, to quickly get back to some point in the level's replay.

For watching some one else's solution I could always check "only cancel replay on the specified key" option, which reminds me;
---
I just realized I've never looked into the "only cancel replay on the specified key" option. I'm curious how this all works together. ???
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


namida

When that option is enabled, the game should prevent any action that would cancel the replay, unless either (a) said action exits play altogether (eg. the Esc key), or (b) said action is specifically the "Cancel Replay" hotkey. For example, if you were to attempt to assign a skill while the game was replaying, the assignment would be ignored if this option is on; you'd have to first cancel the replay via the Cancel Replay hotkey.

I haven't actually properly tested this option since introducing a new system of how the replay and game physics interact in V1.48 (this change should be invisible to the user, but behind the scenes it makes NeoLemmix much less prone to replay-physics desyncs).


Thanks for pointing out that the Cancel Replay On Backwards Skip option is involved. This is probably why I was unable to reproduce it; I didn't investigate unusual behaviour of that option.
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)