Pages: [1]
  Print  
Author Topic: Prophase  (Read 1938 times)
Offline (Male) Josh @ Dreamland
Posted on: March 06, 2010, 12:47:05 AM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2955

View Profile Email
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.
« Last Edit: March 06, 2010, 12:51:37 AM by Josh @ Dreamland » Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Unknown gender) score_under
Reply #1 Posted on: March 06, 2010, 08:59:51 AM

Member
Joined: Aug 2008
Posts: 308

View Profile
Does this mean you'll be naming each version of ENIGMA after different stages of mitosis?
Logged
Offline (Male) Josh @ Dreamland
Reply #2 Posted on: March 06, 2010, 09:22:24 AM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2955

View Profile Email
Only the next three newsposts.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Male) kkg
Reply #3 Posted on: March 07, 2010, 01:51:36 AM

Member
Location: Australia
Joined: Nov 2009
Posts: 84
MSN Messenger - kamikazigames@gmail.com
View Profile Email
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!
Logged
PC: Core i7-2600 @ 3.8ghz | 4x 4gb G.Skill RipjawZ DDR3-2000 | GTX580 | Win7 x64
Time is the greatest teacher, however it kills every single one of its pupils.
Offline (Female) serprex
Reply #4 Posted on: March 07, 2010, 07:56:45 AM
Smooth ER
Developer
Joined: Apr 2008
Posts: 106

View Profile WWW
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
« Last Edit: March 07, 2010, 07:58:52 AM by serprex » Logged
Offline (Male) kkg
Reply #5 Posted on: March 08, 2010, 04:18:57 AM

Member
Location: Australia
Joined: Nov 2009
Posts: 84
MSN Messenger - kamikazigames@gmail.com
View Profile Email
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 :)
Logged
PC: Core i7-2600 @ 3.8ghz | 4x 4gb G.Skill RipjawZ DDR3-2000 | GTX580 | Win7 x64
Time is the greatest teacher, however it kills every single one of its pupils.
Offline (Male) Josh @ Dreamland
Reply #6 Posted on: March 08, 2010, 07:22:31 AM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2955

View Profile Email
Why am I making this work for Windows, again? >_>

Oh right, GM userbase. *begrudgingly gets back to work*
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Male) retep998
Reply #7 Posted on: March 08, 2010, 09:46:20 AM

Member
Location: Where else?
Joined: Jan 2010
Posts: 248
MSN Messenger - retep998@charter.net AOL Instant Messenger - retep998 Yahoo Instant Messenger - retep998
View Profile Email
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.
Logged
Post made March 08, 2010, 10:15:15 AM was deleted at the author's request.
Offline (Male) Josh @ Dreamland
Reply #9 Posted on: March 08, 2010, 02:20:19 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2955

View Profile Email
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).
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Pages: [1]
  Print