ENIGMA Forums

General fluff => Announcements => Topic started by: Goombert on October 23, 2013, 07:58:02 pm

Title: Object Inheritance Implemented
Post by: Goombert on October 23, 2013, 07:58:02 pm
(http://i.imgur.com/PnYVEEX.png)(https://i.imgur.com/2Zkoirz.png)
Because of inheritance I was able to get the following Studio tutorial working, with a slight modification to two for statements because none of them know how to program.

That is right I have implemented full object inheritance and polymorphism to the compiler, even the event_inherited() function and the corresponding drag and drop tile. There is a setting now added to Build->Settings where you can completely disable inheritance if you, for instance, like cheeseboy, you only want inheritance for collisions and nothing else.

You can also see settings there for my angular unit and scalar types, the options don't do anything quite yet they are implemented in the engine the setting is just hidden away I have to do something else first before I make the options work.

Compatibility should improve a lot now. You must update LateralGM and the plugin if you update from git or vice versa because a modification was made to allow the YAML settings layout to parse checkboxes. At any rate, enjoy!
Title: Re: Object Inheritance Implemented
Post by: egofree on October 24, 2013, 03:36:04 am
Excellent ! You've kept your promise. I don't have enough time right now to test the new enigma, but  i will definitely test it in the future. Thanks again Robert and all people working on this project for all your efforts.  (Y)
Title: Re: Object Inheritance Implemented
Post by: Goombert on October 24, 2013, 03:39:42 am
I'll do timelines when I finish this GMX writer so you can save.
Title: Re: Object Inheritance Implemented
Post by: egofree on October 24, 2013, 04:03:48 am
By the way, is the new compiler finished ?
Title: Re: Object Inheritance Implemented
Post by: TheExDeus on October 24, 2013, 06:18:29 am
The new compiler is vaporware or as we call it New Compiler: Forever. It's always about 1 month off in the future. For the past 6 months or so. But I guess some progress is made.
Title: Re: Object Inheritance Implemented
Post by: Ideka on October 24, 2013, 10:01:13 am
Well, you know Hofstadater's Law:
"It always takes longer than you expect, even when you take into account Hofstadter's Law."
Title: Re: Object Inheritance Implemented
Post by: time-killer-games on October 25, 2013, 06:27:35 pm
At long last! Thanks! This is great! All we need now is persistent rooms and objects, stretchable video embedding (both full client area and specific window coordinates), and a fixed Mac OS X update, once these three small things happen, my life will be complete, and I will die happy. Keep up the great work Josh, Robert and everyone else who contributed. You guys are the best! :-)
Title: Re: Object Inheritance Implemented
Post by: Goombert on October 28, 2013, 02:53:48 am
TKG, I have another surprise coming in maybe a week or so for you. Also, yes persistent is already implemented, but a couple of noticed it's broke, I will fix it when I get the chance, I am working on things to get Project Mario working too.

Edit: Just to update everyone on this there was a bug causing objects to have their parent object_index. I have fixed it in the following pull request.
https://github.com/enigma-dev/enigma-dev/pull/474/files

Now I believe object inheritance is pretty solid, I am going to fix with constructs next.

Also, I'd put up the source to that game but for copyright reasons I can not.
Title: Re: Object Inheritance Implemented
Post by: Josh @ Dreamland on October 28, 2013, 09:15:50 am
That is because the new compiler is always one month of work into the future, and I have not had a break that long in a year and a half.

I am graduating in six weeks, five days. After that, I'm getting a job. A job will run 2.5x as many hours as my class, with the important differences being the following:
In between my graduation and my first day on the job, I will have to move. I don't know how messy a process this will be, or how much time it will leave for ENIGMA.

And also, the new compiler is, by definition, not vaporware. If any of you decided to get a clue what was going on in it, you could check out the JDI branch of ENIGMA and the new templates branch of JDI and work on it. As it stands, everyone would rather whine at me that I said it would take about a month of work, and six months later, nothing is finished.