Mass Sprite Sheet Expansion Battle & NPC
#56
The table at C3/6F00 is the portraits palettes offsets. You could instead load the SRAM sprite ID of the character and load the palette/portrait offset based on that value. Right now for palettes it's just a basic offset calculation (shown below). That value is then used at C3/6C41 and C3/7D05.

The table for portrait offsets is at C3/6F1B and an entry is a two bytes pointer based on the first portrait location in the ROM ($ED1D00). If you expand and relocate the portrait, some portion of code add #$1D00 to the table entry while others use the C3/7000 routine. Just search for "C36F1B" to get the place where the portrait offsets table is used.

I hope I didn't just repeated stuff you already knew :/

Code:
C3/6C31:    BF006FC3    LDA $C36F00,X    (load palette table entry)
C3/6C35:    C220        REP #$20          (16 bit memory/accum.)
C3/6C37:    0A          ASL A
C3/6C38:    0A          ASL A
C3/6C39:    0A          ASL A
C3/6C3A:    0A          ASL A
C3/6C3B:    0A          ASL A
Reply


Messages In This Thread
RE: Mass Sprite Sheet Expansion Battle & NPC - by madsiur - 12-12-2015, 12:13 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  NPC Sprite Sheet Expansion (m06 version) m06 19 26,856 01-17-2020, 01:19 PM
Last Post: Catone

Forum Jump:


Users browsing this thread: 3 Guest(s)