Browse Source

make light objects unseen when saving level change data, because level change data (instead of real save data) does not save light source and if the light objects will be marked as seen there lights won't be created and they stay dark

pull/5997/head
ThomasChr 4 years ago committed by Anders Jenbo
parent
commit
c91feb71f9
  1. 17
      Source/loadsave.cpp

17
Source/loadsave.cpp

@ -2505,8 +2505,23 @@ void SaveLevel(SaveWriter &saveWriter)
file.WriteLE<int8_t>(objectId);
for (int objectId : AvailableObjects)
file.WriteLE<int8_t>(objectId);
for (int i = 0; i < ActiveObjectCount; i++)
for (int i = 0; i < ActiveObjectCount; i++) {
/* make dynamic light sources unseen when saving level data for level change */
switch (Objects[ActiveObjects[i]]._otype) {
case OBJ_L1LIGHT:
case OBJ_SKFIRE:
case OBJ_CANDLE1:
case OBJ_CANDLE2:
case OBJ_BOOKCANDLE:
case OBJ_STORYCANDLE:
case OBJ_TORCHL:
case OBJ_TORCHR:
case OBJ_TORCHL2:
case OBJ_TORCHR2:
Objects[ActiveObjects[i]]._oVar1 = 0;
}
SaveObject(file, Objects[ActiveObjects[i]]);
}
}
auto itemIndexes = SaveDroppedItems(file);

Loading…
Cancel
Save