ENIGMA Forums

General fluff => Announcements => Topic started by: Goombert on April 15, 2016, 01:53:08 pm

Title: LateralGM 1.8.7.11
Post by: Goombert on April 15, 2016, 01:53:08 pm
(https://i.imgur.com/JmB7LSk.png)
(https://i.imgur.com/TPPrKtn.png)(https://i.imgur.com/NS2qjvE.png)

This release has been a long time coming and hopes to address a lot of the issues many of you have been having with the editor. LateralGM's code base has also been substantially cleaned up in the process.

You can download the new jars from the new Releases page on GitHub as well as the old Extra Packages page on the Wiki. An update to the plugin is needed for this release because the hardcoded Quantum look and feel has been removed and a sound property has been changed for clarity. I have updated the hashes for install.py so that script can also be used to fetch the latest LateralGM and plugin jars.
https://github.com/IsmAvatar/LateralGM/releases
https://enigma-dev.org/docs/Wiki/Install:Extra_Packages

ENIGMA users may experience an issue using the new LateralGM because ENIGMA.exe always passes it " " an empty string of length 1 on the command line, which LGM interprets as a file open. Originally I patched around this in LGM before realizing it is actually an ENIGMA problem. I have undone that now but ENIGMA.exe needs to be updated and a new portable ZIP made.

1.8.7 Changes


* The room editor now has a multi-selection mode (thanks egofree  (Y)), where you can select several tiles or sprites. Then you can copy, cut and paste them. Also you can select a region and fill it with tiles or sprites.
* There are three new buttons in the room's toolbar, in order to switch the following modes : 'Snap to grid', 'Add on top', 'Add multiple'. Before these modes were only available with keyboard shortcuts.
* There was an overhaul of the tiles management in the rooms editor. Before it was difficult to understand how to add or modify tiles, and with the new version, it's much easier.
https://enigma-dev.org/docs/Wiki/Room_Editor

* New sprites and backgrounds are now transparent instead of white. This is what GM does and it is for obvious reasons. Most sprites want to start with a blank canvas and backgrounds are usually just loaded from a file.
https://github.com/IsmAvatar/LateralGM/commit/00600686ce195a8dc6391ab0c679ffb96f541251
* Imports fixes to the event tree from the stable branch. These issues were previously leading to exceptions and the ability to bring back deleted events.
https://github.com/IsmAvatar/LateralGM/pull/272
* Fixed an issue with the play button being enabled for Mp3's by mistake.
https://github.com/IsmAvatar/LateralGM/pull/256
* Implemented /// comment feature for giving a custom description to code actions. This uses a complex regular expression pattern that Josh wrote and ignores whitespace up to the first line of code.
https://github.com/IsmAvatar/LateralGM/issues/233
* Fixed exception caused by images smaller than 5x5 pixels.
https://github.com/IsmAvatar/LateralGM/issues/199
* Path editor is finally fixed and works as it did in lgm16b4. This was actually a regression introduced in the master branch by Medo42 and it went completely unnoticed. I never used the path editor and thus never realized it was broke, it should work 100% now.
https://github.com/IsmAvatar/LateralGM/issues/231
* Added the missing "Alpha Tolerance" property to the sprite frame, which works the same as GM8.1 for detecting the collision mask.
https://github.com/IsmAvatar/LateralGM/issues/230
* Fixed external editors so that you can save an image multiple times from the external editor. The problem was that the file handles were never being closed.
https://github.com/IsmAvatar/LateralGM/issues/223
* Fixed instance id's for the GMX format.
https://github.com/IsmAvatar/LateralGM/issues/180
* Fixed the room editor from constantly asking to save changes even when it is first opened. This was due to a change I made in the original 1.8.2 to increase the default room editor size, it has been changed the right way now.
https://github.com/IsmAvatar/LateralGM/issues/177
* Instance and tile names are properly read and written now with the GMX format. They will be lost if you convert the project to GMK however, because that format does not save them.
https://github.com/IsmAvatar/LateralGM/issues/175
* Action list selection has been fully corrected now. Dragging and dropping between two different action lists also works now. It is no longer possible to add a code action until the action list has a container (meaning a moment or event).
https://github.com/IsmAvatar/LateralGM/issues/170
https://github.com/IsmAvatar/LateralGM/issues/157
* Support for GM action libs is now complete and the transparency problems have been fully fixed, including the issues related to gaps when placing them in the action list.
https://github.com/IsmAvatar/LateralGM/issues/161
* Undo, redo, cut, copy, and paste are now consistent across all editors. Some editors had them in a different order before, they will all be in the same order everywhere now and in context menu's.
* Fixes code formatting in a lot of places for consistency. It will no longer be mixed between the LGM style and other styles. Removed excess whitespace, lots of whitespace was on empty lines. Fixed file line endings in some places.
* Multi-monitor support has been restored now, but this means that using a non-native look and feel with decorations enabled will cover the taskbar when you maximize the frame. This is a known Swing look and feel issue.
https://github.com/IsmAvatar/LateralGM/issues/222

* Adds a check to see if audio clips are open before closing them on the sound frame. This is to fix a Linux issue where the pulse audio implementation in OpenJDK does not like you calling stop if the clip was never actually opened before.
* Fixes a mistake in the action list model where one of the add() methods stored two undo's. It would lead to an exception just adding a single action and undoing twice.
* Removes swinglayout-lgm.jar from class-path in the manifest because we no longer support Java 5.
* Uses the new ICO file created by @JoshDreamland without any aliasing.
https://github.com/IsmAvatar/LateralGM/pull/265

* Adds the checkered background pattern to the room editor.
* Changes default room background color to 66CCFF because that better represents the sky, what is likely to be the most common background.
* Fixes layout in the game settings frame for the author and version number/project info tab. The labels should have been trailing as they are in GM8.1.
* Adds keyboard shortcuts for Bold, Italic, and Underline to the Game Information editor.
* Cleans up the JoshEdit commits and finally moves most of the changes into JoshDreamland/JoshEdit master.
* Removes double-click expandable splitters. They were not necessary and basically overkill, even more annoying to me than the one touch expandable toolbars.
* Replaces the old color picker with a new control that allows you to enter hexadecimal color values. This should make it easier to copy and paste color values. You can still click the button to get the old color picker or enter the hex value manually.
* Adds anti-aliasing to the search bar and fixes related clipping. This search bar was a custom created control.
* Introduces a right orientation mode for those who may be left handed or prefer to work with the IDE that way because of how it saves mouse movements between toolbar clicks.
* Hides some unimplemented features such as Undo/Redo for the background and sprite editor. The controls are still there, the buttons have just been commented out from the layout.
* Removes references to the "Quantum" look and feel that I experimented with. The master branch supports various look and feels so it is possible to recreate it as a custom look and feel or using a plugin for LGM. It does not belong hardcoded into LateralGM.
* Fixes a UI issue with any JCheckBox on a JToolBar by using setOpaque(false) to allow the gradient of the toolbar to be drawn (affects Swing look and feel, was also done in lgm16b4).
* Fixes an issue with the about frame locking up with OpenJDK. It was caused by a method being called that had no effect, it was to change the cursor for hyperlinks, and it was also being passed null, which is undefined by the API, instead of Cursor.DEFAULT.
* Reduces the size of the exported jar by removing things like old splash screens from the jar description. This was a mistake I neglected to consider in earlier releases.
* Fixes property mappings in the sound editor. I had some of the keys messed up before which was making the editors save the properties wrong.
* Drag and drop importer for resource menus implemented. You can now drag a resource from the project tree over to the parent selector on an object for example. This is consistent with the way it behaves in GM: Studio.
* No longer removes the ability to edit a script when you have an external editor configured. You can use both the external editor and the built in editor. Both sets of buttons will appear, and it will behave as the sprite editor does.
* Redesigned the preferences frame with a new layout. It now looks very consistent and uses proper alignment of controls. A huge improvement over the mess that was the old layout.
* Implements community and submit issue command links to the Help menu for convenience. All are configurable from preferences as expected.
* Uses the new splash screen created by rcobra  (Y)
* Adds a reset defaults button to the preferences frame This currently clears recent files too, and you have to restart the whole IDE before the frame reverts its controls too.
https://github.com/IsmAvatar/LateralGM/pull/245

1.8.7.11 Changes

* Fixed handling of null resource references in the GMX writer. Before you could not delete a resource, like a sprite, that was referred to by some other resource, such as an object, without the GMX writer throwing an exception. It now behaves the same way as the GMK writer does.
* Fixes conversion of GMK sprites to GMX sprites. Because GMX does not save the transparency pixel at all, the writer will now check if a sprite has that property set and remove its background before writing it. GMS does the exact same thing on GMK import.
* GMX will now properly update the last saved time when writing a project.
* The GMX writer will also properly save the background room now from the path editor. Before it was saving the name, but GMX actually stores the id of the room. Really you can blame YoYo for this inconsistency, as it can actually lead to a bug where if you delete the room, save, and then reload it will point to the next room in the tree (but I don't think they care).
https://github.com/IsmAvatar/LateralGM/pull/300

* Fixes parenting on numerous dialogs so they are properly parented to LGM's frame or their MDI subframe. This is useful if you don't always work with LGM maximized.
https://github.com/IsmAvatar/LateralGM/pull/285
* Fixes clipping on the search text area for resources. I was setting the clip wrong which caused the hint text to disappear sometimes. I did not notice it until setting up ENIGMA.
https://github.com/IsmAvatar/LateralGM/pull/284
* Fixes the Java version warning message, it was previously saying Java 7 was out of date. It should now only say your Java is outdated if you have a version lower than Java 7.
https://github.com/IsmAvatar/LateralGM/pull/279
https://github.com/IsmAvatar/LateralGM/pull/278

* This version also fixes the JoshEdit submodule and cleans up more of the code removing a lot of excess whitespace. It is now possible to clone LGM with a single command.
Code: [Select]
git clone --recursive https://github.com/IsmAvatar/LateralGM
Title: Re: LateralGM 1.8.7
Post by: Garo on April 16, 2016, 03:46:09 am
Aw man, thank you so much.
Title: Re: LateralGM 1.8.7
Post by: egofree on April 16, 2016, 03:55:35 am
It's great to see LateralGM is not dead. Thanks a lot Robert for your commitment and your work !  (Y)
Just a few remarks :
- I've seen that the global package in the download page has not been updated. Do you plan to update it also ?
- I'm using a french version of Windows, and LateralGM displays correctly the french labels. But there are still a lot of labels not translated, which are displayed in English.
- I don't want to be egocentric, but one year ago, i added the multi-selection feature (http://enigma-dev.org/docs/Wiki/Room_Editor (http://enigma-dev.org/docs/Wiki/Room_Editor)), and as there was no official release, there was not announce about it. What about adding these features also in the change log of this post ?
Title: Re: LateralGM 1.8.7
Post by: Goombert on April 16, 2016, 04:37:11 am
Thanks you guys!

Now I've run into another issue setting up ENIGMA that nobody has reported before:
http://enigma-dev.org/docs/Wiki/Troubleshoot#Why_do_I_get_a_black_screen_when_opening_ENIGMA.2FLateralGM.3F

Quote
I've seen that the global package in the download page has not been updated. Do you plan to update it also ?
What global package? You mean the portable ZIP for Windows? I wasn't going to bother until now but I realized there's some issues so I guess I am going to do that this morning. I have to go remove the quantum look and feel from the plugin and fix an issue with ENIGMA.exe too. I'll post it later today and also update the hashes for install.py.
https://github.com/IsmAvatar/LateralGM/issues/276

Quote from: egofree
I'm using a french version of Windows, and LateralGM displays correctly the french labels. But there are still a lot of labels not translated, which are displayed in English.
I know this will sound harsh, but if I were doing LGM I would have left the translation files up to the users to create. The reason is because once a translation file gets created it's really hard to maintain. Do you know anybody that speaks Turkish or Danish for example? I haven't seen anybody and nobody has offered to update those translations for us either. We do have you though for French translations. But the thing is that it lags (926 lines translated) far behind the English version (1576 lines). If somebody magically deleted the English translation file, I bet I would even struggle retranslate the whole English version. I mean that's a heck of a lot of typing.

Anyway I am not changing any of that now, but that is what I would have done. Regardless, feel free to finish up the French translation as you see fit egofree. There is also another issue though about translating comboboxes.
https://github.com/IsmAvatar/LateralGM/issues/271

Also, I have been very on the ball with keeping the French translations up to date in the stable branch.
http://enigma-dev.org/forums/index.php?topic=2630.0

Quote from: egofree
I don't want to be egocentric, but one year ago, i added the multi-selection feature (http://enigma-dev.org/docs/Wiki/Room_Editor), and as there was no official release, there was not announce about it. What about adding these features also in the change log of this post ?
Hahahaha, is the pun intended? Anyway, no that's not being egocentric, give credit where credit is due. I think the changes were released in the last version but never mentioned. I probably didn't know how to describe them because I wasn't at all paying too much attention to what was being changed. Can you give me a little bulleted list of the changes like I always make in these topics? Then I'll copy and paste it into the change log.
http://enigma-dev.org/forums/index.php?topic=2269.0
Title: Re: LateralGM 1.8.7
Post by: egofree on April 16, 2016, 05:20:36 am
Anyway I am not changing any of that now, but that is what I would have done.

I understand, but in this case, i think we should not propose translated version by default, as currently it's a mess. Let's propose the English version by default, and if the user wants another version, it should change some option.
By the way, i just loaded a project with the latest version LateralGM, and i saw that this resets the left resources window and sets all labels in english (you know : 'Fonts', 'Objecs', 'Rooms', etc)
Title: Re: LateralGM 1.8.7
Post by: Goombert on April 16, 2016, 06:00:50 am
I've updated the plugin now as well because some changes were needed for the new LGM version. If anyone can test install.py and let me know if I got the hashes updated properly I'd appreciate it.
https://github.com/IsmAvatar/LateralGM/issues/276

I'll go ahead and update the portable ZIP once we see how well 1.8.7 works for everybody.

Quote from: egofree
I understand, but in this case, i think we should not propose translated version by default, as currently it's a mess.
Actually, Java does it automatically, if it's present Java goes ahead and loads it. We would have to explicitly force it to use the English translation, which we could do with the preferences by defaulting the preference to en_US. But Java has an empty locale " " in available locales, why the preference is blank in preferences that goes to the English one. So my interpretation is that is how it was meant to be handled, but only god knows because so much behavior in Swing is undocumented. I tried looking in the Java manuals and it does not specify why there's a " " blank locale. If you find anything go ahead and let me know.

Quote from: egofree
By the way, i just loaded a project with the latest version LateralGM, and i saw that this resets the left resources window and sets all labels in english (you know : 'Fonts', 'Objecs', 'Rooms', etc)
You mean the project tree? We actually can't translate that because the tree is stored in the GMK format with the English translation. I am not sure what we could do to fix it.

It looks like LGM ignores it for the GMX format though, I tried hacking a GMX but it didn't work.
Code: (xml) [Select]
<sprites name="egofree">
Edit: Actually, it looks like LGM does translate the tree and I thought I fixed it but I guess it broke again.
https://github.com/IsmAvatar/LateralGM/issues/169#issuecomment-64711825
https://github.com/IsmAvatar/LateralGM/issues/169#issuecomment-64711825
Title: Re: LateralGM 1.8.7
Post by: egofree on April 16, 2016, 10:53:08 am
Edit: Actually, it looks like LGM does translate the tree and I thought I fixed it but I guess it broke again.

I loaded a gmx projet, and i didn't have this problem. This bug happens with gmk files.
Title: Re: LateralGM 1.8.7
Post by: Goombert on April 16, 2016, 10:58:19 am
Hrm, I'll have to investigate then. Don't post a new ticket we'll let that existing ticket scope all of the language problems since there's only two.
Title: Re: LateralGM 1.8.7
Post by: egofree on April 16, 2016, 11:41:35 am
Can you give me a little bulleted list of the changes like I always make in these topics? Then I'll copy and paste it into the change log.

As it was a long time ago, it's hard to remember every feature, but more or less, here is what i remember :

- In the room editor, you have now a multi-selection mode, where you can select several tiles or sprites. Then you can copy, cut and paste them. As far as i know, Game Maker studio doesn't have this feature, or it's not implemented in an easy way. Also you can select a region and fill it with tiles or sprites.
- There are three new buttons in the room's toolbar, in order to switch the following modes : 'Snap to grid', 'Add on top', 'Add multiple'. Before these modes were only available with keyboard shortcuts.
- There was an overhaul of the tiles management in the rooms editor. I don't remember of everything (c.f http://enigma-dev.org/docs/Wiki/Room_Editor), but i know that before it was difficult to understand how to add or modify tiles, and with the new version, it's much more easy.

I know that i am perhaps not objective with LateralGM, as i was involved in the project, but i think it's a really useful editor now. Everybody is talking about leaving it, and doing a new one, but as we said already, the main problem is with the plugin, not with the editor itself (Well, there is also the problem of the Java swing library which is old and outdated).

Edit:
There are three zoom buttons in the tiles and sprites editors. There is one to zoom in, another one to zoom out, but what about the first one ? It doesn't seem to do anything.
Title: Re: LateralGM 1.8.7
Post by: Goombert on April 16, 2016, 12:04:36 pm
Thanks, I've added the bullet points!

Quote
* The room editor now has a multi-selection mode, where you can select several tiles or sprites. Then you can copy, cut and paste them. Also you can select a region and fill it with tiles or sprites.
* There are three new buttons in the room's toolbar, in order to switch the following modes : 'Snap to grid', 'Add on top', 'Add multiple'. Before these modes were only available with keyboard shortcuts.
* There was an overhaul of the tiles management in the rooms editor. Before it was difficult to understand how to add or modify tiles, and with the new version, it's much easier.
http://enigma-dev.org/docs/Wiki/Room_Editor

No that button is working egofree, move the mouse back over the preview area. It lets you zoom in on a specific location that you click. Left click to zoom in and right click to zoom out.

I also agree with you as well that it is extremely useful, it's the only way to downgrade GMX to GMK. A lot of the plugin problems though can actually be fixed. Most of the UI freezing errors and random exceptions are actually just problems with us updating the UI when not in the Swing Event Dispatch Thread and that's why LGM is really bad under OpenJDK (though I still do believe that OpenJDK by itself is just haunted despite poor coding in some places of LGM). The plugin issues could also be easily resolved if we had automated building, which we talked about before. If we had that we could easily ship new 32 bit and 64 bit releases of ENIGMA. I really did want to try to fix the issues with the progress bar freezing but didn't get time so I reverted my changes and decided to postpone it.

The whole thing it boils down to is that it's just a lot of work that nobody wants to do. A lot of people have lost interest in GM too, and some have gained interest as well. But GMS has a wide perception now of being extremely buggy too and having restrictive DRM to the point some people just don't want it anymore (including me). And there are design reasons why people do not like GM and find Unity superior. Specifically because entity-component is more natural for game programming than OOP. Lots of people argue too that OOP is often abused.

If I had the money right now I would just pay developers to finish these things the way we want them fixed.
Title: Re: LateralGM 1.8.7
Post by: rcobra on April 17, 2016, 11:23:46 am
thanks a lot (Y)
Title: Re: LateralGM 1.8.7
Post by: Goombert on April 17, 2016, 02:28:01 pm
Quote from: rcobra
thanks a lot (Y)
No problem, and I look forward to playing the next version of Croky!
Title: Re: LateralGM 1.8.7
Post by: LoboSandia on April 17, 2016, 07:54:46 pm
HOLY SHOOB, i really thought the project was dead, now i have motivation to make a simple game to try things out

thanks :3
Title: Re: LateralGM 1.8.7
Post by: polygone on April 18, 2016, 12:19:17 pm
If I had the money right now I would just pay developers to finish these things the way we want them fixed.
Josh has lots of money he could easily waste or give to me perhaps.
Title: Re: LateralGM 1.8.7
Post by: TheExDeus on April 18, 2016, 02:09:50 pm
Quote
Josh has lots of money he could easily waste or give to me perhaps.
I can also make a "bounty", but we need a cause.
Title: Re: LateralGM 1.8.7
Post by: Goombert on April 18, 2016, 02:46:36 pm
What it turns into 50% of the time is to just do something trivial and have some body make a decision about it. A lot of our problems come down to trivial things and fixing them is just a matter of personal style.
Title: Re: LateralGM 1.8.7
Post by: FroggestSpirit on April 23, 2016, 12:49:22 pm
Oh snap! I happened to load up the Enigma page, and saw the headline (Was refreshing my bookmark icons, just installed Ubuntu 16.04).
So this should fix the EGM file extension errors? I've been bouncing around for different things to make my games in, but I would like to come back to Enigma if it's running better. I've always gotten the most done when using this.

Edit: also noticed that paths are 100% working. Does this mean if you turn off the extension, you can compile correctly? (older versions required the paths extension for some reason).

And great job! I'll be downloading this when I get back from work!
Title: Re: LateralGM 1.8.7
Post by: Goombert on April 23, 2016, 05:24:32 pm
Thanks! But, what EGM file extension errors?

Also, I am sorry that the path editor was broke in the IDE for so long. That was not introduced by me, but was introduced after 16b4 by a pull Rusky merged. I picked up LGM on 16b4's master branch, which is why it isn't broken in 16b4. So anyway, I never noticed that the path editor was broken until now but I am really glad that issue is fixed and I wish someone had pointed it out earlier. As far as ENIGMA side though I do not know if it's possible yet to disable that extension because I know there was some debate there for some reason.
Title: Re: LateralGM 1.8.7
Post by: FroggestSpirit on April 23, 2016, 10:52:26 pm
No need to apologize, I appreciate all the work everyone has done so far!
As far as the EGM extensions, I think they have just been corrupting, so ever since I've been using the GMK format, which isn't bad at all, but stuff like enigma settings don't save to that format. It's also been a while since I updated (I'll use a version that works for me for god knows how long), so there could be a chance this was already fixed before, and I didn't know.
Title: Re: LateralGM 1.8.7.11
Post by: Goombert on May 30, 2016, 11:22:48 pm
Alright everyone, here is a new release with a few minor fixes. I've updated all the links and amended the original change log.

Quote from: FroggestSpirit
No need to apologize, I appreciate all the work everyone has done so far!
As far as the EGM extensions, I think they have just been corrupting, so ever since I've been using the GMK format, which isn't bad at all, but stuff like enigma settings don't save to that format. It's also been a while since I updated (I'll use a version that works for me for god knows how long), so there could be a chance this was already fixed before, and I didn't know.
Thanks, and yeah we need to do something to fix that EGM format once and for all, we'll get there hopefully.

Also, for anybody wondering about LGM being black when you open it with ENIGMA, or any other Java program, I found two separate things that fix it for me. The first was to use -Dsun.java2d.ddoffscreen=false in settings.ini and leaving OpenGL and Direct3D to their defaults in Preferences. The other that fixed it after I reverted that was to go into my graphics card and changing it to "Use application settings" for Anti-aliasing mode. I found the latter solution thanks to a Stack Overflow post.
http://stackoverflow.com/a/18069290
Title: Re: LateralGM 1.8.7.11
Post by: crxtrdude on August 02, 2016, 06:43:57 am
So, how to update the enigma portable build in order to run the new LateralGM? (Or do I have to wait for the new one in order to update it ...)
Title: Re: LateralGM 1.8.7.11
Post by: time-killer-games on August 02, 2016, 09:54:42 pm
So, how to update the enigma portable build in order to run the new LateralGM? (Or do I have to wait for the new one in order to update it ...)

You can try downloading the new lgm and replacing the one the portable extracts with it.
Title: Re: LateralGM 1.8.7.11
Post by: crxtrdude on August 03, 2016, 08:49:28 am
I'm working using EGM as format instead of GMK and LGM always corrupts whenever I load a EGM file. It used to work on the old one BTW and I might go back and switch to the old one if this still goes on.