39
edits
(Updated actor section) |
|||
Line 86: | Line 86: | ||
====Actor Section==== | ====Actor Section==== | ||
This section is a FixedHash which holds actor data. Each entry corresponds to one actor. Every entry points to non-node data, | This section is a FixedHash which holds actor data. Each entry corresponds to one actor. Every entry points to non-node data, a block with a minimum size of 0x90 bytes, but can be longer. The names section is empty. The data block for each actor is formatted as follows. Some properties are related to measurements along the three axes; since Link's Awakening is a top-down game we will call the vertical axis Z (i.e. the axis perpendicular to the plane of the floor), and X and Y will be as normal for a 2D game. | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
Line 114: | Line 114: | ||
|- | |- | ||
|0x14 | |0x14 | ||
| | |float[3] | ||
|''' | |'''Co-ordinates''' as [X, Z, Y]. One in-game "tile" is 1.5 units. | ||
The co-ordinate system spans entire maps and is not specific to each room. [0, 0, 0] is the very top left corner of the map, at the elevation of the main floor plane of the map. | |||
Each room is 10x8 tiles, so they span 15 units along the X axis and 12 along the Y axis. | |||
|- | |- | ||
|0x20 | |0x20 | ||
| | |float[3] | ||
| | |'''Rotation''' about the [X, Z, Y] axes respectively, in degrees. | ||
|- | |- | ||
|0x2C | |0x2C | ||
| | |float[3] | ||
|''' | |'''Scaling''' along the [X, Z, Y] axes respectively. Note that scaling doesn't seem to affect collision for every actor and only scales the model in some cases. | ||
|- | |- | ||
|0x38 | |0x38 | ||
Line 189: | Line 168: | ||
'''xx bb kk ee''' 00 00 '''yy zz''' 00 00 00 00 | '''xx bb kk ee''' 00 00 '''yy zz''' 00 00 00 00 | ||
'''x''' indicates the number of | '''x''' indicates the number of entries in section 1. | ||
'''y''' indicates the number of | '''y''' indicates the number of entries in section 2. | ||
'''z''' indicates the number of | '''z''' indicates the number of entries in section 3. | ||
'''b''' appears to be 01 if the enemy appears from the +enemies tile in a chamber dungeon and 00 otherwise. | '''b''' appears to be 01 if the enemy appears from the +enemies tile in a chamber dungeon and 00 otherwise. |
edits