#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
