ENIGMA Forums

General fluff => Announcements => Topic started by: Josh @ Dreamland on March 06, 2010, 12:47:05 AM

Title: Prophase
Post by: Josh @ Dreamland on March 06, 2010, 12:47:05 AM
The C Parser is now hooked up such that it is self sufficient in collecting information.

On initialization, it asks the GCC to dump built-in #defines into a file that it can read. It parses those to gain the ability to correctly evaluate later preprocessors and the like, then it begins parsing SHELLmain.cpp, which will soon be moved (for the most part) to a separate header, since that particular source file shouldn't be responsible for all of that.

While getting it to work, I was met only with the problem of setting the working directory, which is currently temporarily resolved: I set it manually with a relative path that will have to be changed for the release compile.

However, once that was implemented, it made it through the entire project without incident. I asked it to print the contents of the enigma namespace to be sure it got it all, and was blown away.

At that, mission accomplished. I will make sure the GML parser and syntax checker are performing adequately tomorrow, which they shouldn't be, considering I am recoding a chunk of each to use the new input.

Expect material to be tested this coming week (Surprise). Don't expect anything grandiose during testing; I've not even hooked up the DLL functions yet. What you should see is vastly improved compile time and some small bugfixes that were made before the split. Serp's optimized code as well as the things that have been implemented since R3 are not part of the equation at this point.

In fact, the struggle of the next several days is going to be getting LGM to communicate better with ENIGMA, which has officially outgrown its separate-module form. I remember when syntax check rang in at 13x faster than GM's while code was being sent as a file. XD Those days are over, and now we'll be faster with dignity.

*commits code in whatever state it may be*

I haven't seen Ism today. I'll definitely need her for this part...
Ed suggests we use JNA to handle the interface as a DLL. We'll see how that works for us.

Ciao for now.
Title: Re: Prophase
Post by: score_under on March 06, 2010, 08:59:51 AM
Does this mean you'll be naming each version of ENIGMA after different stages of mitosis?
Title: Re: Prophase
Post by: Josh @ Dreamland on March 06, 2010, 09:22:24 AM
Only the next three newsposts.
Title: Re: Prophase
Post by: kkg on March 07, 2010, 01:51:36 AM
I've been reading all the news posts over the past few months and I have to say I'm getting pretty pumped for it, it's clear a lot of thought has gone into this and in general it just seems like a fun application to toy with once it hits R4 (or whatever you like to call it) stage. I've been attempting to learn a little bit of C++ to maybe add a function or two from Game Maker just to be an addition to the development but I'm a bit shit :P

All in all though, great to see the work coming into form!
Title: Re: Prophase
Post by: serprex on March 07, 2010, 07:56:45 AM
Yeah, before I could get a C compiler working I recall Josh was just starting with C++. When I found GM7's debug flag, I had him write a program to essentially fopen;fseek;fputc;fclose; Enigma is the first large piece of code of another I ever poked around, it's odd seeing how I've changed in respect to it. It's a place where I write code and think it seems pretty nice, only to rewrite it again a year later

Enigma taught me C++, though I was fortunate enough to have already known programming. If you want to work on adding Enigma functions, work off the git repo @ http://github.com/serprex/Enigma-R3 though it's been modified to be developed on Linux, so some patchery will be needed to get it back to the Windows state. Hassle yes, but Josh plans to have that fixed for R4
Title: Re: Prophase
Post by: kkg on March 08, 2010, 04:18:57 AM
Yeah, before I could get a C compiler working I recall Josh was just starting with C++. When I found GM7's debug flag, I had him write a program to essentially fopen;fseek;fputc;fclose; Enigma is the first large piece of code of another I ever poked around, it's odd seeing how I've changed in respect to it. It's a place where I write code and think it seems pretty nice, only to rewrite it again a year later

Enigma taught me C++, though I was fortunate enough to have already known programming. If you want to work on adding Enigma functions, work off the git repo @ http://github.com/serprex/Enigma-R3 though it's been modified to be developed on Linux, so some patchery will be needed to get it back to the Windows state. Hassle yes, but Josh plans to have that fixed for R4

Not a problem, I program on AcromOS (Ubuntu based distro) anyway :)
Title: Re: Prophase
Post by: Josh @ Dreamland on March 08, 2010, 07:22:31 AM
Why am I making this work for Windows, again? >_>

Oh right, GM userbase. *begrudgingly gets back to work*
Title: Re: Prophase
Post by: retep998 on March 08, 2010, 09:46:20 AM
Besides, windows has a massive userbase of gamers.
If we couldn't compile our games for them, then we would lose potential profit, so we'd simply use something other than enigma.
It's not just the gm coder base, it's the gamer base as well.
Title: Re: Prophase
Post by: Fede-lasse on March 08, 2010, 10:15:15 AM
Plus the 400,000,000 people who use Windows.
Title: Re: Prophase
Post by: Josh @ Dreamland on March 08, 2010, 02:20:19 PM
Yes, was being funny. Linux port was written with the thought "maybe this'll finally bring more than 20 games to the OS...." But then it turned out I hate Windows in comparison.
Regardless, Windows is still the first priority (though not so much first to justify me stopping to write a DirectX port right away).