CRC { DUKE13_CRC 0xBBC9CE44 DUKEKR_CRC 0xAA4F6A40 DUKE15_CRC 0xFD3DCFF1 DUKEPP_CRC 0xF514A6AC DUKEWT_CRC 0x982AFE4A DUKE099_CRC 0x02F18900 DUKE10_CRC 0xA28AA589 DUKE11_CRC 0x912E1E8D DUKESW_CRC 0x983AD923 DUKEMD_CRC 0xC5F71561 DUKEMD2_CRC 0x73A15EE7 DUKEDC13_CRC 0xA9242158 DUKEDCPP_CRC 0xB79D997F DUKEDC_CRC 0xA8CF80DA VACA13_CRC 0x4A2DBB62 VACAPP_CRC 0x2F4FCCEE VACA15_CRC 0xB62B42FD DUKECB_CRC 0x18F01C5B DUKENW_CRC 0xF1CAE8E4 DZ2_13_CRC 0x82C1B47F DZ2_PP_CRC 0x7FB6117C NAM_CRC 0x75C1F07B NAPALM_CRC 0x3DE1589A WW2GI_CRC 0x907B82BF PLATOONL_CRC 0xD1ED8C0C RR_CRC 0x19D9BC79 RRRA_CRC 0x958018C6 BLOOD_CRC 0xA8FDDA84 SWREG12_CRC 0x7545319F SWWD_CRC 0xA9AAA7B7 SWTD_CRC 0xA1A65BE8 POWERSLAVE_CRC 0x303CBD89 EXHUMED_CRC 0xE3B172F1 POWERSLAVE_DEMO_CRC 0x1D8C7645 EXHUMED_DEMO_CRC 0x1A6E27FA } grpinfo { name "Duke Nukem 3D" size 26524524 crc DUKE13_CRC flags GAMEFLAG_DUKE gamefilter "Duke.Duke" dependency 0 } grpinfo { name "Duke Nukem 3D (South Korean Censored)" size 26385383 crc DUKEKR_CRC flags GAMEFLAG_DUKE gamefilter "Duke.Duke" dependency 0 } grpinfo { name "Duke Nukem 3D: Atomic Edition" size 44356548 crc DUKE15_CRC flags GAMEFLAG_DUKE gamefilter "Duke.Duke" dependency 0 } grpinfo { name "Duke Nukem 3D: Atomic Edition (WT)" size 44356548 crc DUKEWT_CRC flags GAMEFLAG_DUKE gamefilter "Duke.Duke" dependency 0 } grpinfo { name "Duke Nukem 3D: Plutonium Pak" size 44348015 crc DUKEPP_CRC flags GAMEFLAG_DUKE gamefilter "Duke.Duke" dependency 0 } grpinfo { name "Duke Nukem 3D Shareware 0.99" size 9690241 crc DUKE099_CRC flags GAMEFLAG_DUKE|GAMEFLAG_DUKEBETA gamefilter "Duke.Shareware" dependency 0 } grpinfo { name "Duke Nukem 3D Shareware 1.0" size 10429258 crc DUKE10_CRC flags GAMEFLAG_DUKE|GAMEFLAG_SHAREWARE gamefilter "Duke.Shareware" dependency 0 } grpinfo { name "Duke Nukem 3D Shareware 1.1" size 10442980 crc DUKE11_CRC flags GAMEFLAG_DUKE|GAMEFLAG_SHAREWARE gamefilter "Duke.Shareware" dependency 0 } grpinfo { name "Duke Nukem 3D Shareware 1.3D" size 11035779 crc DUKESW_CRC flags GAMEFLAG_DUKE|GAMEFLAG_SHAREWARE gamefilter "Duke.Shareware" dependency 0 } grpinfo { name "Duke Nukem 3D Mac Demo" size 10444391 crc DUKEMD_CRC flags GAMEFLAG_DUKE|GAMEFLAG_SHAREWARE gamefilter "Duke.Shareware" dependency 0 } grpinfo { name "Duke Nukem 3D MacUser Demo" size 10628573 crc DUKEMD2_CRC flags GAMEFLAG_DUKE|GAMEFLAG_SHAREWARE gamefilter "Duke.Shareware" dependency 0 } grpinfo { name "Duke it out in D.C. (1.3D)" size 7926624 crc DUKEDC13_CRC flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE13_CRC gamefilter "Duke.DukeDC" } grpinfo { name "Duke it out in D.C." size 8225517 crc DUKEDCPP_CRC flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE15_CRC gamefilter "Duke.DukeDC" } grpinfo { name "Duke it out in D.C." size 8410183 crc DUKEDC_CRC flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE15_CRC gamefilter "Duke.DukeDC" } grpinfo { name "Duke it out in D.C." scriptname "DUKEDC.CON" size 8410187 crc 0x39A692BF flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE15_CRC gamefilter "Duke.DukeDC" } addon { // This is for loading the addon from the megaton edition without setting the path. name "Duke it out in D.C." flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE15_CRC mustcontain "addons/dc/dukedc.grp" loadgrp "addons/dc/dukedc.grp" gamefilter "Duke.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" size 22213819 crc DUKECB_CRC flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE15_CRC gamefilter "Duke.Vacation" } grpinfo { name "Duke Caribbean: Life's a Beach" scriptname "VACATION.CON" size 22397273 crc 0x65B5F690 flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE15_CRC gamefilter "Duke.Vacation" } addon { // This is for loading the addon from the megaton edition without setting the path. name "Duke Caribbean: Life's a Beach" flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE15_CRC mustcontain "addons/vacation/vacation.grp" loadgrp "addons/vacation/vacation.grp" gamefilter "Duke.Vacation" } grpinfo { name "Duke: Nuclear Winter" scriptname "NWINTER.CON" size 16169365 crc DUKENW_CRC flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE15_CRC gamefilter "Duke.NWinter" } addon { // This is for loading the addon from the megaton edition without setting the path. name "Duke: Nuclear Winter" scriptname "NWINTER.CON" flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE15_CRC mustcontain "addons/nw/nwinter.grp" loadgrp "addons/nw/nwinter.grp" gamefilter "Duke.NWinter" } grpinfo { name "Duke: Nuclear Winter Demo" scriptname "NWINTER.CON" size 10965909 crc 0xC7EFBFA9 flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE15_CRC gamefilter "Duke.NWinter" } grpinfo { name "Duke!ZONE II (1.3D)" scriptname "DZ-GAME.CON" size 26135388 crc 0xC7EFBFA9 flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE13_CRC gamefilter "Duke.Zone" } grpinfo { name "Duke!ZONE II" scriptname "DZ-GAME.CON" size 44100411 crc DZ2_PP_CRC flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE15_CRC gamefilter "Duke.Zone" } grpinfo { name "Duke!ZONE II" scriptname "DZ-GAME.CON" size 3186656 crc 0x1E9516F1 flags GAMEFLAG_DUKE|GAMEFLAG_ADDON dependency DUKE13_CRC gamefilter "Duke.Zone" } grpinfo { name "NAM" size 43448927 crc NAM_CRC flags GAMEFLAG_NAM dependency 0 gamefilter "Nam.Nam" } grpinfo { name "NAPALM" size 44365728 crc NAPALM_CRC flags GAMEFLAG_NAM|GAMEFLAG_NAPALM dependency 0 gamefilter "Nam.Napalm" } grpinfo { name "WWII GI" size 77939508 crc WW2GI_CRC flags GAMEFLAG_WW2GI dependency 0 gamefilter "WW2GI.WW2GI" } grpinfo { name "Platoon Leader" scriptname "PLATOONL.DEF" size 37852572 crc PLATOONL_CRC flags GAMEFLAG_WW2GI|GAMEFLAG_ADDON dependency WW2GI_CRC gamefilter "WW2GI.Platoon" } grpinfo { name "Redneck Rampage" size 141174222 crc RR_CRC defname "rr.def" flags GAMEFLAG_RR dependency 0 gamefilter "Redneck.Redneck" } grpinfo { name "Redneck Rampage Rides Again" size 191798609 crc RRRA_CRC defname "rrra.def" flags GAMEFLAG_RRRA|GAMEFLAG_RR dependency 0 gamefilter "Redneck.RidesAgain" } grpinfo { // This is for detecting zipped versions of the mod. name "Redneck Rampage: Suckin' Grits on Route 66" scriptname "GAME66.CON" mustcontain "TILESA66.ART", "TILESB66.ART", "ROUTE66/CARNIVAL.MAP", "ROUTE66/TRUCKSTP.MAP", "GAME66.CON" flags GAMEFLAG_RR|GAMEFLAG_ADDON dependency RR_CRC loadart "TILESA66.ART", "TILESB66.ART" // replaces TILES009 and TILES023. gamefilter "Redneck.Route66" deletecontent "turd66.anm*turdmov.anm", "turd66.voc*turdmov.voc", "end66.anm*rr_outro.anm", "end66.voc*rr_outro.voc" // This renames instead of deleting } addon { // this is for detecting the files within the game directory. name "Redneck Rampage: Suckin' Grits on Route 66" scriptname "GAME66.CON" mustcontain "TILESA66.ART", "TILESB66.ART", "ROUTE66/CARNIVAL.MAP", "ROUTE66/TRUCKSTP.MAP", "GAME66.CON" flags GAMEFLAG_RR|GAMEFLAG_ADDON dependency RR_CRC loadart "TILESA66.ART", "TILESB66.ART" // replaces TILES009 and TILES023. gamefilter "Redneck.Route66" deletecontent "turd66.anm*turdmov.anm", "turd66.voc*turdmov.voc", "end66.anm*rr_outro.anm", "end66.voc*rr_outro.voc" // This renames instead of deleting } grpinfo { name "BLOOD: One Unit Whole Blood" size 9570681 crc 0xA8FDDA84 defname "blood.def" scriptname "BLOOD.INI" flags GAMEFLAG_BLOOD dependency 0 loadgrp "SOUNDS.RFF", "GUI.RFF" gamefilter "Blood.Blood" } /* this doesn't work with the current setup. grpinfo { // This is for identifying older Blood versions. Since I have no information, all I can do is testing for a few known files. name "BLOOD: Unknown Version" mustcontain "help1.qav", "cult2d2.seq", "tombstn1.kvx", "normal.plu" defname "blood.def" scriptname "BLOOD.INI" flags GAMEFLAG_BLOOD dependency 0 loadgrp "SOUNDS.RFF", "GUI.RFF" gamefilter "Blood.Blood" } */ grpinfo { // This is for detecting zipped versions of the mod. name "BLOOD: Cryptic Passage" scriptname "CRYPTIC.INI" mustcontain "CRYPTIC.INI", "CP01.MAP", "CP02.MAP" flags GAMEFLAG_BLOOD|GAMEFLAG_ADDON dependency BLOOD_CRC loadart "CPART07.AR_", "CPART15.AR_" gamefilter "Blood.Cryptic" } addon { // This is for detecting the files inside the Blood folder itself name "BLOOD: Cryptic Passage" scriptname "CRYPTIC.INI" mustcontain "CRYPTIC.INI", "CP01.MAP", "CP02.MAP" flags GAMEFLAG_BLOOD|GAMEFLAG_ADDON dependency BLOOD_CRC loadart "CPART07.AR_", "CPART15.AR_" gamefilter "Blood.Cryptic" } addon { // This is for detecting the files inside a subfolder called 'cryptic'. name "BLOOD: Cryptic Passage" scriptname "CRYPTIC.INI" mustcontain "cryptic/CRYPTIC.INI", "cryptic/CP01.MAP", "cryptic/CP02.MAP" loadgrp "cryptic" flags GAMEFLAG_BLOOD|GAMEFLAG_ADDON dependency BLOOD_CRC loadart "CPART07.AR_", "CPART15.AR_" gamefilter "Blood.Cryptic" } addon { // This is for detecting the files inside the Fresh Supply distribution, which also has the ART files named properly. name "BLOOD: Cryptic Passage" scriptname "CRYPTIC.INI" mustcontain "addons/Cryptic Passage/CRYPTIC.INI", "addons/Cryptic Passage/CP01.MAP", "addons/Cryptic Passage/CP02.MAP" loadgrp "addons/Cryptic Passage" flags GAMEFLAG_BLOOD|GAMEFLAG_ADDON dependency BLOOD_CRC gamefilter "Blood.Cryptic" } grpinfo { name "Shadow Warrior" flags GAMEFLAG_SW crc SWREG12_CRC size 47536148 defname "sw.def" gamefilter "ShadowWarrior.ShadowWarrior" } grpinfo { name "Shadow Warrior (Europe)" flags GAMEFLAG_SW crc 0xD4A1E153 size 47536148 defname "sw.def" gamefilter "ShadowWarrior.ShadowWarrior" } grpinfo { name "Shadow Warrior (UK)" flags GAMEFLAG_SW crc 0x3EE68767 size 47536148 defname "sw.def" gamefilter "ShadowWarrior.ShadowWarrior" } grpinfo { name "Shadow Warrior (Censored)" flags GAMEFLAG_SW crc 0x1A8776D2 size 47537951 defname "sw.def" gamefilter "ShadowWarrior.ShadowWarrior" } grpinfo { name "Shadow Warrior Shareware 1.0" flags GAMEFLAG_SW|GAMEFLAG_SHAREWARE crc 0xDAA6BECE size 25702245 defname "sw.def" gamefilter "ShadowWarrior.Shareware" } grpinfo { name "Shadow Warrior Shareware 1.1" flags GAMEFLAG_SW|GAMEFLAG_SHAREWARE crc 0xF21A6B35 size 25833456 defname "sw.def" gamefilter "ShadowWarrior.Shareware" } grpinfo { name "Shadow Warrior Shareware 1.2" flags GAMEFLAG_SW|GAMEFLAG_SHAREWARE crc 0x08A7FA1F size 26056769 defname "sw.def" gamefilter "ShadowWarrior.Shareware" } grpinfo { name "Shadow Warrior Mac Demo" flags GAMEFLAG_SW|GAMEFLAG_SHAREWARE crc 0x4227F535 size 26056769 defname "sw.def" gamefilter "ShadowWarrior.Shareware" } grpinfo { name "Shadow Warrior: Wanton Destruction" flags GAMEFLAG_SW|GAMEFLAG_ADDON crc SWWD_CRC size 48698128 defname "sw.def" dependency SWREG12_CRC gamefilter "ShadowWarrior.Wanton" } grpinfo { name "Shadow Warrior: Wanton Destruction" flags GAMEFLAG_SW|GAMEFLAG_ADDON crc 0x8B6E8011 size 48698128 defname "sw.def" dependency SWREG12_CRC gamefilter "ShadowWarrior.Wanton" } grpinfo { name "Shadow Warrior: Twin Dragon" flags GAMEFLAG_SW|GAMEFLAG_ADDON crc SWTD_CRC size 12499012 defname "twindrag.def" // included in the GRP dependency SWREG12_CRC gamefilter "ShadowWarrior.TwinDragon" deletecontent "swcustom.txt" // not localizable and also not present in the alternative package. } grpinfo { name "Shadow Warrior: Twin Dragon" flags GAMEFLAG_SW|GAMEFLAG_ADDON crc 0xB5B71277 size 6236287 defname "twindrag.def" // included in the GRP dependency SWREG12_CRC gamefilter "ShadowWarrior.TwinDragon" } grpinfo { name "Powerslave" flags GAMEFLAG_POWERSLAVE crc POWERSLAVE_CRC size 27020745 defname "exhumed.def" gamefilter "Exhumed.Powerslave" } grpinfo { name "Exhumed" flags GAMEFLAG_EXHUMED crc EXHUMED_CRC size 27108170 defname "exhumed.def" gamefilter "Exhumed.Exhumed" } grpinfo { name "Powerslave Demo" flags GAMEFLAG_POWERSLAVE|GAMEFLAG_SHAREWARE crc POWERSLAVE_DEMO_CRC size 27020745 defname "exhumed.def" gamefilter "Exhumed.Powerslave" } // { "Exhumed Demo", EXHUMED_DEMO_CRC, 16481687, GAMEFLAG_EXHUMED | GAMEFLAG_DEMO, 0 },