Staredit Newtork
Community
StarCraft
Games
Site
Favourites
I need code.
Creator: isolatedpurity
Time: Sep 13 2007, 10:11 am
  isolatedpurity Sep 13 2007, 10:11 am Post #1
[Avatar]
and she's STILL hawt
 M
 1344
 K
 9
I need code in C++ to take a .chk file and break it down into sections, and get the data that SEN needs (map size, tileset, description, forces, force make up (humans, computers)) and prints it out in whatever format I can break it down with in PHP. The furthest I got was seeing that TYPE exists. The more different examples I have = the better. Even if someone gives me the "perfect code", I still wouldn't mind seeing how you did it.

Code is for linux.
This post was edited 1 time, last edit by isolatedpurity: Sep 13 2007, 12:30 pm.
(top)
Things to know: The squeaky wheel gets the grease
Working on: Forums & polls. Should be done tonight.
Next in line: DLDB tools for dldb managers, Message center, Mod night...
 Fierce Sep 13 2007, 10:37 am Post #2
[Avatar]
 M
 15
 K
 32
You could try and get Yoshi on that, I think LW and someone else helped him with it.
(top)
  isolatedpurity Sep 13 2007, 10:49 am Post #3
[Avatar]
and she's STILL hawt
 M
 1344
 K
 9
Numerous people can do this...
I'm just not one of them :)
(top)
Things to know: The squeaky wheel gets the grease
Working on: Forums & polls. Should be done tonight.
Next in line: DLDB tools for dldb managers, Message center, Mod night...
 Falkoner Sep 13 2007, 1:07 pm Post #4
[Avatar]
Taking StarCraft Map Making to the Limit!
 M
 1003
 K
 37
Yoshi just combined OS Map into the system, ask him how it was done, that's probably the easiest way, since he's pretty much the only one who actually has the code already set up.
 Doodle77[MM] Sep 13 2007, 1:42 pm Post #5
[Avatar]
 M
 n/a
 K
 45
Why do you want it in c/c++? See pack and unpack
 spinesheath Sep 13 2007, 2:58 pm Post #6
[Avatar]
 M
 15
 K
 1
I don't have exactly the code you need (main issue: windows code), actually splitting the .chk into sections is really simple.
pseudocode:

Code

Copy the whole .chk into an array

while(not at end of file)
{
Read 4 bytes into SectionHeader
Read 4 bytes into SectionLength
if(SectionHeader == known one)
{
Copy SectionLength bytes into a predefined structure, one for each Section. Maybe add some validification
}
Set the pointer to the end of the section you dealt with just now
}




This will skip all the "sections" added for protection (don't worry, there are other means of protection), and you can easily skip a few sections that you don't need, too.
If you copy the section data into structures that have their elements in just the same order as the data in the .chk is, you can really just copy the data over after checking the SectionLength.
This "code" can also easily read multiple terrain sections properly and stuff like that.

Edit: Errmm, fix the CODE tag pls...
(top)
 (U)devilesk Sep 13 2007, 4:32 pm Post #7
[Avatar]
Classic
 M
 479
 K
 42
Using OSMAP the program will make it so any type of protected map can be uploaded. I think that's what would be best for the database.

Also, should save a lot of trouble. Why reinvent the wheel?
(top)
Re: Will Maphack be allowed in SC2?
for LAST TIME MAPHACK IS NOT CHEAT. is ROCKET BOOSTER INTO SPACE CHEAT? ROCKET BOOSTER INTO SPACE MAKE SPACE TRAVEL EASIER BUT NOT CHEAT. THEREFORE, MAPHACK IS NOT CHEAT. WOW YOU PEOPLE ARE STUPIDS!!!!

While playing Soldat:
Bravo Team Member: staying two seconds at one place is not camping..
Alpha Team Member: ya.. and putting ur cock into a vag is not sex
  isolatedpurity Sep 13 2007, 5:44 pm Post #8
[Avatar]
and she's STILL hawt
 M
 1344
 K
 9
1. Osmap runs in vbasic. I do not like vbasic.
2. We do not use windows anyways.

Those php functions might be useful, thanks. I wonder if it would just be easy to parse the chk in php.l

I have it working with (a lot of) clokr_'s help. But I ran into a small problem. Hopefully by tonight I will have a script where you can upload maps and it'll attempt to break your map down.
I still wouldn't mind seeing someone else's linux code though :) .
(top)
Things to know: The squeaky wheel gets the grease
Working on: Forums & polls. Should be done tonight.
Next in line: DLDB tools for dldb managers, Message center, Mod night...
 Oo.Twitch.oO Sep 13 2007, 8:10 pm Post #9
[Avatar]
Person Of All Kinds
 M
 153
 K
 45
Quote from isolatedpurity1. Osmap runs in vbasic. I do not like vbasic.
2. We do not use windows anyways.

Those php functions might be useful, thanks. I wonder if it would just be easy to parse the chk in php.l

I have it working with (a lot of) clokr_'s help. But I ran into a small problem. Hopefully by tonight I will have a script where you can upload maps and it'll attempt to break your map down.
I still wouldn't mind seeing someone else's linux code though :) .

Hey leave VB alone its just as good as anything :) .
 spinesheath Sep 13 2007, 8:35 pm Post #10
[Avatar]
 M
 15
 K
 1
VB is crap. Slow as hell.
(top)
 O)FaRTy1billion[MM] Sep 13 2007, 8:39 pm Post #11
[Avatar]
Remember the game! P.s.: Feldspar.
 M
 593
 K
 45
RexyRex may be a good person to ask about this as she has done a lot of it...

4 byte string Name, 4-byte unsigned int Length, then Length bytes. For incrementing the pointer, just do pointer+Length+8.

If you ask nicely, I may set up some simple PHP thingy to parse CHKs and get specified data from them.
This post was edited 1 time, last edit by FaRTy1billion: Sep 13 2007, 8:45 pm.
(top)
 RexyRex Sep 13 2007, 9:08 pm Post #12
[Avatar]
 M
 -135
 K
 1
How about this?
http://75.83.16.184/sc_chk/

Choose a map then click 'session' to dump everything in memory, which is the STR and UNIT section.


Would you like the source? Using it as a guide it'd be fairly easy to follow the CHK specification here or at Maplantis and just finish it.
(top)
  isolatedpurity Sep 13 2007, 9:11 pm Post #13
[Avatar]
and she's STILL hawt
 M
 1344
 K
 9
You know... I found that website while googling around. I was like "hey... wtf... what's this... IT'S EXACTLY WHAT I'M TRYING TO DO DAMN IT!!!"
You mean, that's you? ;o
What's it written in?
(top)
Things to know: The squeaky wheel gets the grease
Working on: Forums & polls. Should be done tonight.
Next in line: DLDB tools for dldb managers, Message center, Mod night...
 RexyRex Sep 13 2007, 9:12 pm Post #14
[Avatar]
 M
 -135
 K
 1
It's all PHP. I use WinMPQ to extract the CHK.
(top)
  isolatedpurity Sep 13 2007, 9:14 pm Post #15
[Avatar]
and she's STILL hawt
 M
 1344
 K
 9
Is that actually working off your computer? Like, is that download folder your download folder as of right now? Very sexy. Hell, we don't need SEN, we just need everyone to run that script and just link us all together ;o.

Sure, I'll love to have your source.
(top)
Things to know: The squeaky wheel gets the grease
Working on: Forums & polls. Should be done tonight.
Next in line: DLDB tools for dldb managers, Message center, Mod night...
 RexyRex Sep 13 2007, 9:25 pm Post #16
[Avatar]
 M
 -135
 K
 1
Yeah, it's all live from my computer...

Anyway the script is still fairly incomplete. It doesn't check any of the headers and is still pretty vulnerable to certain protections. LegacyWeapon was starting to help me with that but I haven't worked on the project in ages. Also, the AJAX work was a little thrown together and sloppy. What else... It does log every visitor that at least extracts a map.

Yeah I should probably be telling you this in a PM with the source huh. TTYL :D
(top)
 Falkoner Sep 13 2007, 9:52 pm Post #17
[Avatar]
Taking StarCraft Map Making to the Limit!
 M
 1003
 K
 37
OS Map 2 isn't VB, so you could use that once all the kinks are worked out.
 RexyRex Sep 13 2007, 10:02 pm Post #18
[Avatar]
 M
 -135
 K
 1
The headers you should be looking into are 'OWNR', 'ERA ', 'DIM ', 'STR ', 'SPRP', 'FORC', and maybe 'COLR'
(top)
 LegacyWeapon Sep 13 2007, 10:46 pm Post #19
[Avatar]
 M
 n/a
 K
 1
Quote from FalkonerOS Map 2 isn't VB, so you could use that once all the kinks are worked out.
It's not?
(top)
(user posted image)
  isolatedpurity Sep 13 2007, 11:40 pm Post #20
[Avatar]
and she's STILL hawt
 M
 1344
 K
 9
So that's how you get all your minerals Falk... you reply to everything without even knowing what you are saying? ;o
(top)
Things to know: The squeaky wheel gets the grease
Working on: Forums & polls. Should be done tonight.
Next in line: DLDB tools for dldb managers, Message center, Mod night...
Users reading this topic: (plus 1 guests)


[01:36 pm]
[EcHo] -- anyone knows dat racing game with the color streaks behind it?
[12:40 pm]
Brontobyte -- Mkay Clokr_ :D
[12:27 pm]
Clokr_ -- I'm too lazy to. So send me an unprotected version if you want me to take a look at the triggers :P
[12:23 pm]
Brontobyte -- ZOMG! Unprotect it? Mr. Pro Edit :)
[12:23 pm]
Brontobyte -- "root denial from the server" What does this do?
Login to shout

©2003-2008 Staredit Network.
Starcraft & Starcraft II are trademarks of Blizzard Entertainment.
Site Index   |   Terms of Service   |   Privacy Policy   |   Contributions