Hi, >>>> Does anybody know how the method should look like for Per.Oxyd? >>>> Which Levels do provide an easy mode? >>> There is no simple way to determine this, IIRC. Easy mode in Per.Oxyd >>> is implemented by having a couple of objects that remove items >>> and/or stones from the landscape. I don't think there is a flag in >>> the level file that can simply be read out. >>> Using a large table may be the only reasonable solution. >> >> Fixed with revision 477 - a table is added to "ox_peroxyd.cc". >> Currently all per.oxyd levels are set to provide an easy mode. Now we >> just need to set up the table correctly. > > Ok, I made a list of levels which include "st-easymode" (PerOxyd stone > 0xb7), it_easykillstone (0x76) or it_easykeepstone (0x77): > > 3 7 8 9 10 11 14 17 24 26 27 30 31 33 34 37 38 41 42 43 45 47 48 50 51 > 52 54 55 56 58 60 61 65 67 68 72 73 74 75 76 77 79 80 81 82 83 84 86 > 88 89 90 94 95 96 97 98 99 100 104 105 108 110 112 114 115 116 121 124 > 129 133 134 136 138 139 140 143 146 148 149 151 152 153 154 156 157 > 158 161 163 164 165 166 168 169 170 172 174 175 176 177 178 179 180 > 182 185 186 188 190 192 195 196 197 198 199 200 > > But there are some more levels which provide an easy mode: 29 (those > tops move quite faster in normal mode than in easy mode), 40 (player > controls 2 marbels, one rubberband removed),70 (gradient force is much > stronger in normal mode),74 (not emulated correctly in enigma, there > should be an it-brake in easy mode), 78 (speed of tops), 92 (speed of > tops), 103 (there is no rubberband in easy mode. I don't really know > how this is accomplished, but in enigma it works correctly), 147 > (speed of tops), 162 (timer is much slower in easy mode), 173 and 184 > (speed of tops again). > > Well, to cut a long story short, this is the table: > > bool LP_PerOxyd::hasEasymode(size_t index) { > static const bool easymode_map[200] = { // 1-100 single, 101 - 200 > netplay > false, false, true, false, false, false, false, true, true, > true, // 1 - 10 > true, false, false, true, false, false, true, false, false, > false, // 11 - 20 > false, false, false, true, false, true, true, false, true, > true, // 21 - 30 > true, false, true, true, false, false, true, true, false, > true, // 31 - 40 > true, true, true, false, true, false, true, true, false, > true, // 41 - 50 > true, true, false, true, true, true, false, true, false, > true, // 51 - 60 > true, false, false, false, true, false, true, true, false, > true, // 61 - 70 > false, true, true, true, true, true, true, true, true, true, > // 71 - 80 > true, true, true, true, false, true, false, true, true, true, > // 81 - 90 > false, true, false, true, true, true, true, true, true, true, > // 91 - 100 > false, false, true, true, true, false, false, true, false, > true, //101 - 110 > false, true, false, true, true, true, false, false, false, > false, //111 - 120 > true, false, false, true, false, false, false, false, true, > false, //121 - 130 > false, false, true, true, false, true, false, true, true, > true, //131 - 140 > false, false, true, false, false, true, true, true, true, > false, //141 - 150 > true, true, true, true, false, true, true, true, false, > false, //151 - 160 > true, true, true, true, true, true, false, true, true, true, > //161 - 170 > false, true, true, true, true, true, true, true, true, true, > //171 - 180 > false, true, false, true, true, true, false, true, false, > true, //181 - 190 > false, true, false, false, true, true, true, true, true, > true //191 - 200 > }; > return easymode_map[index]; > } > > I don't know if this is all correct, maybe there are even more levels > with an easy mode... Good work!
I asked Daniel, and he said, that we should look out for at least: Stones: 0xb7 and 0xb9 Objects: 0x76 und 0x77 And a few things deeper in the oxydlib ... I see, that you didn't search for 0xb9. Here is the result: 0xb9: 108 117 150 168 181 193 200 Levels, you don't have: 117, 150, 181, 193 For the first step I would like to take you table based only on these 4 objects. This will probably be before 1.0. Then, in a second step, we will look at the exceptions you mentioned. Any objections? -- Raoul _______________________________________________ Enigma-devel mailing list Enigma-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/enigma-devel