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.
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:
Also, here are the Linux shots: