From: jim <ji...@ma...> - 2002-06-11 12:26:38
|
firefreak wrote: > jim wrote: > > How many different wire colours are there? I can't remember off hand. A= re > > there any wire puzzles on higher Puzzle settings that have all wires th= e > > same colour? >=20 > I've found: > - all yellow, all blue, all violet > - combination of red, violet, blue, yellow (always in this order) This would suggest that there are 4 colours; red, violet, blue, yellow, which gives us a 2-bit colour field. If the multi-colour puzzles are always in the same order we don't need individual colour fields, so there's only one colour field for the whole puzzle. > > level 0 instant solution; > > level 1 all wires same colours=20 > > level 2 threshold as given; > > level 3 full power always needed. Is this right? Level 2 seems to have all wires same colours too, at least for some puzzles. > ok, but I don't see any big difference between 2 and 3 as the > power level per wire is relative to the solve level - it must > be because the target state of the puzzle doesn't change... > Or did I miss something? (just made a testgame: on level 3 > always the 4 colour combo is used and full power is to be > reached) Why should power per wire be relative to solve level? The target state of the puzzle has nothing to do with threshold power, it just determines the "correct" states of the wires. Not all of them necessarily have to be correct for the threshold to be reached. > > Likely B I'd have said ... try subtracting target from actual for all t= he > > 3-bit fields. >=20 > hmm... this could be an idea. I had a brief look last night and it seems that each wire has 4 states: both ends wrong, wire pointing in wrong direction; one end correct; both ends wrong, wire pointing in correct direction; wire in the right place. In that order as far as amount of power given goes. I didn't notice that how close an end is to its target connector makes a difference. > >>Power Puzzles: > >>Unfortunately, the state is coded in a weird way. > > Plus =E7a change, eh? >=20 > I've updated the scratchpad in trigger.c with all the possible > states for the small puzzle on level 7. Ignoring the rightmost > byte of the trigger info, you can line up the bits in > triples, so that the 3 nodes are (mostly) determined by > 001 =3D X > 010 =3D + > (000 could be empty, and 011 a full block...) >=20 > for example: state + + X has state bytes ... 0xA4 0x00 > bit triples: ... 001 010 010 000 000 000 >=20 > per definition this puzzle has a size of 3x3, so it seems to > be that the three zero nodes are the empty line on the top. >=20 > BUT: state X X + has state bytes ... 0x12 0x01 > bit triples: ... 000 001 001 000 000 001 >=20 > huh?? Wrong endianness. xxx -> 0092 -> (000000) 001 001 001 (0) xx+ -> 0112 -> (000000) 010 001 001 (0) x+x -> 00A2 -> (000000) 001 010 001 (0) and so on. I suggest the following algorithm. 9*3 =3D 27, round up to 32 so we have 4 bytes of data. Start from the 4th byte counting BACKWARDS, 00 92 00 00. When we need a bitfield take the bottom 3 bits. When we need a new byte rotate it in at the top. 00009200 -> 000 -> 00001240 [ ] 00001240 -> 000 -> 00000248 [ ] 00000248 -> 000 -> 00000049 [ ] 00000049 -> 001 -> 00000009 [x] 00000009 -> 001 -> 00000001 [x] 00000001 -> 001 -> 00000000 [x] =2E.. and the rest are blank, of course. > Furthermore the very first puzzle on Medical (my second I'm hacking > on) has some states documented in the scratchpad. > One state has all nodes off, another one with all nodes on. > The difference between those two states should point out the alignment > for the node triples, but it doesn't conclude to a period. > And there are some bits (marked with ?) which pop up without any > reason... Ooops, that doesn't work for the medical one. Hold on ... BINGO! Got it! Start with the last 32-bit word in the definition, rotating bits out 3 at a time from the bottom. When you run out, keep the bits you've got and start from the bottom bit of the next previous word (so the bottom bit of the word at offset 0x14 is the top bit of the 11th triple). Keep going until you've got them all. This takes up (potentially) all 16 "special" bytes of the trigger definition, giving a maximum of 127 bits for a 3x9 grid. Take for example a 4x3 grid: abcd efgh ijkl The bitfields in the last 2 words are 0x14: ---- ---- ---- ---- ---- ---- ---- lllk 0x18: kkjj jiii hhhg ggff feee dddc ccbb baaa You were right, they're coded in a weird way. > Doesn't seem to be. The helper trigger ought to be the state, > but I just don't get it's key... The helper trigger is indeed the state, and all of it is the state. The other fields in the panel, or some of them, presumably give extra switching nodes and/or blanks for higher difficulty levels. > > Sometimes condition is the C/S/T of the object to stick into it.=20 > > Is there a flag for condition type, or does it depend on panel type? >=20 >=20 > I guess panels always need an object to attach to. > Let's storm brain: Isotope, Relais 428, Retina Scan, Antennas, > Chipset -- any more? Not that I can think of, no. There are other quest items defined, but not used. > d'oh -- just looked at the scratchpad; The antennas have a zero > condition (btw: the Maintenance panel in the scratchpad is any > random one -- didn't know the way to 428 by heart ;) Well, perhaps antenna panels are a special case, then. You do have to open them first. What are the chances that the dev team kept the blast doors to Maintenance shut until the demodulator was needed because they didn't have any way for the panel to conditionally refuse to accept it? jim --=20 http://madeira.physiol.ucl.ac.uk/people/jim/ "... I naturally gravitated to London, that great cesspool into which all t= he loungers and idlers of the Empire are irresistibly drained." - Sir Arthur Conan Doyle, "A Study in Scarl= et" |