2 years and 4 months or in tech speak, nearly 2,000 commits later – Mudlet 4.0 is here! We’ve achieved our stated goal to make Mudlet playable internationally; from Spanish to Chinese games :)
There are still minor improvements to do, such as translating the splash screen text, but internalisation is work that will never stop and will be always ongoing.
Mudlet Patreon
We’ve opened up a Patreon! All funds raised will be spent on improving the project, so if you like Mudlet, help us out! We’ve got a Special Offer in Patreon until August 25th: a hand-made, engraved Mudlet wooden pen.
10 year anniversary!
We’ve just had our 10 year anniversary! Our goal, just like everybody’s in this genre, is to keep it alive, innovate in it, and bring new players in – and we’re aiming for the next 20 of the same.
Internationalization improvements done for 4.0
Comparing the 3.0 to the 4.0 release, we have put in a ton of work to make Mudlet internalization-friendly:
Character display
Mudlet can now display Spanish, Italian, Russian, Chinese and other text fine:
Text selection also works correctly for Chinese and other languages where every monospace character doesn’t strictly occupy the space same space as 1 Latin character. Chinese characters, for example, occupy 2.
Server encoding
As expected, you can now choose everything from UTF-8, GBK, to KOI8 and more as an available server encoding:
Spellchecking
Spellchecking: yep, it’s here! Works for multiple languages; can be set to be for the profile only or shared Mudlet-wide, and you can use the Lua API with it, too!
utf8.* Lua string functions
All data your triggers, scripts, and everything else is encoded in utf8 – no matter what server encoding. Since Lua’s standard string library works just Latin only, we have added utf8 equivalents of relevant functions so your string.match can work with Russian, Chinese text.
Triggers, aliases, etc work for international text
As mentioned above, we’ve updated alias matching and trigger matching to work with international text! OK in all fairness, this change was the easiest of them all as it was a simple switch.
Windows users with non-Latin usernames
This issue was not a simple switch, unfortunately. An issue specific to Windows, if your account on the computer had non-Latin characters such as öäå, Mudlet would not load correctly. This is now fixed; everyone can run Mudlet!
Finally, the interface
And of course – the pièce de résistance – you can now play Mudlet itself with many different languages!
The interface is fully translated into:
- German – big thanks to Leris for doing the bulk of the translation
- Italian – big thanks to wiploo from Clessidra.it for doing the bulk of the translation
- Russian – big thanks to vadi2 for doing the same
Custom profile icons
Now specifically back to features introduced from the last 3.22.1 update to 4.0, we have done the following:
You can give your custom profiles – a custom icon! Size it to 120×30 for it to look good.
Tabs in display
Mudlet is now a lot better with tabs! This is for compatibility with older games, where they’re used for formatting and in-game source code editing.
If you’re building new code and would like to align text, use spaces instead: they’ll give you complete control of how the text will look like in the end, unlike tabs.
cnmake.mudlet.org/snapshots
Mudlet’s Continuous Integration (CI) process is highly automated: every improvement or feature is checked for compile errors on multiple platforms and a test Mudlet version just for that change is automatically created for Windows, macOS, and Linux. This means you can even improve Mudlet’s code online, without installing anything, and get your own build of Mudlet to test the change!
We’ve previously put up those test versions of Mudlet on transfer.sh and as Appveyor artifacts, which were sometimes flakey, so our very own TheFae has improved the situation and custom-built https://cnmake.mudlet.org/snapshots for us! Every build has handy links to the relevant Github commits and if available, the PR as well.
If you’d like to setup a copy of this website for your own needs, feel free! Just like Mudlet, it is open-source as well :)
Proxy support
You can now connect to your game using a SOCKS5 proxy!
Copy profile settings
You’ve worked hard to create your perfect, personal profile: the correct command separator, perfect colors, and just the right font size – and now you want to try a new game. Copying the existing profile will bring over all of the scripts so what do you do?Yep, we’ve got a button for that.
Improved menubar
We’ve added the Disconnect and Package Exporter buttons in the menubar, and made Discord be the primary “help with Mudlet” button. This brings it to feature parity with the toolbar, so you can pick which one you’d like to have.
IRC will stay as there are systems out there that make good use if it.
Emoji now in color
On macOS, Linux, and Windows 10 Mudlet will now show emoji in color!
Windows 7 and 8 unfortunately aren’t supported due to a Windows limitation.
Note that very few games support emoji’s out there – but you can always use echo(“Cool 😄\n”) in your scripts!
Mudlet – now in C++17
This is pretty techy news, but Mudlet is now made in C++17! Modern C++ is nothing like the traditional language you’ve heard of, and this update brings awesome things like structured bindings. Are you interested in trying it out? Mudlet is open for your PRs :)
Translation 🌟
Big thanks to Marco “M0lid3us” Tironi (wiploo) from clessidra.it for putting in a ton of effort into the Italian translation – it is now complete and has a 🌟!
The Russian translation has also been updated to the 🌟 level as well, joining the German translation on the podium. Can you help us with your language?
Credits
This is a huge update. Big thanks to demonnic, imgbot, keneanung, Leris, SlySven, and vadi2 for making it happen!
Thanks to all translators (12!) in this update: beckham894, Cyber Nerd (cybernerd.us), Guilherme Campos (guicampos), hjdhnx, keneanung, Leris, lostnow, Marco “M0lid3us” Tironi (wiploo), Matthieu (Jack_potta), Shoryu Shin (shoryu49), vadi2, and vingi.
Hotfixes
4.0.1: Secure connections work again normally. There were unexpected problems connecting to a game over secure SSL/TLS connections, as well as using downloadFile() for adresses starting with https:// – Thanks for the fix to keneanung and to cml and Conskill for reporting this to us on Discord and Github.
4.0.2: Fixed Mudlet crashing on Windows when viewing large scripts/triggers/aliases, etc. in code editor window.
4.0.3: Fixed secure connections even more.
Changelog
We’ve added far too much to list in the post, so have a look through the detailed changelog below:
added:
- Copy profile (settings only) – handy for bringing over existing preferences to a new profile
- Disconnect button in the menu of the Connect button
- Discord is now the preferred way to get help; Discord is now available as a button. IRC is still there, people use it in their systems
- getBorderSizes() as well as getBorderTop(), getBorderRight(), getBorderBottom(), and getBorderLeft()
- package manager, module manager, and package exporter all have buttons in the menubar now
- Patreon supporters tab! See https://patreon.com/mudlet
- setBorderSizes(top, right, bottom, left)
- SOCKS5 proxy support for connecting to games / HTTP downloads
- tempTimers now have a repeating option (keep firing until you kill them)
- you can now give your profile a custom icon in the list
improved:
- 60-200ms faster profile load and lower memory use (code formatter is now loaded on demand)
- C++17 is now used for making Mudlet. If you like the sound of that, come join us ;)
- command separator for new profiles is now ;; (remember you can now copy settings from existing profile)
- couple of long tooltips for map copy are now trimmed
- emoji’s will now be displayed in color in Linux and Windows 10 (macOS already had them, Windows 7 not possible; Windows limitation)
- faster text rendering of normal characters (plain ASCII)
- feedTriggers now works independent of your encoding
- full path to the sound file is now shown as a tooltip in the trigger editor
- introduction texts for triggers/aliases/etc are now more thorough
- Mudlet updater and code editor texts are now possible to be translated
- Reconnect button and reconnect() will now connect to the last server, even when you use connectToServer()
fixed:
- ‘About’ button in menubar won’t show text when you’ve turned that off
- Chinese Linux users can now type in Chinese in Mudlet
- clicking on a search result will now correctly take you to the location in the code
- creating a new trigger won’t show an error about no patterns in it right away
- Ctrl+Delete works in the input line to delete by word, as well as other shortcuts
- permGroup() will properly create folders
- spellchecker now works for everyone, including Windows users with special characters in their name
- tabs now show correctly in Mudlet
- text selection works right for Chinese text
Here’s a snapshot of all the work that went just into Mudlet’s code alone (this excludes work done on the snapshots service):
It’s a lot! Want to improve something in Mudlet? Join in!