Commit graph

363 commits

Author SHA1 Message Date
Monster Iestyn
f2b0db5a1c Merge branch 'master' into next 2018-12-04 17:18:19 +00:00
mazmazz
c799584f3d Change joystick default to auto-use joystick 1 and joystick 2 if plugged in (like Kart) 2018-12-03 23:36:36 -05:00
TehRealSalt
919667ed39 Just do MapChange hook on G_InitNew
Everything that's supposed to call it also calls this...
2018-12-03 00:33:35 -05:00
TehRealSalt
aa16edec1d Merge remote-tracking branch 'srb2public/next' into merge-next 2018-12-03 00:31:23 -05:00
Monster Iestyn
33c1ac33f5 Merge branch 'next' into 21-version
# Conflicts:
#	src/d_netcmd.c
2018-12-02 15:45:07 +00:00
Jimita
6d7689c1a7
Merge branch 'next' into lua_mapchange 2018-11-30 15:10:59 -02:00
MPC
54cae84849 Change MapChange so Lua returns the map number you change 2018-11-30 14:01:40 -03:00
TehRealSalt
d3ecdeb364 Do 800 instead 2018-11-30 03:36:44 -05:00
Sal
ce14755156 Merge branch 'rename-cmds' into 'master'
Rename "giveadmin" and "removeadmin" to "promote" and "demote"

See merge request KartKrew/Kart!117
2018-11-29 11:18:57 -05:00
wolfy852
f2072b973b Rename "giveadmin" and "removeadmin" to "promote" and "demote" 2018-11-29 07:58:26 -06:00
TehRealSalt
5534017954 Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -05:00
wolfy852
c517862f7e I must be some kind of idiot. 2018-11-29 07:34:05 -06:00
Wolfy
b59718d3ad Remove hardcoded limit on admins
# Conflicts:
#	src/d_netcmd.c
2018-11-29 07:05:49 -06:00
Wolfy
b8ce51bff2 Multiple admins
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
2018-11-29 06:46:59 -06:00
toaster
2c8855cd5f Upper-bound restrict the setting of numlaps for sectionrace levels mid-game 2018-11-28 16:45:45 +00:00
Sal
28488cc0dc Merge branch 'netcode-vars-strict' into 'master'
Make netcode var defaults stricter, add Advanced Server Options

See merge request KartKrew/Kart!110
2018-11-27 12:27:47 -05:00
Sal
cc8af2acdb Merge branch 'better-buffering' into 'master'
Better vote level buffering

See merge request KartKrew/Kart!109
2018-11-27 12:25:02 -05:00
TehRealSalt
f0b042a4b6 Advanced Server Options menu
More accessible way of modifying ping limit, timeouts, max file send, etc now that the defaults are stricter
2018-11-27 12:10:46 -05:00
Monster Iestyn
cd57be640c Merge branch '21-controls' into 'next'
Default control changes for 2.1.21

See merge request STJr/SRB2!343
2018-11-27 11:50:42 -05:00
TehRealSalt
969801ef09 SEVERELY nerf jointimeout & resynchattempts, too
All of these previous defaults are "this is an insane time to reach, by that point you might as well disconnect"
2018-11-27 11:23:28 -05:00
Alam Ed Arias
9a042cd5e2 Merge branch 'master' into next 2018-11-26 19:49:19 -05:00
MonsterIestyn
b53cd70201
Merge branch 'next' into PK3-BackportNext 2018-11-26 18:56:51 +00:00
TehRealSalt
478f895ea0 Remove previous commit's votebuffer, allow an external optional buffer to be passed into G_RandMap
I meant to fix the previous method, but I didn't even understand how it knew it was in a vote or not... so I just did it my own way :V

(Shouldn't FLUSHMAPBUFFEREARLY be on now...?)
2018-11-26 04:27:31 -05:00
mazmazz
930835f1a2 Dummy out OpenGL loading screen; fix console toggle so it doesn't actually show 2018-11-25 21:47:56 -05:00
Monster Iestyn
1b2aea81dc Merge branch 'master' into next 2018-11-25 20:39:17 +00:00
mazmazz
ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
TehRealSalt
92d5a6b8fb Quick patch-over to dedicated server husk bug
Whenever a 16th player would join, it would wrap around and overwrite the dedicated server ghost host player. This is possibly a bug in vanilla as well, but it'd only occur at 32 players so it's no wonder no one figured that out. :V

As a quick patch, I just capped cv_maxplayers to MAXPLAYERS-1 in dedicated servers only. To fix this for real, we'd need to give dedicated servers their own player & node instead of clumping in into the start of the normal ones.
2018-11-25 07:10:45 -05:00
Nev3r
6f5e3d42ff Merge branch 'PK3-Backport' into 'PK3-BackportNext'
Pk3 backport

See merge request Nev3r/SRB2!1
2018-11-24 06:02:19 -05:00
Nev3r
c548aaa347 Backported PK3 support to 2.1
Hopefully I'm not missing anything.

Signed-off-by: Nev3r <apophycens@gmail.com>
2018-11-23 16:58:16 +01:00
TehRealSalt
c2c799c885 Change defaults of these
nettimeout being 10 seconds is INSANITY, and maxping of 500 is when it starts being unplayable (I could also be bargained to raise it to 750 or 1000 though). Not sure if jointimeout causes any freezing, if it does then I'd also like to lower that
2018-11-22 20:54:28 -05:00
mazmazz
17ff7e69a0 Add chasefreelook to separate third and first person mouselook 2018-11-22 17:05:24 -05:00
toaster
c6268253eb The oft-promised buffer fixes. Also, making it so the gametype switch for "Sometimes" is every 10 maps, not a full buffer round (now that it doesn't add to the buffer when you first see it).
Unfortunately, the code didn't turn out nearly as nice as I'd desired, but things don't always work out.

In addition: For some reason, I rolled Tinkerer's Arena twice within three hits of the Dice voting option, so something's wrong and this branch needs proper, rigorous investigative testing but I don't know what and I'm way too tired (both physically and metaphysically) to investigate any further.
2018-11-22 17:10:36 +00:00
TehRealSalt
5c67e22c22 Random map buffer only gets added to when
Needs another temporary buffer for the vote screen so that it doesn't roll dupes
2018-11-20 00:13:08 -05:00
toaster
aa607ecf4c Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into nextmerge_again
# Conflicts:
#	src/d_clisrv.c
#	src/m_misc.c
2018-11-18 18:26:50 +00:00
TehRealSalt
7b142dbad1 Updated the one important modified game print that most people see to be more descriptive
(I could've SWORN there were more...)
2018-11-18 05:48:10 -05:00
TehRealSalt
0e3b225011 Remove duplicate/removed objects
As well as other compile errors
2018-11-18 03:43:33 -05:00
TehRealSalt
bd3f398a04 Fix cvar bugs
- karteliminatelast uses CV_YesNo instead of CV_OnOff
- chatbacktint defaults to on
- soniccd defaults to off
2018-11-17 20:47:11 -05:00
toaster
56ed67397d * Fix the in-game MS browser thinking gametypes are unknown.
* Fix the website MS browser mapname output being incomplete.
* Hide hell maps on the website MS browser mapname output.
* (unrelated) tweak Command_Showmap_f's logic for a more accurate name.
2018-11-17 15:48:10 +00:00
Alam Ed Arias
d4cb81cb28 Merge branch 'master' into next 2018-11-14 15:45:29 -05:00
MonsterIestyn
772c072064
Merge branch 'master' into analog-flipcam-synch-fix 2018-11-14 19:36:39 +00:00
Sryder
799efd5b31 Merge branch 'master' of git@git.magicalgirl.moe:KartKrew/Kart.git into nextmerge 2018-11-10 22:29:37 +00:00
toaster
aece934083 Fix not found 40833 2018-11-10 22:27:04 +00:00
Sryder
6af56273bf Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into nextmerge
# Conflicts:
#	src/d_main.c
#	src/d_main.h
#	src/d_netcmd.c
#	src/doomtype.h
#	src/hardware/hw_md2.h
#	src/p_user.c
#	src/r_splats.h
#	src/s_sound.c
#	src/s_sound.h
#	src/screen.c
#	src/sdl/i_system.c
2018-11-10 21:14:53 +00:00
toaster
e1a28bbe1c Three more CV_NOSHOWHELP's I missed the first time around. (Not making another exe for this, it'll show up the next time one is made... not that important.) 2018-11-10 18:50:19 +00:00
Sryder
a0165f1ac1 Merge branch 'com_cleanup_redo' into 'master'
Improved "HELP" command

See merge request KartKrew/Kart!82
2018-11-10 12:51:51 -05:00
toaster
5b286d89a8 Hide the numlaps change message in record attack. (It plays every time you load a demo of a map with a differing quantity of laps to the default value...) 2018-11-10 12:34:04 +00:00
Monster Iestyn
17223aa520 Merge branch 'master' into next 2018-11-09 16:09:49 +00:00
TehRealSalt
68d2d00a07 Log "Speeding off to level..."
It's not disruptive, but it looks a bit goofy since the "Map is now x" print is no longer directly printed either, so it's the only thing sticking around in the console :V
2018-11-08 17:56:26 -05:00
TehRealSalt
69287984db Merge branch 'master' into staff_names 2018-11-08 14:47:38 -05:00
TehRealSalt
499faec555 Merge remote-tracking branch 'srb2public/next'
(Huge change: NO_MIDI is now a define, simply because that makes it easier for me to resolve merge conflicts if I can see the original code and the new code. Also means that people who REALLY miss MIDI can compile & fix it themselves :P)
2018-11-07 16:15:14 -05:00
toaster
cf16959ad5 Clean but quick: Rename all user-facing things that say "emblem" to say "medal" instead. Don't touch SOC, don't touch code, otherwise we'll be here all year. 2018-11-07 18:05:29 +00:00
toaster
7866e88292 No-show of debug stuff, and make karteliminatelast into a debug to justify its hiding. 2018-11-06 18:54:00 +00:00
toaster
bb251c4fbf * Re-add support for command "help" (ie, basically no help at all).
* Rename "suicide" command to "respawn" so the game doesn't tell you to kill yourself when you try to get help for it.
* Add a "manual" command to open the manual.
2018-11-05 19:02:34 +00:00
toaster
8d4ce113e4 Redo the help command stuff, this time with much less impact on other areas of the code for sanity as we approach R1. 2018-11-05 12:49:28 +00:00
TehRealSalt
ba67c7aa70 Fix for "became a spectator" text repeating 2018-11-02 14:59:26 -04:00
TehRealSalt
db731209e5 Fix ENTER GAME option not working 2018-10-31 03:06:36 -04:00
LJSonik
b52158eb48
Merge branch 'master' into analog-flipcam-synch-fix 2018-10-29 19:52:08 +01:00
Louis-Antoine
3d0daf2202 Fix desynch when toggling analog mode or flipcam
Special thanks to Lat' for asking weird questions
2018-10-29 00:49:23 +01:00
Latapostrophe
e5d4020f3e Spectate / enter game in chat + New console colours + Highlight chat scroll arrow + small cleanup for consolefill 2018-10-25 13:21:44 +02:00
Latapostrophe
26093de2e9 Merge branch 'master' into chat-changes 2018-10-25 11:14:49 +02:00
TehRealSalt
40b9644e0c Use COM_ImmedExecute("restartaudio") instead of duplicated code 2018-10-22 16:32:06 -04:00
toaster
791dc079ec Merge branch 'master' into 'chat-changes'
# Conflicts:
#   src/hu_stuff.c
2018-10-21 08:27:28 -04:00
Monster Iestyn
d57c54f93b Merge branch 'master' into next 2018-10-20 14:13:13 +01:00
TehRealSalt
553066b48b Merge branch 'master' into net-screen 2018-10-19 15:59:13 -04:00
Sal
adb2fad43c Merge branch 'sp_fixes' into 'master'
Singleplayer fixes (no, not record attack, the *other* one)

See merge request KartKrew/Kart!46
2018-10-19 15:50:06 -04:00
Sal
d6cf424aed Merge branch 'unlock-hard' into 'master'
Hard Mode is an unlockable

See merge request KartKrew/Kart!40
2018-10-19 15:49:32 -04:00
Sal
524ab75a6a Merge branch 'remove-prints' into 'master'
Remove most gameplay prints

See merge request KartKrew/Kart!42
2018-10-19 15:49:01 -04:00
toaster
ce443712b2 Some token efforts to make singleplayer mode (accessible only via -warp and map mapxx -force) not COMPLETELY broken.
* Fixed the conditionals for `suicide` and `retry` commands - `suicide` is now allowed in singleplayer, and `retry` no longer checks your lives (for now).
* Disable the "traditional" level reload method (which `retry` tried to use), since it was completely broken with the other changes we've made. Mapchanges only.
* Made retries cause a mapchange, per the above.
* Disable the last source of skincolor trampling in the game - loading a level while not netgame or record attacking.
2018-10-17 13:40:17 +01:00
toaster
41b684e63e Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into net-screen 2018-10-16 22:13:45 +01:00
TehRealSalt
d89fb8fcf7 remove all hit msgs & cv_hazardlog 2018-10-15 17:40:25 -04:00
TehRealSalt
e23da397e4 Remove most gameplay prints
A couple of the extraneous ones (karma interactions, bumper stealing, lap start notifications) have been removed outright. The rest that I could think of have been changed to use CON_LogMessage, so that they still go into log.txt when rereading a fun chat session but not showing themselves in gameplay. Necessary gameplay prints, such as players being defeated or coming back in Battle, have been kept until there's a suitable replacement for them in the future.
2018-10-14 17:45:28 -04:00
toaster
a1e1aa81b5 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into nextmerge_plus_rain
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/g_game.c
#	src/p_floor.c
#	src/p_user.c
#	src/r_data.c
#	src/r_data.h
#	src/v_video.c
2018-10-14 21:52:05 +01:00
TehRealSalt
001e2aa42c Hard Mode is an unlockable
Unlocks at 30 emblems, or 100 matches played
2018-10-13 17:54:53 -04:00
Steel Titanium
b3faed190b Move commands and console variable into s_sound.c 2018-10-11 16:29:43 -04:00
Latapostrophe
49f2c62b5d More stuff goes in HU_AddChatText, fixed /pm list not having the correct coords if kartspeedometer was on. 2018-10-11 21:39:19 +02:00
Latapostrophe
346c6bce96 HU_AddChatText cleanup for future use + chat mode Window (Hidden) added. 2018-10-10 21:24:55 +02:00
TehRealSalt
7900af2a0a Merge branch 'master' into net-screen 2018-10-09 15:43:38 -04:00
TehRealSalt
640e0e09c6 Merge branch 'master' into sal-cleanup 2018-10-08 00:22:44 -04:00
TehRealSalt
42766db48c Merge branch 'master' into net-screen 2018-10-07 23:26:56 -04:00
toaster
cfd2b021a4 Nuke a bunch of iteration things that have no purpose in SRB2Kart. A full explanation of my reasoning and what it affects is as follows.
p_inter.c -
	Everything to do with setting states for starposts
		In SRB2Kart, starposts are invisble. We don't need to loop through all thinkers just to set their states when there's no visible effect of the state-setting. In addition, it has no consequences for gameplay - starposts have long been silent here, and all checking is done regarding their health, not their state.
	Remove extremely low-traffic conditionals (MT_FLINGEMERALD collision height extension, for example)
		These objects serve no functional purpose during regular SRB2Kart gameplay. Why should every other object have to pay an admittedly minor performance hit just for them?
	Disable all mechanisms of damaging bosses or enemies with the player's physical contact
		With the exception of Sapphire Coast, no MF_ENEMY objects exist in the entirety of the standard roster. In addition, the conditions for damaging the enemies were impossible to achieve, because they required vanilla SRB2 mechanics such as "jumping", "spindashing", or "super". Therefore, they can be safely commented out.
	Disable NiGHTS-related material (excepting bumper, hoop, and wing-emblem objects)
		NiGHTS is fundamentally incompatible with regular kart gameplay and I believe was already broken. Therefore, any mechanism which enters, aids, or abets it can be safely disabled.
	Comment out Tag mechanisms
		Tag is the only vanilla multiplayer gametype which has sufficient gameplay depth and complexity (HEYOOOOOOOOO) to require dedicated thinking in and of itself in order to manage. This thinking is irrelevant to Kart's functioning, and can be neutered easily.
d_clisrv.c
	Comment out Tag mechanisms
		See p_inter.c
d_netcmd.c
	Disable several devmode commands which are irrelevant to SRB2Kart gameplay
		When investigating for references to NiGHTS material, I discovered that these remained untouched. In order to present a more coherent game, I have hidden the ones that serve no purpose for us.
	Comment out Tag mechanisms
		See p_inter.c
g_game.c
	Disable NiGHTS-related material
		See p_inter.c
	Disable some team-related material
		Teams are not present in SRB2Kart at present. Obviously we'd want to reconsider for future, but it doesn't need to be run right now.
	Everything to do with setting states for starposts
		See p_inter.c
m_cheat.c
	Disable several devmode commands which are irrelevant to SRB2Kart gameplay
		See d_netcmd.c
p_map.c
	Remove extremely low-traffic conditionals (MT_EGGSHIELD collision, for example)
		See p_inter.c
	Disable NiGHTS-related material
		See p_inter.c
p_mobj.c
	Disable P_EmeraldManager
		Power stones, despite their relevance in vanilla Match, are not in SRB2Kart's Battle. No management of nonexistent emeralds is required.
p_setup.c
	Everything to do with setting states for starposts
		See p_inter.c
p_spec.c
	Disable NiGHTS-related material
		See p_inter.c
	Everything to do with setting states for starposts
		See p_inter.c
p_telept.c
	Everything to do with setting states for starposts
		See p_inter.c
p_tick.c
	Disable some team-related material
		See g_game.c
	Disable P_EmeraldManager
		See p_mobj.c
	Do not run shields
		Shield objects are not run under the vanilla system; the Thunder Shield is a domain-specific recreation using a standard mobjthinker.
	Do not run special stages
		SRB2Kart does not have special stages.
	Comment out Tag mechanisms
		See p_inter.c
y_inter.c
	Disable some team-related material
		See g_game.c
p_user.c
	Disable NiGHTS-related material
		See p_inter.c
	Disable 2d movement for players
		2D mode? In a kart racer? :nick:
2018-10-03 17:04:41 +01:00
TehRealSalt
f5eee19d9b Online splitscreen voting
Forgot I added in that quick edit to make it not send anything in splitscreen mode, oops!
2018-10-02 01:22:45 -04:00
TehRealSalt
96506359f1 Goodbye cvar 2018-10-01 07:21:02 -04:00
TehRealSalt
a4f3d4867d Change dummysplitplayers into splitplayers, unhide it, and set it when joining and not just hosting
Silly oversight
2018-09-30 18:07:05 -04:00
TehRealSalt
9cf379f091 kartdebugnodes 2018-09-30 17:47:56 -04:00
TehRealSalt
1d6215030e Online splitscreen
It WORKS, including kicking players in splitscreen
2018-09-30 00:51:03 -04:00
Sal
9c10a85596 Merge branch 'itemdrop' into 'master'
Itemdrop

See merge request KartKrew/Kart!11
2018-09-23 17:51:28 -04:00
toaster
d7f8d4507a Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into itemdrop
# Conflicts:
#	src/sounds.c
#	src/sounds.h
2018-09-22 23:11:14 +01:00
toaster
6cc7f97d8a Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into addons_menu
# Conflicts:
#	src/m_menu.c
2018-09-22 23:00:46 +01:00
toaster
80bc266f3f Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into itemdrop
# Conflicts:
#	src/info.c
#	src/k_kart.c
2018-09-21 21:05:47 +01:00
toaster
084b99a5c9 Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into encore
# Conflicts:
#	src/info.c
#	src/m_menu.c
#	src/y_inter.c
2018-09-21 20:54:38 +01:00
toaster
25ae5a5e7f Partially address Sal's review last night by switching to a more sensible default. I'm still unconvinced on the need to make encore mode a seperate knob on the grounds of overcomplexity and "you can't turn map hell off", but hopefully this'll be a shippable state we can come back to later.
Also, thank you for reminding me, Sryder - disable my very, very limited progress on encore mode in openGL so that stages aren't an unintended hodgepodge of different colourschemes for the objects versus the level environment.
2018-09-21 12:12:17 +01:00
TehRealSalt
e441b2bce4 Address review
(for anything code I did, anyway)
2018-09-20 17:11:11 -04:00
mazmazz
b330dc2394 Don't call I_StartupSound in SFX toggle
* Mixer: make I_StartupSound return early if already set up
* Restartaudio: Add StopSFX call
2018-09-14 16:39:10 -04:00
mazmazz
a7ed7b2c90 Consolidate I_SetDigMusicVolume and I_SetMIDIMusicVolume into one method
* In s_sound, they are merged to one method as well, but there are still two separate digvolume and seqvolume variables
* Simplified Dig/MidiMusicDisabled in s_sound
* Method reordering

(cherry picked from commit 701cc5a7dd1dfead87a42ec7558c9fa6a1deb193)
2018-09-14 10:23:37 -04:00
toaster
fd7bc1c1ac Do a bunch of major modifications to the voting system's rule change system!
* Add `kartvoterulechanges`, or "Voting Rule Changes" on the menu, to allow some user control over event frequency.
	* "Never" - does what it says on the tin.
	* "Sometimes" - 1/8 chance of Encore if host has unlocked it, only gametype change when buffer is full
	* "Frequent" - 1/2 chance of Encore if host has unlocked it, gametype change every 5 maps
	* "Always" - If host has unlocked Encore, alternates between Encore and Gametype. Otherwise, always a gametype change
	* There's probably room for a setting between "Sometimes" and "Frequent", but I didn't want to overload the host with options and these were the ones that made sense.
* Better handling of buffer refreshes, to prevent two of the same map appearing next to each other in the voting unless there literally aren't that many maps.
* Mostly unrelated: Minor bugfix for Y_SetupVoteFinish, preventing music changes/random sounds playing on the You Will Join Next Race screen. (Branch-appropriate, at least.)
2018-09-11 15:42:53 +01:00
toaster
1e8ae8aa0c Merge branch 'sal-misc' of https://git.magicalgirl.moe/KartKrew/Kart.git into itemdrop 2018-09-09 23:25:19 +01:00
TehRealSalt
03e1ed179e Comment ou remaining traces of cv_karthud
We've poured so much effort into our own HUD that it doesn't make much sense to have the option to replace it with another game's at this point
2018-09-09 18:10:11 -04:00
toaster
4de68f7fe2 Dropping items!
* Shield Drop...
	* Whatever you've got orbiting or trailing you, DROP THEM WHERE THEY STAND. (Except for the ghost sink. That one's OK.)
	* Pops your Thunder Shield.
	* Happens upon ANY hit, except for deathpits.
* HUD Drop...
	* Also does the above, except for the Thunder Shield thing.
	* If there's any item left in your item box, pop it out as a little hovering, rotating Minecraft item!
	* You can pick up the Minecraft item by driving over it if your item box is sufficiently empty, or the item which is contained within it is of the same type.
	* Happens upon Size Down and battle elimination.
	* Can also be forced on with `cv_kartdebughuddrop on`!
* Some other random stuff.
	* Fix a bunch of `a->scale = b`'s into `P_SetScale(a, b)` form, for maximum validity.
	* Make K_CleanHnextList and K_UpdateHnextList one function, since they only differed by one continue clause (and the type of their input parameter).
	* Allow shrunken players to pick up item boxes again.
	* Fix MF_NOCLIPTHING. (Gonna pass this fix to vanilla when I get the chance, too.)
	* Break NiGHTS a little through my machinations.
2018-09-06 22:17:29 +01:00
TehRealSalt
1548e59b2b Change a few cvar defaults 2018-09-04 21:18:20 -04:00
Monster Iestyn
38ac999d77 Merge branch 'addfile-verify-fix' into 'next'
Addfile command verify fix.

See merge request STJr/SRB2!272
2018-09-03 17:17:46 -04:00