Commit graph

346 commits

Author SHA1 Message Date
MascaraSnake
4f3d837835 Store "no bosses" setting for lasers in thinker instead of checking sourceline. 2020-04-27 13:09:57 +02:00
MascaraSnake
556c2a8c18 Store tag instead of sourceline in raise thinker 2020-04-27 12:54:08 +02:00
MascaraSnake
c026b707ce Make new thinker loading functions set floordata/ceilingdata where necessary 2020-04-26 18:54:03 +02:00
MascaraSnake
82bf72f5e1 Remove obsolete stuff from elevator_t 2020-04-26 18:38:45 +02:00
MascaraSnake
f4282718dc Accidentally changed the wrong SaveElevatorThinker call to SaveCrumbleThinker 2020-04-26 18:31:39 +02:00
MascaraSnake
554de0e0f5 T_StartCrumble refactoring, part 1 2020-04-26 16:51:14 +02:00
MascaraSnake
295ed303af Make T_StartCrumble use its own thinker data structure 2020-04-26 11:55:10 +02:00
Nev3r
9ebb4071ee Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-multitag
# Conflicts:
#	src/p_floor.c
#	src/p_mobj.c
#	src/p_spec.c
#	src/r_segs.c
2020-04-25 10:47:45 +02:00
Monster Iestyn
7dda5f6b94 created P_GetFFloorID to get an "ID" of an FOF in its target sector (an opposite to P_GetFFloorByID you could say!), rewrote floor/ceiling rover archiving code to use both P_GetFFloorID and P_GetFFloorByID 2020-04-24 22:29:41 +01:00
Monster Iestyn
e406a7bef5 no diff3 needed for line archiving 2020-04-24 20:58:38 +01:00
Monster Iestyn
1e61229cb7 we don't actually need put/get pointers at all (plus with everything put into functions they wouldn't work properly anyway) 2020-04-24 20:57:48 +01:00
Monster Iestyn
c1d2b8301b split sector/lines archiving-related code into their own functions too 2020-04-24 20:40:50 +01:00
Monster Iestyn
2d45decbb0 remove statsec and statline as they appear to be entirely unused 2020-04-24 20:28:01 +01:00
Monster Iestyn
08a7fcbe8d Split off FOF archiving-related code into their own functions 2020-04-24 20:26:57 +01:00
MascaraSnake
3170f2b8c3 Merge branch 'next' into udmf-next
# Conflicts:
#	src/p_mobj.c
#	src/r_segs.c
2020-04-24 21:15:53 +02:00
Monster Iestyn
d1d006a1a7 Merge branch 'thinker-cleanup' into 'next'
Plane movement thinker cleanup

See merge request STJr/SRB2!880
2020-04-24 14:30:52 -04:00
Monster Iestyn
9df5d6e1e0 These are flags! Serves me right for just rushing this out 2020-04-24 16:53:54 +01:00
Monster Iestyn
2419b65f79 Sync crumblestate in netgames 2020-04-24 16:40:09 +01:00
Nev3r
de3ad9bc43 Merge branch 'udmf-next' into udmf-multitag
# Conflicts:
#	src/doomdata.h
#	src/p_setup.c
2020-04-22 09:11:17 +02:00
Nev3r
ca10b38b9c Add textmap pitch and roll parsing, and mobj pitch and roll variables. 2020-04-19 14:51:55 +02:00
Nev3r
ffc161e2aa Merge branch 'udmf-next' into udmf-multitag
# Conflicts:
#	src/p_spec.c
2020-04-18 14:04:15 +02:00
MascaraSnake
2a300bcea4 Fix NULL pointer crash involving stringargs 2020-04-18 12:23:01 +02:00
Nev3r
b7c4ed9c6b Implement dynamic global taggroups/lists functionality. 2020-04-18 11:35:56 +02:00
MascaraSnake
54cbd66999 Eradicate levelspecthink_t 2020-04-18 11:05:58 +02:00
MascaraSnake
ab17267363 Make T_BounceCheese use its own thinker struct 2020-04-18 10:45:21 +02:00
MascaraSnake
08f1e03e79 Refactor T_ThwompSector 2020-04-18 10:26:03 +02:00
MascaraSnake
29d33f0a93 Refactor T_NoEnemiesSector 2020-04-18 09:21:04 +02:00
MascaraSnake
0038605979 Make T_MarioBlock use its own thinker data structure 2020-04-18 02:05:23 +02:00
MascaraSnake
7e2f95c3f5 Refactor T_ContinuousFalling 2020-04-18 01:42:13 +02:00
MascaraSnake
cc0f686c95 Refactor T_FloatSector 2020-04-18 00:26:49 +02:00
Nev3r
7c11091c40 Remove old tag list netgame packing/unpacking. 2020-04-17 23:30:47 +02:00
Nev3r
e2a98a1591 Double fuck. 2020-04-17 23:05:41 +02:00
MascaraSnake
9b27d004e3 Remove the spike thinker, which hasn't been necessary for a while now 2020-04-17 22:54:35 +02:00
Nev3r
0c2fb80ec9 Fuck. 2020-04-17 22:41:04 +02:00
Nev3r
ae07b7c96c Netsynch the sector local taglists. 2020-04-17 22:29:26 +02:00
MascaraSnake
89539512f6 Make T_EachTimeThinker use its own struct 2020-04-17 14:00:48 +02:00
MascaraSnake
63a901b714 -Remove superfluous variables from raise_t
-Cleanup signatures of P_AddRaiseThinker and P_AddAirbob
2020-04-17 11:11:36 +02:00
MascaraSnake
d0c473c9ae Make T_RaiseSector use its own thinker struct instead of levelspecthink_t 2020-04-17 09:58:53 +02:00
Nev3r
d40713d08b Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next 2020-04-14 22:20:54 +02:00
Nev3r
778ef86fee Remove the bridge thinker code. 2020-04-14 10:31:07 +02:00
MascaraSnake
1580e14cbc Merge branch 'next' into udmf-next
# Conflicts:
#	extras/conf/Includes/SRB222_linedefs.cfg
#	extras/conf/Includes/SRB222_misc.cfg
#	src/p_spec.c
2020-03-21 20:04:31 +01:00
Louis-Antoine
892a8dd6e7 Make SRB2 flat like Earth 2020-03-20 18:55:29 +01:00
Louis-Antoine
e3cbdf8fab Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
Monster Iestyn
3f43dd22f9 Merge branch 'skins-refactor' into 'master'
Skins refactor

See merge request STJr/SRB2!843
2020-03-15 15:31:49 -04:00
Nev3r
68f60f3c29 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next 2020-03-11 09:31:31 +01:00
Monster Iestyn
40e728fdb5 One line fix: don't assume 0 (aka SPR2_STND) is the default value for sprite2, but rather what the state sets for it
This fixes some issues with a custom character tested during netplay, which did not have SPR2_WAIT sprites and therefore fell back to SPR2_STND sprites. Unfortunately, the fact they used SPR2_STND instead meant the sprite2 was not synced at all!
2020-03-09 15:04:22 +00:00
Monster Iestyn
f4cb6e1f5e Include r_skins.h instead of r_things.h in many files where all they wanted from it was skins stuff
(oddly enough, this actually revealed some secret file dependencies previously included via r_things.h! I also needed to include d_player.h in r_skins.h itself it seems)
2020-03-09 13:54:56 +00:00
Jaime Passos
26e367eb9b Merge remote-tracking branch 'origin/next' into pictureformats 2020-03-07 20:43:16 -03:00
Louis-Antoine
29d8389461 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into resend-gamestate 2020-02-29 13:43:47 +01:00
Steel Titanium
76f26cda24 Merge branch 'master' into next 2020-02-21 21:01:29 -05:00
James R
7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Jaime Passos
2893803c68 Merge remote-tracking branch 'origin/next' into pictureformats 2020-02-19 02:25:36 -03:00
MascaraSnake
cae99654be Merge branch 'next' into udmf-next 2020-02-18 18:39:11 +01:00
James R
d0b9027d0a Merge branch 'viewroll' into 'next'
Rolling

See merge request STJr/SRB2!690
2020-02-17 00:10:57 -05:00
James R
fb66691991 Merge branch 'colormap_flags_refactor' into 'next'
Clean up the mess that is extracolormap_t::fog

See merge request STJr/SRB2!790
2020-02-16 23:28:26 -05:00
fickleheart
c4b390bc76 Merge remote-tracking branch 'upstream/master' into viewroll 2020-02-16 21:32:57 -06:00
Steel Titanium
cb97aafd05
Fix object shadow not appearing for mid-joiners 2020-02-16 18:45:49 -05:00
MascaraSnake
512c6f24a9 Clean up the mess that is extracolormap_t::fog 2020-02-16 20:19:24 +01:00
Louis-Antoine
d02c4c0cc7 Add "resendgamestate" command 2020-01-31 15:57:04 +01:00
Louis-Antoine
014b93406e Store most data in gamestate instead of server config packet 2020-01-31 15:29:22 +01:00
fickleheart
bea7ad2185 Merge remote-tracking branch 'upstream/next' into viewroll 2020-01-26 18:01:58 -06:00
Louis-Antoine
f209721ded Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into keep-body
# Conflicts:
#	src/g_game.c
#	src/p_setup.c
2020-01-22 03:57:22 +01:00
Louis-Antoine
d374bf4f9b Let clients rejoin the server without losing their status
This is accomplished by simply preserving
the player's body after disconnecting.

Bodies will despawn after the number of minutes
specified by the "rejointimeout" console variable (float).
A value of 0 disables the feature completely.

Clients rejoining are identified by their IP address,
and may rejoin even if the server is full or joins are disabled,
for as long as their body remains.

From a technical standpoint, when the user disconnects,
the player they were controlling does not leave,
the underlying player_t just keeps working normally,
except it does not receive any input anymore.
When the user reconnects, they are simply "relinked"
to their player_t.

Those "soulless" players can be identified through
their "quittime" field, which is the number of tics
elapsed since the user disconnected, or zero
if still connected. "quittime" is exposed to Lua.
2020-01-22 03:05:08 +01:00
fickleheart
7cf563eadd Un/archive viewrollangle in netsaves 2020-01-17 18:32:13 -06:00
MascaraSnake
2d7b43c244 Implement linedef string arguments 2020-01-08 08:42:35 +01:00
Jaime Passos
5a2ad5c2f3 Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-07 16:10:25 -03:00
Jaime Passos
f85476c723 Move texture stuff to its own file 2020-01-07 12:35:10 -03:00
MascaraSnake
062bd7eef8 Merge branch 'next' into linedef-args 2020-01-04 23:10:39 +01:00
MascaraSnake
68da1856da Implement linedef args (unused and untested so far) 2020-01-02 12:23:14 +01:00
James R
b5df2d5c3f Merge branch 'polyobj-waypoint-thinker-optimise' into 'next'
Polyobj waypoint thinker optimise

See merge request STJr/SRB2!586
2019-12-31 01:33:01 -05:00
MascaraSnake
319ed09c00 Rename P_SetupLevel to the more accurate P_LoadLevel and separate out some of its content into subfunctions 2019-12-28 11:30:39 +01:00
Monster Iestyn
282fe7667c added a "target" pointer to polywaypoint_t, so the polyobj waypoint thinker doesn't have to re-find the next waypoint every tic 2019-12-27 19:10:14 +00:00
Jaime Passos
c0390f5186 Merge remote-tracking branch 'origin/next' into rotsprite2 2019-12-26 20:27:29 -03:00
MascaraSnake
f11caefed7 Merge branch 'spawnhoopsandrings_refactor' into 'next'
Hack P_SpawnHoopsAndRings into little pieces

See merge request STJr/SRB2!572
2019-12-25 03:00:07 -05:00
MascaraSnake
dd01fce1a8 Separate P_SpawnHoopsAndRings into different functions:
-Hoops are spawned in P_SpawnHoop
-Item patterns are spawned in P_SpawnItemPattern
-Ring-like items are spawned normally via P_SpawnMapThing
-Bonus time items are spawned via P_SpawnBonusTimeItem, which is a wrapper for P_SpawnMapThing
2019-12-24 10:50:49 +01:00
Nev3r
1221c108c6 Make lines and sides use the mapload copies in P_NetArchiveWorld() too; do no longer use vres stuff there. 2019-12-23 12:47:40 +01:00
Nev3r
bb54597552 Remove redundant netarchive-related sector vars as they're not used anymore.
Replace lump-based difference checks for sectors in P_NetArchiveWorld(), now it uses the mapload-created copy instead.
2019-12-23 12:42:38 +01:00
Jaime Passos
c6f36fc470 un-ROTSPRITE rollangle and spriteinfo 2019-12-17 13:09:25 -03:00
Nev3r
bf5a2c68d5 P_SetupLevel() no longer makes distinction on whether the map is a WAD in a PK3 or not. 2019-12-11 13:22:07 +01:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
Jaime Passos
10d1b63ff2 Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-11-14 12:49:03 -03:00
toaster
d8ad0b4eaa STOP THE CLOCK linedef exectutor!
* When activated, stops the timer in SP/MP.
* Applies to the mapheader countdowntimer as well.
* If you're playing Record Attack, also exits the level immediately.
* It has no special modes, no linedef flags, no parameters, nothing.
* Only not an innate property of A_BossDeath because people may want it to NOT happen sometimes, or make it happen with non-boss events too.

Also, skip over calling P_DoPlayerExit if the player isn't in game.
2019-11-08 15:47:12 +00:00
Jaime Passos
79e99dc471 Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-10-28 14:29:10 -03:00
MascaraSnake
73c39990f9 Fix restoration of delayed linedef executors in P_NetUnArchiveThinkers for real 2019-10-19 14:51:24 +02:00
MascaraSnake
c7fd22f98a Fixed a netgame crash that was caused by a closing brace being in the wrong place :v 2019-10-19 12:08:15 +02:00
Jaime Passos
5118f8589d Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-09-28 12:14:55 -03:00
toaster
71cc09c8c2 Merge branch 'luabanks' into 'master'
Lua save-banks!

See merge request STJr/SRB2Internal!295
2019-09-16 07:56:49 -04:00
toaster
d26ff197dc * Store gravflip (resolves #206) and destscale in starposts. (Using the same field, taking advantage of the fact that object scale will always be positive!)
* Update the function signature of P_MixUp to accomodate both it and drawangle instead of doing it outside of the function.
* If the player is spawning from the start of the stage and it's from the ceiling, be in fall frames as requested (resolves #191).
2019-09-07 22:12:47 +01:00
Jaime Passos
1fca5a749e Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-09-02 23:36:30 -03:00
James R
89c4989987 Show a negative number to indicate ammo penalty 2019-08-26 16:07:17 -07:00
toaster
4e256b73b2 Lua save-banks!
* Array of 8 INT32's natively embedded into savedata (net and SP)!
* Initialised to zero whenever a new save (or equivalent) is started, otherwise untouched by the base game.
* Requires reservation to avoid clobber-conflicts.
    * Access via `reserveLuabanks()` - returns a read-write userdata.
    * Assign userdata to local variable or global rawset to use later.

Mostly for future SUGOIlikes, but I'm sure someone could figure out an unrelated usage eventually.
2019-08-24 18:25:27 +01:00
Jaime Passos
f68652aa66 I 2019-08-18 14:16:48 -03:00
Alam Ed Arias
4e78617c29 fix PARANOIA builds 2019-08-07 12:39:04 -04:00
Steel Titanium
153ed82849 Last min changes 2019-08-04 11:34:55 -04:00
Steel Titanium
00c3329ba9
Ring sparkle mirroring 2019-08-03 18:28:53 -04:00
toaster
7cb02985f4 * Added boss enable linedef (type 449).
- Frontside x offset = boss ID (determined via parameter for all bosses)
	- Noclimb flag = disable mode
	- Bosses don't do a fuckin' THING - no state updates, no player searches, no sounds, no lua, no nothin' - and it's all totally netsynced.
	- The only thing they WILL do is flash infinitely if you hurt them, but this is designed for stuff where you're not meant to be in the same room as the boss til it's activated.
	- All bosses of all IDs are automatically enabled on mapload, then if an enable mode version of this linedef is present in the map for a specific boss id, that boss id is automatically disabled.
* Add multi-boss support via parameter for:
	- All bosses' MT_BOSSFLYPOINT search
	- Boss 5's waypoint search
	- Oldbrak's waypoint search (this one's for you, jood)
2019-07-31 23:17:17 +01:00
Alam Ed Arias
b77780e1e7 Fix building with MSVC 2019-07-29 19:02:45 -04:00
Jonas Sauer
166f1fac66 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
toaster
98b6280d03 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into toast_cleanup
# Conflicts:
#	src/p_mobj.c
2019-07-08 13:53:31 +01:00
toaster
1d65caa250 With permission from Kart Krew (Sal and Sryder specifically - they don't know WHY vanilla's using it):
* Port across the additional colour translation maps, including mobj-level support for "colorized" objects.
* Make Fangboss and both Metal Sonic objects greyscale if, on spawn, there is a player in the game who is not a spectator whose skin is that character.
* Allow bosses with MF_GRENADEBOUNCE to opt out of the MF2_FRET colour-flashing tomfoolery, and give this flag to Fang.
2019-06-18 17:55:57 +01:00