Commit graph

801 commits

Author SHA1 Message Date
Jaime Ita Passos
46f7fa406f Refactor gamepad code
Implements the SDL Game Controller API, haptics, and axis bindings.
2022-11-14 00:37:08 -03:00
Alam Arias
1b5dd687d2 Cleanup whitespace changes from master branch 2022-11-11 20:31:41 -05:00
Eidolon
6d1a3bfce0 Reset camera when moving player to spawn/starpost 2022-11-08 18:48:50 -06:00
Eidolon
d511857675 Reset view interp in preticker 2022-05-05 19:43:55 -05:00
Eidolon
f0d7d8467f Refactor timing code even more
System layer is greatly simplified and framecap
logic has been moved internally. I_Sleep now
takes a sleep duration and I_SleepDuration
generically implements a precise sleep with spin
loop.
2022-05-01 00:32:46 -05:00
Eidolon
e79654a33a Completely refactor timing system
Time is now tracked internally in the game using I_GetPreciseTime
and I_UpdateTime. I_Time now pulls from this internal timer. The
system code no longer needs to keep track of time itself.

This significantly improves frame and tic timing in interp mode,
resulting in a much smoother image with essentially no judder at
any framerate.
2022-04-30 16:33:23 -05:00
Eidolon
3e5cec7e72 Intialize interpolator list at a better time 2022-04-26 20:56:31 -05:00
Eidolon
9c8d0a3b6f Add sector plane level interpolations 2022-04-26 20:56:30 -05:00
Eidolon
8908dcccde Only swap view interp state if a tick is run 2022-04-26 20:31:39 -05:00
Eidolon
b625076c87 Implement interpolation at the renderer level
Instead of interpolating thinkers, we interpolate mobjs inside the
renderer. Further interpolation is TBI.
2022-04-26 20:31:37 -05:00
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01:00
sphere
c79c6531e6 Merge branch 'server-bots' into 'next'
Improve bots (resolves #710)

Closes #710

See merge request STJr/SRB2!1679
2022-02-19 20:24:12 +00:00
LJ Sonic
9c5427555b Merge branch 'fix-exitgame-ztarget-crash' into 'next'
Fix lock-on crash (Resolves #746)

Closes #746

See merge request STJr/SRB2!1704
2022-02-06 17:24:01 +00:00
lachablock
1a5995968c Revert server-sidedness of bots 2022-01-19 00:48:25 +11:00
lachablock
4af820e82c Restore a cast I didn't realize used to be there 2022-01-13 09:56:47 +11:00
lachablock
70a1dd6db0 Merge remote-tracking branch 'origin/next' into server-bots 2022-01-13 09:52:38 +11:00
lachablock
8ed18a12a4 Merge remote-tracking branch 'origin/next' into server-bots 2022-01-11 20:04:22 +11:00
GoldenTails
e0afc2d2b6 Add a player->mo check before attempting to account for ztargetting. 2022-01-09 17:09:57 -06:00
spherallic
0a38fef147 Several changes to default control settings:
- Renamed Simple to Automatic, and made it the default
- Renamed Standard to Manual
- Changed some camera settings to make Automatic easier to control
- Changed most default gamepad controls, to fit Automatic playstyle
- Changed a few default keyboard controls
- Added default binds for custom actions 1-3
- Removed forced camera settings in the tutorial (to account for
upcoming tutorial update)
- Also lowered default sound/music volume a little bit
2021-12-29 19:29:36 +01:00
katsy
effcb948ad Don't count bots in playersforexit 2021-12-29 09:59:54 +00:00
lachablock
1eb1ad2677 Fix compile warning 2021-12-22 19:46:16 +11:00
lachablock
2794727201 Improve bot handling:
- bot ticcmds are generated and sent by the server only
- fix issue where server would not send all ticcmds to clients if bots were in the game
- fix bots still responding to P1's inputs while P1's controls are locked
- fix bot player's directional controls being rotated when controlled by P2
2021-12-12 18:52:27 +11:00
LJ Sonic
1acd0f6bac Merge branch 'starstruck' into 'next'
Null gamestate before map transition to prevent unwanted interactions with the map (resolves #601)

Closes #601

See merge request STJr/SRB2!1624
2021-12-03 18:02:06 +00:00
katsy
ed5942a0b6 fix tailsbot controls 2021-09-22 23:18:54 -05:00
katsy
791b981fd8 null gamestate during pre-intermission to prevent unwanted interaction 2021-09-22 16:22:47 -05:00
Tatsuru
6ed063dcce Merge branch 'polish-lua-inputs' into 'next'
Polish the Lua input library

See merge request STJr/SRB2!1598
2021-09-11 14:59:41 +00:00
LJ Sonic
5340db5f67 Make gc_ constants uppercase 2021-08-15 16:15:28 +02:00
LJ Sonic
5bc0ce7a62 Give fields in event_t better names 2021-08-14 23:42:39 +02:00
LJ Sonic
c2907b89f7 Pass a keyevent_t userdatum to key hooks 2021-08-14 20:34:59 +02:00
Jaime Ita Passos
1a84f1bcba Minor changes and fixes 2021-08-10 15:17:22 -03:00
Jaime Ita Passos
2aa9bb59ef Memory management fixes
Date:      Mon Aug 9 15:57:07 2021 -0300
2021-08-09 15:57:35 -03:00
CobaltBW
22f42efb61 Cleaned up leftover comments 2021-07-15 15:09:02 -07:00
CobaltBW
48514ee88d Fixed G_RemovePlayer crash in players.iterate
This was done by storing flag-for-removal status as a boolean inside the player struct.
Bot players are instead removed at the start of G_Ticker, rather than being removed immediately by G_RemovePlayer.
2021-07-15 15:04:24 -07:00
CobaltBW
4f04097066 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2.git into addplayer 2021-06-29 14:32:46 -07:00
CobaltBW
c3fa9bea0f ri# mified: src/tazx# mofied: src/tazx# modified: src/tazx# modified: src/tazxc 2021-06-29 14:07:49 -07:00
Shane Ellis
09f445f227 Merge branch 'next' into 'addplayer'
# Conflicts:
#   src/g_game.c
2021-06-19 20:20:45 -04:00
LJ Sonic
e3a5da3f6f Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2.git into HEAD
# Conflicts:
#	src/lua_hook.h
#	src/lua_hooklib.c
2021-06-19 20:49:12 +02:00
LJ Sonic
cfa48574be Merge branch 'next' into 'lua-inputs'
# Conflicts:
#   src/lua_script.c
2021-06-19 10:34:48 -04:00
sphere
786516fa5f Merge branch 'kart-latency' into 'next'
Kart cmd->latency port

See merge request STJr/SRB2!1470
2021-06-09 10:53:09 -04:00
James R
4d22b9f17f Merge remote-tracking branch 'origin/next' into hooklib-refactor 2021-06-07 18:12:52 -07:00
Shane Ellis
18c47afc76 Merge branch 'next' into 'addplayer'
# Conflicts:
#   src/lua_baselib.c
#   src/r_skins.c
2021-06-02 11:47:11 -04:00
sphere
2df75610e6 Merge branch 'allow-lua-to-override-special-stages' into 'next'
Allows Lua to transport you to a different map in place of a Special Stage.

See merge request STJr/SRB2!1368
2021-06-02 11:16:15 -04:00
SteelT
ad2b4b1809 Merge branch 'save-skin-names' into 'next'
Save skin names in save files instead of skin numbers

See merge request STJr/SRB2!1503
2021-05-28 22:05:20 -04:00
SteelT
2cb920a5a6 Merge branch 'failed-level-lua' into 'next'
[SUGOI] Make stagefailed more useful, add linedef executor to toggle, and expose to Lua

Closes #361

See merge request STJr/SRB2!1463
2021-05-28 21:51:00 -04:00
Sally Coolatta
d136c60a3f Add some comments, write an empty string instead of a boolean determining if the bot skin exists or not.
I was a little scared of doing this at first, but after a bit of thought & some testing that it'll be fine.
2021-05-07 20:13:16 -04:00
Sally Coolatta
dc6851dabc Save skin name instead of skin number into save files
Allows you to save a game as any character, and you don't have to load the files in a specific order to access the save file.
2021-05-07 19:41:44 -04:00
LJ Sonic
d325c7e6d3 The year is 2021 2021-05-07 17:45:56 +02:00
Tatsuru
4f2f94d02d Compatibility with the current identifier 2021-04-21 22:22:37 -03:00
Tatsuru
da56e84d2c Change TOL_ERZ3 identifier 2021-04-21 22:17:16 -03:00
Sally Coolatta
57d81ddb21 Kart cmd->latency port
Nev3r was talking about something that would've been drastically improved with this, and it is really simple, so I ported it :)
2021-04-21 19:58:14 -04:00
Sally Coolatta
d59f25a6cd stagefailed is more useful
- Can now apply to normal stages, simply defaults to "false" in normal stages.
- Post-level cutscenes are now always skipped when the stage was failed.
- Exposed the boolean as a Lua read+write global.

Desired for SUGOI, as it allows for visited flags not be updated, and level completion emblems to not be awarded. Which means a lot less crappy non-ideal workarounds.

Normal stage intermission currently does not reflect failure state at all. Maybe it could always skip, never award score bonuses, have different text... etc. Probably would leave that up to vanilla dev opinion.
2021-04-18 12:59:49 -04:00
Steel Titanium
33b7075d46 bruh 2021-04-05 22:50:22 -04:00
Steel Titanium
397fdef034 Load intermission patches in Y_LoadIntermisionData 2021-04-05 22:34:52 -04:00
SwitchKaze
3895c02330 Revert "Remove key stuff"
This reverts commit a439e569
2021-04-02 15:46:08 -05:00
SwitchKaze
0db07cef0e Adjust joystick axis enum 2021-04-02 15:46:08 -05:00
SwitchKaze
cb3a8f7a58 Remove key stuff 2021-04-02 15:46:08 -05:00
SwitchKaze
eb2dc9e99b Mouse improvements 2021-04-02 15:46:08 -05:00
SwitchKaze
3faa98cf4a Expose inputs to Lua 2021-04-02 15:45:59 -05:00
SwitchKaze
6bf76602ed Refactor mouse 2021-04-02 15:22:22 -05:00
LJ Sonic
09d911a5b6 Revert "Replace all instances of P_AproxDistance with FixedHypot"
This reverts commit 75633bde50.
2021-02-13 17:45:20 +01:00
LJ Sonic
dfc1767794 Only call PlayerCmd hooks if added to game 2021-02-11 00:24:42 +01:00
LJ Sonic
83947d4428 Merge branch 'redundant-hypot' into 'next'
Replace P_AproxDistance with FixedHypot, and replace FixedHypot's algorithm with R_PointToDist2's

See merge request STJr/SRB2!1320
2021-01-25 18:08:25 -05:00
Shane Ellis
25bf4b54e2 Restructured botticcmds into G_Ticker 2021-01-23 10:36:44 -05:00
Shane Ellis
0e9b4acb58 Update g_game.c (Account for bot type 3) 2021-01-15 19:29:03 -05:00
Shane Ellis
505ba1ff63 Update g_game.c 2021-01-15 18:06:36 -05:00
SteelT
da37d3c168 Merge branch 'fix-ticcmd-received' into 'next'
Fix TICCMD_RECEIVED being overridden by gamelogic

See merge request STJr/SRB2!1337
2021-01-07 16:31:45 -05:00
GoldenTails
3b4a52b8b8 Allows Lua to transport you to a different map in place of a Special Stage. 2021-01-04 00:03:18 -06:00
LJ Sonic
b82cee780a Fix TICCMD_RECEIVED being overridden by gamelogic 2020-12-16 17:35:39 +01:00
James R
a86a7822d1 Merge remote-tracking branch 'origin/next' into hooklib-refactor 2020-12-12 15:38:46 -08:00
James R
75633bde50 Replace all instances of P_AproxDistance with FixedHypot 2020-12-12 14:53:54 -08:00
James R
7b6675178e Merge branch 'oldguards' into 'next'
Kill remaining HAVE_BLUA and SEENAMES

See merge request STJr/SRB2!1319
2020-12-12 17:34:04 -05:00
James R
93e4f43e4b Hooklib macros names -> uppercase + documentation 2020-12-12 03:16:30 -08:00
James R
e55d842d7f Kill SEENAMES 2020-12-12 02:11:23 -08:00
James R
2778cc3ce9 Merge remote-tracking branch 'origin/next' into hooklib-refactor 2020-12-12 02:02:38 -08:00
James R
4275d52267 Merge branch 'marathon-mode-tokens' into 'next'
Fix emeralds,  tokens, etc not resetting when restarting marathon mode in first level

See merge request STJr/SRB2!1252
2020-12-10 14:57:23 -05: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
LJ Sonic
7ff6443659 Fix PlayerCmd not handling angle and aiming correctly 2020-11-23 01:23:34 +01:00
Riku Salminen
b9fa50f7ef No need to reset tokens twice 2020-11-22 23:23:32 +02:00
Riku Salminen
f51be77aa2 Now the fix actually does what the MR says... +lua banks 2020-11-22 23:19:24 +02:00
Riku Salminen
0a1beab8c8 Reset a couple of other variables while we're at it 2020-11-14 20:17:35 +02:00
Riku Salminen
8814980a06 Emeralds and tokens now reset when restarting marathon mode in first level 2020-11-14 19:18:36 +02:00
Louis-Antoine
50d2c95470 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2.git into resend-gamestate 2020-10-24 16:21:44 +02:00
James R
5a5024faf4 Merge branch 'skip-credits-gone-wrong' into 'next'
Fix clients being able to skip credits AGAIN (closes #339)

Closes #339

See merge request STJr/SRB2!1182
2020-10-12 18:09:48 -04:00
James R
d4bef36c19 Merge branch 'specialstagecheck' into 'next'
A special stage is a special stage, even outside of coop.

Closes #211

See merge request STJr/SRB2!1180
2020-10-12 18:08:02 -04:00
James R
a17446f905 Oops, go straight to evaluation if not in a netgame
serverrunning means that you are actually the server.
2020-10-09 13:16:56 -07:00
sphere
76d16473b9 how did this even happen 2020-10-09 05:55:10 -04:00
James R
15008f31a7 Merge branch 'sanity-meter-empty' into 'next'
Replace cvar initializers with a macro

See merge request STJr/SRB2!1178
2020-10-08 22:02:25 -04:00
sphere
b71c75d2ec A special stage is a special stage, even outside of coop. 2020-10-08 18:45:20 +02:00
James R
dbd79a29a4 Replace C90's junk with a modest macro 2020-10-06 23:04:23 -07:00
Zachary McAlpin
e393093e73 Update comment 2020-10-06 16:43:14 -05:00
Zachary McAlpin
1681371fbd Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into playercmd-kart-port 2020-10-06 02:07:05 -05:00
Lachlan Wright
ca2eb78055 Merge branch 'special-stage-respects-nextmapoverride' into 'next'
Make Special Stage map transitions respect nextmapoverride.

See merge request STJr/SRB2!1129
2020-09-27 22:42:07 -04:00
James R
b655fa496e Don't let players change their name more than five times per minute
(ported 17f75903b029bbf01217153dc98009d305137c8f and 11ddcfa9a1f2311ec67377b76ed1160ef14b7f60)
2020-09-22 12:04:28 -07:00
GoldenTails
ca4ed3b7dd Make Special Stage map transitions respect nextmapoverride.
In other words: lets Luas set the next map of Special Stages via G_SetCustomExitVars.
It's otherwise impossible to do so via Lua.
2020-08-26 23:22:53 -05:00
Louis-Antoine
9dd5c11322 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into resend-gamestate
# Conflicts:
#	src/d_clisrv.c
#	src/d_clisrv.h
#	src/d_net.c
#	src/p_saveg.c
#	src/p_saveg.h
2020-08-13 13:53:10 +02:00
James R
3e8cf5ab06 Merge branch 'bt_spin' into 'next'
Replace all occurances of BT_USE with BT_SPIN (2.2!)

See merge request STJr/SRB2!982
2020-08-09 21:03:17 -04:00
Zachary McAlpin
e5b6d19f57 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into playercmd-kart-port 2020-07-30 15:37:41 -05:00
lachwright
837c9bbec3 Make old analog functional again 2020-07-30 18:22:15 +08:00
James R
d90fe93982 Fix Credits sequence from Extras being unskippable
This is because a server is not started before going to the credits. I'm way
too stupid/lazy to try starting a server, so have a special case!
2020-07-24 03:58:38 -07:00
Zachary McAlpin
d26c7654ff Ported Lat's PlayerCmd hook to vanilla SRB2 2020-07-17 00:08:38 -05:00
toaster
e1a217dc10 Two minor fixes for Marathon Mode.
* Apply the RTA penalty to the live event backup rather than the current timer. (Resolves #184)
* Snap the character name and timer mode text to the bottom of the screen, just above the bar.
2020-07-12 13:00:08 +01:00
GoldenTails
1f1589384a Replace PF_USEDOWN with PF_SPINDOWN 2020-07-11 21:59:54 -05:00
GoldenTails
999d8018ca Oops! Missed a couple... 2020-07-11 21:59:54 -05:00
GoldenTails
465ad1a7bc Replace all occurances of BT_USE with BT_SPIN (2.3?)
I'd use `next-major` but it doesn't exist lol
2020-07-11 21:59:54 -05:00
toaster
958d397cdb Merge branch 'marathoninfo' into 'next'
Marathon Run adjustments

See merge request STJr/SRB2!1048
2020-07-10 17:54:51 -04:00
toaster
217ac14ac5 Introduce a live event backup penalty for non MA_INGAME runs, since the change to saving time causes problems for this. 2020-07-10 21:36:37 +01:00
toaster
205d4c8d20 Fix the issue where custom exits with skipped intermission screens (notably, Black Core Zone 2 and 3) would cause the game to softlock when playing on a save file, or with a live event backup. 2020-07-10 20:30:16 +01:00
SteelT
186335c2ac Merge branch 'na-char-replays' into 'next'
Add support for saving/loading per-skin NiGHTS replays

See merge request STJr/SRB2!1025
2020-07-03 14:51:05 -04:00
Steel Titanium
3f3ff0688b Add support for saving/loading per-skin NiGHTS replays 2020-06-28 16:59:36 -04:00
toaster
f258131e55 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into special_save
# Conflicts:
#	src/g_game.c
2020-06-25 10:48:36 +01:00
James R
067d9b9a63 Merge remote-tracking branch 'origin/next' into gtr-fixes 2020-06-24 19:31:19 -07:00
toaster
4502604007 Special saves!
All this refactoring, just to resolve #162. Specifically, it engages savegame events not at level load (except for savefile start) but on level completion, just after you've gotten all the intermission bonuses but before the intermission actually starts.

Also fixes a never-before-discovered bug where if the titlemap has LF_SAVEGAME, your save file will be overwritten upon returning to the title screen. This game is a mess of hacks, I swear...

One unintended side effect: It may actually be faster in some speedrun circumstances in mods with cutscenes to complete the map, exit back to the title screen, and reload the file. It's a common feature of optimal runs in games with cutscenes, though, and Marathon Run has a toggle for cutscenes, so I'm not particularly bothered.
2020-06-22 19:00:47 +01:00
SteelT
bff6b19056 Merge branch 'marathonmode' into 'next'
MARATHON RUN

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
Lachlan Wright
191e2e094d Merge branch 'fix-spawn-desynch' into 'next'
Fix desynch when a player spawns

See merge request STJr/SRB2!977
2020-06-08 05:25:41 -04:00
LJ Sonic
e2b860dc28 Merge branch 'next' into 'fix-spawn-desynch'
# Conflicts:
#   src/p_map.c
2020-06-01 08:15:02 -04:00
lachwright
ae5d5b9546 Merge branch 'next' into dashmode-fixes 2020-05-30 18:13:21 +08:00
Monster Iestyn
755e9d659d Merge branch 'master' into next 2020-05-28 16:34:06 +01:00
Louis-Antoine
67eef5a37f Fix potential desynch when a player spawns 2020-05-28 11:03:35 +02:00
mazmazz
272362a86f Fix NOWIPE bugs with colormap fade and title card 2020-05-25 00:20:23 -04:00
SwitchKaze
b37c73b008 Make colors UINT16, increase color freeslots to 1024 2020-05-23 19:35:36 -05:00
toaster
a615de3504 Correctly reset map/timer for retries where the first map in Marathon Run is LF_NORELOAD (by forcing a reload when the retry option is used). 2020-05-15 21:17:57 +01: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
toaster
2aa542d2bf Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into marathonmode
# Conflicts:
#	src/doomdef.h
2020-05-15 13:23:37 +01:00
toaster
d593e2e1bb Introducing Marathon Run. (I was going to call it Marathon Mode, but NiGHTS Mode being right next to it on the menu looked terrible.)
Basically a dedicated Record Attack-like experience for speedrunning the game as a continuous chunk rather than ILs. Has several quality of life features.

Benefits include:
* An unambiguous real-time bar across the bottom of the screen, always displaying the current time, ticking up until you reach the ending.
* Disable the console (pausing is still allowed, but the timer will still increment).
* Automatically skip intermissions as if you're holding down the spin button.
* Show centiseconds on HUD automatically, like record attack.
* "Live Event Backups" - a category of run fit for major events like GDQ, where recovery from crashes or chokes makes for better entertainment. Essentially a modified SP savefile, down to using the same basic functions, but has its own filename and tweaked internal layout.
* "spmarathon_start" MainCfg block parameter and "marathonnext" mapheader parameter, allowing for a customised flow (makes this fit for purpose for an eventual SUGOI port).
* Disabling inter-level custom cutscenes by default with a menu option to toggle this (won't show up if the mod doesn't *have* any custom cutscenes), although either way ending cutscenes (vanilla or custom) remain intact since is time is called before them.
* Won't show up if you have a mod that consists of only one level (determined by spmarathon_start's nextlevel; this won't trip if you manually set its marathonnext).
* Unconditional gratitude on the evaluation screen, instead of a negging "Try again..." if you didn't get all the emeralds (which you may not have been aiming for).
* Gorgeous new menu (no new assets required, unless you wanna give it a header later).

Changes which were required for the above but affect other areas of the game include:
* "useBlackRock" MainCFG block parameter, which can be used to disable the presence of the Black Rock or Egg Rock in both the Evaluation screen and the Marathon Run menu (for total conversions with different stories).
* Disabling Continues in NiGHTS mode, to match the most common singleplayer experience post 2.2.4's release (is reverted if useContinues is set to true).
* Hiding the exitmove "powerup" outside of multiplayer. (Okay, this isn't really related, I just saw this bug in action a lot while doing test runs and got annoyed enough to fix it here.)
* The ability to use V_DrawPromptBack (in hardcode only at the moment, but) to draw in terms of pixels rather than rows of text, by providing negative instead of positive inputs).
* A refactoring of redundant game saves smattered across the ending, credits, and evaluation - in addition to saving the game slightly earlier.
* Minor m_menu.c touchups and refactorings here and there.

Built using feedback from the official server's #speedruns channel, among other places.
2020-05-14 23:10:00 +01:00
sphere
0287c6956e Fix some errors and add some comments. Also, actnum is not an INT32. 2020-05-12 17:20:28 +02:00
Jaime Passos
39c5ab4e17 Merge remote-tracking branch 'origin/next' into gtr-fixes 2020-05-09 17:12:52 -03:00
lachwright
165b6c2435 Dashmode fixes:
- Don't force the player's default normalspeed and jumpfactor while not in dashmode
- Properly trim the fuse for followmobj ghosts spawned during dashmode
- Add deliberate dashmode ghosts for Metal's jet fume
2020-05-01 08:26:23 +08:00
toaster
da86c17ee1 Disable continues outside of no-save/Ultimate by default, but allow SOC to re-enable them globally.
Please look at the merge request description for a full explanation, since I know the vanilla team has been hashing this out and I don't want to add fuel to the fire without at least presenting a solid case.
2020-03-26 20:16:44 +00:00
Monster Iestyn
7a585e2498 Merge branch 'next' into demos-refactor
# Conflicts:
#	src/g_game.c

(also update g_demo.c)
2020-03-20 17:48:31 +00:00
Monster Iestyn
dd76be16cb Create G_FreeGhosts, for the benefit of G_DeferedInitNew (assuming it actually needs to do ghosts = NULL; at all) 2020-03-19 20:42:51 +00:00
Monster Iestyn
dcb4ce8cb9 Created g_demo.c/.h, for the demo recording and playback code that formerly lived in g_game.c 2020-03-19 20:09:55 +00:00
Louis-Antoine
e3cbdf8fab Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
Steel Titanium
5dac9c6875 Merge branch 'master' into next 2020-03-18 15:42:02 -04:00
SteelT
e3a5164ddf Merge branch 'deadzone-sigfpe-fix' into 'master'
Fix division-by-0 crash from 100% gamepad deadzones, and lack of input from 0% deadzones

See merge request STJr/SRB2!838
2020-03-18 15:39:04 -04:00
SteelT
bd058ecc4b Merge branch 'viewpointswitch-fix' into 'next'
Fix incorrect newdisplayplayer in forced ViewpointSwitch

See merge request STJr/SRB2!814
2020-03-18 15:34:18 -04:00
Monster Iestyn
31b1188a3e Merge branch 'master' into next 2020-03-15 20:32:43 +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
Zwip-Zwap Zapony
bce6349b1d More gamepad deadzone tweakage 2020-03-04 21:44:57 +01:00
Zwip-Zwap Zapony
df220aa2c2 Hotfix for 100% deadzone returning 0 input
It makes more sense for 100% deadzone to just make it so that
you have to push the axis all the way to trigger it,
rather than 100% deadzone resulting in no axis input
ever happening... So, let's make it be the former way instead
2020-03-04 21:11:55 +01:00
Zwip-Zwap Zapony
27e084a827 Fix division-by-0 crash with gamepad deadzones
Fix division-by-0 crash with gamepad deadzones
The problem was that it checked if A was more than B,
then lowered A to a max value, then subtracted B from A,
then divided something by that, without checking if A minus B was 0,
allowing division by 0 if B was the same as that max value

This fixes that by making sure that A is less than the max value
2020-03-04 17:31:52 +01:00
Jaime Passos
70a103b9af Fix G_TOLFlag returning the wrong type 2020-03-02 00:20:53 -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
Jaime Passos
7d77600e71 Make exitmove friendly, don't start empty intermission screens 2020-02-29 01:51:45 -03:00
Jaime Passos
4e7b47440f G_CoopGametype, for all the GT_COOP cases 2020-02-29 00:57:22 -03:00
Jaime Passos
6fb5a6efb6 Consider hide-and-seek as GTR_HIDEFROZEN 2020-02-28 23:52:33 -03:00
Jaime Passos
b103a792c0 Let spectators decide where they spawn
Also fixes some issues with tag gametypes
2020-02-23 19:23:00 -03:00
Jaime Passos
678935f26a Turn players IT if they join the game after the hide time in tag gametypes
Except in gametypes with hide time stasis, because they can't change team.
2020-02-23 17:02:50 -03:00
Jaime Passos
7439ab5296 Allow countdown time-up in any campaign gametype 2020-02-23 16:50:36 -03:00
Jaime Passos
a334542f34 Scan for emeralds in gametypes with Emerald Hunt 2020-02-23 16:41:39 -03:00
Jaime Passos
f313a0386f Don't reset player between maps in campaign gametypes 2020-02-23 16:40:16 -03:00