Commit graph

123 commits

Author SHA1 Message Date
Sally Coolatta
abde576c58 Enforce const in bot ticcmds
There were a few remaining cases of bot ticcmd generation editing player structures directly. Fix all of this and make as much of it pass const player pointers so this physically can't be allowed to happen ever again. Appears to improve bot sync in netgames & demos bot support, but I have not tested extensively.
2023-12-22 23:28:08 -05:00
James R
c0b8d4498a Add justbumped exception to metal SA2 crates 2023-12-22 05:40:32 -08:00
toaster
97f39abef3 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into tutorial-pass 2023-12-09 17:33:47 +00:00
James R
b68947e636 Hardcode Endless Mine faucet / rain
- Note: rain does not use the weather system
2023-12-08 17:42:17 -08:00
James R
69541b9422 Hardcode bustable rocks -- Angel Island + Endless Mine 2023-12-08 17:42:17 -08:00
toaster
c34b5f6034 SPB Capsule improvements
- Destroy all SPB Capsules in the stage when an SPB becomes relevant
    - When an SPB is put in a player's roulette
    - When an SPB is thrown
        - Automatically happens when SPB Capsule is touched
- Don't respawn a popped SPB Capsule while an SPB is out
2023-12-08 22:24:38 +00:00
Oni
49b09a3cf5 Merge branch 'hardcode-lost-colony' into 'master'
Hardcode Lost Colony Fuel Canisters

See merge request KartKrew/Kart!1681
2023-12-08 04:45:59 +00:00
James R
5cba9d63b3 Hardcode Lost Colony Fuel Canisters 2023-12-07 19:19:02 -08:00
James R
02bacc9a6f Battle UFOs, Checkpoints: use srb2::MobjList instead of standard containers
- Net synced; new mechanism in p_link.cpp to automatically
  manage mobj pointers at the global scope
2023-12-03 10:44:11 -08:00
James R
3386b1a37c Hardcode Lavender Shrine Classic spears 2023-11-28 07:18:37 -08:00
James R
c5968ad3ad Hardcode Ice Cap Blocks 2023-11-27 05:07:30 -08:00
James R
aec21cd114 Hardcode SA2 Crates 2023-11-27 05:07:30 -08:00
James R
401321e310 Hardcode Ivo Balls 2023-11-25 05:35:06 -08:00
James R
9ff174dd06 Hardcode Frozen Production Frost Throwers (ceiling and horizontal versions) 2023-11-22 23:53:14 -08:00
James R
4b3ea7460b Hardcode Gust Planet seasaws
- Add states
  - MT_GPZ_SEASAW_SPAWN
  - MT_GPZ_SEASAW_HITBOX
  - SPR_GPPS
  - SPR_GPZS

- Add objects API
  - Obj_GPZSeasawSpawn
  - Obj_GPZSeasawThink
  - Obj_GPZSeasawCollide

- objects/gpzseasaw.c
  - Gust Planet seasaw behavior
2023-11-21 01:07:17 -08:00
Oni
c24f10a7e7 Merge branch 'fix-bungee-softlock' into 'master'
Add Obj_EndBungee, end bungee state when P_ResetPlayer and when player is damaged in any way

Closes #760

See merge request KartKrew/Kart!1641
2023-11-17 09:06:06 +00:00
James R
686f2e2e9d Add Obj_EndBungee, end bungee state when P_ResetPlayer and when player is damaged in any way 2023-11-17 00:49:26 -08:00
James R
1df4094c65 Mega Barrier for Barrier power-up -- just a visual object 2023-11-16 21:08:30 -08:00
Oni
a51b889444 Merge branch 'fix-super-flicky-whip' into 'master'
Fix Super Flickys not being whippable

See merge request KartKrew/Kart!1627
2023-11-15 21:26:31 +00:00
James R
b1c0f6647e Obj_IsSuperFlickyWhippable: pass target
- Old behavior: if flicky is chasing itself. What? Why did
  I write this??
2023-11-14 21:01:53 -08:00
AJ Martinez
d54d2f6d04 Merge remote-tracking branch 'origin/master' into catholic-vfx 2023-11-14 21:47:51 -07:00
AJ Martinez
aad6795ba7 Trickpanels: I don't even know who I am anymore 2023-11-13 16:41:09 -07:00
AJ Martinez
041d7660ae Charge minimum viable visuals (plus future frame/obj setup) 2023-11-12 23:32:59 -07:00
toaster
9e49f761b0 Prison Egg polish: Spawn three Followers on hit
- Selected from the mapheader's Audience list
    - Since most Prison Break maps don't have Audience lists set, you'll be seeing a lot of Flicky/Motobuddy/Chao for now
- Yes, these will disappear in deathpits like in Sky Chase
- Intentionally did not do this for the CD Special Stage UFO
2023-11-12 22:43:07 +00:00
AJ Martinez
e20218a9d6 Trick Charge VFX WIP 2023-11-12 03:38:17 -07:00
AJ Martinez
f36e699398 Instawhip reject vfx first pass 2023-10-13 17:09:25 -07:00
Lat
dc6bb1bfa9 solve conflicts and update to master 2023-10-07 11:15:47 +02:00
Sally Coolatta
643cf46b61 Ball switch 2023-09-26 08:37:10 -04:00
Lat
a710237fde Hardcode the remainder of the WPZ objects 2023-09-23 17:05:21 +02:00
Lat
df31c65ebb Hardcode these godforsaken turbines 2023-09-23 16:32:32 +02:00
Lat
12b80b392b hardcode ring vaccums 2023-09-23 11:26:56 +02:00
Lat
ca90d27e30 Hardcode DLZ Hover thingies + rocket fixes 2023-09-23 11:00:00 +02:00
Lat
a565d923c0 Hardcode these cursed seasaws 2023-09-22 18:14:38 +02:00
Lat
fb91a9a0f7 DLZ rocket hardcode 2023-09-21 15:42:10 +02:00
Lat
5a6ecd051a Fix conflict in cmakelist w/ master merge 2023-09-20 17:17:33 +02:00
Lat
42cbb93ca2 Hardcode Leaf Storm Eggman balls 2023-09-20 16:33:07 +02:00
Lat
ea8e871176 LSZ bungee: first pass 2023-09-20 14:42:39 +02:00
Lat
908bbba4ec Rideroid: second pass 2023-09-18 18:14:00 +02:00
Lat
aef958d7ed Rideroid: first pass 2023-09-18 16:54:16 +02:00
James R.
543fd03b11 Add Obj_EmeraldCanHUDTrack to handle MT_EMERALD being used for Hyudoro orbiting 2023-09-18 04:21:10 -07:00
James R.
5c1332f977 Add R_CustomShadowZ, Obj_FakeShadowZ, Obj_HyudoroShadowZ; let Hyudoro shadow float while patrolling 2023-09-17 21:56:19 -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.
fac5abf69e MT_SHADOW: move code to objects/shadow.cpp; copy whiteshadow from followed object 2023-09-17 21:56:17 -07: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
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
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
72a58cee3c Orbinaut and Gachabom water run if player was water running when it was thrown 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