Commit Graph

2247 Commits

Author SHA1 Message Date
Denis Pauk ea7f219832 Merge remote-tracking branch 'yquake2/master' 2024-07-31 22:42:18 +03:00
Jaime Moreira 1df86ae16d lightmapchain cleared of surfaces added twice 2024-07-31 12:13:32 -04:00
Denis Pauk 8b6ae7cc89 vk: share ubo in Vk_DrawAlias 2024-07-31 18:12:10 +03:00
Denis Pauk 1b62173355 pcx: show developer warning for uncommon pcx files 2024-07-31 11:16:36 +03:00
Denis Pauk 7ee871dc76 cin: add lmp image format support 2024-07-31 00:12:53 +03:00
Denis Pauk f1d8387d81 rename s|bitesPerPixel|bitsPerPixel|g 2024-07-30 08:49:58 +03:00
Denis Pauk 0a774a4f75 models: add support of MDR
* https://github.com/ioquake/ioq3/blob/main/md4-readme.txt
* https://github.com/UberGames/MD3View
2024-07-29 13:31:12 +03:00
Jaime Moreira 26f578212a Deleted unused variable in R_RegenAllLightmaps()
Static arrays there have their dimensions swapped, they make more sense now.
Added important detail in gl1_lightmapcopies doc.
Also added doc for gl_polyblend, just because of its "popularity".
2024-07-28 12:14:17 -04:00
Jaime Moreira b72c465214 GLES1 renderer: lightmap copies
Available in both GL1 and GLES1. Keep multiple copies of "the same"
lightmap on video memory; they are actually different, because they're
used in different frames. This is a workaround for the usage of
glTexSubImage2D() for dynamic lighting, since modifying textures used
recently causes slowdown in embedded/mobile devices.
Controlled by gl1_lightmapcopies cvar; default in GL1 is `0`, while
in GLES1 is `1`.
2024-07-27 23:22:41 -04:00
Jaime Moreira 0596d23e4c GLES1 renderer: discard framebuffer
Available only on GLES1, allows to use a "performance hint" to the
GPU to discard the contents of depth and stencil buffers after each
frame. Some hardware might want to reuse them, but Quake 2 doesn't
work that way.
Controlled by gl1_discardfb cvar, default `1`.
2024-07-27 23:18:06 -04:00
Jaime Moreira 03227f1ed6 OpenGL ES 1.0 refresher (GLES1 for friends)
Variant of GL1, meant for embedded/mobile devices only.
Build it with "make with_gles1".
For Windows, you'll need MSYS2 and a decent ANGLE implementation
(probably not worth the trouble).
Building with CMake only works in Linux, so it has been commented out.
2024-07-27 23:15:12 -04:00
Jaime Moreira 94c4bf2df7 GL1 unified draw calls, 7
Changed "buffer" functions (vertex, single/mtex, color) to macros.
Macros eliminate the function call overhead, resulting in faster
execution times. Depending of the hardware, there might be a
performance increase of almost 10%.
This forced the buffer to be exposed as global.
Not worth doing this for 2D elements though.
2024-07-27 23:08:46 -04:00
Jaime Moreira 826f4816f6 There's no such thing as "gl1_colorlight"
"Invented" in 575ea06b9, only existed in video menu.
Resurrect this when it actually works.
2024-07-27 23:05:59 -04:00
David Carlier ae827dbd86
client sound fade_data is only really used later. 2024-07-22 21:44:06 +01:00
Denis Pauk 6c16fe1e8e Merge remote-tracking branch 'yquake2/master' 2024-07-21 18:07:00 +03:00
Yamagi 528ffe6a6d Add missing `R_ApplyGLBuffer()` to actually render the player menu.
This fixes part of the player setup menu missing after the GL1 grouped
drawcalls branch was merged.

Submitted by @protocultor in
https://github.com/yquake2/yquake2/pull/1124#issuecomment-2241272507
2024-07-21 09:24:49 +02:00
Denis Pauk 7258f240ce Merge commit 'df81a8b7' 2024-07-21 00:23:27 +03:00
Yamagi 85ca97192d
Merge pull request #1125 from apartfromtime/menu-stack
Menu: minor code refactor
2024-07-20 09:31:54 +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
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
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
David Carlier 2b4598d536
consistenly cast dynamic loading from generic pointer to fn pointer signature. 2024-07-06 18:40:13 +01: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 4c9a04efc5 Merge remote-tracking branch 'yquake2/master' 2024-07-06 14:27:25 +03:00
Yamagi 3f6a0a3689
Merge pull request #1118 from devnexen/few_more_build_chg
fix few warning builds.
2024-07-06 09:50:37 +02:00
Yamagi af5a876be4 Fix a typo. 2024-07-06 09:20:04 +02:00
David Carlier a8a15ddff3
fix few warning builds. 2024-06-30 23:07:03 +01:00
Denis Pauk 689950068a soft: fix model skin textures
Soft render still uses downscalled skins and wall, code fixes case
when skin(s,t) size defined in model is slightly different to real
skin dementions. Code checks skin size in model and image asset size
and scale.
2024-06-30 23:30:32 +03:00
Denis Pauk 96b8707825 Merge remote-tracking branch 'yquake2/master' 2024-06-30 23:06:16 +03:00
Denis Pauk 25fa88ca9b renders: load swl as paletted image 2024-06-30 23:05:44 +03:00
Denis Pauk 161f703b90 renders: scale pcx before use 2024-06-30 23:05:35 +03:00
Denis Pauk 23ff8f6dea soft: update light code 2024-06-30 23:05:24 +03:00
Denis Pauk 214556728d renders: rename MAX_LBM_HEIGHT to MAX_LBM_WIDTH 2024-06-30 23:05:13 +03:00
Denis Pauk e4849dc9d4 soft: remove unused R_PolysetUpdateTables 2024-06-30 23:03:21 +03:00
David Carlier d0dc3e9926
micro optimisations for previous security mitigations.
also strtok_r uses its own provided buffer instead of the static one
even in a somewhat monothread context, it s still better.
2024-06-30 17:08:45 +01:00
Denis Pauk ec36e98712 renders: replace paletted color with rgb 2024-06-25 00:00:23 +03:00
Denis Pauk e07cec2e13 renders: skip unused colormap allocation 2024-06-24 16:17:19 +03:00
Yamagi 1a1b32961b Refactor the download filter.
The first try didn't take into account that an evil server could
override the filter list by sending a stuff command. Fix this by
hardcoding the filters for .dll, .dylib and .so. Make sure that the
filters are always applied, either when the download is requested
through the `download` command or because game data is missing.

This is just a poor mans fix, trying to rule out an obvious way to
inject code into the client.
2024-06-24 11:56:11 +02:00
Denis Pauk 623b003f6f client: use rgb color in cparticle_t 2024-06-24 00:55:42 +03:00
Denis Pauk 3121849500 client: use rgb color in particle_t 2024-06-24 00:46:12 +03:00
Denis Pauk bcda8cccaf vid: cache colormap 2024-06-23 19:16:35 +03:00
Denis Pauk 4268fedce0 filesystem: fix maps autocomplete for Anachronox 2024-06-23 19:15:34 +03:00
Denis Pauk 6a3859cd9e renders: sync readfile_t type with FS_LoadFile
Usage of FS_LoadFile as readfile_t is unsupported for now as requires
usage FS_FreeFile instead just copy of file content.

Fixes memory leak for sin models load.
2024-06-23 13:19:09 +03:00
Denis Pauk d15bb81e58 Merge remote-tracking branch 'yquake2/master' 2024-06-22 23:57:29 +03:00
Yamagi 852cec05e7 Filter .., :, / and \\ from al_driver and cl_libcurl.
This is a poor mans safeguard against malicious server trying to
download and inject libraries.
2024-06-22 17:22:22 +02:00
Yamagi 468f90ad48 Implement a simple download filter.
`cl_nodownload_list` is a whitespace seperated list of strings, files
containing one of these strings in their name are never downloaded. Set
to `.dll .dylib .so` by default to prevent downloading libraries which
can be injected into client.

Closes #1114.
2024-06-22 16:56:42 +02:00
Denis Pauk 330b1352fb Add macos test build on release tag 2024-06-22 17:35:25 +03:00
Denis Pauk a06c0703a7 renders: share palette load by refimport_t 2024-06-22 14:06:14 +03:00
Denis Pauk 1ce49294e7 renders: reuse VID_ImageDecode 2024-06-22 12:09:35 +03:00
Denis Pauk 9f84e40ab7 cin: move image load to separate file 2024-06-22 12:09:35 +03:00
Denis Pauk 212ea58f83 models: fix flex model load 2024-06-16 15:20:28 +03:00
Denis Pauk 0273d6ba06 Merge remote-tracking branch 'yquake2/master' 2024-06-16 13:16:35 +03:00
Denis Pauk 97f207e230 maps: cleanup maptype cvar code 2024-06-12 23:52:48 +03:00
Denis Pauk e7dc4f3b2c menu: Fix default NULL 2024-06-11 23:28:50 +03:00
Denis Pauk 28aeb68826 menu: show weapon in player model preview 2024-06-08 23:36:57 +03:00
Denis Pauk 8fd8c2b546 menu: support long player skin name 2024-06-08 23:21:00 +03:00
Denis Pauk 1775874418 Merge remote-tracking branch 'yquake2/master' 2024-06-08 22:47:14 +03:00
Yamagi 41e9b46358
Merge pull request #1110 from protocultor/gyro_tightening
Gyro tightening
2024-06-08 19:09:53 +02:00
Jaime Moreira c842ab806f Remove fruitless glBindTexture() calls
...when there are no SURF_DRAWTURB surfaces to draw.
2024-06-06 18:23:26 -04:00
Jaime Moreira 5b44620c0e Correct OpenGL boolean flags. 2024-06-05 23:17:52 +03:00
Denis Pauk d3bf7368c4 models: add models normal fix
If model has only zero notmal, update model with normal recalculate.
2024-06-05 22:59:54 +03:00
Denis Pauk ec8b792a4b renders: use three bytes for save model normal 2024-06-04 23:47:48 +03:00
Jaime Moreira 24b03b61f8 Gyro tightening
A practical way to avoid a noisy gyro signal, or shaky hands.
Unlike a deadzone, inputs below the threshold are "squeezed towards
zero", so they are not completely ignored. Source:
http://gyrowiki.jibbsmart.com/blog:good-gyro-controls-part-1:the-gyro-is-a-mouse#toc9
2024-06-04 15:48:42 -04:00
Jaime Moreira 0e63bad7d9 Sliders and gamepad buttons refactor
Same logic with less code.
2024-06-04 15:18:37 -04:00
Jaime Moreira d2b0ebd522 Correct OpenGL boolean flags. 2024-06-04 15:10:41 -04:00
Jaime Moreira 6869d7dddd GL1 multitexture combine removed
Applied too many OpenGL calls for an effect that could not be told
apart from normal GL_MODULATE; explains its absence from Q3A code.
Also, removed calls to glPixelStorei when no dynamic lights present.
2024-06-04 14:59:05 -04:00
Jaime Moreira c68ffec274 GL1 multitexture bugfix
With "hand 2" and no "alias" models in player sight, sometimes only
lightmap was visible. Now forcing disabled multitexture when needed.
Another bugfix: "gl_showbbox 1" no longer produces OpenGL errors.
2024-06-04 14:53:25 -04:00
Denis Pauk 88bb466f1e renders: use dot product of shadevector and normal directly 2024-06-04 20:01:23 +03:00
Denis Pauk a9219192e0 menu: show player weapon model in preview 2024-06-01 16:18:42 +03:00
Denis Pauk acea97c16f menu: fix cppcheck warnings 2024-06-01 13:47:58 +03:00
Denis Pauk 36242bd254 menu: extend player model and skin name to MAX_QPATH 2024-06-01 13:00:11 +03:00
starfrost013 e160691fec Fix potential memory corruption issue where cl_numparticles is 0 and CL_ClearParticles is called. 2024-05-29 15:41:12 +01:00
Denis Pauk faf86b72c5 GL1 big lightmaps and scrap
https://github.com/yquake2/yquake2/pull/1108

Merge remote-tracking branch 'yquake2/master'
2024-05-27 08:41:53 +03:00
Denis Pauk 33a3aed03e GL1 multitexture
Merge changes from https://github.com/yquake2/yquake2/pull/1103
Merge remote-tracking branch 'yquake2/master'
2024-05-12 12:55:53 +03:00
Denis Pauk 1eb55aa3de renders: lightmap generation, trust caller about size of provided buffer 2024-05-12 12:04:46 +03:00
Jaime Moreira 0f307cc9c1 GL1 scrap/atlas configurable size
Controlled by gl1_biglightmaps cvar, works like new lightmaps.
Max size is 384x384; a bigger size is not justified.
Added a transparent border so colors from one picture don't bleed
into the next.
2024-05-11 18:20:13 -04:00
Jaime Moreira 81fd2c1027 Increased lightmap size in GL1
Controlled by new cvar, gl1_biglightmaps.
Size is now up to 512x512, for a max quantity of 8 lightmaps.
Should reduce rebinding of them, and reduce the number of calls
to glTexSubImage2D(), although it may increase data transfer on
each call.
2024-05-11 18:18:28 -04:00
Jaime Moreira a8824972db Fixed potential game crash at shutdown
Only happens in Windows. A cvar was being queried just after
all cvars were freed, in Qcommon_Shutdown().
GL_GENERATE_MIPMAP definition relocated.
scrap_uploads counter deleted, it wasn't being read anywhere.
2024-05-11 18:16:38 -04:00
Denis Pauk d3239738e9 Merge commit '3faa3db1'
Partial merge of https://github.com/yquake2/yquake2/pull/1103
2024-05-12 00:17:49 +03:00
Yamagi b401846ce6
Merge pull request #1103 from protocultor/gl1_multitexture
GL1 multitexture
2024-05-11 16:28:39 +02:00
Denis Pauk cfd1e5f346 renders: fix parse of SiN def format
Some of files could have name of animation and skin, but some of files
does no have naming of action and textures. Search include file by extention
instead use name + filename format.
2024-05-08 01:42:35 +03:00
Denis Pauk eff91e34c0 renders: check for SiN format in player models 2024-05-08 01:42:21 +03:00
Denis Pauk 9145c0a923 renders: additional validation cleanups for SiN 2024-05-08 01:41:46 +03:00
Denis Pauk 13e1df2bda renders: inital support of SiN def/sbm/sam load
Added only file format support without model overwrite.

Based on https://web.archive.org/web/20001212060900/http://starbase.neosoft.com:80/~otaku/program.html
2024-05-08 01:41:14 +03:00
Denis Pauk e463721665 maps: Use LUMP defines instead numbers in rules 2024-05-05 15:55:23 +03:00
Denis Pauk dbc7a5fbe5 maps: prepare code for use formats with different position of lumps 2024-05-05 12:23:06 +03:00
Denis Pauk fbc91514eb Merge remote-tracking branch 'yquake2/master' 2024-05-05 12:00:43 +03:00
Yamagi d50408ff0b Bump SDL 3 support to the latest preview, SDL 3.1.2.
SDL 3.1.1 -> 3.1.2 brings another round of API changes. Only one of them
is relevant for us: the SDL_RENDERER_ACCELERATED flag was removed.
2024-05-05 09:37:36 +02:00
Denis Pauk fb85150702 maps: move entity add null terminate to sv_init 2024-05-04 17:18:48 +03:00
Denis Pauk bf81d4e427 maps: cache QBSP in collision map list 2024-05-01 14:23:49 +03:00
Denis Pauk 98cc9c1ea0 models: move Mod_LoadFile to client side 2024-05-01 11:00:33 +03:00
Denis Pauk 9abc88e6ab gl4: support multimesh models 2024-04-30 00:13:48 +03:00
Jaime Moreira b81e910929 GL1 multitexture, refactored memory allocation
It was missing error checking and cleanup at shutdown.
Also, reset state when needed. Fixes "death by laser" in boss1 map.
2024-04-29 14:39:48 -04:00
Denis Pauk 42b4a61794 renders: support SURF_N64_UV 2024-04-24 23:54:52 +03:00
Jaime Moreira ba71af2af8 GL1 multitexture: fast dynamic lighting
Using MH's solution, which is keeping all lightmaps in memory
to modify and upload them as a batch when possible.
lightmap_buffer is now an array; index 0 is used as the legacy
lightmap buffer (when no mtex), and the rest of the indexes are
to store the different lightmaps (only when using mtex).
2024-04-23 12:26:44 -04:00
Jaime Moreira 86528d7812 GL1 multitexture, first version
Unlike the old, buggy one, this implementation follows the
texture chain, just like the standard execution path. It also
avoids doing the lightmap chains, since it has already done it
in the second TMU; there's no duplicated work for lightmaps.
No errors appear in the lava on the "boss1" map either.
It's still slow when having an overdraw of dynamic lights.
Further work is needed.
2024-04-23 12:25:38 -04:00
Jaime Moreira 3faa3db167 GL1 multitexture, initialization
While it is based on the old, buggy multitexture implementation
(removed in 68a12d4e & 8fe8f832), rework will be done to make it
function as intended this time.
For this commit, just init and function declarations.
2024-04-23 12:24:20 -04:00
Jaime Moreira 79bb13d3a7 Updated OpenGL definitions in qgl.h
Using GL 1.4 declarations in code, although 'point parameters' will
use legacy extensions if they're the only ones found.
Moved stuff out of local.h; better to have definitions in one place.
Extracted from <glext.h>.
2024-04-23 12:23:00 -04:00
Jaime Moreira 3dde0d5859 Texture chains working properly
Somehow, R_TextureAnimation() returns different results for the same
surface when called consecutively. We force it to be called once, so
the chains in R_DrawTextureChains() are getting respected now.
2024-04-23 12:21:40 -04:00
Denis Pauk 1364e4703f renders: implement SURF_N64_SCROLL 2024-04-22 00:35:54 +03:00
Denis Pauk eb344a030e renders: Move scroll logic to R_FlowingScroll 2024-04-22 00:04:21 +03:00
Denis Pauk 85dcc852b7 cmodels: Add quake2 map type for remove all ReRelease flags 2024-04-20 17:21:51 +03:00
Denis Pauk 119e1f6993 cmodels: extend texture name size to 64 2024-04-20 13:07:19 +03:00
Denis Pauk 9b6bae3454 renders: remove custom function for non QBSP format
Also remove Little* function usage, QBSP come with correct byte order.
2024-04-18 01:06:06 +03:00
Denis Pauk 8d21ed6874 renders: remove support of QBSP map format
Map should be converted from any format to QBSP before render by
Mod_Load2QBSP
2024-04-18 00:29:14 +03:00
Denis Pauk c3af9815e6 renders: use converted to QBSP format map
Mod_LoadValidateLumps is fully removed.
2024-04-17 01:14:22 +03:00
Denis Pauk 12aaebf80e maps: validate read outside of BSPX section 2024-04-16 01:17:09 +03:00
Denis Pauk 2f0d3e2189 render: support texture name with full field size 2024-04-16 00:12:43 +03:00
Denis Pauk 2d6241b31e renders: move lightmap calls to LM_CreateLightmapsPoligon 2024-04-13 14:44:40 +03:00
Denis Pauk 02b8e85c01 opengl renders: support of gl_version_override cvar
Provides way to check render with lower officialy
reported OpenGL version.

Same as:
* MESA_GL_VERSION_OVERRIDE=4.6
* MESA_GLSL_VERSION_OVERRIDE=460
2024-04-13 13:25:34 +03:00
Denis Pauk 5babb3b96a renders: fix function name in GL4*_InitContext errors 2024-04-13 01:03:42 +03:00
Denis Pauk 4ab6777e1f renders: move lightmap creation call outside of LoadFace code 2024-04-13 00:15:31 +03:00
Denis Pauk 310c0fdb58 maps: load code cleanup 2024-04-12 00:13:14 +03:00
Denis Pauk 7a5154bd6b renders: Add RBSP initial support
Surfaces/faces/tetures flags is incorrect.
2024-04-11 00:35:43 +03:00
Denis Pauk d4bc315363 client: play arbitrary CDTRACK ogg file
Initial implementation of https://github.com/yquake2/yquake2remaster/issues/18
2024-04-09 00:34:47 +03:00
Denis Pauk c1920e3ec4 client: fix gles3 name
Fix regression introduced in e61d9444c

https://github.com/yquake2/yquake2/issues/1097
2024-04-07 18:50:01 +03:00
Denis Pauk e3a1b0ef11 maps: Mod_CalcNonModelLumpHunkSize combine QBSP cases 2024-04-07 18:46:40 +03:00
Denis Pauk e90fa70680 renders: reuse Mod_CalcNonModelLumpHunkSize 2024-04-07 18:46:40 +03:00
Denis Pauk d2e5955547 renders: reuse CalcLumpHunkSize for Leaf and Nodes 2024-04-07 18:46:40 +03:00