* integrated an ASM hack submitted by Vitor into LM that allows changing the height of horizontal levels, effectively making it possible to change the level dimensions. You can find the new setting controlling this in the "Change Properties in Header" dialog, along with a new * option that lets you view the full bottom row of tiles in horizontal levels.
* the sprite loader now has a cache added by Vitor to reduce the performance impact from parsing most of the sprite list to access sprites on later screens.
* added a setting to the "Change Properties in Sprite Header" dialog to control the sprite vertical spawning range for horizontal levels and an option for smart spawning.
* levels can now have up to 128 sprites instead of 84 for non-SA1 ROMs.
* a limitation of the original game where sprites could not start with an FF byte has been removed (previously LM would silently move the sprite on save when it encountered this to avoid premature termination of the sprite list for the level).
* in vertical levels most objects will no longer break up on horizontal subscreen boundaries (but they still will on vertical ones).
* added an option for entrances to use a new FG/BG init system which can set the FG relative to the player, and calculates the BG position relative to the FG position, scroll settings, level height, and BG height. The BG height is a new setting in the "Change Other Properties" dialog, along with an option to just set the BG relative only to the FG which is meant mainly for layer 2 levels.
* added 4 new vertical scroll settings for layer 2 (Variable 2, Variable 3, Variable 4, and Slow 2). Note that these take up slots that were previously blank (H/V Scroll of None), so you may want to double check your scroll settings in older levels. To have H/V scroll set to None, you should be using the 4th entry in the list rather than one of the later ones.
* added a new option for entrances to have Mario face the left direction.
* made it so that using the "Shoot From Slanted Pipe Right" entrance action combined with the "Face left" option will make Mario shoot left instead of right.
* added a new option for midway entrances to redirect a midway entrance to another level. This allows you to have the midway entrance for an overworld level be in another level entirely.
* added a new option for secondary entrances to make the level a water level. Note that the older option for the same thing in screen exits can also still be used.
* added a new option for secondary entrances to exit to the overworld. You can also optionally set an exit to the overworld to pass the level with the normal/secret exit of your choice or just switch players, use a different base event when passing the level, and teleport to a different location.
* added a new toolbar button to the overworld editor that can set secondary exit teleport locations, which uses the same table as the Star/Pipe tiles.
* made it possible for the overworld Star/Pipe index table to hold twice as many entries (0x100), to accommodate secondary exit teleport locations.
* made it possible to use Secret Exit 2 and Secret Exit 3 in the game. This means the overworld editor now has direction to enable settings on level tiles for both of these, and the Secret Exit 2 and Secret Exit 3 goal point tape sprites have been added to the sprite list.
* made it possible to change level tile settings for tiles 0x82-0x86 in the overworld editor. While they can't be entered as levels, they are valid stopping points so this allows you to assign them a level number in case you want them to display a name or give them initial enabled directions.
* moved the music and time limit settings from the "Change Properties in Header" dialog to the "Bypass Music and Time Limit Setting" dialog, then renamed the latter to "Change Music and Time Limit Settings".
* made it so that when you copy a color to the windows clipboard in the palette editors, it will also copy the SNES RGB hex value in text to the clipboard so you can paste it into edit fields in the ExAnimated Frames dialogs.
* added a new toolbar button to the level editor and overworld editor that will insert all GFX and ExGFX then reload the graphics.
* added a new view menu option that allows viewing tile surfaces. This is mainly meant for showing the shape of slopes and for revealing if a tile is solid or not.
* added a few basic command line functions for some common operations. See the technical section in the help file for more info.
* added a new option to the overworld editor that allows disabling the Forest of Illusion ghost from being hidden until an event has been passed. Also made it so you can change the events that it gets shown on.
* when linking star/pipe tiles, the program no longer requires that the second tile be a star/pipe tile. This makes it easier to create warps from a star/pipe tile to tiles that you can't warp from.
* changed the Modify Screen Exits dialog to allow typing full values directly into the index combo box for faster selection.
* changed how the "Insert Manual" dialog works for objects and sprites in the level editor. Instead of specifying X/Y and the screen number, LM will now simply insert the object or sprite near the upper left corner of the level editor window.
* made it so that the sprite size table is loaded on level load, not just on ROM load.
* added "Delete All" to the level editor's "Edit" menu, which was previously only available through the Ctrl+Del keyboard shortcut.
* moved Shift+Scroll Wheel for Bring to Front/Send to Back to Ctrl+Alt+Scroll Wheel, added Ctrl+Shift+Scroll Wheel for vertical scroll, and made Shift+Scroll Wheel and Ctrl+Shift+Scroll Wheel unaffected by objects/sprites selected.
* tweaked some code so that scroll bar thumbs are now sized proportionally more like the way you'd expect. Thanks goes out to Vitor for pointing this out.
* fixed a bug from 2.43 where the undo/redo/F3 keys in the palette editors would not function while any other modal dialog window in the program was open at the same time.
* fixed a crash bug from 2.30 that could occur under certain circumstances when selecting tiles in the Layer 1 Event Editor Mode of the overworld editor. Thanks goes out to Wiimeiser for reporting this.
* fixed a bug from 2.30 where if you saved a level then used undo to revert a change to a secondary entrance then saved again without making any other changes to secondary entrances, LM would not save the reverted change for the secondary exit. Thanks goes out to Ramon for reporting this.
* fixed a bug from 1.70 in smkdan's VRAM patch where if you rapidly scrolled past the top of the BG image (such as by setting layer 2's vertical scrolling to constant), there was a chance you could get a brief 1 frame glimpse of a couple rows of pixels at the top or bottom of the screen showing the wrong tiles. Thanks goes out to Vitor and Super Maks 64 for reporting this.
* fixed a bug from 1.10 where the program would not load/save/export/import the last color of the Special World shared palettes for when Special World had been passed. Thanks goes out to yoshifanatic for reporting this.
* corrected the description for Mario Action 7 of midway entrances to "Do Nothing or Pipe Exit Down (Water Level)" and changed how it's displayed in LM. Normally midway entrances that use this setting skip the pipe exit part. It never came up in the original SMW levels, though it seems to have been used in SMA2. However it still acts as a pipe entrance if accessed via a screen exit. To avoid confusion, it may be better to instead use the "Vertical Pipe Exit Down" action with the separate "Make this a Water Level" setting.
* renamed Layer 1 vertical scroll setting 2 to "No Vertical Scroll at Bottom unless Flying/etc" to more accurately describe what it's for. Also adjusted the code for this setting to work for horizontal levels that have different heights and vertical levels.
* fixed an issue in the original game where when switching between levels if you entered a level with layer 2 horizontal scrolling set to None, the layer 2 X position was carried over from the last level instead of being reset to 0 like it does when entering from the overworld.
* fixed an issue in the original game where if a "No Yoshi" entrance intro is activated for a vertical level, the layer 2 Y position in the intro could be wrong and even possibly display garbage tiles.
* fixed an issue in the original game where using a pipe exit at the very top of a vertical level could malfunction if Mario's Y coordinate ended up being beyond the top of the level.
* added a fix for the original game where the sprite load status for indexes 64-127 were not cleared between sublevels, leading to some sprites not appearing if a sprite at that index was killed in another sublevel.
* adjusted tile used for sprite 99 (Volcano Lotus) in LM so it will appear the same way in the editor as it will in the game. Thanks goes out to WhiteYoshiEgg for reporting this.
* added a bit of info for sprite 70 (Pokey), as it can't detect if Mario is riding Yoshi if it's within spawning distance of Mario entering the level. Thanks goes out to Wiimeiser for pointing out that something was up with this.