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 81733509d7..b74db371c9 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 df9cd5ed71..38d7219c32 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 64ed47787d..3837a0af2f 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 zcmV-b0jmC=1DFGlEPppQHzy}29~TQRFE1-24?8Ew-KQ9+|Uq4q@ zR|^*hQ$H_TTU$RX8)s89UrRS5BO^mI8)IW*M@L7?%gc+4i-T)RZ*Ol$Gb2MU8y6o3 zOE()MD-VN%gOih!OG`^@M<*{g9~Tb?r>Cc%pPzq!e^Wmn8xI>BcXxN6gJU-%6FDc} zO_91Jf2B!8K~#8NmB~ep12Gf;(U0b42;(r`|9G*oN{_smw<@V1`_lQtqI1R>6tlZ* z-q&wCA-JQuuF1KovaK-5ll{JKTD(uzS0)(=5m(48Xly$p3S_FvgsaM0TRDbDJW_rn z=*-KnE*>9Gr-_wJZV^~G?mq{ws*?R#OwBg+JKYEc+N7VscTjR3wkh@HxA!SMcUpYG n_st8WsFB=yh2TL~_TU%RaQ!`&nHzOk> z3l|4dKQCKHD>Ew-KPwwQFBex=S9f1OJ3Bj1PftTbLpL`!Cl4nl9~TQRFE1-25B7en zFp;_>f2>JFK~#9!mCVNu!Y~j;(V_Pa2@ui~mudh1c^Fni@`k$_`REw{;GmbCL+`D( zC^nf~N7Gdz1mCDEOY*+&T_#L2bI0v9!!NQf!%IPkctU1D>#_@?d`wlD@YFl!de871 z7Zi*Hy&i&|P6 uGjBC&P5r9wO_ZQ(x_cL&fp+JH;qTs?1{UxAS5k%m0000