Lix 0.9.48 released

Started by Simon, September 28, 2017, 03:21:57 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Simon

#60
Lix 0.9.36 released.

  • Add a whopping 66 multiplayer maps by Flopsy, including Perfect Situation
  • Fix #413: The new-level button in the editor will now ask for data loss before clearing the map and clearing the undo buffer. You can click Save, Discard, or Cancel.
  • Reword the grid tooltip in the editor to clarify that it will affect future moves; it will have no immediate effect on the current selection. Before: "Grid 2: Rounds tiles' coordinates to multiples of 2." Now: "Grid 2: Tiles will move in steps of 2 pixels." Thanks to WillLem for feedback and wording.
  • Support a hidden option (not in the options menu) that allows you to suppress the editor's offset of copypasted tiles; this is (16,16) by default. (Hidden options are hacks; for the long term, I need to visualize the copying in place.) For now, to suppress the offset, put in your user/options.sdl:
    editorCopiedTilesOffset 0
  • Mouse speed on Linux defaults to 10, not 20. This produces better results on my machine when (fast movement frees mouse) is off, the default on Linux. I haven't examined the speed on other systems yet.
  • Update the build docs in doc/build/ about minimum compiler versions.
  • In the doc/formats/ directory, document replay pointing, terrain lines in levels, groups in levels.
-- Simon

Simon

#61
Lix 0.9.37 released.

  • Added new maps from the multiplayer level contest. Thanks, Dominator_101, Dullstar, Flopsy, geoo, IchoTolot, WillLem! Includes Dominator_101's Rescue Rangers Double Team.
  • Fixed flickering mouse cursor in the dialog that aborts a networking game. Before, when you hovered over a lix in the background of the dialog, the cursor would osciallte between open and closed. Now, the cursor stays closed because you can't assign to lix during the dialog.
  • Partly address #234: When you resize the map in the editor, the editor will zoom out as far as it can to show you the entire map. It's still disorienting to resize maps with large empty areas.
  • Fix #420: When you verified a directory containing 0 replays in the GUI verifier, the GUI verifier didn't print the line that you can now click to exit. Now it prints that line.
  • In the main menu, below the version number, print name of operating system and 32/64-bit for which the running version is built.
  • The debugging build's user options defaults show the phyus/FPS. This only matters when you run a debugging build without a user option file user/options.sdl. The normal release build defaults to not showing phyus/FPS until you enable it in the options menu.
  • In dub.json, removed obsolete architecture restriction for Windows builds with LDC.
  • The Windows 64-bit build notes point to LDC's multilib release instead of to the pure 64-bit release. You can use LDC's installer or LDC's 7z download. The main difference is that LDC's lib/ dir is now called lib64/. Updated my all-in-one DLL download with the new directory name lib64/ instead of lib/.
  • Documented the level format in doc/formats/level.txt. Documented in the Windows build notes doc/build/win*.txt where to get Allegro binaries from NuGet.
-- Simon

Simon

#62
Lix 0.9.38 released.

This is mostly a maintenance release. Substantial overhaul behind the scenes with compilers, DLLs, documentation, ... No new features, only one map updated.

  • Windowed mode at 1280x720 is now the default on running Lix for the very first time. Before, the default was software fullscreen a.k.a. fullscreen window.
  • Smaller widescreen resolutions such at 1280x720 that would barely fail to pick 2x for the skill panel icons (instead of the tiny 1x) will get slightly higher panel to accomodate the better-looking 2x skill icons.
  • Adjusted text vertical offset to vertically center text on buttons better at 1280x720. 1280x800 is still okay, text is now slightly too high here. The text positioning is already full of hacks and compromises, anything better either needs more hacks or a clean do-over. I feel like a 90's website designer.
  • The main menu preserves the background's aspect ratio. To fill a screen that is not 4:3, it crops the background's sides.
  • Revenge of the Giant Crab (2p): Added decoration, walkers 10->30, overtime 30->90 seconds.
  • Fix #424: Always show the level title in the lobby under the graphical preview, even when we return from a netgame.
  • Fix #423: De-duplicate the multiplayer level tree, as reported by Dullstar. I had extra copies of Along the Fabrics of Your Clothing in the 8p directory.
  • Updated Allegro DLLs to Allegro 5.2.7.1. You can check what Lix uses at runtime with Lix's command-line argument: --allgero-version
  • I build the 32-bit Windows release with LDC, not with DMD. LDC generates faster-running machine code, exactly what we want for a release version. Tell me in case you run into any problems. (64-bit Windows release has always been built with LDC and it still is.)
  • During compilation, Lix prints target architecture, OS, and compiler.
  • Fix deprecations for DMD 2.097.0: In the source code, the "body" keyword is finally deprecated. Converted the entire codebase to the "do" keyword in front of function bodies. Added "static import std.stdio;" to access std.stdio.File in Lix's file.filename.base.
  • Documentation: src/icon/readme.txt has CRLF line endings, to be readable in Windows Notepad. (Documentation should have CRLF endings, code should have LF endings.) Removed note in the 32-bit DMD Windows build notes about NuGet libs, DMD 32-bit doesn't play well with them.
  • The build documentation points to new archives (lix-dlls-libs-dmd32.zip, lix-dlls-libs-ldc32.zip, lix-dlls-libs-win64.zip) because the .lib files can be incompatible between compilers.
-- Simon

Simon

#63
Lix 0.9.39 released.

  • Added the dedicated end-of-singleplayer screen to show stats of the finished attempt, to offer the immediate next level, and to offer the next unsolved level in case the player has already solved the immediate next level.
  • Darkened the labels "by" and "Goal:" in front of level nameplates in the browser and in the end-of-level screen. They're now darker than the normal text color. Title, author and goal stand out better in their normal text color now.
  • Re-added 3 levels -- Fill the Floor, Interval Training, Chaos Theory -- to single/clam/Outtakes. Fill the Floor and Interval Training originally needed variable spawn intervals during play; now, they employ floaters and runners at fixed spawn intervals. Chaos Theory originally needed the nuke to solve; now, it employs manually assigned exploders to fling.
  • Updated the Lix source code to comply with the future meaning of the "in" keyword. Updated Lix for package optional 1.3.0 instead of 0.6.3.
It's been months, but it's done and released! Go forth and test, and blaze through the packs with the appropriate feeling of progression. :lix-grin:



-- Simon

Simon

#64
Lix 0.9.40 released.

  • Added configurable hotkeys to play next levels from the end-of-singleplayer screen. Default is F1 to replay the same level, Space to play the next level, F to play the next unsolved level. There is no default hotkey to save the replay manually; you can configure it.
  • Hotkey reminders on buttons are printed in slightly darker text. They're still brighter than the button itself, but darker than the main button text.
  • Fix #417: The editor shows all teams per gadget. Example: 4 players A, B, C, D and the map has 2 exits. Before 0.9.40, the editor printed on the exits: A, B. Now, the editor print on the exits the outcome of distributing the 4 players round-robin to the exits: AC, BD.
  • Clarify tile group names in the documentation doc/formats/level.txt: Groups can have any name, not necessarily only a number. Since I don't have support in the program for copying tile groups between levels, you can at least rename the groups in one level, e.g, by search-and-replace, then copy-paste them into the second level, and have no name clashes.
  • Fixed exits order in Tunnel of Love 6p. There were 7 exits in a 6-player map, leading to apparent removal of a necessary exit in play. Now it has 6 exits.
  • Added new multiplayer maps by Flopsy: The Lix and the Saboteurs 4p, 6p, 8p.
  • Clarify documentation on tile groups in doc/format/level.txt: Tile groups can have any names. When you copy tile groups by hand between levels, you can first rename them with text replacement.
  • Allow warnings when building Lix. This circumvents a warning in Phobos that would otherwise abort the build: Duplicate symbol for max!(int, int).max, _D3std9algorithm10comparison__T3maxTiTiZQjFNaNbNiNfiiZi.


-- Simon

Simon

#65
Lix 0.9.41 released.

This is a really small release. It's mainly for Flopsy, so that Lix doesn't delete your tagging of multiplayer levels.

  • Support tags in level files to help organize the multiplayer levels. Levels can contain zero or more tags, one per line. Edit tags with a text editor; we can work towards better editing support in Lix itself in the future. Example: $TAG mytag
  • The editor loads and saves tags, but doesn't yet display them anywhere and doesn't offer to edit them. The level browsers don't print tags anywhere either yet.
  • The level search (in the singleplayer or multiplayer browser) will find tags, but you have to enter the exact tag completely. Half-words that appear inside tags do not find that tag. (I'm not yet sure if this behavior is best; we can change it.)


-- Simon

Simon

#66
Lix 0.9.42 released.

Again a small release. Most bugfixes are for the game server. No new functionality -- yet. :lix-grin:

  • Don't focus the IP address entry field in the lobby when you select "connect to somebody else". The focusing led to a bug that is now fixed: The field would even be unhidden and focused whenever the lobby window reappeared after a game, when you were already connected and in a room.
  • Alleviated enet versioning mismatch: derelict-enet offers D bindings only for enet 1.3.15, but the binaries of enet 1.3.16 or the current enet 1.3.17 have differently-sized struct ENetPeer. Now, the Lix server computes the struct size at runtime, allowing to run with all enet binaries >= 1.3.13.
  • Fixed a theoretically possible, although unlikely, memory leak in networking.
  • Fixed a linker warning about max!(int, int). Now, Lix's code itself generates zero warnings again.
  • Refactored the server-side networking code. Rooms carry their own logic. This will help in the future to support version restrictions per room.
  • Linux build notes: Added workaround for LDC running out of stack space. You can raise the stack size in the current shell with: ulimit -s 16384
  • Windows 32-bit build notes: Added DLL download for LDC-compatible 32-bit libraries.
  • Removed note from April 2020 in the readme about compilers before LDC 1.21; compilers that old aren't prevalent anymore.


-- Simon

Simon

#67
Lix 0.9.43 released.

  • Fix server-side permutation bug: In 0.9.42, I introduced a bug on the server; the server re-rolled the permutation of starting points for every player. This desynched the maps -- unless you were only playing 2-player on perfectly symmetrical maps and never used directional force. (The client side was always fine. Everybody can still join other servers even with 0.9.42.)
  • Don't send up to 300 nullbytes on short chat packets, send only the necessary bytes. Keep max chat length at 300 UTF-8 code units. (This introduced a memory-corrupting bug. Don't use 0.9.43. Update to 0.9.44.)
  • In the lobby, sort the list of players. First criterion: Players sort higher than observers. Second criterion: Red sorts higher than orange, yellow, ... Third criterion: Within each color, sort by player name. Ready/unready doesn't affect sorting. It's easier now to see which/how many colors are in use, but I'll leave open github issue #407: Color buttons in lobby, show current usage.
  • Disable the expensive level-drawing unittest that also didn't clean up its file in ./export/.
  • macOS: Rely on pkg-config according to Allegro's documentation here: https://github.com/liballeg/allegro5/blob/master/README_pkgconfig.txt Before, on macOS ARM64, ld didn't find the Allegro libs even with pkg-confic installed; see github issue #430.
  • Remove obsolete build documentation ./doc/build/allegro5.txt and cross-reference more clearly between other files in ./doc/build/.
Thanks to Dullstar for finding the permutation bug in the first bullet point! Your digging in Lix's source code has been super helpful already.

-- Simon

Simon

#68
Lix 0.9.44 released.

  • Fix a memory-corrupting bug when sending chat messages. I introduced this bug in 0.9.43.
  • Fix #432: Don't resave watched multiplayer replays. The bug was: After the replay, we entered the end-of-singleplayer dialog, and this dialog always re-saved the watched replay as a new multiplayer replay. Now, we directly return to the replay browser. The end-of-singleplayer dialog doesn't appear and doesn't save a duplicate.
The quickest and smallest update in a long time! Updating is only urgent if you have 0.9.43, that's the only version that crashes on sending chat.

That's what I get for using C functions in low-level networking -- an embarrassing crash. <_<;; Good thing it's fixed on the same day. Thanks to Dullstar again for excellent debugging, you narrowed it down to sending chat messages.

-- Simon

Simon

#69
Lix 0.9.45 released.

  • Added many multiplayer levels by Flopsy, including Krypton Factor, a race map.
  • Added multiplayer levels by Kingshadow: Straight & Curved, Marble Puzzle League, Spiral Spyfall, The Ascending Lix Scenario, Tricky Breakthrough.
  • Added tags ($TAG lines in levels) to several maps by Flopsy.
  • Fix lagging client in a 10-hour netgame. This was an esoteric bug that never surfaced in normal usage. When the same networking game (not netplay session or server run, but really individual game; what happens after you click "ready" in the lobby) ran for over 10 hours, the client would stop updating at the normal speed of 15 physics updates per second, and instead run at 10 physics updates per second.
  • Make Lix compile with the newly released DMD 2.100.0.
  • Mention FreeGameDev IRC channel #lix in the main readme. QuakeNet #lix is still the development channel. I still recommend QuakeNet #lix to find players, with FreeGameDev #lix as an alternative.
A small release, mostly for the new levels and for compiler compatibility.



-- Simon

Simon

#70
Lix 0.9.46 released.

  • Added geoo's new multiplayer maps, including the two asymmetric maps Uphill Battle and Ivory Tower. Updated some of geoo's maps: Fixed the drop straight into exit pit in Rescue Ranger Trolls. Added block to default version of Ghetto Party. Minor other changes.
  • Added Kingshadow's new multiplayer levels. Updated Kingshadow's levels, e.g., added a missing trap to Straight & Curved 4p.
  • Prevent infinite fallers at the sides of Flopsy's Rescue Plan 5p by narrowing the map horizontally to the existing terrain.
  • Renamed my old 2p map Rescue Rangers to Fry-Day to avoid a name collision with the popular maps Rescue Ranger Trolls and Rescue Rangers Double Team.
  • Fix #434: Always topology-wrap newly inserted pieces in the editor to avoid running into some strict assertions in a debug build. There should have been no bug here in release builds. Improved some assertion texts.
Another small release code-wise; in particular, the published executables for 0.9.45 and 0.9.46 should behave exactly the same (because they're release builds, not debug builds). But 0.9.46 adds many new multiplayer maps.



-- Simon

Simon

#71
Lix 0.9.47 released.

  • Add Swedish translation of the Lix user interface by Sanchez (not on Lemmings Forums to my knowledge). Thanks for the contribution!
  • Fix #387: Update skill panel on tweak. Now, after shifting a skill assignment forward or backward by a single frame in the replay tweaker, the skill panel updates all skill buttons' counts accordingly. This matters when some skills assignments have become illegal in the now-edited replay.


-- Simon

Simon

Lix 0.9.48 released.

:lix-cool: Download for Windows 64-bit -- recommended
:lix: Download for Windows 32-bit -- fallback for ancient machines
:lix: Download for Linux 64-bit
:lix-evil: Source code
:8(): Changelog
:8:()[: Issue tracker

How to update
Quick and dirty: Extract over your old installation. Level moves will then result in duplicate levels that remain in your level tree.

Clean method: Extract to new directory, then copy these directories from old Lix into new Lix:
user/
replays/
...and any levels that you've built yourself or added manually.

  • Don't cap level search results at 18, but show all results. Downside: Now, I expect the search to be slow when you enter the first one-two letters. We'll see what is worse and can still improve the search in the future.
  • Always return to lobby after playing multiplayer with a single tribe, even when that tribe hasn't fulfilled the hidden save requirement from singleplayer. Lix has never properly supported 1-tribe multiplayer, but Lix has never explicitly disallowed it either.
  • The connection picker in the networking menu will now connect when you press the generic Okay hotkey, in addition to the networking menu hotkey.
  • Fixed option dialog's help text for the username option: All translations explained ./data/user/yourname.txt, which is out of use since 2017. Now, all translations explain ./user/options.sdl, the correct save file.
  • Added FreeDesktop resources in ./data/desktop/ by Matthias Mailänder. Thanks! I don't know yet where to put such resources (that aren't needed directly by Lix while Lix is running) in the future; ./data/ is catch-all for now.
It's another small release for 0.9, it fixes several different things that only a few people have cared about. You don't have to update: Any 0.9.x is fine for our multiplayer session tomorrow night.

Now hold your breath for the data disk release of Lix 0.10, probably next weekend.



-- Simon