Commit graph

4500 commits

Author SHA1 Message Date
Yamagi
824cd9c034 Update CHANGELOG for 'Group draw call in GL1.' 2024-07-20 09:35:14 +02:00
Yamagi
85ca97192d
Merge pull request #1125 from apartfromtime/menu-stack
Menu: minor code refactor
2024-07-20 09:31:54 +02:00
Yamagi
eef7db91d8
Merge pull request #1124 from protocultor/gl1_buffer
Grouped draw calls for improved performance with GL1
2024-07-20 09:24:23 +02:00
apartfromtime
df81a8b7b8 menu: active menu layer
Replace function pointers with active menu layer.
2024-07-20 11:57:21 +10:00
apartfromtime
2bafa22cfc menu: menu framework function pointers
Add function pointers draw and key event to menu framework.
Setup function pointers for menu frames.
Pass menu framework as parameter to M_PushMenu().
2024-07-20 10:21:22 +10:00
Denis Pauk
ed286f39e5 images: pcx pcx_width could be smaller that bytes_by_line
Some tools could round up bytes_by_line from pcx_width.
Just ignore such cases.
2024-07-16 23:50:41 +03:00
Denis Pauk
1e0aa094cb Merge remote-tracking branch 'yquake2/master' 2024-07-15 23:37:05 +03:00
Yamagi
4b9b8e14a4 Switch g_quick_weap to 1 by default.
It's a nice to have convenience feature that most players will never
notice. Die hard traditionalists can switch it off.
2024-07-15 21:42:15 +02:00
Yamagi
2d581a3667 Fix description of g_quick_weap and fix typo, it's SDL 3.1.2. 2024-07-15 21:38:26 +02:00
Jaime Moreira
15a1ebdd74 Deleted gl1_biglightmaps
glTexSubImage2D() calls are very slow, and are even slower when
the texture is big. Dynamic lighting changes are small compared
to the huge 512x512 size of the lightmap this option provided,
so it was detrimental to performance.
Original logic remains underneath if there's a need of a comeback.
2024-07-15 12:45:15 -04:00
Jaime Moreira
24b546ba54 GL1 unified draw calls, episode vi
Buffered shadows.
2024-07-15 12:33:19 -04:00
Jaime Moreira
55dfaa2e3b GL1 unified draw calls, 05
Buffered 'alias' models. Logic from R_DrawAliasModel() and
R_DrawAliasFrameLerp() was moved to R_ApplyGLBuffer().
2024-07-15 11:20:26 -04:00
Jaime Moreira
e8b2e36bd8 GL1 unified draw calls, chapter iv
Buffered flashblend effects.
2024-07-15 10:18:46 -04:00
Jaime Moreira
749e70b988 GL1 unified draw calls, part 3
Batching / buffered procedure, applied to multitexture surfaces.
This solves the issue with gl1_overbrightbits, when jumping
between 0 and 2-4.
2024-07-15 09:05:21 -04:00
Jaime Moreira
4461128255 GL1 unified draw calls, cont.
Batching procedure from previous commit, applied this time to GLPoly
/ single texture surfaces; alpha and liquid included.
2024-07-15 08:23:43 -04:00
Jaime Moreira
50aebd2de4 GL1 unified draw calls, init
Implemented a batching procedure, to try to group meshes in a buffer
and use a final GL call to draw them all in one step, instead of the
many GL draw calls existing today.
For now, only 2D textures are included, especifically console text
("conchars"), scrap and tiles. It's not worth doing this for
individual 2D elements (e.g. crosshair).
2024-07-15 06:56:02 -04:00
Denis Pauk
1a9733bd75 images: replace generated palette with first image one 2024-07-15 11:53:42 +03:00
Denis Pauk
4e61cbccc2 images: more strict check of pcx
checked with https://samples.ffmpeg.org/image-samples/pcx/
2024-07-15 04:47:39 +03:00
Jaime Moreira
4503333b3a GL1: lighting for brushes on the entity list...
...is being "preprocessed" before regenerating lightmaps, so there
are no additional changes to the lightmaps when drawing those brushes.
2024-07-14 20:20:27 -04:00
Jaime Moreira
1bae1e359f GL1: removed many fruitless glTexParameteri calls
They were in this form:
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG/MIN_FILTER,GL_LINEAR)
Only appeared at startup, but we didn't need so many of them.
2024-07-14 19:31:00 -04:00
Denis Pauk
3ba0f35636 images: pcx make buffer const 2024-07-15 00:44:15 +03:00
Denis Pauk
2e32da65bd images: pcx add support 2/4 bits in single plane 2024-07-15 00:23:20 +03:00
Denis Pauk
d8f754f003 images: pcx single bit per plane
based on https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/libavcodec/pcx.c
2024-07-14 16:37:38 +03:00
Denis Pauk
5d5e01e1e1 images: allocate pcx palette only for 8bit 2024-07-14 15:36:36 +03:00
Yamagi
fd2ebb8891 Update CHANGELOG for 8.40. 2024-07-13 16:19:14 +02:00
Denis Pauk
84e461e07b images: support 24 bit pcx images 2024-07-11 23:37:15 +03:00
Denis Pauk
66da110472 image: move pcx RLE to separate function 2024-07-11 23:34:45 +03:00
Denis Pauk
1efc45612c soft: scale down wall if texture is prescalled 2024-07-11 23:34:45 +03:00
Denis Pauk
e08490d3de renders: simplify LoadImage_Ext 2024-07-11 23:34:45 +03:00
Denis Pauk
0390db7aec images: move wal decode to vid/images 2024-07-11 23:34:45 +03:00
Denis Pauk
6de0e06c4a images: move m8 decode to vid/images 2024-07-11 23:34:45 +03:00
Denis Pauk
8e4c329351 images: show file name in error message 2024-07-11 23:34:45 +03:00
Denis Pauk
829b1a014e renders: simplify swl/pcx load code 2024-07-11 23:34:45 +03:00
Denis Pauk
dec5897052 images: Use only pcx manufacturer and version as ident 2024-07-11 23:34:45 +03:00
Denis Pauk
cfebe51ec9 Merge remote-tracking branch 'yquake2/master' 2024-07-11 23:33:04 +03:00
Yamagi
2a2f3e0b2f
Merge pull request #1123 from BjossiAlfreds/helpmsg-always
Workarounds for naggy help icons
2024-07-11 21:29:26 +02:00
Yamagi
7b6518060e
Merge pull request #1122 from devnexen/fix_dyn_symb_loading_sig
consistenly cast dynamic loading from generic pointer to fn pointer s…
2024-07-11 21:15:51 +02:00
BjossiAlfreds
6a25ba5118 Workarounds for naggy help icons 2024-07-09 13:11:12 +00:00
Denis Pauk
36f42a6a8b Merge remote-tracking branch 'yquake2/master' into images 2024-07-06 23:11:56 +03:00
David Carlier
2b4598d536
consistenly cast dynamic loading from generic pointer to fn pointer signature. 2024-07-06 18:40:13 +01:00
Yamagi
8c0904f0c8
Merge pull request #1121 from 0lvin/backport
Improve pcx support and cleanup soft render
2024-07-06 18:49:29 +02:00
Denis Pauk
3db882c6c8 renders: little bit revert pvx load code
Use additional checks from previous renders/files/pcx load code.
2024-07-06 18:52:01 +03:00
Denis Pauk
ac2a50cb4a soft: scale model texture s,t values
ref_gl renders use 0.0..1.0 float texture coordinates in gl commands
and skin ratio/resolution could be any.
ref_soft render uses absolute coordinates as result textures with
different to expected size are applied incorrectly.

Fix will not add support of scalled retextured skins, just fix case
when ratio is incorrect after scale down such or place a incorrect
pcx skin to the model directory.
2024-07-06 16:48:20 +03:00
Denis Pauk
79c71c7a68 soft: get rid unused R_PolysetUpdateTables 2024-07-06 16:41:52 +03:00
Denis Pauk
bfeb842bd3 pcx: fix support of bytes_per_line
https://github.com/yquake2/yquake2/issues/1119
2024-07-06 16:32:45 +03:00
Denis Pauk
c5841b7c2f pcx: fix support of bytes_per_line
https://github.com/yquake2/yquake2/issues/1119
2024-07-06 15:04:37 +03:00
Denis Pauk
50de5e091a renders: move m32 load to vid/image code 2024-07-06 15:03:57 +03:00
Denis Pauk
ce37d4b748 renders: move swl load to vid/image code 2024-07-06 15:03:57 +03:00
Denis Pauk
cf144ef2ca fix load mapfix for juggernaut/jug13 2024-07-06 14:30:48 +03:00
Denis Pauk
4c9a04efc5 Merge remote-tracking branch 'yquake2/master' 2024-07-06 14:27:25 +03:00