Commit graph

573 commits

Author SHA1 Message Date
Eidolon
f8f7ebdc6a Merge public master 2025-09-15 21:01:31 -05:00
Freaky Mutant Man
37e8b02e0e Add ability to disable "communications in progress" graphic by adding "NoComms = True" to map SOC 2025-09-15 20:39:11 -05:00
Antonio Martinez
c7e07576f8 Higher Sealed Star entry reqs for first entry 2025-09-14 21:48:31 -04:00
VelocitOni
9aa882e547 360->355
Slightly more lenient based on vibes, but excludes skipping Prison Break; we'll try this out.
2025-09-12 23:27:31 -04:00
VelocitOni
404b35be6d 365-360
OK we're gonna go w/ toaster's original # because most pics I see are still a bit lower from people who are tryharding (our audience)
2025-09-12 21:57:26 -04:00
toaster
4b47979f3d Sealed Star entry is now 365 GP points (lowered from 370) 2025-09-12 17:52:52 +01:00
toaster
c3131f697e Tutorial Recommendation hints for GP cup select
One new parameter on cupheader_t that can only be set in mainwads
If specified hint condition has been achieved, identifies from the actual unlock condition what Tutorial it should surface in a popup.
Funny question mark
2025-08-27 23:33:11 +01:00
toaster
be3c0faf7e More gracefully amend Splits/Attackstart data on ghost load rather than splits load 2025-08-21 18:25:03 +01:00
Antonio Martinez
7b39fc4b7e "Staffsync" command to test staff ghost playback 2025-08-19 18:52:13 -04:00
Antonio Martinez
bf8511c495 Review fixup 2025-08-06 16:48:20 -04:00
toaster
295e8dd0ce Add Goner Choice
- Selection between Tails' Way (existing Tutorial) and Eggman's Way (Playground)
    - Semi-passable UI
    - Characterful descriptions
- Add "PlaygroundRoute" condition to Challenges
    - Fires if you select Eggman's Way
- 0 Chao Keys unless you go back to Goner for the outro (which Playground skips)
2025-07-23 19:25:52 +01:00
Antonio Martinez
331110e6cf Use rank percentage for Sealed Star entry, not grade 2025-06-21 02:22:50 -04:00
Antonio Martinez
4af7ab2555 Lower Duel HUD, global option to disable/enable Duel 2025-06-06 21:32:37 -04:00
Antonio Martinez
28f12acab1 Merge remote-tracking branch 'origin/master' into duel 2025-05-24 16:34:36 -04:00
toaster
ecb4ffeeca Add bonus pickups in conditions you couldn't grab Spray Cans before
- If you've gotten every Spray Can, or you're on a custom course...
- Only one of these spawns per map
- Correctly save and load these
- Statistics menu counts base-game bonuses
- If there are gaps in the list, or new Spray Cans are added later, these base-game bonuses are converted into the new Spray Cans
- New graphics required so far:
    - SBONA0 to SBONP0 - 16-frame prerendered circling sprite animation
    - GOTBON - 8x8 representation of the SBON object
2025-05-20 20:27:06 +01:00
toaster
3f9c0685eb Move cache_spraycan on the mapheader_t struct to recorddata_t
Still in that struct, just in a more appropriate container
2025-05-20 20:18:11 +01:00
SteelT
b98b4dda5f Add CameraHeight level header option for forcing the player's camera to be at a certain height.
CamHeight can also be used as a shorter alternative to it.
2025-05-17 22:30:33 -04:00
Eidolon
cb7f437e60 Merge public master 2025-02-13 15:48:11 -06:00
Eidolon
a4d304a1f5 Update copyright years to 2025 2025-02-13 15:32:26 -06:00
Eidolon
22b20b5877 Add netgame voice chat
Implemented using libopus for the Opus codec, same as is used in Discord.
This adds the following cvars:

- `voice_chat` On/Off, triggers self-deafen state on server via weaponprefs
- `voice_mode` Activity/PTT
- `voice_selfmute` On/Off, triggers self-mute state on server via weaponprefs
- `voice_inputamp` -30 to 30, scales input by value in decibels
- `voice_activationthreshold` -30 to 0, if any peak in a frame is higher, activates voice
- `voice_loopback` On/Off, plays back local transcoded voice
- `voice_proximity` On/Off, enables proximity effects for server
- `voice_distanceattenuation_distance` distance in fracunits to scale voice volume over
- `voice_distanceattenuation_factor` distance in logarithmic factor to scale voice volume by distance to. e.g. 0.5 for "half as loud" at or above max distance
- `voice_stereopanning_factor` at 1.0, player voices are panned to left or right speaker, scaling to no effect at 0.0
- `voice_concurrentattenuation_factor` the logarithmic factor to attenuate player voices with concurrent speakers
- `voice_concurrentattenuation_min` the minimum concurrent speakers before global concurrent speaker attenuation
- `voice_concurrentattenuation_max` the maximum concurrent speakers for full global concurrent speaker attenuation
- `voice_servermute` whether voice chat is enabled on this server. visible from MS via bitflag
- `voicevolume` local volume of all voice playback

A Voice Options menu is added with a subset of these options, and Server Options has server mute.
2024-12-13 17:12:14 -06:00
toaster
63aaec65b1 Add roundqueue -show
Reveals the next Round in the queue via server shout message.
Can be used manually, or with automate commands for tournament rulesets that permit foreknowledge of the next Round without requiring the host to work off memory or document.
2024-10-11 13:46:30 +01:00
Sal
653766010d FRIENDCODE (aka, Teamplay) 2024-09-17 01:41:26 +00:00
Antonio Martinez
dcb4dea2fb Duel: cleanup, finish refactor, endcam, position fixes 2024-09-06 20:58:06 -07:00
Antonio Martinez
c4fc86b668 Margin Boost 2024-09-05 00:36:24 -07:00
Sally Coolatta
7b3e7cfdc7 Merge branch 'duel-vote' into duel 2024-09-04 23:54:05 -04:00
Sally Coolatta
141a37c48a Duel voting
Instead of voting for the level you want and the pick is decided by RNG ... now you take turns picking the maps you *don't* want, and the last one remaining gets picked. The previous loser gets to strike two stages and goes first, while the previous winner only gets to strike one.

Very incomplete visuals, very janky.
2024-09-03 20:08:04 -04:00
Antonio Martinez
4f1a49c0fb WIP: Duel infinite laps in circuit 2024-09-02 21:52:46 -07:00
Sally Coolatta
b43d62367f Nametag stuff
- Enable item spy in all modes
- Add CPU tags
- New CPU indicator for tab screen
2024-08-23 01:51:52 -04:00
AJ Martinez
3c68ab7674 Improved spindash + ebrake 2024-05-01 20:35:49 -07:00
Sally Coolatta
f1f7edbe9a Show last lap time on HUD
Inspired by RoyKirbs' Joypolis journey
2024-04-11 03:05:11 -04:00
toaster
d0724c263a Bring roundsplayed_t into the highest common denominator header
No indirect, hard-to-maintain magic number range in modetimeplayed arrays
2024-04-06 21:01:56 +01:00
Eidolon
23e4df3c90 Add per-map time stats and TA/SPB time stats 2024-04-06 11:25:31 -05:00
Eidolon
c22d6d75db Add several skin record stats, profile rounds 2024-04-06 11:25:31 -05:00
toaster
7f6de407f1 Copyright update: Add Kart Krew (2024) in general for high-traffic inherited sourcefiles 2024-04-02 17:42:38 +01:00
Sally Coolatta
af6340741e Add speed to gametype
Set a specific gamespeed per gametype. KARTSPEED_AUTO for it to be decided by game settings.

Wanted this for a while, but also it makes game speed display logic for DRP very straightforward.
2024-03-22 16:58:36 -04:00
James R
5445d59d57 Replays: larger buffers for player name, skin name, color name; bump demo version 0x0009 -> 0x000A
- Name buffers are the same size as everywhere else
  - Billiards Cactus no longer gets cut short
  - Long player names no longer get cut short
- System in place to allow easily changing the buffer
  sizes across all the demo code
2024-03-19 01:23:51 -07:00
James R
0ce93b2d96 Add g_fast_forward_clock_stop, means to end g_fast_forward early if too much real world time is taken 2024-03-18 02:42:22 -07:00
toaster
6e46f97847 As promised, Encore (alt)music
- `EncoreMusic` on mapheader
    - Supports up to 3 alt musics, as with every other type
- Do not vape/nightcoreify if provided
- To avoid complicating the Alt Music logic too much, uses "side B" of the same Prison Egg CD
    - That is to say, if there are 2 encore tracks and 3 normal tracks, the second Encore track will only play if you've gotten the CD associated with the second normal track

I haven't actually tested it *with* any Encore music, but I've triplechecked literally everywhere to make sure it didn't break standard play
2024-03-10 21:18:15 +00:00
James R
717dcf0209 restartlevel: preserve last map's gametype
- gametype can be changed without changing gamemap,
  through the pause menu option
2024-03-09 05:20:49 -08:00
James R
0707c9e5ec Add g_musicfade, generic system to fade out the level music for a brief period 2024-03-08 17:53:07 -08:00
James R
9f982a574e Add LapsPerSection property to map headers, fixes finish line distance in hybrid section-circuit maps
- It is possible to have a circuit map separated into
  sections, where there are multiple "laps" before making
  a full loop
- Normally the lap count is used to multiply the finish
  line distance, but it fails for these maps
- The LapsPerSection property fixes the calculation by
  specifying how many laps make up a full loop
  - Default = 1 lap (most maps)
2024-03-03 03:06:52 -08:00
James R
1f3b5dea0a Remove cv_showinputjoy (unused) 2024-03-02 00:16:31 -08:00
Eidolon
f4f7c5b1eb Add fault start mapthing 36 and prefer it for TA
Fixes KartKrew/Kart#1063
2024-02-24 19:15:00 -06:00
toaster
7e217b74f5 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into separate-spb-attack-records
# Conflicts:
#	src/g_game.c
2024-02-23 00:57:40 +00:00
Eidolon
b1cf0207bf Remove unused _saveid fields from in-mem gamedata 2024-02-21 18:44:44 -06:00
toaster
3f78c9d2e6 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into separate-spb-attack-records
# Conflicts:
#	src/menus/play-local-race-time-attack.c
#	src/p_setup.cpp
2024-02-11 23:27:33 +00:00
Oni
4ea946067a Merge branch 'srb2-tidy' into 'master'
Clear out unused SRB2/Kart stuff from info tables

See merge request KartKrew/Kart!1811
2024-02-03 19:40:52 +00:00
Sal
3958c15dfe New Credits 2024-01-28 23:31:30 +00:00
James R
ff07b92f18 Gamedata: save SPB Attack times separately from normal Time Attack
Bumps gamedata version! Gamedata version 10 -> 11
2024-01-27 04:23:44 -08:00
James R
05d8d83dcc Refactor recorddata_t and separate into recordtimes_t 2024-01-27 04:13:01 -08:00