Commit graph

285 commits

Author SHA1 Message Date
Louis-Antoine
5eae1ca914 Add "resendgamestate" command 2020-01-31 15:57:04 +01:00
Louis-Antoine
7c22d0957e Store most data in gamestate instead of server config packet 2020-01-31 15:29:22 +01:00
LJ Sonic
0beae26e9d Merge branch 'keep-body' into 'next'
Let clients rejoin the server without losing their status

See merge request STJr/SRB2!722
2020-01-24 18:50:03 -05:00
MascaraSnake
383eccd630 Merge branch 'master' into next 2020-01-24 22:37:25 +01:00
Louis-Antoine
ba0a02d2b3 Be silent when "kicking" a disconnected player
This lets the host manually remove a body if they want,
without polluting the chat with redundant messages.
2020-01-24 19:56:57 +01:00
Louis-Antoine
93ac266be1 Fix missing declaration 2020-01-22 04:01:06 +01:00
Louis-Antoine
a997683d1c Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into keep-body
# Conflicts:
#	src/g_game.c
#	src/p_setup.c
2020-01-22 03:57:22 +01:00
Louis-Antoine
c2682ac1b6 Let clients rejoin the server without losing their status
This is accomplished by simply preserving
the player's body after disconnecting.

Bodies will despawn after the number of minutes
specified by the "rejointimeout" console variable (float).
A value of 0 disables the feature completely.

Clients rejoining are identified by their IP address,
and may rejoin even if the server is full or joins are disabled,
for as long as their body remains.

From a technical standpoint, when the user disconnects,
the player they were controlling does not leave,
the underlying player_t just keeps working normally,
except it does not receive any input anymore.
When the user reconnects, they are simply "relinked"
to their player_t.

Those "soulless" players can be identified through
their "quittime" field, which is the number of tics
elapsed since the user disconnected, or zero
if still connected. "quittime" is exposed to Lua.
2020-01-22 03:05:08 +01:00
Confusion
db4cc87be7 Fix title screen broken when leaving during resynch 2020-01-19 17:55:22 +03:00
Alam Ed Arias
282abfd4ac Merge branch 'master' into next 2020-01-16 12:08:36 -05:00
James R
ca723c84f4 Merge branch 'disable-titlemap-in-netgames' into 'master'
Disable title map when entering a netgame

See merge request STJr/SRB2!683
2020-01-13 16:47:17 -05:00
James R
7daf24fcb8 Merge remote-tracking branch 'origin/master' into next 2020-01-12 14:17:52 -08:00
LJ Sonic
fd18f1cb7f Merge branch 'fix-node-player-mixups' into 'master'
Fix node player mixups

See merge request STJr/SRB2!684
2020-01-12 15:57:20 -05:00
LJ Sonic
e9002a15c4 Merge branch 'fix-node-player-mixups' into 'master'
Fix node numbers being used in place of player numbers

See merge request STJr/SRB2!681
2020-01-12 15:40:25 -05:00
Louis-Antoine
85ff92cff2 Disable title map when entering a netgame 2020-01-12 20:08:41 +01:00
Louis-Antoine
82876c2eff Replace all instances of XD_KICK with a SendKick function 2020-01-12 19:43:04 +01:00
Louis-Antoine
ad38ba1f39 Fix node numbers being used in place of player numbers 2020-01-12 18:34:08 +01:00
fickleheart
067b132eb1 Merge remote-tracking branch 'origin/next' into next-newcontrols 2020-01-04 09:57:09 -06:00
fickleheart
ce0c42a767 Merge branch 'newcontrols' into next-newcontrols 2020-01-04 09:56:24 -06:00
fickleheart
992ead1c85 Merge remote-tracking branch 'origin/master' into newcontrols 2020-01-04 09:35:12 -06:00
Alam Ed Arias
caa7f52f7f Merge branch 'master' into next 2020-01-03 14:56:37 -05:00
Louis-Antoine
ff47e36b43 Do not save netgame-synced console variables
This is a bad thing to do, because if you join a server,
your game will save the host's settings.
2020-01-03 00:40:49 +01:00
fickleheart
77ba835f4f Merge branch 'next' into next-newcontrols
# Conflicts:
#	src/g_game.c
#	src/p_setup.c
2019-12-31 12:58:36 -06:00
James R
6d042c4d3f Replace gametype with gametypename in SERVERINFO
PACKETVERSION 1
2019-12-30 22:18:55 -08:00
James R
0408572380 Merge branch 'modid' into 'next'
Put a mod name in SERVERINFO

See merge request STJr/SRB2!577
2019-12-30 15:41:08 -05:00
fickleheart
be9384ddd9 Merge branch 'master' into newcontrols
# Conflicts:
#	src/d_netcmd.c
#	src/g_game.c
#	src/g_game.h
#	src/m_menu.c
2019-12-30 10:47:09 -06:00
Jaime Passos
070adb4191 Merge remote-tracking branch 'origin/next' into rotsprite2 2019-12-26 20:27:29 -03:00
James R
14fed1f644 More fine tuned versioning
You get a PACKETVERSION, for when some packets change format.

You get SRB2APPLICATION, for when you have big fucking mod.
2019-12-25 20:52:02 -08:00
Jaime Passos
c832d26ee9 ViewpointSwitch improvements. 2019-12-23 20:22:57 -03:00
Jaime Passos
100144d4db Merge remote-tracking branch 'origin/master' into gametype-clownery 2019-12-23 18:21:13 -03:00
James R
8368449e6c Use a random port when connecting 2019-12-18 15:34:55 -08:00
Jaime Passos
b6b98cd464 Rankings tweaks 2019-12-18 12:36:02 -03:00
Jaime Passos
30be9e29e5 NUMGAMETYPES vs gametypecount 2019-12-18 12:30:01 -03:00
Jaime Passos
789e881abc GTR_TEAMFLAGS 2019-12-18 11:43:50 -03:00
Jaime Passos
448494e19b More gametype rules yay!! 2019-12-18 01:54:45 -03:00
Jaime Passos
d7cb14d38e Gametype rules draft, mind the debug command 2019-12-18 01:25:57 -03:00
Jaime Passos
be227cc58c un-ROTSPRITE rollangle and spriteinfo 2019-12-17 13:09:25 -03:00
fickleheart
4c41bc1478 Consolidate G_BuildTiccmd 2019-12-08 13:27:11 -06:00
James R
ee07656120 memset this or the stupid masterserver (used to) show garbage bytes
Also for security I guess...
2019-12-07 15:47:18 -08:00
Steel Titanium
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
toaster
20cf020458 Fix clearing maps making the Tutorial option on the SP menu crash. 2019-12-05 13:42:08 +00:00
toaster
2b2d2a8441 Correct two instances where "Zone" is forced uppercase. 2019-11-25 16:04:03 +00:00
MascaraSnake
27f99a7461 Merge branch 'infopoke' into 'master'
MS Info packet tweaks (resolves #300)

Closes #300

See merge request STJr/SRB2Internal!499
2019-11-22 15:21:41 -05:00
Jaime Passos
3a7342e06d Remove D_ProcessEvents call in G_PreLevelTitleCard 2019-11-21 02:16:09 -03:00
toaster
a76d50025b Further cleanup. 2019-11-19 20:24:44 +00:00
toaster
834a36c1ed lmao how did i forget a null terminator 2019-11-19 13:40:07 +00:00
toaster
17f2e83d4f MS Info packet tweaks.
* Report a completely uppercase map title in SERVERINFO, as per the MS previously expected (resolves #300).
* Ignore colour codes in map titles in SERVERINFO, since those now function like with console font.
* Modulo the skin number provided in PLAYERINFO by 3 in DEVELOP builds, so it's safe to test with certain characters on the MS (AS LONG AS IT'S NOT A RELEASE BUILD).
2019-11-19 13:36:33 +00:00
MascaraSnake
269b2be9f7 Merge branch 'reset-rollangle' into 'master'
Reset rollangle

See merge request STJr/SRB2Internal!494
2019-11-18 14:11:32 -05:00
Steel Titanium
b1f39e836d Better ping implementation. 2019-11-17 20:22:47 -05:00
Louis-Antoine
ca5b1297ee Show player number instead of node when someone joins 2019-11-16 01:42:02 +01:00