40 lines
804 B
C
40 lines
804 B
C
|
case 2:
|
||
|
{
|
||
|
enum moves move = context.move; //__offset0xa0
|
||
|
int32_t j = context.j;
|
||
|
int32_t i = context.i;
|
||
|
if (move == 0)
|
||
|
{
|
||
|
j = (j + 1);
|
||
|
}
|
||
|
else if (move == 1)
|
||
|
{
|
||
|
i = (i - 1);
|
||
|
}
|
||
|
else if (move == 2)
|
||
|
{
|
||
|
j = (j - 1);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
op = op == 3;
|
||
|
i = (i + ((uint32_t)op));
|
||
|
}
|
||
|
int32_t row;
|
||
|
if ((j <= 0xb && i <= 0xb))
|
||
|
{
|
||
|
row = context.visited[i];
|
||
|
}
|
||
|
if (((j > 0xb || (j <= 0xb && i > 0xb)) || ((j <= 0xb && i <= 0xb) && (TEST_BITD(row, j)))))
|
||
|
{
|
||
|
context.err = (context.err | 1);
|
||
|
}
|
||
|
if (((j <= 0xb && i <= 0xb) && (!(TEST_BITD(row, j)))))
|
||
|
{
|
||
|
context.i = i;
|
||
|
context.j = j;
|
||
|
context.visited[i] = (row | ((int32_t)(1 << j))); // set bit
|
||
|
}
|
||
|
break;
|
||
|
}
|