Commit graph

11829 commits

Author SHA1 Message Date
Sally Coolatta
f482218913 I_GetFrameTime to try and improve frame pace
(It doesn't feel that much better though.)
2022-04-26 20:56:33 -05:00
Sally Coolatta
3da9852d2a Dynamic slope interpolators 2022-04-26 20:56:33 -05:00
Eidolon
568677edc1 Move mobj interpolators to r_fps 2022-04-26 20:56:33 -05:00
Eidolon
a67432a415 Add mobj interpolator on load netgame 2022-04-26 20:56:33 -05:00
Eidolon
5e4a57b45c Reset mobj interp state on add 2022-04-26 20:56:33 -05:00
Sally Coolatta
b18e53417a Handle the sleep at the end of D_SRB2Loop instead of the start
Simplifies logic in the other parts of the loop, and fixes problems with it frequently waiting too long.
2022-04-26 20:56:33 -05:00
Sally Coolatta
685190fe40 Improve the framerate limiter's timing for extreme stable FPS 2022-04-26 20:56:32 -05:00
Eidolon
66cc234be6 Fix precip crash from missing vars 2022-04-26 20:56:32 -05:00
Sally Coolatta
53c71d35bc Adjust how FPS cap is checked to improve FPS stability 2022-04-26 20:56:32 -05:00
Sally Coolatta
6e5e74b25f Allow FPS cap values 2022-04-26 20:56:32 -05:00
Eidolon
0e1b01f206 Update mobj oldstates before all thinkers 2022-04-26 20:56:32 -05:00
Eidolon
84f62f91f4 Fix renderdeltatics with new timing data 2022-04-26 20:56:32 -05:00
Eidolon
a56a57b3d1 Misc changes after Kart cherry-picks 2022-04-26 20:56:32 -05:00
Sally Coolatta
c186d6402b Lots of FPS stuff
- Disabled VSync, due to the numerous problems it has.
- Instead, added an FPS cap.
- Frame interpolation is now tied to fpscap != 35.
- By default, the FPS cap is set to the monitor's refresh rate.
- Rewrote the FPS counter.

(This also consolidates several more commits ahead of this
fixing various issues. -eid)
2022-04-26 20:56:32 -05:00
Sally Coolatta
41997c4549 Keep rect in memory
Feel better about this than creating one all da time
2022-04-26 20:56:32 -05:00
Sally Coolatta
40b021d6e4 Calculate FPS stuff even if frame is skipped
I decided ultimately to actually keep the frame skip optimization disabled, because I think it is actually a little bit helpful that you can still get accurate rendering perfstats while paused, however if we decide otherwise then we can have this optimization back without making the game act like it's lagging.
2022-04-26 20:56:32 -05:00
James R
1b49a96eed Interpolate from time of previous tic
Previously interpolated from last 35th of a second, which
may be offset from game time due to connection lag.

Consider this the proper fix to 54148a0dd0 too.
2022-04-26 20:56:31 -05:00
James R
e6dff8eedc Closer OpenGL underwater/heatwave effect to Software 2022-04-26 20:56:31 -05:00
James R
56c0c1f415 Do not speed up underwater/heatwave effect in OpenGL 2022-04-26 20:56:31 -05:00
Sally Coolatta
cd70b499bd Fully fix drop shadows
It used the thing's floorz / ceilingz directly -- that wouldn't account for interpolated coordinates.
2022-04-26 20:56:31 -05:00
Sally Coolatta
e4930535f3 P_InitAngle, to fix angle interpolation on spawning objects 2022-04-26 20:56:31 -05:00
Sally Coolatta
8fb939df79 Add functions to handle interpolation
Much less code duplication
2022-04-26 20:56:31 -05:00
Eidolon
ca8698d13e Interpolate HWR_DrawModel 2022-04-26 20:56:31 -05:00
Eidolon
ab7c2dfb3d Interpolate mobj angles and player drawangle 2022-04-26 20:56:31 -05:00
Eidolon
5fda1b297f Delete interpolators associated with thinkers 2022-04-26 20:56:31 -05:00
Eidolon
3e5cec7e72 Intialize interpolator list at a better time 2022-04-26 20:56:31 -05:00
Eidolon
2aa34f0273 Add Polyobj interpolator 2022-04-26 20:56:30 -05:00
Eidolon
330b34ee6b Add SideScroll interpolator 2022-04-26 20:56:30 -05:00
Eidolon
ba110852a7 Add SectorScroll interpolator 2022-04-26 20:56:30 -05:00
Eidolon
9c8d0a3b6f Add sector plane level interpolations 2022-04-26 20:56:30 -05:00
Eidolon
ac2510f284 Homogenize mobj interpolations 2022-04-26 20:56:27 -05:00
Eidolon
6dd27af26e Run anti-lag chasecam at tic frequency
Fixes jittery and unstable chasecam in high latency netgames
2022-04-26 20:31:39 -05:00
Eidolon
8908dcccde Only swap view interp state if a tick is run 2022-04-26 20:31:39 -05:00
Eidolon
f0279e69f2 Reset mobj interp state on TeleportMove 2022-04-26 20:31:39 -05:00
Eidolon
4c31902b98 Reset precip interpolation on snap to ceil 2022-04-26 20:31:39 -05:00
Eidolon
f2a881f385 Add reset interpolation state functions 2022-04-26 20:31:39 -05:00
Eidolon
4ee6027180 Remove unnecessary precipmobj thinker hack 2022-04-26 20:31:39 -05:00
Eidolon
d34ec2ef06 Reset view interpolation on level load 2022-04-26 20:31:38 -05:00
Eidolon
7c9e133eb4 Fix misc dropshadow issues 2022-04-26 20:31:38 -05:00
Eidolon
996f35b592 Always have precise_t defined 2022-04-26 20:31:38 -05:00
Eidolon
bc9251e13b Ensure + commands get executed before map start 2022-04-26 20:31:38 -05:00
Eidolon
88207e18f9 Ensure viewsector is accurate to viewx/viewy
This fixes a potential crash in OpenGL when changing between levels.
2022-04-26 20:31:38 -05:00
Eidolon
056abd0461 Add smooth rendering to Record/NiGHTS Attack, F_SkyScroll 2022-04-26 20:31:38 -05:00
Eidolon
c330c05718 Add smooth rendering to save select screen 2022-04-26 20:31:38 -05:00
Eidolon
61efef2fa9 Add smooth level platter under interpolation, renderdeltatics
`renderdeltatics` can be used as a standard delta time in any place,
allowing for smooth menus. It will always be equal to `realtics`
when frame interpolation is turned off, producing consistent
framerate behavior everywhere it is used.
2022-04-26 20:31:38 -05:00
Eidolon
722b04518d Place Frame Interpolation in "Experimental" video options header
This seems like an appropriate way to describe the feature for now.
2022-04-26 20:31:38 -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
MascaraSnake
5fbe5189ce Merge branch 'udmf-sector-fields' into udmf-full 2022-04-20 21:01:52 +02:00
MascaraSnake
faa7d89e3e Merge branch 'udmf-more-linedef-types' into udmf-sector-fields 2022-04-20 21:01:16 +02:00
MascaraSnake
5660d896e6 Merge branch 'udmf-thing-types' into udmf-more-linedef-types 2022-04-20 21:00:44 +02:00
MascaraSnake
54640a8664 Merge branch 'udmf-executor-triggers' into udmf-thing-types
# Conflicts:
#	extras/conf/udb/Includes/SRB222_things.cfg
2022-04-20 20:59:55 +02:00
MascaraSnake
465327288c Fix int type error 2022-04-20 20:55:13 +02:00
MascaraSnake
39b7fb9ff8 Merge commit 'd624ee25' into udmf-thing-types
# Conflicts:
#	src/p_mobj.c
#	src/p_spec.c
2022-04-20 20:41:46 +02:00
MascaraSnake
9815d40c20 Adapt tutorial plant to UDMF 2022-04-20 20:06:08 +02:00
MascaraSnake
f76b104c4a Merge commit 'c7050671' into udmf-thing-types 2022-04-20 19:42:03 +02:00
MascaraSnake
36bf8b1a77 Merge branch 'udmf-linedef-executors' into udmf-executor-triggers 2022-04-19 22:33:53 +02:00
MascaraSnake
863b1e125a Merge branch 'udmf-lighting' into udmf-linedef-executors
# Conflicts:
#	src/p_spec.c
2022-04-19 22:31:57 +02:00
MascaraSnake
2e56c3de35 Merge branch 'udmf-polyobjects' into udmf-lighting 2022-04-19 22:18:30 +02:00
MascaraSnake
f672b1b940 Merge branch 'udmf-scrollers' into udmf-polyobjects
# Conflicts:
#	src/p_spec.c
2022-04-19 22:17:28 +02:00
MascaraSnake
f164809618 Merge branch 'udmf-plane-linedefs' into udmf-scrollers 2022-04-19 22:06:32 +02:00
MascaraSnake
36692483df Merge branch 'udmf-fofs-mkii' into udmf-plane-linedefs
# Conflicts:
#	src/p_inter.c
2022-04-19 22:04:04 +02:00
MascaraSnake
0b4bbacec0 Merge branch 'next' into udmf-fofs-mkii 2022-04-19 21:59:31 +02:00
Jaime Ita Passos
3581d06012 Fix frame blend flags not working with 3D models 2022-04-08 16:01:41 -03:00
Sally Coolatta
8c62a0d640 Fix papersprites being rotated incorrectly in Software when viewing them on the flipped side 2022-03-22 05:53:21 -04:00
sphere
55854410ac Merge branch 'line-angle' into 'next'
Add angle field to linedef_t

See merge request STJr/SRB2!1602
2022-03-22 09:09:40 +00:00
sphere
563ae7f7ac Merge branch 'hangster-fix' into 'next'
Prevent Hangsters from sliding across the ceiling

Closes #787

See merge request STJr/SRB2!1766
2022-03-22 08:58:46 +00:00
sphere
2b9af0ff24 Merge branch 'unsteal-ideya-spheres' into 'next'
Fix Ideya Capture sometimes stealing extra spheres

See merge request STJr/SRB2!1768
2022-03-21 22:53:06 +00:00
sphere
a0aebb2ed0 Merge branch 'fast-r-load-textures' into 'next'
Do not reload every texture when adding a wad

See merge request STJr/SRB2!1725
2022-03-21 22:41:04 +00:00
sphere
7ec7b2699f Merge branch 'floorsprite-and-shadow-fake-planes-fix' into 'next'
Drop shadow fake floor/ceiling fix

See merge request STJr/SRB2!1638
2022-03-21 22:40:25 +00:00
Lactozilla
4f9ac9edb8 Drop shadow fake floor/ceiling fix 2022-03-21 22:40:24 +00:00
sphere
e997254136 Merge branch 'minus-fixes' into 'next'
Fix Minus & debris' reverse gravity behavior

See merge request STJr/SRB2!1764
2022-03-21 21:59:32 +00:00
sphere
20b73dedfe Merge branch 'multimare-grades' into 'next'
Show overall grade emblem requirement of a multi-mare NiGHTS stage in SP pause menu

Closes #71

See merge request STJr/SRB2!1762
2022-03-21 21:58:54 +00:00
sphere
1cd46c2208 Merge branch 'shadowscream' into 'next'
Remove drop shadow from badnik explosions, give drop shadows to Metal and flickies

Closes #218

See merge request STJr/SRB2!1761
2022-03-21 21:58:32 +00:00
sphere
7b6e4eb5fc Merge branch 'fullbright-ivsp' into 'next'
Make S_IVSP and  S_THUNDERCOIN_SPARK fullbright

See merge request STJr/SRB2!1755
2022-03-21 21:58:14 +00:00
sphere
e063084960 Merge branch 'myformerself' into 'next'
Make P_SpawnGhostMobj ghosts properly copy spritestuff2 (!1257) variables

See merge request STJr/SRB2!1741
2022-03-21 21:57:17 +00:00
sphere
c0a21ccbf3 Merge branch 'levelplatternames' into 'next'
Level platter name improvements

See merge request STJr/SRB2!1730
2022-03-21 21:57:03 +00:00
Zwip-Zwap Zapony
7fdebdcdb9 Suggested optimization 2022-03-20 13:18:22 +01:00
Zwip-Zwap Zapony
bca90893d2 Fix Ideya Capture sometimes stealing extra spheres
Also clean up redundant "startingspheres" variable
2022-03-20 09:52:47 +01:00
MascaraSnake
a78e4e553c Merge branch 'next' into udmf-fofs-mkii 2022-03-18 07:29:02 +01:00
spherallic
9769ad48e0 Prevent Hangsters from sliding across the ceiling. 2022-03-15 13:12:56 +01:00
sphere
fd8deac385 Merge branch 'larg' into 'master'
Fix typo in linux-only compilation flag

See merge request STJr/SRB2!1759
2022-03-13 12:37:58 +00:00
spherallic
bd2d763bd0 Fix Minus & debris behavior in reverse gravity. 2022-03-13 12:34:17 +01:00
spherallic
c782e81700 Give MT_METALSONIC_RACE a drop shadow & removed unused vars. 2022-03-12 17:44:37 +01:00
SteelT
3eaae066ef Show overall grade emblem requirement of a multi-mare NiGHTS stage in SP pause menu
Fixes #71
2022-03-08 21:06:01 -05:00
spherallic
6ef7221e38 A few drop shadow-related additions:
- Added A_SetShadowScale
- Added A_ShadowScream which combines the above with A_Scream, used for 
badnik explosions
- Gave flickies drop shadows
2022-03-09 00:49:24 +01:00
spherallic
50330c746b Merge branch 'next' into fast-r-load-textures 2022-03-08 22:11:16 +01:00
katsy
b161cb4588 e 2022-03-08 01:06:01 +00:00
katsy
86336d6bed remove MODID check from hooklib to fix compile issue 2022-03-07 18:33:15 -06:00
spherallic
82fb731cab :dramahog: 2022-03-06 22:52:43 +01:00
spherallic
098fcaa4b0 2.2.10 2022-03-06 20:22:22 +01:00
sphere
7e26377264 Merge branch 'state-changes' into 'next'
Update Nightopians & other state changes

See merge request STJr/SRB2!1744
2022-03-06 15:45:59 +00:00
sphere
ab711128c7 Merge branch 'tutorial-scenery' into 'next'
Tutorial scenery

See merge request STJr/SRB2!1722
2022-03-06 15:45:53 +00:00
sphere
8e6174ab2d Merge branch 'emblemhealth' into 'next'
Fix #805

Closes #805

See merge request STJr/SRB2!1757
2022-03-06 15:44:50 +00:00
sphere
00117476e1 Merge branch 'mobj-spawn-null-fix' into 'next'
Spawn MT_RAY when attempting to spawn MT_NULL

Closes #801 and #800

See merge request STJr/SRB2!1751
2022-03-06 11:52:44 +00:00
sphere
f7eafeb665 Merge branch '2022' into 'next'
2022

See merge request STJr/SRB2!1754
2022-03-06 11:52:31 +00:00
spherallic
77d4f873b0 Add upper bound to emblemlocations[] access. 2022-03-06 12:20:41 +01:00
aiire
6040f97dd5 added FF_FULLBRIGHT to S_THUNDERCOIN_SPARK 2022-03-04 23:25:25 +00:00
sphere
1abe2689f3 Merge branch 'fix-nonet-2210' into 'next'
Fix warning when compiling with NONET=1

See merge request STJr/SRB2!1753
2022-03-04 09:49:36 +00:00
sphere
980bcb4775 Merge branch 'fix-nohw-perfstats-next' into 'next'
Fix perfstats failing to compile with NOHW=1

See merge request STJr/SRB2!1728
2022-03-04 09:49:15 +00:00
aiire
8c1991d674 added FF_FULLBRIGHT to S_IVSP 2022-03-04 02:57:45 +00:00
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01:00
spherallic
3b75ef7e76 Fix warning when compiling with NONET=1 2022-03-03 12:08:15 +01:00
SteelT
893ea10a67 Turn the console warning into a devmode print because turns out it happens more often than I thought 2022-03-02 12:46:24 -05:00
SteelT
34f8464cbf Spawn MT_RAY when attempting to spawn MT_NULL
Some code assumes that P_SpawnMobj can never return NULL
So spawn MT_RAY in it's place when attempting to spawn MT_NULL and show a console warning
2022-03-02 12:35:03 -05:00
sphere
a57a0985ee Merge branch 'mt_ray' into 'next'
Move MT_RAY to the very end of the mobj list

See merge request STJr/SRB2!1747
2022-02-28 15:13:09 +00:00
sphere
0ad2ac68f7 Merge branch 'demo-frameflags' into 'next'
Convert old frame flags in Metal recordings to their 2.2.10 equivalents

Closes #775

See merge request STJr/SRB2!1742
2022-02-28 15:12:28 +00:00
spherallic
d624ee2541 Revert "minor spike optimisations"
This reverts commit b2d693a547.
2022-02-28 14:30:01 +01:00
spherallic
a6c52f5bad Move MT_RAY to the very end of the mobj list. 2022-02-22 15:49:16 +01:00
sphere
d6f3522333 Merge branch 'fix-vflag-blendmodes' into 'next'
Fix blendmode V_ flags not working at full opacity in Software

See merge request STJr/SRB2!1717
2022-02-21 19:58:24 +00:00
spherallic
fcc28d0714 Update seaweed state to utilize new features & sprites. 2022-02-21 16:00:21 +01:00
spherallic
946100939a Update editor configurations & increase Nightopians' hitbox height. 2022-02-19 22:19:39 +01:00
sphere
d532546e46 Merge branch 'mt-null-spawning' into 'next'
Remove MT_NULL hacks

Closes #721

See merge request STJr/SRB2!1729
2022-02-19 20:24:34 +00:00
sphere
249a3dfa25 Merge branch 'eggman-hitboxes' into 'next'
Increase Eggman's hitboxes

See merge request STJr/SRB2!1706
2022-02-19 20:24:20 +00: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
sphere
7218060a7a :lachyes: 2022-02-19 01:49:19 +00:00
sphere
14cb5415c9 Merge branch 'fix-portals' into 'next'
Fix portals

See merge request STJr/SRB2!1724
2022-02-17 12:26:27 +00:00
spherallic
2266e31038 Merge branch 'next' into state-changes 2022-02-17 12:35:34 +01:00
spherallic
a4778075b2 Convert old frame flags in Metal recordings to their 2.2.10 equivalents. 2022-02-14 14:57:00 +01:00
SMS Alfredo
2033b77b46 Actually do the thing 2022-02-11 00:33:49 -06:00
spherallic
bb84ae1793 Decrease hitbox sizes to prevent collision with thin air. 2022-02-10 13:10:56 +01:00
spherallic
9fee550fb0 Actually check bot names in lib_gAddPlayer. 2022-02-08 14:58:09 +01:00
LJ Sonic
fdee3a2b7f Merge branch 'ms_update_command' into 'next'
Allow people to update their Master Server listing on command.

See merge request STJr/SRB2!1518
2022-02-06 18:53:49 +00:00
LJ Sonic
c00d1e5499 Merge branch 'no-dedi-sighandle-window' into 'next'
Disable SDL error message on dedicated servers

See merge request STJr/SRB2!1735
2022-02-06 17:44:48 +00:00
LJ Sonic
81b0eb1c7c Merge branch 'crosshairs' into 'next'
Fix crosshairs not displaying

See merge request STJr/SRB2!1716
2022-02-06 17:30:15 +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
LJ Sonic
6c7d4b8ef5 Merge branch 'sw-splat-skybox-crash' into 'next'
Fix software splats breaking and crashing in skyboxes

See merge request STJr/SRB2!1711
2022-02-06 17:22:58 +00:00
LJ Sonic
2d53842061 Merge branch 'sw-splat-ceilingclip' into 'next'
Fix software splats not being clipped by ceiling walls

See merge request STJr/SRB2!1712
2022-02-06 17:22:49 +00:00
LJ Sonic
c69edce2fc Merge branch 'sw-dropshadow-patch' into 'next'
Hack that fixes software drop shadow crashes (Fixes #159)

Closes #159

See merge request STJr/SRB2!1700
2022-02-06 17:22:08 +00:00
LJ Sonic
2e60de25ea Merge branch 'sw-splat-npo2-slope-opt' into 'next'
Add missing optimization to software npo2 sloped floor sprites

See merge request STJr/SRB2!1713
2022-02-06 17:20:03 +00:00
LJ Sonic
b396683429 Merge branch 'fix-chat' into 'next'
Fix issues with chat messages

Closes #583

See merge request STJr/SRB2!1698
2022-02-06 17:15:04 +00:00
LJ Sonic
f4a9d1507d Merge branch 'fix-checksum-disconnect' into 'next'
Do not attempt to disconnect when a packet checksum is invalid

See merge request STJr/SRB2!1699
2022-02-06 17:14:44 +00:00
LJ Sonic
1a1cb8942c Merge branch 'znodes-offset-fix' into 'next'
UDMF: Fix offset calculation for segs that represent linedef backsides

See merge request STJr/SRB2!1701
2022-02-06 17:12:58 +00:00
LJ Sonic
9d993a585f Merge branch 'ignore-bad-map-lumps' into 'next'
Only load map lumps that are WADs or have no extension

See merge request STJr/SRB2!1715
2022-02-06 17:12:07 +00:00
GoldenTails
c49dd5f535 Make dedicated servers not pop up that annoying SDL error window
So they don't mess with shell scripts that expect SRB2 to exit when it crashes (like most other programs)
2022-02-05 18:19:00 -06:00
spherallic
878b4dc5b6 Don't read or set MT_NULL's properties in A_SkullAttack 2022-02-04 20:09:37 +01:00
spherallic
e64775c867 Check V_ThinStringWidth instead of strlen for level platter names. 2022-02-02 23:16:12 +01:00
spherallic
6e105a23f6 Update Nightopian states for the new sprites & fix another bug 2022-02-02 14:43:22 +01:00
spherallic
e301327dee Avoid using old explosion states for Jetty-Syn/Skim mines. 2022-02-02 12:15:14 +01:00
James R
a8c658b545 Never spawn MT_NULL 2022-02-01 04:04:53 -08:00
James R
6325185091 Add P_SetPower; remove mobj hack from line 434 2022-02-01 03:52:31 -08:00
James R
9dfa153e74 Use P_CheckMove 2022-02-01 03:52:28 -08:00
James R
518de0ce10 Add P_CheckMove
Checks if P_TryMove would succeed without actually moving.
2022-02-01 03:37:03 -08:00
James R
f6f002e70b A_LobShot: remove ???
MT_NULL spawning, not cool bro.
2022-02-01 02:43:00 -08:00
James R
0a0c17da7c PARANOIA: I_Error if mobj hook is called with MT_NULL 2022-02-01 02:27:27 -08:00
sphere
ff57a983d7 Merge branch 'facing-forwards' into 'next'
Don't modify drawangle when taking damage in strafe mode

See merge request STJr/SRB2!1689
2022-01-30 13:32:30 +00:00
sphere
bcd900211b Merge branch 'nightopian-fix' into 'next'
Fix Nightopians

See merge request STJr/SRB2!1703
2022-01-30 13:28:18 +00:00
Hannu Hanhi
611054b6cd Fix perfstats failing to compile with NOHW=1 2022-01-29 02:24:52 +02:00
James R
37add34b9c Update texturecache user when reallocating 2022-01-27 00:28:36 -08:00
James R
2aec4501eb Hash name lookup for textures and lumps 2022-01-27 00:03:37 -08:00
James R
2ebec53561 P_AddWadFile: only load textures in current file 2022-01-27 00:03:34 -08:00