diff --git a/docs/rh-log.txt b/docs/rh-log.txt index fddffdb2f..43a863a1b 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,6 +1,7 @@ August 31, 2006 +- Changed: Starting a new game or reloading an old one reset the chasecam. - Removed the r: ACS print cast. You can do it yourself with s: and an array. -- Changed all the bool arguments to the ACS ReplaceTextures and SectorDamage +- Replaced all the bool arguments to the ACS ReplaceTextures and SectorDamage commands with a single flags argument. SectorDamage also gained extended functionality: you can now make it hurt only players, only non-players, or both. Previously, hurting only non-players was not possible. @@ -19,7 +20,7 @@ August 30, 2006 before it even saw a release version, because you can do this with the standard colors too: print (s:"\c[Green]Some text"); -- Added two new decorate functionns: A_PlaySoundEx("sound_name", "channel" +- Added two new decorate functions: A_PlaySoundEx("sound_name", "channel" [, bLooping]) and A_StopSoundEx("channel"), where "channel" is "Auto", "Weapon", "Voice", "Item", "Body", "SoundSlot5", "SoundSlot6", or "SoundSlot7". diff --git a/src/g_game.cpp b/src/g_game.cpp index b51046803..a4809c451 100644 --- a/src/g_game.cpp +++ b/src/g_game.cpp @@ -1140,6 +1140,7 @@ void G_PlayerReborn (int player) int killcount; int itemcount; int secretcount; + int chasecam; BYTE currclass; userinfo_t userinfo; // [RH] Save userinfo botskill_t b_skill;//Added by MC: @@ -1160,6 +1161,7 @@ void G_PlayerReborn (int player) actor = p->mo; cls = p->cls; log = p->LogText; + chasecam = p->cheats & CF_CHASECAM; // Reset player structure to its defaults p->~player_t(); @@ -1175,6 +1177,7 @@ void G_PlayerReborn (int player) p->mo = actor; p->cls = cls; p->LogText = log; + p->cheats |= chasecam; p->skill = b_skill; //Added by MC: diff --git a/src/g_level.cpp b/src/g_level.cpp index ae8af62b4..5768c51c4 100644 --- a/src/g_level.cpp +++ b/src/g_level.cpp @@ -1376,8 +1376,10 @@ void G_NewInit () { player_t *p = &players[i]; userinfo_t saved_ui = players[i].userinfo; + int chasecam = p->cheats & CF_CHASECAM; p->~player_t(); ::new(p) player_t; + players[i].cheats |= chasecam; players[i].playerstate = PST_DEAD; playeringame[i] = 0; players[i].userinfo = saved_ui; diff --git a/src/p_saveg.cpp b/src/p_saveg.cpp index 3e3ce1a2b..074a24983 100644 --- a/src/p_saveg.cpp +++ b/src/p_saveg.cpp @@ -224,7 +224,9 @@ static void CopyPlayer (player_t *dst, player_t *src, const char *name) // The userinfo needs to be saved for real players, but it // needs to come from the save for bots. userinfo_t uibackup = dst->userinfo; + int chasecam = dst->cheats & CF_CHASECAM; // Remember the chasecam setting *dst = *src; + dst->cheats |= chasecam; if (dst->isbot) {