-
Notifications
You must be signed in to change notification settings - Fork 4
LABDATA
Florian Ziesche edited this page May 14, 2015
·
18 revisions
- Length: 38 bytes
Offset | Length | Name | Description |
0 | 2 | wall height (scale #1) | relative wall height, 255 corresponding to one floor height? |
2 | 2 | camera height | height/y-offset of the camera/player on the map, computed as “(camera_height << 16) + 0xA5”, but also used as-is/16-bit |
4 | 2 | unused | - |
6 | 2 | background | background of the map (→ 3DBCKGR) |
8 | 2 | background y-position | max(1096 – (y_position >> 16), 0) |
10 | 2 | fog distance | amount of tiles when the fog starts (should be lower than max visible tiles) |
12 | 2 | fog red value | - |
14 | 2 | fog green value | - |
16 | 2 | fog blue value | - |
18 | 1 | unknown | - |
19 | 1 | unused | - |
20 | 1 | background color | palette index |
21 | 1 | unused | - |
22 | 2 | fog mode | ? |
24 | 2 | max light strength | max light strength |
26 | 2 | wall width (scale #2) | relative wall width, used as (1 << wall_width), always >= 128 and <= 1024 |
28 | 2 | background tile amount | - |
30 | 2 | max visible tiles | viewing distance / how many tiles the player can see |
32 | 2 | unused | - |
34 | 2 | lighting | lighting, multiplied with data @0xFAD66 and divided by 100, not entirely sure how being used |
36 | 2 | unused | - |
- First 2 bytes: amount of object entries
- Length: 2 + #objects * 66 bytes
- Note: the amount of sub-objects is always 8, but not all are used!
Offset | Length | Name | Description |
0 | 1 | autogfx type | → AUTOGFX |
1 | 1 | 0×00 | 0×00 |
Sub-Objects (amount: 8, length 8 bytes): | |||
i*8 + 0 | 2 | x-offset | x-offset or position on a tile |
i*8 + 2 | 2 | y-offset | y-offset or position on a tile |
i*8 + 4 | 2 | z-offset | z-offset or position on a tile |
i*8 + 6 | 2 | object info number | object info number (if 0: empty/ignore sub-object) |
- First 2 bytes: amount of floor/ceiling entries
- Length: 2 + #floors/ceilings * 10 bytes
- Note: the texture size of all floors/ceilings is 64*64 px
Offset | Length | Name | Description |
0 | 1 | properties | → Floor/Ceiling Properties below |
1 | 1 | unknown | - |
2 | 1 | unknown | always 0 |
3 | 1 | unknown | - |
4 | 1 | animation | #animations |
5 | 1 | unknown | always 0 |
6 | 2 | texture number | texture number (→ 3DFLOOR) |
8 | 2 | unknown | - |
- Set of flags (1 byte)
Bit | Effect |
0 | unknown |
1 | self-illuminating floor ? |
2 | not walkable |
3 | unknown |
4 | unknown |
5 | walkable |
6 | grayed ? |
7 | floor using self-illuminating colors ? |
- First 2 bytes: amount of object info entries
- Length: 2 + #object infos * 16 bytes
Offset | Length | Name | Description |
0 | 1 | properties | properties & 0×4 == 1: object is on the floor/ceiling, else: object faces the player |
1 | 3 | collision | collision data |
4 | 2 | texture number | texture number (→ 3DOBJEC) |
6 | 1 | animations | #animations |
7 | 1 | unknown | always 0 |
8 | 2 | texture width | texture width |
10 | 2 | texture height | texture height |
12 | 2 | map x size | x-size of the object texture on the map |
14 | 2 | map y size | y-size of the object texture on the map |
- First 2 bytes: amount of wall entries
- Length: 2 + #walls * 16 bytes + #overlays * 12 bytes
- Note: each wall is directly followed by its overlay data
Offset | Length | Name | Description |
0 | 1 | properties | → Wall Properties below |
1 | 3 | collision | collision data |
4 | 2 | texture number | texture number (→ 3DWALLS) |
6 | 1 | animations | #animations |
7 | 1 | autogfx type | → AUTOGFX |
8 | 1 | palette index | palette index (only used when it’s a transparent wall → filled with that color) |
9 | 1 | unknown | - |
10 | 2 | texture width | texture width |
12 | 2 | texture height | texture height |
14 | 2 | overlay count | amount of overlays |
- Set of flags (1 byte)
Bit | Effect |
0 | unknown |
1 | self-illuminating wall |
2 | write overlay 0×00 bytes |
3 | unknown |
4 | unknown |
5 | alpha-tested |
6 | transparent |
7 | wall using self-illuminating colors ? |
Offset | Length | Name | Description |
0 | 2 | texture number | texture number (→ 3DOVERL) |
2 | 1 | animations | #animations |
3 | 1 | write zero | write 0×00 bytes? (0: yes, else: no) |
4 | 2 | y-offset | y-offset on the wall texture |
6 | 2 | x-offset | x-offset on the wall texture |
8 | 2 | texture width | texture width |
10 | 2 | texture height | texture height |