Commit graph

24689 commits

Author SHA1 Message Date
James R
c87ffeba29 Loops: try to position player so hitbox edge touches loop radius
Large enough momentum will still position the player
beyond the loop radius initially. This is intentional so
that there is no jerk when entering the loop. Without
a more sophisticated algorithm to revolve asymmetrically,
this is the best I can do. The player is guaranteed to
exit at the correct position, though.
2023-10-14 21:28:11 -07:00
James R
2c1cce17b2 Loops: fix momentum cut on grounded exit 2023-10-14 21:28:11 -07:00
James R
107809d876 Loops: guarantee exit at exact intended angle 2023-10-14 21:28:11 -07:00
James R
428106c014 Loops: correct origin point over duration of loop
- Players moving into a gate with a lot of momentum would
  offset the origin point from its intended position
- Find intersection of player movement and gate
- Correct origin point between loop entry and exit by
  interpolating the difference between player position on
  entry and intersection point
2023-10-14 21:28:10 -07:00
SteelT
0cd57b7712 Fix linux crash on quit 2023-10-14 23:06:03 -04:00
James R
b9615d7225 objects/loop.c -> objects/loops.cpp 2023-10-14 19:27:31 -07:00
James R
bca2c8cb19 sdl/i_system.cpp: fix compiler errors 2023-10-14 18:49:29 -07:00
Oni
97ddaba295 Merge branch 'charge-instawhip' into 'master'
More flexible instawhip

See merge request KartKrew/Kart!1551
2023-10-15 01:40:43 +00:00
Oni
f495b9ff7d Merge branch 'splitscreen-spectator' into 'master'
Complete splitscreen spectator support (parties not tested) -- Director working, freecam working, HUD working and polished

See merge request KartKrew/Kart!1541
2023-10-15 01:40:33 +00:00
AJ Martinez
763a7e03bf Charge instawhip test fixes 3 2023-10-14 18:25:03 -07:00
AJ Martinez
17cfff1dfd More lenient whip charge tether 2023-10-14 17:42:14 -07:00
toaster
6b2e0a508d UCRP_RINGS, UCRP_RINGSEXACT
`Rings 10` - "with at least 10 Rings"
`RingsExact -14` - "with exactly -14 Rings"
(`Rings 20` will also be parsed as "with exactly -20 Rings")
2023-10-15 00:17:20 +01:00
AJ Martinez
1eab3a6838 More whip tuning 2023-10-14 16:09:21 -07:00
toaster
b2aac22856 UCRP_FINISHPERFECT
Complete a perfect round (1st every lap) to get this
2023-10-14 23:21:51 +01:00
toaster
e4a3b85adf UC_UNLOCKPERCENT: Make SECRET_COLOR option actually count Spray Cans, not unlockables directly 2023-10-14 22:36:41 +01:00
Gunla
cbbb820414 Merge branch 'darken-header' into 'master'
"DARKNESS" mapheader option for Shrink lighting

See merge request KartKrew/Kart!1549
2023-10-14 21:34:42 +00:00
Eidolon
68a8f2b274 Multithread software drawing 2023-10-14 15:26:52 -05:00
Eidolon
9e00c6ffde Only render HWR player view if literally in opengl 2023-10-14 15:26:52 -05:00
Eidolon
2d614781eb i_system.c -> cpp, disable mumble 2023-10-14 15:26:52 -05:00
Eidolon
61a021ce4a Add SPMC queue + thread pool job executor 2023-10-14 15:26:52 -05:00
Eidolon
010d917f16 Add realloc and freetags tracy zones 2023-10-14 15:26:52 -05:00
Eidolon
28f22e3f71 Add per-frame linear memory allocator 2023-10-14 15:26:52 -05:00
toaster
70c0b0503d Ancient Shrine polish
- Change the phrasing from "activate the ancient shrine" to "play a melody for the ancient shrine in"
- Add ~~Morbius~~ Mystic Melody Orb decorations
- A_FireShrink has been fixed to use mapobjectscale (and prevent dividing by 0)
2023-10-14 21:25:03 +01:00
toaster
52674c7bb2 UC_UNLOCKPERCENT
- `UnlockPercent 40 AltMusic` - "Get 40% of alternate music"
- `UnlockPercent 1 Color` - "Get 1% of Spray Cans"
- `UnlockPercent 20 Map` - "Get 20% of Courses"
- `UnlockPercent 55 Cup` - "Get 55% of Cups"
- `UnlockPercent 100` - "Get 100% completion"
    - Provide a percentage and, optionally, an Unlockable type
    - This only works for Unlockable Types where there are expected to be more than one per board
2023-10-14 18:42:27 +01:00
toaster
f1e3c547b3 M_DrawStatistics: Rename maps page to "COURSES & MEDALS" per Oni's request 2023-10-14 18:32:28 +01:00
AJ Martinez
b67aa8af4f Charge instawhip test fixups 2 2023-10-14 05:56:42 -07:00
AJ Martinez
0b341a02aa No charging whip with rocketsneakers 2023-10-13 23:41:14 -07:00
AJ Martinez
4928fec622 Reduce whip charge time 2023-10-13 22:49:06 -07:00
James R
43b67be8d5 Fix -Wsign-compare 2023-10-13 21:52:31 -07:00
AJ Martinez
2320d46de1 Increase held-input whip charge delay 2023-10-13 21:33:07 -07:00
SteelT
2ae5ca5524 Merge branch 'hanagumi-hall' into 'master'
Hardcode Hanagumi Hall

See merge request KartKrew/Kart!1550
2023-10-14 03:57:27 +00:00
AJ Martinez
4d97c4b51f Charge whip test fixups 2023-10-13 20:51:03 -07:00
AJ Martinez
371314af80 Small instawhip hitbox buff 2023-10-13 20:13:42 -07:00
AJ Martinez
17a9d39877 Fix final-ring whip charge delay edge case 2023-10-13 18:54:56 -07:00
AJ Martinez
c41b8e97da Fix instawhip charge lockout conditions 2023-10-13 18:34:34 -07:00
AJ Martinez
22d09d8a4a No eggbox whip charge 2023-10-13 18:05:40 -07:00
AJ Martinez
2a0f9da975 More instawhip tuning cleanup 2023-10-13 17:36:06 -07:00
AJ Martinez
f36e699398 Instawhip reject vfx first pass 2023-10-13 17:09:25 -07:00
toaster
eeefb7beae Prison Egg CD drop: Visual polish
- Initial launch
    - Spin faster
    - Spawn closer to the center of the Prison Egg
- Pickup animation
    - Inspired by those star panels you had to use Flight Formation's Rocket Shoot into in Heroes
- Semibright under regular conditions
2023-10-13 18:35:07 +01:00
toaster
1c4750a0a2 readcondition: Support non-fragmented parameters that can be used for the Challenge Description directly
- "DescriptionOverride" (new!)
    - Provide a full description in place of the params and this will be used
    - Any conditions that are before it will not be wiped, so you can prefix it if you need to
    - Can be used with any other set of Conditions
        - `Condition1 = DescriptionOverride Complete the sentence: "ring racers (???)"`
- "Password"
    - Now supports passwords that contain spaces
        - `Condition1 = Password race as a ring!`
- "WetPlayer"
    - Now supports liquids that contain spaces
    - HOWEVER, it comes with the following caveats as part of the change:
        - The strictness level must be provided first.
        - You can't leave the strictness out. The previous default behaviour now requires STANDARD to be explicitly written.
        - `Condition1 = WetPlayer Standard Mega Mack` can be used, now.
2023-10-13 16:25:05 +01:00
Lach
58a6a85b04 Hardcode Hanagumi Hall 2023-10-13 23:48:24 +11:00
AJ Martinez
85641036ea Clean up whip/guard timing defs 2023-10-13 03:19:24 -07:00
AJ Martinez
8fced1890b Fix up guard conditions 2023-10-13 03:16:54 -07:00
AJ Martinez
6ae427447c No stored whip after Gachabom rebound collect 2023-10-13 03:03:23 -07:00
AJ Martinez
3e5a5baf50 Charge instawhip QoL 2023-10-13 02:48:28 -07:00
AJ Martinez
a9ec1cea68 WIP: Instawhip charge input 2023-10-13 02:23:28 -07:00
James R
bdf2e87cb8 renderhitbox: fix raster errors at screen edge 2023-10-13 01:33:09 -07:00
AJ Martinez
680c063e3a "DARKNESS" mapheader option for Shrink lighting 2023-10-12 21:07:04 -07:00
toaster
7d5f0ea3ba M_DrawChallengeTile: Updates
- Add SECRET_ALTMUSIC tile associations
- Fix association for MISC
2023-10-12 21:15:57 +01:00
toaster
f8de2cfc83 UC_PRISONEGGCD
Gamedata minor version was updated again.
(God this was a weirdly big amount of work and it's not even polished.)
- Condition1 = PrisonEggCD [Level that has to be unlocked]
- Approximately every 30 Prison Eggs destroyed, you get a shot at a Prison Egg Drop.
    - The only Prison Egg Drop implemented right now is an Alt Music CD.
    - Your [Wild Prize] is guaranteed to be selected only from conditions associated with levels that are unlocked!
- Only spawns in Grand Prix Bonus Rounds, for netsync and game design.
- The number is fuzzed. If you start the level with 0 Prison Eggs to destroy, it selects a random number of Prisons in the level to bust.
- If you miss the pickup (such as into a deathpit), you'll get another shot in the immediate next Bonus Round you play.

Also:
- The number of Chao Keys you start your gamedata with is now part of the header file, not buried in the wiping function.
- Removed the ACTUAL last object definition vestiges of the Emerald Hunt gamemode.
2023-10-12 21:12:08 +01:00