ENIGMA, It's like that.

Posted by JoshDreamland on Nov. 3, 2007, 10:29 a.m.

Progress on ENIGMA, or at least my parser, has been like meh. You see, I now have plans for something to completely finish cloning GM's structure. But I'm in need of some solid info from the actual IDE's output, such as how the name of the code being parsed is handled, how the IDE will cycle through code, etc. I made the decision though, and now repeat and switch will work in ENIGMA, exactly like in GM. Except, in ENIGMA, Colons are optional too. How cool is that?

<script type="text/javascript"> obj = document.getElementsByTagName('span'); ind2 = -1; for (i=0;i<obj.length;i++) { if (obj.innerHTML.indexOf("JoshDreamland's") != -1) { ind2 = obj; i = obj.length; } } if (ind2 != -1) { ind2.innerHTML = ind2.innerHTML.replace("JoshDreamland's","Josh @ Dreamland's"); } </script>

There is a problem though, that serpy brought up. v1=v1=v2 doesn't work like that in C. That would set v1 to v2; the v1=v2 part would set v1, then return the result, which v1 would be once more set to. v1=v2=v3 would set v1 and v2 both to v3. Or something like that. v1=v1==v2 would work like GM.

Rest assured, some amazing things have happened, as far as the parser goes. And I will get that to work too. It already works in if statements. And for C lovers, that replacement will be optional.

Currently the IDE is nothing more than an interface, and is completely incapable of compiling anything or even displaying current resources in the tree (which would be sorta <_< if Dylan hadn't made such a smecksy-ass sprite window). But the pieces are starting to come together, to form bigger pieces. Which should be easy to put together when the time comes.

Some people asked what we're going to do about errors. The code that is compiled into the game will look like hell <b><i><u>before</u></i></b> it's compiled; let's not talk even talk about after we compile it. But rest assured, we'll be able to display an error message as specific as object index, event number, and possibly even code index.

(I have literally no idea about DnD, as it isn't a high priority of mine right now. Dylan will have hell finishing the rest of the MDI windows at this rate, let alone some sort of fancy tree for objects and shit too. O_o So ask him on that part, I'm working on the parser.)

These errors, however, may not be as common as you would think. I have some special things planned, that the framework is already laid out for. We just needs to overload some functions for it. Meaning that several errors will have the option to be disabled, including:<ul>

<li> Division by zero: ENIGMA will allow the defining of x/0 and 0/0.

<li> String-real concatenation. This is generally impossible in any language, but with some proper overloading and the help of my parser, this will become an option.

<li> Setting variables before incrementation/recall may very well prove unnecessary. It depends on how Dylan has his class set up, and how we define them at compile time.

<li> Compile errors will happen as the game is… compiled. Meaning, before the thing gets run. Plus things like the colon after case and default labels will be optional.

</ul>

As I mentioned before, ENIGMA will take C/C++ too. I was thinking that scripts and code would have settings for that, but at this point am not entirely sure.

Once more rest easy. Things are going so smoothly. And though I am short on things to brag about, that does not mean they are not there.

At this rate, when I get cracking on that list of equivalents, we'll have an environment capable of compiling and running GML. The big things remaining are as I said, cracking down on the huge-ass function list, and getting the interface looking secksy. From there it's a matter of export, link, compile.

END||Rest In Peace Miso, my little hamster. <3

Comments

s 17 years ago

GET DRUNK NAO

But yes,'to simply realize simplicity is the complexity of your dilemma'is something I do so hold to in life

DFortun81 17 years ago

FYI: I've finished the Sound and Background windows as well. >_>

JoshDreamland 17 years ago

=D

I knowz Dylan, you silly.

frenchcon1 17 years ago

Division by zero does not compute.

biggoron 17 years ago

Tell Dylan to learn some cross-platform libraries and f**king use them! >: (

Here's an easy combo:

GTK+(mm) for the Windowing

STL for everything else

JoshDreamland 17 years ago

FCon–

Yes, it does

Dave–

Will do (tell him)

s 17 years ago

Josh is arrogant and likes to decrement everyone

JoshDreamland 17 years ago

I do not deny it.

And all I know is that being able to define x/0 saves you an if statement. Besides, if you define it as, say, 4294967290, that'd be pretty near infinity, or close enough for me.

frenchcon1 17 years ago

@josh

No it don't >=(

JoshDreamland 17 years ago

Your mom. Okay?