This is a preliminary minor release of a major build for LGM with a number of bug fixes.
You can download the new jars from the Extra Packages page. I have also updated the hashes so install.py should also fetch the new jars if you prefer to use the script. I have decided to not include this in a new Portable ZIP until everyone has had the chance to test the changes.
NOTE: You will need to update both the new plugin and LateralGM jars!!!http://enigma-dev.org/docs/Wiki/Install:Extra_PackagesChange LogRegressions that were introduced in and then fixed in this version are not listed here.
1) Asking to save changes should now be conditional and only show if you have actually made changes. You can also make changes, run your game, see the changes reflected without having closed the frame, close the game and still be able to revert the frame.
https://github.com/IsmAvatar/LateralGM/issues/53https://github.com/IsmAvatar/LateralGM/issues/1522) Game Information frame now properly recognizes changes, it will not complain unless you have actually changed a property or edited the document.
https://github.com/IsmAvatar/LateralGM/issues/143) Constants frame has been partially fixed, it had several bugs in its revert methods and what not, it should now properly detect changes as well.
4) Enigma Settings have been more integrated with Game Settings, you should no longer see the node in the tree and the Game Settings frame should now also now properly recognize changes to Enigma Settings.
https://github.com/IsmAvatar/LateralGM/issues/1535) Non-instantiable resources should now have the proper references after reloading and creating new projects.
https://github.com/IsmAvatar/LateralGM/issues/236) Tree filter has been redesigned to be a little less bloated looking.
7) The X button on resource frames no longer commits twice.
https://github.com/IsmAvatar/LateralGM/issues/1518) Fixed exception when clicking on tile tree under the "Edit" tab if no tiles exist. Also fixed a similar exception for instances.
https://github.com/IsmAvatar/LateralGM/issues/939) Keyboard shortcuts have been moved to a properties file where they can be customized more easily, though we need to still work out external files and user modification.
https://github.com/IsmAvatar/LateralGM/issues/147https://github.com/IsmAvatar/LateralGM/blob/master/org/lateralgm/messages/keyboard.properties10) Search feature implemented, it will search all arguments of every action of a script, shader, object, timeline, room, or instance and the nodes open the resource frame and select the appropriate event, moment, or action and open the correct code frame. Clicking on result nodes will also focus the correct line in the corresponding code editor or focus the correct argument entry field on an action frame. Directory structure is maintained and there is also a context menu that can be used to select all nodes and copy them to the clipboard to share search results.
https://github.com/IsmAvatar/LateralGM/issues/119https://github.com/IsmAvatar/LateralGM/commit/f4a3b96999b126e176645e26429ffa97bca0477fhttps://github.com/IsmAvatar/LateralGM/commit/f9972c256b27e325a84529dbd69f63890cfa04achttps://github.com/IsmAvatar/LateralGM/commit/a101690e5cdb6ade74779935c43fc8b4009947a6https://github.com/IsmAvatar/LateralGM/commit/51ea5711f8187ea9e0c561d2a715c77bfe324a75https://github.com/IsmAvatar/LateralGM/commit/12e74190326422074da1a9b60453503364f7fe74https://github.com/IsmAvatar/LateralGM/commit/a16b89b386925d9ba5de7db67cb153f31e558ce5https://github.com/IsmAvatar/LateralGM/commit/3ec1050391b287f56d525ba2daa1e1ec27a1457f11) Fix for bold nodes, there was an unreported issue where new children of bold nodes would become bold once you started renaming them, we now format the node with HTML instead to give it the bold effect.
https://github.com/IsmAvatar/LateralGM/commit/2610f4244d89cdac4dcae6489d5d754e91e7052212) Fixes Look and Feel bug for "Windows Classic" it's a known UI bug, just had to set the property in our look and feel code.
https://github.com/IsmAvatar/LateralGM/commit/f4a3b96999b126e176645e26429ffa97bca0477f13) Fixed Look and Feel bug for the regular native "Windows" look and feel, this will not be applied unless you explicitly state this LNF over the "Native" one, it stops the buttons from being cut off.
https://github.com/IsmAvatar/LateralGM/commit/f4a3b96999b126e176645e26429ffa97bca0477f14) Removes one touch expandable splitters, they have been replaced with a more common software implementation, double clicking will toggle their expanded or collapsed state, no need to spend hours in frustration hitting tiny little buttons.
https://github.com/IsmAvatar/LateralGM/commit/f4a3b96999b126e176645e26429ffa97bca0477f15) Maximized state of the window will no longer be lost when changing look and feels from preferences, I was repacking the frame which I shouldn't have been doing.
https://github.com/IsmAvatar/LateralGM/commit/f4a3b96999b126e176645e26429ffa97bca0477f16) Fix syntax check button from appearing multiple times on a code frame, action frame, or script frame. The issue was the subframeAppeared being fired when the frame is already visible, I simply added a parameter that tells us whether the frame was previously visible in determining whether to add the syntax check buttons.
https://github.com/IsmAvatar/LateralGM/commit/47cd8e6863cec8bdc403077c19b93ca6fd17b51ahttps://github.com/enigma-dev/lgmplugin/commit/418a7f4ed8ae7455db69a5d448d232e1e6a472a217) Adds greater than or equal to and less than or equal to as options to action_if_variable as well as other actions that Studio forgot to; you will need to fetch changes from enigma-dev until the Portable ZIP is updated.
https://github.com/IsmAvatar/LateralGM/issues/118https://github.com/enigma-dev/enigma-dev/issues/84918) Old GM files will now scan their rooms and automatically flag the setting "Used as tileset" for backgrounds that are used as tiles in any room (committed by sorlok). This effectively prevents them from being unusable.
https://github.com/IsmAvatar/LateralGM/pull/15419) Game Information text alignment is now properly saved and works at runtime as well.
https://github.com/IsmAvatar/LateralGM/issues/91#issuecomment-5813180220) Fixed printing dialogs on both Game Info and Resource Info frames, they work exactly as expected and I've tested them. No print preview exists yet, but I've requested it, though Studio also does not have it and you can also preview by printing to OneNote.
https://github.com/IsmAvatar/LateralGM/issues/155https://github.com/JoshDreamland/JoshEdit/issues/921) Added external look and feel support, please see accompanying tutorial post.
https://github.com/IsmAvatar/LateralGM/commit/a12aab573ed190aeea75a5bcc7f0d5e49ad6e16dhttp://enigma-dev.org/forums/index.php?topic=2283.022) Improved the main zoom tool for the Sprite and Background editor, the calculation was wrong. It will now properly center around points.
https://github.com/IsmAvatar/LateralGM/issues/8723) Fixed loading exception dialog, it was not properly displaying the stack trace. It was also showing multiple dialogs, and there was an issue in the GMX reader. Additionally I made the populateTree method check to see if a node of the registered types already exist, what this means is if you have an error trying to load your project you won't end up with a duplicated tree.
https://github.com/IsmAvatar/LateralGM/commit/907c58d3093e90fcd1776a0452e361e5c396f70e24) Fixed exception in the Room Editor when icon is missing.
https://github.com/IsmAvatar/LateralGM/commit/67892a0be78a8301572f5e6c772ab4860c8353ee25) Swing Icon Pack is no longer included in the jar, nobody wanted to maintain it and LGM only needs 2 default icon packs, 1 nice looking one and a contrasting version of it for dark themes.
https://github.com/IsmAvatar/LateralGM/commit/59a5233b2ad90bc8aea5e3926f54c901d0be3a7826) Fixed an issue with custom icon packs, the custom path should not have caused the icon pack option to always be overriden, I had the implementation backwards and intended for the internal jar location to be used when the custom user path did not actually exist.
https://github.com/IsmAvatar/LateralGM/commit/d696eb226024b45135719fd1fceefb288fd9bcc427) Fixed exception reported by Josh caused when centering instances in the room editor that do not have sprites.
https://github.com/IsmAvatar/LateralGM/commit/a941309fb67f8bbbfb015b70f701bd17aee6435f28) Fixed a painting exception in the ImageToolTipUI occurring when hovering over resource menus.
https://github.com/IsmAvatar/LateralGM/issues/15829) Fixed an issue where certain look and feels would cause the main frame to overlap the toolbar on Windows on some platforms, and yes this also includes the default Swing look and feel.
https://github.com/IsmAvatar/LateralGM/commit/3329a3abbae19f6bdaa0d7df6ea841119acb169030) You can also use a custom background image for LGM's window area now, create a file called "lgmbackground.png" in the "lookandfeels" folder next to lateralgm.jar and the image should be applied during the splash screen when you load. The following is a link to LGM's dark background.
https://github.com/IsmAvatar/LateralGM/commit/eb8fd916690fc17098fab6ef189f785261902efbhttps://github.com/IsmAvatar/LateralGM/blob/master/org/lateralgm/main/lgmbackgrounddark.png31) Fixed long existing PropertyLinkFactory disposal issues that were propagating into race conditions in multiple editors. ResourceFrames now dispose of them automatically, custom PLF's will need to be disposed by overriding the frame dispose method.
https://github.com/IsmAvatar/LateralGM/commit/8662754845f35486315f178d63c56135cfe9352d32) Fixed a mistake made in Game Information that caused its little settings window to create its controls twice.
https://github.com/IsmAvatar/LateralGM/commit/35e3f35ddcd615eaa3b799c23b20f834ad98164333) Simple JoshEdit print support added, word wrapping is not yet supported just like Studio. Printing interface is designed to be Java/AWT/Swing compliant and implements the standard feature set.
https://github.com/JoshDreamland/JoshEdit/pull/14https://github.com/IsmAvatar/LateralGM/commit/6bffacb07b99465840fb8de806395bf2f1f14df634) Exception reporting has been improved for file loading errors, GmFormatException and ProjectFormatException were essentially throwing away half of the stack trace.
https://github.com/IsmAvatar/LateralGM/commit/c78f55713ab9f1cae4d24e1e722bdc08aa0ce69f35) Fixed horizontal and vertical snap properties in the GMX writer where they were being written backwards.
https://github.com/IsmAvatar/LateralGM/commit/e3cebad0e345e9364ed6b1b424b7ea0bf639d3c436) Fixed transitivity in some toolbars.
https://github.com/IsmAvatar/LateralGM/commit/befdc03419ad05f438ba956e34b16272438df92ehttps://github.com/IsmAvatar/LateralGM/issues/12437) Window decorations can now be disabled, this means the look and feel will not be able to decorate the window border if you don't want it to, this required fixing the toolbar transitivity first.
https://github.com/IsmAvatar/LateralGM/commit/e86d680d5ede0bdd1f42112c5add1ecb4af6c8c538) Hardware acceleration is no longer forced off, there are now preferences to force OpenGL or Direct3D on or off or let the Java system decide and there is a similar preference for antialiasing of control fonts. The JVM will detect if your hardware supports hardware accelerated rendering so I recommend keeping the settings left at "default" but for those of us that do have the capable graphics hardware this will seriously improve the speed of rendering for LGM. Testing sprite animation playback was a lot smoother and higher frequency once I implemented the preference to stop forcing it off for everyone, it also reduced CPU and RAM usage significantly.
https://github.com/IsmAvatar/LateralGM/commit/ec03f8a16da9f4bb8799b729043ba78d7c048271https://github.com/IsmAvatar/LateralGM/commit/b86360a18862a77e8b5809b7ee51fa031a584ee439) Fixed a component transparency issue caused when using *.lib action libraries from GM, they were supposed to be taking the transparency color from the bottom left corner.
https://github.com/IsmAvatar/LateralGM/commit/ae0dc208a0b4bdc2fdd436c66403fcafb2ab5d7dhttps://github.com/IsmAvatar/LateralGM/issues/16140) Fixed the EventPanel layout, it was setting it before actually laying out the components causing it to look incorrect under certain look and feels, specifically the new dark one.
https://github.com/IsmAvatar/LateralGM/commit/42828a931c3c948f973314b6876d2ac50fc8cd3f41) Fixed an old mistake I made in the Game Settings frame mixing up the DESCRIPTION and INFORMATION properties.
https://github.com/IsmAvatar/LateralGM/commit/6d581dd3ddd221073102f5862e10aa64adebf83d42) Switching look and feels no longer breaks layouts, I have a special wrapper class for this.
https://github.com/IsmAvatar/LateralGM/commit/ea3cb9d31770650e20a315c525f491cb28b1417343) Stopped a look and feel change from readding the icons to the Preferences tree, just had to make a custom class as a wrapper and basically an empty shell to fix it.
https://github.com/IsmAvatar/LateralGM/commit/ea3cb9d31770650e20a315c525f491cb28b1417344) The MDI area scrollbars are now only shown when needed, so when you maximize a frame they will not be visible, just like normal MDI managers and the one in GM8.1, giving just a little more space on screen.
https://github.com/IsmAvatar/LateralGM/commit/f995c9b91a94dc09877cf75ce15b2ed3789d6f7345) Icon reading exception fixed by sorlok for some ico files that have empty/fake masks.
https://github.com/IsmAvatar/LateralGM/commit/304937f4ab31a3efae10f221feab29518f291879https://github.com/IsmAvatar/LateralGM/issues/16346) Implemented undo and redo to the action list editors you can undo multiple actions such as move, cut, copy, paste, delete, and clear. The only thing that does not yet get undone is changes to the actions values, not even recognized yet as an undo operation.
https://github.com/IsmAvatar/LateralGM/commit/ed00e3885c1a6015ae0060a59cc20711865750b2https://github.com/IsmAvatar/LateralGM/commit/f06e70a5157b9112ab47bb4f94d6d35ca6527156https://github.com/IsmAvatar/LateralGM/commit/5f7ff9b3ce49ac37757981f95a354b490fe3fb4b47) Fixed exceptions for some file open dialogs when you enter a filename for a file that does not exist. This needs further cleaned up.
https://github.com/IsmAvatar/LateralGM/commit/e5785eff85ced88d09e6ce4389c1228e5b849dee48) Added APNG loading to the sprite and background editor, the file extension will need to be ".apng" for LGM to load all the subimages from it, or it will think it's a regular PNG. It can be used to mix GIF's and APNG's in the sprite editor. This required moving the APNG reader/writer from the plugin to LGM.
49) Added line numbers to the action list editor that uses the default UI colors for now.
https://github.com/IsmAvatar/LateralGM/commit/303dcc656e03ebe115c77461ac935bee04a73c6d50) Added a save button to the sprite and background frames, the sprite frame will save the selected subimages or if none are selected it will save all subimages, in order for it to be animated you will obviously have to save to an animated format such as APNG, GIF writing currently does not support multiple subframes. A dialog will also be displayed warning you if haven't yet created an image for the sprite or background.
https://github.com/IsmAvatar/LateralGM/commit/337081b85d4b212c51d12f2bcf5261bef0e1422451) Fixed a typo in the GMX reader that was causing room persistence to not be read properly.
https://github.com/IsmAvatar/LateralGM/commit/978f1fda054a49d265e51ab0d64f1771547b425552) Load dialogs will now verify that the file exists and if it does not it will warn you to verify the file name. You will see this on all file dialogs, including the one for loading projects, images, sprites, game information, etc.
https://github.com/IsmAvatar/LateralGM/commit/4239d4caa97becf095a78ecf28b01249f9b9067353) Added confirm overwrite dialog to JoshEdit and LGM file choosers when saving files to disk.
https://github.com/IsmAvatar/LateralGM/commit/f152da04b3430ac5a19b614ddcb2acd16fd570ee54) Temporarily patched an issue that caused the language preference to not explicitly override the operating system locale, though I am currently waiting for IsmAvatar to see if she would like it fixed differently because I have another solution that is just as easy. This issue was reported by egofree.
https://github.com/IsmAvatar/LateralGM/commit/14ecabc1d953199ca026f5a36fa4f18be04f3221https://github.com/IsmAvatar/LateralGM/issues/16955) You can now preview icon files when loading them. We broke Christian Trebel's ICOReader when we originally ported it by automatically closing the stream, this is incompatible when plugging it into ImageIO, you need to close the stream manually. So that is fixed, but also I double checked to make sure streams were not left open from game info and elsewhere and properly closed the streams where they needed to be.
https://github.com/IsmAvatar/LateralGM/commit/3165a36a2f54d67fbb9f0bd7d8da13a203b640e856) ICO files can now be loaded by the background and sprite editors, the sprite editor will load all layers.
https://github.com/IsmAvatar/LateralGM/commit/020ab9e23792728863d7b79f7b8102467968a48557) Prefix options have been full implemented, you do not need to restart they take immediate effect, adding new resource types also doesn't require updating the preferences frame anymore, it is generated dynamically.
https://github.com/IsmAvatar/LateralGM/commit/3165a36a2f54d67fbb9f0bd7d8da13a203b640e858) Game icon and version information have been fully moved to the Platforms/Windows tab in Game Settings, Project Information is now fully implemented as well so information and description are properly distinguished now. Other platform settings are soon to follow.
https://github.com/IsmAvatar/LateralGM/commit/3165a36a2f54d67fbb9f0bd7d8da13a203b640e859) Made the layout for physics options on the object frame more compact and correct.
https://github.com/IsmAvatar/LateralGM/commit/3165a36a2f54d67fbb9f0bd7d8da13a203b640e860) Fixed a race condition between messages, preferences, and resource kinds which was necessary to implement prefix preferences. So the tree groups can be translated again.
https://github.com/IsmAvatar/LateralGM/commit/3165a36a2f54d67fbb9f0bd7d8da13a203b640e861) Increased the default room size a bit, default size is way too small.
https://github.com/IsmAvatar/LateralGM/commit/3165a36a2f54d67fbb9f0bd7d8da13a203b640e862) Added missing separators to some resource frames
https://github.com/IsmAvatar/LateralGM/commit/3165a36a2f54d67fbb9f0bd7d8da13a203b640e863) Symbols are translated again for the object frame, so no double semicolons will appear under the French translation.
https://github.com/IsmAvatar/LateralGM/commit/3d7163ece15d20b8166464d40ed4b479a43fbe3964) Added translations for messages that were not translated before.
https://github.com/IsmAvatar/LateralGM/commit/14ecabc1d953199ca026f5a36fa4f18be04f322165) Switched the executable file chooser to use the LGM CustomFileChooser, so it will now ask you whether to overwrite files when you save an executable and things like that.
https://github.com/enigma-dev/lgmplugin/commit/6e03fe2a3699128822c82a9871671f4f790c0e6966) Stopped the sprite frame subimage selection from going out of bounds when clicking a button, the last frame will still be properly previewed.
https://github.com/IsmAvatar/LateralGM/commit/3d1842c5981fec8a81395dcc94093a974a7b2c1f67) Fixed issues where the checkered patterns for image previews were not resizing without closing and reopening the resource frame, this was caused by me caching the image without checking if the size changed.
https://github.com/IsmAvatar/LateralGM/commit/3d1842c5981fec8a81395dcc94093a974a7b2c1f68) Image effects frame implemented and 12 basic effects including Colorize, Intensity, Outline, Emboss, Black and White, Invert Color, Remove Color, Remove Transparency, Sharpen, Blur, Opacity, and Edge detection. The little green spray paint can icon on the sprite and background frame will open the image effects frame. For sprites you can apply it to all selected subimages, otherwise just select 1 subimage, if no subimages are selected it will be applied to every subimage.
https://github.com/IsmAvatar/LateralGM/commit/c2388c0b4efea5a1f571092f050bd7a076abc605https://github.com/IsmAvatar/LateralGM/commit/020ec6d7efbcc5b95ad9cfaa1e5c52bffb8642d2https://github.com/IsmAvatar/LateralGM/commit/c45c1aa5dcf872398a7b6d35ec70ae9fb8385087https://github.com/IsmAvatar/LateralGM/commit/a662aacbc0b5569754729d9266e242314547979bhttps://github.com/IsmAvatar/LateralGM/commit/c64fba1edc448393ff80599ed20404e90567559369) A fix was included by egofree for the GMX writer to give all tiles unique names using the id, which works with Studio though is less hash-like. A similar fix was previously included for instances by myself.
https://github.com/IsmAvatar/LateralGM/commit/c6f7a9d9e56646c2a1a85c54d148e030c957be1f70) Fixed exception in instance list of the room editor when selected instance has a non-existant object reference. For example you create an instance of an object and then delete the object resource, the instance becomes of unlinked.
https://github.com/IsmAvatar/LateralGM/commit/fe40e656d1a577d0556d29505aad3fe8548f1dac71) Moved transparency functions, such as for checkered patterns, to Utility class.
https://github.com/IsmAvatar/LateralGM/commit/b00c81e5fe5b78218d271f65309c954b335e461c72) Moved the current tile layer above the tabs and other changes include removing the now useless "Batch" tab
https://github.com/IsmAvatar/LateralGM/pull/179https://github.com/IsmAvatar/LateralGM/pull/182https://github.com/IsmAvatar/LateralGM/pull/18573) Fixed depth issue to make sure the selected instance/tile is always visible
https://github.com/IsmAvatar/LateralGM/pull/18674) Fixed a tile moving bug
https://github.com/IsmAvatar/LateralGM/issues/18375) Added rectangular selections tools
https://github.com/IsmAvatar/LateralGM/pull/18976) Added cut, copy, paste functionality to the room editor
https://github.com/IsmAvatar/LateralGM/pull/192