Commit Graph

6253 Commits

Author SHA1 Message Date
Monster Iestyn 04215b732e Merge branch 'fof-slopes-level-load-fix' into 'next'
FOF slopes level load fix

See merge request STJr/SRB2!498
2019-06-21 17:05:54 -04:00
Steel Titanium fe7b041346 Merge branch 'public-notpublic-libopenmpt' into 'master'
libopenmpt support

See merge request STJr/SRB2Internal!229
2019-06-21 17:03:53 -04:00
MascaraSnake 28abc883be By popular demand: Track switching only requires strafe instead of jump+strafe 2019-06-21 20:13:30 +02:00
toaster 50e4a65f99 Correct some more oversights of switching to revitem for CA2_MELEE's particles. 2019-06-21 12:51:55 +01:00
toaster d5e91ed8d7 Don't give SH_PINK in Race/Competition. They're your opponents! 2019-06-21 12:35:37 +01:00
toaster 3597b1c485 Make minor adjustments to the CA2_MELEE and CA_TWINSPIN stuff. 2019-06-21 00:43:03 +01:00
toaster f7fe418f7c Slight buff to MT_LHRT. 2019-06-20 23:43:05 +01:00
toaster f182bb867f HUD stuff.
* Re-fix chat HUD position, and make it not move in match (which it needed to do in 2.1).
* Fix HU_drawPing for the new palette.
* Change the condition for greying out players, since the current one was buggy.
* Allow for tokens on the coop MP HUD, and use the small emeralds so there's space for them.
* Fix the mapping between skincolours and name colours in new chat, specifically to take into account every possible text colour (as opposed to the port previously done, which only used the 2.1 text colours and looked like ass as a result).
2019-06-20 22:57:47 +01:00
Monster Iestyn f7a32835d5 Fix warnings/errors found during compiling, mostly of the mixed-declaration-and-code or shadowed variables variety 2019-06-20 20:05:07 +01:00
Monster Iestyn bc2804d383 Fix the clearly accidental duplication of lumpinfo's memory allocation in ResGetLumpsStandalone 2019-06-20 13:24:54 +01:00
toaster eac36e73a3 Correct some oversights where drawangle was incorrectly ignored. 2019-06-20 00:43:55 +01:00
toaster 460632ad3b Some preliminary work to make multiple bosses in the same map work nicely together, by allowing parameter to alter the linedef executor tag to call in increments of 100.
Also: Making sure every single reserved tag is recorded as an LE_ constant.
2019-06-20 00:24:13 +01:00
toaster f9e09ec31f Tweak Boss5MakeItRain's bomb launch angles to properly smash the ceiling in the new arena. 2019-06-19 23:35:18 +01:00
toaster 84ff2a57a1 As I wanted MI to do but he was too exhausted at the time from hardcoding, make the Fang bullet knockback less hardcoded and instead give it MF2_SUPERFIRE. 2019-06-19 23:29:39 +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 6a58ae34d1 In order to make P_PlayerCanDamage more flexible, I ended up bundling the invincibility/super checks into there.
Also, the start of my improvements to CA2_MELEE. Users of that abiliy can only damage enemies/monitors if they touch the front of the player object, but to make up for it, the player is no longer forced away from the direction of the screen at bigger movement speeds.
2019-06-19 13:20:34 +01:00
toaster 3eb9b85fd4 "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 28dfeb344b 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
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 d388547021 Some more minecart fixes 2019-06-19 00:10:28 +02:00
toaster b0326b6dec Do some minor HUD fixes.
* Move HUD text's anchoring to underneath STR instead of above Lives.
* Adjust chat position slightly, to take advantage of SRB2's HUD layout having less content towards the bottom (unlike Kart, where it has roughly equal).
* Fix Match emeralds not displaying while in tab rankings with all-seven invuln/shoes bonus active.
2019-06-18 18:51:24 +01:00
MascaraSnake c11a3010d9 Fixed the Canarivore gas slowdown being much too weak 2019-06-18 19:29:53 +02:00
MascaraSnake 3634321f43 ... 2019-06-18 19:06:05 +02:00
toaster 1d65caa250 With permission from Kart Krew (Sal and Sryder specifically - they don't know WHY vanilla's using it):
* Port across the additional colour translation maps, including mobj-level support for "colorized" objects.
* Make Fangboss and both Metal Sonic objects greyscale if, on spawn, there is a player in the game who is not a spectator whose skin is that character.
* Allow bosses with MF_GRENADEBOUNCE to opt out of the MF2_FRET colour-flashing tomfoolery, and give this flag to Fang.
2019-06-18 17:55:57 +01:00
toaster 96d6cea569 Support backspace for resetting various menu values, just like Kart. 2019-06-18 14:36:06 +01:00
toaster 861d0d0b0a Improve rain/weather.
* Like Kart, remove cv_precipdensity.
* Like Kart, replace "Infinite" draw distance value with "None".
* Better thinker with more return optimisation.
* Better placement of thinking in rendering, to avoid ceiling-mounted sprite glitches.
2019-06-18 14:22:10 +01:00
Monster Iestyn 62ed90b252 fix type mismatch by typecasting 2019-06-17 20:54:06 +01:00
MascaraSnake 95a0b3fc86 Merge branch 'master' into new-acz-minecarts 2019-06-17 20:43:21 +02:00
Monster Iestyn 1638fad75e Part 2 of fix, make sure copied slopes also pass on hasslope status to attached target sectors for FOFs
Also fix whitespace to use tab-style spaces instead of regular spaces, ew
2019-06-17 19:00:04 +01:00
Monster Iestyn 50e8f13c03 Fix FOF slopes briefly glitching on level load in software mode, by ensuring the FOFs' target sectors have hasslope set on creation 2019-06-17 18:46:51 +01:00
MascaraSnake 647520e067 Adjusted the height difference for track switching 2019-06-17 08:41:51 +02:00
MascaraSnake 096bad14fb Minecart stopper itself also needs MF_NOCLIPHEIGHT and MF_NOGRAVITY 2019-06-16 22:26:52 +02:00
MascaraSnake e23ef050d5 Repaired the height difference check during track switching 2019-06-16 22:00:50 +02:00
MascaraSnake cf7e618b2f Fixed a bug with the Canarivore gas 2019-06-16 21:36:22 +02:00
MascaraSnake 68060b731f Fixed a sound bug 2019-06-16 19:08:20 +02:00
MascaraSnake db7bd4d35a Fixed the cacti heights 2019-06-16 18:14:15 +02:00
MascaraSnake fbd7a5ae59 Finetuned the saloon door swinging 2019-06-16 17:57:03 +02:00
MascaraSnake 7e0c9d9398 (Hopefully) fixed the player sometimes landing on the solid part of the minecart stopper after being launched out of the minecart 2019-06-16 17:07:13 +02:00
MascaraSnake c5a2d33d4e Added minecart support to A_MixUp 2019-06-16 16:49:18 +02:00
MascaraSnake 622a44f551 Fixed a bug involving players being thrown out of minecarts 2019-06-16 16:39:06 +02:00
MascaraSnake b6790c7f35 Snapper head/legs and minecart segments flash when they're destroyed 2019-06-16 15:35:32 +02:00
Nev3r 740c561b0e Merge branch 'portals2' into 'master'
Portal-based skybox rendering replacement for the software renderer

See merge request STJr/SRB2Internal!226
2019-06-16 04:08:00 -04:00
MascaraSnake 774ccad401 Do death animation even when MF2_DONTDRAW is set 2019-06-15 22:29:30 +02:00
MascaraSnake 71a25eef92 Don't jump repeatedly when holding jump 2019-06-15 21:58:58 +02:00
MascaraSnake 39deb64e4f Streamlined the minecart death handling 2019-06-15 21:43:36 +02:00
MascaraSnake 8e61cc6d13 Kill minecarts that fall into death pits 2019-06-15 20:59:56 +02:00
MascaraSnake 24c6dd1a68 Many more bugfixes 2019-06-15 20:21:18 +02:00
MascaraSnake 91c1e13273 Simplified the setup for the Snapper/minecart death animations 2019-06-15 17:33:07 +02:00
MascaraSnake 33ed2924e9 Fixed minecart not exploding on death 2019-06-15 14:21:27 +02:00
MascaraSnake a3784850b7 Removed an unnecessary tracer check 2019-06-15 13:52:27 +02:00