Commit graph

29 commits

Author SHA1 Message Date
Yamagi Burmeister
70a94f759f Fix demo playback if cl_loadpaused is 1.
Demos are special. To the client they're more or less the same as normal
maps, the only difference is that the client never joines the server. So
we're never getting the first valid frame txpaht indicates the end of
the connection process. We're using that one to drop out of pause
mode... As a result the client stays in pause mode forever and "hangs".

Work around this by entering pause mode only if the local server is in
state ss_game. Demos are ss_demo. There're some more states for
cinematics, pictures, etc. Since the player can't save in those states
it should be save not check them.
2019-10-01 22:26:37 +02:00
Yamagi Burmeister
fc5c2788a1 Put the client into pause mode when loading save games.
This prevenits the worlds from advancing during client connect. The
player won't get attacked by monsters or hurt by the environment. Note
that in baseq2 there're still 4 world frames processed by the game and
100 world frames if the player enters a level that he or she already
visited. Both aren't a big problem, 4 world frames are hardly enough
for monsters starting to attack and in most levels the starting area
can't be reached by monsters and is free from environmental effects.

Pause mode is only entered for local servers and only in single player
mode. This should prevent problems with coop and deathmatch games.

The behaviour can be controlled by `cl_loadpaused`:
* `0`: Do not enter pause mode, Vanilla Quake I behaviour.
* `1`: Enter pause mode at load and leave it at first regular server
       frame.
* `2`: Enter pause mode at load, never leave it. The player must leave
       it by hand.

This was requested in issue #417.
2019-09-03 08:42:05 +02:00
Yamagi Burmeister
0ad406a95f Rework HTTP download console output.
We're printing only the two relevant informations: A download was queued
and a download finished or failed. That's enough to see what's going on
and not too noisy.
2018-12-20 18:01:38 +01:00
Yamagi Burmeister
0a94a8ee92 Port the HTTP / CURL download stuff from q2dos.
This is a very first cut:
* It compiles
* It doesn't crash

What's missing:
* cmake integration
* CURL should be loaded dynamically
* Integration between download code and filesystem
* Likely UTF-8 stuff
* cl_http.c needs cleanup
* Windows support
2018-12-20 18:01:38 +01:00
Yamagi Burmeister
0264c6d946 Remove DOGG compile time option.
Having OGG optional only complicates things and is unnecessary now that
the dependencies to libvorbis and libogg are gone.
2018-08-14 10:40:50 +02:00
Yamagi Burmeister
15898a2330 Remove CDA support from code. 2018-07-31 14:24:28 +02:00
Yamagi Burmeister
ed54fe2364 Fix '/connect $server' while connected to a server. 2018-02-27 19:17:45 +01:00
Yamagi Burmeister
2db01319a1 Fix changing the game / mod through the 'game' console command.
The 'game' command was more or less functional after the last commit.
We just need to reset the initialGame (renamed to userGivenGame) so we
don't revert back to the old game at server disconnect.
2018-02-25 10:24:35 +01:00
Daniel Gibson
f0e21e2ab4 Fix writing/loading configs when changing game/mod
When connecting to a multiplayer game that runs a different mod
("game" cvar) than you are, it didn't load the corresponging configs
from the mod, but saved your changes to the config to the mod's config.
Which is doubly useless.
Now when the "game" cvar is changed, the configs are reloaded (from
the right directories for the mod), and when disconnecting the configs
are written, so the changes you did for a mod while playing MP are saved
before game is reset to the game you started with.
2018-02-24 21:00:35 +01:00
Daniel Gibson
c2061e8c83 Use const char* instead of char* in NET_StringToAdr() 2018-02-12 13:37:58 +01:00
Yamagi Burmeister
5ad7b1e72d Fix several printf in the client.
Submitted by: Ozkan Sezer
2015-08-24 17:52:57 +02:00
Yamagi Burmeister
7742cd4893 Fix indention 2014-08-24 10:26:50 +02:00
bibendovsky
74c8c60e38 Turn off underwater sfx on disconnect 2014-08-17 18:58:26 +03:00
Alejandro Ricoveri
3e45c5e363 Refresh API refactoring
Analog functions of the former refexport_t are now public for the client
to access.
2013-06-15 10:27:30 +02:00
svdijk
6472514c8f Lets not do the last two commits just before 5.11
Revert "change several strcat calls to Q_strlcat calls"
This reverts commit ab879f1bc7.

Revert "change (v)sprintf calls to (v)snprintf calls"
This reverts commit b46e210d76.
2013-05-18 18:59:39 +02:00
svdijk
ab879f1bc7 change several strcat calls to Q_strlcat calls 2013-05-17 22:25:18 +02:00
svdijk
e07294b6b1 replace most strncpy calls (several of them wrong) by Q_strlcpy calls 2013-05-11 14:44:36 +02:00
Yamagi Burmeister
b52336850f Reformat the client 2012-07-22 15:34:45 +02:00
Yamagi Burmeister
67dbe816c9 Change atoi() to strtol() 2012-06-02 10:24:52 +02:00
Christoph Mallon
ab034114b4 Whitespace fixes. 2012-04-30 08:25:59 +02:00
Yamagi Burmeister
03015a686b Hide music playback from CD behind CDA 2012-04-25 08:53:25 +00:00
Yamagi Burmeister
9d60a5de6a Hide OGG/Vorbis support under OGG 2012-04-25 08:24:38 +00:00
Yamagi Burmeister
07ed4c8b5a Make the client and server IPv6 aware 2011-10-15 16:18:26 +00:00
Yamagi Burmeister
1ad221b667 Räume posix.c und system.c auf und fixe einige Abartigkeiten 2010-10-18 13:04:28 +00:00
Yamagi Burmeister
e69506dd19 Stoppe Musik bei disconnect 2010-10-14 07:33:20 +00:00
Yamagi Burmeister
787686a976 Dateiheader neu formatiert und "particles.h" entfernt 2010-07-13 18:19:42 +00:00
Yamagi Burmeister
e1d165b942 Einige Kommentare wieder ein (by caedes) 2010-06-18 19:47:24 +00:00
Yamagi Burmeister
ca2cbd5da6 Den Autodownload-Code in eine eigene Datei 2010-06-18 16:15:33 +00:00
Yamagi Burmeister
286f180e08 Den generischen Netzwerkkram in eine eigene Datei 2010-06-18 16:07:51 +00:00