Good news - I fixed the HP problems. Turned out that S20's method of using health worked but then seemed to result in confused variables between objects of the same type, so I used what I came up with for my turrets and assigned a parent variable and stuff. I'm not good at explaining intricate things in text, you'll see it in MK-V with basically all of the 3D enemies (specifically two) that constantly switch back between eachother. There's another 3D enemy but they're kamikaze popcorns anyway and they don't switch back to their 3D-altering counterpart once they've spawned.
Furthermore, most of the new stage is finished. However now GMOSSE no longer maintains a proper 60 FPS running it. I suspect this is a combination of various new things I've implemented, hopefully clipping down on the music (the first stage theme can easily be made to loop like the ship selection theme but I didnt bother to think of doing that so load times are awful) and possibly some altering of visual stuff here and there may get things under control, but I'm worried that I may not be able to rein it in. Currently it behaves much like XYX does on my legacy PC - stutters a bit when loading enemies for the first time, and then runs mostly smoothly afterwards. And on my Uni test machine which is a Pentium 4 with more RAM and an integrated graphics card the music actually stutters between rooms. I wonder if I stopped using the CleanMem.dll maybe it might actually do something.
Another idea might be to externalise enemy graphics too but I'm not sure if that'll do any good. GMOSSE's GMK size is at it's highest yet at 1,067 KB so chances are its own internal memory footprint might have something to do with it.
Also, since I've come to realise that with an actual stage done most of the player ships are unbalanced I've been tweaking them in parts, current changes off the top of my head are as follows:
- Swordfish can now focus its missile shot to ensure all missiles hit target
- Invader's firerate is now object-relative, so point-blanking is efficient and viable for it now. Dropped its damage somewhat to compensate.
- Arxtyan's wide shot is altered and is now actually useful and somewhat powerful too. Damage for it and its lock-shot also altered.
- Xonochrome has remained the same for a while now but since I changed the missiles I reduced their damage as well. Main shot remains the same.
These figures are still subject to change, and I haven't started on the replacement Gleylancer ship either.
Finally, I added an obj_externalcontrol that handles loading of sprites and backgrounds from external sources. Kaiser was looking at the current source for GMOSSE and couldn't figure out where the code for the backgrounds were, which was because I stupidly put them in the intro controller when they should be in a more obvious area. I also fixed all of the effects and stuff going weird when you select Return To Ship Select from the Pause menu, and added the transitioner effect to it as well.
Bottom line, I expect to be able to release MK-V by the end of this month providing schoolwork doesn't get in the way too much. I want three things sorted by then:
- the Gleylancer ship
- the new stage
- the performance issues
Once that's done I'll be happy and everyone else will be too since it's a significant jump from MK-IV in regards to general stability. I'll also add my "Prime Directives" for GMOSSE in the intro somewhere which should give a clear and consise idea as to exactly what the hell GMOSSE is, and what to follow at all times in regards to adding stuff to it.
EDIT: Shortened some of the music, particularly the intro which I edited to go for only half as long while still ending like it should, the stage 1 music is looped and the boss theme is looped with custom loop points (thanks to
Capn' Coconuts for the looppoint how-to for Audacity by the way as well). Quality hasn't been affected. This should improve load times slightly. Also finished fixing up that enemy I wanted to recode, haven't really tested on the legacy PC to see the differences yet but chances are there should be improvements. At the very least the enemies make better use of the 3D perspective instead of fancy colour blending and teleporting.