A new Mudlet 3.3.1 is here! This release brings in a whole new editor for Lua code, a completely revamped IRC window, and utf8 in Lua!
New editor
The edbee code editor made by @gamecreature has been added to Mudlet by @tomcss! This completely replaces the old editor and offers new features like multi-caret editing, line numbers, and shortcuts:
These are the currently available shortcuts – we’ll be working on enabling more:
If you’re familiar with Sublime Text or TextMate, Mudlet now supports all 350+ themes available http://colorsublime.com! edbee’s theming support has also been enabled by @vadi2, go to Profile Preferences – Editor to set them:
Remember that you can also install dark themes for Mudlet itself and also make your own!
Revamped IRC
Thanks to the work of @itsTheFae, the IRC functionality has been completely revamped and is now a lot more powerful:
It is now possible to join multiple channels, set your own default channel, /msg users and more. Check Profile Preferences – Special Settings for options:
The documentation lists out all of the new available /commands. A lot of IRC functions have been added for scripting as well: getIrcNick(), getIrcServer(), getIrcChannels(), getIrcConnectedHost(), setIrcNick(), setIrcServer(), setIrcChannels(), restartIrc().
Statusbar in the main window gone
We’ve removed the statusbar in the main window now that it has served its purpose! The original idea was to guide people towards opening the Connections dialog – that opens up automatically now, and showing descriptions for the mapper’s right-click menu – tooltips are used for those instead.
Infrastructure upgrade
@Kae and @demonnic got their hands dirty and completely upgraded Mudlets infrastructure: the wiki and forums are the latest version, and HTTPS support (green lock) has been enabled everywhere!
Thanks to this, the wiki registration is now openly available and we can spend more time improving Mudlet rather than banning spambots on the forums. Syntax highlighting on forums and wiki has also been aligned with Mudlets own so it is consistent everywhere.
Wiki improvements
@Kebap has been spending a lot of time improving Mudlets wiki recently, doing everything from formatting to documenting new – and old that we’ve missed – functionality. Appreciate all the help!
Multi-language progress
We’ve continued with the vision of making work with many languages and added a Lua utf8 library in 3.3, which allows you to work with non-English text in Lua: Spanish, Russian, Chinese, and so on. See documentation for more.
Windows – coroutines and tempKey
mudlet.supports.coroutines and the new key-related functions (tempKey, permKey) didn’t work as advertised in the last Windows release – this has been fixed.
Modern C++11
The so-called MC++ is used in developing Mudlet – if you haven’t checked up on C++ in the last decade, here are some of the highlights of what is now available: auto, lambdas, and more. C++ is the language that powers many game engines (Cryengine, Unreal Engine), browsers (Google Chrome, Firefox), and a lot of other things you’re using. If you’re curious to get started, try your hand with editing Mudlet!
Map load improvements
The map data is now loaded by default again when the profile is opened, so you don’t have to open the map to get your scripts to work. There’ll also now just be one loading messages should everything go okay.
What happened to 3.3?
You might’ve noticed we skipped from 3.2 to 3.3.1 – 3.3 didn’t work out and we had to cancel it. We’ve learnt our lesson and will ensure it doesn’t happen again in the future – sorry about that :)
Credits
Mudlet is made by people like you and me spending their free to make it better for you! Big thanks to demonnic, Fae, Ian Adkins, Kebap, keneanung, Stephen Lyons, Tom Scheper, and Vadim Peretokin for contributing bigtime to this release :)
Changelog:
- added a Code of Conduct per best open-source practices
- added getIrcNick(), getIrcServer(), getIrcChannels(), getIrcConnectedHost(), setIrcNick(), setIrcServer(), setIrcChannels(), restartIrc()
- added indenting shortcut to editor (Ctrl+[, Ctrl+])
- added languages / area affected by the encoding name in preferences
- added line numbers to editor
- added multi-caret selection (try Ctrl+click and Ctrl+Alt+Up / Down, see more)
- added shortcut to delete a trigger/alias/etc – press ‘Del‘. You can also save with Ctrl+S and save profile with Ctrl+Shift+S
- added theme switching to new code editor
- added utf8.* family of functions to work with Unicode
- fixed ‘reset map colors’ button in settings to work
- fixed a possible off-by-one error in linewrapping
- fixed blank command separator not to split everything by letter
- fixed button being left behind when parent toolbar is deleted.
- fixed buttons not to render unless they are part of a group
- fixed change detection for location, orientation, and CSS data in toolbars
- fixed getMapEvents() to work
- fixed Geyser typo ‘setreleaseCallback’ causing errors
- fixed map not loading on profile load anymore
- fixed mudlet.supports.coroutines, mudlet.keymodifer, mudlet.keys to be present in Windows version
- fixed multi-line comments in editor
- fixed some MXP-related code not to run if MXP is disabled in settings
- fixed userwindow layout to save when profiles are set to auto-save
- fixed setTextFormat() to work with other windows than “main”
- improved code editor, replaced with a completely new one: supports themes, multiple carets, and more
- improved error messages in sendIrc()
- improved Lua locale to be set to C so scripts can be consistent across computers with different languages
- improved map load output to be less verbose in case everything is fine
- improved massively IRC window – now has command history, many new IRC commands (list) higlights on errors, and many new Lua functions
- improved the rest of source code formatting; all of Mudlet’s C++ code can now be easily formatted with clang-format
- improved all Mudlet infrastructure – website, forums, and wiki to run on HTTPS
- removed main window statusbar
- renamed src.pro to mudlet.pro so we can tell it apart
- updated all sourceforge links
Would like to remind people that the support for UTF-8 and other encodings is at an early stage – all Mudlet can really do is understand the incoming text but there are still issues even with selecting and properly manipulating it at present. A lot of the trigger and related code will not handle anything other than plain ASCII or ISO8859-1 (Latin1) right now – though of course that must be completed before 4.0 is release… 8-)