diff options
| author | yenatch <yenatch@gmail.com> | 2013-05-15 22:04:43 -0400 |
|---|---|---|
| committer | yenatch <yenatch@gmail.com> | 2013-05-15 22:04:43 -0400 |
| commit | 8d770cd80da45dd7902d5489a34d9386aff5cae7 (patch) | |
| tree | 2034b84cdc69f7dcb6bf3cb4715f0d6db4e59aa2 | |
| parent | 4ec3769cee9c1a9fbba741e5021d50f2f749039f (diff) | |
Crystal: More meaningful connection definitions
| -rw-r--r-- | GSC/connections.mdwn | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/GSC/connections.mdwn b/GSC/connections.mdwn index f20f05e..3c50abb 100644 --- a/GSC/connections.mdwn +++ b/GSC/connections.mdwn @@ -1,15 +1,15 @@ # definitions -*strip pointer* is blockdata in ROM, the address of the blockdata of the new map. +*strip pointer* is the address of the first tile drawn from the blockdata of the new map that appears in a connection strip. Strips are always drawn starting from the top-left. -*strip destination* is where the strip gets drawn on the current map. The strip destination for a given connection will point to the location in the $c800 map to start drawing the connection strip. +*strip destination* is the address of the first tile of the connection strip on the current map struct. The strip destination for a given connection will point to the location in the $c800 map to start drawing the connection strip. -*connection strip length* is the height of the strip in east/west connections, and the width of the strip in north/south connections. +*connection strip length* is the height of the strip in east/west connections, and the width of the strip in north/south connections. The opposite dimension is 3 blocks. -*window* is the block that is supposed to be at the top-left of the screen. For east and south connections, window is the tile where the map (that you just left) starts. When you walk into the new map, apparently it uses the map you just left as a reference to draw the other tiles. +*window block* is the address of the block in the new map struct that is supposed to be at the top-left of the screen when you enter the new map. This is used as a reference to draw new tiles to the bg map. Vertical (east/west) and horizontal (north/south) distance from the edge of the map are factored in at runtime. -*x offset* is because the engine needs to know where the player is on the new map, so if the player's last x value on the previous map is different from what the x value should be on the next (connecting) map, then x offset needs to be set. If the x location is the same, then x doesn't need to be set (but there's also a y offset which is exactly the same, except for the other dimension). +*x offset* and *y offset* adjust the player's position when entering the new map. This generally means placing the player at the opposite end of the map in the direction they entered from. # diagram |
