From ce388163e14d4a168cd88384f89e955b0ef8e3d1 Mon Sep 17 00:00:00 2001 From: Randy Heit Date: Sat, 12 Jan 2008 01:17:37 +0000 Subject: [PATCH] - Moved thingdef_codeptr.cpp into thingdef/ with the other thingdef files. - Fixed: After loading a savegame, G_UnSnapshotLevel() destroyed the unmorphed versions of players because it thought they were extras. SVN r694 (trunk) --- docs/rh-log.txt | 5 +++++ src/g_level.cpp | 15 ++++++++++++++- src/g_shared/a_morph.cpp | 2 +- src/{ => thingdef}/thingdef_codeptr.cpp | 0 wadsrc/pista0.png | Bin 415 -> 408 bytes 5 files changed, 20 insertions(+), 2 deletions(-) rename src/{ => thingdef}/thingdef_codeptr.cpp (100%) diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 81733509d..b74db371c 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,3 +1,6 @@ +January 11, 2008 +- Moved thingdef_codeptr.cpp into thingdef/ with the other thingdef files. + January 11, 2008 (Changes by Graf Zahl) - Added Skulltag's pickup sprite and related information to the pistol. This will also double as the pistol's icon in the AltHUD. @@ -6,6 +9,8 @@ January 11, 2008 (Changes by Graf Zahl) - Added GZDoom's alt HUD. January 10, 2008 +- Fixed: After loading a savegame, G_UnSnapshotLevel() destroyed the + unmorphed versions of players because it thought they were extras. - Fixed: Weapon positions were only adjusted in 1280x1024 if the status bar was hidden. - Fixed: If you died in co-op and somebody else ended the map before you diff --git a/src/g_level.cpp b/src/g_level.cpp index df9cd5ed7..38d7219c3 100644 --- a/src/g_level.cpp +++ b/src/g_level.cpp @@ -2813,7 +2813,20 @@ void G_UnSnapshotLevel (bool hubLoad) next = it.Next(); if (pawn->player == NULL || pawn->player->mo == NULL || !playeringame[pawn->player - players]) { - pawn->Destroy (); + int i; + + // If this isn't the unmorphed original copy of a player, destroy it, because it's extra. + for (i = 0; i < MAXPLAYERS; ++i) + { + if (playeringame[i] && players[i].morphTics && players[i].mo->tracer == pawn) + { + break; + } + } + if (i == MAXPLAYERS) + { + pawn->Destroy (); + } } } } diff --git a/src/g_shared/a_morph.cpp b/src/g_shared/a_morph.cpp index 64ed47787..3837a0af2 100644 --- a/src/g_shared/a_morph.cpp +++ b/src/g_shared/a_morph.cpp @@ -9,7 +9,7 @@ #include "m_random.h" #include "a_sharedglobal.h" -#define MORPHTICS (4*TICRATE) +#define MORPHTICS (40*TICRATE) static FRandom pr_morphmonst ("MorphMonster"); diff --git a/src/thingdef_codeptr.cpp b/src/thingdef/thingdef_codeptr.cpp similarity index 100% rename from src/thingdef_codeptr.cpp rename to src/thingdef/thingdef_codeptr.cpp diff --git a/wadsrc/pista0.png b/wadsrc/pista0.png index a0bb66421a90c36b704d97d8218af6db370e5936..d7790c683a2cfb0e6bb6318a45af42affa1482ff 100644 GIT binary patch delta 341 zcmbQwJcD_HPQAIgxw^W#yg0YMzP`3HzqPfszrVk;vvah&wz0Oby}o#PynT3hIJY=^ zu)ThCbhN#;bb7FHytlcsva++WbaHaCySw}8)2F+;yPLDU^YioFjg_7CrN!mhz0IYS zwfUQynmPR~EKZzwbM7 zmrDIoPZ!6KinysKUHg~~MHnvjKTG3yY;f;?#l}ru{d;C^*IKFY`_j+Di;9m)ifrDU zbMJb-wc?J&yVjlDxoXo|gOij0?#qkX<9{t&O_EbE{De+Mjt4~EmTei8| z1l6g$ICFZvo}9e@^3JI~d4drZ@9f#vubT8X(&wz%SL?eRthbiTKUf}6B)3iT>(lMu wHEqkIY7TxstLPBO^HE^y9}~aEhxhY7_;A=9){tGpz`(%Z>FVdQ&MBb@05yDv8UO$Q delta 348 zcmbQiJfC@jPW}A(^Od#vo12?YpFZvF?Vateu5T_c&dz$!lP6EEudffb zmzS27E-x>4cXxL-mQGGi?(Xhx&i2mF&v!RgcGi~`muL4jmyV8(P7gMY_cm8nR^}FG z54P8jcGou67Pi-xw$~RA4-YSox3{*o_V@R9c6K&5H&^FZSC<#(*4Nk9R_6a!x5i-N zE|vNX0+)oRXa4_RDG}!KscpB^&li#m4;D->K0 zb`7(cG47W`m00et(DDAX?|rPAk5TdQx2A{nH|ZVrcI>EdN^^X@iF;9vPw31KSFE2` zo&O*$F4DuYH#Vmv;ZKF#`86qrb&VnpD&Kux`XkJa*Qs;mu9@M{4k~NUSgpS;anNG_ z%njX9QPRfwrdhs!SH1I{vLJg`wfOwTvgd6N-`|_fCiebscu*Sy0|SGntDnm{r-UW| D?J$e^