Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Goombert

Issues Help Desk / Re: LateralGM High DPI Workaround
« on: May 05, 2019, 09:30:58 pm »
Sort of, I don't understand fully what's going on. Yes, I notice the fonts are blurrier, but icons are not broken and the room grid isn't having half-pixel alignment problems. It's honestly pitiful that Oracle doesn't fix this.

General ENIGMA / Re: Variable performance
« on: May 05, 2019, 08:09:07 pm »
We finally got around to this and the var is now as fast as variant in benchmarks.

Issues Help Desk / LateralGM High DPI Workaround
« on: May 05, 2019, 09:13:17 am »
I've had this issue with LGM on my high DPI 2K monitor for a while now. I even have the issue running LGM under Java 9. I finally did some research and found a workaround I'd like to share.

I tried that on my installed "javalocation/bin/java.exe" but it didn't work at first. So what I did was ask the MSYS2 console where java is.
Code: (bash) [Select]
$ where java

I then went there and applied the fix to that exe and it worked. You just right click the exe->Compatibility tab->"Change high DPI settings" and override the DPI scaling factor. I set mine to "System (Enhanced)" to get the results below.

DPI System (Enhanced)

DPI Unaware/Broken

Announcements / Re: New LateralGM Stability Releases
« on: April 29, 2019, 03:55:13 am »
Quote from: Dragonite
Any chance for GM extensions that only use GML? They are essentially scripts.
Yes, those already work. In fact, you may consider asking forum user time-killer-games as he makes extensive use of DLLs. The only thing is nobody has added the [snip]external_*[/snip] functions for any platform except Windows I think. It's actually sort of easy to do, and definitely easier than adding the IDE ones since it's a necessary prerequisite to that anyway. Finally, I should mention that DLLs using strings seemed to have regressed just within the past year and we haven't gotten it resolved yet.

If I happen upon the time to do it I was going to add the [snip]external_*[/snip] functions to SDL and then make a CI test so they can't be broken again. However, I am waiting for us to finish the var rewrite before I do that since variant pointer overloading may have caused the DLL string regression.

Quote from: Dragonite
Yes, I was using OpenJDK.
Figures, yeah maybe try Oracle JDK? I can see about looking into it at some point but not right now. The OpenJDK Swing is pretty unusable because it's so buggy, so we've largely avoided bothering with it.

Quote from: Dragonite
I see. Just to make it clear, constants are hold in the .gmx project file in GMS1. GMEdit parses it and show a code editor, and put the values in their correct places when you save it.

Announcements / Re: New LateralGM Stability Releases
« on: April 26, 2019, 07:47:32 pm »
Quote from: Darkstar2
isolate the problematic update, that would probably be time consuming
There is a faster way, it's called git bisect. You do a binary search backwards. Find some really far back commit that does not reproduce it. Continue on with a commit in between now and that far away commit. Keep going until you can no longer reproduce it.

Announcements / Re: New LateralGM Stability Releases
« on: April 26, 2019, 02:34:42 am »
Darkstar2 raises and alludes to a lot of good points here I didn't really think about the other day. I would credit some of the improved stability to Java itself, although I still hate Java. Also, I would credit some more of the improved stability to us. We have merged the new templates JDI which handles newer string better (which was one place people were getting crashes before). I've been making less binary compatibility breaking changes to ENIGMA and the plugin because I've grown hyper aware and conscientious of when I am making that happen. We've switched JDI to only look at ENIGMA user, preventing ambiguous resolution of functions and symbols (which also makes syntax checking/parsing/preprocessing faster). I've also been more careful writing engine code by creating separate implementation headers for internal stuff that never gets exposed to the user. All of these are contributing factors to the perceived stability at the current time.

Also, you know I would definitely fix the backspace issue if I could reproduce it. I haven't tried again or looked deeper though because I am also busy trying to prioritize core architectural changes, like supporting GLES. I don't want to sound cocky, but backspace is a small issue that novice contributors could maybe fix and I feel like ENIGMA benefits more by me frying bigger fish. That said, I love being helpful so maybe I'll try looking for it on my own. And again, yes I could clearly fix it in a pinch if you could demonstrably reproduce it to me.

Announcements / Re: New LateralGM Stability Releases
« on: April 25, 2019, 04:49:59 pm »
Short answer: no, it's not the same and it has improved because of the ENIGMA project having continuous integration testing and just a lot of work by me to hammer out some of the old issues. LGM has also improved because of this and other releases, but I can't say how much more it will improve. The main focus should be the new IDE. LGM is a great project, but it will always be a GM IDE and put GM before ENIGMA. Also, we've gone over many of the reasons to have a C++ IDE and we've already built much of the infrastructure for it. I'm not sure if you've tried any of the release executables on RadialGM?

However, you're still better off with starting new projects in ENIGMA rather than bringing existing ones, in most cases. That will remain true until we expand the code coverage to cover enough of the GM API.

Announcements / Re: New LateralGM Stability Releases
« on: April 25, 2019, 02:11:54 am »
1. Are GameMaker extensions supposed to load? I tried loading a project that has an extension, and it didn't show up in the resource tree.
We never had time to finish them honestly. Nobody has had enough interest in the IDE/resource extensions to make it a priority. Anybody is welcome to pick up this task if you are a Java coder/want to contribute to LateralGM. However, getting them into ENIGMA will be even harder because there's no communication interface yet and it will be a binary compatibility break to add them (but not to add them to the protos, hence one of the reasons the new interface is protocol buffer based).

2. Often, the '|' doesn't appear at all in code editors, any idea on the cause of this?
This is known and happens to me testing on different platforms. We use a custom JoshEdit (by Josh) code editing component in LateralGM since 1.8.2. I tried to improve this in the upstream JoshEdit project, but it still exists mostly under OpenJDK. So I'd mainly just ask if you were running under OpenJDK when this happened. I have less problems with it doing this under Oracle JDK.

1. Allow editing macros/constants the same way we edit scripts. Just open a text editor where you can write "CONS value". This is how GMEdit does it and works wonderfully. I really recommend you guys check it, makes editing bigger GM projects much more bearable.
That's actually already our plan, to support macros like GMS. We likely won't change LateralGM though since it's just a free GM editor. We're building our own IDE, RGM, where we're more likely to have it done this way.

2. Any chance we gonna get live reloading of resources modified outside of LateralGM?
Possibly, but I want to see LGM become even more stable first. It all depends on whether we have time to do it. But I have accepted an issue requesting it on GitHub. It's honestly not that much work to get it done.

Announcements / New LateralGM Stability Releases
« on: April 23, 2019, 03:15:50 am »

This may come as a welcome surprise to many of you, but I wanted to announce a few LateralGM releases that I've made recently. Yes, we are still working on a new IDE, but are not yet ready to completely drop LateralGM so I don't mind making a few stability changes and healthy fixes for the project to placate everybody in the interim. The main point of these changes is not to introduce radical changes to LGM, but simply make maintenance a little easier, including some custom error dialogs that facilitate users solving certain issues themselves rather than posting them to our GitHub.

As always, you can obtain the new releases on GitHub. The installation scripts in enigma-dev have also been updated to refer to the latest LateralGM release.

Summary of Changes
1) New event selector based on a mockup by Josh which is a critique of the GameMaker 5 event selector.
2) Fixed translations that already existed but where the keys have been renamed. Also provided new translations where possible using Google Translate.
3) Cleanup of the GMX writer including refactoring of group writing.
4) Memory leak fix in the GMX and GMK readers.
5) Fixed some inconsistent use of certain icons.
6) Fixed some action list behavior including exceptions around clipboard options and empty selection.
7) Fixed clipboard copying of actions using a deep copy addressing the linked actions issue.
8) Fixed resource name completions in the code editor.
9) Fixed default sprite transparency which addresses issues with loading GMX projects after GMK projects.
10) Improved external editor error handling with custom error messages directing users how to resolve desktop editing failures themselves.
11) Made it easier to import multiple sprite sheets to the same sprite by making the "Add Spritesheet Subimages" button not clear the sprite's previous subframes first.

General ENIGMA / Re: Poll: New LGM Event Selector
« on: April 22, 2019, 07:18:35 pm »
With 3 yays in the poll, plus 3 yays from me, Josh, and Rusky, that makes 6 yays and 0 nays. I think the yays have it, so I've merged the new event selector. I am glad everybody likes it, I put a lot of careful attention and hard work into getting it right. You can download the official 1.8.53 release on GitHub now. Cheers!

PS: This doesn't mean we are finished revising the event selector or not taking further suggestions. Please feel free to continue commenting on it.

General ENIGMA / Poll: New LGM Event Selector
« on: April 21, 2019, 06:32:37 pm »

Hey guys. I want everyone's feedback on a new event selector we are proposing for LGM.

I know many of you have had frustration and find the current event selection unintuitive. Because of that, Josh created a mockup which is a critique of the GM5 event selector which I used to design the one in the pull request. You can download a prerelease jar of the changes in a zip from my pull request. I want to know what you guys think and whether I should merge it or if we should move forward with the event selection we already have.

I had previously been criticized by Josh for combining the Add/Replace/Duplicate options into "Modify" which is synonymous with "Edit" and thus confused him. I am taking a poll now to avoid making similar mistakes. The only way I can conceive of every imaginable criticism before merging this is to simply ask the community. So this is your chance to let your opinion be heard. Please let me know how you feel about this, thanks!

NOTE: Please understand that I am already aware the "Context" (previously "Object Window") resource menu breaks when you load a project. This is not a regression and exists in lgm16b4 too. I've filed a separate issue for this because I don't want to conflate it here. It will be fixed later on.

Issues Help Desk / Re: Cannot compile the source ("solved")
« on: April 16, 2019, 01:26:56 am »
No, you were supposed to run just [snip]make[/snip] like you did correctly. I'll have to look at that soon, I mean by default the setup on the Wiki is not even supposed to have anything to do with GRPC yet. I list the dependency to be installed just so when we announce its readyness, some users will already have it installed. Other than that, you shouldn't be seeing that make error. I'll look into it.

Issues Help Desk / Re: Cannot compile the source ("solved")
« on: April 15, 2019, 02:53:42 pm »
I think I see what the problem might be. Which target did you make? Was it just [snip]make[/snip] or [snip]make all[/snip]? The default installation in the Wiki is not supposed to have people building with GRPC yet (that's for the GRPC server which RGM uses for remote compiling). The default installation is only supposed to have you make the protocol buffers, compiler, and libraries.

Issues Help Desk / Re: Cannot compile the source ("solved")
« on: April 15, 2019, 02:19:07 pm »
Hi mistermano! I'm sorry for the frustration but am glad you at least managed to get past it. This is going to sound awful, but I don't yet have an explanation for this. This is all relatively new stuff we've built and added (the protocol buffers being moved into the compiler). I do recall when we first got started there was a problem finding that GRPC plugin for me on Windows too. However, nobody else has reported your issue here or had any similar issues, which is why I am confused. One thing I am considering is if you already had MSYS2 installed prior to trying to set up ENIGMA today?

The fact that restarting, trying the 32 bit MSYS, then restarting again and trying the 64 bit MSYS again finally worked is odd too. If you followed the Wiki, G++ would not be found because you likely only installed the 64 bit dependencies and thus the 64 bit G++ would not be found in the 32 bit MSYS by design. What I think actually happened is you missed the crucial step in the MSYS2 installation procedure on their site where you restart MSYS2 and then continue the system upgrade a second time (I know MSYS2 setup is convoluted and messy and why I want to create an automated installer builder for ENIGMA). So I think it would have fixed it if you had just restarted the 64 bit MSYS without bothering with the 32 bit one, I don't think the 32 bit MSYS had anything to do with it.

Regardless, this does seem to be a one off, and you've got past it now. If you can maybe reason through my questions and give some more feedback then maybe we can see if something should be changed. For now, I can't really say whether or not we can improve the makefile or this was just a fluke.

Edit: Also, I should mention a community member has been maintaining an easy setup installation method for future reference.

General ENIGMA / Re: GML updates for 2019
« on: April 09, 2019, 10:52:33 am »
I like a lot of the ideas, except maybe exception handling which I see absolutely no use for. I feel exception handling won't actually find much use at all really. It will end up just like the asynchronous events. What feature GML really needs is async await and then the async events would have never really been necessary. We'll see what we are able to get done, we've been working on merging in the new JDI which is a necessary step to improving ENIGMA's parsing capabilities. I can say this is different than anytime in the past because I just built the new JDI branch myself and was able to run the sprite benchmark.