Commit graph

24685 commits

Author SHA1 Message Date
James R.
9847acc49c Merge branch 'robust-sigcheck' into 'master'
Don't skip signature check steps if server is lagging (resolves #715)

Closes #715

See merge request KartKrew/Kart!1554
2023-10-18 01:02:47 +00:00
toaster
065fc0b89c UCRP_RETURNMARKTOSENDER: Don't fire checkthisframe if it's already true 2023-10-18 01:57:57 +01:00
toaster
a7940684f6 UCRP_WHIPHYUU
Insta-Whip another racer while you yourself are invisible from Hyuudoro, it's shrimple
Also updates the phrasing used for UCRP_TRIPWIREHYUU to match ("afflicted by Hyudoro")
2023-10-18 01:18:34 +01:00
toaster
1c887a7041 UCRP_LANDMINEDUNK: The official parsing is "Land Mine" 2023-10-18 00:45:26 +01:00
toaster
edd3e8bbea UCRP_PODIUMNOCONTINUES
Fires if no continues have been used (as tracked on the Ceremony Ranking screen)
2023-10-18 00:42:59 +01:00
toaster
813ad52b15 Guarantee UCRP_PODIUMxx events only occour ig grandprixinfo.gp is true
Currently podium is GP only, but that won't be forever
2023-10-18 00:42:02 +01:00
toaster
6dfef24534 P_ArchiveMisc: Guarantee that loading a Grand Prix Backup counts as using a continue 2023-10-18 00:38:20 +01:00
toaster
417afd0ac9 UCRP_FALLOFF, UCRP_TOUCHOFFROAD, UCRP_TOUCHSNEAKERPANEL, UCRP_RINGDEBT: Don't flag if it happens to the player after they exit
UCRP_FALLOFF, // Fall off (or don't)
 UCRP_TOUCHOFFROAD, // Touch offroad (or don't)
 UCRP_TOUCHSNEAKERPANEL, // Either touch sneaker panel (or don't)
 UCRP_RINGDEBT, // Go into debt (or don't)
2023-10-18 00:27:44 +01:00
toaster
acdb7fd869 UCRP_CHASEDBYSPB
True if the player has PF_RINGLOCK (SPB on the HUD). Probably the cleanest implementation.
Stacks well with "finish in 1st".
2023-10-18 00:10:40 +01:00
toaster
a746c4f33f SPB-related conditions: Make hyphenation consistent 2023-10-18 00:07:30 +01:00
toaster
acad8754c8 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into break-through-them-all 2023-10-17 23:32:08 +01:00
toaster
e9d4cc2f3a UCRP_TRACKHAZARD, UCRP_FAULTED: Use latestlap instead of current lap when determining elegibility 2023-10-17 23:25:26 +01:00
toaster
fa2e54dd13 UCRP_FAULTED
- `Condition1 = Faulted Yes`
    - `FAULT during POSITION`
    - for example, combine with "& finish in 1st"
- `Condition1 = Faulted No`
    - `don't FAULT during POSITION`
2023-10-17 23:21:47 +01:00
toaster
90a65220b2 UCRP_FALLOFF, UCRP_TOUCHOFFROAD, UCRP_TOUCHSNEAKERPANEL, UCRP_RINGDEBT: Only evaluate the "false" case if the player is exiting or has PF_NOCONTEST 2023-10-17 23:20:16 +01:00
Sally Coolatta
5d9e813c5e Fixes for titlemaps
- Removed all old dev title screen remainders that were interfering with titlemaps.
- F_VersionDrawer displays on all title screen types
- SA2 intro sound only plays whenever there's am actual title card to show (before it checked for not GS_CEREMONY?)
- Removed redundant customversionstring check in menus (F_VersionDrawer already handles customversionstring)
2023-10-17 17:56:10 -04:00
toaster
35ca8e6191 UCRP_SPEEDOMETER
Provide a percentage between 100 and 999 inclusive.
Reach that speed on the speedometer at any point during the race to achieve the condition.
2023-10-17 22:53:40 +01:00
toaster
9e1aec4298 UCRP_RETURNMARKTOSENDER
"when cursed with Eggmark, blow up the racer responsible"
Just a simple condition. Either it happens or it doesn't.
MT_SPBEXPLOSION now tracks whether it was made by KITEM_EGGMAN or KITEM_SPB, too!
2023-10-17 22:25:47 +01:00
toaster
54137ad468 Eggmark fixes
- Update eggmanblame on K_EggmanTransfer
    - Currently blames the bumper, but could blame the source's eggmanblame if we wanted to change that
- Use K_FlipFromObject for correct reverse gravity placement
2023-10-17 22:19:16 +01:00
toaster
3e494a342c UCRP_GACHABOMMISER
Break a target (Prison Egg/UFO) using exactly one Gachabom again and again
Becomes invalid if an Insta-Whip collides with a target, or you throw two at the same time
2023-10-17 21:09:22 +01:00
toaster
01b97cb829 Update UCRP_UFOATTACKMETHOD into UCRP_TARGETATTACKMETHOD
Supports Prison Eggs and Gachabom now as well.
For the original behaviour, combine with the new UCRP_SMASHUFO.
2023-10-17 21:03:20 +01:00
toaster
b91823540b UC_PRISONEGGCD: Don't use K_FlipFromObject, this was heinously incorrect 2023-10-17 20:57:19 +01:00
toaster
3836cfddcb UCRP_UFOATTACKMETHOD: Only check roundconditions the frame the UFO is destroyed, not hit 2023-10-17 12:49:50 +01:00
AJ Martinez
38aa1f9d6b Waypoint flag to block lightsnake 2023-10-17 03:54:23 -07:00
Oni
59661f33a7 Merge branch 'ringbox-mace' into 'master'
Fix random items on maces stuck as Ring Box (resolves #712)

Closes #712

See merge request KartKrew/Kart!1555
2023-10-17 09:29:27 +00:00
Oni
005d05ac15 Merge branch 'threaded-software' into 'master'
Threaded software

See merge request KartKrew/Kart!1553
2023-10-17 09:28:59 +00:00
toaster
d11fe78e90 UCRP_UFOATTACKMETHOD
`Condition1 = UfoAttackMethod [type]`
    - "smash a UFO Catcher using only [type]"
        - Combine with `Prefix_SealedStar` or `Prefix_IsMap [special stage stage]`
        - Shows up as "???"
    - Types supported:
        - `Boost` - "boost power" (sneakers)
        - `Whip` - "Insta-Whip"
        - `Banana` - "Bananas"
        - `Orbinaut`- "Orbinauts"
        - `Jawz` - "Jawz"
        - `SPB` - "Self Propelled Bombs"
    - Other types could be added on request, these were just the easy ones

In addition, the prototype for P_MobjWasRemoved was moved to `p_mobj.h`.
It's EXTREMELY important that we're able to safely check mobj pointers anywhere a mobj_t is possible to observe, without including the full `p_local.h`...
2023-10-17 01:07:03 +01:00
James R.
63bda6076f Merge branch 'new-bans' into 'master'
New bans

See merge request KartKrew/Kart!1544
2023-10-16 23:50:51 +00:00
AJ Martinez
f9f5c74244 New bans 2023-10-16 23:50:50 +00:00
Eidolon
183ca15989 Fix parallel slope plane calculations 2023-10-16 17:09:35 -05:00
toaster
f0d1813752 UCRP_TRACKHAZARD: Optimise implementation to not be 100 booleans
Much like player->availabilities, use a set of bits on UINT8.
2023-10-16 18:04:23 +01:00
toaster
d4e3d8433d UCRP_TRACKHAZARD
A series of 100 booleans on the roundconditions struct, one per possible lap.
Allows for a full suite of track hazard touching conditions - see the following examples.

- `Condition1 = Prefix_IsMap RR_MOTOBUGMOTORWAY
- `Condition1 = TrackHazard No`
- `Condition1 = IsMap RR_MOTOBUGMOTORWAY`
    - "MOTOBUG MOTORWAY: Don't touch any track hazard"
- `Condition1 = Prefix_GrandPrix`
- `Condition1 = IsMap RR_HARDBOILEDSTADIUM`
- `Condition1 = TrackHazard Yes`
- `Condition1 = And`
- `Condition1 = FinishPlace 1`
    - "GRAND PRIX: On HARD-BOILED STADIUM, touch a track hazard every lap & finish in 1st"
- `Condition1 = Prefix IsMap RR_DEATHEGG`
- `Condition1 = Trackhazard No 8`
    - "DEATH EGG ZONE: Don't touch any track hazard on lap 8"
- `Condition1 = Prefix_IsMap RR_SPEEDHIGHWAY
- `Condition1 = TrackHazard No Final`
    - "SPEED HIGHWAY: Don't touch any track hazard on the final lap"
2023-10-16 17:09:12 +01:00
toaster
3c5e03428a UCRP_HITMIDAIR: Fix typo for object type check 2023-10-16 15:48:08 +01:00
Eidolon
25ca00c553 wrong argument to SetSlopePlaneVectors 2023-10-15 20:55:19 -05:00
AJ Martinez
53a001da08 Fix visual type desync on respawned battle items 2023-10-15 18:03:53 -07:00
Eidolon
ecbc62f667 Slightly optimize tilted translucent spans 2023-10-15 19:33:05 -05:00
Eidolon
33f959628e Calculate slope vectors per tilted ripple span 2023-10-15 19:32:18 -05:00
AJ Martinez
8023b7c1b0 Change perma ringbox flag to dodge mace flags 2023-10-15 16:20:26 -07:00
AJ Martinez
3c84d82d7f Robust sigchecks: actually stage the entire diff 2023-10-15 14:51:06 -07:00
AJ Martinez
dcaa1c3902 Don't skip signature check steps if server is lagging 2023-10-15 14:38:55 -07:00
Oni
2e1983dd7f Merge branch 'fuck-you-loops' into 'master'
Fix inaccuracies on loop exit + smoother entry

See merge request KartKrew/Kart!1552
2023-10-15 21:36:54 +00:00
Eidolon
89f8c7d15b Fix mac build 2023-10-15 15:12:42 -05:00
Oni
1e6ab6107e Merge branch 'fix-bbox-col-raster' into 'master'
Fix renderhitbox in Software renderer

See merge request KartKrew/Kart!1548
2023-10-15 15:10:55 +00:00
Oni
f94b693dcb Merge branch 'koopa-beach' into 'master'
Bots don't spindash in weak offroad

See merge request KartKrew/Kart!1546
2023-10-15 08:20:31 +00:00
James R
27609b008f Loops: triple exit spring grease 2023-10-14 21:28:12 -07:00
James R
905592003d Add K_SetTireGrease, spawn spring grease VFX and set tiregrease 2023-10-14 21:28:11 -07:00
James R
0baad7b863 Loops: lag camera correctly 2023-10-14 21:28:11 -07:00
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