Commit graph

670 commits

Author SHA1 Message Date
MascaraSnake
836d3d3186 Fixed Canarivore gas going through the floor 2019-06-29 00:19:46 +02:00
Monster Iestyn
88dc34818e Give MT_WOODDEBRIS the MF_SCENERY flag, so it can be made to join its MT_ROCKCRUMBLEn friends in dying after hitting the ground.
(Untested)
2019-06-28 21:40:20 +01: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
Monster Iestyn
8aeee22529 Merge branch 'bossfixes' into 'master'
Boss fixes

See merge request STJr/SRB2Internal!235
2019-06-25 16:36:23 -04:00
toaster
81882b63b8 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.
# Conflicts:
#	src/p_mobj.c
2019-06-22 17:03:10 +01:00
toaster
6371de806b 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-22 16:50:30 +01:00
toaster
f7fe418f7c Slight buff to MT_LHRT. 2019-06-20 23:43:05 +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
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
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
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
MascaraSnake
cf7e618b2f Fixed a bug with the Canarivore gas 2019-06-16 21:36:22 +02:00
MascaraSnake
fbd7a5ae59 Finetuned the saloon door swinging 2019-06-16 17:57:03 +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
MascaraSnake
774ccad401 Do death animation even when MF2_DONTDRAW is set 2019-06-15 22:29:30 +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
cc9d7bee80 A bunch of bugfixes 2019-06-15 00:04:50 +02:00
MascaraSnake
018fb9b461 "Finished" minecart hardcoding (still untested and buggy) 2019-06-14 21:19:52 +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
98ea229680 Hardcoded the Canarivore 2019-06-10 13:58:16 +02:00
MascaraSnake
3a16a7d7d4 Hardcoded train dust and steam spawner 2019-06-09 17:16:07 +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
MascaraSnake
546af19c82 Hardcoded oil lamp 2019-06-08 15:50:01 +02:00
Monster Iestyn
f7fbf40437 Hardcoded MT_FSGNA's MobjThinker hook function 2019-05-05 16:42:50 +01:00
Monster Iestyn
289a412377 Hardcode the boss thinker function 2019-05-05 15:34:06 +01:00
Monster Iestyn
09368963dd hardcode MT_FBOMB's MobjSpawn hook function 2019-05-04 22:46:27 +01:00
Nev3r
a56e8e4f8b Merge branch 'further-mace-advancements' into 'master'
Further Mace Advancements

See merge request STJr/SRB2Internal!147
2019-04-30 15:15:35 -04:00
Nev3r
a9110c0645 Fixed more mobj thinker iterator oversights and removed all mobj thinker function checks
Mobjs got their own thinker list after all, and disappearing thinkers are automatically purged from their lists and sent to the limbo list.
So it's safe to assume all thinkers inside the mobj list must be mobjs.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 16:39:57 +02:00
Nev3r
fc9e141460 Give precip. its own thinker list
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 14:58:18 +02:00
Nev3r
696ccbd943 Fix mobj list iteration oversights.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 12:58:22 +02:00
Nev3r
b60c66325c Added a mobj-only list entry for mobj thinkers
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 23:29:20 +02: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
Jimita the Cat
0186f6784b a 2019-03-06 21:40:38 -03:00
Monster Iestyn
8f667906eb Fix compiler warnings 2019-02-13 18:06:56 +00:00
MascaraSnake
bc30bd06df In-map emblem coordinates are now set via emblem mapthings (thing type 322) instead of X/Y/Z fields in SOC 2019-02-03 14:32:07 +01: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
mazmazz
73a67fc9f5 Merge branch 'ctf-enemy-flag-sound' into 2122-version 2018-12-25 00:27:08 -05:00
mazmazz
9d1bc3063f Play flag-returned SFX for the opposing team 2018-12-23 22:57:14 -05:00
Monster Iestyn
582c5332f4 Add some checks to prevent invalid awayviewmobjs from crashing the game. Not fullproof but at the least the P_CameraThinker crash no longer happens 2018-12-11 18:39:58 +00:00
mazmazz
97ea4086a5 Redundant type 1800 check for MT_COIN 2018-11-27 14:10:55 -05:00
Monster Iestyn
1b2aea81dc Merge branch 'master' into next 2018-11-25 20:39:17 +00:00
mazmazz
ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Digiku
9e75774fd2 Merge branch 'nights-ideyaspawn-dronebox' into 'master'
NiGHTS: Ideya Anchor Points

See merge request STJr/SRB2Internal!160
2018-11-21 21:03:29 -05:00
mazmazz
250aab5889 Missed sign cast 2018-11-21 20:30:26 -05:00
Digiku
c6bd1111e5 Merge branch 'nights-dronebox' into 'master'
NiGHTS: Drone hitbox improvements and player position correction on Nightserize

See merge request STJr/SRB2Internal!158
2018-11-21 20:19:39 -05:00
Digiku
f3e4cf1f9d Merge branch 'nights-fastercapsule' into 'master'
NiGHTS: Faster Egg Capsule destruct sequence

See merge request STJr/SRB2Internal!164
2018-11-21 16:30:01 -05:00
Digiku
597877773b Merge branch 'nights-onfootcapsulefix' into 'master'
NiGHTS: Allow player to destroy capsule on-foot before transforming into NiGHTS

See merge request STJr/SRB2Internal!185
2018-11-21 16:29:37 -05:00
mazmazz
cf834f3503 Line 457: Calculate input angle tolerance correctly 2018-11-14 10:13:39 -05:00
Digiku
3ccfd57fba Merge branch 'tracerangle' into 'master'
Line Exec 457, 458: Track mobj's angle to tracer; executes line tag if mobj faces away

See merge request STJr/SRB2Internal!198
2018-11-13 10:48:01 -05:00
Digiku
1b7f7ef7cc Merge branch 'monitor-exec' into 'master'
Run linedef exec upon popping a monitor

See merge request STJr/SRB2Internal!199
2018-11-13 10:47:37 -05:00
mazmazz
dbb4924348 Compile errors 2018-11-13 10:43:40 -05:00
Monster Iestyn
268bde3fdf Merge branch 'public_next'
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/dehacked.c
#	src/g_game.h
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/lua_baselib.c
#	src/lua_hook.h
#	src/lua_hooklib.c
#	src/lua_hudlib.c
#	src/lua_libs.h
#	src/lua_maplib.c
#	src/lua_script.c
#	src/m_misc.h
#	src/p_mobj.c
#	src/s_sound.c
#	src/sdl12/mixer_sound.c
#	src/w_wad.c
2018-11-10 15:41:57 +00:00
Monster Iestyn
4b8232d777 Merge branch 'master' into next 2018-11-09 23:18:14 +00:00
Monster Iestyn
b3befae143 Merge branch 'public-op-nightsbumper-fix' into 'next'
Objectplace: Fix NiGHTS bumper angle being reset when WRITETHINGS

See merge request STJr/SRB2!299
2018-11-09 12:11:11 -05:00
MPC
1cc8619c9e Minor remote viewpoint bugfixes. 2018-11-05 20:40:51 -02:00
mazmazz
eb204b6cc4 Add exec to GoldMonitorPop; transfer Angle tag to mobj->lastlook for Lua compat 2018-11-05 07:41:02 -05:00
mazmazz
eaf89cf7b9 TRACERANGLE: Run exec *after* resetting mobj values 2018-11-04 17:34:00 -05:00
mazmazz
cf6a6991cb Trigger line exec by whether mobj is facing its tracer
* MFE_TRACERANGLE
* Thing 758 MT_ANGLEMAN
* mobj thinker behavior
* Line Exec 457/458 Enable/Disable
2018-11-04 16:28:25 -05:00
Monster Iestyn
b5c4b476a6 Merge branch 'public_next'
# Conflicts:
#	src/d_main.c
#	src/m_menu.c
#	src/s_sound.c
#	src/sdl/sdl_sound.c
2018-10-20 15:31:48 +01:00
mazmazz
a288b95458 Merge remote-tracking branch 'public-gitlab/master' into public-music-cleanup 2018-10-19 22:04:26 -04:00
Monster Iestyn
291ebf302c Merge branch 'public_next'
# Conflicts:
#	src/Makefile
#	src/lua_script.c
#	src/p_user.c
#	src/sdl/i_system.c
#	src/v_video.c
#	src/w_wad.c
2018-10-10 14:51:34 +01:00
toaster
b1e02467bf Weather is already run client-side. What if we ran it render-side, for major performance gains? This commit will answer all your questions - and more! 2018-10-07 15:00:58 +01:00
mazmazz
a414ccf24a nodigimusic nomusic nosound -> digital_disabled midi_disabled sound_disabled
(cherry picked from commit 07738fb0bc)
2018-09-14 10:35:51 -04:00
mazmazz
b666fa3131 P_SpawnMapThing: Ignore MTF_ flags if MT_NIGHTSBUMPER
(cherry picked from commit d85f108997)
2018-09-14 08:52:10 -04:00
mazmazz
f8834b0201 MT_NIGHTSBUMPER Spawn: Don't reset mthing->options
(cherry picked from commit dc9fd6f02e)
2018-09-14 08:52:10 -04:00
mazmazz
a6f959ba21 Set mobj->floorrover and ceilingrover in appropriate places 2018-09-10 00:38:07 -04:00
mazmazz
943dc9412d Initialize floorrover and ceilingrover on SpawnMobj 2018-09-10 00:20:51 -04:00
mazmazz
bc2f48a018 Merge branch 'master' into nights-dronebox 2018-09-07 09:06:32 -04:00
mazmazz
c0ffbdafce Revert "Ideya fixes when a player has more than one Ideya"
This reverts commit e3facccb9d.
2018-09-07 08:56:53 -04:00
mazmazz
4fe1b2652d Merge branch 'master' into nights-fastercapsule 2018-09-07 08:56:02 -04:00
mazmazz
f8d260b044 Only allow flicky bounce (MF_NOCLIPTHING) if also in-place (MF_GRENADEBOUNCE) 2018-09-06 10:32:26 -04:00
mazmazz
2cfd941778 Re-organize flags for FLICKY_CENTER
* Flickies can be in-place with just one flag (MF_GRENADEBOUNCE)
* Flickies can now hop whether orbiting, aimless, or in-place
* Removed ability to customize movedir for orbit; will always be random
* Removed ability to customize gravity sink for aimless flying flickies
* Misc: Use P_SetTarget to set actor->tracer for flicky center
2018-09-06 10:17:41 -04:00
mazmazz
fe2d1e9020 Merge branch 'master' into flicky-things 2018-09-06 08:09:02 -04:00
Digiku
01314b6674 Merge branch 'nightsplus-le' into 'master'
NiGHTS Linedef Executor Triggers

Closes #102

See merge request STJr/SRB2Internal!142
2018-09-02 18:10:50 -04:00
mazmazz
d01ca9fe95 Make Ideya Anchor use parameter # instead of angle for Ideya ID 2018-08-16 11:25:35 -04:00
mazmazz
2e8c4b5545 Fixed capsule timing logic
* Force a total time, stretch out sphere deduction within that time
* Make it more readable
2018-08-15 13:38:15 -04:00
mazmazz
02aed5b019 Merge branch 'nights-onfootcapsulefix' into nights-fastercapsule 2018-08-15 12:09:46 -04:00
mazmazz
7cdce4324b Attempt 1: Guesstimate sphere pop rate and use that as the Capsule handling duration 2018-08-15 00:32:48 -04:00
mazmazz
9faace9e5d capsule->extravalue2 tic timer 2018-08-14 19:21:32 -04:00
mazmazz
0862aece9f Ideya fixes when a player has more than one Ideya
# Conflicts:
#	src/p_inter.c
2018-08-14 17:21:49 -04:00
mazmazz
e3facccb9d Ideya fixes when a player has more than one Ideya 2018-08-14 17:13:23 -04:00
mazmazz
8c57218027 Alternate take on pre-blowup: Do it on first touching tic, instead of first ring pop
* Use MT_EGGCAPSULE extravalue2 for tic timer
2018-08-14 11:41:10 -04:00
mazmazz
00cadfee3a Merge branch 'nights-dronebox' into nights-ideyaspawn-dronebox 2018-08-13 09:51:14 -04:00
mazmazz
6585ca3df3 Make Drone visual elements react to height change 2018-08-13 09:50:50 -04:00
mazmazz
1bc5976534 Correct hitboxradius value; proper sparkle->z when moving x/y 2018-08-13 04:49:32 -04:00
mazmazz
bec3a6884c Make anchoring non-specific to Ideya states (now anchor anything!)
# Conflicts:
#	src/p_inter.c
2018-08-13 02:19:53 -04:00
mazmazz
4642c75025 MT_IDEYAANCHOR info and spawn logic 2018-08-13 02:03:36 -04:00
mazmazz
c3e0267029 Fix attraction bug on non-NiGHTS and Nightopian Helper
* Switch from mo->movecount to mo->movefactor for type compat
* Adjust timings for regular and paraloop attraction
2018-08-12 23:03:12 -04:00
mazmazz
ce0b23a576 Set Drone hitbox radius by upmost 4 bits of Angle 2018-08-12 13:34:27 -04:00
mazmazz
8f50fbeb4f For safety, clear MF_SLIDEME and MF_GRENADEBOUNCE flags before using 2018-08-12 09:28:04 -04:00
mazmazz
f4a813891f Decouple Flicky Thing logic from spawnpoint variables; use mobj variables 2018-08-12 02:34:37 -04:00
mazmazz
43b790c26f A_OrbitNights make actor scale to target
* Added `donotrescale` input to disable this behavior
* Reverted previous commit changes for scaling Ideya because unneeded
2018-08-12 01:07:26 -04:00
mazmazz
aecabb246d Scale Ideyas when moving to/from NIGHTSDRONE and scaling changes to NIGHTSDRONE 2018-08-11 23:53:07 -04:00