# ENIGMA Development Environment

### 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 - Josh @ Dreamland

2581
##### Announcements / Fresh Topic
« on: August 11, 2009, 05:01:38 PM »
That other one wandered off.
Anyway, this is progress:

Code: [Select]
`int a = 0 if a = 1 b=2c=3     else d=4 e=5 f='test removal of strings'g="poop"  endorphin = /*removal of comments*/ 6 motherlicker = 7 //or eight end break label: goto label awful_code() a=b=c + d  *  e / f do do a = b until c until d if 1if 0else else c()return 0  /*`
Parses to

Code: [Select]
`int a = 0;if(a = 1)  b = 2;c = 3;else d = 4;e = 5;f = "test removal of strings";g = "poop";endorphin = 6;motherlicker = 7;end;break;label:goto label;awful_code();a = b = c + d * e / f;do do a = b;until(c);until(d);if(1)  if(0)    else;  else c();return 0;`
And yes, I know the syntax is invalid. The parser doesn't care.
Here's another:

Code: [Select]
`long unsigned int ab = 0cd = 'str'+"ing"do{a=b-0c=d-1while a a--}while cdo until 0with a b.c = eif d exit`
Becomes
Code: [Select]
`long unsigned int  a;b = 0;cd = "string";do{  a = b - 0;  c = d - 1;  while(a)    a --;}while(c);with(a)  b . c = e;if(d)  exit;`
Nothing you didn't see in R3. Except else; else and some indenting.
The difference is the mechanism.

Notice the first statement: int a = 0;
In R3, this was done with some sketchy additions to the parser; it wasn't originally planned to support that. But now it's an official part. What's this mean?
This means that additional types, including structures that I know the more intelligent users will grow to love, can be added and used withing EDL.

What's left:
Make begin and end actually work, instead of acting like a statement XD
switch() magic
with() supermagic (I have the perfect plan)
Re-fetching declared variables (five minute job thanks to the parser's system)
Pass struct{} and the like to CFile parser, as those are its forte
Make sure syntax checker supports struct and the like

I dug up the new instance system. (Irony, yes, but I'll take it).

I've been hopping back and forth between Linux and Windows. I want to re-commit all the code to the SVN to make that process easier. Not to mention it'll make things better for me considering my college schedule I've been sorting out over the last couple of days.

(The thing's terrible. It's like Swiss cheese; three hour gaps on a good day ;_; )

Anyway, what else... Future plans for before the release.

Incorporate at least backgrounds, possibly sounds, but I'm not sure.
Make sure there's an updater. This will make releases cost less blood.
Test the new instance system with various options set (there are three things to set with two or three choices each.)
Implement a derivative of the string class specifically for ENIGMA. (this will fix so much, efficiency wise)

...And that's it. I was expecting more, but the list is looking short. I like that.

2582
##### Announcements / Re: Subject
« on: August 11, 2009, 04:41:13 PM »
People won't even mind the wait, if I finish the updater.

Meaning there'd be a small update every here and there, perhaps even a big one, but it'd eventually need re-published.

2583
##### Announcements / Re: Subject
« on: August 11, 2009, 03:48:06 PM »
I hope so :3
</religious war>, or I'll change all your signatures to state your support for a random religion.

2584
##### SHUPAER123'S HOME / Re: Linux Game maker
« on: August 10, 2009, 02:08:57 PM »
Let him have his fun.
Free speech, and all that.

2585
##### General ENIGMA / Re: C++ operators in EDL
« on: August 10, 2009, 02:06:45 PM »
R4 should handle operators. It basically just has to ignore them; it might not even check that the class has an overload for that operator.

"vec3 v;" will be legal in R4, which is the key.

2586
##### Function Peer Review / Re: GML?
« on: August 10, 2009, 02:04:48 PM »
They're Windows. XP, too.

2587
##### Function Peer Review / Re: GML?
« on: August 10, 2009, 10:19:50 AM »
nope, I have computers at my school that won't run GM at all.
...
That's only because they don't have Direct3D installed, though.

2588
##### General ENIGMA / Re: I got to thinking.
« on: August 10, 2009, 08:50:32 AM »
It'd be hell getting with() to be able to call member functions. It was a big enough pain deciding what to do with instance_destroy().

2589
##### Announcements / Re: Subject
« on: August 10, 2009, 08:30:00 AM »
He thinks I'm paying two cents to go to hell?

2590
##### General ENIGMA / Re: I got to thinking.
« on: August 09, 2009, 10:18:16 PM »
Anything C++ can do, R4 should be able to understand. Right in with the rest of your EDL.

2591
##### Function Peer Review / Re: GML?
« on: August 09, 2009, 09:34:44 PM »
I like the name much better when no one knows what it stands for.

I often bash GML as being Game Markup Language. <game><mmo><error="fail">Your card doesn't support this awesomeness.</error></mmo></game>

But all the closing tags are optional, of course.

2592
##### General ENIGMA / Re: I got to thinking.
« on: August 09, 2009, 09:26:23 PM »
Yes, the parameter in the <> to list is the type to contain. Can often help with speed, though when dealing with linked lists, not sure how much. (No benchmark to date).

With map, it's map<keytype, valuetype>. I'll write some of this in the help file.

2593
##### General ENIGMA / Re: I got to thinking.
« on: August 09, 2009, 04:45:58 PM »
Code: [Select]
`list<var> list1;`Or, implicitly, as it may be possible to do:
Code: [Select]
`list list1;`
Then
Code: [Select]
`list1.push_back("something");list1.push_back(1);`
Maybe list::add can be added... I'd much rather not, obviously. But yeah.

Code: [Select]
`map a;a["key"] = "value";a["another key"] = 10;a[-100.5] = "weee";map<int> b;b[-10] = "wee";b[-10] = 4;map<int,int> c;c[1000]=3;`

2594
##### General ENIGMA / Re: I got to thinking.
« on: August 09, 2009, 10:01:48 AM »
ENIGMA will always support GM functions for the same reason that Microsoft still has a thousand deprecated functions from Win95. It's just so old things you've made will still work.

Most of the GM functions are so vague that they will fit into any system we decide to build, especially for 3D. The most advanced thing his 3D functions can do is work with his own model format. It's almost pitiful.

I've wanted a mesh/material resource for some time now. The background resource, however, I'd like to stay named backgrounds and just have it apparent that they contain a texture. The more advanced users will be the ones using 3D, and they will understand that sprites and backgrounds can be treated as textures. Novice users, however, won't understand that textures can be used as a background image.

Or perhaps they will, but I always think it's best to start something at its simplest and then show how additional functionality is possible.

As for a mesh resource, I'd really like that. LGM doesn't have so much as a sprite editor at the moment, so I'm not going to speak for all the things I'd like to see in the IDE. However, making a 3DS importer shouldn't be difficult.

Right now, I'm focusing on making a fully functional parser. I believe this will carry us the rest of the way.

If you look at the GMC, you'll see a bubbling vat of ignorance. But amid that ignorance lies some true talent in specific individuals who dedicate their time to making GM-Compatible DLLs. Imagine if this group of people was able to develop (in their own language, for many of them) right in the game's file.

A new resource we have already added will allow users to add functions to ENIGMA that are as fast and functional as the official ones. And, should they develop a working system, it may go on to be an official part of ENIGMA. That's very idealistic, of course, but if nothing else, I know of several people who are at least decent at C++ who would be willing to help develop GM functions for ENIGMA.

What I'm getting at is that, with a little luck, people will come along to extend this thing far past where GM is, and hopefully past where I could have done myself.

And if I can get these new parsers working, users will have the C++ language at their fingertips, right along with GML.

2595
##### General ENIGMA / Re: Game Maker 8
« on: August 07, 2009, 10:28:57 PM »
There's like 9001 reasons to ban you for that post, but I'ma just sit and laugh instead, while a2h does a little <_< thing.