Commit graph

84 commits

Author SHA1 Message Date
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01:00
LJ Sonic
be87a84a01 Merge branch 'perfstats-averaging-rebased' into 'next'
Perfstats averaging and refactor

See merge request STJr/SRB2!1643
2021-12-02 23:57:26 +00:00
spherallic
6a6b292c73 Fix Flame Shield interactions in old-style special stages. 2021-11-27 14:22:21 +01:00
Hannu Hanhi
77ecfb9cdc Perfstats averaging and refactor 2021-10-29 02:18:02 +03:00
James R
4d22b9f17f Merge remote-tracking branch 'origin/next' into hooklib-refactor 2021-06-07 18:12:52 -07:00
LJ Sonic
d325c7e6d3 The year is 2021 2021-05-07 17:45:56 +02:00
James R
93e4f43e4b Hooklib macros names -> uppercase + documentation 2020-12-12 03:16:30 -08:00
James R
e0a307da15 Merge branch 'next' into hooklib-refactor 2020-12-10 03:09:24 -08:00
James R
2ab71571aa Merge branch 'high-resolution-timer-2' into next 2020-12-10 02:55:02 -08:00
James R
8d382e49fb Big Large Lua Hooklib Refactor
* Hooks are no longer a mess of lua boiler plate. Helper functions reduce hooks
  to, at the most basic level, only two calls.
* Lua tables (the array part) are used to index hooks. Such tables contain only
  hooks of the same type.
* Hook types are defined in one place so you no longer need to sync up the enum
  and name array.
2020-12-10 00:36:41 -08:00
Riku Salminen
91a34575a7 Declared the cvar in netcmd to get rid of warnings 2020-11-10 13:53:31 +02:00
Riku Salminen
3dff612f3c Try to add cvars for old camera 2020-11-10 13:21:34 +02:00
Riku Salminen
33725a58b4 Update p_tick.c, Replacing mobj angle with cmd angleturn 2020-11-10 13:21:34 +02:00
Riku Salminen
aea35171c2 Update p_tick.c, got rid of an useless angle change function 2020-11-10 13:21:34 +02:00
Riku Salminen
2832586274 Make the replay camera follow the player 2020-11-10 13:21:33 +02:00
James R
b72789b0c9 Huge perfstats refactor
I needed to update it to make it functional with the precise timer. But I also
got sick of looking at the mess of sprintf followed by draw call.
2020-11-07 01:32:59 -08:00
Hannu Hanhi
4f20a20165 Performance stats 2020-10-10 22:12:34 +03:00
James R
067d9b9a63 Merge remote-tracking branch 'origin/next' into gtr-fixes 2020-06-24 19:31:19 -07:00
SteelT
bff6b19056 Merge branch 'marathonmode' into 'next'
MARATHON RUN

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
Louis-Antoine
67eef5a37f Fix potential desynch when a player spawns 2020-05-28 11:03:35 +02:00
toaster
9686ad2d70 * In-game timer option! Doesn't tick in intermission or in lag, only when a frame is actually run. Realtime option remains default.
* Tweak retry behaviour to restart timer and not subtract life if you're on the first level and haven't hit a checkpoint yet.
2020-05-15 16:33:20 +01:00
Jaime Passos
39c5ab4e17 Merge remote-tracking branch 'origin/next' into gtr-fixes 2020-05-09 17:12:52 -03:00
Louis-Antoine
e3cbdf8fab Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
Jaime Passos
7439ab5296 Allow countdown time-up in any campaign gametype 2020-02-23 16:50:36 -03:00
James R
7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Louis-Antoine
31ce076411 Only call P_CheckSurvivors() in tag gametypes 2020-01-28 14:02:36 +01:00
James R
c9bc3837f9 Signed is unsigned, cool 2020-01-24 16:44:53 -08:00
Louis-Antoine
ba127008cf Do not spam player quit net commands 2020-01-23 19:59:41 +01:00
Louis-Antoine
b0b22b53d6 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
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
Nami
60928db0e0 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
41c902b819 Move PreThinkFrame hook back a bit, now runs before PlayerThink 2019-12-30 19:11:49 -08:00
Nami
a36920808b 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
58dd578b09 Let's try this again! 2019-12-29 20:36:24 -08:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
toaster
a3050063cd 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
71e74ca363 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
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
MascaraSnake
2113774a6a Don't deplete special stage timer in water if you have water protection 2019-10-07 09:01:17 +02:00
Alam Ed Arias
4e78617c29 fix PARANOIA builds 2019-08-07 12:39:04 -04:00
toaster
384dc0674e Revert "Revert "Merge branch 'musicplus-aug2019-b' into 'master'""
This reverts commit 603d5805f7.
2019-08-04 12:03:57 +01:00
toaster
603d5805f7 Revert "Merge branch 'musicplus-aug2019-b' into 'master'"
This reverts commit 56bfdb7113, reversing
changes made to c29cfbef9b.
2019-08-04 11:32:55 +01:00
mazmazz
dd9efebab5 Merge remote-tracking branch 'origin/master' into internal-musicplus-jingle 2019-08-03 23:38:49 -04:00
toaster
18e43a5cef * 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
b3e953c8c3 Correct some extant fuckups. 2019-07-14 14:21:32 +01: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
mazmazz
923dc34215 Merge branch 'public-notpublic-musicplus-jingle' into internal-musicplus-jingle 2019-06-29 18:33:45 -04:00
Nev3r
a9110c0645 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
a3174fb56f 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