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

Proposals / Re: Difficult!!!
« on: April 02, 2009, 09:10:02 pm »
All those in favor of a new IDE can get started on its development while I work on bigger and better parsers and systems. ^_^

In other words, NOU.

Proposals / Re: Before any more of these topics are made
« on: April 02, 2009, 09:08:10 pm »

To be honest, I hate adding functions. For that, we'll get more slave labor. I like the mind-numbingly large tasks, like getting all the pieces of ENIGMA to work together to get the language working. More like a well oiled machine as the releases progress than, er... whatever R1 was. ^_^

Announcements / SVN
« on: April 02, 2009, 08:48:50 pm »
First and foremost for those who don't catch on as quickly, we weren't really bought out by Yoyo. Come on. We don't even mean anything to them yet; we're not even on the competition radar.

ANYWAY. Due to constant bother from someone who wanted to pilfer ENIGMA's resource attachment code and for some reason couldn't use the stuff from R3, I hosted the source code.

Which means the most recent ENIGMA is available in the SVN at the sourceforge page, etc.

However, this doesn't mean that the code is operational. It's not that individual pieces don't work, it's that they have not been fitted together.

Those of you with weak constitutions and those of you who do not know C++ can skip this next part.
For the rest of you, I'm not going to bother posting the link to the SVN because you're probably resourceful enough to find it, and I'm not exactly enthralled to have functionless code on the intarblagz. It's like coming in one day with a rusty robot then being asked to put its severed limbs on display while you're working on them. Kinda destroys the splendor of the situation.

Nonetheless, it is hosted. I won't be checking it for updates before overwriting it, so if you have any changes to make (which, considering my code is just C++ - formatted manifestation of my ramblings and is therefore illegible, I highly doubt) please let me know here instead. Shouldn't be a problem, because I don't think any C++ programmers have SVN privileges anyway.

There's another set of files that I'm working on, which are the workings of a CFile parser. They are not hosted yet.

Rest assured, I'm good at seeing the big picture. R2 and 3 both looked like this days before their releases.

Okay, now for those of all or no C++ skill level, here's what's changing:

  • Recoded the syntax checker to support structures. It will also support macros and namespaces. Much easier to code the second time, and I did a much better job. It's about to where it would have been originally (completion wise) at the moment, if I had not decided to support all these nice C++ things. (SVN people can feel free to test what I have, such as nested loops and statements)
  • Parser will undergo minor recoding also. The main concept, structure and code flow will stay, as those were all brilliant, imo, though I will be recoding small chunks of it for the sake of optimization-- it should read through the code less than 10% as many times as the first version. (The parser is primarily find-replace. To the point where almost all of it is such, call after call. I want to write something to replace those things in mass, so I don't have to keep iterating through it)
  • The macros thing is as simple as making a stack structure that behaves like a string, but has a push and pop function. Instead of just saying while (pos<len), I'll have a condition to be sure that at the end of the string I pop the stack to the next string down. It's probably what G++ does. Namespaces, I'll just keep a list of variables that exist in the global scope, and those that exist in a namespace invoked by or were themselves invoked by the using token.

  • Scripts are being rethought. Instead of each object having a script, this (Pointer to current instance) will be cast to WILDCLASS (so it has all the locals for a short time) and sent to the script. This way you can still call locals like in R3, but it's more efficient for multiple variables and works in with(){} statements.

  • Last, but not least, Luda has promised he'll finish recoding Colligma as soon as ENIGMA is operable. Meaning I'll hold a private release in the meantime while he's doing his thing, then give another few days of testing before the release. This is still in the future, though.

Some of you are mad now because I'm wasting time on a CFile parser, and you don't know why. It's because now you can #include <map> in a new resource in ENIGMA I've named "whitespace." The resource is simply a C++ script editor, which lets you define functions and classes for use in ENIGMA. (Like scripts, only still more efficient)

And finally, I am pleased to announce it is Spring Break. So I have ten days almost completely to myself to work on ENIGMA. I've tried not to complain much, but the workload is pretty big, and I'm actually enrolled in a college course at the same time as the high school ones. So things get hectic sometimes. I'm typing with my eyes closed at this moment, because I'm sorta too tired to keep them open. (Plus, this monitor is killing my eyes on its own. -.-)

That being said... I don't even know what I want from you people. Just hang in there, we're not dead yet.

Final note to SVN crawlers:
All the bugs from R3 are fixed. If you can pick out the fixed codes and patch R3 with them, feel free to hold a private release. May prove a challenge, considering... but feel free to give it a shot.
However, I don't wanna hear how poorly commented my code is, and how ill-structured it is, and how badly it abuses empty space, and how you don't find my choice of profane variable names funny. The code was released under the GPL solely to be in good spirit and ensure free-ness, not because I expect or even want your help and rude commentary.

Thank you.
Sorry if I don't sound myself, I'm pretty tired. Just figured I'd disclaim my SVN before I go to bed, and before it becomes a total train wreck.

Announcements / Re: Progress Report
« on: March 15, 2009, 11:07:09 am »
Keen eye, and good guess. It is indeed Fedora. Or I suppose one of those could have been Ubuntu... I have both. But I finished it on Fedora, so I'm assuming that's what it is.

Announcements / Re: Progress Report
« on: March 14, 2009, 08:31:08 am »
I will certainly consider it. If I can talk Ism into adding one before we finalize version 5 of the format, then you can expect to see it next release. As well as exe icons. Note that unlike GM, Icons will support the three layer format, or any format Windows can read.

Also, happy Pi day to all.

Proposals / Re: Difficult!!!
« on: March 12, 2009, 06:54:05 pm »
I deleted my post. Now you look like you're talking to yourself. HA!

Issues Help Desk / Re: Help a noobie.
« on: March 12, 2009, 03:52:27 pm »
Actually, some things work. ^_^"

Anyway, I don't ban people for speaking their mind. Except Dave.

All we can do ("we" here means "I" and maybe "luda") is try to get things that give the most trouble working. All the rest of you can do is wait and hope that next release covers the functions you need.

Rome wasn't built in a day. GM wasn't built in a year. Given, GM gives me a "blueprint" of the final look and feel, but not specifics. That's up to us.

Announcements / Re: Progress Report
« on: March 12, 2009, 03:45:43 pm »
Yeah, it returns which item the user clicked. I think I counted submenus as an item index, so you can just count lines. It's a matter of convenience, and can be changed later.

And no, I'm not setting an ETA until it's all the way I like it and I can release any time I want.

Proposals / Re: Difficult!!!
« on: March 12, 2009, 03:43:51 pm »
Thank you for your feedback, asshole. ^_^

Note: at the time of posting, his username was "asshole"

Announcements / Progress Report
« on: March 10, 2009, 06:57:53 pm »
A2h just reminded me to the fact that I never tell you people anything. I guess I'm only really good at creating mob mentalities, as far as public relations go.

Anyway, progress. Um... Whew...

I guess I'll name stuff off as it comes to me.

draw_sprite_part() works now. I'll probably go over them all again and replace things.

I also never mentioned the new version works on Linux, so I guess that'd be noteworthy...

Oh right, last version didn't have game_end(), so that's in now...
Also, a lot of key systems have been and are being redone, new version allows some neater things:
1) Heredity, at your option. To my dearest cynics: it's not as easy as putting :public parentobject after the child object's name; please wake up and smell the coffee.
2) Annoying variables don't have to be there; I'm implementing a system to let you get rid of the ones no one ever uses. (And perhaps some of the ingrown ones like hspeed and vspeed-- though to remove one is to screw the link between them and direction and speed)
3) You can now replace instance ids returned by instance functions with pointers. This will have a screwy effect on room systems if you remove ID completely. Still working out some bugs.
4) I recoded the syntax checker and intend to redo a couple pieces of the parser for efficiency and further extendability; this will allow C++ users to define functions in C++ as well as structures, so you don't have to use ds_stack garbage all the time. (Not that those are implemented yet anyway)
5) A long time ago now I added a system to let you change compiler flags. This lets you strip the outputted exe, and have the compiler run optimizations on it.
6) Compile takes less than a third the time it did before, and will probably end up taking even less as more systems are redone externally.
7) Scripts and variable access have both been rethought. The new system incorporates "other", and is even more efficient than the last one. Instead of dynamically casting objects myself, I'm going to have the compiler add some functions to the class responsible for such conversions. This means slightly less ugly output code, number one, but more importantly, it means only the variable you need is given attention. It'll use an array for best efficiency of lookup time; this will cost a byte for each object for each variable accessed by means of (a).b.

There's probably more, but I'm working on a new C file parser so I can stop going through my headers manually collecting function names. Now this'll do it for me, which will put more information at the hands of the compiler.

So yeah, I have work to do, as always. To be honest, I have no idea when I'm going to release it. I've fixed all the bugs I heard about since R3, so I guess I could make a stub of a release after I wrap some more of this up, but... I guess I'll decide later. If you gripe enough, I'll prolly release it.

Oh, and we're adding the rest of the resources to the format. They're not hard to pull off. Except maybe time lines. I'm too lazy to do more code resources <_<"

...Fine, I'll do them. Leave me alone, I have work to do.

Oh right, show_menu_ext is new. I'll show ext_nl, see if you get the picture.
Code: [Select]
Item 1
Item 2
Item 3
/Censored by Catholic Church
  Submenu Item ZOMG
  And another
  What do we have here?
  >Another SUBMENU
    Goodness gracious
      Yes there is!
    <How about that?
<First level again
>One more submenu
  With some more fixins
  Like that separator
  /and this disabled thing");

That exact code produces this:

Also, here are the Linux shots:

Issues Help Desk / Re: Grid Bug
« on: March 03, 2009, 05:59:21 pm »
Fixed for next release.

Proposals / Re: Difficult!!!
« on: March 03, 2009, 04:58:52 pm »
I can edit the GML syntax, but I have to do that each time she updates LGM, and I forgot to do so last time. We'll probably work something out for that.

Also, DnD is now converted to code, a lot of it. So it's no longer totally unusable; I just have to make some synonyms of the currently finished functions for them.

Don't know how we'll indicate unimplemented DnD.

Ism refuses to take ENIGMA on as anything more than a plugin, is all.

« on: March 01, 2009, 08:29:11 pm »
Bwahahahaha, I thought I went back over that. *shrugs*

I guess I just had no idea what to do with it, so I left it.

You'll probably live. I think I'll replace it with ^ for now, and if that leads to problems, I'll make a function for it. -.-

Off-Topic / Re: How not to comment code.
« on: February 21, 2009, 10:01:31 pm »
All my code speaks for itself, you sillies.

file_find_first()? draw_text()? surface_create()?

What the hell do you think it does?

Tips, Tutorials, Examples / Re: How to Play Sounds
« on: February 20, 2009, 09:45:50 pm »