Skip to content

4.0.2.4

Compare
Choose a tag to compare
@mj-colonel-panic mj-colonel-panic released this 02 Jun 22:37
· 151 commits to main since this release

Highlights, Prompt Settings, Threading Fixes

Highlights and Bolding

Long-time Genie users will notice a plethora of new bolded content which has never displayed correctly in Genie before! The method for applying preset highlights was rewritten, fixing a number of issues caused by the old method. One of the most visible and immediately evident changes is in the speech presets, which previously applied to the entire line. For those who are used to that and would prefer to still see it that way, we have added a new "Highlight Line" option for Presets in the Configuration window. This defaults off for all presets.

Prompt Settings

A number of adjustments were made to the flow of the status prompt, with new configuration options to help you find the flow you like.

#CONFIG PromptBreak

This will print incoming text from the game on a new line if the current line is a prompt. The default is on.

#CONFIG PromptForce

This will force printing of the prompt even when you're flagged to not receive a prompt from the game. The default is on, as this has always been the case. You now have the option to actually disable the prompt.

#CONFIG Condensed

This option removes all empty lines. The default is off.

ScriptExtensions

For decades we've been tied to the .CMD extension for scripts. Stormfront before Genie, Wizard before Stormfront, his father before him. Starting with this release you can now change the file extension that Genie reads scripts from. We recommend g4s (Genie 4 Script) but you do you. Make it whatever you like. To aid your transition, Lamp has a new Transmogrify feature which you can use - carefully and at your own risk - to change the extensions of your scripts. See that project page for more details on how to use Transmogrify, or run Lamp.

For the time being this defaults to .cmd.

UNIXTIME

You can now get your system unixtime in seconds using @ UNIXTIME @ (without the spaces, trying not to @ the user)

Threading Fixes

We narrowed down some of the previous threading changes which we suspect may have been at fault for some of the hanging in the client. Fixed a check that was making an unnecessary lock and causing significant lag when Debugging scripts.

#WINDOW POSITION Command

A new command has been created to move and resize windows, or create them in the desired position

  • #WINDOW POSITION {NAME} {WIDTH} {HEIGHT} {TOP} {LEFT}
    Name is the Window Name. The Client window can be targeted with the name Main, and the main Game window with the name Game.

Additional changes

  • Fixed Local Directory pathing to look correctly at the executable's directory and not the running directory, fixing cases where the client was attempting to operate in C:\Windows\System32 due to execution context, such as being pinned to the taskbar.
  • Robustified error handling for LichConnect to indicate when and which files couldn't be found, and where it looked
  • Updated Game object with Character Name and Instance Code when loaded from launch parameters
  • Added the Castbar to the items toggled by the Magic Panels layout option
  • Added new Volatile Highlights list to handle presets and bolded text, an alternative to the previous test solution for bolding
  • Updated directory validation to make relative paths relative to the data directory
  • Fixed a vulnerability to the monsterlist
  • robustified some error handling in evals to return false or -1 as appropriate rather than throw errors
  • added Gemstone instances to game list, removed Alliance of Heroes and Modus Operandi
  • added a linebreak after the update notifications
  • Tightened up display of paths
  • Updated validation of path configs to allow relative paths to be set correctly
  • Updated validation of path configs to create the folder if it does not exist
  • Added responses when setting #config
  • Added Map and Plugin Update Buttons
  • Added Test Client Option (disables autoupdate)
  • Populates Globals necessary for profile logic during connect (to be more Lich friendly)
  • Bug fixes in #lc and struct error in VS2022
  • Caught a WriterLock error in AddScripts

New Contributors

Other Contributors

Full Changelog: 4.0.2.0...4.0.2.4