Commit graph

571 commits

Author SHA1 Message Date
Lactozilla
d777b62e1b Improve checks for papersprites 2023-09-03 18:59:39 -03:00
Eidolon
c35456d5cb Actually fix papersprites near camera crash 2023-09-03 16:33:06 -05:00
Lactozilla
58bd31fdca Make hitboxes count towards the total sprite count
This has the effect of misrepresenting how many sprites are actually visible, but it's more "accurate".
2023-09-03 17:14:48 -03:00
Lactozilla
b8313ceda2 Optimize sprite rendering by ignoring completely occluded sprites 2023-09-03 17:02:35 -03:00
Lactozilla
2f25102b79 Make num_posts unsigned
size_t was a bit overkill for that.
2023-09-03 13:27:49 -03:00
Lactozilla
6ccb1f7ca3 Do the same to R_DrawPrecipitationVisSprite 2023-09-03 13:12:40 -03:00
Lactozilla
0c664681cd Mask the sprite patch column in R_DrawVisSprite 2023-09-03 12:57:11 -03:00
Lactozilla
649669c217 Merge remote-tracking branch 'stjr/next' into patch-refactor 2023-09-03 12:41:08 -03:00
Eidolon
d4a2bb5675 Fix sprite scale column iteration crash 2023-09-03 10:08:03 -05:00
Zwip-Zwap Zapony
f42c2403f9 Interpolate radius/height when scaling mobjs 2023-08-25 10:42:12 +02:00
Zwip-Zwap Zapony
db59ec5998 Fix interpolation when curling up while flipped
Also fix scaling interpolation while flipped, and fix the NiGHTS Drone flip interpolation on its first tic
2023-08-17 17:39:24 +02:00
Lactozilla
4ea2887d7f Lua colorlib: extracolormap support 2023-08-04 00:31:51 -03:00
Lactozilla
821460d208 Patch refactor 2023-07-30 20:56:28 -03:00
LJ Sonic
0b17e3c418 Move netcode files to a new folder 2023-07-27 15:38:42 +02:00
Sal
a8aee74829 Merge branch 'drawseg-clipping-optimized' into 'next'
Drawseg clipping optimized, from prboom-plus

See merge request STJr/SRB2!2067
2023-07-26 12:00:58 +00:00
Lactozilla
c6c3cc3209 Drawseg clipping optimized, from prboom-plus
Co-authored-by: Sally Coolatta <tehrealsalt@gmail.com>
2023-07-26 00:06:52 -03:00
Zwip-Zwap Zapony
0e2682d590 Add "drawonlyforplayer" and "dontdrawforviewmobj" 2023-07-25 11:05:29 -04:00
Sally Coolatta
b6129a6d42 Add R_SpriteRotationAngle function
Gets the rotation angle for the mobj's sprite. Meant for pitch & roll later, but that part is if'd out currently and just returns mobj->rollangle
2023-07-24 04:47:07 -04:00
Sally Coolatta
7c2a241042 Remove the need for setting rotation axis in spriteinfo for models
Now it just does it like Software
2023-07-24 04:40:15 -04:00
sphere
f428759150 Merge branch 'bbox' into 'next'
Hitbox Renderer

See merge request STJr/SRB2!1838
2023-07-14 13:14:56 +00:00
sphere
b8a25ae53c Add interpolation to hitbox viewer, tweak hitbox colors 2023-06-13 00:05:58 +00:00
sphere
5307c1635d Merge branch 'interpolate-maria' into 'next'
Interpolate Shadows when Scaling Mobjs

See merge request STJr/SRB2!1986
2023-06-12 23:39:23 +00:00
spherallic
264ec02223 Merge branch 'next' into bbox 2023-05-26 03:06:30 +02:00
sphere
ce504d4e8e Merge branch 'mobj-dispoffset' into 'next'
Turn dispoffset into a mobj field

See merge request STJr/SRB2!1708
2023-05-25 20:59:43 +00:00
Zwip-Zwap Zapony
3f5e7ff0d0 Interpolate shadows when scaling mobjs 2023-05-25 15:09:53 +02:00
spherallic
1470d099e3 Update copyright year & credits 2023-03-31 14:53:31 +02:00
spherallic
3bc519ed65 Merge branch 'next' into bbox 2023-01-27 14:59:39 +01:00
LJ Sonic
379cc4207a Revert "Merge branch 'netcode-refactor' into merging"
This reverts merge request !1920
2023-01-15 17:57:23 +00:00
LJ Sonic
41fb0c8943 Merge branch 'netcode-refactor' into merging 2023-01-15 17:45:06 +01:00
Arthur
636e6d8c14 MSVC project file works again! Supports Visual Studio 2022.
Also fixed issues with the d_netcmd.c file/folder adding logic.
2022-12-31 19:35:07 -05:00
LJ Sonic
717e0d5a17 Move netcode files to a new folder 2022-12-31 14:10:19 +01:00
James R
7855bae8a1 Remove R_ThingVisibleWithinDist
It's no longer used!
2022-11-22 18:13:40 -08:00
James R
694804cd96 Refactor hitbox renderer to project vissprites
Properly accounts for portals (skyboxes).
2022-11-22 18:12:49 -08:00
James R
356bdb25a1 Add a hitbox renderer to Software mode
renderhitbox
- Tangible - collision activating objects, minus rings
- All - every object
- Intangible - the opposite of Tangible, also no rings
- Rings - rings
2022-11-22 18:12:49 -08:00
Sally Coolatta
fa10530d37 Handle sorting against water FOFs properly 2022-11-12 17:00:45 -05:00
Sally Coolatta
ee9ebe6c54 Improve LINKDRAW with multiple objects
Multiple objects with MF2_LINKDRAW will get sorted between each other, instead of purely done with dispoffset.
2022-11-12 17:00:45 -05:00
James R
04855a85dc Use angle between viewz and mobj z to determine splat sprite angle 2022-11-11 17:35:31 -06:00
James R
877d5450d5 Use interpolated mobj x/y/z/angle for splats
# Conflicts:
#	src/hardware/hw_main.c
#	src/r_things.c
2022-11-11 17:35:27 -06:00
Eidolon
12c2ddb115 Merge branch 'uncappedrevengeance' into next
Uncapped

See merge request STJr/SRB2!1856

# Conflicts:
#	src/dummy/i_system.c
#	src/win32/win_sys.c
2022-11-08 21:13:50 -06:00
sphere
8da4eab173 Merge branch 'udmf-fof-flags' into 'next'
Fix UDMF FOF flags

See merge request STJr/SRB2!1802
2022-09-28 21:03:44 +00:00
sphere
cfdbc8f44a Merge branch 'vissprite-color' into 'next'
Allow objects with MF2_LINKDRAW to use their own color

See merge request STJr/SRB2!1576
2022-09-17 07:32:51 +00:00
MascaraSnake
8d4baace53 Add Lua backwards compatibility for FOF flags 2022-07-31 12:04:42 +02:00
Eidolon
1259f1be40 Interpolate spritescale/offset x/y 2022-04-29 14:21:30 -05:00
Eidolon
1aebf41e82 Interp shadow scales 2022-04-28 20:14:04 -05:00
Eidolon
687d98eb4a Fix interp scale crash for hires sprites 2022-04-28 20:07:07 -05:00
katsy
5a7a63c2cc Fix interp scaling crashing software 2022-04-28 17:21:45 -05:00
Eidolon
51553e7f75 Interpolate mobj scale 2022-04-27 21:39:47 -05:00
Sally Coolatta
f6c1e49b27 Fix boss1 laser in interp 2022-04-27 21:07:55 -05:00
Eidolon
833777d773 Revert "Remove unnecessary precipmobj thinker hack"
This reverts commit 0e38208620d19ec2ab690740438ac2fc7862a49e.
2022-04-26 20:56:36 -05:00
Sally Coolatta
48b3ea31c4 Bring back shadows on polyobjects
Also optimizes the method used so rings can show their shadows too. Using just the subsector is a tad bit imprecise admittedly but any more precise methods get really laggy.
2022-04-26 20:56:35 -05:00
Sally Coolatta
f34a61156c Papersprite angle interpolation
Makes the ending signpost smooth
2022-04-26 20:56:35 -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
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
Eidolon
ac2510f284 Homogenize mobj interpolations 2022-04-26 20:56:27 -05:00
Eidolon
4ee6027180 Remove unnecessary precipmobj thinker hack 2022-04-26 20:31:39 -05:00
Eidolon
7c9e133eb4 Fix misc dropshadow issues 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
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
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
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01: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
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
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
Hannu Hanhi
ba04b045e6 Fix portals
- Resetting portalcullsector fixes the major visual glitches

- Using 32 bits for nummasks and i fixes crashes when rendering lots of portals
2022-01-25 04:53:40 +02:00
Hannu Hanhi
f72f45d93a Fix software splats breaking and crashing in skyboxes 2022-01-14 19:53:03 +02:00
lachablock
d764d68d02 Turn dispoffset into a mobj field 2022-01-13 18:53:26 +11:00
Hannu Hanhi
a8fe12ae98 Hack that fixes software drop shadow crashes by bypassing incorrectly set variables 2022-01-04 22:30:50 +02:00
sphere
a3be09bb3f blentran part 2: Sprite & patch blendmodes. 2021-12-05 00:48:21 +01:00
sphere
3802f601a9 blentran part 1: Flag changes & semibright support. 2021-12-05 00:48:21 +01:00
Hannu Hanhi
77ecfb9cdc Perfstats averaging and refactor 2021-10-29 02:18:02 +03:00
Tatsuru
8aee7fcbce Merge branch 'floorsprite-fix' into 'next'
Fix #649

Closes #649

See merge request STJr/SRB2!1604
2021-09-11 15:00:14 +00:00
Jaime Ita Passos
450955cba2 Fix floor sprite projection 2021-08-26 13:22:32 -03: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
lachablock
2e7141b54a Use tracer's color for uncolored objects flagged with MF2_LINKDRAW 2021-07-06 18:56:45 +10:00
lachablock
7ea73bf817 Add a color field to vissprites and use that instead of referencing its mobj 2021-07-06 18:36:05 +10:00
LJ Sonic
4af3b860fd Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2.git into folder-next 2021-06-25 00:30:30 +02:00
Nev3r
ab06ff011e Merge branch 'colorfret' into 'next'
Respect mobj->color while enemies & bosses flash (resolves #531)

Closes #531

See merge request STJr/SRB2!1513
2021-06-01 02:31:22 -04:00
GoldenTails
88a9b76cc5 renderthings 2021-05-30 21:37:43 -05:00
lachablock
4e5c3566c9 Respect mobj->color while enemies & bosses flash 2021-05-22 16:52:01 +10:00
Sally Coolatta
5d93f86499 Merge branch 'next' into skin-unlocks-sanity 2021-05-08 12:55:46 -04:00
Monster Iestyn
65624bf6c0 Change numadded counter to UINT16 instead of UINT8, to allow for more sprites properly 2021-04-25 19:01:51 +01:00
Sally Coolatta
8278e621fb Removed skin->availability
Locked skins now are a specific unlockable type, instead of being tied to the skin's properties.

This has plagued custom gamedata since 2.2 launch. It's extremely obnoxious having to set aside random numbers as dummy unlockables just to ensure that Amy Fang & Metal are unlocked from the start in a custom map pack.

Other changes made to accommodate this:
 - R_GetSkinAvailabilities is now created from the list of unlockables set to skin type. (1st skin unlockable defined is (1), 2nd skin unlockable defined is (1 << 1), etc...)
- The "Added skin x" print shows up when loading addons but not at all for the base game, because the previous behavior of hiding based on if the skin was locked would now require iterating unlockables, which felt wrong to do during that stage of the loading process
 - I noticed in my test wad that Sonic&Tails would give you Sonic&Sonic out if Tails was locked. I fixed that by making both skins required to show the character select option.

Mods that reserved empty dummy unlockables for Amy Fang and Metal won't have to do anything. Mods that wanted to re-lock them behind different requirements will have to update, but in the future they will not have to be in specific slots. Additionally, now Sonic Tails and Knuckles can also be locked for mods.
2021-04-25 07:18:32 -04:00
sphere
bcd3245b76 Merge branch 'blendmode-revision' into 'next'
Blending changes

See merge request STJr/SRB2!1446
2021-04-11 08:18:12 -04:00
Jaime Ita Passos
eece82c481 Blend modes revision
This changes how blend modes render, and includes fixes.
2021-03-30 17:03:05 -03:00
Jaime Ita Passos
4025a1d517 [Software] A few floorsprite fixes
This fixes the texture of the floorsprite sometimes facing the wrong way, since plane rendering can change the view angle.
2021-03-29 23:04:13 -03:00
Jaime Ita Passos
dca158096d Experimental implementation 2021-03-22 23:56:55 -03:00
Lach
cf42a62b7e Merge branch 'dropdropSHAdow' into 'next'
Papersprite dropshadows no longer askance

Closes #409

See merge request STJr/SRB2!1408
2021-03-14 20:52:25 -04:00
Jaime Ita Passos
07ffe2599c Fix thing scale mismatch in R_DrawVisSprite 2021-02-28 16:23:40 -03:00
toaster
73758f50ff Fix dropshadows of papersprites drifting depending on angle relative to camera. Discovered in Kart internal for the paper item drops and ported back, hence the branch name. 2021-02-19 06:45:28 -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
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
James R
4d6b677765 Revert "Merge branch 'plane-sorting-fix-part-3' into 'next'"
This reverts merge request !1235
2020-12-23 03:02:31 +00:00
James R
75633bde50 Replace all instances of P_AproxDistance with FixedHypot 2020-12-12 14:53:54 -08:00
James R
4ab667c6a0 Merge branch 'spritestuff2-fixes' into 'next'
Some fixes for spritestuff2

See merge request STJr/SRB2!1264
2020-11-25 19:26:49 -05:00
James R
40e954779e Resolve one last conflict in splat sorting
Can't use gz/gzt because there is no transformation to make those work
differently for splats.
2020-11-22 15:12:34 -08:00
Jaime Ita Passos
5293c52bca Remove SHORT macros for referencing patch width/height/offsets 2020-11-22 20:02:47 -03:00
James R
54da9552de Merge remote-tracking branch 'origin/next' into plane-sorting-fix-part-3 2020-11-22 14:41:42 -08:00
Jaime Ita Passos
071ec73389 Some fixes for spritestuff2 2020-11-22 03:47:15 -03:00