Commit graph

21315 commits

Author SHA1 Message Date
toaster
5a97dab6d4 Merge branch 'minor-cherrypicks-270123' into 'master'
Minor cherrypicks 270123

Closes STJr/SRB2#900

See merge request KartKrew/Kart!905
2023-02-06 22:19:32 +00:00
toaster
45e02b67be Merge branch 'stumble-repair' into 'master'
Stumble damage type repair

Closes #425 and #424

See merge request KartKrew/Kart!909
2023-02-06 22:18:07 +00:00
toaster
3dcc0c038f Merge branch 'bottrack-crash' into 'master'
K_BuildBotTiccmd: Catch NULL track predictions

See merge request KartKrew/Kart!904
2023-02-06 22:16:52 +00:00
toaster
c192acf9a2 Merge branch 'third-page-problems' into 'master'
Third Page Problems

See merge request KartKrew/Kart!911
2023-02-06 22:15:51 +00:00
toaster
daf11a1407 M_LevelListFromGametype: Z_Malloc instead of Z_Calloc for initialisation of cupgrid.builtgrid
A memset is already guaranteed to follow this initialisation.
2023-02-06 20:47:48 +00:00
toaster
8b7faa10c1 M_LevelListFromGametype: Remove memory-corrupting memset
- firstlen was in units of raw UINT8 address (pre-multiplied by sizeof(cupheader_t*)) to permit being used in Z_Realloc. However, it was being added onto the cupgrid.builtgrid pointer BEFORE it was cast into UINT8* for memset, leading to an offset, when considered in terms of UINT8 address.
- Z_Realloc2 is always guaranteed to memset any appended memory so this wasn't even required
2023-02-06 20:46:47 +00:00
James R
f0ea20d54d Merge branch 'move-acsvm-cmake' into 'master'
cmake: move ACSVM fetch to cpm-acsvm.cmake

See merge request KartKrew/Kart!902
2023-02-06 00:35:21 +00:00
toaster
9bf5328d55 P_DamageMobj: Fix DMG_STING not playing sound 2023-02-03 01:05:05 +00:00
toaster
057b46f4bd P_DamageMobj: DMG_STUMBLE should not drop shields 2023-02-02 22:18:28 +00:00
toaster
e710d13ef1 P_ConvertBinarySectorTypes: Stumble is now binary sector type 11
Was 9, but conflicted with Ring Drain
2023-02-02 22:03:59 +00:00
Oni
79796b00f5 Merge branch 'sprite-brightmaps' into 'master'
Rudimentary sprite brightmap support

See merge request KartKrew/Kart!801
2023-02-02 05:49:31 +00:00
Oni
4cc8e46cf8 Merge branch 'minigen-verbose' into 'master'
Verbose minigen - "RR_GREENHILLS-MINIMAP.png"

See merge request KartKrew/Kart!903
2023-02-02 05:25:30 +00:00
Oni
b3a299e7e6 Merge branch 'menu-flow-polish' into 'master'
Menu flow polish

See merge request KartKrew/Kart!907
2023-02-02 03:52:37 +00:00
toaster
61020a2621 M_HandleMenuMessage
Do not permit a menu message to be interacted with if it has not completely risen.
Fixes the occasional skip if you hold the button a fraction of a frame too long, which most scarily could happen on the data erase confirmation...
2023-02-01 23:34:23 +00:00
toaster
fd575deb10 D_ClearState, D_StartTItle: Fix music restarting if shared between connection screen/playsim and menu 2023-02-01 23:26:33 +00:00
toaster
69484cd55a Failed net connection: Catch another exit to title, and replace with menu restore. 2023-02-01 23:19:50 +00:00
toaster
5b0b118ee5 M_SpecificMenuRestore: Fix a bug where setup_numplayers was always being set to 1, instead of only when "skipping" character select via netgame connection 2023-02-01 23:16:48 +00:00
toaster
03d422560d menu_t, M_PlayMenuJam: const char *music parameter
If Playing(), does nothing.
- If NULL, cycle between Cascade Cave as is traditional.
- If ".", stop music. (will one day be used for sound test)
- Any other case, call S_ChangeMusicInternal on the string directly

Notable menu sets:
- All Extra menus, excepting the Replay Hut, use "EXTRAS"
- Replay Hut uses "REPLAY"
- All online menus use "NETMD2".
    - I know we wanted to do something with switching between "NETMDE" and "NETMD2". I would prefer a more consistent API for transferring song position across between tracks be implemented before implementing this.
    - Known bug: Music restarts when exiting from failed connection screen
    - Known bug: Music goes back to Cascade Cave when selecting "GO" for server creation
        - Wontfix as we want that button to go directly to the voting screen, which we can do in a voting revamp branch
- Data Erase, Profile Erase: "SHWDN2"
    - Not in the spec but I think it's both funny and a valuable tell for the most "dangerous" menu to play with.
    - Also shifts the background to SKINCOLOR_BLACK
2023-02-01 23:15:51 +00:00
toaster
f46fbf0418 Remove MessageDef
This was a dummy conditional which was necessary in the old menu system; this is no longer the case as of newmenus.
2023-02-01 22:39:35 +00:00
toaster
f630bbb1cf Challenges menu: More complicated music behaviour
- Pure silence when challenges are being unlocked
- Begin playing the menujam as control returns to the player
2023-02-01 22:14:26 +00:00
toaster
57b22f32d5 M_PlayMenuJam
Pre-emptive work for more complicated menu music behaviour, permitting consistent implementation of the cycling music.
2023-02-01 22:12:41 +00:00
toaster
d31e5ac76f M_HandleReplayHutList: Repair handling for selecting replays
It seems to be an interaction with running transitions, which I was trying to avoid for this menu anyways.
2023-01-31 20:09:36 +00:00
toaster
0305249a36 PLAY_MP_OptSelectDef: Adjust the unwinding boxes
- Make them open in a snappier fashion, not a leisurely step
- Fix the open box missing an entire row of pixels at the top
2023-01-31 15:54:19 +00:00
toaster
39dadf1b1e PLAY_MP_OptSelectDef: Integrate M_MPOptSelectInit into M_SpecificMenuRestore 2023-01-31 15:52:46 +00:00
toaster
7b483f9c75 PLAY_RaceGamemodesMenu: Slight rephrase of the Grand Prix menu tooltip 2023-01-31 14:39:51 +00:00
toaster
18faf5d54a HU_DrawDemoInfo: do not draw best lap time when irrelevant 2023-01-31 14:35:57 +00:00
toaster
87ee91638e D_ClearState, G_EndGame, G_GameEndTicker: Move netgame-specific server looping out of the general state-clearing function, for sanity's sake. 2023-01-31 14:09:21 +00:00
toaster
2d5d5343b1 M_EndModeAttackRun bugfixes
- Correctly restore menu state after failed record attack run
- Making things easier for future work - use demo.title as signifier to go back to title screen
2023-01-31 14:00:21 +00:00
toaster
defa4511a8 G_EndGame: Do not open menu if D_ClearState runs netgame level loop behaviour 2023-01-31 13:57:53 +00:00
toaster
418cc29adc M_FirstPickProfile, M_StartControlPanel: Support restoremenu after first profile selection 2023-01-31 13:12:31 +00:00
toaster
3ba8ccfbfb M_SpecificMenuRestore: Only M_SetupRaceMenu in GT_RACE 2023-01-31 12:54:34 +00:00
toaster
0947ed5eec M_SpecificMenuRestore: Move all conditional sets of restoreMenu inside this function
In the case of returning from the Challenges grid, restoreMenu would not actually match the condition - preventing the relevant code from running.
2023-01-31 12:54:11 +00:00
toaster
8d6be5e662 M_StartControlPanel: Fix incorrect interaction with NULL restoreMenu and Challenges menu 2023-01-30 00:35:52 +00:00
toaster
749de36734 M_InterruptMenuWithChallenges: Fix a rendering error where an irrelevant unlockable could be highlighted during the fade-in before jumping into position 2023-01-29 23:59:53 +00:00
toaster
20e9b2f5e8 Restore menu state after playsim
- restoreMenu, M_SpecificMenuRestore
    - From any Cup Select, Level Select, or Time Attack context (including non-net replay playback), return to the relevant "core menu"
    - From any server OR server connection failure, return to the Online EGGA CHANNEL top-level menu
    - From netreplay, head to replay hut without incorrect gamestate/fade cope
    - Interruption for Challenges unlock sequence now happens on all menu returns, not just post-titlescreen
- M_StartControlPanel
    - Integrate with above
    - Handle menu re-initialisation properly under more contexts
- D_ClearState
    - Split out from D_StartTitle
    - Can be used alongside M_StartControlPanel to restore menu state from any play session in a way just as reliable as D_StartTitle was
2023-01-29 23:53:21 +00:00
toaster
154d9c5f18 Replay Hut: Remove all snapto flags so it works with the border for other aspect ratios 2023-01-29 01:10:54 +00:00
toaster
4530ccf2aa Remove Playback mini-menu shortcut indicators
These are completely incompatible with newmenus because we can't assume anyone would have these buttons unbound. If we add anything like them later, they'll be user-bindable - but the point of good menu design is to not require shortcut keys.
2023-01-29 00:36:38 +00:00
toaster
c55849006d Repair playback mini-menu
- Fix starting the playback mini-menu
- Fix playback mini-menu input not being natively horizontal
- Fix playback mini-menu having been written before r_splitscreen refactor
- Move heinous modifying-menu-data-in-the-drawer behaviour to an actual dedicated ticker
2023-01-29 00:29:46 +00:00
toaster
05301d0825 Repair demos that finish without crashing inexplicably returning to titlescreen after their completion
It's because of cv_cheats' default value in DEVELOP builds...
2023-01-28 23:18:50 +00:00
toaster
7ea596daae M_EndModeAttackRun: Update time attack menu on exit 2023-01-28 22:33:11 +00:00
toaster
c8b8eba6e6 Partial demo conclusion crash fix of invalid player/mo dereference
Still crashes, but now at an address I can't use gdb on...
2023-01-28 22:22:08 +00:00
toaster
594acca383 M_ReplayTimeAttack: Repair non-netreplay demo playback
TODO: Consistently crashes on successful replay finish
2023-01-28 22:20:43 +00:00
toaster
6b85a755eb M_PrepeareTimeAttack: Match numlap count check behaviour for presence of best lap support 2023-01-28 21:56:17 +00:00
toaster
f2a4392475 Time Attack menu: Reimplement Guest replay saving and deletion.
Implemented with less indirection/repetition than SRB2/Kart v1.
2023-01-28 21:52:34 +00:00
toaster
493b54d0f2 M_PrepareTimeAttack
Initialises Time Attack menu
- Check for replay file's existence before showing related options
    - Parity with pre-newmenus behaviour
    - Replay/guest-save functionality not yet (re)implemented
- Handles mutli-gametype timeattack level select listings more thoroughly
2023-01-28 19:09:22 +00:00
toaster
e3eeb229d8 M_MinimapGenerate: Include lumpname in minigen output filename
Corrects an oversight I thought of over the past few days.
- Permits a mapper doing minimap maintenance on multiple maps in one uninterrupted game session.
- Standard Filename format example: RR_GREENHILLS-MINIMAP.png
- Multiplier filename format example: RR_GREENHILLS-MINIMAP-10.png
2023-01-28 00:18:38 +00:00
SteelT
236394f639 Fix "unknown command" not being printed on dedicated 2023-01-27 23:35:02 +00:00
MascaraSnake
39097e7433 Fix typo in rising FOF binary-to-UDMF conversion
# Conflicts:
#	src/p_setup.c
2023-01-27 23:29:57 +00:00
spherallic
d666ebc2cf Prevent floating crumbling platforms from being triggered twice 2023-01-27 23:26:53 +00:00
spherallic
6d415c3d9c Start bustable FOF sounds at the correct height 2023-01-27 23:26:09 +00:00