Commit Graph

159 Commits

Author SHA1 Message Date
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
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
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
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
TehRealSalt de72403fb9 Add MUSICDEF lump for defining custom songs & replacing existing songs
Very rudimentary at the moment, but it's workable
2019-01-09 21:00:45 -05:00
TehRealSalt 72bc1b48f6 Merge branch 'next' into music-credits 2019-01-09 03:08:20 -05:00
TehRealSalt 5e8e08ad95 Misc level init fixes 2019-01-08 20:14:58 -05:00
SeventhSentinel 73542c008c merge srb2 next 2019-01-05 15:59:23 -05:00
SeventhSentinel 3e37d131ed Minor touchups/cleanup 2019-01-04 16:47:03 -05:00
Steel Titanium 4f18ec60bc Fix saving progress on vanilia 2018-12-26 15:47:12 -05:00
Digiku 8d56c2f486 Merge branch 'addons-backport' into '2122-version'
Addons Menu backport to vanilla

See merge request STJr/SRB2!384
2018-12-23 18:08:06 -05:00
Jimita 2b59cfa63f
Merge branch 'next' into sw_largeroomfix 2018-12-20 19:58:16 -02: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
MPC 9d93f54b67 bland 2018-12-20 18:52:51 -03:00
Jimita ffd5061531
Merge branch 'next' into sw_largeroomfix 2018-12-20 16:56:05 -02:00
Monster Iestyn dfbbab35f4 Merge branch 'master' into next 2018-12-20 16:41:21 +00:00
mazmazz 78501dcd0c Comment out stray PK3 blockmap message 2018-12-20 01:11:07 -05:00
TehRealSalt 9e596d15af Save override for level header
Kind of like 2.2's, but with backwards-compatability with 2.1
2018-12-16 20:09:59 -05: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
mazmazz 37950341ec Merge remote-tracking branch 'public-gitlab/next' into addons-backport 2018-12-15 20:52:46 -05:00
mazmazz b32f50648d Merge branch 'addons_menu' into 'master'
Addons menu

See merge request KartKrew/Kart!8
2018-12-15 20:46:42 -05:00
MPC 348ed1e43f Large room fix 2018-12-09 19:34:17 -03:00
TehRealSalt 5534017954 Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -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
MonsterIestyn b53cd70201
Merge branch 'next' into PK3-BackportNext 2018-11-26 18:56:51 +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
Nev3r c548aaa347 Backported PK3 support to 2.1
Hopefully I'm not missing anything.

Signed-off-by: Nev3r <apophycens@gmail.com>
2018-11-23 16:58:16 +01:00
TehRealSalt 3f35ffd7c6 Franticized items for 2nd place VS SPB'd 1st 2018-11-22 23:38:54 -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
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
Sryder b8477b4067 Squash various warnings
Shadowed declarations
Unsuffixed float constants
There's an unsuffixed float constant I can't fix because the define is outside of SRB2. We could have our own copy of Pi if we really wanted.
2018-11-14 21:53:57 +00:00
Monster Iestyn e85f73117c Split camera initialisation code from P_SetupLevel, make sure the camera has an initial subsector set! 2018-11-12 20:07:45 +00:00
Sryder 6af56273bf Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into nextmerge
# Conflicts:
#	src/d_main.c
#	src/d_main.h
#	src/d_netcmd.c
#	src/doomtype.h
#	src/hardware/hw_md2.h
#	src/p_user.c
#	src/r_splats.h
#	src/s_sound.c
#	src/s_sound.h
#	src/screen.c
#	src/sdl/i_system.c
2018-11-10 21:14:53 +00:00
TehRealSalt 37893cc523 Merge branch 'master' into all_hardcode 2018-11-02 02:30:36 -04: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
toaster a9b4a56d23 Stupidbad-big commit, but PLEASE don't ask me to re-do this on another branch, I swear to god. I know it makes things more difficult on you, and I'm sorry for that, but I'm definitely feeling the goddamn crunch right now and I wanna take a step back from this spaghetti nightmare and clear my head.
* Do that thing where the character icons are ALWAYS 1x sized, through having two seperate lumps.
* Revamp the S_SKIN parameters to be `facerank` (rankings - equivalent of half-scale old face), `facewant` (WANTED - equivalent of old face), and `facemmap` (equivalent of old iconprefix).
* Do that thing Oni wanted where it shows two postions above and two positions below your current ranking (and you) to the left of the screen, instead of always the top 4, with some limits to avoid drawing outside of everything.
* Replace the last few shitty Mario numbers (for the left rankings) with cool, new Oni numbers.
* Change a bunch of offsets and things so the tab rankings and the intermission work nicer with 9+ players.
2018-10-28 16:27:55 +00:00
Monster Iestyn 90cfa5ef16 Make new pv1/pv2 seg pointers, so AdjustSeg doesn't modify the v1/v2 pointers directly anymore
Yes I know they're void * in r_defs.h's seg_t definition, it's quicker than trying to figure out if including hardware/hw_glob.h is a good idea or not
2018-10-27 19:29:31 +01:00
TehRealSalt 2021897972 Merge branch 'master' into new-spb 2018-10-19 17:45:06 -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
TehRealSalt 8d6e203bd2 New SPB
May not make it to R1, but oh well
2018-10-18 04:43:50 -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 362cbeb6b5 Merge branch 'master' into no-spectate-griefing 2018-10-16 16:38:35 -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
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
Sal b8d86bb096 Merge branch 'thinkerclean' into 'master'
Nuke a bunch of iteration things that have no purpose in SRB2Kart.

See merge request KartKrew/Kart!25
2018-10-07 23:14:53 -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
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 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
toaster 4fd4deff8a One last thing - make the OpenGL level loading bar screen have the correct background colour. 2018-09-22 12:43:54 +01:00