Users browsing this thread: 1 Guest(s)
Mass Sprite Sheet Expansion Battle & NPC
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 :/
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
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)