From 3fce8ab6938ce8b569849ea713402c467b9529e7 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Thu, 6 May 2021 17:14:18 +0200 Subject: [PATCH] - added support for the 3 missing Duke Vacation SSIs. --- source/core/gamecontrol.cpp | 16 ---- wadsrc/static/engine/grpinfo.txt | 73 ++++++++++++++----- .../filter/duke.duke.13/engine/engine.con | 9 +++ .../filter/duke.dukedc.13/engine/engine.con | 9 +++ .../filter/duke.vacation.13/engine/engine.con | 8 ++ 5 files changed, 80 insertions(+), 35 deletions(-) create mode 100644 wadsrc/static/filter/duke.duke.13/engine/engine.con create mode 100644 wadsrc/static/filter/duke.dukedc.13/engine/engine.con create mode 100644 wadsrc/static/filter/duke.vacation.13/engine/engine.con diff --git a/source/core/gamecontrol.cpp b/source/core/gamecontrol.cpp index dcc0e9da7..a6fc77df4 100644 --- a/source/core/gamecontrol.cpp +++ b/source/core/gamecontrol.cpp @@ -607,22 +607,6 @@ int GameMain() void SetDefaultStrings() { - // Duke 1.3 does not define its episodes through CON. - if ((g_gameType & GAMEFLAG_DUKE) && fileSystem.FindFile("E4L1.MAP") < 0) - { - auto vol0 = AllocateVolume(); vol0->index = 0; - auto vol1 = AllocateVolume(); vol1->index = 1; vol1->flags = VF_SHAREWARELOCK; - auto vol2 = AllocateVolume(); vol2->index = 2; vol1->flags = VF_SHAREWARELOCK; - // Pre-Atomic releases do not define this. - vol0->name = "$L.A. Meltdown"; - vol1->name = "$Lunar Apocalypse"; - vol2->name = "$Shrapnel City"; - - gSkillNames[0] = "$Piece of Cake"; - gSkillNames[1] = "$Let's Rock"; - gSkillNames[2] = "$Come get Some"; - gSkillNames[3] = "$Damn I'm Good"; - } // Blood hard codes its skill names, so we have to define them manually. if (isBlood()) { diff --git a/wadsrc/static/engine/grpinfo.txt b/wadsrc/static/engine/grpinfo.txt index 7c0bc7f73..ca9946fed 100644 --- a/wadsrc/static/engine/grpinfo.txt +++ b/wadsrc/static/engine/grpinfo.txt @@ -50,7 +50,7 @@ grpinfo size 26524524 crc DUKE13_CRC flags GAMEFLAG_DUKE - gamefilter "Duke.Duke" + gamefilter "Duke.Duke.13" dependency 0 FgColor 0xffff00 BkColor 0xff6f00 @@ -63,7 +63,7 @@ grpinfo size 26385383 crc DUKEKR_CRC flags GAMEFLAG_DUKE - gamefilter "Duke.Duke" + gamefilter "Duke.Duke.13" dependency 0 FgColor 0xffff00 BkColor 0xff6f00 @@ -76,7 +76,7 @@ grpinfo size 44356548 crc DUKE15_CRC flags GAMEFLAG_DUKE - gamefilter "Duke.Duke" + gamefilter "Duke.Duke.15" dependency 0 FgColor 0xffff00 BkColor 0xff6f00 @@ -89,7 +89,7 @@ grpinfo size 44356548 crc DukeWorldTour_CRC flags GAMEFLAG_DUKE - gamefilter "Duke.Duke" + gamefilter "Duke.Duke.15" dependency 0 FgColor 0xffff00 BkColor 0xff6f00 @@ -102,7 +102,7 @@ grpinfo // another variant? I got this one, dated 2016-10-12 size 44486702 crc 0x89792E05 flags GAMEFLAG_DUKE - gamefilter "Duke.Duke" + gamefilter "Duke.Duke.15" dependency 0 FgColor 0xffff00 BkColor 0xff6f00 @@ -115,7 +115,7 @@ grpinfo size 44348015 crc DUKEPP_CRC flags GAMEFLAG_DUKE - gamefilter "Duke.Duke" + gamefilter "Duke.Duke.15" dependency 0 FgColor 0xffff00 BkColor 0xff6f00 @@ -201,7 +201,7 @@ grpinfo crc DUKEDC13_CRC flags GAMEFLAG_DUKE|GAMEFLAG_ADDON|GAMEFLAG_DUKEDC dependency DUKE13_CRC - gamefilter "Duke.DukeDC" + gamefilter "Duke.DukeDC.13" GameID "DukeDC13" } @@ -212,7 +212,7 @@ grpinfo crc DUKEDCPP_CRC flags GAMEFLAG_DUKE|GAMEFLAG_ADDON|GAMEFLAG_DUKEDC dependency DUKE15_CRC - gamefilter "Duke.DukeDC" + gamefilter "Duke.DukeDC.13" GameID "DukeDC" } @@ -223,7 +223,7 @@ grpinfo crc DUKEDC_CRC flags GAMEFLAG_DUKE|GAMEFLAG_ADDON|GAMEFLAG_DUKEDC dependency DUKE15_CRC - gamefilter "Duke.DukeDC" + gamefilter "Duke.DukeDC.15" GameID "DukeDC" } @@ -235,14 +235,49 @@ grpinfo crc 0x39A692BF flags GAMEFLAG_DUKE|GAMEFLAG_ADDON|GAMEFLAG_DUKEDC dependency DUKE15_CRC - gamefilter "Duke.DukeDC" + gamefilter "Duke.DukeDC.15" GameID "DukeDC" } -// These are a bit strange but without anything to check I do not know in what way. -// { "Duke Caribbean: Life's a Beach (1.3D)", VACA13_CRC, 23559381, GAMEFLAG_DUKE|GAMEFLAG_ADDON, DUKE13_CRC, NULL, process_vaca13}, -// { "Duke Caribbean: Life's a Beach (PPak)", VACAPP_CRC, 22551333, GAMEFLAG_DUKE|GAMEFLAG_ADDON, DUKEPP_CRC, NULL, process_vacapp15}, -// { "Duke Caribbean: Life's a Beach", VACA15_CRC, 22521880, GAMEFLAG_DUKE|GAMEFLAG_ADDON, DUKE15_CRC, NULL, process_vacapp15}, +grpinfo +{ + name "Duke Caribbean: Life's a Beach (1.3)" + size 23559381 + crc VACA13_CRC + flags GAMEFLAG_DUKE|GAMEFLAG_ADDON + dependency DUKE13_CRC + gamefilter "Duke.Vacation.13" + FgColor 0x00004f + BkColor 0x8f8fff + GameID "DukeVacation13" +} + +grpinfo +{ + name "Duke Caribbean: Life's a Beach" + size 22551333 + crc VACAPP_CRC + flags GAMEFLAG_DUKE|GAMEFLAG_ADDON + dependency DUKE15_CRC + gamefilter "Duke.Vacation.15" + FgColor 0x00004f + BkColor 0x8f8fff + GameID "DukeVacation" +} + +grpinfo +{ + name "Duke Caribbean: Life's a Beach" + size 22521880 + crc VACA15_CRC + flags GAMEFLAG_DUKE|GAMEFLAG_ADDON + dependency DUKE15_CRC + gamefilter "Duke.Vacation.15" + FgColor 0x00004f + BkColor 0x8f8fff + GameID "DukeVacation" +} + grpinfo { @@ -251,7 +286,7 @@ grpinfo crc DUKECB_CRC flags GAMEFLAG_DUKE|GAMEFLAG_ADDON|GAMEFLAG_DUKEVACA dependency DUKE15_CRC - gamefilter "Duke.Vacation" + gamefilter "Duke.Vacation.15" FgColor 0x00004f BkColor 0x8f8fff GameID "DukeVacation" @@ -265,7 +300,7 @@ grpinfo crc 0x65B5F690 flags GAMEFLAG_DUKE|GAMEFLAG_ADDON|GAMEFLAG_DUKEVACA dependency DUKE15_CRC - gamefilter "Duke.Vacation" + gamefilter "Duke.Vacation.15" FgColor 0x00004f BkColor 0x8f8fff GameID "DukeVacation" @@ -315,7 +350,7 @@ grpinfo crc 0xC7EFBFA9 flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE13_CRC - gamefilter "Duke.Zone" + gamefilter "Duke.Zone.13" } grpinfo @@ -326,7 +361,7 @@ grpinfo crc DZ2_PP_CRC flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE15_CRC - gamefilter "Duke.Zone" + gamefilter "Duke.Zone.15" } grpinfo @@ -337,7 +372,7 @@ grpinfo crc 0x1E9516F1 flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE13_CRC - gamefilter "Duke.Zone" + gamefilter "Duke.Zone.13" } grpinfo diff --git a/wadsrc/static/filter/duke.duke.13/engine/engine.con b/wadsrc/static/filter/duke.duke.13/engine/engine.con new file mode 100644 index 000000000..7f607f47b --- /dev/null +++ b/wadsrc/static/filter/duke.duke.13/engine/engine.con @@ -0,0 +1,9 @@ +definevolumename 0 L.A. MELTDOWN +definevolumename 1 LUNAR APOCALYPSE +definevolumename 2 SHRAPNEL CITY + +defineskillname 0 PIECE OF CAKE +defineskillname 1 LET'S ROCK +defineskillname 2 COME GET SOME +defineskillname 3 DAMN I'M GOOD + diff --git a/wadsrc/static/filter/duke.dukedc.13/engine/engine.con b/wadsrc/static/filter/duke.dukedc.13/engine/engine.con new file mode 100644 index 000000000..87c25aeb4 --- /dev/null +++ b/wadsrc/static/filter/duke.dukedc.13/engine/engine.con @@ -0,0 +1,9 @@ +definevolumename 0 L.A. MELTDOWN +definevolumename 1 DUKE IT OUT IN D.C. +definevolumename 2 SHRAPNEL CITY + +defineskillname 0 PIECE OF CAKE +defineskillname 1 LET'S ROCK +defineskillname 2 COME GET SOME +defineskillname 3 DAMN I'M GOOD + diff --git a/wadsrc/static/filter/duke.vacation.13/engine/engine.con b/wadsrc/static/filter/duke.vacation.13/engine/engine.con new file mode 100644 index 000000000..b3baafdfe --- /dev/null +++ b/wadsrc/static/filter/duke.vacation.13/engine/engine.con @@ -0,0 +1,8 @@ +definevolumename 0 L.A. MELTDOWN +definevolumename 1 VACATION DUKEMATCH +definevolumename 2 LIFE'S A BEACH + +defineskillname 0 LOW TIDE +defineskillname 1 MAKIN' WAVES +defineskillname 2 BIG KAHUNA +defineskillname 3 TSUNAMI