Lix 0.10.26 released

Started by Simon, October 22, 2022, 07:24:13 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Simon

Get the newest Lix:

Download Lix -- for Windows, pick 64-bit version
:lix-evil: Source code
:8(): Changelog
:8:()[: Issue tracker

Lix 0.10.0 released:





The big new feature: Lix 0.10 offers handicapping in multiplayer games. If you're too strong for your group, consider to click the handicap icon with the unbalanced scales in the game room. You can choose fewer initial lix, fewer skills, a spawn delay, fewer points per lix saved, or any combination of these four handicap types.

It's up to our sessions to fine-tune the options! Let's see what's reasonable and what's less exciting.

Networking:
  • The server allows 0.9 and 0.10 in separate rooms. Decide with your friends whether and when to update as a group to Lix 0.10.
  • Both 0.9 and 0.10 players can chat with each other in the server's lobby. The 0.10 client will see both 0.9 and 0.10 rooms, and print a console error when you attempt to join a 0.9 room. Since 0.9 has no such functionality, the server will not show 0.10 rooms to 0.9 players at all; instead, the server will write a chat message to those 0.9 players in the lobby if any 0.10 rooms exist, suggesting to update to 0.10.
  • Renamed the server executable from server to lixserv.
The networking fixes are the silent star of the show this year. The server will now continue to support older Lix versions (0.9.x) in separate rooms from Lix 0.10. I won't have to force everybody to adopt a new physics release (this 0.10, or a future 0.11, 0.12, ...)

Let's give the 0.10 physics a good shot. :lix-grin: Besides handicapping, many small physics fixes made it into 0.10:

Physics:
  • Fix #265: Allow simultaneous exiting. When you're playing a race map and reach the exit at the same time as one or more different teams, all teams will score. Before, only the red team would score.
  • Fix #311: Top and bottom of maps are hollow. Terrain checks beyond those edges will not behave as if the edge row's terrain extended infinitely. Now, only the left and right edges of the level extend terrain in this way, not all four edges. Staircases built to the deadly ceiling will kill the builder as before, but now all following walkers will also leave the level and die.
  • Allow ability assignments (climber, floater, runner) to blockers. For now, these assignments have low priority; we can raise the priority after playtesting as a UI change without changing physics.
  • Fix blocker dancing: Now, walkers (and other non-blockers) don't move when they're both in a left-forcing blocker field and in a (different blocker's) right-forcing blocker field. Before, walkers would move sideways through the fields, turning each phyu. This looked like dancing.
  • Fix #266: Grant batters extra backwards range against blockers. We keep forward batter range vs. blockers as in 0.9, even though it's a lot of forward range so the batter sprite needn't overlap the blocker to still bat the blocker. Nobody has complained so far, and it's nice to bat blockers without awkward precision. We keep the batter range against other activities.
  • Half-fixed #397: The faller's distance in pixels fallen will not overflow the 32-bit int anymore. I didn't fix the overflow for physics updates yet, you can still play longer than what fits into the 32-bit int that counts physics updates (4.5 years at normal speed, or 46 days at turbo-fast-forward).
  • Moved the frogs' trigger areas downward by 1 pixel, so that the coordinates are divisble by 2. No levels broke from this, not even geoo's Las Ranas Hermanas in Hopeless.
  • Fix #410: Removed spike at top of both matt/beach/04 tiles (day and night). Before, both tiles had identical masks; now, both tiles still have identical masks, although the mask is different than before. There is no odd prong at the top right of those tiles anymore.
  • Fix #414: Fixed transparency/air pixels in earth.png from the Oriental set. The top row of pixels was not fully transparent (that would be 0 % alpha); it had an estimated 5 % alpha. Lix treats that as solid. Walkers were walking over solid, nearly invisible pixels. Now, earth.png has full transparency above the earth. No levels broke from this change.
  • Fixed #322: Don't wrap during tile group construction: Now, when you load a tile group on a small torus map, Lix will construct the group without wrongly wrapping the group's elements before grouping. Only when Lix has fully constructed the group tile, Lix will insert the group into the torus level.
Other:
  • Adapted the singleplayer levels Cry for Me (from lemforum), Baywatch (by RubiX), and Walking in a Winter Wonderland (also by RubiX) to work well with the always-hollow ceiling.
All levels are proven solvable in 0.10.

-- Simon

Simon

#1
Lix 0.10.1 released.

  • Fix #376: The replay browser shows the filename of the currently selected replay in the nameplate below the preview, in addition to the existing fields (level name, player, pointed-to level). If the replay filename is too long, e.g., because you run Lix in a tall (= non-widescreen) resolution, the nameplate shows only the hinder part. This way, you'll see both the frontal part of the filename in the file picker on the left-hand side and the hinder part of the filename in the nameplate on the right-hand side.
  • Fix #115: Added button to flip tiles vertically in the editor, in addition to the existing button that mirrors horizontally. No hotkey is bound by default to the vertical flip. You may assign a hotkey yourself.
  • Hotkey reminders in button corners appear in lighter text than before, but still slightly darker than regular text.
  • In the options menu, moved some menu hotkey options further right on the screen, to not overlap with the menu color pickers' description texts on tall (= non-widescreen) resolutions.
  • In geoo's multiplayer map Ghetto Party, replaced imploders with exploders. This is funnier and stays true to the original two-player Ghetto Wars.
  • Pruned empty space around Segmentation Fault in lemforum/Daunting.
-- Simon

Simon

#2
Lix 0.10.2 released.

  • Fix #440: Replays load/save handicap. Old replays contain no handicap information. Newly created replays will have handicap information and also load and play it back correctly.
  • Fix #386: Allow to scroll to the very right edge even when the replay tweaker is open. The bug was: Open the replay tweaker. You were not able to scroll all the way to the right side of the map. You had to zoom out to see the entire map, or zoom in deeply enough to make the tweaker obscure less of the level. This was because the map only anticipated the normal panel on the screen, not the tweaker. The map expected to be able to draw all the way to the right edge of the screen. Now, even while the tweaker is open, you can scroll such that the right end of the map is visible to the left of the tweaker.
  • Fix how the tweaker was appearing for a single frame on level start. This bug has been in Lix for 4 years, but we never realized it because the old tweaker didn't re-focus cameras when showing/hiding. Now, the tweaker starts hidden.
  • Backroute fixes to lemforum levels: Cornerstone, The Last Laugh, Tinker Tailor Soldier Lix, Ferry Tale.
  • Clarify and beautify some more lemforum levels: Compression Method 2, Tapestry, To Destroy Is to Construct, Narbacular Drop, The Road Goes Ever On (and both of its repeats). Renamed mobius's Conundrum to Get Behind Me, Satan.
  • Add Everybody Wins, a multiplayer map by geoo for 4 through 8 players.
  • End-of-level screen says on its bottom button: Back to Level Browser. Before, we had: Back to the Browser. That wasn't clear. Not everybody considers the browser a browser.
  • Removed pre-2018 options/trophy format support. If you're updating from Lix versions older than 5 years, you'll have to reconfigure your hotkeys.


-- Simon

Simon

#3
Lix 0.10.3 released.

  • Fix #428: Update the next-level cache after solving. Before, there was the following bug: Have three unsolved singleplayer levels -- A, B, and C -- in this order. Enter A, exit to level browser, solve B, then solve A. Lix would then offer B as unsolved, even though you've solved B. Now, the end-of-level screen correctly offers B as solved and C as next unsolved level.
  • The end-of-singleplayer screen, when you choose to play the previous level that you've just played, starts that previous level with your replay playing. You can view your solution again or fix your attempt. (To avoid the replay, interrupt it immediately when it starts playing, or instead start the previous level from the singleplayer browser.)
  • Fix a backroute in mobius's Five for Fighting in lemforum/Vicious.
  • In lemforum/Lovely: Diamond Dash: Replace imploders and blockers with walkers. The Borderland: Raise save requirement from 30/60 to 40/60 to require saving lix from both hatches. Reorder Climb to Freedom earlier to avoid two successive snow levels. Reorder Beneath the Lab to after Solar Eclipse.


The bugfixes in this release are to improve level-solving streams. Streaming Lix is popular these weeks: I'm looking forward to Ramond's next lemforum stream. I'll see if I find the time to solve levels on my own stream, too.

There will be more lemforum backroute fixing and level shifting in the next months. We're getting a lot of feedback from these streams.

-- Simon

Simon

#4
Lix 0.10.4 released.

  • Replay insert mode is a new user option. By default, this is off. When it's off, assignments during replay cut the replay, then add the assignment, as they have always done. If checked, assignments cut only the future of the same lix: All assignments to that same lix, and nukes. The replay will keep assignments to different lix. You must check this in the options and then it's on permanently during play. You can't toggle it during play even though that would be useful. Click air to cancel the global future as usual.
  • The replay tweaker will show nuke actions as "Nuke" in the line. Before, it tried to interpret the line as an invalid skill line and showed "Not", the first three letters of "Nothing".
  • Loading a savestate always restores the savestate's replay, unless its past is equal to your replay's past and its future is a subset of your replay's future. Before, loading a savestate didn't restore the savestate's replay if its past was equal to your replay's past, regardless of future, and that made it harder to treat the savestating functionality as a stash for one replay.
  • Radio-button options show a filled circle in the chosen box, not a checkmark.
  • When you haven't bound a hotkey to one of the functionalities of a two-task button such as fast-forward, the button still showed a slash "/" at the start or end of its hotkey reminder. Now, the slash only appears when both functions have hotkeys.
Backroute fixes in lemforum:
  • Alien Invasion: Thinner starting platform.
  • All Aboard the Pain Train: Reduce steel in the central block.
  • Down Among the Dead Lix: Move one platform near the bottom, it still allows my backroute from 2022-12-22.
  • The Circular Ruins: Lower block below the half-column.
  • 6 Gaps, 5 Builders: Single builders can't cross two gaps anymore and you must stretch.
  • Down Among the Dead Lix: Fix a backroute by moving a lower platform right and making it smaller for style.
  • The Hotel in Hell: Expose the top-left squisher. Add laser beam to prevent building over that squisher.
Improvements for lemforum levels that weren't backroute fixes:
  • Recycling Plant: Removed a single leaf to reduce precision when using the flinging gadget.
  • Put Your Lix on Ice: Final miner stops more easily by herself.
  • Climb to Freedom: Added a climbable segment to the rightmost climber-turning obstacle to show that climbing is a permanent skill.
  • This is a Stickup: Moved steel to reduce precision in initial crowd control.
  • Minimalism and 100% Built by Lixes: Removed some of the unused empty space.
  • Theresa Falls Up the Stairs: Corrected the lighting of the top-right steel.
  • Alien Abduction: Match graphical style of the fixed Alien Invasion.
Reordered lemforum levels:
  • Ferry Tale: Lovely -> Quirky.
  • You'll Get Over It: Lovely -> Quirky.
  • 6 Gaps, 5 Builders: Quirky -> Lovely.
  • Time to Change the Road: Quirky -> Lovely, because geoo would like to keep it as easy as it is and not fix the backroute. geoo reserves his 2-cuber solution for a separate level.
  • Reordered several levels within Quirky.
-- Simon

Simon

#5
Lix 0.10.5 released.

  • The replay tweaker shows little skill icons instead of the first three letters of the assigned skill. This also allowed the tweaker to become narrower.
  • Fix #445: Whenever you assign one of the following skills with or without directional force, the replay will always record a directionally forced assignment: Walker, jumper, batter, builder, platformer, basher, miner. Holding directional force for these skills is now merely a filter while you hover over multiple lix. As before, unless you hold directional force, the replay will record unforced assignments of: Permanent abilities, imploder, exploder, blocker, digger.
  • Right-clicking now takes you back to the level browser from the end-of-singleplayer screen or from the find-replay-for-level screen.
  • Fix #390: Redraw matt/underworld/Lava.W.png: The lava's top is now a wobbling surface, not a straight line. Physics remain identical.
  • Lemforum prettiness: Tower of Babel: Corrected lighting on top blocks. Added lower layer to central bridge to avoid bridge looking cut off. Can't Reach It, Under the Rainbow, The Ring of Fnargl: Add/move stacked lava because of the above change to matt/underworld/Lava.W.png.
  • Removed the spare platformer in One-Way Road to make it easier for Lovely.
  • Lemforum backroute fixes: Division of Labor: Add extra steel block in the central wall, add little triangle at the top of the diagonal shaft. Chasm: Add steel in the center. Theresa Falls Up the Stairs: Add second hatch. Wait Why is There a Tree: Add a third notch to the top half of the pillar. The Last Laugh: Surround the right-hand exit with steel to force solutions that use the left-hand exit.


-- Simon

Simon

#6
Lix 0.10.6 released.

This is a small release. It's mainly for Dullstar to help debug on Mac: Dullstar suggested separate user options for the hardware fullscreen resolution and for the windowed resolution.

  • Fix #453: Added a separate resolution user option (two integers) for hardware fullscreen. Now, you can specify a windowed resolution and a hardware resolution separately from each other. Before, the same setting applied to both windowed mode and hardware fullscreen.
  • Fix a backroute in Come on Down to My Place, in lemforum.
  • Fix a backroute in Spin Me Around, in miniatures.
  • Re-order miniatures for difficulty: Uprank Diodes and The Bottomless Closet.
  • Added Shed of Presents, a multiplayer map for 2p and 6p.
  • music/minim-mobius/meadow-sunrise.ogg: Removed wrongly looped initial segment. Before, the song started, then restarted after 2 seconds.
  • Work around a Linux-only bug in Allegro 5.2.8: Software fullscreen failed to deduce the desktop resolution. Lix now passes the hardware fullscreen resolution user option to Allegro even when entering a software fullscreen. Without the bug, Allegro ingores the passed resolution and deduce the desktop resolution, but with the bug, you can now achieve the right resolution. The user option tooltip still claims that software fullscreen ignores the resolution user options because this bug is Linux-only, it's already fixed upstream, and the bugfix will ship with the next stable Allegro 5 release.


-- Simon

Simon

#7
Lix 0.10.7 released.

This is only a small maintenance release. There is no scissors button yet! I'm still working on the scissors/insert buttons.

  • Fix #451: In the connection picker of the networking screen, the 3D outlines of the buttons for IP address and ports were sometimes mispainted. Now, the buttons are drawn correctly.
  • Radio button options, e.g., for screen mode, show a tooltip per possible choice instead of a catch-all tooltip for the entire option.
  • Don't play music during player name entry on a fresh installation before reaching the main menu. Play music only when we enter the main menu. The music might be too loud or unexpected, and it's more obvious how to exit from the main menu than from the player name entry screen.
  • Replace "No" with "Cancel" in two dialog boxes: Really delete this level? Delete, Cancel. Really overwrite this level? Overwrite, Cancel.
  • Explain the command-line switches for screen modes in the main readme.
  • When you run Lix's unittests ($ dub test), the tests will scan all installed languages in ./data/transl/ and print missing and unnecessary translations. to stdout. Such translation issues do not abort or fail the unittests. As before, Lix logs during play the missing and unnecessary translation lines for your chosen language in the log file ./user/log.txt.
  • Use handwritten recoloring code from magic pink to alpha transparency instead of the Allegro 5 recoloring function, in hopes of avoiding #431: Magic pink won't become transparent on macOS. I doubt that this fixes #431.
-- Simon

Simon

#8
Lix 0.10.8 released.

  • Don't re-trap the mouse cursor on mere mouseover after the mouse cursor has left Lix. To re-trap, you must now click into Lix. WillLem suggested this. How does it feel now? This new behavior is now hardwired, it's not a user option. Do we need more mouse options afterall?
  • Added one singleplayer level, Cache Lines, in misc/simon/.
  • Link to the Fedora Lix package by Marcin ZajÄ…czkowski on Lix's main readme. Thank you for packaging Lix for Fedora!
  • Switch documentation from HTTP to HTTPS weblinks wherever possible. Thanks for the patch, Marcin!
  • Fixed the new compilation warnings from DMD 2.103.0: Deprecation: alias this for classes/interfaces is deprecated. Now, Lix compiles without warnings again, even with DMD 2.103.0.


-- Simon

Simon

#9
Lix 0.10.9 released.

  • Fix radio buttons: It was possible to select multiple radio buttons by clicking the squares, not the labels. Now, only one button is ever active.
  • Add the 6 singleplayer levels from Lemmings Forums's Level Design Contest 27 by me and geoo in misc/contests/2023/: Bumper Cave, Inside Your Router, Pommes Schranke, Rhizome, Hanabi, The Last Shall Be First.
  • Add Catalan translation of the Lix user interface. Thanks for the translation, Rampoina!
  • Reduced the filesize of the SVG icon data/images/lix_logo.svg from 3.4 MB to 30 KB. It looks practically the same. Thanks for re-tracing, Rampoina!
  • Allow longer description in the level editor's topology menu for wrap options. Paint the size warning (level too large can crash 32-bit Lix) in red, possibly overlapping the descriptions of the wrap checkboxes when both the description and the warning texts are long.
  • Clarify "Alt+Tab is fast" in the options menu. Now the tooltip says: "Switching windows (e.g., with Alt+Tab) works quickly."


-- Simon

Simon

#10
Lix 0.10.10 released.

  • Fix #452: The search for the next unsolved level works again for when the next unsolved level is not the next level. Before, from 0.10.6 through 0.10.9, the end-of-singleplayer screen showed only the next level.
  • Fix tooltips: When you hovered over a platformer or builder, the tooltip would always instruct you to queue, even if you had, e.g., miner selected in the skillbar. Now, the tooltip to queue appears only for the same selected skill.
  • Tweaker lines have white text when you hover over the corresponding lix.
  • When you erase an assignment via the tweaker, the tweaker will also erase all assignments to the same lix in the same or a future physics update.
  • Add Kingshadow's Rescue Reduction, a new multiplayer map for 3 through 8 players that combines Rescue Rangers Double Team with Downward Reduction.


-- Simon

Simon

#11
Lix 0.10.11 released.

  • Offer a user option to choose the splat ruler's snapping distance. Set this option to 0 to deactivate snapping altogether.
  • Make Lix compile again with D compilers older than DMD v2.102.0 from 2023-02. In 0.10.10, I silently relied on a compiler bugfix that correctly allows indexing associative arrays during @nogc; this needs DMD v2.102.0 or newer.


-- Simon

Simon

#12
Lix 0.10.12 released.
  • Fix #375: Changing sound/music in the options menu will immediately play an example sound or the menu music at the new volume setting. You don't have to exit the options menu anymore to test.
  • Fix #466: When the next level is unplayable, e.g., it lacks hatches, you can't run it from the next-level menu. Before, you could, and Lix crashed.
  • Added four boolean user options: With/without the tweaker, should air clicks cancel the replay, and should new assignments insert or cut the replay? Without the tweaker, the default remains that both air clicks and new assignments cancel the replay. With the tweaker, by default, air clicks do nothing and new assignments insert.
  • During play, the tooltip line is separate from the panel's info bar. Tooltips appear over the play area and have a darkened background. I hope that new players can now see easily: "Replaying. To play yourself, click into air."
  • Removed the zoom button from game and editor. Everybody zooms with the mouse wheel, and the zoom button would zoom into the mouse cursor on the panel, thus oddly fixing a point on the map outside the camera. For now, the game's restart button is wider to cover the area of the old zoom button.
  • Revert mouse trapping to how it was in Lix 0.10.7 and earlier: We trap the mouse already on mouseover when the Lix window is active.
  • Remove the steel tile matt/8x8. This tile had no nub, had no crossed metal bars, and looked like geoo's concrete blocks which are earth. Remove it with no replacement. We'll look separately at all levels that used it.
  • Won't Get Fooled Again: Replace important 8x8 steel with a nice-looking tile group to make a steel staircase. Physics stay exactly the same.
  • All Aboard the Pain Train: Remove purely decorative 8x8 steel.
  • Sympathy for the Lix, Race to the Depths: Remove these multiplayer levels with 8x8 steel. Sympathy relied on other players' mistakes. Race was too hard.
  • Removed an undocumented feature: You could place a file gain.txt into music/ to change the volume of tracks.
  • Fixed compiler warnings from DMD 2.104.0: Change "in ref" to "in".
-- Simon

Simon

#13
Lix 0.10.13 released.


  • The tooltip for replaying (click to play) is now at the top of the screen, in the top-right corner. Hovering-sensitive toolips are still at the bottom.
  • Rename Phyu (number of physics updates since the start of play) to Tick throughout UI and translations.
  • Fix reading memory outside of array bounds during the option menu's sound previewing. All writes were inbounds, therefore I doubt that this bug has ever crashed anybody's Lix.
  • Fix compilation errors with DMD 2.105.0.
  • Upgrade the Allegro 5 D bindings to fix compiler warnings from DMD 2.104.0.
  • Refactor the Walker skill to function without saving and resetting position and encounters, and to avoid unnecessary physics map reads. Replay verification runs 2 % faster now. All replays in the proof collection appear to pass with identical timings as before, that is sufficient proof to me that I didn't change physics ... I was wrong, this introduced a bug. Fixed in 0.10.16.
  • Align the lix' struct to 64-byte boundaries. Replay verification runs another 1 % faster now.
  • The physics map stores bytes, not 16-bit integers. Transpose the physics map to storing columns, not rows. This appers to neither improve nor worsen performance.
This 0.10.13 introduced a physics bug (overlapping blocker fields on a slope) that will be fixed in 0.10.16.

-- Simon

Simon

#14
Lix 0.10.14 released.

A small release with two easy-to-implement quality-of-life fixes.

  • Hardcode Ctrl+V to paste the copy buffer of the operating system into Lix's currently focused text-typing field. You still can't copy text from Lix.
  • Pre-fill the level author field with your username when you choose Create Level in the singleplayer browser.
Still contains 0.10.13's physics bug (overlapping blocker fields on a slope) that will be fixed in 0.10.16.



-- Simon