Skip to content

Releases: IsmAvatar/LateralGM


Choose a tag to compare
Java SE 7/8 GUID Fixes

Use a 16 byte array instead of readNBytes which was since Java 9.
Cast ByteBuffer to Buffer to call rewind to maintain binary
compatibility with overrides in JDK9+.


Choose a tag to compare
Repatch Image Reader Registry for WBMP Confusion

Here's a workaround for 8ce20c9ac811173fdf4e1a10765e36f91e987a50 that doesn't get in the way of modularity.
We can simply give our ICO reader precedence over all the WBMP readers.
This is kind of moot though since anywhere we are reading images we
should be requesting a reader given appropriate information from the
context, such as retrieving a reader from ImageIO using file extensions.
For now, since it's hard to tell which Java 7 subversion the bug was
patched, we can keep this small workaround.


Choose a tag to compare
Property Link Factory Context (#551)

Replace references to individual property links with factory reference. Also document some of the property link factory methods. This produces cleaner code since the factories already know the links they created in order to clear them when the frames close. Consequentially resolves the concurrency regressions with document links.


Choose a tag to compare
Fix Recent Files URI Patch

Initial patch would break non-file URIs if they did work. Instead we can
simply check if a file exists at the filepath. If it does, then it's
clearly a filepath and not a URI. Otherwise, we can try it as a URI, and
if it is syntactically correct and absolute with a scheme present, we
can use it as-is.


Choose a tag to compare
Faster Unsaved Changes

Use a single application global boolean to flag when the project has
been modified. This replaces the per resource boolean, without
sacrificing the improved accuracy over GM of whether the project
actually changed. Checking for unsaved changes at close is now only a
linear scan over the open frames, and not every resource in the project.
Creation of groups and deletion of resources is also now additionally
recognized by the check.


Choose a tag to compare
Patch Legacy Recent File Paths

Fixes exception caused by 986260d6538e3fb9ace399bef003d215c9860703
Apply a quick fix to convert raw filepaths in recent files to new URI
syntax at startup. This allows you to bring recent files from legacy
versions of LGM like into the newer versions without any errors.
Perhaps later we will allow both filepaths and URIs from the command
line and recent files eliminating this patch.


Choose a tag to compare
GMX Physics Shape Points

Read them as doubles instead of integers since GMSv1.4 doesn't care.


Choose a tag to compare
Steam App Game Settings (#550)

* Add new "Steam" tab to game settings for Windows/Linux/Mac.
* Serialize/deserialize steam game settings from GMX.
* Reorganize translations to new settings tab layouts and translate with Google.


Choose a tag to compare
Card Pane Association (#549)

* Allow specifying tree node hash code as string name of card in settings/preferences card panes.
* If card with the tree node name does not exist, then showing it is a noop, and hash code name takes precedence.
* Use hash code for all built in settings/preferences panels in the card panes.


Choose a tag to compare
General Game Settings (#547)

* Add "General" game settings tab.
* Add missing new audio engine/short-circuit eval/fast collision settings.
* Serialize/deserialize new settings in GMX reader.
* Move color outside window setting from graphics tab to new "General" tab.
* Move game id from loading tab to new "General" tab.
* Add missing localization comments in game settings frame.