[+][BUG][PL] Issues with Playback Mode

Started by WillLem, July 01, 2026, 04:19:03 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

WillLem

From this topic.



Quote from: darkshoxx on June 29, 2026, 09:28:35 AMI have tested this with a folder that has 3 replay files, 2 for the same level. If I choose Playback Order by Replay, the levels are started, I see a purple "R" but no skills are selected, all the lemmings die  :(
Instead if I choose "By Level", everything works just fine.

I can't reproduce this. Please could you send over the replays that you used to test?

Quote from: darkshoxx on June 29, 2026, 09:28:35 AM- There is no default Playback Cancel Hotkey, and no easy way for me to set one, so there's just this field that remains empty.

Options (F3 from main menu) > Configure Hotkeys > (Choose a key to edit) > Choose 'Stop Playback Mode' from the dropdown list*

Are you carrying over your hotkeys from NL? If so, a key won't have been configured for cancelling playback, hence the blank space. I should do something about this; we can set a default so that some key is shown here, and the user can be prompted to set their own the usual way (i.e. via Configure Hotkeys).

*Side note - admittedly, choosing key-first-then-action is a less unintuitive way to set hotkeys than choosing action-first-then-key, particularly if a user isn't aware of what actions are available. It may be a good idea to rethink the hotkey config UI at some point. I like Simon's hotkey UI in Lix, and - to a lesser extent - the super simple UI I created for RetroLemmini.

Quote from: darkshoxx on June 29, 2026, 09:28:35 AM- It says "choose a folder" but it only lets me choose a replay file within that folder (but then correctly identifies the parent folder).

Yes, this is a problem. We should have a directory picker here.

Quote from: darkshoxx on June 29, 2026, 09:28:35 AMWould you like me to raise a github issue?

I was going to say 'no need' originally, but ... actually, this might be a good idea. Just make one for the folder issue for now, and please PM me your test replays.

Thanks for reporting.

Simon

https://www.twitch.tv/videos/2808243186?t=1h21m43s

Excerpt starting at 1:21:43 in the livestream. Video will remain available for 14 days.

-- Simon

darkshoxx

Here's the playbacks I used. Maybe it's because two are for the same level?
Anyway, thanks for Simon for the idea to demonstrate it on stream.
Can you post a link to the github, then I can raise it as an issue there.
Here's the levels I used: https://www.dropbox.com/scl/fo/8p6c245zqu8veblff5dsj/AKC_TWGEs3rCKCKZNkMgkEE?rlkey=5bbnm98vfpz5iit2haxqq1lwr&st=6ea1zxue&dl=0

WillLem

#3
Quote from: darkshoxx on July 01, 2026, 08:18:54 AMHere's the playbacks I used. Maybe it's because two are for the same level?

Thanks for these. 2 for the same level shouldn't matter. The red flag is more that it doesn't work when 'By Level' is selected, but does work when 'By Replay' is selected. It could be that 'By Level' is broken, then (although it worked fine for me during testing).

I watched the stream posted by Simon and you're absolutely right: the 'R' is purple when Playback Mode is active and there are no more actions in the replay stream. It's to let the player know that Playback Mode is still active even if they cancel the replay mid-playback; Playback Mode itself persists until it is cancelled.

Quote from: darkshoxx on July 01, 2026, 08:18:54 AMCan you post a link to the github, then I can raise it as an issue there.

On second (well, third!) thoughts, you don't need to bother with this. I prefer to handle issues via the Forums anyway.

I'll investigate this tonight and tomorrow and hopefully come up with an answer, if not a fix.

WillLem

#4
So, we've identified 3 separate issues here.

:8(): Issue 1: Hotkey display

We do in fact have a default hotkey [Y], but all hotkeys are overwritten by the user config. So, if a user copies over a hotkey file without the 'Cancel Playback Mode' key specified, it will be blank.

I think the best solution here is to print the hotkey onto a button rather than a simple text label. If the hotkey is blank, the button displays '...' (otherwise, it displays whichever hotkey is set). This should prompt the user to click the button, which opens the hotkey config dialog:



We can probably do even better than this, but this seems a decent enough fix for now.

Implemented in NLCEPlayer commit 90648d9.

:8(): Issue 2: Use directory picker to select folder

This is now fixed. We open a directory picker rather than asking the user to select a replay within the directory (which is both confusing and misleading - we're loading all replays in the directory, not just one).

Implemented in NLCEPlayer commit 4c05ce9.
Also implemented for Replay Manager in NLCEPlayer commit e153480.


:8(): Issue 3: 'By Level' doesn't playback replays correctly, whilst 'By Replay' does

This one will require further investigation.

I tested the replays supplied by darkshoxx and they played back as expected for both 'By Level' and 'By Replay', although I did observe the following issues:

• It takes a while for playback to begin when running the replays 'By Level'. I'll see if there's a way to speed this up
• We should probably show something like 'Beginning Playback...' somewhere in the UI, otherwise it looks like nothing happens. Long waits will exacerbate this
• One of the Steel Works replays appears to be broken (i.e. it doesn't solve the level). Since physics are identical between NL 12.14 and NLCE, this shouldn't be happening. One possibility is that I might be using an edited version of Steel Works to play back the replay.

After testing some of my own Lemmings Redux replays, I found that 'By Level' does indeed play replays correctly; the replays were matched to the levels correctly (even when a level appears multiple times), but the ordering was incorrect - for example, The Crankshaft was played before Just Dig!. Not sure as to the reason for this, but clearly the playlist system needs another look.

So yeah, this third issue is proving to be one of those elusive things that's a problem for one user but not another. Ideally, I'd have feedback from multiple users regarding Playback Mode, but so far I only have my own tests (I ran several tests on different packs when developing Playback Mode and fixed any issues detected) and darkshoxx's bug report to go on.

I'll release 1.2 in the next few weeks with the first 2 issues fixed, if not the third. What's the deadline for the showcase?

darkshoxx

Hi WillLem, thanks for looking into those.

I think it's replaying the replays in alphabetical order of the filenames. If I rename the files to start with numbers of the order I want them to played in, it works
(e.g. 01_Steel_works 02_The_Boiler_Room,...)

The deadlines are as follows:

Submissions: 5.8.26
Event: 3.10.26

So no rush.
And again, just to be clear, it's a submission so there's no guarantee it'll be accepted, so don't put additional effort into it for the sole purpose of the submission.

darkshoxx

LMAO

Okay ignore the by-level vs. by-replay issue.

I clicked when the first level came up, so when you see the thumbnail and the details. That stops all playbacks.
Tested it multiple times again just now, if I don't click, everything works just fine in both modes, and clicking stops them in both modes.

WillLem

Quote from: darkshoxx on Today at 08:06:08 AMjust to be clear, it's a submission so there's no guarantee it'll be accepted, so don't put additional effort into it for the sole purpose of the submission.

Rest assured, the effort is to get the best working version of this feature. The submission has simply brought attention to it and generated useful feedback, so thank you for that! :)

Quote from: darkshoxx on Today at 08:06:08 AMOkay ignore the by-level vs. by-replay issue.
...
Tested it multiple times again just now, if I don't click, everything works just fine in both modes, and clicking stops them in both modes.

Confirmed! :P

Well that's a relief (in that the system itself isn't completely broken!), however it does highlight a considerable flaw with the UI: user input should not cancel the replay whilst Preview/Postview screen is displayed.

I've refactored the Playback Mode playlist building system anyway, because it previously relied on a bunch of mutable lists and, on looking again at the code, was way messier than it needs to be. The refactor makes every playlist item its own object, so the matchup and playlist-building process is much snappier and less prone to bugs; this is a win, even if it wasn't actually needed for this particular bug report!

Refactor in NLCEPlayer commit 1f50f71.

So, the third issue is actually:

:8(): User input during Preview/Postview screen cancels the replay!

This is unusual, because in normal circumstances clicking the screen would advance to game/next preview. We need to be extra careful if Playback Mode is active, then. Clicking should do absolutely nothing!

I'll fix this later tonight.

WillLem

#8
Fixed Preview/Postview clicks cancelling the replay. If 'Auto-skip Preview/Postview' is active, the click is added to the message queue and gets processed when the game starts, cancelling the replay iff Replay Insert mode is not active.

So, we simply eat the click.

Fixed in NLCEPlayer commit 8dbba16.

We also now skip levels with missing pieces during playback:

Fixed in NLCEPlayer commit 4b205ff.

We still need better user feedback when Playback Mode is first initialized. Printing a message on the Window Caption is OK, but not if the user has NLCE in fullscreen. Working on it.