Commit graph

259 commits

Author SHA1 Message Date
TehRealSalt
aa12bbf039 Fix tabbing 2018-10-09 15:28:52 -04:00
TehRealSalt
640e0e09c6 Merge branch 'master' into sal-cleanup 2018-10-08 00:22:44 -04:00
toaster
41ad3de999 Access to map hell maps in record attack. Currently dependent on 50 emblems.
Also: temporarily cleaned up the M_CanShowLevelInList record attack conditions to automatically match what we want, instead of requiring us to apply a bunch of vanilla flags just to emulate our "available unless explicitly hidden" MP mechanism like is currently in maps.kart.
2018-10-06 21:08:09 +01:00
TehRealSalt
cc2af8a329 Merge branch 'master' into net-screen 2018-10-05 16:13:25 -04:00
TehRealSalt
639a170c78 Merge branch 'master' into sal-cleanup 2018-10-04 18:51:45 -04:00
toaster
fdf398d003 Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into toast_misc 2018-10-03 21:04:34 +01:00
TehRealSalt
24c615108f Merge branch 'master' into net-screen 2018-10-01 19:46:25 -04: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
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
5132c31e0f I have no idea if this is an actual problem or not, but this was in the back of my mind from day 1 2018-09-30 17:17:33 -04:00
TehRealSalt
bc807dccc4 Sorta messy menu to set splitscreen
Now this branch is completely functional!
2018-09-30 17:09:59 -04:00
TehRealSalt
d705d2a606 Temporary testing measure
set splitscreen = 3 on host or connect
2018-09-30 11:22:56 -04:00
toaster
2c1db167da Correct that thing Lat` found where sometimes the controls menus'd get "stuck" replacing the second key every time, effectively only allowing one key until you clear it and try again.
Also, sounds.
2018-09-29 16:18:16 +01:00
TehRealSalt
30005ad39b Scale fixes 2018-09-27 17:17:04 -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
toaster
169411e3da Disable cv_joinnextround behind #define VANILLAJOINNEXTROUND. 2018-09-27 21:38:19 +01:00
TehRealSalt
1a37335675 ESC rebind works on both bound keys 2018-09-26 20:51:25 -04:00
toaster
a85682983b Manual has more pages and less terrible large-size support. 2018-09-25 22:33:22 +01:00
toaster
73116f2b60 The pipeline halted for some reason, so here's the smallest possible legitimate change to bump it back into action: Replacing commenting-out with #ifdefing. 2018-09-23 16:13:58 +01:00
toaster
fa65cbb43e Somehow butchered the code cleanliness (indentation/not taking advantage of a macro I defined specifically for this) here a little by accident - tidied up. 2018-09-23 13:34:49 +01:00
toaster
2e158f2c21 Add a scroll bar to the addons menu. Should hopefully make the temperature gauge a little less problematic... 2018-09-23 13:22:00 +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
Sal
5f78807ef0 Merge branch 'encore' into 'master'
Encore

See merge request KartKrew/Kart!7
2018-09-22 17:52:33 -04:00
Sal
81249a084a Merge branch 'shitsfree' into 'master'
:shitsfree:

See merge request KartKrew/Kart!12
2018-09-22 17:24:11 -04: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
TehRealSalt
3b928ca979 Condense this re: wolfs 2018-09-20 22:16:04 -04:00
toaster
e90139c5b3 :shitsfree: 2018-09-20 17:45:19 +01:00
toaster
8618d7bbec Merge branch 'sal-misc' of https://git.magicalgirl.moe/KartKrew/Kart.git into misc_plus_menustuffs
# Conflicts:
#	src/k_kart.c
2018-09-17 11:19:17 +01:00
TehRealSalt
7edb99b87a Revert this now that we have ESC functionality
(I mean. I still think this feels nicer than pressing the menu button, but...)
2018-09-15 20:13:29 -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
691de18fbb Menu sound toggle fixes (and add starpost sfx to menu) 2018-09-14 11:24:28 -04:00
mazmazz
8c78d86c36 Play the opposite type music (Digital/MIDI) when toggling between them in menu
* S_MusicInfo method to retrieve name, flags, and looping

(cherry picked from commit f6ec93198f0dcfa1d053cca88172c3e3c7ba310c)
2018-09-14 10:38:32 -04:00
mazmazz
7e7899ae83 Toggle Digi/MIDI music in menu accurately; add S_MusicType
(cherry picked from commit 4aa100aa575cc7fc14a743085222c806ba2c714a)
2018-09-14 10:37:08 -04:00
mazmazz
a414ccf24a nodigimusic nomusic nosound -> digital_disabled midi_disabled sound_disabled
(cherry picked from commit 07738fb0bcf640a4349337373f451fe68e024b2a)
2018-09-14 10:35:51 -04:00
mazmazz
011a043dba Refactoring, music statues
* S_Init -> S_InitSfxChannels because it did mostly SFX anyway
* S_MusicPlaying, S_MusicPaused, S_MusicName, S_MusicExists new status methods
* I_MusicPlaying, I_MusicPaused

(cherry picked from commit f5f0b5e76c2fd405c8cc895dde653c5ed2652622)
2018-09-14 10:28:29 -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
67d57d82bc I was getting annoyed by these arrows and their inconsistency, so I made them use the graphics. 2018-09-10 12:41:53 +01:00
toaster
5b27e597d7 More manual pages, plus renaming the option to Tricks & Secrets (F1) - PLUS, the magic of a little animated how-to for leafing through the pages. Requires new patch.kart, as I wanted the leading zeroes and Jeck wanted to add more pages without more commits later... 2018-09-10 12:39:59 +01:00
toaster
0e6bcee463 Merge branch 'sal-misc' of https://git.magicalgirl.moe/KartKrew/Kart.git into misc_plus_menustuffs 2018-09-10 11:43:45 +01:00
TehRealSalt
f4c45877b2 Merge branch 'sonicitems' into sal-misc 2018-09-10 03:22:11 -04:00
wolfy852
e5b947de0a Change ESC menu override string to "Open/Close Menu (ESC)", adjust menu accordingly 2018-09-09 21:24:19 -05:00
wolfy852
9a82176f6f Merge commit '72d80a9aa890d93dfd86e95af75c0752e1ff7e56' into sonicitems 2018-09-09 17:57:23 -05:00
toaster
c8639ed0e0 Disable the options you MEANT to disable. 2018-09-09 15:44:37 +01:00
toaster
1010950148 This isn't vanilla, don't be a shit about secrets and addfile (plus it helps that this fixes a crash) 2018-09-09 15:17:41 +01:00
toaster
6c6bafd1d6 * User manual!
* Some visual ordering fixes for the item menu, plus a #define-toggleable option for the bottom right slot to be traversable for ease-of-use purposes (even if it doesn't do anything).
2018-09-08 17:02:03 +01:00
TehRealSalt
83eb9c1b43 Redone stat graph 2018-09-03 00:06:17 -04:00
toaster
e01f2ff096 Update arrow rendering to use simple character function rather than overkill string function. 2018-08-31 22:38:56 +01:00
TehRealSalt
203b43a138 Toggle All option 2018-08-31 14:41:37 -04:00
TehRealSalt
68a94b5657 Small fix 2018-08-31 13:23:05 -04:00
TehRealSalt
e6303d1889 Toggles for kitchen sink, ten banana, & quad orbinaut, and a screen that they can fit on 2018-08-31 13:18:19 -04:00
toaster
7c7a7bf849 disable encore ruby/flip on record attack menu with kartencore on 2018-08-29 22:02:42 +01:00
toaster
22be81ef02 * Prettier record attack screen!
* Uses the in-game timer element to draw its times.
	* This includes showing them time emblems-to-get!
	* good night sweet prince
* Make the emblem time use the same ' and " as the normal time.
2018-08-29 21:37:47 +01:00
toaster
7a758708c6 * Add support for .kart files.
* Wrap behind-the-scenes `addfile/exec` contents in quotation marks to allow for files with spaces in them.
2018-08-29 14:19:08 +01:00
toaster
b6dbecd2f8 Addons menu.
Bitch.
2018-08-28 21:08:47 +01:00
toaster
77ba3e3c2d Additional oversight corrected. 2018-08-15 16:59:28 +01:00
toaster
be1e43fc0b Merge branch 'sonicitems' into encore 2018-08-15 16:12:42 +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
c895f45d96 Make some minor tweaks to the two server setup menus (splitscreen and not-splitscreen).
I wouldn't have done this, but I was already in the code to fix the bugs, so I hit something that was bugging me[/sonic adventure voice] as well
2018-08-15 15:22:50 +01:00
toaster
19b2c20bda * Disable inverting on encore level select pictures at unanimous request of last night's netgame.
* Also, correct their alignment in y_inter.c.
2018-08-14 15:32:17 +01:00
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
202e98957d * For testing purposes, show Encoremaps on the level select icons.
* HOWEVER, we should seriously address this again later, because the antialiasing DOES result in some unfortunate bullshit...
* Encoremap maces per Oni's request and Sal's suggestion
2018-08-10 21:11:45 +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
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
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
toaster
ad119af07b * Get chat to compile with errormode on.
* Add chat options to the HUD and Sound Option menus.
2018-08-02 23:52:07 +01: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
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
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
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
toaster
e3a1bf2f83 * Lots of Record Attack love!
* Record Attack Input display!
	* Show Record Attack emblem and emblem time on the HUD! Changes colours with the player, just like vanilla internal's.
	* Remove the ugly dark blue box on the singleplayer (including pause screen) whose only purpose in Kart was to contain the Record Attack emblem info!
* Unrelated shit!
	* Improve loading Kart HUD graphics.
	* Fix mirrored HUD graphics being one screen pixel (not basevid pixel) offset.
2018-07-15 23:13:36 +01:00
toaster
7f96774dbd Layout tweaks to record attack menu and statistics screen. 2018-07-12 15:45:00 +01:00
TehRealSalt
6bfe7bd134 Merge branch 'master' into sonicitems 2018-07-09 00:52:38 -04:00
TehRealSalt
0377956276 This is wrong and is causing issues and I'm entirely surprised this hasn't tripped vanilla yet 2018-07-08 19:07:54 -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
TehRealSalt
ba43ed5d48 Squash a few more errors
Updated my compile setup to GCC 6.3, makes it as far as m_misc.c now with ERRORMODE and DEBUGMODE, stops at some gettext related stuff I don't know how to fix now
2018-07-06 21:53:37 -04:00
toaster
292b529c51 Free unwittingly malloc'd memory. 2018-07-06 23:59:05 +01:00
toaster
39e6169b42 Improve the defaulting thing to not play the sound if the cvar isn't to be touched. 2018-07-06 20:55:22 +01:00
toaster
1a2dfaed79 * Add a way to revert all non-awkward cvars back to their default settings, with special casing for prefcolor as a default for playercolor on the record attack menu.
* Make MT_GHOST's dispoffset -1, so that at the starting line in record attack your player is always visible even when you have multiple ghosts in play.
2018-07-06 20:40:42 +01:00
toaster
5f28e11fd2 Fix a bunch of issues with record attack!
* Fixed the issue where your runs would be saved as belonging to the wrong character.
	* Make the Ghost menu always visible. This isn't PERFECT, but it's better than hiding the option to toggle ghosts just because you're doing your first run as a new character.
	* Fix the number of laps carrying over from MP(!!!!!!!!! plugged a huge security hole for the authenticity of replays...)
Other stuff!
	* Hide map hell maps in the statistics.
	* Clean up some nonet stuff in the menu.
	* Put player setup last again, and tweaked its wording.
	* Disable the special Kart waiting for players behaviour when not playing a netgame - seeing a double gamestate transition in record attack is weird.
2018-07-06 18:08:35 +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
toaster
fa2aa98e04 * ACTUALLY fix waiting for players chat.
* Correct minor bug with blink cursor on IP in multiplayer menu.
2018-07-04 00:58:32 +01:00
TehRealSalt
d0fe935583 Fix joystick menu drawing
(also it was impossible to pick the 8th joystick, what's up with that?!)
2018-07-03 16:18:17 -04:00
TehRealSalt
9a716a7cfe Merge branch 'sonicitems' of https://git.magicalgirl.moe/KartKrew/Kart into sonicitems 2018-07-03 15:35:39 -04:00
TehRealSalt
ec6f6cfa70 Fix splitscreen joystick 2018-07-03 15:32:26 -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
toaster
0b9b7c3371 Tweak player setup menu. 2018-07-02 14:43:52 +01:00
toaster
e76c328129 Sorry, Sal! In my defense, you don't need to recompile from scratch for any of this, despite what it may look like, as the skincolour name lists are walled off from the rest of the dehacked lists...
More menu/highlight things:
* Rename "Default" to "Game type", to make clearer what it's doing.
* Tweak race colouring slightly.
* Put a highlight around the level select icon, and make it consistent with voting.
* Allow setting the highlight colour to affect the intermissions.
* Fix bug with gametype colour getting for record attack.

A handful of skincolour things:
* Rename Turqouise to Aqua, because it resembles one of my fav 2.2 colours with that name.
* Fix incomplete Steel Blue -> Steel rename.
* Merge the very similar Blueberry and Sapphire...
* ... so Sapphire can be backported!
* And Ruby too.
2018-07-02 13:20:04 +01:00
toaster
89cce5c461 More menu stuff!
* Center level selection.
	* Re-work Record Attack screen.
	* Re-order MP Main menu, hide in NONET.
	* Combined yeeeah on vote screen.
	* Colour gametype on tab and tally.
	* (unrelated) Don't show "CHECK" if exiting.
2018-07-02 01:55:01 +01:00
toaster
d4556cfe25 Fix another whoopsie! 2018-07-01 20:03:01 +01:00
toaster
e4ec7e1567 Correct outdated text. 2018-07-01 20:01:48 +01:00
toaster
776c66514d Menu stuff!
* Bar of levels.
* Colourisation!
* New V_SKYMAP, which hasn't been put in dehacked lists but is otherwise valid!
* New single page statistics screen!
* V_DrawFixedPatch now works at the edge of the screen!

Ghost fixes!
* On minimaps!
* Free memory after use!
* Don't spawn in midair on slopes!
2018-07-01 19:29:13 +01:00