Plan for raising sprite frame limits

From OHRRPGCE-Wiki
Jump to: navigation, search
Revise.png
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)

[edit] See Also

Personal tools