Commit graph

458 commits

Author SHA1 Message Date
toaster
a75a7039d6 HU_DrawRankings: Do not fade screen while automap is visible. 2023-01-23 11:47:34 +00:00
James R
a400d24777 Don't draw song credit outside of GS_LEVEL 2023-01-06 01:59:08 -08:00
toaster
42a6b03e48 Remove "circuitmap"
An effectively useless global scope boolean that literally checks for the presence of a finish line, created in and used only by things we inherited from vanilla SRB2
2022-12-31 23:27:59 +00:00
toaster
3ee8713e46 Dehardcode menu gametype selection, part 1
- Introduce `menugametype`
    - Controlled by IT_KEYHANDLER/M_HandleMenuGametype
    - Excludes gametypes that do not support multiplayer by default
        - GTR_CAPSULES and GTR_BOSS for now, but also user-specifiable GTR_NOMP
- Remove gametype_cons_t and G_UpdateGametypeSelections, an obstacle in the way of infinitely allocatable custom gametypes
2022-12-30 15:23:26 +00:00
toaster
f8999bea36 Changes to tab rankings
* No longer has gametype-specific highlight
* Shows Grand Prix and Capsules instead of gametype name if relevant
* Operates on a heirarchy for important information
    * Shows grand prix round on left if in GP (resolves #360)
    * Shows capsules remaining on right if in BTC
    * Attempts to draw timelimit and pointlimit on both left and right
    * Number of laps remaining/gamespeed is least priority for left and right sides
2022-12-27 16:06:10 +00:00
toaster
17dd15b998 "Special Mode" (Sealed Stars) and "Versus Mode" (bosses) are now gametypes
* The existing structs are now exclusively for handling extra data.
    * `specialStage` has been renamed to `specialstageinfo`, to reflect that it is not the sole arbiter.
    * `specialstageinfo.valid` and `bossinfo.valid` are what must be checked before grabbing data from either struct.
        * These are turned on when the gametype extra data is successfully initialised, not on map start.
            * `K_InitBossHealthBar(...)` for `bossinfo.valid`
            * `K_InitSpecialStage(void)` for `specialstageinfo.valid`
        * `K_CanChangeRules(...)` no longer checks these
    * No longer uses duplicate encore information.
* The map command (and -warp) now guesses gametype using a general `G_GuessGametypeByTOL(UINT32)` function
    * Grabs the first gametype with an overlap between the requested TOL and the gametype's TOL.
* The cool Versus-specific intro is now checked via `K_CheckBossIntro()`.
2022-12-26 23:06:24 +00:00
toaster
eb74ec3904 Change the rules for some things selected in the previous commit.
- Only show lap count and gamespeed on rankings if GTR_CIRCUIT
- Adjust offsets for speedometer/accessability icons with GTR_BUMPERS|GTR_SPHERES
- Only show Karma on Bumpers hud with GTR_KARMA
- Permit battle fullscreen without GTR_KARMA
- Make the Break The Capsules roulette show up with GTR_CAPSULES, not absence of GTR_CIRCUIT
- Don't push Break The Capsules roulette to the item list twice
- Make the special mode switching of int_battle happen for all instances of int_battle, not just GT_BATTLE
2022-12-26 22:06:26 +00:00
toaster
185b36bd27 gametype_t
- New array of pointers to structures in memory (currently mixing static for base-game and Callocated for custom)
- Centralises a metric-ton of previously seperately handled properties into one struct
    - Gametype_Names[]
    - Gametype_ConstantNames[]
    - gametypetol[]
    - timelimits[]
    - pointlimits[]
    - gametypedefaultrules[]
- Don't attempt to guess custom gametype in Replay Hut (requires more work to make custom gametypes behave across the entire experience)
- I_Error if invalid gametype set
- gametyperules is deprecated since it will never be modified seperately from gametype (temporarily a #define, don't wanna bloat this commit too much)
2022-12-26 01:07:57 +00:00
VelocitOni
8cd36dbf03 Merge branch 'master' into unlockables-undefeatable 2022-12-18 01:59:04 -05:00
toaster
81fec17bb4 First Musicdef changes in preparation for music test
- Add `title` field, to permit seperation from `source`
- Store current displayed string as zone memory, to prevent repeated recalculation
2022-12-17 16:39:10 +00:00
toaster
f87db3cfab Further K_DrawMapThumbnail changes.
- Precache M_NOLVL.
- Make all width calculations relative to a lump 320 pixels wide, to make outdated map thumbnails much, MUCH more visible.
- Add K_DrawLikeMapThumbnail to draw a 320x200 patch like a map thumbnail (currently used only for RANDOMLVL).
2022-12-14 13:08:06 +00:00
toaster
400a7b5974 Move closed chat to behind rankings HUD 2022-11-26 16:49:57 +00:00
toaster
db95e3144d Re-add mid-game rankings
- gc_rankings, bound to TAB by default
- Now a toggle, rather than a hold behaviour
- Rearrange HU_Drawer to have chat (and cecho/music credits) render over everything else (like, say, tab rankings)
- Update PROFILEVER to 2 so we can add the new control to old profiles
2022-11-25 17:59:18 +00:00
toaster
bd87ce70d6 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into filestuff-16 2022-11-12 17:55:10 +00:00
James R
c216cc6988 Fix buffer overflow when pasting into chat 2022-11-07 20:30:14 -08:00
toaster
893cc0fd9b Remove debug print 2022-11-05 12:44:51 +00:00
toaster
c4fd7d74dd P_AddWadFile partial stages port from SRB2Kart 1.6
Originally written by x.organic, flattened rewrite due to massive changes between RR and SRB2Kart codebase
Notable changes:
- p_adding_file has been reworked into partadd_earliestfile to allow for final setup to use
- much like the public version required removing TEXTURE SOCs, this one required removing Flats support from ANIMDEFS
2022-11-04 16:15:53 +00:00
toaster
243f38227c Rework time limit a bit
- Make timelimitintics handled a bit more like gamespeed, encore, frantic, etc - update on mapload/starttime, not during gameplay
    - Use default setting if can't change rules - this is a surprise tool that will help us later
- Have it properly update when adjusting gametype from the menu
    - Cleaned up SV_StartSinglePlayerServer to do this
- Remove CV_SAVE to prevent time limit bruh moments
2022-10-11 23:00:44 +01:00
James R
7ab84ebd2f Merge remote-tracking branch 'origin/chat-flood-fix' 2022-09-28 19:06:38 -07:00
toaster
ff629a4c78 Merge branch 'kill-nonet' into 'master'
Kill last of NONET, DJGPP (DOS), WATTCP (also DOS?), _WINDOWS (DirectDraw)

See merge request KartKrew/Kart!704
2022-09-26 17:02:55 +00:00
toaster
37214c32dd Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into chat-flood-fix
# Conflicts:
#	src/hu_stuff.c
2022-09-26 12:56:50 +01:00
James R
f6a5ed9c6c Remove NONET 2022-09-24 19:22:04 -07:00
toaster
abb567ab81 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into big-large-map-markers 2022-09-21 23:06:24 +01:00
AJ Martinez
51d46a2a8a Remove debug print 2022-09-20 21:32:45 -07:00
AJ Martinez
8525dfb502 Allow netgame clients to display and be affected by mindelay 2022-09-20 21:21:51 -07:00
AJ Martinez
87b92a7127 Bump ping tiers by 1 tic 2022-09-20 20:05:00 -07:00
AJ Martinez
e242207d10 Mindelay: Oni suggestions rollup 2022-09-20 19:01:54 -07:00
toaster
1a284ec7c6 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into big-large-map-markers
# Conflicts:
#	src/d_netcmd.c
2022-09-17 13:57:26 +01:00
toaster
46441092dc Address initial review comments + associated cleanup
- Grab thumbnail and minimap pictures even for base game maps
- Repair modified game event for replacement map load
- PU_STATIC thumbnail and minimap, freed on new file load lump discovery
- Fix W_CheckNumForMap to not SIGSEGV if no match
- Reduce the number of pointless map lump hunts, we've already got it stored
- Prevent use-after-free for map pictures on voting screen
- Cache "BLANKLVL" patch once
- Draw minimap on the time attack menu

Unfortunately cups are still broken and I'm not sure where to start on that, or if it's just not having a sample wad to test with that includes cups
2022-09-16 15:01:49 +01:00
VelocitOni
8a5707ad83 Merge branch 'master' into hostcode 2022-09-13 17:08:15 -04:00
Sal
94d7c497b0 Merge branch 'hooklib-port' into 'master'
Hooklib refactor ported and (mostly) squashed

See merge request KartKrew/Kart!662
2022-09-11 06:30:07 +00:00
James R
37c3a55dda Fix conflicts 522467a88 2022-09-05 11:56:30 -07:00
toaster
e9d7c2eee3 Fix regressions in merge process
- Re-replace `hu_font` with `fontv[HU_FONT].font`
- Re-init hu_keystrokes
2022-09-05 16:38:23 +01:00
LJ Sonic
d5367d2e65 Fix message sending code using hardcoded buffer size 2022-09-05 16:38:23 +01:00
LJ Sonic
9f37c240a4 Fix long chat messages causing net command failures 2022-09-05 16:38:22 +01:00
LJ Sonic
32e7442d00 Revert "Fix long chat messages causing net command failures"
This reverts commit 13778247990d60c2ad8aa5729bc0397ab764eaaa.
2022-09-05 16:38:22 +01:00
LJ Sonic
75e4f07e12 Fix say command and its variants using hardcoded buffer size 2022-09-05 16:38:22 +01:00
LJ Sonic
d3d2205932 Fix long chat messages causing net command failures 2022-09-05 16:38:21 +01:00
LJ Sonic
47c7351928 Support delete key in chatbox 2022-09-05 16:38:21 +01:00
LJ Sonic
94f691f216 Fix long chat messages crashing the game 2022-09-05 16:38:20 +01:00
LJ Sonic
bc62dc8214 Fix single-letter messages not being sent 2022-09-05 16:38:20 +01:00
LJ Sonic
cf6dfecc6a Cleanup chat event handling
# Conflicts:
#	src/hu_stuff.c
2022-09-05 16:38:20 +01:00
LJ Sonic
5d406375a8 Cleanup and fix chat deleting and pasting
# Conflicts:
#	src/hu_stuff.c
#	src/hu_stuff.h
2022-09-05 16:38:19 +01:00
LJ Sonic
4c59bb3b2b Turn HU_queueChatChar into HU_sendChatMessage
# Conflicts:
#	src/hu_stuff.c
2022-09-05 16:38:19 +01:00
LJ Sonic
4fc770aa7b Group related chat stuff together
# Conflicts:
#	src/hu_stuff.c
2022-09-05 16:38:19 +01:00
LJ Sonic
2ccb222914 Cleanup chat code a little
# Conflicts:
#	src/hu_stuff.c
2022-09-05 16:38:19 +01:00
LJ Sonic
58a40b7439 Cleanup chatbox sanitizing code 2022-09-05 16:38:18 +01:00
LJ Sonic
cdb809a434 Cleanup chatbox reset code
# Conflicts:
#	src/hu_stuff.c
2022-09-05 16:38:18 +01:00
LJ Sonic
0e3a3b2fac Cleanup blank chatbox checking code 2022-09-05 16:38:18 +01:00
Sally Coolatta
107622968e Merge branch 'master' into new-menus 2022-08-27 22:36:58 -04:00