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
James R
b72789b0c9
Huge perfstats refactor
...
I needed to update it to make it functional with the precise timer. But I also
got sick of looking at the mess of sprintf followed by draw call.
2020-11-07 01:32:59 -08:00
Steel Titanium
ac7781a3b3
Expose more music functions to Lua
2020-10-31 21:15:41 -04:00
Louis-Antoine
37c11e0f2e
Fix unfortunate typos
2020-10-22 00:08:06 +02:00
Louis-Antoine
d349e9bf83
Only invoke the Lua API for mobj hooks that need it
2020-10-21 22:48:00 +02:00
Hannu Hanhi
4f20a20165
Performance stats
2020-10-10 22:12:34 +03:00
Zachary McAlpin
e5b6d19f57
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into playercmd-kart-port
2020-07-30 15:37:41 -05:00
Zachary McAlpin
c42e06221d
Bruh I screwed up
2020-07-17 00:33:07 -05:00
Zachary McAlpin
d26c7654ff
Ported Lat's PlayerCmd hook to vanilla SRB2
2020-07-17 00:08:38 -05:00
Nev3r
ff8759e507
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next
...
# Conflicts:
# src/hardware/hw_main.c
2020-06-30 20:29:48 +02:00
Zachary McAlpin
6eccc7030d
I forgot to pop the error handler
2020-06-12 07:50:57 -05:00
Zachary McAlpin
0d70e16b0b
Updated LUAh_GameQuit to use new error handler
2020-06-11 15:11:01 -05:00
MascaraSnake
4a0206b38d
Merge branch 'next' into udmf-next
...
# Conflicts:
# src/p_mobj.c
# src/p_polyobj.c
2020-06-09 09:38:01 +02:00
Zachary McAlpin
ca66c5e7ee
Updated LUAh_GameQuit
2020-06-05 13:18:22 -05:00
Zachary McAlpin
7b779fa89b
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook
2020-06-05 12:59:41 -05:00
Louis-Antoine
d31346822d
Refactor hook library a little
2020-05-30 20:28:45 +02:00
Louis-Antoine
1bacaedde2
Show the traceback when a Lua script error happens
2020-05-30 20:24:33 +02:00
Nev3r
4128f826b7
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next
...
# Conflicts:
# src/lua_hooklib.c
2020-04-12 09:57:19 +02: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
James R
1edc300d0c
Merge branch 'lua-hook-cleanup' into 'next'
...
Lua hook cleanup
See merge request STJr/SRB2!851
2020-04-09 19:40:09 -04:00
Zachary McAlpin
decce7905b
Moved LUAh_GameQuit(void) function to the end of the lua_hooklib.c
2020-03-24 22:55:25 -05:00
Zachary McAlpin
21353f1209
Screw merge conflicts
2020-03-24 20:38:46 -05:00
MascaraSnake
1580e14cbc
Merge branch 'next' into udmf-next
...
# Conflicts:
# extras/conf/Includes/SRB222_linedefs.cfg
# extras/conf/Includes/SRB222_misc.cfg
# src/p_spec.c
2020-03-21 20:04:31 +01:00
Louis-Antoine
e3cbdf8fab
Use HAVE_BLUA as fuel for my fireplace
2020-03-19 18:36:14 +01:00
Louis-Antoine
1d5d6ead65
Fix misleading naming
2020-03-19 14:40:12 +01:00
Louis-Antoine
58c42eec29
Simplify hook code
2020-03-19 14:38:42 +01:00
fickleheart
05b2570ae7
Merge remote-tracking branch 'upstream/next' into lua-music
2020-03-18 22:43:07 -05:00
fickleheart
9c86cd0bc2
More union types for the union type god
2020-03-18 22:42:31 -05:00
fickleheart
647f73c8f2
Clean up after myself
2020-03-18 22:38:51 -05:00
fickleheart
e0badd1e5b
Rename hook to ShouldJingleContinue
2020-03-18 22:35:21 -05:00
Monster Iestyn
31b1188a3e
Merge branch 'master' into next
2020-03-15 20:32:43 +00:00
Zachary McAlpin
bb08b55b43
Created GameQuit hook, but I need to decide where to execute it
2020-03-12 12:22:04 -05:00
Nev3r
68f60f3c29
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next
2020-03-11 09:31:31 +01:00
Monster Iestyn
f4cb6e1f5e
Include r_skins.h instead of r_things.h in many files where all they wanted from it was skins stuff
...
(oddly enough, this actually revealed some secret file dependencies previously included via r_things.h! I also needed to include d_player.h in r_skins.h itself it seems)
2020-03-09 13:54:56 +00:00
Monster Iestyn
cf95837a76
Merge branch 'follow-is-mobj' into 'next'
...
Turn FollowMobj into a mobj hook
See merge request STJr/SRB2!803
2020-02-29 12:48:39 -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
Sally Cochenour
400366802c
Make hook_FollowMobj a mobj hook instead of a player hook
...
Makes more logical sense, as if you have a custom follow item for a custom skin, you probably want your new thinker to only run for your new MT_ and not the vanilla ones.
2020-02-20 16:40:39 -05:00
James R
7060083db5
Update copyright year to 2020
2020-02-19 14:08:45 -08:00
MascaraSnake
cae99654be
Merge branch 'next' into udmf-next
2020-02-18 18:39:11 +01:00
Jaime Passos
369fd8e35f
Fix LUAh_SeenPlayer not working
2020-02-17 23:06:38 -03: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
MascaraSnake
bac379a7a3
Merge branch 'udmf-next' into stringargs
2020-01-11 16:03:38 +01:00
MascaraSnake
f0d663ea90
Adapt setup of linedef type 443 (Call Lua function) to UDMF
2020-01-11 15:38:50 +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
Nami
58dd578b09
Let's try this again!
2019-12-29 20:36:24 -08:00
Zachary McAlpin
9fe20aa1a3
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into playerthink-hook
2019-12-26 17:29:54 -06:00
Zachary McAlpin
e08b3b691f
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into playerthink-hook
2019-12-26 16:59:47 -06:00
Alam Ed Arias
61a0197339
Merge branch 'next' into gametype-clownery
2019-12-26 14:48:04 -05:00
Monster Iestyn
5241030012
Fix ShouldDamage, MobjDamage and MobjDeath hooks all messing up the pushing of variables to Lua as function args, by adding damagetype support where it was missing!
...
The above issue occured only if you had both a generic hook and a type specific hook for a particular hook type. This way, the stack is never updated to include damagetype at the start, and all pushes of the variables get offsetted by 1 compared to what they should be, once the code *expects* damagetype to be included in it.
2019-12-25 21:48:59 +00:00
Jaime Passos
a657392d39
ViewpointSwitch improvements.
2019-12-23 20:22:57 -03:00
Zachary McAlpin
124a0754a6
Revert "Added CalculateCamera Hook"
...
This reverts commit 9f82cdb401
.
2019-12-19 17:21:55 -06:00
Zachary McAlpin
9f82cdb401
Added CalculateCamera Hook
2019-12-19 16:41:25 -06:00
Jaime Passos
00440224d2
De-fuck team change
2019-12-19 00:31:13 -03:00
Jaime Passos
5da55e8b76
Shadowed variable declarations whoopsie!!! uwu
2019-12-18 23:53:26 -03:00
Jaime Passos
6f857df5e5
ViewpointSwitch hack so nobody does anything evil
...
Prints the generic "can't do this in a HUD hook" message. Whatever. I'm tired.
2019-12-18 23:47:17 -03:00
Jaime Passos
be5fd1a0db
TeamSwitch hook for Lua
2019-12-18 23:40:58 -03:00
Jaime Passos
0421c81e04
ViewpointSwitch hook for Lua
2019-12-18 20:43:54 -03:00
Zachary McAlpin
87b816e408
Added PlayerThink hook
2019-12-14 15:28:24 -06:00
Steel Titanium
d415cd5c6d
Update copyright date on source files
2019-12-06 13:49:42 -05:00
Steel Titanium
597949f370
Change this for consistency.
2019-10-14 21:47:20 -04:00
Steel Titanium
0f79396757
New intermission thinker hook
2019-10-13 20:50:46 -04:00
toaster
3eb9b85fd4
"PlayerCanDamage" hook!
...
* Takes function(player, mo) input.
* Return TRUE for stating that yes, the player is in a state that can cause contact damage, do with that what you will.
* Return FALSE for stating that no, the player is weak and vulnerable and cannot cause contact damage, do with that what you will.
* Return NIL for allowing the function to continue regular operation.
Fills a different ideological niche than ShouldDamage - that's for determining whether damage dished between two objects should happen, this is for determining which way around damage should be dished when considering a player-object interaction.
Or, in other words, think of it as "ShouldDamage is whether damage that has been requested should be granted, for object-object interaction, while PlayerCanDamage is for whether global player properties should cause damage to enemies and monitors in the first place, like spinning, hammering or stomping."
2019-06-19 12:55:05 +01:00
toaster
28dfeb344b
Instead of only performing a hook if the Lua Hook loop determines its type to be the one we want, actively continue through the loop if it's NOT. This optimisation was performed while preparing the following commit; I have generously split them out for less shitty commit-by-commit review.
2019-06-19 12:28:57 +01:00
mazmazz
075f28b7c8
WIP 20190101 merge
...
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
Nev3r
caaacf3f76
Fixed the shield spawn/special hook cases on the hook add switch.
...
They basically work now.
Signed-off-by: Nev3r <apophycens@gmail.com>
2018-12-24 17:31:00 +01:00
Latapostrophe
c7060aa5ad
Remove mute boolean from playermsg hook, fix username stuff still being there, potential memory leaks, and added back the ip message.
2018-12-22 16:44:58 +01:00
Latapostrophe
45aba493c7
2.1.21 and all of the kart additions. Woo.
2018-12-17 20:43:59 +01:00
Jimita
6d7689c1a7
Merge branch 'next' into lua_mapchange
2018-11-30 15:10:59 -02:00
MPC
54cae84849
Change MapChange so Lua returns the map number you change
2018-11-30 14:01:40 -03:00
Monster Iestyn
1b2aea81dc
Merge branch 'master' into next
2018-11-25 20:39:17 +00:00
mazmazz
ea7162a76a
Update source copyrights to 2018
2018-11-25 07:35:38 -05:00
Monster Iestyn
896de73c60
....ow this slipup hurt me badly
2018-11-10 16:00:33 +00:00
Monster Iestyn
268bde3fdf
Merge branch 'public_next'
...
# Conflicts:
# src/d_netcmd.c
# src/d_netcmd.h
# src/dehacked.c
# src/g_game.h
# src/hardware/hw_draw.c
# src/hardware/hw_main.c
# src/lua_baselib.c
# src/lua_hook.h
# src/lua_hooklib.c
# src/lua_hudlib.c
# src/lua_libs.h
# src/lua_maplib.c
# src/lua_script.c
# src/m_misc.h
# src/p_mobj.c
# src/s_sound.c
# src/sdl12/mixer_sound.c
# src/w_wad.c
2018-11-10 15:41:57 +00:00
Monster Iestyn
d8f3a20e65
Merge branch 'Playerquit_hook' into 'next'
...
"PlayerQuit" Lua Hook
See merge request STJr/SRB2!127
2018-11-08 15:53:35 -05:00
Monster Iestyn
61176ee736
Merge branch 'public_next'
...
# Conflicts:
# src/doomdef.h
# src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj
# src/win32/win_vid.c
2018-01-02 17:32:24 +00:00
Monster Iestyn
c7cd64583d
Added a bunch of I_Asserts to lua_hooklib.c relating to mobj types just in case
2017-12-17 20:59:24 +00:00
toasterbabe
844416855f
Smiles follow-mobj initial support! Still using a Lua hook to follow closely behind, but now it doesn't need to be a generic thinkframe. Woo!
2017-10-02 14:08:58 +01:00
Monster Iestyn
0dd15ed8a4
Merge branch 'master' into lua-lump-load-only
2017-07-09 15:06:15 +01:00
Monster Iestyn
1462c638cb
Added the "lua_lumploading" variable for restricting certain Lua functions to lump load time only
2017-04-25 21:45:53 +01:00
Monster Iestyn
a6f830ddff
Add the "MapThingSpawn" hook to Lua
2017-04-15 21:41:22 +01:00
Monster Iestyn
e3ded1671c
Added MobjMoveBlocked Lua hook
...
Also slightly edited P_XYMovement to properly check the mobj still exists before checking its eflags for MFE_SPRUNG, while I was at it
2017-01-21 23:49:18 +00:00
Inuyasha
37c8ef6369
Merge branch 'public_next' of http://git.magicalgirl.moe/STJr/SRB2Internal
2016-12-22 17:46:39 -08:00
Louis-Antoine
db20bfb3c3
Generic mobj hooks are now run before mobjtype-specific mobj hooks, and player/linedef executor hooks now have their own lists
2016-12-15 21:05:54 +01:00
Prisima the Fox
dd13df2308
Whoops, didn't see the duplicate line.
2016-12-03 18:18:16 -05:00
Prisima the Fox
d788cb7676
Keeping the lua_gettop(gL) thing, otherwise the player/reason values will be pushed once to the stack each for every hook. Thanks MonsterIestyn!
2016-11-25 15:20:41 -05:00
toasterbabe
85fb02aaf6
Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions
...
# Conflicts:
# src/p_inter.c
# src/p_user.c
# src/st_stuff.c
2016-11-20 16:44:38 +00:00
Prisima the Fox
b1ce5896aa
Remove boolean remnants
2016-11-08 10:30:01 -05:00
Louis-Antoine
6f4699fb77
MobjThinker, MobjCollide and MobjMoveCollide hooks are now directly linked to the mobjtype they belong to, so you no longer iterate through all existing hooks.
2016-11-04 18:56:25 +01:00
toasterbabe
0ee2937392
Adding ShieldSpecial hook. (Activates under different circumstances to the JumpSpinSpecial hook, and can be used to cancel existing shield actions.)
2016-10-24 13:52:52 +01:00
Prisima the Fox
defc7c1645
Oops; PlayerQuit isn't a boolean!
2016-10-20 23:26:41 -04:00