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
	RRDEER_CRC 0xA6BE8B16

	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"
}

// 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"
}

grpinfo
{
	name "Duke: Nuclear Winter"
	scriptname "NWINTER.CON"
	size 16169365
	crc DUKENW_CRC
	flags GAMEFLAG_DUKE|GAMEFLAG_ADDON
	dependency DUKE15_CRC
	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
	dependency 0
	gamefilter "Redneck.RidesAgain"
}

grpinfo
{
	name "Redneck Deer Huntin'"
	size 58061576
	crc RRDEER_CRC
	defname "rrdeer.def"
	flags GAMEFLAG_DEER
	dependency 0
	gamefilter "Redneck.Deer"
}

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 },
