Commit graph

157 commits

Author SHA1 Message Date
Sryder
5fba15a58b Make waypoints setup on map load
Refactor some things to make slightly clearer code
Change comments to use completely tabs
Add extra error checks to methods for helpful debugging and safety
Use a heap of waypoints during creation to be able to search for them to make links, to not freeze the game
Add a way to clear waypoints so that the methods don't error after more than one map load
Flip the ambush flag so that adding it will make the waypoint unable to be respawned at when the feature happens
Temporarily disable K_UpdateKartPosition so that it doesn't crash on map load
2019-02-02 13:50:22 +00:00
TehRealSalt
a1daaf339b 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
5be9f9e2d4 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
09da50000e Merge branch 'next' into music-credits 2019-01-09 03:08:20 -05:00
TehRealSalt
301477f212 Misc level init fixes 2019-01-08 20:14:58 -05:00
SeventhSentinel
1d58c6b8c2 merge srb2 next 2019-01-05 15:59:23 -05:00
SeventhSentinel
9365f7f235 Minor touchups/cleanup 2019-01-04 16:47:03 -05:00
Steel Titanium
73dc40a0b1 Fix saving progress on vanilia 2018-12-26 15:47:12 -05:00
Digiku
15c9404f91 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
2b28d30109 Merge branch 'next' into sw_largeroomfix 2018-12-20 19:58:16 -02:00
Digiku
b6ff4b8930 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
b584e95cdb bland 2018-12-20 18:52:51 -03:00
Jimita
b8b2fbb816 Merge branch 'next' into sw_largeroomfix 2018-12-20 16:56:05 -02:00
Monster Iestyn
c22df14771 Merge branch 'master' into next 2018-12-20 16:41:21 +00:00
mazmazz
8fb1453633 Comment out stray PK3 blockmap message 2018-12-20 01:11:07 -05:00
TehRealSalt
079c0ec709 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
fad18c421e 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
b6d1cca4da Merge remote-tracking branch 'public-gitlab/next' into addons-backport 2018-12-15 20:52:46 -05:00
mazmazz
ede6b183b1 Merge branch 'addons_menu' into 'master'
Addons menu

See merge request KartKrew/Kart!8
2018-12-15 20:46:42 -05:00
MPC
dd78224528 Large room fix 2018-12-09 19:34:17 -03:00
TehRealSalt
4507ee18fd Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -05:00
Sal
5cad8e272f 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
d158d7e011 Merge branch 'next' into PK3-BackportNext 2018-11-26 18:56:51 +00:00
mazmazz
c91b2b4456 Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
TehRealSalt
d3fb778a52 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
623c7097f1 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
9bec65ca03 Franticized items for 2nd place VS SPB'd 1st 2018-11-22 23:38:54 -05:00
toaster
0fc427a663 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
5fe9cbba3d 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
67f0b120c7 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
ad8f789935 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
9350721d12 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
62152af724 Merge branch 'master' into all_hardcode 2018-11-02 02:30:36 -04:00
TehRealSalt
193941945e 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
3c04b2103b 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
ef2b789bfe 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
71452edda2 Merge branch 'master' into new-spb 2018-10-19 17:45:06 -04:00
Sal
de1d9770b9 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
2ae44ab10e New SPB
May not make it to R1, but oh well
2018-10-18 04:43:50 -04:00
toaster
efc37b002b 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
c4a249366c Merge branch 'master' into no-spectate-griefing 2018-10-16 16:38:35 -04:00
TehRealSalt
0717db3f31 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
1142fddc71 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
85430da37f 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
5e8799a965 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
ae0e569cfb 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
d2ca0d5bfe 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
3e23576060 One last thing - make the OpenGL level loading bar screen have the correct background colour. 2018-09-22 12:43:54 +01:00
Monster Iestyn
22b799a655 Remove commented out stuff, now I've confirmed everything works fine without them 2018-09-10 15:49:21 +01:00
Monster Iestyn
a5ba47cb3a R_CreateColormap2 and R_MakeColormaps have been made obsolete, it's just R_CreateColormap now, like it used to be!
With that, I moved R_CreateColormap2's exclusive software colormap malloc code to R_CreateColormap, and merged the two software-only blocks of code into one. I also disabled any unneeded variables and fixed a preprocessor-related goofup
2018-09-09 22:48:09 +01:00