Plan for raising NPC-per-map limits

From OHRRPGCE-Wiki
Jump to: navigation, search

[edit] NPC definitions

  1. Store NPC pictures in an array of memory buffers, rather than an allmodex screen page (done)
  2. Optimize NPC picture array to behave as a cache, only storing each set once, and automatically adding new entries when alter NPC changes an NPC's picture (done)
  3. Update the N lump. (done)
    • store record size in BINSIZE.BIN (done)
    • get rid of 1920 wasted bytes in each record (done)
  4. Update all code that assumes that exactly 36 NPCs exist
    • take special care that accessing non-existent NPC IDs <= 35 from a plotscript fails gracefully (why was this a problem?) (Not sure, since accessing a non-existent NPC ID <= 35 does nothing anyway) (N/A)
  5. Increase the NPC limit (done)
  6. Increase the limit even more! (done)

[edit] NPC locations

...and while we are at it...

  1. Convert custom to use NPCInst objects instead of an array (done)
  2. Replace the L lump with a RELOAD lump. See L
  3. Update all code that assumes that exactly 300 NPC instances exist, including RSAV saving/loading
  4. Update code that saves/loads temporary map state (not needed)
  5. raise NPC instance limit

Note that just because you will be able to use lots of NPCs on a single map, don't go hog-wild, because too many extra NPCs will have a (microscopic) performance impact, both on display and collision-checking.

Personal tools