mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-01-18 23:42:11 +00:00
Merge branch 'next' into 'next'
Merge master into next See merge request STJr/SRB2!1861
This commit is contained in:
commit
19bed32e5d
25 changed files with 70 additions and 54 deletions
|
@ -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
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -22,3 +22,4 @@ Win32_LIB_ASM_Release
|
|||
/make
|
||||
/bin
|
||||
/build
|
||||
/build.*
|
||||
|
|
|
@ -156,7 +156,7 @@ target_compile_options(SRB2SDL2 PRIVATE
|
|||
-Winline
|
||||
-Wformat-y2k
|
||||
-Wformat-security
|
||||
|
||||
|
||||
$<$<VERSION_LESS:$<C_COMPILER_VERSION>,2.9.5>:
|
||||
-Wno-div-by-zero
|
||||
-Wendif-labels
|
||||
|
|
|
@ -89,7 +89,7 @@ precise_t I_GetPreciseTime(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
UINT64 I_GetPrecisePrecision(void)
|
||||
UINT64 I_GetPrecisePrecision(void)
|
||||
{
|
||||
return 1000000;
|
||||
}
|
||||
|
|
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)
|
||||
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<<FRACBITS>>16;
|
||||
if (backward)
|
||||
cmd->forwardmove -= MAXPLMOVE<<FRACBITS>>16;
|
||||
if (left)
|
||||
if (left)
|
||||
cmd->angleturn += 1280;
|
||||
if (right)
|
||||
cmd->angleturn -= 1280;
|
||||
cmd->angleturn -= 1280;
|
||||
if (strafeleft)
|
||||
cmd->sidemove -= MAXPLMOVE<<FRACBITS>>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)
|
||||
|
|
|
@ -641,4 +641,3 @@ LUALIB_API int luaopen_io (lua_State *L) {
|
|||
lua_pop(L, 1); /* pop environment for default files */
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -2809,9 +2809,9 @@ void G_MovePlayerToSpawnOrStarpost(INT32 playernum)
|
|||
P_MovePlayerToStarpost(playernum);
|
||||
else
|
||||
P_MovePlayerToSpawn(playernum, G_FindMapStart(playernum));
|
||||
|
||||
|
||||
R_ResetMobjInterpolationState(players[playernum].mo);
|
||||
|
||||
|
||||
if (playernum == consoleplayer)
|
||||
P_ResetCamera(&players[playernum], &camera);
|
||||
else if (playernum == secondarydisplayplayer)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -882,6 +882,7 @@ void HU_Ticker(void)
|
|||
else
|
||||
hu_showscores = false;
|
||||
|
||||
#ifndef NONET
|
||||
if (chat_on)
|
||||
{
|
||||
// count down the scroll timer.
|
||||
|
@ -909,6 +910,7 @@ void HU_Ticker(void)
|
|||
HU_removeChatText_Mini();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (cechotimer > 0) --cechotimer;
|
||||
|
||||
|
@ -1994,7 +1996,7 @@ void HU_Drawer(void)
|
|||
}
|
||||
else
|
||||
HU_DrawCoopOverlay();
|
||||
|
||||
|
||||
if (renderisnewtic)
|
||||
{
|
||||
LUA_HUD_ClearDrawList(luahuddrawlist_scores);
|
||||
|
|
|
@ -1185,7 +1185,7 @@ static int libd_fadeScreen(lua_State *L)
|
|||
LUA_HUD_AddFadeScreen(list, color, strength);
|
||||
else
|
||||
V_DrawFadeScreen(color, strength);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -147,6 +147,6 @@ void LUA_HUD_DrawList(huddrawlist_h list);
|
|||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif // __LUA_HUDLIB_DRAWLIST__
|
||||
|
|
|
@ -11893,7 +11893,7 @@ void A_FlickyCenter(mobj_t *actor)
|
|||
if (actor->target && P_AproxDistance(actor->target->x - originx, actor->target->y - originy) < actor->extravalue1)
|
||||
{
|
||||
actor->extravalue2 = 1;
|
||||
P_SetOrigin(actor, actor->target->x, actor->target->y, actor->target->z);
|
||||
P_SetOrigin(actor, actor->target->x, actor->target->y, actor->target->z);
|
||||
}
|
||||
else if(actor->extravalue2)
|
||||
{
|
||||
|
|
|
@ -2052,7 +2052,7 @@ boolean EV_DoPolyObjRotate(polyrotdata_t *prdata)
|
|||
|
||||
// interpolation
|
||||
R_CreateInterpolator_Polyobj(&th->thinker, po);
|
||||
|
||||
|
||||
th->turnobjs = 0;
|
||||
if (!(prdata->flags & TMPR_DONTROTATEOTHERS))
|
||||
th->turnobjs |= PTF_OTHERS;
|
||||
|
@ -2194,7 +2194,7 @@ boolean EV_DoPolyObjWaypoint(polywaypointdata_t *pwdata)
|
|||
R_CreateInterpolator_Polyobj(&th->thinker, po);
|
||||
// T_PolyObjWaypoint is the only polyobject movement
|
||||
// that can adjust z, so we add these ones too.
|
||||
R_CreateInterpolator_SectorPlane(&th->thinker, po->lines[0]->backsector, false);
|
||||
R_CreateInterpolator_SectorPlane(&th->thinker, po->lines[0]->backsector, false);
|
||||
R_CreateInterpolator_SectorPlane(&th->thinker, po->lines[0]->backsector, true);
|
||||
|
||||
// Most other polyobject functions handle children by recursively
|
||||
|
|
|
@ -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 //
|
||||
////////////////////////////
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -804,7 +804,7 @@ void P_Ticker(boolean run)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
P_MapEnd();
|
||||
|
|
11
src/p_user.c
11
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);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -368,7 +368,7 @@ static void AddInterpolator(levelinterpolator_t* interpolator)
|
|||
{
|
||||
levelinterpolators_size *= 2;
|
||||
}
|
||||
|
||||
|
||||
levelinterpolators = Z_ReallocAlign(
|
||||
(void*) levelinterpolators,
|
||||
sizeof(levelinterpolator_t*) * levelinterpolators_size,
|
||||
|
@ -616,7 +616,7 @@ void R_RestoreLevelInterpolators(void)
|
|||
for (i = 0; i < levelinterpolators_len; i++)
|
||||
{
|
||||
levelinterpolator_t *interp = levelinterpolators[i];
|
||||
|
||||
|
||||
switch (interp->type)
|
||||
{
|
||||
case LVLINTERP_SectorPlane:
|
||||
|
@ -671,7 +671,7 @@ void R_DestroyLevelInterpolators(thinker_t *thinker)
|
|||
for (i = 0; i < levelinterpolators_len; i++)
|
||||
{
|
||||
levelinterpolator_t *interp = levelinterpolators[i];
|
||||
|
||||
|
||||
if (interp->thinker == thinker)
|
||||
{
|
||||
// Swap the tail of the level interpolators to this spot
|
||||
|
|
|
@ -236,7 +236,7 @@ boolean R_SkinUsable(INT32 playernum, INT32 skinnum)
|
|||
// Force 2.
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
if (metalrecording && skinnum == 5)
|
||||
{
|
||||
// Force 3.
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -1131,7 +1131,7 @@ void Y_Ticker(void)
|
|||
S_ChangeMusicInternal("_clear", false); // don't loop it
|
||||
tallydonetic = -1;
|
||||
}
|
||||
|
||||
|
||||
// emerald bounce
|
||||
if (intertic <= 1)
|
||||
{
|
||||
|
|
8
thirdparty/CMakeLists.txt
vendored
8
thirdparty/CMakeLists.txt
vendored
|
@ -88,7 +88,7 @@ if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}")
|
|||
zutil.c
|
||||
)
|
||||
list(TRANSFORM ZLIB_SRCS PREPEND "${ZLIB_SOURCE_DIR}/")
|
||||
|
||||
|
||||
configure_file("${ZLIB_SOURCE_DIR}/zlib.pc.cmakein" "${ZLIB_BINARY_DIR}/zlib.pc" @ONLY)
|
||||
configure_file("${ZLIB_SOURCE_DIR}/zconf.h.cmakein" "${ZLIB_BINARY_DIR}/include/zconf.h" @ONLY)
|
||||
|
||||
|
@ -122,7 +122,7 @@ if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}")
|
|||
|
||||
png.h
|
||||
pngconf.h
|
||||
|
||||
|
||||
pngpriv.h
|
||||
pngdebug.h
|
||||
pnginfo.h
|
||||
|
@ -471,7 +471,7 @@ if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}")
|
|||
soundlib/OggStream.h
|
||||
soundlib/Loaders.h
|
||||
soundlib/BitReader.h
|
||||
soundlib/opal.h
|
||||
soundlib/opal.h
|
||||
|
||||
sounddsp/AGC.cpp
|
||||
sounddsp/EQ.cpp
|
||||
|
@ -500,7 +500,7 @@ if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}")
|
|||
endif()
|
||||
target_compile_features(openmpt PRIVATE cxx_std_11)
|
||||
target_compile_definitions(openmpt PRIVATE -DLIBOPENMPT_BUILD)
|
||||
|
||||
|
||||
target_include_directories(openmpt PRIVATE "${openmpt_SOURCE_DIR}/common")
|
||||
target_include_directories(openmpt PRIVATE "${openmpt_SOURCE_DIR}/src")
|
||||
target_include_directories(openmpt PRIVATE "${openmpt_SOURCE_DIR}/include")
|
||||
|
|
|
@ -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 */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
|
|
Loading…
Reference in a new issue