Skip to content

Releases: icewolfz/jiMUD

0.19.0

05 Jul 05:02
Compare
Choose a tag to compare
  • Fixed:
    • Code editor: Virtual area editor:
      • Fixed infinite loop when building terrain and state data
  • Changed:
    • Linux 32bit is no longer supported
    • Update electron 17.3.1 to 19.0.7
    • Update electron-updater 4.6.5 to 5.0.5
    • Update better-sqlite3 7.5.0 to 7.5.3
    • Update moment 2.29.2 to 2.29.3
    • Update mathjs 10.4.2 to 10.6.4
    • Update markdown-it 12.3.2 to 13.0.1
    • Update fs-extra 10.0.1 to 10.1.0

Note: Linux 32bit no longer supported

0.18.1

05 Apr 03:39
Compare
Choose a tag to compare
  • Fixed:
    • Character manager: Fix name list not scrolling
  • Changed:
    • Update electron 17.0.1 to 17.3.1
    • Update @electron/remote 2.0.4 to 2.0.8
    • Update fs-extra 10.0.0 to 10.0.1
    • Update yargs-parser 21.0.0 to 21.0.1
    • Update mathjs 10.1.1 to 10.4.2
    • Update monaco-editor 0.32.1 to 0.33.0
    • Update moment 2.29.1 to 2.29.2

0.18.0

17 Feb 01:19
Compare
Choose a tag to compare
  • New:
    • New speed path system, adds option to group by amount of commands, and the delay between each group
    • Preferences:
      • Delay between path commands The amount of milliseconds between sending of path commands for speed paths.
      • Amount of path commands to send the # of commands to send between speed path delay
      • Speedpaths:
        • Echo echo each command to the screen as they are sent
        • Parsing of speed paths now allows you to use ( ) or { } to group a command, eg !2(n;w) would send n;w twice
    • Character manager: Notes field has been added to allow you to add notes that can be edited, they are saved directly to a file in character folder named character.notes, by saving directly to file it avoids keeping large amounts of text loaded into memory
    • Add %charcomment(text) to allow appending comments to character notes or getting notes field
    • Add %charnotes to allow setting notes or getting notes field
    • Profile manager: double clicking an item in treeview will now toggle expand or collapse state
  • Fixed:
    • Try to make sure window size is sent to the mud more accurately
    • Optimize debounce systems so it is cleaner and runs less
    • Mapper: Default to 1 if Directions to send is ever less then 1 so auto walk path sent always
    • Remove extra Enable Double Parameter Escaping from preferences dialog.
    • Immortal tools: fix minor bug in remote drag and drop download
    • Profile manager: Fixed issue when sub item group was selected and profile option changed that would cause treeview to replace sub item with profile
  • Changed:
    • Profile manager: sort profiles by priority sort if set, then alpha always, ignore index as profiles are stored by name
    • Update electron 16.0.8 to 17.0.1
    • Update monaco-editor 0.31.1 to 0.32.1
    • Update fswin 2.21.1015 to 3.22.106
    • Update electron-updater 4.6.1 to 4.6.5

0.17.7

02 Feb 22:13
Compare
Choose a tag to compare
  • New:
  • Fixed:
    • Added type checks to #ADD and #MATH to ensure the resulting value is a number
    • Added type check to #CASE and #REPEAT to ensure the value is a number
    • Fixed bug in multi state triggers when sub trigger is disabled
    • Fixed issue where temp triggers or re-parse type triggers would be double executed if the pattern was in trigger value
    • Fixed issue with temp alarms and re-parse issues with #SET fire state setting
    • Fixed Disable trigger on error when a sub trigger errors
    • Only update button bar is buttons have been changed
    • Only update context menus when menus have been changed
    • Fixed bugs in #GAG
    • When context menu item, button from bar, or url is clicked focus on command input if Focus to command input on click enabled
    • Profile manager: Add new functions and commands to editor highlight and documents
  • Changed:
    • Triggers, Buttons, Macros, Context, and Aliases values will now be ignored if empty, thus not creating blank lines, you can use a value of ${cr} to send a blank line
    • #ADD will default to 0 if variable is not defined and define variable
    • Update electron 16.0.7 to 16.0.8
    • Update @electron/remote 2.0.1 to 2.0.4
    • Update mathjs 10.1.0 to 10.1.1

0.17.6

25 Jan 01:04
Compare
Choose a tag to compare
  • New:
    • Add %alarm("name|pattern", setTime, "profile") return or set the time for alarm with name or matching pattern
    • Add #FIRE text Send text to trigger system as if received from the mud, triggering matching triggers with out displaying to screen and effecting current last line
    • Add #STATE name|pattern state profile Set the state of a trigger
    • Add #SET name|pattern state value profile Set the fired state of a trigger
    • Add #CONDITION name|pattern {pattern} {commands} options profile create a new trigger sub state, if name or pattern is omitted state will be added to last created trigger
    • Add #CR Send a blank line to the mud
    • Add #SEND Send file to mud line by line pre-pending and appending supplied prefix and suffix to each line as if sent from command input, if not a valid file sent as text if from command input
    • Add #SENDRAW Send raw text or file directly to mud with out parsing or echoing to the screen appending a newline if needed
    • Add #SENDPROMPT Send raw text directly to mud with out parsing or echoing to the screen with no appended newline
    • Add #UNVAR name Delete variable
    • Add #ACTION same as #TRIGGER
    • Add #CHARACTER send current character to the mud, without echoing to the screen
    • Add #SPEAK text speak text using text to speech systems
    • Add #SPEAKSTOP stop speak and clear all queued
    • Add #SPEAKPAUSE pause speaking
    • Add #SPEAKRESUME resume speaking
    • Add %state("name|pattern", "profile") Returns the current trigger state of the trigger given by the name or pattern, if no profile it will search all enabled profiles until match found
    • Add %defined(name,type) is item defined, similar to isdefined
    • Add %isnull(value) return if value is null or not if value omitted returns null
    • Add %stripansi(string) Strip all ansi codes from strip
    • Mapper: Add Edit > Reset map to allow users to delete and create a fresh map file
    • Profile Manager: Parse style now has basic code folding
    • Multi State triggers - Allows you to create multi line or conditional triggers
      • Full profile manger support to add, edit, reorder, delete each state
  • Fixed:
    • Profile manager:
    • Fixed #TRIGGER name syntax not working
    • Fixed #UNTRIGGER failing when trying to remove when only 1 profile exist
    • Fixed extra new lines being added when parsing text in the middle of triggers
    • Fixed temporary triggers and #UNTRIGGER some times removing trigger from wrong profile
    • Fixed issue with client.echo, client.sendCommand, and client.sendBackground when used in script type and passing non string values
    • Fixed Trigger alarms to be more accurate and not double fire some times
    • Fixed Trigger alarms always being stuck in wildcard mode, should require * explicit to execute wildcards
    • Fixed auto connect when loading same character again
    • Fix profile loading issues for #TRIGGER, #UNTRIGGER, #EVENT, #UNEVENT, #BUTTON, #UNBUTTON, #ALARM, #ALIAS, #UNALIAS
    • Fix parsing of some arguments for #TRIGGER, #UNTRIGGER, #EVENT, #BUTTON
    • Fixed %ansi(style,fore,back) for bold,color making it backgroound instead of bold fore color
    • Fixed %time(format) not being parsed
  • Changed:
    • Display: split bar highlights when mouse over and when being moved
    • #TRIGGER add/update message no longer contains name or pattern to prevent trigger from accidentally triggering
    • Reformat functions doc layout
    • Update electron 16.0.6 to 16.0.7
    • Update font-list 1.4.3 to 1.4.5
    • Update mathjs 10.0.2 to 10.1.0
    • Update better-sqlite3 7.4.6 to 7.5.0
    • Update chokidar 3.5.2 to 3.5.3

0.17.5

11 Jan 02:33
Compare
Choose a tag to compare
  • New:
    • Add %escape(string) escape all characters in string if escaping is allowed and if those characters need escaping
    • Add %unescape(string) strip escape characters from string if escaping is allowed and those characters are enabled
    • Add $selectedword, $selword, $selectedurl, $selurl, $selectedline, $selline, $selected, $character, $copied for direct access in expressions
    • Add versions of most predefined functions to the expression system to allow for inline usage using %eval or in math, note this is not always the same as full expanded form of ${function(args)} as that will process in the command parsing system while when used with eval or math expressions it will be parsed with the expression engine instead
    • Preferences:
  • Fixed:
    • Input parser:
      • Correctly escape function arguments when quoting arguments with respect to scripting quote settings
      • Use custom escape character when splitting function arguments with quotes
      • Fix escaping of command stack when used in a path, after a function, or alias
      • Fix issue when parsing command arguments ending with a newline
    • Fix dice when using fudge dice
    • Fix dice when using #d% returning 1d100 instead of a % of 0 to 1
    • Fix parsing of sub context menus
    • Fix $selectedword, $selword, $selectedurl, $selurl, $selectedline, $selline, when used from command line to use mouse position to correctly get the selected word,line, or url
    • Fix #CW, #COLOR, #HIGHLIGHT trigger creation syntax to use set command character instead of hard coded #
    • All #command error messages now correctly use the set command character when displaying syntax
    • Make #VARIABLE respect strip quote settings when storing value
    • Display: issues with overlays and Unicode background selection sizes
    • Fixed code editor not being correctly restored if already open
    • Help: Fixed command page links
  • Changed:
    • Error messages for commands and functions will add name to better understand where the error is
    • Update markdown-it 12.3.1 to 12.3.2

0.17.4

07 Jan 22:54
Compare
Choose a tag to compare
  • New:
    • Add #FREEZE Scroll lock the display, if state is omitted it will toggle the scroll lock, if state is 0 or false it will disable scroll lock, if state is anything else it will lock the scroll back
    • Add #CLR Add blank lines to clear the screen ignoring any current trailing blank lines
    • Add %begins(string1,string2 return true if string 1 starts with string 2
    • Add %ends(string1, string2) returns true if string 1 ends with string 2
    • Add %len(string) returns the length of string
    • Add %pos(pattern,string) returns the position of pattern in string on 1 index scale, 0 if not found
    • Add %ipos(pattern,string) returns the position of pattern in string on 1 index scale, 0 if not found ignoring case
    • Add %regex(string,regex,var1,...,varN,varN+1) test if string matches the regex pattern, if found returns the position of the match, starting at 1 else returns 0, var1 ... varN are optional variable names to store any sub pattern matches, varN+1 is the length of matched string]
    • Add %trim(string) Returns the string without any spaces at the beginning or end
    • Add %trimleft(string)` Returns the string without any spaces at the beginning
    • Add %trimright(string) Returns the string without any spaces at the end
    • Add %bitand(number1,number2) returns the bitwise AND of the two numbers.
    • Add %bitnot(number) returns the bitwise inverse of the given number.
    • Add %bitor(number1,number2) returns the bitwise OR of the two numbers.
    • Add %bitset(i,bitnum,value) Set or reset a bit within a numeric value and return the new numeric value. If value is omitted, 1 (true) is used to set the bit. To reset a bit, the value must be zero.
    • Add %bitshift(value,number) shifts the value the num bits to the left. If num is negative, then the value is shifted to the right.
    • Add %bittest(i,bitnum) Test a bit within a numeric value and return true if it is set, false if it is not set. bitnum starts at 1.
    • Add %bitxor(number1,number2) returns the bitwise XOR of the two numbers.
    • Add %number(s)) convert a numeric string to a number.
    • Add %isfloat(value)) Returns true if value is a valid floating point number
    • Add %isnumber(s)) true if s represents a valid number.
    • Add %string(value)) converts value to a string. Quotes are added around the value.
    • Add %float(value)) Returns value as a floating point number.
    • Add %isdefined(name) Returns 1 if a variable is defined, 0 if undefined
    • Add noEcho argument for client.sendBackground and client.sendCommand to allow hiding from display
    • Add $character to return current name from GMCP status info if possible and falls back to character manager login name or empty string
    • Triggers:
      • Add support for regex name capture that work similar to alias named params
      • Add Pattern and Command Input Pattern types to support zMUD/TinTin type pattern matching
    • Help: Add more known issue for advanced editor
    • Add save image as, copy image, copy image link to MXP image context menu
    • Input parser: Add $var user variable style support
    • Profile Manager:
      • Alias params are now highlighted with an error if invalid
      • Parse style is now syntax highlighted using special characters defined from options
    • Preferences:
    • Add Parse caption to parse context menu captions using the command parser to allow predefined variables or expressions
  • Fixed:
    • Updated README to update build requirements
    • Display:
      • Fixed bug with scroll lock auto scrolling when at bottom of display
      • Fixed bug with scroll lock being lost when screen is empty
      • Fixed bug with scroll lock being lost when split view is enabled
    • Advanced editor:
      • Fixed Formatted as commands (No echo) and Text as commands (No echo) echoing to the display
      • Fixed context menu
      • Fixed background color codes being wrapped in extra %^
      • Clean up extra codes between 2 resets blocks
      • Fixed Bold white background color to use RGB555 color code correctly
    • Profile Manager:
      • Trigger tester still did not correctly apply Prepend triggered line preference
      • Fix trigger type select width
      • Focus on value editor on select
      • Fix out of sync closing when asking to save/apply over changed file
      • Fix erroring when trying to delete a profile that did not exist
    • Fixed alias named arguments not being directly accessible in scripting type
    • Fixed full screen not always being restored on load
    • Fixed maximized state not being correctly restored on load if window was closed minimized
    • Input parser:
      • Detect newlines when using {} block formatting for multi line blocks when possible
      • Skip alias invalid named params
      • Fixed number parsing in places not accepting +#, as +# is a valid positive number and converted to simple #
      • Fixed ignore spaces around number arguments for functions and commands
      • Fixed escape characters following parameters, eg $\ or %\ where not correctly parsing escape characters
      • Fixed not escaping command special character
      • Fixed do not escape disabled special characters
      • Fixed command character not being correctly replaced with custom character in some places
      • Fixed saving nested loop variables as user variables
      • Fixed bug when splitting quoted strings
    • Fixed %dice(xdy+n) not correctly parsings argument format
    • Fixed %if(expression,true,false) not erroring if missing false argument
    • Fixed #variable should not evaluate the value to allow use of raw strings as needed, eg #va test {3+5} should store 3+5 not 8, if you want the evaluated value use #var test ${3+5} or #va test {${3+5}}
    • Fixed #variable throws an error now when invalid variable names are used
    • Fixed Select control selected color text
    • Fixed Watch for profile changes not always being cleared when client closed
    • Docs: Fixed i..z description
  • Changed:
    • Revert 0.17.1 hack for child windows as electron seems to have fixed the bug
    • Update tinymce 4.8.3 to 5.10.1
    • Update electron 16.0.4 to 16.0.6
    • Update font-list 1.4.2 to 1.4.3
    • Update mathjs 10.0.0 to 10.0.2
    • Update better-sqlite3 7.4.5 to 7.4.6
    • Rearrange General to reduce scrolling
    • Increase character manager dialog height to remove scrolling when possible
    • Update markdown-it 12.3.0 to 12.3.1

0.17.3

15 Dec 00:45
Compare
Choose a tag to compare
  • New:
    • Add #cw colors all words matching current trigger pattern
    • Add #pcol color text based on start and end positions
    • Add #highlight make text bold or brighter color if already bold
    • Add #color {pattern} fore,back,bold profile pattern and profile arguments to allow for quick trigger creation
    • Add %x1..%x99 predefined variable support, this variable will be replaced the matching groups start and end indexes, use this.indices or client.indices in script type to access
    • Add %ansi(style,fore,back) function to return ansi formatted string
    • Add %i predefined variable
    • Add %j..%z predefined variables for nested looping support
    • Add %random predefined variable and function
    • Add %char(i) return ASCII character for i
    • Add %ascii(string) return the ascii value for first letter in string
    • Add %case(n,value1,value2,value3...) return the nth value of arguments, from 1 to last argument
    • Add %switch(expression1,value1,...expressionN,valueN) return value of the first expression that evaluates to true
    • Add %if(expression,true-value,false-value) evaluate expression and return true or false value
    • Add #break break loop
    • Add #continue skips to the next loop iteration
    • Add {} grouping support to #nnn argument
    • Add #-nnn repeat commands NNN number of times but with a reverse counter
    • Add #if if expression is true execute true command, if false and false commands supplied execute them
    • Add #case return command from list based on the value of index
    • Add #switch execute each expression until one returns true, if none are true and an else command supplied it is executed instead
    • Add #loop Execute the commands a number of times given by the range
    • Add #repeat repeat commands number of times returned by expression
    • Add #be short version of #beep
    • Add #add Add value to variable named name, if current value is non numeric an error will be displayed
    • Add #math Set value to variable named name
    • Add #variable Set, get, or display all user set variables
    • Add #until Execute commands until the expression evaluates to TRUE
    • Add #while Execute commands as long as expression evaluates to TRUE
    • Add [#forall](docs/commands.md#repeating-and-loops loop stringlist, in the format of a | delimited string and set %i as each word)
    • Add #evaluate Evaluate expression and display to screen like show
    • Add #print Display text to the screen and append newline, and the display text will not fire triggers
    • Add #printprompt Display text to the screen, and the display text will not fire triggers
    • Input parser:
      • Add support to expression system for string comparison
      • Add support to expression system for string concat using + not just concat function
      • Add user variable support to expression system, can access in scripting using client.variables['NAME'] or client.variables.NAME
      • Add proper loop nesting using %i..%z variables for nested loops
    • Preferences
    • Help: Add left navigation tree to allow easier navigation besides the top navigation drop down, due to new command help pages to prevent large scroll when wanted
  • Fixed:
    • #nnn
      • Fixed being double parsed
      • Fixed issues with trailing newlines with nested loops
      • Fixed format error checking to accept only numbers
    • Fixed window size being sent to the mud when status display is hidden/shown
    • Fixed bug in #trigger command and adding to profile not correctly finding if one exist already
    • Fixed bug in #event command and adding to profile not correctly finding if one exist already
    • Fixed bug in #wait to allow parsing of argument to allow for %i and expressions
    • Profile Manager: trigger tester did not correctly apply Prepend triggered line preference
    • Fixed bug with File > Exit when profile manager open and should not close
    • Fixed bug in #color and #cw not correctly parsing profile argument
    • Input parser:
      • Fixed - being lost after %
      • Fixed # being lose if %# had a -, * or % following it
      • Fixed corrupted stack after trigger errors
      • Fixed issue with $named argument format
      • Fixed named arguments not working
      • Fixed bugs in repeatnum not having correct name in all places
      • Fixed how alias unused arguments are appended
      • Fixed alias arguments values not correctly parsing before being used
      • No longer parse #commands if in a command/function argument as it would break inline parsing in most cases
    • Fixed execution of buttons and context items with broken parsing stacks
    • Fixed buttons and context not having error trapping code that broke cleanup
    • Status Display: Fixed resize bar conflicting with profile manger resize bar due to theming
    • Help:
      • Fixed crashing issue when opening external links
      • Fixed changelog links not working
    • Fixed issue with modal child windows not being set to correct parent window
  • Changed:
    • Remove %named argument support from docs as it never was supported and easier to just remove it
    • #nnn counter is now 1 based when using %i..%z instead of 0 based
    • Allow group by ( and ) in command argument parsing
    • Update markdown-it 12.2.0 to 12.3.0
    • Update monaco-editor 0.30.1 to 0.31.1
    • Update bootstrap 3.3.7 to 3.4.1
    • Update datatables from 1.10.18 to 1.11.3
    • Update bootstrap select 1.13.17 to 1.13.18
    • Help: Command help has been redesigned and commands will slowly have individual help pages

0.17.2

07 Dec 02:41
Compare
Choose a tag to compare
  • New:
    • Add #color color last added line
    • Add #window to open/show supported windows
    • Add #testunicodeemoji to display unicode emoji symbols
    • Preferences
      • Add Who is on? tp open who in child window
      • Add Disable trigger on error to disable a trigger if an error happens, either from pattern or scripting, enabled by default to prevent spamming of broken trigger
      • Add Prepend triggered line disable the fix to prepend the triggered line as %0,$0, or %{0} to return to previous usage
    • Add %{color(fore,back,bold)} function to return color codes
    • Add %{zcolor(fore,back,effect)} function to convert zmud/cmud style color codes into supported jiMUD codes
    • Status Display: Add ability to resize
    • Triggers: Add Trigger on raw option to match on raw line including any ansi escape codes
    • Themes: Add two new themes, updated preference docs to mention custom theme folders and customizing docs to explain themes
      • Clean-large: scaled version of clean theme, 150% larger
      • Clean-extra-large: scaled version of clean theme, 200% larger
  • Fixed:
    • Mac: Fix window menu item on main bar
    • Display:
      • Fixed unicode combining character selection issues
      • Fixed unicode selection width when font style is italic
      • Fixed mouse cursor to use standard text cursor
      • Fixed more unicode surrogate/variant pair selection issues
      • Fixed bug in MXP expire not clearing send/link end tag
      • Fixed split view resize when horizontal scroll bar visible
    • Ansi Parser: Fixed bug in MXP expire tag not correctly expiring links on same line that come before the tag
    • Fixed bug with #gag not working from command line
    • Fixed bug with #gag and number argument not correctly working
    • Triggers:
      • Fixed bug with regex trigger caching
      • Fixed bug with %0, ${0}, $0 not always return full raw line of text Warning: this may break some triggers
      • Fixed bug with verbatim not error catching
    • Fixed bug when client was maximized then minimized and not correctly sending the new size to the mud
    • Focus on main window when profile manager, advanced editor, or child windows closed
    • Fixed bug that would not correctly clean up when window closed by close button
    • Fixed bug where window would not correctly save open state when main window closed
    • Advanced Editor: Fixed bug with context menu and colorizing selected text
    • Status Display: Fixed some monster icon positions
    • Backup: Fixed importing of Show Script Errors setting
  • Changed:
    • Expand #testmxpexpire to test same line expiring
    • Use resize cursors instead of column resize cursors for resizable areas
    • Update electron 16.0.1 to 16.0.4

0.17.1

24 Nov 03:21
Compare
Choose a tag to compare
  • Fixed:
  • Fixed issue with electron and child windows open using window.open and invalid module paths