Plan for raising NPC-per-map limits
From OHRRPGCE-Wiki
[edit] NPC definitions
-
Store NPC pictures in an array of memory buffers, rather than an allmodex screen page(done) -
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) -
Update the N lump.(done)-
store record size in BINSIZE.BIN(done) -
get rid of 1920 wasted bytes in each record(done)
-
-
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)
-
-
Increase the NPC limit(done) -
Increase the limit even more!(done)
[edit] NPC locations
...and while we are at it...
-
Convert custom to use NPCInst objects instead of an array(done) - Replace the L lump with a RELOAD lump. See L
- Update all code that assumes that exactly 300 NPC instances exist, including RSAV saving/loading
-
Update code that saves/loads temporary map state(not needed) - 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.