Commit graph

339 commits

Author SHA1 Message Date
Jonas Sauer
b7c783223a Fixed the thinkerlist issues by removing THINK_LIMBO. Delay-removed thinkers now stay in their list.
Also includes toaster's assorted fixes and improvements from target_painted_on_your_ass.
2019-07-13 01:42:03 +02:00
mazmazz
7bbd05e85d Merge branch 'public-notpublic-musicplus-jingle' into internal-musicplus-jingle 2019-06-29 18:33:45 -04:00
Sryder
43936013f7 Merge branch 'master' of git@git.magicalgirl.moe:KartKrew/Kart.git into waypoints
# Conflicts:
#	src/d_netcmd.h
#	src/k_kart.c
#	src/p_setup.c
2019-05-25 12:09:47 +01:00
Nev3r
09ff071656 Fixed more mobj thinker iterator oversights and removed all mobj thinker function checks
Mobjs got their own thinker list after all, and disappearing thinkers are automatically purged from their lists and sent to the limbo list.
So it's safe to assume all thinkers inside the mobj list must be mobjs.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 16:39:57 +02:00
Nev3r
9e76730866 Add a temporary limbo list for thinkers that need to be freed, in order to keep other lists clean, especially the mobj list.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 16:17:47 +02:00
Nev3r
5a4eded7af Added a mobj-only list entry for mobj thinkers
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 23:29:20 +02:00
Nev3r
baeda5060c Basic multiple thinker list implementation
Set up a main thinker list and a polyobject mover list to test things up. Works so far, networking as well.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 22:39:22 +02:00
TehRealSalt
089be795a2 Huge splitscreen refactor
Did not get to finish all refactoring or even compile this, I'll continue later
2019-04-18 03:08:11 -04:00
fickleheart
273db8f5c1 Fix thrown items desyncing during frame advance 2019-04-09 23:55:25 -05:00
fickleheart
fb3d5ec7f0 Record demos consistently and also other stuff 2019-04-07 17:59:32 -05:00
fickleheart
25ff05fdd0 Add demo rewinding
Preview is fairly basic, and only shows players
rewinding. Full state is restored via reloading
the replay and jumping to the timestamp once
the rewind is done.
2019-04-06 14:51:00 -05:00
fickleheart
91868fc3a4 Allow entering a title for replays on save 2019-03-24 22:40:52 -05:00
fickleheart
8d9462d4aa Refactor replay saving handler for later use 2019-03-24 21:55:08 -05:00
fickleheart
f60e92aa70 Move public demo vars to a single struct 2019-03-24 21:32:15 -05:00
fickleheart
be458c1d05 Merge remote-tracking branch 'remotes/upstream/master' into new_netreplays
# Conflicts:
#	src/doomdef.h
#	src/g_game.c
#	src/p_user.c
2019-03-19 22:17:25 -05:00
mazmazz
7f0b923107 Merge branch 'public-gl-next' into public-musicplus-jingle 2019-03-15 18:42:19 -04:00
TehRealSalt
6aa55bdbe2 Merge remote-tracking branch 'kartpublic/next' into fortnite 2019-03-11 13:49:12 -04:00
James
4f9109501e Hyu b gone 2019-02-19 23:15:31 -05:00
fickleheart
5a5264e5dd Fix multiplayer ghosts crashing the game sometimes 2019-02-16 21:55:08 -06:00
fickleheart
d2b34a0e20 Add cvar for netreplay saving options 2019-02-16 18:29:51 -06:00
fickleheart
73639b6504 ??? 2019-02-16 13:10:58 -06:00
Sryder
79f381ebd4 Add visual debugging mode for waypoints
Fix some compiler warnings
2019-02-02 21:35:21 +00:00
fickleheart
5f0fc3f681 Write extra data before cmds
This will probably nip a possible issue
with player cmds getting read/wrote inconsistently
if a player joins or leaves.
2019-01-27 19:10:25 -06:00
fickleheart
4116c11152 Write skin/color/name changes to replay 2019-01-27 19:07:30 -06:00
fickleheart
08582fa7cc Fix spectators spawning as players in netreplays 2019-01-27 17:48:39 -06:00
fickleheart
30649b0574 broken spectator stuff? 2019-01-27 16:23:34 -06:00
fickleheart
2b47af32fb Record all players' ticcmds in multiplayer 2019-01-27 14:34:01 -06:00
SeventhSentinel
8391dd520a Add item spinning, turn into papersprites, spawn more orbs
Also tried to fix a memory issue I only get from Sev's compiles by removing the need to free memory for this... but didn't fix anything :/
2019-01-02 14:08:00 -05:00
mazmazz
81352aece1 WIP 20190101 merge
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
TehRealSalt
dfa0522326 Battle Mode overtime
After the time limit is up, spawn a shrinking kill-field. This is one hefty initial commit!
2018-12-06 13:46:38 -05:00
TehRealSalt
4507ee18fd Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -05:00
Monster Iestyn
d824e05a6f Merge branch 'master' into next 2018-11-25 20:39:17 +00:00
mazmazz
c91b2b4456 Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
TehRealSalt
2ae44ab10e New SPB
May not make it to R1, but oh well
2018-10-18 04:43:50 -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
Monster Iestyn
89d7c55878 Merge branch 'public_next'
# Conflicts:
#	src/Makefile
#	src/lua_script.c
#	src/p_user.c
#	src/sdl/i_system.c
#	src/v_video.c
#	src/w_wad.c
2018-10-10 14:51:34 +01:00
Monster Iestyn
afd62ec071 Merge branch 'master' into next 2018-10-09 22:55:55 +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
2ad2cbcc0a Weather is already run client-side. What if we ran it render-side, for major performance gains? This commit will answer all your questions - and more! 2018-10-07 15:00:58 +01:00
TehRealSalt
3b2728054d Always move the camera
According to wolfs, this improves fps. Let's confirm, shall we?
2018-10-04 17:50:50 -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
dd5247811f 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
TehRealSalt
8bc02a3ec6 raceexittime var 2018-09-22 18:59:26 -04:00
TehRealSalt
2e0365645e Merge branch 'master' into this-is-a-sign 2018-09-22 17:58:35 -04:00
TehRealSalt
fef5ec005f Different timings 2018-09-21 19:44:14 -04:00
mazmazz
77381cd984 musicplus-jingle 2.2 -> 2.1 backport 2018-09-18 15:10:00 -04:00
TehRealSalt
cf3b58f68d Delay falling, longer exit timer 2018-09-13 19:13:43 -04:00
toaster
e8c436ab76 * 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
995c137e14 * FREE PLAY! The necessary corollary to HERE COMES A NEW CHALLENGER...
* Activates when there are less than two non-spectators in a netgame.
	* Shows flashing text at the bottom of the screen.
	* Prevents drawing several UI elements that only make sense with multiple players.
	* Prevents matchesplayed being increased.
* Improve the mapreset timer's behaviour.
	* Now you get to see the HERE COMES A NEW CHALLENGER screen as the starting frame of the relevant map transition, since it happens on mapreset being 1 rather than 0.
	* Make a bunch of normal gameplay stuff that might've activated unnecessarily during mapreset now not able to.
	* Hide some other stuff that might've been visible for no good reason.
* Improve Mirror mode.
	* First person now works with it!
	* Tweaked the minimap player heads. Although the main section of the automap is mirrored, it feels... wrong to mirror the player head? IDK, you may wish to revert this, but given that everything else is the right way around except for the level itself...* Disable the titlescreen demos, at least until we actually gear up for release and make real ones.
* Disable the titlescreen demos, at least until we actually gear up for release and make real ones.
2018-07-22 16:16:03 +01:00
TehRealSalt
ef16b32a6e HERE COMES A NEW CHALLENGER 2018-07-22 00:31:02 -04:00