Commit graph

19562 commits

Author SHA1 Message Date
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
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
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
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
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
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
toaster
182768aa32 Unlockable sounds updated
- Use sfx_achiev when any Challenge is completed
- If picking up MT_EMBLEM *doesn't* immediately complete a challenge, use sfx_ncitem as before
    - Bugfix: this sound is played even when online, which it wasn't previously doing (because the object couldn't be destroyed and play its sound)
2023-02-25 00:33:56 +00:00
toaster
9779d6066c Challenge Grid: Introduce flipping tiles
- When a tile is selected, flips from category side to specific icon side
- Flips back when unselected
- Hold R (drift) to flip all tiles to visible side
2023-02-25 00:21:28 +00:00
toaster
339617a54e extras-challenges.c, M_UpdateChallengeGridExtraData: Be less lazy about reallocation
- Z_Calloc once, on menu load, instead of every time data changes
- Free once, on menu exit, instead of every time data changes
2023-02-24 19:10:44 +00:00
toaster
8dc4971c2a M_DrawChallengeTile: Don't draw the ? stuff if not yet unlocked 2023-02-24 19:06:45 +00:00
toaster
e65bb87ec5 M_DrawChallengeTile: Change the appearance of locked tiles
- Question mark
- If next to an unlocked tile (ie, hint mode)
    - Have ring around when highlighted, per hint ring
    - ELSE, make blink-colormapped + subtractive
2023-02-24 18:15:38 +00:00
toaster
4380876959 Challenges Grid: create dedicated struct for menu extradata
- challengegridextradata_t
- Existing UINT8 data per entry has been converted to "flags" property
- This is a tool that will help us later.
2023-02-24 17:38:08 +00:00
James R
d76a10f2fa Merge branch 'block-tripwire-abuse' into 'master'
Tripwire anti-cheese

See merge request KartKrew/Kart!968
2023-02-24 08:48:54 +00:00
AJ Martinez
9b5bd70cae Briefly lock out TRIPWIRE_BLASTER after failing a tripwire 2023-02-24 00:30:21 -07:00
AJ Martinez
2cc02f43fd Double-speed spindash at 0 rings, remove Battle spindash buffs 2023-02-23 23:49:24 -07:00
James R
917acfd16b Refactor pointlimit to be delayed until next round, like timelimit 2023-02-23 18:37:30 -08:00
toaster
9cb176de36 M_DrawCharSelectExplosions: Fix alignment of explosions for Challenges Grid 2023-02-24 00:16:39 +00:00
toaster
2164121ce6 M_DrawChallengeTile: Have different appearance for hovered over tile (current behaviour) and category information 2023-02-24 00:08:58 +00:00
Oni
ffb0596581 Merge branch 'fix-acs-includes' into 'master'
Fix ACS includes

See merge request KartKrew/Kart!963
2023-02-23 23:26:57 +00:00
Oni
5dadf48da1 Merge branch 'local-camera-fixes' into 'master'
Debounce cmd latency in local camera prediction

See merge request KartKrew/Kart!965
2023-02-23 23:25:54 +00:00
AJ Martinez
560050cf2c Remove old anglepredict debug print 2023-02-23 15:21:54 -07:00
AJ Martinez
4062447ee7 Debounce cmd latency in local camera prediction 2023-02-23 15:19:11 -07:00
Chromatian Keiske
aa76ba45db Merge branch 'fix-spb-lightning' into 'master'
Let Lightning Shield destroy SPB

Closes #427

See merge request KartKrew/Kart!933
2023-02-23 21:59:29 +00:00
toaster
2875400397 Challenges Grid: New tile borders + selection reticule
M_DrawChallenges: Adjust all offsets to new 22x22 bordered system (from 16x16)
M_DrawChallengeTile: Border, colorization, and reticule
2023-02-23 21:39:55 +00:00
toaster
97612ba26e Challenge Grid: set height to 4
- In anticipation of next steps of menu redesign
- g_game.c: Increment GD_VERSIONMINOR and burn old challenge grid data
2023-02-23 17:57:01 +00:00
toaster
d17525fac7 M_DrawChallenges: reimplement dark areas for contrast/readability
Now uses V_DrawFadeFill and MENUHINT patch directly.
2023-02-23 17:24:11 +00:00
toaster
d66a4cff81 M_DrawChallenges: Scrolling question mark background 2023-02-23 16:55:36 +00:00
toaster
f9f4d56850 m_cond.c/h: Copyright notice update
Intended to do this in my previous `unlockables-undefeatable` branch but forgot
2023-02-23 15:56:37 +00:00