diff options
| author | yenatch <yenatch@gmail.com> | 2013-05-16 02:10:57 -0400 |
|---|---|---|
| committer | yenatch <yenatch@gmail.com> | 2013-05-16 02:10:57 -0400 |
| commit | 5870b2cb61a21920849dfd4407bb0d6bb5ce6598 (patch) | |
| tree | fb2f15917cf06cbcdb597af413c5e639a6e92bf9 | |
| parent | 8d770cd80da45dd7902d5489a34d9386aff5cae7 (diff) | |
Crystal: Generalized 20x20 connection data
| -rw-r--r-- | GSC/connections.mdwn | 49 |
1 files changed, 43 insertions, 6 deletions
diff --git a/GSC/connections.mdwn b/GSC/connections.mdwn index 3c50abb..19338db 100644 --- a/GSC/connections.mdwn +++ b/GSC/connections.mdwn @@ -55,12 +55,49 @@ Here's a handy cheat sheet for common addresses used when making connections. No <tr><td>bottom right block</td><td>...</td><td>$c800 + (2 * (3 * w)) + (2 * (3 * h)) + (w * h) + 36 - 1</td></tr> </table> -# 20x20 map simplifications -For all 20x20 maps: +# 20x20 map simplifications -* north connection strip is at top left of the top 3xw -* west connection strip is at top left of left hx3 -* east connection strip is at top left of right hx3 -* south connection strip is at top left of bottom 3x +Flush 20x20 maps can be connected to achieve a seamless overworld. +Take caution to make applicable corners use the same blocks as the opposite diagonal map's border tile. + +## North + ; NORTH to Example + db GROUP_EXAMPLE, MAP_EXAMPLE + dw Example_BlockData + EXAMPLE_WIDTH * (EXAMPLE_HEIGHT - 3) ; strip pointer + dw OverworldMap + 3 ; strip destination + db EXAMPLE_WIDTH ; strip length + db EXAMPLE_WIDTH ; connected map width + db EXAMPLE_HEIGHT * 2 - 1, 0 ; y, x offset + dw OverworldMap + (EXAMPLE_WIDTH + 6) * (EXAMPLE_HEIGHT) + 1 ; window + +## South + ; SOUTH to Example + db GROUP_EXAMPLE, MAP_EXAMPLE + dw Example_BlockData ; strip destination + dw OverworldMap + (EXAMPLE_WIDTH + 6) * (EXAMPLE_HEIGHT + 3) + 3 ; strip location + db EXAMPLE_WIDTH ; strip length + db EXAMPLE_WIDTH ; connected map width + db 0, 0 ; y, x offset + dw OverworldMap + EXAMPLE_WIDTH + 6 + 1 ; window + +## West + ; WEST to Example + db GROUP_EXAMPLE, MAP_EXAMPLE + dw Example_BlockData + EXAMPLE_WIDTH - 3 ; strip pointer + dw OverworldMap + (EXAMPLE_WIDTH + 6) * 3 ; strip destination + db EXAMPLE_HEIGHT ; strip length + db EXAMPLE_WIDTH ; connected map width + db 0, EXAMPLE_WIDTH * 2 - 1 ; y, x offset + dw OverworldMap + EXAMPLE_WIDTH * 2 + 6 ; window + +## East + ; EAST to Example + db GROUP_EXAMPLE, MAP_EXAMPLE + dw Example_BlockData ; strip pointer + dw OverworldMap + (EXAMPLE_WIDTH + 6) * 4 - 3 ; strip destination + db EXAMPLE_HEIGHT ; strip length + db EXAMPLE_WIDTH ; connected map width + db 0, 0 ; y, x offset + dw OverworldMap + EXAMPLE_WIDTH + 6 + 1 |
