From: Christian H. <fir...@pi...> - 2002-06-09 10:27:26
|
heya; big news: Wire Puzzles: Their state IS stored within the switch info (I forgot to copy my savegame to the datadir shack uses ;) Both the IS and SHOULD states are stored within a 32 bit field each. (should: offset 0x0014, is: offset 0x0018) Each bitfield is made up by 2 three bit combos describing one connection (wire). This makes only two int16 fields remaining to be hacked. I tried to associate them with the wire colors, together with the class type (Wire puzzles appear to have 9 3 1, 9 3 2, 9 3 3) - but failed (always one exception turned up...). Perhaps the amount of wires is another parameter for the colors... Another info I'm missing is the power level one wire gives. a) The power level is hardcoded associated with the color b) (more likely) the power output is calculated on how 'near' the wire is to it's target connection... Power Puzzles: The second Map Object reference adresses a trigger object being an action 0x00 trigger without condition. The 'private' bytes of the trigger object appear to describe the state of the puzzle. Unfortunately, the state is coded in a weird way. The most simplest puzzle for example (lvl7, last antenna, first puzzle to get in) has only three nodes (init: X X X). The initial trigger state has three identical entries (using proper bit alignment so that the nodes are described with 3 bits each) -- but changing the puzzle to "X + +" made unrelated changes to the trigger state... Could it be compressed? I've updated the code (also added trigger.c which loads the raw data; plus another scratchpad ;) plus the ss-specs doc with the info we figured out already. ff1 -- It is a great thing when you realize that you still have the ability to surprise yourself. Makes you wonder what else you can do. |