Well, I'm back on the GM development scene after having many months of my life mostly consumed by World of Warcraft. My first new project is EForms2, which will be bigger, better, faster, and easier than the original EForms.
I had an epiphany in the shower this morning (great place for epiphanies)...I've been pretty much copying the underlying structure from EF1, with the entire system done as a series of scripts. This is kind of a painful way to do things, and this morning I realized that the only reason I did it that way in the first place was because we didn't have the Merge Game feature back when I wrote it. EF2 will be distributed as a .GM6 file, with objects, scripts, constants, and maybe even some fonts and sprites. This should make programming for the end-user much easier too, since object and constant names will be highlighted in the editor.
Another internal improvement over EF1 will be the way events are handled. I just now realized (don't laugh) that instead of having a custom event system to handle events like "left mouse button down" or "draw" for each object, I can use the GM events. Since the actual EF2 objects are set visible=false and are located offscreen, they won't get click or draw events through GM, but I'm free to call them on my own whenever appropriate, which is perfect. That opens the door to almost-true object subclassing for those users advanced enough to want it. If you want a window that makes a sound every time you click somewhere in it, just make your own object, give it EF_Window as a parent, and in your left button event, play the sound, then call event_inherited() to do the default EF_Window stuff.
Another advantage of EF2 is performance. GM6.1's surfaces are a godsend. Since EF2 will be almost entirely event-driven, nothing will change unless the user is clicking or hitting keys or whatever. That means that each window will usually look the same from one step to another. Since I use surfaces to store each window, all that has to be done in that case is to slap the surface up on the screen, and that's a very fast operation.
Comments
Oct '05
24
Pages: 1
[1]
Have your say