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
SuperLemmix / Re: [RELEASE] SuperLemmix 3.0.3
September 04, 2026, 06:39:19 PM
3.0.3 Update

The long-awaited release of SuperLemmix 3.0.3 is here! :lemcat: Here's what's new:

Changelog

:lemming: New 'Minimum Skill Limit' Talisman
• It's now possible to set a Minimum Skill Limit which the player must use in order to obtain the Talisman. This is displayed as 'Use at least X' or 'X+' in the UI, and can be combined with the existing Maximum Skill Limit to create a range (e.g. 5-10) of skills which must be used. The Minimum Skill Limit is capped at 10 to keep this Talisman sensible, and this cap may be raised/lowered in the future depending on usage and feedback

:lemming: Replay Modes
• Players can now choose whether 'Standard' (Red R) or 'Insert' (Blue R) is the default Replay mode when a replay is activated. The existing 'Insert' toggle (O by default) can still be used to switch between the two
• Same-Lemming-Overwrite is now possible in Insert Mode (we show a 'CUT X TASKS' warning to show that assigning the skill will erase future assignments for the selected lemming)
• Added 'Click Air to Cut Replay in Insert Mode' option (Standard Mode is always 'Click Air to Cut')

:lemming: Autosave Playtest Replays
• Replays are now auto-saved when playtesting a level (regardless of completion status). The replays are stored in Auto_Playtest and, if a particular level already has an auto-saved replay, the existing replay is overwritten. The replays can be auto-deleted via NL Editor 2.2 and later

:lemming: Pickup Skills
• Mousing over a Pickup now shows skill type + count in the panel info
• It's now possible to specify a Pickup object's size in the .nxmo (if necessary) so that the mouseover hitbox can match custom Pickup sizes

:lemming: Skill Panel
• Mousing over icons now shows panel hints
• The save count is displayed in blue until the requirement is met, then it changes to green
• Removed duplicate Amiga theme gfx
• All display values are capped at 999

:lemming: Level Select
• Title & Author captions are correctly reloaded after using 'Edit Level'
• Optimized treeview loading and interaction to keep UI responsive. See this topic and please report if you notice the Level Select menu going unresponsive
• Optimized Level Search feature - it's now faster and more stable

:lemming: Playback Mode
• 'Cancel Playback' hotkey is now printed onto a button which opens the hotkey config
• 'Browse' now opens a directory picker to select a folder of replays
• Optimized playlist creation and loading
• When Playback Mode is cancelled, we return to Main Menu and display the reason
• Bugfix - When 'Autoskip Preview and Postview Screens' is active, mouse and keyboard inputs made on these screens no longer pass through to the gameplay screen

:lemming: Replay Manager
• 'Browse' now opens a directory picker to select a folder of replays

:lemming: Hotkeys
• Added hotkey for 'Select Unassigned Lemming' - this can be used to select any lemming that is either a Walker, Ascender or Faller, and not an athlete. There is no default key, so be sure to set it yourself if you wish to use this hotkey

:lemming: Preview Screen
• Show 'Spawn Interval' instead of 'Release Rate' depending on which option is selected
• Special lemming types (Neutrals, Zombies) are subtracted from the total lemming count and displayed separately
• Improved layout and updated clickable text colors

:lemming: Postview Screen
• 'Show skills used n' clickable text added, where n is the total skills used in the level. Clicking the text opens a dialog detailing which skills were used (NOTE: this is only shown on successful level completion)

:lemming: Included Levels
• Steel type has been set to 'Always Steel (even if behind terrain)' for all levels
• Fixed music for 'Multiverse' and 'PS3' in DMA compilation

:lemming: Styles
• Style Manager has been updated, and includes all the latest styles for SuperLemmix
• Panel icons for all relevant styles have been updated to include the 'Exit + Amiga tick' icon
• Exit markers and new objects have been added to all relevant styles (courtesy of ericderkovits)
• Updates to slx_crystal Exit gfx (locked exit animations are smoother, colors are improved)
• Default background color is now Amiga Blue (000030) instead of Black (000000) in all styles
• 'owa_down' in slx_fire and orig_fire fixed (courtesy of 92Dexter11)

:lemming: UI / Bugfixes
• Clear Physics Colors can now be changed using settings/SLXClearPhysicsColors.nxmi
• 'Color Cycle' option has been removed. It's now possible to cycle any color in Clear Physics by adding 'CYCLE' as the relevant value in settings/SLXClearPhysicsColors.nxmi
• Gameplay no longer soft-locks when the Nuke is activated prior to a Zombie spawning from a hatch
• 'Show Backgrounds' option is now 'Show Decorations', and includes decorative objects as well as backgrounds
• Check for missing pieces before displaying Preview text (see this topic)
• Hotkey Config - Fixed unlinked event handlers (so, changing values updates the UI immediately)
• Hotkey Config - Improved layout and optimized list rendering
• Backwards compatibility settings are now loaded first

See also: SLX Editor 3.3 Update



Download the latest version of SuperLemmix here.

A reminder of what's new in SuperLemmix 3.0

#2
SuperLemmix / [RELEASE] SuperLemmix Level Editor 3.3
September 04, 2026, 05:25:02 PM
SuperLemmix Editor 3.3 Update

A few additional features, tweaks and bugfixes. Here's what's new:

:lemming: Talismans
• Added support for Minimum Skill Limit talisman. This specifies a minimum amount that the player should use (up to 10) of a particular skill.

:lemming: Keep Playtest Replays
• Option added to keep playtest replays. If checked, replays generated when playtesting a level will be saved to the 'Auto_Playtest' folder. If unchecked, this folder will be deleted when the Editor is closed.

:lemming: Open Recent
• Recent levels can now be opened via File > Open Recent.

:lemming: Bugfixes
• Applying a Custom Skillset immediately commits the skillset to the active level.
• 'Animation' objects are recognised as 'No Effect'.



Get the latest version here.

#3
Apologies, fixed the broken link.
#4
1.1.3 Update

More levels, new features, plenty of fixes. Here's what's changed:

:lemming: 'Original Lemmings' level compilation added

• This features all the original DMA levels from Lemmings, Oh No! More Lemmings, Holiday Lemmings, and many more. This compilation will likely be updated again in a future update

:lemming: Replay Mode Updates

• Players can now choose whether 'Standard' (Red R) or 'Insert' (Blue R) is the default Replay mode when a replay is activated. The existing 'Insert' toggle (O by default) can still be used to switch between the two
• 'Same Lemming Overwrite in Insert Mode' option has been removed
• 'Click Air to Cut Replay in Insert Mode' option has been added (Standard Mode is always 'Click Air to Cut')

:lemming: Autosave Playtest Replays

• Replays are now auto-saved when playtesting a level (regardless of completion status). The replays are stored in Auto_Playtest and, if a particular level already has an auto-saved replay, the existing replay is overwritten. The replays can be auto-deleted via NL Editor 2.2 and later

:lemming: Preview Screen

• Updated Preview Screen text. See this topic for more details and to join in the ongoing conversation
• Special lemming types (Neutrals, Zombies) are subtracted from the total lemming count and displayed separately

:lemming: Postview Screen

• 'Show skills used n' clickable text added, where n is the total skills used in the level. Clicking the text opens a dialog detailing which skills were used (NOTE: this is only shown on successful level completion)
• Added per-line recoloring (this can be edited using data/ce-textcolors.nxmi if desired)

:lemming: Skill Panel

• Updated text colors. See this topic for more details and to join the ongoing conversation
• Added sand timer icons to show time progress (when the level has a time limit) - thanks to Simon for the idea!

:lemming: Level Select

• Optimized treeview loading and interaction to keep UI responsive. See this topic and please report if you notice the Level Select menu going unresponsive
• Optimized Level Search feature - it's now faster and more stable

:lemming: Playback Mode

• 'Cancel Playback' hotkey is now printed onto a button which opens the hotkey config
• 'Browse' now opens a directory picker to select a folder of replays
• Optimized playlist creation and loading
• When Playback Mode is cancelled, we return to Main Menu and display the reason
• Bugfix - When 'Autoskip Preview and Postview Screens' is active, mouse and keyboard inputs made on these screens no longer pass through to the gameplay screen

:lemming: Replay Manager

• 'Browse' now opens a directory picker to select a folder of replays

:lemming: UI / Bugfixes

• Gameplay no longer soft-locks when the Nuke is activated prior to a Zombie spawning from a hatch
• Clear Physics Colors can now be changed using settings/NLCEClearPhysicsColors.nxmi
• 'Color Cycle' option has been removed. It's now possible to cycle any color in Clear Physics by adding 'CYCLE' as the relevant value in settings/NLCEClearPhysicsColors.nxmi
• Hotkey Config - Fixed unlinked event handlers (so, changing values updates the UI immediately)
• Hotkey Config - Improved layout and optimized list rendering
• Backwards compatibility settings are now loaded first
• CE-specific panel icons are now loaded separately

:lemming: Styles

• 'owa_down' in orig_fire fixed (courtesy of 92Dexter11) - this may still need to be updated in the Style Manager

See also: NeoLemmix Editor 2.2 Update



Get the latest version here.

#5
NeoLemmix Editor Version 2.2 Update

A few additional features, tweaks and bugfixes. Here's what's new:

:lemming: Keep Playtest Replays
• Option added to keep playtest replays. If checked, replays generated when playtesting a level will be saved to the 'Auto_Playtest' folder. If unchecked, this folder will be deleted when the Editor is closed.

:lemming: Open Recent
• Recent levels can now be opened via File > Open Recent.

:lemming: Bugfixes
• Applying a Custom Skillset immediately commits the skillset to the active level.
• 'Animation' objects are recognised as 'No Effect'.



Download the latest version of the NeoLemmix Editor.

#6
This has now been implemented in SuperLemmix. We can give it a try there and see if it's any good.

It's been done as a 'Min-Max' skill limit, to keep the interface as clear as possible and to allow both limits to exist for the same skill.

Example UI:

If a skill has a minimum limit of 5 but no max, it will show as '5+' and 'Use at least 5'.
If a skill has a minimum limit of 5 and a max of 10, it will show as '5-10' and 'Use at least 5 but no more than 10'.
If a skill has no minimum limit and a max of 10, it will show as '0-10' and 'Use no more than 10'.

SLX Editor support has also been added.

SuperLemmix 3.0.3 should hopefully be released in the next 5-7 days.

SLXPlayer commit 8da4e75 - 3f02d64.
SLXEditor commit 1ab2b41.
#7
After testing from Flopsy (thanks! :)), it's very likely that this issue is now resolved.

1.1.3 will be released sometime during the next 5-7 days. It would be nice to get feedback on this particular issue from NLCE users.
#8
Nice idea! :)

This can already (sort of) be done. The pack author can add a Postview text screen to the final level of the final group, which can be used to congratulate the player on completing the pack (e.g. Mayhem 30 Rendezvous at the Mountain contains such a screen!)

However, that doesn't account for when players might complete the levels in a different order; a likely scenario, since incomplete levels may occur earlier than the last level in the pack, and the player will then come back to those levels later.

So, OK then: let's detect if the level just solved is part of a pack, and ask for the completion status of all other levels in that pack. If all are solved, regardless of ordering, let's show a simple 'Congratulations!' screen.

I've added this one to the to-do list.
#9
Eesh :forehead:

Of course, the event handler to use is 'Change', not 'Click'. The UI should not update every time the treeview is clicked, only when a node changes.

This removes the need to track the last-clicked node, and complements the other fixes (re-entry prevention, decoupling of loading from event handler).

NLCEPlayer commit 2d209ab.
#10
Quote from: Armani on August 29, 2026, 08:14:48 AMAfaik, there is no code path anywhere in SetInfo that calls ProcessMessages so with the current structure

SetInfo is now 'UpdateInfo' in CE, and ProcessMessages gets called just after the group caption is updated. This is because CE does a lot less 'load everything all the time' and mostly only grabs what it needs; the trade-off is that we occasionally need to manually push the UI to update (and of course, to keep the form responsive).

Quote from: Armani on August 29, 2026, 08:14:48 AMIt would be even better if we kept a "load pending" flag. If a load is already pending, don't post another message.

Yeah, this is (sort of) already how it's done. The click captures the node, sets the flag, and posts the message. The flag acts as a re-entrancy guard so that no further messages can be posted until the current one has been actioned. See the commit if you're interested to know exactly how the fix is implemented. Maybe you can suggest improvements?

Quote from: Armani on August 29, 2026, 08:14:48 AMFor some reason in NL, every single click would re-scan the entire tree to populate the level titles and info, parsing level files on the spot for any visible nodes that hadn't been labeled yet. This was very very inefficient. (Has this been fixed in CE?)

Yes, LoadNodeLabels is slightly more lightweight than it was previously, and has been moved out of UpdateInfo (previously SetInfo). That way, we can use it only when the tree is expanded rather than every time we need to load level info.

Quote from: Armani on August 29, 2026, 08:14:48 AM1) Populate the labels once for whatever is initially visible then incrementally populate them only for a group's direct children nodes when that group is expanded.

This is already done. LoadNodeLabels now only cares about what's actually visible, and it's called whenever the tree is expanded.

Quote from: Armani on August 29, 2026, 08:14:48 AM2) Skip the full level reload for the preview panel when the selected level's path hasn't actually changed.

This is also already done for the next update. Re-clicking the same level in the tree over and over no longer causes the level to reload. Obviously, if a different level is clicked, that level loads. And, since we still aren't using data caching, re-clicking the previous level again after clicking a different level causes it to re-load.

There is definitely more that can be done to optimize the level select menu, but the changes made in CE have brought it a long way.
#11
OK... the click handlers are now super light. They grab the active node and post a message, that's it.

Once Windows has finished handling the click, the message pushes the loading through. This makes the tree snappier than ever, and should prevent the UI from going unresponsive.

Pending testing, this should hopefully be the answer.

Implemented in NLCEPlayer commit a2ee836.
#12
Removed 'Allow Same-Lemming-Overwrite in Insert Mode' option; we show 'CUT X TASKS' and assume that the user wants to do this (NLCEPlayer commit 787bae5).

Added 'Click Air to Cut Replay in Insert Mode' option; users can choose to let air clicks cut the replay in Insert mode (air clicks always cut the replay in Standard mode) (NLCEPlayer commit 3ab5ade).
#13
I'm definitely up for Bristol, and would also be happy to travel to anywhere on the coast. Seaside in Winter can be very beautiful.

Happy to help Northern friends with transport if needed.
#14
Quote from: Simon on August 27, 2026, 04:28:13 AMIf we disable airclick, should clicking the R in the panel cancel replay?

Definitely.

The panel hints let the user know that they can cancel. But, panel hints are also optional. Discoverability is an issue for sure; maybe we can show a message the first time we enter replay mode (we're back to that again).
#15
Quote from: Simon on August 27, 2026, 04:48:46 AMHunch: Do the event handlers (callback functions) for on-click run in separate threads?

I'm not entirely sure to be honest. I certainly haven't implemented any sort of threading, but it may have been done by one of the previous devs.

Quote from: Simon on August 27, 2026, 04:48:46 AMAnd do they accomplish a lot of work by loading the level during the callback? Then: I'd try to make the event handlers lightweight. They should merely notify the main logic that filename/level X should be loaded. Later, the main logic opens the file.

I'm about 60% sure that the click is too heavy; the handler calls a method which includes loading level info and all sorts of other stuff. I've tried making it more lightweight by only processing exactly what we can see at any given time, but the click certainly could be more optimized.

Do you imagine: the click should 'request' that we load the level? Then, once the click has been eaten by Windows, then and only then load the level? (And, suppress further clicks until the level loading is complete?)

That could work!

Another collaboration session might be due. It would be good to look at a few bugs with you. We can look at Lix as well, it would be good to get the 'release mouse' hotkey finished.