Browse Source

Clean up StartNewLvl

pull/4/head
Anders Jenbo 8 years ago
parent
commit
ca2271bf90
  1. 2
      Source/msg.cpp
  2. 2
      Source/msg.h
  3. 72
      Source/player.cpp

2
Source/msg.cpp

@ -1002,7 +1002,7 @@ void __fastcall NetSendCmdParam1(BOOL bHiPri, unsigned char bCmd, unsigned short
NetSendLoPri((unsigned char *)&cmd, 3u);
}
void __fastcall NetSendCmdParam2(unsigned char bHiPri, unsigned char bCmd, unsigned short wParam1, unsigned short wParam2)
void __fastcall NetSendCmdParam2(BOOL bHiPri, unsigned char bCmd, unsigned short wParam1, unsigned short wParam2)
{
TCmdParam2 cmd; // [esp+0h] [ebp-8h]

2
Source/msg.h

@ -54,7 +54,7 @@ void __fastcall NetSendCmdLocParam1(unsigned char bHiPri, unsigned char bCmd, un
void __fastcall NetSendCmdLocParam2(unsigned char bHiPri, unsigned char bCmd, unsigned char x, unsigned char y, int wParam1, int wParam2);
void __fastcall NetSendCmdLocParam3(unsigned char bHiPri, unsigned char bCmd, unsigned char x, unsigned char y, int wParam1, int wParam2, int wParam3);
void __fastcall NetSendCmdParam1(BOOL bHiPri, unsigned char bCmd, unsigned short wParam1);
void __fastcall NetSendCmdParam2(unsigned char bHiPri, unsigned char bCmd, unsigned short wParam1, unsigned short wParam2);
void __fastcall NetSendCmdParam2(BOOL bHiPri, unsigned char bCmd, unsigned short wParam1, unsigned short wParam2);
void __fastcall NetSendCmdParam3(unsigned char bHiPri, unsigned char bCmd, unsigned short wParam1, unsigned short wParam2, int wParam3);
void __fastcall NetSendCmdQuest(unsigned char bHiPri, unsigned char q);
void __fastcall NetSendCmdGItem(unsigned char bHiPri, unsigned char bCmd, unsigned char mast, unsigned char pnum, int ii);

72
Source/player.cpp

@ -2228,51 +2228,41 @@ void __fastcall InitLevelChange(int pnum)
void __fastcall StartNewLvl(int pnum, int fom, int lvl)
{
int v3; // edi
unsigned int v4; // esi
unsigned int v5; // eax
HWND v6; // ST00_4
v3 = fom;
v4 = pnum;
InitLevelChange(pnum);
if ( v4 >= 4 )
TermMsg("StartNewLvl: illegal player %d", v4);
if ( v3 < WM_DIABNEXTLVL )
{
LABEL_10:
TermMsg("StartNewLvl");
goto LABEL_11;
if ( (DWORD)pnum >= MAX_PLRS ) {
TermMsg("StartNewLvl: illegal player %d", pnum);
}
if ( v3 <= WM_DIABPREVLVL || v3 == WM_DIABRTNLVL )
goto LABEL_16;
if ( v3 != WM_DIABSETLVL )
{
if ( v3 != WM_DIABTOWNWARP )
{
if ( v3 != WM_DIABTWARPUP )
{
if ( v3 == WM_DIABRETOWN )
goto LABEL_11;
goto LABEL_10;
}
switch ( fom ) {
case WM_DIABNEXTLVL:
case WM_DIABPREVLVL:
plr[pnum].plrlevel = lvl;
break;
case WM_DIABRTNLVL:
case WM_DIABTOWNWARP:
plr[pnum].plrlevel = lvl;
break;
case WM_DIABSETLVL:
setlvlnum = lvl;
break;
case WM_DIABTWARPUP:
plr[myplr].pTownWarps |= 1 << (leveltype - 2);
}
LABEL_16:
plr[v4].plrlevel = lvl;
goto LABEL_11;
plr[pnum].plrlevel = lvl;
break;
case WM_DIABRETOWN:
break;
default:
TermMsg("StartNewLvl");
}
setlvlnum = lvl;
LABEL_11:
if ( v4 == myplr )
{
v5 = v4;
v6 = ghMainWnd;
plr[v5]._pmode = PM_NEWLVL;
plr[v5]._pInvincible = 1;
PostMessageA(v6, v3, 0, 0);
if ( (unsigned char)gbMaxPlayers > 1u )
NetSendCmdParam2(1u, CMD_NEWLVL, v3, lvl);
if ( pnum == myplr ) {
plr[pnum]._pmode = PM_NEWLVL;
plr[pnum]._pInvincible = TRUE;
PostMessageA(ghMainWnd, fom, 0, 0);
if ( gbMaxPlayers > 1 ) {
NetSendCmdParam2(TRUE, CMD_NEWLVL, fom, lvl);
}
}
}
// 5BB1ED: using guessed type char leveltype;

Loading…
Cancel
Save