-
Notifications
You must be signed in to change notification settings - Fork 42
JMXVMAPM
Engels Quintero edited this page Jun 2, 2024
·
7 revisions
The JMXVMAPM1000 file format describes the map mesh of a world region.
12 char[] Signature //JMXVMAPM1000
for (int zBlock = 0; zBlock < 6; zBlock++)
{
for (int xBlock = 0; xBlock < 6; xBlock++)
{
4 uint block.Flag //0 = None, 1 = Culled
2 ushort block.EnvironmentID //see "environment.ifo"
//every block has 17 * 17 MapMeshVerticies
for (int z = 0; z < 17; z++)
{
for (int x = 0; x < 17; x++)
{
4 float vertex.Height
// (MSB) (LSB)
//bit | 15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
// | Scale | TextureID |
// TextureID corresponds to ID from tile2d.ifo
2 ushort vertex.Texture
1 byte vertex.Brightness //lighting direction indicator?
}
}
1 sbyte block.WaterType //-1 = None, 0 = Water, 1 = Ice
1 byte block.WaterWaveType //See Water folder?
4 float block.WaterHeight
// every block has 16 * 16 MapMeshTiles
for (int z = 0; z < 16; z++)
{
for (int x = 0; x < 16; x++)
{
2 ushort tile.Flag // 1 = Blocked manually
}
}
4 float chunk.HeightMax
4 float chunk.HeightMin
20 byte[] chunk.reserved //reserved[0] = 1 in some blocks
}
}