Commit graph

1495 commits

Author SHA1 Message Date
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
Sally Coolatta
5c23fdda24 Fix incorrect tilts 2023-07-24 04:11:43 -04:00
Sally Coolatta
ae233b000f Remove modeltilt, use roll & pitch instead
Broken currently, about half of the slopes you can go into have the wrong tilt
2023-07-24 04:11:42 -04:00
TehRealSalt
95cbee52c6 Model tilts
- Add modeltilt variable, for more manual control of the model tilting. By default this just copies standingslope, but doesn't get cleared in the air.
- Shadows & trailing bananas now tilt to match the ground they are on.
- Rocket Sneakers & afterimages now tilt to match the player's current orientation.
2023-07-24 04:11:42 -04:00
Gustaf Alhäll
69089e0858
Fix build errors when building without SDL 2023-07-22 22:47:52 +02:00
sphere
f428759150 Merge branch 'bbox' into 'next'
Hitbox Renderer

See merge request STJr/SRB2!1838
2023-07-14 13:14:56 +00:00
spherallic
34ce172a90 Allow toggling PF_NoDepthTest for OpenGL hitboxes 2023-07-14 15:03:43 +02:00
Zwip-Zwap Zapony
8b931da6f3 Draw hitboxes last in OpenGL 2023-07-14 12:51:16 +00:00
Ace Lite
2240742720 Merge branch SRB2:next into lua-texture-offsets-expose 2023-07-06 18:35:00 +00:00
spherallic
cffce82371 Support FOF texture scaling in OpenGL 2023-06-29 14:19:16 +02:00
spherallic
cc852ef0fe Fix Y scaling on 2-sided midtextures in OpenGL 2023-06-29 11:46:12 +02:00
spherallic
4c4584f9d1 Fix Y offsets on scaled textures in OpenGL 2023-06-28 21:04:34 +02:00
MascaraSnake
84fe1dfc7d Texture scaling (incomplete) 2023-06-28 15:55:52 +02:00
MascaraSnake
8c31d279cf Implement per-texture offsets in UDMF 2023-06-28 01:07:52 +02:00
Zwip-Zwap Zapony
f921a9987d Interpolate models when scaling mobjs 2023-06-13 19:07:03 +02: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
Eidolon
9a9a16183f Disable floor splat slope interpolation
Getting these to interpolate correctly is proving to be an absolute
ordeal and I would rather have them look correct-but-not-interpolated
than completely broken.
2023-02-24 18:49:09 -06:00
spherallic
3bc519ed65 Merge branch 'next' into bbox 2023-01-27 14:59:39 +01:00
Lach
42fa7f4723 Invert OpenGL rollangle for papersprites to match software renderer behaviour 2023-01-26 15:29:35 +11: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
Ace Lite
656f7f94ac hw_main.c ceiling_y/xoffs renamed 2022-11-25 23:06:22 +00:00
Ace Lite
3217984f55 c-side offset/angle variable renamed 2022-11-25 23:01:27 +00:00
toaster
f7fa9fcc19 Fix compilation issue with nested defines for r_opengl.c UnSetShader 2022-11-22 18:13:40 -08:00
James R
bfaf2bc6f3 OpenGL hitbox renderer
I apologize for that vertex array.
2022-11-22 18:13:38 -08:00
James R
5b53017a09 r_opengl: add PF_WireFrame and SHADER_NONE
Draw lines instead of tris and disable shader entirely.
2022-11-22 18:12:49 -08:00
ashifolfi
754a11f7f1 add transparency flag support to V_DrawFill 2022-11-20 17:39:46 -05:00
Eidolon
84bc03d24e Merge branch 'po2-32x32-fix' into 'next'
Add PO2 flat cases for sizes smaller than 32x32 (resolves #624)

Closes #624

See merge request STJr/SRB2!1873
2022-11-16 01:40:54 +00:00
Lactozilla
86a052537e Add PO2 flat cases for sizes smaller than 32x32 2022-11-16 01:40:54 +00:00
Lactozilla
4558cc1c1f Fix HWR_SplitWall and sloped midtextures
- Fix bugs with HWR_SplitWall and sloped midtextures
- Clean up HWR_ProcessSeg and HWR_SplitWall
- Determine if the midtexture is visible earlier
- Ensure opaque midtextures always use PF_Masked
2022-11-15 09:55:59 +00:00
Zwip-Zwap Zapony
59399e9fcf Uncap water ripples 2022-11-13 16:15:15 +01:00
Eidolon
e32b8a41e5 Only interpolate shadowcasters if they exist 2022-11-12 15:14:04 -06:00
Eidolon
88667400ee Merge branch 'fix-splat-interp' into 'next'
Fix splat interp and sprite angle

See merge request STJr/SRB2!1858
2022-11-12 21:05:44 +00:00
Alam Ed Arias
f5e1d9722f Merge branch 'master' into next 2022-11-11 22:03:58 -05:00
Alam Ed Arias
9b4d6a2109 Fix Typo 2022-11-11 21:46:28 -05:00
Alam Ed Arias
7e0fa2d34c Cleanup whitespace changes from SRB2_release_2.2.9 2022-11-11 21:19:25 -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
07665ae502 hwr: Use UDMF FOF_SPLAT for splat flats and walls 2022-11-09 17:40:43 -06:00
Eidolon
0f2fe5983e hwr: Use lightlevel on transparent planes 2022-11-09 17:31:49 -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
toaster
0cd3629d00 Explicit pointer cast for R_InterpolatePrecipMobjState 2022-11-07 18:17:45 -06:00
Eidolon
5f6c56cf36 Use precip interp if gl sprite is for precip 2022-11-07 18:17:45 -06:00
Eidolon
f7bc03ad61 Use interp position in GL billboarding 2022-10-30 23:14:11 -05: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
ec119eac2f Merge branch 'next' into udmf-fof-flags 2022-07-31 13:27:03 +02:00
MascaraSnake
8d4baace53 Add Lua backwards compatibility for FOF flags 2022-07-31 12:04:42 +02:00
sphere
f8d2297e07 Merge branch 'colon-parenthesis' into 'next'
Fix semibright/fulldark frame flags not working with 3D models

See merge request STJr/SRB2!1779
2022-07-29 09:33:20 +00:00
Eidolon
805941a98f Merge public next into uncappedrevengeance
This is to capture the UDMF merges and make the later code review
easier.
2022-05-03 14:45:14 -05: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
51553e7f75 Interpolate mobj scale 2022-04-27 21:39:47 -05:00
Eidolon
833777d773 Revert "Remove unnecessary precipmobj thinker hack"
This reverts commit 0e38208620d19ec2ab690740438ac2fc7862a49e.
2022-04-26 20:56:36 -05:00
Sally Coolatta
f34a61156c Papersprite angle interpolation
Makes the ending signpost smooth
2022-04-26 20:56:35 -05:00
Eidolon
7dd7cccd79 Use interp tracer pos for GL linkdraw 2022-04-26 20:56:34 -05:00
Sally Coolatta
f330374c1f Interpolate model interpolation (lol) 2022-04-26 20:56:34 -05:00
Sally Coolatta
2f46725984 Fix flickering plane interpolation for OpenGL in the exact same way
Funny OpenGL renderer being at least 50% copy-pasted Software code :)
2022-04-26 20:56:33 -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
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
Eidolon
ca8698d13e Interpolate HWR_DrawModel 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
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
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
5660d896e6 Merge branch 'udmf-thing-types' into udmf-more-linedef-types 2022-04-20 21:00:44 +02:00
MascaraSnake
2e56c3de35 Merge branch 'udmf-polyobjects' into udmf-lighting 2022-04-19 22:18:30 +02:00
MascaraSnake
0b4bbacec0 Merge branch 'next' into udmf-fofs-mkii 2022-04-19 21:59:31 +02:00
spherallic
5bdfb7ffc1 Fix semibright/fulldark frame flags for models 2022-04-09 16:42:54 +02:00
Jaime Ita Passos
3581d06012 Fix frame blend flags not working with 3D models 2022-04-08 16:01:41 -03:00
Hannu Hanhi
a1265728e2 Rename some shader source defines, add the two new shaders to shaderxlat 2022-03-24 00:46:52 +02:00
Hannu Hanhi
d310729b54 Add tinted fade support to HWR_FadeScreenMenuBack 2022-03-23 01:19:15 +02: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
MascaraSnake
a78e4e553c Merge branch 'next' into udmf-fofs-mkii 2022-03-18 07:29:02 +01:00
Hannu Hanhi
978006bc97 Ensure consistent GL state when drawing screen textures
Fixes palettized wipes being broken under some common conditions
2022-03-17 03:40:01 +02:00
Hannu Hanhi
1fd9d38994 Several changes:
Move HWR_SetShaderState calls from level rendering to HWR_Startup and shader cvar changes

Don't run hwr cvar onchange code when opengl is not loaded

Rename screen_palette_tex shader uniform to more generic palette_tex

Fix palette version of HWR_FadeScreenMenuBack not working outside levels
2022-03-15 03:53:07 +02:00
Hannu Hanhi
f74433cc64 Tinted wipe support for OpenGL 2022-03-12 02:04:57 +02:00
Hannu Hanhi
b3c970d6b4 Light table support for HWR_FadeScreenMenuBack 2022-03-11 06:23:27 +02:00
Hannu Hanhi
2b4cf27292 Merge tag 'SRB2_release_2.2.10' into ogl-palette-rendering-merge
SRB2 release v2.2.10
2022-03-07 02:39:02 +02:00
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01:00
Hannu Hanhi
8b83348216 Merge remote-tracking branch 'upstream/next' into ogl-palette-rendering-merge 2022-01-29 04:32:43 +02:00
spherallic
15755ef992 Remove unneeded R_GetTranslucencyTable calls, add V_HUDTRANS* comments 2022-01-19 13:17:57 +01:00
MascaraSnake
7fd1c0512a Merge branch 'udmf-thing-types' into udmf-more-linedef-types
# Conflicts:
#	src/p_setup.c
2022-01-14 21:06:45 +01:00
MascaraSnake
79cf2f53e8 Merge branch 'udmf-polyobjects' into udmf-lighting 2022-01-14 20:24:51 +01:00
MascaraSnake
6bb6dc88ca Merge branch 'next' into udmf-fofs-mkii
# Conflicts:
#	src/hardware/hw_main.c
#	src/lua_maplib.c
#	src/p_spec.c
#	src/p_user.c
2022-01-14 07:24:05 +01:00
lachablock
d764d68d02 Turn dispoffset into a mobj field 2022-01-13 18:53:26 +11:00
MascaraSnake
868b2577ad Merge branch 'udmf-sector-fields' into udmf-full
# Conflicts:
#	src/hardware/hw_main.c
#	src/p_setup.c
#	src/p_spec.c
2022-01-09 13:58:27 +01:00
MascaraSnake
e7a281d994 Merge branch 'udmf-thing-types' into udmf-more-linedef-types 2022-01-09 13:52:26 +01:00
MascaraSnake
0b8204491d Merge branch 'udmf-polyobjects' into udmf-lighting 2022-01-09 13:50:14 +01:00
MascaraSnake
3104504848 Merge branch 'blentran-update' into udmf-full 2022-01-09 13:47:59 +01:00
MascaraSnake
95e909400f Fix blendmode regression in OpenGL caused by faulty fog wall support 2022-01-09 13:45:56 +01:00
MascaraSnake
659410dde1 Use Slope Skew flag instead of Upper Unpegged for FOF skewing 2022-01-05 23:47:05 +01:00
MascaraSnake
fcb69b9c2f Rename more linedef flags 2022-01-05 19:43:40 +01:00
MascaraSnake
06b7d7ceb8 Make only ML_EFFECT3 affect midtexture pegging in UDMF 2022-01-05 18:05:47 +01:00
MascaraSnake
913731b4bc Merge branch 'blentran-update' into udmf-full
# Conflicts:
#	src/lua_maplib.c
#	src/p_setup.c
#	src/p_spec.c
2022-01-02 23:19:47 +01:00
MascaraSnake
2886a277d8 Turn the fog wall linedef type into a blendmode 2021-12-31 15:00:27 +01:00
MascaraSnake
cbf32c6615 Adapt some miscellaneous linedef types to UDMF 2021-12-29 08:12:28 +01:00
MascaraSnake
f714966c83 Remove outdated linedef type check in HWR_ProcessSeg 2021-12-12 08:27:27 +01:00
sphere
7601afb6c1 blentran part 3: Wall & plane blendmodes. 2021-12-05 00:48:21 +01: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
Radicalicious
1a6bcdbd64 Merge remote-tracking branch 'stjr/next' into blue-spring-balls 2021-12-03 22:00:39 -06:00
Radicalicious
cbb8269dec Merge remote-tracking branch 'stjr/next' into thokking-hell 2021-12-03 21:46:58 -06:00
MascaraSnake
aee4996eba Merge branch 'udmf-polyobjects' into udmf-lighting 2021-12-03 19:22:37 +01:00
Hannu Hanhi
2fb1c5f1ef Wireframe mode for OpenGL 2021-10-30 03:53:46 +03:00
Hannu Hanhi
77ecfb9cdc Perfstats averaging and refactor 2021-10-29 02:18:02 +03:00
Hannu Hanhi
1ebc8096a0 Some cleanup I forgot to do 2021-10-08 22:07:58 +03:00
Hannu Hanhi
89af6b10ad Prevent gl_FrontColor overflow in model lighting shader manually
Some drivers don't clamp it for some reason.

Fixes overbright model lighting and broken colors when combined with palette rendering on affected drivers.
2021-09-25 18:10:14 +03:00
MascaraSnake
e15c160773 Implement per-sector floor/ceiling lighting 2021-09-19 08:58:21 +02:00
Hannu Hanhi
386c4a95f3 Fix void that was accidentally removed earlier in hw_main.c 2021-09-19 00:27:02 +03:00
Hannu Hanhi
6c4cb3a025 Don't apply color cube in md2_loadTexture when in palette rendering mode
Fixes brightness getting applied twice on models in palette rendering mode
2021-09-19 00:17:56 +03:00
Hannu Hanhi
bbf23a5143 Add #line offsets in the shader preprocessor so error reports point to correct lines from the original shader file, move #version and preamble to top instead of inserting defines after the original #version 2021-09-18 22:52:13 +03:00
Hannu Hanhi
0c70ca9068 Add support for mixed line endings to the shader preprocessor
Fixes CurveV3.pk3
2021-09-17 23:16:53 +03:00
Hannu Hanhi
0894547d1a Use GL_LUMINANCE8 for 3d palette lookup texture on OpenGL versions older than 3.0
Fixes white screen when the GL_R8 format is not available
2021-09-17 22:19:51 +03:00
Hannu Hanhi
f7a8bedec1 Fix palette rendering brightness issues on wipes, add timedemo support to gif recording 2021-09-14 00:17:34 +03:00
Tatsuru
033c661431 Merge branch 'folder' into 'next'
Implement folder loading

See merge request STJr/SRB2!1568
2021-09-10 17:10:26 +00:00
Tatsuru
eec765749b Merge branch 'drawcroppedpatch-improvements' into 'next'
V_DrawCroppedPatch(...) Lua exposure and improvements

See merge request STJr/SRB2!1316
2021-09-10 16:14:38 +00:00
Hannu Hanhi
913bbb3fc0 Fix brightness issues with 2d drawing functions and palette rendering 2021-09-08 03:18:13 +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
f2472d88b8 Fix some crashes 2021-08-09 17:30:05 +10:00
lachablock
f9723a567c Merge remote-tracking branch 'origin/next' into raise-skin-limit 2021-08-09 14:19:09 +10:00
sphere
1d92456ad5 Merge branch 'gl-texfmt-p8-ap88-a8-ai8-fix' into 'next'
Fix #492

Closes #492

See merge request STJr/SRB2!1431
2021-08-02 13:10:32 +00: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
James R
fa7a674113 Merge remote-tracking branch 'origin/master' into next 2021-06-19 19:39:15 -07:00
Radicalicious
44bdfd8eaf Update hw_light.c 2021-06-18 02:40:44 -04:00
Hannu Hanhi
725a8195ab Decrease the amount of texture clearing when switching palette rendering state 2021-06-14 00:57:20 +03:00
Hannu Hanhi
cf16fd2938 Fix custom shaders that define only one stage, like footfix 2021-06-13 17:56:11 +03:00
James R
c325306ddf Merge remote-tracking branch 'origin/master' into makefile-revision-final 2021-06-07 18:36:01 -07:00
Monster Iestyn
090e5384d5 Merge branch 'blendmode-rangecheck' into 'next'
Handle invalid blend modes

See merge request STJr/SRB2!1486
2021-06-05 09:02:31 -04:00
sphere
fb453491dd Merge branch 'models-spr2endstate' into 'next'
Fix models interpolating to frame 0 from a same-sprite2 FF_SPR2ENDSTATE state

See merge request STJr/SRB2!1515
2021-06-02 06:28:51 -04: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
GoldenTails
35fbddffe4 renderfloors 2021-05-30 21:37:43 -05:00
GoldenTails
a1ce35b780 renderwalls 2021-05-30 21:36:57 -05:00
sphere
fb4b3b8130 Merge branch 'ogl-fof-wall-slope-fix2' into 'next'
Take slopes into account in FOF wall cutoff in HWR_ProcessSeg

Closes #192

See merge request STJr/SRB2!1361
2021-05-30 11:32:30 -04:00
sphere
75938e2dfa Merge branch 'software-slope-plane-uv-fix-attempt' into 'next'
Fix slope plane rotation and alignment (resolves #508)

Closes #508

See merge request STJr/SRB2!1464
2021-05-27 16:56:16 -04:00
Jaime Ita Passos
a1553c4623 Update r_opengl.c 2021-05-22 20:08:11 -03:00
Jaime Ita Passos
75ebdda31b Merge remote-tracking branch 'origin' into gl-texfmt-p8-ap88-a8-ai8-fix 2021-05-22 19:44:57 -03:00
Hannu Hanhi
ac1b5ae546 OpenGL palette rendering and related things 2021-05-22 17:40:34 +03:00
lachablock
750bdd9d60 Respect mobj->color while enemies & bosses flash, but in OpenGL 2021-05-22 23:25:36 +10:00
lachablock
99ad188263 Fix models interpolating to frame 0 from a same-sprite2 FF_SPR2ENDSTATE state 2021-05-22 18:17:48 +10:00
SteelT
695722269b Merge branch 'warnings' into 'master'
Fix some compiler warnings

See merge request STJr/SRB2!1504
2021-05-19 22:54:48 -04:00
Jaime Ita Passos
7500d12eeb Merge remote-tracking branch 'origin' into software-slope-plane-uv-fix-attempt 2021-05-16 20:56:53 -03:00
Hannu Hanhi
118fc58192 Some stuff I forgot from ogl-shader-preprocessor 2021-05-11 01:30:53 +03:00
Hannu Hanhi
de37df1be0 OpenGL shader code rearrangement and shader pre-preprocessor 2021-05-11 01:13:28 +03:00
James R
35244fa736 Clang: fix -Wimplicit-const-int-float-conversion
Some of these integers exceed the precision of float. In
that case the number is rounded. The rounding shouldn't
matter too much anyway, so just shut the compiler up.
2021-05-08 16:49:23 -07:00
James R
ee72312dea Merge remote-tracking branch 'origin/master' into makefile-revision-final 2021-05-07 13:32:19 -07:00
LJ Sonic
07e69c5eb3 Add copyright date ranges for files created in 2020 2021-05-07 18:04:30 +02:00
LJ Sonic
d325c7e6d3 The year is 2021 2021-05-07 17:45:56 +02:00
James R
f9813844e7 Update CMakeLists.txt to use Sourcefiles
This establishes (near) parity of source code file lists
between the Makefile and CMakeLists.txt

To make that change I messed around CMakeLists.txt a bit.
It now uses target_sources and target_compile_definitions.
I also removed some MSVC stuff since we don't actually
care about MSVC--it made things easier.

CMake minimum version 3.0 -> 3.13 for target_sources.
2021-05-05 04:00:44 -07:00
James R
b31056c7d9 Rewrite Makefile to be modular as well as more automated
Some key points for programmers:
- Source code files are mostly listed in a 'Sourcefile'.
  So you no longer directly edit the object list. There
  can be multiple Sourcefiles and they can even live in
  subdirectories--the directory name will be prepended to
  every filename in the list. Of course, the Makefile
  still needs to be edited to read from each Sourcefile.
- Different rules are no longer required for source code
  files that live in subdirectories (such as sdl/ or
  hardware/). Subdirectories Just Work so go ham!

In addition to those points, another important change is
that the bin directory is no longer divided into platform
subdirectories (Linux64, Mingw, etc). Executables now go
directly into bin. If you use DEBUGMODE or target 64-bit,
then subdirectories for 'debug' and '64' will be made
though.

Oh by the way, I don't think make clean actually removed
files before on Windows. It should now. I also fixed as
many little inconsistencies like that as I noticed.

And now just an overview of the technical aspects that
shouldn't affect anyone who doesn't REALLY care about the
Makefile...

objs and dep directories have been moved to a make
directory. Makefile.cfg and its variants have been moved
out of their various subdirectories to src/Makefile.d
make distclean removes the bin and make directories
entirely, but make clean and cleandep still only affect
the current build target.

When I say automation, I mean that a lot of copy pasting
in the Makefile has been reduced.
2021-05-04 04:22:37 -07:00
Jaime Ita Passos
e4b8dc6584 Fix sloped plane offsets in Software, and fix rotated flat alignment in OpenGL.
+ unrelated slope plane optimizations in Software
2021-04-27 19:01:09 -03:00
Zwip-Zwap Zapony
21da6ce704 Auto-crop at splitscreen borders
V_DrawCroppedPatch will no longer go beyond splitscreen borders when V_PERPLAYER is used
2021-04-27 21:30:00 +02:00
Jaime Ita Passos
548554431b Handle invalid blend modes properly 2021-04-27 00:20:41 -03:00
LJ Sonic
02ee480abe Merge branch 'gl-colormapped-epolyflag' into 'next'
Fix uninitialized reads in PreparePolygon

See merge request STJr/SRB2!1392
2021-04-25 14:19:24 -04:00
sphere
a90642bfa9 Merge branch 'ogl-midtexture-zfighting-fix' into 'next'
Render midtextures on two-sided lines with a z-buffer offset

See merge request STJr/SRB2!1376
2021-04-25 14:02:02 -04:00
Zwip-Zwap Zapony
acff5c1ada Merge branch 'next' into drawcroppedpatch-improvements 2021-04-25 10:15:16 +02:00
sphere
d71b99a56b Merge branch 'comparepolygons-fix' into 'next'
Remove bad pointer arithmetic in polygon comparators (fixes #295)

Closes #295

See merge request STJr/SRB2!1462
2021-04-19 14:33:41 -04:00
sphere
d871612a72 Merge branch 'openglol' into 'next'
Fix HWR_DrawSprite sigsegv

See merge request STJr/SRB2!1454
2021-04-19 14:33:03 -04:00
Jaime Ita Passos
f93b1b8d7b Raise the skin limit to 256. 2021-04-19 04:01:49 -03:00
Hannu Hanhi
ee578b68f4 Remove bad pointer arithmetic in polygon comparators, that was causing glitches 2021-04-17 03:11:29 +03:00
katsy
23759c67aa move HWR_GetMappedPatch earlier 2021-04-12 21:26:29 -05: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
Hannu Hanhi
e9213b2b41 Fix a OpenGL backend DeleteTexture crash 2021-04-04 21:29:15 +03:00
Jaime Ita Passos
59be35e533 Rename functions, make more efficient, fix subtractive in Software 2021-03-30 22:12:31 -03: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
Monster Iestyn
91187f91be Merge branch 'fix-opengl-drawcroppedpatch' into 'next'
Fix OpenGL V_DrawCroppedPatch (Fixes #452)

Closes #452

See merge request STJr/SRB2!1412
2021-03-24 11:34:58 -04:00
Jaime Ita Passos
08937f892a Allocate a buffer for non-RGBA to RGBA texture conversions.
UpdateTexture will I_Error (from AllocTextureBuffer) if the allocation fails.
2021-03-23 01:18:28 -03:00
Jaime Ita Passos
dca158096d Experimental implementation 2021-03-22 23:56:55 -03:00
Monster Iestyn
b882aea2e4 Fix clobbering error in hw_md2.c by adding "volatile" to png_FILE.
(Apparently Kart made this exact fix 2 years ago and it was never backported?)
2021-03-21 19:49:32 +00:00
Lach
6ab5432713 Merge branch 'opengl-renderflags-fix' into 'next'
Fix a few renderflags oversights in OpenGL

See merge request STJr/SRB2!1422
2021-03-14 20:51:57 -04:00
Hannu Hanhi
746c84e0b5 Fix wrong color on player models' first frame by updating variable after loading blend texture 2021-03-13 23:07:51 +02:00
Hannu Hanhi
caab4e96cd Remove misplaced SetShader call in CompileShaders 2021-03-06 19:38:17 +02:00
Jaime Ita Passos
f6cb1798cc Fix a few renderflags oversights in OpenGL 2021-03-02 02:27:14 -03:00
Zwip-Zwap Zapony
308ab0e079 Fix OpenGL V_DrawCroppedPatch 2021-02-21 22:16:38 +01:00
Jaime Ita Passos
8318935811 Remove GLMipmap_t.nextmipmap 2021-01-27 21:23:20 -03:00
Jaime Ita Passos
d4044a4f82 Add PF_ColorMapped
Not all surfaces have tint and fade colors. Checking for a specific surface flag, that tells the backend those colors are present, avoids uninitialized reads.
2021-01-27 18:54:33 -03:00
Jaime Ita Passos
5501d495c7 OpenGL backend: Manage uploaded GPU textures with an internal list
Indirectly fixes the game doing whatever after freeing a patch.
This commit implements a FTextureInfo struct type, instead of it being a typedef to the GLMipmap_s struct type.
2021-01-27 17:48:57 -03:00
LJ Sonic
14ee92ef67 Merge branch 'gl-levelflat-fix' into 'next'
Fix a misuse of levelflat_t.picture in OpenGL

See merge request STJr/SRB2!1327
2021-01-25 16:40:02 -05:00
Hannu Hanhi
d252f074b7 Render midtextures on two-sided lines with a z-buffer offset
This will fix z-fighting issues when they overlap with FOFs.
2021-01-10 21:33:54 +02:00
Hannu Hanhi
eb1e7eff8f Take slopes into account even more in FOF wall cutoff in HWR_ProcessSeg 2021-01-10 20:52:03 +02:00
Hannu Hanhi
ed82b94e64 Take slopes into account in FOF wall cutoff in HWR_ProcessSeg 2020-12-29 23:29:00 +02:00
James R
cab089c5b1 Merge branch 'gl-colormap-update' into 'next'
Fix animated skincolors in OpenGL (resolves #187, #247, #301, #370)

Closes #187, #247, #301, and #370

See merge request STJr/SRB2!1301
2020-12-15 20:50:45 -05:00
James R
14c6d93c0c Merge branch 'team-elementalfire' into 'next'
Player-Colored Elemental Fire for competitive gametypes

See merge request STJr/SRB2!1312
2020-12-15 20:47:45 -05:00
Jaime Ita Passos
6160a2d0fe Fix a misuse of levelflat_t.picture in OpenGL (Kitchen Sink SRB2 port) 2020-12-14 02:07:12 -03:00
James R
c8cc9c7a6f Remove trailing whitespace 2020-12-12 02:40:46 -08:00
Zwip-Zwap Zapony
029e79024b V_DrawCroppedPatch Lua exposure and improvements
Separated X and Y scale, and added colormap argument
Added V_*SCALEPATCH and V_PERPLAYER flags support
Made sx,sy,w,h into fixed-point values
Exposed to Lua as "v.drawCropped(...)"
(Also fix HWR_DrawStretchyFixedPatch ignoring vscale without pscale)
2020-12-11 23:43:38 +01:00
Zippy_Zolton
f2095b57fd Player-Colored Elemental Fire for competitive gametypes 2020-12-10 20:37:50 -06:00
James R
e05433f282 Merge branch 'fix-gl-draw-cropped' into 'next'
Fix HWR_DrawCroppedPatch scaling a patch when cropping the top and left sides.

See merge request STJr/SRB2!1297
2020-12-10 15:44:51 -05:00
James R
2ab71571aa Merge branch 'high-resolution-timer-2' into next 2020-12-10 02:55:02 -08:00
Jaime Ita Passos
18ee97c583 Fix animated skincolors in OpenGL 2020-12-06 20:17:14 -03:00
GoldenTails
6546fc8ce7 Fix HWR_DrawCroppedPatch scaling a patch when cropping the top and left sides. 2020-12-06 12:01:31 -06:00
Radicalicious
c98108df27 Revert "Update hw_light.c"
This reverts commit b254439592
2020-12-03 00:46:28 +00:00
Radicalicious
b0fe3b6b5a Update hw_light.c 2020-12-02 00:36:41 -05:00
Radicalicious
b254439592 Update hw_light.c 2020-12-02 00:17:57 -05:00
Jaime Ita Passos
5293c52bca Remove SHORT macros for referencing patch width/height/offsets 2020-11-22 20:02:47 -03:00
Jaime Ita Passos
0645c642d2 Improve GPU texture management. 2020-11-22 18:18:26 -03:00
Jaime Ita Passos
152c540c1e Fix sprite textures in models 2020-11-22 17:10:10 -03:00
Jaime Ita Passos
9ab3acae2d Change how texture deletion works in OpenGL 2020-11-22 17:03:04 -03:00
Jaime Ita Passos
5e890ee6f8 Merge branch 'next' into spritestuff2 2020-11-19 00:52:43 -03:00
James R
50e15840fb Merge branch 'udmf-multitag' into 'next'
UDMF: Multitag support

See merge request STJr/SRB2!1097
2020-11-14 19:18:14 -05:00
James R
e3c8415627 OpenGL: don't access field that doesn't exist in precipmobj_t 2020-11-13 00:46:03 -08:00
Nev3r
fb9432ae57 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into udmf-multitag 2020-11-10 11:46:53 +01:00
James R
876aeb6a31 Merge branch 'allowshaders' into 'next'
Let the server or an admin toggle clients' custom shaders

See merge request STJr/SRB2!1181
2020-11-08 21:09:56 -05:00
Jaime Passos
b8f668b2e0 rename 2020-11-08 23:02:05 -03: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
c44120eb87 Fix some copyright statements in new files 2020-10-29 16:04:25 +02: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
Nev3r
c62ef355ef Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into udmf-multitag
# Conflicts:
#	src/lua_baselib.c
#	src/lua_maplib.c
2020-10-27 20:48:25 +01:00
Jaime Passos
b872222b50 Implement blend modes 2020-10-27 00:03:41 -03:00
James R
1cd73315f1 Merge branch 'model-fallback' into 'next'
Model fallback

See merge request STJr/SRB2!1167
2020-10-18 16:52:42 -04:00
James R
d279489753 Merge branch 'perfstats' into 'next'
Performance stats

See merge request STJr/SRB2!1186
2020-10-18 15:33:20 -04:00
Jaime Passos
3ac175660c Don't render sprites with negative xscale or yscale in OpenGL 2020-10-17 22:40:49 -03:00
Jaime Passos
70ada935ec Don't free PU_HWRCACHE and PU_HWRCACHE_UNLOCKED memory tags in HWR_ClearAllTextures.
Probably fixes a random annoying crash around that function.
(I was also suspecting renderer switching was doing other slightly weird stuff.)
2020-10-15 14:31:16 -03:00
Jaime Passos
8294479a5f Merge branch 'next' into allowshaders 2020-10-15 01:25:11 -03:00
Jaime Passos
ab526e47cc Implement object-defined floor sprite slopes. 2020-10-14 00:57:13 -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
1ea3bd8fff Fix uninitialized variable warning 2020-10-12 22:08:45 -03:00
Jaime Passos
831ccccdd6 OpenGL support for splats, fix some shadow draw bugs in Software 2020-10-12 19:53:21 -03:00
James R
d73fbd8616 Merge branch 'slight-shader-cleanup' into 'next'
Shader code cleanup

See merge request STJr/SRB2!1103
2020-10-12 18:22:08 -04: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
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
0811f60b2a Let the server or an admin toggle clients' custom shaders 2020-10-09 02:06:13 -03:00
Jaime Passos
63d4c1dffc Merge remote-tracking branch 'origin' into slight-shader-cleanup 2020-10-08 22:45:39 -03:00
James R
dbd79a29a4 Replace C90's junk with a modest macro 2020-10-06 23:04:23 -07:00
Jaime Passos
aaa9cff6ac Fix PNG issue in OpenGL + optimize PNG sprite loading 2020-10-02 19:48:13 -03:00
Steel Titanium
386db4b7a1 Model fallback 2020-10-02 15:45:43 -04:00
SteelT
060f46653d Merge branch 'ogl-model-uv-adjust' into 'next'
Re-adjust model UVs when sprite texture dimensions change

See merge request STJr/SRB2!1068
2020-09-25 21:19:59 -04: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
Hannu Hanhi
bda1d1e725 Convince the compiler that I know what I'm doing, I think 2020-08-18 23:21:26 +03:00
Jaime Passos
92c4993d67 Introduce Doom patch format into picture formats
Fixes sprite rotation
2020-08-15 21:52:01 -03:00