Commit graph

20901 commits

Author SHA1 Message Date
James R
151dccf32f Parity between title screen and menu version info 2023-01-01 15:40:51 -08:00
Eidolon
d13f2c34b9 Merge branch 'cxx-foundations' into 'master'
Add SRB2_ASSERT, srb2::NotNull

See merge request KartKrew/Kart!843
2023-01-01 21:05:51 +00:00
Eidolon
2e229dcdde Merge branch 'discord-rpc-internal' into 'master'
cmake: build discord-rpc internally

See merge request KartKrew/Kart!846
2023-01-01 20:54:56 +00:00
Eidolon
19c5711092 cmake: build discord-rpc internally 2023-01-01 14:50:52 -06:00
Sal
21774564da Merge branch 'fix-c++-strcasestr' into 'master'
Fix strcasestr redefine warnings for G++

See merge request KartKrew/Kart!844
2023-01-01 19:41:14 +00:00
Eidolon
6af003771d Add SRB2_ASSERT, srb2::NotNull<T>
Add SRB2_ASSERT, superceding I_Assert

This assertion macro always expands to a call of srb2::do_assert, which
is overloaded with two templates: one which applies if the provided
Level is less than or equal to the SRB2_ASSERTION_LEVEL, and one which
is a no-op. When optimizations are enabled, this will verifiably remove
the evaluation of the expression in all cases, instead of evaluating the
expression and doing nothing with it.

Add srb2::NotNull wrapper utility

This is meant to be used in places where pointers are used as
parameters. It can be used with any pointer-like type, not just raw
pointers. During construction of NotNull, the pointer will be asserted
not-null in debug and paranoia builds, and in release optimizations with
no assertions, the code decays gracefully to standard pointer-passing.
2022-12-30 23:49:29 -06:00
James R
e9dc22a399 Rename strcasestr to nongnu_strcasestr, macro strcasestr ifndef _GNU_SOURCE
Fix for GCC C++ compiler, which always defines _GNU_SOURCE.
2022-12-30 20:17:26 -08:00
Eidolon
fe32cba866 Merge branch 'cxx-io' into 'master'
C++ IO abstractions and std::span

See merge request KartKrew/Kart!840
2022-12-31 03:46:30 +00:00
Eidolon
97ff0dee6a Merge branch 'extern-c-everything' into 'master'
Add extern "C" in C++ to all headers

See merge request KartKrew/Kart!842
2022-12-31 03:46:17 +00:00
Eidolon
e7c379bc8d Add srb2::io streams abstraction 2022-12-30 21:15:44 -06:00
Eidolon
be021baa02 Add extern "C" in C++ to all headers 2022-12-30 19:26:16 -06:00
Eidolon
ccb74e7371 Add tcbrindle's C++20 std::span impl (tcb::span) 2022-12-28 16:28:04 -06:00
Eidolon
41ebd7c67d cmake: configure config.h to build directory 2022-12-28 16:04:50 -06:00
James R
35d36b3ba2 cmake: fix comptime.c touch
typo 5395194e
2022-12-27 22:12:59 -08:00
toaster
d86c677ee7 Merge branch 'fix-cmake-git-cache' into 'master'
QOL fixes for CMake and Git integration

See merge request KartKrew/Kart!838
2022-12-27 11:35:28 +00:00
James R
cc30118e3b Adjust formatting of git branch in game
- Detect and highlight detached HEAD on title screen and in console
- Remove '-' between branch and commit in console
2022-12-27 01:00:57 -08:00
James R
cff0def2a4 cmake: reconfigure if git HEAD changes 2022-12-27 00:59:29 -08:00
James R
5395194ed6 cmake: generate config.h at build time, always rebuild comptime.c 2022-12-27 00:59:28 -08:00
James R
aaecabf4d6 cmake: refactor GitUtilities.cmake
Remote branch name can now be resolved from detached HEAD.
2022-12-27 00:40:59 -08:00
Sal
2533ebba23 Merge branch 'testers-extras' into 'master'
Extra changes for TESTERS builds

See merge request KartKrew/Kart!835
2022-12-26 22:44:43 +00:00
toaster
78bc4fdac9 Further changes in anticipation of potential future TESTER builds.
* Create a seperate `unlocks.pk3` so we can customise what the testers have.
* Make TESTERS(/HOSTTESTERS) builds have their own default gamedata.
2022-12-24 16:21:24 +00:00
Oni
3101cf25cd Merge branch 'special-stages' into 'master'
Special Stages

See merge request KartKrew/Kart!778
2022-12-22 10:58:44 +00:00
Sally Coolatta
86c3a8ab78 Fix Gachabom merge 2022-12-22 05:35:35 -05:00
Sally Coolatta
82df346417 Merge branch 'master' into special-stages 2022-12-22 05:18:56 -05:00
Oni
8222b4d52b Merge branch 'ring-respawn-fuck' into 'master'
Make ring respawn a division

See merge request KartKrew/Kart!833
2022-12-22 10:18:28 +00:00
Sally Coolatta
40bc79a9d4 Merge branch 'master' into ring-respawn-fuck 2022-12-22 03:40:11 -05:00
Sal
1662414e0e Merge branch 'neutral-explosion-hitlag' into 'master'
Add half hitlag to invulnerable players if they would normally take damage

Closes #364

See merge request KartKrew/Kart!814
2022-12-22 08:37:47 +00:00
Sally Coolatta
ae8df1b97b Merge branch 'master' into neutral-explosion-hitlag 2022-12-22 02:45:08 -05:00
Oni
7af133d378 Merge branch 'spring-overflow' into 'master'
Fix spring stack overflow

Closes #377

See merge request KartKrew/Kart!831
2022-12-22 07:43:39 +00:00
Sally Coolatta
ba7b2f3fc9 Merge branch 'master' into ring-respawn-fuck 2022-12-22 02:27:39 -05:00
Oni
58c4f6009f Merge branch 'noclip-isnt-noclipthing' into 'master'
Alter MF_NOCLIP behavior

See merge request KartKrew/Kart!829
2022-12-22 07:25:54 +00:00
Sally Coolatta
c804129f3a Merge branch 'master' into spring-overflow 2022-12-22 02:25:46 -05:00
Oni
580de12d24 Merge branch 'fix-load-savegame' into 'master'
Fix netsave loading crash from saving gamedata

Closes #380

See merge request KartKrew/Kart!832
2022-12-22 07:25:15 +00:00
James R
90903e999f Fix MAXAVAILABILITY loop 2022-12-21 23:17:49 -08:00
James R
18acc54706 Merge branch 'cmake-testers' into 'master'
Add TESTERS and HOSTTESTERS builds to CMake options

See merge request KartKrew/Kart!830
2022-12-22 07:02:20 +00:00
Sally Coolatta
9c9d2934c5 Make ring respawn a division
Lets it stay very long for 1v1 like we want, but not matter the closer it gets to 8 players. Tired of people spamming rings to compensate for this problem :V
2022-12-22 01:53:50 -05:00
James R
a29d43d3b5 Restore save_p after P_LoadLevel
P_LoadLevel calls some functions that save gamedata and
unset save_p.
2022-12-21 22:45:46 -08:00
Sally Coolatta
0d8e13e942 Fix spring stack overflow
Closes #377
2022-12-22 01:35:08 -05:00
James R
d496e0f298 Add Tyron's invinc/grow blocked hit sfx 2022-12-21 08:35:26 -08:00
James R
9ddf10c9a5 Broly: detect added hitlag even if damage call didn't deal real damage 2022-12-21 08:35:26 -08:00
James R
ba2a7744d1 Add half hitlag to invincible players if they would've been damaged 2022-12-21 08:35:26 -08:00
James R
b73bbd3712 Add invulnhitlag, timeshit and timeshitprev fields to player_t 2022-12-21 08:08:59 -08:00
Sally Coolatta
19fd6d12e2 Rebalance Jawz
Jawz have their old missable handling, but now deal more damage.
2022-12-20 19:53:19 -05:00
Sally Coolatta
5461abb022 Always update ufo_pieces if possible 2022-12-20 19:51:24 -05:00
Sally Coolatta
df96c633bc Set Battle for Boss warp 2022-12-20 19:47:20 -05:00
Sally Coolatta
07767c4d03 No reference count update in K_ResetSpecialStage 2022-12-20 19:46:22 -05:00
Sally Coolatta
0502affedb Remove offset copy from overlays 2022-12-20 19:44:49 -05:00
Sally Coolatta
138e6ba846 Break the Capsules is always Time Attack rules 2022-12-20 19:39:50 -05:00
toaster
33167078c8 Merge branch 'capsules-improvement' into 'master'
Break the Capsules additions

See merge request KartKrew/Kart!793
2022-12-20 21:26:46 +00:00
Oni
62906ebd4e Merge branch 'unlockables-undefeatable' into 'master'
Unlockables Undefeatable

Closes #350 and #324

See merge request KartKrew/Kart!789
2022-12-19 22:21:30 +00:00