La saga de Carnivores - Los archivos .map

The Carnivores saga - The .map files

Estructura de los archivos .map:
Structure of the .map files:

Estos archivos se encuentran en el subdirectorio HUNTDAT\AREAS tanto en Carnivores como en Carnivores 2 y Ice Age, aunque el formato usado en el primero no es el mismo que en los otros dos. Los archivos se dividen en varios segmentos.
These files are located in the HUNTDAT\AREAS subfolder both in Carnivores and in Carnivores 2 and Ice Age, even though the format used in the former isn't the same as in the other two. The files are divided in several segments.

Para Carnivores:
For Carnivores:

 inicio	-  fin		An x Al x #bits	Contenidos
 start	-  end		W x H x #bits	Contents
00000000-0003FFFF	512x512x8	Superficie/Surface
00040000-0007FFFF	512x512x8	Texturas/Textures
00080000-000BFFFF	512x512x8	Texturas2/Textures2
000B0000-000FFFFF	512x512x8	Plantas/Plants
00100000-0013FFFF	512x512x8	Indicadores/Flags
00140000-0017FFFF	512x512x8	Sombras/Shadows
00180000-001BFFFF	512x512x8	Altura/Height
001C0000-001FFFFF	512x512x8	Estructuras/Structures
00200000-0020FFFF	256x256x8	Niebla/Fog
00210000-0021FFFF	256x256x8	Sonidos/Sounds
Y aquí está la tan esperada descripción de cada segmento:
And here's the long-awaited description of each segment:
Superficie/Surface:
una matriz de 512x512 de valores de 1 byte (8 bits, los valores posibles van de 0 a 255) indicando la altura del terreno. Según Action Forms, cada unidad corresponde a medio metro, así que la altura máxima sería de 127,5m para un valor de 255. Cada fila o columna de la matriz corresponde a 4 metros, así que tienes un área cuadrada de 2048m x 2048m, o aproximadamente 4 km cuadrados. Nota que la superficie del agua siempre es plana (ya que es la superficie, no el fondo).
a 512x512 matrix of 1-byte values (8 bits, possible values range from 0 to 255) indicating the terrain height. According to Action Forms, each unit corresponds to a half metre, so the maximum height would be 127,5m for a value of 255. Each row or column of the matrix corresponds to 4 metres, so you have a square area of 2048m x 2048m, or roughly 4 square km. Note that the water surface is always flat (as it is the surface, not the bottom).
Texturas/Textures:
otra matriz de 512x512 de valores de 1 byte, cada uno es un índice a la correspondiente textura (almacenada en el archivo .RSC) aplicada a una celda en particular de la cuadrícula del mapa. Esta es la textura 'primaria', por así decirlo, ya que se combinan dos texturas por cada celda.
another 512x512 matrix of 1-byte values, each one is an index to the corresponding texture (stored in the .RSC file) applied to a particular grid cell of the map. This is the 'primary' texture, so to speak, as two textures are combined for each cell.
Texturas2/Textures2:
como con Texturas, otra matriz de 512x512 de valores de 1 byte usada para indicar una textura (en este caso, la secundaria) para una celda en particular.
like with Textures, another 512x512 matrix of 1-byte values used to index a texture (in this case, the secondary one) for a particular cell.
Cada celda se divide diagonalmente así:
Each cell is diagonally divided like this:
+--------------+
|\             |
| \            |
|  \           |
|   \          |
|    \Texture 1|
|     \        |
|      \       |
|       \      |
|        \     |
|Texture 2\    |
|          \   |
|           \  |
|            \ |
|             \|
+--------------+
Objetos/Objects:
otra matriz más de 512x512 de valores de 1 byte, esta vez apuntando a objetos de vegetación, como árboles, arbustos, cactus, troncos, pero también rocas (también incluidos en el archivo .RSC) para una celda dada.
yet another 512x512 matrix of 1-byte values, this time pointing to vegetation objects, like trees, bushes, cacti, trunks, but also rocks (also included in the .RSC file) for a given cell.
Indicadores/Flags:
otra matriz de 512x512 de valores de 1 byte, esta vez cada uno es un conjunto de indicadores que dicen cómo tratar las texturas para cada celda. Aquí hay una mirada detallada a lo que cada bit hace:
another 512x512 matrix of 1-byte values, this time each one is a set of flags that indicate how to handle the textures for each cell. Here's a detailed look at what each bit does:
     bit 7|6|5|4|3|2|1|0     Función/Function
         | | | | | | \_/
         | | | | | |  |
         | | | | | |  +----  Estos dos juntos indican la rotación que debe aplicarse
         | | | | | |         a las texturas, de acuerdo con esta tabla:
         | | | | | |         These two together indicate the rotation that should be applied
         | | | | | |         to the textures, according to this table:
         | | | | | |            00: sin rotación (al derecho)/no rotation (right-side-up)
         | | | | | |            01: rotada 90 grados, horario/rotated 90 degrees clockwise
         | | | | | |            10: rotada 180 grados (de cabeza)/rotated 180 degrees (upside-down)
         | | | | | |            11: rotada 90 grados, antihorario/rotated 90 degrees counter-clockwise
         | | | | | |
         | | | | | +-------  Por determinarse/To be determined
         | | | | |
         | | | | +---------  Por determinarse/To be determined
         | | | |
         | | | +-----------  Por determinarse/To be determined
         | | |
         | | +-------------  Por determinarse/To be determined
         | |
         | +---------------  Indica cómo se divide diagonalmente la celda entre ambas texturas
         |                   Indicates how the cell is diagonally split among both textures
         |                      0: T2\T1
         |                      1: T1/T2
         |
         +-----------------  Indica si se debe aplicar un 'efecto ondulante' a las texturas
                             o no, como en agua, arena movediza, lava, etc.
                             Indicates whether an 'undulating effect' should be applied to
                             the textures or not, like in water, quicksand, lava, etc.
                                0: sin ondulación/no undulation
                                1: ondulación presente/undulation present
Sombras/Shadows:
y otra matriz de 512x512 de valores de 1 byte. Contiene información sobre la oscuridad del terreno, a menor valor, más claro el terreno.
and another 512x512 matrix of 1-byte values. It contains information on the darkness of the terrain, the lowest the value, the brightest the terrain.
Altura/Height:
otra matriz de 512x512 de valores de 1 byte mostrando las elevaciones del terreno como 'Superficie', pero aquí de hecho se tienen las elevaciones del fondo del mar (y otros cuerpos de agua). Aparentemente el efecto 'sumergido' se logra comparando de algún modo esta altura con la correspondiente en la matriz de Superficie, la diferencia entre ambas debe ser de exactamente 48 y si no coinciden significa que estás sumergido.
another 512x512 matrix of 1-byte values showing terrain elevations like 'Surface', but here you actually get the elevations of the bottom of the sea (and other water bodies). Apparently the 'underwater' effect is achieved by somehow comparing this height to the corresponding one in the Surface matrix, the difference between them must be exactly 48 and if they don't match it means you're underwater.
Estructuras/Structures:
la última matriz de 512x512 de valores de 1 byte, esta muestra el emplazamiento de ciertas estructuras que no son características del terreno ni plantas o rocas, mayormente objetos que deben ir encima de otros.
the last 512x512 matrix of 1-byte values, this one shows the placement of certain structures which aren't features of the terrain and/or plants or rocks, mostly objects which should go on top of others.
Niebla/Fog:
una matriz de 256x256 de valores de 1 byte, aquí cada celda cubre un área de 8m x 8m (o 4 celdas adyacentes de la amtrices mayores), y el valor indica qué tipo de niebla (si alguno) se debe aplicar sobre el terreno para esas celdas. las diversas nieblas también están almacenadas en el archivo .RSC.
a 256x256 matrix of 1-byte values, here each cell covers an area of 8m x 8m (or 4 adjacent cells of the lager matrixes), and the value indicates which type of fog (if any) is to be applied over the terrain for those cells. The various fogs are also stored in the .RSC file.
Sonidos/Sounds:
otra matriz de 256x256 de valores de 1 byte, similar a Niebla, sólo que esta indica qué sonidos deben aplicarse a un área dada. Los diversos sonidos también están almacenados en el archivo .RSC.
another 256x256 matrix of 1-byte values, similar to Fog, only this one indicates which sounds should be applied to a given area. The various sounds are also stored in the .RSC file.
Para Carnivores 2 y Ice Age:
For Carnivores 2 and Ice Age:
 inicio	-  fin		An x Al x #bits	Contenidos
 start	-  end		W x H x #bits	Contents
00000000-000FFFFF	1024x1024x8	Altura/Height
00100000-002FFFFF	1024x1024x16	Texturas/Textures
00300000-004FFFFF	1024x1024x16	Texturas2/Textures2
00500000-005FFFFF	1024x1024x8	Plantas/Plants
00600000-007FFFFF	1024x1024x16	Indicadores/Flags
00800000-008FFFFF	1024x1024x8	Sombras al alba/Dawn shadows
00900000-009FFFFF	1024x1024x8	Sombras de día/Day shadows
00A00000-00AFFFFF	1024x1024x8	Sombras de noche/Night shadows
00B00000-00BFFFFF	1024x1024x8	Agua/Water
00C00000-00CFFFFF	1024x1024x8	Estructuras/Structures
00D00000-00D3FFFF	512x512x8	Sonidos/Sounds
00D40000-00D7FFFF	512x512x8	Niebla/Fog
Y aquí está la tan esperada descripción de cada segmento:
And here's the long-awaited description of each segment:
Altura/Height:
una matriz de 1024x1024 de valores de 1 byte (8 bits, los valores posibles van de 0 a 255) indicando la altura del terreno. Según Action Forms, cada unidad corresponde a medio metro, así que la altura máxima sería de 127,5m para un valor de 255. Cada fila o columna de la matriz corresponde a 4 metros, así que tienes un área cuadrada de 4096m x 4096m, o aproximadamente 16 km cuadrados, 4 veces mayor que en Carnivores.
a 1024x1024 matrix of 1-byte values (8 bits, possible values range from 0 to 255) indicating the terrain height. According to Action Forms, each unit corresponds to a half metre, so the maximum height would be 127,5m for a value of 255. Each row or column of the matrix corresponds to 4 metres, so you have a square area of 4096m x 4096m, or roughly 16 square km, 4 times larger than in Carnivores.
Texturas/Textures:
una matriz de 1024x1024 de valores de 2 bytes, cada uno es un índice a la correspondiente textura (almacenada en el archivo .RSC) aplicada a una celda en particular de la cuadrícula del mapa. Esta es la textura 'primaria', por así decirlo, ya que se combinan dos texturas por cada celda. Ahora puede haber más de 256 texturas diferentes en un mismo mapa.
another 1024x1024 matrix of 2-byte values, each one is an index to the corresponding texture (stored in the .RSC file) applied to a particular grid cell of the map. This is the 'primary' texture, so to speak, as two textures are combined for each cell. Now there can be more than 256 different textures in a sungle map.
Texturas2/Textures2:
como con Texturas, otra matriz de 1024x1024 de valores de 2 bytes usada para indicar una textura (en este caso, la secundaria) para una celda en particular.
like with Textures, another 1024x1024 matrix of 2-byte values used to index a texture (in this case, the secondary one) for a particular cell.
Cada celda se divide diagonalmente así:
Each cell is diagonally divided like this:
+--------------+
|\             |
| \            |
|  \           |
|   \          |
|    \Texture 1|
|     \        |
|      \       |
|       \      |
|        \     |
|Texture 2\    |
|          \   |
|           \  |
|            \ |
|             \|
+--------------+
Objetos/Objects:
otra matriz más de 1024x1024 de valores de 1 byte, esta vez apuntando a objetos de vegetación, como árboles, arbustos, cactus, troncos, pero también rocas (también incluidos en el archivo .RSC) para una celda dada.
yet another 1024x1024 matrix of 1-byte values, this time pointing to vegetation objects, like trees, bushes, cacti, trunks, but also rocks (also included in the .RSC file) for a given cell.
Indicadores/Flags:
otra matriz de 1024x1024 de valores de 2 bytes, esta vez cada uno es un conjunto de indicadores que dicen cómo tratar las texturas para cada celda. Aquí hay una mirada detallada a lo que cada bit hace:
another 1024x1024 matrix of 2-byte values, this time each one is a set of flags that indicate how to handle the textures for each cell. Here's a detailed look at what each bit does:
     bit 15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0     Función/Function
          |  |  |  |  |  | | | | | | | | | | |
          |  |  |  |  |  | | | | | | | | | | |
          |  |  |  |  |  | | | | | | | | | | +---  Por determinarse/To be determined
          |  |  |  |  |  | | | | | | | | | |
          |  |  |  |  |  | | | | | | | | | +-----  Por determinarse/To be determined
          |  |  |  |  |  | | | | | | | | |
          |  |  |  |  |  | | | | | | | | +-------  Por determinarse/To be determined
          |  |  |  |  |  | | | | | | | |
          |  |  |  |  |  | | | | | | | +---------  Por determinarse/To be determined
          |  |  |  |  |  | | | | | | |
          |  |  |  |  |  | | | | | | +-----------  Por determinarse/To be determined
          |  |  |  |  |  | | | | | |
          |  |  |  |  |  | | | | | +-------------  Por determinarse/To be determined
          |  |  |  |  |  | | | | |
          |  |  |  |  |  | | | | +---------------  Por determinarse/To be determined
          |  |  |  |  |  | | | |
          |  |  |  |  |  | | | +-----------------  Por determinarse/To be determined
          |  |  |  |  |  | | |
          |  |  |  |  |  | | +-------------------  Por determinarse/To be determined
          |  |  |  |  |  | |
          |  |  |  |  |  | +---------------------  Por determinarse/To be determined
          |  |  |  |  |  |
          |  |  |  |  |  +-----------------------  Por determinarse/To be determined
          |  |  |  |  |
          |  |  |  |  +--------------------------  Por determinarse/To be determined
          |  |  |  |
          |  |  |  +-----------------------------  Por determinarse/To be determined
          |  |  |
          |  |  +--------------------------------  Por determinarse/To be determined
          |  |
          |  +-----------------------------------  Por determinarse/To be determined
          |
          +--------------------------------------  Por determinarse/To be determined

Sombras al alba/Dawn shadows:
y otra matriz de 1024x1024 de valores de 1 byte. Contiene información sobre la claridad del terreno, a mayor valor, más claro el terreno. Empleada para las cacerías al alba.
and another 1024x1024 matrix of 1-byte values. It contains information on the brightness of the terrain, the highest the value, the brightest the terrain. Used for hunts at dawn.
Sombras de día/Day shadows:
y otra matriz de 1024x1024 de valores de 1 byte. Contiene información sobre la claridad del terreno, a mayor valor, más claro el terreno. Empleada para las cacerías diurnas.
and another 1024x1024 matrix of 1-byte values. It contains information on the brightness of the terrain, the highest the value, the brightest the terrain. Used for day hunts.
Sombras de noche/Night shadows:
y otra matriz de 1024x1024 de valores de 1 byte. Contiene información sobre la claridad del terreno, a mayor valor, más claro el terreno. Empleada para las cacerías nocturnas.
and another 1024x1024 matrix of 1-byte values. It contains information on the brightness of the terrain, the highest the value, the brightest the terrain. Used for night hunts.
Agua/Water:
otra matriz de 1024x1024 de valores de 1 byte mostrando los cuerpos de agua (u otras superficies líquidas) que se encuentran sobre el nivel del mar.
another 1024x1024 matrix of 1-byte values showing bodies of water (or other liquid surfaces) which are above sea level.
Estructuras/Structures:
la última matriz de 1024x1024 de valores de 1 byte, esta muestra el emplazamiento de ciertas estructuras que no son características del terreno ni plantas o rocas, mayormente objetos que deben ir encima o alrededor de otros.
the last 1024x1024 matrix of 1-byte values, this one shows the placement of certain structures which aren't features of the terrain and/or plants or rocks, mostly objects which should go on top of or around others.
Sonidos/Sounds:
una matriz de 512x512 de valores de 1 byte, aquí cada celda cubre un área de 8m x 8m (o 4 celdas adyacentes de la matrices mayores), y el valor indica qué qué sonidos deben aplicarse a esas celdas. Los diversos sonidos también están almacenados en el archivo .RSC.
a 512x512 matrix of 1-byte values, here each cell covers an area of 8m x 8m (or 4 adjacent cells of the lager matrixes), and the value indicates which sounds should be applied to those cells. The various sounds are also stored in the .RSC file.
Niebla/Fog:
otra matriz de 512x512 de valores de 1 byte, similar a Sonidos, sólo que esta indica tipo de niebla (si alguno) se debe aplicar sobre el terreno para un área dada. Las diversas nieblas también están almacenadas en el archivo .RSC.
another 512x512 matrix of 1-byte values, similar to Sounds, only this one indicates which type of fog (if any) is to be applied over the terrain for a given area. The various fogs are also stored in the .RSC file.