FWIW, here's the information I figured out about the Pushover file formats (*.scr, *.bcx, *.plx, *.pal):
First, all files except for the *.pal are compressed with
RNC_ProPack by Rob Northen with the key 0x1984.
(Use command "PPibm u -k 0x1984 filename.ext" to unpack)
A friend of mine,
blackhole89 has written a program to display the information of the *.bcx/*.plx files on the screen:
http://207.58.177.175/~geoo89/lemmings/displ.zipSource is included. Rename the respective files for the themes (styles) to whatever.ext and decompress them. Sample for the aztec style is included.
Herman Perk worked out some information about the codes and the levelfile names:
http://www.infordigital.com/Forum/f42/flash-game-puzzle-18179/#post31545As for my part...First the uncompressed *.scr format:
decompressed file size: 3958 bytes
consists of 3 sections:
section 1: 0x0000 - 0x0617 (1560 bytes) - game field information
section 2: 0x0618 - 0x0775 (350 bytes) - general level information
section 3: 0x0776 - 0x0f75 (2048 bytes) - unknown
section 1:
gamefield consists of 20 columns * 13 rows = 260 fields (13th row is only half-visible)
1 field = 16 * 16 px
the information for 1 field takes 6 bytes
first/second byte: background sprite to be displayed - see displ (part 1)
third byte: foreground - see displ (part 2)
fourth byte: stone located in that field
0 = none
1 = Standard
2 = Stopper
3 = Splitter
4 = Exploder
5 = Delay
6 = Tumbler
7 = Bridger
8 = Vanish
9 = Trigger
A = Ascender
fifth byte: unknown - only used in the option levels
sixth byte: unknown - only used in the option levels
section 2:
0x0618 - 0x061F = Style name
0x0620 - 0x062B = string " SILENCE "
0x062C = x-pos entrance
0x062D = y-pos entrance
0x062E = x-pos exit
0x062F = y-pos exit
0x0630 - 0x0773 = some text
0x0774 - 0x0775 = time (minutes/seconds)
section 3:
unknown - used in the levels, but doesn't seem to have any function
The uncompressed *.bcx resp. *.plx format:
graphics for background resp. foreground, 16*16 sprites
1 sprite: 160 bytes
information is split up into 5 layers of 32 bytes each (1 layer = 256 bits = 16*16)
5th layer is always empty
the 4 bits at a position 'n' make up a 4bit value for the pixel 'n' within the sprite
the 4bit value defines one color for the pixel at the position 'n' taken out of the palette
My explanation is crappy, here's an example:
8A AA 5x ...
92 B2 Ax ...
2A A1 5x ...
55 25 5x ... = hex code, each string = 32 bytes
10001010101010100101...
10010010101100101010...
00101010101000010101...
01010101001001010101... = bin code, each string = 256 bits
--------------------
3849587870F2183C3D3D... = color for pixel
the *.pal (64 bytes):
0x0000 - 0x001F defines palette of 16 colors
2 bytes each for defining one color:
first four bits empty
four bits for each RGB component
0x0020 - 0x003F empty
And I'm close with the format for the domino graphics, the last(?) thing that would be required for an editor (Although it would most likely be easier to create a separate file for those 11 stones).
Bah, code tag doesn't even have fixed font...