summaryrefslogtreecommitdiff
path: root/src/fpsgame/fps.cpp
diff options
context:
space:
mode:
authorxolatile2025-07-17 23:28:55 +0200
committerxolatile2025-07-17 23:28:55 +0200
commitc79dda69d6e603500a5681430172b5152041af0a (patch)
treec1669442318e77a9ae76009edd5eefcaa69064ce /src/fpsgame/fps.cpp
parent5b88d873f42b1cad5c5fd03888cfe45b82da06d6 (diff)
downloadxolatile-badassbug-c79dda69d6e603500a5681430172b5152041af0a.tar.xz
xolatile-badassbug-c79dda69d6e603500a5681430172b5152041af0a.tar.zst
Big changed mentioned in IRC channel...
Diffstat (limited to 'src/fpsgame/fps.cpp')
-rw-r--r--src/fpsgame/fps.cpp71
1 files changed, 10 insertions, 61 deletions
diff --git a/src/fpsgame/fps.cpp b/src/fpsgame/fps.cpp
index 04b036f..f5ce95c 100644
--- a/src/fpsgame/fps.cpp
+++ b/src/fpsgame/fps.cpp
@@ -70,12 +70,6 @@ namespace game
void resetgamestate()
{
- if(m_classicsp)
- {
- clearmovables();
- clearmonsters(); // all monsters back at their spawns for editing
- entities::resettriggers();
- }
clearprojectiles();
clearbouncers();
}
@@ -222,8 +216,6 @@ namespace game
}
}
- VARFP(slowmosp, 0, 0, 1, { if(m_sp && !slowmosp) server::forcegamespeed(100); });
-
void checkslowmo()
{
static int lastslowmohealth = 0;
@@ -251,8 +243,6 @@ namespace game
ai::update();
moveragdolls();
gets2c();
- updatemovables(curtime);
- updatemonsters(curtime);
if(connected)
{
if(player1->state == CS_DEAD)
@@ -270,12 +260,7 @@ namespace game
moveplayer(player1, 10, true);
swayhudgun(curtime);
entities::checkitems(player1);
- if(m_sp)
- {
- if(slowmosp) checkslowmo();
- if(m_classicsp) entities::checktriggers();
- }
- else if(cmode) cmode->checkitems(player1);
+ if(cmode) cmode->checkitems(player1);
}
}
if(player1->clientnum>=0) c2sinfo(); // do this last, to reduce the effective frame lag
@@ -323,7 +308,7 @@ namespace game
void pickgamespawn(fpsent *d)
{
- int ent = m_classicsp && d == player1 && respawnent >= 0 ? respawnent : -1;
+ int ent = d == player1 && respawnent >= 0 ? respawnent : -1;
int tag = cmode ? cmode->getspawngroup(d) : 0;
findplayerspawn(d, ent, tag);
}
@@ -355,13 +340,7 @@ namespace game
return;
}
if(lastmillis < player1->lastpain + spawnwait) return;
- if(m_dmsp) { changemap(clientmap, gamemode); return; } // if we die in SP we try the same map again
respawnself();
- if(m_classicsp)
- {
- conoutf(CON_GAMEINFO, "\f2You wasted another life! The monsters stole your armour and some ammo...");
- loopi(NUMGUNS) if(i!=GUN_PISTOL && (player1->ammo[i] = savedammo[i]) > 5) player1->ammo[i] = max(player1->ammo[i]/3, 5);
- }
}
}
COMMAND(respawn, "");
@@ -413,9 +392,7 @@ namespace game
}
damageeffect(damage, d, d!=h);
- ai::damaged(d, actor);
-
- if(m_sp && slowmosp && d==player1 && d->health < 1) d->health = 1;
+ ai::damaged(d, actor);
if(d->health<=0) { if(local) killed(d, actor); }
else if(d==h) playsound(S_PAIN6);
@@ -514,12 +491,9 @@ namespace game
if(cmode) cmode->gameover();
conoutf(CON_GAMEINFO, "\f2intermission:");
conoutf(CON_GAMEINFO, "\f2game has ended!");
- if(m_ctf) conoutf(CON_GAMEINFO, "\f2player frags: %d, flags: %d, deaths: %d", player1->frags, player1->flags, player1->deaths);
- else if(m_collect) conoutf(CON_GAMEINFO, "\f2player frags: %d, skulls: %d, deaths: %d", player1->frags, player1->flags, player1->deaths);
- else conoutf(CON_GAMEINFO, "\f2player frags: %d, deaths: %d", player1->frags, player1->deaths);
+ conoutf(CON_GAMEINFO, "\f2player frags: %d, deaths: %d", player1->frags, player1->deaths);
int accuracy = (player1->totaldamage*100)/max(player1->totalshots, 1);
conoutf(CON_GAMEINFO, "\f2player total damage dealt: %d, damage wasted: %d, accuracy(%%): %d", player1->totaldamage, player1->totalshots-player1->totaldamage, accuracy);
- if(m_sp) spsummary(accuracy);
showscores(true);
disablezoom();
@@ -593,7 +567,7 @@ namespace game
void initclient()
{
player1 = spawnstate(new fpsent);
- filtertext(player1->name, "unnamed", false, false, MAXNAMELEN);
+ filtertext(player1->name, "Anonymous", false, false, MAXNAMELEN);
players.add(player1);
}
@@ -601,9 +575,6 @@ namespace game
void startgame()
{
- clearmovables();
- clearmonsters();
-
clearprojectiles();
clearbouncers();
clearragdolls();
@@ -637,19 +608,8 @@ namespace game
conoutf(CON_GAMEINFO, "\f2game mode is %s", server::modename(gamemode));
- if(m_sp)
- {
- defformatstring(scorename, "bestscore_%s", getclientmap());
- const char *best = getalias(scorename);
- if(*best) conoutf(CON_GAMEINFO, "\f2try to beat your best score so far: %s", best);
- }
- else
- {
- const char *info = m_valid(gamemode) ? gamemodes[gamemode - STARTGAMEMODE].info : NULL;
- if(showmodeinfo && info) conoutf(CON_GAMEINFO, "\f0%s", info);
- }
-
- if(player1->playermodel != playermodel) switchplayermodel(playermodel);
+ const char *info = m_valid(gamemode) ? gamemodes[gamemode - STARTGAMEMODE].info : NULL;
+ if(showmodeinfo && info) conoutf(CON_GAMEINFO, "\f0%s", info);
showscores(false);
disablezoom();
@@ -698,11 +658,7 @@ namespace game
void dynentcollide(physent *d, physent *o, const vec &dir)
{
- switch(d->type)
- {
- case ENT_AI: if(dir.z > 0) stackmonster((monster *)d, o); break;
- case ENT_INANIMATE: if(dir.z > 0) stackmovable((movable *)d, o); break;
- }
+ return;
}
void msgsound(int n, physent *d)
@@ -720,15 +676,12 @@ namespace game
}
}
- int numdynents() { return players.length()+monsters.length()+movables.length(); }
+ int numdynents() { return players.length(); }
dynent *iterdynents(int i)
{
if(i<players.length()) return players[i];
i -= players.length();
- if(i<monsters.length()) return (dynent *)monsters[i];
- i -= monsters.length();
- if(i<movables.length()) return (dynent *)movables[i];
return NULL;
}
@@ -803,13 +756,9 @@ namespace game
if(pl->suicided!=seq) { addmsg(N_SUICIDE, "rc", pl); pl->suicided = seq; }
}
}
- else if(d->type==ENT_AI) suicidemonster((monster *)d);
- else if(d->type==ENT_INANIMATE) suicidemovable((movable *)d);
}
ICOMMAND(suicide, "", (), suicide(player1));
- bool needminimap() { return m_ctf || m_protect || m_hold || m_capture || m_collect; }
-
void drawicon(int icon, float x, float y, float sz)
{
settexture("packages/hud/items.png");
@@ -1087,7 +1036,7 @@ namespace game
if(ammobar) drawammobar(w, h, d);
}
- if(!m_edit && !m_sp)
+ if(!m_edit)
{
if(gameclock) drawgameclock(w, h);
if(hudscore) drawhudscore(w, h);