Commit graph

20545 commits

Author SHA1 Message Date
toaster
88ae398eea Rework nextmap to be automatic
- Refactor significantly (now has its own func, `G_GetNextMap`)
    - If gametype uses cups, iterate through cups to find the current level, then grab the next valid level
    - If not, get the next valid mapheader for your gametype
    - SOC `nextmap`/`marathonnext` is not just deprecated but REMOVED
    - Hide the NEXTMAP_ constants again, but leave support dummied out for if we have them publically accessible again
- Also get rid of a bunch of OTHER mapheader stuff we're never gonna use
    - NiGHTS Grades? NOPE
    - Vanilla titlecard patches? NOPE
    - Boss music fadeout/replacement? NOPE
    - Select Heading? NOPE
    - You've been blocked.
- Don't show maps without lumps on the level select list
- this is me being petty, but making it NOTIMEATTACK in SOC instead of TIMEATTACK so we can reconsider the maps with/without them.
2025-02-11 02:24:01 +01:00
toaster
4b12f8a729 Rework special nextmap events.
- G_MapNumber now handles special NEXTMAP_ nextmapspecial_t constants that exist at the end of the available type.
- Cleanup of G_DoCompleted
- Add bounds checking to the various SOC maincfg map starts (spstage_start, etc)
- Add lump checking to titlemap behaviour
2025-02-11 01:52:05 +01:00
toaster
4f7c632e9c Randmapbuffer now prepared for infinite maps
- Now a struct with zone-allocated buffer member
- Instead of bunging it on the end of the buffer, the time for G_SometimesGetDifferentGametype is its own struct member
2025-02-11 01:52:05 +01:00
toaster
e76f92e5db Port Gametype Preference and associated changes
Notably, makes the PWR-based Encore scrambling component of G_SometimesGetDifferentGametype WAY less spaghettified.
2025-02-11 01:52:05 +01:00
toaster
4c109c7161 Don't select a map - whether random (voting screen, randommap command, etc) or specific (map command) if it has no associated lump. 2025-02-11 01:52:05 +01:00
toaster
b92c125928 I_Error in all situations where mapheaders were previously allocated outside of SOC.
Also:
- improved error prints for SOC condition definitions
- improved bounds checking to use `nummapheaders` for iterating over mapheaderinfo
There are still situations that use NUMMAPS like mapvisited, randmapbuffer, etc, which need to be addressed before merger.
2025-02-11 01:52:05 +01:00
toaster
bda189ac5b Don't strip previous thumbnail/minimap information on header replace, since the lumpnum will remain the same otherwise 2025-02-11 01:52:04 +01:00
toaster
f8b4ad70ea Repair bootmap.
We're not even going to use this feature, but it showed up as nonsensical while reviewing, and would take more work to strip out
2025-02-11 01:52:04 +01:00
toaster
78fb4df054 Remove test strtok print 2025-02-11 01:52:04 +01:00
toaster
6a2553cf57 Fix cups.
* Required an adjustment of everywhere using G_MapNumber to return the raw header number, instead of off-by-one ala gamemap.
    * Fixing gamemap is a viable improvement for a future commit, but this commit is already pretty big.
    * Remove SCANTHINGS, since it used G_MapNumber and didn't work with long map names OR virtres anyways.
* Support freeing new information in CLEAR LEVELS maincfg event, since I tried to use that to test cups.
* Make Patch_Free's usability match Z_Free -- passing NULL is permitted and a no-op.
2025-02-11 01:52:04 +01:00
NepDisk
bec03f0a7a repair 'Change scroller direction' 2025-02-10 18:09:29 -05:00
GenericHeroGuy
a78bfe2785 The rest of the changes from de1f67b 2025-02-10 21:56:07 +01:00
GenericHeroGuy
a1eb4a2865 Dehardcode emblems
Guess who found out the hard way!
2025-02-10 21:26:06 +01:00
GenericHeroGuy
628fbd7218 Reorganize mapheader_t (prepare for de1f67b) 2025-02-10 20:15:14 +01:00
NepDisk
703c9bb26c Merge branch 'ACS2' into longmapnames 2025-02-09 22:12:41 -05:00
NepDisk
3e8801cc31 Use PolyDoorSwing 2025-02-09 22:10:56 -05:00
NepDisk
f9e326bab7 Use PolyDoorSwing 2025-02-09 22:06:27 -05:00
NepDisk
36e628611b Use correct wrong way sound 2025-02-09 22:04:11 -05:00
NepDisk
505d00df09 Properly add line and sector activation specials
UZB doesn't support sector activations so the old flags remain
2025-02-09 21:58:14 -05:00
NepDisk
71789e3df1 Remove Ring Racers objects and remove <pending removal> 2025-02-09 21:10:28 -05:00
NepDisk
cd188a800f Update extras/udmf-spec.txt 2025-02-09 20:48:11 -05:00
GenericHeroGuy
034d9df183 Fix Lua HUD interpolation 2025-02-09 20:47:49 -05:00
NepDisk
9937592225 Fix invisible walls 2025-02-09 20:47:33 -05:00
NepDisk
587f14d403 Fix invisible walls 2025-02-09 20:42:34 -05:00
NepDisk
89c643be12 Fix Dr Robotnik's 12 Crazy Laps 2025-02-09 20:07:13 -05:00
GenericHeroGuy
8f87807c92 Fix Lua HUD interpolation 2025-02-10 01:56:29 +01:00
NepDisk
972559463e Fix Dr Robotnik's 12 Crazy Laps 2025-02-09 19:08:02 -05:00
NepDisk
77152250dd Remove GTR_CAMPIGN and assign stuff to grandprix instead 2025-02-09 18:47:51 -05:00
NepDisk
63fe2bbfa1 Numlaps updates from RingRacers 2025-02-09 18:45:53 -05:00
NepDisk
520953fd78 acutally fix going to credits/ending game 2025-02-09 18:45:53 -05:00
NepDisk
508c57f24b prevent credits from running in game 2025-02-09 18:45:53 -05:00
toaster
4c22547ebb Merge branch 'vsync-set-fix' into 'master'
Set vsync on screen update or resolution change in software mode

See merge request KartKrew/Kart!765
2025-02-09 18:45:53 -05:00
NepDisk
af86e1c6b2 Optimize gif recording in opengl a bit 2025-02-09 18:45:53 -05:00
NepDisk
86379856d1 Oops forgot this for vote hook 2025-02-09 18:45:53 -05:00
NepDisk
d1565d1e84 Vote HUD Hook 2025-02-09 18:45:53 -05:00
NepDisk
74eb7643fd Animated vote screens support 2025-02-09 18:45:53 -05:00
NepDisk
0e70fd8ac7 Patch alias and add listskins
https://github.com/Indev450/SRB2Kart-Saturn/pull/33
2025-02-09 18:45:53 -05:00
NepDisk
56745d621b Toggable Lap Emblem Animation 2025-02-09 18:45:53 -05:00
Indev
e5505dd171 Shutdown DiscordRPC when discordrp cvar is set to Off 2025-02-09 18:45:53 -05:00
Indev
cf2bde62e3 Don't init discord rich presence untill discordrp is set to On
Haven't tested this since i'm on linux and the feature looks like it is windows only
2025-02-09 18:45:53 -05:00
NepDisk
90bcbd9944 Sdldraganddrop utf8 on windows
https://github.com/Indev450/SRB2Kart-Saturn/pull/60/
2025-02-09 18:45:53 -05:00
NepDisk
327e1e2f13 Addfile per drag and drop 2025-02-09 18:45:53 -05:00
NepDisk
d060d3f659 Use Windows own high resolution timer for timing things instead of the SDL timer 2025-02-09 18:45:53 -05:00
NepDisk
71a874f582 Add R_PointOnSideFast and R_PointInSubsectorFast and use it to optimize some stuff 2025-02-09 18:45:53 -05:00
hayaunderscore
e694b38878 Add lua hud interpolation
by GenericHeroGuy. https://github.com/Indev450/SRB2Kart-Saturn/pull/130
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
4cae11d307 uncap vhs effect
both this and the last commit are from Saturn
2025-02-09 18:45:53 -05:00
NepDisk
78751d9659 Uncap input display 2025-02-09 18:45:53 -05:00
NepDisk
591c32e97f Port opengl VHS effect from SRB2Kart-Saturn
Does not include uncap stuff currently
2025-02-09 18:45:53 -05:00
NepDisk
a1fdf8210b Use signs for player starts instead of player sprites 2025-02-09 18:45:53 -05:00