Commit graph

520 commits

Author SHA1 Message Date
toaster
b09a9b40c4 Account for Hidden Palace-like replacement levels in the round queue and ranking systems
- When a nextmapoverride is in play, do not insert the just-played map into the GP Rank
- Put all the behaviour that determines which Round icon to show in exactly one places

Also, fix a bug where it would show the skin realname for a spectating player's tally instead of the ROUND text.
2023-11-19 18:01:02 +00:00
toaster
a55803b690 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-18 18:00:05 +00:00
James R
7d7110ead7 Let devmode work in replays, let teleport commands work in replay freecam 2023-11-16 18:45:04 -08:00
toaster
f6214fd8e9 Tutorial dialogue: Synergy wth titlecard
- Draw in front of the titlecard
- Don't tick while levelloading and not leveltime, so prevent instantly appearing
2023-11-13 21:34:26 +00:00
toaster
e060e9dadc More consistent handling of special event round icons
- Gametypes have "GPpic" and "GPpicMini" parameters
- These are shown in contexts where a Round Number would be shown in GP, but an eventmode is under way.
- Instead of having different rules to show up on the pause menu, titlecard, and tally/intermission...
    - Pause Menu Roundqueue, Tally, and Intermission have all been aligned to the same rules.
    - As long as the titlecard is standard, it will show the GP Pic per those rules. (GTR_SPECIALSTART and GTR_BOSS still have their unique behaviour here)
2023-10-25 20:34:40 +01:00
toaster
b87f57440c Versus warning: Revert usage of V_REVERSESUBTRACT to V_SUBTRACT 2023-10-25 11:24:51 +01:00
toaster
5f10f4de0f Versus Mode intro: Two different warning patches scrolling opposite directions
Also repairs capitalisation on the opponent's subtitle, and moves everything down very slightly.
2023-10-24 23:10:17 +01:00
James R
ecc324e4d8 HUD: fix server splash alignment in non-green resolutions 2023-10-17 19:18:00 -07:00
James R
1f3a9a4758 Splitscreen Director HUD; replace freecam HUD 2023-10-09 18:53:55 -07:00
James R
fa89576f34 Move freecam state to camera_t, lets splitscreen players use freecam independently of each other 2023-10-08 14:26:21 -07:00
James R.
454850d349 ST_CalculateFadeIn: do not interpolate at very beginning or end of fade 2023-10-03 21:28:34 -07:00
James R.
7b3010c93d Fix many instances of splitscreen view number if there are duplicate displayplayers
- Avoid iterating displayplayers to find view number and
  prefer R_GetViewNumber.
- Iterate over all matching displayplayers if necessary,
  instead of stopping at the first match.
2023-10-03 21:28:33 -07:00
James R.
3cdfa86b11 Make timing of level fade-in consistent, relative to title card 2023-09-12 05:19:27 -07:00
Oni
9e283a4993 Merge branch 'swag-fade-returns' into 'master'
Move V_DrawCustomFadeScreen to D_Display

See merge request KartKrew/Kart!1480
2023-09-12 04:46:47 +00:00
James R.
afeba341c0 Remove translucenthud cvar, let V_HUDTRANS fade in like V_SLIDEIN
- V_HUDTRANS does not fade if combined with V_SLIDEIN
  (since sliding elements are not supposed to fade).
- If not V_SPLITSCREEN, uses most opaque fade value among
  splitscreen players (since Tally will fade back out for
  specific players).
2023-09-11 18:30:40 -07:00
James R.
653db93022 V_AdjustXYWithSnap: refactor V_SLIDEIN, separate timer calculation, fix interpolation
- Move timer calculation to ST_CalculateFadeIn, cache in
  st_fadein
- Fix interpolation by using rendertimefrac instead of
  renderdeltatics
2023-09-11 18:22:29 -07:00
toaster
bd5a34022f Move V-DrawCustomFadeScreen to D_Display
TODO: This is steenky.

Essentially immediately tint the geometry and players the latest possible place it is safe to do so, with the magic of the software-exclusive fade.
This would ideally be handled with a shader so that GL and any future hwr2-native renderer can get in on the action too.
2023-09-11 09:20:00 +01:00
James R
4f60d046ba V_DrawTitleCardString, V_TitleCardStringWidth: add 4P font support 2023-08-26 21:39:18 +01:00
VelocitOni
2eef398381 Merge branch 'master' into dialogue-2 2023-08-25 22:46:14 -04:00
toaster
92bd71496e VC review
- Continue showing up on main in-game pause menu
- Flip to top half of screen, to avoid conflict with Round Queue
- Show over most UI, including menu
2023-08-25 21:41:15 +01:00
Sally Coolatta
c2c46aca58 Add note about MOTDICON 2023-08-25 14:56:50 -04:00
Sally Coolatta
819ebc4c26 Highlight contact with shoutcolor 2023-08-25 14:51:21 -04:00
Sally Coolatta
019546e846 Add server join splash
Just wanted to give literally any possibility of seeing the server contact as a client
2023-08-25 14:42:01 -04:00
Sally Coolatta
16e6aa423e Dialogue 2 2023-08-24 17:28:53 -04:00
James R
5a40f554d4 ST_overlayDrawer: hide VIEWPOINT text when using demo freecam 2023-08-19 05:01:40 -07:00
James R
39f46a0f20 Replace music handling
(This commit does not compile. Sound test and tunes
command code needs to be ported after this.)

This is a big one. Here's the rundown:

The old music system was very direct, much of the time
just a proxy to the real sound API in i_sound.h.

You could change the music on command, but there wasn't
a consistent way to prevent some music from playing over
others. P_RestoreMusic is one example of needing to
address this problem. The jingles system was intended as
another solution. Furthermore, sound test (Stereo) has its
own needs.

I am removing all of that. Music handling in general is
now a very deliberate system, kind of similar to jingles.

In the new system, "tunes" are registered. The tune stores
info such as whether it should loop or fade out. Most of
the configuration is intended to be initialized only ONCE.
Tunes can be mapped to an actual music lump. They can be
remapped at any time too.

Tunes are also configured with a priority number. This
determines which tune is heard, if multiple are supposed
to be playing at a time. You can even tell a tune how long
it should play, so it's unnecessary to track this with
bespoke timers.
2023-08-06 17:31:45 -07:00
toaster
c5dc430b50 V_6WIDTHSPACE no longer a pitfall for using V_DrawThinString
The bunched text behaviour is now the primary mode of operation for TINY_FONT.
2023-07-12 09:00:29 +01:00
toaster
a536f884ce V_ALLOWLOWERCASE --> V_FORCEUPPERCASE
Content of commit was originally written by Sal, but as a monolithic commit. The author of this commit is chunking it up for easier review.

Simple inversion on the face of things, but with a long tail of consequences, including 19 changed files.

Forced uppercase has been applied in a handful of locations where it was aesthetically imperative. Most menus will follow in another commit, so that that may be reverted if we change the default menu font.
2023-07-12 09:00:29 +01:00
Sally Coolatta
996ca9adad Z Voting 2023-04-20 15:55:38 -04:00
toaster
c48283bd24 Fix showing ROUND with invalid number for queueing a map during voting 2023-04-18 09:56:14 +01:00
toaster
19ef96351a roundqueue
A general purpose system that permits cacheing of GP progression in one place, but which permits future expansion and brings Online GP a little closer to reality.
- Stores a bunch of levels, gametypes, encore state, and restricted-by-rank-ness in sequence.
    - Initialised on GP cup select.
    - FUTURE WORK: Open to being initialised by other methods
- Digests its way through that sequence as maps are completed.
- Stores round number instead of `grandprixinfo`.
- Map commands as sent over the wire have been adjusted.
    - Sends round number and size of/position in roundqueue.
    - Now figures out GP Event Type from gametype.
        - Can be swung in the direction of a Special Stage with a hint flag.
        - This hint flag replaces "fromlevelselect", which was functionally vestigal.
2023-04-11 17:18:27 +01:00
James R
39ea73a4ad devmode render: display skybox portal, visplane and drawseg counts on HUD
- Skybox portal count moved from console print to HUD
- Displays visplane count and drawseg count
2023-04-08 00:40:37 -07:00
James R
21a31c7a51 devmode: offset with showfps and showping 2023-04-08 00:37:12 -07:00
James R
f087d6d865 ST_drawDebugInfo: fix displayplayers access out of bounds on startup
On startup, the cvar is not registered yet so the value
went negative subtracting from zero.
2023-04-04 22:10:44 -07:00
James R
8bd6c9cffb Add musicdef->debug_volume, add musicdef console command
musicdef -volume <volume> changes the volume of the
currently playing song. The change persists through song
changes and is visible with devmode music.

musicdef -show prints all changed musicdef volumes.

The intention of this command is to allow editing music
volumes quickly in game, without having to quit, edit
music.pk3, and reopen the game.
2023-03-29 01:22:40 -07:00
James R
b65eaf1a51 devmode music: reorder volume to the top and add empty space for readability 2023-03-29 00:37:45 -07:00
James R
411b960e1c devmode music: use half size font 2023-03-29 00:33:28 -07:00
James R
31ee3577fd devmode: draw over literally everything else
Draws over ping and FPS counters.
2023-03-29 00:11:01 -07:00
James R
78df6ec488 devmode: add devmode_screen cvar, select which splitscreen to display info for
Old behavior was just use the last splitscreen.

This does not the position devmode draws on the screen.
2023-03-29 00:09:50 -07:00
toaster
62a573090b musicdef_t: Permit multiple tracks (music lumps) associated with the same entry
- Now supports "Lump MENU2,MENU3".
- Automagically appends (A) and (B) instead of having to user-specify them as part of the track name.
2023-03-23 20:08:44 +00:00
SteelT
65e8315bd9 Update thin strings to use V_6WIDTHSPACE 2023-03-04 01:02:21 -05:00
SteelT
e8d6d7f632 Fix missing draw call for DSM_NOTSAVING 2023-03-03 23:43:06 -05:00
SteelT
31e2c1567e Update replay save prompts to use the new button graphics
- A K_drawButtonAnim function is also provided for convince, since I figured it would have more future uses
- This also makes all of the button patches global, in addition
2023-03-03 23:19:46 -05:00
James R
5efce73680 Do not run ST_Ticker if dedicated 2023-03-03 18:56:07 -08:00
James R
5f1e64d6d9 Add spectator HUD for A, X, R buttons
Old spectator HUD is preserved for empty game, "flying
around" mode.
2023-02-26 05:55:45 -08:00
toaster
b6be0ef6e8 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into music-debug
# Conflicts:
#	src/audio/xmp.cpp
#	src/audio/xmp_player.cpp
#	src/sdl/new_sound.cpp
2023-01-22 15:20:14 +00:00
toaster
e6e1d6b042 Re-implement spectator vertical look
- Hold lookback to pivot the spectator's vertical aiming angle
    - Forward/backwards item throw/trick input aims up/down
    - Overrides forwards/backwards movement while lookback is held
    - Changes the spectator text to indicate that it's in aiming mode
2023-01-21 23:46:14 +00:00
James R
4e51ad6c78 Add devmode music
Song: <NOTHING>

        Song:    DEMOZ
      Format:      OGG
      Volume:   50/100
      Loop A: 00:00.65
      Loop B: 01:06.00
     Elapsed: 01:09.00
2023-01-12 03:29:43 -08:00
toaster
84b066245e Demo savemode text is consistent colour now 2022-12-31 23:14:43 +00:00
toaster
03c8fd543f More fun rules for Special Stages
- GTR_ROLLINGSTART
    * Initial instathrust, as before
    * Forced MAXPLMOVE forward
    * Disable finish line beam
    * "Super transformation" sound
        - Reference to the previous entry in the series' Perfect Startboost mechanic
- GTR_SPECIALSTART
    * Instant white fade
    * No titlecard (overridden by Boss intro)
    * Starting warp sound
- Match slidein time with no traditional titlecard to the end of the playsim intro fade
- Remove G_IsSpecialStage
2022-12-27 17:58:35 +00:00