| 2697 | } |
| 2698 | |
| 2699 | void M_WalkDir(int i, int md) |
| 2700 | { |
| 2701 | int mwi; |
| 2702 | |
| 2703 | if ((DWORD)i >= MAXMONSTERS) |
| 2704 | app_fatal("M_WalkDir: Invalid monster %d", i); |
| 2705 | |
| 2706 | mwi = monster[i].MType->Anims[MA_WALK].Frames - 1; |
| 2707 | switch (md) { |
| 2708 | case DIR_N: |
| 2709 | M_StartWalk(i, 0, -MWVel[mwi][1], -1, -1, DIR_N); |
| 2710 | break; |
| 2711 | case DIR_NE: |
| 2712 | M_StartWalk(i, MWVel[mwi][1], -MWVel[mwi][0], 0, -1, DIR_NE); |
| 2713 | break; |
| 2714 | case DIR_E: |
| 2715 | M_StartWalk3(i, MWVel[mwi][2], 0, -32, -16, 1, -1, 1, 0, DIR_E); |
| 2716 | break; |
| 2717 | case DIR_SE: |
| 2718 | M_StartWalk2(i, MWVel[mwi][1], MWVel[mwi][0], -32, -16, 1, 0, DIR_SE); |
| 2719 | break; |
| 2720 | case DIR_S: |
| 2721 | M_StartWalk2(i, 0, MWVel[mwi][1], 0, -32, 1, 1, DIR_S); |
| 2722 | break; |
| 2723 | case DIR_SW: |
| 2724 | M_StartWalk2(i, -MWVel[mwi][1], MWVel[mwi][0], 32, -16, 0, 1, DIR_SW); |
| 2725 | break; |
| 2726 | case DIR_W: |
| 2727 | M_StartWalk3(i, -MWVel[mwi][2], 0, 32, -16, -1, 1, 0, 1, DIR_W); |
| 2728 | break; |
| 2729 | case DIR_NW: |
| 2730 | M_StartWalk(i, -MWVel[mwi][1], -MWVel[mwi][0], -1, 0, DIR_NW); |
| 2731 | break; |
| 2732 | } |
| 2733 | } |
| 2734 | |
| 2735 | void GroupUnity(int i) |
| 2736 | { |
no test coverage detected