James R
8d63a994f0
Remove unused stuff
2020-11-05 18:45:51 -08:00
James R
81cbf35560
Check that top of sprite is above plane or bottom is below
...
This fixes slightly raised fofs drawing on top of sprites that should be in
front of them. Previously would check that the bottom of the object was above
the plane. Now also uses sprite offsets like the fof seg sorting does.
2020-11-05 18:45:43 -08:00
Jaime Passos
805818d48e
R_DrawSplatSprite -> R_DrawFloorSprite
2020-11-04 21:43:16 -03:00
Jaime Passos
0f9d85694d
Implement an "ignore colormaps" sprite rendering flag
2020-10-27 19:54:50 -03:00
Jaime Passos
b03d95c5c6
Bug fixes
2020-10-27 17:02:35 -03:00
Jaime Passos
b872222b50
Implement blend modes
2020-10-27 00:03:41 -03:00
Jaime Passos
a21685812f
Rename R_DrawVisSplat to R_DrawSplatSprite, move into r_splats.c
2020-10-19 17:36:29 -03:00
Jaime Passos
dbc149f85a
Remove FLOORSPLATS define
2020-10-19 17:33:16 -03:00
Jaime Passos
bf9ed39ec3
Change vis->transmap statement
2020-10-15 14:05:18 -03:00
Jaime Passos
bc3ac7615f
Remove unnecessarily duplicated code in R_GetSpriteTranslation
2020-10-15 11:32:21 -03:00
Jaime Passos
3bace37a25
Don't project if rot_y is less than a single fracunit
2020-10-14 21:26:23 -03:00
Jaime Passos
bf8bb383ab
Simplify the floor splat clipping code a bit
2020-10-14 21:20:37 -03:00
Jaime Passos
ab526e47cc
Implement object-defined floor sprite slopes.
2020-10-14 00:57:13 -03:00
Jaime Passos
a8a66f698a
[Software] Use the light at the bottom of the object for splats
2020-10-13 23:14:05 -03:00
Jaime Passos
4b7bfce95e
Implement sloped floor sprites
2020-10-13 22:42:07 -03:00
Jaime Passos
4273896311
Implement relative and absolute sprite offsets for objects (mobjs)
...
Added RF_ABSOLUTEOFFSETS and RF_FLIPOFFSETS
2020-10-13 12:57:36 -03:00
Jaime Passos
87e5d63723
Improve sorting between sprites and floor sprites
2020-10-13 02:24:18 -03:00
Jaime Passos
95d0097df6
Improve splat sorting:
...
Adjust the sort scale of splats
Do splat sorting in R_CreateDrawNodes if either vissprite is a splat, instead of if both are
2020-10-13 01:45:18 -03:00
Jaime Passos
7dbd34345c
Fix splat sorting
2020-10-13 01:09:17 -03:00
Jaime Passos
f2aca01e2b
Fix other uninitialized variable warnings
2020-10-13 00:14:27 -03:00
Jaime Passos
831ccccdd6
OpenGL support for splats, fix some shadow draw bugs in Software
2020-10-12 19:53:21 -03:00
Jaime Passos
b620f4835a
Support spritexscale and spriteyscale in OpenGL
...
Fix papersprite scaling with spritexscale and spriteyscale in Software
2020-10-12 17:25:18 -03:00
Jaime Passos
cc97e22e2f
Changes to sprite rendering:
...
- Added render flags (see r_defs.h)
- Implemented floor splats
- Drop shadow sprite rendering through render flags
2020-10-12 00:13:22 -03:00
Jaime Passos
b2f45986ad
Add r_patchrotation.h
2020-10-10 18:53:05 -03:00
Jaime Passos
6e5f71dd45
Refactor patch rotation
2020-10-10 18:43:26 -03:00
Jaime Passos
b15bbd505c
Merge branch 'next' into patch-stuff-again-2
2020-10-10 17:01:10 -03:00
Hannu Hanhi
4f20a20165
Performance stats
2020-10-10 22:12:34 +03:00
Jaime Passos
aaa9cff6ac
Fix PNG issue in OpenGL + optimize PNG sprite loading
2020-10-02 19:48:13 -03:00
SteelT
a033f482be
Merge branch 'pictureformats' into 'next'
...
PNG conversion refactoring
See merge request STJr/SRB2!675
2020-09-10 15:58:18 -04:00
Jaime Passos
dcaad758f4
Improved memory management for patches
2020-09-07 02:23:07 -03:00
Jaime Passos
92c4993d67
Introduce Doom patch format into picture formats
...
Fixes sprite rotation
2020-08-15 21:52:01 -03:00
Jaime Passos
9b426b474c
Merge branch 'pictureformats' into patch-stuff-again-2
2020-08-15 20:48:28 -03:00
Jaime Passos
91ed56ef40
Refactor patch loading
2020-08-08 05:16:47 -03:00
lachwright
3a96142c8b
Hide Metal Sonic's jet fume in first person
2020-08-03 20:09:35 +08:00
Jaime Passos
7911deebf8
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into pictureformats
2020-07-06 19:29:14 -03:00
kaysrishaq
cad1f57b1e
FF_HORIZONTALFLIP and mobj->mirrored (sprite enhancements)
2020-06-19 11:11:18 -04:00
Hannu Hanhi
da98ea242e
Merge remote-tracking branch 'upstream/next' into shaders-224-next-merge
2020-06-07 20:01:05 +03:00
lachwright
f32d29f700
Oops, forgot to #undef
2020-05-31 01:26:23 +08:00
lachwright
a7f73bfa85
Move drop shadows to the ceiling for objects in reverse gravity
2020-05-31 01:21:26 +08:00
Monster Iestyn
702a7041d4
also do the fovtan multiplication thing with precip sprites
2020-05-20 19:34:18 +01:00
Monster Iestyn
c3d576058a
on second thought maybe we don't need extra tx clamping, it turns out to be more effort than it's worth (at least for now)
...
meanwhile, let's move x/yscale calculations down since we don't actually need them until later on
2020-05-19 22:00:34 +01:00
Monster Iestyn
65d6b04fd2
change limits for tx based on fov, by multiplying by fovtan
...
this makes it so that higher fov values can actually let you see all the sprites that should be in the view
2020-05-19 18:54:39 +01:00
Monster Iestyn
35e5d673e0
do tx checking after tz clamping, not before
2020-05-19 18:43:33 +01:00
Monster Iestyn
12e1094143
We don't actually need x1 or x2 until these points in the function, at least for papersprites
2020-05-19 17:23:22 +01:00
Monster Iestyn
1a790235c6
added basic culling of papersprites if tx for either is too large, proper clamping to be added later
...
also removed some commented out old code
2020-05-19 17:19:44 +01:00
Monster Iestyn
c8320b6c9d
split "rot" into two variables: frame and rot, for frame number and rotation angle
...
it always bothered me that "rot" was used for both of the above, since it confused me as to what it was for every time I look at this function
2020-05-19 16:58:53 +01:00
Monster Iestyn
dd42682791
remove gxt and gyt, as they are unnecessary
...
also add a few comments to explain what tx/tz are
2020-05-19 16:48:50 +01:00
Louis-Antoine
d0abd6e86c
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into slope-cleanup
...
# Conflicts:
# src/hardware/hw_main.c
# src/p_spec.c
2020-05-18 16:14:05 +02:00
Louis-Antoine
a06c4a8c98
Rename P_GetZAt to P_GetSlopeZAt and P_GetZAt2 to P_GetZAt
2020-05-18 15:23:56 +02:00
Jaime Passos
00ac9deb5b
Fix missing sprite column
2020-05-15 16:17:31 -03:00
Jaime Passos
1a79f6246d
Merge remote-tracking branch 'origin/next' into pictureformats
2020-05-15 01:34:54 -03:00
Monster Iestyn
30105621d4
Merge branch 'master' into next
2020-05-06 21:51:36 +01:00
Hannu Hanhi
7e8543a408
More render stats for software mode, renamed and relocated some render stats variables
2020-05-02 23:13:53 +03:00
Monster Iestyn
1528f2aef8
Fix drop shadow and rotsprite code to use SHORT()
2020-05-02 17:13:16 +01:00
MascaraSnake
485a4e5035
Remove POLYOBJECTS and POLYOBJECTS_PLANES defines
2020-05-02 12:08:31 +02:00
Monster Iestyn
a71fe6445a
Merge branch 'master' into next
2020-04-23 18:49:53 +01:00
James R
4e7283c833
Merge branch 'pk3-directory-start' into 'next'
...
Don't skip the first directory entry of PK3 if it's a file
See merge request STJr/SRB2!764
2020-04-09 19:49:44 -04:00
toaster
ce2a1aa3b2
Minor optimisations surrounding R_DrawFlippedMaskedColumn.
...
* Replace the texheight parameter provided directly to it with a previously existing (now renamed) global used for the same purpose, so that it can be used as an interchangeable function pointer with R_DrawMaskedColumn.
* Using the above, optimise R_DrawVisSprite to call a function pointer in a tighter loop rather than check SC_VFLIP each time around.
* SHORT macro can involve repeated operations; calculate once and put in memory for both RANGECHECK and papersprite.
* Remove irrelevant range check (already covered by existing range check immediately above) from R_DrawFlippedMaskedColumn and R_DrawMaskedColumn.
* "Warning: avoiding a crash in %s %d" is a terrible error message, and it chips away at the tightness of the loop just for something most people will never see printed. Replace with a PARANOIA I_Error in case someone actively wants to go hunting for its cause.
2020-03-26 16:09:19 +00:00
Louis-Antoine
6f9422d380
Encapsulate plane height checks
2020-03-22 17:28:50 +01:00
Louis-Antoine
892a8dd6e7
Make SRB2 flat like Earth
2020-03-20 18:55:29 +01:00
Monster Iestyn
e81ef824d6
Set the "spritename" variable within R_AddSingleSpriteDef rather than externally to it, since R_InstallSpriteLump is the only place it gets used anyway
...
This way we don't have to make it some extern in order for r_skins.c to use it
2020-03-08 19:51:18 +00:00
Monster Iestyn
b2d9697e07
remove r_skins.c include in r_things.c, on second thoughts
2020-03-08 19:36:56 +00:00
Monster Iestyn
a67dbfff54
Create r_skins.c/.h, to contain skins code formerly in r_things.c/h
2020-03-08 19:32:07 +00:00
Jaime Passos
26e367eb9b
Merge remote-tracking branch 'origin/next' into pictureformats
2020-03-07 20:43:16 -03:00
Steel Titanium
76f26cda24
Merge branch 'master' into next
2020-02-21 21:01:29 -05:00
James R
7060083db5
Update copyright year to 2020
2020-02-19 14:08:45 -08:00
Jaime Passos
2893803c68
Merge remote-tracking branch 'origin/next' into pictureformats
2020-02-19 02:25:36 -03:00
James R
d0b9027d0a
Merge branch 'viewroll' into 'next'
...
Rolling
See merge request STJr/SRB2!690
2020-02-17 00:10:57 -05:00
fickleheart
c4b390bc76
Merge remote-tracking branch 'upstream/master' into viewroll
2020-02-16 21:32:57 -06:00
MascaraSnake
512c6f24a9
Clean up the mess that is extracolormap_t::fog
2020-02-16 20:19:24 +01:00
James R
841094976b
Add flag name variant of SF_NONIGHTSROTATION to S_SKIN
2020-02-12 18:02:36 -08:00
James R
0a53f91820
Don't skip the first directory entry of PK3 if it's a file
...
Also puts the marker skipping in the WAD API.
2020-02-07 19:41:45 -08:00
James R
4238003887
Merge remote-tracking branch 'origin/master' into next
2020-01-30 23:54:56 -08:00
Jaime Passos
f4a976f3be
Merge remote-tracking branch 'origin/next' into pictureformats
2020-01-20 16:53:41 -03:00
fickleheart
8868fc4d8a
Fix lighting discrepancies between different FOVs
2020-01-18 00:16:18 -06:00
fickleheart
1d221a453a
Avoid rendering unused left/right edges of screen while rolling
2020-01-17 23:21:11 -06:00
James R
94a2f0bb4f
Don't draw Tails' tails in first person (MF2_LINKDRAW)
2020-01-17 20:56:32 -08:00
James R
762223db7c
Duplicated code is gone, so sad
2020-01-17 20:53:36 -08:00
fickleheart
f59ed6b2f4
DOUBLE DAMNIT
2020-01-17 00:34:57 -06:00
fickleheart
d39d8506ca
Let nerds turn off shadows
2020-01-17 00:20:10 -06:00
fickleheart
9a4ad20947
DAMNIT
2020-01-17 00:13:13 -06:00
fickleheart
f0843cba13
Let vissprites have shadows too
...
fuck it, hopefully it works
2020-01-17 00:13:05 -06:00
James R
542e38e717
Don't draw player mobj in first person
...
This solves that annoying albeit slightly amusing bug
where your sprite clips into your view during a quake.
For OpenGL, this also solves the player's model
rendering while in first person. So you'll no
longer be looking through Sonic's body!
2020-01-16 03:18:05 -08:00
fickleheart
9e101fc2bb
Limit shadow Y scale to prevent graphical bugs
2020-01-12 09:10:09 -06:00
fickleheart
ba8ff3d502
Add mobj shadowscale property
2020-01-11 18:24:08 -06:00
fickleheart
1b0a3d0fe3
Use dedicated shadow graphic
2020-01-11 17:56:49 -06:00
fickleheart
27bd7e4a7f
Merge remote-tracking branch 'upstream/next' into software-dropshadows
2020-01-11 17:09:57 -06:00
Monster Iestyn
c7ab065b0a
Merge branch 'master' into next
2020-01-11 18:38:09 +00:00
James R
dc151fc7a4
Merge branch 'accurate-papersprites' into 'master'
...
Accurate papersprite projection
See merge request STJr/SRB2!657
2020-01-10 16:02:23 -05:00
Jaime Passos
c1acdfe52e
Merge remote-tracking branch 'origin/next' into pictureformats
2020-01-10 04:11:26 -03:00
fickleheart
7d2402ac62
Fix shadows under hiresscale characters
2020-01-08 23:33:43 -06:00
fickleheart
9e8d20504e
Refactor shadow scale into an argument
2020-01-08 23:24:31 -06:00
fickleheart
fa4b49d52c
Refactor shadow floor finding code a bit
...
I tried to fix ring shadows on polyobjects and got this in return:
https://media.discordapp.net/attachments/629477786943356938/664695818913185822/srb20156.png
2020-01-08 23:19:52 -06:00
fickleheart
a7edf51cb9
Stop misusing papersprite vars for sprite skew
2020-01-08 21:52:10 -06:00
fickleheart
ef4974ab4d
Apply portal clipping to drop shadows too
2020-01-08 21:37:44 -06:00
fickleheart
8757194d73
Make ring shadows smaller and fix scale bug
2020-01-08 21:37:43 -06:00
fickleheart
c078ab630d
Fix more shadow crashes and save my sanity
2020-01-08 21:37:41 -06:00
fickleheart
9c49e020c3
FUCK IT, SLOPED SHADOWS NOW
2020-01-08 21:37:40 -06:00
fickleheart
5929b4797e
This acursed crash-inducing typo spat in my face and called me a bitch
2020-01-08 21:37:39 -06:00
fickleheart
c46c92d605
Prevent linkdraw sprites from connecting to shadows
2020-01-08 21:37:38 -06:00
fickleheart
48c1ce3ac3
Add render-based drop shadows to some objects
...
Uses a hardcoded list for now. I was experiencing some
crashes with this, but the shadowyscale check seems to
have suppressed them.
2020-01-08 21:37:36 -06:00
fickleheart
ccc473917e
Check for papersprites per-sprite instead of per-row
...
In theory, should be a performance improvement. In practice idk
2020-01-08 21:14:11 -06:00
fickleheart
1790891fd8
Reduce disappearance of vissprites close to the camera
2020-01-08 21:14:09 -06:00
fickleheart
c0380a3052
Make papersprite projection completely correct in software
...
I heard properpaper had some weird crashes? I couldn't reproduce
them no matter how hard I tried, but I added some bounds checking
to this version too just in case. Gotta get other people's help
to try to reproduce those.
2020-01-08 21:14:07 -06:00
toaster
d89050f073
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into public_hexang
...
# Conflicts:
# src/r_defs.h
2020-01-08 21:47:47 +00:00
James R
7deb18bdc9
Merge remote-tracking branch 'origin/master' into next
2020-01-08 13:27:14 -08:00
toaster
0b1108425d
Hexafaceted sprite angle support (See merge request description coming soon).
...
Also, some minor memory efficiency fixes to both rotsprite and ordinary sprite rotations.
2020-01-08 20:49:14 +00:00
Jaime Passos
b8625d9efb
AA trees are not needed at all for rotated patches
2020-01-07 16:10:38 -03:00
Jaime Passos
5a2ad5c2f3
Merge remote-tracking branch 'origin/next' into pictureformats
2020-01-07 16:10:25 -03:00
Jaime Passos
edb0bbcd6d
Cleanup, NOW
2020-01-06 20:16:48 -03:00
Jaime Passos
a1af6b9134
Picture formats test
2020-01-06 18:22:23 -03:00
Jaime Passos
03245b28fd
Merge remote-tracking branch 'origin/master' into more-opengl-fixes
2020-01-05 22:04:51 -03:00
Jaime Passos
6d754821fb
AA trees are not needed at all for rotated patches
2020-01-05 03:10:03 -03:00
Alam Ed Arias
a26c5f5428
Merge branch 'master' into next
2020-01-03 14:56:37 -05:00
Louis-Antoine
b45ee059e3
Fix major issue
2020-01-03 02:58:23 +01:00
Jaime Passos
c7794d4ce0
Remove unused parameter
2020-01-01 17:36:55 -03:00
James R
939814d479
Merge remote-tracking branch 'origin/master' into next
2019-12-30 22:37:24 -08:00
James R
36c5bb7b0d
Fix NOHW compiling
2019-12-30 20:18:08 -08:00
James R
fc8c0f8a9a
Merge remote-tracking branch 'origin/master' into next
2019-12-30 13:16:53 -08:00
James R
152a63b682
Merge branch 'rotsprite3' into 'next'
...
More rollangle changes
See merge request STJr/SRB2!582
2019-12-27 16:49:21 -05:00
James R
69ad41e58e
Merge branch 'skinusable-fix' into 'next'
...
Fix edge case with R_SkinUsable
See merge request STJr/SRB2!573
2019-12-27 16:49:06 -05:00
Jaime Passos
5ea43aa023
Fix sprite rotation crashes.
2019-12-27 00:37:40 -03:00
Jaime Passos
56fd29a42a
stuff
2019-12-26 21:27:30 -03:00
Steel Titanium
f0ef4e3193
Fix edge case with R_SkinUsable
2019-12-24 18:31:47 -05:00
Jaime Passos
6779c508e7
Satisfy rollangle table with a 3deg angle
2019-12-23 12:19:05 -03:00
Jaime Passos
fa58c1fb26
stuff
2019-12-13 12:26:47 -03:00
toaster
0bd1399c52
Revert paperprojection, but keep it as a #define in case someone fixes it in a patch.
2019-12-07 10:22:10 +00:00
Steel Titanium
d415cd5c6d
Update copyright date on source files
2019-12-06 13:49:42 -05:00
toaster
7c7f258c2d
Another potential papersprite crash fix, but way more confident about this one.
2019-12-05 09:28:28 +00:00
MascaraSnake
e6f1b82cc4
Merge branch 'minusoneframes' into 'master'
...
Minus One Frames
See merge request STJr/SRB2Internal!593
2019-12-04 17:15:51 -05:00
toaster
e75490c99d
Semi-hacky fix to R_AddSpriteDefs printing Added -1 frames in 0 sprites
: if the start marker is equal to or beyond the end marker, none of r_things' for (l = startlump; l < endlump; l++)
loops will run, so just assume no sprites.
...
Simply put, `W_CheckNumForFolderStartPK3` and its `End` equivalent will never return INT16_MAX for nonexistence, and I don't want to break any assumptions elsewhere by modifying those functions directly, so this is the simplest possible fix.
2019-12-03 21:05:05 +00:00
toaster
f21ebaea0c
Nail a likely culprit in papersprite rendering for #427 and #375 .
2019-12-01 13:21:41 +00:00
toaster
3594623891
Courteousy of fickle, an adjustment to papersprite rendering that prevents the object's x1 and x2 being slightly off where they should be. Not perfect, but absolutely better than it was!
...
Also, tweak the Minecart segment spawning position, since this was originally placed based on the awkward rendering.
2019-11-24 16:42:13 +00:00
toaster
66001cc73c
Resolve #288 .
...
* Fix off-by-one error I caused in the skin randomisation selection.
* Clean up signcolour set to never go outside of valid entry range.
* Fix the preventing-console-spam mechanism for invalid sprites viewed in-game by only setting the state's sprite/frame to S_UNKNOWN's if the object's sprite/frame is currenly equal to the state's.
2019-11-15 12:47:21 +00:00
MascaraSnake
8f6890025c
Merge branch 'secretstuff' into 'master'
...
The letter
See merge request STJr/SRB2Internal!438
2019-11-14 17:49:23 -05:00
toaster
278ddcf770
Merge branch 'rotsprite_i' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into rotsprite_toast
2019-11-14 17:15:34 +00:00
Jaime Passos
8506d420a6
Optimise
2019-11-14 14:12:36 -03:00
toaster
afe28b0a0a
* Remove the 22(!!) NiGHTS sprite2s that no longer get used in ROTSPRITE builds (which should be our main builds going forward).
...
* Rename `SPR2_NGT0` to `SPR2_NFLY`, and `SPR2_DRL0` to `SPR2_NDRL` to account for this. (requires modifying player.dta)
2019-11-14 17:03:02 +00:00
Jaime Passos
4292c5fc0b
Other things I missed. Also added SF_NONIGHTSROTATION. Do I even have to keep the old behaviour? I have no idea.
2019-11-14 12:27:22 -03:00
Jaime Passos
b54f6181c3
Rotation axis (will rename internally later)
2019-11-13 12:36:44 -03:00
Jaime Passos
245881ec55
Merge remote-tracking branch 'origin/master' into rotsprite_i
2019-11-12 21:38:02 -03:00
toaster
5729ba3cd2
Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into metalrecording
...
# Conflicts:
# src/p_user.c
2019-11-12 21:56:46 +00:00
MascaraSnake
66123b8165
Merge branch 'internal-md3-vanilla-c' into 'master'
...
Internal MD3 merge 2 good riddance glBegin
See merge request STJr/SRB2Internal!362
2019-11-12 15:44:20 -05:00
MascaraSnake
6b567bfb5c
Merge branch 'dashmodecut' into 'master'
...
Dashmode polish
Closes #266
See merge request STJr/SRB2Internal!418
2019-11-12 15:40:46 -05:00
Jaime Passos
91a01be891
Merge remote-tracking branch 'origin/master' into rotsprite_i
2019-11-11 14:41:55 -03:00
James R
6ac613b2ca
Move this "skin wads" check so that PK3 can work with it
2019-11-07 18:27:06 -08:00
Jaime Passos
e78999549b
Hopefully the last time this week I'll ever touch these files
2019-11-06 20:41:55 -03:00
Jaime Passos
4ff769704a
function renaming
2019-11-05 10:28:19 -03:00
toaster
915e50a1e4
Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into internal-md3-vanilla-c
...
Merge seems fine, but won't compile for some reason.
2019-11-02 18:34:12 +00:00
toaster
417f17ebdd
Do a bunch of stuff to the MD2/3 sprite2 support to get it back to feature parity with before, without going back to being hacky as fuck.
...
* Store the number of frames per sprite2 run in the spr2frames struct.
* Reintroduce P_GetModelSprite2, to allow for the sprite2 defaulting system to be used to full advantage even in GL.
* Instead of splitting the SUPER and normal SPR2 stuff within the same cell of the struct, have them exist in different cells just like in the "normal" sprite2 structs.
* Allow for just providing spr2 frames in order without specifying which "normal" sprite2 frame it's supposed to replace.
Also:
* Fix FF_VERTICALFLIP-ignoring regression.
* Fix whitespace adjustment in win_dll.c
* Remove bracket in P_GetSkinSprite2 because I realised it was extraneous while making sure P_GetModelSprite2 worked with it.
2019-11-02 17:52:54 +00:00