diff --git a/source/core/gamecontrol.cpp b/source/core/gamecontrol.cpp index 925069ccf..ceb42ca80 100644 --- a/source/core/gamecontrol.cpp +++ b/source/core/gamecontrol.cpp @@ -846,15 +846,18 @@ int RunGame() G_LoadConfig(); auto usedgroups = SetupGame(); - for (auto& grp : usedgroups) + bool colorset = false; + for (int i = usedgroups.Size()-1; i >= 0; i--) { + auto& grp = usedgroups[i]; if (grp.FileInfo.name.IsNotEmpty()) { if (GameStartupInfo.Name.IsEmpty()) GameStartupInfo.Name = grp.FileInfo.name; - if (grp.FileInfo.FgColor != grp.FileInfo.BgColor && (GameStartupInfo.FgColor != 0 || GameStartupInfo.BkColor != 0)) + if (!colorset && grp.FileInfo.FgColor != grp.FileInfo.BgColor && (GameStartupInfo.FgColor != 0 || GameStartupInfo.BkColor != 0)) { GameStartupInfo.FgColor = grp.FileInfo.FgColor; GameStartupInfo.BkColor = grp.FileInfo.BgColor; + colorset = true; } } } diff --git a/source/games/blood/src/actor.cpp b/source/games/blood/src/actor.cpp index 1ffdd1d79..364373526 100644 --- a/source/games/blood/src/actor.cpp +++ b/source/games/blood/src/actor.cpp @@ -2854,7 +2854,12 @@ spritetype *actDropObject(spritetype *pSprite, int nType) { else if (nType >= kItemAmmoBase && nType < kItemAmmoMax) pSprite2 = actDropAmmo(pSprite, nType); else if (nType >= kItemWeaponBase && nType < kItemWeaponMax) pSprite2 = actDropWeapon(pSprite, nType); - if (pSprite2 && pSprite->picnum > -1) { + if (pSprite2) { + if (pSprite2->picnum == -1) + { + DeleteSprite(pSprite2 - sprite); + return nullptr; + } int top, bottom; GetSpriteExtents(pSprite2, &top, &bottom); if (bottom >= pSprite2->z) diff --git a/source/games/duke/src/game.cpp b/source/games/duke/src/game.cpp index eb23949de..9dc6d5d45 100644 --- a/source/games/duke/src/game.cpp +++ b/source/games/duke/src/game.cpp @@ -194,14 +194,14 @@ static void setupbackdrop() if (isWorldTour()) { defineSky(5284, 65536, 3, defoff); - defineSky(5412, 65536, 3, defoff, 48); - defineSky(5420, 65536, 3, defoff, 48); - defineSky(5450, 65536, 3, defoff7, 48); - defineSky(5540, 65536, 3, defoff, 48); - defineSky(5548, 65536, 3, defoff, 48); - defineSky(5556, 65536, 3, defoff1, 48); - defineSky(5720, 65536, 3, defoff4, 48); - defineSky(5814, 65536, 3, defoff, 48); + defineSky(5412, 65536, 3, defoff, 80); + defineSky(5420, 65536, 3, defoff, 80); + defineSky(5450, 65536, 3, defoff7, 80); + defineSky(5540, 65536, 3, defoff, 80); + defineSky(5548, 65536, 3, defoff, 80); + defineSky(5556, 65536, 3, defoff1, 80); + defineSky(5720, 65536, 3, defoff4, 80); + defineSky(5814, 65536, 3, defoff, 80); } // Ugh... Since we do not know up front which of these tiles are skies we have to set them all... diff --git a/wadsrc/static/engine/grpinfo.txt b/wadsrc/static/engine/grpinfo.txt index 305b3dc10..82b2b1e26 100644 --- a/wadsrc/static/engine/grpinfo.txt +++ b/wadsrc/static/engine/grpinfo.txt @@ -285,6 +285,14 @@ grpinfo BkColor 0x8f8f8f } +grpinfo +{ + name "Duke: Alien World Order" + dependency DUKE15_CRC + mustcontain "FIREFLYTROOPER.CON", "FLAMETHROWER.CON", "music/E5L1_BulletDam.ogg", "sound/VO_E5L1_Duke_CreamAndSugar.ogg" + gamefilter "Duke.Worldtour" +} + grpinfo { name "Duke!ZONE II (1.3D)"