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.
[11:10 pm]
NimoStar -- But Terran players did win the game against the bot. So it is conclusive, Terran OP ;)=
[11:09 pm]
NimoStar -- They were not "Unprepared" that was their fifth loss in a row against the bot. The other replays are also available
[10:37 pm]
NudeRaider -- Vrael
Vrael shouted: wasnt even that really, they 6000 apm just made the terran army so much more value/$ that the extra economy didnt matter
Well yes and no. The apm made him win the battle, but I'm not convinced a pro player can't account for that. He got caught with his pants down so it's not really representative of a prepared player. And the extra economy absolutely would've mattered if that push didn't almost immediately end the game.
[09:54 pm]
Symmetry -- rigged
[09:44 pm]
l)ark_ssj9kevin -- Wing 140 box 2 days in a row o_o
[06:39 pm]
Vrael -- 6000 apm near perfect focus fire is yikes
[06:38 pm]
Vrael -- paralyze was metaphorically speaking, paralyzed
[06:38 pm]
Vrael -- wasnt even that really, they 6000 apm just made the terran army so much more value/$ that the extra economy didnt matter
[01:58 pm]
NudeRaider -- NudeRaider
NudeRaider shouted: Oh_Man nothing too special tbh. the human player wasn't ready to combat the push that stretched almost the whole map. So this game means nothing. We'll have to see how it goes once the humans have adjusted for its unorthodox strategies.
they basically lost most of their army in one big battle and didn't have the time and production to leverage the economic advantage and come back from that blow.
[01:55 pm]
NudeRaider -- Oh_Man
Oh_Man shouted: https://youtu.be/1vsTqNwHquE omg guys it's happening. ITS HAPPENING. EVERONY STAY CALM. STAY F:wob::wob:CKING CALM!
not sure why you are so hyped, when basically the same happened 7 years ago with AlphaStar on SC2.
Please log in to shout.


Members Online: Rawflesh0615