Commit graph

238 commits

Author SHA1 Message Date
Steel Titanium
fc042e90f0 Merge branch 'master' into next 2020-02-21 21:01:29 -05:00
James R
2274129f57 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
James R
d6251a763b Merge branch 'viewroll' into 'next'
Rolling

See merge request STJr/SRB2!690
2020-02-17 00:10:57 -05:00
James R
b758e7b75b 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
51ef6b3684 Merge remote-tracking branch 'upstream/master' into viewroll 2020-02-16 21:32:57 -06:00
Steel Titanium
8019a18e04 Fix object shadow not appearing for mid-joiners 2020-02-16 18:45:49 -05:00
MascaraSnake
4c4596a45f Clean up the mess that is extracolormap_t::fog 2020-02-16 20:19:24 +01:00
fickleheart
62c75c0c81 Merge remote-tracking branch 'upstream/next' into viewroll 2020-01-26 18:01:58 -06:00
Louis-Antoine
a997683d1c 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
c2682ac1b6 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
459602f4b2 Un/archive viewrollangle in netsaves 2020-01-17 18:32:13 -06:00
James R
0f3b77de8c 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
f67ff6d97e 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
ad56f5e362 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
070adb4191 Merge remote-tracking branch 'origin/next' into rotsprite2 2019-12-26 20:27:29 -03:00
MascaraSnake
23641863c8 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
cb4fbaa596 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
63e078286b 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
befe33e239 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
be227cc58c un-ROTSPRITE rollangle and spriteinfo 2019-12-17 13:09:25 -03:00
Nev3r
03dab2ae5e 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
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
Jaime Passos
499c724f9f Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-11-14 12:49:03 -03:00
toaster
2663c79d21 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
116fb2639e Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-10-28 14:29:10 -03:00
MascaraSnake
5ad9779a38 Fix restoration of delayed linedef executors in P_NetUnArchiveThinkers for real 2019-10-19 14:51:24 +02:00
MascaraSnake
c1dcefcc9a 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
e2ce3988fb Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-09-28 12:14:55 -03:00
toaster
ccc1144a27 Merge branch 'luabanks' into 'master'
Lua save-banks!

See merge request STJr/SRB2Internal!295
2019-09-16 07:56:49 -04:00
toaster
09f7dc1350 * 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
412e368ef4 Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-09-02 23:36:30 -03:00
James R
d51b516446 Show a negative number to indicate ammo penalty 2019-08-26 16:07:17 -07:00
toaster
8b045a8f15 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
402012e973 I 2019-08-18 14:16:48 -03:00
Alam Ed Arias
88445e72c4 fix PARANOIA builds 2019-08-07 12:39:04 -04:00
Steel Titanium
7dfe696819 Last min changes 2019-08-04 11:34:55 -04:00
Steel Titanium
37c50467f3 Ring sparkle mirroring 2019-08-03 18:28:53 -04:00
toaster
43ce434ebf * 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
5286938853 Fix building with MSVC 2019-07-29 19:02:45 -04:00
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
toaster
e5cdfe998b 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
b745b4fe1b 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
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
679f8bd0fd Merge branch 'slopethinkers' into thinkerlists
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 11:47:34 +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
Nev3r
a5e83d3f0c Add a slope thinker queue.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 13:06:06 +02:00
Nev3r
bb083f20b4 Dynamic slopes now use thinkers.
* Moved dynamic slope-related data into its own thinker.
* Vertex slopes no longer use the mapthings directly.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-19 14:14:43 +02:00
Nev3r
bb374a7b36 Implement displacement-based polyobject rotation.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-05 11:50:59 +02: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