Commit Graph

605 Commits

Author SHA1 Message Date
fickleheart 7aa83635ae Record net replays to replay/online/ 2019-02-03 14:29:54 -06:00
fickleheart fe7c6c7f83 Add support for encore and battle replays 2019-02-03 13:55:29 -06:00
toaster 06b3e265f5 Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart-Public.git into next 2019-02-02 21:12:49 +00:00
fickleheart ce59b705a4 Play generic intermission music after netreplays
Mostly because I kept cycling to other people after the
top half finished and always got the lose music as a
result lol
2019-02-02 10:54:24 -06:00
fickleheart c407f811af Fix map name not showing right on replay intermission 2019-02-02 00:24:15 -06:00
fickleheart 71d1d10ef6 Play intermission after net replays 2019-02-01 21:06:52 -06:00
fickleheart ba07224a8f Make replays single-view by default unless requested 2019-02-01 20:19:52 -06:00
fickleheart 3724d02e3b Allow changing all players' viewpoints in replays 2019-02-01 19:53:52 -06:00
fickleheart 4de79f13af Refactor view changes a bit 2019-02-01 19:46:58 -06:00
wolfy852 85f3be5889 Comment out type 2019-02-01 15:45:53 -06:00
wolfy852 b5b4e1fcc8 Skip over type
CORRECTLY, this time.
2019-02-01 15:42:29 -06:00
fickleheart 09eef5f6b1 Make the join sync hack a little more robust 2019-02-01 07:50:42 -06:00
fickleheart 7f7dd0097b wip replay viewpoint stuff heck im tired zzz good night 2019-02-01 01:32:35 -06:00
fickleheart e5be5e80ba Make joins/quits/enters/spectates sync in replays
I'm not 100% sure on joins. That P_RandomByte() call
looks ugly. It'll probably be a source of trouble.
2019-02-01 00:44:35 -06:00
wolfy852 7c18d130f2 Fix replay weirdness
Sryder's Pleasure Castle ghost tries to return to England with this line.
2019-01-31 23:21:00 -06:00
fickleheart 6a131f368f Fix replay split breaking with less than four viewpoints 2019-01-31 23:03:44 -06:00
wolfy852 9ddea94590 Potentially fix 64-bit builds crashing on certain replays 2019-01-31 19:15:28 -06:00
fickleheart 0c11562209 4p split views test 2019-01-31 00:00:28 -06:00
Sal cf06f108ed Merge branch 'majormods' into 'next'
Allow playing in Record Attack with minor add-ons

See merge request KartKrew/Kart-Public!31
2019-01-29 23:19:57 -05:00
toaster ada4ce622f * Did some reviewing, turns out there's literally no reason to disable savemoddata when majormods gets tripped and it's just a stupid thing vanilla did for modifiedgame for some reason that we almost inherited with our new solution?
* Adjusted the save system to acknowledge the new status quo. Instead of trying to save modifiedgame in the file like some sort of extremely boneheaded honour system everyone and their mothers hacks around, we just use it to determine whether the save is for a mod with savedata or not (this keeps backwards compatibility based on how we were using it, anyways, especially with the *force* parameter...)
* Added a menu message for attempting to play a demo set on a map that isn't loaded, as opposed to letting it I_Error.
* Minor tweaks to addons menu representing modded status.
2019-01-28 16:32:07 +00:00
fickleheart e13e6c5c9b Fix replay viewer discarding aim keys 2019-01-27 20:36:13 -06:00
fickleheart d05a3a59c4 Write respawn command usage to replays 2019-01-27 19:30:20 -06:00
fickleheart 49caebd2db Fix crashing at the end of netreplays 2019-01-27 19:09:29 -06:00
fickleheart c6248faa30 Write skin/color/name changes to replay 2019-01-27 19:07:30 -06:00
fickleheart cf6e3a45d7 Reset oldcmd when recording netreplays 2019-01-27 17:09:25 -06:00
fickleheart 3cec3d9658 broken spectator stuff? 2019-01-27 16:23:34 -06:00
fickleheart 26770c5103 [HACK] Save correct lap count on netreplays 2019-01-27 15:45:42 -06:00
fickleheart 894db0c6fd Store cmd.latency in replays 2019-01-27 15:09:58 -06:00
fickleheart 83738a20b7 Fix players spawning in the wrong spots when watching replays 2019-01-27 14:34:22 -06:00
fickleheart 6dcc4de979 Separate oldtic for each player 2019-01-27 14:34:19 -06:00
fickleheart 712dfdc3d1 Fix compile errors 2019-01-27 14:33:57 -06:00
fickleheart c9444116dd I don't wanna deal with ghosts right now 2019-01-27 14:33:51 -06:00
fickleheart dee45fdf62 Store initial player data in net replay 2019-01-27 14:33:45 -06:00
fickleheart 1f72df4edb Start with some strange multiplayer replay init stuff
Mostly just disabling the parts of the replay that assume
a single player, right now.

# Conflicts:
#	src/g_game.c
2019-01-27 14:33:38 -06:00
Sal 910df92d5a Merge branch 'expose-more-lua-stuff' into 'next'
More Lua stuff + PlayerCmd hook

See merge request KartKrew/Kart-Public!28
2019-01-26 13:19:41 -05:00
toaster 1a21c5efbe Code cleanup as requested by Sal and Sryder.
* majormods and savemoddata cannot coexist as true values, so going through and making situations that involve both only reference one.
* Clean up comments in `dehacked.c`.
2019-01-26 16:58:45 +00:00
Latapostrophe 72133b7498 No more ghetto check, and some more descriptive comments on the Hook 2019-01-26 16:55:26 +01:00
toaster d045af07b1 Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart-Public.git into majormods 2019-01-21 21:56:49 +00:00
toaster fdbf750f48 Fix incorrect condition for setting savemoddata to false. 2019-01-21 21:48:52 +00:00
toaster f8229b9dad whoopsie doodle, forgot gh wasn't allocated until after this section 2019-01-18 14:53:43 +00:00
toaster 15aafb00a9 Turns out modifiedgame was getting set during startup because of making it use G_SetGameModified. Uh, woops? 2019-01-18 13:01:40 +00:00
TehRealSalt 4c8737da08 Final v1.0.2 commit (probably)
- Update chars.kart hash, AGAIN!
- Fix spectators being visible on minimap when F12ing people
- Optimize how splitscreen players are drawn on top of the minimap
- Remove duplicated cvar registrations
- Move cv_resynchattempts and cv_netticbuffer from D_ClientServerInit to D_RegisterServerCommands and D_RegisterClientCommands respectively, so they can save to config properly
- Increase "Frequent" gametype switch frequency even more
- "SRB2" version dehacked warning ignores srb2.srb
2019-01-18 04:30:38 -05:00
toaster 66273898b7 * Refactor all instances of `majormods = true;` to route through G_SetGameModified, and catch a few spots I missed in the process.
* Make G_SetGameModified only console-print for major mods.
* Add amnesty to "major mod" detection while loading files with custom savedatas.
* Improved the console prints for command `isgamemodified`.
2019-01-17 22:01:28 +00:00
TehRealSalt ad7b3dece0 Bump up the frequency of voting rule changes
This is in our changelog, but I didn't actually get around to doing it. Would've been foolish to ship with that :V
2019-01-16 16:19:16 -05:00
toaster a7445a7b71 Woops, didn't commit the most up-to-date g_game.c originally (old one didn't compile) 2019-01-16 15:27:23 +00:00
fickleheart f5d491eda2 Merge remote-tracking branch 'remotes/internal/master' into movementchecks
# Conflicts:
#	src/g_game.c
#	src/p_user.c
2019-01-15 21:01:30 -06:00
fickleheart e30222ebac Don't multiply driftturn by realtics
(I also moved multiplying angleturn to a single spot)
2019-01-15 20:19:25 -06:00
fickleheart 0121d47049 Merge remote-tracking branch 'internal/master' into new-turnhax-and-latency-stuff 2019-01-15 19:55:42 -06:00
toaster 081872aa85 First steps at implementing a mechanism that allows you to load non-cheaty good-faith mods such as custom characters with no Lua scripting, and play record attack with them. Features a few bad hacks and a few more areas of improvement; I'll try to iron them out before they hit `next` or `master`. 2019-01-15 19:01:55 +00:00
Latapostrophe c2aa6d4de6 Expose some more Kart functions, freeplay and rankings bumpers are now hud stuff you can toggle, + experimental playercmd hook 2019-01-13 14:40:48 +01:00
TehRealSalt 37e79ebfbd Redone credits for joiners in a less stupid way, + redone start ambience in a less stupid way 2019-01-10 01:03:53 -05:00
fickleheart a444a214d0 Here too 2019-01-09 09:07:41 -06:00
fickleheart d20122327f Make sure cmd.latency is always 0 in mode attack? 2019-01-09 09:05:57 -06:00
TehRealSalt 72bc1b48f6 Merge branch 'next' into music-credits 2019-01-09 03:08:20 -05:00
fickleheart 01d7dc35ff Merge remote-tracking branch 'internal/master' into new-turnhax-and-latency-stuff 2019-01-08 20:56:14 -06:00
fickleheart cd71e94785 Remove filthy filthy cheats 2019-01-08 20:36:06 -06:00
wolfy852 ad01dcc5ac Merge remote-tracking branch 'remotes/public/next' into gamepad-tweaks
# Conflicts:
#	CMakeLists.txt
#	appveyor.yml
#	src/command.c
#	src/command.h
#	src/d_clisrv.c
#	src/d_netcmd.c
#	src/dehacked.c
#	src/doomdef.h
#	src/hu_stuff.c
#	src/m_misc.c
2019-01-08 16:32:24 -06:00
Sal 78ac038864 Merge branch 'mobjscale-global' into 'next'
Add a global for mobjscale

See merge request KartKrew/Kart-Public!10
2019-01-08 17:00:34 -05:00
SeventhSentinel 73542c008c merge srb2 next 2019-01-05 15:59:23 -05:00
fickleheart bc429ad4f8 Determine latency with leveltime BS instead of nettics 2019-01-05 01:13:16 -06:00
fickleheart 656de08b96 test stuff 2019-01-04 23:09:29 -06:00
fickleheart bd36a0f0a1 Don't turn players more than they're allowed to
This should account for latency properly.
2019-01-04 23:09:27 -06:00
fickleheart 12b0e7d5da Send latency in players' ticcmds 2019-01-04 23:09:26 -06:00
SeventhSentinel 5d51754936 In-game music credits 2019-01-04 04:44:55 -05:00
mazmazz b7bb570f97 Merge remote-tracking branch 'public-gl/master' into public-musicplus-core 2019-01-01 10:41:40 -05:00
mazmazz a626660564 Merge remote-tracking branch 'public-gl/next' into 2122-version 2018-12-25 00:19:42 -05:00
mazmazz 82a40f0dba Support Look Up/Down keys for NiGHTS movement 2018-12-24 23:48:03 -05:00
Latapostrophe b7d7472a88 Merge branch 'next' into SRB2-CHAT 2018-12-23 22:53:24 +01:00
Latapostrophe 619dd9d08a Fixed various issues: added some free()s, lua_optboolean, other things, and also made sure chat can't send empty messages. 2018-12-22 12:34:17 +01:00
Digiku 9525de2d83 Merge branch 'camera-backport' into 'next'
Suggestion: 2.2 camera changes backport

See merge request STJr/SRB2!393
2018-12-20 16:57:23 -05:00
toaster 0aabcd2503 lj dm'd me so here's a second, more sensible crack at it 2018-12-18 19:40:38 +00:00
toaster 99e50250cf Move some sidemove/forwardmove checks to playsim code rather than have them happen in ticcmd generation.
pGetPlayerControlDirection has to die since it was the only other usage of sidemove, and wasn't even relevant anymore anyways.
2018-12-18 18:05:11 +00:00
TehRealSalt 03a4bd8f53 Revert default changes
Digiku said they'd handle the new button defaults so \m/
2018-12-18 12:55:05 -05:00
Latapostrophe 45aba493c7 2.1.21 and all of the kart additions. Woo. 2018-12-17 20:43:59 +01:00
TehRealSalt e763eab6cd 2.2 camera changes backport
- Very slightly less claustrophobic camera defaults
- Changed camera settings are saved
- Camera distance increases relatively with splitscreen & analog mode.

These changes are kind of debatable because them not saving was an intentional decision initially, and the camera being farther out could potentially clip more geometry where it previously didn't... still, thought I'd open this for consideration
2018-12-16 18:18:59 -05:00
TehRealSalt c69cfefb6d 2.2 backport of jump/spin axes
Needs the config default-changing shenanigans done still, not sure how to tackle that yet. Now the game is TOTALLY playable from a fresh install if you just plug in a controller.
2018-12-16 17:45:49 -05:00
Latapostrophe 25e6d5388c merge conflict 2018-12-16 16:48:15 +01:00
wolfy852 ca2475ac3e Print GameController info when detected, use proper 360 controller defaults for triggers 2018-12-14 11:50:53 -06:00
SeventhSentinel 2422501ab9 Add a mapobjectscale global
Should be no different than it was before, now it's just less tedious to type :V
2018-12-12 21:55:59 -05:00
Digiku 17e9188c89 Merge branch 'execversion' into '21-version'
Block previous versions' config defaults with EXECVERSION consvar

See merge request STJr/SRB2!371
2018-12-06 12:41:20 -05:00
mazmazz 70aa4ce18e Add alwaysfreelook2 and mousemove2 to config versioning
* Change alwaysfreelook2 to be consistent with alwaysfreelook (the only one that wasn't the same)
2018-12-06 11:59:34 -05:00
mazmazz a802069313 Move joyaxis_fire default to right trigger 2018-12-06 05:55:56 -05:00
mazmazz aaf5d2e1dc Change 2p controller defaults 2018-12-06 05:26:28 -05:00
TehRealSalt c599d84d6e Actually, best of both:
Let Grow/Shrink revert itself when it changes to 0, as well as add a function for removing either. Means we don't have to modify every single > 0/< 0 check, and is overall cleaner.
2018-12-05 23:28:44 -05:00
TehRealSalt d0180ecb15 Cut this down slightly 2018-12-05 20:54:58 -05:00
TehRealSalt d53e4af93a Merge remote-tracking branch 'srb2public/next' into merge-next 2018-12-05 20:46:48 -05:00
Digiku 42cb597731 Merge branch 'joystick-juggling-two' into 'next'
Joystick additions for menu, axis defaults, and vertical look toggle

See merge request STJr/SRB2!359
2018-12-03 22:59:19 -05:00
mazmazz 6ca1130551 Hardcode Screenshot, GIF, and Viewpoint to their F keys 2018-12-03 13:21:16 -05:00
mazmazz 205e52f6d4 thisjoyaiming fix for chasefreelook 2018-12-03 13:13:01 -05:00
mazmazz 7e523a1e35 Reset vertical look when toggling joyaiming 2018-12-03 13:10:24 -05:00
mazmazz 59cabea8bd Add joyaiming qualifier for joystick look up/down 2018-12-03 13:10:19 -05:00
mazmazz 6dd44ca1de Change PC axis defaults to 360-friendly values 2018-12-03 13:10:15 -05:00
mazmazz 31f23fda8d Add gc_viewpoint from Kart 2018-12-03 11:50:57 -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
wolfy852 3ec0afc09d AXISBRAKE, take out GameController stuff for now 2018-12-02 19:33:09 -06:00
wolfy852 d1a0df09a5 Merge remote-tracking branch 'remotes/origin/master' into unfuck-gamepads 2018-12-02 02:01:51 -06:00
wolfy852 aba7711c39 Potentially fix spectators floating when inputting right on the analog stick. 2018-12-02 02:01:06 -06: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 5534017954 Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -05:00
TehRealSalt 5f3abae81b Merge branch 'possibly-better-turn' 2018-11-29 07:13:24 -05:00
toaster d8955f1f87 LF_SECTIONRACE now has a secondary function!
* Sets the player respawn coords on the finish line, so dying in the short interval between crossing an intermediate finish line and hitting a checkpoint doesn't send you all the way back to the beginning.
2018-11-28 16:33:52 +00:00
TehRealSalt 79359a3672 Multiply turn values by realtics 2018-11-28 03:10:36 -05:00
TehRealSalt e2a9aeb34c Require 3/5ths of checkpoints instead of 1/2
This broke MKSC in a minor way if you skip a specific item set and then take the big cut... I'll let it go anyway since its an improvement everywhere else.
2018-11-27 14:28:11 -05:00
Sal a2ab230bfa Merge branch '102-gameplay' into 'master'
v1.0.2 gameplay

See merge request KartKrew/Kart!107
2018-11-27 12:25:37 -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
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 5dbd747237 Flush map buffer early, again
Now it's directly in G_AddMapToBuffer
2018-11-26 06:09:26 -05:00
TehRealSalt 4bd6ae3f04 Calculate buffer size manually
(Yes, I checked; this always outputs "3" for its current usage.)
2018-11-26 05:09:56 -05:00
TehRealSalt 494fa55390 Accidental removal 2018-11-26 04:42:14 -05: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
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 d467399480 Keep track of the place SPB is following
This makes it so that if the SPB'd person is passed, then the person who's getting SPB'd won't get the increased item odds for the weird feedback loop.
2018-11-24 20:41:17 -05:00
TehRealSalt 3f35ffd7c6 Franticized items for 2nd place VS SPB'd 1st 2018-11-22 23:38:54 -05:00
mazmazz 17ff7e69a0 Add chasefreelook to separate third and first person mouselook 2018-11-22 17:05:24 -05:00
mazmazz f926774ee1 Hardcode Pause/Break key and change Pause default; show prompt in menu about Pause key 2018-11-22 14:37:21 -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 8f2210fb2f Allow turning while respawning
This makes rubber-burn turning even more useless, but I don't think there's a way to fix the rubber-burn turn without breaking demo playback, so let's just do the part that is needed for now. I kinda want to redo how that mechanic works anyway.
2018-11-21 20:29:21 -05: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
TehRealSalt 9b1c2b8dc0 Make Map Hell a 1% chance 2018-11-19 23:41:15 -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 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
Sal c419d973a3 Merge branch 'chat-changes' into 'master'
Fix capslock wonkyness

See merge request KartKrew/Kart!98
2018-11-17 16:54:56 -05:00
Latapostrophe 477400020d forgot whitespaces.... 2018-11-17 22:23:23 +01:00
toaster 4abb03a231 Two tweaks to gamedata saving:
* Save gamedata in Y_UpdateRecordReplays(), so that you never unfairly lose out on your spoils by setting modifiedgame before the game ends.
* Always save your matchesplayed/totalplaytime increase at the successful completion of a level.
2018-11-17 20:16:27 +00:00
Alam Ed Arias d4cb81cb28 Merge branch 'master' into next 2018-11-14 15:45:29 -05:00
TehRealSalt ba9818c8ca Skip errors for staff ghosts 2018-11-14 05:20:51 -05:00
TehRealSalt 1ab5ac58a7 Title demos don't interrupt the music 2018-11-13 21:01:59 -05:00
TehRealSalt 93ab9850a3 Clean-up of unused/removed sfx, replacement of the last remaining Mario sfx, and new sfx in some spots
- Replaced eggitem landing sfx
- Replaced banana landing sfx
- Replaced item tossing sfx
- Replaced item clashing sfx
- Added sfx for drift spark tier changing
- Added sfx for brake drifting
- Reverted Mario Mode sound replacement back to vanilla
2018-11-11 17:30:30 -05:00
TehRealSalt 69287984db Merge branch 'master' into staff_names 2018-11-08 14:47:38 -05:00
TehRealSalt 393fee317e Fix for the Y_FollowIntermission change hurting Record Attack
Should probably be ported to vanilla
2018-11-08 14:43:06 -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 935c0da7d2 Fix startbumps.
A more detailed explanation:
* P_CheckPosition is the function which determines collisions.
* In Vanilla, collisions do not happen between players unless tailspickup is off (which it basically never is).
* Even with tailspickup off, on-spawn player collisions do not affect momentum.
* However, in kart, player collisions cause the player to get bumped.
* It would succeed at the P_CheckPosition call because players aren't *solid* solid, even though they cause bumps.
* It would fail at the K_CheckPlayersRespawnColliding call, but that would be too late, *as the player already has been bumped.*
* The player would therefore be moved to a new location, but still retain bump momentum, and the bump sound would have played for both players.
* Therefore, the obvious solution is to swap P_CheckPosition and K_CheckPlayersRespawnColliding, so that it checks for players BEFORE it performs object collisions at that spot.
* The reason we didn't see this MUCH before is that it can only ever happen in the case of ties.

I could've easily done this into master, but obviously I figure yalls'd at least like to check this first.
2018-11-06 13:33:27 +00:00
toaster 75d08f2048 TITLE SCREEN DEMOS: Pick a random Staff Attack demo!!!
Also: Fix watching a demo replay of a map with a palette not resetting your palette back to normal when you go back to the menu(/titlescreen).
2018-11-05 13:45:40 +00:00
toaster 6604d0181c Staff attack ghost names on the `REPLAY...` menu.
Also: Remove playercolor being set to the replay's color. No need to kill your settings, seeing as it makes no tangible effect on your replay (doesn't even lose colour when you die, so I don't even know...)
2018-11-04 01:00:17 +00:00
TehRealSalt 5c1cc6e1df Merge branch 'master' into all_hardcode 2018-11-02 01:42:34 -04:00
LJSonik b52158eb48
Merge branch 'master' into analog-flipcam-synch-fix 2018-10-29 19:52:08 +01:00
TehRealSalt 9f18164ad4 The motherload: all of my Lua is hardcoded
This took like 6 straight hours of work, never ask me for anything ever again
2018-10-29 05:00:08 -04: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
TehRealSalt 9630e01616 Camera crash fixes
UNRELATED, but they made this branch a pain in the ass to test so I needed to fix this here :V
2018-10-28 17:31:59 -04:00
Latapostrophe 26093de2e9 Merge branch 'master' into chat-changes 2018-10-25 11:14:49 +02:00
Sal 3e556cde44 Merge branch 'last-netgame-tweaks' into 'master'
Last netgame tweaks

See merge request KartKrew/Kart!57
2018-10-24 19:33:47 -04:00
TehRealSalt a1da768a87 Keep specator join request on respawn 2018-10-22 16:26:24 -04:00
TehRealSalt 3ec228d34f No more cheesing Shrink by dying
(If that was kept, we'd see it exploited all the time on release :V)
2018-10-22 16:22:41 -04:00
TehRealSalt 9e4937d07f Don't f12 time over'd players 2018-10-22 15:06:07 -04:00
toaster 791dc079ec Merge branch 'master' into 'chat-changes'
# Conflicts:
#   src/hu_stuff.c
2018-10-21 08:27:28 -04:00
TehRealSalt 2021897972 Merge branch 'master' into new-spb 2018-10-19 17:45:06 -04:00
Monster Iestyn 29b242a5bd Merge branch 'endgame-code-refactor-backport' into 'next'
Endgame code refactor

See merge request STJr/SRB2!297
2018-10-19 17:31:19 -04:00
TehRealSalt 553066b48b Merge branch 'master' into net-screen 2018-10-19 15:59:13 -04:00
Sal 734b7008c4 Merge branch 'democam' into 'master'
If I were a bad Democam, I wouldn't be sittin' here discussin' it with ya now would I?!

See merge request KartKrew/Kart!48
2018-10-19 15:50:28 -04:00
Sal 4994e9749f Merge branch 'no-spectate-griefing' into 'master'
Prevent spectate griefing

See merge request KartKrew/Kart!43
2018-10-19 15:50:18 -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 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
TehRealSalt 8d6e203bd2 New SPB
May not make it to R1, but oh well
2018-10-18 04:43:50 -04:00
TehRealSalt c8cd84ca34 No more vanilla democam, for real 2018-10-17 19:10:23 -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
TehRealSalt 7f4228c37b Merge branch 'master' into net-screen 2018-10-16 21:40:06 -04: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 c9b0786a3b Merge branch 'master' into fix-nextlevel 2018-10-16 17:05:47 -04:00
TehRealSalt 362cbeb6b5 Merge branch 'master' into no-spectate-griefing 2018-10-16 16:38:35 -04:00
TehRealSalt d158b3848e Fix the earlier attempt at patching over this 2018-10-15 19:05:23 -04:00
TehRealSalt 01c48c88d0 Prevent spectate griefing
If the player count dips below what was stored on the start of the last lap, then don't do time over so that someone can't just spectate at the end of a race out of rage. Y'all are assholes :V
2018-10-15 18:41:34 -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
Monster Iestyn feceaf6d30 Removed all code in Y_FollowIntermission that's already handled in G_AfterIntermission
Only real difference here is that CEcho messages will always be cleared when going to credits/evaluation, but that's hardly a loss tbh.
2018-10-11 21:25:15 +01:00
Monster Iestyn 2bb7df5f49 G_ExitLevel tweak: Use HU_ClearCEcho() instead of HU_DoCEcho(""), the latter causes an empty line to appear in log.txt 2018-10-11 21:25:04 +01:00
Monster Iestyn 31f3f8b8e7 Moved Y_EndGame from y_inter.c/h to g_game.c/h, renamed it to G_EndGame 2018-10-11 21:24:53 +01:00
Monster Iestyn 9c464742b7 Remove "playerdeadview" variable; it's not been used for its stated purpose for who knows how long now
Besides rankings popping up when you die just sounds weird anyway, maybe I'm just used to SRB2 not doing it I guess
2018-10-11 20:00:45 +01:00
Latapostrophe 346c6bce96 HU_AddChatText cleanup for future use + chat mode Window (Hidden) added. 2018-10-10 21:24:55 +02:00
TehRealSalt 4364caa4ea Merge branch 'master' into net-screen 2018-10-09 21:15:30 -04:00
toaster 83bfca8009 Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into karmegg 2018-10-09 21:09:52 +01: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 2f061a531a Karma Eggman. Does what it says on the egg. Tried very hard not to merge conflict with `frameperfectegg`.
Also includes some adjustments to:
* Horizontal offset of Eggman countdown in splitscreen again. It's not perfectly centered either way, but on second thought I like this better.
* Sound of Lat`'s Mine/SPB explosions - now uses same sound as Karma bombing, instead of that shitty paraloop.
* Correctly wipe k_eggmanblame when it is appropriate to do so.
2018-10-07 11:40:06 +01:00
TehRealSalt 7de16e2528 Foolish 2018-10-04 20:06:55 -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 58b52adf7e Address toast review
- Re-add highlighting to the header text, and shift it back up slightly
- Move the viewpoint loop break out of a while and into the main loop
2018-10-01 19:23:38 -04:00
TehRealSalt e6fd41339a DrawFill supports splitscreen offset flags 2018-10-01 08:41:44 -04:00
TehRealSalt 96506359f1 Goodbye cvar 2018-10-01 07:21:02 -04:00
TehRealSalt 71e40f68cd Foolish error 2018-09-30 21:47:04 -04:00
TehRealSalt 73100b22d5 Please don't punish offline practice 2018-09-30 21:46:12 -04:00
TehRealSalt ad06b3c62f Proper G_GametypeHasSpectators for netgame splits 2018-09-30 16:35:05 -04:00
TehRealSalt cf5c0a7a6a New bindable keys
You can now remap Change Viewpoint, Screenshot, and Toggle GIF Recording to other keys, mainly for gamepads

They also pushed me to my breaking point and I couldn't tolerate the control menu anymore, thanks to toaster for the scrolling backport
2018-09-27 16:55:21 -04:00
TehRealSalt 3d582bc98f Viewpoint key improvements
- Don't cycle through exiting players
- Don't cycle through karma players in Battle
- Disable console print on switch, it's already got a HUD element
2018-09-26 21:35:57 -04:00
TehRealSalt 487e114fee raceexittime var 2018-09-22 18:59:26 -04:00
toaster 84c2a8c28f Sign compare fix via boolean cast 2018-09-22 11:59:07 +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
mazmazz c5ea6b5efe MusicPlus Core (positioning and fading) 2.2 -> 2.1 backport 2018-09-18 10:22:17 -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
TehRealSalt ee94da90b2 Don't let players carry them between levels..........
(In return for not letting anyone experience this silly bug, I made spectators joining before the match starts in Battle spawn with bumpers)
2018-09-10 03:15:46 -04:00
TehRealSalt 6f867274ed Item stuff
- Keep items on death, as long as you haven't used them yet.
- Restart the item roulette on spawn if you die during it.
- Held items that take up your item box now flash, to be consistent with Rocket Sneaker and Grow.
2018-09-10 02:48:10 -04:00
TehRealSalt 6e328a4e73 Misc camera fixes
- Fixed remaining instances where camera position would scale with the player instead of the level; the camera should almost 100% certainly not change now when you get Grown/Shrunk
- Reset camera when switching viewpoint, to make it not look *as* weird when switching after you've finished (needs tested)
2018-09-04 16:10:59 -04:00
toaster 91eb248e46 Fix up them there ghosts!
* Stop orphaning their memory. They ARE PU_LEVEL, so they'll disappear eventually, but, like... it's not good memory management practice to just *orphan* them when you're literally never going to do anything with them ever again. Y'know?
* Make ghosts spawn properly on slopes.
2018-08-25 17:11:49 +01:00
Latapostrophe 8747a8529d Changed chat position,
Added chat back tint
Fixed word wrapping glitches
2018-08-19 10:58:29 +02:00
toaster 1d894f36c3 Correct minor issue with random map name selection. 2018-08-15 16:56:26 +01:00
toaster 485cb3f308 Added "Random" to the level selection list, for those days when you know you *want* to race but don't have any idea what to do. 2018-08-15 16:12:36 +01:00
toaster 000fbe8b52 Merge branch 'sonicitems' into encore 2018-08-11 22:52:24 +01:00