Difference between revisions of "Land Data file"

From Worms Knowledge Base

Jump to: navigation, search
(Unknown field is not present in early W:A versions, seems similar to object count.)
(Object Placement Coordinates example image)
 
(One intermediate revision by one other user not shown)
Line 12: Line 12:
 
!Description
 
!Description
 
|-
 
|-
| {{software|W2|WA|WWP}} || int || 4 || Signature reading "LND\x1A".
+
| {{SoftwareEx|W2|WA|WWP|OW}} || int || 4 || Signature reading "LND\x1A".
 
|-
 
|-
| {{software|W2|WA|WWP}} || int || 4 || Complete file length in bytes.
+
| {{SoftwareEx|WWPA}} || int || 4 || Signature reading "LND\x1B".
 
|-
 
|-
| {{software|W2|WA|WWP}} || int || 4 || Width of map in pixels.
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || int || 4 || Complete file length in bytes.
 
|-
 
|-
| {{software|W2|WA|WWP}} || int || 4 || Height of map in pixels.
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || int || 4 || Width of map in pixels.
 
|-
 
|-
| {{software|W2|WA|WWP}} || bool || 4 || Indestructible cavern border
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || int || 4 || Height of map in pixels.
 +
|-
 +
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || bool || 4 || Indestructible cavern border
 
* 0 = no border
 
* 0 = no border
 
* non-zero = top border
 
* non-zero = top border
 
|-
 
|-
| {{software|WA|WWP}} || int || 4 || Water height in pixels.
+
| {{SoftwareEx|WA|WWP|WWPA}} || int || 4 || Water height in pixels.
 
|-
 
|-
| {{software|WA}} || int || 4 || Unknown, mostly equals the following object placement count, sometimes 255. Not present in 3.0 and possibly other earlier versions.
+
| {{SoftwareEx|WA|WWPA}} || int || 4 || Unknown. For WA, mostly equals the following object placement count, sometimes 255, not present in WA 3.0 and possibly other earlier versions.
 
|-
 
|-
| {{software|W2|WA|WWP}} || int || 4 || Number of object placement structures following, each:
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || int || 4 || Number of object placement structures following, each:
 
* X position (int, 4 bytes)
 
* X position (int, 4 bytes)
 
* Y position (int, 4 bytes)
 
* Y position (int, 4 bytes)
 
|-
 
|-
| {{software|W2}} || int || 4 || Unknown number, often (always?) 0.
+
| {{SoftwareEx|W2|OW}} || int || 4 || Unknown number, often (always?) 0.
 
|-
 
|-
| {{software|W2|WA|WWP}} || [[Image file|IMG]] || - || Uncompressed color (8 bpp) image, being the visual foreground land.
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || [[Image file|IMG]] || - || Uncompressed color (8 bpp) image, being the visual foreground land.
 
|-
 
|-
| {{software|W2|WA|WWP}} || [[Image file|IMG]] || - || Uncompressed monochrome (1 bpp) image, being the collision mask (black determines collidable pixels).
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || [[Image file|IMG]] || - || Uncompressed monochrome (1 bpp) image, being the collision mask (black determines collidable pixels).
 
|-
 
|-
| {{software|W2|WA|WWP}} || [[Image file|IMG]] || - || Uncompressed monochrome (1 bpp) image, being the visual background land.
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || [[Image file|IMG]] || - || Uncompressed monochrome (1 bpp) image, being the visual background land.
 
|-
 
|-
| {{software|W2}} || [[Image file|IMG]] || - || Uncompressed monochrome (1 bpp) image, small size, often (always?) empty, with unknown meaning.
+
| {{SoftwareEx|W2|OW}} || [[Image file|IMG]] || - || Uncompressed monochrome (1 bpp) image, small size, often (always?) empty, with unknown meaning.
 
|-
 
|-
| {{software|W2|WA|WWP}} || string || - || 1 byte length-prefixed string, being the absolute path to the land texture.
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || string || - || 1 byte length-prefixed string, being the absolute path to the land texture.
 
|-
 
|-
| {{software|W2|WA|WWP}} || string || - || 1 byte length-prefixed string, being the absolute path to the water.dir file.
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || string || - || 1 byte length-prefixed string, being the absolute path to the water.dir file.
 
|}
 
|}
  
 
== Object Placement Coordinates ==
 
== Object Placement Coordinates ==
 +
 +
[[File:Plac.png|600px|thumb|right|Map with blue dots where object placement coordinates are.]]
  
 
Each worm, mine, and oil barrel are randomly placed at one of these coordinates at the beginning of the game. The more excess coordinate points there are, the more possibilities there are for each object placement. Not all mines or oil barrels will be placed if there are fewer object placement coordinates than there are objects. Worms will be placed outside of the map if there are fewer object placement coordinates than there are worms or if object placement coordinates overlap each other. The game can crash if worms are placed outside of the map.
 
Each worm, mine, and oil barrel are randomly placed at one of these coordinates at the beginning of the game. The more excess coordinate points there are, the more possibilities there are for each object placement. Not all mines or oil barrels will be placed if there are fewer object placement coordinates than there are objects. Worms will be placed outside of the map if there are fewer object placement coordinates than there are worms or if object placement coordinates overlap each other. The game can crash if worms are placed outside of the map.
Line 55: Line 59:
 
The images embedded in land.dat files are read like typical [[Image file]] data, with the following exceptions:
 
The images embedded in land.dat files are read like typical [[Image file]] data, with the following exceptions:
  
* W2 has a fourth blank, monochrome image of smaller sizes than the map.
+
* W2 and OW have a fourth blank, monochrome image of smaller sizes than the map.
* WWP aligns the image data following the image size by 4 bytes (but only for the embedded images in land.dat), all other games do not.
+
* WWP and WWPA align the image data following the image size by 4 bytes (but only for the embedded images in land.dat), all other games do not.
  
 
== Land.dat use for custom color maps in WormNet2 ==
 
== Land.dat use for custom color maps in WormNet2 ==

Latest revision as of 15:17, 24 December 2022

(Up to File formats)

The Land Data File (located at Data\land.dat) contains an uncompressed version of the map, as generated by the land generator (formerly landgen.exe). Aside the map colour data and collision mask, it contains some parameters such as water height and object placement coordinates. Some 3rd-party software such as CutWorm allow customizing the game map by creating/editing this file directly.

File Format

The format differs slightly between Worms 2, versions of Worms Armaggedon, and Worms World Party.

Game Type Length Description
[W2][WA][WWP][OW][—] int 4 Signature reading "LND\x1A".
[—][—][—][—][WWPA] int 4 Signature reading "LND\x1B".
[W2][WA][WWP][OW][WWPA] int 4 Complete file length in bytes.
[W2][WA][WWP][OW][WWPA] int 4 Width of map in pixels.
[W2][WA][WWP][OW][WWPA] int 4 Height of map in pixels.
[W2][WA][WWP][OW][WWPA] bool 4 Indestructible cavern border
  • 0 = no border
  • non-zero = top border
[—][WA][WWP][—][WWPA] int 4 Water height in pixels.
[—][WA][—][—][WWPA] int 4 Unknown. For WA, mostly equals the following object placement count, sometimes 255, not present in WA 3.0 and possibly other earlier versions.
[W2][WA][WWP][OW][WWPA] int 4 Number of object placement structures following, each:
  • X position (int, 4 bytes)
  • Y position (int, 4 bytes)
[W2][—][—][OW][—] int 4 Unknown number, often (always?) 0.
[W2][WA][WWP][OW][WWPA] IMG - Uncompressed color (8 bpp) image, being the visual foreground land.
[W2][WA][WWP][OW][WWPA] IMG - Uncompressed monochrome (1 bpp) image, being the collision mask (black determines collidable pixels).
[W2][WA][WWP][OW][WWPA] IMG - Uncompressed monochrome (1 bpp) image, being the visual background land.
[W2][—][—][OW][—] IMG - Uncompressed monochrome (1 bpp) image, small size, often (always?) empty, with unknown meaning.
[W2][WA][WWP][OW][WWPA] string - 1 byte length-prefixed string, being the absolute path to the land texture.
[W2][WA][WWP][OW][WWPA] string - 1 byte length-prefixed string, being the absolute path to the water.dir file.

Object Placement Coordinates

Map with blue dots where object placement coordinates are.

Each worm, mine, and oil barrel are randomly placed at one of these coordinates at the beginning of the game. The more excess coordinate points there are, the more possibilities there are for each object placement. Not all mines or oil barrels will be placed if there are fewer object placement coordinates than there are objects. Worms will be placed outside of the map if there are fewer object placement coordinates than there are worms or if object placement coordinates overlap each other. The game can crash if worms are placed outside of the map.

Embedded Images

The images embedded in land.dat files are read like typical Image file data, with the following exceptions:

  • W2 and OW have a fourth blank, monochrome image of smaller sizes than the map.
  • WWP and WWPA align the image data following the image size by 4 bytes (but only for the embedded images in land.dat), all other games do not.

Land.dat use for custom color maps in WormNet2

Etho planned on developing a new map file format for Worms World Party that players would have been able to use with the program CutWorm. The format allowed WWP players to play customized color maps with each other on WormNet2. Map makers had the option to customize all three layers that land.dat uses, the border & water setting, object placement coordinates, and water type/color settings.

Online and offline tests where these parameters were properly adjusted have worked successfully with no desync errors. So far, tests to increase the size of a map beyond the size 1920 x 696 have failed.

Personal tools