Merge branch '2.2.1-prep' into 'next'

2.2.1 preparation

See merge request STJr/SRB2!759
This commit is contained in:
MascaraSnake 2020-02-11 17:37:23 -05:00
commit 8c932e4a6d
7 changed files with 53 additions and 47 deletions

View file

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0)
# DO NOT CHANGE THIS SRB2 STRING! Some variable names depend on this string. # DO NOT CHANGE THIS SRB2 STRING! Some variable names depend on this string.
# Version change is fine. # Version change is fine.
project(SRB2 project(SRB2
VERSION 2.2.0 VERSION 2.2.1
LANGUAGES C) LANGUAGES C)
if(${PROJECT_SOURCE_DIR} MATCHES ${PROJECT_BINARY_DIR}) if(${PROJECT_SOURCE_DIR} MATCHES ${PROJECT_BINARY_DIR})

View file

@ -1,4 +1,4 @@
version: 2.2.0.{branch}-{build} version: 2.2.1.{branch}-{build}
os: MinGW os: MinGW
environment: environment:

View file

@ -26,12 +26,12 @@
#else #else
/* Manually defined asset hashes for non-CMake builds /* Manually defined asset hashes for non-CMake builds
* Last updated 2019 / 12 / 06 - v2.2.0 - main assets * Last updated 2020 / 02 / 09 - v2.2.1 - main assets
* Last updated 20?? / ?? / ?? - v2.2.? - patch.pk3 * Last updated 20?? / ?? / ?? - v2.2.? - patch.pk3
*/ */
#define ASSET_HASH_SRB2_PK3 "51419a33b4982d840c6772c159ba7c0a" #define ASSET_HASH_SRB2_PK3 "0277c9416756627004e83cbb5b2e3e28"
#define ASSET_HASH_ZONES_PK3 "df74843919fd51af26a0baa8e21e4c19" #define ASSET_HASH_ZONES_PK3 "89627822f5a5c7fb022d836b138144b2"
#define ASSET_HASH_PLAYER_DTA "56a247e074dd0dc794b6617efef1e918" #define ASSET_HASH_PLAYER_DTA "129fa7d4b273a4b3dcacaa44eccead4f"
#ifdef USE_PATCH_DTA #ifdef USE_PATCH_DTA
#define ASSET_HASH_PATCH_PK3 "there is no patch.pk3, only zuul" #define ASSET_HASH_PATCH_PK3 "there is no patch.pk3, only zuul"
#endif #endif

View file

@ -1213,7 +1213,7 @@ void D_SRB2Main(void)
#endif #endif
D_CleanFile(); D_CleanFile();
#ifndef DEVELOP // md5s last updated 06/12/19 (ddmmyy) #ifndef DEVELOP // md5s last updated 09/02/20 (ddmmyy)
// Check MD5s of autoloaded files // Check MD5s of autoloaded files
W_VerifyFileMD5(0, ASSET_HASH_SRB2_PK3); // srb2.pk3 W_VerifyFileMD5(0, ASSET_HASH_SRB2_PK3); // srb2.pk3

View file

@ -4945,19 +4945,19 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_PLAY_SUPER_TRANS3", "S_PLAY_SUPER_TRANS3",
"S_PLAY_SUPER_TRANS4", "S_PLAY_SUPER_TRANS4",
"S_PLAY_SUPER_TRANS5", "S_PLAY_SUPER_TRANS5",
"S_PLAY_SUPER_TRANS6", // This has special significance in the code. If you add more frames, search for it and make the appropriate changes. "S_PLAY_SUPER_TRANS6",
// technically the player goes here but it's an infinite tic state // technically the player goes here but it's an infinite tic state
"S_OBJPLACE_DUMMY", "S_OBJPLACE_DUMMY",
// 1-Up Box Sprites (uses player sprite) // 1-Up Box Sprites overlay (uses player sprite)
"S_PLAY_BOX1", "S_PLAY_BOX1",
"S_PLAY_BOX2", "S_PLAY_BOX2",
"S_PLAY_ICON1", "S_PLAY_ICON1",
"S_PLAY_ICON2", "S_PLAY_ICON2",
"S_PLAY_ICON3", "S_PLAY_ICON3",
// Level end sign (uses player sprite) // Level end sign overlay (uses player sprite)
"S_PLAY_SIGN", "S_PLAY_SIGN",
// NiGHTS character (uses player sprite) // NiGHTS character (uses player sprite)
@ -5205,7 +5205,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_ROBOHOOD_JUMP2", "S_ROBOHOOD_JUMP2",
"S_ROBOHOOD_JUMP3", "S_ROBOHOOD_JUMP3",
// CastleBot FaceStabber // Castlebot Facestabber
"S_FACESTABBER_STND1", "S_FACESTABBER_STND1",
"S_FACESTABBER_STND2", "S_FACESTABBER_STND2",
"S_FACESTABBER_STND3", "S_FACESTABBER_STND3",
@ -5425,6 +5425,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_EGGMOBILE_FLEE2", "S_EGGMOBILE_FLEE2",
"S_EGGMOBILE_BALL", "S_EGGMOBILE_BALL",
"S_EGGMOBILE_TARGET", "S_EGGMOBILE_TARGET",
"S_BOSSEGLZ1", "S_BOSSEGLZ1",
"S_BOSSEGLZ2", "S_BOSSEGLZ2",
@ -5477,7 +5478,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_EGGMOBILE3_FLEE1", "S_EGGMOBILE3_FLEE1",
"S_EGGMOBILE3_FLEE2", "S_EGGMOBILE3_FLEE2",
// Boss 3 pinch // Boss 3 Pinch
"S_FAKEMOBILE_INIT", "S_FAKEMOBILE_INIT",
"S_FAKEMOBILE", "S_FAKEMOBILE",
"S_FAKEMOBILE_ATK1", "S_FAKEMOBILE_ATK1",
@ -5493,7 +5494,6 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_BOSSSEBH2", "S_BOSSSEBH2",
// Boss 3 Shockwave // Boss 3 Shockwave
"S_SHOCKWAVE1", "S_SHOCKWAVE1",
"S_SHOCKWAVE2", "S_SHOCKWAVE2",
@ -5530,9 +5530,9 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_JETFLAME", "S_JETFLAME",
// Boss 4 Spectator Eggrobo // Boss 4 Spectator Eggrobo
"S_EGGROBO1_IDLE", "S_EGGROBO1_STND",
"S_EGGROBO1_BSLAP1", "S_EGGROBO1_BSLAP1",
"S_EGGROBO2_BSLAP2", "S_EGGROBO1_BSLAP2",
"S_EGGROBO1_PISSED", "S_EGGROBO1_PISSED",
// Boss 4 Spectator Eggrobo jet flame // Boss 4 Spectator Eggrobo jet flame
@ -5776,7 +5776,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_CYBRAKDEMON_NAPALM_ATTACK1", "S_CYBRAKDEMON_NAPALM_ATTACK1",
"S_CYBRAKDEMON_NAPALM_ATTACK2", "S_CYBRAKDEMON_NAPALM_ATTACK2",
"S_CYBRAKDEMON_NAPALM_ATTACK3", "S_CYBRAKDEMON_NAPALM_ATTACK3",
"S_CYBRAKDEMON_FINISH_ATTACK", // If just attacked, remove MF2_FRET w/out going back to spawnstate "S_CYBRAKDEMON_FINISH_ATTACK1", // If just attacked, remove MF2_FRET w/out going back to spawnstate
"S_CYBRAKDEMON_FINISH_ATTACK2", // Force a delay between attacks so you don't get bombarded with them back-to-back "S_CYBRAKDEMON_FINISH_ATTACK2", // Force a delay between attacks so you don't get bombarded with them back-to-back
"S_CYBRAKDEMON_PAIN1", "S_CYBRAKDEMON_PAIN1",
"S_CYBRAKDEMON_PAIN2", "S_CYBRAKDEMON_PAIN2",
@ -6470,7 +6470,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_LITTLETUMBLEWEED_ROLL7", "S_LITTLETUMBLEWEED_ROLL7",
"S_LITTLETUMBLEWEED_ROLL8", "S_LITTLETUMBLEWEED_ROLL8",
// Cacti Sprites // Cacti
"S_CACTI1", "S_CACTI1",
"S_CACTI2", "S_CACTI2",
"S_CACTI3", "S_CACTI3",
@ -6485,7 +6485,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_CACTITINYSEG", "S_CACTITINYSEG",
"S_CACTISMALLSEG", "S_CACTISMALLSEG",
// Warning signs sprites // Warning signs
"S_ARIDSIGN_CAUTION", "S_ARIDSIGN_CAUTION",
"S_ARIDSIGN_CACTI", "S_ARIDSIGN_CACTI",
"S_ARIDSIGN_SHARPTURN", "S_ARIDSIGN_SHARPTURN",
@ -6502,6 +6502,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_TNTBARREL_EXPL4", "S_TNTBARREL_EXPL4",
"S_TNTBARREL_EXPL5", "S_TNTBARREL_EXPL5",
"S_TNTBARREL_EXPL6", "S_TNTBARREL_EXPL6",
"S_TNTBARREL_EXPL7",
"S_TNTBARREL_FLYING", "S_TNTBARREL_FLYING",
// TNT proximity shell // TNT proximity shell
@ -7047,7 +7048,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_ZAPSB10", "S_ZAPSB10",
"S_ZAPSB11", // blank frame "S_ZAPSB11", // blank frame
// Thunder spark //Thunder spark
"S_THUNDERCOIN_SPARK", "S_THUNDERCOIN_SPARK",
// Invincibility Sparkles // Invincibility Sparkles
@ -7348,6 +7349,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_BHORIZ7", "S_BHORIZ7",
"S_BHORIZ8", "S_BHORIZ8",
// Booster
"S_BOOSTERSOUND", "S_BOOSTERSOUND",
"S_YELLOWBOOSTERROLLER", "S_YELLOWBOOSTERROLLER",
"S_YELLOWBOOSTERSEG_LEFT", "S_YELLOWBOOSTERSEG_LEFT",
@ -7378,7 +7380,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_SPLISH8", "S_SPLISH8",
"S_SPLISH9", "S_SPLISH9",
// Lava splish // Lava Splish
"S_LAVASPLISH", "S_LAVASPLISH",
// added water splash // added water splash
@ -7974,6 +7976,8 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_ROCKCRUMBLEN", "S_ROCKCRUMBLEN",
"S_ROCKCRUMBLEO", "S_ROCKCRUMBLEO",
"S_ROCKCRUMBLEP", "S_ROCKCRUMBLEP",
// Level debris
"S_GFZDEBRIS", "S_GFZDEBRIS",
"S_BRICKDEBRIS", "S_BRICKDEBRIS",
"S_WOODDEBRIS", "S_WOODDEBRIS",
@ -7993,7 +7997,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
"MT_THOK", // Thok! mobj "MT_THOK", // Thok! mobj
"MT_PLAYER", "MT_PLAYER",
"MT_TAILSOVERLAY", // c: "MT_TAILSOVERLAY", // c:
"MT_METALJETFUME", // [: "MT_METALJETFUME",
// Enemies // Enemies
"MT_BLUECRAWLA", // Crawla (Blue) "MT_BLUECRAWLA", // Crawla (Blue)
@ -8110,7 +8114,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
"MT_CYBRAKDEMON_NAPALM_FLAMES", "MT_CYBRAKDEMON_NAPALM_FLAMES",
"MT_CYBRAKDEMON_VILE_EXPLOSION", "MT_CYBRAKDEMON_VILE_EXPLOSION",
// Metal Sonic // Metal Sonic (Boss 9)
"MT_METALSONIC_RACE", "MT_METALSONIC_RACE",
"MT_METALSONIC_BATTLE", "MT_METALSONIC_BATTLE",
"MT_MSSHIELD_FRONT", "MT_MSSHIELD_FRONT",
@ -8124,7 +8128,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
"MT_BOMBSPHERE", "MT_BOMBSPHERE",
"MT_REDTEAMRING", //Rings collectable by red team. "MT_REDTEAMRING", //Rings collectable by red team.
"MT_BLUETEAMRING", //Rings collectable by blue team. "MT_BLUETEAMRING", //Rings collectable by blue team.
"MT_TOKEN", // Special Stage Token "MT_TOKEN", // Special Stage token for special stage
"MT_REDFLAG", // Red CTF Flag "MT_REDFLAG", // Red CTF Flag
"MT_BLUEFLAG", // Blue CTF Flag "MT_BLUEFLAG", // Blue CTF Flag
"MT_EMBLEM", "MT_EMBLEM",
@ -8350,22 +8354,22 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
// Arid Canyon Scenery // Arid Canyon Scenery
"MT_BIGTUMBLEWEED", "MT_BIGTUMBLEWEED",
"MT_LITTLETUMBLEWEED", "MT_LITTLETUMBLEWEED",
"MT_CACTI1", "MT_CACTI1", // Tiny Red Flower Cactus
"MT_CACTI2", "MT_CACTI2", // Small Red Flower Cactus
"MT_CACTI3", "MT_CACTI3", // Tiny Blue Flower Cactus
"MT_CACTI4", "MT_CACTI4", // Small Blue Flower Cactus
"MT_CACTI5", "MT_CACTI5", // Prickly Pear
"MT_CACTI6", "MT_CACTI6", // Barrel Cactus
"MT_CACTI7", "MT_CACTI7", // Tall Barrel Cactus
"MT_CACTI8", "MT_CACTI8", // Armed Cactus
"MT_CACTI9", "MT_CACTI9", // Ball Cactus
"MT_CACTI10", "MT_CACTI10", // Tiny Cactus
"MT_CACTI11", "MT_CACTI11", // Small Cactus
"MT_CACTITINYSEG", "MT_CACTITINYSEG", // Tiny Cactus Segment
"MT_CACTISMALLSEG", "MT_CACTISMALLSEG", // Small Cactus Segment
"MT_ARIDSIGN_CAUTION", "MT_ARIDSIGN_CAUTION", // Caution Sign
"MT_ARIDSIGN_CACTI", "MT_ARIDSIGN_CACTI", // Cacti Sign
"MT_ARIDSIGN_SHARPTURN", "MT_ARIDSIGN_SHARPTURN", // Sharp Turn Sign
"MT_OILLAMP", "MT_OILLAMP",
"MT_TNTBARREL", "MT_TNTBARREL",
"MT_PROXIMITYTNT", "MT_PROXIMITYTNT",
@ -8420,7 +8424,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
"MT_GLAREGOYLEUP", "MT_GLAREGOYLEUP",
"MT_GLAREGOYLEDOWN", "MT_GLAREGOYLEDOWN",
"MT_GLAREGOYLELONG", "MT_GLAREGOYLELONG",
"MT_TARGET", "MT_TARGET", // AKA Red Crystal
"MT_GREENFLAME", "MT_GREENFLAME",
"MT_BLUEGARGOYLE", "MT_BLUEGARGOYLE",
@ -8471,7 +8475,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
"MT_HHZSTALAGMITE_TALL", "MT_HHZSTALAGMITE_TALL",
"MT_HHZSTALAGMITE_SHORT", "MT_HHZSTALAGMITE_SHORT",
// Botanic Serenity // Botanic Serenity scenery
"MT_BSZTALLFLOWER_RED", "MT_BSZTALLFLOWER_RED",
"MT_BSZTALLFLOWER_PURPLE", "MT_BSZTALLFLOWER_PURPLE",
"MT_BSZTALLFLOWER_BLUE", "MT_BSZTALLFLOWER_BLUE",
@ -8751,6 +8755,8 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
"MT_ROCKCRUMBLE14", "MT_ROCKCRUMBLE14",
"MT_ROCKCRUMBLE15", "MT_ROCKCRUMBLE15",
"MT_ROCKCRUMBLE16", "MT_ROCKCRUMBLE16",
// Level debris
"MT_GFZDEBRIS", "MT_GFZDEBRIS",
"MT_BRICKDEBRIS", "MT_BRICKDEBRIS",
"MT_WOODDEBRIS", "MT_WOODDEBRIS",

View file

@ -143,9 +143,9 @@ extern char logfilename[1024];
// we use comprevision and compbranch instead. // we use comprevision and compbranch instead.
#else #else
#define VERSION 202 // Game version #define VERSION 202 // Game version
#define SUBVERSION 0 // more precise version number #define SUBVERSION 1 // more precise version number
#define VERSIONSTRING "v2.2.0" #define VERSIONSTRING "v2.2.1"
#define VERSIONSTRINGW L"v2.2.0" #define VERSIONSTRINGW L"v2.2.1"
// Hey! If you change this, add 1 to the MODVERSION below! // Hey! If you change this, add 1 to the MODVERSION below!
// Otherwise we can't force updates! // Otherwise we can't force updates!
#endif #endif
@ -210,7 +210,7 @@ extern char logfilename[1024];
// it's only for detection of the version the player is using so the MS can alert them of an update. // it's only for detection of the version the player is using so the MS can alert them of an update.
// Only set it higher, not lower, obviously. // Only set it higher, not lower, obviously.
// Note that we use this to help keep internal testing in check; this is why v2.2.0 is not version "1". // Note that we use this to help keep internal testing in check; this is why v2.2.0 is not version "1".
#define MODVERSION 40 #define MODVERSION 41
// To version config.cfg, MAJOREXECVERSION is set equal to MODVERSION automatically. // To version config.cfg, MAJOREXECVERSION is set equal to MODVERSION automatically.
// Increment MINOREXECVERSION whenever a config change is needed that does not correspond // Increment MINOREXECVERSION whenever a config change is needed that does not correspond

View file

@ -1219,7 +1219,7 @@
C01FCF4B08A954540054247B /* Debug */ = { C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CURRENT_PROJECT_VERSION = 2.2.0; CURRENT_PROJECT_VERSION = 2.2.1;
GCC_PREPROCESSOR_DEFINITIONS = ( GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)", "$(inherited)",
NORMALSRB2, NORMALSRB2,
@ -1231,7 +1231,7 @@
C01FCF4C08A954540054247B /* Release */ = { C01FCF4C08A954540054247B /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CURRENT_PROJECT_VERSION = 2.2.0; CURRENT_PROJECT_VERSION = 2.2.1;
GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_PREPROCESSOR_DEFINITIONS = ( GCC_PREPROCESSOR_DEFINITIONS = (