Commit graph

59 commits

Author SHA1 Message Date
Louis-Antoine
38e048466f Only call P_CheckSurvivors() in tag gametypes 2020-01-28 14:02:36 +01:00
James R
87a278ad02 Signed is unsigned, cool 2020-01-24 16:44:53 -08:00
Louis-Antoine
a04004071b Do not spam player quit net commands 2020-01-23 19:59:41 +01:00
Louis-Antoine
bb157866b7 Ignore disconnected players in tag gametypes
Disconnected players do not become IT at round start.

If all non-ITs are disconnected, the round ends.

If all ITs are disconnected, one of the non-ITs
becomes IT, or the round ends if in Hide & Seek.
2020-01-23 19:58:13 +01: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
Nami
ee0e68d8dc I removed a hook I left behind and forgot to save the change before committing :upside_down: 2019-12-30 19:22:12 -08:00
Nami
20494c4c42 Move PreThinkFrame hook back a bit, now runs before PlayerThink 2019-12-30 19:11:49 -08:00
Nami
4456ff50ab Revert changes to searchBlockmap because on reflection, the benefits didn't outweigh breaking every current usage of it
Readd ThinkFrame in its original position
PostThinkFrame now runs at the end of P_Ticker, only MapEnd runs after it
2019-12-30 19:04:27 -08:00
Nami
e4d1b9491c Let's try this again! 2019-12-29 20:36:24 -08:00
Steel Titanium
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
toaster
1544049af0 Resolve #378, because I knew as soon as I saw that issue name that it was my fault. 2019-11-27 09:03:21 +00:00
toaster
4c276b86de Fix a bunch of shit with MP special stages!
* Prevent an infinite quantity of Emeralds being spawned when P_GiveEmerald is called while a MP Special Stage is in session (resolves #347).
* Fix FuriousFox's ridiculous timer on special stage spawn (mentioned in the comments of the previous issue) by correctly marking spectator players in special stages as finished, and preventing the underflow.
2019-11-25 14:33:15 +00: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
MascaraSnake
5b8b17ecf4 Don't deplete special stage timer in water if you have water protection 2019-10-07 09:01:17 +02:00
Alam Ed Arias
88445e72c4 fix PARANOIA builds 2019-08-07 12:39:04 -04:00
toaster
534b98251b Revert "Revert "Merge branch 'musicplus-aug2019-b' into 'master'""
This reverts commit a76668f55a.
2019-08-04 12:03:57 +01:00
toaster
a76668f55a Revert "Merge branch 'musicplus-aug2019-b' into 'master'"
This reverts commit 0f89fb123f, reversing
changes made to 8fb211d8cf.
2019-08-04 11:32:55 +01:00
mazmazz
ae05d8c0dd Merge remote-tracking branch 'origin/master' into internal-musicplus-jingle 2019-08-03 23:38:49 -04:00
toaster
28e7269cc6 * Fix "exitlevel" being counted as a special stage success despite not giving you an emerald by inverting stagefailed's default value, since there's only a limited number of ways you can WIN at a special stage.
* Correct a potential source of desync in P_GiveEmerald.
2019-07-30 16:44:40 +01:00
toaster
85d46b49e1 Correct some extant fuckups. 2019-07-14 14:21:32 +01: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
mazmazz
7bbd05e85d Merge branch 'public-notpublic-musicplus-jingle' into internal-musicplus-jingle 2019-06-29 18:33:45 -04: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
mazmazz
7f0b923107 Merge branch 'public-gl-next' into public-musicplus-jingle 2019-03-15 18:42:19 -04: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
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
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
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
mazmazz
77381cd984 musicplus-jingle 2.2 -> 2.1 backport 2018-09-18 15:10:00 -04:00
toaster
fe750464ae Restore music upon successful completion of old-style special stage 2018-06-09 21:12:56 +01:00
toaster
c85e97a05d Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into hardcoding-time-again 2018-06-09 19:36:48 +01:00
Monster Iestyn
105eee7e0a Merge branch 'public_next'
# Conflicts:
#	src/d_main.c
#	src/d_netfil.c
#	src/p_setup.c
2018-06-09 19:35:36 +01:00
toaster
849eeae3b9 MONSTER COMMIT.
OLD SPECIAL STAGES:
* Spheres in old special stages instead of rings!
* Individual timers in old special stages instead of a global one!
* Old special stages use a variant of the NiGHTS HUD now!
* Special stage damage in old special stages loses 5 seconds of time instead of 10 rings/spheres!
* All damage gained through old special stages is converted to special stage damage! As a consequence, the special spikeball has no need to be special anymore.
* Made emerald gaining function be based on special stage number rather than gained emeralds!
* Consistency with...

NiGHTS SPECIAL STAGES:
* Spheres now flash in bonus time. https://cdn.discordapp.com/attachments/400761370800422922/452590553100713984/srb20032.gif
* Sphere and ring mapthingnums are now less fucked up in 'em. (Rings are 300, same as usual, while Spheres are now 1706 replacing NiGHTS Wings.)

SPECIAL STAGES IN GENERAL:
* useNightsSS is now dead. Each individual special stage is now assessed for NiGHTS-mode behaviour based on maptol & TOL_NIGHTS.
* CRAWLA HONCHO\n CAN NOW BE\n SUPER CRAWLA HONCHO end tally modification now also includes a mini-tutorial on turning super. https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif
* SONIC GOT A CHAOS EMERALD? https://cdn.discordapp.com/attachments/400761370800422922/452623869497573386/srb20034.gif

NiGHTS NON-SPECIAL STAGES:
* Colour Chips and Star Chips! Replaces Spheres and Rings of NiGHTS Special Stages.
* Colour Chips turn yellow in bonus time.
* Ideya!
* Its own "drowning" music!
* All of the object types for Dream Hill.
* GIF: https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif

RANDOM BS:
* Turn super with the spin button instead of the jump button!
* Followmobj now correctly set with P_SetTarget instead of pointer assignment.
* Emerald hunt uses new sprites!
* Made unlock noise different from emblem gain noise! (It's the CRAWLA HONCHO CAN NOW TURN yadda yadda sound from S3K now.)
2018-06-03 22:41:54 +01:00
Steel Titanium
9bd92b7e2d Fix small typo 2018-05-08 18:38:28 -04:00
Steel Titanium
a41f8756e1 Add indentation 2018-05-08 18:36:47 -04:00
Steel Titanium
d85f42689b Don't increment totalplaytime if a demo is playing. 2018-05-08 18:16:01 -04:00
toasterbabe
f90d595332 * cv_directionchar and cv_autobrake, and their secondplayer versions (both on by default) now exist.
* cv_useranalog is now hidden from the menu.
* Directionchar now attempts to face the camera direction when you're standing still, and handles a few other states with more decorum.
* Tailsbot is now slightly more capable of keeping up with Sonic.
* pflags rearranged/adjusted, combining a few non-simulstaneous ones and turning PF_NIGHTSFALL into CR_NIGHTSFALL.
* [unrelated to branch] all ground-impact based abilities now happen more consistently with quicksand.
2017-09-16 20:25:14 +01:00
toasterbabe
125646e521 Some minor tweaks to make countdown not COMPLETELY broken. 2017-07-04 21:33:16 +01:00
toasterbabe
bc066a16a0 Whoops, I did some menu stuff in here. Oh well.
NEW COOP BASED:
* Add "Infinite" option to cv_cooplives, inspired by SUBARASHII. Lives still exist, but are hidden from the player's view, and are prevented from falling below 1 at any cost. As a result, made the variable CV_CHEAT.

OTHER MULTIPLAYER BASED (semi-related):
* Made cv_autobalance an on/off switch which determines the allowed difference based on the number of people in the server, instead of a weird and opaque number from 0-4.

MENU BASED (not related):
* Add horizontal arrows to menu options which respond to the arrow keys.
* Make the menu arrows bob.
* Switch out the seperate arrows for combination arrows on the joystick menus.
* Minor cvar description tweaks.
2017-07-04 13:17:29 +01:00
Monster Iestyn
9007904a72 Merge branch 'master' into damage-control
# Conflicts:
#	src/p_inter.c
#	src/p_mobj.c
2016-05-25 15:33:09 +01:00
Alam Ed Arias
032313260a Merge branch 'public_next' into master 2016-05-20 17:58:57 -04:00
Inuyasha
f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Alam Ed Arias
fbd9cb73c3 Merge branch 'public_next' into private 2016-04-27 16:54:37 -04:00
Inuyasha
ac03ce39c8 *_Random is now *_RandomByte.
P_RandomChance is now a macro for something that should happen a
certain percentage of time.

P_SignedRandom was moved to a macro. Nobody cared.

# Conflicts:
#	src/p_inter.c
2016-03-29 16:27:55 -07:00