Commit graph

1241 commits

Author SHA1 Message Date
katsy
3fb2a1fba5 adjust cooldown to 5 seconds (bandage fix for 2.2.9) 2022-03-18 12:51:39 +00:00
katsy
38dc1c55e4 attempt to resolve teleportation resync issue 2022-03-18 12:51:31 +00:00
toaster
f073218532 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart.git into boss
# Conflicts:
#	src/m_menu.c
2022-03-18 09:07:13 +00:00
James R
821fd41d70 Merge branch 'c99-pedantic' into 'master'
Switch compiler mode C90 to C99; enforce stricter standard conformance

See merge request KartKrew/Kart!554
2022-03-18 02:41:57 +00:00
toaster
8de92e8dca Merge branch 'master' into boss
# Conflicts:
#	src/k_bot.c
2022-03-17 16:58:42 +00:00
toaster
6e7adedaa0 Make the Kart TICQUEUE system closer to the 2.2 BACKUPTICS system.
* Rename TICQUEUE to BACKUPTICS.
* Add CLIENTBACKUPTICS to limit the time gap players can send tics in at once
    * This likely means freezes are more possible, and this variable could be raised later, but prevents some potential duplication in the extrapolerated tic.
2022-03-14 19:24:07 +00:00
toaster
c84a739039 Fix not being able to escape out of the server connection screen. 2022-03-14 16:59:18 +00:00
toaster
fcb6a4e1ab Disable the vanilla-sourced "keepbody" (rejointimeout) feature. 2022-03-14 16:33:03 +00:00
toaster
31db72256d Merge branch 'master' into boss
# Conflicts:
#	src/y_inter.c
2022-03-12 19:24:23 +00:00
toaster
87fe8f2c9c Merge branch 'gamestatereloaded' into 'master'
Gamestate reloaded

See merge request KartKrew/Kart!551
2022-03-12 19:08:04 +00:00
toaster
dc2936de42 Make the map command from the title screen *actually work*, and make a best-guess attempt at determining the necessary setup to play each particular map in a Single Player context (such as grandprixinfo for TOL_RACE, a little cleanup for TOL_BATTLE, and bossinfo for TOL_BOSS).
This will be necessary when newmenus comes around and it is no longer advantageous to have a menu for testing bosses, given they won't be a headline feature in v2 or accessible via multiplayer at this time.
2022-03-05 22:17:06 +00:00
toaster
c1f3237157 Boss API + assorted relevant bugfixes, will go over the featureset of this branch with a fine toothed comb when it's time to write the merge request description so this is all you're getting right now 2022-02-24 21:19:03 +00:00
James R
82f4364eb4 pedantic: fix misc leniencies and GNU-isms 2022-02-20 03:28:22 -08:00
toaster
0b97d954ad Tested with Chengi at one point, correct a few things from that.
* Fixed a few prints happening on resync that shouldn't.
* Fixed OGL loading not using levelfadecol.
2022-02-16 23:23:14 +00:00
James R
c812d6fdd7 Interpolate from time of previous tic
Previously interpolated from last 35th of a second, which
may be offset from game time due to connection lag.

Consider this the proper fix to 6ecac4159a too.
2022-02-14 14:26:42 +01:00
James R
0f4feb0161 Fix in game downloader confirmation 2022-01-28 04:43:18 -08:00
James R
969d449973 Interpolate from time of previous tic
Previously interpolated from last 35th of a second, which
may be offset from game time due to connection lag.

Consider this the proper fix to 6ecac4159a too.
2022-01-12 03:38:17 -08:00
Sally Coolatta
0179466107 Finalize char select multiplayer
- Add menu control fallbacks.
    - If it could not find a bind using your existing keys, then it looks at default controls.
    - If it could not find it then, and you're P1, then it looks through gamepads, and then lastly settles for keyboard.
    - Changed around the order of operations on the character select menu, to accommodate for this change.
- Added initroutine to menu_t, which is called every time without question when going to a new menu. This solves many, many minor bugs you could experience in the character select menu when changing between menus, due to things only being properly reset when selecting the character select menu option.
2021-12-28 12:02:31 -05:00
Sally Coolatta
e628894b47 Merge branch 'new-menus' into profiles 2021-12-25 06:09:53 -05:00
SinnamonLat
7c9f3385d4 Merge branch 'master' into new-menus 2021-12-17 12:32:01 +01:00
Sally Coolatta
d067c1ddef First pass on character select device select
Ultra mega hacked in, by saving all "discarded" joysticks to an array so they don't get totally closed & we can still poll them. Events now properly send the device number instead of the player number, which means we can store all controllers pressing buttons, and thus, can detect when ANY controller is pressing anything, and THUS we can make the character select work like we wanted to :V

Did not bother fixing any of the bugs, however. First of all, the opening menus do not properly fallback to default controls. Yet again, we may need a more robust system -- storing all keys from gamekeydown separately? Additionally it seems like when I input gamepad it makes me use keyboard anyway, so I think something fishy is up.
2021-12-06 17:43:52 -05:00
Sally Coolatta
7d0597d864 Merge branch 'master' into profiles 2021-12-04 15:46:28 -05:00
James R
a64263c96d Merge remote-tracking branch 'origin/master' into new-menus 2021-12-03 14:56:48 -08:00
toaster
b716e142a8 Some fixes for bad player info on joining servers.
* Don't overwrite the first player's name when joining with multiple local splitscreen players. (resolves #151)
* The defaults for unprovided names are now consistently "Player A/B/C/D" as opposed to some being letter-based and some being number-based.
* Send local player info once per local splitscreen player, rather than n^2 times (where n is the number of local splitscreen players).
* Since the packet *requires* four names to be sent every time you join a server, send dummy names for local splitscreen players who aren't connecting, instead of your actual cvars (no data leakage you didn't ask for!)
2021-11-30 21:24:00 +00:00
James R
182527db8b Merge branch 'gentlemens-2' into 'master'
Instead of gentlemens dropping packets, it simply delays what it sends

See merge request KartKrew/Kart!467
2021-11-30 04:51:01 +00:00
Sal
a326e180ca Merge branch 'replayfixes' into 'master'
Replay fixes mark whatever

See merge request KartKrew/Kart!463
2021-11-30 02:28:57 +00:00
James R
aaeaef5223 Do not set hu_stopped on interpolated frame 2021-11-29 14:40:30 -08:00
toaster
4b42f99ca7 Fix player removal not being recorded in netreplays. (Will not work with existing replays that lack this data) 2021-11-29 19:41:11 +00:00
Sally Coolatta
f17b948491 Update how input is handled in menus to use key bindings
VERY broken right now, it lost the delay between key presses. Kinda already sick of the reorganization needed though
2021-11-29 12:02:56 -05:00
Eidolon
1550210188 Implement interpolation at the renderer level
Instead of interpolating thinkers, we interpolate mobjs inside the
renderer. Further interpolation is TBI.
2021-11-29 06:43:46 -05:00
Sally Coolatta
0e25de897d Instead of gentlemens dropping packets, it simply delays what it sends 2021-11-29 05:27:44 -05:00
Sally Coolatta
cd8862f0bc New input handling
Events have a player ID instead of adding billions of keys for separate gamepads. Axis movement (mouse movement, analog sticks) now are counted as keys, so axes don't need to be separately implemented for all controls. Game controls emulate a Saturn controller (some of the external functions like screenshot / gif should be readded, but I got lazy)

This will allow later us to save a config for a controller that can be reused for any player slot, which is one of the main goals for profiles.

Only just enough was made to use the new input system to make it compile. Menus in this branch should aim to move to using PlayerInputDown entirely, instead of using hardcoded keys & simply remapping to those
2021-11-26 14:56:25 -05:00
SinnamonLat
b750ef11dd Make sure we don't save IPs when hosting games... 2021-11-17 14:21:29 +01:00
SinnamonLat
1412b96b20 EXPERIMENTAL: Save last 3 IPs manually joined to allow rejoining them later 2021-11-16 23:03:46 +01:00
toaster
b4af07ffed Merge branch 'master' into new-menus
# Conflicts:
#	src/d_main.c
#	src/dehacked.c
#	src/m_menu.c
#	src/v_video.c
#	src/y_inter.c
2021-10-18 01:18:37 +01:00
Sally Coolatta
e5d899412c FIX PARTIES 2021-04-23 03:53:35 -04:00
toaster
00972a83d2 remove the prefix since everything seems to function 2021-04-17 11:30:08 +01:00
toaster
b3d006b093 structs gunched 2021-04-17 00:27:13 +01:00
Sally Coolatta
359cf86efb Merge branch 'master' into big-large-map-markers 2021-04-09 19:49:33 -04:00
Sal
b833907020 Merge branch 'fix-avgpwrlvl' into 'master'
Fix avgpwrlvl

Closes #156

See merge request KartKrew/Kart!414
2021-04-09 19:38:33 -04:00
James R
2f3e7723cb rejointimeout default -> Off 2021-04-07 00:11:39 -07:00
Sally Coolatta
0e7460811e Fix avgpwrlvl 2021-04-06 23:56:22 -04:00
Sally Coolatta
fed0e0f9e5 Issue #133 thing 2021-04-01 21:09:30 -04:00
Sally Coolatta
1619efec82 Make it past kart & mixer files 2021-03-01 01:13:03 -05:00
Sally Coolatta
20e2c78331 Delete seenames code
We had SEENAMES disabled before, and vanilla removed the define, so I went ahead and removed it. Repurposed the old seenames console variable for our nametags.
2021-02-28 21:27:23 -05:00
Sally Coolatta
23ed607d11 Handle angleturn conflict
Since Sryder mentioned it, the main difference is:

- player->angleturn is the absolute angle, like vanilla, but it's now an angle_t, so it doesn't need shifted.
- cmd->turning modifies player->angleturn relatively, instead of absolute angles being stored in the cmd (makes the system less cheatable for kart)
- Because the absolute angle is no longer stored in the cmd, all of the pre/post angleturn values that vanilla has basically just need to be flat-out removed.
2021-02-28 21:02:14 -05:00
Sryder
a25d721a6a Fix some d_clisrv compile errors. Left some in regarding angleturn because I know we have it different but I can't remember exactly how.
Made issue #133 regarding some changes we should mirror.
2021-02-27 15:19:51 +00:00
Sally Coolatta
9d7ec0ab8f Merge SRB2 next
Probably doesn't compile yet, but I got rid of all of the conflicts for anyone who wants to take a stab at it.
2021-02-27 05:18:36 -05:00
X.organic
3fa1cc3185 Fix indentation in MOBJCONSISTANCY conditional 2021-02-16 23:27:44 +01:00
X.organic
5c9d9636b3 Fix MOBJCONSISTANCY and make it optional in DEBUGMODE
MOBJCONSISTANCY checks confined to gamestate GS_LEVEL. DEBUGMODE
no longer implicitly enables them, making it netgame-compatible.
2021-02-16 21:36:28 +01:00