Commit graph

93 commits

Author SHA1 Message Date
Alam Ed Arias
79aaf3e613 Merge branch SRB2:next into perfstats-thinkframes 2023-10-25 18:34:06 +00:00
spherallic
1470d099e3 Update copyright year & credits 2023-03-31 14:53:31 +02:00
namishere
039df0d38b Implement perfstats options for LUAh_PreThinkFrame and LUAh_PostThinkFrame 2023-02-10 21:34:50 -08:00
Eidolon
366ee4ad92 Revert "Merge branch 'gamepad-refactor-lua-features' into 'next'"
This reverts commit 7f1cafcd3d, reversing
changes made to 696e2ab909.
2023-01-26 19:26:24 -06:00
James R
fbcdaa6f4d hooklib: move HurtMsg to mobj hooks
Fixes regression of mobj type discriminator not working
for this hook.

blame 8d382e49fb
2022-12-31 04:26:13 -08:00
Jaime Ita Passos
f0c3de6976 Add gamepad library and hooks for Lua scripting 2022-11-14 02:18:24 -03:00
Eidolon
82310e0ae2 Add Lua HUD drawlists
Buffers draw calls between tics to ensure hooks
run at the originally intended rate.
2022-04-30 01:55:10 -05:00
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01:00
James R
c33d8b3b5d Merge remote-tracking branch 'origin/next' into hudlib-hook-refactor 2021-09-12 18:37:47 -07:00
Tatsuru
cd5ba1271a Merge branch 'youvebeenblocked' into 'next'
Add proper parameters to MobjMoveBlocked so you can actually tell what you're being blocked by (Resolves #332)

Closes #332

See merge request STJr/SRB2!1491
2021-09-12 21:38:40 +00:00
LJ Sonic
c2907b89f7 Pass a keyevent_t userdatum to key hooks 2021-08-14 20:34:59 +02:00
SMS Alfredo
cb619fad5d Rebase on !1307 2021-07-07 19:57:28 -05:00
James R
b4fa98d2fb Refactor hudlib hooks to hooklib
HUD hooks now meet the standard of hooklib. HUD registry
magic numbers are gone.

HUD hooks may also be added using addHook.

    addHook('HUD', fn[, type])

hud.add still exists, but the intention is to remove it
eventually.
2021-07-07 00:23:51 -07:00
James R
ae57b6ca86 MORE MACROS
I just can't stop myself!
2021-07-07 00:21:08 -07:00
James R
90763d42e1 Shuffle LUA_HookKey 2021-06-29 01:49:45 -07:00
LJ Sonic
e3a5da3f6f Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2.git into HEAD
# Conflicts:
#	src/lua_hook.h
#	src/lua_hooklib.c
2021-06-19 20:49:12 +02:00
LJ Sonic
cfa48574be Merge branch 'next' into 'lua-inputs'
# Conflicts:
#   src/lua_script.c
2021-06-19 10:34:48 -04:00
James R
0f4eb4fab9 Merge conflicts 4d22b9f17 2021-06-07 18:13:56 -07:00
sphere
5a91f3326a Merge branch 'disable-int-emeralds' into 'next'
Some more intermission features for Lua

See merge request STJr/SRB2!1329
2021-06-01 15:38:00 -04:00
LJ Sonic
d325c7e6d3 The year is 2021 2021-05-07 17:45:56 +02:00
GoldenTails
43c21edcbd Send IntermissionThinker and intermission hud hooks stagefailed. 2021-04-20 23:52:25 -05:00
SwitchKaze
3faa98cf4a Expose inputs to Lua 2021-04-02 15:45:59 -05:00
lachablock
6ea9653681 Add PlayerHeight and PlayerCanEnterSpinGaps Lua hooks 2021-03-25 21:41:09 +11:00
James R
5bb221b3bf Yeah Fuck You SEENAMES 2020-12-12 15:39:13 -08:00
James R
7b6675178e Merge branch 'oldguards' into 'next'
Kill remaining HAVE_BLUA and SEENAMES

See merge request STJr/SRB2!1319
2020-12-12 17:34:04 -05:00
James R
93e4f43e4b Hooklib macros names -> uppercase + documentation 2020-12-12 03:16:30 -08:00
James R
e55d842d7f Kill SEENAMES 2020-12-12 02:11:23 -08:00
James R
9ddeb5f589 Resolve GameQuit hook conflicts 2020-12-12 02:05:21 -08:00
James R
8d382e49fb Big Large Lua Hooklib Refactor
* Hooks are no longer a mess of lua boiler plate. Helper functions reduce hooks
  to, at the most basic level, only two calls.
* Lua tables (the array part) are used to index hooks. Such tables contain only
  hooks of the same type.
* Hook types are defined in one place so you no longer need to sync up the enum
  and name array.
2020-12-10 00:36:41 -08:00
GoldenTails
59d2646593 Send a quitting argument to the GameQuit Lua hook 2020-11-29 08:30:50 -06:00
Steel Titanium
ac7781a3b3 Expose more music functions to Lua 2020-10-31 21:15:41 -04:00
Zachary McAlpin
d26c7654ff Ported Lat's PlayerCmd hook to vanilla SRB2 2020-07-17 00:08:38 -05:00
Zachary McAlpin
31b19f69a2 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-04-09 20:12:11 -05:00
James R
2fda89f1c3 Merge branch 'bot-respawn-hook' into 'next'
BotRespawn hook

See merge request STJr/SRB2!804
2020-04-09 19:52:25 -04:00
Zachary McAlpin
21353f1209 Screw merge conflicts 2020-03-24 20:38:46 -05:00
Louis-Antoine
e3cbdf8fab Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
fickleheart
e0badd1e5b Rename hook to ShouldJingleContinue 2020-03-18 22:35:21 -05:00
Zachary McAlpin
bb08b55b43 Created GameQuit hook, but I need to decide where to execute it 2020-03-12 12:22:04 -05:00
fickleheart
f2c968dea8 Add JingleStatus hook for carrying custom jingle tunes
The extra argument is the music name, as passed into
P_PlayJingleMusic(player, musname), to run the hook for, optional.
Arguments are (player, musname) - the latter to allow global hooks
that still differentiate between different tracks.
2020-02-23 17:20:44 -06:00
James R
7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Sally Cochenour
934808ef62 BotRespawn hook
Lets you force when and when not to respawn the bot
2020-02-12 14:16:23 -05: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
Zachary McAlpin
11d21dd950 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into playerthink-hook 2020-01-08 18:52:56 -06:00
James R
0bbc11c2a9 Merge branch 'lua-neatstuff' into 'next'
Extra functionality for lua

See merge request STJr/SRB2!601
2020-01-05 20:54:17 -05:00
Zachary McAlpin
dc51ba6b64 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into playerthink-hook 2020-01-01 17:11:19 -06:00
Jaime Passos
35ff383a4a Rename `seenplayer to seenfriend` 2020-01-01 15:17:29 -03:00
Nami
ef4840555e Add MobjLineCollide hook 2019-12-31 15:17:02 -08:00
Jaime Passos
1c048275da **NEW!** hook_SeenPlayer 2019-12-31 14:37:45 -03:00
Nami
a36920808b Revert changes to searchBlockmap because on reflection, the benefits didn't outweigh breaking every current usage of it
Readd ThinkFrame in its original position
PostThinkFrame now runs at the end of P_Ticker, only MapEnd runs after it
2019-12-30 19:04:27 -08:00