Commit graph

872 commits

Author SHA1 Message Date
James R.
1cd0781648 Hyudoro: spawn ghost trail, colorized to owner, on return to owner 2023-09-17 21:56:19 -07:00
James R.
d86aaa8c0c Hyudoro: smoothly transition vertical position in hovering stack 2023-09-17 21:56:18 -07:00
James R.
3b19376848 append_hyudoro, pop_hyudoro: fix linked list handling
- Use P_SetTarget to handle reference counting properly
- Properly unlink from the start of the list
2023-09-17 21:56:18 -07:00
James R.
4c551a03ca project_hyudoro: match Z to slope of center point 2023-09-17 21:56:18 -07:00
James R.
b86ade712a MT_EMERALD: prepartion to let orbiting physics be used in a general-purpose manner
- Add Obj_SetEmeraldAwardee
  - Separate object receiving emerald from object being
    orbited
  - Obj_BeginEmeraldOrbit sets both, if the awardee isn't
    explicitly set
- Don't HUD track emeralds without emerald flag set
2023-09-17 21:56:17 -07:00
James R.
eb477365a4 MT_SHADOW: copy shadowcolor from followed object 2023-09-17 21:56:17 -07:00
James R.
fac5abf69e MT_SHADOW: move code to objects/shadow.cpp; copy whiteshadow from followed object 2023-09-17 21:56:17 -07:00
Oni
6ccaae4a0c Merge branch 'fix-inside-top-bug' into 'master'
Fix THAT ONE Garden Top bug, which is also a bug with Rocket Sneakers

Closes #610

See merge request KartKrew/Kart!1499
2023-09-17 05:22:48 +00:00
Oni
35c388c877 Merge branch 'item-pickup-restrictions' into 'master'
Anti item farming

See merge request KartKrew/Kart!1492
2023-09-17 04:55:54 +00:00
James R
e83923a365 Checkpoints: add object configuration, collision, animations
This commit handles everything except actually respawning
the player at a checkpoint.

- Checkpoints are formed by two checkpoint things (2030):
  - thingarg0 - The ID for the checkpoint. Must be the
                same for these two things, and these two
                things only. ID cannot be 0.
  - angle - The direction the player is intended to face
            after respawning. Must be the same for both
            things.

- Each checkpoint thing is a starpost with a stick and an
  orb at the end.
- By default, the sticks are lowered to horizontal and
  face toward the opposite starpost.
- Rainbow tether sparkles form a field between the two
  starposts.
- When a player crosses between these two starposts, each
  spins in the direction that the player crossed. The
  sparkles also fly out in that direction.
- Over time the sticks pivot upward.
- When the starposts are done spinning, the sticks will be
  pointing straight upward.
- Orb at the end of the stick begins flashing when the
  starpost is done spinnning.

- Players may cross multiple checkpoints.
- When this happens, any previously activated checkpoint
  will have its stick lowered back to horizontal, and its
  orb will stop flashing.
2023-09-16 21:46:22 +01:00
SteelT
52e920e874 Sealed Stars: fix UFODebugSetHealth always running
Resolves #686
2023-09-16 14:58:53 -04:00
James R.
c8cf6a4621 Obj_GardenTopThrow: reset item and shield even if Top object is missing 2023-09-14 04:03:50 -07:00
James R.
a455822790 Garden Top: track inexplicable changes in mobj pointers to avoid Top entering buggy state 2023-09-14 04:03:50 -07:00
James R.
5abd0f7a6c UFOMove: check playeringame cv_ufo_follow 2023-09-12 18:22:53 -07:00
AJ Martinez
562da2b376 Anti item farming: item box clarity 2023-09-12 16:26:40 -07:00
James R.
d9d6a0da18 Add ufo_health cheat, set UFO Catcher health 2023-09-12 03:04:51 -07:00
James R.
21e8431e1a Add ufo_follow cheat, teleport UFO Catcher to player 2023-09-12 03:04:28 -07:00
AJ Martinez
d3316ff614 Shrink growtime 2x, global darkness when using shrink 2023-09-01 20:40:52 -07:00
James R
b8b286b177 Merge branch 'softer-stumble' into 'master'
Smoothlanding leniency (resolves #602)

Closes #602

See merge request KartKrew/Kart!1428
2023-08-28 07:49:20 +00:00
James R
1db1eaedff Merge branch 'sealed-star-lose-text' into 'master'
Sealed Stars: show text on the screen for loss conditions; improved titlecard cecho centering, splitscreen support

See merge request KartKrew/Kart!1404
2023-08-28 07:48:47 +00:00
James R
c080828dde Dash Rings, Fast Fall: reset pitch too 2023-08-27 04:17:16 -07:00
Lach
ac9b96e98b Add spawn rate arg to Sneaker Panel Spawners; allow sneaker panels to scale themselves redundantly 2023-08-27 14:01:23 +10:00
AJ Martinez
b03056e4c8 Smoothlanding leniency 2023-08-26 16:05:34 -07:00
James R
5d8efb66a4 Sealed Stars: show text on the screen for loss conditions
Player dies:

    FALL OUT!

Player finishes before collecting the emerald:

     EMPTY
    HANDED?

UFO finishes before player:

    TOO LATE...
2023-08-26 21:39:18 +01:00
Sally Coolatta
f02e6dbe3c Final thing args code cleanup
- Fix the last few bugs I could find with thing args
- Move version update code
- Rename internal variables to `thing_[string]args` to make older code merge issues more obvious
2023-08-22 02:14:09 -04:00
toaster
274e72ed2d Shrink Sync
Obj_CreateShrinkPohbees: Fix potential uninitialised memory being used that could cause a differing number of pobbys to spawn between client and server, causing an (extremely recoverable but still undesired) desync
2023-08-20 22:13:53 +01:00
Oni
07aabdfdb3 Merge branch 'battle-emerald-collect' into 'master'
Emerald collection polish, animation for Battle and tweak to Sealed Star

See merge request KartKrew/Kart!1408
2023-08-20 06:10:35 +00:00
James R
7d7cc04da2 Player glows with additive exposure while emerald collection lens flare plays
For ease of programming, the emerald itself glows in
Sealed Stars.
2023-08-19 03:42:31 -07:00
James R
4857d48633 Add "twinkle" lens flare to emeralds
- Battle: plays once the orbiting collection animation
  finishes and the player's emerald flags are updated
  - Centered on the player

- Sealed Star: plays as soon as the orbiting animation
  begins
  - Centered on the emerald
2023-08-19 03:40:17 -07:00
James R
dd7f6b17dd Add fuse behavior to emerald orbit, Battle collect animation
- Battle emeralds orbit into the player's body upon
  collection
- Emerald shrinks down to a speck
- Orbiting speed increases over time
- Player's emerald flags altered at the end of the
  animation
2023-08-19 03:28:41 -07:00
James R
4bdc05824c Add Obj_BeginEmeraldOrbit, seamless transition into orbit 2023-08-19 03:24:22 -07:00
James R
fe6da4e087 Instawhip: consistently flicker on opposite frame of player flashing tics 2023-08-17 18:12:59 -07:00
James R
72a58cee3c Orbinaut and Gachabom water run if player was water running when it was thrown 2023-08-16 01:00:08 -07:00
James R
b46bfc8766 Obj_JawzThrown: chase UFO Catcher immediately
Done here so Jawz fulfills water running condition during
K_SpawnKartMissile.
2023-08-16 01:00:08 -07:00
Lach
53b48d057c Rename Lost Colony symbols to Ark Arrows and add 10 new symbol types 2023-08-15 22:47:04 +10:00
James R
2f9ae94b62 Emerald orbits player after UFO Catcher is broken 2023-08-12 21:41:21 -07:00
James R
af26848cf9 Spawn literal MT_EMERALD for UFO Catcher, remove MT_SPECIAL_UFO tracking
Side effects:

- HUD tracking icon now uses emerald's color in Sealed
  Stars.
- UFO emerald doesn't disappear when collected. This is
  WIP because the emerald is intended to orbit the player.
2023-08-12 21:41:21 -07:00
James R
1c2a2155c0 Deduplicate a bunch of emerald related code
- Add K_BattleOvertimeKiller
  - Kills an object if it is outside of the Overtime
    Barrier in Battle

- Add Obj_SpawnEmeraldSparks
  - Use this function for MT_EMERALD, MT_MONITOR and
    MT_SPECIAL_UFO

- Move thinking code for MT_EMERALD and MT_MONITOR to
  objects/monitor.c and objects/emerald.c
2023-08-12 19:34:26 -07:00
James R
6bfc217b41 DashRingLaunch: convert tumble to wipeout 2023-08-11 21:15:48 -07:00
AJ Martinez
3cb8f7c2e1 You can attack Sealed Stars, idiot 2023-08-11 02:08:46 -07:00
AJ Martinez
cd28e4d150 No Special Stage ringbox, always Record Attack ringbox 2023-08-11 01:15:34 -07:00
James R
e89ecc7a2d Merge branch 'music-technology' into 'master'
Replace music handling

See merge request KartKrew/Kart!1369
2023-08-08 22:19:36 +00:00
AJ Martinez
688ba7a705 Ring Box mapper arg 2023-08-07 22:39:11 -07:00
Oni
ced5a56db4 Merge branch 'super-flicky-tracking' into 'master'
Super Flickies now have HUD tracking and map icons

See merge request KartKrew/Kart!1363
2023-08-07 05:05:14 +00:00
James R
39f46a0f20 Replace music handling
(This commit does not compile. Sound test and tunes
command code needs to be ported after this.)

This is a big one. Here's the rundown:

The old music system was very direct, much of the time
just a proxy to the real sound API in i_sound.h.

You could change the music on command, but there wasn't
a consistent way to prevent some music from playing over
others. P_RestoreMusic is one example of needing to
address this problem. The jingles system was intended as
another solution. Furthermore, sound test (Stereo) has its
own needs.

I am removing all of that. Music handling in general is
now a very deliberate system, kind of similar to jingles.

In the new system, "tunes" are registered. The tune stores
info such as whether it should loop or fade out. Most of
the configuration is intended to be initialized only ONCE.
Tunes can be mapped to an actual music lump. They can be
remapped at any time too.

Tunes are also configured with a priority number. This
determines which tune is heard, if multiple are supposed
to be playing at a time. You can even tell a tune how long
it should play, so it's unnecessary to track this with
bespoke timers.
2023-08-06 17:31:45 -07:00
toaster
4d71172002 objects/sneaker-panel.c - include k_objects.h 2023-08-02 16:53:35 +01:00
AJ Martinez
0c45500901 Ring Box dopamine 2023-07-30 22:15:50 -07:00
VelocitOni
3b1edb903c Super Flicky trackables
Super Flickies have HUD tracking, have map tracking, and are 3x big when chasing instead of 2x
2023-07-30 00:48:59 -04:00
Oni
a18982dc55 Merge branch 'splatbooster' into 'dashrings'
Hardcode MT_SNEAKERPANEL & MT_SNEAKERPANELSPAWNER

See merge request KartKrew/Kart!1349
2023-07-29 18:28:48 +00:00
Lach
6b86cbb500 Fix compile warnings 2023-07-29 18:23:04 +10:00