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

Back* from the grave

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.
[06:48 pm]
Ultraviolet -- :wob:
[2024-4-21. : 1:32 pm]
Oh_Man -- I will
[2024-4-20. : 11:29 pm]
Zoan -- Oh_Man
Oh_Man shouted: yeah i'm tryin to go through all the greatest hits and get the runs up on youtube so my senile ass can appreciate them more readily
You should do my Delirus map too; it's a little cocky to say but I still think it's actually just a good game lol
[2024-4-20. : 8:20 pm]
Ultraviolet -- Goons were functioning like stalkers, I think a valk was made into a banshee, all sorts of cool shit
[2024-4-20. : 8:20 pm]
Ultraviolet -- Oh wait, no I saw something else. It was more melee style, and guys were doing warpgate shit and morphing lings into banelings (Infested terran graphics)
[2024-4-20. : 8:18 pm]
Ultraviolet -- Oh_Man
Oh_Man shouted: lol SC2 in SC1: https://youtu.be/pChWu_eRQZI
oh ya I saw that when Armo posted it on Discord, pretty crazy
[2024-4-20. : 8:09 pm]
Vrael -- thats less than half of what I thought I'd need, better figure out how to open SCMDraft on windows 11
[2024-4-20. : 8:09 pm]
Vrael -- woo baby talk about a time crunch
[2024-4-20. : 8:08 pm]
Vrael -- Oh_Man
Oh_Man shouted: yeah i'm tryin to go through all the greatest hits and get the runs up on youtube so my senile ass can appreciate them more readily
so that gives me approximately 27 more years to finish tenebrous before you get to it?
[2024-4-20. : 7:56 pm]
Oh_Man -- lol SC2 in SC1: https://youtu.be/pChWu_eRQZI
Please log in to shout.


Members Online: Ultraviolet, 3gabriellae5885fL3, Roy