Commit graph

279 commits

Author SHA1 Message Date
Louis-Antoine cfec8609f9 Fix missing declaration 2020-01-22 04:01:06 +01:00
Louis-Antoine f209721ded 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 d374bf4f9b 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
Alam Ed Arias 709489cab8 Merge branch 'master' into next 2020-01-16 12:08:36 -05:00
James R 223edd8ee0 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 2b95ea0135 Merge remote-tracking branch 'origin/master' into next 2020-01-12 14:17:52 -08:00
LJ Sonic 6eba68bc3b 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 34f73ec083 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 f6244ec9a4 Disable title map when entering a netgame 2020-01-12 20:08:41 +01:00
Louis-Antoine e9108de365 Replace all instances of XD_KICK with a SendKick function 2020-01-12 19:43:04 +01:00
Louis-Antoine 5b34923352 Fix node numbers being used in place of player numbers 2020-01-12 18:34:08 +01:00
fickleheart f8a3e3b898 Merge remote-tracking branch 'origin/next' into next-newcontrols 2020-01-04 09:57:09 -06:00
fickleheart f0e6a56b6b Merge branch 'newcontrols' into next-newcontrols 2020-01-04 09:56:24 -06:00
fickleheart 794d74c4d7 Merge remote-tracking branch 'origin/master' into newcontrols 2020-01-04 09:35:12 -06:00
Alam Ed Arias a26c5f5428 Merge branch 'master' into next 2020-01-03 14:56:37 -05:00
Louis-Antoine 1845266bc8 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 b22de48c03 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 281f30c4fd Replace gametype with gametypename in SERVERINFO
PACKETVERSION 1
2019-12-30 22:18:55 -08:00
James R 80bb6fe7a0 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 a9b80bf1f0 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 c0390f5186 Merge remote-tracking branch 'origin/next' into rotsprite2 2019-12-26 20:27:29 -03:00
James R 6bd383621e 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 a657392d39 ViewpointSwitch improvements. 2019-12-23 20:22:57 -03:00
Jaime Passos 61b72203a8 Merge remote-tracking branch 'origin/master' into gametype-clownery 2019-12-23 18:21:13 -03:00
James R f584b61c93 Use a random port when connecting 2019-12-18 15:34:55 -08:00
Jaime Passos aa619e1b34 Rankings tweaks 2019-12-18 12:36:02 -03:00
Jaime Passos 7807424633 NUMGAMETYPES vs gametypecount 2019-12-18 12:30:01 -03:00
Jaime Passos 299f2bd8cd GTR_TEAMFLAGS 2019-12-18 11:43:50 -03:00
Jaime Passos ea5e0d28ed More gametype rules yay!! 2019-12-18 01:54:45 -03:00
Jaime Passos 7bfdc2caa0 Gametype rules draft, mind the debug command 2019-12-18 01:25:57 -03:00
Jaime Passos c6f36fc470 un-ROTSPRITE rollangle and spriteinfo 2019-12-17 13:09:25 -03:00
fickleheart 32c9c912ab Consolidate G_BuildTiccmd 2019-12-08 13:27:11 -06:00
James R cadaecbfcf 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 d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
toaster 7f6c98f046 Fix clearing maps making the Tutorial option on the SP menu crash. 2019-12-05 13:42:08 +00:00
toaster 6398779983 Correct two instances where "Zone" is forced uppercase. 2019-11-25 16:04:03 +00:00
MascaraSnake e9ca39d3bc 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 248306ccb0 Remove D_ProcessEvents call in G_PreLevelTitleCard 2019-11-21 02:16:09 -03:00
toaster 7645d0417a Further cleanup. 2019-11-19 20:24:44 +00:00
toaster f5885f84f0 lmao how did i forget a null terminator 2019-11-19 13:40:07 +00:00
toaster ef1aeb2ff6 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 3e7e749327 Merge branch 'reset-rollangle' into 'master'
Reset rollangle

See merge request STJr/SRB2Internal!494
2019-11-18 14:11:32 -05:00
Steel Titanium 2584241a44
Better ping implementation. 2019-11-17 20:22:47 -05:00
Louis-Antoine 8b3e4d122b Show player number instead of node when someone joins 2019-11-16 01:42:02 +01:00
Louis-Antoine d95a1e2ff3 Make the "nodes" command clearer
Because literally anyone who isn't a dev has
no idea what those fucking numbers even mean...

Before:
$nodes
00 - Sonic - 01 - 666.66.420.42:5029
01 - Tales - 00 - self
02 - Nukes - 255
03 - Ammie - 255
04 - Fangs - 255
05 - Metal - 255

After:
$nodes
00 - Sonic - node 01 - 666.66.420.42:5029
01 - Tales - node 00 - self
02 - Nukes
03 - Ammie
04 - Fangs
05 - Metal
2019-11-15 17:50:40 +01:00
Jaime Passos 88fb22d688 Yeah, yeah... 2019-11-14 22:14:40 -03:00
MascaraSnake 3352f914d7 Merge branch 'rotsprite_i' into 'master'
Sprite rotation (resolves #183)

Closes #183

See merge request STJr/SRB2Internal!430
2019-11-14 14:58:13 -05:00
toaster afe28b0a0a * Remove the 22(!!) NiGHTS sprite2s that no longer get used in ROTSPRITE builds (which should be our main builds going forward).
* Rename `SPR2_NGT0` to `SPR2_NFLY`, and `SPR2_DRL0` to `SPR2_NDRL` to account for this. (requires modifying player.dta)
2019-11-14 17:03:02 +00:00
James R b38a1ec313 Save bans when cleared too
(Why doesn't it work for I_Quit?)
2019-11-13 17:37:53 -08:00
toaster 5729ba3cd2 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into metalrecording
# Conflicts:
#	src/p_user.c
2019-11-12 21:56:46 +00:00