Commit graph

66 commits

Author SHA1 Message Date
LJ Sonic
2a896538d9 Merge branch 'netcode-rerefactor' into 'next'
Re-delete netcode

See merge request STJr/SRB2!2083
2023-09-18 16:47:28 +00:00
Lactozilla
6414e9db79 Fix possible crashes in the Lua API when accessing invalid fields 2023-08-31 15:02:59 -03:00
LJ Sonic
0ade3ae0bc Move tic and net command handling to new files 2023-07-27 15:38:45 +02:00
SteelT
464110ed81 Add CV_TrueFalse as possible value types for console variables
This also adds support for using true/false as value aliases for On/Off, Yes/No or 1/0
2023-07-13 01:02:15 -04:00
Gustaf Alhäll
2f2de7d3d3
Optimize field lookups in Lua metatables 2023-06-18 18:05:16 +02:00
sphere
2df3fb53da Merge branch 'strong-lua-command-restrictions' into 'next'
Fix up Lua command/cvar safety

See merge request STJr/SRB2!1943
2023-04-12 17:50:01 +00:00
spherallic
1470d099e3 Update copyright year & credits 2023-03-31 14:53:31 +02:00
James R
0405df1a47 Merge COM_SAFE with other COM flags
Renames COM_SAFE to COM_LUA.
2023-03-15 16:40:21 -07:00
James R
5d08bfd706 Rename CV_NOLUA to CV_ALLOWLUA, opt IN to Lua mutability 2023-03-15 16:40:21 -07:00
LJ Sonic
379cc4207a Revert "Merge branch 'netcode-refactor' into merging"
This reverts merge request !1920
2023-01-15 17:57:23 +00:00
LJ Sonic
7c2fe20cd5 Move tic and net command handling to new files 2023-01-05 22:51:17 +01:00
SteelT
534b610a76 Plug up some holes with lib_cvRegisterVar
* Error if a consvar is set to an empty string
* Error if a consvar is not given a defaultvalue
2022-10-03 16:04:38 -04:00
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01:00
James R
14c5d2c916 Warn if Lua attempted access NOLUA consvar
And quote variable name.
2021-07-05 18:39:12 -07:00
LJ Sonic
d325c7e6d3 The year is 2021 2021-05-07 17:45:56 +02:00
James R
aee963f4e9 Replace LUA_PushLightUserdata with LUA_PushUserdata
See 7df6a309 and 83a87042. I didn't realize that light
userdata's metatable is shared--like numbers or strings.
So it cannot be paired with a metatable.

I also made a few minor tweaks to Lua cvars, other than
accounting for the double pointer in the userdata.
2021-05-02 21:59:23 -07:00
James R
ed5a7f51e8 Revert "Merge branch 'lightmemedata' into 'next'"
This reverts commit d4c08a8410, reversing
changes made to e100f21dda.
2021-05-02 21:32:07 -07:00
LJ Sonic
0d4d3a5207 Revert "Lua: ensure order of MIN, MAX possible values"
This reverts commit c51c478740.
2021-04-26 21:11:24 +02:00
James R
c51c478740 Lua: ensure order of MIN, MAX possible values
Cvars could now have a range (MIN, MAX) plus some preset
values, but Lua could not take advantage of this due to
table order not being guaranteed.
2021-04-25 21:51:24 -07:00
GoldenTails
971518d22e Have Lua_OnChange restore the stack to what it was before it was called.
So we don't get Luas with access to LUA_GetErrorMessage.
2020-12-20 21:43:14 -06:00
LJ Sonic
eef3028110 Merge branch 'fix-stacktrace' of https://git.do.srb2.org/STJr/SRB2.git into next
# Conflicts:
#	src/dehacked.c
#	src/dehacked.h
2020-11-29 21:54:15 +01:00
Louis-Antoine
01124f2076 Fix Lua stacktrace not showing in various situations 2020-11-13 19:12:25 +01:00
James R
b62a3b623a Don't let Lua cvar setting functions work on CV_NOLUA vars 2020-11-09 18:54:00 -08:00
James R
39ccd12f04 Add CV_Set, CV_SetValue, CV_StealthSet, CV_StealthSetValue and CV_AddValue to Lua
CV_SetValue merged with CV_Set (same with CV_StealthSetValue and CV_StealthSet).
2020-10-20 16:08:34 -07:00
GoldenTails
03b7a1c368 Make the player optional for COM_BufInsertText and COM_BufAddText.
When no player is supplied, the command will run for all players.
2020-07-26 12:08:33 -05:00
kaysrishaq
7f9175033d minor lua fixes
minor lua fixes
2020-07-14 01:34:57 -04:00
James R
d4c08a8410 Merge branch 'lightmemedata' into 'next'
Cvars returned by CV_FindVar did not work with userdataType

See merge request STJr/SRB2!754
2020-04-09 19:48:39 -04:00
Louis-Antoine
e3cbdf8fab Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
James R
7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
James R
deaf5cfa28 LUA_PushLightUserdata takes the fun out of lib_cvFindVar 2020-02-02 15:19:19 -08: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
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
Louis-Antoine
e9108de365 Replace all instances of XD_KICK with a SendKick function 2020-01-12 19:43:04 +01:00
James R
3b90571987 Merge branch 'local-lua-commands' into 'next'
Local Lua commands + no magic numbers

See merge request STJr/SRB2!602
2020-01-08 16:14:30 -05:00
James R
12e87d58b4 Merge branch 'findvar' into 'next'
CV_FindVar for Lua

See merge request STJr/SRB2!583
2020-01-02 20:54:16 -05:00
James R
e3fcd860de Merge remote-tracking branch 'origin/next' into local-lua-commands 2019-12-30 15:08:34 -08:00
James R
d670139404 Revert revert revert
This reverts commit 6546e3c3bc.
This reverts commit 8a15e9abc4.
2019-12-30 12:31:53 -08:00
James R
65921c1702 Improve COM_AddCommand boolean deprecated warning 2019-12-29 21:09:07 -08:00
James R
802ef0aba1 COM_LOCAL makes your commands NetXCmd free, FUCK NetXCmd 2019-12-29 21:07:28 -08:00
James R
6546e3c3bc No. 2019-12-29 21:02:42 -08:00
James R
dc757f3086 Fuck magic numbers; COM_ flags for Lua commands! 2019-12-29 21:00:38 -08:00
James R
8a15e9abc4 Bro player 2 can't use the console 2019-12-29 21:00:38 -08:00
James R
7df6a3090a Lua CV_FindVar function
(cherry picked from commit b5746c231d17cd7b58c6b633e242d5ad26ad7017)
2019-12-26 18:30:34 -08:00
James R
cb29a9dd0a CV_NOLUA for when a cvar should not be changed via Lua 2019-12-26 18:15:19 -08:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
Monster Iestyn
d1105abdb3 Merge branch 'public_next'
# Conflicts:
#	src/d_netfil.c
2019-08-25 18:18:59 +01:00
Monster Iestyn
2dd5f1abe3 Fixes for lib_cvRegisterVar (the Lua version of CV_RegisterVar):
* Make sure the consvar's properties are all initialised to zeros as defaults
* Error if the consvar is not given a name
* Error if the consvar has CV_CALL but no call function
* Error if the consvar has CV_NOINIT but not CV_CALL
2019-08-20 18:18:29 +01:00
toaster
7bff305672 * Strip the word "function" from INLEVEL error messages, since they're now shared between access and function cases.
* Move it into lua_script.h, so it's available to everything that needs it.
2019-07-30 17:57:57 +01:00