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
Prisima the Fox
cfb2feff8e
"PlayerQuit" hook
2016-10-20 22:25:11 -04:00
toasterbabe
59fccab8e5
Restructured things so nojumpdamage characters can use the elemental, bubblewrap and attract shields.
2016-10-20 20:55:15 +01:00
Monster Iestyn
ea65e9e54f
Add "damagetype" argument to functions for Lua hooks ShouldDamage, MobjDamage, MobjDeath and HurtMsg
2016-07-20 22:02:02 +01:00
Inuyasha
f07585191b
copyright dates/statements updated and such
...
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Monster Iestyn
4302cfaa00
Merge branch 'playerspawn-hook' into 'next'
...
Add PlayerSpawn hook to Lua
I don't know how I did this but I did. Something about staring at code from 3AM till 5AM...
Here's a test script too:
```Lua
addHook("PlayerSpawn", function(player) player.health = 99 end)
```
See merge request !48
2016-03-04 10:19:18 -05:00
Yukita Mayako
b368936b03
Fix bad logic in LUAh_NetArchiveHook rewrite...
...
Argh, I knew I was forgetting something! archFunc is the argument to be passed to the hooks, not tables!
2016-03-03 17:30:46 -05:00
Yukita Mayako
9d6e75ae4f
Cleanup LUAh_NetArchiveHook prototype mess.
2016-03-03 17:30:10 -05:00
Yukita Mayako
0bdc976d50
Shut up compiler warning.
2016-03-03 17:19:35 -05:00
Yukita Mayako
7ae871c7f8
Fix errenous stack pop.
...
This function is intended to leave the stack in the same state it recieved it.
2016-03-03 17:19:21 -05:00
Yukita Mayako
0b704ba618
Updated NetArchiveHook to lua_hooklib.c
...
Fixes I_Assert failure crash due to hooks working differently now.
2016-03-03 17:07:05 -05:00
wolfy852
db3797fd35
Add PlayerSpawn hook
2016-02-14 06:10:20 -06:00
Yukita Mayako
0af32ee2fa
Move garbage collection out of Lua hooks.
...
That's supposed to be run once a frame, not once per hook
per mobj per frame you moron. If you just run it seven
thousand times a frame, of course your framerate will drop.
2015-06-10 13:42:45 -04:00
Yukita Mayako
06b82d172b
lua_pushfstring only allows %d not %x
...
Stupid JTE.
2015-06-10 11:06:56 -04:00
Yukita Mayako
6ac5013802
Only push userdata to the stack when needed!!
...
Dummy, what do you think you're doing? If you
just push mobjs and players into Lua all willy-
nilly everywhere, you'll wind up generating
tons of metatables and stuff you arne't even
gonna use!
Oh. Thanks me, I'm really smart.
2015-06-10 08:06:16 -04:00
Yukita Mayako
ecdf3412c0
Rewrote the entirety of lua_hooklib.c
...
This _should_ solve some significant performance
issues Lua experiences. If not, I will be very
upset for having wasted so much time and effort.
There will be bugs, this kind of thing needs to
be thuroughly tested and this is just the first
iteration of it.
2015-06-10 07:28:09 -04:00
Alam Ed Arias
404b5f666c
SRB2 2.1.12 release
2014-11-11 19:55:07 -05:00
Alam Ed Arias
c028c83235
SRB2 2.1.9 release
2014-08-03 23:49:33 -04:00
Alam Ed Arias
c130be77b1
Merge remote-tracking branch 'RedEnchilada/next' into next
...
Also clean up whitespaces
2014-06-19 13:00:36 -04:00
RedEnchilada
37d3780458
Add hook for chat messages, including csays
2014-06-18 15:28:09 -05:00
Alam Ed Arias
8a9759a3e4
SRB2 2.1.8 release
2014-04-19 13:41:29 -04:00
Alam Ed Arias
02a3b0776c
SRB2 2.1.7 release
2014-04-14 01:14:58 -04:00
Alam Ed Arias
a03da73115
SRB2 2.1.2 release
2014-03-17 08:13:16 -04:00
Alam Ed Arias
b93cb1b65a
SRB2 2.1 release
2014-03-15 13:11:35 -04:00