Mudlet 3.10 – even faster, Chinese display, custom log files

Faster, better, stronger – Mudlet 3.10 is even quicker in many ways such as saving and loading your profiles, searching through your Lua code, and more. Other new features include custom logs location, Chinese language display, font bundling in packages, and autowrap in Geyser miniconsoles.

Mudlet 3.10.1 is a bugfix release to address up history on macOS and restoring ctrl+delete on all platforms.

What is Mudlet?

It’s a game client that you can play multiplayer, pure-text RPGs with – 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!

Welcome Leris!

Volunteers dedicating their quality time is why these releases happen, and we’re glad to have a new person on the team – welcome Leris! Aka Kebap and Zaphob. Leris started with Mudlet back in 2012 with this innocent post:

His first improvements, of course, were to our documentation :) He’s keen to bring Mudlet – and everything involved: website, documentation, forums – to the international community.

Faster Mudlet

vadi2 put in work to make Mudlet quicker – not that it was slow before, we’re proud to say that Mudlet is a super-fast MUD client right from the start. Profile loading is snappier now – if a profile made use of many packages or created many miniconsoles, that’s been sped up a fair bit.

Profile saving is quicker now – and, for the technically curious, not only faster thanks to a better XML serialiser (pugixml) but also async.

Searching for aliases/triggers/scripts in the code editor is much quicker, too! We’re thinking on ways to make searching your code even quicker, so be on the lookout here.

Custom log files location

AlysCole added a feature where you can choose a custom location for your plain text and color html log files! You can also customise the behavior to use a single continuous log file or daily ones, as well as pick a custom log name.

中国语言显示 / Chinese language display

Mudlets显示现在支持中国！ 第一，选择GBK在设置、并随后连接到你的游戏。 Mudlets口仍然只有英文-帮助我们把它翻译. 这消息是翻译的使用计算机:)

Mudlets display now supports Chinese! First, choose GBK in Settings:

Then connect to your game:

Mudlets interface is still only in English – help us translate it.

Thanks to novload and SlySven for their work on this feature / 谢谢你novload和SlySven为他们的工作在这一特征。

Translate Mudlet to your language

The 4.0 goal on our roadmap is to bring Mudlet to the many MUDs out there other than English – and one of the ways to do is that is by translating Mudlets interface. If you know another language, help us translate Mudlet!

Custom fonts in Mudlet packages

Have you made an amazing Mudlet interface that looks just right with that awesome font you found, but nobody else has it? You can now include the font in the .mpackage / .zip file and Mudlet will automatically enable it.

This follows the feature in the previous 3.9 release which allows you to use custom fonts in all UI elements – labels, miniconsoles, and userwindows by vadi2.

Autowrap in Geyser miniconsoles

oestrich added support for autowrap in Geyser miniconsoles, so you don’t have to set the wrapwidth manually anymore – check out the example.

Keybinding improvements

You can now have multi-match keybindings: if you add two keybindings for Ctrl+F1, and enable the option to match all keybindings, both will match. Additionally, you can bind to plain letters (Q, W, E, …) now as well.

Infrastructure improvements

We’re always improving Mudlet both on the outside and inside. keneanung put a lot of work into our continuous integration infrastructure to make Mudlet builds faster and more resilient to websites breaking (happens surprisingly often). He’s also solved the problem that prevented us from upgrading to a newer Qt version – so we can now use Qt 5.9 LTS as well as C++14, an upgrade from Qt 5.6 and C++11.

Not satisfied with everything accomplished so far, he didn’t just stop there but also added a one-click setup for Windows coders which sets up and builds everything for you! Feedback is: “it [the setup] was awesome. way easier than the hoops I usually have to jump through to get up and running with a random codebase”

Curious about contributing to Mudlet? Have a look – Mudlet is a very active, modern open-source project.

Stats for release 3.9:

Changelog

added: autowrap feature in Geyser.Miniconsole

added: East Asian language support – GBK and GB18030 encodings

added: enable Qt 5.9 on Windows/macOS/Linux and enable C++14 features

added: get text to translate Mudlet’s interface up on Crowdin

added: more options for logging: split/single file, custom location, and custom log names

added: option to toggle display of ambiguous-width characters

added: Mudlet packages can now have custom fonts

fixed: blank changelog on upgrade

fixed: don’t crash when clicking on the X= icon in variables view

fixed: don’t lose unsaved trigger you’re making in the editor if you use perm*Trigger

fixed: GUI auto-upgrade from the game showed version numbers backwards

fixed: tempComplexRegexTrigger’s foreground and background arguments didn’t work right

fixed: room exits dialog on macOS didn’t visually show ‘Save’ button as enabled

improved: setBackgroundColor() can now change background of the main window

improved: calcFontSize() can now take a window parameter to support custom miniconsole fonts

improved: cleaned up documentation in Mudlet’s code and linked it to the wiki

improved: disable Geyser.MiniConsole scrollbar if you’ve previously enabled it in the constructor and then took it out

improved: getFont() now reports actual font that was used, not the one you set it to, in case you don’t really have that font to use

improved: improve performance and don’t raise telnet EOR events (just like GA and you are better off with a prompt trigger)

improved: made profiles save faster

improved: made profiles that create miniconsoles load faster

improved: made profiles with many packages/modules load faster

improved: made searching in code editor faster

improved: modernized Mudlet’s C++ code (auto, nullptr, empty(), trivial constructors, no ineffective const, ranged for)

improved: you can now make keybindings with plain letters (ie A, B, C)

infrastructure: faster continuous integration builds

infrastructure: more resilient continuous integration builds

Credits

Thanks to AlysCole, basooza, hallor, Kebap, keneanung, novload, oestrich, SlySven, and vadi2 for making Mudlet 3.10 possible.