Commit graph

20794 commits

Author SHA1 Message Date
NepDisk
7af12aefd7 Fix compile lmao 2025-02-11 16:05:35 -05:00
NepDisk
c713de1225 Revert "Implement per-texture offsets in UDMF"
This reverts commit 6808564763.
2025-02-11 15:52:37 -05:00
GenericHeroGuy
4697a69bd9 Ignore old SOC map header fields 2025-02-11 21:33:12 +01:00
NepDisk
50e5725e4a Various UDMF fixes 2025-02-11 15:32:19 -05:00
MascaraSnake
30dd68aea3 Don't require floor touch for currents in non-FOF sectors unless it's a horizontal currents in binary (because backwards compatibility) 2025-02-11 15:14:44 -05:00
GenericHeroGuy
27d51b370f Restore 'map +' command 2025-02-11 21:12:47 +01:00
GenericHeroGuy
d5418e4bdb You win this time, cv_nextmap... 2025-02-11 20:41:54 +01:00
toaster
342f6294eb Kill spstage_start and spmarathon_start 2025-02-11 17:30:03 +01:00
NepDisk
2e693f54e2 Merge pull request 'Use separate table for maskedtexturecol' (#21) from separatemaskedtexturecol into ACS2
Reviewed-on: https://codeberg.org/NepDisk/blankart/pulls/21
2025-02-11 16:27:41 +00:00
NepDisk
77dbfcd3bb Fix Mid texutres not rendering 2025-02-11 11:26:47 -05:00
toaster
551c5531d5 Enforce maximum length of 63 for map lumpname
Also, in g_demo.c, use SKIPSTRING (instead of READSTRINGN into a discard buffer)
2025-02-11 17:22:34 +01:00
toaster
2c7e7b8aa8 Fix replacing cups' map lists not properly reassigning the cachedlevels 2025-02-11 17:22:34 +01:00
toaster
1475feb734 Refactoring ahoy
* Instead of doing constant G_MapNumbers when finding the relationship between maps and cups...
    * Add a cache of level IDs to cups, to go with the strings.
    * Add a cache of the cup pointer to maps, so we don't have to search through all cups to find our map. (done in P_InitMapData)
    * Pre-emptive work: G_IsSpecialStage and P_GetNextEmerald now reference cup data instead of a hardcoded ID set.
* Remove a bunch of old stuff from mapheaderinfo_t/associated, and reorder what stays
    * Countdowntimer? 💥
    * Startrings? 💥
    * sstimer/ssspheres? 💥
    * forcecharacter? 💥 (distinct from forceskin)
    * interscreen? 💥
    * sstage_start/end and smpstage_start/end? 💥💥💥💥
    * You've been blocked
* G_MapNumber now returns a special NEXTMAP_INVALID if not found, for more consistent reference.
* Incorporate a good chunk of the `edit-headers` branch. Can't clear maps individually because of the new restrictions on sequential mapheaders, but we can add a "disable in vote screen, not even for map hell/archive" flag to a map at some future juncture for equivalent functionality...
2025-02-11 17:22:34 +01:00
GenericHeroGuy
66f965c2c0 Get rid of basenummapheaders
More oddball differences causing merge conflicts...
2025-02-11 17:22:31 +01:00
GenericHeroGuy
92af45dac5 Oh boy, another mapheader_t shuffle 2025-02-11 16:14:11 +01:00
toaster
e8f582555d Adjust P_AllocMapHeader and associated
- Prints with more info
- No weird increment/decrement
2025-02-11 16:10:53 +01:00
GenericHeroGuy
c159102ebe I told you I'd forget about it 2025-02-11 15:55:57 +01:00
GenericHeroGuy
79e3116277 And STAY DEAD 2025-02-11 15:50:58 +01:00
toaster
4d5cfc38bb NUMMAPS is dead
Dynamically allocated mapheaderinfo. 1035 reserved slots in a google doc is a thing of the past
2025-02-11 15:38:43 +01:00
toaster
13dacbb162 Demos now store map lumpname rather than mapheader ID
This was the last thing we needed to do before infinite maps. Stay tuned.
2025-02-11 15:35:19 +01:00
toaster
a9f1408376 Remove mapname buffer from serverinfo_pak 2025-02-11 15:28:17 +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
GenericHeroGuy
03d847d416 oops, forgot menu changes 2025-02-11 02:38:20 +01:00
toaster
b9da47c13d discord.c compilation warning 2025-02-11 02:31:14 +01:00
toaster
18fdd8fa9a Repair D_StartTitle component of netgame title fallthrough prevention 2025-02-11 02:30:23 +01:00
toaster
95b98e4147 Disable hardcoded Discord API map icons for now, we can address this at release 2025-02-11 02:27:21 +01:00
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
5e9970311f repair 'Change scroller direction' 2025-02-10 18:10:37 -05:00
NepDisk
bec03f0a7a repair 'Change scroller direction' 2025-02-10 18:09:29 -05:00
NepDisk
b9196f921d Use separate table for maskedtexturecol 2025-02-10 17:54:40 -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
b2b467c68a Improve HUD rendering when drawing stretched patches
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2635
2025-02-10 13:18:07 -05:00
NepDisk
167d20a07e Properly Convert Rocks 2025-02-10 13:04:34 -05:00
NepDisk
5c2d8b744c Properly fix Balloon colors 2025-02-10 12:59:29 -05:00
NepDisk
e8ce92d3ef Make goo like v1 kart 2025-02-10 05:37:35 -05:00
NepDisk
7881542a01 readd pogospring gravirt 2025-02-10 05:27:32 -05:00
NepDisk
0fe1da37f8 Make Blockplayers UDMF only, revert ML_BLOCKPLAYERS to ML_EFFECT6 , readded override gravity flag and fix up binary conversion code. 2025-02-10 05:22:32 -05:00
NepDisk
608b7070be Fix typo and make like v1 2025-02-10 02:06:36 -05:00
NepDisk
1471a7b1d8 Update UDMF spec to mention added stuff 2025-02-10 01:35:34 -05:00