Commit graph

257 commits

Author SHA1 Message Date
toaster
a6d1e799f9 * Encore on the voting screen! Appears randomly once unlocked in the same slot as that which sometimes represents a gametype change (odds inflated for testing purposes).
* A better representation of an Encore level, now with inverted graphics (a special remapping we can now use elsewhere whenever if we want!) and a floating Ruby!
* Decouple encore's setting from cv_kartencore on mapload. Instead, bake it into D_MapChange and related, which will only some of the time be fed by cv_kartencore's value.
* Encore mode now has a special mapheader palette setting, "encorepal", rather than using the same one as non-encore.
2018-08-11 22:23:40 +01:00
toaster
c190db903c Merge branch 'sonicitems' into encore
# Conflicts:
#	src/st_stuff.c
2018-08-10 15:35:00 +01:00
toaster
a6ca459164 Fix all actionable comments in my review of sonicitems. 2018-08-09 22:59:52 +01:00
toaster
6f2840fe19 * Make Encore Mode an unlockable, rather than freely available.
* Make unlockables have a "showing" conditionset, for when you're able to see them on the Extras screen.
* A shorter Encore ruby-pulse fade, for when encore mode is already active!
2018-08-08 20:48:29 +01:00
toaster
7577d289c3 Encore mode is shippable, if still a tad incomplete!
* Turns out the Linedef Type 606 support WAS working and I just had a bad MAP01E lump.
* Ruby fade and ambience start track.
* Fix bad phrasing.
2018-08-08 15:03:02 +01:00
toaster
6f4308905f Merge branch 'sonicitems' into encore 2018-08-08 12:04:17 +01:00
toaster
c52a4de933 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into sonicitems
# Conflicts:
#	src/f_finale.c
#	src/hardware/hw_md2.c
2018-08-07 21:20:27 +01:00
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