Commit graph

522 commits

Author SHA1 Message Date
Steel Titanium
3177b27a11
Changes
Kill off the hack
2019-07-31 20:51:55 -04:00
toaster
7cb02985f4 * Added boss enable linedef (type 449).
- Frontside x offset = boss ID (determined via parameter for all bosses)
	- Noclimb flag = disable mode
	- Bosses don't do a fuckin' THING - no state updates, no player searches, no sounds, no lua, no nothin' - and it's all totally netsynced.
	- The only thing they WILL do is flash infinitely if you hurt them, but this is designed for stuff where you're not meant to be in the same room as the boss til it's activated.
	- All bosses of all IDs are automatically enabled on mapload, then if an enable mode version of this linedef is present in the map for a specific boss id, that boss id is automatically disabled.
* Add multi-boss support via parameter for:
	- All bosses' MT_BOSSFLYPOINT search
	- Boss 5's waypoint search
	- Oldbrak's waypoint search (this one's for you, jood)
2019-07-31 23:17:17 +01:00
Steel Titanium
58b56b2867
New ring sparkles 2019-07-31 00:47:42 -04:00
Jonas Sauer
166f1fac66 Fixed the thinkerlist issues by removing THINK_LIMBO. Delay-removed thinkers now stay in their list.
Also includes toaster's assorted fixes and improvements from target_painted_on_your_ass.
2019-07-13 01:42:03 +02:00
Monster Iestyn
63d337211e Merge branch 'eggcolosseum' into 'master'
Egg Colosseum (CEZ3 remaster)

See merge request STJr/SRB2Internal!248
2019-07-09 16:32:24 -04:00
Monster Iestyn
11a24b88ee Merge branch 'seaegg_tweaks' into 'master'
Sea Egg

See merge request STJr/SRB2Internal!244
2019-07-09 16:25:07 -04:00
Steel Titanium
848061d517
Fix compiling on Linux 2019-07-09 15:42:14 -04:00
toaster
2df90888bb Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into eggcolosseum
# Conflicts:
#	src/p_mobj.c
#	src/sounds.c
#	src/sounds.h
2019-07-09 19:52:52 +01: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
toaster
1f15209eb5 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into seaegg_tweaks
# Conflicts:
#	src/p_enemy.c
#	src/p_mobj.c
2019-07-08 13:52:11 +01:00
toaster
867f7ecfca ha ha ha how can i possibly describe this commit
Just wait for the MR, it won't be far behind.
2019-07-08 13:26:40 +01:00
toaster
b78fac66c4 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into eggcolosseum 2019-07-04 14:09:56 +01:00
toaster
3efb49487e Pre-pinch behaviour complete - heavily reliant on a new map, which I won't be sharing until everything is ready.
Just making this commit now so I can merge in master...
2019-07-04 14:09:38 +01: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
a3f758f34f Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into seaegg_tweaks
# Conflicts:
#	src/p_mobj.c
2019-07-02 14:19:36 +01:00
Monster Iestyn
726b0f6c83 correctly use P_UnsetThingPosition, P_SetThingPosition + P_DelSeclist around MF_NOBLOCKMAP addition in the TNT explosion code 2019-06-30 22:22:12 +01:00
toaster
f9f92abc44 ha ha ha ha ha ha ha ha
Sea Egg is majorly changed according to Mystic's ancient instructions (excepting the flying FOF rock, I cared not for fucking around with FOFs).

Specifically:
* Faster paced fight.
* Instantly travels horizontal distance.
* Fakes no longer hurt papa, and spin out like a deflating balloon when he dies.
* New attack: When surfacing, produces an electric shockwave. Replaces underwater shock. Designed for new, shallow arena.
* Support for multiple bosses in the same map distinguished by parameter.

Will upload map to fight the new battle in on the MR.
2019-06-30 15:37:33 +01:00
mazmazz
923dc34215 Merge branch 'public-notpublic-musicplus-jingle' into internal-musicplus-jingle 2019-06-29 18:33:45 -04: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
28a61f2f3c Correct some oversights where drawangle was incorrectly ignored. 2019-06-22 17:07:18 +01:00
toaster
3021116797 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-22 17:03:39 +01:00
toaster
c8d145e474 Tweak Boss5MakeItRain's bomb launch angles to properly smash the ceiling in the new arena. 2019-06-22 17:03:28 +01:00
toaster
50e4a65f99 Correct some more oversights of switching to revitem for CA2_MELEE's particles. 2019-06-21 12:51:55 +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
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
MascaraSnake
c5a2d33d4e Added minecart support to A_MixUp 2019-06-16 16:49:18 +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
db66f58f2b Merge branch 'acz-hardcode' into new-acz-minecarts 2019-06-13 21:52:08 +02:00
MascaraSnake
43f28b8f56 Set tracers via P_SetTarget and not directly 2019-06-13 21:51:31 +02:00
MascaraSnake
ba9c7d9310 More incomplete minecart hardcoding 2019-06-13 21:45:30 +02:00
MascaraSnake
1ff64baf8b Merge branch 'acz-hardcode' into new-acz-minecarts 2019-06-12 21:28:39 +02:00
MascaraSnake
fae4dc3f21 Forgot to hardcode the mobj.valid checks 2019-06-12 21:28:09 +02:00
MascaraSnake
fafabaae2b Hardcoded the saloon door 2019-06-12 21:20:14 +02:00
MascaraSnake
6a46fc76b8 Fixed some angle business in the BASH code 2019-06-10 20:40:12 +02:00
MascaraSnake
068e07974d Hardcoded the new Snapper behavior 2019-06-10 20:32:50 +02:00
MascaraSnake
0e80d2ec5d Hardcoded the new Minus behavior 2019-06-10 17:42:37 +02:00
MascaraSnake
85eece29d3 Fixed the bug 2019-06-10 16:19:58 +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
98ea229680 Hardcoded the Canarivore 2019-06-10 13:58:16 +02:00
MascaraSnake
6df14492a5 Hardcoded train cameo 2019-06-09 13:48:07 +02:00
MascaraSnake
ca4ab06abf Hardcoded wood debris 2019-06-09 12:27:09 +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
5ac594abf5 Fixed dust scaling, changed sound captions 2019-06-08 14:12:39 +02:00
MascaraSnake
1aaccfcd5c Hardcoded dust devil 2019-06-08 09:51:46 +02:00
Monster Iestyn
742b11c0ff Hardcoded ACZ3.wad's version of A_TNTExplode under the name of A_Boss5BombExplode. After a lot of confusion and silly misunderstandings on my part (as well as a lot of mess cleaning), I've finally got there!
The states for the actual bomb explosion effect itself are yet to be hardcoded, but that I'll do tomorrow afternoon probably.
2019-05-21 21:51:19 +01:00
Monster Iestyn
ea951eef78 fix an inconsistency I introduced between counting the waypoints and finding them again 2019-05-05 21:16:44 +01:00
Monster Iestyn
9c0c0ad3dc hardcoded the boss's A_BossDeath behaviour.
(also turned this part of the function into a switch case to make things neater)
2019-05-05 16:03:34 +01:00
Monster Iestyn
9e26d7bdaa I just checked how P_LookForPlayers works, and it turns out it doesn't modify the target *unless* it returns true. So I guess we've no need to account for a change in target in A_LookForBetter after all? 2019-05-05 14:09:09 +01:00
Monster Iestyn
d44265a217 Mystery solved, he was turning "invisible" because of this mistake in A_DoNPCSkid 2019-05-04 22:38:14 +01:00
Monster Iestyn
445709037d Fix some compiler complaints about A_Boss5FindWaypoint 2019-05-04 20:17:00 +01:00
Monster Iestyn
a5331f8024 Fix A_LookForBetter to not leave a stray thinker reference lingering potentially forever, as toaster pointed out it might do. 2019-05-04 17:15:59 +01:00
Monster Iestyn
54fea4d0b9 AND I forgot these checks, confound it 2019-05-03 23:16:11 +01:00
Monster Iestyn
ee1fd72f9f ah, forgot to do this 2019-05-03 23:12:03 +01:00
Monster Iestyn
df99e93288 Hardcoded A_Boss5FindWaypoint
...that took a while x_x
2019-05-03 22:58:54 +01:00
Monster Iestyn
0d7cd34882 Hardcoded A_Boss5MakeItRain 2019-05-03 20:52:56 +01:00
Monster Iestyn
b03bfbabe4 Hardcode A_DoNPCSkid 2019-05-03 20:00:31 +01:00
Monster Iestyn
b4d8c2fa29 Hardcoded A_Boss5PinchShot 2019-05-03 19:46:41 +01:00
Monster Iestyn
6cd2b73273 Hardcoded A_LookForBetter 2019-05-03 19:14:17 +01:00
Monster Iestyn
a0220454fd Hardcoded A_PrepareRepeat and A_Boss5Calm, added missing prototype for A_Boss5ExtraRepeat (and also fixed its description) 2019-05-03 18:51:17 +01:00
Monster Iestyn
266fa05e15 fix a slipup in A_DoNPCPain I just noticed I made, whoops 2019-05-02 21:34:00 +01:00
Monster Iestyn
61eb05eab2 Hardcoded A_Boss5CheckFalling 2019-05-02 21:32:28 +01:00
Monster Iestyn
953a0c2967 Hardcoded A_Boss5ExtraRepeat 2019-05-02 21:21:15 +01:00
Monster Iestyn
fb17c1ac5a Hardcoded A_Boss5CheckOnGround 2019-05-02 19:09:40 +01:00
Monster Iestyn
3bbc5d0b08 hardcoded A_DoNPCPain 2019-05-02 18:32:43 +01: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
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
8317155c40 Merge branch 'public-gl-next' into public-musicplus-jingle 2019-03-15 18:42:19 -04:00
mazmazz
24e37a23a5 Merge branch 'musicplus-core' into musicplus-feature-postboss 2019-01-07 01:17:07 -05:00
mazmazz
1e702443e3 Merge remote-tracking branch 'origin/musicplus-core' into musicplus-feature-postboss 2019-01-07 01:10:54 -05: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
Alam Ed Arias
7bd0900fad Merge remote-tracking branch 'private/master' into EOL 2018-11-27 23:36:09 -05:00
Alam Ed Arias
e39e689aeb fix EOL on src/p_enemy.c 2018-11-27 21:32:15 -05: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
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
mazmazz
eb204b6cc4 Add exec to GoldMonitorPop; transfer Angle tag to mobj->lastlook for Lua compat 2018-11-05 07:41:02 -05:00
mazmazz
b7c6661c76 Add MTF_EXTRA flag to monitors, to run linedef exec by Angle (Tag + 16384) upon pop 2018-11-04 20:16:33 -05:00
mazmazz
e0f9cdcfd1 MP Jingle: Fix underwater music not restoring on air bubble or shield 2018-09-21 15:44:52 -04:00
mazmazz
d14db91133 MP Jingle: Remove P_RestoreMusic from space countdown (no reason to have it) 2018-09-20 19:05:05 -04:00
mazmazz
f52659d9f9 MP Postboss: strnicmp -> boolean remove cast (buildbots) 2018-09-19 19:54:14 -04:00
mazmazz
c60d61a493 musicplus-jingle 2.2 -> 2.1 backport 2018-09-18 15:10:00 -04:00
mazmazz
67c4e9e8a2 Postboss: S_ChangeMusicAdvanced -> Ex 2018-09-16 23:44:42 -04:00
mazmazz
c5d4ff5712 Merge branch 'musicplus-core' into musicplus-feature-postboss 2018-09-16 23:32:18 -04:00
mazmazz
bc2f48a018 Merge branch 'master' into nights-dronebox 2018-09-07 09:06:32 -04:00
mazmazz
9e5b9ac50e Flicky colors indexing fix 2018-09-06 13:20:55 -04:00
mazmazz
956d48b5e0 Compiler errors 2018-09-06 13:16:50 -04:00
mazmazz
bd6bc368a3 Stray comments 2018-09-06 12:13:03 -04:00
mazmazz
1c273cdcc8 Make default flicky home radius 384 2018-09-06 11:59:55 -04:00
mazmazz
e75213b14d Limit random fish color to SRB2's defaults 2018-09-06 11:56:55 -04:00
mazmazz
f15bb2dfba Change default radius to 448
* Put default radius back in FLICKY_CENTER states
2018-09-06 11:54:06 -04:00
mazmazz
0c2340b0bc Impose home radius on aimless flickies; improve randomness of flickyhitwall angle 2018-09-06 11:17:08 -04:00
mazmazz
7d834ff894 Erase default home radius from states and impose default on home check 2018-09-06 10:20:01 -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
mazmazz
f000a68150 Impose default radius for orbiting flickies 2018-09-06 08:08:53 -04:00
mazmazz
21a55a4702 Make default behavior: aimless flying flickies stay at Z height 2018-09-06 08:07:13 -04:00
mazmazz
956b83729b Store extravalue1 (home radius) immediately in A_FlickyCenter, not during player look routine 2018-09-06 07:55:15 -04:00
Monster Iestyn
2b0ce807c7 Fix mixed d+c in NiGHTS trigger code, fix stray "INT8" in A_ConnectToGround 2018-09-04 17:04:24 +01:00
mazmazz
dabd7f99e6 Add MUSICPOSTBOSSFADEIN 2018-09-01 13:10:50 -04:00
mazmazz
b0be27a54e Fix music fade out when MUSICPOSTBOSS is not specified or doesn't exist 2018-08-28 18:46:30 -04:00
mazmazz
0f42363a97 Fixed post-boss music change with mapmusname comparison 2018-08-25 22:19:15 -04:00
mazmazz
01c6dbed5c Case-insensitive music matching 2018-08-25 21:50:56 -04:00
mazmazz
083de09f88 Load mapmus vars post-boss even if another tune is playing, like a jingle 2018-08-25 17:42:46 -04:00
mazmazz
ed8288a028 MUSICPOSTBOSSPOSITION -> MUSICPOSTBOSSPOS 2018-08-25 16:18:09 -04:00
mazmazz
610a83f60e Added MUSICPOSTBOSSTRACK and MUSICPOSTBOSSPOSITION level header/variables 2018-08-25 16:10:46 -04:00
mazmazz
a3ed60d7bd Added MUSICPOSTBOSS level header for boss post-defeat music 2018-08-25 16:02:12 -04:00
mazmazz
54cb7ddf32 Anchor Ideya logic
# Conflicts:
#	src/p_enemy.c
#	src/p_inter.c
2018-08-13 02:17:07 -04:00
mazmazz
67ee9d082d A_OrbitNights: Move donotrescale to bit 19
* For compat with `nights-ideyaspawn`
2018-08-13 02:09:00 -04:00
mazmazz
2f6c0d7e4e Make Flicky color, move direction, and flags configurable by A_FlickyCenter var1 2018-08-12 09:23:50 -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
0fe41e06ff Remove A_OrbitNights additional input offset on current target Z, don't need it 2018-08-11 12:06:50 -04:00
mazmazz
b97037f644 A_OrbitNights height offset by target height implementation 2018-08-11 00:07:26 -04:00
mazmazz
5eafebe4d4 A_FlickyCenter implementation - now Flickies can be attracted to players!
* Changed default movement to attraction, vs. aimless
* Flickies spawned from this will always have the FLICKY_CENTER mobj as its target
    * Use P_IsFlickyCenter to identify FLICKY_CENTER mobjs versus players
* FLICKY_CENTER mobj tracer points to the spawned Flicky
* Thanks toaster for the original code~~
2018-08-09 17:28:37 -04:00
mazmazz
abbc7631cd Flicky stand implementation by MTF_AMBUSH
* MTF_OBJECTSPECIAL: Set no gravity for flicky
2018-08-09 02:08:25 -04:00
mazmazz
292654e498 Fix FlickyFly momentum on MTF_OBJECTSPECIAL 2018-08-09 00:57:35 -04:00
mazmazz
fc2517d8e2 FlickyFly: Configure gravity by MTF_AMBUSH 2018-08-09 00:13:08 -04:00
Monster Iestyn
dfb5f06d7e fix compiler errors (shadowed vars, comparisons between unsigned + signed, an unused function arg, and a non-static function with no prototype) 2018-07-02 21:03:04 +01:00
Monster Iestyn
c045e8cf8d Since there is only one type of the old spikeball that doesn't rotate, there is no point using A_RotateSpikeBall in its states anymore.
Likewise, A_RotateSpikeBall no longer has to care about the object type of the actor, for the same reason.
2018-07-01 22:01:00 +01:00
toaster
e054208a31 Fix hanging bug if A_ConnectToGround's supplied object's height is zero. 2018-06-06 22:36:55 +01:00
toaster
adf8f0e391 * Some minor info.c tweaks I discovered I needed to make while transferring material across from patch.dta to srb2.pk3.
* Making the particle generator dynamic, as requested by Nev3r.
* i....... think this is done? i'll double check in the morning.
2018-06-06 00:40:23 +01:00
toaster
3725203bcd Bit of a random one today, but the branch approaches completion...
* Bomb sphere! Paraloopable hazard. Replaces MT_SPECIALSPIKEBALL.
* Blueberry bushes, both normal and Xmas, from patch.dta.
* BSZ tulips, also from patch.dta!
* Frozen Hillside badniks - Penguinator and Pophat.
* Frozen Hillside ice decoration!
* Fixed some big bugs with the DSZ light beams.
* Made multi-mare special stages work, in a troll way - the Chaos Emerald disappears in a puff of smoke, and the Spinbobert laughter sound plays... >:3c
* Reverted the mobjtype number changes from the source SOC/Lua, which we can do later when doing a final pass of the levels.
* State optimisation.
* Serious cruft-removal of the NiGHTS drone thinker.
* Fix the issues where the player wouldn't curl into jump in waterslides or dropping off rope-hangs.
* Tweak NiGHTS player flashing.
* Add text colour support to the titlecard font.
* Use that to make the PRESS SPIN\nMID-JUMP thing when you get all Chaos Emeralds use the titlecard font for readability.
* Fix the GOT ALL EMERALDS page not lasting the correct, extended amount of time.
* Fix that thing where flying mid-spin didn't enact autobrake.
* Modify graymap a little on Sryder's suggestion.
* [COMPLETELY UNRELATED] fix that thing where the addons menu will fail on files/paths with spaces in [/COMPLETELY UNRELATED]
2018-06-05 17:22:28 +01:00
toaster
6e07631cc9 MONSTER COMMIT.
OLD SPECIAL STAGES:
* Spheres in old special stages instead of rings!
* Individual timers in old special stages instead of a global one!
* Old special stages use a variant of the NiGHTS HUD now!
* Special stage damage in old special stages loses 5 seconds of time instead of 10 rings/spheres!
* All damage gained through old special stages is converted to special stage damage! As a consequence, the special spikeball has no need to be special anymore.
* Made emerald gaining function be based on special stage number rather than gained emeralds!
* Consistency with...

NiGHTS SPECIAL STAGES:
* Spheres now flash in bonus time. https://cdn.discordapp.com/attachments/400761370800422922/452590553100713984/srb20032.gif
* Sphere and ring mapthingnums are now less fucked up in 'em. (Rings are 300, same as usual, while Spheres are now 1706 replacing NiGHTS Wings.)

SPECIAL STAGES IN GENERAL:
* useNightsSS is now dead. Each individual special stage is now assessed for NiGHTS-mode behaviour based on maptol & TOL_NIGHTS.
* CRAWLA HONCHO\n CAN NOW BE\n SUPER CRAWLA HONCHO end tally modification now also includes a mini-tutorial on turning super. https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif
* SONIC GOT A CHAOS EMERALD? https://cdn.discordapp.com/attachments/400761370800422922/452623869497573386/srb20034.gif

NiGHTS NON-SPECIAL STAGES:
* Colour Chips and Star Chips! Replaces Spheres and Rings of NiGHTS Special Stages.
* Colour Chips turn yellow in bonus time.
* Ideya!
* Its own "drowning" music!
* All of the object types for Dream Hill.
* GIF: https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif

RANDOM BS:
* Turn super with the spin button instead of the jump button!
* Followmobj now correctly set with P_SetTarget instead of pointer assignment.
* Emerald hunt uses new sprites!
* Made unlock noise different from emblem gain noise! (It's the CRAWLA HONCHO CAN NOW TURN yadda yadda sound from S3K now.)
2018-06-03 22:41:54 +01:00
toaster
8d00192fee New CEZ hardcoding done!!
* Better Robo Hood arrows.
* Shield break animation for Egg Guard. (Temporary state slot so I don't have to compile from scratch until I do something more complicated later.)
* Suspicious Facestabber Statue animates a little before bursting open.
* Fix Facestabber radius.
* Fix some stuff in Flicky functions that could be overwritten in Lua call actions by mistake.
2018-05-31 21:00:12 +01:00
toaster
2ec1c3cd9d First commit on new tablet-laptop!
* Robo Hood.
* Hi MI, I know you're looking at this just because it features Robo hood. :V
2018-05-30 23:16:57 +01:00
toasterbabe
cea4562c74 Realised I forgot to commit these, didn't want to move to a new laptop-tablet and just have them disappear on me.
* Facestabber statues now have fun breaking effects.
* Fake coronas for candles and prickets.
* hnext and hprev are properly dealt with in MobjThinker if P_MobjIsRemoved.
2018-05-29 18:48:57 +01:00
toasterbabe
364984ac12 Fix bugs (uninitialised memory the compiler didn't pick up, and not setting scale) I sleepily caused last night. 2018-05-24 13:19:42 +01:00
toasterbabe
cb86ed7721 * Castlebot Facestabbers.
* Facestabber statues, of both the suspicious and non-suspicious kind.
* New object type for the end of grabbable chains.
* I moved my compilation .bat file to my Releases folder, so it should .gitignore .bat's.
* Random extra stuff.
2018-05-24 01:40:57 +01:00
toasterbabe
dbcd259bd6 * New Egg Guard behaviour!
* Fix the thing I mistakenly messed up with all of the things I moved out of P_SpawnMapThing without good reason to.
2018-05-22 23:02:54 +01:00
toasterbabe
847f8b4ef0 * CEZ decorations!
* Moved a bunch of stuff that had no business being in mapthing spawns into mobj spawns.
2018-05-22 11:04: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
3c50acd1bf * Minor changes to make A_CrushclawAim more useful.
* Some fun with the chain. https://cdn.discordapp.com/attachments/402861856219463681/445539938633515018/srb20022.gif
* More corrections to closed captions.
2018-05-14 13:20:24 +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
d0575f7fb0 * Hive Elementals and Bumblebores, plus associated useful action functions.
* Made Facestabbers take two hits and have associated pain/death animations. No other changes, just wanted to make sure THIS was done.
* Move Bubblebuzz-related stuff to go alongside the secret badniks and etc.
* MF2_INVERTAIMABLE. Inverts whether P_LookForEnemies can get at; replaces a hardcoded thingy.
2018-05-04 21:30:15 +01:00
toasterbabe
8f71e93cee * Remove Commander-specific hack, incorporate into A_CrawlaCommanderThink.
* Make my changes to its thinker slightly more consistent.
2018-05-03 14:04:29 +01:00
toasterbabe
6d1ba20a1d * Add native support for multi-hit badiks to MF_ENEMY.
* MF2_FRET application and removal.
   * Flashing when flag present.
   * Bounce player back on successful damaging.
   * Add their spawnhealth to the chain.
* Reduce code duplication in P_TouchSpecialThing.
* Play with Crawla Commander a little bit as a test of its power.
2018-05-02 23:48:50 +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
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
toasterbabe
976331fb03 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into hardcoding-time-again 2018-04-08 16:23:19 +01:00
toasterbabe
ff9775225e Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into delag_maces
# Conflicts:
#	src/p_mobj.c
2018-04-07 01:54:43 +01:00
toasterbabe
15903c6271 * Correct V_PERPLAYER's screen-centered (no snapto flags on a given axis) behaviour.
* Fix that one comment Digiku mentioned. ;P
* Make extra lives/100 ring rewards consistent between lives being relevant and lives being infinite/not present, which was a problem this branch made evident when Race ended up getting the infinite lives symbol!
2018-04-06 14:42:49 +01:00
toasterbabe
6d59551afd Mace optimisation!
* Handle all chain objects as a hnext/hprev chain.
* When removing mobjs with hnext/hprev, "repair the chain" (make the h links meet).
* Fix hidden slings, which I accidentially broke when I revamped maces the first time.
* Kill MF2_MACEROTATE. Not needed for anything anymore.
* P_MaceRotate now available to Lua to make up for it.
* Related: Made modifying hnext/hprev using Lua safer, so it keeps the reference counts in play.
2018-04-01 20:54:19 +01:00
Matthew Marsalko
0e14845155 Add triple laser 2018-01-02 11:34:13 -08:00
Monster Iestyn
a79d064d15 The contents of DSZ-f16.wad's LUA_A000 Lua script are in now
Thing type numbers may be changed later
2017-12-08 18:26:32 +00:00
Alam Ed Arias
7f4424b4a0 whitespace cleanup 2017-11-02 23:13:34 -04:00
toaster
c84d4261d1 Merge branch 'unca_scrooge' into 'master'
The hardcoded part of ACZ3 so far

See merge request STJr/SRB2Internal!124
2017-11-02 16:43:11 -04:00
toasterbabe
eea5c9d56a Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into unca_scrooge
# Conflicts:
#	src/dehacked.c
#	src/info.h
#	src/p_enemy.c
2017-10-21 12:48:41 +01:00
TehRealSalt
f0b938eb98 Merge remote-tracking branch 'refs/remotes/origin/master' into sal-misc-stuff
# Conflicts:
#	src/p_saveg.c
2017-10-14 16:20:56 -04:00
toasterbabe
87fc24ccbb Fancy super transformation changes! About to go out for dinner, so no major writeup,but let's just say all this changed code means that the transformation animation is smoother in colour change. 2017-10-04 17:45:03 +01:00
TehRealSalt
f31cdf395a Merge remote-tracking branch 'refs/remotes/origin/master' into sal-misc-stuff
# Conflicts:
#	src/p_user.c
2017-09-30 22:29:16 -04:00
Alam Ed Arias
2629301947 Merge branch 'public_next' into master 2017-09-28 17:29:02 -04:00
Alam Ed Arias
01602fa1f1 Build: fixup warnings in Debug builds 2017-09-28 16:54:26 -04:00
Alam Ed Arias
1be137f461 cleanup 2017-09-28 11:10:24 -04:00
Alam Ed Arias
f1a347e55f Merge branch 'public_next' into master 2017-09-28 11:01:20 -04:00
Alam Ed Arias
2ccd397d11 Build: kill GCC 7's implicit-fallthrough warning 2017-09-28 09:39:47 -04:00
TehRealSalt
09c3c58575 Obligatory "fixing a very tiny and very stupid mistake" commit :p 2017-09-21 17:38:42 -04:00
TehRealSalt
6b448f72ee A_GhostMe lets you change fuse with var1, fixed the walking-spin frames bug For Real This Time 2017-09-21 17:34:53 -04: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
Monster Iestyn
9f726bc66d Merge branch 'new_coop' into 'master'
New Co-op

See merge request !104
2017-08-16 15:01:39 -04:00
toasterbabe
a00deee209 * Combine all shield-giving functions into a single one, since they were practically identical anyways.
* Expose P_SwitchShield(player, shieldnum) to Lua.
2017-08-10 13:57:09 +01:00
toasterbabe
a61be91523 Add a new feature to MT_PARTICLEGEN, per Sphere's request - if you give the parameters line a backside, then the backside x offset controls the number of tics between particle spawn. (By default, it's 3.) 2017-08-08 18:22:44 +01:00
toasterbabe
780f9b1645 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into new_coop
# Conflicts:
#	src/hardware/hw_md2.c
2017-08-07 20:36:14 +01:00
Monster Iestyn
42ed41aeb1 Merge branch 'maces_but_better' into 'master'
Maces but better

See merge request !103
2017-08-07 15:27:05 -04:00
toasterbabe
e2a9d47ef6 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into new_coop 2017-08-05 12:28:31 +01:00
toasterbabe
8941379c64 Implementation of all the new skincolours. No new exe yet, though, since I'm still doin' stuff. 2017-07-22 23:24:12 +01:00
toasterbabe
b2e92e7a09 * Invert solidity flag for vertical spikes and wallspikes.
* (unrelated) Per a request by sphere, make the ambush flag stop sounds being made by the gas jet.
2017-07-19 17:07:31 +01:00
toasterbabe
4728c824a0 Comment correction. 2017-07-16 01:01:13 +01:00
toasterbabe
f04c5292c7 Revert pointless change to A_RandomState. 2017-07-15 22:38:43 +01:00
toasterbabe
b568816217 * Modified A_RandomState. If var2 is supplied, it picks between var1, var2 and nextstate - otherwise, it picks between var1 and nextstate.
* Changed a caption.
2017-07-11 12:55:24 +01:00
toasterbabe
b91dc51d6f * Lua P_MobjFromMobj.
* Make A_Repeat only set extravalue2 if it has a var1.
* Improve sound caption.
* Make activesound state-controllable.
2017-07-09 14:54:11 +01:00
toasterbabe
a5f336e51a Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into unca_scrooge
# Conflicts:
#	src/dehacked.c
#	src/info.h
#	src/p_enemy.c
#	src/p_inter.c
2017-07-09 12:14:24 +01:00
toasterbabe
b197dcdb1f A little bit of monitor love.
* Rename "Unknown" options to "Mystery".
* Make Random monitors work consistently in singleplayer if hacked/SOC'd in.
2017-07-08 12:31:37 +01:00
toasterbabe
88546abb08 Fix a few things noted during a test netgame with Salt and FuriousFox.
* Hide the individual lives on the tab menu whenever they're irrelevant.
* Make co-op spectators appear on the tab menu.
* Hide one frame of spectatorhood stuff in splitscreen.
* Fix joining netgames whilst in a special stage not giving the startinglives.
* Make monitors that don't appear to do anything play the failure sound.
* Only make players flash if they're REspawning, rather than spawning into a fresh level - unless it's a NiGHTS level, in which case never.
2017-07-07 13:35:48 +01:00
toasterbabe
370d9c3176 Hooh boy.
****
* MF2_MACEROTATE. Apply to any object. Replaces the indiscriminate spamming of A_MaceRotate each tic.
****
* Mace point mapthings have been slightly modified.
   - MTF_AMBUSH: bigger luke theory (has no effect on custom mace, different effect on spring mace)
   - MTF_OBJECTFLIP: flips the objects, but nothing else - just so it doesn't look out of place in gravflip sections
   - MTF_OBJECTSPECIAL: keeps it from attempting to play swinging sounds
   - angle: tag of controlling linedef
   - parameter: number of "spokes" minus one - for example, a parameter of 2 results in 3 equidistant maces rotating around the same point.
****
* Mace linedefs have been significantly revamped.
   - line dx: number of chain links
   - line dy: speed (in FU)
   - frontside floor height: Pitch (in degrees; how much it "tilts" over - Yaw influences the axis it's tilting on)
   - frontside ceiling height: Yaw (in degrees; rotation of entire thing on xy plane)
   - frontside x offset: Phase (in degrees; how far it is through the rotation cycle)
   - frontside y offset: Max speed (in FU; if less than speed, set to speed*2)
   - backside floor height: Pinch (in degrees; 0 if no backside; essentially makes rotation conical instead of wheel-like)
   - backside ceiling height: Roll (in degrees; 0 if no backside; rotates on the axis of the spinning - identical to Phase for spinning maces, but useful for rotating swinging maces as opposed to just offsetting them)
   - backside x offset: Number of "antispokes" (0 if no backside; makes that many spokes not exist so you can put another mace/chain type in there instead; for combo mace/chain instead turns them into chains directly)
   - backside y offset: Width (in number of extra chains per side; 0 if no backside; creates a "skiprope" arrangement)
   ----
   - ML_NOCLIMB: for chains and chain-mace combos, allow for player control of yaw through strafe keys
   - ML_EFFECT1: replacing the seperate mapthings, this makes a mace type swing instead of spin.
   - ML_EFFECT2: for all spokes of the mace wheel ending in maces, make the chains out of the mace type (inverted for firebars)
   - ML_EFFECT3: spawn a bonus mace type at the center(s) of rotation
   - ML_EFFECT4: don't clip inside ground
****
* Mapthing 1104 represents both spinning and swinging maces from prior versions of SRB2.
* Mapthing 1105 has gone from being a swinging mace variant to a combination of chains and maces in a single unit, provided the number of "spokes" is greater than one.
* Mapthing 1105 has gone from being a swinging chain variant to a vertical spring-on-a-ball-on-a-chain. Yellow by default, apply MTF_AMBUSH to turn into a red spring.
* Mapthing 1107 represents both spinning and swinging chains from prior versions of SRB2.
* Mapthing 1108 is completely untouched except to port over 2.1's functionality to the new backend.
* Mapthing 1109 is a Mario castle-level style firebar. This inverts the functionality of ML_EFFECT2 on the tagged linedef.
* Mapthing 1110 is a free slot should we want to implement another type of base-game mace.
* Mapthing 1111 is a custom mace. Use the linedef's frontside texture slots to identify a macetype mobjtype, then use the backside texture slots to identify a linktype mobjtype (defaults to MT_NULL if no backside).
****

Whooh. Requires new patch.dta for sprites.
2017-07-02 15:11:09 +01:00
toasterbabe
a0fa548e8b * Make spinning (normal) maces play the activesound once per rotation, instead of once every 64 tics.
* Make swinging (as opposed to spinning) maces play the activesound at the peak of their speed.
* Decouple the tilt of all maces from the angle.
* Improve DBG_GAMELOGIC message.
* Refactor.
2017-06-28 14:55:48 +01:00
toasterbabe
23bdb14eda * Make maces use the x offset of their controlling linedef to set the stage in the cycle the mace should be at, instead of contributing to the tilt of the plane of the maces.
* Make the noclimb flag of the mace-controlling linedef turn the mace types that have spiked balls on the ends to also have the middles of the chain be spiked, CEZ3 style.
* Partake in some refactoring.

https://cdn.discordapp.com/attachments/293238104096112641/329335623250870275/srb20026.png An image of both changes in action!
2017-06-27 20:16:14 +01:00
toasterbabe
2f3e4c3c65 * Per Mystic's request, made lives for 100 rings individual.
* P_GiveCoopLives bundles the coop lives reward for everyone versus reward for one person in other gametypes thing into one function. Available in Lua.
2017-05-29 22:18:02 +01:00
toasterbabe
726cd9757b Spectators in new Coop instead of staring at a dead screen all the time!
Needs a bunch of changes to HUD rendering, especially in splitscreen, which doesn't try to show spectator stuff whatsoever. Also, if you're the player whose respawn determines when the map reloads, you'll see the spectator text during the front half of the fade. Unless, of course, it's 2-player mode.
2017-05-29 21:23:00 +01:00
toasterbabe
ce181da83c ...i am fool 2017-05-28 17:08:41 +01:00
toasterbabe
965e1f6b45 * Make 100 rings give everyone a oneup in New Coop.
* Make oneup boxes only give everyone a oneup in New Coop.
2017-05-28 17:07:20 +01:00
toasterbabe
3723eff9f7 The start of the Co-Op revamp! Not tested over netplay yet, but uses TD's implementation of various Co-op friendly things as a reference (or in one place an outright code steal, thanks Sryder!)
* cv_sharedstarposts - Makes everyone share starposts, defaults to "On"
* cv_respawntype - Defaults to "Starpost". If set to that, people respawn at the starpost you just hit (assuming cv_sharedstarposts is on - may have to combine the two variables later, but seperate for testing for now). The other option is the old, unrestricted spawning. We COULD add TD bubble spawning at a later time using this variable, though.

The level DOES reset if everyone dies, but not in a way which allows for Mystic Realm style non-resetting resets. I'll handle that later.
2017-05-28 15:33:35 +01:00
Monster Iestyn
f0de3a407d Merge branch 'public_next' 2017-05-11 22:58:03 +01:00
Monster Iestyn
41130465b4 Use NF instead of normal P_SetMobjState to prevent endless looping 2017-05-07 22:21:17 +01:00
toasterbabe
22f5b67af6 Fixing a race condition forcing speed shoes captions to disappear almost instantly. 2017-04-29 18:10:09 +01:00
toasterbabe
73f1550242 There are now captions for specific types of music! (Currently signified with an M, but I'll change that in a bit...) A whole lotta things needed to be modified for this, though.
* Serious refactor of - and internal exposure of - what has become S_StartCaption().
* Renaming of a few existing captions.
* The prevention of access to - or writing over - sfx_None's stuff in SOC or Lua.
* The new Lua wrapper function S_StartMusicCaption(string, tics, optional player), which essentially allows custom music captions to be created. (This is best used for stuff like final lap music in SRB2 Kart or bonus time in a thokker-like game, not a comprehensive Now Playing expy. That'd be a different kettle of fish.)

Also, updated all the lock-on stuff to use P_IsLocalPlayer instead of rolling my own.
2017-04-29 16:27:52 +01:00
toasterbabe
2d9c37d800 MONITORS IS UNFUCKED
A less memetic message: On permission of Mystic, rejiggered a few things such that Race uses cv_competitionboxes, allowing the menu to be nicer.

Also:
* disabled the doomednum for ? boxes
* made A_MixUp play sfx_lose if you're in a gametype that can't use it
* Removed the all-teleporters option from cv_competitionboxes. It could just be done by tweaking the random monitor toggles, anyways.
2017-04-28 22:45:17 +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
805784a175 Made it possible for nojumpspin characters to juke the Minus into exposing itself by jumping over it slowly, allowing its vulnerability to be exploited. 2017-03-25 12:51:38 +00:00
toasterbabe
b53e69b949 Corrected a silly oversight. No, you can't swap your carry stuff when recycling! 2017-03-15 20:42:01 +00:00
toasterbabe
7aeeb278fe Increased space in pflags (because we were getting VERY close to full capacity), which I will re-organise when this branch is closer to completion.
* PF_NIGHTSMODE is now CR_NIGHTSMODE as part of player->powers[pw_carry]. This is because it's mutually exclusive to every other "carry" type.
* PF_SUPERREADY is dead because it literally just checked for all 7 emeralds and 50 rings. That's it. You couldn't even appreciably alter its presence with Lua. That logic has been placed back in P_SuperReady.
2017-03-14 18:11:17 +00:00
toasterbabe
260b461c39 Drawangle.
Mystic wanted it, just play it - too busy to give proper commit description. Will outline everything it is in the merge request when that happens.
2017-02-05 18:15:20 +00:00
toasterbabe
c04ee6bfb7 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into charabilities_mk3 2017-02-04 15:19:02 +00:00
toasterbabe
91cbeb5e1a Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into patch_hardcode 2017-01-25 12:24:09 +00:00
Monster Iestyn
fb8140312b Merge branch 'flat_alignment_revamp' into 'master'
Revamps of several dated linedef type effects

Felt like being productive so made some things I hate suck less.

Linedef type 7 (flat alignment) now works as follows.
* Linedef angle (from v1 to v2) is flat angle.
* Origin of flat is manipulated to match v1's coordinates - unless ML_NOKNUX is flagged, in which case uses frontside x and y offsets as flat offsets instead.
* ML_NOSONIC prevents changing floor.
* ML_NOTAILS prevents changing ceiling.
* Both of the above flags at once prints a warning.
* (THZ and probably a few other maps need updating.)

Linedef type 540 (friction) now works as follows.
* Controlled by x offset instead of length - offset of -100 is maximum iciness, offset of +483(!!!) is the maximum sludginess BUT things are scaled such that +100 is about the maximum sludginess any reasonable human being would want in a level, 0 is ORIG_FRICTION)
* Not reliant on a sector special to function (can be applied solely by tag to in-map sectors or solid FOF control sectors)
* Uses less memory, perform less calculations, and not bug out objects which just happen to use movefactor for something
* PHYSICS CHANGE: Low friction surfaces actively impede your acceleration (and make your animation speeds faster to give off that Looney Tunes out-of-control effect)
* (ACZ and Frozen Hillside needs updating.)

Sector types 1 and 3 in section 3 no longer do anything.

Linedef type 3 (zoom tube) now works as follows.
* Abs of frontside x offset is speed in units of FRACUNIT/8.
* Abs of frontside y offset is waypoint sequence number.
* Effect 4 flag rotates the player to match the waypoint direction (same as before).
* (ERZ needs updating.)

Linedef type 11 (rope hang) now works as follows.
* Abs of frontside x offset is speed in units of FRACUNIT/8.
* Abs of frontside y offset is waypoint sequence number.
* Effect 1 flag makes rope transfer one-way. (same as before)
* No climb flag makes rope static. (same as before)
* (ACZ and maybe ERZ need updating.)

Linedef type 258 (laser) is almost the same as before, but has altered functionality.
* Its flashing is less obnoxious. (56.25% to 68.75% instead of 100% to 0%, at half the speed)

Linedef type 14 (Bustable block parameters) is new, and works as follows.
* Tagged to the control sector of a block that is likely to be busted (via executor or collision, doesn't matter)
* Concatenation of frontside textures is MT_ object type to spawn, defaults to MT_ROCKCRUMBLE1 if not present
* Sound played when being busted is object type's activesound
* Frontside x offset is spacing (in fracunits) of spawned particles, defaults to 32<<FRACBITS
* Frontside y offset is the fuse of spawned particles in tics, defaults to 3*TICRATE, if set to -1 fuse is not set
* Effect 1 flag makes particles "fly out" horizontally and vertically from the center of the FOF

Sector types 7 through 15 in section 3 no longer do anything.

Linedef type 250 (Mario Block) is almost the same as before, but has new functionality and is slightly different in another way.
* No Climb flag turns it into a brick block (set on Custom FOF via presence of FF_SHATTERBOTTOM - busts when hit from the bottom, player hits their head/fist/whatever, no more upwards momentum)
* Effect 1 flag makes it an invisible block (set on Custom FOF via absence of (FF_SOLID|FF_RENDERALL|FF_CUTLEVEL) - intangible from every side except the bottom. Becomes visible and tangible when it's hit once)
* Only updates side textures when moving down or stationary, not whilst moving up - more fidelity to the source material, less processing on the CPU, everyone wins.
* If FOF master linedef has a backside, then: [If there's items in it the FOF's flats are set to that of the backside sector's ceiling, otherwise the floor.] Otherwise, no flat change.

Linedef type 4 (Speed Pad parameters) now works as follows.
* Frontside x offset is speed in fracunits.
* Effect 4 flag doesn't center the player. (same as before)
* Effect 5 flag sends them off in rolling frames.
* Frontside upper texture is sound to play on launch, defaults to sfx_spdpad when not given

Sector type 6 in section 3 no longer does anything.

Object type 757 is changed as follows, and no longer works on its own - see Linedef type 15 for more details.
* Tag via its angle field
* Number of objects to spawn per tic around it via its z field, if zero then just spawn at center
* Is flipped if given MTF_OBJECTFLIP.
* (ERZ and Seraphic Skylands - if we use that map - needs updating)

Linedef type 15 (Fan particle spawner parameters) is new, and works as follows.
* Tag is tag of object(s!)
* Object type set via concatenation of frontside textures, MT_PARTICLE is default
* The length of the linedef is the radius the particle is spawned out (zeroed if z field is 0)
* Frontside x offset is speed upwards
* Frontside y offset is number of degrees to turn each tic (zeroed if z field is 0)
* Frontside floor and ceiling heights are the heights in which the particle is bound through some fun mathematics

A_ParticleSpawn is changed, too.
* Object type is now changed through actor->threshold instead of var1 to support Linedef type 15.

Test executable uploaded at /toaster/srb2win_branch_flatalignment.exe on the ftp.

Test file uploaded at /toaster/flatalignment.wad on the ftp.

Breaks compatibility with 2.1 so put in internal.

See merge request !29
2017-01-24 16:49:43 -05:00
toasterbabe
4e8ce1b77f CEZ1 flames now implemented.
Please note Brak flames use a FF_ANIMATE state instead of the normal flame ones because they are spammed a lot, and the normal ones make particles.
2017-01-21 20:32:33 +00:00
Monster Iestyn
acfbce21c9 Merge branch 'gfz3_laser' into 'master'
GFZ3 Unfuckening

Some tweaks to the GFZ3 Eggmobile's behaviour to make it less frustrating for old and new players alike.

* GFZ3 Eggmobile's laser won't change its angle when you move left and right anymore.
    * Changed because its ability to move quickly was extremely punishing for new players (see ProJared's youtube video on the matter).
    * http://gfycat.com/PassionateUnknownAgama (the twitching on the third laser has been fixed since this was recorded)
* GFZ3 Eggmobile will, when too far away from the ground and moving upwards, slow itself down vertically.
    * This was punishing and annoying for both old and new players alike.
    * http://gfycat.com/CornyLeftDungbeetle (old values - the typical settling height is slightly lower now)

See merge request !42
2017-01-21 13:46:04 -05:00
toasterbabe
90b2236711 Fixed flame jets. (I'll upload the patch.dta required to run this exe when I'm ready to make a merge request.) 2017-01-21 12:39:59 +00:00
toasterbabe
399a6c1d47 * ALMOST SORTA IMPLEMENTED A NON-HACKY SPINNING FLAMEJET. For some reason, they wanna step down onto the platform - and I've been figuring this out for too long to see what's causing that tonight.
* Hardcoded a bunch of stuff from patch.dta. All works fine, but still more to do.
2017-01-21 01:09:39 +00:00
toasterbabe
da42165169 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into flat_alignment_revamp 2017-01-16 17:14:58 +00:00
toasterbabe
38c7436565 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into charabilities_mk3
# Conflicts:
#	src/d_clisrv.c
2017-01-09 11:10:47 +00:00
Monster Iestyn
3d07915be2 Merge branch 'vada_flickies' into 'master'
Hardcoded VAda Flickies

Many thanks to MI for his help, even if he has sinful opinions on what the collection of creatures should be called. ;P

* Flickies are now handled via A_FlickySpawn instead of hardcoded in P_KillMobj, so there can be mobjtypes with MF_ENEMY which don't create flickies, or other mechanisms which can much easier.
* Added map header "FlickyList" (aka "AnimalList") parameter, which can either be set to:
    * A species (eg: "Rabbit" or "Bluebird", amongst 17 currently supported types in dehacked.c table FLICKYTYPES - including the seed from Sonic CD, which isn't limited to 'soniccd on' in the console now)
    * Any valid mobjtype that isn't MT_NULL (eg: "MT_FLICKY_GHOST")
    * A comma-seperated list of either of the above, up to 64 entries long (eg: "Cow,MT_FLICKY_SPIDER,Chicken")
    * "All" - sets behind-the-scenes stuff to use every 'normal' type of flicky in FLICKYTYPES (a distinction which can be utilised to hide secret level flickies where they wouldn't be appropriate for the main game)
    * "Demo" - sets behind-the-scenes stuff to use the five flickies closest to the species used in the game's long history.
    * "None" - prevents any flickies from spawning.

"Demo" is functionally the default value if you don't include a FlickyList parameter in the header at all.

Of note, a bunch of functions are now created:
* A_FlickySpawn - spawns flicky.
* A_FlickyAim - aims for area near target, but not directly on them - turns around when hitting wall
* A_FlickyFly -  flies/swims around target (calls A_FlickyAim)
* A_FlickySoar - hacky alternate fly (calls A_FlickyAim)
* A_FlickyCoast - slowing down before going off again
* A_FlickyHop - fracunit-scale precision for A_BunnyHop
* A_FlickyFlounder - A_FlickyHop with randomisation
* A_FlickyCheck - State-setter for falling, or being on-ground
* A_FlickyHeightCheck - State-setter for falling, or being below a certain height relative to target
* A_FlickyFlutter - A_FlickyCheck, but with a slow fall/movement (calls A_FlickyCheck and A_FlickyAim)

I don't need to enumerate the object types and states that have been added, do I?

Oh yeah, I also made it so get_mobjtype's failure value was MT_NULL and prohibited SOC from editing the properties of it to compensate.

IN ADDITION: Killed "soniccd" console command, since it made things more complicated and honestly being able to specify Sonic CD seeds in the level header is a better option.

See merge request !60
2017-01-08 17:36:25 -05:00
Monster Iestyn
166c6746cd Merge branch 'public_next' 2017-01-08 16:05:32 +00:00
toasterbabe
0d49d4ba3f Fixed seed spawning not properly accounting for reverse gravity. 2017-01-02 14:00:03 +00:00
toasterbabe
3f92a2305a * Modified MT_SEED to have aesthetically nicer behaviour.
* Removed Soniccd command, as flicky selection involves a P_RandomKey call - this messes with replays and demos.
2017-01-01 21:54:30 +00:00
toasterbabe
df88d888e6 Prevented Mario mode from bailing out P_InternalFlickySpawn. What's the point? Goombas don't call A_FlickySpawn... 2017-01-01 18:16:21 +00:00
toasterbabe
21b316e9a4 Made the flicky turning-around-when-hitting-walls work better and not take up another struct variable which a user of A_FlickyCheck might not want taken. 2017-01-01 16:42:39 +00:00
toasterbabe
311886e582 * Ported in all of the Flickies from flickiesreduced8.wad except for the Flicker and seed.
* Fixed a crash bug in the Flicky fly function I introduced sleepily last night.
2016-12-31 16:55:06 +00:00
toasterbabe
d3a70eb1db * All Flicky A_ functions ported.
* Corrected MT_EGGSHIELD spawning a flicky.
* New compared to the Lua implementation: Flickies turn around when they hit walls!
2016-12-30 19:16:20 +00:00
toasterbabe
bf8bff82ba * MT_EGGTRAP (egg capsule center mobj) converted over to flickylist system.
* MT_EXPLODE's anims partially FF_ANIMATE'd.
* A_FlickySpawn turned into a wrapper for internal function that does what A_FlickySpawn did but returns a pointer to the spawned flicky.
2016-12-30 14:04:04 +00:00
toasterbabe
d9177f778f * Made what MI had compile.
* Added the ability to read in mobjtypes as well as from a short list of flicky constants.
* Added a new state, S_XPLD_FLICKY, which is the new deathstate of all badniks.
* Put the disabled animal-spawn-on-P_KillMobj behind a #define.
* Renamed the branch and associated properties to something not rife with sin.
2016-12-29 17:02:05 +00:00
Monster Iestyn
cecc1912fe Starting work on adding new system for spawning animals; added A_FlickySpawn and level header "animallist"/"flickylist" parameter
No idea if this compiles yet (let alone if what is there works at all), just getting this out the way so I can work on certain other things *cough plane displacement cough*
2016-12-27 21:01:20 +00:00
toasterbabe
90758b47ec * Limit spawning of endsign head to if a sprite for it exists.
* Rearrange colouropposite so lavender's opposite is crimson, considering gamegear.
2016-12-25 22:20:20 +00:00
Alam Ed Arias
fc9a86f6d2 Mingw: fixup unsigned/signed compare 2016-12-22 19:39:14 -05:00
toasterbabe
05f58df709 Some changes and corrections.
* Cleaner A_ParticleSpawn code.
* Removed several hacks with Mario blocks, and corrected a mistaken assumption with when the FOF's thinker is being applied.
* Made the flashing of T_LaserFlash even less obnoxious.
2016-11-22 16:21:30 +00:00
toasterbabe
e34ef54166 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into flat_alignment_revamp
# Conflicts:
#	src/info.c
#	src/p_mobj.c
2016-11-20 19:21:10 +00:00
toasterbabe
85fb02aaf6 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions
# Conflicts:
#	src/p_inter.c
#	src/p_user.c
#	src/st_stuff.c
2016-11-20 16:44:38 +00:00
Inuyasha
f02f06aed8 Merge branch 'spr2stuff' into 'master'
Stupid spr2 fix

Name on tin

See merge request !53
2016-11-13 17:40:35 -05:00
toasterbabe
7746553273 * Fixed A_1upThinker having a standing sprite for a single frame on spawn.
* Removed the noalt stuff because it's not actually helpful. Everything's gotta come back to something at some point or there'll be errors.
2016-11-13 22:33:10 +00:00
toasterbabe
b7298a5574 Revert "Nev3r wants to make barrels which are both shootable and die when you break them like you break monitors."
This reverts commit 286a8b0289.
2016-11-12 15:39:47 +00:00
toasterbabe
286a8b0289 Nev3r wants to make barrels which are both shootable and die when you break them like you break monitors.
To that end, I've made MF_MONITOR *without* MF_SHOOTABLE act like MF_MONITOR does, and MF_SHOOTABLE allow for both missiles AND players to destroy. This has had the side effect of allowing MF_ENEMY and MF_BOSS to use MF_MONITOR as a substitute for MF_SHOOTABLE that doesn't allow missiles to cause them damage, which might be useful for Jetty-syns.
2016-11-12 14:08:27 +00:00
toasterbabe
3ce411b62a Mario mode is boring again. (I'm going to revert this commit as soon as possible, but shield_actions needs to be clean of Mario stuff for now.) 2016-10-24 12:35:40 +01:00
Monster Iestyn
a7c8c60379 Merge branch 'master' into damage-control 2016-10-23 21:08:17 +01:00
toasterbabe
c18c014bef Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions 2016-10-23 14:47:37 +01:00
Inuyasha
fa187c5ae7 Merge branch 'unslot-music' into 'master'
Hardcoded music name switches

Like I said earlier, it's better if all the hardcoded music switches in 2.2 start with an underscore so that it's harder to accidentally overwrite them.

Should be accepted when music.dta is updated.

See merge request !17
2016-10-23 06:46:33 -04:00
toasterbabe
8fe932b0e7 * Force shield force stop completed
* Bubblewrap shield bounce now no longer allows thokking post-bounce, but still allows bouncing
* plus a bunch of tiny changes to clean up code around the place.
2016-10-20 00:33:12 +01:00
toasterbabe
5ff507213b * Some shield constants renamed.
* Some shield sounds swapped (can be reverted later).
* Partial implementation of S3K shield abilities.
* The ability to elemental-groundpound onto gold monitors without going straight through them.
* Force shield ability removed because nobody could agree on it, we'll keep it blank until another idea can get through the disagreement juggernaut.
2016-10-16 22:28:50 +01:00
toasterbabe
2acfc72d86 Made P_SwitchShield take into account the force shield, then made A_ForceShield take the number of bonus hitpoints as its var1. (Also, drowning timer is properly reset by ALL protectwater shields, not just elemental.) 2016-10-16 12:45:31 +01:00
toasterbabe
aa8a454ea9 Turning some shield attributes into flags means that environmental protection and ring-pulling can be more elegantly handled. As a consequence, the S3 shields now have all their passives, and are just waiting on me to give them actives (two of which don't have the necessary sprites for...) 2016-10-16 01:23:00 +01:00
toasterbabe
3aa9d2a1b1 Sonic 3 shields implemented at a basic visual/functional level - no abilities yet. 2016-10-15 23:39:54 +01:00
toasterbabe
6e47a07a04 Fixed monitors not making sounds if you had that monitor already and it wasn't mariomode. 2016-10-15 17:58:08 +01:00
toasterbabe
2d85b146ea Messed up the force shield stuff when implementing SH_MUSHROOM. 2016-10-14 14:44:49 +01:00
toasterbabe
5e92ca1a4a Okay, made the Mushroom a seperate shield instead of a hacked pity shield. This is a lot nicer in general. 2016-10-14 10:43:46 +01:00
toasterbabe
80300ac476 Fireflower is now on same level as all other shields, as opposed to being an additional stack layer. (MID LECTURE COMMIT STRATS YO) 2016-10-13 15:14:13 +01:00
toasterbabe
a36912baef In Mario mode...
* shields give you 1000 points
* redundant shields don't make you puase
* checkpoints give you 2000 points
* falling down a deathpit is just falling, not bouncing
2016-10-12 23:47:18 +01:00
toasterbabe
d4f0afa0d1 A Heckloada Mario Stuff
https://gfycat.com/MasculineSatisfiedAfricanwilddog and https://gfycat.com/PastCompetentGypsymoth describe this all in varying states of completion
2016-10-12 17:55:07 +01:00
toasterbabe
64a1fa5421 Players are half height in Mario mode when they don't have any shields, the Mario mode pity shield is invisible, and Mario mode players immediately get a pity shield when they lose any other type of shield. So basically that's a Red Mushroom, right?
https://gfycat.com/ThoughtfulAcademicChrysalis
2016-10-11 23:35:48 +01:00
toasterbabe
d25e908b80 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions
# Conflicts:
#	src/p_map.c
2016-10-11 16:25:24 +01:00
Monster Iestyn
719220da4a Merge branch 'master' into damage-control 2016-10-08 17:12:13 +01:00
toasterbabe
5614ff5691 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into flat_sprites
# Conflicts:
#	src/p_enemy.c
#	src/p_mobj.c
2016-10-02 19:38:53 +01:00
Monster Iestyn
0fb89c620d Merge branch 'master' into damage-control 2016-09-30 21:05:44 +01:00
toasterbabe
026eec4293 Merge branch 'master' into unca_scrooge 2016-09-30 16:28:07 +01:00