ENIGMA Forums

General fluff => Announcements => Topic started by: Josh @ Dreamland on March 10, 2009, 06:57:53 pm

Title: Progress Report
Post by: Josh @ Dreamland 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.

get_string()
get_color()
show_menu()
show_menu_ext()
show_menu_ext_nl()
clipboard_get_text()
clipboard_set_text()
clipboard_has_text()
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]
show_menu_ext_nl(m.x,m.y,"
Item 1
Item 2
Item 3
-
[]unchecked
[*]checked
()unradiod
(*)radiod
-
/Disabled
/Censored by Catholic Church
-
>Submenu
  Submenu Item ZOMG
  And another
  What do we have here?
  >Another SUBMENU
    Goodness gracious
    >More?
      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:
(http://www.enigma-dev.org/scr/smenl.png)

Also, here are the Linux shots:
(http://www.enigma-dev.org/scr/linux-screenshot.png)
(http://www.enigma-dev.org/scr/trial-and-error.png)
Title: Re: Progress Report
Post by: skarik on March 10, 2009, 07:46:47 pm
Is there an eta?
Title: Re: Progress Report
Post by: score_under on March 11, 2009, 02:18:14 pm
We're not even up to the zeta version yet, you epsilon semi-moron! :P
Title: Re: Progress Report
Post by: RetroX on March 11, 2009, 06:28:04 pm
Zeta would be like, v263.

Also, how exactly will we make the items, erm, do stuff?
Title: Re: Progress Report
Post by: skarik on March 11, 2009, 07:04:33 pm
We're not even up to the zeta version yet, you epsilon semi-moron! :P
What in the world is a zeta version? Is that like the 6th/7th version before the first version. Wait, what am I saying?

I meant an ETA on this version, unless it's already here.
Title: Re: Progress Report
Post by: Rusky on March 11, 2009, 09:29:56 pm
probably like in GM, where it returns which item got clicked.

the eta is probably in valve time anyway.
Title: Re: Progress Report
Post by: RetroX on March 12, 2009, 03:25:08 pm
Ah, I see. =P
Title: Re: Progress Report
Post by: Josh @ Dreamland 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.
Title: Re: Progress Report
Post by: RetroX on March 12, 2009, 07:42:36 pm
lol

Anyways, since the menu function inspired me, would it be possible option for later (probably much later) to add top menu resources for rooms?  Probably not an important function, but I see it as easy to make.  This, and also, it would be greatly appreciated if you could implement the icons from LGM and remove the 32x32 limit.
Title: Re: Progress Report
Post by: Josh @ Dreamland 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.
Title: Re: Progress Report
Post by: score_under on March 14, 2009, 08:56:04 am
Also, happy Pi day to all.
Except that over here, it's 14/3, not 3/14...

Why do Americans order the date like that?
I mean, in the UK it's ordered from smallest unit to largest (day, month, year), but in the US it's just messed up (month, day, year). Any reason?
Title: Re: Progress Report
Post by: Rusky on March 14, 2009, 11:38:42 am
to have pi day. that's the only reason.
except maybe, don't you write out the date "March 14, 2009?" or is that just another US thing?
Title: Re: Progress Report
Post by: RetroX on March 14, 2009, 01:37:26 pm
Pi day is awesome.  And hoorah for mulit-layer icons.
Title: Re: Progress Report
Post by: score_under on March 14, 2009, 03:45:41 pm
don't you write out the date "March 14, 2009?"
50/50 between that and "14th March 2009".
Title: Re: Progress Report
Post by: notachair on March 14, 2009, 03:46:14 pm
For easy sorting you can't beat this: 2009/03/15
Title: Re: Progress Report
Post by: Rusky on March 14, 2009, 10:00:16 pm
lolyup
but if you're going with that, just use timestamps
Title: Re: Progress Report
Post by: nbeerbower on March 15, 2009, 09:02:21 am
What Linux Distro are you using?
Title: Re: Progress Report
Post by: RetroX on March 15, 2009, 10:26:23 am
Most likely Ubuntu or Fedora.  I mean, he's using Clearlooks, which is a GNOME theme, so it has to be some distro that uses GNOME.

And I'm guessing it's most likely Fedora.
Title: Re: Progress Report
Post by: Josh @ Dreamland 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.
Title: Re: Progress Report
Post by: RetroX on March 15, 2009, 01:21:45 pm
Yay. :3

Also, eww, stop using Clearlooks.  I use a modified theme that has red as the main color, uses the Clearlooks GTK theme, the Crux Metacity theme, and the SmoothGNOME icon theme.