1.3 KiB
1.3 KiB
Construct Map Region
The construct map region packet sends a dynamic map region that is constructed by using groups of 8x8 tiles. It is generally used for instanced areas, such as fight caves, and in later revisions, player owned houses.
Packet Details
Key | Value |
---|---|
Name | Construct map region |
Description | Constructs a new map region from a palette of 8x8 tiles. |
Opcode | 241 |
Type | Variable Short |
Length | N/A |
Revision | 317 |
Packet Structure
Data Type | Description |
---|---|
Short Special A | The region Y coordinate (absolute Y coordinate / 8), plus 6. |
Bit block | See below. |
Short | The region X coordinate (absolute X coordinate / 8), plus 6. |
Bit block
The bit block contains the 'palette' of map regions to make up the new region.
A loop is used to construct it, as follows:
for (int z = 0; z < 4; z++) {
for(int x = 0; x < 13; x++) {
for(int y = 0; y < 13; y++) {
// data for this region
}
}
}
The individual format in each iteration of the loop is:
- 1 bit - set to 0 to indicate to display nothing, 1 to display a region
- 26 bits - if the flag above is set to 1:
region_x << 14 | region_y << 3