enigma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Enigma-devel] BUG: easy-mode in "A-way"


From: Raoul
Subject: Re: [Enigma-devel] BUG: easy-mode in "A-way"
Date: Thu, 30 Nov 2006 00:24:12 +0100
User-agent: IceDove 1.5.0.8 (X11/20061116)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]