mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-15 20:20:54 +00:00
more
This commit is contained in:
parent
f5d363d914
commit
c9d3a383a4
6 changed files with 28 additions and 128 deletions
|
@ -162,7 +162,7 @@ void addjaildoor(int p1, int p2, int iht, int jlt, int p3, int j)
|
||||||
void addminecart(int p1, int p2, int i, int iht, int p3, int childsectnum)
|
void addminecart(int p1, int p2, int i, int iht, int p3, int childsectnum)
|
||||||
{
|
{
|
||||||
if (minecartcnt >= 16)
|
if (minecartcnt >= 16)
|
||||||
G_GameExit("\nToo many minecart sectors");
|
I_Error("Too many minecart sectors");
|
||||||
minecartdist[minecartcnt] = p1;
|
minecartdist[minecartcnt] = p1;
|
||||||
minecartspeed[minecartcnt] = p2;
|
minecartspeed[minecartcnt] = p2;
|
||||||
minecartsect[minecartcnt] = i;
|
minecartsect[minecartcnt] = i;
|
||||||
|
|
|
@ -245,8 +245,6 @@ void G_DrawFrags(void);
|
||||||
void G_HandleMirror(int32_t x, int32_t y, int32_t z, fix16_t a, fix16_t horiz, int32_t smoothratio);
|
void G_HandleMirror(int32_t x, int32_t y, int32_t z, fix16_t a, fix16_t horiz, int32_t smoothratio);
|
||||||
void G_DrawRooms(int32_t playerNum,int32_t smoothratio);
|
void G_DrawRooms(int32_t playerNum,int32_t smoothratio);
|
||||||
void G_DrawTXDigiNumZ(int32_t starttile,int32_t x,int32_t y,int32_t n,int32_t s,int32_t pal,int32_t cs,int32_t x1,int32_t y1,int32_t x2,int32_t y2,int32_t z);
|
void G_DrawTXDigiNumZ(int32_t starttile,int32_t x,int32_t y,int32_t n,int32_t s,int32_t pal,int32_t cs,int32_t x1,int32_t y1,int32_t x2,int32_t y2,int32_t z);
|
||||||
void G_GameExit(const char *msg) ATTRIBUTE((noreturn));
|
|
||||||
void G_GameQuit(void);
|
|
||||||
void G_HandleLocalKeys(void);
|
void G_HandleLocalKeys(void);
|
||||||
void G_HandleSpecialKeys(void);
|
void G_HandleSpecialKeys(void);
|
||||||
//void G_SE40(int32_t smoothratio);
|
//void G_SE40(int32_t smoothratio);
|
||||||
|
|
|
@ -35,6 +35,8 @@ Modifications for JonoF's port by Jonathon Fowler (jf@jonof.id.au)
|
||||||
#include "mapinfo.h"
|
#include "mapinfo.h"
|
||||||
#include "texturemanager.h"
|
#include "texturemanager.h"
|
||||||
#include "statusbar.h"
|
#include "statusbar.h"
|
||||||
|
#include "st_start.h"
|
||||||
|
#include "i_interface.h"
|
||||||
|
|
||||||
BEGIN_DUKE_NS
|
BEGIN_DUKE_NS
|
||||||
|
|
||||||
|
@ -118,6 +120,28 @@ void checkcommandline()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// fixme: Menu does not call this
|
||||||
|
//
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
void gameexitfrommenu()
|
||||||
|
{
|
||||||
|
// MP scoreboard
|
||||||
|
if (playerswhenstarted > 1 && g_player[myconnectindex].ps->gm & MODE_GAME && GTFLAGS(GAMETYPE_SCORESHEET))
|
||||||
|
{
|
||||||
|
G_BonusScreen(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// shareware and TEN screens
|
||||||
|
if (!VOLUMEALL && !RR)
|
||||||
|
showtwoscreens([](bool) {});
|
||||||
|
|
||||||
|
endoomName = RR ? "redneck.bin" : VOLUMEALL ? "duke3d.bin" : "dukesw.bin";
|
||||||
|
ST_Endoom();
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
|
|
@ -93,38 +93,6 @@ int32_t g_levelTextTime = 0;
|
||||||
extern char forcegl;
|
extern char forcegl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
enum gametokens
|
|
||||||
{
|
|
||||||
T_INCLUDE = 0,
|
|
||||||
T_INTERFACE = 0,
|
|
||||||
T_LOADGRP = 1,
|
|
||||||
T_MODE = 1,
|
|
||||||
T_CACHESIZE = 2,
|
|
||||||
T_ALLOW = 2,
|
|
||||||
T_NOAUTOLOAD,
|
|
||||||
T_INCLUDEDEFAULT,
|
|
||||||
T_MUSIC,
|
|
||||||
T_SOUND,
|
|
||||||
T_FILE,
|
|
||||||
T_CUTSCENE,
|
|
||||||
T_ANIMSOUNDS,
|
|
||||||
T_NOFLOORPALRANGE,
|
|
||||||
T_ID,
|
|
||||||
T_MINPITCH,
|
|
||||||
T_MAXPITCH,
|
|
||||||
T_PRIORITY,
|
|
||||||
T_TYPE,
|
|
||||||
T_DISTANCE,
|
|
||||||
T_VOLUME,
|
|
||||||
T_DELAY,
|
|
||||||
T_RENAMEFILE,
|
|
||||||
T_GLOBALGAMEFLAGS,
|
|
||||||
T_ASPECT,
|
|
||||||
T_FORCEFILTER,
|
|
||||||
T_FORCENOFILTER,
|
|
||||||
T_TEXTUREFILTER,
|
|
||||||
};
|
|
||||||
|
|
||||||
static void gameTimerHandler(void)
|
static void gameTimerHandler(void)
|
||||||
{
|
{
|
||||||
S_Update();
|
S_Update();
|
||||||
|
@ -144,65 +112,8 @@ void G_HandleSpecialKeys(void)
|
||||||
if (!(g_player[myconnectindex].ps->gm & MODE_GAME))
|
if (!(g_player[myconnectindex].ps->gm & MODE_GAME))
|
||||||
OSD_DispatchQueued();
|
OSD_DispatchQueued();
|
||||||
|
|
||||||
if (g_quickExit == 0 && inputState.GetKeyStatus(sc_LeftControl) && inputState.GetKeyStatus(sc_LeftAlt) && (inputState.GetKeyStatus(sc_Delete)||inputState.GetKeyStatus(sc_End)))
|
|
||||||
{
|
|
||||||
g_quickExit = 1;
|
|
||||||
G_GameExit("Quick Exit.");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void G_GameQuit(void)
|
|
||||||
{
|
|
||||||
if (numplayers < 2)
|
|
||||||
G_GameExit(" ");
|
|
||||||
|
|
||||||
if (g_gameQuit == 0)
|
|
||||||
{
|
|
||||||
g_gameQuit = 1;
|
|
||||||
g_quitDeadline = (int32_t) totalclock+120;
|
|
||||||
//g_netDisconnect = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((totalclock > g_quitDeadline) && (g_gameQuit == 1))
|
|
||||||
g_netDisconnect = 1;
|
|
||||||
//G_GameExit("Timed out.");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void G_GameExit(const char *msg)
|
|
||||||
{
|
|
||||||
if (*msg != 0) g_player[myconnectindex].ps->palette = BASEPAL;
|
|
||||||
|
|
||||||
// JBF: fixes crash on demo playback
|
|
||||||
// PK: modified from original
|
|
||||||
|
|
||||||
if (!g_quickExit)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (playerswhenstarted > 1 && g_player[myconnectindex].ps->gm&MODE_GAME && GTFLAGS(GAMETYPE_SCORESHEET) && *msg == ' ')
|
|
||||||
{
|
|
||||||
G_BonusScreen(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// shareware and TEN screens
|
|
||||||
if (*msg != 0 && *(msg+1) != 'V' && *(msg+1) != 'Y' && !VOLUMEALL && !RR)
|
|
||||||
showtwoscreens([](bool) {});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (*msg != 0)
|
|
||||||
{
|
|
||||||
if (!(msg[0] == ' ' && msg[1] == 0))
|
|
||||||
{
|
|
||||||
I_Error("%s", msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
endoomName = RR? "redneck.bin" : VOLUMEALL ? "duke3d.bin" : "dukesw.bin";
|
|
||||||
ST_Endoom();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int32_t G_DoThirdPerson(const DukePlayer_t *pp, vec3_t *vect, int16_t *vsectnum, int16_t ang, int16_t horiz)
|
static int32_t G_DoThirdPerson(const DukePlayer_t *pp, vec3_t *vect, int16_t *vsectnum, int16_t ang, int16_t horiz)
|
||||||
{
|
{
|
||||||
|
@ -1079,27 +990,6 @@ void G_DumpDebugInfo(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if <set_movflag_uncond> is true, set the moveflag unconditionally,
|
|
||||||
// else only if it equals 0.
|
|
||||||
static int32_t G_InitActor(int32_t i, int32_t tilenum, int32_t set_movflag_uncond)
|
|
||||||
{
|
|
||||||
if (actorinfo[tilenum].scriptaddress)
|
|
||||||
{
|
|
||||||
auto sa = &ScriptCode[actorinfo[tilenum].scriptaddress];
|
|
||||||
SH(i) = sa[0];
|
|
||||||
AC_ACTION_ID(actor[i].t_data) = sa[1];
|
|
||||||
AC_MOVE_ID(actor[i].t_data) = sa[2];
|
|
||||||
|
|
||||||
if (set_movflag_uncond || (sa[3] && SHT(i) == 0)) // AC_MOVFLAGS
|
|
||||||
SHT(i) = sa[3];
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int G_MaybeTakeOnFloorPal(tspritetype *pSprite, int sectNum)
|
static int G_MaybeTakeOnFloorPal(tspritetype *pSprite, int sectNum)
|
||||||
{
|
{
|
||||||
int const floorPal = sector[sectNum].floorpal;
|
int const floorPal = sector[sectNum].floorpal;
|
||||||
|
@ -1452,7 +1342,7 @@ static void G_CompileScripts(void)
|
||||||
fi.initactorflags();
|
fi.initactorflags();
|
||||||
|
|
||||||
if ((uint32_t)labelcnt > MAXSPRITES*sizeof(spritetype)/64) // see the arithmetic above for why
|
if ((uint32_t)labelcnt > MAXSPRITES*sizeof(spritetype)/64) // see the arithmetic above for why
|
||||||
G_GameExit("Error: too many labels defined!");
|
I_FatalError("Error: too many labels defined!");
|
||||||
|
|
||||||
{
|
{
|
||||||
char *newlabel;
|
char *newlabel;
|
||||||
|
@ -1554,7 +1444,7 @@ static void G_Startup(void)
|
||||||
Printf("Multiplayer initialized.\n");
|
Printf("Multiplayer initialized.\n");
|
||||||
|
|
||||||
if (TileFiles.artLoadFiles("tiles%03i.art") < 0)
|
if (TileFiles.artLoadFiles("tiles%03i.art") < 0)
|
||||||
G_GameExit("Failed loading art.");
|
I_FatalError("Failed loading art.");
|
||||||
|
|
||||||
fi.InitFonts();
|
fi.InitFonts();
|
||||||
|
|
||||||
|
@ -1966,8 +1856,6 @@ MAIN_LOOP_RESTART:
|
||||||
}
|
}
|
||||||
else updateviewport();
|
else updateviewport();
|
||||||
|
|
||||||
// G_GameExit(" "); ///
|
|
||||||
|
|
||||||
ud.showweapons = ud.config.ShowOpponentWeapons;
|
ud.showweapons = ud.config.ShowOpponentWeapons;
|
||||||
P_SetupMiscInputSettings();
|
P_SetupMiscInputSettings();
|
||||||
g_player[myconnectindex].pteam = playerteam;
|
g_player[myconnectindex].pteam = playerteam;
|
||||||
|
|
|
@ -54,15 +54,6 @@ void faketimerhandler(void) {}
|
||||||
|
|
||||||
void Net_GetPackets(void)
|
void Net_GetPackets(void)
|
||||||
{
|
{
|
||||||
if (g_netDisconnect)
|
|
||||||
{
|
|
||||||
g_netDisconnect = 0;
|
|
||||||
|
|
||||||
if (g_gameQuit)
|
|
||||||
G_GameExit(" ");
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
END_DUKE_NS
|
END_DUKE_NS
|
||||||
|
|
|
@ -185,8 +185,7 @@ int32_t G_LoadPlayer(const char *path)
|
||||||
{
|
{
|
||||||
// in theory, we could load into an initial dump first and trivially
|
// in theory, we could load into an initial dump first and trivially
|
||||||
// recover if things go wrong...
|
// recover if things go wrong...
|
||||||
Bsprintf(tempbuf, "Loading save game file \"%s\" failed (code %d), cannot recover.", path, status);
|
I_Error("Loading save game file \"%s\" failed (code %d), cannot recover.", path, status);
|
||||||
G_GameExit(tempbuf);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sv_postudload(); // ud.m_XXX = ud.XXX
|
sv_postudload(); // ud.m_XXX = ud.XXX
|
||||||
|
|
Loading…
Reference in a new issue