Okay, it's almost there!
The holdup was I needed to load all the data from the xml files, finish some code to instantiate game objects, add scripting for it, manage all this crap, and be able to initialize combat entities from it, to name a few.
How it works:
Verbage: Well call Map-type entities "Players", "Npc's", and "Enemies", and Battle types "Monsters" and "Characters" for now.
-Battle Combatants (Monsters and Characters) derive from "IGameEntity" which magically makes script classes inherit from a c++ class. From here you can theoretically do anything you want and can clone QBert using the battle engine if that's what gets you, but for now we'll go into the standard RPG stuff.
I basically chose a "every entity can do whatever it wants" approach instead of the more 1990-2000 "everything is handled by one big battle engine" approach. I'm about 98.17% sure this is not how early FF (or SNES) RPGs did it, but a more modern approach is way more flexible and powerful. The downside is things may be more tricky initially since "do whatever you want" is not always what you want. ..Make sense?
[// todo: write battle logic design here... have fun! //]
Side note on animations:
spriteset.state = WALKING; //states is an array of animations
spriteset[CASTING].frame = 0;
there are no flags available to scripts yet (flip etc.)
Side note on functions, declarations: I try to make everything as easy to use as possible despite their complexity, but because of the sheer amount of things that need work on there may be things left out, incorrect, horribly named, etc, so if you have any suggestions for anything don't hesitate!
Also the projection is set at 256x224. Should it be something else?
Thoughts?
[edit] HAVE BATTLE LOOP AND SCRIPT COMPILES! ...I'll finish the rest tomorrow.. it needs sleep now.
..Also needs targeting data still...