Commit graph

24332 commits

Author SHA1 Message Date
toaster
3d383f209e Got_TeamChange: Applying PF_WANTSTOJOIN is NOT a playstate change 2023-07-22 14:37:34 +01:00
toaster
39d9dc99aa FinalisePlaystateChange: Don't reset spectatorReentry timer if it's already nonzero 2023-07-22 14:33:32 +01:00
toaster
e0b47b16e7 Improve Spectator entry handling
- Re-entry SHOULDN'T get stuck nonzero on first join for a given node
    - Set to 0 for all players on level start
    - Set to 0 for all players on level end
    - DEFINITELY never intentionally set on join with teamchange finalisation
    - This basically just prevents people from spamming New Challenger after hopping out mid-session, since the previous version, in addition to being buggy, was a little annoying.
- New Challenger no longer happens on tic 0 of mapload
    - Handles any late, pending PF_PF_WANTSTOJOINs without threat of reset in P_PostLoadLevel
2023-07-22 14:03:11 +01:00
toaster
4885611f47 Move ACS script loading back to P_DoLoadLevel, since on second thought it's just LOADING and not executing anything 2023-07-22 13:17:17 +01:00
toaster
859b3fa350 On second thoughts, let's be EXTRA careful to avoid any potential double frees. 2023-07-22 13:17:17 +01:00
toaster
bf8d09980d G_DoPlayDemo: Make sure buffer is NULL so you can watch replays immediately after recording them.
This is yet another g_demo.c-specific hack, and has been marked as such.
2023-07-22 13:17:16 +01:00
toaster
5b4fc18264 P_PostLoadLevel: Move all events directly requiring finalised player lists into this function
- Grand Prix (& backup) and Match Race bot initialisation
    - Fixes rival selection
- P_InitPlayers
    - Has to be after bot init
- Beginning of demo recording
    - Grand Prix and Match Race replays appear to both function far better, and equivalently to boot.
        - A desync in "RNG seed 24" is reported. This is PR_BOTS. This is the only notable desync I can see!
- ACS_LoadLevelScripts
    - I'm not ironclad sold on this being the forever home, but it's also a not-from-netsave thing, and barring external input I could see some scripts being dependent on a finalised player list.
2023-07-22 13:17:16 +01:00
toaster
b4bd8f428d Permit lowercase enum grabs for sounds in get_number outside of Lua
A different solution to the issue reported on the SRB2 port of this branch. We don't care quite as much about exact game behaviour, so this permits lowercase sound effects (same as the source code) in maps' stringargs.
2023-07-21 16:20:25 +01:00
Lach
2d7ae88586 Hardcode MT_BOOSTPAD as MT_SNEAKERPANEL 2023-07-21 19:19:28 +10:00
AJ Martinez
5d144243e5 Play wavedash sounds at full volume 2023-07-21 00:48:41 -07:00
Lach
ed76ca72fa Merge branch 'dashrings' into splatbooster 2023-07-20 19:22:30 +10:00
Lach
255a10494a Expose Dash Ring variables to Lua (and fix roundscore accessibility) 2023-07-20 19:15:20 +10:00
Lach
dc4a25d823 Add Dash Ring variables to net archive 2023-07-20 19:11:02 +10:00
Lach
bb5070afb0 Merge remote-tracking branch 'origin/master' into dashrings 2023-07-20 19:04:42 +10:00
Lach
476d53d305 WIP: Hardcode MT_BOOSTPAD 2023-07-20 19:02:13 +10:00
James R
7c3d3282f0 Merge branch 'console_sanity' into 'master'
Console Sanity

Closes #517

See merge request KartKrew/Kart!1344
2023-07-19 22:17:10 +00:00
toaster
63450740ba Linedef type 460: Don't do anything in Spheres gametypes 2023-07-19 22:54:20 +01:00
toaster
c404e704c2 Linedef type 460: ACTUALLY don't push your rings below baseline 2023-07-19 22:54:05 +01:00
James R
41df845f05 Merge branch 'stumble-stumbles' into 'master'
Whumble

Closes #522

See merge request KartKrew/Kart!1342
2023-07-19 21:54:00 +00:00
toaster
ba7307b425 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into more-conversions 2023-07-19 22:46:49 +01:00
James R
6f4d014ebb Merge branch 'get-ourip-once' into 'master'
Fetch the server IP once

See merge request KartKrew/Kart!1337
2023-07-19 21:39:47 +00:00
James R
729932fed5 Merge branch 'encore-dot' into 'master'
Correctly flip minimap player icon dot in encore mode

Closes #582

See merge request KartKrew/Kart!1347
2023-07-19 21:38:48 +00:00
toaster
55cda3dd5c Correctly flip minimap player icon dot in encore mode
Resolves #582
2023-07-19 22:29:43 +01:00
toaster
f9e11be98a UDMF upscaled springs: Treat as an increased hitbox only, not as a strength multiplier 2023-07-19 21:27:58 +01:00
toaster
e3d0662c7d Remove even a mention of the slur that once sat here 2023-07-19 21:23:27 +01:00
toaster
050fa56d64 Merge branch 'player-pointer-deletion' into 'master'
Player Pointer Deletion

Closes #529 and #576

See merge request KartKrew/Kart!1341
2023-07-19 14:23:19 +00:00
toaster
2241bdddb0 Merge branch 'colors-fixes' into 'master'
Skincolor Unlock fixes (resolves #568)

Closes #568

See merge request KartKrew/Kart!1339
2023-07-19 14:19:56 +00:00
toaster
6d1fe69c15 Merge branch 'horncode-dx' into 'master'
Sounds on display

See merge request KartKrew/Kart!1343
2023-07-19 14:18:23 +00:00
Lach
a21e509a94 Hardcode MT_DASHRING & MT_RAINBOWDASHRING 2023-07-19 21:47:41 +10:00
Zwip-Zwap Zapony
6b5e3f650e Use 99999999 instead of 86400, make "MIN" 0
Nines might be more pleasing than an exact number for con_hudtime
It'd be bad to make "MIN" in an old config suddenly start displaying lines for con_hudlines

# Conflicts:
#	src/console.c
2023-07-18 20:59:38 +01:00
Zwip-Zwap Zapony
e2ee6e45d7 Limit con_hudtime to 24 hours
Also rename cons_msgtimeout to cons_hudtime for consistency
2023-07-18 20:58:19 +01:00
toaster
02651d249c Set default value of bots to Off, not 0 2023-07-18 20:43:07 +01:00
SteelT
05b130b422 Add CV_TrueFalse as possible value types for console variables
This also adds support for using true/false as value aliases for On/Off, Yes/No or 1/0

# Conflicts:
#	src/command.c
2023-07-18 20:39:08 +01:00
toaster
ea53197084 Fix off by 1 error in con_hudlines
Originally written by Zwip-Zwap Zapony for the SRB2 repository as part of STJR/SRB2!1931, partially flattened to avoid waiting for the merger of the entire branch.
- 0, not 1 as previously was the case, now shows zero lines.
- Now inclusively capped between 0 and 20 lines in the cvar, rather than silently in the console code.
2023-07-18 20:26:43 +01:00
Zwip-Zwap Zapony
c36d987be7 Draw the input prompt while the console is moving 2023-07-18 20:06:36 +01:00
Zwip-Zwap Zapony
4c08b7010d Make con_height adjustable on the fly 2023-07-18 20:06:29 +01:00
Zwip-Zwap Zapony
24ab95ddde Uncap console opening/closing animation 2023-07-18 20:06:22 +01:00
toaster
9b51c9c7fe V_GetHWConsBackColor: Fix for RR's console color list
Also, don't be such a weenie that you say slurs in your code comments
2023-07-18 19:52:14 +01:00
toaster
0b3ebb0686 Kickstart Accel indicator sound modifications
- Play in replays/as spectator
- Do not play for bot-controlled players (exiting, Podium, etc)
2023-07-18 18:04:54 +01:00
toaster
bfc8036e7e Use display players for hearing/seeing horns, not local players
Matches other local effects, and permits spectators (such as in tournaments) and replay watchers to see the honk.
2023-07-18 17:53:54 +01:00
toaster
a812ef8809 DMG_WHUMBLE
There are two differences between Whumble and Stumble.
- Stumble cannot be combo'd on upwards momentum, while whumble can. (Resolves #522)
- Whumble takes bumpers, while stumble does not.
    - Removes the MT_INSTAWHIP hack.
2023-07-18 17:39:17 +01:00
toaster
ce08ac0f33 General tidy of mobj_t pointers on player_t struct
- CL_ClearPlayer
    - Delete followmobj, stumbleIndicator, and sliptideZipIndicator
    - Wipe flickyAttacker and powerup.flickyController
- G_PlayerReborn
    - Properly destroy the Follower and its bubble overlays, etc
    - Ensure ringShooter pointer is kept
    - Delete followmobj, stumbleIndicator, and sliptideZipIndicator
    - Wipe flickyAttacker and powerup.flickyController
- P_PlayerThink
    - Ensure all invalid pointers are erased, even on hitlag frames
2023-07-18 15:50:39 +01:00
toaster
e6619df2d4 Servant Hand: Refactor to use its own thinker
Since it's already ticking for the sake of a fuse, make it handle its own movement/scaling as well.

Spawning is still handled by the player thinker (and can be blocked by hitlag), but this permits it to disappear when a player dies/disconnects the server.
2023-07-18 15:45:49 +01:00
toaster
beebfd0d2f Ring Shooter: Only P_SetTarget if player is in game 2023-07-18 15:29:32 +01:00
toaster
c1810ac891 P_SetupSpawnedMapThing: Re-add missing MT_AMBIENT 2023-07-18 10:59:06 +01:00
toaster
2e395c8b0f Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into more-conversions 2023-07-18 10:52:09 +01:00
toaster
a07a9e2191 Don't use skincolor unlocks in situations where gamedata is inappropriate
- Recieving a different client's XD_NAMEANDCOLOR
- Loading profiles on game boot
2023-07-18 10:50:25 +01:00
toaster
c20a76586c Merge branch 'loop-netsave' into 'master'
MT_LOOPCENTERPOINT invalid spawnpoint (resolves #563)

Closes #563

See merge request KartKrew/Kart!1338
2023-07-18 09:45:41 +00:00
toaster
f8922c83c8 MD2_TID: Don't pass a macro directly to P_SetThingTID
This isn't currently the cause of any issue, but found this future footgun while researching the previous commit.

Sometimes functions are turned into macros, which could potentially result in multiple save->p digestions if this was eventually turned into one.
2023-07-17 13:53:13 +01:00
toaster
45012dbd6a Make sure MT_LOOPCENTERPOINT doesn't have an invalid stack-allocated spawnpoint pointer
Fixes connecting to a server that's currently on a map with a loop.

Also tidies P_SpawnItemRow, P_SpawnItemCircle to reduce the likelihood of this happening again, and possible crash with Lua-shortcircuited loop spawning
2023-07-17 13:51:48 +01:00