Commit graph

178 commits

Author SHA1 Message Date
Nev3r
e301d268ec 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
8376c8e987 I forgot to pop the error handler 2020-06-12 07:50:57 -05:00
Zachary McAlpin
75932c45d4 Updated LUAh_GameQuit to use new error handler 2020-06-11 15:11:01 -05:00
MascaraSnake
3ce62d7780 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
d7228562e3 Updated LUAh_GameQuit 2020-06-05 13:18:22 -05:00
Zachary McAlpin
c7e64d635c Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-06-05 12:59:41 -05:00
Louis-Antoine
25cb181b8e Refactor hook library a little 2020-05-30 20:28:45 +02:00
Louis-Antoine
a71f690241 Show the traceback when a Lua script error happens 2020-05-30 20:24:33 +02:00
Sally Coolatta
63917ffccc The start of the scary 2.2 merge
All conflicts are left in-tact. We should be collaborating on solving these files one at a time.
2020-05-29 13:43:38 -04:00
Sally Coolatta
1788d29263 Merge branch 'master' into pet-robo 2020-05-12 22:38:23 -04:00
Nev3r
860c44d953 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
b6a2c21db7 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-04-09 20:12:11 -05:00
James R
61a4fe06d5 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
483243353b Merge branch 'lua-hook-cleanup' into 'next'
Lua hook cleanup

See merge request STJr/SRB2!851
2020-04-09 19:40:09 -04:00
Wolfy
1d1b1514b4 Remove stupid dumbfuck #ifdefs
WHY THE FUCK DID THESE BREAK IT AAAAAAAAAAAAAAAAAAA
2020-04-07 05:24:38 -05:00
Wolfy
e9bbdb8cc3 Reimplement the MusicChange hook
why the fuck was this removed
2020-04-05 12:09:44 -05:00
Sally Cochenour
ff621d3e46 Skins, rudimentary ticcmd building for bots 2020-03-28 12:39:27 -04:00
Sally Cochenour
751fd9ad1b Start on bots, doesn't work 2020-03-27 23:51:49 -04:00
Zachary McAlpin
3b93250c55 Moved LUAh_GameQuit(void) function to the end of the lua_hooklib.c 2020-03-24 22:55:25 -05:00
Zachary McAlpin
61447c20be Screw merge conflicts 2020-03-24 20:38:46 -05:00
MascaraSnake
9b76d3af6f 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
46df2b9551 Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
Louis-Antoine
5318e41f26 Fix misleading naming 2020-03-19 14:40:12 +01:00
Louis-Antoine
85d0a92eb4 Simplify hook code 2020-03-19 14:38:42 +01:00
fickleheart
7bf9bc4b9e Merge remote-tracking branch 'upstream/next' into lua-music 2020-03-18 22:43:07 -05:00
fickleheart
ecb8a6f4e2 More union types for the union type god 2020-03-18 22:42:31 -05:00
fickleheart
95a01de67d Clean up after myself 2020-03-18 22:38:51 -05:00
fickleheart
2176136480 Rename hook to ShouldJingleContinue 2020-03-18 22:35:21 -05:00
Monster Iestyn
f3bfa2b1db Merge branch 'master' into next 2020-03-15 20:32:43 +00:00
Zachary McAlpin
9bb2aa262e Created GameQuit hook, but I need to decide where to execute it 2020-03-12 12:22:04 -05:00
Nev3r
63fb8f846b Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next 2020-03-11 09:31:31 +01:00
Latapostrophe
af4922b53e VoteThinker Hook for Lua 2020-03-10 18:58:44 +01:00
Monster Iestyn
f186def0bf 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
97f8526e01 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
5aebc0ed6d 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
18e3134efd 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
2274129f57 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
MascaraSnake
c2311dca45 Merge branch 'next' into udmf-next 2020-02-18 18:39:11 +01:00
Jaime Passos
304806d221 Fix LUAh_SeenPlayer not working 2020-02-17 23:06:38 -03:00
Sally Cochenour
4735788e60 BotRespawn hook
Lets you force when and when not to respawn the bot
2020-02-12 14:16:23 -05:00
Louis-Antoine
a997683d1c 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
c2682ac1b6 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
ebe467a664 Merge branch 'udmf-next' into stringargs 2020-01-11 16:03:38 +01:00
MascaraSnake
897f6ee067 Adapt setup of linedef type 443 (Call Lua function) to UDMF 2020-01-11 15:38:50 +01:00
Zachary McAlpin
6f60341aec Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into playerthink-hook 2020-01-08 18:52:56 -06:00
James R
2a6cf10f79 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
7c0021aaac Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into playerthink-hook 2020-01-01 17:11:19 -06:00
Jaime Passos
0ab6fe1fd8 Rename `seenplayer to seenfriend` 2020-01-01 15:17:29 -03:00
Nami
9219699b42 Add MobjLineCollide hook 2019-12-31 15:17:02 -08:00
Jaime Passos
a811021112 **NEW!** hook_SeenPlayer 2019-12-31 14:37:45 -03:00
Nami
4456ff50ab 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
e4d1b9491c Let's try this again! 2019-12-29 20:36:24 -08:00
Zachary McAlpin
e4e233d4de Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into playerthink-hook 2019-12-26 17:29:54 -06:00
Zachary McAlpin
90a5b0bfae Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into playerthink-hook 2019-12-26 16:59:47 -06:00
Alam Ed Arias
97b5d2449c Merge branch 'next' into gametype-clownery 2019-12-26 14:48:04 -05:00
Monster Iestyn
bdacaa64ab 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
c832d26ee9 ViewpointSwitch improvements. 2019-12-23 20:22:57 -03:00
Zachary McAlpin
324b05032c Revert "Added CalculateCamera Hook"
This reverts commit b545a13312.
2019-12-19 17:21:55 -06:00
Zachary McAlpin
b545a13312 Added CalculateCamera Hook 2019-12-19 16:41:25 -06:00
Jaime Passos
29b819015a De-fuck team change 2019-12-19 00:31:13 -03:00
Jaime Passos
b65c6e3745 Shadowed variable declarations whoopsie!!! uwu 2019-12-18 23:53:26 -03:00
Jaime Passos
ac74a2a020 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
e47f171533 TeamSwitch hook for Lua 2019-12-18 23:40:58 -03:00
Jaime Passos
0e3bf527a2 ViewpointSwitch hook for Lua 2019-12-18 20:43:54 -03:00
Zachary McAlpin
a51475d5b7 Added PlayerThink hook 2019-12-14 15:28:24 -06:00
Steel Titanium
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
Steel Titanium
338c147526 Change this for consistency. 2019-10-14 21:47:20 -04:00
Steel Titanium
c20023d35f New intermission thinker hook 2019-10-13 20:50:46 -04:00
toaster
6f1128c84d "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
4fffceeaba 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
Steel Titanium
3e838c1e83 New IntermissionThinker hook 2019-04-22 00:29:47 -04:00
Latapostrophe
f585bed720 hook_cmd_running around the loop rather than inside 2019-01-13 20:16:53 +01:00
Latapostrophe
62f1ac6ef6 Expose some more Kart functions, freeplay and rankings bumpers are now hud stuff you can toggle, + experimental playercmd hook 2019-01-13 14:40:48 +01:00
mazmazz
81352aece1 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
0d92c668d1 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
9e49a9ca5d 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
4c88271cfb 2.1.21 and all of the kart additions. Woo. 2018-12-17 20:43:59 +01:00
TehRealSalt
a1bdfb1272 Merge remote-tracking branch 'srb2public/next' into merge-next 2018-12-03 00:31:23 -05:00
Jimita
a32fb94e09 Merge branch 'next' into lua_mapchange 2018-11-30 15:10:59 -02:00
MPC
e745cb60fc Change MapChange so Lua returns the map number you change 2018-11-30 14:01:40 -03:00
TehRealSalt
4507ee18fd Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -05:00
Latapostrophe
a6bea8483f Separated the damage hooks into multiple more precise hooks for players. 2018-11-27 18:27:43 +01:00
Monster Iestyn
d824e05a6f Merge branch 'master' into next 2018-11-25 20:39:17 +00:00
mazmazz
c91b2b4456 Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Monster Iestyn
89eafc59e7 ....ow this slipup hurt me badly 2018-11-10 16:00:33 +00:00
Monster Iestyn
7989e9a482 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
TehRealSalt
5b6efcba0c Merge remote-tracking branch 'srb2public/next' 2018-11-08 17:37:05 -05:00
Monster Iestyn
1200793a94 Merge branch 'Playerquit_hook' into 'next'
"PlayerQuit" Lua Hook

See merge request STJr/SRB2!127
2018-11-08 15:53:35 -05:00
wolfy852
eca78519e4 Chat Manager 2018-06-15 05:20:01 -05:00
Monster Iestyn
728d27f2d5 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
fe8786b8ff 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