Roadmap for CE 1.0

Started by WillLem, January 21, 2025, 01:51:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

WillLem

Quote from: IchoTolot on February 02, 2025, 07:32:55 PMI can close during searches

Ah OK. So it's only when the form has already gone unresponsive that you can't cancel the search?

I wonder how you're keeping the cursor and I'm not...? My cursor remains active, but appears behind the form. That points to it not being a program-side thing...

WillLem

#31
Fixed various bugs with the Level Search feature.

• Optimised search speed massively - instead of loading each and every node label and analyzing its text, we simply get the level title from the node data and then build a list of the matched nodes. It's gone from around 20 seconds for a search of 9000+ levels to more like 2 seconds! Initial search is now much faster even for large numbers of levels and search results, subsequent searches are near enough instantaneous.

• Choosing a level is also much snappier, as the logic there has also been optimised - we now only load the relevant branches of the tree to which the level belongs, and don't load any UI elements until absolutely needed.

• Added a call for the app to process messages periodically during search; this ensures UI responsiveness, keeps the cursor on top of the form, and allows interacting with the form even during the search process. Due to the search optimisation, it's not really necessary, but it should prevent the form from going unresponsive anyway.

• If no search results are found, the search results list is displayed anyway (with a "No results found" message) and the "Close" button is made visible so the user can return to the level treeview.

namida

...is the Close button not always there?
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)

WillLem

Quote from: namida on February 06, 2025, 08:32:56 PM...is the Close button not always there?

As in "Close Search". It appears when the search results are shown so it's pretty obvious it's for that purpose, but I could rename the button anyway.

namida

Quote from: WillLem on February 06, 2025, 08:41:46 PM
Quote from: namida on February 06, 2025, 08:32:56 PM...is the Close button not always there?

As in "Close Search". It appears when the search results are shown so it's pretty obvious it's for that purpose, but I could rename the button anyway.

You said that the close button is made visible if no results are found. I took this as meaning that if results are found, it wouldn't be there, which seems weird?
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)

WillLem

Quote from: namida on February 06, 2025, 10:11:01 PMYou said that the close button is made visible if no results are found. I took this as meaning that if results are found, it wouldn't be there, which seems weird?

Simple misunderstanding. In the current RC, when no results are found, results are not shown and neither is the "Close" button. So, it's then necessary to do a search which definitely will yield results in order to get the search results and button to show, so that it's then possible to return to treeview.

This bug is now fixed. The results and button are now always shown following a search, regardless of results count.

namida

It should be possible to close without performing a search at all too (eg if the user opens it via a misclick), if it isn't already.
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)

WillLem

Quote from: namida on February 07, 2025, 03:47:06 AMIt should be possible to close without performing a search at all too (eg if the user opens it via a misclick), if it isn't already.

The only way to "open" it is to perform a search. If the search field is empty, nothing happens. And searches are now so fast that even if a user managed to type something by accident and then accidentally trigger the search it wouldn't be too much of an issue. I did put in a "Cancel Search" button at one point, I guess it could be put back for emergencies.

WillLem

#38
OK, the RC has been available for quite some time now. I'll give another week or so for feedback and then get a CE 1.0 release version out before the end of February.

In response to RC feedback so far, the following updates have been implemented for the release version:

• Level Search is now much faster and has a generally tighter UI than in the RC. See this post for more details.

For now, let's leave the proposed "Cancel Search" button; searches are now so fast that it really isn't needed. If it's deemed necessary following a decent amount of actual use of the feature, then we can always add it in a later update. I'd rather see if we can do without it for now as it clutters the UI (and the code) quite a bit.

• Fade transition between menu screens is now on/off optional. When on, it's the same as it is in the RC. When off, transitions are more or less instant.

• The regular Assign Fail sound (as opposed to the "hit steel" sound) is now used for steel-proximity assignment failures (thinking about mayyybe making this one optional).

• Bugfix - When in Replay Insert mode, attempted assignments that fail because there is already an assignment on the same frame do not advance physics, thus only triggering the Assign Fail sound (and not the regular assignment sound) and giving the player a chance to edit the replay before advancing.

• Further tweaks to the Config menu (grouping, layout, etc; the options themselves are the same).

WillLem

#39
Another quick reminder that version 1.0 will be ready for release by the end of Feb. I've caught another few bugs and made a few additional enhancements that will be implemented for the 1.0 release:

• Fixed unresponsiveness in Level Select menu, added simple loading feedback, and updated the way packs are loaded so as not to process tons of information at once; this should ensure a much quicker and smoother UI in general, but there may still be noticeable loading delays if a pack isn't a compilation of (> 1) sub-packs but has lots of levels (500+). I'll keep working on this, but for now it's far better than it was previously.

• Level info was incorrectly sized for the larger Level Select menu; it now uses the full available width (simple oversight when cherry picking code from SLX).

• Added mouseover hints to Level Info icons.

• "Cleanse Levels" now provides feedback during the process.

• Bugfix - When falling back to default sprites, the correct sprite and brick colours are now loaded.

• "Falling back to default sprites" is now only shown once (on the level preview screen after the player has attempted to load the level). This is to prevent incidental pop-ups whilst browsing levels.

See also this post and this post for a full overview of everything that's been implemented for 1.0 (these lists will be merged and shown again along with the release of 1.0).