Commit graph

25937 commits

Author SHA1 Message Date
Sally Coolatta
d03eb9e9cd Add batching support to OGL brightmaps 2024-01-17 12:05:12 -08:00
James R.
e4a2461faf WIP - brightmaps in opengl, artifacts may occur, batching is super broken 2024-01-17 12:05:11 -08:00
James R
87db195481 R_DrawColumnTemplate: minor optimization for non-power-of-2 textures
This is very likely a platform specific optimization. The
optimization is about a very hot std::clamp. However, the
code is near functionally identical to the libstdc++
implementation, aside from being completely inlined.

I can't say why my version is faster, since I haven't read
any assembly output. More details in source code comments.
2024-01-17 11:35:59 -08:00
Sally Coolatta
0f695e203f Use old faster luminance calc for HWR blends
Not accurate to Software's look but can't be assed to fuck around with legacy HWR to implement this as shader.
2024-01-17 13:27:32 -05:00
James R
dffc48849c Replay consistency: sync bumper count correctly 2024-01-17 03:00:20 -08:00
Oni
3aace4f777 Merge branch 'battle-whis-wednesday' into 'master'
Battle: Monitor drops, Overtime elimination, point cap

See merge request KartKrew/Kart!1851
2024-01-17 08:44:32 +00:00
James R
97e5d7404a Battle: final KO gives the winner 100 points 2024-01-17 00:22:22 -08:00
James R
54cf037eff Battle: point limit cap 20 -> 16 2024-01-17 00:22:22 -08:00
James R
9e4b716ed1 Battle: any death is an elimination while Overtime Barrier is tangible 2024-01-17 00:22:22 -08:00
James R
91fdba650f Monitors: for 6 seconds, dropped items can only be picked up by the player who destroyed the monitor
- Paper items colorize to player color
  - Color flickers back to normal 1 second before the item
    can be picked up by anyone
- If a player who can't pick it up steps on the paper
  item, that player becomes shadowed
2024-01-17 00:22:22 -08:00
AJ Martinez
7b2c5276c6 Add opcodes for HUD message system 2024-01-17 00:46:22 -07:00
James R
9cd426dd3d Battle: last player standing gets 100 points 2024-01-16 23:11:46 -08:00
Oni
47faa36887 Merge branch 'battle-fuckers-monday' into 'master'
Battle Fuckers Monday Tuesday

Closes #930, #932, #926, #929, #939, #940, #933, #931, #934, and #936

See merge request KartKrew/Kart!1845
2024-01-17 06:38:34 +00:00
James R
1aab476b00 Battle: base Overtime Laser height on camera position instead of player object position 2024-01-16 22:36:16 -08:00
James R
ecb20e8f64 Battle: put sting damage condition on zero bumpers instead of zero spheres 2024-01-16 22:36:16 -08:00
James R
54e4dd5cd8 Battle UFO: do not suck player who is spinning out 2024-01-16 22:36:16 -08:00
James R
ecf70c6eea Battle UFO: polish drops
- Whip
  - Player gets power-up instantly, no paper item spawned
- Items
  - Put a small delay on the drop appearing
  - Adjusted drop spawn position so it spawns right under
    the UFO
2024-01-16 22:36:15 -08:00
James R
3724dd542b Battle: do not reduce hitlag for Insta-Whip (DMG_WHUMBLE), prevent double-damage window 2024-01-16 22:36:15 -08:00
James R
e3b21ce840 Invincibility: S-Monitor duration does not add extra boost onto top speed 2024-01-16 22:36:15 -08:00
Oni
1e916dee77 Merge branch 'debug-challenges' into 'master'
DEVELOP: add debugchallenges cheat

See merge request KartKrew/Kart!1822
2024-01-17 05:33:23 +00:00
James R
acee24939f Fix Guard vs Guard clash 2024-01-16 21:32:53 -08:00
James R
42d79efa27 Insta-Whip charging: do not drain spheres while player is in damage state 2024-01-16 21:32:53 -08:00
James R
94aea179ed E-Braking on ground: cancels Insta-Whip
- Lets you keep your Whip while fast-falling.
- Make sure Insta-Whip can't interrupt Guard and
  vice-versa.
2024-01-16 21:32:53 -08:00
Oni
9d0b29b73d Merge branch 'fix-bufo-spawn' into 'master'
Fix Battle UFO spawn not cycling; fix Super Flicky minimap crash

Closes #938

See merge request KartKrew/Kart!1844
2024-01-17 05:31:19 +00:00
Oni
4786d9f224 Merge branch 'png-cxx-pointer-casts' into 'master'
Fix several Clang compile warnings

Closes #894

See merge request KartKrew/Kart!1846
2024-01-17 05:23:26 +00:00
Oni
bd72cbaeba Merge branch 'fix-race-end-camera' into 'master'
Tally: only reset camera if viewpoint was changed

See merge request KartKrew/Kart!1841
2024-01-17 05:19:31 +00:00
Oni
a86f8a1508 Merge branch 'sealed-star-exit-fade' into 'master'
Sealed Star: fade out music near the finish line

Closes #622

See merge request KartKrew/Kart!1842
2024-01-17 04:56:51 +00:00
James R
3030f7c65b srb2::Draw::TextElement: add color codes to parsing
- <white>
- <purple>
- <yellow>
- <green>
- <blue>
- <red>
- <gray>
- <orange>
- <sky>
- <lavender>
- <gold>
- <aqua>
- <magenta>
- <pink>
- <brown>
- <tan>
2024-01-16 20:10:24 -08:00
Oni
379cb55e86 Merge branch 'automedal-timing-adjustment' into 'master'
Round times, add best * 110% as another gold time

See merge request KartKrew/Kart!1797
2024-01-17 01:36:30 +00:00
Sally Coolatta
3b755b7153 Reorganize P_DoPlayerExit
I tried to fix the GP ending weirdness a long time ago by recalculating all player positions at time of exit... and then K_IsPlayerLosing gets to a variable before the recalculation and a bunch of crap uses it and completely undoes anything this might've fixed. DON'T DO THAT!
2024-01-16 20:08:37 -05:00
Sally Coolatta
e22ed7fd1c Don't give 1 pwrlv for free play 2024-01-16 19:30:55 -05:00
James R
ae04a9be27 srb2::Dialogue::NewText: use string parsing 2024-01-16 06:34:58 -08:00
James R
cef3b6d841 srb2::Dialogue::NewText: free word-wrapped string 2024-01-16 06:31:56 -08:00
James R
bfa6e4f401 srb2::Draw::TextElement: add parse method
- Parse and translate special characters
- Currently supported:
  - Button codes
    - <up>
    - <down>
    - <right>
    - <left>
    - <r>
    - <l>
    - <start>
    - <a>
    - <b>
    - <c>
    - <x>
    - <y>
    - <z>
  - All button codes can be suffixed with '_pressed' or
    '_animated'
    - E.g. <b_pressed> or <start_animated>
2024-01-16 06:21:13 -08:00
James R
0d765d9fd1 srb2::Draw: TextElement enhancements
- Add default constructor
- Add text method with no arguments: returns TextElement
  that inherits font and flags from drawer
2024-01-16 06:20:22 -08:00
James R
1d1d1d8a27 srb2::Draw: add missing small_button method 2024-01-16 05:20:17 -08:00
James R
0e4222ae99 String drawing: add support for button character codes
- Bits 5 and 6 define the button state
  - 0xB0 - unpressed (neutral state)
  - 0xA0 - animating between pressed and unpressed
  - 0X90 - pressed down
- Bits 1 - 4 define the button type
  - 0x00 - up
  - 0x01 - down
  - 0x02 - right
  - 0x03 - left
  - 0x07 - R shoulder
  - 0x08 - L shoulder
  - 0x09 - start
  - 0x0A - A
  - 0x0B - B
  - 0x0C - C
  - 0x0D - X
  - 0x0E - Y
  - 0x0F - Z
- Button offsets and dimensions tweaked to my own taste
2024-01-16 05:19:36 -08:00
James R
0d07b83896 String drawing: fix width calculation not accounting for string dance character code 2024-01-16 05:12:12 -08:00
James R
a1e4479f5d String drawing: remove support for transparency character codes
- Frees up 5-7 bit range when 8th bit is set
2024-01-16 05:03:58 -08:00
Eidolon
bdc0795704 Fix several Clang compile warnings 2024-01-16 06:11:43 -05:00
James R.
6259c30a2e Merge branch 'fix-gachatarget-hitbox' into 'master'
Fix gachatarget hitbox size

See merge request KartKrew/Kart!1839
2024-01-16 03:52:05 +00:00
James R
9d28967206 Battle UFO: fix spawn ordering logic
If the mapthings went in reverse order, so mapthing #1 had
a higher ID than mapthing #2, the spawn ordering logic
would get stuck because it wanted mapthing #1 to have
a lower ID than mapthing #2.

The root of the bug is that the previously used spawners
ID was not totally ignored. Now it is.
2024-01-15 19:41:49 -08:00
James R
bea26879ea battleufotest: HUD tracking for Battle UFO spawners, show ID number 2024-01-15 18:24:17 -08:00
James R
c3748ff91a Fix minimap crash if Super Flicky owner spectates 2024-01-15 18:11:06 -08:00
AJ Martinez
9b224356fe Add persistent objective messages via K_AddMessage, expose to ACS 2024-01-15 17:49:10 -07:00
James R
92c451538a Special Stages: fade out music near the finish line 2024-01-15 16:30:12 -08:00
James R
1a0b927cf2 Add Music_LevelVolume, Music_ResetLevelVolume: change music volume from gameplay contexts
- Tunes opt into using this volume by setting
  Tune::use_level_volume to true
2024-01-15 16:29:01 -08:00
James R
d8e9effbbf Tally: only reset camera if viewpoint was changed 2024-01-15 15:01:04 -08:00
Oni
14d6477aad Merge branch 'orbital-whumble' into 'master'
Orbital items only inflict stumble

See merge request KartKrew/Kart!1840
2024-01-15 08:11:05 +00:00
AJ Martinez
5dd4733309 Fix inverted Grow check in orbital stumble 2024-01-14 23:26:05 -07:00