Commit graph

123 commits

Author SHA1 Message Date
Oni
e400625da8 Merge branch 'broly-sigfpe' into 'master'
Fix Broly SIGFPE

See merge request KartKrew/Kart!841
2023-01-03 02:49:58 +00:00
toaster
881507889d Fix Broly SIGFPE
- Don't spawn the KI if the duration <= 0
- If the KI spawned but the duration <= 0 for any other reason remove the object instead of performing the division
2022-12-29 17:54:19 +00:00
toaster
df3624d96c Executor calls for UFO Catcher special events
Requested by Charyb.
- LE_PINCHPHASE (-2 or 65534) for busting open the Catcher
- LE_BOSSDEAD (-4 or 65532) for grabbing the emerald
Would like to use args for UDMF compatibility but there is no spawnpoint for the Catcher so it's hardcoded for now
2022-12-29 17:44:19 +00:00
toaster
7482e11992 SPB special stage experiment
If you smuggle an SPB to after the death of the UFO Catcher, spawn a single, free-on-straightways manta ring before it blows up.
Testing shows that you can get hit by the SPB's explosion only if you use the free manta ring just before a sneaker panel... but also Sal thinks it's cool and I think it adds depth
2022-12-28 23:35:27 +00:00
toaster
e45282bdff K_GetPossibleSpecialTarget()
* Standardises conditions under which the UFO Catcher can be "targeted" (Jawz, SPB, tether)
* Makes SPBs explode a little ahead of driving distance if UFO Catcher is no longer targetable
2022-12-28 23:31:46 +00:00
toaster
15587417c7 Coherency changes to special stage behaviour in anticipation of timeattack support
* Make everyone PF_NOCONTEST (but not explode) if the UFO/emerald reaches the end of its waypoint path.
    - Possibly temporary: Make the UFO/emerald go straight up at its final waypoint
* If you have PF_NOCONTEST, K_IsPlayerLosing is true
* If special stage in action and the only reason you'd be behind is your position, nobody loses
* Never eliminate last in special stage
* Time Over funny camera no longer occurs when PF_NOCONTEST but not dead
2022-12-27 22:24:18 +00:00
toaster
17dd15b998 "Special Mode" (Sealed Stars) and "Versus Mode" (bosses) are now gametypes
* The existing structs are now exclusively for handling extra data.
    * `specialStage` has been renamed to `specialstageinfo`, to reflect that it is not the sole arbiter.
    * `specialstageinfo.valid` and `bossinfo.valid` are what must be checked before grabbing data from either struct.
        * These are turned on when the gametype extra data is successfully initialised, not on map start.
            * `K_InitBossHealthBar(...)` for `bossinfo.valid`
            * `K_InitSpecialStage(void)` for `specialstageinfo.valid`
        * `K_CanChangeRules(...)` no longer checks these
    * No longer uses duplicate encore information.
* The map command (and -warp) now guesses gametype using a general `G_GuessGametypeByTOL(UINT32)` function
    * Grabs the first gametype with an overlap between the requested TOL and the gametype's TOL.
* The cool Versus-specific intro is now checked via `K_CheckBossIntro()`.
2022-12-26 23:06:24 +00:00
Sally Coolatta
82df346417 Merge branch 'master' into special-stages 2022-12-22 05:18:56 -05:00
Sally Coolatta
19fd6d12e2 Rebalance Jawz
Jawz have their old missable handling, but now deal more damage.
2022-12-20 19:53:19 -05:00
Sally Coolatta
5461abb022 Always update ufo_pieces if possible 2022-12-20 19:51:24 -05:00
Sally Coolatta
9d350c64c8 Allow SPB to attack the UFO properly 2022-12-19 04:49:53 -05:00
Sally Coolatta
7427daf7ad Jawz uses Battle's steering in Special Stages
Makes it miss the UFO's erratic movement less often
2022-12-19 02:10:11 -05:00
Sally Coolatta
630e5d4cf1 Add less speed when damaging the UFO.
Brings it back to old behavior before speed increase
2022-12-19 02:00:46 -05:00
Sally Coolatta
a7ff0afc8b Merge branch 'master' into capsules-improvement 2022-12-19 01:12:07 -05:00
Sally Coolatta
f89027e95e Fix it speeding off too fast at the start now 2022-12-18 04:45:20 -05:00
Sally Coolatta
5f005cb9a7 Bananas deal 30 damage instead of default of 10 2022-12-18 03:31:47 -05:00
Sally Coolatta
ad005f461e Increase UFO base speed 2022-12-18 03:30:57 -05:00
Sally Coolatta
a6e1731538 Merge branch 'master' into special-stages 2022-12-18 01:12:17 -05:00
Sal
60d2f250b7 Merge branch 'broly-ease' into 'master'
Use sinusoidial interpolation for Broly ki

See merge request KartKrew/Kart!811
2022-12-17 23:44:16 +00:00
Sally Coolatta
f51a913710 Add stem 2022-12-15 23:17:40 -05:00
Sally Coolatta
6b78cd2428 Adjust UFO pieces 2022-12-15 23:17:39 -05:00
Sally Coolatta
a524422071 First pass on UFO visuals 2022-12-15 23:17:38 -05:00
Sally Coolatta
2c5df772c8 Prevent possible overflow, just in case 2022-12-15 23:16:28 -05:00
Sally Coolatta
eab34651bf Sneakers deal contact damage to the UFO 2022-12-15 23:16:27 -05:00
Sally Coolatta
2ea84c2901 Add prints for winning / losing for now. 2022-12-15 23:16:27 -05:00
Sally Coolatta
e7ae65f30e Next round of UFO tweaks
- Damage depends on item thrown at it.
- UFO speeds up when getting damaged.
- Made UFO speed up more often.
- First Special Stage item column is active farther back.
- Items can't be disabled if rules can't be changed.
- Item column code with items disabled uses fractional precision.
- Fixed bug with the new item table code to support different lengths better.
- Tweaked UFO speed values again.
- UFO is no longer solid.
2022-12-15 23:16:26 -05:00
Sally Coolatta
d1b2e42560 Lots more UFO work
- UFO is able to be damaged. (No damage values set yet, so it has an obnoxious amount of health.)
- Emerald becomes collectible when fully damaged.
- Jawz can target the UFO.
- Tweaked some of the speed values.
2022-12-15 23:12:52 -05:00
Sally Coolatta
dc6caf1eb3 Implement the Special Stage item table 2022-12-15 23:12:51 -05:00
Sally Coolatta
0a733c7265 First pass on Special Stage UFO
- UFO spawns at first waypoint for TOL_SPECIAL maps
- UFO moves up the waypoints, the speed varying based on your position relative to it and your own speed.
- You are able to tether off of the UFO.
- Bugfix: PathfindThruCircuit no longer fails when reaching a one-ended waypoint.

Damage is my next project but I wanted to get this committed for now.
2022-12-15 23:06:17 -05:00
Sally Coolatta
3f2209b853 Newly added files to CMakeLists.txt 2022-12-15 19:55:29 -05:00
Sally Coolatta
38d8281a6b Merge branch 'master' into cmake-sources 2022-12-15 19:54:59 -05:00
James R
01f8fb3233 Use sinusoidial interpolation for Broly ki 2022-12-15 05:16:19 -08:00
James R
7f569fe168 Rename K_SpawnBrolyKi to Obj_SpawnBrolyKi, move to objects/broly.c, spawn MT_BROLY 2022-12-15 04:14:38 -08:00
James R
07c30a20c2 Move all sources into CMakeLists.txt
Changing Sourcefile did not automatically update the CMake
cache.
2022-11-28 21:46:43 -08:00
Sally Coolatta
81cefa2697 Gachabom initial pass
They simply use Kitchen Sink's item icon and Orbinaut's sprites.

The forward toss behavior needs fine-tuning to use more MT_BANANA style behavior.
2022-11-28 02:41:42 -05:00
Sally Coolatta
8f5e0f63e9 Evict the wall gremlin
Gremlins happened whenever P_TryMove and P_SlideMove/P_BounceMove disagreed on what an object collided with. When TryMove said you collided with a line, but P_BounceMove said that you didn't, then you'd get gremlin'd.

To fix this, P_TryMove now can edit a struct to contain information on what it collides with. P_SlideMove and P_BounceMove no longer try to detect walls on their own and now requires this result from P_TryMove. If a slide/bounce is needed without moving the object, then you'd want to use P_CheckMove to get the result.

Lua is not supported right now.
2022-11-21 16:12:53 -05:00
Sally Coolatta
32c477e619 Bananas use proper death frame 2022-11-18 01:56:45 -05:00
AJ Martinez
7e46ee1d13 Use non-damaging hitlag for Hyudoro collide 2022-11-03 04:28:02 -07:00
MascaraSnake
3b971835ee Add Lua backwards compatibility for FOF flags 2022-10-09 01:56:50 -04:00
Nev3r
5c9599f0a9 "UDMF: The whole thing" merged
See merge request STJr/SRB2!1714

Barely any RR features reimplemented
2022-10-09 01:13:37 -04:00
James R
641d3c89b9 Merge branch 'spb-debug' into 'master'
Restore SPB force-seek define as 'spbtest' cvar

See merge request KartKrew/Kart!725
2022-10-03 02:14:41 +00:00
James R
f3545a6e6f Merge remote-tracking branch 'origin/duel-stuff' 2022-10-02 19:10:22 -07:00
AJ Martinez
224bd9baf3 Don't DEVELOP guard spbtest 2022-10-02 04:12:03 -07:00
AJ Martinez
6a7c5050ad Restore SPB force-seek define as 'spbtest' cvar 2022-10-01 21:46:26 -07:00
Sally Coolatta
bf6439731c Fix Duel Bomb tumble not scaling 2022-10-01 22:28:33 -04:00
Sally Coolatta
4404d0c098 Make hyu bob a static func 2022-10-01 22:23:52 -04:00
Sally Coolatta
d19924d96d Merge branch 'master' into duel-stuff 2022-10-01 21:46:02 -04:00
James R
2ba523e45c Remove unnecessary set old_angle after Hyudoro spawn 2022-10-01 15:01:47 -07:00
James R
05dd7d7871 Merge remote-tracking branch 'origin/master' into HEAD 2022-10-01 14:45:39 -07:00
James R
cc7ceff30e Clamp Top float modulation 2022-09-29 09:35:12 -07:00