From 20207699671531fd95cd7d01ff39dc7ce9ed522e Mon Sep 17 00:00:00 2001 From: Braden Obrzut Date: Tue, 15 Jul 2014 20:16:28 -0400 Subject: [PATCH 1/6] - Fixed: Player turned into a zombie if exiting telefragged in buddha mode. - Fixed: Players could drop their inventory after dying. --- src/d_net.cpp | 3 ++- src/p_interaction.cpp | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/d_net.cpp b/src/d_net.cpp index 60a2b61c4..2cf13173f 100644 --- a/src/d_net.cpp +++ b/src/d_net.cpp @@ -2163,7 +2163,8 @@ void Net_DoCommand (int type, BYTE **stream, int player) { DWORD which = ReadLong (stream); - if (gamestate == GS_LEVEL && !paused) + if (gamestate == GS_LEVEL && !paused + && players[player].playerstate != PST_DEAD) { AInventory *item = players[player].mo->Inventory; while (item != NULL && item->InventoryID != which) diff --git a/src/p_interaction.cpp b/src/p_interaction.cpp index 0eae78632..c3be908ea 100644 --- a/src/p_interaction.cpp +++ b/src/p_interaction.cpp @@ -1255,7 +1255,9 @@ int P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage, // This does not save the player if damage >= TELEFRAG_DAMAGE, still need to // telefrag him right? ;) (Unfortunately the damage is "absorbed" by armor, // but telefragging should still do enough damage to kill the player) - if ((player->cheats & CF_BUDDHA) && damage < TELEFRAG_DAMAGE) + if ((player->cheats & CF_BUDDHA) && damage < TELEFRAG_DAMAGE + // Ignore players that are already dead. + && player->playerstate != PST_DEAD) { // If this is a voodoo doll we need to handle the real player as well. player->mo->health = target->health = player->health = 1; From fa5dfe79aec92b0876ad2c325b6d3c84839d1ea0 Mon Sep 17 00:00:00 2001 From: Braden Obrzut Date: Tue, 15 Jul 2014 21:07:07 -0400 Subject: [PATCH 2/6] - Disable cubic and spline resamplers on 64-bit with fmod 4.26 since they crash. --- src/sound/fmodsound.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/sound/fmodsound.cpp b/src/sound/fmodsound.cpp index 18f4cbb8f..648eb504e 100644 --- a/src/sound/fmodsound.cpp +++ b/src/sound/fmodsound.cpp @@ -212,8 +212,11 @@ static const FEnumList ResamplerNames[] = { "No Interpolation", FMOD_DSP_RESAMPLER_NOINTERP }, { "NoInterp", FMOD_DSP_RESAMPLER_NOINTERP }, { "Linear", FMOD_DSP_RESAMPLER_LINEAR }, + // [BL] 64-bit version of FMOD Ex 4.26 crashes with these resamplers. +#if !(defined(_M_X64) || defined(__amd64__)) || !(FMOD_VERSION >= 0x42600 && FMOD_VERSION <= 0x426FF) { "Cubic", FMOD_DSP_RESAMPLER_CUBIC }, { "Spline", FMOD_DSP_RESAMPLER_SPLINE }, +#endif { NULL, 0 } }; From bfbea404156633b8d9360995fb9250c5f78a0e1d Mon Sep 17 00:00:00 2001 From: Braden Obrzut Date: Tue, 15 Jul 2014 21:20:05 -0400 Subject: [PATCH 3/6] - Fixed some typos with chex quest obituaries and French translation error. --- wadsrc/static/actors/chex/chexweapons.txt | 4 ++-- wadsrc/static/language.fr | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/wadsrc/static/actors/chex/chexweapons.txt b/wadsrc/static/actors/chex/chexweapons.txt index 97043f2ca..96d8b4c4b 100644 --- a/wadsrc/static/actors/chex/chexweapons.txt +++ b/wadsrc/static/actors/chex/chexweapons.txt @@ -18,7 +18,7 @@ actor SuperBootspork : Chainsaw 2005 actor MiniZorcher : Pistol { game Chex - obituary "$OP_MPZORCH" + obituary "$OB_MPZORCH" inventory.pickupmessage "$GOTMINIZORCHER" Tag "$TAG_MINIZORCHER" states @@ -31,7 +31,7 @@ actor MiniZorcher : Pistol actor LargeZorcher : Shotgun 2001 { game Chex - obituary "$OP_MPZORCH" + obituary "$OB_MPZORCH" inventory.pickupmessage "$GOTLARGEZORCHER" Tag "$TAG_LARGEZORCHER" } diff --git a/wadsrc/static/language.fr b/wadsrc/static/language.fr index 1533a1506..10021fd82 100644 --- a/wadsrc/static/language.fr +++ b/wadsrc/static/language.fr @@ -993,7 +993,7 @@ HHUSTR_E5M9 = "L ECHEVAUX DE D'SPARIL"; TXT_GOTBLUEKEY = "CLE BLEUE"; TXT_GOTYELLOWKEY = "CLE JAUNE"; -TXT_GOTGREENKEY = "CLE ROUGE"; +TXT_GOTGREENKEY = "CLÉ VERTE"; // Artifacts From bd5bf2a40afd466245ded5630a66352ccbb524ce Mon Sep 17 00:00:00 2001 From: Braden Obrzut Date: Tue, 15 Jul 2014 21:26:26 -0400 Subject: [PATCH 4/6] - Expand environment variables for autoload paths. - Forgot to save the French translation file for the last commit, so a few more corrections there. --- src/d_main.cpp | 2 +- wadsrc/static/language.fr | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/d_main.cpp b/src/d_main.cpp index 93e6368c1..29a12c9c2 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -1598,7 +1598,7 @@ void D_AddConfigWads (TArray &wadfiles, const char *section) { // D_AddWildFile resets GameConfig's position, so remember it GameConfig->GetPosition (pos); - D_AddWildFile (wadfiles, value); + D_AddWildFile (wadfiles, ExpandEnvVars(value)); // Reset GameConfig's position to get next wad GameConfig->SetPosition (pos); } diff --git a/wadsrc/static/language.fr b/wadsrc/static/language.fr index 10021fd82..4e146955d 100644 --- a/wadsrc/static/language.fr +++ b/wadsrc/static/language.fr @@ -991,8 +991,8 @@ HHUSTR_E5M9 = "L ECHEVAUX DE D'SPARIL"; // Keys -TXT_GOTBLUEKEY = "CLE BLEUE"; -TXT_GOTYELLOWKEY = "CLE JAUNE"; +TXT_GOTBLUEKEY = "CLÉ BLEUE"; +TXT_GOTYELLOWKEY = "CLÉ JAUNE"; TXT_GOTGREENKEY = "CLÉ VERTE"; // Artifacts From b6bbdf619573fceebfb14a37d7ad0cc3177145d6 Mon Sep 17 00:00:00 2001 From: Braden Obrzut Date: Wed, 16 Jul 2014 18:59:49 -0400 Subject: [PATCH 5/6] - Call C_DeinitConsole in I_Quit so that we can be sure that Printf will work for as long as possible. Otherwise ZDoom will crash when ending a demo recording. --- src/d_main.cpp | 2 -- src/sdl/i_system.cpp | 2 ++ src/win32/i_system.cpp | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/d_main.cpp b/src/d_main.cpp index 29a12c9c2..2570e7a36 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -1987,8 +1987,6 @@ static void D_DoomInit() Args->CollectFiles("-playdemo", ".lmp"); Args->CollectFiles("-file", NULL); // anything left goes after -file - atterm (C_DeinitConsole); - gamestate = GS_STARTUP; SetLanguageIDs (); diff --git a/src/sdl/i_system.cpp b/src/sdl/i_system.cpp index 88850d9fe..9b3027a7d 100644 --- a/src/sdl/i_system.cpp +++ b/src/sdl/i_system.cpp @@ -353,6 +353,8 @@ void I_Quit (void) if (demorecording) G_CheckDemoStatus(); + + C_DeinitConsole(); } diff --git a/src/win32/i_system.cpp b/src/win32/i_system.cpp index 4690c253d..4248df274 100644 --- a/src/win32/i_system.cpp +++ b/src/win32/i_system.cpp @@ -781,6 +781,8 @@ void I_Quit() { G_CheckDemoStatus(); } + + C_DeinitConsole(); } From 84cb49b074962fd114c1dfd5268ece46ed5b0f4f Mon Sep 17 00:00:00 2001 From: Braden Obrzut Date: Wed, 16 Jul 2014 19:19:20 -0400 Subject: [PATCH 6/6] - Fixed: Legacy render style array was in the wrong order. --- src/p_acs.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/p_acs.cpp b/src/p_acs.cpp index feecbb0aa..87e65cac3 100644 --- a/src/p_acs.cpp +++ b/src/p_acs.cpp @@ -3542,14 +3542,14 @@ static const int LegacyRenderStyleIndices[] = 3, // STYLE_SoulTrans, 4, // STYLE_OptFuzzy, 5, // STYLE_Stencil, - 6, // STYLE_AddStencil - 7, // STYLE_AddShaded 64, // STYLE_Translucent 65, // STYLE_Add, 66, // STYLE_Shaded, 67, // STYLE_TranslucentStencil, 68, // STYLE_Shadow, 69, // STYLE_Subtract, + 6, // STYLE_AddStencil + 7, // STYLE_AddShaded -1 };