Commit graph

9702 commits

Author SHA1 Message Date
James R
59ed381fc0 Credit Tatsuru, he's done a bit 2020-01-24 16:38:46 -08:00
Louis-Antoine
2d142f734f Remove all potentially dangerous functions
Basically any function that calls fopen() is gone,
except the ones created by me.

And no access to stdin/stdout/stderr
through io.read()/io.write().
Not really harmful but why would you want that in SRB2.
2020-01-25 01:37:50 +01:00
LJ Sonic
53e2cfbde2 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
SteelT
4b1a402731 Merge branch 'key-out-of-range' into 'master'
Don't set controls to keys of array bounds

See merge request STJr/SRB2!723
2020-01-24 18:45:19 -05:00
Louis-Antoine
16c7981bb8 Fix the compiler warning fix 2020-01-24 23:34:39 +01:00
Louis-Antoine
51947319ee Fix two compiler warnings 2020-01-24 23:24:54 +01:00
LJ Sonic
d654bbc7de Merge branch 'point-in-subsector-or-null' into 'next'
Rename R_IsPointInSubsector to R_PointInSubsectorOrNull/Nil

See merge request STJr/SRB2!719
2020-01-24 17:08:30 -05:00
SteelT
c7b4054a7a Merge branch 'musicdef-versioning' into 'next'
MUSICDEF cleanup, fixes, and VERSION directive to opt into new format

See merge request STJr/SRB2!708
2020-01-24 17:06:58 -05:00
SteelT
9677c9f084 Merge branch 'player2-turn-fix-next' into 'next'
Fix "cam2_turnmultiplier" being unused in "next"

See merge request STJr/SRB2!713
2020-01-24 17:04:20 -05:00
SteelT
7d740efc78 Merge branch 'player2-turn-fix' into 'master'
Fix "cam2_turnmultiplier"

See merge request STJr/SRB2!711
2020-01-24 17:04:06 -05:00
SteelT
72996a50bf Merge branch 'ploadflat-bruh-bruh' into 'master'
Fix P_AddLevelFlatRuntime again

See merge request STJr/SRB2!717
2020-01-24 17:00:09 -05:00
SteelT
9a414ff5ab Merge branch 'fix-mouse-controls-setup' into 'master'
Fix mouse in controls setup menu

See merge request STJr/SRB2!706
2020-01-24 16:58:06 -05:00
MascaraSnake
7ac1b9298f Merge branch 'master' into next 2020-01-24 22:37:25 +01:00
Louis-Antoine
8bd897a269 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
9658ef2c5b Add .dat and .csv to whitelisted file extensions 2020-01-24 17:51:20 +01:00
Louis-Antoine
e0f0984fcc Rename "luafiles/shared/" to "luafiles/client/" 2020-01-24 17:11:00 +01:00
James R
4304fe91e6 Name the archive like the EXE 2020-01-23 21:06:48 -08:00
James R
70cf119a84 Windows is dumb so no colon
srb2win-jameds-appveyor-exename-b1d931d47.exe
2020-01-23 20:35:53 -08:00
James R
e082553f6d Check if this actually is a PR before using those variables 2020-01-23 20:34:26 -08:00
James R
6337932190 I promise I know what I'm doing 2020-01-23 20:13:57 -08:00
James R
ef2febe1e0 Use the pull request repo, branch and commit
srb2win-jameds:appveyor-exename-b1d931d47.exe
2020-01-23 19:58:26 -08:00
James R
b1d931d471 Well I'm an idiot 2020-01-23 18:55:25 -08:00
James R
d3315ae03c Put the abbreviated commit hash in the EXENAME for AppVeyor
srb2win-master-a6d49eaaa.exe
2020-01-23 18:10:31 -08:00
James R
c3f4285988 Put branch name and commit hash in EXENAME for AppVeyor builds
srb2win-master-a6d49eaaa70be5f88c26623c7b4a2fa5a770341e.exe
2020-01-23 18:01:59 -08:00
Louis-Antoine
3b22a84296 Split open() into open() and openlocal()
open() for normal, consistency-friendly reading,
openlocal() for writing and local reading.
2020-01-24 02:47:51 +01:00
James R
3d9466e5f5 Semantics 2020-01-23 13:57:39 -08:00
Louis-Antoine
ba127008cf Do not spam player quit net commands 2020-01-23 19:59:41 +01:00
Louis-Antoine
b0b22b53d6 Ignore disconnected players in tag gametypes
Disconnected players do not become IT at round start.

If all non-ITs are disconnected, the round ends.

If all ITs are disconnected, one of the non-ITs
becomes IT, or the round ends if in Hide & Seek.
2020-01-23 19:58:13 +01:00
Louis-Antoine
ce20642fa7 Do not protect non-IT players in tag gametypes 2020-01-23 18:52:16 +01:00
James R
f0daea39d4 Don't set controls to keys out of array bounds
Shout-out to TAG's config that somehow had
`setcontrol2 "custom3" "KEY931926528"`, cuasing the game to crash only in
Splitscreen.
2020-01-22 22:19:00 -08:00
Louis-Antoine
e8760fe5dd Update Lua I/O support to 2.2 2020-01-22 23:08:57 +01:00
Bartu İnce
875774a45f no message 2020-01-22 22:08:08 +01:00
Bartu İnce
c72e0efee4 "page x of y" 2020-01-22 21:57:28 +01:00
Bartu İnce
912734ffe6 Extra emblems display, take 2. 2020-01-22 21:52:15 +01:00
Bartu İnce
aa05581de2 Added support for 10+ emblem hints 2020-01-22 18:53:17 +01:00
Louis-Antoine
fb28ede660 Rename R_IsPointInSubsector to R_PointInSubsectorOrNull/Nil
The old name made it really easy to accidentally read
R_IsPointInSubsector as R_PointInSubsector, and anyway it
didn't even make sense...
2020-01-22 16:58:57 +01:00
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
2527b6c389 Teleport disconnected players to starpost if they fall in a pit 2020-01-22 03:20:27 +01:00
Louis-Antoine
412ba38a81 Refactor player spawning code a little 2020-01-22 03:19:15 +01:00
Louis-Antoine
d03c928baa Give flashing tics to disconnected players and prevent drowning 2020-01-22 03:14:44 +01:00
Louis-Antoine
73d0549fa4 Ignore players towards exit count 30 seconds after their disconnection 2020-01-22 03:11:05 +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
James R
2373a0aa83 Actually actually match the old behavior and check existing levelflats in P_AddLevelFlatRuntime BRUH 2020-01-21 16:47:47 -08:00
SteelT
a6d49eaaa7
Merge pull request #447 from ConfusionAlphaX/local-resynch-fix
Fix title screen broken when leaving during resynch
2020-01-21 19:09:15 -05:00
James R
d90c0b8fbd Don't check "Too many flats in level" with P_AddLevelFlatRuntime
Also moved the debug down in case anyone uses that.
2020-01-21 15:35:07 -08:00
James R
9cd101c68d Revert "Fix Ploadflat closing the game with "Too many flats in level" error message"
This reverts commit ea129f701c.
2020-01-21 15:35:07 -08:00
James R
f297f4ff56 Sonic is dead again 2020-01-21 12:24:24 -08:00
James R
c347254e80 Reorder Sonic's ass so the OpenGL wipe doesn't see garbage 2020-01-21 12:23:34 -08:00
James R
dfcd058c80 (BRUH MOMENT) activettscale was -1, so do recache after it's set 2020-01-21 12:21:18 -08:00