It would require Eleon to implement a sub-block model, which they certainly could do (for instance, it could be its own block type, with the subtype referencing a particular block array later in the block data, though that would only give 65536 distinct combinations of blocks at this point), but yeah, it'd take some thought and work to do it well.
Oh guys, that's SO amazing! Thanks a ton for that. I was looking at the save game data for so long, and I got some of the stuff worked out, but looking at this rather elaborate list is quite a relief! Thanks! Edit: do we know how the bitfields exactly work? I get contradictory results. Example: I made a BP with only a starter block (9 blocks, 8 steel and a core) and get that: 0000000111111111 (0xFF01 )which is 7 zeroes (exactly the buffer from the bitfield size) - so I thought, ok, maybe the buffer to fill up the complete bytes is at the beginning... but putting in another example BP, I get that: 0100000010000000 (0x8040)with also a buffer of 7 bits, which is clearly wrong. I tried to get my head around that for hours now.. > Got it. it's actually backwards on word level, so the 0x8040 would be a 0000000 1000000 10 (considering a bp width of 7) Edit2: Do you know in which order the bitfield is ordered? I am currently assuming in multiple X/Y layers (so x,y,z) > Got that one, too. It's bottom to top per layer, layers back to front (so on a ship it would be vertical slices from the aft to the stern)
The unknown is part of the ID. When reading both bytes, my Core is 0x022E (558) in the header, 0x0a2e in the grid ("rotation" 00001 | 010 <-- 0x02). Also, 0x032e (which should be the core, if it's just the 0x2e portion), is "Window Blocks S: Round Corner" Another example: 0x018d = "Wood Block: Cylinder", 0x058d = "Artificial Plants (Deco): Tentacle Tree".
Any new activity on this? I grabbed the python code to try and read some of my blueprints. but its giving an error about "bad magic number for file header". some poking around shows the 0x03 and 0x04 header bytes are missing from the stream. is the block data no longer compressed? or... something else? but for older blueprints, it seems to be working.
Good question; I've not had time to look at this due to the holidays. I'll do some poking around myself when I get the chance and update my code when I get it working again. If anyone learns anything about the new format in the meantime, please post it here.
My bain nearly exploded. reading all of that ! Fascinating though, keep up the great work guys , some of us cant code , we love your work though.