Changelog for MegaZeux 2.84c: Difference between revisions

From MZXWiki
Jump to navigation Jump to search
(Created page with "Dec 22, 2012 - MZX 2.84c Hey all, new version of MegaZeux here! And hopefully without any crashes this time around! Haha yeah right. The most notable thing this release (besid...")
 
mNo edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Dec 22, 2012 - MZX 2.84c
<pre>
December 24, 2012 - MZX 2.84c


Hey all, new version of MegaZeux here! And hopefully without any
Hey all, new version of MegaZeux here! And hopefully without any
crashes this time around!  Haha yeah right.
crashes this time around!  Haha yeah right.


The most notable thing this release (besides fixed crash bugs,
The most notable thing this release (besides fixed crash bugs,
as usual) is the new counter debugger! Give it a try and tell us
as usual) is the new counter debugger! Give it a try and tell us
what you think!
what you think!


Counter binary search has been replaced with a hash table in
Counter binary search has been replaced with a hash table in
versions of MegaZeux for most platforms. This has resulted in
versions of MegaZeux for most platforms. This has resulted in
slightly faster counter lookups, and MUCH faster creation of
slightly faster counter lookups, and MUCH faster creation of
counters, since MegaZeux doesn't have to keep the list ordered.
counters, since MegaZeux doesn't have to keep the list ordered.
The hash table is turned off for NDS builds for now due to tight
The hash table is turned off for NDS builds for now due to tight
memory constraints.
memory constraints.


Otherwise, most of the new features are editor enhancements and
Otherwise, most of the new features are editor enhancements and
modifications. Notable mentions are reordering the board list
modifications. Notable mentions are reordering the board list
with 'M' and a custom undo history size.
with 'M' and a custom undo history size.


FEATURES
FEATURES


+ The functionality of the F11 counter/string debugger has been
+ The functionality of the F11 counter/string debugger has been
  expanded to include sprites, robots, and miscellaneous world
  expanded to include sprites, robots, and miscellaneous world
  and board variables. The ability to modify many of these vars
  and board variables. The ability to modify many of these vars
  is limited and a large portion are read-only. In addition, you
  is limited and a large portion are read-only. In addition, you
  may add new counters and strings, hide empty counters/strings
  may add new counters and strings, hide empty counters/strings
  (does not affect built-in variables), and search by name and
  (does not affect built-in variables), and search by name and
  contents. Export is still limited to counters and strings.
  contents. Export is still limited to counters and strings.
+ Max string length has been increased from 1MiB (1048576 bytes)
+ Max string length has been increased from 1MiB (1048576 bytes)
  to 4MiB (4194304 bytes).
  to 4MiB (4194304 bytes).
+ Board mods may now be selected from subdirectories of the game
+ Board mods may now be selected from subdirectories of the game
  folder in the ALT+N dialog.
  folder in the ALT+N dialog.
+ The title bar now displays the world and editing board/robot
+ The title bar now displays the world and editing board/robot
  names based on context.
  names based on context.
+ Fire Burns Space and Fire Burns Forever are off by default.
+ Fire Burns Space and Fire Burns Forever are off by default.
+ You may now specify the size of the undo history in the char
+ You may now specify the size of the undo history in the char
  editor, and the history affects the entire char set. Undo is
  editor, and the history affects the entire char set. Undo is
  still ALT+U, redo is now ALT+R.
  still ALT+U, redo is now ALT+R.
+ You may now use the -/+ keys in the world editor to move to
+ You may now use the -/+ keys in the world editor to move to
  the previous/next boards in the board list, and Shift+Arrows
  the previous/next boards in the board list, and Shift+Arrows
  to change to the boards linked by board edge.
  to change to the boards linked by board edge.
+ You may now move the current board anywhere in the board list
+ You may now move the current board anywhere in the board list
  with M. You may not move the title screen board.
  with M. You may not move the title screen board.
+ View mode in the board editor (V) will start from the current
+ View mode in the board editor (V) will start from the current
  location of the screen now rather than at the top-left corner.
  location of the screen now rather than at the top-left corner.
+ Config file options for default board settings added, as well
+ Config file options for default board settings added, as well
  as the ability to save these per-world from the editor.
  as the ability to save these per-world from the editor.
+ Ctrl+G - Goto board position at X,Y.
+ Ctrl+G - Goto board position at X,Y.
+ png2smzx now requires less arguments and has an option to skip
+ png2smzx now requires less arguments and has an option to skip
  a char (generally char 32 will be useful to skip).
  a char (generally char 32 will be useful to skip).


+ Debytecode: The robotic editor now asks for a confirmation to
+ Debytecode: The robotic editor now asks for a confirmation to
  save the program on exit.
  save the program on exit.


BUGFIXES
BUGFIXES


+ Fixed a bug in the 'glsl' renderer that caused the cursor
+ Fixed a bug in the 'glsl' renderer that caused the cursor
  color to be ignored (always white). This caused the cursor to
  color to be ignored (always white). This caused the cursor to
  not be visible if shown on a white background. (ajs)
  not be visible if shown on a white background. (ajs)
+ Setting $string.length will not cause memory corruption now.
+ Setting $string.length will not cause memory corruption now.
  In addition, its pre-2.84 behavior of intentionally allocating
  In addition, its pre-2.84 behavior of intentionally allocating
  the string past the set length has been restored, but the
  the string past the set length has been restored, but the
  length itself will still be set to the correct value.
  length itself will still be set to the correct value.
+ Added bounds check to INC "$string" "value". Attempts to
+ Added bounds check to INC "$string" "value". Attempts to
  increase a string past its maximum length (4 MiB, or 4194304
  increase a string past its maximum length (4 MiB, or 4194304
  bytes) will now fail.
  bytes) will now fail.
+ Fixed MegaZeux crash that could sometimes occur when a string
+ Fixed MegaZeux crash that could sometimes occur when a string
  was increased by itself.
  was increased by itself.
+ Fixed MegaZeux crash that could occur when exiting the editor
+ Fixed MegaZeux crash that could occur when exiting the editor
  to a world file that failed validation.
  to a world file that failed validation.
+ Rolled string->storage_space into string->name to prevent
+ Rolled string->storage_space into string->name to prevent
  buffer overflow errors and crashes. (Mr_Alert)
  buffer overflow errors and crashes. (Mr_Alert)
+ Fixed crash that would occur when attempting to type in a dir
+ Fixed crash that would occur when attempting to type in a dir
  in the ALT+N dialog.
  in the ALT+N dialog.
+ Fixed a bug where copy block $string would apply REL twice.
+ Fixed a bug where copy block $string would apply REL twice.
+ Thanatos Insignia (DoZ Q1 2011, 98485) will now play without
+ Thanatos Insignia (DoZ Q1 2011, 98485) will now play without
  freezing both normally AND after loading a save. Robots will
  freezing both normally AND after loading a save. Robots will
  not be incorrectly versioned with the save format magic now.
  not be incorrectly versioned with the save format magic now.
+ Fixed bug where ALT+M wouldn't always edit non-stored types.
+ Fixed bug where ALT+M wouldn't always edit non-stored types.
+ Fixed bug where ! could not be used as a substitute for ~.
+ Fixed bug where ! could not be used as a substitute for ~.
+ Fixed a bug where tab-draw and block actions would carry
+ Fixed a bug where tab-draw and block actions would carry
  between board and overlay editing. ALT+O now sets the drawing
  between board and overlay editing. ALT+O now sets the drawing
  mode back to normal on a switch.
  mode back to normal on a switch.
+ ALT+M now edits the overlay instead of the board while editing
+ ALT+M now edits the overlay instead of the board while editing
  the overlay.
  the overlay.
+ Quick-load (F10 during gameplay) will not work if the load
+ Quick-load (F10 during gameplay) will not work if the load
  menu (F4) has been disabled with the LOAD_MENU counter.
  menu (F4) has been disabled with the LOAD_MENU counter.
+ Fixed a bug where the listening mod directory would stay the
+ Fixed a bug where the listening mod directory would stay the
  same as the directory the editor was opened in.
  same as the directory the editor was opened in.
+ The listening mod now continues to play after world and board
+ The listening mod now continues to play after world and board
  changes, and also after the board mod has been changed by
  changes, and also after the board mod has been changed by
  ALT+N or Shift+8/*.
  ALT+N or Shift+8/*.
+ LOAD_GAME will not incorrectly trigger JUSTENTERED anymore.
+ LOAD_GAME will not incorrectly trigger JUSTENTERED anymore.
+ Palette/intensity changes made on the same cycle as a teleport
+ Palette/intensity changes made on the same cycle as a teleport
  player command are now properly taken into account. This fixes
  player command are now properly taken into account. This fixes
  a game-stopping regression in Sponkgo's Legendary Journey
  a game-stopping regression in Sponkgo's Legendary Journey
  where leaving the second stage's bonus area would leave the
  where leaving the second stage's bonus area would leave the
  color intensity at 0.
  color intensity at 0.
+ SMZX mode is now disabled when leaving the editor if it was
+ SMZX mode is now disabled when leaving the editor if it was
  enabled in the editor via F11.
  enabled in the editor via F11.
+ Fixed potential crash bug where robot bytecode files were not
+ Fixed potential crash bug where robot bytecode files were not
  being validated before being loaded with LOAD_BC.
  being validated before being loaded with LOAD_BC.
+ Fixed minor message box bug dating back to DOS where a message
+ Fixed minor message box bug dating back to DOS where a message
  box starting with an unavailable option would begin with the
  box starting with an unavailable option would begin with the
  cursor on a blank line.
  cursor on a blank line.
+ Fixed crash that happened when typing over bounds while
+ Fixed crash that happened when typing over bounds while
  renaming a file in a file manager dialog. File and directory
  renaming a file in a file manager dialog. File and directory
  renaming now use a popup dialog akin to ALT+N.
  renaming now use a popup dialog akin to ALT+N.
+ Files with names longer than 55 chars may now be selected in
+ Files with names longer than 55 chars may now be selected in
  file managers. The limit for typing in a file name is still 55
  file managers. The limit for typing in a file name is still 55
  chars.  You may not enter a blank line as a file name anymore.
  chars.  You may not enter a blank line as a file name anymore.
+ Fixed segfault when attempting to read THIS_COLOR for the
+ Fixed segfault when attempting to read THIS_COLOR for the
  global robot. It will now always return -1.
  global robot. It will now always return -1.


DEVELOPERS
DEVELOPERS


+ Overhauled txt2hlp. Error messages now differentiate between
+ Overhauled txt2hlp. Error messages now differentiate between
  hyperlinks and labels and will take the display chars ~ and &
  hyperlinks and labels and will take the display chars ~ and &
  into account. Eventually, the goal should be to get rid of
  into account. Eventually, the goal should be to get rid of
  txt2hlp altogether and have MZX load straight from the .txt
  txt2hlp altogether and have MZX load straight from the .txt
  file.
  file.
+ Added compile option to use uthash for counter/string lookups
+ Added compile option to use uthash for counter/string lookups
  as opposed to binary search. Ideally, this will vastly improve
  as opposed to binary search. Ideally, this will vastly improve
  lookup speeds for large numbers of counters/strings, but will
  lookup speeds for large numbers of counters/strings, but will
  consume more memory. (thanks to Lancer-X for the modified
  consume more memory. (thanks to Lancer-X for the modified
  uthash header file)
  uthash header file)
</pre>
[[Category:Changelogs]]

Latest revision as of 03:27, 24 September 2015

 December 24, 2012 - MZX 2.84c

 Hey all, new version of MegaZeux here! And hopefully without any
 crashes this time around!  Haha yeah right.

 The most notable thing this release (besides fixed crash bugs,
 as usual) is the new counter debugger! Give it a try and tell us
 what you think!

 Counter binary search has been replaced with a hash table in
 versions of MegaZeux for most platforms. This has resulted in
 slightly faster counter lookups, and MUCH faster creation of
 counters, since MegaZeux doesn't have to keep the list ordered.
 The hash table is turned off for NDS builds for now due to tight
 memory constraints.

 Otherwise, most of the new features are editor enhancements and
 modifications. Notable mentions are reordering the board list
 with 'M' and a custom undo history size.

 FEATURES

 + The functionality of the F11 counter/string debugger has been
   expanded to include sprites, robots, and miscellaneous world
   and board variables. The ability to modify many of these vars
   is limited and a large portion are read-only. In addition, you
   may add new counters and strings, hide empty counters/strings
   (does not affect built-in variables), and search by name and
   contents. Export is still limited to counters and strings.
 + Max string length has been increased from 1MiB (1048576 bytes)
   to 4MiB (4194304 bytes).
 + Board mods may now be selected from subdirectories of the game
   folder in the ALT+N dialog.
 + The title bar now displays the world and editing board/robot
   names based on context.
 + Fire Burns Space and Fire Burns Forever are off by default.
 + You may now specify the size of the undo history in the char
   editor, and the history affects the entire char set. Undo is
   still ALT+U, redo is now ALT+R.
 + You may now use the -/+ keys in the world editor to move to
   the previous/next boards in the board list, and Shift+Arrows
   to change to the boards linked by board edge.
 + You may now move the current board anywhere in the board list
   with M. You may not move the title screen board.
 + View mode in the board editor (V) will start from the current
   location of the screen now rather than at the top-left corner.
 + Config file options for default board settings added, as well
   as the ability to save these per-world from the editor.
 + Ctrl+G - Goto board position at X,Y.
 + png2smzx now requires less arguments and has an option to skip
   a char (generally char 32 will be useful to skip).

 + Debytecode: The robotic editor now asks for a confirmation to
   save the program on exit.

 BUGFIXES

 + Fixed a bug in the 'glsl' renderer that caused the cursor
   color to be ignored (always white). This caused the cursor to
   not be visible if shown on a white background. (ajs)
 + Setting $string.length will not cause memory corruption now.
   In addition, its pre-2.84 behavior of intentionally allocating
   the string past the set length has been restored, but the
   length itself will still be set to the correct value.
 + Added bounds check to INC "$string" "value". Attempts to
   increase a string past its maximum length (4 MiB, or 4194304
   bytes) will now fail.
 + Fixed MegaZeux crash that could sometimes occur when a string
   was increased by itself.
 + Fixed MegaZeux crash that could occur when exiting the editor
   to a world file that failed validation.
 + Rolled string->storage_space into string->name to prevent
   buffer overflow errors and crashes. (Mr_Alert)
 + Fixed crash that would occur when attempting to type in a dir
   in the ALT+N dialog.
 + Fixed a bug where copy block $string would apply REL twice.
 + Thanatos Insignia (DoZ Q1 2011, 98485) will now play without
   freezing both normally AND after loading a save. Robots will
   not be incorrectly versioned with the save format magic now.
 + Fixed bug where ALT+M wouldn't always edit non-stored types.
 + Fixed bug where ! could not be used as a substitute for ~.
 + Fixed a bug where tab-draw and block actions would carry
   between board and overlay editing. ALT+O now sets the drawing
   mode back to normal on a switch.
 + ALT+M now edits the overlay instead of the board while editing
   the overlay.
 + Quick-load (F10 during gameplay) will not work if the load
   menu (F4) has been disabled with the LOAD_MENU counter.
 + Fixed a bug where the listening mod directory would stay the
   same as the directory the editor was opened in.
 + The listening mod now continues to play after world and board
   changes, and also after the board mod has been changed by
   ALT+N or Shift+8/*.
 + LOAD_GAME will not incorrectly trigger JUSTENTERED anymore.
 + Palette/intensity changes made on the same cycle as a teleport
   player command are now properly taken into account. This fixes
   a game-stopping regression in Sponkgo's Legendary Journey
   where leaving the second stage's bonus area would leave the
   color intensity at 0.
 + SMZX mode is now disabled when leaving the editor if it was
   enabled in the editor via F11.
 + Fixed potential crash bug where robot bytecode files were not
   being validated before being loaded with LOAD_BC.
 + Fixed minor message box bug dating back to DOS where a message
   box starting with an unavailable option would begin with the
   cursor on a blank line.
 + Fixed crash that happened when typing over bounds while
   renaming a file in a file manager dialog. File and directory
   renaming now use a popup dialog akin to ALT+N.
 + Files with names longer than 55 chars may now be selected in
   file managers. The limit for typing in a file name is still 55
   chars.  You may not enter a blank line as a file name anymore.
 + Fixed segfault when attempting to read THIS_COLOR for the
   global robot. It will now always return -1.

 DEVELOPERS

 + Overhauled txt2hlp. Error messages now differentiate between
   hyperlinks and labels and will take the display chars ~ and &
   into account. Eventually, the goal should be to get rid of
   txt2hlp altogether and have MZX load straight from the .txt
   file.
 + Added compile option to use uthash for counter/string lookups
   as opposed to binary search. Ideally, this will vastly improve
   lookup speeds for large numbers of counters/strings, but will
   consume more memory. (thanks to Lancer-X for the modified
   uthash header file)