Commit graph

321 commits

Author SHA1 Message Date
lachwright
8abb6129c1 Hardcode pumice ball
Current known issues: players detached from the ball via any means other than jumping or pain do not have their ball reset properly
2019-09-29 20:18:40 +08:00
toaster
313fed2a59 Correctly restrict MF_NOCLIPTHING-objects from being interacted with from both moving and non-moving side. 2019-09-25 15:49:37 +01:00
toaster
ca9e6e31da * Resolve #224 (landing frames on ceiling contact).
* Fix some other landing weirdness with CA_BOUNCE.
2019-09-19 13:20:05 +01:00
toaster
c2f7b14336 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into playerfixes 2019-09-19 12:00:55 +01:00
toaster
f870b5237f * Fix native MF_PAIN sound extension being limited to UINT8 range, which only became evident when the new s1/2/cd/3db/kc sfx were added.
* Make the pain-causing cactodes have DMG_SPIKE.
2019-09-18 17:48:41 +01:00
toaster
2ed9d957b0 Fix Knuckles being able to climb up solid midtextures by repeatedly gliding at them. (addresses #174 checkbox 2) 2019-09-18 15:26:21 +01:00
Nev3r
9771087554 Always force player camera direction for springs with horizontal thrust component. 2019-09-15 17:43:19 +02:00
toaster
fc1abdd7f8 Autobrake polish!
* Make it actually look like a brake, so people can tell it's on instead of just having high friction.
* Fix it fucking with spring chains (caused by being unwittingly active for the first tic of spring collision).
2019-08-22 16:13:00 +01:00
Monster Iestyn
54dbd7b4c1 Merge branch 'landingbetter' into 'master'
Fix all our landing woes. (For now.)

See merge request STJr/SRB2Internal!289
2019-08-20 09:28:40 -04:00
Monster Iestyn
f3484f7ded Merge branch 'public_next'
# Conflicts:
#	src/config.h.in
#	src/d_clisrv.c
#	src/d_netcmd.c
#	src/doomdef.h
#	src/p_map.c
#	src/p_maputl.c
#	src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj
2019-08-20 13:54:48 +01:00
Monster Iestyn
ae9ecef592 Use P_MobjInsidePolyobj instead of P_MobjTouchingPolyobj, so that you can be crushed by the polyobject's middle rather than just its edges 2019-08-16 14:54:01 +01:00
Monster Iestyn
8fa54c1ab4 Modify P_CheckSector with a modified version of Sal's attempted proper fix for polyobjects crushing, so that we only need to check the polyobject's control sector directly in the waypoints code.
This time I've definitely fixed that teleport to ground issue I'm pretty sure, I don't get it in my tests at least.
2019-08-15 14:20:52 +01:00
toaster
ed8ad7abde Did some testing, needed to fix one more issue with moving surfaces and spinning. 2019-08-11 14:36:52 +01:00
Monster Iestyn
dff544404d Merge branch 'master' into snaptoground-fix 2019-08-03 18:23:09 +01:00
Monster Iestyn
af38c0e227 Merge branch 'bustables_misc' into 'master'
Bustables and landing events

Closes #157 and #162

See merge request STJr/SRB2Internal!262
2019-08-02 13:16:53 -04:00
Monster Iestyn
42a36de459 Modify P_CheckSector with a modified version of Sal's attempted proper fix for polyobjects crushing, so that we only need to check the polyobject's control sector directly in the waypoints code.
This time I've definitely fixed that teleport to ground issue I'm pretty sure, I don't get it in my tests at least.
2019-08-02 16:51:44 +01:00
Monster Iestyn
67f7c9d7d9 Whoops, forgot this part 2019-08-01 20:17:15 +01:00
toaster
62c708e64a Two one liners related to angles, so doin' em in a single branch.
* If a spring has vertical speed AND horizontal speed, always set the player's angle when touching it.
* If you have less than 32 rings and spill them, they now get launched away from the player's motion, rather than in the direction of the camera.
2019-07-29 20:29:02 +01:00
toaster
1d5e8e249e Successfully cause landing events when the ground moves up to hit you, as opposed to just when you move down to the ground. 2019-07-17 23:25:49 +01:00
MascaraSnake
1e5682d4a2 Used toaster's new P_PlayerCanDamage function for the barrel collision 2019-07-10 09:08:57 +02:00
MascaraSnake
77476d27e5 Merge branch 'master' into acz-fixes 2019-07-10 08:47:22 +02:00
Monster Iestyn
ef984eb336 Merge branch 'metalfixes' into 'toast_cleanup'
Metal Sonic Boss fixes (again)

See merge request STJr/SRB2Internal!245
2019-07-09 14:29:42 -04:00
toaster
98b6280d03 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into toast_cleanup
# Conflicts:
#	src/p_mobj.c
2019-07-08 13:53:31 +01:00
MascaraSnake
906103a184 Fixed teetering on TNT barrels 2019-07-07 17:02:10 +02:00
toaster
4ad1703ae3 Revert "Revert "Merge branch 'metalfixes' into 'toast_cleanup'""
This reverts commit c04b560e92.
2019-07-03 00:58:02 +01:00
MascaraSnake
c04b560e92 Revert "Merge branch 'metalfixes' into 'toast_cleanup'"
This reverts merge request !239
2019-07-02 23:49:10 +00:00
MascaraSnake
e9978b2955 Merge branch 'master' into thinkerlists
# Conflicts:
#	src/f_finale.c
#	src/p_enemy.c
2019-07-02 23:08:37 +02:00
toaster
faebe0f9af Metal Sonic fixes!
* Add more context clues to his fight, including an indicator for which laser attack is being used after chargeup.
* Make missiles able to vectorise him.
* Add another laser orb attack - vertical slice - and change the laser orb sequence to accurately reflect that horizontal is the hardest of the ones in 2.1.
* Optimise TC_BLINK, and fix an issue with TC_ALLWHITE that somehow avoided coming up in testing.
* Fix colorized bosses losing their colorization when flashing, by forcing TC_ALLWHITE.
2019-06-28 20:48:14 +01:00
toaster
8f6973cb51 Now it's CA_TWINSPIN's turn to get the improvements!
* Remove PF_THOKKED every time a successful damage bounce occours.
* When this happens, spawn a number of particles based on thokitem at half scale! (Optimised, again, for MT_LHRT.)
* Also spawn these particles when a successful spring boost occours, as well as playing a twisted spring sound.

Also, some other related tweaks:

* Optimisations to A_VultureBlast, which was used as a base for the particle creation.
* Make the Metal Sonic boss use P_PlayerCanDamage instead of a custom, somewhat broken player damage detection mechanism.
* P_SpawnGhostMobj takes colorized into account.
* Fold Tails propeller damage into P_PlayerCanDamage.
* When performing an Attraction Blast, place the player in roll frames.
* Update all conditions preventing SH_PINK to incorporate thokitem and spinitem as well.
* Buff MT_LHRT travel distance at slow speeds.
2019-06-26 23:26:05 +01:00
toaster
d5988c4f8c Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into toast_cleanup
# Conflicts:
#	src/p_mobj.c
2019-06-26 20:43:37 +01:00
toaster
2e6898f29e PITY IN PINK!
* Smoothen Pity Shield animation to go with sphere's updates to Nev3r's sprites.
* Added LHRT object, designed to be summoned with CA2_MELEE.
    * Gives a pink Pity Shield (SH_PINK) on same-team player contact.
    * Deals damage to non-player enemies.
    * Harmlessly fades into nothing when touching an enemy player, players with SH_PINK already, and players capable of applying SH_PINK to others (through non-Lua methods).
* Basically, you-know-who is the Healer of the party whenever they're around. Fun consequences for the Co-op and CTF metas.
2019-06-19 23:20:24 +01:00
toaster
ef6e00e8a2 P_PlayerCanDamage(player_t*, mobj_t*), ported from the abandoned project_birthday because GOD the code looks awful with those huge monolith conditions in it. Available to Lua.
(Also, minor fixes to lib_pSpawnLockOn, and removing the SH_OP fuckery.)
2019-06-19 12:09:02 +01:00
MascaraSnake
fbd7a5ae59 Finetuned the saloon door swinging 2019-06-16 17:57:03 +02:00
MascaraSnake
24c6dd1a68 Many more bugfixes 2019-06-15 20:21:18 +02:00
MascaraSnake
a3784850b7 Removed an unnecessary tracer check 2019-06-15 13:52:27 +02:00
MascaraSnake
ba9c7d9310 More incomplete minecart hardcoding 2019-06-13 21:45:30 +02:00
MascaraSnake
fafabaae2b Hardcoded the saloon door 2019-06-12 21:20:14 +02:00
MascaraSnake
b98de5d362 Hardcoded the new BASH behavior (there's still a bug lurking somewhere) 2019-06-10 16:09:15 +02:00
MascaraSnake
4d0b0f84b1 Pushables that are also vulnerable no longer block crushers (because they die anyway). This allows us to make TNT barrels pushable again. 2019-06-10 14:10:37 +02:00
MascaraSnake
7b603f4ac8 Hardcoded the TNT barrels and proximity shell (using mazmazz's A_TNTExplode implementation from the minecart branch) 2019-06-09 10:51:33 +02:00
Monster Iestyn
373d12cb82 Hardcode "slapstick" 2019-05-05 17:36:55 +01:00
Nev3r
39ba20be6b Basic multiple thinker list implementation
Set up a main thinker list and a polyobject mover list to test things up. Works so far, networking as well.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 22:39:22 +02: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
Digiku
a2678dcb2e Merge branch 'public-nights-invertloopfix' into 'next'
NiGHTS fix lap detection on inverted axis

See merge request STJr/SRB2!300
2018-11-26 16:08:24 -05:00
Monster Iestyn
8b4a64ac05 Merge branch 'last-min-cleanup' into 'master'
Last min cleanup

See merge request STJr/SRB2!342
2018-11-25 10:14:34 -05:00
mazmazz
ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Monster Iestyn
794d27b49e Kill CheckMissileImpact, it has been useless for probably a decade and a half 2018-11-23 23:14:49 +00:00
mazmazz
0af071dbca build errors 2018-11-20 20:23:48 -05:00
mazmazz
25361713dc NiGHTS drone loop: Change flyangle comparison to fix detection from vertical angles
Use > 90 && < 270 instead of >= 90 && <= 270. Fixes a bug where if you fly directly up (flyangle 90) or directly down (flyangle 270), that registers as a backwards direction, so you trigger the loop detection by flying BACKWARDS, not FORWARDS. This edge case (only possible via JUMPTOAXIS) should default to FORWARDS looping.

(cherry picked from commit ce215195f8)
2018-09-14 08:58:19 -04:00
mazmazz
ba7d97733d Fix NiGHTS drone loop detection by using pl->flyangle
(cherry picked from commit 67e4381284)
2018-09-14 08:57:37 -04:00
mazmazz
a6f959ba21 Set mobj->floorrover and ceilingrover in appropriate places 2018-09-10 00:38:07 -04:00
mazmazz
832f891cbb Remove rovernum increment from P_CheckPosition because unused 2018-09-10 00:13:32 -04:00
mazmazz
f33f9dd284 Replace sectornum/rovernum index vars with ffloor pointers 2018-09-09 23:12:37 -04:00
mazmazz
d01193df80 Apply ~FF_EXISTS moving plat fix for VERTICALFLIP 2018-09-09 21:59:41 -04:00
mazmazz
b629104197 Also check for FF_SOLID 2018-09-08 01:07:08 -04:00
mazmazz
7e3d5cd373 Comment out tmfloorrover and tmceilingrover because unused 2018-09-08 00:36:43 -04:00
mazmazz
76d7a54b2b Fix player Z snap to floor on moving platform ~FF_EXISTS
* Track player's old floorz by mo->floor_sectornum and floor_ffloornum
* Track tmfloorz by tmfloorrover, tmfloor_sectornum, tmfloor_rovernum
* Ceiling variants of the above
2018-09-08 00:34:56 -04:00
mazmazz
296d527993 Merge nightsplus-laplogic 2018-08-12 21:20:14 -04:00
mazmazz
5938a57970 totalmarelap and totalmarebonuslap player variables 2018-08-12 19:57:33 -04:00
mazmazz
4e02171c23 Add lapbegunat and lapstartedtime player variables
There is no lapfinishedtime because [mare]finishedtime refers to when Egg Capsule is destroyed. That concept does not apply to laps.
2018-08-12 14:21:26 -04:00
mazmazz
c72e724122 Merge branch 'nightsplus-laplogic' into nightsplus-le
# Conflicts:
#	src/p_map.c
#	src/p_setup.c
2018-08-10 17:24:12 -04:00
mazmazz
872761e258 Add lapbegunat and lapstartedtime player variables
There is no lapfinishedtime because [mare]finishedtime refers to when Egg Capsule is destroyed. That concept does not apply to laps.
2018-08-10 17:12:26 -04:00
mazmazz
f69f102531 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into nightsplus-le
# Conflicts:
#	src/p_map.c
#	src/p_setup.c
2018-08-10 15:51:20 -04:00
mazmazz
1b922b8ba5 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into nightsplus-laplogic
# Conflicts:
#	src/p_map.c
#	src/p_setup.c
2018-08-10 15:10:26 -04:00
Digiku
ed99f3a425 Merge branch 'nights-invertloopfix' into 'master'
NiGHTS fix lap detection on inverted axis

See merge request STJr/SRB2Internal!138
2018-08-10 13:49:42 -04:00
mazmazz
d97c25f6dd Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into nightsplus-le
# Conflicts:
#	src/p_setup.c
#	src/p_user.c
2018-08-10 13:44:47 -04:00
mazmazz
487c62fe31 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into nightsplus-laplogic
# Conflicts:
#	src/p_setup.c
2018-08-10 13:35:59 -04:00
toaster
3bc8987586 Disable bumper score icon in NiGHTS to match enemies. 2018-06-09 19:22:28 +01:00
toasterbabe
ee42132ed1 * Bumpers and Balloons in a more final state.
* Blue diagonal springs, because that gap is very, very odd.
* Improved A_SpawnFreshCopy.
* Tweaked P_LookForEnemies for consistency's sake. (Previously, it was impossible to make a spring that could neither be homing-attacked or attraction-shotted.)
2018-05-20 00:04:39 +01:00
toasterbabe
720de810bd The start of implementing FuriousFox's bumpers/balloons!
No hardcoding of states, but the test .wad they're stored in right now is predominantly state, object, and sprite definitions/assets right now - the only hook is for setting the colour of the balloons!!
2018-05-15 16:10:42 +01:00
toasterbabe
26d13db548 * Crushtacean!
* Behaves a bit differently to the one in DSZres.pk3.
   * Can now punch DSZ mines!
   * Also has mapthingnum 126 instead of 610.
* Some other mapthingnum changes.
   * DSZ2 stalagmite is now 1009, formerly 999.
   * Big DSZ gargoyle is now 1011, formerly 1009.
2018-05-14 01:19:24 +01:00
toasterbabe
a738ef99e3 * DrT's Spincushion hardcoded.
* Make the MF_PAIN stuff ONLY depend on mass, using the bottom 8 bits for the type and the custom sound in the upper ones.
* A bunch of cleanup of random other stuff, including an unused Deton state and an unused Jetty type's sprite.
2018-05-13 14:09:20 +01:00
toasterbabe
8a61d87961 * Add new damagetype flag (DMG_CANHURTSELF) that allows a player to hurt themselves indirectly.
* Add damagetype to P_RadiusAttack (optinteger in lua, A_Explode var1).
* Removed the prevention of MF_BOSS objects from getting P_RadiusAttacked. This was a holdover from DooM (I checked) - a way to prevent the Cyberdemon from gibbing itself when firing point blank into a wall, and also a way to make it and the Spider Mastermind harder.
* Enemies are solid to other enemies movement-wise now.
* (Fun little aside - if you remove MF_SOLID from a monitor, it now behaves like they did in Sonic Adventure (poppable by colliding with, not just attacking).
* Fixed Metal Sonic battle conflict in MF_PAIN/mass not picked up earlier.
* Miscellaneous tiny code tweaks.
2018-05-08 23:26:36 +01:00
toasterbabe
856edd50df Remove the ugly double-hack for monitors! Doesn't QUITE do it via the return value of P_DamageMobj like MI and I theorised it should do, but it's functionally identical whilst being less code to maintain. 2018-05-02 20:55:07 +01:00
toasterbabe
cf9d53efd8 Kill MF2_STANDONME (mechanically; still occupies the slot... will change that next time I have to handle the DEHACKED lists.) 2018-05-02 20:35:20 +01:00
toasterbabe
dbc0ac2303 * Springs no longer need MF_SOLID to function. (I tried to add a special Sonic 1-3 style "springs are solid from the side" thing with native support, but it turns out that requires too many hacks for an optional extra feature not used in the campaign, so No.)
* Springs no longer send you flying relative to the slope whilst you're on a slope. (I tried fixing this before, but this is a much more solid fix.)
2018-05-02 20:03:18 +01:00
toasterbabe
5cc1befcad * Haunted Heights! Smashing spikeball, Cacolantern, Spinbobert and Hangster, along with the Spider and Bat flickies and general decoration/ambience stuff.
* MF_PAIN and MF_MISSILE now support setting damagetype via their Mass parameter. The two existing conflicts - the fuse setting for the grenade weapon ring and the Cybrakdemon napalm bomb - had these moved to other free parameters.
* A_ConnectToGround is EXTREMELY useful for palmtrees and stuff.
* Some other, relatively hacky A_ functions.
* (Unrelated) Remove the need for a "Mario block mode" for the token by making it natively compatible.
* Spikes and their time-offsetting via that Lua script sphere made. Also allow for wallspikes to do it via their angle/360.
2018-04-28 15:13:44 +01:00
toasterbabe
1eb84f57c5 * Billiards mines! With support for both above and below water, replacing both the below-and-above-water old mines at once.
* Explosion executors.
* Minor refactor of P_KillMobj.
2018-04-26 20:18:51 +01:00
mazmazz
3fbffb0b4d Add player_t marelap and marebonuslap, with logic 2018-03-30 20:28:27 -04:00
mazmazz
c09991d3d4 Merge branch 'nightsplus-laplogic' into nightsplus-le
# Conflicts:
#	src/p_map.c
2018-03-30 14:39:00 -04:00
mazmazz
637a4a8446 Add player_t marelap and marebonuslap, with logic 2018-03-30 14:38:28 -04:00
mazmazz
56d7f9ed38 Nights LE checkpoint 2018-03-30 14:22:59 -04:00
mazmazz
ce215195f8 NiGHTS drone loop: Change flyangle comparison to fix detection from vertical angles
Use > 90 && < 270 instead of >= 90 && <= 270. Fixes a bug where if you fly directly up (flyangle 90) or directly down (flyangle 270), that registers as a backwards direction, so you trigger the loop detection by flying BACKWARDS, not FORWARDS. This edge case (only possible via JUMPTOAXIS) should default to FORWARDS looping.
2018-03-26 01:04:02 -04:00
mazmazz
67e4381284 Fix NiGHTS drone loop detection by using pl->flyangle 2018-03-26 00:33:17 -04:00
toasterbabe
8fd5bb6342 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into directionchar 2017-09-17 17:16:02 +01:00
Monster Iestyn
d65e23f3ec Merge branch 'public_next' 2017-09-04 20:19:47 +01:00
Monster Iestyn
50917d2ee2 P_FloorzAtPos: Check the normal floor's slope as well as FOF slopes, silly. 2017-08-30 19:21:23 +01:00
toasterbabe
2e6c09a636 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into directionchar
# Conflicts:
#	src/hardware/hw_main.c
2017-08-16 21:40:32 +01:00
toasterbabe
021e7ed1f0 Okay, actually fixed. Thanks, MI, for understanding the maths a little better than I :p 2017-07-30 17:45:27 +01:00
toasterbabe
1e1d191a75 Make it so you can't even STAND on spikes if you're flashing and moving away from them. 2017-07-30 16:52:39 +01:00
toasterbabe
ef4dc42c7c * Bustable wallspikes.
* Improve the code for busting vertical spikes.
* Improve the frame arrangement for vertical spikes' spriteset. (Requires new patch.dta)
* Make all spikes consistently do damage with DMG_SPIKE.
* (unrelated) renamed "flame stomp" to "elemental stomp" in P_HitDeathMessages
2017-07-19 16:26:49 +01:00
toasterbabe
2330f1a9c9 Account for the fact that pointtoangle2 points due weast if there's no dy OR dx, so that's taken care of. 2017-07-18 17:04:30 +01:00
toasterbabe
d1be22ccf5 * Scope tweakin's to prevent having to make some stuff static.
* Make wallspikes intangible if you're being thrust away from them in pain.
2017-07-18 17:01:19 +01:00
toasterbabe
a5477737d7 Whooh boy. Probably requires re-review.
* Support for MF_PAPERCOLLISION tmhitthing in P_SlideMove.
* Knockback for wallspikes is much more consistent.
* Optimised away a FixedDiv call when determining the slopetype of a line.
* Changed the position of the wallspike base slightly.
* Made it so NOTHING can step up onto the player outside of other players, essentially killing a bunch of springs-launch-with-players style bugs. (I was able to recreate that issue with the wallspikes until I added this, which is why I did it in this branch.)
2017-07-18 14:17:23 +01:00
Monster Iestyn
444e9ce7df Fix wall spikes being harmful from below, set initial destscale of base too just in case 2017-07-14 17:01:13 +01:00
Monster Iestyn
eacf753f2c Add the remaining code from the Lua script to get wall spikes actually working so far 2017-07-13 23:00:45 +01:00
Monster Iestyn
023d91a02e Merge branch 'public_next'
# Conflicts:
#	src/y_inter.c
2017-07-08 17:49:54 +01:00
toasterbabe
9797ae31a6 Fix the springs jumping!
The issue was that because both them and the player had MF_SOLID, the tmfloorz of the spring was getting set to above the player (or vicea versa with tmceilingz), forcing it upwards with them under certain circumstances.

Now, springs only acknowledge the solidity (for purpose of tmfloorz/tmceilingz) of objects they CAN'T launch.
2017-07-02 16:48:58 +01:00
toasterbabe
61b19aff58 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into directionchar
# Conflicts:
#	src/p_user.c
2017-04-05 16:01:02 +01:00
toasterbabe
1e64b096fd Bugfixes and code cleanup.
* Getting hit whilst on a swinging mace doesn't send you off in roll/jump state.
* P_GetJumpFlags replaces a bunch of copypasted code.
* Homing attacking a spring sends you directly on its path, rather than rocketing off in the direction you were preiously hurtling in.
2017-04-03 18:28:02 +01:00