MCPcopy Create free account
hub / github.com/diasurgical/devilution / M_WalkDir

Function M_WalkDir

Source/monster.cpp:2699–2733  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2697}
2698
2699void 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
2735void GroupUnity(int i)
2736{

Callers 6

M_CallWalkFunction · 0.85
M_CallWalk2Function · 0.85
M_DumbWalkFunction · 0.85
M_RoundWalkFunction · 0.85
MAI_GolumFunction · 0.85
sync_monsterFunction · 0.85

Calls 4

app_fatalFunction · 0.85
M_StartWalkFunction · 0.85
M_StartWalk3Function · 0.85
M_StartWalk2Function · 0.85

Tested by

no test coverage detected