CHK FILE FORMAT
Author Version 1.00
Covers Brood Wars v1.05
| Definitions of symbols used in this file: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data Symbols
Starcraft Versions
Note: All numbers in this file are decimal, unless specified by an 'h' (i.e. h8a = decimal 138) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The CHK format consists of many sections, all sections start with the same header: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 chars - Name of section 1 long - Length, in bytes, of the section(excluding this 8 byte header) ...from here is the actual data for the section... |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'TYPE' - specifies type of scenario file | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.04 * Brood 4 chars - String specifying type of scenario. 1.04 is 'RAWS', Brood Wars is 'RAWB' |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'VER ' - identifies the file format version | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 * 1.04 *
Brood REQUIRED 1 int - File format version. 57 for beta57 version, 59 for 1.00 format, 63 for 1.04 format, 205 for Brood format |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'IVER' - additionally identifies the file format version | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 1 int - Additional file format version. 9 for beta or obsolete versions, 10 for current versions |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'IVE2', additionally identifies the file format version | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.04 * Brood Note: the 'IVE2' section replaces the 'IVER' section in 1.04 and above 1 int - Additional file format version. 11 for 1.04 or Brood |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'VCOD' - verification code of the CHK file | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED 1040 bytes - Verification code. Only one code is acceptable; anything else will not allow the editor to open the file. See vcod.bin file for code |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'IOWN' - designated the controller for a particular player | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.00 * 1.04 *
Brood REQUIRED 12 bytes - 1 byte for each player, specifies the owner of the player
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'OWNR' - designates the controller for a particular player | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED 12 bytes - Same as the IOWN section, but with an additional value:
Note: I'm not sure why this section is separate from the IOWN section |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'ERA ' - specifies tileset of the map | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED 1 int - Designates tileset
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'DIM ' - specifies map dimensions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED 1 int - Width of the map. SHOULD be one of the following values: 64,
96, 128, 192, 256 Note: I've heard that you can use values other than the ones I've listed. However, I haven't ever tried, so I don't know how it will work. Be warned! |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'SIDE', designates species of each player | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED 12 bytes - 1 byte/player for species of player
Note: I haven't tried the Independent, Neutral, Inactive, or Human settings in Starcraft yet; but I would guess that those would crash StarCraft. Be warned! |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'MTXM', graphical tile map section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 * 1.04 *
Brood Note: This section is not actually a map of the level's terrain, as it would appear at first. It is actually a map of the level's appearance. The tiles in this section are the tiles that actually get displayed in Starcraft(StarEdit, however, disregards this section, and regenerates it upon saving) This section will only be different from the TILE section on tiles where doodads are present. height * width ints - 1 int for each tile. see appendix E: Map Tiles |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'PUNI', player unit restrictions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED 228 * 12 bytes - 1 byte for each unit, then each player, for player availability
228 bytes - 1 byte for each unit for global availability defaults
228 * 12 bytes - 1 byte for each unit, then each player for 'use defaults' flag
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'UPGR' - player upgrade restrictions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 REQUIRED 45 * 12 bytes - 1 byte each upgrade available, each player. the maximum level of this upgrade the player can upgrade to(override setting) 45 * 12 bytes - 1 byte each upgrade available, each player. the level of this upgrade the player starts out with(override setting) 45 bytes - 1 byte each upgrade available. default maximum level 45 bytes - 1 byte each upgrade available. default starting level 45 * 12 bytes - 1 byte each upgrade override, each player
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'PTEC' - player technology restrictions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED 24 * 12 bytes - 1 byte each technology available, each player (override setting)
24 * 12 bytes - 1 byte each technology already researched, each player (override setting)
24 bytes - 1 byte each technology available by default
24 bytes - 1 byte each technology already researched by default
24 * 12 bytes - 1 byte each technology override, each player
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'UNIT' - units on map list and flags | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED Each unit on the map gets one of the following structures, in no particular order {
} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'ISOM' - isometric tile mapping | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED Note: This section is used to map the square tiles of the 'TILE' section to the isometric(diamond) shape on the terrain in the map editor. This section affects what type of terrain can be placed where, and how, on the map. This does not appear to have any function in Starcraft itself, only Staredit. But I haven't yet figured out the format of it.(Actually, I haven't tried) (width / 2 + 1) * (height + 1) * 4 ints - 4 ints for each isometric unit. see appendix F: Isometric Tile Values |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'TILE' - tile map of level's terrain | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED Note: This section will only be different from the MTXM section on tiles where doodads are present. width * height ints - 1 int for each map tile. see appendix E: Map Tiles |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'DD2 ' - doodad map of level | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED Note: There are 3 parts to doodads. The graphical portion of a doodad is stored in the MTXM section. The second part of the doodad is in this section. This is only for the map editor. Generally, for doodads that are units (like traps), the X and Y values in this section are where the UNIT actually is. Usually this is the very center of the sprite. Be warned! Another note: Blizzard claims that there is no way to determine what player owns a doodad, however, as this file shows in a few lines, that is untrue. All I can think of as to why they said that would be that, due to some technical thing, this number is not dependable. I simply do not know why. Final note: I'm pretty sure that this section is only used by the map editor. Apparently, Starcraft doesn't generate doodads real time, due to some speed considerations. Each doodad in the map gets one of the following structures: {
} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'THG2' - doodad to unit map | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED Note: I think the map editor ONLY writes to this section. It does not read from it. However, Starcraft does use this section Certain doodads(I think only the ones that have sprites) each get one of the following structures {
} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'MASK' - Fog of War section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED X * Y bytes - One byte for each map tile. Bits in byte indicate which players have Fog of War on for the tile. Bits 0-7 correspond to players 1-8. If bit is ON, the tile is covered with Fog of War. If bit is OFF, the tile is visible. Players 9-12 cannot be played, so they do not have Fog of War at all |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'STR ' - strings section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED 1 int - Number of strings in the section(this will be 1024, regardless of how many strings are actually used, and cannot exceed 1024) 1024 ints - 1 int for each string specifying the offset from the beginning of this section of where the string starts. If there are less that 1024 strings, the unused entries will point to string #0 (the null string). Important Note: String #0 should have an offset of 2050, etc. (1025 ints for this table) Here is where all the strings go, one right after another; and all of them null terminated. Note: string #0 (the very first one) is ALWAYS the null string. All other strings start at #1 Noteworthy Note: Strings are not limited to a single color. The color can be changed to your liking. See Colored Text, for more info on this |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'UPRP' - trigger unit properties section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood Note: This section is used whenever the trigger 'create units with properties' is used. It is composed of 64 of the following structures (these are subsets of the structures in the UNIT section), one for each trigger unit properties, regardless of how many are actually used, and cannot exceed 64 {
} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'UPUS' - trigger unit properties used section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 * 1.04 *
Brood 64 bytes - 1 byte each trigger unit properties entry
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'MRGN' - locations section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood Note: This section is, by default, composed of 64 locations. However, in Brood Wars, it can support more. If there are more than 64 entries, it will expand to 256 locations. Each location gets one of the following location entries, with the 'Anywhere' location ALWAYS being number 64(or 63, if 0 based) {
} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'TRIG' - trigger section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED? See Trigger Format for details on this complex section |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'MBRF', mission briefing section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED? This section's format is identical to that of the Triggers section. See Trigger Format for details |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'SPRP', decides which strings are the scenario properties | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED 1 int - String number of the scenario name 1 int - String number of the scenarios description |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'FORC' - specifies the forces | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood REQUIRED Note: In the Beta57 format, this section is 16 bytes long, and the last 4 bytes listed here are nonexistent 8 bytes - 1 byte for each active player, specifying which of the 4 forces(0-based) that the player's on 4 ints - 1 int for each force, string number of the name of the force 4 bytes - 1 byte for each force specifying the properties
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'WAV ' - specifies the WAV files in the scenario | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta57 * 1.00 *
1.04 * Brood Note: There are 1024 wave entries regardless of how many are actually used, and there cannot be more than 1024 sounds in a level 1024 ints - 1 int for each WAV. String number of the path of the wav file in the MPQ. If the entry is not used, the string number will be 0, pointing to the null string |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'UNIS', unit settings for level | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.00 * 1.04 * Brood 228 bytes - 1 byte each unit
Next, each of the 228 units gets one of the following structures {
} 228 ints - 1 int for each unit, shield points for unit 228 bytes - 1 byte for each unit, armor points for unit 228 ints - 1 int for each unit, build time for unit in 1/60 seconds 228 ints - 1 int for each unit, mineral cost for unit 228 ints - 1 int for each unit, gas cost for unit 228 ints - 1 int each unit, string number of units name 100 ints - 1 int each weapon, base damage the weapon does 100 ints - 1 int each weapon, bonus damage for each weapon upgrade level |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'UPGS' - upgrade settings | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.00 * 1.04 * Brood 46 bytes - 1 byte each upgrade, showing default use
46 ints - 1 int each upgrade, base mineral cost for the upgrade 46 ints - 1 int each upgrade, mineral cost factor each upgrade level 46 ints - 1 int each upgrade, base gas cost for the upgrade 46 ints - 1 int each upgrade, gas cost factor each upgrade level 46 ints - 1 int each upgrade, base time for upgrade research 46 ints - 1 int each upgrade, time factor each upgrade level |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'TECS' - technology/special abilities settings | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.00 * 1.04 * Brood 24 bytes - 1 byte each technology, specifies if the tech overrides the default settings
24 ints - Mineral cost to develop technology 24 ints - Gas cost to develop technology 24 ints - Tile required to develop technology 24 ints - Energy cost to cast special ability |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'SWNM' - switch renaming section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.00 * 1.04 *
Brood Note: This section is present in 1.00 version, but you cant use it till Brood Wars. But WHY?? Maybe Blizzard used it in the original Starcraft campaigns... 256 longs - 1 long each switch, string number of the name of the switch |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'COLR' - color settings for players | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Brood 8 bytes - 1 byte each player, is the color of the player
Note: More than one player can use a single color. This hint is more useful than it may appear at first Another Note: The colors 12 and above are used in the tileset, so the color changes with tileset. Hint: Try color 12 on a Desert level, and color 14 on an Ice level! One Final Note: Although colors above 15 can and do work, they are undefined, so you will be directly indexing the colors in the main palette. This has very unpredictable results, and might crash SC. Be warned! |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'PUPx' - extended upgrades section for the level | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.04 * Brood Note: This section overrides the 'UPGR' section when the level is run in Brood Wars mode Another Note: This section is identical to the 'UPGR' section, but it uses the expanded Brood Wars set of 61 upgrades, versus the original Starcraft's 45 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'PTEx', extended player technologies section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.04 * Brood Note: This section overrides the 'PTEC' section when the level is run in Brood Wars Next Note: This section is identical to the 'PTEC' section, but it uses the expanded Brood Wars set of 44 technologies, versus the original Starcraft's 24 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'UNIx' - extended unit settings section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.04 * Brood Note: This section overrides the 'UNIS' section when the level is run in Brood Wars Yet Another Note: This section is identical to the 'UNIS' section, but it uses the extended Brood Wars set of 130 weapons, instead of the 100 in the original Starcraft format |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'UPGx', extended upgrades settings section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.04 * Brood Note: This section overrides the 'UPGS' section when the level is run in Brood Wars Oh Man, Another Note: This section is pretty much the same as the 'UPGS' section, but two small differences. First, it uses the expanded Brood Wars set of 61 upgrades, rather than the original 46. Second, after the first 61 ints, there is a single 0 before the next set of ints. I would guess this is a mistake. but live with it ;) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| x: Section 'TECx', extended technology section for the level | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1.04 * Brood Note: This section overrides the 'TECS' section when the level is run in Brood Wars mode Another Note: This section is identical to the 'TECS' section, but it uses the expanded Brood Wars set of 44 technologies, versus the original 24 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Appendix A: Unit Types | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 = Terran Marine 1 = Terran Ghost 2 = Terran Vulture 3 = Terran Goliath 4 = Goliath Turret 5 = Terran Siege Tank (Tank Mode) 6 = Tank Turret(Tank Mode) 7 = Terran SCV 8 = Terran Wraith 9 = Terran Science Vessel 10 = Gui Montang (Firebat) 11 = Terran Dropship 12 = Terran Battlecruiser 13 = Vulture Spider Mine 14 = Nuclear Missile 15 = Terran Civilian 16 = Sarah Kerrigan (Ghost) 17 = Alan Schezar (Goliath) 18 = Alan Schezar Turret 19 = Jim Raynor (Vulture) 20 = Jim Raynor (Marine) 21 = Tom Kazansky (Wraith) 22 = Magellan (Science Vessel) 23 = Edmund Duke (Siege Tank) 24 = Edmund Duke Turret 25 = Edmund Duke (Siege Mode) 26 = Edmund Duke Turret 27 = Arcturus Mengsk (Battlecruiser) 28 = Hyperion (Battlecruiser) 29 = Norad II (Battlecruiser) 30 = Terran Siege Tank (Siege Mode) 31 = Tank Turret (Siege Mode) 32 = Firebat 33 = Scanner Sweep 34 = Terran Medic 35 = Zerg Larva 36 = Zerg Egg 37 = Zerg Zergling 38 = Zerg Hydralisk 39 = Zerg Ultralisk 40 = Zerg Broodling 41 = Zerg Drone 42 = Zerg Overlord 43 = Zerg Mutalisk 44 = Zerg Guardian 45 = Zerg Queen 46 = Zerg Defiler 47 = Zerg Scourge 48 = Torrarsque (Ultralisk) 49 = Matriarch (Queen) 50 = Infested Terran 51 = Infested Kerrigan 52 = Unclean One (Defiler) 53 = Hunter Killer (Hydralisk) 54 = Devouring One (Zergling) 55 = Kukulza (Mutalisk) 56 = Kukulza (Guardian) 57 = Yggdrasill (Overlord) 58 = Terran Valkyrie Frigate 59 = Mutalisk/Guardian Cocoon 60 = Protoss Corsair 61 = Protoss Dark Templar(Unit) 62 = Zerg Devourer 63 = Protoss Dark Archon 64 = Protoss Probe 65 = Protoss Zealot 66 = Protoss Dragoon 67 = Protoss High Templar 68 = Protoss Archon 69 = Protoss Shuttle 70 = Protoss Scout 71 = Protoss Arbiter 72 = Protoss Carrier 73 = Protoss Interceptor 74 = Dark Templar(Hero) 75 = Zeratul (Dark Templar) 76 = Tassadar/Zeratul (Archon) 77 = Fenix (Zealot) 78 = Fenix (Dragoon) 79 = Tassadar (Templar) 80 = Mojo (Scout) 81 = Warbringer (Reaver) 82 = Gantrithor (Carrier) 83 = Protoss Reaver 84 = Protoss Observer 85 = Protoss Scarab 86 = Danimoth (Arbiter) 87 = Aldaris (Templar) 88 = Artanis (Scout) 89 = Rhynadon (Badlands Critter) 90 = Bengalaas (Jungle Critter) 91 = Unused - Was Cargo Ship 92 = Unused - Was Mercenary Gunship 93 = Scantid (Desert Critter) 94 = Kakaru (Twilight Critter) 95 = Ragnasaur (Ashworld Critter) 96 = Ursadon (Ice World Critter) 97 = Lurker Egg 98 = Raszagal 99 = Samir Duran (Ghost) 100 = Alexei Stukov (Ghost) 101 = Map Revealer 102 = Gerard DuGalle 103 = Zerg Lurker 104 = Infested Duran 105 = Disruption Web 106 = Terran Command Center 107 = Terran Comsat Station 108 = Terran Nuclear Silo 109 = Terran Supply Depot 110 = Terran Refinery 111 = Terran Barracks 112 = Terran Academy 113 = Terran Factory 114 = Terran Starport 115 = Terran Control Tower 116 = Terran Science Facility 117 = Terran Covert Ops 118 = Terran Physics Lab 119 = Unused - Was Starbase? 120 = Terran Machine Shop 121 = Unused - Was Repair Bay? 122 = Terran Engineering Bay 123 = Terran Armory 124 = Terran Missile Turret 125 = Terran Bunker 126 = Norad II 127 = Ion Cannon 128 = Uraj Crystal 129 = Khalis Crystal 130 = Infested Command Center 131 = Zerg Hatchery 132 = Zerg Lair 133 = Zerg Hive 134 = Zerg Nydus Canal 135 = Zerg Hydralisk Den 136 = Zerg Defiler Mound 137 = Zerg Greater Spire 138 = Zerg Queen's Nest 139 = Zerg Evolution Chamber 140 = Zerg Ultralisk Cavern 141 = Zerg Spire 142 = Zerg Spawning Pool 143 = Zerg Creep Colony 144 = Zerg Spore Colony 145 = Unused Zerg Building 146 = Zerg Sunken Colony 147 = Zerg Overmind (With Shell) 148 = Zerg Overmind 149 = Zerg Extractor 150 = Mature Chrysalis 151 = Zerg Cerebrate 152 = Zerg Cerebrate Daggoth 153 = Unused Zerg Building 5 154 = Protoss Nexus 155 = Protoss Robotics Facility 156 = Protoss Pylon 157 = Protoss Assimilator 158 = Unused Protoss Building 159 = Protoss Observatory 160 = Protoss Gateway 161 = Unused Protoss Building 162 = Protoss Photon Cannon 163 = Protoss Citadel of Adun 164 = Protoss Cybernetics Core 165 = Protoss Templar Archives 166 = Protoss Forge 167 = Protoss Stargate 168 = Stasis Cell/Prison 169 = Protoss Fleet Beacon 170 = Protoss Arbiter Tribunal 171 = Protoss Robotics Support Bay 172 = Protoss Shield Battery 173 = Khaydarin Crystal Formation 174 = Protoss Temple 175 = Xel'Naga Temple 176 = Mineral Field (Type 1) 177 = Mineral Field (Type 2) 178 = Mineral Field (Type 3) 179 = Cave 180 = Cave-in 181 = Cantina 182 = Mining Platform 183 = Independant Command Center 184 = Independant Starport 185 = Independant Jump Gate 186 = Ruins 187 = Kyadarin Crystal Formation 188 = Vespene Geyser 189 = Warp Gate 190 = PSI Disruptor 191 = Zerg Marker 192 = Terran Marker 193 = Protoss Marker 194 = Zerg Beacon 195 = Terran Beacon 196 = Protoss Beacon 197 = Zerg Flag Beacon 198 = Terran Flag Beacon 199 = Protoss Flag Beacon 200 = Power Generator 201 = Overmind Cocoon 202 = Dark Swarm 203 = Floor Missile Trap 204 = Floor Hatch 205 = Left Upper Level Door 206 = Right Upper Level Door 207 = Left Pit Door 208 = Right Pit Door 209 = Floor Gun Trap 210 = Left Wall Missile Trap 211 = Left Wall Flame Trap 212 = Right Wall Missile Trap 213 = Right Wall Flame Trap 214 = Start Location 215 = Flag 216 = Young Chrysalis 217 = Psi Emitter 218 = Data Disc 219 = Khaydarin Crystal 220 = Mineral Cluster Type 1 221 = Mineral Cluster Type 2 222 = Protoss Vespene Gas Orb Type 1 223 = Protoss Vespene Gas Orb Type 2 224 = Zerg Vespene Gas Sac Type 1 225 = Zerg Vespene Gas Sac Type 2 226 = Terran Vespene Gas Tank Type 1 227 = Terran Vespene Gas Tank Type 2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Appendix B: Unit Weapons | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Note: The first 100(0-99) are in the standard Starcraft set. Only Brood
Wars uses all 130. Another Note: The Acid Spray weapon was the Mutalisk's weapon in the beta57 version. This was because the Glave Wurm was used by the Queen. I should also note that the Defiler had Venom for a weapon. 0 = Gauss Rifle (Terran Marine) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Appendix C: Upgrade Types | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Note: First 45(0-44) are the standard
Starcraft set. Only Brood Wars uses all 61 0 =
Terran Infantry Armor |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Appendix D: Technology List | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| First 24(0-23) are the standard Starcraft tech
set. Only Brood Wars uses all 44 0 = Stim Packs |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Appendix E: Map Tiles | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Each map tile consists of 1 int. That int's
bits are composed as follows: FFEE EEED DDDC BAAA AAA section - The info in this section will always be the same. It is the variant of the map tile. However, not all tiles for all tilesets have all variants. If an invalid variant is used, it will appear as a Black Plaque Tile (solid black square) in the game, and in the editor. B section - This bit indicates (when applicable) that the tile has a decoration on it C section - Odd or even block # (this is nessesary because of Starcraft's isometric tile system) D section - For solid tiles, this is the tile identity. For border tiles, this is the border's configuration. I'm still working on this section E section - For solid tiles, this is unused, and MUST be set to 0s. For border tiles, this is the border identity. I'm still working on this section F section - These 2 bits are unused, and MUST be set to 0s or StarEdit will crash This section is NOT finished yet!
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Appendix F: To Do List | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| While I think this file is nearly complete,
and quite comprehensive, there are a number of things that I don't yet know about the CHK
file format. I will try to list all of them here, by priority. I'm going to continue
working on figuring out these things. If you're positive that you can figure out what any
of them are, drop me a line, and I'll give you credit for the info. - Couple things in the THG2 section |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CREDITS: Primary Author(everything not otherwise credited): Justin Olbrantz (Quantam) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


