Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal into FileManagement

This commit is contained in:
wolfy852 2017-10-07 14:52:40 -05:00
commit 93584f6811
101 changed files with 411 additions and 565 deletions

View File

@ -58,6 +58,3 @@ jobs:
key: v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }}
paths:
- /root/.ccache

View File

@ -100,6 +100,21 @@ matrix:
compiler: gcc-6
env: WFLAGS="-Wno-tautological-compare"
#gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- p7zip-full
- gcc-7
compiler: gcc-7
env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wimplicit-fallthrough=3"
#gcc-7 (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0 20170802
- os: linux
compiler: clang
#clang version 3.5.0 (tags/RELEASE_350/final)
@ -162,6 +177,51 @@ matrix:
- clang-3.8
compiler: clang-3.8
#clang version 3.8.1-svn271127-1~exp1 (branches/release_38)
- os: linux
addons:
apt:
sources:
- llvm-toolchain-precise-3.9
- ubuntu-toolchain-r-test
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- p7zip-full
- clang-3.9
compiler: clang-3.9
#clang version 3.9.X
# - os: linux
# addons:
# apt:
# sources:
# - llvm-toolchain-precise-4.0
# - ubuntu-toolchain-r-test
# packages:
# - libsdl2-mixer-dev
# - libpng-dev
# - libgl1-mesa-dev
# - libgme-dev
# - p7zip-full
# - clang-4.0
# compiler: clang-4.0
# #clang version 4.0.X
# - os: linux
# addons:
# apt:
# sources:
# - llvm-toolchain-precise-5.0
# - ubuntu-toolchain-r-test
# packages:
# - libsdl2-mixer-dev
# - libpng-dev
# - libgl1-mesa-dev
# - libgme-dev
# - p7zip-full
# - clang-5.0
# compiler: clang-5.0
# #clang version 5.0.X
# - os: osx
# osx_image: beta-xcode6.1
# #Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
@ -192,6 +252,9 @@ matrix:
- compiler: clang-3.6
- compiler: clang-3.7
- compiler: clang-3.8
- compiler: clang-3.9
- compiler: clang-4.0
- compiler: clang-5.0
cache:
apt: true
@ -219,9 +282,9 @@ before_script:
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2_mixer game-music-emu p7zip; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2 sdl2_mixer game-music-emu p7zip; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install cmake||true; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/release/SDL2-2.0.4.dmg; hdiutil attach SDL2-2.0.4.dmg; sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/release/SDL2-2.0.6.dmg; hdiutil attach SDL2-2.0.6.dmg; sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.dmg; hdiutil attach SDL2_mixer-2.0.1.dmg; sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/; fi
- mkdir -p $HOME/srb2_cache

2
bin/DC/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/Dos/Debug/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/Dos/Release/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/FreeBSD/Debug/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/FreeBSD/Release/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/SDL/Debug/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/SDL/Release/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/ARMV4Dbg/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/ARMV4IDbg/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/ARMV4IRel/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/ARMV4Rel/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/ARMV4TDbg/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/ARMV4TRel/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/MIPS16Dbg/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/MIPS16Rel/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/MIPSIIDbg/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/MIPSIIRel/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/MIPSII_FPDbg/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/MIPSII_FPRel/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/MIPSIVDbg/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/MIPSIVRel/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/MIPSIV_FPDbg/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/MIPSIV_FPRel/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/Release/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/SH3Dbg/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/SH3Rel/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/SH4Dbg/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/SH4Rel/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/X86Dbg/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/X86Rel/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/emulatorDbg/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/WinCE/emulatorRel/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
bin/dummy/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
objs/FreeBSD/SDL/Debug/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
objs/FreeBSD/SDL/Release/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
objs/MasterClient/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
objs/MasterServer/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
objs/XBOX/SDL/Debug/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
objs/XBOX/SDL/Release/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
objs/cygwin/Debug/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
objs/cygwin/Release/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

2
objs/dummy/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing

View File

@ -209,7 +209,13 @@ LIBS+=-lm
endif
ifdef SDL
include sdl/Makefile.cfg
#SDL 2.0
ifndef SDL12
include sdl/Makefile.cfg
#SDL 1.2
else
include sdl12/Makefile.cfg
endif #ifndef SDL12
endif #ifdef SDL
ifdef DISTCC

View File

@ -7,6 +7,21 @@
# and other things
#
ifdef GCC80
GCC72=1
endif
ifdef GCC72
GCC71=1
endif
ifdef GCC71
GCC64=1
endif
ifdef GCC64
GCC64=1
endif
ifdef GCC63
GCC62=1
@ -322,22 +337,24 @@ ifdef MINGW64
BIN:=$(BIN)/Mingw64
else
ifdef WII
INTERFACE=sdl
INTERFACE=sdl12
NONX86=1
STATIC=1
PREFIX?=powerpc-eabi
SDL=1
SDL12=1
SDLMAIN=1
OBJDIR:=$(OBJDIR)/Wii
BIN:=$(BIN)/Wii
NOUPX=1
else
ifdef PS3N
INTERFACE=sdl
INTERFACE=sdl12
NONX86=1
STATIC=1
PREFIX?=ppu
SDL=1
SDL12=1
# unsure?
#SDLMAIN=1
# can't compile SDL_mixer for ps3...
@ -352,34 +369,38 @@ ifdef MINGW
BIN:=$(BIN)/Mingw
else
ifdef XBOX
INTERFACE=sdl
INTERFACE=sdl12
NASMFORMAT=win32
PREFIX?=/usr/local/openxdk/bin/i386-pc-xbox
SDL=1
SDL12=1
OBJDIR:=$(OBJDIR)/XBOX
BIN:=$(BIN)/XBOX
else
ifdef PSP
INTERFACE=sdl
INTERFACE=sdl12
NONX86=1
SDL=1
SDL12=1
OBJDIR:=$(OBJDIR)/PSP
BIN:=$(BIN)/PSP
NOUPX=1
else
ifdef DC
INTERFACE=sdl
INTERFACE=sdl12
NONX86=1
SDL=1
SDL12=1
OBJDIR:=$(OBJDIR)/DC
BIN:=$(BIN)/DC
NOUPX=1
else
ifdef WINCE
INTERFACE=sdl
INTERFACE=sdl12
NONX86=1
PREFIX?=arm-wince-pe
SDL=1
SDL12=1
OBJDIR:=$(OBJDIR)/WinCE
BIN:=$(BIN)/WinCE
else
@ -404,6 +425,12 @@ endif
endif
endif
ifdef GP2X
ifdef SDL
SDL12=1
endif
endif
ifdef ARCHNAME
OBJDIR:=$(OBJDIR)/$(ARCHNAME)
BIN:=$(BIN)/$(ARCHNAME)
@ -437,7 +464,13 @@ OBJDUMP_OPTS?=--wide --source --line-numbers
LD=$(CC)
ifdef SDL
# SDL 2.0
ifndef SDL12
INTERFACE=sdl
# SDL 1.2
else
INTERFACE=sdl12
endif
OBJDIR:=$(OBJDIR)/SDL
endif

View File

@ -412,7 +412,7 @@ static Instruction symbexec (const Proto *pt, int lastpc, int reg) {
case OP_FORLOOP:
case OP_FORPREP:
checkreg(pt, a+3);
/* go through */
/* FALLTHRU */
case OP_JMP: {
int dest = pc+1+b;
/* not full check and jump is forward and do not skip `lastpc'? */

View File

@ -306,11 +306,12 @@ static void read_string (LexState *ls, int del, SemInfo *seminfo) {
save_and_next(ls); /* skip $ */
seminfo->ts = luaX_newstring(ls, luaZ_buffer(ls->buff) + 1,
luaZ_bufflen(ls->buff) - 2);
ls->refstr++; /* expect '\' anytime soon */
ls->refstr++; /* expect '\' anytime soon */
lua_assert(ls->lookahead.token == TK_EOS);
ls->lookahead.token = TK_CONCAT;
return;
}
ls->lookahead.token = TK_CONCAT;
return;
}
/* FALLTHRU */
default: {
if (!isdigit(ls->current))
save_and_next(ls); /* handles \\, \", \', and \? */
@ -340,7 +341,8 @@ static void read_string (LexState *ls, int del, SemInfo *seminfo) {
};
switch (i) {
case 4: save( ls, (c>>8) & 0xff ); // pass-through..
case 4: save( ls, (c>>8) & 0xff );
/* FALLTHRU */
case 2: save( ls, c&0xff );
break;
case 5:
@ -350,7 +352,7 @@ static void read_string (LexState *ls, int del, SemInfo *seminfo) {
}
continue;
// "\u0000".."\x10FFFF": UTF-8 encoded Unicode
// "\u0000".."\x10FFFF": UTF-8 encoded Unicode
//
// Note that although codes are entered like this (must have min. four digit,
// just to tease you!) the actual outcome in the string will vary between
@ -482,20 +484,22 @@ static int llex (LexState *ls, SemInfo *seminfo) {
else if (sep == -1) return '[';
else luaX_lexerror(ls, "invalid long string delimiter", TK_STRING);
}
/* FALLTHRU */
case '=': {
next(ls);
if (ls->current != '=') return '=';
else { next(ls); return TK_EQ; }
}
/* FALLTHRU */
case '<': {
next(ls);
if (ls->current == '<') { next(ls); return TK_SHL; }
if (ls->current == '<') { next(ls); return TK_SHL; }
if (ls->current != '=') return '<';
else { next(ls); return TK_LE; }
}
case '>': {
next(ls);
if (ls->current == '>') { next(ls); return TK_SHR; }
if (ls->current == '>') { next(ls); return TK_SHR; }
if (ls->current != '=') return '>';
else { next(ls); return TK_GE; }
}
@ -547,9 +551,10 @@ static int llex (LexState *ls, SemInfo *seminfo) {
}
case '\\': if (ls->refstr) {
ls->refstr--;
ls->current = '"'; /* whacky! */
return TK_CONCAT;
ls->current = '"'; /* whacky! */
return TK_CONCAT;
}
/* FALLTHRU */
default: {
if (isspace(ls->current)) {
lua_assert(!currIsNewline(ls));

View File

@ -478,6 +478,7 @@ static TValue *newkey (lua_State *L, Table *t, const TValue *key) {
return luaH_getnum(t, k); /* use specialized version */
/* else go through */
}
/* FALLTHRU */
default: {
Node *n = mainposition(t, key);
do { /* check whether `key' is somewhere in the chain */

View File

@ -1189,7 +1189,10 @@ finish:
CONS_Printf(M_GetText("%s set to %s\n"), var->name, var->string);
var->flags &= ~CV_SHOWMODIFONETIME;
}
DEBFILE(va("%s set to %s\n", var->name, var->string));
else // display message in debug file only
{
DEBFILE(va("%s set to %s\n", var->name, var->string));
}
var->flags |= CV_MODIFIED;
// raise 'on change' code
#ifdef HAVE_BLUA

View File

@ -51,7 +51,7 @@
#endif
#ifdef _XBOX
#include "sdl/SRB2XBOX/xboxhelp.h"
#include "sdl12/SRB2XBOX/xboxhelp.h"
#endif
//
@ -1903,6 +1903,7 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic
break; // exit the case
cl_mode = CL_ASKJOIN; // don't break case continue to cljoin request now
/* FALLTHRU */
case CL_ASKJOIN:
CL_LoadServerFiles();
@ -3635,6 +3636,7 @@ static void HandlePacketFromAwayNode(SINT8 node)
// Do not remove my own server (we have just get a out of order packet)
if (node == servernode)
break;
/* FALLTHRU */
default:
DEBFILE(va("unknown packet received (%d) from unknown host\n",netbuffer->packettype));
@ -3791,6 +3793,7 @@ FILESTAMP
break;
case PT_TEXTCMD2: // splitscreen special
netconsole = nodetoplayer2[node];
/* FALLTHRU */
case PT_TEXTCMD:
if (client)
break;
@ -4145,7 +4148,10 @@ static INT16 Consistancy(void)
#ifdef MOBJCONSISTANCY
if (!thinkercap.next)
{
DEBFILE(va("Consistancy = %u\n", ret));
return ret;
}
for (th = thinkercap.next; th != &thinkercap; th = th->next)
{
if (th->function.acp1 != (actionf_p1)P_MobjThinker)
@ -4214,6 +4220,8 @@ static INT16 Consistancy(void)
}
#endif
DEBFILE(va("Consistancy = %u\n", (ret & 0xFFFF)));
return (INT16)(ret & 0xFFFF);
}

View File

@ -83,7 +83,7 @@ int snprintf(char *str, size_t n, const char *fmt, ...);
#endif
#ifdef _XBOX
#include "sdl/SRB2XBOX/xboxhelp.h"
#include "sdl12/SRB2XBOX/xboxhelp.h"
#endif
#ifdef HWRENDER

View File

@ -1030,6 +1030,7 @@ boolean HSendPacket(INT32 node, boolean reliable, UINT8 acknum, size_t packetlen
#endif
return false;
}
netbuffer->ack = netbuffer->ackreturn = 0; // don't hold over values from last packet sent/received
M_Memcpy(&reboundstore[rebound_head], netbuffer,
doomcom->datalength);
reboundsize[rebound_head] = doomcom->datalength;
@ -1365,7 +1366,7 @@ boolean D_CheckNetGame(void)
#else
if (M_CheckParm("-debugfile"))
{
char filename[20];
char filename[21];
INT32 k = doomcom->consoleplayer - 1;
if (M_IsNextParm())
k = atoi(M_GetNextParm()) - 1;

View File

@ -2526,7 +2526,7 @@ static void Got_Teamchange(UINT8 **cp, INT32 playernum)
error = true;
break;
}
//fall down
/* FALLTHRU */
case GT_TAG:
switch (NetPacket.packet.newteam)
{

View File

@ -11,6 +11,7 @@
/// \brief Load dehacked file and change tables and text
#include "doomdef.h"
#include "d_main.h" // for srb2home
#include "g_game.h"
#include "sounds.h"
#include "info.h"
@ -2800,6 +2801,8 @@ static void readmaincfg(MYFILE *f)
strncpy(savegamename, timeattackfolder, sizeof (timeattackfolder));
strlcat(savegamename, "%u.ssg", sizeof(savegamename));
// can't use sprintf since there is %u in savegamename
strcatbf(savegamename, srb2home, PATHSEP);
gamedataadded = true;
titlechanged = true;
@ -7071,7 +7074,7 @@ struct {
{"ME_ALLEMERALDS",ME_ALLEMERALDS},
{"ME_ULTIMATE",ME_ULTIMATE},
{"ME_PERFECT",ME_PERFECT},
#ifdef HAVE_BLUA
// p_local.h constants
{"FLOATSPEED",FLOATSPEED},

View File

@ -94,7 +94,7 @@ static fixed_t paldiv = 0;
* \return fademask_t for lump
*/
static fademask_t *F_GetFadeMask(UINT8 masknum, UINT8 scrnnum) {
static char lumpname[9] = "FADEmmss";
static char lumpname[10] = "FADEmmss";
static fademask_t fm = {NULL,0,0,0,0,0};
lumpnum_t lumpnum;
UINT8 *lump, *mask;

View File

@ -22,7 +22,7 @@
#include <windows.h>
#endif
#ifdef _WIN32_WCE
#include "sdl/SRB2CE/cehelp.h"
#include "sdl12/SRB2CE/cehelp.h"
#else
#include <sys/stat.h>
#endif

View File

@ -747,7 +747,7 @@ void G_SetGameModified(boolean silent)
*/
const char *G_BuildMapName(INT32 map)
{
static char mapname[9] = "MAPXX"; // internal map name (wad resource name)
static char mapname[10] = "MAPXX"; // internal map name (wad resource name)
I_Assert(map > 0);
I_Assert(map <= NUMMAPS);
@ -2066,6 +2066,7 @@ void G_Ticker(boolean run)
case GS_TITLESCREEN:
if (titlemapinaction) P_Ticker(run); // then intentionally fall through
/* FALLTHRU */
case GS_WAITINGPLAYERS:
F_TitleScreenTicker(run);
break;

View File

@ -338,7 +338,7 @@ angle_t gld_FrustumAngle(void)
}
// If the pitch is larger than this you can look all around at a FOV of 90
if (abs(aimingangle) > 46 * ANG1)
if (aimingangle > (ANGLE_45+ANG1) && (ANGLE_315-ANG1) > aimingangle)
return 0xffffffff;
// ok, this is a gross hack that barely works...

View File

@ -64,7 +64,7 @@ typedef struct GLMipmap_s GLMipmap_t;
//
struct GLTexture_s
{
GLMipmap_t mipmap;
GLMipmap_t mipmap;
float scaleX; //used for scaling textures on walls
float scaleY;
};
@ -88,7 +88,7 @@ struct GLPatch_s
UINT16 wadnum; // the software patch lump num for when the hardware patch
UINT16 lumpnum; // was flushed, and we need to re-create it
GLMipmap_t mipmap;
} ATTRPACK;
};
typedef struct GLPatch_s GLPatch_t;
#endif //_HWR_DATA_

View File

@ -428,7 +428,7 @@ static md2_model_t *md2_readModel(const char *filename)
spr2 |= FF_SPR2SUPER;
if (model->spr2frames[spr2*2 + 1]++ == 0) // numspr2frames
model->spr2frames[spr2*2] = i; // starting frame
CONS_Debug(DBG_RENDER, "frame %s, sprite2 %s - starting frame %d, number of frames %d\n", frame->name, spr2names[spr2 & ~FF_SPR2SUPER], model->spr2frames[spr2*2], model->spr2frames[spr2*2 + 1]);
CONS_Debug(DBG_RENDER, "frame %s, sprite2 %s - starting frame %s, number of frames %s\n", frame->name, spr2names[spr2 & ~FF_SPR2SUPER], sizeu1(model->spr2frames[spr2*2]), sizeu2(model->spr2frames[spr2*2 + 1]));
}
}
}

View File

@ -97,7 +97,7 @@
#include <time.h>
#ifdef _arch_dreamcast
#include "sdl/SRB2DC/dchelp.h"
#include "sdl12/SRB2DC/dchelp.h"
#endif
#if (defined (__unix__) && !defined (MSDOS)) || defined(__APPLE__) || defined (UNIXCOMMON)
@ -192,7 +192,7 @@ static UINT8 UPNP_support = TRUE;
#define close closesocket
#ifdef _WIN32_WCE
#include "sdl/SRB2CE/cehelp.h"
#include "sdl12/SRB2CE/cehelp.h"
#endif
#endif

View File

@ -135,7 +135,7 @@ static const struct {
};
// goes through the above list and returns the utype string for the userdata type
// returns "unknown" instead if we couldn't find the right userdata type
// returns "unknown" instead if we couldn't find the right userdata type
static const char *GetUserdataUType(lua_State *L)
{
UINT8 i;

View File

@ -254,7 +254,7 @@ static int lib_searchBlockmap(lua_State *L)
if (P_MobjWasRemoved(mobj)){ // ...unless the original object was removed
lua_pushboolean(L, false); // in which case we have to stop now regardless
return 1;
}
}
}
lua_pushboolean(L, retval);
return 1;

View File

@ -165,10 +165,12 @@ static int lib_setSpr2default(lua_State *L)
{
const char *name = lua_tostring(L, 1);
for (i = 0; i < free_spr2; i++)
{
if (fastcmp(name, spr2names[i]))
break;
if (i == free_spr2)
return luaL_error(L, "spr2defaults[] invalid index");
}
if (i == free_spr2)
return luaL_error(L, "spr2defaults[] invalid index");
}
else
return luaL_error(L, "spr2defaults[] invalid index");
@ -182,10 +184,12 @@ static int lib_setSpr2default(lua_State *L)
{
const char *name = lua_tostring(L, 2);
for (j = 0; j < free_spr2; j++)
{
if (fastcmp(name, spr2names[j]))
break;
if (j == free_spr2)
return luaL_error(L, "spr2defaults[] invalid index");
}
if (j == free_spr2)
return luaL_error(L, "spr2defaults[] invalid index");
}
if (j >= free_spr2)

View File

@ -1255,7 +1255,7 @@ void Command_ObjectPlace_f(void)
{
objectplacing = true;
if ((players[0].powers[pw_carry] == CR_NIGHTSMODE))
if (players[0].powers[pw_carry] == CR_NIGHTSMODE)
return;
if (!COM_CheckParm("-silent"))

View File

@ -980,18 +980,18 @@ UINT8 M_CompletionEmblems(void) // Bah! Duplication sucks, but it's for a separa
levelnum = emblemlocations[i].level;
embtype = emblemlocations[i].var;
flags = MV_BEATEN;
if (embtype & ME_ALLEMERALDS)
flags |= MV_ALLEMERALDS;
if (embtype & ME_ULTIMATE)
flags |= MV_ULTIMATE;
if (embtype & ME_PERFECT)
flags |= MV_PERFECT;
res = ((mapvisited[levelnum - 1] & flags) == flags);
emblemlocations[i].collected = res;
if (res)
++somethingUnlocked;

View File

@ -20,9 +20,10 @@
#include <stdlib.h>
#endif
#ifdef _WIN32_WCE
#include "sdl/SRB2CE/cehelp.h"
#endif
// Was this just for the #define USEASM?
//#ifdef _WIN32_WCE
//#include "sdl12/SRB2CE/cehelp.h"
//#endif
/*!
\brief bits of the fraction

View File

@ -3256,6 +3256,7 @@ static void M_DrawGenericMenu(void)
W_CachePatchName(currentMenu->menuitems[i].patch, PU_CACHE));
}
}
/* FALLTHRU */
case IT_NOTHING:
case IT_DYBIGSPACE:
y += LINEHEIGHT;
@ -3314,6 +3315,7 @@ static void M_DrawGenericMenu(void)
break;
case IT_STRING2:
V_DrawString(x, y, 0, currentMenu->menuitems[i].text);
/* FALLTHRU */
case IT_DYLITLSPACE:
y += SMALLLINEHEIGHT;
break;
@ -3326,6 +3328,7 @@ static void M_DrawGenericMenu(void)
case IT_TRANSTEXT:
if (currentMenu->menuitems[i].alphaKey)
y = currentMenu->y+currentMenu->menuitems[i].alphaKey;
/* FALLTHRU */
case IT_TRANSTEXT2:
V_DrawString(x, y, V_TRANSLUCENT, currentMenu->menuitems[i].text);
y += SMALLLINEHEIGHT;
@ -3675,6 +3678,7 @@ static void M_DrawCenteredMenu(void)
W_CachePatchName(currentMenu->menuitems[i].patch, PU_CACHE));
}
}
/* FALLTHRU */
case IT_NOTHING:
case IT_DYBIGSPACE:
y += LINEHEIGHT;
@ -3732,6 +3736,7 @@ static void M_DrawCenteredMenu(void)
break;
case IT_STRING2:
V_DrawCenteredString(x, y, 0, currentMenu->menuitems[i].text);
/* FALLTHRU */
case IT_DYLITLSPACE:
y += SMALLLINEHEIGHT;
break;
@ -4883,6 +4888,10 @@ static boolean M_AddonsRefresh(void)
#define offs 1
#ifdef __GNUC__
#pragma GCC optimize ("0")
#endif
static void M_DrawAddons(void)
{
INT32 x, y;
@ -5004,6 +5013,10 @@ static void M_DrawAddons(void)
#undef CANSAVE
}
#ifdef __GNUC__
#pragma GCC reset_options
#endif
#undef offs
static void M_AddonExec(INT32 ch)
@ -6117,7 +6130,7 @@ static void M_DrawLoadGameData(void)
V_DrawFill(x+6, y+64, 72, 50, col);
}
}
V_DrawSmallScaledPatch(x, y, 0, savselp[0]);
x += 2;
y += 1;
@ -6149,7 +6162,7 @@ static void M_DrawLoadGameData(void)
else
patch = savselp[5];
}
V_DrawSmallScaledPatch(x, y, flags, patch);
y += 41;
@ -8719,6 +8732,7 @@ static void M_HandleSetupMultiPlayer(INT32 choice)
COM_BufAddText (va("%s %s\n",setupm_cvdefaultname->name,setupm_name));
break;
}
/* FALLTHRU */
case KEY_RIGHTARROW:
if (itemOn == 1) //player skin
{
@ -9165,7 +9179,7 @@ static void M_DrawControl(void)
y += SMALLLINEHEIGHT;
}
V_DrawScaledPatch(currentMenu->x - 20, cursory, 0,
W_CachePatchName("M_CURSOR", PU_CACHE));
}

View File

@ -1086,7 +1086,7 @@ void M_StartMovie(void)
moviemode = M_StartMovieGIF(pathname);
break;
}
// fall thru
/* FALLTHRU */
case MM_APNG:
moviemode = M_StartMovieAPNG(pathname);
break;

View File

@ -65,7 +65,7 @@
#endif
#ifdef _arch_dreamcast
#include "sdl/SRB2DC/dchelp.h"
#include "sdl12/SRB2DC/dchelp.h"
#endif
#include <sys/time.h> // timeval,... (TIMEOUT)
@ -92,7 +92,7 @@
#include "m_misc.h" // GetRevisionString()
#ifdef _WIN32_WCE
#include "sdl/SRB2CE/cehelp.h"
#include "sdl12/SRB2CE/cehelp.h"
#endif
#include "i_addrinfo.h"

View File

@ -79,7 +79,7 @@ void T_MoveCeiling(ceiling_t *ceiling)
P_LinedefExecute((INT16)(ceiling->texture + INT16_MAX + 2), NULL, NULL);
if (ceiling->texture > -1) // flat changing
ceiling->sector->ceilingpic = ceiling->texture;
// don't break
/* FALLTHRU */
case raiseToHighest:
// case raiseCeilingByLine:
case moveCeilingByFrontTexture:
@ -182,6 +182,7 @@ void T_MoveCeiling(ceiling_t *ceiling)
// except generalized ones, reset speed, start back up
case crushAndRaise:
ceiling->speed = CEILSPEED;
/* FALLTHRU */
case fastCrushAndRaise:
ceiling->direction = 1;
break;
@ -200,6 +201,7 @@ void T_MoveCeiling(ceiling_t *ceiling)
if (ceiling->texture > -1) // flat changing
ceiling->sector->ceilingpic = ceiling->texture;
// don't break
/* FALLTHRU */
// in all other cases, just remove the active ceiling
case lowerAndCrush:
@ -427,6 +429,7 @@ INT32 EV_DoCeiling(line_t *line, ceiling_e type)
case crushAndRaise:
ceiling->crush = true;
ceiling->topheight = sec->ceilingheight;
/* FALLTHRU */
case lowerAndCrush:
ceiling->bottomheight = sec->floorheight;
ceiling->bottomheight += 4*FRACUNIT;

View File

@ -4824,9 +4824,11 @@ void A_UnidusBall(mobj_t *actor)
case 0: // at least one frame where not dashing
if (!skull) ++actor->extravalue2;
else break;
/* FALLTHRU */
case 1: // at least one frame where ARE dashing
if (skull) ++actor->extravalue2;
else break;
/* FALLTHRU */
case 2: // not dashing again?
if (skull) break;
// launch.
@ -6065,7 +6067,7 @@ void A_Boss7Chase(mobj_t *actor)
break;
}
actor->threshold++;
// fall into...
/* FALLTHRU */
case 1: // Chaingun Goop
A_FaceTarget(actor);
P_SetMobjState(actor, S_BLACKEGG_SHOOT1);
@ -10187,7 +10189,7 @@ void A_FlickyAim(mobj_t *actor)
{
angle_t posvar;
fixed_t chasevar, chasex, chasey;
if (flickyhitwall)
actor->movedir *= -1;

View File

@ -316,6 +316,7 @@ void T_MoveFloor(floormove_t *movefloor)
case moveFloorByFrontSector:
if (movefloor->texture < -1) // chained linedef executing
P_LinedefExecute((INT16)(movefloor->texture + INT16_MAX + 2), NULL, NULL);
/* FALLTHRU */
case instantMoveFloorByFrontSector:
if (movefloor->texture > -1) // flat changing
movefloor->sector->floorpic = movefloor->texture;
@ -364,6 +365,7 @@ void T_MoveFloor(floormove_t *movefloor)
case moveFloorByFrontSector:
if (movefloor->texture < -1) // chained linedef executing
P_LinedefExecute((INT16)(movefloor->texture + INT16_MAX + 2), NULL, NULL);
/* FALLTHRU */
case instantMoveFloorByFrontSector:
if (movefloor->texture > -1) // flat changing
movefloor->sector->floorpic = movefloor->texture;

View File

@ -483,9 +483,11 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
case MT_REDTEAMRING:
if (player->ctfteam != 1)
return;
/* FALLTHRU */
case MT_BLUETEAMRING: // Yes, I'm lazy. Oh well, deal with it.
if (special->type == MT_BLUETEAMRING && player->ctfteam != 2)
return;
/* FALLTHRU */
case MT_RING:
case MT_FLINGRING:
if (!(P_CanPickupItem(player, false)))
@ -3390,7 +3392,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
P_SetMobjState(target, target->info->meleestate); // go to pinch pain state
break;
}
// fallthrough
/* FALLTHRU */
default:
P_SetMobjState(target, target->info->painstate);
break;

View File

@ -6781,6 +6781,7 @@ void P_MobjThinker(mobj_t *mobj)
whoosh->momz = mobj->target->momz; // Stay reasonably centered for a few frames
mobj->target->player->pflags &= ~PF_SHIELDABILITY; // prevent eternal whoosh
}
/* FALLTHRU */
case MT_FLAMEAURA_ORB:
if (!(mobj->flags2 & MF2_SHIELD))
return;
@ -6889,9 +6890,9 @@ void P_MobjThinker(mobj_t *mobj)
P_SetScale(mobj, mobj->target->scale);
if (!(mobj->eflags & MFE_VERTICALFLIP))
mobj->z = mobj->target->z + mobj->target->height + FixedMul((16 + abs((leveltime % TICRATE) - TICRATE/2))*FRACUNIT, mobj->target->scale);
mobj->z = mobj->target->z + mobj->target->height + FixedMul((16 + abs((signed)(leveltime % TICRATE) - TICRATE/2))*FRACUNIT, mobj->target->scale);
else
mobj->z = mobj->target->z - FixedMul((16 + abs((leveltime % TICRATE) - TICRATE/2))*FRACUNIT, mobj->target->scale) - mobj->height;
mobj->z = mobj->target->z - FixedMul((16 + abs((signed)(leveltime % TICRATE) - TICRATE/2))*FRACUNIT, mobj->target->scale) - mobj->height;
break;
case MT_DROWNNUMBERS:
if (!mobj->target)
@ -7268,7 +7269,7 @@ void P_MobjThinker(mobj_t *mobj)
break;
case MT_AQUABUZZ:
P_MobjCheckWater(mobj); // solely for MFE_UNDERWATER for A_FlickySpawn
// no break here on purpose
/* FALLTHRU */
case MT_BIGAIRMINE:
{
if (mobj->tracer && mobj->tracer->player && mobj->tracer->health > 0
@ -7752,7 +7753,7 @@ void P_MobjThinker(mobj_t *mobj)
else
mobj->z = mobj->floorz;
}
// THERE IS NO BREAK HERE ON PURPOSE
/* FALLTHRU */
default:
// check mobj against possible water content, before movement code
P_MobjCheckWater(mobj);
@ -8789,6 +8790,7 @@ void P_PrecipitationEffects(void)
{
case PRECIP_RAIN: // no lightning or thunder whatsoever
sounds_thunder = false;
/* FALLTHRU */
case PRECIP_STORM_NOSTRIKES: // no lightning strikes specifically
effects_lightning = false;
break;
@ -11311,4 +11313,4 @@ mobj_t *P_SpawnMobjFromMobj(mobj_t *mobj, fixed_t xofs, fixed_t yofs, fixed_t zo
newmobj->destscale = mobj->destscale;
P_SetScale(newmobj, mobj->scale);
return newmobj;
}
}

View File

@ -1670,12 +1670,18 @@ static inline void SaveWhatThinker(const thinker_t *th, const UINT8 type)
static void P_NetArchiveThinkers(void)
{
const thinker_t *th;
UINT32 numsaved = 0;
WRITEUINT32(save_p, ARCHIVEBLOCK_THINKERS);
// save off the current thinkers
for (th = thinkercap.next; th != &thinkercap; th = th->next)
{
if (!(th->function.acp1 == (actionf_p1)P_RemoveThinkerDelayed
|| th->function.acp1 == (actionf_p1)P_RainThinker
|| th->function.acp1 == (actionf_p1)P_SnowThinker))
numsaved++;
if (th->function.acp1 == (actionf_p1)P_MobjThinker)
{
SaveMobjThinker(th, tc_mobj);
@ -1869,6 +1875,8 @@ static void P_NetArchiveThinkers(void)
#endif
}
CONS_Debug(DBG_NETPLAY, "%u thinkers saved\n", numsaved);
WRITEUINT8(save_p, tc_end);
}
@ -2656,6 +2664,7 @@ static void P_NetUnArchiveThinkers(void)
UINT8 tclass;
UINT8 restoreNum = false;
UINT32 i;
UINT32 numloaded = 0;
if (READUINT32(save_p) != ARCHIVEBLOCK_THINKERS)
I_Error("Bad $$$.sav at archive block Thinkers");
@ -2689,6 +2698,7 @@ static void P_NetUnArchiveThinkers(void)
if (tclass == tc_end)
break; // leave the saved thinker reading loop
numloaded++;
switch (tclass)
{
@ -2844,6 +2854,8 @@ static void P_NetUnArchiveThinkers(void)
}
}
CONS_Debug(DBG_NETPLAY, "%u thinkers loaded\n", numloaded);
if (restoreNum)
{
executor_t *delay = NULL;

View File

@ -3746,6 +3746,7 @@ void P_ProcessSpecialSector(player_t *player, sector_t *sector, sector_t *rovers
goto DoneSection2;
}
}
/* FALLTHRU */
case 4: // Linedef executor that doesn't require touching floor
case 5: // Linedef executor
case 6: // Linedef executor (7 Emeralds)
@ -4788,6 +4789,8 @@ static void P_RunSpecialSectorCheck(player_t *player, sector_t *sector)
// requires touching floor.
break;
}
/* FALLTHRU */
case 1: // Starpost activator
case 5: // Fan sector
case 6: // Super Sonic Transform
@ -5944,6 +5947,8 @@ void P_SpawnSpecials(INT32 fromnetsave)
EV_DoFloor(&lines[i], bounceFloor);
if (lines[i].special == 54)
break;
/* FALLTHRU */
case 55: // New super cool and awesome moving ceiling type
if (lines[i].backsector)
EV_DoCeiling(&lines[i], bounceCeiling);
@ -5955,7 +5960,8 @@ void P_SpawnSpecials(INT32 fromnetsave)
EV_DoFloor(&lines[i], bounceFloorCrush);
if (lines[i].special == 57)
break; //only move the floor
break; //only move the floor
/* FALLTHRU */
case 58: // New super cool and awesome moving ceiling crush type
if (lines[i].backsector)
@ -7043,6 +7049,7 @@ static void P_SpawnScrollers(void)
Add_Scroller(sc_ceiling, -dx, dy, control, s, accel, l->flags & ML_NOCLIMB);
if (special != 533)
break;
/* FALLTHRU */
case 523: // carry objects on ceiling
dx = FixedMul(dx, CARRYFACTOR);
@ -7057,6 +7064,7 @@ static void P_SpawnScrollers(void)
Add_Scroller(sc_floor, -dx, dy, control, s, accel, l->flags & ML_NOCLIMB);
if (special != 530)
break;
/* FALLTHRU */
case 520: // carry objects on floor
dx = FixedMul(dx, CARRYFACTOR);

View File

@ -8819,7 +8819,7 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
// x1.2 dist for analog
if (P_AnalogMove(player))
dist = FixedMul(dist, 6*FRACUNIT/5);
if (player->climbing || player->exiting || player->playerstate == PST_DEAD || (player->powers[pw_carry] == CR_ROPEHANG || player->powers[pw_carry] == CR_GENERIC || player->powers[pw_carry] == CR_MACESPIN))
dist <<= 1;
}
@ -9773,6 +9773,7 @@ void P_PlayerThink(player_t *player)
player->drawangle = R_PointToAngle2(0, 0, player->mo->momx, player->mo->momy);
break;
}
/* FALLTHRU */
default:
player->drawangle = player->mo->angle;
break;

View File

@ -65,37 +65,6 @@ ifdef MACOSX
LIBS+=-framework CoreFoundation
endif
#
#here is GP2x (arm-gp2x-linux)
#
ifdef GP2X
PNG_CONFIG?=$(PREFIX)-libpng12-config
ifdef STATIC #need a better setting name
CFLAGS+=-I$(OPEN2X)/include
ifndef NOMIXER
LIBS+=-lvorbisidec
ifdef MIKMOD
LIBS+=-lmikmod
endif
ifdef SMPEGLIB
LIBS+=-lsmpeg
LD=$(CXX)
endif
endif
NONET=1
endif
ifndef ARCHNAME
"error"
endif
NONX86=1
NOHW=1
NOHS=1
NOMD5=1
WFLAGS+=-O0
OPTS+=-DGP2X -ffast-math -mcpu=arm920t
EXENAME?=SRB2GP2X.gpe
endif
ifndef NOHW
OPTS+=-I/usr/X11R6/include
LDFLAGS+=-L/usr/X11R6/lib

View File

@ -14,26 +14,6 @@ ifdef PANDORA
include sdl/SRB2Pandora/Makefile.cfg
endif #ifdef PANDORA
ifdef DC
include sdl/SRB2DC/Makefile.cfg
endif #ifdef DC
ifdef PS3N
include sdl/SRB2PS3/Makefile.cfg
endif #ifdef PS3N
ifdef PSP
include sdl/SRB2PSP/Makefile.cfg
endif #ifdef PSP
ifdef XBOX
include sdl/SRB2XBOX/Makefile.cfg
endif #ifdef XBOX
ifdef WINCE
include sdl/SRB2CE/Makefile.cfg
endif #ifef WINCE
ifdef CYGWIN32
include sdl/MakeCYG.cfg
endif #ifdef CYGWIN32
@ -150,15 +130,8 @@ endif
endif
endif
# FIXME: DevkitPPC and ready-compiled SDL Wii require these things to be in a silly order
ifdef WII
include sdl/SRB2WII/Makefile.cfg
endif #ifdef WII
CFLAGS+=$(SDL_CFLAGS)
LIBS:=$(SDL_LDFLAGS) $(LIBS)
ifndef WII
ifdef STATIC
LIBS+=$(shell $(SDL_CONFIG) --static-libs)
endif
endif

View File

@ -33,7 +33,6 @@
void ShowEndTxt(void)
{
#if !(defined (_WIN32_WCE) || defined (_XBOX) || defined (_arch_dreamcast))
INT32 i;
UINT16 j, att = 0;
INT32 nlflag = 1;
@ -232,5 +231,4 @@ void ShowEndTxt(void)
printf("\n");
Z_Free(data);
#endif
}

View File

@ -37,14 +37,8 @@
#pragma warning(default : 4214 4244)
#endif
#if defined (_XBOX) || defined (_arch_dreamcast) || defined(GP2X)
#define NOLOADSO
#endif
#if SDL_VERSION_ATLEAST(1,2,6) && !defined (NOLOADSO)
#include "SDL_loadso.h" // 1.2.6+
#elif !defined (NOLOADSO)
#define NOLOADSO
#ifndef NOLOADSO
#include "SDL_loadso.h"
#endif
#define _CREATE_DLL_ // necessary for Unix AND Windows

View File

@ -26,28 +26,6 @@
#include <unistd.h>
#endif
#ifdef _WII
#include <limits.h>
#include <network.h>
#include <fat.h>
#ifdef REMOTE_DEBUGGING
#include <debug.h>
#endif
static char wiicwd[PATH_MAX] = "sd:/";
static char localip[16] = {0};
static char gateway[16] = {0};
static char netmask[16] = {0};
#endif
#ifdef _PSP
#include <pspmoduleinfo.h>
#include <pspthreadman.h>
PSP_HEAP_SIZE_KB(24*1024);
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER | PSP_THREAD_ATTR_VFPU);
PSP_MAIN_THREAD_NAME("SRB2");
PSP_MAIN_THREAD_STACK_SIZE_KB(256);
#endif
#ifdef HAVE_SDL
#ifdef HAVE_TTF
@ -79,23 +57,12 @@ FILE *logstream = NULL;
#endif
#endif
#if defined (_WIN32) && !defined (_XBOX)
#if defined (_WIN32)
#include "../win32/win_dbg.h"
typedef BOOL (WINAPI *p_IsDebuggerPresent)(VOID);
#endif
#ifdef _arch_dreamcast
#include <arch/arch.h>
KOS_INIT_FLAGS(INIT_DEFAULT
//| INIT_NET
//| INIT_MALLOCSTATS
//| INIT_QUIET
//| INIT_OCRAM
//| INIT_NO_DCLOAD
);
#endif
#if defined (_WIN32) && !defined (_XBOX) && !defined (_WIN32_WCE)
#if defined (_WIN32)
static inline VOID MakeCodeWritable(VOID)
{
#ifdef USEASM // Disable write-protection of code segment
@ -136,13 +103,6 @@ static inline VOID MakeCodeWritable(VOID)
\return int
*/
#if defined (_XBOX) && defined (__GNUC__)
void XBoxStartup()
{
const char *logdir = NULL;
myargc = -1;
myargv = NULL;
#else
#ifdef FORCESDLMAIN
int SDL_main(int argc, char **argv)
#else
@ -152,56 +112,19 @@ int main(int argc, char **argv)
const char *logdir = NULL;
myargc = argc;
myargv = argv; /// \todo pull out path to exe from this string
#endif
#ifdef HAVE_TTF
#ifdef _PS3
// apparently there is a bug in SDL_PSL1GHT which needs this to be set to work around
SDL_setenv("SDL_VIDEODRIVER", "psl1ght", 1);
I_StartupTTF(FONTPOINTSIZE, SDL_INIT_VIDEO, SDL_SWSURFACE|SDL_DOUBLEBUF);
#elif defined(_WIN32)
#ifdef _WIN32
I_StartupTTF(FONTPOINTSIZE, SDL_INIT_VIDEO|SDL_INIT_AUDIO, SDL_SWSURFACE);
#else
I_StartupTTF(FONTPOINTSIZE, SDL_INIT_VIDEO, SDL_SWSURFACE);
#endif
#endif
#ifdef _PS3
// initialise controllers.
//ioPadInit(7);
#endif
// init Wii-specific stuff
#ifdef _WII
// Start network
if_config(localip, netmask, gateway, TRUE);
#ifdef REMOTE_DEBUGGING
#if REMOTE_DEBUGGING == 0
DEBUG_Init(GDBSTUB_DEVICE_TCP, GDBSTUB_DEF_TCPPORT); // Port 2828
#elif REMOTE_DEBUGGING > 2
DEBUG_Init(GDBSTUB_DEVICE_TCP, REMOTE_DEBUGGING); // Custom Port
#elif REMOTE_DEBUGGING < 0
DEBUG_Init(GDBSTUB_DEVICE_USB, GDBSTUB_DEF_CHANNEL); // Slot 1
#else
DEBUG_Init(GDBSTUB_DEVICE_USB, REMOTE_DEBUGGING-1); // Custom Slot
#endif
#endif
// Start FAT filesystem
fatInitDefault();
if (getcwd(wiicwd, PATH_MAX))
I_PutEnv(va("HOME=%ssrb2wii", wiicwd));
#endif
logdir = D_Home();
#ifdef LOGMESSAGES
#if defined(_WIN32_WCE) || defined(GP2X)
logstream = fopen(va("%s.log",argv[0]), "wt");
#elif defined (_WII)
logstream = fopen(va("%s/log.txt",logdir), "wt");
#elif defined (DEFAULTDIR)
#ifdef DEFAULTDIR
if (logdir)
logstream = fopen(va("%s/"DEFAULTDIR"/log.txt",logdir), "wt");
else
@ -211,8 +134,7 @@ int main(int argc, char **argv)
//I_OutputMsg("I_StartupSystem() ...\n");
I_StartupSystem();
#if defined (_WIN32) && !defined (_XBOX)
#ifndef _WIN32_WCE
#if defined (_WIN32)
{
#if 0 // just load the DLL
p_IsDebuggerPresent pfnIsDebuggerPresent = (p_IsDebuggerPresent)GetProcAddress(GetModuleHandleA("kernel32.dll"), "IsDebuggerPresent");
@ -226,11 +148,8 @@ int main(int argc, char **argv)
LoadLibraryA("exchndl.dll");
}
}
#endif
prevExceptionFilter = SetUnhandledExceptionFilter(RecordExceptionInfo);
#ifndef _WIN32_WCE
MakeCodeWritable();
#endif
#endif
// startup SRB2
CONS_Printf("Setting up SRB2...\n");

View File

@ -26,19 +26,12 @@
#include "../config.h.in"
#endif
#ifndef _WIN32_WCE
#include <signal.h>
#endif
#ifdef _XBOX
#include "SRB2XBOX/xboxhelp.h"
#endif
#if defined (_WIN32) && !defined (_XBOX)
#ifdef _WIN32
#define RPC_NO_WINDOWS_H
#include <windows.h>
#include "../doomtype.h"
#ifndef _WIN32_WCE
typedef BOOL (WINAPI *p_GetDiskFreeSpaceExA)(LPCSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER);
typedef BOOL (WINAPI *p_IsProcessorFeaturePresent) (DWORD);
typedef DWORD (WINAPI *p_timeGetTime) (void);
@ -46,7 +39,6 @@ typedef UINT (WINAPI *p_timeEndPeriod) (UINT);
typedef HANDLE (WINAPI *p_OpenFileMappingA) (DWORD, BOOL, LPCSTR);
typedef LPVOID (WINAPI *p_MapViewOfFile) (HANDLE, DWORD, DWORD, DWORD, SIZE_T);
#endif
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@ -59,18 +51,10 @@ typedef LPVOID (WINAPI *p_MapViewOfFile) (HANDLE, DWORD, DWORD, DWORD, SIZE_T);
#include <fcntl.h>
#endif
#ifdef _arch_dreamcast
#include <arch/gdb.h>
#include <arch/timer.h>
#include <conio/conio.h>
#include <dc/pvr.h>
void __set_fpscr(long); // in libgcc / kernel's startup.s?
#else
#include <stdio.h>
#if defined (_WIN32) && !defined (_WIN32_WCE) && !defined (_XBOX)
#ifdef _WIN32
#include <conio.h>
#endif
#endif
#ifdef _MSC_VER
#pragma warning(disable : 4214 4244)
@ -88,15 +72,10 @@ void __set_fpscr(long); // in libgcc / kernel's startup.s?
#pragma warning(default : 4214 4244)
#endif
#if SDL_VERSION_ATLEAST(1,2,7) && !defined (DC)
#include "SDL_cpuinfo.h" // 1.2.7 or greater
#include "SDL_cpuinfo.h"
#define HAVE_SDLCPUINFO
#endif
#ifdef _PSP
//#include <pspiofilemgr.h>
#elif !defined(_PS3)
#if defined (__unix__) || defined(__APPLE__) || (defined (UNIXCOMMON) && !defined (_arch_dreamcast) && !defined (__HAIKU__) && !defined (_WII))
#if defined (__unix__) || defined(__APPLE__) || (defined (UNIXCOMMON) && !defined (__HAIKU__))
#if defined (__linux__)
#include <sys/vfs.h>
#else
@ -111,20 +90,17 @@ void __set_fpscr(long); // in libgcc / kernel's startup.s?
#include <sys/vmmeter.h>
#endif
#endif
#endif
#ifndef _PS3
#if defined (__linux__) || (defined (UNIXCOMMON) && !defined (_arch_dreamcast) && !defined (_PSP) && !defined (__HAIKU__) && !defined (_WII))
#if defined (__linux__) || (defined (UNIXCOMMON) && !defined (__HAIKU__))
#ifndef NOTERMIOS
#include <termios.h>
#include <sys/ioctl.h> // ioctl
#define HAVE_TERMIOS
#endif
#endif
#endif
#ifndef NOMUMBLE
#if defined (__linux__) && !defined(_PS3) // need -lrt
#ifdef __linux__ // need -lrt
#include <sys/mman.h>
#ifdef MAP_FAILED
#define HAVE_SHM
@ -132,7 +108,7 @@ void __set_fpscr(long); // in libgcc / kernel's startup.s?
#include <wchar.h>
#endif
#if defined (_WIN32) && !defined (_WIN32_WCE) && !defined (_XBOX)
#ifdef _WIN32
#define HAVE_MUMBLE
#define WINMUMBLE
#elif defined (HAVE_SHM)
@ -140,10 +116,6 @@ void __set_fpscr(long); // in libgcc / kernel's startup.s?
#endif
#endif // NOMUMBLE
#ifdef _WIN32_WCE
#include "SRB2CE/cehelp.h"
#endif
#ifndef O_BINARY
#define O_BINARY 0
#endif
@ -153,44 +125,7 @@ void __set_fpscr(long); // in libgcc / kernel's startup.s?
#endif
// Locations for searching the srb2.srb
#ifdef _arch_dreamcast
#define DEFAULTWADLOCATION1 "/cd"
#define DEFAULTWADLOCATION2 "/pc"
#define DEFAULTWADLOCATION3 "/pc/home/alam/srb2code/data"
#define DEFAULTSEARCHPATH1 "/cd"
#define DEFAULTSEARCHPATH2 "/pc"
//#define DEFAULTSEARCHPATH3 "/pc/home/alam/srb2code/data"
#elif defined (GP2X)
#define DEFAULTWADLOCATION1 "/mnt/sd"
#define DEFAULTWADLOCATION2 "/mnt/sd/SRB2"
#define DEFAULTWADLOCATION3 "/tmp/mnt/sd"
#define DEFAULTWADLOCATION4 "/tmp/mnt/sd/SRB2"
#define DEFAULTSEARCHPATH1 "/mnt/sd"
#define DEFAULTSEARCHPATH2 "/tmp/mnt/sd"
#elif defined (_WII)
#define NOCWD
#define NOHOME
#define NEED_SDL_GETENV
#define DEFAULTWADLOCATION1 "sd:/srb2wii"
#define DEFAULTWADLOCATION2 "usb:/srb2wii"
#define DEFAULTSEARCHPATH1 "sd:/srb2wii"
#define DEFAULTSEARCHPATH2 "usb:/srb2wii"
// PS3: TODO: this will need modification most likely
#elif defined (_PS3)
#define NOCWD
#define NOHOME
#define DEFAULTWADLOCATION1 "/dev_hdd0/game/SRB2-PS3_/USRDIR/etc"
#define DEFAULTWADLOCATION2 "/dev_usb/SRB2PS3"
#define DEFAULTSEARCHPATH1 "/dev_hdd0/game/SRB2-PS3_/USRDIR/etc"
#define DEFAULTSEARCHPATH2 "/dev_usb/SRB2PS3"
#elif defined (_PSP)
#define NOCWD
#define NOHOME
#define DEFAULTWADLOCATION1 "host0:/bin/Resources"
#define DEFAULTWADLOCATION2 "ms0:/PSP/GAME/SRB2PSP"
#define DEFAULTSEARCHPATH1 "host0:/"
#define DEFAULTSEARCHPATH2 "ms0:/PSP/GAME/SRB2PSP"
#elif defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
#define DEFAULTWADLOCATION1 "/usr/local/share/games/SRB2"
#define DEFAULTWADLOCATION2 "/usr/local/games/SRB2"
#define DEFAULTWADLOCATION3 "/usr/share/games/SRB2"
@ -198,23 +133,6 @@ void __set_fpscr(long); // in libgcc / kernel's startup.s?
#define DEFAULTSEARCHPATH1 "/usr/local/games"
#define DEFAULTSEARCHPATH2 "/usr/games"
#define DEFAULTSEARCHPATH3 "/usr/local"
#elif defined (_XBOX)
#define NOCWD
#ifdef __GNUC__
#include <openxdk/debug.h>
#endif
#define DEFAULTWADLOCATION1 "c:\\srb2"
#define DEFAULTWADLOCATION2 "d:\\srb2"
#define DEFAULTWADLOCATION3 "e:\\srb2"
#define DEFAULTWADLOCATION4 "f:\\srb2"
#define DEFAULTWADLOCATION5 "g:\\srb2"
#define DEFAULTWADLOCATION6 "h:\\srb2"
#define DEFAULTWADLOCATION7 "i:\\srb2"
#elif defined (_WIN32_WCE)
#define NOCWD
#define NOHOME
#define DEFAULTWADLOCATION1 "\\Storage Card\\SRB2DEMO"
#define DEFAULTSEARCHPATH1 "\\Storage Card"
#elif defined (_WIN32)
#define DEFAULTWADLOCATION1 "c:\\games\\srb2"
#define DEFAULTWADLOCATION2 "\\games\\srb2"
@ -270,9 +188,6 @@ static void JoyReset(SDLJoyInfo_t *JoySet)
{
if (JoySet->dev)
{
#ifdef GP2X //GP2X's SDL does an illegal free on the 1st joystick...
if (SDL_JoystickIndex(JoySet->dev) != 0)
#endif
SDL_JoystickClose(JoySet->dev);
}
JoySet->dev = NULL;
@ -308,7 +223,6 @@ SDL_bool framebuffer = SDL_FALSE;
UINT8 keyboard_started = false;
#if !defined (DC)
FUNCNORETURN static ATTRNORETURN void signal_handler(INT32 num)
{
//static char msg[] = "oh no! back to reality!\r\n";
@ -362,7 +276,6 @@ FUNCNORETURN static ATTRNORETURN void quit_handler(int num)
raise(num);
I_Quit();
}
#endif
#ifdef HAVE_TERMIOS
// TERMIOS console code from Quake3: thank you!
@ -487,9 +400,7 @@ static void I_StartupConsole(void)
signal(SIGTTIN, SIG_IGN);
signal(SIGTTOU, SIG_IGN);
#if !defined(GP2X) //read is bad on GP2X
consolevent = !M_CheckParm("-noconsole");
#endif
framebuffer = M_CheckParm("-framebuffer");
if (framebuffer)
@ -577,7 +488,7 @@ void I_GetConsoleEvents(void)
(void)d;
}
#elif defined (_WIN32) && !(defined (_XBOX) || defined (_WIN32_WCE))
#elif defined (_WIN32)
static BOOL I_ReadyConsole(HANDLE ci)
{
DWORD gotinput;
@ -716,17 +627,6 @@ static inline void I_ShutdownConsole(void){}
void I_GetConsoleEvents(void){}
static inline void I_StartupConsole(void)
{
#ifdef _arch_dreamcast
char title[] = "SRB2 for Dreamcast!\n";
__set_fpscr(0x00040000); /* ignore FPU underflow */
//printf("\nHello world!\n\n");
pvr_init_defaults();
conio_init(CONIO_TTY_PVR, CONIO_INPUT_LINE);
conio_set_theme(CONIO_THEME_MATRIX);
conio_clear();
conio_putstr(title);
//printf("\nHello world!\n\n");
#endif
#ifdef _DEBUG
consolevent = !M_CheckParm("-noconsole");
#else
@ -746,7 +646,6 @@ static inline void I_ShutdownConsole(void){}
//
void I_StartupKeyboard (void)
{
#if !defined (DC)
#ifdef SIGINT
signal(SIGINT , quit_handler);
#endif
@ -763,7 +662,6 @@ void I_StartupKeyboard (void)
signal(SIGSEGV , signal_handler);
signal(SIGABRT , signal_handler);
signal(SIGFPE , signal_handler);
#endif
}
//
@ -775,10 +673,6 @@ void I_OutputMsg(const char *fmt, ...)
XBOXSTATIC char txt[8192];
va_list argptr;
#ifdef _arch_dreamcast
if (!keyboard_started) conio_printf(fmt);
#endif
va_start(argptr,fmt);
vsprintf(txt, fmt, argptr);
va_end(argptr);
@ -788,7 +682,7 @@ void I_OutputMsg(const char *fmt, ...)
DEFAULTFONTBGR, DEFAULTFONTBGG, DEFAULTFONTBGB, DEFAULTFONTBGA, txt);
#endif
#if defined (_WIN32) && !defined (_XBOX) && defined (_MSC_VER)
#if defined (_WIN32) && defined (_MSC_VER)
OutputDebugStringA(txt);
#endif
@ -803,7 +697,7 @@ void I_OutputMsg(const char *fmt, ...)
}
#endif
#if defined (_WIN32) && !defined (_XBOX) && !defined(_WIN32_WCE)
#if defined (_WIN32)
#ifdef DEBUGFILE
if (debugfile != stderr)
#endif
@ -917,22 +811,12 @@ INT32 I_GetKey (void)
//
void I_JoyScale(void)
{
#ifdef GP2X
if (JoyInfo.dev && SDL_JoystickIndex(JoyInfo.dev) == 0)
Joystick.bGamepadStyle = true;
else
#endif
Joystick.bGamepadStyle = cv_joyscale.value==0;
JoyInfo.scale = Joystick.bGamepadStyle?1:cv_joyscale.value;
}
void I_JoyScale2(void)
{
#ifdef GP2X
if (JoyInfo2.dev && SDL_JoystickIndex(JoyInfo2.dev) == 0)
Joystick.bGamepadStyle = true;
else
#endif
Joystick2.bGamepadStyle = cv_joyscale2.value==0;
JoyInfo2.scale = Joystick2.bGamepadStyle?1:cv_joyscale2.value;
}
@ -1035,11 +919,6 @@ void I_GetJoystickEvents(void)
event.type = ev_keydown;
else
event.type = ev_keyup;
#ifdef _PSP
if (i == 12)
event.data1 = KEY_ESCAPE;
else
#endif
event.data1 = KEY_JOY1 + i;
D_PostEvent(&event);
}
@ -1090,13 +969,11 @@ void I_GetJoystickEvents(void)
axisy = SDL_JoystickGetAxis(JoyInfo.dev, i*2 + 1);
else axisy = 0;
#ifdef _arch_dreamcast // -128 to 127
axisx = axisx*8;
axisy = axisy*8;
#else // -32768 to 32767
// -32768 to 32767
axisx = axisx/32;
axisy = axisy/32;
#endif
if (Joystick.bGamepadStyle)
{
@ -1214,15 +1091,11 @@ static int joy_open(const char *fname)
if (JoyInfo.buttons > JOYBUTTONS)
JoyInfo.buttons = JOYBUTTONS;
#ifdef DC
JoyInfo.hats = 0;
#else
JoyInfo.hats = SDL_JoystickNumHats(JoyInfo.dev);
if (JoyInfo.hats > JOYHATS)
JoyInfo.hats = JOYHATS;
JoyInfo.balls = SDL_JoystickNumBalls(JoyInfo.dev);
#endif
//Joystick.bGamepadStyle = !stricmp(SDL_JoystickName(JoyInfo.dev), "pad");
@ -1379,13 +1252,9 @@ void I_GetJoystick2Events(void)
axisy = SDL_JoystickGetAxis(JoyInfo2.dev, i*2 + 1);
else axisy = 0;
#ifdef _arch_dreamcast // -128 to 127
axisx = axisx*8;
axisy = axisy*8;
#else // -32768 to 32767
// -32768 to 32767
axisx = axisx/32;
axisy = axisy/32;
#endif
if (Joystick2.bGamepadStyle)
{
@ -1504,15 +1373,11 @@ static int joy_open2(const char *fname)
if (JoyInfo2.buttons > JOYBUTTONS)
JoyInfo2.buttons = JOYBUTTONS;
#ifdef DC
JoyInfo2.hats = 0;
#else
JoyInfo2.hats = SDL_JoystickNumHats(JoyInfo2.dev);
if (JoyInfo2.hats > JOYHATS)
JoyInfo2.hats = JOYHATS;
JoyInfo2.balls = SDL_JoystickNumBalls(JoyInfo2.dev);
#endif
//Joystick.bGamepadStyle = !stricmp(SDL_JoystickName(JoyInfo2.dev), "pad");
@ -1796,7 +1661,7 @@ static void I_ShutdownMouse2(void)
if (fdmouse2 != -1) close(fdmouse2);
mouse2_started = 0;
}
#elif defined (_WIN32) && !defined (_XBOX)
#elif defined (_WIN32)
static HANDLE mouse2filehandle = INVALID_HANDLE_VALUE;
@ -1994,7 +1859,7 @@ void I_StartupMouse2(void)
}
mouse2_started = 1;
I_AddExitFunc(I_ShutdownMouse2);
#elif defined (_WIN32) && !defined (_XBOX)
#elif defined (_WIN32)
DCB dcb;
if (mouse2filehandle != INVALID_HANDLE_VALUE)
@ -2089,7 +1954,7 @@ FUNCMATH ticcmd_t *I_BaseTiccmd2(void)
return &emptycmd2;
}
#if (defined (_WIN32) && !defined (_WIN32_WCE)) && !defined (_XBOX)
#if defined (_WIN32)
static HMODULE winmm = NULL;
static DWORD starttickcount = 0; // hack for win2k time bug
static p_timeGetTime pfntimeGetTime = NULL;
@ -2159,13 +2024,8 @@ static void I_ShutdownTimer(void)
//
tic_t I_GetTime (void)
{
#ifdef _arch_dreamcast
static Uint64 basetime = 0;
Uint64 ticks = timer_ms_gettime64(); //using timer_ms_gettime64 instand of SDL_GetTicks for the Dreamcast
#else
static Uint32 basetime = 0;
Uint32 ticks = SDL_GetTicks();
#endif
if (!basetime)
basetime = ticks;
@ -2174,11 +2034,7 @@ tic_t I_GetTime (void)
ticks = (ticks*TICRATE);
#if 0 //#ifdef _WIN32_WCE
ticks = (ticks/10);
#else
ticks = (ticks/1000);
#endif
return (tic_t)ticks;
}
@ -2189,7 +2045,7 @@ tic_t I_GetTime (void)
//
FUNCMATH void I_StartupTimer(void)
{
#if (defined (_WIN32) && !defined (_WIN32_WCE)) && !defined (_XBOX)
#ifdef _WIN32
// for win2k time bug
if (M_CheckParm("-gettickcount"))
{
@ -2205,9 +2061,6 @@ FUNCMATH void I_StartupTimer(void)
pfntimeGetTime = (p_timeGetTime)GetProcAddress(winmm, "timeGetTime");
}
I_AddExitFunc(I_ShutdownTimer);
#elif 0 //#elif !defined (_arch_dreamcast) && !defined(GP2X) // the DC have it own timer and GP2X have broken pthreads?
if (SDL_InitSubSystem(SDL_INIT_TIMER) < 0)
I_Error("SRB2: Needs SDL_Timer, Error: %s", SDL_GetError());
#endif
}
@ -2215,35 +2068,14 @@ FUNCMATH void I_StartupTimer(void)
void I_Sleep(void)
{
#if !(defined (_arch_dreamcast) || defined (_XBOX))
if (cv_sleep.value != -1)
SDL_Delay(cv_sleep.value);
#endif
}
INT32 I_StartupSystem(void)
{
SDL_version SDLcompiled;
SDL_version SDLlinked;
#ifdef _XBOX
#ifdef __GNUC__
char DP[] =" Sonic Robo Blast 2!\n";
debugPrint(DP);
#endif
unlink("e:/Games/SRB2/stdout.txt");
freopen("e:/Games/SRB2/stdout.txt", "w+", stdout);
unlink("e:/Games/SRB2/stderr.txt");
freopen("e:/Games/SRB2/stderr.txt", "w+", stderr);
#endif
#ifdef _arch_dreamcast
#ifdef _DEBUG
//gdb_init();
#endif
printf(__FILE__":%i\n",__LINE__);
#ifdef _DEBUG
//gdb_breakpoint();
#endif
#endif
SDL_VERSION(&SDLcompiled)
SDL_GetVersion(&SDLlinked);
I_StartupConsole();
@ -2251,11 +2083,7 @@ INT32 I_StartupSystem(void)
SDLcompiled.major, SDLcompiled.minor, SDLcompiled.patch);
I_OutputMsg("Linked with SDL version: %d.%d.%d\n",
SDLlinked.major, SDLlinked.minor, SDLlinked.patch);
#if 0 //#ifdef GP2X //start up everything
if (SDL_Init(SDL_INIT_NOPARACHUTE|SDL_INIT_EVERYTHING) < 0)
#else
if (SDL_Init(SDL_INIT_NOPARACHUTE) < 0)
#endif
if (SDL_Init(0) < 0)
I_Error("SRB2: SDL System Error: %s", SDL_GetError()); //Alam: Oh no....
#ifndef NOMUMBLE
I_SetupMumble();
@ -2297,9 +2125,7 @@ void I_Quit(void)
I_ShutdownGraphics();
I_ShutdownInput();
I_ShutdownSystem();
#ifndef _arch_dreamcast
SDL_Quit();
#endif
/* if option -noendtxt is set, don't print the text */
if (!M_CheckParm("-noendtxt") && W_CheckNumForName("ENDOOM") != LUMPERROR)
{
@ -2308,10 +2134,6 @@ void I_Quit(void)
}
death:
W_Shutdown();
#ifdef GP2X
chdir("/usr/gp2x");
execl("/usr/gp2x/gp2xmenu", "/usr/gp2x/gp2xmenu", NULL);
#endif
exit(0);
}
@ -2364,10 +2186,8 @@ void I_Error(const char *error, ...)
I_ShutdownInput();
if (errorcount == 7)
I_ShutdownSystem();
#ifndef _arch_dreamcast
if (errorcount == 8)
SDL_Quit();
#endif
if (errorcount == 9)
{
M_SaveConfig(NULL);
@ -2386,12 +2206,6 @@ void I_Error(const char *error, ...)
buffer, NULL);
W_Shutdown();
#ifdef GP2X
chdir("/usr/gp2x");
execl("/usr/gp2x/gp2xmenu", "/usr/gp2x/gp2xmenu", NULL);
#endif
exit(-1); // recursive errors detected
}
}
@ -2427,9 +2241,7 @@ void I_Error(const char *error, ...)
I_ShutdownGraphics();
I_ShutdownInput();
I_ShutdownSystem();
#ifndef _arch_dreamcast
SDL_Quit();
#endif
// Implement message box with SDL_ShowSimpleMessageBox,
// which should fail gracefully if it can't put a message box up
@ -2449,11 +2261,6 @@ void I_Error(const char *error, ...)
*(INT32 *)2 = 4; //Alam: Debug!
#endif
#ifdef GP2X
chdir("/usr/gp2x");
execl("/usr/gp2x/gp2xmenu", "/usr/gp2x/gp2xmenu", NULL);
#endif
exit(-1);
}
@ -2516,7 +2323,7 @@ void I_ShutdownSystem(void)
for (c = MAX_QUIT_FUNCS-1; c >= 0; c--)
if (quit_funcs[c])
(*quit_funcs[c])();
#ifdef LOGMESSAGES
#ifdef LOGMESSAGES
if (logstream)
{
I_OutputMsg("I_ShutdownSystem(): end of logstream.\n");
@ -2529,10 +2336,8 @@ void I_ShutdownSystem(void)
void I_GetDiskFreeSpace(INT64 *freespace)
{
#if defined (_arch_dreamcast) || defined (_PSP)
*freespace = 0;
#elif defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
#if defined (SOLARIS) || defined (__HAIKU__) || defined (_WII) || defined (_PS3)
#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
#if defined (SOLARIS) || defined (__HAIKU__)
*freespace = INT32_MAX;
return;
#else // Both Linux and BSD have this, apparently.
@ -2544,7 +2349,7 @@ void I_GetDiskFreeSpace(INT64 *freespace)
}
*freespace = stfs.f_bavail * stfs.f_bsize;
#endif
#elif (defined (_WIN32) && !defined (_WIN32_WCE)) && !defined (_XBOX)
#elif defined (_WIN32)
static p_GetDiskFreeSpaceExA pfnGetDiskFreeSpaceEx = NULL;
static boolean testwin95 = false;
ULARGE_INTEGER usedbytes, lfreespace;
@ -2575,13 +2380,6 @@ void I_GetDiskFreeSpace(INT64 *freespace)
char *I_GetUserName(void)
{
#ifdef GP2X
static char username[MAXPLAYERNAME] = "GP2XUSER";
return username;
#elif defined (PSP)
static char username[MAXPLAYERNAME] = "PSPUSER";
return username;
#elif !(defined (_WIN32_WCE) || defined (_XBOX))
static char username[MAXPLAYERNAME];
char *p;
#ifdef _WIN32
@ -2613,7 +2411,6 @@ char *I_GetUserName(void)
if (strcmp(username, "") != 0)
return username;
#endif
return NULL; // dummy for platform independent version
}
@ -2622,7 +2419,7 @@ INT32 I_mkdir(const char *dirname, INT32 unixright)
//[segabor]
#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON) || defined (__CYGWIN__) || defined (__OS2__)
return mkdir(dirname, unixright);
#elif (defined (_WIN32) || (defined (_WIN32_WCE) && !defined (__GNUC__))) && !defined (_XBOX)
#elif defined (_WIN32)
UNREFERENCED_PARAMETER(unixright); /// \todo should implement ntright under nt...
return CreateDirectoryA(dirname, NULL);
#else
@ -2636,9 +2433,6 @@ char *I_GetEnv(const char *name)
{
#ifdef NEED_SDL_GETENV
return SDL_getenv(name);
#elif defined(_WIN32_WCE)
(void)name;
return NULL;
#else
return getenv(name);
#endif
@ -2648,8 +2442,6 @@ INT32 I_PutEnv(char *variable)
{
#ifdef NEED_SDL_GETENV
return SDL_putenv(variable);
#elif defined(_WIN32_WCE)
return ((variable)?-1:0);
#else
return putenv(variable);
#endif
@ -2789,15 +2581,6 @@ static const char *locateWad(void)
if (((envstr = I_GetEnv("SRB2WADDIR")) != NULL) && isWadPathOk(envstr))
return envstr;
#if defined(_WIN32_WCE) || defined(_PS3) || defined(_PSP)
// examine argv[0]
strcpy(returnWadPath, myargv[0]);
pathonly(returnWadPath);
I_PutEnv(va("HOME=%s",returnWadPath));
if (isWadPathOk(returnWadPath))
return returnWadPath;
#endif
#ifndef NOCWD
I_OutputMsg(",.");
// examine current dir
@ -2916,9 +2699,9 @@ const char *I_LocateWad(void)
if (waddir)
{
// change to the directory where we found srb2.srb
#if (defined (_WIN32) && !defined (_WIN32_WCE)) && !defined (_XBOX)
#if defined (_WIN32)
SetCurrentDirectoryA(waddir);
#elif !defined (_WIN32_WCE) && !defined (_PS3)
#else
if (chdir(waddir) == -1)
I_OutputMsg("Couldn't change working directory\n");
#endif
@ -2935,17 +2718,7 @@ const char *I_LocateWad(void)
// quick fix for compil
UINT32 I_GetFreeMem(UINT32 *total)
{
#if defined (_arch_dreamcast)
//Dreamcast!
if (total)
*total = 16<<20;
return 8<<20;
#elif defined (_PSP)
// PSP
if (total)
*total = 32<<20;
return 16<<20;
#elif defined (FREEBSD)
#ifdef FREEBSD
struct vmmeter sum;
kvm_t *kd;
struct nlist namelist[] =
@ -2982,7 +2755,7 @@ UINT32 I_GetFreeMem(UINT32 *total)
if (total)
*total = 32 << 20;
return 32 << 20;
#elif (defined (_WIN32) || (defined (_WIN32_WCE) && !defined (__GNUC__))) && !defined (_XBOX)
#elif defined (_WIN32)
MEMORYSTATUS info;
info.dwLength = sizeof (MEMORYSTATUS);
@ -3054,7 +2827,7 @@ UINT32 I_GetFreeMem(UINT32 *total)
const CPUInfoFlags *I_CPUInfo(void)
{
#if (defined (_WIN32) && !defined (_WIN32_WCE)) && !defined (_XBOX)
#if defined (_WIN32)
static CPUInfoFlags WIN_CPUInfo;
SYSTEM_INFO SI;
p_IsProcessorFeaturePresent pfnCPUID = (p_IsProcessorFeaturePresent)GetProcAddress(GetModuleHandleA("kernel32.dll"), "IsProcessorFeaturePresent");

View File

@ -26,10 +26,7 @@
#include "i_ttf.h"
// Search directories to find aforementioned TTF file.
#ifdef _PS3
#include <sysutil/video.h>
#define FONTSEARCHPATH1 "/dev_hdd0/game/SRB2-PS3_/USRDIR/etc"
#elif defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
#define FONTSEARCHPATH1 "/usr/share/fonts"
#define FONTSEARCHPATH2 "/usr/local/share/fonts"
#define FONTSEARCHPATH3 "/usr/games/SRB2"
@ -233,16 +230,9 @@ void I_StartupTTF(UINT32 fontpointsize, Uint32 initflags, Uint32 vidmodeflags)
{
char *fontpath = NULL;
INT32 fontstatus = -1;
#ifdef _PS3
videoState state;
videoGetState(0, 0, &state);
videoGetResolution(state.displayMode.resolution, &res);
bitsperpixel = 24;
#else
res.width = 320;
res.height = 200;
bitsperpixel = 8;
#endif
// what's the point of trying to display an error?
// SDL_ttf is not started, can't display anything to screen (presumably)...

View File

@ -57,13 +57,12 @@ int currentfonthinting;
int currentfontoutline;
#endif
#ifndef _PS3
typedef struct
{
UINT16 width;
UINT16 height;
} VideoResolution;
#endif
UINT8 bitsperpixel;
typedef enum

View File

@ -47,7 +47,7 @@
#include "../doomdef.h"
#if defined (_WIN32)
#ifdef _WIN32
#include "SDL_syswm.h"
#endif
@ -941,6 +941,7 @@ static inline boolean I_SkipFrame(void)
case GS_LEVEL:
if (!paused)
return false;
/* FALLTHRU */
//case GS_TIMEATTACK: -- sorry optimisation but now we have a cool level platter and that being laggardly looks terrible
case GS_WAITINGPLAYERS:
return skip; // Skip odd frames

View File

@ -43,12 +43,10 @@
#define HAVE_ZLIB
#ifndef _MSC_VER
#ifndef _WII
#ifndef _LARGEFILE64_SOURCE
#define _LARGEFILE64_SOURCE
#endif
#endif
#endif
#ifndef _LFS64_LARGEFILE
#define _LFS64_LARGEFILE

View File

@ -49,7 +49,7 @@
#define MIX_CHANNELS 8
#endif
#if defined (_WIN32) && !defined (_WIN32_WCE) && !defined (_XBOX)
#ifdef _WIN32
#include <direct.h>
#elif defined (__GNUC__)
#include <unistd.h>
@ -85,21 +85,11 @@
// mixing buffer, and the samplerate of the raw data.
// Needed for calling the actual sound output.
#if defined (_WIN32_WCE) || defined (DC) || defined (PSP) || defined(GP2X)
#define NUM_CHANNELS MIX_CHANNELS
#else
#define NUM_CHANNELS MIX_CHANNELS*4
#endif
#define INDEXOFSFX(x) ((sfxinfo_t *)x - S_sfx)
#if defined (_WIN32_WCE) || defined (DC) || defined (PSP)
static Uint16 samplecount = 512; //Alam: .5KB samplecount at 11025hz is 46.439909297052154195011337868481ms of buffer
#elif defined(GP2X)
static Uint16 samplecount = 128;
#else
static Uint16 samplecount = 1024; //Alam: 1KB samplecount at 22050hz is 46.439909297052154195011337868481ms of buffer
#endif
typedef struct chan_struct
{
@ -151,17 +141,10 @@ static SDL_bool musicStarted = SDL_FALSE;
#ifdef HAVE_MIXER
static SDL_mutex *Msc_Mutex = NULL;
/* FIXME: Make this file instance-specific */
#ifdef _arch_dreamcast
#define MIDI_PATH "/ram"
#elif defined(GP2X)
#define MIDI_PATH "/mnt/sd/srb2"
#define MIDI_PATH2 "/tmp/mnt/sd/srb2"
#else
#define MIDI_PATH srb2home
#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
#define MIDI_PATH2 "/tmp"
#endif
#endif
#define MIDI_TMPFILE "srb2music"
#define MIDI_TMPFILE2 "srb2wav"
static INT32 musicvol = 62;
@ -176,7 +159,7 @@ static SDL_bool canlooping = SDL_TRUE;
#if SDL_MIXER_VERSION_ATLEAST(1,2,7)
#define USE_RWOPS // ok, USE_RWOPS is in here
#if defined (DC) || defined (_WIN32_WCE) || defined (_XBOX) //|| defined(_WIN32) || defined(GP2X)
#if 0 // defined(_WIN32)
#undef USE_RWOPS
#endif
#endif
@ -1188,13 +1171,6 @@ void I_StartupSound(void)
#endif
#ifndef HAVE_MIXER
nomidimusic = nodigimusic = true;
#endif
#ifdef DC
//nosound = true;
#ifdef HAVE_MIXER
nomidimusic = true;
nodigimusic = true;
#endif
#endif
memset(channels, 0, sizeof (channels)); //Alam: Clean it
@ -1243,13 +1219,7 @@ void I_StartupSound(void)
audio.samples /= 2;
}
#if defined (_PSP) && defined (HAVE_MIXER) // Bug in PSP's SDL_OpenAudio, can not open twice
I_SetChannels();
sound_started = true;
Snd_Mutex = SDL_CreateMutex();
#else
if (nosound)
#endif
return;
#ifdef HW3SOUND
@ -1302,7 +1272,7 @@ void I_StartupSound(void)
snddev.bps = 16;
snddev.sample_rate = audio.freq;
snddev.numsfxs = NUMSFX;
#if defined (_WIN32) && !defined (_XBOX)
#if defined (_WIN32)
snddev.cooplevel = 0x00000002;
snddev.hWnd = vid.WndParent;
#endif
@ -1520,9 +1490,7 @@ void I_InitMusic(void)
I_OutputMsg("Compiled for SDL_mixer version: %d.%d.%d\n",
MIXcompiled.major, MIXcompiled.minor, MIXcompiled.patch);
#ifdef MIXER_POS
#ifndef _WII
if (MIXlinked->major == 1 && MIXlinked->minor == 2 && MIXlinked->patch < 7)
#endif
canlooping = SDL_FALSE;
#endif
#ifdef USE_RWOPS
@ -1531,13 +1499,11 @@ void I_InitMusic(void)
#endif
I_OutputMsg("Linked with SDL_mixer version: %d.%d.%d\n",
MIXlinked->major, MIXlinked->minor, MIXlinked->patch);
#if !(defined (DC) || defined (PSP) || defined(GP2X) || defined (WII))
if (audio.freq < 44100 && !M_CheckParm ("-freq")) //I want atleast 44Khz
{
audio.samples = (Uint16)(audio.samples*(INT32)(44100/audio.freq));
audio.freq = 44100; //Alam: to keep it around the same XX ms
}
#endif
if (sound_started
#ifdef HW3SOUND
@ -1929,7 +1895,7 @@ boolean I_StartDigSong(const char *musicname, boolean looping)
if (loopstart > 0)
{
loopstartDig = (double)((44.1l+loopstart) / 44100.0l); //8 PCM chucks off and PCM to secs
//#ifdef GP2X//#ifdef PARANOIA
//#ifdef PARANOIA
//I_OutputMsg("I_StartDigSong: setting looping point to %ul PCMs(%f seconds)\n", loopstart, loopstartDig);
//#endif
}

View File

@ -1,5 +1,5 @@
#
# sdl/makeCYG.cfg for SRB2/Cygwin
# sdl12/makeCYG.cfg for SRB2/Cygwin
#
#

View File

@ -1,5 +1,5 @@
#
# sdl/makeNIX.cfg for SRB2/?nix
# sdl12/makeNIX.cfg for SRB2/?nix
#
#Valgrind support

View File

@ -1,5 +1,5 @@
#
# sdl/makefile.cfg for SRB2/SDL
# sdl12/makefile.cfg for SRB2/SDL
#
#
@ -7,35 +7,35 @@
#
ifdef UNIXCOMMON
include sdl/MakeNIX.cfg
include sdl12/MakeNIX.cfg
endif
ifdef PANDORA
include sdl/SRB2Pandora/Makefile.cfg
include sdl12/SRB2Pandora/Makefile.cfg
endif #ifdef PANDORA
ifdef DC
include sdl/SRB2DC/Makefile.cfg
include sdl12/SRB2DC/Makefile.cfg
endif #ifdef DC
ifdef PS3N
include sdl/SRB2PS3/Makefile.cfg
include sdl12/SRB2PS3/Makefile.cfg
endif #ifdef PS3N
ifdef PSP
include sdl/SRB2PSP/Makefile.cfg
include sdl12/SRB2PSP/Makefile.cfg
endif #ifdef PSP
ifdef XBOX
include sdl/SRB2XBOX/Makefile.cfg
include sdl12/SRB2XBOX/Makefile.cfg
endif #ifdef XBOX
ifdef WINCE
include sdl/SRB2CE/Makefile.cfg
include sdl12/SRB2CE/Makefile.cfg
endif #ifef WINCE
ifdef CYGWIN32
include sdl/MakeCYG.cfg
include sdl12/MakeCYG.cfg
endif #ifdef CYGWIN32
ifdef SDL_PKGCONFIG
@ -151,7 +151,7 @@ endif
# FIXME: DevkitPPC and ready-compiled SDL Wii require these things to be in a silly order
ifdef WII
include sdl/SRB2WII/Makefile.cfg
include sdl12/SRB2WII/Makefile.cfg
endif #ifdef WII
CFLAGS+=$(SDL_CFLAGS)

View File

@ -27,10 +27,10 @@ PKGNAME?=SRB2PS3.pkg
endif
DGBNAME?=$(EXENAME).debug
SRB2PS3DIR=sdl/SRB2PS3
SRB2PS3DIR=sdl12/SRB2PS3
ICON0?=$(SRB2PS3DIR)/ICON0.png
SFOXML?=sfo.xml
SRB2TTF?=sdl/srb2.ttf
SRB2TTF?=sdl12/srb2.ttf
TITLE=Sonic Robo Blast 2 v2.0.6
APPID=SRB2-PS3

View File

@ -36,14 +36,14 @@ endif
PSP_EBOOT_TITLE=SRB2-PSP vME
PSP_EBOOT_SFO=$(BIN)/PARAM.SFO
PSP_EBOOT_ICON=sdl/SRB2PSP/ICON0.png
PSP_EBOOT_ICON=sdl12/SRB2PSP/ICON0.png
PSP_EBOOT_ICON1=NULL
PSP_EBOOT_UNKPNG=NULL
PSP_EBOOT_PIC1=sdl/SRB2PSP/PIC1.png
PSP_EBOOT_PIC1=sdl12/SRB2PSP/PIC1.png
PSP_EBOOT_SND0=NULL
PSP_EBOOT_PSAR=NULL
SIGNER?=sdl/SRB2PSP/psp-prxsign/psp-prxsign
SIGNER?=sdl12/SRB2PSP/psp-prxsign/psp-prxsign
SDL=1
PREFIX=psp
@ -100,8 +100,8 @@ kxploit: $(BIN)/$(EXENAME) $(PSP_EBOOT_SFO)
$(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1) \
$(PSP_EBOOT_SND0) NULL $(PSP_EBOOT_PSAR)
sdl/SRB2PSP/psp-prxsign/psp-prxsign:
-$(MAKE) -C sdl/SRB2PSP/psp-prxsign CFLAGS=-pipe CC="$(HOSTCC)"
sdl12/SRB2PSP/psp-prxsign/psp-prxsign:
-$(MAKE) -C sdl12/SRB2PSP/psp-prxsign CFLAGS=-pipe CC="$(HOSTCC)"
fix-up: $(BIN)/$(EXENAME)
@echo Running psp-fixup-imports on $(EXENAME)

View File

@ -2,8 +2,8 @@
PNDNAME=SRB2.pnd
PNDDIR=$(BIN)/pnd
ICON=sdl/SRB2Pandora/icon.png
PXML=sdl/SRB2Pandora/PXML.xml
ICON=sdl12/SRB2Pandora/icon.png
PXML=sdl12/SRB2Pandora/PXML.xml
SED=sed
CAT=cat

View File

@ -16,8 +16,8 @@ EXENAME?=$(SRB2NAME).elf
DBGNAME?=$(SRB2NAME).elf.debug
DOLNAME?=$(SRB2NAME).dol
ICONPNG?=sdl/SRB2WII/icon.png
METAXML?=sdl/SRB2WII/meta.xml
ICONPNG?=sdl12/SRB2WII/icon.png
METAXML?=sdl12/SRB2WII/meta.xml
APPDIR=apps/$(SRB2NAME)
ZIPNAME=$(SRB2NAME).zip

View File

@ -486,7 +486,7 @@ void S_InitRuntimeSounds (void)
{
sfxenum_t i;
INT32 value;
char soundname[7];
char soundname[10];
for (i = sfx_freeslot0; i <= sfx_lastskinsoundslot; i++)
{

View File

@ -2066,7 +2066,7 @@ static void ST_overlayDrawer(void)
V_DrawCenteredString(BASEVIDWIDTH/2, STRINGY(132)-(splitscreen ? 12 : 0), V_HUDTRANSHALF, M_GetText("You'll steal a life on respawn."));
}
}
else if (!gametype == GT_COOP)
else if (gametype != GT_COOP)
V_DrawCenteredString(BASEVIDWIDTH/2, STRINGY(132), V_HUDTRANSHALF, M_GetText("Press Fire to enter the game."));
if (!splitscreen)
{

View File

@ -1308,6 +1308,7 @@ char *V_WordWrap(INT32 x, INT32 w, INT32 option, const char *string)
{
case V_MONOSPACE:
spacewidth = 8;
/* FALLTHRU */
case V_OLDSPACING:
charwidth = 8;
break;
@ -1389,6 +1390,7 @@ void V_DrawString(INT32 x, INT32 y, INT32 option, const char *string)
{
case V_MONOSPACE:
spacewidth = 8;
/* FALLTHRU */
case V_OLDSPACING:
charwidth = 8;
break;
@ -1502,6 +1504,7 @@ void V_DrawSmallString(INT32 x, INT32 y, INT32 option, const char *string)
{
case V_MONOSPACE:
spacewidth = 4;
/* FALLTHRU */
case V_OLDSPACING:
charwidth = 4;
break;
@ -1607,6 +1610,7 @@ void V_DrawThinString(INT32 x, INT32 y, INT32 option, const char *string)
{
case V_MONOSPACE:
spacewidth = 5;
/* FALLTHRU */
case V_OLDSPACING:
charwidth = 5;
break;
@ -1704,6 +1708,7 @@ void V_DrawStringAtFixed(fixed_t x, fixed_t y, INT32 option, const char *string)
{
case V_MONOSPACE:
spacewidth = 8;
/* FALLTHRU */
case V_OLDSPACING:
charwidth = 8;
break;
@ -1988,6 +1993,7 @@ INT32 V_StringWidth(const char *string, INT32 option)
{
case V_MONOSPACE:
spacewidth = 8;
/* FALLTHRU */
case V_OLDSPACING:
charwidth = 8;
break;
@ -2029,6 +2035,7 @@ INT32 V_SmallStringWidth(const char *string, INT32 option)
{
case V_MONOSPACE:
spacewidth = 4;
/* FALLTHRU */
case V_OLDSPACING:
charwidth = 4;
break;
@ -2067,6 +2074,7 @@ INT32 V_ThinStringWidth(const char *string, INT32 option)
{
case V_MONOSPACE:
spacewidth = 5;
/* FALLTHRU */
case V_OLDSPACING:
charwidth = 5;
break;

Some files were not shown because too many files have changed in this diff Show More