RhythmHeavenSilver/tools/abcde/eg/NES/Dragon Warrior II/Cartographer.txt

371 lines
8.3 KiB
Plaintext

#GAME NAME: Dragon Warrior II (U) [!].nes
// list of additional table files switched into from some block's #TABLE:
#SUB TABLE: credits.tbl
#SUB TABLE: cursor.tbl
#SUB TABLE: heights.tbl
#SUB TABLE: menu.tbl
#SUB TABLE: menu_links.tbl
#SUB TABLE: pos.tbl
#SUB TABLE: pos2.tbl
#SUB TABLE: widths.tbl
// if you need to edit it, the dictionary for the main script is at $B49B-$B686, with the entry lengths stored at $B44B-$B49A
#BLOCK NAME: Main Script Part 1
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $B762
#POINTER TABLE STOP: $B7BD
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 16
#AUTO JUMP START: $17FE7
#AUTO JUMP STOP: $B7C2
#ATLAS PTRS: Yes
#BASE POINTER: $C010
#TABLE: dw2_script.tbl
#COMMENTS: Both
#END BLOCK
// bank swap
#BLOCK NAME: Main Script Part 2
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $B7BE
#POINTER TABLE STOP: $B7C1
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 16
#ATLAS PTRS: Yes
#BASE POINTER: $10
#TABLE: dw2_script.tbl
#COMMENTS: Both
#END BLOCK
// Note that the original game uses " DETOXICATE " instead of " DETOXICATE[line]" and abcde will combine DETOXICATE's trailing space with " UNCURSE[line]"'s leading space into a single " " token (<$82> instead of <$81><$81>), but DW2's menu code doesn't handle those the same way when they terminate a menu line, so you'll want to edit that line before re-inserting it.
#BLOCK NAME: Menus
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $7652
#POINTER TABLE STOP: $76E5
#POINTER SIZE: $02
#POINTER SPACE: $00
#SCRIPT STOP: $7F20
#SORT OUTPUT BY STRING ADDRESS: Yes
#STRINGS END AT NEXT POINTER: Yes
#ATLAS PTRS: Yes
#BASE POINTER: -$3FF0
#TABLE: menu_params.tbl
#COMMENTS: Both
#END BLOCK
// pointer points 1 byte before data, relying on X > 0; string length is set at $3EDBE
#BLOCK NAME: "ADVENTURE LOG", stored backwards
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $3EDC4
#POINTER TABLE STOP: $3EDC5
#POINTER SIZE: $02
#POINTER SPACE: $00
#SCRIPT STOP: $3EDDC
#ATLAS PTRS: Yes
#BASE POINTER: $30011
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Prologue
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $1CAB1
#POINTER TABLE STOP: $1CAB2
#POINTER SIZE: $02
#POINTER SPACE: $00
#ATLAS PTRS: Yes
#BASE POINTER: $14010
#TABLE: spacer.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: End Credits
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $242AE
#POINTER TABLE STOP: $242AF
#POINTER SIZE: $02
#POINTER SPACE: $00
#ATLAS PTRS: Yes
#BASE POINTER: $1C010
//#SCRIPT STOP: $247D5
#TABLE: credits_spacer.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Monster Counts
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $BF0A
#POINTER TABLE STOP: $BF0B
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 8
#ATLAS PTRS: Yes
#BASE POINTER: $10
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Direction Names
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $1925E
#POINTER TABLE STOP: $1925F
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 4
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Prince of Cannock Names
#TYPE: FIXED_STRING
#STRING LENGTH: 64
#STRING END: No
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $1AD13
#POINTER TABLE STOP: $1AD14
#POINTER SIZE: $02
#POINTER SPACE: $00
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Princess of Moonbrooke Names
#TYPE: FIXED_STRING
#STRING LENGTH: 64
#STRING END: No
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $1AD31
#POINTER TABLE STOP: $1AD32
#POINTER SIZE: $02
#POINTER SPACE: $00
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Items 1 Line 1
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $18032
#POINTER TABLE STOP: $18033
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 32
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Items 2 Line 1
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $18040
#POINTER TABLE STOP: $18041
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 32
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Items 1 Line 2
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $18034
#POINTER TABLE STOP: $18035
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 32
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Items 2 Line 2
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $18042
#POINTER TABLE STOP: $18043
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 32
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Spells
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $18036
#POINTER TABLE STOP: $18037
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 32
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
// pluralization code: 0x01C805 - 0x01C8F1
// -ngo -> -ngo
// -f -> -ves (not used)
// -y -> -ies
// -i -> -ies
// -rus -> -rii, -s -> -ses
// -ch -> -ches, -sh -> -shes
// -man -> -men, -Man -> -Men
// -mouse -> -mice, -Mouse -> -Mice
// -dead -> -dead
// - -> -s
#BLOCK NAME: Monsters 1 Line 1
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $18038
#POINTER TABLE STOP: $18039
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 50
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Monsters 2 Line 1
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $18044
#POINTER TABLE STOP: $18045
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 33
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Monsters 1 Line 2
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $1803A
#POINTER TABLE STOP: $1803B
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 50
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Monsters 2 Line 2
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $18046
#POINTER TABLE STOP: $18047
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 33
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
#BLOCK NAME: Crests
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $19C36
#POINTER TABLE STOP: $19C37
#POINTER SIZE: $02
#POINTER SPACE: $00
#STRINGS PER POINTER: 3
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
// stuff used for redrawing sections of the main COMMAND menu when switching between EQUIP windows
#BLOCK NAME: COMMAND menu partial redraw (the actually used version)
#TYPE: FIXED_STRING && FIXED_LINE
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $3F90D
#POINTER TABLE STOP: $3F90E
#POINTER SIZE: $02
#POINTER SPACE: $00
#ATLAS PTRS: Yes
#BASE POINTER: $30010
#STRING LENGTH: $40
#STRING END: No
#LINE LENGTH: 4
#LINE END: No
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK
// same as above, but called during battle where there is no COMMAND menu; completely useless?
#BLOCK NAME: COMMAND menu partial redraw (the useless version)
#TYPE: FIXED_STRING && FIXED_LINE
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $1803C
#POINTER TABLE STOP: $1803D
#POINTER SIZE: $02
#POINTER SPACE: $00
#ATLAS PTRS: Yes
#BASE POINTER: $10010
#STRING LENGTH: $40
#STRING END: No
#LINE LENGTH: 4
#LINE END: No
#TABLE: dw2.tbl
#COMMENTS: Both
#END BLOCK