Commit Graph

2981 Commits

Author SHA1 Message Date
Sryder eebde386cf Merge branch 'frameperfectegg' into 'master'
Frame Perfect Egg

See merge request KartKrew/Kart!31
2018-10-07 09:39:45 -04:00
Sryder 64ceed280a Merge branch 'colors' into 'master'
Edit Pink, Navy, and Jet, add brown text

See merge request KartKrew/Kart!28
2018-10-07 09:39:22 -04:00
Sryder da4853f4d5 Merge branch 'droptweaks' into 'master'
Droptweaks

See merge request KartKrew/Kart!27
2018-10-07 09:37:02 -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
Sryder fb6c329870 Fix the crashing bug hopefully
A value of 1 in freesrc for Mix_LoadWAV_RW and Mix_LoadMus_RW calls SDL_RWclose on the RWops anyway.
For Mix_LoadWAV_RW the RWops is freed right after the data is loaded (because it makes a copy of the data in memory)
For Mix_LoadMUS_RW the RWops is freed when Mix_FreeMusic is called (because the data is not a copy)
So setting 1 on freesrc doesn't actually free the RWops immediately on Mix_LoadMus_RW *unless* it failed to load any music.
2018-10-07 10:37:45 +01:00
Sryder 02597e0bf9 Fix compiler warnings. 2018-10-07 09:26:18 +01:00
TehRealSalt 8ba3f88553 Don't need thissec 2018-10-06 23:37:27 -04:00
TehRealSalt ff7b402dc5 OGL support 2018-10-06 19:25:59 -04:00
Sryder d072dd2725 I think that should be NULL, not 0 actually. 2018-10-07 00:22:23 +01:00
Sryder 7b417b573c Mix_QuickLoad_RAW sets a flag in the Mix_Chunk so that Mix_FreeChunk doesn't actually Free the sound.
Checks for the flag when freeing, and if it's 0, we free the data manually after Mix_FreeChunk.
I went back to Z_Malloc and Z_Free for this because they still work after this.
2018-10-07 00:15:42 +01:00
Sryder 725a65c1f7 Call SDL_RWclose after an SDL_RWFromMem call to close the RWops. 2018-10-07 00:15:11 +01:00
toaster 031f142459 You got it, Sal 2018-10-06 21:53:39 +01:00
TehRealSalt 3d7a1d44d5 Do clipsolid for doorclosed only while your camera is outside of the sector 2018-10-06 16:22:36 -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 ea6bdca949 Remove R_DoorClosed
This function has caused me, so much unexpected pain because of just how out of the way it is, and NOTHING else uses it
2018-10-06 15:13:57 -04:00
toaster 2effb6adc3 Halt frame-perfect egg crash.
(The code is slightly modified from what I put in bug-reports as a potential fix, but I'm glad I was on the right track.)
2018-10-05 23:24:26 +01:00
Monster Iestyn 1ec601af6b Draw a star for continues if invalid skin numbers are somehow supplied 2018-10-05 22:42:36 +01:00
Sal 5a80d036e7 Merge branch 'always-move-cam' into 'master'
Move camera less often

See merge request KartKrew/Kart!30
2018-10-05 11:47:55 -04:00
Sal 352c824ee1 Merge branch 'chat-changes' into 'master'
Chat changes

See merge request KartKrew/Kart!26
2018-10-05 11:47:45 -04:00
Sryder d1daa99289 Merge branch 'vsync-default-off' into 'master'
Disable VSync by default

See merge request KartKrew/Kart!29
2018-10-05 10:44:48 -04:00
Latapostrophe df824eb370 Say-team (key and command) now depend of G_GametypeHasTeams(), so you'll only have to modify this function to have say-team work in the gametypes of your choice. 2018-10-05 12:13:11 +02:00
TehRealSalt 3417f57e92 -skill launcher option
Requested by Sev(?), for map editing; sets kartspeed using the same name as Doom's difficulty launcher option
2018-10-04 23:58:44 -04:00
Steel Titanium b812a6a4ab Really fix DD compiling this time. 2018-10-04 22:56:11 -04:00
Steel Titanium fc5d969642 Fix DD compiling 2018-10-04 22:44:26 -04:00
Steel Titanium 49cb1ffe9f Restore deleted endif 2018-10-04 22:38:59 -04:00
TehRealSalt d51e4c3140 Scale explosions properly 2018-10-04 22:09:12 -04:00
TehRealSalt c5e30aa018 Don't allow non-keyboard keys to screenshot/gif in menus 2018-10-04 22:06:56 -04:00
TehRealSalt 376656343a Revert "Attempt to not let the camera into thok barriers"
This reverts commit 9f42e74fe2.
2018-10-04 20:08:29 -04:00
TehRealSalt 7de16e2528 Foolish 2018-10-04 20:06:55 -04:00
Steel Titanium 79f5f4885c Split zlib and libpng 2018-10-04 19:47:19 -04:00
TehRealSalt 639a170c78 Merge branch 'master' into sal-cleanup 2018-10-04 18:51:45 -04:00
TehRealSalt 6bae5e952b Brown text colormap instead of teal, revert sky-blue 2018-10-04 18:07:56 -04:00
TehRealSalt 71efda2b20 Always move the camera
According to wolfs, this improves fps. Let's confirm, shall we?
2018-10-04 17:50:50 -04:00
Sryder 8afdda8249 Disable VSync by default. I wouldn't be surprised if there are issues that arise from it, and I'm fairly sure its always been slightly spotty. 2018-10-04 21:08:47 +01:00
TehRealSalt 744c41bc8a Edit the text remaps
Lighter sky, lighter pink, steel is now called steel-blue
2018-10-04 14:30:54 -04:00
TehRealSalt 1cb2c22cbd Dream is green, Olive is yellow 2018-10-04 14:28:38 -04:00
TehRealSalt fef3c63740 Moved colors around yet again for nicer invincibility effect
- Ruby is closer to the pinks (and where purples would be if it wrapped around)
- Sapphire is closer to the cyans
- Dream is right before the teals
2018-10-03 21:18:07 -04:00
TehRealSalt ad64279d28 Edit Pink, Navy, and Jet 2018-10-03 20:48:44 -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
toaster dcdbf911a5 Don't have all of your mines disappear into the aether if you have to shield-drop ONE, because they're not all out at once. (This is only really relevant to debug testing, given picking up additional HUD-dropped mines isn't very likely. 2018-10-03 20:56:43 +01:00
toaster 60a26fcaa4 * Modify PIT_GrenadeRing to place less-complicated checks near the start of the function.
* Add the customary LUA_CallAction call to A_GrenadeRing.
* Revamp A_MineExplode into using a blockmap iterator. Having tested it it might be less laggy in some situations, but I think the drawing is causing the bulk of the problems here.
2018-10-03 20:51:15 +01:00
toaster 4c1a068bd7 Update A_GrenadeRing to also take the mapheader scale into account. 2018-10-03 20:23:59 +01:00
Latapostrophe 4aea053c2f Allow client to open chat and scroll even if muted. 2018-10-03 20:09:32 +02:00
TehRealSalt 738ee90d8a Merge branch 'master' into noclip-cam 2018-10-03 13:45:20 -04:00
toaster d7892266e4 Improve A_MineExplode.
* Re-order the conditions within it such that it quickly checks for shootability and absence of scenery BEFORE it performs the more costly range or parentage checks.
	* Make its explosion radius take mapscale into account. (This is the only off-topic change made in this branch. I have made it here because half of this commit, which doing the other half in a seperate branch would conflict with, is on-topic.)
2018-10-03 17:27:58 +01:00
toaster a16b9cfc1f Incorrect comment starting location. 2018-10-03 17:16:23 +01:00
toaster ecfe8e5070 Complete the disabling of the traditional shield mechanism (oversight from initial commit). 2018-10-03 17:14:25 +01: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
Sryder 76e0ff6dc7 Merge branch 'waypastpoint' into 'master'
Ghetto waypoint improvements

See merge request KartKrew/Kart!21
2018-10-02 18:20:17 -04:00
toaster 2f082d8265 Revert "Just realised the inputwheel jittering in Sryder's videos was my fault, so fix this even better"
This reverts commit 8aff76b8c3.
2018-10-02 16:52:02 +01:00
toaster 4b9d5f251e Fix incorrect alignment of selected-level Ruby in vote drawer. 2018-10-02 16:51:17 +01:00
Alam Ed Arias 348f4dc2cd Merge branch 'master' into next 2018-10-02 09:14:59 -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
toaster 445013b0f9 Wrong bracket level for flashing-set. 2018-10-01 22:44:17 +01:00
toaster 147b7a5786 Modified SPB to not route through P_DamageMobj (so wehave more control over the shield dropping/item obliteration, given Sryder picking up his own Thundershield...) 2018-10-01 21:48:52 +01:00
toaster d42736fe3d Include srb2.org in the credits per Rob's wishes. 2018-10-01 21:23:00 +01:00
Sryder 033667a0ee Merge branch 'keysmash' into 'master'
(Mic)key('s Dick) Smasher

See merge request KartKrew/Kart!18
2018-10-01 14:58:31 -04:00
Latapostrophe 49acbe9bee Fix /me and sayteam, except sayteam now actually doesn't do anything anymore. 2018-10-01 20:23:56 +02:00
toaster c9da6cd856 Minor HUD offset tweak for splitscreen eggnum. 2018-10-01 18:10:12 +01:00
toaster d0e629a8e2 Correct some inconsistencies I missed in the previous commit. 2018-10-01 13:51:23 +01:00
TehRealSalt e6fd41339a DrawFill supports splitscreen offset flags 2018-10-01 08:41:44 -04:00
toaster 379772e5aa Allow respawning spectators before starttime is up because they no longer spawn in a condition that allows them to get an unfair advantage (drop dash or its ghetto 2.0-esque predecessor)
Also, some camera tweaks:
* Force chasecam when exiting, just like it's forced when you're dead and not a spectator.
* Force a horizontal camera angle aiming when spectator and dead, to avoid skybox bugs.
2018-10-01 13:25:13 +01:00
toaster 14a5ffbfd8 Based on netgame comments last night, update the tab rankings info to show less information in race. 2018-10-01 12:52:54 +01:00
toaster f1267f8ae1 Don't allow a new driftboost of lesser magnitude to completely cancel an existing driftboost. 2018-10-01 12:27:35 +01:00
TehRealSalt 96506359f1 Goodbye cvar 2018-10-01 07:21:02 -04:00
toaster 0ec952d019 Add a `SECTIONRACE` map flag. So far, all it does is prevent the number of laps from exceeding the map default, but it's a base to work off of if we want to add any other changes specifically for section races in future. 2018-10-01 12:12:48 +01:00
toaster 487a2ecf2e Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into toast_misc 2018-10-01 11:46:13 +01:00
TehRealSalt 73100b22d5 Please don't punish offline practice 2018-09-30 21:46:12 -04:00
Monster Iestyn 800b3bb240 Move player + player mobj existence checks to top of P_MoveChaseCamera. This is the only place it makes sense to even check them tbh.
While I'm at it, let's also use the "mo" variable instead of player->mo throughout the function (to be consistent)
2018-09-30 22:18:48 +01:00
Sryder 005e3ce514 Merge branch 'hack_the_de_damnit' into 'master'
Fix dehacked list incongruence

See merge request KartKrew/Kart!20
2018-09-29 16:52:41 -04:00
toaster ab59504be0 Experimental: Making the ghetto waypoints we have right now their own mobj list in order to make them slightly less bullshit 2018-09-29 20:28:27 +01:00
toaster 1be13e8e2d Fix dehacked list incongruence. 2018-09-29 16:43:00 +01: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
toaster 21ba9921da Some credits tweaks (alphabetical ordering plus new names, plus slight downwards adjustment of `TYLER52`) 2018-09-28 20:10:22 +01:00
toaster 8ccaa1fcee Flip dynamic slope toggle. 2018-09-28 12:58:07 +01:00
TehRealSalt 68bf1f60f3 "TICRATE*1"?! 2018-09-27 18:44:14 -04:00
TehRealSalt 7c5d47deb5 No mashing in Record Attack 2018-09-27 18:42:42 -04:00
TehRealSalt 7de6a63207 Talk key is a two-way toggle for non-keyboard binds 2018-09-27 18:32:48 -04:00
TehRealSalt 6d798f00e7 Yet another scale fix 2018-09-27 18:26:37 -04:00
TehRealSalt 5419ac82ee 1 more fix 2018-09-27 17:21:06 -04: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
toaster fb102f8131 Fix dash-dust spawning not happening when drop-dashing, despite its function being called. 2018-09-27 18:39:54 +01:00
toaster 7f5b5ecb60 Spring *panels* now use `sfx_kc2f` again (but pogo spring *items* still do `sfx_kpogos`, in case you were worried). 2018-09-27 18:32:07 +01:00
toaster e4f6015b50 Revamp flat alignment to be consistent across all renderer functions except for the software slope renderer, which me and fickle tried our best at but couldn't get to work. (This is a backport of 2.2 code that slightly postdates the improved flat alignment Kart's had for a while.)
This fixes #11.
2018-09-27 18:11:43 +01: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 1a37335675 ESC rebind works on both bound keys 2018-09-26 20:51:25 -04:00
TehRealSalt a223375cc0 Remove the commented out SALLYALTRAINBOW define
The relative luminance tweak fixes what it was meant to fix, but without changing the core functionality
2018-09-26 20:40:26 -04:00
toaster 8aff76b8c3 Just realised the inputwheel jittering in Sryder's videos was my fault, so fix this even better 2018-09-25 22:37:04 +01:00
toaster a85682983b Manual has more pages and less terrible large-size support. 2018-09-25 22:33:22 +01:00
toaster eb4a967d8e Merge branch 'minimap_in_demos' into 'master'
Show minimap in demo playback

See merge request KartKrew/Kart!16
2018-09-23 18:14:09 -04:00
toaster c9e994ae07 smoll to tiny 2018-09-23 23:07:38 +01:00
toaster c0a16be662 Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into thundershield-hell
# Conflicts:
#	src/info.c
#	src/info.h
#	src/sounds.c
#	src/sounds.h
2018-09-23 23:07:16 +01:00
Sal 9c10a85596 Merge branch 'itemdrop' into 'master'
Itemdrop

See merge request KartKrew/Kart!11
2018-09-23 17:51:28 -04:00
toaster de91eb9793 You're right, this works fine 2018-09-23 22:34:59 +01:00
toaster a1ad4d79d0 Turns out `Playing()` evaluates to false when playing back demos. Who knew? 2018-09-23 19:58:15 +01:00
toaster 8bc1a217fe Merge branch 'addons_menu' into 'master'
Addons menu

See merge request KartKrew/Kart!8
2018-09-23 12:58:06 -04:00
toaster d2d6e67f48 Forgot I did this optimisation! Updated for the new colours. 2018-09-23 16:39:07 +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 `#ifdef`ing. 2018-09-23 16:13:58 +01:00