Staredit Network > Forums > General StarCraft > Topic: CHK file format specification
CHK file format specification
Jul 9 2010, 1:32 pm
By: infamis  

Jul 9 2010, 1:32 pm infamis Post #1



Hello i'm starting work on Starcraft clone ( yep another one ) and i'm seeking information about the chk file format.
I found some here - http://quantam.devklog.net/CHKFormat.htm but they lack a bit of info. During searches on this websites i found
that on the old wiki exists/existed some infos about that subject under these links:

http://www.staredit.net/wiki/scenario.chk_format
http://www.staredit.net/wiki/Terrain_Format

And here comes my question, does anyone has backed up this data or knows how to get to it?



None.

Jul 9 2010, 4:59 pm poison_us Post #2

Master has given Dobby a doctorate! Dobby is free!

http://www.staredit.net/wiki.php?article=scenario.chk_format.
We're currently moving all the stuff from this old wiki to a new one, and the direct links like the one you have is broken. You gotta search through the old wiki without searching, if you catch my drift.




Jul 9 2010, 7:50 pm infamis Post #3



Thank You.



None.

Jul 9 2010, 9:07 pm Cinolt Post #4



Potentially useful info on VCOD compression and/or figuring out how StarCraft uses it:

Quote from Heinermann
VCOD can be read like this:

DWORD vcod[256];
for each of 12 players, you keep:
vcod[0]
vcod[owner]
vcod[race]
vcod[force]

Code
#define MAX_PLAYER_SLOTS 12
#define MAX_PLAYER_NAME 25

struct PlayerData
{
  DWORD dwPlayerID;
  DWORD dwStormID;
  BYTE  nType;
  BYTE  nRace;
  BYTE  nTeam;
  char  szName[MAX_PLAYER_NAME];
} gPlayerData[MAX_PLAYER_SLOTS];   // loaded with nType (Owner), nRace, and nTeam (Force)
// Note: This is Starcraft's structure and you don't need to use it unless you actually want to verify the VCOD section.

// -- above this line are official names given by Blizzard Entertainment --

DWORD vcod[256]; // loaded with default VCOD
bool vcodUsed[256]; // uninitialized

// SOME FUNCTION
{
// initialize to false
for (int i = 0; i < 256; i++)
  vcodUsed[i] = false;

// always use index 0
vcodUsed[0] = true;

// use index at Type, Race, and Force
for (int i = 0; i < MAX_PLAYER_SLOTS; i++)
{
  vcodUsed[gPlayerData[i].nType] = true;
  vcodUsed[gPlayerData[i].nRace] = true;
  vcodUsed[gPlayerData[i].nTeam] = true;
}

// Set unused sections of VCOD to 0
for (int i = 0; i < 256; i++)
{
  if ( !vcodUsed[i] )
    vcod[i] = 0;
}

// continue doing whatever it is you want (write finished VCOD to file, etc)
}

http://code.google.com/p/vgce/source/browse/trunk/docs/Blizzard/Starcraft/vcod.cpp
http://code.google.com/p/vgce/source/browse/trunk/docs/Blizzard/Starcraft/chkFormat.txt
http://code.google.com/p/vgce/source/browse/trunk/docs/Blizzard/Starcraft/chkCompression.txt

Any self discoveries with ISOM that you document would be appreciated.

Post has been edited 2 time(s), last time on Jul 9 2010, 9:17 pm by yoonkwun.



None.

Jul 10 2010, 8:34 am O)FaRTy1billion[MM] Post #5

👻 👾 👽 💪

This might be helpful ... I've listed all the sections SC uses and when they are loaded (note that I just guessed what my notes meant ... I had breakpoints on the list and found which lists did what that way).
This way you don't have to bother with sections that SC doesn't use normally.

Collapsable Box




TinyMap2 - Latest in map compression! ( 7/09/14 - New build! )
EUD Action Enabler - Lightweight EUD/EPD support! (ChaosLauncher/MPQDraft support!)
EUDDB - topic - Help out by adding your EUDs! Or Submit reference files in the References tab!
MapSketch - New image->map generator!
EUDTrig - topic - Quickly and easily convert offsets to EUDs! (extended players supported)
SC2 Map Texture Mask Importer/Exporter - Edit texture placement in an image editor!
\:farty\: This page has been viewed [img]http://farty1billion.dyndns.org/Clicky.php?img.gif[/img] times!

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[03:34 pm]
Symmetry -- :wob:
[04:42 am]
Zycorax -- :wob:
[06:38 pm]
Ultraviolet -- :wob:
[2026-6-29. : 2:13 pm]
Vrael -- pee poo sibling
[2026-6-28. : 7:00 pm]
Symmetry -- poo poo papa
[2026-6-28. : 2:46 pm]
lil-Inferno -- pee pee child
[2026-6-27. : 6:10 pm]
Ultraviolet -- sweet summer child
[2026-6-26. : 10:31 am]
NudeRaider -- blessed innocent soul knows nothing of the strife we had before EUDs were discovered :teehee:
[2026-6-23. : 3:29 am]
DarkenedFantasies -- Probably just didn't care. For example, at some point before release, they've updated the graphics of some of the Protoss buildings (Forge, CyberCore, Citadel, Observatory, Arbiter Tribunal), but instead of properly re-rendering them with edited 3D models, they did crappy copy-paste jobs on the rendered graphics.
[2026-6-22. : 8:35 pm]
Ultraviolet -- :wob:
Please log in to shout.


Members Online: Vrael