Difference between revisions of "Team file"
From Worms Knowledge Base
(→File Header: One less thing that's known...) |
(make table for file formats) |
||
Line 4: | Line 4: | ||
=== File Header === | === File Header === | ||
− | + | {| border="1" cellspacing="0" class="wikitable" | |
− | + | !Offset | |
− | + | !Size | |
− | + | !Type | |
− | + | !Description | |
− | + | |- | |
− | + | | 00 | |
− | + | | 3 | |
− | + | | char[3] | |
− | + | | '''Signature'''. The [[w: Magic number (programming)|magic number]] used to identify the WGT file. [[w: Hexadecimal|Hex]]: 0x574754, [[w: ASCII|ASCII]]: "WGT" | |
− | + | |- | |
− | + | | 03 | |
− | + | | 2 | |
− | + | | byte[2] | |
− | + | | '''Unknown''' | |
− | + | |- | |
− | + | | 04 | |
− | + | | 1 | |
− | + | | ubyte | |
− | + | | '''Number of teams''' The number of teams in the file. | |
− | + | |- | |
− | + | | 05 | |
− | + | | 1 | |
− | + | | byte | |
+ | | '''[[Cheats (Worms Armageddon)|Utility upgrade cheats]]''' Bitmask: 1 = [[Laser Sight]], 2 = [[Fast Walk]], 4 = [[Invisibility]], 8 = [[Low Gravity]], 16 = [[Jetpack]] | ||
+ | |- | ||
+ | | 06 | ||
+ | | 1 | ||
+ | | byte | ||
+ | | '''[[Cheats (Worms Armageddon)|Weapon upgrade cheats]]''' Bitmask: 1 = [[Grenade]], 2 = [[Shotgun]], 4 = [[Banana Bomb]], 8 = [[Longbow]], 16 = [[Aqua Sheep]] | ||
+ | |- | ||
+ | | 07 | ||
+ | | 1 | ||
+ | | byte | ||
+ | | '''[[Cheats (Worms Armageddon)|Game cheats]]''' Bitmask: 1 = God Worms, 2 = Blood, 4 = Sheep Heaven | ||
+ | |- | ||
+ | | 08 | ||
+ | | 1 | ||
+ | | byte | ||
+ | | '''Indestructable terrain''' 0 = no, 3 = yes | ||
+ | |- | ||
+ | | 09 | ||
+ | | 1 | ||
+ | | byte | ||
+ | | '''Unknown''' | ||
+ | |} | ||
=== Team Format - Looped For Number of Teams=== | === Team Format - Looped For Number of Teams=== | ||
− | + | {| border="1" cellspacing="0" class="wikitable" | |
− | + | !Size | |
− | + | !Type | |
− | + | !Description | |
− | + | |- | |
− | + | | 17 | |
− | + | | char[17] | |
− | + | | '''Team Name''' The team's display name. | |
− | + | |- | |
− | + | | 136 | |
− | + | | char[8][17] | |
− | + | | '''Worm Names''' An array of 8 worm names, 17 bytes per name. | |
− | + | |- | |
− | + | | 1 | |
− | + | | byte | |
− | + | | '''Control''' Determines who gets to contol the team. Values: 0x00 = player, 0x01 to 0x05 = CPU level 1 to 5. | |
− | + | |- | |
− | + | | 32 | |
− | + | | char[32] | |
− | + | | '''Soundbank Name''' The name of the [[Soundbanks|soundbank]] used by the team. | |
− | + | |- | |
− | + | | 1 | |
− | + | | byte | |
− | + | | '''[[Soundbanks|Soundbank]] Location?''' Values: 0x00 = ?, 0x01 = ? | |
− | + | |- | |
− | + | | 32 | |
− | + | | char[32] | |
− | + | | '''Fanfare Name''' The name of the fanfare used by the team. | |
− | + | |- | |
− | + | | 1 | |
− | + | | byte | |
− | + | | '''Fanfare Location?''' Values: 0x00 = ?, 0x01 = ? | |
− | + | |- | |
− | + | | 1 | |
− | + | | ubyte | |
− | + | | '''Team Grave''' Determines the appearance of the team's gravestone. Values: 0x00 to 0xFE = sprite index from gfx.dir, 0xFF = [[Custom team grave|custom 24x32 bitmap]]. | |
− | + | |- bgcolor="skyblue" | |
− | + | | colspan="3" align="center" | '''If Team Grave ≥ 0x80:''' | |
− | + | |- bgcolor="lightblue" | |
− | + | | 32 | |
+ | | char[32] | ||
+ | | '''Grave Filename''' The filename for the custom grave. | ||
+ | |- bgcolor="lightblue" | ||
+ | | 1024 | ||
+ | | ubyte[256][4] | ||
+ | | '''Grave Bitmap Palette''' The 256-color palette for the custom grave. (4 bytes per color: Blue, Green, Red, 0x00.) | ||
+ | |- bgcolor="lightblue" | ||
+ | | 768 | ||
+ | | ubyte[32][24] | ||
+ | | '''Grave Bitmap Data''' The 24x32 bitmap data for the custom grave. (32 rows, top to bottom: each 24 pixels, left to right) | ||
+ | |- | ||
+ | | 1 | ||
+ | | byte | ||
+ | | '''Team Weapon''' | ||
+ | |- | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | '''Team Loss Count''' | ||
+ | |- | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | '''Team Deathmatch Loss Count''' | ||
+ | |- | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | '''Team Win Count''' | ||
+ | |- | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | '''Team Deathmatch Win Count''' | ||
+ | |- | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | '''Team Draw Count''' | ||
+ | |- | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | '''Team Deathmatch Draw Count''' | ||
+ | |- | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | '''Team Kills''' | ||
+ | |- | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | '''Team Deathmatch Kills''' | ||
+ | |- | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | '''Team Deaths''' | ||
+ | |- | ||
+ | | 4 | ||
+ | | ulong | ||
+ | | '''Team Deathmatch Deaths''' | ||
+ | |- | ||
+ | | 264 | ||
+ | | ulong[33][2] | ||
+ | | '''Team Mission Status''' 33 missions: [0] = attempts (ulong), [1] = medal (ulong) | ||
+ | |- | ||
+ | | 32 | ||
+ | | char[32] | ||
+ | | '''Flag Filename''' The filename for the team flag. | ||
+ | |- | ||
+ | | 1024 | ||
+ | | ubyte[256][4] | ||
+ | | '''Flag Bitmap Palette''' The 256-color palette for the team flag. (4 bytes per color: Blue, Green, Red, 0x00.) | ||
+ | |- | ||
+ | | 340 | ||
+ | | ubyte[17][20] | ||
+ | | '''Flag Bitmap Data''' The 20x17 bitmap data for the team flag. (17 rows, top to bottom: each 20 pixels, left to right) | ||
+ | |- | ||
+ | | 1 | ||
+ | | byte | ||
+ | | '''Team Deathmatch Rank''' | ||
+ | |- | ||
+ | | 24 | ||
+ | | ulong[6] | ||
+ | | '''Team Training Mission Times''' (in seconds) | ||
+ | |- | ||
+ | | 40 | ||
+ | | byte[40] | ||
+ | | '''Unknown''' | ||
+ | |- | ||
+ | | 6 | ||
+ | | byte[6] | ||
+ | | '''Team Training Mission Medals''' | ||
+ | |- | ||
+ | | 10 | ||
+ | | byte[10] | ||
+ | | '''Unknown''' | ||
+ | |- | ||
+ | | 28 | ||
+ | | byte[7][4] | ||
+ | | '''Unknown''' | ||
+ | |- | ||
+ | | 1 | ||
+ | | byte | ||
+ | | '''Unknown''' | ||
+ | |} | ||
== Animated graves == | == Animated graves == |
Revision as of 15:27, 6 October 2013
Contents
File Format
File Header
Offset | Size | Type | Description |
---|---|---|---|
00 | 3 | char[3] | Signature. The magic number used to identify the WGT file. Hex: 0x574754, ASCII: "WGT" |
03 | 2 | byte[2] | Unknown |
04 | 1 | ubyte | Number of teams The number of teams in the file. |
05 | 1 | byte | Utility upgrade cheats Bitmask: 1 = Laser Sight, 2 = Fast Walk, 4 = Invisibility, 8 = Low Gravity, 16 = Jetpack |
06 | 1 | byte | Weapon upgrade cheats Bitmask: 1 = Grenade, 2 = Shotgun, 4 = Banana Bomb, 8 = Longbow, 16 = Aqua Sheep |
07 | 1 | byte | Game cheats Bitmask: 1 = God Worms, 2 = Blood, 4 = Sheep Heaven |
08 | 1 | byte | Indestructable terrain 0 = no, 3 = yes |
09 | 1 | byte | Unknown |
Team Format - Looped For Number of Teams
Size | Type | Description |
---|---|---|
17 | char[17] | Team Name The team's display name. |
136 | char[8][17] | Worm Names An array of 8 worm names, 17 bytes per name. |
1 | byte | Control Determines who gets to contol the team. Values: 0x00 = player, 0x01 to 0x05 = CPU level 1 to 5. |
32 | char[32] | Soundbank Name The name of the soundbank used by the team. |
1 | byte | Soundbank Location? Values: 0x00 = ?, 0x01 = ? |
32 | char[32] | Fanfare Name The name of the fanfare used by the team. |
1 | byte | Fanfare Location? Values: 0x00 = ?, 0x01 = ? |
1 | ubyte | Team Grave Determines the appearance of the team's gravestone. Values: 0x00 to 0xFE = sprite index from gfx.dir, 0xFF = custom 24x32 bitmap. |
If Team Grave ≥ 0x80: | ||
32 | char[32] | Grave Filename The filename for the custom grave. |
1024 | ubyte[256][4] | Grave Bitmap Palette The 256-color palette for the custom grave. (4 bytes per color: Blue, Green, Red, 0x00.) |
768 | ubyte[32][24] | Grave Bitmap Data The 24x32 bitmap data for the custom grave. (32 rows, top to bottom: each 24 pixels, left to right) |
1 | byte | Team Weapon |
4 | ulong | Team Loss Count |
4 | ulong | Team Deathmatch Loss Count |
4 | ulong | Team Win Count |
4 | ulong | Team Deathmatch Win Count |
4 | ulong | Team Draw Count |
4 | ulong | Team Deathmatch Draw Count |
4 | ulong | Team Kills |
4 | ulong | Team Deathmatch Kills |
4 | ulong | Team Deaths |
4 | ulong | Team Deathmatch Deaths |
264 | ulong[33][2] | Team Mission Status 33 missions: [0] = attempts (ulong), [1] = medal (ulong) |
32 | char[32] | Flag Filename The filename for the team flag. |
1024 | ubyte[256][4] | Flag Bitmap Palette The 256-color palette for the team flag. (4 bytes per color: Blue, Green, Red, 0x00.) |
340 | ubyte[17][20] | Flag Bitmap Data The 20x17 bitmap data for the team flag. (17 rows, top to bottom: each 20 pixels, left to right) |
1 | byte | Team Deathmatch Rank |
24 | ulong[6] | Team Training Mission Times (in seconds) |
40 | byte[40] | Unknown |
6 | byte[6] | Team Training Mission Medals |
10 | byte[10] | Unknown |
28 | byte[7][4] | Unknown |
1 | byte | Unknown |
Animated graves
W:A and WWP allows the user to select one of six animated graves from the user interface. However, it's possible to set the grave animation to certain other sprites (for example using a team editors, such as TeamED).
This is possible by setting the Team Grave value in the team file to a value higher than 5. The game calculates the sprite index for the team grave by reading the value from the team file, and adding it to the index of the first grave. Using a value higher than 5 causes the game to use sprites which follow the graves in the game's internal sprite list:
... some other sprites ... | |
0 | grave1.spr |
1 | grave2.spr |
2 | grave3.spr |
3 | grave4.spr |
4 | grave5.spr |
5 | grave6.spr |
6 | flame1.spr |
7 | flame2.spr |
8 | petrol-1.spr |
... more sprites ... |
Note that this only allows selecting a grave from a predefined set. It is impossible to have a custom animated grave.
Be warned that using an animated grave (especially a large sprite) is found annoying by many, and is usually frowned upon.