Commit graph

57 commits

Author SHA1 Message Date
Monster Iestyn 73b8790946 Merge branch 'master' into lua-additions 2016-11-24 19:35:06 +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
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
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 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
Yukita Mayako c6c4ab7c53 New emerald behavior in Match.
No longer turns you super, instead emeralds steal points
from enemy players and give you (and relevant teammates)
an invincibility + super sneakers monitor.
2015-05-27 02:39:46 -04:00
Yukita Mayako b6a8df557e New Match weapon/ammo dropping method.
P_PlayerWeaponPanelOrAmmoBurst will go through all of the
player's weapon rings and either drop the weapon panel itself
(with no ammo attached, and no ammo taken away!) OR if the
player has ammo but no weapon, it drops the ammo instead
(and you lose it).
2015-05-27 02:39:37 -04:00
JTE ef0e61fc33 Change LUA_NUMBER to fixed_t, change angle_t handling in Lua.
Angles now go from 0 to 0xFFFF (360 degrees == FRACUNIT) instead
of using a full UINT32. Lua only has one number type, so signedness
gets in the way of using angle_t directly. This handling of angles
matches up with how ZDoom ACS scripting and the like does it.

I also changed all the integer casts and pushes of fixed_t to
their own macro in preperation for possible future seperation.
2015-05-20 23:54:04 -04:00
JTE 9d36cf37bd Removed EvalMath from base Lua.
EvalMath is for SOC only.
It spawns an entirely seperate instance of Lua and requires
uppercase-only strings, and it's ability to parse strings to
enums is redundant to Lua's _G table (try using
_G["MT_BLUECRAWLA"] for instance)
2015-05-20 18:44:03 -04:00
MonsterIestyn e83fa3dc43 Partial damage system overhaul: P_DamageMobj, P_KillMobj, P_HitDeathMessages and P_RingDamage now all take a "damagetype" variable that determines what type of damage was dealt. Does not replace the "damage" variable, we'll have to see if that is worth keeping another time?
Currently the main benefit of these changes is that a number of non-Object-related hazards/deaths no long rely on dummy MT_NULL objects or other hacks to tell the game how you were hurt/killed, yay

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9039 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:18 -06:00
Alam Ed Arias 404b5f666c SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00
Alam Ed Arias d6c29e19ab SRB2 2.1.10 release 2014-08-05 19:59:40 -04:00
Alam Ed Arias c028c83235 SRB2 2.1.9 release 2014-08-03 23:49:33 -04:00
wolfy852 9ab60d1295 Add LUA_EvalMath to Lua with function name EvalMath 2014-07-19 17:46:53 -05:00
wolfy852 a8f5406233 Add P_Telekinesis and P_IsFlagAtBase to Lua. 2014-05-25 21:41:05 -05:00