Browse Source

Fix old save games where some monsters hade 0 instea of NO_LIGHT

pull/989/head
Anders Jenbo 5 years ago
parent
commit
dcde3cd3c8
  1. 8
      Source/diablo.cpp
  2. 1
      Source/player.cpp

8
Source/diablo.cpp

@ -1559,15 +1559,17 @@ static void UpdateMonsterLights()
for (int i = 0; i < nummonsters; i++) {
MonsterStruct *mon = &monster[monstactive[i]];
if (mon->mlid != NO_LIGHT) {
if (mon->mlid == plr[myplr]._plid) { // Fix old save games where some monsters hade 0 instea of NO_LIGHT
mon->mlid = NO_LIGHT;
continue;
}
LightListStruct *lid = &LightList[mon->mlid];
if (mon->_mx != lid->_lx || mon->_my != lid->_ly) {
ChangeLightXY(mon->mlid, mon->_mx, mon->_my);
}
}
}
// Handle save games where monster and player both hand lid = 0
ChangeLightXY(plr[myplr]._plid, plr[myplr]._px, plr[myplr]._py);
}
void LoadGameLevel(BOOL firstflag, int lvldir)

1
Source/player.cpp

@ -1084,6 +1084,7 @@ void InitPlayer(int pnum, BOOL FirstTime)
if (pnum == myplr) {
plr[pnum]._plid = AddLight(plr[pnum]._px, plr[pnum]._py, plr[pnum]._pLightRad);
ChangeLightXY(plr[myplr]._plid, plr[myplr]._px, plr[myplr]._py); // fix for a bug where old light is still visible at the entrance after reentering level
} else {
plr[pnum]._plid = NO_LIGHT;
}

Loading…
Cancel
Save