--- a/Game/src/duke3d.h +++ b/Game/src/duke3d.h @@ -68,7 +68,7 @@ #define CHOCOLATE_DUKE_REV_X 1 #define CHOCOLATE_DUKE_REV_DOT_Y 0 // rev is: CHOCOLATE_DUKE_REV_X.CHOCOLATE_DUKE_REV_DOT_Y -#define MAX_KNOWN_GRP 4 +#define MAX_KNOWN_GRP 5 enum { @@ -82,13 +82,14 @@ #define CRC_BASE_GRP_SHAREWARE_13 0x983AD923 #define CRC_BASE_GRP_FULL_13 0xBBC9CE44 #define CRC_BASE_GRP_PLUTONIUM_14 0xF514A6AC -#define CRC_BASE_GRP_ATOMIC_15 0xFD3DCFF1 +#define CRC_BASE_GRP_ATOMIC_15 0xFD3DCFF1 +#define CRC_BASE_GRP_WORLD_TOUR 0x982AFE4A // implies conVersion == 14 or conVersion == 15 #define PLUTOPAK (!VOLUMEONE && !VOLUMEALL) #define VOLUMEONE (getGRPcrc32(0)==CRC_BASE_GRP_SHAREWARE_13) // VOLUMEALL = 1.3d full -#define VOLUMEALL (getGRPcrc32(0)==CRC_BASE_GRP_FULL_13 || (conVersion == 13 && getGRPcrc32(0)!=CRC_BASE_GRP_SHAREWARE_13 && getGRPcrc32(0)!=CRC_BASE_GRP_PLUTONIUM_14 && getGRPcrc32(0)!=CRC_BASE_GRP_ATOMIC_15)) +#define VOLUMEALL (getGRPcrc32(0)==CRC_BASE_GRP_FULL_13 || (conVersion == 13 && getGRPcrc32(0)!=CRC_BASE_GRP_SHAREWARE_13 && getGRPcrc32(0)!=CRC_BASE_GRP_PLUTONIUM_14 && getGRPcrc32(0)!=CRC_BASE_GRP_ATOMIC_15 && getGRPcrc32(0)!=CRC_BASE_GRP_WORLD_TOUR)) #define SCREENSHOTPATH "screenshots" --- a/Game/src/global.c +++ b/Game/src/global.c @@ -53,6 +53,7 @@ { CRC_BASE_GRP_FULL_13, "FULL 1.3D ", 26524524 }, { CRC_BASE_GRP_PLUTONIUM_14, "PLUTONIUM 1.4 ", 44348015 }, { CRC_BASE_GRP_ATOMIC_15, "ATOMIC 1.5 ", 44356548 }, + { CRC_BASE_GRP_WORLD_TOUR, "WORLD TOUR ", 44356548 }, // unknown: { 0, "HACK/UNKNOWN ", 0} }; --- a/Game/src/game.c +++ b/Game/src/game.c @@ -8169,7 +8169,8 @@ if ( groupefil_crc32[0]==CRC_BASE_GRP_SHAREWARE_13 || groupefil_crc32[0]==CRC_BASE_GRP_FULL_13 || groupefil_crc32[0]==CRC_BASE_GRP_PLUTONIUM_14 || - groupefil_crc32[0]==CRC_BASE_GRP_ATOMIC_15 ) + groupefil_crc32[0]==CRC_BASE_GRP_ATOMIC_15 || + groupefil_crc32[0]==CRC_BASE_GRP_WORLD_TOUR ) { printf("GRP identified as: %s\n", grpVersion2char_from_crc(groupefil_crc32[0])); } --- a/Game/src/gamedef.c +++ b/Game/src/gamedef.c @@ -1667,7 +1667,8 @@ loadefs(filenam, mptr, 1); // force GRP con files } } - else if(conVersion != 15 && getGRPcrc32(0)==CRC_BASE_GRP_ATOMIC_15 && !getGRPcrc32(1)) + else if(conVersion != 15 && (getGRPcrc32(0)==CRC_BASE_GRP_ATOMIC_15 || + getGRPcrc32(0)==CRC_BASE_GRP_WORLD_TOUR) && !getGRPcrc32(1)) { printf( "\nYou are trying to use a v1.5 ATOMIC *.GRP with v1.4 or v1.3\n" "external *.CON files. You may run in troubles by doing so and/or get\n"