Commit graph

250 commits

Author SHA1 Message Date
toaster cfaaac78be Merge branch 'sonicitems' of https://git.magicalgirl.moe/KartKrew/Kart.git into encore 2018-08-07 17:09:25 +01:00
Monster Iestyn 02d2b61866 Merge branch 'master' into next 2018-08-06 15:15:35 +01:00
Monster Iestyn 8d622ff6f8 Quick fix for LJ's password fix: don't check if password is set until we've confirmed that the receiving player is the server! 2018-08-05 20:17:30 +01:00
toaster c1749b01b1 * Tint, not Teint.
* Update/rearrange menus a tad, to be more appealing and correct some categorisation in general.
2018-08-05 16:34:51 +01:00
Latapostrophe ee5ebd978a Chat wordwrap fix + Minichat bg highlight 2018-08-05 13:08:27 +02:00
TehRealSalt bf4f85fcca Merge branch 'sonicitems' of https://git.magicalgirl.moe/KartKrew/Kart into sonicitems 2018-08-04 15:48:50 -04:00
TehRealSalt 97ec385234 Thunder shield overlay 2018-08-04 15:48:31 -04:00
Latapostrophe 3af7b7bf91 merge sonicitems into chat-changes so that it's not lagging 10 years behind 2018-07-31 19:45:49 +02:00
toaster 731b05e263 More UI crap!
* Fix minor additional error in tab rankings.
* Remove FREE PLAY from intermission drawer, per Sal's request.
* Remove "second%s" from the end of the "Start in %d"/"Vote ends in %d" string.
* Rename cv_advancemap's "Off" value to "Same", to make the behaviour clearer.
* Make the "Start in %d" string now begin with cv_advancemap's string (ie, "Vote in %d", "Same in %d", "Random in %d, Next in %d"...
2018-07-30 23:17:14 +01:00
toaster f125573048 Some minor things to help draw sonicitems to a close.
* "kartvoices" cvar. Possible values "Never", "Tasteful" (default), and "Meme".
* Added a way to move quickly through the credits, rather than skip them entirely (hold spacebar or down arrow).
* Fix a few mistakes in M_ChangeCvar, some of which I introduced and some of which were weird in the first place.
* Tweak the offset of the arrows that let you know you can modify a cvar by pressing left or right (some via a patch.kart change, but others via tweaking the drawing location).
2018-07-29 18:35:56 +01:00
TehRealSalt a80c6ccf39 Fix basenumlaps prints 2018-07-27 22:21:13 -04:00
TehRealSalt 7073c9ede2 Use joysticks 1-4 by default, restore KEY_BACKSPACE functionality
These are both huge boons for gamepad functionality. If we can add a way to add a menu key, then all of the controller requirements for v1 will be covered.
2018-07-27 22:16:56 -04:00
toaster bd12658355 Added the ability to toggle the f-zero style elimination of last place specifically.
Type `karteliminatelast off` to turn it off, and `karteliminatelast on` to... you know the rest.
2018-07-25 21:33:03 +01:00
TehRealSalt b42d083b99 Finishing touches on Ballhog
- Ballhog has explosion + sound on death
- Ballhog shrinks to nothing if it didn't hit anything
- Replaced a Mario sound on Orbinaut
- Fixed Jawz's sound effect
- Fixed Mines not being removed on death pits
2018-07-24 22:47:09 -04:00
toaster 5a9e10c663 Merge branch 'sonicitems' of https://git.magicalgirl.moe/KartKrew/Kart.git into sonicitems
"It is only the *results* that remain in this world! All the *actions* you take in a world where time is erased are meaningless!" - Diavolo, Chapter 520
2018-07-24 22:13:20 +01:00
toaster 4f1ddaaa7d Fix buffer overrun and iteration clobbering in D_SetupVote by:
* Decreasing number of writes - now the unchanging gametype is only written once, and both gametypes are written as UINT8s instead of UINT16s.
* Increasing size of buffer to match new threshold.
2018-07-24 22:04:27 +01:00
wolfy852 f98bc6f851 Fix a minor conditional error in d_netcmd.c 2018-07-23 19:50:28 -05:00
toaster 4f23b84f92 ...fix it properly instead of rushing into it at 1am 2018-07-24 01:12:40 +01:00
toaster 823497ea06 Fix accidentially tripped PARANOIA error for teamchanges. 2018-07-24 01:03:59 +01:00
toaster bd78c34b99 Encore mode - a fresh take on mirror mode!
* Palette remaps.
* Branding.

TODO:
* Doesn't work in GL. (Mostly.) I have SOME ideas on how to tackle this, but...
* Transmaps are broken in Encore for some reason.
* I tried to make in-level colormaps shimmy over, but it didn't quite work, so I commented it out and only semi-fixed it.
2018-07-23 23:50:41 +01:00
TehRealSalt 2f5baa6199 Item dist scales with low player count instead of just odds, you can change some cvars during start countdown 2018-07-22 18:15:11 -04:00
toaster 992b1dc795 MAP HELL IS REAL
* Force map hell if there are two or more non-spectators (ie, same condition as to not be in FREE PLAY) and everyone has selected the RANDOM level slot.
* Unique gasp-and-Shulk-based sounds for both forced and non-forced map hell occourances.
2018-07-22 21:02:31 +01:00
toaster b818c8a2cf * Make cancelling a join work on the pause menu and console. (You need to write "changeteam spectator" to cancel a PF_WANTSTOJOIN.)
* Stop respawning spectators when their PF_WANTSTOJOIN request hasn't been processed yet.
* Handle PF_WANTSTOJOIN requests in GS_WAITINGPLAYERS.
* Refactor K_CheckSpectateStatus, and make it so PF_WANTSTOJOIN requests are processed if there's only one player in the server, even if they're on lap 2 or up.
* Make the player entry mechanism in P_SpawnPlayer use the PF_WANTSTOJOIN mechanism so that it can also take advantage of the level refresh mechanism with no extra code.
	* NOTE: This does a bad hack in order to not send multiple mapchanges while the joining timer is low! If you can think of a better way to do this, please let me know/commit it.
* Change the timer until you can hit ITEM again when a spectator who has to wait to join shorter.
* (controversial, but I think necessary) - flash the ITEM text when the above-mentioned timer is nonzero.
2018-07-21 16:45:08 +01:00
TehRealSalt 6eaed1ac7b Spectator overhaul
- New player flag, PF_WANTSTOJOIN, added for setting up a spectator queue. You are allowed to join as long as no one has started lap 2.
- Map resets when two people have entered the game, so matches can start naturally without the need of an admin.
2018-07-20 19:11:36 -04:00
toaster 7e0d5a479c Fix the egregrious bugs from our last testing netgame.
* Made Got_Teamchange's level-based stuff only happen in GS_LEVEL.
* If, by chance, DoTimeOver gets called on a player without an object, it won't crash either.
* Make ending music play when you get time overed.
* Make changing-to-spectators get removed from the intermission drawer.
2018-07-19 01:27:36 +01:00
toaster 2b7298e959 *A biggie: two-tier intermission screen!
* Have the entire thing slide the fuck away a short while into the intermission.
	* The tab screen is modified to work off similar behaviour and presentation.
* To go with it, a revamp of how Battle's scoring is handled.
	* It's now considered "hits", and is stored in a reuse in one of the vanilla NiGHTS variables, allowing it to use exactly the same ranking mechanisms as race.
	* No more resetting of score between battle rounds.
* Minor, unrelated general code cleanup in places.
* Disable the YEEEAH in splitscreen, otherwise you'll hear it *all the time*.
2018-07-18 20:23:46 +01:00
TehRealSalt 6574e1f0fc Shrink debug command, trailing items spawn directly on players, rainbow win 1 is more faithful, make springs more powerful for shrunk players, correct Grow/Shrink fullbright frame 2018-07-12 01:31:33 -04:00
TehRealSalt 9da279006f Merge branch 'master' into sonicitems 2018-07-10 17:02:55 -04:00
toaster c65a2e3177 Fix unpausing when you're a waitingplayers admin. 2018-07-10 19:39:11 +01:00
TehRealSalt ec0c358755 Merge branch 'master' into sonicitems 2018-07-08 17:51:44 -04:00
TehRealSalt 278fd87452 Fix Sryder's bool error
I don't seem to get this error for some reason, even after upgrading to w64 & GCC 7.2.0, but hopefully this fixes it
2018-07-07 17:33:26 -04:00
toaster 97348beb66 Fix all compilation errors (tested using DEBUGMODE=1 and ERRORMODE=1) that remain outstanding. Notably:
* Remove FUNCMATH from all void-returning functions, given GCC80 specifically complains about this case.
	* Extend the length of all extant buffers to the safety threshold recommended by the compiler.
	* Add void casts to WS_getaddrinfo's setting to prevent complaints about incompatible typecasts.
	* Extend the charsel, face, and superface buffer sizes and writes to include the null terminator. (I didn't really want to do this because it's not even particularily NEEDED, but there was literally zero way to get around the request that I could find with multiple online searches. I tried.)
2018-07-07 16:52:01 +01:00
Monster Iestyn e5236c3137 Merge branch 'master' into next 2018-07-05 21:09:39 +01:00
toaster 91941830fa Merge branch 'sonicitems' of https://git.magicalgirl.moe/KartKrew/Kart.git into sonicitems 2018-07-04 22:58:18 +01:00
toaster f49b12a705 * Fix the fades mess, and have the title screen always have a smooth, non-checkered fade from blapck!
* Fix all the bugs with skin not being set properly or kept synchronised with the multiplayer setup in record attack.
* Reduce the amount of flashing on the voting screen.
2018-07-04 22:57:50 +01:00
TehRealSalt fbcf566874 WANTED recalculates on hit, tons of spectator changes 2018-07-03 21:12:25 -04:00
SeventhSentinel 80c2b56927 Changed all instances of "balloon" to "bumper"
Also changed "It's you!" to "Select character & color..."
2018-07-03 15:14:47 -04:00
toaster b0d9110e5f Intermissions...
* Do the gametype change stuff on the voting screen.
* Make all the picking sound and setting stuff one function, rather than in two seperate places that need to be kept identical.
* Have the timer at the bottom be the highlight colour.
* Map hell! LF2_HIDEINMENU is craftily reused...
* Less allocation and deallocation for the adjacent G_RandMaps.

Other stuff...
* Fix command_map_f not resetting players' score in battle.
* Shiny titlescreen!
* Fix a random bonus newline in one of the quit messages.
2018-07-02 23:23:04 +01:00
TehRealSalt 5c7b66cc0f WANTED 2018-07-01 04:36:09 -04:00
TehRealSalt e4c96fcd7f Merge branch 'sonicitems' of https://git.magicalgirl.moe/KartKrew/Kart into sonicitems 2018-06-30 21:19:54 -04:00
toaster cf6f85a72a Don't look at this commit too closely until after netgame, I want to surprise yalls!!
* Lots of menu changes!
	* Little arrows next to changeable cvars!
	* Show default value for sliders!
	* Pretty pretty pretty.
	* I don't know how to describe some of these changes.
* Effectively nuke MIDI music support!
* Skiddown at the start of a race is more interesting!
* Spinning in waterslides!
* Tiny bugfix in voting, plus a little celebration...
2018-06-30 23:18:13 +01:00
TehRealSalt 0ba127c435 Unused vars 2018-06-29 22:17:36 -04:00
toaster 9a9e1ad81e * Rework min/max cvars to allow for "named" values! They probably won't work if they're inside the range, but...
* Combine the numlaps and usemapnumlaps functionality on the menu into basenumlaps, which numlaps is set to every race start, except when it's map default value (0) in which case it loads the map's lap count.
2018-06-29 17:49:02 +01:00
toaster d2a8414dee * Properly handle gametype changes when a different-gametype level pops up on the voting screen.
* Defer the change until you're actually modifying the map, in service of the following.
	* Reset score.
	* Call that gametype change function.
* Collary of the above: Don't reset score if you're `map mapxx`ing in the console, unless it's `force`'d.
* Fix the basic, obvious issues that'd prevent us shipping with the new level title system.
	* Correct the non-green resolution support, which was ALMOST there but which I accidentially fucked up one of the signs on.
	* Adjust the subttl position if it'd get overwritten.
	* Draw the gametype with the subttl.
* Adjust the gametype constants for easier gametype_cons_t array access.
2018-06-29 15:14:43 +01:00
toaster dcec24605e * AN OPPORTUNITY FOR GAMETYPE CHANGES ON THE VOTE SCREEN!
* Super important to allow dedicated servers to continue forever without needing to add Terminal.
    * To facilitate understanding, add gametype dog-ears to the vote screen!
    * To do the above, add V_DrawDiag! Works in GL, too!!
* Unrelated shit!
    * Fix a buffer overrun in the randmapbuffer!
    * Disable spectating in splitscreen... Not 100% sure, but in 2p battle, if you spectate, you just lose one balloon and respawn...
    * Improve all the string drawing functions' behaviour - both with being SLIGHTLY clipped by the edge of the screen, and when confronted with drawing off the base 320*200 internal area
2018-06-28 15:47:56 +01:00
SeventhSentinel 16e1569af1 Lakitu murder & countdown improvements
(I'm not SevenethSentienel! I just don't feel like logging out!)
2018-06-24 22:15:22 -04:00
TehRealSalt 2497d9c96c Debug checkpoint, and prevent spinout/booster timers while in the air 2018-06-17 18:10:42 -04:00
wolfy852 8abeae7805 Chat Manager 2018-06-15 05:20:01 -05:00
TehRealSalt 0543d8e0fa Better menus 2018-06-14 20:18:29 -04:00
TehRealSalt 4e2b30fcae Fixes 2018-06-08 00:02:28 -04:00
TehRealSalt 889d790ea0 Disable MT_QUESTIONBOX again
I refuse to give up the name "cv_invincibility" to another vanilla cvar that we will never use seriously.
2018-06-07 19:46:48 -04:00
TehRealSalt 9b3751b30c Merge branch 'master' into sonicitems 2018-06-07 19:39:45 -04:00
TehRealSalt e39de53fa2 Use strlen for all of the valid zone title/act num checks 2018-06-05 17:28:46 -04:00
TehRealSalt 0fc113e6dd actnum is now a 2 character long string
For Cloud Cradle Zone, Act K
2018-06-05 01:34:05 -04:00
Louis-Antoine c389c0b3dc xd 2018-06-04 22:30:27 +02:00
Louis-Antoine 91081a3e53 Disable admin password by default 2018-06-04 22:14:01 +02:00
TehRealSalt 518676c2a4 P, not K 2018-06-03 21:07:36 -04:00
TehRealSalt 6d57d39e12 SUPER CHARGED KARMA ITEMS
They give equal chance on a lot of good shit, instead of the normal boring pool of items, mwahaha

(also calls P_CheckRacers when someone spectates)
2018-06-03 20:58:52 -04:00
TehRealSalt 0906978a2a Remove collide debug stuff 2018-06-03 18:58:50 -04:00
TehRealSalt 4c0f64ff4f Merge branch 'master' into sonicitems 2018-05-31 19:47:50 -04:00
TehRealSalt 7d021ae1e6 Splitscreen-friendly voting screen 2018-05-31 18:49:19 -04:00
TehRealSalt eadd7381eb Changing from Relaxed Standard Turbo to the typical Easy Normal Hard
Reception to the naming convention has been either "don't care" or "too hard to remember"
2018-05-30 17:29:40 -04:00
TehRealSalt dcd8c87c6f But hey, what if I also made color & skin save to the config too!
Does this make up for it? :V
2018-05-30 16:59:53 -04:00
TehRealSalt 36b52e1c67 Merge remote-tracking branch 'refs/remotes/srb2public/next'
# Conflicts:
#	src/f_finale.c
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/m_misc.c
2018-04-07 18:43:59 -04:00
TehRealSalt e5798f7490 Rename fake item to eggman monitor 2018-03-13 21:07:08 -04:00
TehRealSalt 375f9a9291 Merge remote-tracking branch 'refs/remotes/origin/master' into sonicitems
# Conflicts:
#	src/d_netcmd.c
#	src/g_game.c
#	src/k_kart.c
#	src/p_enemy.c
#	src/p_inter.c
#	src/p_map.c
#	src/p_user.c
#	src/sounds.c
#	src/sounds.h
#	src/y_inter.c
2018-03-12 00:58:13 -04:00
TehRealSalt 517fcd4366 Better gamepad axis support 2018-03-11 18:07:28 -04:00
TehRealSalt f97ec30493 Made a lot of gametype checks use either G_RaceGametype or G_BattleGametype
Should make it a lot easier to add more gametypes later.
Also some minor fixes:
- Changed up how shell speed scales in mobjscale juuuust slightly, so
it's less messy
- Fixed CHECK showing spectators
2018-03-04 15:27:52 -05:00
TehRealSalt ce74a4c964 Attempted to fix how voting handles no votes
I don't know exactly what it did previously since I never actually
observed what happens, but now in dedicated servers it will wait for
time to run out, then if there's no votes by that time it will just go
onto nextlevel
2018-03-01 17:05:36 -05:00
Sryder 0454293bae Hopefully a few more fixes and sanity changes for map voting 2018-02-23 01:53:30 +00:00
Sryder dbc27e9c9e It's SINT8 not INT8 2018-02-23 01:04:52 +00:00
Alam Ed Arias 99552c2ba2 Merge branch 'master' into next 2018-02-14 10:29:24 -05:00
TehRealSalt 3e7fbad490 Porting over some things from sonicitems 2018-02-13 16:48:09 -05:00
TehRealSalt 00d2038d61 Merge remote-tracking branch 'refs/remotes/origin/master' into sonicitems
# Conflicts:
#	src/k_kart.c

(Also I added some extra music for voting, because I forgot I didn't
commit the merge :V)
2018-02-11 12:18:25 -05:00
TehRealSalt 2af4f0451a One last thing: don't add whatever the game rolls for the random option
Makes it even more of a wild-card option, also makes sure that you
actually *see* all of the maps before it empties
2018-02-10 16:50:44 -05:00
TehRealSalt 2889687d1d New invincibility effect, grow/shrink stuff
Whenever grow/shrink effects get made, I'll remove the Mario-style
stuttered growth and whatever else needs doing beyond that
2018-02-10 01:19:33 -05:00
TehRealSalt ec84b46bb4 P != M 2018-02-08 18:14:56 -05:00
TehRealSalt 85a81ed087 Minor adjustments in hopes that I fixed the resynch bomb on gametype switch? 2018-02-08 17:13:06 -05:00
TehRealSalt 8c2bdfd006 Belp
- Minimap heads that aren't yours are transparent
- Minimap has a visibility slider
- Bomb stuff renamed to Mine
2018-02-07 22:33:27 -05:00
TehRealSalt cbff4bbf44 So much
- Renamed fucking everything
- Threw out all of the item code because it looks at me funny
2018-02-05 18:55:52 -05:00
TehRealSalt b20e2d55eb Everything
Been a while since I synced :V
2018-02-03 23:47:47 -05:00
toasterbabe 5adfdf9516 cv_playername already has a valid default value of "Sonic". We do NOT need to expose things like this. 2018-01-30 22:48:53 +00:00
TehRealSalt 58da420e30 Setup vote is a XCMD now
But now the rest of voting can get desynced easily now... this is
increasingly getting more and more fucked.
2018-01-30 16:42:44 -05:00
TehRealSalt 202ad11b43 Merge remote-tracking branch 'refs/remotes/origin/master' into democracy 2018-01-29 19:20:23 -05:00
TehRealSalt 1e01e65a8b Fixed spectating for real, messages for changing some kart cvars, Mirror Mode disallowed in Battle 2018-01-29 19:15:25 -05:00
TehRealSalt 41f09816ce Functional, ready for netgame! 2018-01-27 23:52:01 -05:00
TehRealSalt cc0c99640f Work so far
Crashes, but baseline's there
2018-01-27 01:17:08 -05:00
TehRealSalt 403e14e971 Merge remote-tracking branch 'refs/remotes/origin/master' into menus-cvars-unlocks
# Conflicts:
#	src/g_game.c
#	src/m_cheat.c
#	src/p_user.c
2018-01-24 16:24:36 -05:00
TehRealSalt f6cfcd4f89 Restructured some ticcmd stuff, temporary keyboard defaults, commented out mouse options menu
No more weapon number buttons, button constants reordered, and BT_JUMP
renamed to BT_DRIFT, and removed a lot of commented out stuff or stuff
we didn't need. Spectator-only support for looking up/down soon.
Keyboard defaults are just what I use, plan on adjusting it further
after more feedback
2018-01-24 02:45:06 -05:00
TehRealSalt 8b88a2ebd8 Spectating is properly implemented now
- Spectate button works
- Spectating & objectplace controls are usable now
- New spectator HUD
2018-01-22 22:18:57 -05:00
TehRealSalt 672c4b5298 Record best lap time in Record Attack
- Record Attack replays now save best lap time
- Removed instances of NiGHTS Attack
- Removed a lot of unlockable that have no use in Kart (ultimate mode,
perfect bonus, score emblems, etc)
- Removed all methods of activating ultimate mode
2018-01-21 19:15:26 -05:00
TehRealSalt abfefd3d51 No more analog mode
It doesn't work well in SRB2Kart :V
Also fixed the player setup name field's _ being 8 px too far to the
right
2018-01-16 21:58:48 -05:00
TehRealSalt db09f7b3d6 Lots of changes
- Menus now have all of the Kart cvars
- Removed any cvars that aren't useful for Kart from the menu (they
still exist in the console, though)
- Removed SP and NiGHTS Mode options from the main menu
- "kartcc" is renamed "kartspeed", uses values 0-2 instead of multiples
of 50, or the terms "Relaxed", "Standard", and "Turbo"
- Many gametype options (game speed, frantic, mirror, & karma comeback)
are now changed on map load instead of instantly
- New cvar, "kartminimap", for disabling the minimap
- The maxplayers cvar now actually matches up with our 16 player limit
- Game now keeps track of matches played. Has a condition type
associated with it, as well.
- Game checks for unlocks and saves gamedata when finishing a match,
even in MP
- Removed most of the normal emblems, added a single emblem for Green
Hills. Didn't know what to do with extra emblems and such so I just left
them (FOR NOW c:<)
2018-01-15 22:31:14 -05:00
Monster Iestyn f1b8e122a2 Fix missing semicolon 2018-01-12 20:05:09 +00:00
Monster Iestyn 602701d6dd G_DoPlayDemo: prepend srb2home to the demo name (if an external file) so that demos in custom home paths can be loaded 2018-01-11 16:55:42 +00:00
TehRealSalt f2fb100515 Stupidly minor "Sonic Robo Blast 2" -> "SRB2Kart" 2018-01-02 23:15:13 -05:00
TehRealSalt 42ddd32406 Merge remote-tracking branch 'refs/remotes/srb2public/master' 2018-01-02 22:59:43 -05:00
TehRealSalt d92e2d89dd Y'know what let's just completely get rid of this prefcolor restriction
Kart doesn't really need this if we're taking the MK8 Yoshi/Shy Guy
approach to just letting you pick whatever colors. It's just plain
annoying to set your color in the menu, then go into splitscreen and see
that none of it actually carried over :V
2018-01-01 18:12:44 -05:00
Monster Iestyn afcdb5cd1e Merge branch 'restartaudio' into 'master'
Add command to restart the audio system

Closes #27

See merge request STJr/SRB2!214
2017-12-27 16:47:50 -05:00
Steel Titanium 875446295b Remove redundant !dedicated check 2017-12-27 16:36:57 -05:00