Commit graph

12678 commits

Author SHA1 Message Date
Alam Ed Arias
f0054be951 whitespace fixup 2015-06-18 10:05:51 -04:00
Alam Ed Arias
a03fc205b4 Merge branch 'hotfix-pltz' into 'next'
Re-add/fix broken platform momz mobj code.

The changes in this branch re-add the platform's momentum to players and mobjs which leave the platform (eg. by jumping) so that they move with relative velocity as expected. This behavior was unintentionally broken in SRB2 2.0, which adds a lot of artificial difficulty to certain segments of the levels, where you have to jump between high velocity moving platforms which seemingly cut your jump height to nothing.

Not only has the behavior been fixed, but it has now been enhanced to move the camera while free-falling between platforms as well, completing the illusion of full relative velocity with minimal hiccups. [Observe.](http://i.imgur.com/zmSfUyp.gifv)

See merge request !14
2015-06-18 10:04:54 -04:00
Alam Ed Arias
f7747f43ba Merge branch 'misc-fixes-tomerge' into 'next'
Miscellanous fixes to merge

These are the commits from the "miscellanous-fixes" branch that are okay to merge in.

Bugs fixed include the following:
* CTF flags respawning incorrectly: they cannot z position themselves correctly, and they cannot flip themselves.
* The weird "jumping" spring/monitor effect: this is the result of an internal mobj_t pointer (tmfloorthing, specifically) not resetting itself to NULL for the next object's thinker, resulting in Z movement code thrusting the object vertically at tmfloorthing->momz.

See merge request !18
2015-06-18 09:51:59 -04:00
Monster Iestyn
b564a169d8 Starting work for getting sector.lines in Lua: it WORKS at the least, but I have no way to determine the size of the array itself as of yet 2015-06-17 21:00:10 +01:00
Alam Arias
9422ca4427 Merge pull request #44 from STJrInuyasha/patch-1
Make sure "word" in readlevelheader gets reset
2015-06-17 11:01:43 -04:00
STJrInuyasha
45515df790 Make sure "word" in readlevelheader gets reset
... because some things (Lua. custom header entries) move it.
https://mb.srb2.org/showthread.php?t=40580

(Technically breaks netgame compatibility for Lua-heavy mods, so in next.)
2015-06-13 15:56:28 -07: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
c139e93fe6 Applied new finesine table.
finesine[0] == 0 now. This naturally fixes a bunch of math fudging.
No ill effects have been observed so far.
2015-06-10 12:07:08 -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
120c9c5ad5 Change int32_t to __int32 on MSC.
I can't just say screw it and include the full
doomtype.h here (windows.h conflict?) so a
small hack here will have to do. :I
2015-06-10 07:41:44 -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
Yukita Mayako
36cf4c1bd2 Fix comma error. 2015-06-09 19:53:35 -04:00
Yukita Mayako
e57e75027e Fix comma error. 2015-06-09 19:51:33 -04:00
Yukita Mayako
fc649ce195 Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into hotfix-pltz
Conflicts:
	src/dehacked.c
	src/p_mobj.h
2015-06-09 07:38:21 -04:00
Yukita Mayako
ba71a7ee6f Merge branch 'master' of git@git.magicalgirl.moe:STJr/SRB2Internal.git into hotfix-pltz
Conflicts:
	src/dehacked.c
	src/p_mobj.c
	src/p_mobj.h
2015-06-09 07:17:00 -04:00
Yukita Mayako
9a9025b1ee Remove pmomz from players who are on ground.
Assume that every frame the player is on the ground, their pmomz will
be re-set properly if the floor is moving, therefore if the platform
STOPS, we need this to set it to 0.
2015-06-09 06:59:34 -04:00
Monster Iestyn
b88600dac6 tmfloorthing and tmhitthing are set to NULL at the start of P_MobjThinker, preventing any weird cases of carrying over the previous mobj's floor object or such.
This fixes the issue with upside-down springs shooting downwards if you touch another of its kind. Also fixes one of the issues with monitors in Icicle Falls (after you phase inside the East-most float-bob FOF's monitor via the other bug and jump up to break it while there, the NEXT monitor moves upwards too)
2015-05-31 13:57:27 +01:00
Yukita Mayako
c16516ef0d Partial revert.
This partially reverts commit a1c67e7e67.
2015-05-29 17:22:31 -04:00
Yukita Mayako
b17e39a701 Add missing string constants. 2015-05-29 15:52:38 -04:00
Yukita Mayako
99066429de Add PF_SHIELDABILITY to dehacked. 2015-05-29 15:49:12 -04:00
Yukita Mayako
8a261ea467 Fix sprite2 fallbacks.
It didn't work at all before, oops. :/
2015-05-29 15:40:49 -04:00
Alam Ed Arias
aa7c671358 Merge branch 'hotfix-netgame-spr2' into 'master'
Hotfix netgame sprite2

This fixes sprite2 not being properly added to $$$.sav because MD_SPRITE wasn't getting set.

See merge request !2
2015-05-29 15:03:29 -04:00
Yukita Mayako
d2ef4d3e3c Add S_PLAY_SUPER_STUN and PA_PAIN
For Super Missiles, the Super Sonic player
has a seperate animation from normal pain.
2015-05-29 14:57:53 -04:00
Yukita Mayako
b601dad4cd Hotfix for sprite2 in netgames
It wasn't properly added to $$$.sav because
MD_SPRITE didn't get set. :/
2015-05-29 14:26:39 -04:00
Yukita Mayako
d680cafc6e Add fallbacks for SPR2_ animations.
Every SPR2_ except for SIGN and LIFE now has a proper
fallback leading down to SPR2_STND.
2015-05-29 14:25:10 -04:00
Yukita Mayako
a1c67e7e67 Add MFE_APPLYPMOMZ to fix camera movement.
Here's how it works: When a player walks off the
moving platform, it applies their pmomz once, and
then _keeps pmomz set_ so that the camera still
adds pmomz to its movements until they hit another
floor. This way, the camera doesn't jerk around.
2015-05-29 13:53:06 -04:00
Monster Iestyn
c6ade27b6a Fixes to CTF flag respawning, particularly reverse gravity and z-positioning. 2015-05-29 14:59:13 +01:00
Yukita Mayako
213a0caa23 Hotfix amendment
Also gain velocity from walking off an "up" elevator normally?

This _looks_ incorrect because the camera stops matching
the platform movement the moment you step off, but I
assure you it is a correct and accurate movement.
(Try it with chasecam off.)
2015-05-29 05:47:01 -04:00
Yukita Mayako
3bc56a91b2 Hotfix for platform movement being dropped on players.
Now players will apply platform movement when jumping,
but only if the platform is moving the same direction
as their jump is, and all other objects will have an
appropriate pmomz in reverse gravity FOF situations.
2015-05-29 04:34:53 -04:00
Yukita Mayako
2d14173968 Allow spin button Jump Shield normally.
If you walk off a cliff with a jump shield, you
can now press EITHER the jump or spin buttons to
activate it and double jump.
2015-05-29 02:35:24 -04:00
Yukita Mayako
e9c1771017 Add new spindash animation.
This adds SPR2_DASH, S_PLAY_DASH, and
related p_user.c changes to give charging
your spindash a unique animation.
2015-05-29 01:52:42 -04:00
Yukita Mayako
b88864c666 Add player JUMP animation
Since PA_JUMP is used to determine when
springing upwards now and the nextstate
isn't used for falling, the jump state
can now be properly animated. :)
2015-05-29 01:51:15 -04:00
Yukita Mayako
98ba9ca140 Updated player->panims.
Added PA_JUMP and PA_RIDE to handle new Super jump
and ride, and added new animations to panim finder.
2015-05-29 01:48:56 -04:00
Yukita Mayako
ff181d099c Add new player animations.
Added drowning to all players, and several new
Super animations for Sonic.

Removed A_Fall from S_PLAY_DEAD and moved its
effect into P_KillMobj for player avatars.
2015-05-29 00:56:02 -04:00
Yukita Mayako
bed8dc4c7c Tails ringslinger buff.
Any character with CA_FLY will now throw rings 1.5x as fast.
2015-05-28 03:24:55 -04:00
Yukita Mayako
406d809bc2 Change attract homing thok to negate Z.
Do not keep Z momentum from homing. It is a bad idea.
2015-05-27 22:57:42 -04:00
Yukita Mayako
8a1411b122 Attraction homing tweaks.
Lower homing speed.
Retain velocity after hitting your target.
2015-05-27 22:06:27 -04:00
Yukita Mayako
ecd867ab35 Change A_BombShield to add P_BlackOw.
Now when you obtain an Armageddon Shield, and
you already HAVE one, the first one explodes
_while_ applying the second.
2015-05-27 21:08:30 -04:00
Yukita Mayako
7118925959 Fix broken P_RingDamage bug from c6c4ab7c
Accidentally snipped too much out of
P_DamageMobj's subfunctions...
2015-05-27 06:43:24 -04:00
Yukita Mayako
18920e486d Add sfx to Attract shield dash.
Because it seemed really weird for a
sudden shift of momentum to be unaccompanied.
2015-05-27 06:07:38 -04:00
Yukita Mayako
65f2d4b80f Add PF_SHIELDABILITY
This flag is used as a distinction between the
character ability CA_HOMINGTHOK and the attract
shield's active ability.
2015-05-27 05:59:42 -04:00
Yukita Mayako
4a1f0ce91c New attract shield active
Homing attack when activating the attract shield while jumping.
2015-05-27 05:24:50 -04:00
Yukita Mayako
1c1acb9f0e Add emeraldspawndelay for Match "super"
Emeralds will not spawn while players are still
enjoying their victory dance now.
2015-05-27 04:02:44 -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
67fcff7ee7 New Match ammo consumption rules.
Weapon rings can now be fired with no rings at double the ammo cost.
2015-05-27 02:39:42 -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
RedEnchilada
e00d682185 Fix issue with objects getting stuck IN floors 2015-05-25 13:25:23 -05:00
RedEnchilada
5e18db79e9 Fix mobjs sometimes clipping through floors (whoops!) 2015-05-25 12:16:19 -05:00
RedEnchilada
d9d3752b4e Unbreak FOF specials 2015-05-25 11:46:09 -05:00