Browse Source

Clean up M_Start*

pull/25/head
Anders Jenbo 8 years ago committed by Dennis Duda
parent
commit
c8e2794715
  1. 312
      Source/monster.cpp

312
Source/monster.cpp

@ -1895,234 +1895,146 @@ void __fastcall M_StartWalk(int i, int xvel, int yvel, int xadd, int yadd, int E
void __fastcall M_StartWalk2(int i, int xvel, int yvel, int xoff, int yoff, int xadd, int yadd, int EndDir)
{
int v8; // esi
int v9; // edx
int v10; // ecx
int v11; // eax
int v12; // eax
bool v13; // zf
CMonster *v14; // edx
int v15; // [esp+Ch] [ebp-8h]
int ia; // [esp+10h] [ebp-4h]
int EndDira; // [esp+28h] [ebp+14h]
int fx = xadd + monster[i]._mx;
int fy = yadd + monster[i]._my;
v15 = xvel;
ia = i;
v8 = i;
v9 = xadd + monster[i]._mx;
EndDira = monster[i]._mx;
v10 = monster[i]._my;
v11 = monster[v8]._my;
monster[v8]._mVar2 = v10;
dMonster[0][v10 + 112 * EndDira] = -1 - ia;
monster[v8]._mVar1 = EndDira;
monster[v8]._moldx = EndDira;
v12 = yadd + v11;
monster[v8]._moldy = v10;
v13 = monster[v8]._uniqtype == 0;
monster[v8]._mx = v9;
monster[v8]._my = v12;
monster[v8]._mfutx = v9;
monster[v8]._mfuty = v12;
dMonster[0][v12 + 112 * v9] = ia + 1;
if ( !v13 )
ChangeLightXY((unsigned char)monster[v8].mlid, v9, v12);
v14 = monster[v8].MType;
monster[v8]._mxvel = v15;
monster[v8]._myvel = yvel;
monster[v8]._mxoff = xoff;
monster[v8]._myoff = yoff;
monster[v8]._mmode = MM_WALK2;
monster[v8]._mVar3 = EndDir;
monster[v8]._mdir = EndDir;
NewMonsterAnim(ia, &v14->Anims[MA_WALK], EndDir);
monster[v8]._mVar8 = 0;
monster[v8]._mVar6 = 16 * xoff;
monster[v8]._mVar7 = 16 * yoff;
M_CheckEFlag(ia);
dMonster[monster[i]._mx][monster[i]._my] = -(i + 1);
monster[i]._mVar1 = monster[i]._mx;
monster[i]._mVar2 = monster[i]._my;
monster[i]._moldx = monster[i]._mx;
monster[i]._moldy = monster[i]._my;
monster[i]._mx = fx;
monster[i]._my = fy;
monster[i]._mfutx = fx;
monster[i]._mfuty = fy;
dMonster[fx][fy] = i + 1;
if ( monster[i]._uniqtype )
ChangeLightXY(monster[i].mlid, monster[i]._mx, monster[i]._my);
monster[i]._mxoff = xoff;
monster[i]._myoff = yoff;
monster[i]._mmode = MM_WALK2;
monster[i]._mxvel = xvel;
monster[i]._myvel = yvel;
monster[i]._mVar3 = EndDir;
monster[i]._mdir = EndDir;
NewMonsterAnim(i, &monster[i].MType->Anims[MA_WALK], EndDir);
monster[i]._mVar6 = 16 * xoff;
monster[i]._mVar7 = 16 * yoff;
monster[i]._mVar8 = 0;
M_CheckEFlag(i);
}
void __fastcall M_StartWalk3(int i, int xvel, int yvel, int xoff, int yoff, int xadd, int yadd, int mapx, int mapy, int EndDir)
{
int v10; // esi
int v11; // ebx
int v12; // edi
int v13; // edi
int v14; // ebx
int v15; // ecx
CMonster *v16; // edx
int v17; // [esp+Ch] [ebp-8h]
int ia; // [esp+10h] [ebp-4h]
int a6a; // [esp+28h] [ebp+14h]
int a7a; // [esp+2Ch] [ebp+18h]
int fx = xadd + monster[i]._mx;
int fy = yadd + monster[i]._my;
int x = mapx + monster[i]._mx;
int y = mapy + monster[i]._my;
ia = i;
v10 = i;
v11 = monster[i]._my;
v12 = monster[i]._mx;
v17 = xvel;
a6a = v12 + xadd;
a7a = v11 + yadd;
v13 = mapx + v12;
v14 = mapy + v11;
if ( monster[i]._uniqtype )
ChangeLightXY((unsigned char)monster[v10].mlid, v13, v14);
v15 = monster[v10]._my + 112 * monster[v10]._mx;
monster[v10]._mVar4 = v13;
dMonster[0][v15] = -1 - ia;
monster[v10]._mVar5 = v14;
dMonster[0][a7a + 112 * a6a] = -1 - ia;
monster[v10]._moldx = monster[v10]._mx;
monster[v10]._moldy = monster[v10]._my;
monster[v10]._mfutx = a6a;
monster[v10]._mxvel = v17;
dFlags[v13][v14] |= DFLAG_MONSTER;
v16 = monster[v10].MType;
monster[v10]._myvel = yvel;
monster[v10]._mfuty = a7a;
monster[v10]._mVar1 = a6a;
monster[v10]._mVar2 = a7a;
monster[v10]._mxoff = xoff;
monster[v10]._myoff = yoff;
monster[v10]._mmode = MM_WALK3;
monster[v10]._mVar3 = EndDir;
monster[v10]._mdir = EndDir;
NewMonsterAnim(ia, &v16->Anims[MA_WALK], EndDir);
monster[v10]._mVar8 = 0;
monster[v10]._mVar6 = 16 * xoff;
monster[v10]._mVar7 = 16 * yoff;
M_CheckEFlag(ia);
ChangeLightXY(monster[i].mlid, x, y);
dMonster[monster[i]._mx][monster[i]._my] = -(i + 1);
dMonster[fx][fy] = -(i + 1);
monster[i]._mVar4 = x;
monster[i]._mVar5 = y;
dFlags[x][y] |= DFLAG_MONSTER;
monster[i]._moldx = monster[i]._mx;
monster[i]._moldy = monster[i]._my;
monster[i]._mfutx = fx;
monster[i]._mfuty = fy;
monster[i]._mxoff = xoff;
monster[i]._myoff = yoff;
monster[i]._mmode = MM_WALK3;
monster[i]._mxvel = xvel;
monster[i]._myvel = yvel;
monster[i]._mVar1 = fx;
monster[i]._mVar2 = fy;
monster[i]._mVar3 = EndDir;
monster[i]._mdir = EndDir;
NewMonsterAnim(i, &monster[i].MType->Anims[MA_WALK], EndDir);
monster[i]._mVar6 = 16 * xoff;
monster[i]._mVar7 = 16 * yoff;
monster[i]._mVar8 = 0;
M_CheckEFlag(i);
}
void __fastcall M_StartAttack(int i)
{
int v1; // edi
int v2; // ebx
int v3; // esi
int v4; // ecx
int v5; // eax
v1 = i;
v2 = M_GetDir(i);
v3 = v1;
NewMonsterAnim(v1, &monster[v1].MType->Anims[MA_ATTACK], v2);
v4 = monster[v1]._my;
v5 = monster[v1]._mx;
monster[v3]._mxoff = 0;
monster[v3]._myoff = 0;
monster[v3]._mfuty = v4;
monster[v3]._moldy = v4;
monster[v3]._mmode = MM_ATTACK;
monster[v3]._mfutx = v5;
monster[v3]._moldx = v5;
monster[v3]._mdir = v2;
M_CheckEFlag(v1);
int md = M_GetDir(i);
NewMonsterAnim(i, &monster[i].MType->Anims[MA_ATTACK], md);
monster[i]._mmode = MM_ATTACK;
monster[i]._mxoff = 0;
monster[i]._myoff = 0;
monster[i]._mfutx = monster[i]._mx;
monster[i]._mfuty = monster[i]._my;
monster[i]._moldx = monster[i]._mx;
monster[i]._moldy = monster[i]._my;
monster[i]._mdir = md;
M_CheckEFlag(i);
}
void __fastcall M_StartRAttack(int i, int missile_type, int dam)
{
int v3; // ebp
int v4; // edi
int v5; // ebx
int v6; // esi
int v7; // ecx
int v8; // eax
v3 = missile_type;
v4 = i;
v5 = M_GetDir(i);
v6 = v4;
NewMonsterAnim(v4, &monster[v4].MType->Anims[MA_ATTACK], v5);
v7 = monster[v4]._my;
monster[v6]._mxoff = 0;
monster[v6]._myoff = 0;
monster[v6]._mVar2 = dam;
v8 = monster[v4]._mx;
monster[v6]._mfuty = v7;
monster[v6]._moldy = v7;
monster[v6]._mmode = MM_RATTACK;
monster[v6]._mVar1 = v3;
monster[v6]._mfutx = v8;
monster[v6]._moldx = v8;
monster[v6]._mdir = v5;
M_CheckEFlag(v4);
int md = M_GetDir(i);
NewMonsterAnim(i, &monster[i].MType->Anims[MA_ATTACK], md);
monster[i]._mmode = MM_RATTACK;
monster[i]._mVar1 = missile_type;
monster[i]._mVar2 = dam;
monster[i]._mxoff = 0;
monster[i]._myoff = 0;
monster[i]._mfutx = monster[i]._mx;
monster[i]._mfuty = monster[i]._my;
monster[i]._moldx = monster[i]._mx;
monster[i]._moldy = monster[i]._my;
monster[i]._mdir = md;
M_CheckEFlag(i);
}
void __fastcall M_StartRSpAttack(int i, int missile_type, int dam)
{
int v3; // ebp
int v4; // edi
int v5; // ebx
int v6; // esi
int v7; // ecx
int v8; // eax
v3 = missile_type;
v4 = i;
v5 = M_GetDir(i);
v6 = v4;
NewMonsterAnim(v4, &monster[v4].MType->Anims[MA_SPECIAL], v5);
monster[v6]._mmode = MM_RSPATTACK;
monster[v6]._mVar2 = 0;
monster[v6]._mVar3 = dam;
v7 = monster[v4]._my;
monster[v6]._mxoff = 0;
monster[v6]._myoff = 0;
v8 = monster[v4]._mx;
monster[v6]._mfuty = v7;
monster[v6]._moldy = v7;
monster[v6]._mVar1 = v3;
monster[v6]._mfutx = v8;
monster[v6]._moldx = v8;
monster[v6]._mdir = v5;
M_CheckEFlag(v4);
int md = M_GetDir(i);
NewMonsterAnim(i, &monster[i].MType->Anims[MA_SPECIAL], md);
monster[i]._mmode = MM_RSPATTACK;
monster[i]._mVar1 = missile_type;
monster[i]._mVar2 = 0;
monster[i]._mVar3 = dam;
monster[i]._mxoff = 0;
monster[i]._myoff = 0;
monster[i]._mfutx = monster[i]._mx;
monster[i]._mfuty = monster[i]._my;
monster[i]._moldx = monster[i]._mx;
monster[i]._moldy = monster[i]._my;
monster[i]._mdir = md;
M_CheckEFlag(i);
}
void __fastcall M_StartSpAttack(int i)
{
int v1; // edi
int v2; // ebx
int v3; // esi
int v4; // ecx
int v5; // eax
v1 = i;
v2 = M_GetDir(i);
v3 = v1;
NewMonsterAnim(v1, &monster[v1].MType->Anims[MA_SPECIAL], v2);
v4 = monster[v1]._my;
v5 = monster[v1]._mx;
monster[v3]._mxoff = 0;
monster[v3]._myoff = 0;
monster[v3]._mfuty = v4;
monster[v3]._moldy = v4;
monster[v3]._mmode = MM_SATTACK;
monster[v3]._mfutx = v5;
monster[v3]._moldx = v5;
monster[v3]._mdir = v2;
M_CheckEFlag(v1);
int md = M_GetDir(i);
NewMonsterAnim(i, &monster[i].MType->Anims[MA_SPECIAL], md);
monster[i]._mmode = MM_SATTACK;
monster[i]._mxoff = 0;
monster[i]._myoff = 0;
monster[i]._mfutx = monster[i]._mx;
monster[i]._mfuty = monster[i]._my;
monster[i]._moldx = monster[i]._mx;
monster[i]._moldy = monster[i]._my;
monster[i]._mdir = md;
M_CheckEFlag(i);
}
void __fastcall M_StartEat(int i)
{
int v1; // edi
int v2; // esi
int v3; // ecx
int v4; // eax
v1 = i;
v2 = i;
NewMonsterAnim(i, &monster[i].MType->Anims[MA_SPECIAL], monster[i]._mdir);
v3 = monster[v2]._my;
v4 = monster[v2]._mx;
monster[v2]._mxoff = 0;
monster[v2]._myoff = 0;
monster[v2]._mfuty = v3;
monster[v2]._moldy = v3;
monster[v2]._mmode = MM_SATTACK;
monster[v2]._mfutx = v4;
monster[v2]._moldx = v4;
M_CheckEFlag(v1);
monster[i]._mmode = MM_SATTACK;
monster[i]._mxoff = 0;
monster[i]._myoff = 0;
monster[i]._mfutx = monster[i]._mx;
monster[i]._mfuty = monster[i]._my;
monster[i]._moldx = monster[i]._mx;
monster[i]._moldy = monster[i]._my;
M_CheckEFlag(i);
}
void __fastcall M_ClearSquares(int i)

Loading…
Cancel
Save