The previous method was a little too hacky for me - let's do this the right way:
The map file basically has two values at the front (map rows and map columns):
Why didn't I notice this earlier? Well, I was brute force decompressing the images, originally -
the second multi file archive format is a little different than what I originally thought;
more on that in a later post. For now, let's attack this map format.
So this is how I normally plan an attack:
1.What do I know?
- I know the width and height of the map in blocks
- Knowing the above, I can figure out the number of files (WIDTH*HEIGHT)
- I know that each block is 64x64
- I know that the end result is a big blitted map
2.What do I have?
- I have parts of the map.
- I have information about the map in its final form.
3.What do I want?
- I want a compiled map.
4.How can I get what I want with as little manual effort as possible?
- I could stream every step:
*For each file
>Convert to ARGB8888 from ARGB1555 (16->32bit)
>Stick it on a blank image
So that's our workflow... in python:
As promised, in no particular order, here's a zip of all the maps dumped (including the unreleased ones):
Culdcept 2 Maps
Next up - The Card Format