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
  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
  3. Update the N lump.
    • remove bsave header
    • store record size in BINSIZE.BIN
    • get rid of 1920 wasted bytes in each record
    • store N lump record count to MAP lump
  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
  5. Increase the NPC limit

[edit] NPC locations

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

  1. update the L lump.
  2. remove BSAVE header.
    • store record size in BINSIZE.BIN
    • get rid of (or re-purpose) 2 wasted bytes in each record
    • store L lump record count to MAP lump
  3. Update all code that assumes that exactly 300 NPC instances exist

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 performance impact, both on display and tag-checking.

Personal tools