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.
Post has been edited 1 time(s), last time on Sep 13 2007, 12:30 pm by isolatedpurity.
None.
You could try and get Yoshi on that, I think LW and someone else helped him with it.
None.
Numerous people can do this...
I'm just not one of them
None.
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.
None.
Why do you want it in c/c++? See
pack and
unpack
None.
I don't have exactly the code you need (main issue: windows code), actually splitting the .chk into sections is really simple.
pseudocode:
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...
None.
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?
None.
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
.
None.
Quote from isolatedpurity
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
.
Hey leave VB alone its just as good as anything
.
None.
VB is crap. Slow as hell.
None.
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.
Post has been edited 1 time(s), last time on Sep 13 2007, 8:45 pm by FaRTy1billion.
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!
This page has been viewed [img]http://farty1billion.dyndns.org/Clicky.php?img.gif[/img] times!
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.
None.
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?
None.
It's all PHP. I use WinMPQ to extract the CHK.
None.
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.
None.
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
None.
OS Map 2 isn't VB, so you could use that once all the kinks are worked out.
None.
The headers you should be looking into are 'OWNR', 'ERA ', 'DIM ', 'STR ', 'SPRP', 'FORC', and maybe 'COLR'
None.
So that's how you get all your minerals Falk... you reply to everything without even knowing what you are saying? ;o
None.