mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-21 20:11:12 +00:00
Merge branch 'master' into next
This commit is contained in:
commit
f5e1d9722f
13 changed files with 49 additions and 35 deletions
|
@ -21,6 +21,7 @@ jobs:
|
||||||
# CCACHE_COMPRESS: true
|
# CCACHE_COMPRESS: true
|
||||||
# WFLAGS: -Wno-unsuffixed-float-constants
|
# WFLAGS: -Wno-unsuffixed-float-constants
|
||||||
# GCC48: true
|
# GCC48: true
|
||||||
|
resource_class: large
|
||||||
steps:
|
steps:
|
||||||
- run:
|
- run:
|
||||||
name: Add i386 arch
|
name: Add i386 arch
|
||||||
|
@ -32,6 +33,12 @@ jobs:
|
||||||
apt-get -qq -y install dirmngr
|
apt-get -qq -y install dirmngr
|
||||||
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0B1702D71499D9C25F986507F240F4449D3B0EC6
|
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
|
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:
|
- run:
|
||||||
name: Update APT listing
|
name: Update APT listing
|
||||||
command: apt-get -qq update
|
command: apt-get -qq update
|
||||||
|
@ -43,32 +50,37 @@ jobs:
|
||||||
- v1-SRB2-APT
|
- v1-SRB2-APT
|
||||||
- run:
|
- run:
|
||||||
name: Install SDK
|
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:
|
- save_cache:
|
||||||
key: v1-SRB2-APT
|
key: v1-SRB2-APT-{{ checksum "/root/.cache/apt_archives.md5" }}
|
||||||
paths:
|
paths:
|
||||||
- /var/cache/apt/archives
|
- /root/.cache/apt
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
name: Compile without network support
|
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:
|
- run:
|
||||||
name: wipe build
|
name: wipe build
|
||||||
command: make -C src LINUX=1 cleandep
|
command: make -C src LINUX=1 cleandep
|
||||||
- run:
|
- run:
|
||||||
name: rebuild depend
|
name: rebuild depend
|
||||||
command: make -C src LINUX=1 clean
|
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:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }}
|
- v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }}
|
||||||
- run:
|
- run:
|
||||||
name: Compile
|
name: Compile
|
||||||
command: make -C src LINUX=1 ERRORMODE=1 -k
|
command: make -C src LINUX=1 ERRORMODE=1 -k -j4
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: /root/SRB2/bin/Linux/Release/
|
path: /root/SRB2/bin/
|
||||||
destination: bin
|
destination: bin
|
||||||
- save_cache:
|
- save_cache:
|
||||||
key: v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }}
|
key: v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }}
|
||||||
paths:
|
paths:
|
||||||
- /root/.ccache
|
- /root/.ccache
|
||||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -22,3 +22,4 @@ Win32_LIB_ASM_Release
|
||||||
/make
|
/make
|
||||||
/bin
|
/bin
|
||||||
/build
|
/build
|
||||||
|
/build.*
|
||||||
|
|
10
src/b_bot.c
10
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)
|
if (players[i].bot || players[i].playerstate != PST_LIVE || players[i].spectator || !players[i].mo)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!player->botleader)
|
if (!player->botleader)
|
||||||
{
|
{
|
||||||
player->botleader = &players[i]; // set default
|
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 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 samepos = (sonic->x == tails->x && sonic->y == tails->y);
|
||||||
boolean blocked = bot->blocked;
|
boolean blocked = bot->blocked;
|
||||||
|
|
||||||
if (!samepos)
|
if (!samepos)
|
||||||
ang = R_PointToAngle2(tails->x, tails->y, sonic->x, sonic->y);
|
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<<FRACBITS>>16;
|
cmd->forwardmove += MAXPLMOVE<<FRACBITS>>16;
|
||||||
if (backward)
|
if (backward)
|
||||||
cmd->forwardmove -= MAXPLMOVE<<FRACBITS>>16;
|
cmd->forwardmove -= MAXPLMOVE<<FRACBITS>>16;
|
||||||
if (left)
|
if (left)
|
||||||
cmd->angleturn += 1280;
|
cmd->angleturn += 1280;
|
||||||
if (right)
|
if (right)
|
||||||
cmd->angleturn -= 1280;
|
cmd->angleturn -= 1280;
|
||||||
if (strafeleft)
|
if (strafeleft)
|
||||||
cmd->sidemove -= MAXPLMOVE<<FRACBITS>>16;
|
cmd->sidemove -= MAXPLMOVE<<FRACBITS>>16;
|
||||||
if (straferight)
|
if (straferight)
|
||||||
|
@ -486,7 +486,7 @@ boolean B_CheckRespawn(player_t *player)
|
||||||
//We don't have a main player to spawn to!
|
//We don't have a main player to spawn to!
|
||||||
if (!player->botleader)
|
if (!player->botleader)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
sonic = player->botleader->mo;
|
sonic = player->botleader->mo;
|
||||||
// We can't follow Sonic if he's not around!
|
// We can't follow Sonic if he's not around!
|
||||||
if (!sonic || sonic->health <= 0)
|
if (!sonic || sonic->health <= 0)
|
||||||
|
|
|
@ -641,4 +641,3 @@ LUALIB_API int luaopen_io (lua_State *L) {
|
||||||
lua_pop(L, 1); /* pop environment for default files */
|
lua_pop(L, 1); /* pop environment for default files */
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -345,7 +345,7 @@ typedef struct botmem_s
|
||||||
{
|
{
|
||||||
boolean lastForward;
|
boolean lastForward;
|
||||||
boolean lastBlocked;
|
boolean lastBlocked;
|
||||||
boolean blocked;
|
boolean blocked;
|
||||||
UINT8 catchup_tics;
|
UINT8 catchup_tics;
|
||||||
UINT8 thinkstate;
|
UINT8 thinkstate;
|
||||||
} botmem_t;
|
} botmem_t;
|
||||||
|
@ -568,7 +568,7 @@ typedef struct player_s
|
||||||
UINT16 lastbuttons;
|
UINT16 lastbuttons;
|
||||||
botmem_t botmem;
|
botmem_t botmem;
|
||||||
boolean blocked;
|
boolean blocked;
|
||||||
|
|
||||||
tic_t jointime; // Timer when player joins game to change skin/color
|
tic_t jointime; // Timer when player joins game to change skin/color
|
||||||
tic_t quittime; // Time elapsed since user disconnected, zero if connected
|
tic_t quittime; // Time elapsed since user disconnected, zero if connected
|
||||||
#ifdef HWRENDER
|
#ifdef HWRENDER
|
||||||
|
|
|
@ -3212,7 +3212,7 @@ static void HWR_Subsector(size_t num)
|
||||||
*rover->topheight,
|
*rover->topheight,
|
||||||
*gl_frontsector->lightlist[light].lightlevel,
|
*gl_frontsector->lightlist[light].lightlevel,
|
||||||
rover->alpha-1 > 255 ? 255 : rover->alpha-1, rover->master->frontsector,
|
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);
|
false, *gl_frontsector->lightlist[light].extra_colormap);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -203,7 +203,7 @@ static void P_NetArchivePlayers(void)
|
||||||
WRITEUINT8(save_p, players[i].botmem.catchup_tics);
|
WRITEUINT8(save_p, players[i].botmem.catchup_tics);
|
||||||
WRITEUINT8(save_p, players[i].botmem.thinkstate);
|
WRITEUINT8(save_p, players[i].botmem.thinkstate);
|
||||||
WRITEUINT8(save_p, players[i].removing);
|
WRITEUINT8(save_p, players[i].removing);
|
||||||
|
|
||||||
WRITEUINT8(save_p, players[i].blocked);
|
WRITEUINT8(save_p, players[i].blocked);
|
||||||
WRITEUINT16(save_p, players[i].lastbuttons);
|
WRITEUINT16(save_p, players[i].lastbuttons);
|
||||||
|
|
||||||
|
@ -425,7 +425,7 @@ static void P_NetUnArchivePlayers(void)
|
||||||
// Bots //
|
// Bots //
|
||||||
//////////
|
//////////
|
||||||
players[i].bot = READUINT8(save_p);
|
players[i].bot = READUINT8(save_p);
|
||||||
|
|
||||||
players[i].botmem.lastForward = READUINT8(save_p);
|
players[i].botmem.lastForward = READUINT8(save_p);
|
||||||
players[i].botmem.lastBlocked = READUINT8(save_p);
|
players[i].botmem.lastBlocked = READUINT8(save_p);
|
||||||
players[i].botmem.catchup_tics = 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].blocked = READUINT8(save_p);
|
||||||
players[i].lastbuttons = READUINT16(save_p);
|
players[i].lastbuttons = READUINT16(save_p);
|
||||||
|
|
||||||
////////////////////////////
|
////////////////////////////
|
||||||
// Conveyor Belt Movement //
|
// Conveyor Belt Movement //
|
||||||
////////////////////////////
|
////////////////////////////
|
||||||
|
|
|
@ -1273,7 +1273,7 @@ static void P_LoadSidedefs(UINT8 *data)
|
||||||
sd->midtexture = get_number(process);
|
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'))
|
if (isfrontside && !(msd->toptexture[0] == '-' && msd->toptexture[1] == '\0'))
|
||||||
{
|
{
|
||||||
M_Memcpy(process,msd->toptexture,8);
|
M_Memcpy(process,msd->toptexture,8);
|
||||||
|
|
11
src/p_user.c
11
src/p_user.c
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
// SONIC ROBO BLAST 2
|
// SONIC ROBO BLAST 2
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Copyright (C) 1993-1996 by id Software, Inc.
|
// Copyright (C) 1993-1996 by id Software, Inc.
|
||||||
|
@ -1514,8 +1515,8 @@ void P_PlayJingle(player_t *player, jingletype_t jingletype)
|
||||||
char newmusic[7];
|
char newmusic[7];
|
||||||
strncpy(newmusic, musname, 7);
|
strncpy(newmusic, musname, 7);
|
||||||
#ifdef HAVE_LUA_MUSICPLUS
|
#ifdef HAVE_LUA_MUSICPLUS
|
||||||
if(LUAh_MusicJingle(jingletype, newmusic, &musflags, &looping))
|
if(LUAh_MusicJingle(jingletype, newmusic, &musflags, &looping))
|
||||||
return;
|
return;
|
||||||
#endif
|
#endif
|
||||||
newmusic[6] = 0;
|
newmusic[6] = 0;
|
||||||
|
|
||||||
|
@ -1605,7 +1606,7 @@ boolean P_EvaluateMusicStatus(UINT16 status, const char *musname)
|
||||||
|
|
||||||
if (result)
|
if (result)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -1662,8 +1663,8 @@ void P_RestoreMusic(player_t *player)
|
||||||
else if (!S_RecallMusic(JT_NONE, false)) // go down the stack
|
else if (!S_RecallMusic(JT_NONE, false)) // go down the stack
|
||||||
{
|
{
|
||||||
CONS_Debug(DBG_BASIC, "Cannot find any music in resume stack!\n");
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -236,7 +236,7 @@ boolean R_SkinUsable(INT32 playernum, INT32 skinnum)
|
||||||
// Force 2.
|
// Force 2.
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (metalrecording && skinnum == 5)
|
if (metalrecording && skinnum == 5)
|
||||||
{
|
{
|
||||||
// Force 3.
|
// Force 3.
|
||||||
|
|
|
@ -2259,9 +2259,9 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32
|
||||||
return;
|
return;
|
||||||
newmusic[6] = 0;
|
newmusic[6] = 0;
|
||||||
|
|
||||||
// No Music (empty string)
|
// No Music (empty string)
|
||||||
if (newmusic[0] == 0)
|
if (newmusic[0] == 0)
|
||||||
{
|
{
|
||||||
if (prefadems)
|
if (prefadems)
|
||||||
I_FadeSong(0, prefadems, &S_StopMusic);
|
I_FadeSong(0, prefadems, &S_StopMusic);
|
||||||
else
|
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) ||
|
else if (strnicmp(music_name, newmusic, 6) || (mflags & MUSIC_FORCERESET) ||
|
||||||
(midipref != currentmidi && S_PrefAvailable(midipref, newmusic)))
|
(midipref != currentmidi && S_PrefAvailable(midipref, newmusic)))
|
||||||
{
|
{
|
||||||
CONS_Debug(DBG_DETAILED, "Now playing song %s\n", newmusic);
|
CONS_Debug(DBG_DETAILED, "Now playing song %s\n", newmusic);
|
||||||
|
|
||||||
S_StopMusic();
|
S_StopMusic();
|
||||||
|
@ -2302,7 +2302,7 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32
|
||||||
{
|
{
|
||||||
I_SetSongPosition(position);
|
I_SetSongPosition(position);
|
||||||
I_FadeSong(100, fadeinms, NULL);
|
I_FadeSong(100, fadeinms, NULL);
|
||||||
}
|
}
|
||||||
else // reset volume to 100 with same music
|
else // reset volume to 100 with same music
|
||||||
{
|
{
|
||||||
I_StopFadingSong();
|
I_StopFadingSong();
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
// Emacs style mode select -*- C++ -*-
|
// Emacs style mode select -*- C++ -*-
|
||||||
// SONIC ROBO BLAST 2
|
// SONIC ROBO BLAST 2
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -1068,7 +1069,7 @@ void I_GetEvent(void)
|
||||||
// update the menu
|
// update the menu
|
||||||
if (currentMenu == &OP_JoystickSetDef)
|
if (currentMenu == &OP_JoystickSetDef)
|
||||||
M_SetupJoystickMenu(0);
|
M_SetupJoystickMenu(0);
|
||||||
break;
|
break;
|
||||||
case SDL_QUIT:
|
case SDL_QUIT:
|
||||||
LUA_HookBool(true, HOOK(GameQuit));
|
LUA_HookBool(true, HOOK(GameQuit));
|
||||||
I_Quit();
|
I_Quit();
|
||||||
|
|
|
@ -90,7 +90,7 @@ CREATE TABLE `ms_versions` (
|
||||||
`mod_vstring` varchar(45) NOT NULL DEFAULT 'v1.0',
|
`mod_vstring` varchar(45) NOT NULL DEFAULT 'v1.0',
|
||||||
`mod_codebase` int(10) unsigned NOT NULL DEFAULT 205,
|
`mod_codebase` int(10) unsigned NOT NULL DEFAULT 205,
|
||||||
`mod_name` varchar(255) NOT NULL DEFAULT 'Default MOD Name',
|
`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;
|
) 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_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
|
|
Loading…
Reference in a new issue