diff --git a/.circleci/config.yml b/.circleci/config.yml index 67a3b66b7..711be39d7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -21,6 +21,7 @@ jobs: # CCACHE_COMPRESS: true # WFLAGS: -Wno-unsuffixed-float-constants # GCC48: true + resource_class: large steps: - run: name: Add i386 arch @@ -32,6 +33,12 @@ jobs: apt-get -qq -y install dirmngr apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0B1702D71499D9C25F986507F240F4449D3B0EC6 echo "deb http://ppa.launchpad.net/stjr/srb2/ubuntu trusty main" >> /etc/apt/sources.list + - run: + name: Make APT cache folder + command: mkdir -p /root/.cache/apt/archives/partial + - run: + name: Make APT cache usage by _apt + command: chown -Rv _apt:root /root/.cache/apt/archives/partial - run: name: Update APT listing command: apt-get -qq update @@ -43,32 +50,37 @@ jobs: - v1-SRB2-APT - run: name: Install SDK - command: apt-get -qq -y --no-install-recommends install git build-essential nasm libpng-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 libcurl4-openssl-dev:i386 libopenmpt-dev:i386 gettext ccache wget gcc-multilib upx openssh-client - + command: apt-get -o Dir::Cache="/root/.cache/apt" -qq -y --no-install-recommends install git build-essential nasm libpng-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 libcurl4-openssl-dev:i386 libopenmpt-dev:i386 gettext ccache wget gcc-multilib upx openssh-client + - run: + name: make md5sum + command: find /root/.cache/apt/archives -type f -print0 | sort -z | xargs -r0 md5sum > /root/.cache/apt_archives.md5 - save_cache: - key: v1-SRB2-APT + key: v1-SRB2-APT-{{ checksum "/root/.cache/apt_archives.md5" }} paths: - - /var/cache/apt/archives + - /root/.cache/apt - checkout - run: name: Compile without network support - command: make -C src LINUX=1 ERRORMODE=1 -k NONET=1 + command: make -C src LINUX=1 ERRORMODE=1 -k NONET=1 -j4 - run: name: wipe build command: make -C src LINUX=1 cleandep - run: name: rebuild depend command: make -C src LINUX=1 clean + - run: + name: make master depend file + command: find make/linux/SDL/deps/ -type f -print0 | sort -z | xargs -r0 cat > make/linux/SDL.deps - restore_cache: keys: - - v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }} + - v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }} - run: name: Compile - command: make -C src LINUX=1 ERRORMODE=1 -k + command: make -C src LINUX=1 ERRORMODE=1 -k -j4 - store_artifacts: - path: /root/SRB2/bin/Linux/Release/ + path: /root/SRB2/bin/ destination: bin - save_cache: - key: v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }} + key: v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }} paths: - /root/.ccache diff --git a/.gitignore b/.gitignore index 3eca1c57a..cd828dc11 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ Win32_LIB_ASM_Release /make /bin /build +/build.* diff --git a/src/b_bot.c b/src/b_bot.c index f1df5abbd..6c1495c72 100644 --- a/src/b_bot.c +++ b/src/b_bot.c @@ -30,7 +30,7 @@ void B_UpdateBotleader(player_t *player) { if (players[i].bot || players[i].playerstate != PST_LIVE || players[i].spectator || !players[i].mo) continue; - + if (!player->botleader) { player->botleader = &players[i]; // set default @@ -85,7 +85,7 @@ static void B_BuildTailsTiccmd(mobj_t *sonic, mobj_t *tails, ticcmd_t *cmd) boolean stalled = (bmom < scale >> 1) && dist > followthres; // Helps to see if the AI is having trouble catching up boolean samepos = (sonic->x == tails->x && sonic->y == tails->y); boolean blocked = bot->blocked; - + if (!samepos) ang = R_PointToAngle2(tails->x, tails->y, sonic->x, sonic->y); @@ -448,10 +448,10 @@ void B_KeysToTiccmd(mobj_t *mo, ticcmd_t *cmd, boolean forward, boolean backward cmd->forwardmove += MAXPLMOVE<>16; if (backward) cmd->forwardmove -= MAXPLMOVE<>16; - if (left) + if (left) cmd->angleturn += 1280; if (right) - cmd->angleturn -= 1280; + cmd->angleturn -= 1280; if (strafeleft) cmd->sidemove -= MAXPLMOVE<>16; if (straferight) @@ -486,7 +486,7 @@ boolean B_CheckRespawn(player_t *player) //We don't have a main player to spawn to! if (!player->botleader) return false; - + sonic = player->botleader->mo; // We can't follow Sonic if he's not around! if (!sonic || sonic->health <= 0) diff --git a/src/blua/liolib.c b/src/blua/liolib.c index 5eec97fb4..e029650c0 100644 --- a/src/blua/liolib.c +++ b/src/blua/liolib.c @@ -641,4 +641,3 @@ LUALIB_API int luaopen_io (lua_State *L) { lua_pop(L, 1); /* pop environment for default files */ return 1; } - diff --git a/src/d_player.h b/src/d_player.h index 1067c8681..42e9c3a82 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -345,7 +345,7 @@ typedef struct botmem_s { boolean lastForward; boolean lastBlocked; - boolean blocked; + boolean blocked; UINT8 catchup_tics; UINT8 thinkstate; } botmem_t; @@ -568,7 +568,7 @@ typedef struct player_s UINT16 lastbuttons; botmem_t botmem; boolean blocked; - + tic_t jointime; // Timer when player joins game to change skin/color tic_t quittime; // Time elapsed since user disconnected, zero if connected #ifdef HWRENDER diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 44483e196..aa2f03f6f 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -3212,7 +3212,7 @@ static void HWR_Subsector(size_t num) *rover->topheight, *gl_frontsector->lightlist[light].lightlevel, rover->alpha-1 > 255 ? 255 : rover->alpha-1, rover->master->frontsector, - HWR_RippleBlend(gl_frontsector, rover, false) | (rover->blend ? HWR_GetBlendModeFlag(rover->blend) : PF_Translucent), + HWR_RippleBlend(gl_frontsector, rover, false) | (rover->blend ? HWR_GetBlendModeFlag(rover->blend) : PF_Translucent), false, *gl_frontsector->lightlist[light].extra_colormap); } else diff --git a/src/p_saveg.c b/src/p_saveg.c index c5195a17a..ce7353b95 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -203,7 +203,7 @@ static void P_NetArchivePlayers(void) WRITEUINT8(save_p, players[i].botmem.catchup_tics); WRITEUINT8(save_p, players[i].botmem.thinkstate); WRITEUINT8(save_p, players[i].removing); - + WRITEUINT8(save_p, players[i].blocked); WRITEUINT16(save_p, players[i].lastbuttons); @@ -425,7 +425,7 @@ static void P_NetUnArchivePlayers(void) // Bots // ////////// players[i].bot = READUINT8(save_p); - + players[i].botmem.lastForward = READUINT8(save_p); players[i].botmem.lastBlocked = READUINT8(save_p); players[i].botmem.catchup_tics = READUINT8(save_p); @@ -434,7 +434,7 @@ static void P_NetUnArchivePlayers(void) players[i].blocked = READUINT8(save_p); players[i].lastbuttons = READUINT16(save_p); - + //////////////////////////// // Conveyor Belt Movement // //////////////////////////// diff --git a/src/p_setup.c b/src/p_setup.c index 90538de0b..28bfa65a5 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -1273,7 +1273,7 @@ static void P_LoadSidedefs(UINT8 *data) sd->midtexture = get_number(process); } - sd->text = Z_Malloc(7, PU_LEVEL, NULL); + sd->text = Z_Malloc(7, PU_LEVEL, NULL); if (isfrontside && !(msd->toptexture[0] == '-' && msd->toptexture[1] == '\0')) { M_Memcpy(process,msd->toptexture,8); diff --git a/src/p_user.c b/src/p_user.c index 49f214941..87809255d 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -1,3 +1,4 @@ + // SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- // Copyright (C) 1993-1996 by id Software, Inc. @@ -1514,8 +1515,8 @@ void P_PlayJingle(player_t *player, jingletype_t jingletype) char newmusic[7]; strncpy(newmusic, musname, 7); #ifdef HAVE_LUA_MUSICPLUS - if(LUAh_MusicJingle(jingletype, newmusic, &musflags, &looping)) - return; + if(LUAh_MusicJingle(jingletype, newmusic, &musflags, &looping)) + return; #endif newmusic[6] = 0; @@ -1605,7 +1606,7 @@ boolean P_EvaluateMusicStatus(UINT16 status, const char *musname) if (result) break; - } + } return result; } @@ -1662,8 +1663,8 @@ void P_RestoreMusic(player_t *player) else if (!S_RecallMusic(JT_NONE, false)) // go down the stack { CONS_Debug(DBG_BASIC, "Cannot find any music in resume stack!\n"); - S_ChangeMusicEx(mapmusname, mapmusflags, true, mapmusposition, 0, 0); - } + S_ChangeMusicEx(mapmusname, mapmusflags, true, mapmusposition, 0, 0); + } } // diff --git a/src/r_skins.c b/src/r_skins.c index cd53128d2..92fd6cfae 100644 --- a/src/r_skins.c +++ b/src/r_skins.c @@ -236,7 +236,7 @@ boolean R_SkinUsable(INT32 playernum, INT32 skinnum) // Force 2. return true; } - + if (metalrecording && skinnum == 5) { // Force 3. diff --git a/src/s_sound.c b/src/s_sound.c index 752eb275a..f28a77a80 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -2259,9 +2259,9 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 return; newmusic[6] = 0; - // No Music (empty string) + // No Music (empty string) if (newmusic[0] == 0) - { + { if (prefadems) I_FadeSong(0, prefadems, &S_StopMusic); else @@ -2279,7 +2279,7 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 } else if (strnicmp(music_name, newmusic, 6) || (mflags & MUSIC_FORCERESET) || (midipref != currentmidi && S_PrefAvailable(midipref, newmusic))) - { + { CONS_Debug(DBG_DETAILED, "Now playing song %s\n", newmusic); S_StopMusic(); @@ -2302,7 +2302,7 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 { I_SetSongPosition(position); I_FadeSong(100, fadeinms, NULL); - } +} else // reset volume to 100 with same music { I_StopFadingSong(); diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index 9cec2a552..6e971a5d8 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -1,3 +1,4 @@ + // Emacs style mode select -*- C++ -*- // SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- @@ -1068,7 +1069,7 @@ void I_GetEvent(void) // update the menu if (currentMenu == &OP_JoystickSetDef) M_SetupJoystickMenu(0); - break; + break; case SDL_QUIT: LUA_HookBool(true, HOOK(GameQuit)); I_Quit(); diff --git a/tools/masterserver/structure.sql b/tools/masterserver/structure.sql index 013c22383..d431419aa 100644 --- a/tools/masterserver/structure.sql +++ b/tools/masterserver/structure.sql @@ -90,7 +90,7 @@ CREATE TABLE `ms_versions` ( `mod_vstring` varchar(45) NOT NULL DEFAULT 'v1.0', `mod_codebase` int(10) unsigned NOT NULL DEFAULT 205, `mod_name` varchar(255) NOT NULL DEFAULT 'Default MOD Name', - `mod_url` text NOT NULL + `mod_url` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- @@ -118,4 +118,4 @@ COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; \ No newline at end of file +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;