Commit graph

297 commits

Author SHA1 Message Date
NepDisk
e2edae253f Port HEPII(I) position number scaling 2025-07-03 15:23:38 -04:00
NepDisk
2f84779d41 Update rest of the existing files to use blankart branding 2025-07-01 00:23:30 -04:00
NepDisk
f004b36dbb Revert 'Merge pull request 'File loading refactor' (#68) from wadstrbuf into blankart-dev'
This reverts commit f72475b557, reversing
changes made to 0c89c85aae.

Sorry Generic this branch is really cool but it needs more work. I shouldn't have merged it too early...
2025-06-30 01:45:01 -04:00
NepDisk
4eeb3a5d2a Merge pull request 'Add an alternative Invincibility type' (#69) from Anonimus/blankart:invincerework into blankart-dev
Reviewed-on: https://codeberg.org/NepDisk/blankart/pulls/69
2025-06-30 01:06:14 +02:00
NepDisk
d9bfb3c192 Rename freeroam to nocountdown and clean up some relatedcode
Also yes no skipping introtime now
2025-06-29 14:30:21 -04:00
NepDisk
af4f28cb2f fix battle win animation 2025-06-29 11:55:14 -04:00
Anonimus
207e5011dc Add a cancel system to Alt Invincibility
Can be cancelled now, similarly to Grow
2025-06-29 01:30:21 -04:00
Anonimus
7c31ca0483 More changes to Alt Invincibility
Bottlenecker has been heavily buffed (8-tic deficit to invince timer at full strength)
The cluster now specifically only tracks losing players, and in the case that no new cluster point is found, instead reads from the last cluster player
Invincibility "hogs the item box" like Grow does, and (currently) can't be cancelled to prevent chaining
Maximum time limit has been buffed to 35 seconds
2025-06-29 01:30:17 -04:00
Anonimus
c07ccf475f Add toggle for legacy Invincibility
Also adds customizable time values for Alternative
2025-06-29 01:30:10 -04:00
Anonimus
4603a24628 Unique Invincibility odds
Also preventing lower Invincibility times from overriding a higher one.
2025-06-29 01:30:06 -04:00
Anonimus
99056a47fa Tie Invincibility to clustering, implement new visual
* Invincibility's time limit is now directly tied to a player's distance from the cluster.
* The visual for Invincibility has been reworked to being an additive layer over the player, fading out as you run out of Invincibility.
2025-06-29 01:30:04 -04:00
NepDisk
7acf64fba8 Fix 2P FINISH text scrolling
448781bdd9
2025-06-28 18:51:44 -04:00
NepDisk
0a5038c189 Port fancy roulette and interp addtions from saturn 2025-06-28 18:48:59 -04:00
GenericHeroGuy
92c59ddbcb Merge branch 'blankart-dev' into wadstrbuf 2025-06-27 18:46:47 +02:00
NepDisk
e450f21ddf Fix battle offsets applying to custom offsets on ring meter 2025-06-26 14:25:21 -04:00
GenericHeroGuy
d37b987acb Remove W_CachePatchName, everything's safe
Menu headerpics, menuitem patches and old-style map thumbnails/minimaps now
support longnames
2025-06-25 23:42:36 +02:00
GenericHeroGuy
2ff383a248 Replace shortname functions with stubs, and some trivial caller replacements 2025-06-25 22:20:07 +02:00
NepDisk
1c7895426c Merge branch 'blankart-dev' into itemtimers 2025-06-13 17:43:35 -04:00
NepDisk
64fd5b93ac raise skinlimit to 4096
Why not UINT16_MAX? Thats 22gb of allocation lmao
2025-06-10 15:38:11 -04:00
GenericHeroGuy
7fbf5830a7 Trying to handle various different speeds... 2025-05-27 17:05:09 +02:00
GenericHeroGuy
9ef9e41dba Use prediction/pathfinding for drift waypoints 2025-05-25 02:44:36 +02:00
GenericHeroGuy
481053a232 An attempt at timing and setting up drifts 2025-05-24 00:33:04 +02:00
GenericHeroGuy
abd496bd61 Behavior fixes, changed variables, an actual bot debugging HUD 2025-05-23 21:11:42 +02:00
NepDisk
18c17b6b7c ugly looking line fix 2025-05-13 13:39:19 -04:00
NepDisk
a1c3c6b9e1 Reimplement ringloss on bump. Also fix some shield issues. 2025-05-13 13:36:11 -04:00
NepDisk
5ed17b4512 Merge branch 'blankart-dev' into itemtimers 2025-05-13 06:06:27 -04:00
NepDisk
1d6dd4125a Remove Droptarget. 2025-05-10 07:31:51 -04:00
GenericHeroGuy
a5ec18ead7 Fix regression in checkpoint handling for unpatched waypoint maps 2025-05-08 23:20:52 +02:00
GenericHeroGuy
b7afe4f347 Use legacy checkpoint threshold for patched maps 2025-05-08 22:23:03 +02:00
NepDisk
e8c8763a83 Show finished players on map by default 2025-05-07 15:19:12 -04:00
NepDisk
cc6e2ed490 Port SFG SPB minimap behaviour 2025-05-06 10:17:10 -04:00
NepDisk
b1c7d65633 Small feedback changes for hud stuff 2025-05-05 18:28:52 -04:00
NepDisk
d8e1083429 Refactor some HUD elements and bring colorized hud support 2025-05-05 17:51:39 -04:00
NepDisk
ee92faabba Refactor some item related things. 2025-05-03 12:48:02 -04:00
NepDisk
d67fd9cb76 Do more work to account for screen layout cvars
This is complete ass pain but what can you do?
2025-04-28 17:32:47 -04:00
NepDisk
dba4448645 Fix bots using the wrong speed value in precentage 2025-04-25 15:17:08 -04:00
NepDisk
105eb85bd3 Get rings from any itembox, expose more functions to lua and battle related things 2025-04-21 19:56:04 -04:00
NepDisk
8b15a9ebc2 Item Timers PT.1 2025-04-20 10:51:19 -04:00
NepDisk
f7cff08ae6 Disable emblem updates when RA mods are on 2025-04-11 10:04:02 -04:00
NepDisk
e01b29ac09 Fix up some issues with TA mods commit
Thanks GHG for the help
2025-04-11 08:23:57 -04:00
NepDisk
9cd4294c21 TA support for extra game toggles 2025-04-10 19:53:44 -04:00
NepDisk
911afb22a6 Move freecam state to camera_t
Based on fa89576f34 p1 still controls both cameras for now.
2025-04-01 13:57:27 -04:00
NepDisk
9a8c89b1d8 Various HUD additions
Wide lap sticker, hud element offsets, GetHudColor Helper, Circle Input display option
2025-03-30 20:05:09 -04:00
GenericHeroGuy
2c49adda4d something something consistency 2025-03-27 22:48:56 +01:00
James R
4cb545a0e1 Cleanup order and indentation of item definitions 2025-03-27 21:25:00 +01:00
James R.
36ad821c79 K_drawKartMinimap: fix splitscreen player icons 2025-03-24 12:33:24 -04:00
Oni
2c36b047dd Merge branch 'fix-splitscreen-hud-tracking-bleed' into 'master'
K_drawKartNameTags: crop HUD tracking to splitscreen viewports

See merge request KartKrew/Kart!1542
2025-03-24 12:31:43 -04:00
James R
af09ba91ec Completely rewrite party management code
Replaces g_splitscreen.c with g_party.cpp. Simplifies
party management functions.

Moves externs out of already bloated doomstat.h and
g_game.h into g_party.h.

Cuts down on globals spam.
2025-03-24 09:43:34 -04:00
NepDisk
f845a3aca5 Adjust bar colors for spee ringbar and fix 11 offset to look better 2025-03-23 21:12:22 -04:00
NepDisk
7b54760030 Changes for Spee ring meter 2025-03-23 20:01:55 -04:00
NepDisk
7fe7bd6ec0 Fix client dedicrash due to my stupidity 2025-03-22 10:47:18 -04:00
NepDisk
42ddaa5b1f Move itemblink and itemblinkmode to player_t to restore hyudoro behaviour 2025-03-21 13:36:10 -04:00
NepDisk
de415e3331 Make the flameshield more understandable by giving it a second meter 2025-03-16 10:48:26 -04:00
NepDisk
56d1ebb490 HUD drawing code clean up and add rings and lives hud toggles for lua 2025-03-14 22:22:25 -04:00
NepDisk
0a41771926 Fix many cases of ? with replacements 2025-03-14 20:26:51 -04:00
NepDisk
24d52d593e Refactor bubbleshield collide, use splitflags for analog input display, don't run waypoint update code on legacy checkpoints 2025-03-14 17:31:51 -04:00
NepDisk
52601bdfc2 New input display option for stick display 2025-03-13 22:14:31 -04:00
NepDisk
6c9b038438 Add input display toggle 2025-03-13 00:08:07 -04:00
NepDisk
077b34b37f Make legacy waypoint helper and expose K_RingsActive and K_UsingLegacyCheckpoints to lua 2025-03-10 19:14:35 -04:00
NepDisk
bda7d26a0f Port basic lap anticheat for new waypoints from RR 2025-03-09 20:03:10 -04:00
NepDisk
bdbfeaf1ac More uses K_GetKartButtons 2025-03-07 12:12:52 -05:00
NepDisk
0a0c468ac3 Fix Distribution debugger 2025-03-04 16:01:39 -05:00
NepDisk
b0bbf07bdb Custom gametype and gametyperules additions
Many new options have been added.

You can now specify "menucolor" when creating a gametype. This accepts a V_ colorchar flag (IE V_PURPLEMAP) and will be used to color hud elements in menus and on the HUD.

Encore is now controlled by GTR_ENCORE. This allows for custom modes that don't accept encore.

Itemodds are now controlled by GTR_RACEODDS and GTR_BATTLEODDS respectively. If neither is specified on gametype creation, completely random items will be rolled.

General GTR_FREEROAM adjustments
2025-03-02 11:41:30 -05:00
NepDisk
ef11c55b41 Merge and Update Flameshield overhaul concept 2025-02-28 00:54:24 -05:00
NepDisk
94dc69ab93 Flash Bubbleshield if throw is happening soon 2025-02-26 21:38:35 -05:00
NepDisk
475524e7ad Add shield sounds and rework bubbleshield
BS now only has two defend / attack uses, trap gives less height and you can dropdash from the trap
2025-02-25 11:40:25 -05:00
NepDisk
8d704be49c Merge remote-tracking branch 'origin/cherries' into blankart-dev 2025-02-24 19:32:26 -05:00
James R
45c388b1f1 Fix HUD drawing crash if 1 or more KITEM_NONE
blame 375fb72de
2025-02-24 23:47:02 +01:00
NepDisk
b70282811e Drawfill nametag stem 2025-02-24 17:11:39 -05:00
James R
ef6addf5d8 Add K_GetRollingRouletteItem, refactor item drawers
Roulette now cycles through all single items (that have
odds). Added missing shields and drop target.
2025-02-24 22:45:23 +01:00
NepDisk
bfb4042d20 Fix Splitscreen lapcount 2025-02-23 23:40:41 -05:00
NepDisk
76e40adaf8 Item graphic tweaks 2025-02-23 19:12:44 -05:00
NepDisk
d527740767 Modify and update code for new assets 2025-02-23 17:01:59 -05:00
NepDisk
bf77bd7f3a Adjust wad load order for new assets 2025-02-23 17:01:59 -05:00
NepDisk
894af06eea Fix HUD for itembreaker with rings enabled 2025-02-22 21:59:18 -05:00
NepDisk
e562d838b5 bumpspark, bumpspring and small code refactoring and cleanup 2025-02-22 21:53:09 -05:00
Sally Coolatta
0c8e8be2a7 Comment out test case 2025-02-22 01:27:26 +01:00
Sally Coolatta
11608cd1b7 Clipping rectangle
Instead of the absolute insanity that is V_DrawCroppedPatch, which makes you specify the number of pixels to crop off the top/left and then the number of pixels to show after the crop ... you just use V_SetClipRect to create a rectangle for any future draws to be cropped down to, and V_ClearClipRect afterwards to clear it.

Currently only supported by V_DrawStretchyFixedPatch. Ideally other drawing functions should also receive clipping rectangle support too.
2025-02-22 01:22:54 +01:00
NepDisk
dac6374b0a Don't apply tighter minimap angle reticle if minimap names are on 2025-02-20 20:41:59 -05:00
NepDisk
0fcf7c7dbd Port small minimap icons and minimap nametags from saturn/snowy, add minimap angle reticle toggle 2025-02-20 20:32:18 -05:00
NepDisk
71225707bf Port freeplay, grow music and invin music toggles from saturn 2025-02-20 18:12:03 -05:00
NepDisk
fba4f40968 renanble minimapdot drawing code 2025-02-18 19:26:16 -05:00
GenericHeroGuy
247165d29e Fix compile errors 2025-02-18 23:48:18 +01:00
toaster
8ed510ca88 Precalculate as much shared minimap/automap data on level load as possible
- `P_InitMinimapInfo`
    - Writes to `p_local.h` extern struct
    - Handles everything previously distributed across multiple K_drawKartMinimapIcon calls (and most of AM_findMinMaxBoundaries)
- Reduces complexity of drawKartMinimapIcon significantly
- Last prerequisite before implementing user-placable minimap boundaries...
2025-02-18 23:48:18 +01:00
toaster
017e62f4b2 New console command "minigen"
- Generates "MINIMAP.png" in your srb2home
- Uses inherited automap code to render to a temporary buffer
    - Because am_map.c is a mess of filescope static variables right now, this only works when the automap is disabled.
- Currently an equal alternate method to SLADE's map image export, but because we're in control, additional features can be added later...
    - TODO: Off vertically by one pixel on GHZ. Otherwise effectively identical in shape
    - TODO: the colours are rancid, I wonder if they were even updated for the 2.2 palette

Related:
- Use identical linear-time mechanisms for detecting borders of map geometry between automap and minimap
    - Automap was previously using iteration over all vertices
    - Minimap was previously pointlessly writing min/max values twice
2025-02-18 23:48:18 +01:00
toaster
07c1fbf426 Move two of the three remaining NUMMAPS arrays part of the mapheader_t struct
- mapvisited and recorddata_t (previously mainrecords)
- Changed how gamedata is saved and loaded
- Change the versioncheck (funny hex provided by chengi) AND call it `developringdata.dat` in develop builds
- Fix a bunch of off-by-ones in condition and emblem data
ALSO, for Time Attack:
- Fix menu not showing off your times
- Now save times even when gamedata modified, since the menu didn't care (come back to it?)
- Don't save times or do intermission screen if the Capsule Attack ended because you lost all your bumpers
- Fix a crash adding ghosts in Capsule Attack
2025-02-11 03:47:36 +01:00
NepDisk
56745d621b Toggable Lap Emblem Animation 2025-02-09 18:45:53 -05:00
NepDisk
f5de319fae Implement stplyrnum and refactor K_drawBattleFullscreen to use it
Thanks Saturn and GHG as per usual
2025-02-09 18:45:53 -05:00
NepDisk
78751d9659 Uncap input display 2025-02-09 18:45:53 -05:00
SteelT
14e5796cf2 Support reading PICTURE/MINIMAP/ENCORE/TWEAKMAP lumps from a map resource
This supersedes the header-based method of fetching those lumps.

(G: a LOT of creative liberties... but i'd rather this thing compiles)
2025-02-07 02:41:06 +01:00
NepDisk
1a668e0ab5 Merge pull request 'Rework Rings hud to use original assets.' (#20) from ringrework into ACS2
Reviewed-on: https://codeberg.org/NepDisk/blankart/pulls/20
2025-02-01 15:29:51 +00:00
NepDisk
de1fc65df3 Ring rework 3 2025-02-01 10:25:38 -05:00
NepDisk
a18cffeade Revert "Merge branch 'nukelaps' into v2dev3"
This reverts commit d1b0358ac8, reversing
changes made to b56b79db15.
2025-01-31 19:34:11 -05:00
NepDisk
b70834374d Ring rework 2 2025-01-31 19:22:55 -05:00
NepDisk
4e926d3466 Ring rework 1 2025-01-31 03:06:58 -05:00
NepDisk
c3aa2075d3 Shuffle Speedometer values to be like saturn 2025-01-28 12:04:34 -05:00
NepDisk
a148d4e17b Seperate out itemflags 2025-01-27 12:24:19 -05:00
NepDisk
b77977ef7e Fix legacy distance odds 2025-01-23 11:57:35 -05:00
NepDisk
92d86be813 Implement distance based itemodds when legacy waypoints are in play 2025-01-22 13:15:42 -05:00
NepDisk
ac3e8827a7 Rename back to thundershield, update doomdata.h ml_flags, update constants 2024-12-31 01:31:03 -05:00