Commit graph

456 commits

Author SHA1 Message Date
Alug
adce4197e0 make lumpnumcache case sensitive + optimize + replace quickncase hash with FNV1a
lumpnumcache can be case sensitive W_CheckNumForName should also look for uppercase stuff and W_LumpExists is case sensitive anyways
this avoids having to always account for case (toupper/tolower) during hash and string comparisons and even allows us to even directly compare our strings instead of using fastcmp (std::strings allow this!)
from some benchmarking externally this makes this faster quite a bit
2026-02-10 09:22:02 -05:00
GenericHeroGuy
e45c8d1835 Add cup select
Also, backspace remembers your last selected map/cup now, for easy searching
2026-01-02 02:54:02 +01:00
NepDisk
8881ade6fe Port some votescreen cleanup from RR 2025-12-12 18:15:21 -05:00
GenericHeroGuy
f7c1c474e6 Clean up and consolidate all item cooldown code
* The "unique item" flag has moved to kartitem, and split to accomodate
  shields (item slot only, not paper items)
* "BGoneTime" renamed to "CooldownTime"
* indirectitemcooldown has been folded into the existing cooldown system,
  all results with the indirect flag share the highest cooldown time
* Added cooldown debugger to kartdebugdistribution
* Fixed Thunder Shield not resetting cooldown when killing an SPB
2025-11-09 22:00:48 +01:00
GenericHeroGuy
efac1d27c2 Item refactor, part 1
Too much shit to explain, read the diff (you should anyway!)
Very sloppy, expect lots of fixes
TODO: SOC it all, separate "active odds" table, how to handle alt items
2025-11-06 22:59:02 +01:00
minenice55
2c04bb2ef5 generalize alt invinc to apply to any item
(with some work)
2025-11-04 21:55:30 -05:00
Sally Coolatta
a4b8ba58fd Basic start on Special Stages 2025-10-23 16:28:39 +02:00
GenericHeroGuy
389c2da098 Fix lap times (the rest of f1f7edbe) 2025-10-21 21:07:32 +02:00
GenericHeroGuy
7e9e648784 Merge branch 'blankart-dev' into softpresets 2025-10-21 16:34:25 +02:00
NepDisk
df581ae69f Remove dead renderer code
based on 0eeacaf51e

remove
- broken viewborder code (if we really want it back for some reason, we should rather port RR´s fixed version of it)
- remove console clipping code for software (this was broken eiherway)
- remove hud message clearing stuff
- remove renderscreen and linesize variables (they just pointed to vid.screen and vid.widht)
2025-10-19 16:34:38 -04:00
GenericHeroGuy
c1ffa1e109 Merge branch 'blankart-dev' into softpresets 2025-10-19 13:21:12 +02:00
Anonimus
0901ea89de Anti-bump 2025-10-18 17:13:31 -04:00
GenericHeroGuy
96bf11c706 WIP: User-defined time attack presets 2025-10-17 22:00:57 +02:00
Anonimus
a697f924c8 Introduce the goner table
I'm Wing Gaster, the royal scientist!
2025-10-15 07:30:50 -04:00
GenericHeroGuy
4eaf109786 Update p.exiting and exitcountdown to match Kart (closes #142)
exitcountdown is now manually set and G_BeginLevelExit doesn't touch it
g_exit now has an "already finished" flag to avoid relying on these
2025-10-01 22:28:41 +02:00
NepDisk
e4a9561261 Make usage of battlespeed cvar a gametyperule 2025-09-27 09:06:36 -04:00
Anonimus
eade241d3b Add SPBs to battle mode
The ultimate means against camping
2025-09-26 00:05:06 -04:00
NepDisk
3778520ee6 Unhardcode more behaviour as gametyperules 2025-09-25 21:28:00 -04:00
NepDisk
1f2cc02db4 Fix unused flag 2025-09-25 19:39:54 -04:00
NepDisk
179db51639 Battlemode fix ups 2025-09-25 19:37:20 -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
Anonimus
c07ccf475f Add toggle for legacy Invincibility
Also adds customizable time values for Alternative
2025-06-29 01:30:10 -04:00
GenericHeroGuy
92c59ddbcb Merge branch 'blankart-dev' into wadstrbuf 2025-06-27 18:46:47 +02:00
GenericHeroGuy
e987c96651 Sanitize textprompts and cutscenes 2025-06-25 22:49:42 +02:00
NepDisk
02196b622c Allow reading and writing *time variables from SOC and Lua
This should also for simple edits such as extending hyudoro length without janky lua scripts
2025-06-24 10:44:48 -04:00
NepDisk
e78e49e3c1 Texture precaching
A simple port from saturn
2025-05-29 12:06:51 -04:00
NepDisk
8faba2dd35 Basic voting rows port
Still crashes and seems to mess with the newgametype
2025-05-28 10:51:18 -04:00
NepDisk
3163dcf9c4 Remove bird window shake
sorry jartha
2025-05-15 14:35:46 -04:00
NepDisk
bd233a9201 Per map track complexity and modifier max 2025-05-13 15:49:21 -04:00
NepDisk
012df40fcd Terrain Def Mapheader toggle 2025-04-21 13:31:41 -04:00
NepDisk
06d35a774e Merge branch 'blankart-dev' into portv1objects 2025-04-15 16:41:57 -04:00
NepDisk
1d1f697f2f Compat changes for TOLs 2025-04-15 16:39:19 -04:00
NepDisk
15a02fdeed Merge branch 'blankart-dev' into portv1objects 2025-04-12 13:23:55 -04:00
NepDisk
28a493dbc3 Tri map records pt.3: Finalize changes 2025-04-12 13:12:24 -04:00
NepDisk
0ab033c497 Tri map records pt.1 2025-04-12 09:13:58 -04:00
NepDisk
a580bc9433 Port v1 objects pt 4.5: extra stuff 2025-04-09 16:39:58 -04:00
GenericHeroGuy
c936c24d15 Replace mainwads with an enum
The mainwads check in G_SetGameModified is replaced by a modifiedgame check
in D_SRB2Main
2025-04-03 17:36:13 +02:00
Alug
fe30efacdd refactor postimg stuff so it can be combined with each other better
thx much indev! <3
everything now works with encore!
software now also supports screen effects in splitscreen!
2025-03-28 18:22:01 -04:00
GenericHeroGuy
dc791e494d Merge branch 'blankart-dev' into socmenus 2025-03-26 18:49:30 +01: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
GenericHeroGuy
a609c7b5ce Replace prevmenu with menustack
menustack[0] replaces both menuactive and activeMenuId
Hopefully this is the last major change to the codebase...
2025-03-23 01:47:19 +01:00
NepDisk
52601bdfc2 New input display option for stick display 2025-03-13 22:14:31 -04:00
GenericHeroGuy
e61c43a852 Merge branch 'blankart-dev' into newinput 2025-03-10 23:26:30 +01:00
NepDisk
bda7d26a0f Port basic lap anticheat for new waypoints from RR 2025-03-09 20:03:10 -04:00
GenericHeroGuy
f419ccee57 New input handling (port of cd8862f0)
More or less a port with gamecontrols left untouched.

Some notable differences:
* ev_joystick now has a separate data1 for each axis, rather than having you
  check which of data2/3 is INT32_MAX and which one isn't
  (pissed me off when updating menu code...)
* Gutted the 1.6 upgrade code, since we're not upgrading from anything :P
* G_GetControlForKey, a helper for menu code
* Turn smoothing code left unused as a reminder to fix it
* Various small fixes so this commit is playable and doesn't segfault

Menu changes:
* Max 4 binds, joystick axes are now bindable like any other button
* The gamepad options submenu has been replaced by its two remaining options
  after the removal of axis cvars (gamepad select and deadzone)

See cd8862f0's message for more details
2025-03-07 00:05:35 +01: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