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.
[04:19 pm]
NudeRaider -- Hello World!
[2026-6-01. : 4:03 pm]
IskatuMesk -- no Hello World? No Hello . jpeg? Not even ddosing some government website? smh my head
[2026-5-31. : 10:02 pm]
Symmetry -- I was really just figuring out how to compile
[2026-5-31. : 10:02 pm]
Symmetry -- I didn't make it do anything
[2026-5-31. : 9:17 pm]
Ultraviolet -- hell yeah. did you have trouble making the button functional, or just haven't gotten there yet?
[2026-5-31. : 8:29 pm]
Symmetry -- I made the marine shoot lasers and gave the medic a nonfunctional button
[2026-5-31. : 8:07 pm]
Ultraviolet -- Symmetry
Symmetry shouted: I did my first EUD thing today. Feels like me finding arsenal at age 8 again
haha for sure. in some ways it's even more exciting because you can play EUD maps on regular battle.net, don't need to convince someone to download your mod to play with you. what did you do?
[2026-5-31. : 6:47 pm]
Symmetry -- I did my first EUD thing today. Feels like me finding arsenal at age 8 again
[2026-5-31. : 3:20 pm]
l)ark_ssj9kevin -- le reddit
[2026-5-31. : 2:55 pm]
Moose -- >reddit :rip2:
Please log in to shout.


Members Online: DarkenedFantasies