Commit graph

21039 commits

Author SHA1 Message Date
James R
546b4dcb88 Merge branch 'save_p-unglobal' into 'master'
Make save_p / savebuffers not global

See merge request KartKrew/Kart!834
2023-01-06 01:02:07 +00:00
toaster
22b87e0f19 Consistency for mobjnum 0 meaning NULL
Moves `P_Net(Un)ArchiveTubeWaypoints` down the file to take advantage of `SaveMobjnum` inline.
2023-01-06 00:05:31 +00:00
toaster
5c1235407b Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into save_p-unglobal 2023-01-05 23:49:30 +00:00
toaster
ede0f56819 Revert all instances of P_SaveBufferFree(&demobuf) for now
g_demo.c is officially No Man's Land
2023-01-05 23:44:40 +00:00
toaster
724c9b774e Cleaner reference handling for the following extern-scope netsynced mobj_t*.
- `skyboxcenterpnts` and `skyboxviewpnts`
    - P_InitSkyboxPoint`, which calls `P_SetTarget`
- `waypoint->mobj`
    - Make sure NULL before using `P_SetTarget` on
- `tubewaypoints`
    - Use `P_SetTarget`
    - Use `UINT32_MAX` for the invalid mobjnum, since 0 is a valid one.
- `waypointcap` and `kitemcap`
    - NULL before reset

Our international nightmare is over.
2023-01-05 23:32:12 +00:00
Eidolon
1094f844a6 Merge branch 'loadlibrary-exchndl' into 'master'
core: load exchndl.dll at runtime, RINGRACERSWADDIR

See merge request KartKrew/Kart!857
2023-01-05 23:30:23 +00:00
Sal
eb68c15c96 Merge branch 'stairjank-falloff' into 'master'
Reduce stair janking loss of control if momentum angle drifts too far from facing angle

See merge request KartKrew/Kart!850
2023-01-05 22:37:55 +00:00
Sal
5ede1e5a18 Merge branch 'find-musicdef' into 'master'
Add S_FindMusicDef, function to find musicdef by name

See merge request KartKrew/Kart!860
2023-01-05 21:56:47 +00:00
Sal
b46caf4a7a Merge branch 'addons-menu-addons-folder' into 'master'
Go to addons folder by default in addons menu

Closes #373

See merge request KartKrew/Kart!853
2023-01-05 20:51:28 +00:00
Sal
14b6ebd25a Merge branch 'rulesify-item-odds' into 'master'
Fix Battle item spawning odds

See merge request KartKrew/Kart!852
2023-01-05 20:43:59 +00:00
Sal
292a747a17 Merge branch 'unlock-menu-extra' into 'master'
Challenges polish

See merge request KartKrew/Kart!855
2023-01-05 20:29:10 +00:00
Sal
6e6a799b1e Merge branch 'refactor-get-item-odds' into 'master'
Refactor K_KartGetItemOdds

See merge request KartKrew/Kart!851
2023-01-05 20:25:54 +00:00
Sal
3b53396103 Merge branch 'fix-distribution-debugger' into 'master'
Fix crash in item distribution debugger

See merge request KartKrew/Kart!862
2023-01-05 20:23:44 +00:00
James R
d56a5041aa Use K_GetCachedItemPatch for distribution debugger
Fixes crash from patch array mismatch.
2023-01-05 05:13:18 -08:00
James R
dfd8a36f8f sdl/i_main.cpp: fix -Wliteral-suffix 2023-01-05 03:51:04 -08:00
James R
0bf821447e Add S_FindMusicDef, function to find musicdef by name
Use this function wherever the musicdef list is walked.
2023-01-04 23:34:45 -08:00
Eidolon
4522b4953e core: change SRB2WADDIR var to RINGRACERSWADDIR 2023-01-04 19:36:33 -06:00
Eidolon
d53efbdace core: load exchndl.dll at runtime
This allows the game to run without exchndl.dll present.
2023-01-04 19:34:41 -06:00
Eidolon
4a7463d134 Merge branch 'split-cpm-scripts' into 'master'
Split cpm scripts

See merge request KartKrew/Kart!856
2023-01-05 01:31:26 +00:00
Eidolon
81d1aa79c2 cmake: Split common deps setup scripts 2023-01-04 17:30:45 -06:00
Eidolon
dd182cd0a1 cmake: Separate cpm discordrpc setup 2023-01-04 17:30:45 -06:00
Eidolon
ac7ca10061 cmake: Separate cpm xmp-lite setup 2023-01-04 17:30:45 -06:00
Eidolon
181a159f33 Merge branch 'new-audio-mixer' into 'master'
New Audio Mixer

See merge request KartKrew/Kart!847
2023-01-04 22:52:50 +00:00
Eidolon
b95fd459b9 cmake: Remove SDL2_mixer and OpenMPT
Libraries superceded by libxmp-lite and new mixer.
2023-01-04 16:51:12 -06:00
Eidolon
8c259487b2 audio: Add pure-ISO C++17 audio mixer and backend
This replaces SDL2_mixer.
2023-01-04 16:51:12 -06:00
Eidolon
ba109d8981 core: Catch and I_Error uncaught exceptions in main 2023-01-04 16:51:12 -06:00
Eidolon
9806df5883 cmake: Add stb-vorbis
This is a lightweight single-file Ogg Vorbis decoder which will be used
for Ogg playback instead of libogg/libvorbis.
2023-01-04 16:51:12 -06:00
Eidolon
210b513c8b cmake: Add xmp-lite
This is a very lightweight module playback engine which will replace
OpenMPT.
2023-01-04 16:51:12 -06:00
Eidolon
25e3b4239c io: Allow span and vec stream to seek past end 2023-01-04 16:51:12 -06:00
Eidolon
2a0e183340 legal: Add copyright notice to io/streams 2023-01-04 16:51:12 -06:00
toaster
91a4026871 Remove now-unused definition for challengesbordercolor 2023-01-04 18:04:38 +00:00
toaster
c628014c47 Add an extra guard for unlock condition string drawing to prevent hypothetical out of bounds read 2023-01-04 17:52:28 +00:00
toaster
6274b1f31f Fast forward through the unlock sequence by holding the Extra button.
Based on VC complaints.
2023-01-04 17:45:24 +00:00
toaster
20b6a8389b Challenge grid population improvement
* Correctly identify that two columns with only one major unlock will have 6 empty tile slots, not two. This will result in less underutilised Challenges grid space.
2023-01-04 17:28:45 +00:00
toaster
06e7eb3567 Add a funny little rotating question mark ala SA1 character select 2023-01-04 17:23:18 +00:00
toaster
f9e0c0a444 Challenges menu visual adjustment
* Use the new background
* Use clipped rectangles instead of black pixel overdraw, so pre-baked darkened areas in the new background can be visible instead
2023-01-04 17:22:57 +00:00
toaster
2786c2095e More incorrect/inconsistent frees 2023-01-04 14:22:04 +00:00
James R
5ed30012ed cv_addons_option: rename RINGRACERS to IWAD
This maps to the srb2path folder, which is where the IWAD
is located.
2023-01-04 00:09:58 -08:00
James R
8b96612e43 Default addons menu to addons folder 2023-01-04 00:08:30 -08:00
James R
5c51ad77f6 Use P_SaveBufferFree everywhere
- Fixes PR_SaveProfiles calling stdlib free on zone
memory.
- Also touched g_demo.c
2023-01-03 23:23:34 -08:00
James R
66e2f3a8e9 Reduce stair janking loss of control if momentum angle drifts too far from facing 2023-01-03 22:43:58 -08:00
toaster
11b4fcdc1c Remove heinous pointer-sent-over-the-network hack remnants
This used to be used for `P_RelinkPointers()`, but was superseded by the far saner mobjnum. HOWEVER, its lingering effect was to leave `mobj->info` in an invalid state until a later `P_FinishMobjs()` was called. This is memory unsafety :D

After removing the last remnants of this ancient hack, it is now once again possible to connect to a server without crashing immediately. However, I did get a crash after a few seconds, so there is definitely still *something* nasty going on under the hood.
2023-01-03 20:20:22 +00:00
toaster
80d19a8458 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into save_p-unglobal-alt
# Conflicts:
#	src/g_demo.c
2023-01-03 19:45:18 +00:00
toaster
b573b6efbc Don't tie restoring mobj/waypoint pointers on player struct to existence of player object 2023-01-03 19:41:46 +00:00
toaster
9336e39350 Use Zone memory functions for sending compressed saves
Fixes an issue where `SF_RAM` meant `free()` was being called on Zone memory produced by `P_SaveBufferAlloc`
2023-01-03 19:41:27 +00:00
James R
ae16f124db K_GetTotallyRandomResult: use NULL roulette data
This fixes random paper items spawner RNG not advancing.
2023-01-03 05:30:53 -08:00
James R
339cb1e8b8 K_KartGetItemOdds: apply GTR_CIRCUIT checks
- No restriction on whether more than one player may
receive the same type of shield outside of Race.
- SPB is now technically allowed outside of Race, if item
odds permit.
- powerItems and assorted checks no longer apply outside
of Race.
2023-01-03 05:29:59 -08:00
James R
a37eccd708 Split powerItem etc conditions from K_KartGetItemOdds 2023-01-03 04:42:48 -08:00
James R
aab661cad8 Split shields and SPB special conditions from K_KartGetItemOdds 2023-01-03 04:42:48 -08:00
James R
5bdbbd1695 Comptime.cmake: escape \backslashes and "quotes" in git subject line 2023-01-02 20:06:30 -08:00