Well I’ve been making some fantastic progress presently. I have been working of getting things working correctly.
Stuff that has improved:
- Interaction with the script engine and the main program memory. I’ve written some quite cool reflection code to handle “missed” hard coded mapping’s. This is good because then the program keeps running, but I also get a log of mappings to hard code. The main reason for hard coding is to getting an understand for how the memory is accessed, when/why sort of stuff. This was a cause of quite a few errors, as the scripting was altering variables that the main engine was not seeing as changed.
- Interaction with the menu systems. There were lots of transcoding mistakes, and things are work much better now.
- The combat system is now working, compared to not at all. Lots still todo here, the biggest been getting the graphic’s to work when in combat. But progress is been made.
- Fixed the AND/OR script code to not using the flip instruction, this also was causing pain.
- Cracked some core graphic/UI naming, so large chucks of API/variables are starting to make sense. This is so pleasing when it happens.
I’ve also (at work at least) changed how I have the project (code) displayed. I’ve started using both monitors, with the original assembly on the right, which is fantastic when stepping through functions where the code looks odd, or copying large chunks of static data.
So all in all, the project is back on track, after being stalled for ages and I’m feeling really good about progress that is been made.
The one thing I’m putting off but needs to be done before it’s ready for “others” is rewrite the graphic subsystem to throw away the many pixel puffers, and compositing subsystems, and using a layered sprite API, ether DirectX (most likely) or OpenGL. But I’ll leave that till the current burst of effort starts to wane. Or the other way of putting it, I need to understand more of what is happening before I re-write it.