Browse Source

♻️Use Point for positions in msg.cpp functions

pull/1761/head
Anders Jenbo 5 years ago
parent
commit
5745f099ba
  1. 10
      Source/controls/plrctrls.cpp
  2. 18
      Source/diablo.cpp
  3. 2
      Source/interfac.cpp
  4. 8
      Source/inv.cpp
  5. 2
      Source/items.cpp
  6. 6
      Source/missiles.cpp
  7. 10
      Source/monster.cpp
  8. 40
      Source/msg.cpp
  9. 12
      Source/msg.h
  10. 8
      Source/player.cpp
  11. 4
      Source/track.cpp
  12. 15
      Source/trigs.cpp

10
Source/controls/plrctrls.cpp

@ -442,7 +442,7 @@ void FindTrigger()
void Interact() void Interact()
{ {
if (leveltype == DTYPE_TOWN && pcursmonst != -1) { if (leveltype == DTYPE_TOWN && pcursmonst != -1) {
NetSendCmdLocParam1(true, CMD_TALKXY, towners[pcursmonst].position.x, towners[pcursmonst].position.y, pcursmonst); NetSendCmdLocParam1(true, CMD_TALKXY, towners[pcursmonst].position, pcursmonst);
} else if (pcursmonst != -1) { } else if (pcursmonst != -1) {
if (plr[myplr]._pwtype != WT_RANGED || CanTalkToMonst(pcursmonst)) { if (plr[myplr]._pwtype != WT_RANGED || CanTalkToMonst(pcursmonst)) {
NetSendCmdParam1(true, CMD_ATTACKID, pcursmonst); NetSendCmdParam1(true, CMD_ATTACKID, pcursmonst);
@ -817,7 +817,7 @@ void WalkInDir(int playerId, AxisDirection dir)
if (dir.x == AxisDirectionX_NONE && dir.y == AxisDirectionY_NONE) { if (dir.x == AxisDirectionX_NONE && dir.y == AxisDirectionY_NONE) {
if (sgbControllerActive && plr[playerId].walkpath[0] != WALK_NONE && plr[playerId].destAction == ACTION_NONE) if (sgbControllerActive && plr[playerId].walkpath[0] != WALK_NONE && plr[playerId].destAction == ACTION_NONE)
NetSendCmdLoc(playerId, true, CMD_WALKXY, x, y); // Stop walking NetSendCmdLoc(playerId, true, CMD_WALKXY, { x, y }); // Stop walking
return; return;
} }
@ -829,7 +829,7 @@ void WalkInDir(int playerId, AxisDirection dir)
if (PosOkPlayer(playerId, dx, dy) && IsPathBlocked(x, y, pdir)) if (PosOkPlayer(playerId, dx, dy) && IsPathBlocked(x, y, pdir))
return; // Don't start backtrack around obstacles return; // Don't start backtrack around obstacles
NetSendCmdLoc(playerId, true, CMD_WALKXY, dx, dy); NetSendCmdLoc(playerId, true, CMD_WALKXY, { dx, dy });
} }
void QuestLogMove(AxisDirection moveDir) void QuestLogMove(AxisDirection moveDir)
@ -1238,9 +1238,9 @@ void PerformSecondaryAction()
NewCursor(CURSOR_HAND); NewCursor(CURSOR_HAND);
if (pcursitem != -1) { if (pcursitem != -1) {
NetSendCmdLocParam1(true, CMD_GOTOAGETITEM, cursmx, cursmy, pcursitem); NetSendCmdLocParam1(true, CMD_GOTOAGETITEM, { cursmx, cursmy }, pcursitem);
} else if (pcursobj != -1) { } else if (pcursobj != -1) {
NetSendCmdLocParam1(true, CMD_OPOBJXY, cursmx, cursmy, pcursobj); NetSendCmdLocParam1(true, CMD_OPOBJXY, { cursmx, cursmy }, pcursobj);
} else if (pcursmissile != -1) { } else if (pcursmissile != -1) {
MakePlrPath(myplr, missile[pcursmissile].position.tile.x, missile[pcursmissile].position.tile.y, true); MakePlrPath(myplr, missile[pcursmissile].position.tile.x, missile[pcursmissile].position.tile.y, true);
plr[myplr].destAction = ACTION_WALK; plr[myplr].destAction = ACTION_WALK;

18
Source/diablo.cpp

@ -749,20 +749,20 @@ static bool LeftMouseCmd(bool bShift)
if (leveltype == DTYPE_TOWN) { if (leveltype == DTYPE_TOWN) {
if (pcursitem != -1 && pcurs == CURSOR_HAND) if (pcursitem != -1 && pcurs == CURSOR_HAND)
NetSendCmdLocParam1(true, invflag ? CMD_GOTOGETITEM : CMD_GOTOAGETITEM, cursmx, cursmy, pcursitem); NetSendCmdLocParam1(true, invflag ? CMD_GOTOGETITEM : CMD_GOTOAGETITEM, { cursmx, cursmy }, pcursitem);
if (pcursmonst != -1) if (pcursmonst != -1)
NetSendCmdLocParam1(true, CMD_TALKXY, cursmx, cursmy, pcursmonst); NetSendCmdLocParam1(true, CMD_TALKXY, { cursmx, cursmy }, pcursmonst);
if (pcursitem == -1 && pcursmonst == -1 && pcursplr == -1) if (pcursitem == -1 && pcursmonst == -1 && pcursplr == -1)
return true; return true;
} else { } else {
bNear = abs(plr[myplr].position.tile.x - cursmx) < 2 && abs(plr[myplr].position.tile.y - cursmy) < 2; bNear = abs(plr[myplr].position.tile.x - cursmx) < 2 && abs(plr[myplr].position.tile.y - cursmy) < 2;
if (pcursitem != -1 && pcurs == CURSOR_HAND && !bShift) { if (pcursitem != -1 && pcurs == CURSOR_HAND && !bShift) {
NetSendCmdLocParam1(true, invflag ? CMD_GOTOGETITEM : CMD_GOTOAGETITEM, cursmx, cursmy, pcursitem); NetSendCmdLocParam1(true, invflag ? CMD_GOTOGETITEM : CMD_GOTOAGETITEM, { cursmx, cursmy }, pcursitem);
} else if (pcursobj != -1 && (!objectIsDisabled(pcursobj)) && (!bShift || (bNear && object[pcursobj]._oBreak == 1))) { } else if (pcursobj != -1 && (!objectIsDisabled(pcursobj)) && (!bShift || (bNear && object[pcursobj]._oBreak == 1))) {
NetSendCmdLocParam1(true, pcurs == CURSOR_DISARM ? CMD_DISARMXY : CMD_OPOBJXY, cursmx, cursmy, pcursobj); NetSendCmdLocParam1(true, pcurs == CURSOR_DISARM ? CMD_DISARMXY : CMD_OPOBJXY, { cursmx, cursmy }, pcursobj);
} else if (plr[myplr]._pwtype == WT_RANGED) { } else if (plr[myplr]._pwtype == WT_RANGED) {
if (bShift) { if (bShift) {
NetSendCmdLoc(myplr, true, CMD_RATTACKXY, cursmx, cursmy); NetSendCmdLoc(myplr, true, CMD_RATTACKXY, { cursmx, cursmy });
} else if (pcursmonst != -1) { } else if (pcursmonst != -1) {
if (CanTalkToMonst(pcursmonst)) { if (CanTalkToMonst(pcursmonst)) {
NetSendCmdParam1(true, CMD_ATTACKID, pcursmonst); NetSendCmdParam1(true, CMD_ATTACKID, pcursmonst);
@ -778,10 +778,10 @@ static bool LeftMouseCmd(bool bShift)
if (CanTalkToMonst(pcursmonst)) { if (CanTalkToMonst(pcursmonst)) {
NetSendCmdParam1(true, CMD_ATTACKID, pcursmonst); NetSendCmdParam1(true, CMD_ATTACKID, pcursmonst);
} else { } else {
NetSendCmdLoc(myplr, true, CMD_SATTACKXY, cursmx, cursmy); NetSendCmdLoc(myplr, true, CMD_SATTACKXY, { cursmx, cursmy });
} }
} else { } else {
NetSendCmdLoc(myplr, true, CMD_SATTACKXY, cursmx, cursmy); NetSendCmdLoc(myplr, true, CMD_SATTACKXY, { cursmx, cursmy });
} }
} else if (pcursmonst != -1) { } else if (pcursmonst != -1) {
NetSendCmdParam1(true, CMD_ATTACKID, pcursmonst); NetSendCmdParam1(true, CMD_ATTACKID, pcursmonst);
@ -851,7 +851,7 @@ bool TryIconCurs()
else if (pcursplr != -1) else if (pcursplr != -1)
NetSendCmdParam3(true, CMD_TSPELLPID, pcursplr, plr[myplr]._pTSpell, GetSpellLevel(myplr, plr[myplr]._pTSpell)); NetSendCmdParam3(true, CMD_TSPELLPID, pcursplr, plr[myplr]._pTSpell, GetSpellLevel(myplr, plr[myplr]._pTSpell));
else else
NetSendCmdLocParam2(true, CMD_TSPELLXY, cursmx, cursmy, plr[myplr]._pTSpell, GetSpellLevel(myplr, plr[myplr]._pTSpell)); NetSendCmdLocParam2(true, CMD_TSPELLXY, { cursmx, cursmy }, plr[myplr]._pTSpell, GetSpellLevel(myplr, plr[myplr]._pTSpell));
NewCursor(CURSOR_HAND); NewCursor(CURSOR_HAND);
return true; return true;
} }
@ -916,7 +916,7 @@ static bool LeftMouseDown(int wParam)
CheckSBook(); CheckSBook();
} else if (pcurs >= CURSOR_FIRSTITEM) { } else if (pcurs >= CURSOR_FIRSTITEM) {
if (TryInvPut()) { if (TryInvPut()) {
NetSendCmdPItem(true, CMD_PUTITEM, cursmx, cursmy); NetSendCmdPItem(true, CMD_PUTITEM, { cursmx, cursmy });
NewCursor(CURSOR_HAND); NewCursor(CURSOR_HAND);
} }
} else { } else {

2
Source/interfac.cpp

@ -385,7 +385,7 @@ void ShowProgress(interface_mode uMsg)
saveProc = SetWindowProc(saveProc); saveProc = SetWindowProc(saveProc);
assert(saveProc == DisableInputWndProc); assert(saveProc == DisableInputWndProc);
NetSendCmdLocParam1(true, CMD_PLAYER_JOINLEVEL, plr[myplr].position.tile.x, plr[myplr].position.tile.y, plr[myplr].plrlevel); NetSendCmdLocParam1(true, CMD_PLAYER_JOINLEVEL, plr[myplr].position.tile, plr[myplr].plrlevel);
plrmsg_delay(false); plrmsg_delay(false);
ResetPal(); ResetPal();

8
Source/inv.cpp

@ -1716,7 +1716,7 @@ void InvGetItem(int pnum, ItemStruct *item, int ii)
return; return;
if (myplr == pnum && pcurs >= CURSOR_FIRSTITEM) if (myplr == pnum && pcurs >= CURSOR_FIRSTITEM)
NetSendCmdPItem(true, CMD_SYNCPUTITEM, plr[myplr].position.tile.x, plr[myplr].position.tile.y); NetSendCmdPItem(true, CMD_SYNCPUTITEM, plr[myplr].position.tile);
item->_iCreateInfo &= ~CF_PREGEN; item->_iCreateInfo &= ~CF_PREGEN;
plr[pnum].HoldItem = *item; plr[pnum].HoldItem = *item;
@ -1780,7 +1780,7 @@ void AutoGetItem(int pnum, ItemStruct *item, int ii)
} }
plr[pnum].HoldItem = *item; plr[pnum].HoldItem = *item;
RespawnItem(item, true); RespawnItem(item, true);
NetSendCmdPItem(true, CMD_RESPAWNITEM, item->position.x, item->position.y); NetSendCmdPItem(true, CMD_RESPAWNITEM, item->position);
plr[pnum].HoldItem._itype = ITYPE_NONE; plr[pnum].HoldItem._itype = ITYPE_NONE;
} }
@ -1959,7 +1959,7 @@ int InvPutItem(int pnum, int x, int y)
int yp = cursmy; int yp = cursmy;
int xp = cursmx; int xp = cursmx;
if (plr[pnum].HoldItem._iCurs == ICURS_RUNE_BOMB && xp >= 79 && xp <= 82 && yp >= 61 && yp <= 64) { if (plr[pnum].HoldItem._iCurs == ICURS_RUNE_BOMB && xp >= 79 && xp <= 82 && yp >= 61 && yp <= 64) {
NetSendCmdLocParam2(false, CMD_OPENHIVE, plr[pnum].position.tile.x, plr[pnum].position.tile.y, xx, yy); NetSendCmdLocParam2(false, CMD_OPENHIVE, plr[pnum].position.tile, xx, yy);
quests[Q_FARMER]._qactive = QUEST_DONE; quests[Q_FARMER]._qactive = QUEST_DONE;
if (gbIsMultiplayer) { if (gbIsMultiplayer) {
NetSendCmdQuest(true, Q_FARMER); NetSendCmdQuest(true, Q_FARMER);
@ -2356,7 +2356,7 @@ int CalculateGold(int pnum)
bool DropItemBeforeTrig() bool DropItemBeforeTrig()
{ {
if (TryInvPut()) { if (TryInvPut()) {
NetSendCmdPItem(true, CMD_PUTITEM, cursmx, cursmy); NetSendCmdPItem(true, CMD_PUTITEM, { cursmx, cursmy });
NewCursor(CURSOR_HAND); NewCursor(CURSOR_HAND);
return true; return true;
} }

2
Source/items.cpp

@ -4087,7 +4087,7 @@ void UseItem(int p, item_misc_id Mid, spell_id spl)
plr[p].destParam1 = cursmx; plr[p].destParam1 = cursmx;
plr[p].destParam2 = cursmy; plr[p].destParam2 = cursmy;
if (p == myplr && spl == SPL_NOVA) if (p == myplr && spl == SPL_NOVA)
NetSendCmdLoc(myplr, true, CMD_NOVA, cursmx, cursmy); NetSendCmdLoc(myplr, true, CMD_NOVA, { cursmx, cursmy });
} }
break; break;
case IMISC_SCROLLT: case IMISC_SCROLLT:

6
Source/missiles.cpp

@ -2331,9 +2331,9 @@ void AddTown(int mi, int sx, int sy, int dx, int dy, int midir, int8_t mienemy,
PutMissile(mi); PutMissile(mi);
if (id == myplr && !missile[mi]._miDelFlag && currlevel != 0) { if (id == myplr && !missile[mi]._miDelFlag && currlevel != 0) {
if (!setlevel) { if (!setlevel) {
NetSendCmdLocParam3(true, CMD_ACTIVATEPORTAL, tx, ty, currlevel, leveltype, 0); NetSendCmdLocParam3(true, CMD_ACTIVATEPORTAL, { tx, ty }, currlevel, leveltype, 0);
} else { } else {
NetSendCmdLocParam3(true, CMD_ACTIVATEPORTAL, tx, ty, setlvlnum, leveltype, 1); NetSendCmdLocParam3(true, CMD_ACTIVATEPORTAL, { tx, ty }, setlvlnum, leveltype, 1);
} }
} }
} }
@ -2963,7 +2963,7 @@ void AddDisarm(int mi, int sx, int sy, int dx, int dy, int midir, int8_t mienemy
NewCursor(CURSOR_DISARM); NewCursor(CURSOR_DISARM);
if (sgbControllerActive) { if (sgbControllerActive) {
if (pcursobj != -1) if (pcursobj != -1)
NetSendCmdLocParam1(true, CMD_DISARMXY, cursmx, cursmy, pcursobj); NetSendCmdLocParam1(true, CMD_DISARMXY, { cursmx, cursmy }, pcursobj);
else else
NewCursor(CURSOR_HAND); NewCursor(CURSOR_HAND);
} }

10
Source/monster.cpp

@ -1792,8 +1792,8 @@ void M2MStartKill(int i, int mid)
assurance((DWORD)mid < MAXMONSTERS, mid); assurance((DWORD)mid < MAXMONSTERS, mid);
assurance(monster[mid].MType != nullptr, mid); /// BUGFIX: should check `mid` (fixed) assurance(monster[mid].MType != nullptr, mid); /// BUGFIX: should check `mid` (fixed)
delta_kill_monster(mid, monster[mid].position.tile.x, monster[mid].position.tile.y, currlevel); delta_kill_monster(mid, monster[mid].position.tile, currlevel);
NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster[mid].position.tile.x, monster[mid].position.tile.y, mid); NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster[mid].position.tile, mid);
if (i < MAX_PLRS) { if (i < MAX_PLRS) {
monster[mid].mWhoHit |= 1 << i; monster[mid].mWhoHit |= 1 << i;
@ -1838,11 +1838,11 @@ void M_StartKill(int i, int pnum)
assurance((DWORD)i < MAXMONSTERS, i); assurance((DWORD)i < MAXMONSTERS, i);
if (myplr == pnum) { if (myplr == pnum) {
delta_kill_monster(i, monster[i].position.tile.x, monster[i].position.tile.y, currlevel); delta_kill_monster(i, monster[i].position.tile, currlevel);
if (i != pnum) { if (i != pnum) {
NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster[i].position.tile.x, monster[i].position.tile.y, i); NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster[i].position.tile, i);
} else { } else {
NetSendCmdLocParam1(false, CMD_KILLGOLEM, monster[i].position.tile.x, monster[i].position.tile.y, currlevel); NetSendCmdLocParam1(false, CMD_KILLGOLEM, monster[i].position.tile, currlevel);
} }
} }

40
Source/msg.cpp

@ -438,15 +438,15 @@ void delta_init()
deltaload = false; deltaload = false;
} }
void delta_kill_monster(int mi, BYTE x, BYTE y, BYTE bLevel) void delta_kill_monster(int mi, Point position, BYTE bLevel)
{ {
if (!gbIsMultiplayer) if (!gbIsMultiplayer)
return; return;
sgbDeltaChanged = true; sgbDeltaChanged = true;
DMonsterStr *pD = &sgLevels[bLevel].monster[mi]; DMonsterStr *pD = &sgLevels[bLevel].monster[mi];
pD->_mx = x; pD->_mx = position.x;
pD->_my = y; pD->_my = position.y;
pD->_mdir = monster[mi]._mdir; pD->_mdir = monster[mi]._mdir;
pD->_mhitpoints = 0; pD->_mhitpoints = 0;
} }
@ -870,26 +870,26 @@ void NetSendCmdGolem(BYTE mx, BYTE my, direction dir, BYTE menemy, int hp, BYTE
NetSendLoPri(myplr, (BYTE *)&cmd, sizeof(cmd)); NetSendLoPri(myplr, (BYTE *)&cmd, sizeof(cmd));
} }
void NetSendCmdLoc(int playerId, bool bHiPri, _cmd_id bCmd, BYTE x, BYTE y) void NetSendCmdLoc(int playerId, bool bHiPri, _cmd_id bCmd, Point position)
{ {
TCmdLoc cmd; TCmdLoc cmd;
cmd.bCmd = bCmd; cmd.bCmd = bCmd;
cmd.x = x; cmd.x = position.x;
cmd.y = y; cmd.y = position.y;
if (bHiPri) if (bHiPri)
NetSendHiPri(playerId, (BYTE *)&cmd, sizeof(cmd)); NetSendHiPri(playerId, (BYTE *)&cmd, sizeof(cmd));
else else
NetSendLoPri(playerId, (BYTE *)&cmd, sizeof(cmd)); NetSendLoPri(playerId, (BYTE *)&cmd, sizeof(cmd));
} }
void NetSendCmdLocParam1(bool bHiPri, _cmd_id bCmd, BYTE x, BYTE y, WORD wParam1) void NetSendCmdLocParam1(bool bHiPri, _cmd_id bCmd, Point position, WORD wParam1)
{ {
TCmdLocParam1 cmd; TCmdLocParam1 cmd;
cmd.bCmd = bCmd; cmd.bCmd = bCmd;
cmd.x = x; cmd.x = position.x;
cmd.y = y; cmd.y = position.y;
cmd.wParam1 = wParam1; cmd.wParam1 = wParam1;
if (bHiPri) if (bHiPri)
NetSendHiPri(myplr, (BYTE *)&cmd, sizeof(cmd)); NetSendHiPri(myplr, (BYTE *)&cmd, sizeof(cmd));
@ -897,13 +897,13 @@ void NetSendCmdLocParam1(bool bHiPri, _cmd_id bCmd, BYTE x, BYTE y, WORD wParam1
NetSendLoPri(myplr, (BYTE *)&cmd, sizeof(cmd)); NetSendLoPri(myplr, (BYTE *)&cmd, sizeof(cmd));
} }
void NetSendCmdLocParam2(bool bHiPri, _cmd_id bCmd, BYTE x, BYTE y, WORD wParam1, WORD wParam2) void NetSendCmdLocParam2(bool bHiPri, _cmd_id bCmd, Point position, WORD wParam1, WORD wParam2)
{ {
TCmdLocParam2 cmd; TCmdLocParam2 cmd;
cmd.bCmd = bCmd; cmd.bCmd = bCmd;
cmd.x = x; cmd.x = position.x;
cmd.y = y; cmd.y = position.y;
cmd.wParam1 = wParam1; cmd.wParam1 = wParam1;
cmd.wParam2 = wParam2; cmd.wParam2 = wParam2;
if (bHiPri) if (bHiPri)
@ -912,13 +912,13 @@ void NetSendCmdLocParam2(bool bHiPri, _cmd_id bCmd, BYTE x, BYTE y, WORD wParam1
NetSendLoPri(myplr, (BYTE *)&cmd, sizeof(cmd)); NetSendLoPri(myplr, (BYTE *)&cmd, sizeof(cmd));
} }
void NetSendCmdLocParam3(bool bHiPri, _cmd_id bCmd, BYTE x, BYTE y, WORD wParam1, WORD wParam2, WORD wParam3) void NetSendCmdLocParam3(bool bHiPri, _cmd_id bCmd, Point position, WORD wParam1, WORD wParam2, WORD wParam3)
{ {
TCmdLocParam3 cmd; TCmdLocParam3 cmd;
cmd.bCmd = bCmd; cmd.bCmd = bCmd;
cmd.x = x; cmd.x = position.x;
cmd.y = y; cmd.y = position.y;
cmd.wParam1 = wParam1; cmd.wParam1 = wParam1;
cmd.wParam2 = wParam2; cmd.wParam2 = wParam2;
cmd.wParam3 = wParam3; cmd.wParam3 = wParam3;
@ -1085,13 +1085,13 @@ void NetSendCmdExtra(TCmdGItem *p)
NetSendHiPri(myplr, (BYTE *)&cmd, sizeof(cmd)); NetSendHiPri(myplr, (BYTE *)&cmd, sizeof(cmd));
} }
void NetSendCmdPItem(bool bHiPri, _cmd_id bCmd, BYTE x, BYTE y) void NetSendCmdPItem(bool bHiPri, _cmd_id bCmd, Point position)
{ {
TCmdPItem cmd; TCmdPItem cmd;
cmd.bCmd = bCmd; cmd.bCmd = bCmd;
cmd.x = x; cmd.x = position.x;
cmd.y = y; cmd.y = position.y;
cmd.wIndx = plr[myplr].HoldItem.IDidx; cmd.wIndx = plr[myplr].HoldItem.IDidx;
if (plr[myplr].HoldItem.IDidx == IDI_EAR) { if (plr[myplr].HoldItem.IDidx == IDI_EAR) {
@ -1971,7 +1971,7 @@ static DWORD On_MONSTDEATH(TCmd *pCmd, int pnum)
else if (pnum != myplr) { else if (pnum != myplr) {
if (currlevel == plr[pnum].plrlevel) if (currlevel == plr[pnum].plrlevel)
M_SyncStartKill(p->wParam1, p->x, p->y, pnum); M_SyncStartKill(p->wParam1, p->x, p->y, pnum);
delta_kill_monster(p->wParam1, p->x, p->y, plr[pnum].plrlevel); delta_kill_monster(p->wParam1, { p->x, p->y }, plr[pnum].plrlevel);
} }
return sizeof(*p); return sizeof(*p);
@ -1986,7 +1986,7 @@ static DWORD On_KILLGOLEM(TCmd *pCmd, int pnum)
else if (pnum != myplr) { else if (pnum != myplr) {
if (currlevel == p->wParam1) if (currlevel == p->wParam1)
M_SyncStartKill(pnum, p->x, p->y, pnum); M_SyncStartKill(pnum, p->x, p->y, pnum);
delta_kill_monster(pnum, p->x, p->y, plr[pnum].plrlevel); delta_kill_monster(pnum, { p->x, p->y }, plr[pnum].plrlevel);
} }
return sizeof(*p); return sizeof(*p);

12
Source/msg.h

@ -424,7 +424,7 @@ bool msg_wait_resync();
void run_delta_info(); void run_delta_info();
void DeltaExportData(int pnum); void DeltaExportData(int pnum);
void delta_init(); void delta_init();
void delta_kill_monster(int mi, BYTE x, BYTE y, BYTE bLevel); void delta_kill_monster(int mi, Point position, BYTE bLevel);
void delta_monster_hp(int mi, int hp, BYTE bLevel); void delta_monster_hp(int mi, int hp, BYTE bLevel);
void delta_sync_monster(const TSyncMonster *pSync, BYTE bLevel); void delta_sync_monster(const TSyncMonster *pSync, BYTE bLevel);
bool delta_portal_inited(int i); bool delta_portal_inited(int i);
@ -434,16 +434,16 @@ void DeltaSaveLevel();
void DeltaLoadLevel(); void DeltaLoadLevel();
void NetSendCmd(bool bHiPri, _cmd_id bCmd); void NetSendCmd(bool bHiPri, _cmd_id bCmd);
void NetSendCmdGolem(BYTE mx, BYTE my, direction dir, BYTE menemy, int hp, BYTE cl); void NetSendCmdGolem(BYTE mx, BYTE my, direction dir, BYTE menemy, int hp, BYTE cl);
void NetSendCmdLoc(int playerId, bool bHiPri, _cmd_id bCmd, BYTE x, BYTE y); void NetSendCmdLoc(int playerId, bool bHiPri, _cmd_id bCmd, Point position);
void NetSendCmdLocParam1(bool bHiPri, _cmd_id bCmd, BYTE x, BYTE y, WORD wParam1); void NetSendCmdLocParam1(bool bHiPri, _cmd_id bCmd, Point position, WORD wParam1);
void NetSendCmdLocParam2(bool bHiPri, _cmd_id bCmd, BYTE x, BYTE y, WORD wParam1, WORD wParam2); void NetSendCmdLocParam2(bool bHiPri, _cmd_id bCmd, Point position, WORD wParam1, WORD wParam2);
void NetSendCmdLocParam3(bool bHiPri, _cmd_id bCmd, BYTE x, BYTE y, WORD wParam1, WORD wParam2, WORD wParam3); void NetSendCmdLocParam3(bool bHiPri, _cmd_id bCmd, Point position, WORD wParam1, WORD wParam2, WORD wParam3);
void NetSendCmdParam1(bool bHiPri, _cmd_id bCmd, WORD wParam1); void NetSendCmdParam1(bool bHiPri, _cmd_id bCmd, WORD wParam1);
void NetSendCmdParam2(bool bHiPri, _cmd_id bCmd, WORD wParam1, WORD wParam2); void NetSendCmdParam2(bool bHiPri, _cmd_id bCmd, WORD wParam1, WORD wParam2);
void NetSendCmdParam3(bool bHiPri, _cmd_id bCmd, WORD wParam1, WORD wParam2, WORD wParam3); void NetSendCmdParam3(bool bHiPri, _cmd_id bCmd, WORD wParam1, WORD wParam2, WORD wParam3);
void NetSendCmdQuest(bool bHiPri, BYTE q); void NetSendCmdQuest(bool bHiPri, BYTE q);
void NetSendCmdGItem(bool bHiPri, _cmd_id bCmd, BYTE mast, BYTE pnum, BYTE ii); void NetSendCmdGItem(bool bHiPri, _cmd_id bCmd, BYTE mast, BYTE pnum, BYTE ii);
void NetSendCmdPItem(bool bHiPri, _cmd_id bCmd, BYTE x, BYTE y); void NetSendCmdPItem(bool bHiPri, _cmd_id bCmd, Point position);
void NetSendCmdChItem(bool bHiPri, BYTE bLoc); void NetSendCmdChItem(bool bHiPri, BYTE bLoc);
void NetSendCmdDelItem(bool bHiPri, BYTE bLoc); void NetSendCmdDelItem(bool bHiPri, BYTE bLoc);
void NetSendCmdDItem(bool bHiPri, int ii); void NetSendCmdDItem(bool bHiPri, int ii);

8
Source/player.cpp

@ -1720,7 +1720,7 @@ static void PlrDeadItem(int pnum, ItemStruct *itm, int xx, int yy)
if ((xx || yy) && ItemSpaceOk(x, y)) { if ((xx || yy) && ItemSpaceOk(x, y)) {
RespawnDeadItem(itm, x, y); RespawnDeadItem(itm, x, y);
plr[pnum].HoldItem = *itm; plr[pnum].HoldItem = *itm;
NetSendCmdPItem(false, CMD_RESPAWNITEM, x, y); NetSendCmdPItem(false, CMD_RESPAWNITEM, { x, y });
return; return;
} }
@ -1732,7 +1732,7 @@ static void PlrDeadItem(int pnum, ItemStruct *itm, int xx, int yy)
if (ItemSpaceOk(x, y)) { if (ItemSpaceOk(x, y)) {
RespawnDeadItem(itm, x, y); RespawnDeadItem(itm, x, y);
plr[pnum].HoldItem = *itm; plr[pnum].HoldItem = *itm;
NetSendCmdPItem(false, CMD_RESPAWNITEM, x, y); NetSendCmdPItem(false, CMD_RESPAWNITEM, { x, y });
return; return;
} }
} }
@ -3815,7 +3815,7 @@ void CheckPlrSpell()
if (plr[myplr]._pRSpell == SPL_FIREWALL || plr[myplr]._pRSpell == SPL_LIGHTWALL) { if (plr[myplr]._pRSpell == SPL_FIREWALL || plr[myplr]._pRSpell == SPL_LIGHTWALL) {
direction sd = GetDirection(plr[myplr].position.tile, { cursmx, cursmy }); direction sd = GetDirection(plr[myplr].position.tile, { cursmx, cursmy });
sl = GetSpellLevel(myplr, plr[myplr]._pRSpell); sl = GetSpellLevel(myplr, plr[myplr]._pRSpell);
NetSendCmdLocParam3(true, CMD_SPELLXYD, cursmx, cursmy, plr[myplr]._pRSpell, sd, sl); NetSendCmdLocParam3(true, CMD_SPELLXYD, { cursmx, cursmy }, plr[myplr]._pRSpell, sd, sl);
} else if (pcursmonst != -1) { } else if (pcursmonst != -1) {
sl = GetSpellLevel(myplr, plr[myplr]._pRSpell); sl = GetSpellLevel(myplr, plr[myplr]._pRSpell);
NetSendCmdParam3(true, CMD_SPELLID, pcursmonst, plr[myplr]._pRSpell, sl); NetSendCmdParam3(true, CMD_SPELLID, pcursmonst, plr[myplr]._pRSpell, sl);
@ -3824,7 +3824,7 @@ void CheckPlrSpell()
NetSendCmdParam3(true, CMD_SPELLPID, pcursplr, plr[myplr]._pRSpell, sl); NetSendCmdParam3(true, CMD_SPELLPID, pcursplr, plr[myplr]._pRSpell, sl);
} else { //145 } else { //145
sl = GetSpellLevel(myplr, plr[myplr]._pRSpell); sl = GetSpellLevel(myplr, plr[myplr]._pRSpell);
NetSendCmdLocParam2(true, CMD_SPELLXY, cursmx, cursmy, plr[myplr]._pRSpell, sl); NetSendCmdLocParam2(true, CMD_SPELLXY, { cursmx, cursmy }, plr[myplr]._pRSpell, sl);
} }
return; return;
} }

4
Source/track.cpp

@ -34,7 +34,7 @@ void track_process()
Uint32 tick = SDL_GetTicks(); Uint32 tick = SDL_GetTicks();
if ((int)(tick - sgdwLastWalk) >= gnTickDelay * 6) { if ((int)(tick - sgdwLastWalk) >= gnTickDelay * 6) {
sgdwLastWalk = tick; sgdwLastWalk = tick;
NetSendCmdLoc(myplr, true, CMD_WALKXY, cursmx, cursmy); NetSendCmdLoc(myplr, true, CMD_WALKXY, { cursmx, cursmy });
if (!sgbIsScrolling) if (!sgbIsScrolling)
sgbIsScrolling = true; sgbIsScrolling = true;
} }
@ -50,7 +50,7 @@ void track_repeat_walk(bool rep)
if (rep) { if (rep) {
sgbIsScrolling = false; sgbIsScrolling = false;
sgdwLastWalk = SDL_GetTicks() - gnTickDelay; sgdwLastWalk = SDL_GetTicks() - gnTickDelay;
NetSendCmdLoc(myplr, true, CMD_WALKXY, cursmx, cursmy); NetSendCmdLoc(myplr, true, CMD_WALKXY, { cursmx, cursmy });
} else if (sgbIsScrolling) { } else if (sgbIsScrolling) {
sgbIsScrolling = false; sgbIsScrolling = false;
} }

15
Source/trigs.cpp

@ -825,7 +825,7 @@ void CheckTriggers()
switch (trigs[i]._tmsg) { switch (trigs[i]._tmsg) {
case WM_DIABNEXTLVL: case WM_DIABNEXTLVL:
if (gbIsSpawn && currlevel >= 2) { if (gbIsSpawn && currlevel >= 2) {
NetSendCmdLoc(myplr, true, CMD_WALKXY, plr[myplr].position.tile.x, plr[myplr].position.tile.y + 1); NetSendCmdLoc(myplr, true, CMD_WALKXY, { plr[myplr].position.tile.x, plr[myplr].position.tile.y + 1 });
PlaySFX(PS_WARR18); PlaySFX(PS_WARR18);
InitDiabloMsg(EMSG_NOT_IN_SHAREWARE); InitDiabloMsg(EMSG_NOT_IN_SHAREWARE);
} else { } else {
@ -840,28 +840,25 @@ void CheckTriggers()
break; break;
case WM_DIABTOWNWARP: case WM_DIABTOWNWARP:
if (gbIsMultiplayer) { if (gbIsMultiplayer) {
int x, y;
bool abort = false; bool abort = false;
diablo_message abortflag; diablo_message abortflag;
auto position = plr[myplr].position.tile;
if (trigs[i]._tlvl == 5 && plr[myplr]._pLevel < 8) { if (trigs[i]._tlvl == 5 && plr[myplr]._pLevel < 8) {
abort = true; abort = true;
x = plr[myplr].position.tile.x; position.y += 1;
y = plr[myplr].position.tile.y + 1;
abortflag = EMSG_REQUIRES_LVL_8; abortflag = EMSG_REQUIRES_LVL_8;
} }
if (trigs[i]._tlvl == 9 && plr[myplr]._pLevel < 13) { if (trigs[i]._tlvl == 9 && plr[myplr]._pLevel < 13) {
abort = true; abort = true;
x = plr[myplr].position.tile.x + 1; position.x += 1;
y = plr[myplr].position.tile.y;
abortflag = EMSG_REQUIRES_LVL_13; abortflag = EMSG_REQUIRES_LVL_13;
} }
if (trigs[i]._tlvl == 13 && plr[myplr]._pLevel < 17) { if (trigs[i]._tlvl == 13 && plr[myplr]._pLevel < 17) {
abort = true; abort = true;
x = plr[myplr].position.tile.x; position.y += 1;
y = plr[myplr].position.tile.y + 1;
abortflag = EMSG_REQUIRES_LVL_17; abortflag = EMSG_REQUIRES_LVL_17;
} }
@ -869,7 +866,7 @@ void CheckTriggers()
plr[myplr].PlaySpeach(43); plr[myplr].PlaySpeach(43);
InitDiabloMsg(abortflag); InitDiabloMsg(abortflag);
NetSendCmdLoc(myplr, true, CMD_WALKXY, x, y); NetSendCmdLoc(myplr, true, CMD_WALKXY, position);
return; return;
} }
} }

Loading…
Cancel
Save