Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - WillLem

#1
The three engines I currently maintain (SuperLemmix, RetroLemmini and NeoLemmix CE) can all be hard-coded to autosave successful replays. It's already default behaviour for all, but maybe we should just go a step further and make it non-optional?

Another idea might be to require the presence of a working .nxrp file in order to load a level. On first loading the level, we run the MRC for just that level and its detected replay (this would take milliseconds and would happen silently). If it passes, we can display "Verified Solvable" on the preview screen. If it fails or the replay is missing, we display "Unverified" instead. The user can still play the level if they wish.

Better yet, adapt the .nxlv format to contain replay data. The loading procedure then reads this data directly, and tests it to see if the level (and its talismans) are solvable. Getting the data into the level file would be easy enough: each time the level is played and solved, add the data to the level file. If data exists already, overwrite it. Create new sections for talisman data. Don't overwrite if the level isn't solved.
#3
OK, I've gone ahead and added a zoom factor indicator to the corner text (where the X/Y co-ordinates are displayed):



It's relatively unintrusive so there's probably no need to make this optional. It shows the current zoom level (and users will get to know what is the min/max possible allowed by their monitor/screen res), so this should serve as an indicator of whether zoom in or out is possible from the current factor.

I'll keep the topic open in case anyone has any ideas/suggestions, but this should otherwise be considered resolved.

Implemented in commit 8d1441b.
#4
Reading back over this topic, it's my opinion that the best solution is to keep the existing styles.ini file, and have a GUI-based Style Manager with which the user can easily re-order, rename, add to, and ultimately save the style list as they wish.

I've made some progress with this already. Here's what we have so far:



It's fairly basic at the moment, but can absolutely be used to quickly and easily edit the styles.ini list. It's also coupled with the new Refresh Styles feature, so the dropdown lists are updated on-the-fly without having to close and re-open the Editor.

A "Group by Author" button could probably be introduced, as well as a "Sort Alphabetically" button. There may be a way to implement style pinning as well, so that the position of any pinned styles is preserved when performing an auto-sort. Note that, as has been agreed throughout this topic, the OG styles will continue to appear at the top of the default list (of course, user-pinned styles would supersede these).

In terms of keeping the list up to date without it overriding preferences, a master copy of styles.ini could be hosted on the Editor's GitHub repo page. An "Update Styles" button could then read from the master copy and auto-insert any missing styles into the user's copy, by author first, then alphabetically. We can show a list of which styles have been added using this process. NOTE: This would only add the style to the list, it wouldn't actually download the style itself.

Thoughts? Is there anything else we're missing here?
#5
Fixed in commit a8071f6.
#6
Since there have been no replies in a while, and SLX Editor now has horizontal-only and vertical-only piece movement (via hotkey + drag action), this one can be marked as resolved.
#7
Added latest Editor version (2.9.2) to the download folder. See Editor release topic for more details.
#8
SuperLemmix / [RELEASE] SuperLemmix Editor 2.9.2
November 24, 2025, 03:43:41 AM
2.9.2 Hotfix Update

A quick update with the following features/bugfixes:

:lemming: Refresh Styles - It's now possible to refresh the styles without closing and re-opening the Editor. So, if a style is modified during a level editing session, it can be refreshed without interrupting workflow! This feature is accessed via a menu item and customizable hotkey (Ctrl+Shift+F8 by default)

:lemming: Missing Pieces Handling - Much improved handling of missing pieces. The status bar now gives 3 options (Show, Keep or Delete missing pieces) - no more auto-deletion of pieces, and no more need to auto-save with an appended filename. See this topic for more details

:lemming: Missing Pieces Handling - Bugfix - Status bar is once again shown correctly (it wasn't appearing in 2.8.9b and 2.9)

:lemming: Custom Trigger Area Colours - Bugfix - Fixed transparency for the non-default colours



Get the latest version here.

#9
Finally got this one working. We now have a menu item and hotkey which performs a full styles refresh:



This re-loads the entire styles folder and refreshes the level. In the event of missing pieces following a styles refresh, they're handled in the same way as opening an existing level with missing pieces (see this topic for details).

Please note that it's been decided not to add a button to the Piece Browser for refreshing styles, since it's not something that will likely be reached for very often. The customisable hotkey should be enough for quick access to this feature.

Implemented in commits 4efb55d - 21f3f19.
#10
OK, we now have much better handling of missing pieces. The status bar informs the user that the level contains missing pieces, and offers 3 options (via the "lemming" button):



Show missing pieces - Opens a dialog with a list of the missing pieces
Keep missing pieces - Closes the status bar and returns session to normal (NOTE: the missing pieces will remain in the level file, and will be flagged as missing again next time the level is opened in the Editor)
Delete missing pieces - Removes the missing pieces from the level

So, importantly, the Editor no longer auto-deletes missing pieces and instead gives the user complete control over the session. N.B. It was also decided to remove the behaviour of auto-creating a "_MissingPieces" version of the level. If the user wishes to create a new save of the level with a different filename, they can do this manually.

I'm fairly happy with this as a final version of missing pieces handling. I'll keep the topic open for now, but this should be considered resolved.

Implemented in commit 0fe3481.
#11
Following feedback, the transparency has been improved:


Pink


Yellow


Green


Blue


Purple

Implemented in commit d8dca98, with improvements to the code in 6f74492.
#12
SuperLemmix / Re: [RELEASE] SuperLemmix Editor 2.9
November 20, 2025, 09:28:35 PM
2.9 Hotfix Update

A quick fix for the following bugs:

:lemming: Piece Browser Window - Bugfix - The Piece Browser window is now re-drawn correctly after minimizing and then restoring the Editor

:lemming: Piece Browser Window - Bugfix - Minimising the Piece Browser window to the taskbar no longer creates an unhandled exception error

:lemming: Piece Browser Window - Bugfix - Fixed focus for the piece dropdown control, so hotkeys should now work fully as expected when the Piece Browser window is active



Get the latest version here.

#13
I'm about 90% sure that the culprit is in fact the new Piece Browser window, which has the styles dropdown embedded. This control can eat hotkeys if recently focused, so I've had to take steps to make sure this doesn't happen (whilst continuing to allow the form to respond to hotkeys in general).

The fix is to essentially mimic what happens with the main editor form itself: we pull focus to/from text-based controls when the mouse is not interacting directly with those controls. I've replicated this behaviour on the Piece Browser form and it seems solid.

I'll get the hotfix out later today.

Fixed in commit 159ca64.
#14
Resolved. We needed to ensure that we were passing the windowed state (or not) of the Piece Browser control when resizing the main form. This was already done for all but one repainting method call, but it's sorted now.

I'll get this hotfix out tomorrow. In the meantime, a workaround is to simply resize the Piece Browser window itself to force it to update.

Fixed in commit fdc9397.
Also fixed an unhandled exception when minimizing the Piece Browser window in commit 332c0f2.
#15
Quote from: GigaLem on November 20, 2025, 01:30:39 AMThe piece window also blanks out when the level editor window closes or opens, or when the editor is minimized

Confirmed. I'll get on a fix for this tonight.