Commit graph

22305 commits

Author SHA1 Message Date
toaster
3e900d7f57 G_DirtyGameData: Dirty bit only applied in I_Error and signal handlers, nowhere else
- Unfortunately, the way this system previously worked, the unlock was given to you for free if you accidentially opened two copies of the game at once.
- Instead, open the file in r+ mode, shimmy along 5 bytes, and write a `true` to be read later.
- Far more memory safe than rewriting the entire gamedata out on crash.

ALSO:
- crashflags has been split into boolean evercrashed and UINT8 musicflags.
    - We don't need to track if the LAST session was a crash, at least not right now.
    - Opens the floor up to other music like Loser Club happening on the Challenges menu.
2023-03-17 14:42:06 +00:00
toaster
c33ae4ae62 Gamedata: Fix issues with cup windata handling
- G_SaveGameData: correctly increase length of buffer to account for cup name
- G_LoadGameData: digest the cup's associated windata even if it's not loaded
2023-03-17 13:09:58 +00:00
toaster
b0a028c756 Jartha review: Use P_IsMissileOrKartItem for UCRP_HITMIDAIR instead of P_IsKartFieldItem directly 2023-03-17 13:03:19 +00:00
toaster
3ead0d09c4 Jartha review: Issues with activation and comments of UCRP_WETPLAYER and UCRP_FALLOFF 2023-03-17 13:00:17 +00:00
James R
4a7e72482d Merge branch 'prisons-sound' into 'master'
Prison hitconfirm sound even in Time Attack

See merge request KartKrew/Kart!1056
2023-03-17 06:26:15 +00:00
James R
ba23836fc1 Merge branch 'f9-f10' into 'master'
Turn F9 into a dedicated WebM button, add F10 as "lossless recording" button

See merge request KartKrew/Kart!1045
2023-03-17 06:25:50 +00:00
James R
666837c620 Call R_PrintTextureDuplicates on I_Quit too
Fixes crash from thread terminating if the program exits
before the title screen.
2023-03-16 23:23:16 -07:00
Sally Coolatta
fd9ad6e17d Fix overlap for ACS_Execute args 2023-03-17 01:52:25 -04:00
Sally Coolatta
5332bff0aa Fix Sector_ToggleWaypoints crash 2023-03-17 01:31:53 -04:00
toaster
e5f88dd2c6 UC_ADDON: On second thoughts, don't have seperate conditions for DEVELOP and non-DEVELOP
Any difference in behaviour between these is a possible avenue for bugs which take some time to be discovered
2023-03-16 23:27:21 +00:00
toaster
7b917930d4 M_BuildConditionSetString: Fix capitalisation rules to prevent "NO CONTEST On GREEN HILLS"
(The desired version of the string is "NO CONTEST on GREEN HILLS".)
Instead, searches for the first ':'.
- If found, goes to the first non-whitespace character afterwards and toupper's it.
- If not, goes to the first non-whitespace character at all and toupper's it.
2023-03-16 14:05:54 +00:00
toaster
412107c140 Adjust string for UCRP_FINISHTIMEEXACT to match the same number of visible digits by using X as a wildcard millisecond 2023-03-16 13:04:14 +00:00
toaster
680416946a UCRP_FINISHTIMEEXACT: Round to the nearest second 2023-03-16 13:01:26 +00:00
toaster
f2f8a10bd0 M_DrawCupSelect: Fix regression for S3K monitor graphic alignment 2023-03-16 12:54:59 +00:00
James R
6d43670673 Move R_PrintTextureDuplicates call to F_TitleScreenTicker 2023-03-16 05:39:27 -07:00
toaster
3d786646bf Merge branch 'fix-sneaker-ufo' into 'master'
Reset stacked sneaker counter when hitting UFO

See merge request KartKrew/Kart!1043
2023-03-16 12:14:21 +00:00
toaster
5c4044a943 Merge branch 'ufo-stumble' into 'master'
Non-damaging UFO-player collision

See merge request KartKrew/Kart!1042
2023-03-16 12:14:04 +00:00
toaster
acfd7855c8 Merge branch 'sliptide-improvements-improvements' into 'master'
More lenient minimum wavedash time

See merge request KartKrew/Kart!1052
2023-03-16 12:13:31 +00:00
toaster
ba81dee5d1 Merge branch 'fix-twodee-flip-offsets' into 'master'
Fix sprite offsets on character select screen

Closes #465

See merge request KartKrew/Kart!1054
2023-03-16 12:12:35 +00:00
toaster
1607c6acb4 Merge branch 'gp-10-lives' into 'master'
10 lives in GP

See merge request KartKrew/Kart!1046
2023-03-16 12:12:12 +00:00
James R
9f2941df63 Use gifs folder for GIF recording
WebM uses movies folder. movie_mode screenshot and
movie_mode apng use slideshows folder. ;)
2023-03-16 00:10:08 -07:00
James R
4591b81cd9 Let startmovie record WebM only, add startlossless to use lossless_recorder 2023-03-16 00:10:08 -07:00
James R
aef45fb005 Rename moviemode_mode cvar to lossless_recorder, remove WebM option, adjust menus 2023-03-16 00:10:08 -07:00
James R
efb86f709f Add F9 as a dedicated WebM button
Lightly refactors M_StartMovie and M_ScreenshotResponder.
2023-03-16 00:10:01 -07:00
James R
82866f74d0 Use only single digit if less than ten lives in HUD 2023-03-15 23:23:06 -07:00
toaster
2bec35a9e9 MT_BATTLECAPSULE: Always play a Starpost sound, even if you're not getting extra timelimit for it, just because the hitconfirm is good seratonin 2023-03-15 17:46:27 +00:00
toaster
29f17809bf Addons menu: Adjust most assetsby a handful of pixels to prevent the loaded indicator from going off the bottom of the screen 2023-03-15 17:34:49 +00:00
toaster
90591942ad musicwads
Record number of music files which we were able to add, so Addons menu shows the correct number of addons loaded.
Also marks main music files in `listwad` command.
2023-03-15 17:33:55 +00:00
toaster
6fee220c79 RET_SOC: Save internally as 2.1.x-onward SOC_ prefix format 2023-03-15 17:32:13 +00:00
toaster
e0c9014547 P_AddWadFile: Do not I_Error if the file is not loaded due to invalid P_PartialAddGetStage 2023-03-15 17:31:34 +00:00
toaster
e943ba7548 Challenge condition string: Grey out if you've unlocked the space with a Chao Key and haven't achieved its associated condition yet
You can still achieve it and make it full-bright at a later date
2023-03-15 14:51:13 +00:00
toaster
7f3836f916 Chao Key changes
- Chao Keys are now UINT16 instead of UINT8
- The maximum number of Chao Keys is now 9999, which is the largest number of 9s that can fit in a UINT16
- Used keys no longer count towards your total
Will mildly corrupt gamedatas made with previous conditions-cascading builds, but only in a way that gives you extra keys than you've earned.
2023-03-15 14:49:22 +00:00
toaster
2ec3cf498d K_DrawChallenges: Technically possible to have 3-digit Chao Keys, so scooch just a hair further 2023-03-15 13:19:01 +00:00
toaster
bb98db6fce Ring count formatting: Correct to always have leading 0s for up to 3 digits 2023-03-15 13:14:12 +00:00
toaster
8c19477ad8 Self-review: Correct to say "GP & Time Attack data" 2023-03-15 13:12:19 +00:00
James R
eae2bc5c3c V_DrawStretchyFixedPatch: fix flipped patch offsets 2023-03-15 01:16:12 -07:00
James R
ad5b70439c Twodee: flip trimmed offsets too
Fixes flipped patches being offset by the empty space on
the left side. Now it uses the empty space on the right,
when flipped.
2023-03-15 00:31:29 -07:00
James R
119e4ca5a1 Stop sounds when exiting the game back to the Title Screen 2023-03-14 21:21:27 -07:00
James R
b6aed379b5 Merge branch 'remove-screenshot-option' into 'master'
Remove options to change screenshot, movie and addons folders

See merge request KartKrew/Kart!1048
2023-03-15 03:48:28 +00:00
toaster
b3e803a294 Merge branch 'hotswap-legacy-gl' into 'master'
Restore renderer swapping to and from legacy GL

See merge request KartKrew/Kart!1026
2023-03-14 22:56:02 +00:00
toaster
edddb26f98 P_Net(Un)ArchivePlayers: Send roundconditions.unlocktriggers over the wire
Discovered while self-reviewing that ACS has read access to this, not just write, so it has to be saved and loaded.
It is the only roundcondition which should be netsynced. Everything else is truly per-player progression.
2023-03-14 22:05:13 +00:00
toaster
2e1efaff0c Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into conditions-cascading
# Conflicts:
#	src/k_battle.c
#	src/k_hud_track.cpp
#	src/k_kart.c
#	src/p_inter.c
2023-03-14 21:59:19 +00:00
toaster
2d7ef00e29 Discoveries while self-reviewing during description creation
- Rename "FinishAllPrisons" and correct text to refer to Prisons
- Do not hint at greater speeds for UCRP_ISDIFFICULTY
2023-03-14 20:59:51 +00:00
toaster
0124cf7356 No TEST RUN in statistics as that's also forbidden in Time Attack 2023-03-14 20:36:54 +00:00
toaster
967ad3662d M_DrawMapMedals: Only shows ET_MAP medals with ME_ENCORE and/or ME_SPBATTACK if you've unlocked those two things 2023-03-14 20:28:36 +00:00
toaster
22e17fd881 Statistics respects cups now
- Adds headers to the list
- Adds indentation
- Doesn't show extra medals if there are none available
- Cleans up some of the undesired duplication in the drawer
2023-03-14 20:27:58 +00:00
toaster
4db0affd2b Addons menu: Show unlocks after backing out
- For the Addons unlock condition.
- Also forbids having menu flow interrupted with challenges if you're in-game
2023-03-14 17:04:46 +00:00
toaster
558d3dc842 M_DrawChallenges: Change offset of Chao Keys 2023-03-14 12:48:34 +00:00
toaster
107acf34d3 Fix some softlock circumstances caused by the Chao Key system
- Nonzero keys pending, but zero pending rounds
- Nonzero keys pending, but too many keys already earned
2023-03-14 12:28:52 +00:00
Sally Coolatta
181501860f Make stringarg application consistent
stringarg[0] and stringarg[1] are now are used as doubles of arg[0] and arg[1]. Specials that use both string args and regular args need to shift their args up to accomedate. This makes the behavior align more closely with the other Doom ports and removes a dumb manual string arg amount thing in callSpecImpl.

I only adjusted the specials that can be called from ACS. I did not mess with level load specials or thing types, since it's not as important. It would be nice to clean them up before release for consistency, though.
2023-03-14 08:03:20 -04:00