Commit graph

21802 commits

Author SHA1 Message Date
toaster
e0ac6b6044 Music credits show up in more contexts
- Drawn over the top of basically everything when enabled.
- Update song credit on
    - Menu music update (can sometimes clear it)
    - Intermission begin
    - Vote begin
    - Return to title (by clearing it)
2023-02-25 22:54:36 +00:00
AJ Martinez
6b3d6ed406 Fix incorrect visual angle changes at race start
Old ticcmds were trying to set angle, and didn't care whether the player was actually able to steer. The bug is always in your code.
2023-02-25 15:54:06 -07:00
toaster
e87d4b88ec PR_SaveProfiles: Do not attempt to save if Guest profile data hasn't been initialised yet.
- This only happens at the very end of PR_LoadProfiles, so it marks the clear point data is good.
- Resolves #451
2023-02-25 14:42:40 +00:00
toaster
ea8c583cce MISC_ChallengeDef: Move challenges grid up by 2 pixels
Helps the feng shui
2023-02-25 14:17:11 +00:00
toaster
6d0409e33d M_DrawChallenges: Adjust drawing order so all underlays are drawn before any actual content
Prevents reticule on bottom row getting slightly cut off
2023-02-25 14:16:43 +00:00
toaster
500e951e59 M_DrawChallengeTile: Faded outline for locked tiles
- Additive for hint-available
- Subtractive for completely locked
2023-02-25 13:59:22 +00:00
toaster
91fa244dec Challenges Menu: Adjust ticker behaviour for flipping panels
- Handle beginning a flip in M_ChallengesTick
- Removes set in M_ChallengesInput
- Reduces complexity of set in M_ChallengesAutoFocus
- Fixes an issue where starting the menu would have the tiles partly compacted during the intro wipe
2023-02-25 13:28:11 +00:00
AJ Martinez
3e2d7ff7e7 Correctly apply steering for easing purposes, fix sign on undershots 2023-02-25 04:52:22 -07:00
AJ Martinez
d9051b3dd1 Fix demo sync for Magicican UFO hits 2023-02-25 03:38:57 -07:00
AJ Martinez
17af9463ac Merge remote-tracking branch 'origin/master' into special-stage-magician 2023-02-25 03:23:14 -07:00
AJ Martinez
69d100ac53 We are no longer out of ziptics 2023-02-25 03:16:27 -07:00
AJ Martinez
a3831ccf48 Disable local driftend snap for testing 2023-02-25 00:55:25 -07:00
James R
afbea1ccc4 Merge branch 'clang-format-long-stuff' into 'master'
Adjustments to clang-format for long member initializer lists and long function prototypes

See merge request KartKrew/Kart!916
2023-02-25 07:46:06 +00:00
James R
67062bb920 Merge branch 'refactor-pointlimit' into 'master'
Refactor pointlimit to be delayed until next round, just like timelimit

See merge request KartKrew/Kart!966
2023-02-25 07:33:25 +00:00
James R
ea4890b4b3 Simplify bumper death code flow 2023-02-24 23:21:47 -08:00
James R
01227814b9 Refactor Battle points cap to use g_pointlimit
Fixes players leaving mid-game lowering the point limit
and instantly ending the match.

see 94c811b55
2023-02-24 23:21:47 -08:00
James R
368116bc59 Restrict HUD tracking on players
- Gametyperules include both GTR_BUMPERS and
  GTR_CLOSERPLAYERS.
- Break the Capsules or Boss modes must not be active.
2023-02-24 23:21:47 -08:00
James R
ec8e81ddb6 Always HUD track players in Duel mode 2023-02-24 23:21:47 -08:00
James R
e6da831e36 HUD target player with most points
- Replace battlewanted global with g_hiscore, keeps track
  of the current highest number of points.
- Adds HUD tracking for player(s) with the hiscore.
- Should target both players in a tie.
2023-02-24 23:21:47 -08:00
James R
9147a17bf3 Battle: change rankings priority
Highest to lowest:

1. points
2. emeralds
3. bumpers
2023-02-24 23:21:47 -08:00
James R
deac3a373f Battle: replace Karma Bomb with death
- Lose 2 points when you die.
- Respawn with 3 bumpers.
2023-02-24 23:21:47 -08:00
James R
87a6743c0f Battle: replace bumper elimination win condition with points cap
- Points cap is 3 * player count. E.g. for 3 players, the
  cap is 9 points.
- Once a player gets enough points, they win!
2023-02-24 23:21:47 -08:00
James R
8ba2155d89 Refactor timelimit and pointlimit to use "Default" option
- "Default" automatically updates the time/point limit
  according to the rules of the gametype.
- This fixes the bug where if you set timelimit at all,
  the default 2 minute limit will never be set again for
  Battle mode.
2023-02-24 23:19:07 -08:00
Oni
dba41a6de8 Merge branch 'avrecorder' into 'master'
WebM Encoder

See merge request KartKrew/Kart!908
2023-02-25 05:59:52 +00:00
Oni
8db6c02950 Merge branch 'avrecorder-libs' into 'master'
Add libwebm, libvpx, libyuv, libvorbis dependencies

See merge request KartKrew/Kart!906
2023-02-25 05:58:24 +00:00
AJ Martinez
e2cc6abacc Merge remote-tracking branch 'origin/master' into local-camera-fudge 2023-02-24 22:36:06 -07:00
Oni
e1fd7bce99 Merge branch 'challenges-continued' into 'master'
Updated Challenges Menu

See merge request KartKrew/Kart!971
2023-02-25 04:37:02 +00:00
AJ Martinez
c17f5c22ff Suspend local camera during DRIFTEND kickout 2023-02-24 21:16:53 -07:00
AJ Martinez
e3e567f303 Don't use localangle aim for bots 2023-02-24 20:38:36 -07:00
James R
cea8a10007 media: fix incorrect usage of SRB2_ASSERT on functions with side effects 2023-02-24 19:21:01 -08:00
James R
bf8d90af8c Don't use C++20 designated initializer (since we target C++17)
growl
2023-02-24 19:21:01 -08:00
James R
aefc12e40e media/options: refactor cvar factory completely, ensure correct MIN/MAX order 2023-02-24 19:21:01 -08:00
James R
02fe7ec744 media: fix undefined behavior with options initialization order
Cvar vector was not guaranteed to initialize before
options for each encoder, potentially leading to no
encoder cvars being registered.
2023-02-24 19:21:01 -08:00
James R
860693936f media/avrecorder: bias size limit by 1% to account for muxing overhead 2023-02-24 19:21:01 -08:00
James R
304e57cbf0 Add user feedback for AVRecorder
- real time monitoring of duration and esimated file size
- estimated frame rate of final video (encoder speed)
- print brief details of audio and video tracks upon
  starting recording
- print exact file size and duration once recording is
  finished
2023-02-24 19:21:01 -08:00
James R
840c11577e Implement Software mode paletted screen conversion for AVRecorder
This is only necessary since HWR2's framebuffer is window
size (monitor resolution in fullscreen mode).

Once the framebuffer is changed to be native game
resolution, this commit should be reverted and a new
interface should be implemented to directly copy the
framebuffer's pixels into video frames.
2023-02-24 19:21:01 -08:00
James R
fa0071e785 sdl/new_sound.cpp: record audio with AVRecorder 2023-02-24 19:21:01 -08:00
James R
c65f4ff893 Add AVRecorder movie mode 2023-02-24 19:21:01 -08:00
James R
79b1a8fd63 Add C game interface to construct and destroy global AVRecorder instance 2023-02-24 19:21:00 -08:00
James R
82251f6fb6 media: add core AVRecorder
Generic interface to audio and video encoders.
2023-02-24 19:21:00 -08:00
James R
654f97fa72 media: add WebM Vorbis and VP8 encoders 2023-02-24 19:21:00 -08:00
James R
60899133c1 media: add libwebm container 2023-02-24 19:21:00 -08:00
James R
b8015b4ad2 media: add libvpx VP8 encoder 2023-02-24 19:21:00 -08:00
James R
1415254131 media: add YUV420p module
Converts RGBA image to YUV420p, useful for most video
codecs.
2023-02-24 19:21:00 -08:00
James R
650264ea86 media: add libvorbis encoder 2023-02-24 19:21:00 -08:00
James R
e9f5a75d4a media: add "options" cvar abstraction 2023-02-24 19:21:00 -08:00
James R
3b5245f974 Add basic multimedia container and encoder interfaces
Adds the media subdirectory.
2023-02-24 19:21:00 -08:00
James R
8ee785bb7e cpm-ogg.cmake: fix libvorbis cross-build
Vorbis couldn't find ogg so tell it explicitly where it
is.
2023-02-24 19:20:43 -08:00
James R
61198a46e7 Add libvorbis (and ogg) dependency 2023-02-24 19:20:43 -08:00
James R
3741ab1c91 Add libwebm, libvpx, libyuv dependencies
Libvpx is built with configure script and make.
Unfortunate but the configure script is very dense and I'm
not sure if it's worth translating into CMake, since it
apparently does CPU detection for optimizations.
2023-02-24 19:20:43 -08:00