|
@ -279,6 +279,10 @@ MOVING_OPERATOR(south, 1, 0) |
|
|
MOVING_OPERATOR(west, 0, -1) |
|
|
MOVING_OPERATOR(west, 0, -1) |
|
|
MOVING_OPERATOR(southeast, 1, 1) |
|
|
MOVING_OPERATOR(southeast, 1, 1) |
|
|
|
|
|
|
|
|
|
|
|
#define MOVEMENT_CASES \ |
|
|
|
|
|
'N' : case 'n' : case 'E' : case 'e' : case 'S' : case 's' : case 'W' \ |
|
|
|
|
|
: case 'w' : case 'Z' : case 'z' |
|
|
|
|
|
|
|
|
BEGIN_SOLO_PHASE_0(bang) |
|
|
BEGIN_SOLO_PHASE_0(bang) |
|
|
BEGIN_HASTE |
|
|
BEGIN_HASTE |
|
|
BECOME('.'); |
|
|
BECOME('.'); |
|
@ -315,17 +319,8 @@ BEGIN_DUAL_PHASE_1(banger) |
|
|
Glyph result; |
|
|
Glyph result; |
|
|
switch (g) { |
|
|
switch (g) { |
|
|
case '1': |
|
|
case '1': |
|
|
case 'N': |
|
|
|
|
|
case 'n': |
|
|
|
|
|
case 'E': |
|
|
|
|
|
case 'e': |
|
|
|
|
|
case 'S': |
|
|
|
|
|
case 's': |
|
|
|
|
|
case 'W': |
|
|
|
|
|
case 'w': |
|
|
|
|
|
case 'Z': |
|
|
|
|
|
case 'z': |
|
|
|
|
|
case '*': |
|
|
case '*': |
|
|
|
|
|
case MOVEMENT_CASES: |
|
|
result = '*'; |
|
|
result = '*'; |
|
|
break; |
|
|
break; |
|
|
default: |
|
|
default: |
|
@ -474,16 +469,7 @@ BEGIN_DUAL_PHASE_1(uturn) |
|
|
{ \ |
|
|
{ \ |
|
|
Glyph g = PEEK(_d_y, _d_x); \ |
|
|
Glyph g = PEEK(_d_y, _d_x); \ |
|
|
switch (g) { \ |
|
|
switch (g) { \ |
|
|
case 'N': \ |
|
|
case MOVEMENT_CASES: \ |
|
|
case 'n': \ |
|
|
|
|
|
case 'E': \ |
|
|
|
|
|
case 'e': \ |
|
|
|
|
|
case 'S': \ |
|
|
|
|
|
case 's': \ |
|
|
|
|
|
case 'W': \ |
|
|
|
|
|
case 'w': \ |
|
|
|
|
|
case 'Z': \ |
|
|
|
|
|
case 'z': \ |
|
|
|
|
|
POKE(_d_y, _d_x, _d_glyph); \ |
|
|
POKE(_d_y, _d_x, _d_glyph); \ |
|
|
STUN(_d_y, _d_x); \ |
|
|
STUN(_d_y, _d_x); \ |
|
|
} \ |
|
|
} \ |
|
|