Commit graph

68 commits

Author SHA1 Message Date
Monster Iestyn 2ac3f68438 Added in-level checks to a lot of these functions and tables for Lua use
This makes it less likely for the game to crash when stuff is used outside a level when they shouldn't be
2017-01-18 22:02:28 +00:00
Alam Ed Arias 94025ae947 Merge branch 'master' into lua-additions 2017-01-13 16:47:57 -05:00
Monster Iestyn 38f7af9281 Added ability to use custom-defined lines with P_PointOnLineSide such as with P_ClosestPointOnLine 2016-11-24 22:01:51 +00:00
Monster Iestyn 73b8790946 Merge branch 'master' into lua-additions 2016-11-24 19:35:06 +00: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
Inuyasha 908907d668 Merge branch 'spr2stuff' into 'master'
Sprite2 changes

Some stuff!

* Lua access to sprite2.
    * Introducing new Lua-exclusive function, P_IsValidSprite2(mo, spr2). Basically just a wrapper for (((skin_t *)mobj->skin)->sprites[spr2].numframes > 0), useful for creating custom sprite2 defaulting functions since hooking into P_GetMobjSprite2 wouldn't be worth it.
* FF_ANIMATE support for sprite2s. The var2 of the state works identically to normal FF_ANIMATE, but var1 is completely disregarded - it just runs all of the frames available to that one sprite2 animation set.
    * As a result, a bunch of states which were either not previously animatable or had animated at constant speed now get animation without state changes.
* P_SetMobjState now supports sprite2 defaulting like P_SetPlayerMobjState does.

See merge request !51
2016-11-13 16:59:26 -05:00
toasterbabe 20677c7a66 * Introducing new Lua-exclusive function, P_IsValidSprite2(mo, spr2). Basically just a wrapper for (((skin_t *)mobj->skin)->sprites[spr2].numframes > 0), useful for creating custom sprite2 defaulting functions since hooking into P_GetMobjSprite2 wouldn't be worth it.
* All Lua-originated sprite2 settings are now forced through P_GetMobjSprite2. Makes sense because of SPR2_JUMP, which none of the main characters have sprites for yet all use.
* Cleaned up P_GetMobjSprite2 to not set irrelevant, otherwise-unused variable.
2016-11-11 23:23:41 +00:00
Monster Iestyn 5da972f314 Remove disabled LUA_BLOCKMAP code from lua_baselib.c 2016-10-28 18:56:07 +01:00
Monster Iestyn dc1e7165f7 Created lua_blockmaplib.c, for Lua's blockmap library
my P_SearchBlockmap_* functions are now a single searchBlockmap function, you can choose between "objects" and "lines" with the first arg to decide what to iterate through. I also rearranged the argument order a bit for easy stack cleanup etc

I'll remove the old stuff later, don't worry, it's disabled for now
2016-10-27 18:10:30 +01:00
Monster Iestyn 60dcfd1021 Pop result of P_SearchBlockmap_Objects's function arg
Also P_SearchBlockmap_Lines is a thing now too
2016-10-25 22:39:27 +01:00
Monster Iestyn 36b7156ff7 Turns out it does work yay, just had to make some tweaks really
Next question: should the calling mo be able to find itself in the blockmap, or should it skip itself?
2016-10-24 23:11:41 +01:00
toasterbabe 162c04c370 Bubblewrap shield now bounces on enemies and monitors instead of piercing through them. 2016-10-24 13:33:10 +01:00
Monster Iestyn 5787817662 Committing my work on P_SearchBlockmap_Objects so far, no idea if it's even functional yet so I've commented it out for now 2016-10-23 23:13:11 +01:00
Monster Iestyn 0fb89c620d Merge branch 'master' into damage-control 2016-09-30 21:05:44 +01:00
toasterbabe a8be1e6b7d Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions
# Conflicts:
#	src/d_player.h
#	src/p_inter.c
#	src/p_mobj.c
#	src/p_user.c
2016-09-27 18:24:53 +01:00
Monster Iestyn 6ac84687d3 Merge branch 'master' into lua-additions 2016-08-04 18:55:14 +01:00
Alam Ed Arias b347ed2ca6 Merge branch 'public_next' into master 2016-07-11 15:52:27 -04:00
toasterbabe 0fefd86d1e More generic name for P_ElementalFireTrail upon MI's request 2016-07-08 22:56:17 +01:00
toasterbabe 940a58b5ca Shouldn't be true by default, WOOPS 2016-07-08 22:52:49 +01:00
toasterbabe f8dd9b64ab Elemental shield ability now coded. REQUIRES NEW PATCH.DTA FROM THE FTP.
- Press spin in midair to stomp directly downwards (losing horizontal momentum), creating a flickering fireball around you.
- No bouncing on enemies, item boxes, etc - just go straight through.
- Hurts other players on touch whilst you're stomping.
- Spawns a bunch of flames around you when you hit the ground.

Also:

- Electric shield's ability now uses different sounds, because I'm picky.
2016-07-08 21:55:17 +01:00
toasterbabe 95ac0fa9a0 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions 2016-07-08 13:20:24 +01:00
toasterbabe 661da15146 Reinforcing encapsulation I originally broke down to allow for P_GetMobjGravity.
When I first wrote this, I thought the .h file that contained a function declaration needed to have the same name as the .c file the function was in. Now I know that's not the case, off to p_local.h with you.
2016-06-09 18:16:13 +01:00
toasterbabe 76d108d760 Whoops, didn't realise pushing fixed and integer were different. My mistake. 2016-06-01 14:49:14 +01:00
toasterbabe 62c4338d60 Added P_GetMobjGravity to Lua. Check /toaster/gravitytest.lua for sample script. 2016-06-01 13:19:44 +01:00
Monster Iestyn c239a71ffe Add P_PointOnLineSide to Lua 2016-05-25 16:34:09 +01:00
Monster Iestyn 9007904a72 Merge branch 'master' into damage-control
# Conflicts:
#	src/p_inter.c
#	src/p_mobj.c
2016-05-25 15:33:09 +01:00
Alam Ed Arias 032313260a Merge branch 'public_next' into master 2016-05-20 17:58:57 -04:00
Inuyasha f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Inuyasha 3235351b99 And now Lua yells at you for doing what I just fixed 2016-05-11 14:33:50 -07:00
Monster Iestyn 01debc27a2 Merge branch 'public_next' 2016-05-06 18:06:18 +01:00
Monster Iestyn 2ddde83601 General improvements to Lua error messages for out-of-bounds stuff.
The idea is for the layman Lua user to understand better what range of values to use for mobj types, states, sfxs, player #s etc. Additionally, mobjinfo/states/sfxinfo/hudinfo tables all now have actual bound checks when accessing/editing them. Yikes, why didn't they have any before?!
2016-05-01 22:14:42 +01:00
Alam Ed Arias fbd9cb73c3 Merge branch 'public_next' into private 2016-04-27 16:54:37 -04:00
Monster Iestyn 249d25a316 Merge branch 'master' of git@git.magicalgirl.moe:STJr/SRB2Internal.git into damage-control 2016-04-07 20:47:12 +01:00
Inuyasha 50d3fe15b8 Merge branch 'public_next' of http://git.magicalgirl.moe/STJr/SRB2Internal
# Conflicts:
#	src/d_main.c
#	src/doomdef.h
2016-03-31 21:17:29 -07:00
Alam Ed Arias 1c16943be8 Merge branch 'next' into bp_random2 2016-03-31 21:44:03 -04:00
Inuyasha ac03ce39c8 *_Random is now *_RandomByte.
P_RandomChance is now a macro for something that should happen a
certain percentage of time.

P_SignedRandom was moved to a macro. Nobody cared.

# Conflicts:
#	src/p_inter.c
2016-03-29 16:27:55 -07:00
Monster Iestyn bc8ea700ed Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into closestpointonline 2016-03-26 18:32:51 +00:00
Monster Iestyn f9c4b877ca Merge branch 'master' of git@git.magicalgirl.moe:STJr/SRB2Internal.git into damage-control 2016-03-13 20:37:43 +00:00
Inuyasha 62b2e5c17e Revert "Readded EvalMath to Lua."
This partially reverts commit cfcd7ce0d3.
2016-03-09 01:29:58 -08:00
Inuyasha 317161221d Merge branch 'public_next' of http://git.magicalgirl.moe/STJr/SRB2Internal 2016-03-09 01:23:48 -08:00
Inuyasha cfcd7ce0d3 Readded EvalMath to Lua.
There is a caveat to this: The first time EvalMath is used, a
deprecated function warning will be shown to the user that tells
them to use _G[] instead.

This reverts commit 9d36cf37bd.
2016-03-08 22:15:26 -08:00
Inuyasha c956b498c8 Merge branch 'public_next' of http://git.magicalgirl.moe/STJr/SRB2Internal
# Conflicts:
#	src/p_user.c
2016-03-03 21:48:32 -08:00
Inuyasha 7349cbdbc0 Backwards compatibility.
A test WAD for all possible use cases I can think of
can be found here:
https://dl.dropboxusercontent.com/u/3518218/21/secret/bc_test.wad
2016-03-03 02:54:07 -08:00
Monster Iestyn 668cc85d7b P_ClosestPointOnLine can now (optionally) take custom coordinates that you want to make up your line 2016-03-02 20:31:04 +00:00
Inuyasha 8c17dac589 The concept of "music slots" doesn't exist anymore.
Use whatever names you want for your music. So long as you prefix the lumps with O_ or D_, it doesn't matter anymore.
DISCLAIMER: Linedef type 413 (change music) and Lua scripting is not tested.

(cherry picked from commit 025ca413a2)

# Conflicts:
#	src/p_user.c
2016-02-09 02:48:33 -08:00
Yukita Mayako ba77b235d1 Merge branch 'match-rebalancing' into damage-control
Conflicts:
	src/p_inter.c
	src/p_user.c
	src/st_stuff.c
2015-09-30 20:40:27 -04:00
Monster Iestyn 6bc1a5fdef Okay, major overhaul time!
*player->health (formerly the "HUD" health) is now to be known as player->rings, and now acts as the player's actual ring count
*player->mo->health (formerly rings + 1) is now always 1 when alive, regardless of ring count; if player with rings is damaged, this is untouched

Damage in normal SP/Coop gameplay has been tested and still works fine; still a lot of mess to clear up though

Tag damaging probably is broken now, I'll fix this later
2015-08-15 21:07:16 +01:00
Alam Ed Arias c0ae3fa895 Merge remote-tracking branch 'private/public_next' into private_master 2015-08-14 18:26:33 -04:00
Monster Iestyn fa935be129 Fixed the issue where diagonal springs couldn't teleport you to their centers anymore (guess whose fault that was! =D ). Basically I just made P_DoSpring boolean, which probably could be useful to Lua peeps as well. (it returns true if you were sprung, false if not) 2015-07-28 19:28:51 +01:00
Alam Ed Arias fb5cba78d3 Merge branch 'public_next' into private
Conflicts:
	src/p_mobj.c
2015-06-18 10:54:53 -04:00