diff options
| author | yenatch <yenatch@gmail.com> | 2015-02-11 23:18:24 -0800 | 
|---|---|---|
| committer | yenatch <yenatch@gmail.com> | 2015-02-11 23:27:11 -0800 | 
| commit | 2c5be6760437c363617ad4052a40e5f5fd8e7470 (patch) | |
| tree | 5bba9de8ec87b724bad5722ef1c02db26dc69495 /macros | |
| parent | 48b05947b7b05cccf6f8af9c8b65e1b4f2d85e54 (diff) | |
Move second map header macros into macros/map.asm.
On second thought, keep the data separate from ugly macros.
Diffstat (limited to 'macros')
| -rw-r--r-- | macros/map.asm | 87 | 
1 files changed, 87 insertions, 0 deletions
| diff --git a/macros/map.asm b/macros/map.asm index ef62f386f..81ac32a1b 100644 --- a/macros/map.asm +++ b/macros/map.asm @@ -64,3 +64,90 @@ warp_def: macro  	db \4 ; map group  	db \5 ; map number  	endm + + +map_header_2: MACRO +; label, map, border block, connections +\1_SecondMapHeader:: +	db \3 +\2\@HEIGHT EQUS "\2_HEIGHT" +\2\@WIDTH  EQUS "\2_WIDTH" +	db \2\@HEIGHT, \2\@WIDTH +	db BANK(\1_BlockData) +	dw \1_BlockData +	db BANK(\1_MapScriptHeader) +	dw \1_MapScriptHeader +	dw \1_MapEventHeader +	db \4 +ENDM + +connection: MACRO +if "\1" == "north" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: x +;\5: offset? +;\6: strip length +;\7: this map id +	map \2 +	dw \3_BlockData + \2_WIDTH * (\2_HEIGHT - 3) + \5 +	dw OverworldMap + \4 + 3 +	db \6 +	db \2_WIDTH +	db \2_HEIGHT * 2 - 1 +	db (\4 - \5) * -2 +	dw OverworldMap + \2_HEIGHT * (\2_WIDTH + 6) + 1 +endc + +if "\1" == "south" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: x +;\5: offset? +;\6: strip length +;\7: this map id +	map \2 +	dw \3_BlockData + \5 +	dw OverworldMap + (\7_HEIGHT + 3) * (\7_WIDTH + 6) + \4 + 3 +	db \6 +	db \2_WIDTH +	db 0 +	db (\4 - \5) * -2 +	dw OverworldMap + \2_WIDTH + 7 +endc + +if "\1" == "west" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: y +;\5: offset? +;\6: strip length +;\7: this map id +	map \2 +	dw \3_BlockData + (\2_WIDTH * \5) + \2_WIDTH - 3 +	dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3) +	db \6 +	db \2_WIDTH +	db (\4 - \5) * -2 +	db \2_WIDTH * 2 - 1 +	dw OverworldMap + \2_WIDTH * 2 + 6 +endc + +if "\1" == "east" +;\2: map id +;\3: map label (eventually will be rolled into map id) +;\4: y +;\5: offset? +;\6: strip length +;\7: this map id +	map \2 +	dw \3_BlockData + (\2_WIDTH * \5) +	dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3 + 1) - 3 +	db \6 +	db \2_WIDTH +	db (\4 - \5) * -2 +	db 0 +	dw OverworldMap + \2_WIDTH + 7 +endc + +ENDM | 
