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: Animation Speed
« on: June 10, 2016, 04:30:48 pm »
Yeah that has been there since the beginning of LateralGM. The reason why is we can't really predict what the room speed is going to be and such. However I believe that the timer used by the sprite frame makes it so if you set the speed to 30, it plays it back at 30fps.

The problem is that image_speed works differently. So that is actually 1/30 or 1/8 (just make it 1 divided by whatever # of frames per second you put in the sprite frame).

I think it's great to have multiple IDE's and competition which is better for users. People just have different styles and at the same time the same person can have different uses for a tool. For example, even someone who prefers an alternative IDE likes to have something to fall back on. Even myself included if I was developing a second IDE, it would be helpful to have a reliable tool to check things out with. LateralGM fills that role, the whole point of it is to be exactly like GameMaker. If I was still working on a second IDE I would probably end up using LateralGM a couple times to convert a file or do some operation not yet supported by my new IDE, etc. It is similar to how OpenJDK is a "reference" implementation for the Java Standard Edition.

But yeah, not going to deny that LateralGM is boring and while it has made some progress towards stability, it has a ways to go yet. Feel free to post as often as you like, you know we welcome third party tools here.

Tips, Tutorials, Examples / Re: Jumper Engine
« on: June 09, 2016, 05:27:38 pm »
I gave it a go and I really like this example. I think the first level is really hard though because sometimes the AI does not want to stick with the player. I found the sound effects to be amusing and very fitting too.

For others who may be interested, I was not able to build this in ENIGMA because we lack the variable_global_exists()-like functions.

General ENIGMA / Re: Why the draw event types jump from 0 to 64
« on: June 09, 2016, 05:15:25 pm »
That was me that put that comment in there. I overexaggerated a little bit but it is mostly true how YYG's always fails to plan ahead or think out of the consequences of what they do. There's cases of this nonsense all through GameMaker. While this particular example has not caused anybody any real pain, it's just very confusing. The GMX inconsistencies on the other hand are a recipe for disaster. For example, the last LGM release where I noticed that the background rooms for paths were actually still saved by ID... even though GMX does not save ID's anywhere else. I tested and it is easy to confuse GMS by deleting the room until you get a corrupted GMX. Not really sure what else to do in LGM about it.... as it is not our format to change.

Besides all that, were you having a particular issue with that event?

Well don't forget there is Mono with GTK# and WinForms (cross-platform Windows Forms). Also Windows Forms apps do run ok in WINE, they just look a little dated because the GUI component library in WINE looks like Windows 95. GTK# is not too bad. There is also Qt bindings for C#, Python, and Java. Just because you don't know C++ doesn't mean you can't use Qt. Native Windows Forms is my favorite GUI framework and I love the .NET framework. Yes I love Linux too, but Microsoft makes really solid and stable software. LINQ and data binding make it super easy to write an IDE in C# too. LGM had to build a special data binding framework for linking Swing GUI controls to data models. In other words, when you change the value on a control it should store that in a serializable object. It's usually not enough to just save an object or resource when you are done editing it. You have to initialize and sync the controls to a model. For example, if you rename an object, that needs to be sent to the room editor. Data binding lets you accomplish that with fewer lines of code.

There's some other libraries you are forgetting too, including wxWidgets (which I do not recommend you try because even I have trouble building it with Code::Blocks and MinGW is kind of a pile of trash for a compiler port. MinGW is the Windows port of GCC and its underlying tools. There is also the new cross-platform JavaFX GUI API for Java.

I also encourage you to take a look at Rust. Many people will argue how much easier Rust is to use. Rust is a fast native systems programming language like C++ but more expressive and allows you to accomplish things in fewer lines of code. It does not have a -> operator and has only the dot operator. Rust was created by Mozilla and while some important libraries are missing, Rust is picking up steam now that it has reached stable version 1.0.

Also, there is nothing inherently wrong with writing an IDE in ENIGMA, Unity3D's IDE is written in itself. There are also many people here who wanted to make an ENIGMA IDE in ENIGMA itself. I would even support it if it led to improving ENIGMA. I think one of the harder issues with doing it in ENIGMA itself is the added overhead that GameMaker-like objects would have on all of the code.

Also feel free to ask us for any help with code if you need it. We are usually glad to help unless we are otherwise busy or pooped out so to speak.

Edit: lol, I read your post before going to the park for a walk, and I just now noticed you found Mono on your own. Sorry I was going to actually point you to it.

Announcements / Re: LateralGM
« 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.

Issues Help Desk / Re: destroy block
« on: May 28, 2016, 12:44:26 pm »
Nope, I am sorry, if you set the block non-solid and jump into it then it does register the collision event. So I am guessing it's a minor difference between our functions place_free or move_contact_solid that you are using in the player object and what GM does.

I would try playing with the code that triggers collision events in enigma-dev/events.res
Code: [Select]
beforecollisionautomaticcollisionhandling: 100000
Name: Before collision automatic collision handling
Mode: None
Default: ;
Instead: enigma::perform_callbacks_before_collision_event();

collision: 4
Group: Collision
Name: %1
Type: Object
Mode: Stacked
Super Check: instance_number(%1)
Sub Check: (instance_other = enigma::place_meeting_inst(x,y,%1)) # Parenthesize assignment used as truth
prefix: for (enigma::iterator it = enigma::fetch_inst_iter_by_int(%1); it; ++it) {int $$$internal$$$ = %1; instance_other = *it; if (enigma::place_meeting_inst(x,y,instance_other->id)) {if(enigma::glaccess(int(other))->solid && enigma::place_meeting_inst(x,y,instance_other->id)) x = xprevious, y = yprevious;
suffix: if (enigma::glaccess(int(other))->solid) {x += hspeed; y += vspeed; if (enigma::place_meeting_inst(x, y, $$$internal$$$)) {x = xprevious; y = yprevious;}}}}
# Check for detriment from collision events above

Issues Help Desk / Re: destroy block
« on: May 28, 2016, 12:25:28 pm »
It seems you found a bug in the object inheritance in ENIGMA. For some reason the player's collision event is fired but not the walls. The example works in both GM8.1 and GMS but not ENIGMA. Let me investigate some more.

Third Party / Re: IndieMendable
« on: May 28, 2016, 12:02:35 pm »
I don't think it was me, but I may sign up as "GameMaker" which I did on ENIGMA's forum once :P

Issues Help Desk / Re: destroy block
« on: May 28, 2016, 12:01:17 pm »
What exactly is the problem you are having? For me the game builds fine on Windows 10. However, I do notice the extensions folder appears twice in the tree, which is sometimes caused by LGM converting between formats. That is something I want to get fixed, possibly in the next LGM version. I want to go and fix the problems with our formats all in one big swoop but have not gotten the time yet.

Third Party / Re: IndieMendable
« on: May 28, 2016, 11:34:05 am »
First of all, let me say, nice job so far! The theme looks way better than the original, and I like how you managed to make it look so great without going all flat HTML5 look like so many other people do. I am not surprised that someone would bring back the sandbox as it was very popular and it was stupid that YYG ever took it down to begin with.

I'm not very good at naming things, but just some ideas:

- GameMaker Bank
- GameMaker Blob
- GameMaker Paradise
- Game Maker's Paradise
- Retro Sandbox

General ENIGMA / Re: ENIGMA: Studio
« on: May 28, 2016, 11:26:45 am »
If that image by rcobra was an array I like the two at coordinates 1,1 and 1,2. I also like Josh's but it's too colorful. We were looking to replace the website with a design by a2h that I can't find right now, but I think it's still better if we just focus on development more. The site really does a fine job as it is and other than aesthetic looks it functions quite well. We could still use that banner for the splashscreen on the next LGM release though. I like to change that banner just so you know it's a new version and to freshen things up yet. However, the next version is still being worked on, so far I've only fixed more code formatting issues and Rusky fixed the submodule for JoshEdit.

General ENIGMA / Re: Joshedit
« on: May 20, 2016, 05:58:44 pm »
I just want to say, that I take full responsibility for this happening and I'm sorry I did not fix this when it first occurred. Rusky has now corrected the submodule for JoshEdit.

It should now be possible to clone and setup LateralGM in just two calls.
Code: [Select]
git clone
cd lateralgm
git submodule update --init

LGM no longer has any code that JoshEdit does not, and this will prevent the two from ever getting unsynced again. Any changes to JoshEdit should be sent to the JoshEdit master branch, and then simply update the submodule and rebuild a new jar of LGM.

As far as piping exceptions from JoshEdit again, I decided to go ahead and file a feature request for that on its repo.

Issues Help Desk / Re: Crash on Ubuntu-like OS.
« on: May 20, 2016, 05:25:15 pm »
Where you checked out enigma-dev, does the file actually exist in there? Somebody else had this problem a week or two ago and I remember Josh fixing it somehow.

Issues Help Desk / Re: Crash on Ubuntu-like OS.
« on: May 19, 2016, 02:10:37 pm »
No, CD into enigma-dev/CompilerSource and run make please. compileEGMf is the enigma.jar/plugin's interface to the compiler. It just wraps the methods in the compiler in an interface that JNA can export to Java so the plugin can call make() when you hit the run button for example. I want to see you run make in that folder.