Commit graph

22214 commits

Author SHA1 Message Date
James R
a08c0d478c signal_handler_child: call G_DirtyGameData for NEWSIGNALHANDLER too 2023-03-17 22:27:35 -07:00
Sally Coolatta
d4e1c6cd84 Remove p_sight assert
It's already returning false for an almost identical case. Just return false.
2023-03-18 01:27:32 -04:00
toaster
104f41f4a9 Annoying little bonus: Fix ghostly bot bodies in singleplayer Prisonbreak from command line not getting discarded
This happens ALL THE TIME while I'm testing CDSS1 remaster direct from ZB, and this is essentially the CDSS1 remaster branch
2023-03-18 00:52:27 +00:00
toaster
5232da8f24 HUD tracking polish
Inexplicably, all positional checks were inverted.
This wasn't causing too many problems because the onScreen condition was inverted too, but if it would be above your screen on the opposite side of you, it would be considered onscreen when facing 180 degrees away perfectly.
By swapping viewx/y/z and point->x/y/z, and inverting onScreen, we kill this annoying lack of polish for good.
2023-03-18 00:25:22 +00:00
toaster
81e880464a CD Special Stage UFO changes
- MT_CDUFO is now a valid type of Prison in Prison Break
    - Tracked on counter
    - Tracked on HUD
    - Tracked on minimap
- P_AddBrokenPrison in p_inter.c
    - Generalises behaviour on breaking a Prison Break object
- MT_CDUFO polish
    - Can now be broken with all damaging objects EXCEPT Shield Orbinaut/Shield Jawz
        - These two are exceptions to prevent them from denying you your on-contact item grab., which these will still give you if you touch them
    - Breaking the object by touching it now causes hitlag instead of fireworks
        - The fireworks were to make touching it feel good... but hitlag feels better :P
    - Now supports mapobjectscale directly.
    - Scaled 1.5x mapobjectscale
    - Hitbox now far closer to actual sprite (which was just replaced, but was inexplicably far away from the old one too)
2023-03-18 00:22:44 +00:00
toaster
fcfaf1321c Flame shield polish
- MT_FLAMESHIELD: Flicker dispoffset depending on whether frame is supposed to be behind or in front of player
- MT_FLAMESHILEDUNDERLAY: Use P_SpawnMobjFromMobj to match interpolation coordintes, any other relevant properties, etc
2023-03-17 21:31:50 +00:00
toaster
a134465e65 S3K Shields: remove splitscreen-dependent mobj position behaviour
Was especially egregrious for bubble shield, which literally has a hitbox and could've caused live desync.
2023-03-17 21:27:19 +00:00
SteelT
e5b595b846 Fix scrambleremoved not being registered for dedicated servers 2023-03-17 15:22:47 -04:00
toaster
8285f0a636 M_DrawChallengePreview for SECRET_SKIN: Keep the engine class indicator square no matter where it is on the grid 2023-03-17 14:49:40 +00:00
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