Plan for raising sprite frame limits
From OHRRPGCE-Wiki
This article or section is not complete. If you wish, you may finish it, and remove this tag when you are done.
- More discussion is needed before we can formulate a plan for this.
- Raising max frames per set
- (Maybe?) store each graphics-set as a separate file (not each frame). As a nice side-effect, could make sprite-set import/export hella easy
- Changing the way Game and Custom treat sprites is a must. Frames need to be treated as individual bitmaps, in a separate UDT (Sprite would work). (partially done)
- Given that, then Sprite Sets could be implemented either as an array in the context of whatever is using the sprites (eg, a hero has an array of frames that comprise its graphics) or as an abstraction (i.e. a Sprite is a collection of Frames).
- Using new frames
- Heroes should have settings for which fames are used for which animations. These should all default to the current fixed frame numbers (this part can be done even before the max frame limit is raised)
- Whatever scheme is developed here can later also be used for Plan for animating enemies
[edit] DT0 proposal
Moved from DT0.
Personally I extremely opposed to this proposal --The Mad Cacti
I had not started writing code for those yet. I liked that plan for its simplicity, I could have made it work in a few hours of work, as opposed to a full overhaul of the sprite storage and aminating systems, which could take a very long time. But I do understand that it would have added additional backcompat burden, so I am willing to not do it as proposed below. --Bob the Hamster
| Offset | Data | Meaning |
| 301 | INT | Standing frame +1, 0=default (0) |
| 302 | INT | Stepping frame +1, 0=default (1) |
| 303 | INT | Attack A frame +1, 0=default (2) |
| 304 | INT | Attack B frame +1, 0=default (3) |
| 305 | INT | Cast frame +1, 0=default (4) |
| 306 | INT | Hurt frame +1, 0=default (5) |
| 307 | INT | Weak frame +1, 0=default (6) |
| 308 | INT | Dead frame +1, 0=default (7) |
| 309 | INT | Targetting frame +1, 0=default (0) |
| 310 | INT | Victory A frame +1, 0=default (0) |
| 311 | INT | Victory B frame +1, 0=default (2) |