Skip to content

Releases: Mudlet/Mudlet

Mudlet 4.17.1 - now more screenreader friendly!

28 Mar 10:10
Compare
Choose a tag to compare

A follow-on to 4.17.0 that fixes tab windows going permanently bold, the F6 keybinding, and nested buttons.

Mudlet 4.17 - now more screenreader friendly!

19 Mar 12:38
Compare
Choose a tag to compare

We are excited to announce the release of Mudlet 4.17!

Screenreaders

A major improvement in this release is the increased accessibility of both the main display and the code editor. Previously, screen readers were unable to read text within these areas, but we have now made them accessible - allowing players with visual impairments to more easily use Mudlet. These improvements were made possible through the generous support of our Patreon community, with a total of 1800USD paid out in bounties to fund these enhancements! We would like to take this opportunity to thank our Patreon supporters for enabling us to make these improvements - and if you aren't already a Patreon supporter, we encourage you to consider signing up to help us continue to improve and develop Mudlet.

While we have cleared the biggest blockers for visually impaired players, we recognize that there is still more work to be done in terms of accessibility. We will continue to work on making Mudlet as accessible as possible for all players. If you are a visually impaired player, we recommend reading the manual on screen readers for more information on how to use Mudlet with a screen reader.

We would also like to recognize the contributions of gamecreature, Tamarindo, and Vadi who worked on the accessibility improvements for this release.

Room properties

Additionally, we have made it much simpler to edit room properties in the mapper. Instead of having separate dialogs for different property types, there is now a single dialog that allows you to edit all properties in one place. This should make it easier for players to customize their maps and create the game environments they want. Big thanks to Leris for making that happen.

Sound improvements

A number of improvements were also added to the Mud Client Media Protocol (MCMP). Tamarindo has worked on making sound fadeout and fadein smoother, correcting a symptom where more media was stopping than was intended using the key parameter, and fixing volume management for music when the continue parameter set to true is used. This ensures that the expected volume is heard after the fadein completes and before the fadeout starts on successive calls to play the same music. The continue parameter has also been fixed to match its related specifications and standards for playing music.

Secure connection upgrade

Finally, we have added a new feature that allows players to automatically upgrade to a secure connection if the game they are connecting to offers one. This is particularly useful for players who may not be aware that their connection is insecure, as they will be prompted to upgrade as soon as they try to connect. We encourage more games to start offering secure connections, as most modern clients are able to support them. It is now up to the games to do their part in providing secure connections for their players.

Overall, Mudlet 4.17 is a significant step forward in terms of accessibility and ease of use. We hope that these improvements will make it even easier for players to enjoy their favorite games with Mudlet!

Changelog

Added:
  • Command Line Tab Complete blacklist (#6509)
  • support for EUC-KR Server encoding (#6457)
  • getConfig and fix return value of setConfig (#6564)
  • Find and Replace feature in script editor #3694 (#6562)
  • command line option to only show one (or more) predefined MUD(s) (#6459)
  • support for multiple profiles from command line (#6470)
  • setConfig("compactInputLine", true/false) (#6467)
  • sysProfileFocusChangeEvent (#6267)
  • scrollTo and getScroll lua function (#6406)
  • Ctrl+F shortcut to search main window, and rework Ctrl-C (#6353)
  • Prompt for secure connection choice (#6409)
  • temporary map labels (#6285)
  • support for OpenBSD operating system (#6383)
  • Joint menu for room properties (#6354)
  • sysBufferShrinkEvent for when a console's buffer is trimmed (#6382)
  • setCommandBackgroundColor, setCommandForegroundColor lua functions (#6349)
  • accessible code editor (edbee) (#6283)
  • `mudlet accessibility on` alias for new profiles (#6201)
  • inputline-related options to `setConfig` (#6197)
  • customisable shortcut for toggling between input line and main window (#6187)
  • options to dealing with blank lines for screenreaders (#6175)
  • ctrl as well as shift selection using a text cursor (#6167)
  • screenreader-friendly main window (#6090)
  • new default game, Chinese mud.ren (#6140)
  • indicate locked rooms in exits dialogue (#6102)
Improved:
  • remember 2D mapper zoom amounts between sessions (#6615)
  • reset 2D map panning buttons autorepeat to default (#6622)
  • update mudlet_en_US numerus translations 2023/03 (#6601)
  • ensure whole item is selected in room properties QComboBoxes (#6486)
  • New Crowdin updates (#6426)
  • add support for custom move methods (swim, run, etc) in generic_mapper.xml (#6461)
  • give add item/add group/delete item buttons individual names (#6462)
  • move away from constructor initialisation lists (part 4) (#6458)
  • allow `isActive(...)` and `exists(...)` to use an ID number (#6401)
  • sort emoji's in room symbols dialog (up to unicode 10) (#6407)
  • Retarget old room actions to new "configure room" UI (#6418)
  • New Crowdin updates (#6308)
  • search in main window to choose case sensitivity (#6336)
  • Make timestamps persist between sessions (#6355)
  • Preferences window now fits on 800p screens + shows normal size buttons (#6360)
  • allow precise movement of map labels (#6324)
  • StickMUD default listing to secure port (#6306)
  • New Crowdin updates (#6260)
  • make text wrapping quicker (#6277)
  • add autowrap and support for Chinese/other language word wrapping (#6207)
  • New Crowdin updates (#6112)
  • Smooth fadein and fadeout for MCMP (#6219)
  • tab order in the connection screen - again (#6151)
  • Change icon mudren.png (#6144)
  • remove extraneous setPalette calls (#6139)
  • don't set default volume, rate, or pitch for TTS (#6141)
  • update exit pattern in generic_mapper (#6125)
  • remove expiry argument from tempLineTriggers (#6122)
  • you can now toggle view mode regardless of selection (#6118)
  • removed tab trigger that is no longer needed from generic_mapper (#6103)
Fixed:
  • prevent user map menus being deleted prematurely (#6645)
  • prevent right clicking in error console moving focus to main window (#6644)
  • Make Geyser less picky about object names (#6628)
  • Geyser.MiniConsole now leaves room for scrollbars when auto wrapping (#6634)
  • restore generation of `sysWindowsResizeEvent` when borders are changed (#6620)
  • correct search for Lua interpreter for qmake builds (#6616)
  • Move right-click menu to release event rather than press event. (#6619)
  • uninstalling many synced modules at once crashes Mudlet (#6555)
  • ensure input line does not lose focus on switching between profiles (#6502)
  • Do not prompt to use TLS if Qt was built withoutt SSL support [(#660...
Read more

4.16 - easier map labels, map autosaves, and scriptable settings

08 May 13:28
Compare
Choose a tag to compare

Summer is around the corner in the Northern Hemisphere... and so is a new update of Mudlet! It brings easier map labels, map autosaves, and scriptable settings.

Easier map labels

The previous version of Mudlet had a map label form that was hard to use. This version has a much simpler map label experience, thanks to Delwing's efforts.

Screenshot of new map label form

Map autosaves

Profile autosaves, after they had been introduced, largely eliminated losses of unsaved scripts when Mudlet was unexpectedly shut down. Map autosaves are here to do the same thing: even if you don't save your map by hand, Mudlet will save the map for you in the background on a regular basis, so you don't lose your work.

Just like profile autosaves, this feature is easy on the disk space as it keeps just one autosaved copy of the map around.

Scriptable settings

This one has been on the wish list for a good while - the ability for scripts to adjust Mudlet' settings to their liking. This is now here by the way of a setConfig function. The initial implementation of this feature by ktunkiewicz and Vadi has options for adjusting the map view, enabling MSDP, and various special options. More settings will be added over time.

Release automation

A lot of effort this release was put into automating releases since the process was far too unwieldy and complicated. Delwing got his elbows out, and created a plugin to synchronise github releases to Wordpress, which cut down on a lot of overhead. FloXire automated US English translation text generation, Vadi tweaked changelog generation to work for releases as well as PTBs, and keneanung restored connectivity between Github and mudlet.org. All of these improvements make releasing much easier!

While we've made great strides in this area, there is still some work to do, so if you can help out - join in!

Changelog

There's a lot of improvements in this Mudlet update besides the top 3 listed above, so dig into the changelog below to find goodies:

Added:

  • setConfig and an initial set of values (#6074)
  • Traditional Chinese exit strings to generic mapper (#6076)
  • map autosaves (#6056)
  • new function getCustomLines1(...) to fix ordering of custom line points in original getCustomLines(...) (#6009)
  • new function getCharacterName() (#6023)
  • map info background can be customized through mapper colors preferences (#5994)

Improved:

  • give a simpler connection dialog a go (tabbed) (#5883)
  • increase max allowed links to 20k (#6064)
  • New Crowdin translations (#6060)
  • add NULL handling in DB.lua (#6054)
  • don't freeze Mudlet when copying large profile (#5056)
  • add support for Unicode 14 emojis to linux (#6053)
  • properly size unicode 13 and 14 emojis (#5915)
  • make new profile name check case insensitive (#6035)
  • Map label creation form (#5981)

Fixed:

  • eliminate some obsolete code warnings in Lua label related function (#6063)
  • add handling of new features element in IRE Muds XML map format (#6075)
  • handling MXP entity tags on Discworld is now correct (#5969)
  • strange clipping multiline map info text (#5990)
  • setLabelDoubleClickCallback arguments work again as documented (#5970)
  • handle sound files in subdirectories as well (#5984)
  • fix selecting none for map info and reading map info (#5976)
  • stopSounds() work for for triggers again (#5977)
  • get tempComplexRegexTrigger multiline to work (#5946)
  • getAreaExits does not return special exits (#5963)

Infrastructure (behind the scenes):

  • add licenses for bundled luarocks modules (#5995)
  • add en_US plural translations workflow (#5956)
  • add resilience to macOS notarization process (#6047)
  • add visual studio files to .gitignore (#5988)
  • add website release post automation (#6043)
  • add workflow to create changelog from the web (#6006)
  • automate author attribution (#6045)
  • Busted installation instructions on Windows (#6057)
  • cache Qt installation for Windows (#6048)
  • create posts on draft releases to test WP plugin (#6059)
  • don't print danger message if everything was kosher (#6078)
  • enable vcpkg for all cmake-based builds (#5913)
  • fix grammar in the issue template (#6079)
  • fix Luarocks on Windows (#6028)
  • fix macOS codesigning to work again (#6012)
  • fix openssl and yajl downloads for all platforms (#5980)
  • fix packaging in Linux builds (#6013)
  • fix Windows CI builds (use previous VS 2019 to get Qt 5.14.2 back) (#6031)
  • fixup files in QMake OTHER_FILES and DISTFILES variables (#6037)
  • install Qt 5.14.2 using aqtinstaller for Windows (#6030)
  • Openssl archive url (#5965)
  • remove duplicate list of clang-tidy checks (#5962)
  • remove no longer necessary brew tap step (#5968)
  • remove trailing spaces from changelog generator (#6011)
  • repair Windows CI build failures (#6072)
  • shorten some lengthy variables (#6017)
  • switch to current vs 2019 appveyor image (#6046)
  • switch to 5.1-syntax_5.1 branch for lcf submodule (#5998)
  • update changelog generator to handle releases as well (#6002)
  • update OpenSSL used for Windows (#6068)
  • Update widechar_width.h to latest upstream (#6080)
  • Update Windows CI zlib to 1.2.12 (#6027)
  • Updated IRE mapping script to latest upstream (#6083)

Enjoy Mudlet,

Vadi

4.15 - gifs, music, and editable shortcuts!

01 Feb 19:26
Compare
Choose a tag to compare

Every Mudlet release is like a box of presents, according to Mudlet dev Delwing. This box brings gifs, scrollboxes, and revamped sound & music to Mudlet - welcome to the first update of 2022!

You can now use gifs in your Mudlet UI

You heard it here first, folks - Edru brings us gifs in 2022! In addition to supporting images, labels now support animated gifs as well. Show animated bars and backgrounds; get awesome meme gifs; show a flying money sign when you've sold stuff, or a little dude running on screen while you're speedwalking ingame - let your imagination flow!

Video link

Try it out by dragging this link onto Mudlet, or with this on the input line:

lua installPackage"https://github.com/vadi2/gifs-demo/raw/main/gifs-demo.mpackage"

That said, gifs are pretty expensive to play - so don't go too wild with them.

You can now use background music in your Mudlet UI

Lua music and sound API got a huge overhaul by mpconley in this update! And we don't use such words here lightly - this update opens a lot of possibilities in the audio arena.

You can set music/sounds to fade in or out, adjust the volume on them individually, choose at which time should the playback start, select how many times it should loop (infinite? sure!), or even tag sounds with a similar category so you can control them en-masse.

Crazy, huh? Just as an example, you can now background ambience music when in area/zone A... and later when changing to a new area/zone replace the ambience music with another one. You can tag all sounds as 'battle sounds' and stop them all at once when the battle is done. Lots of things you can do now with this!

This functionality is coming over from MCMP support that already exists in Mudlet - so if you're a game admin and would like this for your game, go for it.

Configurable shortcuts

Don't like that Alt+D disconnects you from the game? You don't have to put up with that anymore! Thanks to Delwing, all shortcuts used by Mudlet are now customisable via Settings:

Better stylesheets

demonnic has done so many nice things in this release that it's hard to pick one, so if I had to settle on one this would be it - Geyser stylesheets! They allow you to create a managed stylesheet to make it easier to set and change properties, as well as inherit properties from another stylesheet, making it easier to manage multiple styles at once. Great tool for a UI builder.

If you've used CSSMan previously, this is a worthy replacement!

c/d/hecho works on labels

cecho("Hi! This text is red, blue, and green"__) - cecho is pretty familiar to us all, isn't it? If you want to get your text onto a miniconsole, this is a very popular option. But why only miniconsoles and not labels as well? demonnic wondered that too, rolled up his sleeves, and fixed it - you can now use c/d/hecho functions on labels!

Scrollboxes

Ever wanted to create scrollable lists with labels Mudlet? Say a list of players, or wares in a shop? While it was quite doable with miniconsoles, it wasn't the case with labels. Edru got to work fixing that and createScrollBox() is the result. Think of it as a container that you can put your labels into and if there's not enough space, you get scrollbars - both horizontal and vertical directions work.

Credits

Thanks to all coders who made this amazing release happen: Chris Mitchell, Damian Monogue, Gustavo Sousa, Kebap, lithiumFlower, Manuel Wegmann, Mike Conley, Nils Schimmelmann, nsweeting2, Philipp, Delwing, Slobodan Terzić, Stephen Lyons, Tim Johnson, Vadim Peretokin, and 噢哎哟喂.

Thanks to all translators who are enabling Mudlet to speak their language: Alan Sneath , Hsin-Hsiang Peng, ifelse, Leris, Marco "M0lid3us" Tironi, mohammed hossam, Tostaito, Vadim Peretokin, and vingi.

Changelog

A lot of very handy improvements come with this update - too many to mention above. Scour the changelog below for good gems:

🆕 added:

  • Geyser.StyleSheet for managing stylesheets with inheritance
  • `getBackgroundColor()` to get the background color of a label/miniconsole/etc
  • `getLabelStylesheet()` to get the label's stylesheet
  • `windowType()` to find out if something is a label/miniconsole/etc
  • Asteria as a known game with Discord Rich Presence
  • beginning of Arabic translation
  • color `echo aliases for testing triggers (`cecho, `decho, and `hecho)
  • fadein, fadeout, and start to MCMP
  • failure reasons to `installPackage` and `installModule`
  • discIRC server password support
  • mirror generic_mapper download path for chinese player
  • overline support to c/d/hecho, ansi2decho, and c/d/hecho2ansi functions
  • string.patternEscape for escaping special Lua pattern characters
  • Map deletion functionality (option in settings as well as `deleteMap()`)
  • `getProfileStats()` to see # of triggers, aliases, etc from Lua
  • `map.pauseSpeedwalk()` and `map.resumeSpeedwalk()` + mpp alias to generic mapper
  • auto-enable dark theme for dark mode desktops
  • Close profile button
  • Main window shortcuts can now be customised
  • offer to update editor theme as well when dark theme is enabled
  • first-time placeholder text for aliases
  • missing cursor and selection functionality to Geyser.MiniConsole
  • additional 2string functions for stripping formatting codes from c/d/hecho formatted text
  • allow to resize animated gif to label size
  • allow transparent labels through right click map menu
  • ANSI Esc code support for MSDP

✨ improved:

  • c/d/hecho to work on Labels
  • Lua API for Sound and Music
  • variable icons by using a color which works in both light and dark modes
  • add a QSpinWidget for adjusting special exit weight in exit dialog
  • add door symbol display to custom exits lines and to stubs
  • add MUME information blurb
  • add ScrollBox Gui Element
  • allow profiles to be individually resized when multi-playing
  • Announce how to undo it when hiding the input line buttons
  • be explicit with all our callable with 1 arg class constructors
  • Better extension selection in map save/load dialogs
  • better map.echo in map.find_me
  • code editor to show virtual characters better
  • do not try loading or saving password securely when storing them portably
  • Enhance labels to allow animated gifs
  • get Label Size hint and Geyser.Label adjustSize
  • shorten duplicate area name msg
  • ansi2decho now supports italics, underline, and strikethrough
  • c/d/hecho now support strikethrough
  • c/d/hfeedTriggers, d/hecho2ansi functions now support bold, underline, italics, and strikethrough
  • expose cecho2ansi and have it work for non-ansi color names as well
  • infra Win10 fix dependency installation script to handle nulls in PATH
  • control characters now have the choice of being displayed or hidden
  • error messages to `fg` and `bg`
  • provide alternative representations of most control characters

🔨 fixed:

  • ansi2decho to respect custom colors
  • buttontoolbar resizing on start
  • datetime:parse and :calculcate_UTCdiff to account for DST
  • empty newline on send with no command separator
  • faulty regular expression error message
  • hidden container not attaching when reloading
  • linewrapping for really long words without spaces in Western languages
  • missing space in telnet negotiation warning
  • aborting profile close to work right
  • replace throwing ambiguous error or appending to entire console if nothing is selected to replace
  • strange disabled items in darktheme right click
  • clear speedWalkPath and speedWalkWeight in generic_mapper upon completion
  • correct placement of const in a function declaration/definition
  • Don't show hidden Geyser.CommandLines in Adjustable.Containers
  • don't show tab character in code editor
  • get dark-desktop detection working also on FreeBSD
  • get menu shortcuts and their key sequences working all the time again
  • get replays working again
  • prevent unwanted and unneeded copying of an item in a container
  • small size of exit stubs (alternative 2 "blobs on stubs")
  • color trigger buttons not showing colors
  • control character mode being used uninitialised
  • documentation for scrollbar related functions
  • make logging have a per profile persistent control method
  • compact input line crash when it's translated in other language
  • correctly save fore/background color and transparency of labels in JSON map files
  • diatrics in code editor on Linux
  • enable Multi-view as soon as second profile is started and show all profiles when it is active and further profiles are started
  • enable restoration of editor toolbars even if both get hidden
  • ...
Read more

4.14 - a statue of a giraffe in front of a waterfall

22 Nov 07:20
Compare
Choose a tag to compare

AI is all the hype these days, so we asked what AI thought of Mudlet's logo... apparently it is a statue of a giraffe in front of a waterfall. That's not relevant to today's release, but we thought you'd be interested in knowing this! Features in this update include a dark theme toggle, addition of MUME, Discord button to open the game's server, and additional text wait time is now adjustable!

Dark theme toggle

edru2 added a dark theme to Mudlet! You can how select it in settings:

dakr-theme-toggle.mp4

vadi2 followed the option up with a feature to follow your system setting and to also update your editor theme.

MUME

Middle Earth makes its way into Mudlet, welcome!

Multi-Users in Middle-earth (MUME) is a highly competitive world PvP DikuMUD, set in J. R. R. Tolkien's fictional world of Middle-earth, as described in The Hobbit and The Lord of the Rings, where players may choose to join the epic war between the forces of Sauron and the armies of the Free peoples. In MUME players can explore, role-play, acquire achievements, and complete quests across many challenging locations across Middle-earth such as Lothlórien, the Shire, Bree, Rivendell, Goblin-town, Mirkwood, Dol Guldur, and the Mines of Moria. The game is completely at no cost to play and has been continually enhanced since its inception in the fall of 1991.

Discord button customisation

atari2006tim worked on the Discord button! Games can now tell Mudlet what their Discord invite is, and once they do so - Mudlet will show a button that'll take the player to straight to the game's Discord server 😃

Adjustable text wait timer

SlySven has done work on the text wait timer for games that lack Telnet GA or EOR signalling and made it configurable in settings. By default this timer was 0.3s, which you can now lower or increase as needed.

Why do we even need to have it? Well because not all games are telling Mudlet when they are done sending all text. That's exactly the meaning of GA. Games that do implement GA have no timer at all. Thus the better solution is, of course, to encourage games to implement GA!

Lowering the timer runs the risk that not all text will be received from the game before showing it on screen, which could 'break' your triggers for that particular line. Increasing the delay reduces that risk, but then of course the experience is compromised.

Lua, Rainforest tests

Quality is an important area of Mudlet, and alongside the newly created QA team, vadi2 has worked on automating Mudlet to run our Lua tests! Now whenever an improvement is done to our Lua functions, a copy of Mudlet is launched automatically in the cloud and all existing Lua tests are run to ensure nothing breaks. This also gives a safety net to anyone working on Mudlet that should they break something on accident, it'll get caught. That said, the safety net needs to be expanded to cover all tests - so we'd love for volunteers to help strengthen it.

That's not all on the quality story, either! vadi2 also worked on setting up visual tests that ensure the Mudlet interface itself - one you see and play with - is tested. Similar to Lua tests, automation launches Mudlet in the cloud and follows a script to click around on buttons and observe that they do what they ought to do. It is relatively intuitive to setup these tests, and we'd also love it if we had more volunteers to help flesh them out:

📢 Vote on best improvement

We announced earlier a trial to pay a bit of money for the top 3 most popular PRs - well it's kicking in with this release! Head over to the form to vote on your favourite improvement in this update.

Anyone who submits an improvement to Mudlet is eligible for a spot on the poll. That said, this is still an experiment we're trying out so we might change or scrap it in the future if it doesn't work out.

Credits

Thanks to all coders who made this release happen! atari2600tim, Damian Monogue, Kebap, Manuel Wegmann, Mike Conley, mudlet-machine-account, Nils Schimmelmann, Piotr, Slobodan Terzić, Stephen Lyons, Tim Johnson, Vadim Peretokin, and 噢哎哟喂.

Thanks to all translators dutifully carrying the flags: Alan Sneath (alsneath), ifelse, Kamil Tunkiewicz (zeddicus), Leris, Marco "M0lid3us" Tironi (wiploo), vadi2, and vingi.

Changelog

There's a lot of improvements in this Mudlet update besides the top 5 listed above, so dig into the changelog below to find goodies:

🆕 added

  • --mirror option for logging output to console
  • option to show errors view from the toolbar
  • customization of Discord button using invite URL from GMCP or Lua
  • dark theme toggle to preferences
  • events when a speedwalk() is stopped, paused, or finishes (reaches the end)
  • IDManager and named tempTimers/event handlers from script
  • option for secure IRC connections
  • resetDiscordData() function
  • what color formats are acceptable in places it is missing in Geyser ldoc comments
  • clear error console functionality
  • Custom right click menu items for command lines
  • Gmod busted tests
  • Save/Load map as .json from preferences dialog

✨ improved

  • map context item names
  • [CodeFactor] eliminate (some of) our C style casts
  • allow wait for more network packets to be adjusted
  • cleanup room_exits.ui file
  • Clear edit forms for deleted items
  • Create map / Load map dialog will be again present for empty map
  • Create room at right-click position
  • Do not trim whitespaces in tab completion
  • icons not coloured status text for normal exits in exits dialog
  • icons not coloured status text for special exits in exits dialog
  • only enable IRE driver GA bugfix for IRE games (unnnecessary newlines with GA)
  • Properly announce Discord failing on length 1 texts
  • shorten welcome message for new aliases & triggers
  • simplify dlgRoomExits() invocation
  • sync mpackage modules
  • Unregister fonts upon package/module uninstall
  • update bundled NotoColorEmoji font
  • use constants to index into special exit columns in dlgRoomExits

🔨 fixed

  • CodeQL warnings
  • copy2decho() on empty lines
  • copy2decho, copy2html to work for all international text
  • Discord logo dimensions on profiles screen
  • Export Triggers title bar to be more generic
  • Adjust height of command box when cycle through history
  • cleanup: remove some warnings in uses of QKeySequence
  • correct a missing override that showed up during CI
  • disable more controls in preferences when there is no host
  • don't show jibberish when Adjustable Container title bar is too short + add position as option for setTitle
  • eliminate a load of warnings about missing-field-initializers
  • Lua functions for tempKey and tempAlias work again
  • modules no longer get emptied if reloaded during saveProfile()
  • only provide NAWS information from main console
  • remove spaces in initializer brackets
  • remove stray debug messages
  • repair prevent all controls from being hidden feature
  • settings button will be available again before you connect to a profile
  • try and make connectExitStub(...) work as per the API
  • update default Zombiemud port
  • update PCRE download source to one that still exists

Infrastructure

  • add 'Chancel' as an allowed codespell - it's an area in Lusternia
  • Add 'nd' as an allowed word
  • add knowledge for debug symbols in builds
  • added label for port in Github Codespaces
  • close out p tag in text label
  • danger checks in JS
  • disable Windows builds in GHA
  • fix Windows changelog generation now that we have quotes
  • fixed autoupdate workflows to trigger checks
  • git ignore 3rdparty boost and cocoapods
  • give a danger-friendly PR title to Crowdin updates
  • Improve ptb changelog generation
  • make sure to fail Windows builds in case the packaging step failed
  • More adjustments to the changelog styling
  • read error log correctly from Windows installer tool
  • remove unrendered emoji characters from changelog script
  • remove unused mUserDefinedName in code
  • update appveyor signing password
  • updated Lua tests documentation
  • Lua tests to run in CI automatically

4.13 - LoTJ plus mapper, command line, and color improvements

22 Sep 05:49
Compare
Choose a tag to compare

We're back from summer, freshly recharged, so here is a new Mudlet update! In this version you'll find a new game with a Mudlet UI, plus improvements to the mapper, command lines, and colour rendering.

Legends of Jedi

A new game joins Mudlet's connection screen!

Legends of the Jedi is a text-based roleplaying experience that immerses players in a multiplayer world where they can rewrite classic Star Wars stories with their own heroes, villains, battles, and endings. Over the course of each two-year timeline, the game explores all the key eras of the Star Wars Expanded Universe.

Take and hold planets as an Imperial Stormtrooper, command the Rebel navy and liberate the galaxy, pursue targets as a bounty hunter, or shape things on a larger scale as a member of the Galactic Senate. Maybe you'll even be one of the few born with force sensitivity, destined to be trained by Jedi or Sith.

The game offers an extensive crafting system for engineers to supply weapons, armor, and ships to the galaxy. Develop new, cutting-edge armaments to give your side an edge, or open a shop in a bustling commercial district and become wealthy as part of a powerful engineering conglomerate.

LOTJ offers full PVP in both ground and space combat, governed by a set of rules to minimize griefing and ensure that all kills have sufficient in-character cause.

What role will you play? The legend awaits!

Smoother map scrolling

ktunkiewicz took a stab at improving the mapper once again - and fixed the map scrolling to work like you'd expect it to, regardless of the zoom level:

https://www.mudlet.org/wp-content/uploads/2021/09/smooth-scrolling.webm

Now it feels like it should on any map app :)

Command line improvements

SlySven and chrio worked on improving the command line - it'll now no longer 'jump' a little bit the first time you use it, and line wrapping. There's new commands to visually select text in the command line, too!

Screenshot of the command line
Command line wrapping before
Screenshot of the command line
Improved command line wrapping after

256 colours harmonized

Mudlet's rendering xterm256 colours will now look similar to other MUD clients thanks to Kilbukas:


(old) Mudlet 4.12 and below

(new) Mudlet 4.13+

If you've thought colours looked a bit different, this would have been why!

Custom profile colour

Speaking of colours, MrZaus added an option to customise the profile colour on the connection screen!

createMapLabel improved

The createMapLabel function now allows you to choose the font, text, and background transparency for map labels - giving you more flexibility in creating nice-looking Mudlet maps.

Map labels can go above and below rooms

Custom right-click actions

While you previously could have made specific text in the window clickable, you couldn't add to the general right-click menu that showed up. Say, for example, you wanted to select some text, right-click, and do something with the selection? Well, now you can thanks to addMouseEvent, getMouseEvents and removeMouseEvent by Kilbukas.

This joins existing functionality where you can add custom right-click menu actions to the mapper already.

Credits

Thanks to all coders who made this release possible: atari2600tim, chrio, Damian Monogue, Ian Adkins, Kamil Tunkiewicz, Kebap, keneanung, Manuel Wegmann, Matthew Wagner, MrZaus, Piotr, Richard Moffitt, Slobodan Terzić, Stephen Lyons, Tomas Seniunas, and Vadim Peretokin.

And of course all the translators who are translating Mudlet into their native language: Alan Sneath (alsneath), eplis, Hsin-Hsiang Peng (Hsins), hyperi (osakki), Jim Lu (kimiwajim), Leris, Marco "M0lid3us" Tironi (wiploo), olen, Sirith (Senareil), vingi, VVsxmja, and 晉豪許 (gridwing).

Changelog

Check out the changelog below, quite a few goodies for scripters in here:

🆕 added

  • ability to define custom color in profile buttons in connection dialog
  • closestColor() function for finding the best match out of color_table
  • selectCmdLineText() to make command line text selected
  • get and set state of push-down-buttons
  • Legends of the Jedi as a default game
  • mouse menu actions to windows
  • notarization to macOS builds
  • pause, stop, and resume functions to complement speedwalk()
  • selectCaptureGroup() will work with named capture groups
  • shortcuts to navigate editor between triggers, aliases, etc

✨ improved

  • adjusted the 256 color conversion to match other clients
  • descriptive window title now shows for the alias/trigger/script editor
  • fix incorrect height adjustment of the command line
  • fixed a fair bit of typos in code comments and texts the player sees
  • Give the Mudlet icon to new profiles that were just copied
  • improved line-breaking in the command line
  • improved zip comment generation for package exporter
  • Improvements to command line font handling
  • Mudlet on macOS won't give security warnings anymore
  • optional fontName, text and background transparency in createMapLabel()
  • Optional part of package exporter UI expands if there is space on macOS
  • Remove experimental label from the package exporter
  • Revise: improve debug messages when negotiating compression
  • Revise: make exporter temporary files be a sub-directory of a Mudlet one
  • Show an error in stdout when script failed to load from XML
  • Small optimization added for incoming text data
  • Update fontsize as soon as it is selected in preferences
  • Update: add some more dictionaries to the list

🔨 fixed

  • --profile CLI option will now work as expected in a lot more cases
  • fix json map room symbol loading
  • Fix markdown headers and images not playing well together
  • Fix setBorderSizes() when called with 4 arguments
  • Fix: newly created profiles will remember their connection info
  • Make f work with variable named 'str'
  • mpackage zip comments are preserved correctly for international text
  • Package manager/exporter now work fine with non-Latin letters
  • prevent addCustomLine from crashing without custom line points
  • prevent crashing from double-click on connect button
  • Reset autowrap limit when changing the font size, if autowrap is enabled
  • Revise: fixup some package exporter results messages


Just a fraction of the work that went into the release :)

4.12 - sustainability edition

02 Jun 16:36
b8d1bd5
Compare
Choose a tag to compare

Sustainability is a hot topic in 2021 for all the right reasons: We want to ensure that we can keep doing what we're doing. It is, coincidentally, the theme of Mudlet 4.12 as well - We'd like to be sure that we can keep building Mudlet as the game client you know & like well into the future. It's been difficult for the last little while with the conditions that we've faced - the certificate signing, moving off of Travis, and most recently: The challenges of working on an international, remote-only project while we're faced with external stressors. For these reasons it's important to take the time to charge your batteries.

What is Mudlet?

Mudlet is a platform with which you can play multiplayer, pure-text online games – called MUDs, precursors to today’s online games. There are thousands of unique worlds online – download Mudlet for free on Windows/macOS/Linux, join one and enjoy!

Brand new package manager

Edru has been busy revamping how Mudlet interacts with packages! First up, the new package manager, as seen below, allows you to see a package's description with additional details like images, links, styling with markdown, etc.

How do these descriptions arrive in new packages? Where do they come from? Well, we're glad you asked:

Brand new package exporter

Edru has revamped the package exporter as well, making it much easier to create, update and (re-)export packages as well as add a description and other information to them:

Want inspiration for creating your own package descriptions? Check out some of these popular extensions for Visual Studio.

Scripting news

File watches are now in Mudlet! Wilk's work allows your scripts to get notified whenever an external file is changed. This enables some interesting possibilities, such as editing code outside of Mudlet and having it show up live. (link to 45sec video demonstration)

Another great feature for multiplayers by SlySven is an improvement to the central debug console, which will now say which profile an information came from.

Leveraging that momentum, SlySven has also improved the multiplayed profile tabs so they can now be re-arranged as you desire.

Credits

Thanks to all coders who made this release happen - Andrew Eisenberg, Andrew Waters, atari2600tim, Chris Mitchell, Damian Monogue, Gustavo Sousa, Kamil Tunkiewicz, Kebap, Manuel Wegmann, Mike Conley, mudlet-machine-account, OzlynnJeez, Piotr, Serity, Stephen Lyons, and Vadim Peretokin.

Thanks to all translators who contributed to keeping the translations up to date: Alan Sneath (alsneath), Hsin-Hsiang Peng (Hsins), Leris, Marco "M0lid3us" Tironi (wiploo), Matthieu (Jack_potta), and vingi.

Changelog

added:

  • AdjustableContainerRepositionFinish event, change in AdjustableContainerReposition event
  • file watch functions (addFileWatch, removeFileWatch) and event (sysPathChanged)
  • getPackages and getModules functions
  • brand new package manager to view your installed packages
  • brand new package exporter to share your Mudlet things with others
  • dreplaceLine, hreplaceLine as well as support for windows other than the main one
  • getConnectionInfo() will now also say if you're currently connected or not

improved:

  • getOS() extended to include extra version (and for GNU/Linux, distribution) return values.
  • new keys without a name will automatically get assigned one
  • StickMUD will have the IRE mapper script installed by default for new profiles
  • Discord toggle for Clessidra will work right away, without needing to connect first
  • area parsing in XML files is now more resilient
  • mudlet will no longer freeze when exporting really large packages
  • top buttons in Mudlet are no longer monospaced
  • profile tabs in multiplay mode can now be re-arranged by dragging
  • debug console will now show which profile a message comes from
  • clicking on the line # in the code editor will let you type in it
  • mapper right-click menu will no longer hide custom items if you open it low
  • saveJsonMap() can be used without a path, just like saveMap()
  • you can add new variables in editor without having to click on one first
  • cleaned up mapper right-click menu; it'll only show items relevant to current selection
  • unknown MSP elements will be skipped and Mudlet will do its best to play the sound anyway
  • duplicate parent names won't be included anymore when exporting/importing packages (but if you'd like to, you can right-click to do it anyway)

fixed:

  • fixed crash when using MSSP with the * event handler
  • clicking on a label/miniconsole in a floating userwindow will no longer steal focus from the input line
  • changing tabs in multiview will no longer cause consoles to flash
  • there will no longer be a line across the screen for a split moment when a new profile is opening
  • searchAreaUserData() will work again when both key and value are provided for searching
  • clicking on the timestamp will now visually select the whole line
  • auto-complete will no longer try to complete on short words like 'do'
  • text will now longer be automatically deselected while typing with the spellchecker on
  • --quiet command line explanation fixed
  • cancelling a package download will now actually cancel it
  • perm* functions are working well again
  • getMapLabels() won't crash when used on an area that doesn't exist
  • generic mapper update notifications will work well again
  • miniconsole message if you don't pass enough parameters fixed
  • fixed nonsense message for when there's no rooms in the map
  • generic mapper will stop responding to the map opening after it's been uninstalled
  • code won't run twice on setScript and resetProfile
  • resize events won't be emitted anymore if the size didn't actually change
  • getMapMenus() fixed
  • small memory leak when JSON map export is aborted

infrastructure:

  • added automation to auto-link Linux and macOS PTB to updater (#4861
  • added tests for variable interface
  • added support for building Mudlet in Docker on Linux
  • added mpackage for testing cecho/decho/hecho and console transparency to tests
  • added an automated check to verify improvements against Mudlet's C++ style guide
  • Qt 5.14.2 is now used for all official builds

Github Stats for 4.12

4.11 - smoother mapper

13 Mar 09:50
Compare
Choose a tag to compare

After a (once again) forced updates hiatus of a couple of months, monthly Mudlet updates are back! Enjoy improvements to drag & drop and a much better mapper.

What is Mudlet?

Mudlet is a platform with which you can play multiplayer, pure-text online games – called MUDs, precursors to today’s online games. There are thousands of unique worlds online – download Mudlet for free on Windows/macOS/Linux, join one and enjoy!

New games in Mudlet

Cleft of Dimensions

Do you have a soft spot for an old SNES RPG? Are you a fan of retro gaming? The Cleft of Dimensions is an adventure-driven MUD with content inspired by a variety of classic video games. Do you want to jump on goombas? Maybe you'd rather immolate them with lava or bombard them with meteors. Then again, why fight when enslavement's an option? If that doesn't work out, you've got this motorcycle you could crash into them. The Cleft has 16 character classes, each with a distinctive playstyle. Gameplay in the Cleft features exploration, puzzles, quests, and combat. At time of writing, the world contains 98 areas. Quests range from deciphering treasure maps and committing industrial espionage to seeking the blessings of the mana spirits or just going fishing. A remort system facilitates repeat playthroughs to find content you missed the first time around. The Cleft opened in July 2000 and has been in active development ever since. We're always innovating. Recent features include Discord integration and areas written with artificial intelligence. Check us out!

Core MUD

Core Mud is an interactive text MUD set on the planet formal star-charts refer to as Hermes 571-G, but that everyone in the know refers to simply as "Core". Core is one of the most distant settlements known to mankind, most famous for its lucrative yet oppressive mines. But more than mankind can be found here; Core is a diverse group of 9 races in total, all vying for recognition or profits, or both, working for The Company, the megalithic entity running the colony itself. To The Company, everything is secondary to profits. It is up to you to determine how best to survive in this environment, whether that be through combat training, superior mining skills, or technical prowess. Core MUD is always free to play and features a fun and supportive atmosphere. Roleplaying is encouraged but not mandatory. Mining is your primary source of income, but there are multiple ways to scrape together a few credits... or a few million. Core Mud also features an economy which is player-driven; players own merchandise shops featuring energy weaponry or useful tools, pubs featuring assorted alcoholic (of course) and non-alcoholic beverages, and clinics for healing, to name a few. Come join us today!

CoreMUD gameplay
Want to add your game in here? It's free.

Drag and drop link to install a package

Yes you read that right - just drag and drop a link onto Mudlet and it'll download and install the package for you:

Alternatively, you can also drag and drop the package file itself and it'll install as well.

New core dev team member, Delwing

Please welcome Piotr, aka Delwing / WilK to the team! Delwing has previously made the excellent web-based Mudlet map viewer, VS Code autocompletion for Mudlet, and with scripts for the Polish game Arkadia. This time around in Mudlet, Delwing added room borders:
Along with a complete customizable map info panel:

And some very sleek-looking room selection:

You can also now customise the colour of the room character. Thanks to Delwing for adding these in, and looking forward to more! SlySven has put a huge amount of work into the mapper as well - and it can now save/load in JSON as well. This is something that crowdmaps will find handy to integrate so changes to the map can be clearly seen as text.

View-only mapper

Thanks to ktunkiewicz's work, the mapper now has a view-only mode - instead of editing - and of course it starts off in view-only off the bat:

Map makers no longer have to worry about players messing the map up with an accidental click.

Profile autosave

We've listened and new profiles created on 4.11 will now save automatically by default! Something so simple can go a long way to a better player experience.

Named patterns

matches[2] and friends is a good workhorse in Mudlet, and now they've been joined by new friends - you can now use matches.mycustomname!


Before


After

Notice how the attacker and weapon are changing places, being either first or second - but that doesn't affect our echo at all. Try this out for yourself, and find the docs for it here.

String interpolation

It sounds pretty complicated, but it actually makes things easier - a new function, f(), allows you to combine text and variables together in a more intuitive manner:

-- old way:
cecho("\nHello, "..matches[2]..", how is it going?")

-- new way:
cecho(f("\nHello {matches[2]}, how is it going?")

Coding improvements

Kebap has put a lot of work in and improved all of the "wrong argument type" errors to be much more descriptive, and they'll now tell you what went wrong and where:

The function needs a name/id, but none was given

I have to say that on the technical side of things, this makes the code look much cleaner - if you're curious, have a peek. Additionally, whenever a function couldn't do its job for some reason, it previously returned nil+message - the message will now show up in the Debug console as well, which can aid you in debugging:

Mudlet in Polish

Thanks to Delwing and Sirith, Mudlet is now available in Polish! There is a community of Polish games out there; now when a new player starts Mudlet for the first time, it'll be in their native language.

Text games are a great way to learn a language, so if you were thinking of picking up Polish - now's your chance!

macOS scrolling

Touchpad scrolling for macOS now behaves a lot more naturally, we hope you like it!

More updates?

Regular monthly updates were interrupted by one of our partners, Travis CI, suddenly turning their back on the open-source community. We've taken the time to migrate our macOS and Linux builds to Github instead, and in the process switched to using CMake for building in combination with a C++ package manager, vcpkg. Regular, monthly updates are now back on track for the foreseeable future.

Credits

Big thanks to all coders who made it happen: Damian Monogue, Dustin Heywood, ethorondil, Gustavo Sousa, Jonathan Picazo, Kamil Tunkiewicz, Kebap, Manuel Wegmann, Matthias Urlichs, Mike Conley, Piotr Wilczyński, Stephen Lyons, tdk1069, Vadim Peretokin, and wiploo. Of course, our fantastic translators as well: Alan Sneath (alsneath), Heimen Stoffels (vistausss), Hsin-Hsiang Peng (Hsins), Leris, lostnow, Marco "M0lid3us" Tironi (wiploo), Mi11et, Piotr Wilczyński, Sirith (Senareil), Vadim Peretokin, and vingi.

Changelog

added:

  • 'look' command in generic_mapper can now be translated
  • addCmdLineSuggestion() allows you to add words to the tab completion
  • custom HTTP method requests are now supported (ie PATCH)
  • debug console now shows warnings fr...
Read more

4.10 - extra command lines, background images, and more

03 Nov 21:18
Compare
Choose a tag to compare

This release has been a long time coming, thanks to the vagaries of obtaining a new code signing certificate for our Windows builds. Consequently there are a lot of changes which made it into Mudlet 4.10. Let's go over some of the highlights!

What is Mudlet?

It's a platform with which you can play multiplayer, pure-text RPGs – called MUDs, precursors to today’s MMORPGs. There are thousands of unique worlds online – download Mudlet for free on Windows/macOS/Linux, join one and enjoy!

Extra command lines

You've been asking for it, you waited patiently, now thanks to Edru you can have... multiple command lines! Whenever you want a second one for role-playing, your chat window to have configuration, or anything else, this is now possible:

extra command line

To turn on a commandline in a miniconsole, see here. To create a stand-alone, free floating command line, see here.

Background images for miniconsoles

You know what else you've been waiting and asking for? Background images on miniconsoles! Edru has been on a roll!

This also means that the usual c/d/heho color formatting functions now accept transparency as a parameter. See here on how to set a background image.

This also means that you can try setting a background image for the main window as well - but you might find that games often hardcode the black background, so it's not ideal.

Math in Geyser

Have you been struggling to get your Geyser elements lined up just right and wished you could nudge it over just a few pixels? Been avoiding Geyser and using another option so you could have math in your constraints? Well, now you can use Geyser and receive all of its updates and use math in your constraints.

This means for example if you have a 32x32 label you want to center you can do so by using Label1:move("50%-16px","50%+10px"), or using "50%-16px" for both the x and y when making the label.

Other Geyser Improvements

Geyser.Label also allows you to use "nocolor" as the text color, which will then allow for coloring the text via CSS. It also picked up the Geyser.Label:rawEcho(txt) function, which skips over all the formatting assistance normally provided by Geyser.Label:echo().

Geyser.MiniConsole gains Geyser.MiniConsole:display() which works just like regular display(), but outputs in the miniconsole instead of your main display.

Tired of copying things to a miniconsole and not being able to click them? Wish you could keep your MXP links intact in a miniconsole? Well, now you can! Edru once again stepped up to the plate for this one.

New color functions for feedTriggers

Have you struggled to test your color triggers? Tired of hand-crafting escape sequences when using feedTriggers()? Well, Demonnic was even if you weren't, so he added some new functions for working with feedTriggers. decho2ansi() and hecho2ansi() will take any decho or hecho string and return an ansi colored string. The functions are used by the new feedTriggers variants, dfeedTriggers and hfeedTriggers which allow for you to send colored text to the trigger engine for testing your color triggers. Also added is cfeedTriggers, which uses color names but uses a limited color table which corresponds to the ansi standard colors, IE black, red, green, yellow, blue, magenta, cyan, white, and lightBlack, lightRed, etc. You can also use a number from 0-255 to get the ansi 256 color equivalent.

Multi-view forever!

Now you can open ALL THE PROFILES! and move between them with your mouse and keyboard shortcuts without it turning multiview off. Have fun multiplaying!

Telnet CHARSET support

Game admins will be happy about this feature - it is now possible to automatically set Mudlet's text encoding - for example, to be utf8 in case your game supports emojis - using the CHARSET protocol. Big thanks to Tamarindo from StickMUD for pulling that one in.

Music/sound in MXP

Tamarindo also went ahead and added sound/music support to Mudlet's MXP implementation. That said, there's a much more modern Mud Client Media Protocol that you should aim to use 😉

Scrollbar improvements

You'll not be surprised to hear this one is Edru as well. Had you noticed Mudlet's scrollbars behaving a bit... oddly? Jumping around, not resizing itself, stuff like that? Well, Edru's put a lot of work into this and it should all work much more smoothly now.

macOS 10.13 High Sierra

Apple will stop supporting 10.13 High Sierra in November 2020, and Mudlet will have to follow suit. Thus Mudlet 4.10 will be the last version to support 10.13, which had a good run of 3 years!

Credits

Thanks to all coders that have contributed to this massive release: Andre Castellanos, Damian Monogue, Eraene, Fae, Gustavo Sousa, Ian Adkins, Jonathan Mohrbacher, Kebap, keneanung, Manuel Wegmann, Matthias Urlichs, Mike Conley, Stack, Stephen Lyons, and Vadim Peretokin.

Thanks to all translators to translated Mudlet into their language: Alan Sneath (alsneath), Anubisa, emeraldboy, Hsin Hsiang Peng (Hsins), Kae (itsTheFae), Leris, Marco "M0lid3us" Tironi (wiploo), rodeos, rodeos, Vadim Peretokin (vperetokin), vingi, and 王AQ (Anselmus).

This massive piece of work would not be possible without all of you :)

Changelog

added:

  • ability to display room names on the map (no auto-align them yet)
  • an event to catch all events - `*`
  • background image for miniconsoles is now possible, same as labels
  • background image for the main window is now possible
  • English spellchecking dictionaries are now included
  • game admins can now set encoding via telnet CHARSET (so utf8 for emojis)
  • miniconsoles can now have commandlines in them
  • music is now supported in MXP
  • option not to highlight text (history) when pressing the ↑ button
  • option to use your own pathfinding algorithm instead of the built-in one
  • you can now create standalone commandlines now allow you to ask the player for info
  • transparency in now supported by cecho/decho/hecho
  • you can now use math in Geyser constraints, ie "50% + 3px"

added & improved functions:

  • ansi2string() given a string with ANSI codes in it, remove them all
  • cfeedTriggers(), dfeedTriggers(), and hfeedTriggers() to enable testing color triggers
  • createCommandLine(), enableCommandLine() for creating custom commandlines
  • enableHorizontalScrollBar() to show a horizontal scrollbar in miniconsoles as needed
  • getClipboardText() and setClipboardText() for interacting with the clipboard
  • getFgColor() and getBgColor() now report how many characters the same color applies to
  • getHTTP() downloadFile's cousin and allows you to pass custom headers, joins putHTTP(), postHTTP() family for consistency
  • Geyser.Label:createRightClickMenu() to create menus in labels
  • Geyser.MiniConsole:display() to display straight into a miniconsole
  • Geyser.UserWindow:setStyleSheet(), setUserWindowStyleSheet() to adjust the userwindow title and borders - great for dark themes
  • hecho() can now set the background color only, without affecting foreground
  • isActive() and exists() now work with buttons
  • keepcolor parameter to replaceWildcard() and replaceAll() functions
  • purgeMediaCache() to remove MCMP & MSP media files
  • setCmdLineStyleSheet() to customize the font, colors, position of the command line
  • setMapBackgroundColor() to change background color of the map from the usual black
  • setMapRoomExitsColor() to customize the color of room exits drawn on the map
  • spairs() which iterates over a table in a sorted way
  • tempAlias() and tempKey() now can take Lua functions and not just text
  • tempAnsiColor() trigger now works as it should

improved:

  • 'errors' button text is now capitalized
  • a message is now shown when a replay ends
  • Client.Media - package messages themselves are no longer case sensitive
  • compact input line option is now per-profile
  • errors console now shows a horizontal scrollbar when needed
  • exit line in generic mapper is now case-insensitive, and a few other triggers improved
  • in case of compiling Mudlet yourself without TTS support, TTS functions won't error anymore
  • links at the end of the line now won't be clickable in the empty space
  • more accurate row and column reporting through NAWS protocol
  • Mudlet logo artwork, now sharper and better-looking. Dev and PTB builds are now clearly distinguishable
  • Mudlet's savefiles are now saved with a more sorting-friendly name
  • Mudlet's usual, development and PTB icons got improved
  • multiview tabbars aren't re-arrangeable anymore, as doing so didn't re-arrange the views anyhow
  • profile history in connection dialog now translates dates
  • scrolling now uses the upper pane's height, so you aren't miss...
Read more

4.9 - Public Test Builds & ANSI art

13 Jun 08:27
Compare
Choose a tag to compare

We've improved Mudlet's editor and highlighting as well as even more improved art display. Also, you can now every day receive new Mudlet developments with our Public Test Build (PTB) version!

Public Test Builds

While these have been prepared for a few months now, PTB are finally mature enough to be mentioned here. You can now always play with the most recent Mudlet developments enabled, if you don't want to wait for the next official release.

New PTB versions are built nightly, hence their icons are dark, whereas new developments start with a dim red sun light. See immediately which is which via distinct icons both before and after you started Mudlet.

Mudlet PTB will be installed right next to your regular Mudlet. Meanwhile, the original release version will stay unchanged, so you can always go back. Find the latest PTB on top of Mudlet's snapshot website: https://make.mudlet.org/snapshots/?platform=all&source=ptb

Please beware: Even though we test new features, the PTB may actually still break sometimes. Please report any doubts or feedback to us, so we can fix things long before the official release happens. This is why we're doing this: for better Mudlet quality.

Improved ANSI art display

While Mudlet 4.8 started CP437 support, we received a request for help in Mudlet forums. A player wondered why Mudlet would not display their game's sweet ANSI art upon connection as expected. SlySven investigated and fixed the issue, even surpassing the original request:

Please feel free to let us know any display problems you may find with Mudlet in your games, so we can look into them as well. Or even better, send us a fix to review! ;-)

Highlight foreground or background only

Even non-tech-savy users can easily use triggers in Mudlet to highlight interesting words or phrases happening in their games. The default highlighting will use red foreground and yellow background color.

With the new Mudlet version, you can now choose to only use one of them for highlighting and keep the other one as-is. In the example, keep the (maybe different) foreground colors, just use yellow background.

Editor placeholder text

Mudlet's feature-rich script-editor (edbee) just learned a new trick: The initial comment "put your Lua code here" will vanish, as soon as you start typing. No more left over fragments at the beginning of your code scripts!

editor placeholder text

Credits

Thanks to all coders: Damian Monogue, Edru2, Gustavo Sousa, Kebap, Manuel Wegmann, Nicholas Molen, Stephen Lyons, and Vadim Peretokin.

Thanks to all translators: Alan Sneath (alsneath), Leris, Marco "M0lid3us" Tironi (wiploo), rodeos, and Vadim Peretokin for their work on this every day​.

Changelog

added:

  • Public Test Build (PTB) versions of Mudlet for macOS and Linux
  • New icons for Mudlet's Public Test Builds and development versions
  • IRE mapper automatically installed for Starmourn as well
  • Lua code in Mudlet can now be translated in Crowdin
  • Option to keep color highlighting, so you aren't forced to specify both fore and background colors
  • New sysWindowMousePress and sysWindowMouseRelease events for user windows

improved:

  • A single echo's size was raised from the 10k character limit in the last release to a million characters
  • Check for updates will check for updates more regularly
  • The generic mapper script will automatically run 'find prompt'
  • The generic mapper script will handle room titles with embedded mini ASCII maps on the side
  • Geyser HBox/VBox are now much quicker
  • Geyser now stores stylesheet in the object
  • Mudlet's website is now shown in the Discord line
  • MXP support rewritten, now supports colours
  • Faster in-script search in the code editor for big scripts - won't search on first two characters anymore
  • Support graphics on Durismud (mud.durismud.com)

fixed:

  • Prevent crash when closing a profile that hasn't successfully connected
  • Event handlers continue running now after one of them had an error
  • Locking and minimization on creation is working now as expected for Adjustable Containers
  • Module sync can't be enabled for mpackages, as those aren't supported for syncing yet
  • Improved pixel precision in Adjustable Containers
  • Replays now process cr+null correctly
  • Time units aren't translated in the UI anymore, making it work for other languages
  • Userwindows can now still show up if previously closed/hidden
  • Ctrl+C breaking when you have played a lot

infrastructure:

  • Linux builds now use Qt 5.12.8
  • Removed unused code

Github Pulse for May