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
dbccc9353f
Update readme.
2024-04-21 19:26:12 +03:00
Denis Pauk
9a13efe9b4
game: fix door open in base3
...
Partial revert f95ca597
with sorting of fields.
2024-04-21 18:46:17 +03:00
Denis Pauk
067a30e83d
savegame: fix load/save Q64 maps
2024-04-20 18:40:32 +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
cca9317a55
cmodels: add surface and contents flags convert logic
...
Based on:
* https://github.com/NightDive-Studio/sin-ex-game
* https://github.com/TrenchBroom/TrenchBroom/
2024-04-20 01:35:12 +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
606451cc9c
collision: move surface flag to QBSP convert logic
...
Only Mod_LoadVisibility has LittleLong format convertion logic on
server side.
2024-04-17 00:34:36 +03:00
Denis Pauk
3e46e777c0
cmodel: implement left QBSP to QBSP convert
2024-04-17 00:28:43 +03:00
Denis Pauk
becea2987b
collision: direct QBSP map load
2024-04-17 00:22:10 +03:00
Denis Pauk
1bc2d7d18b
collision: add DKBSP callbacks
2024-04-17 00:20:23 +03:00
Denis Pauk
aefea127e2
cmodel: move convert callback to rules tables
2024-04-17 00:16:33 +03:00
Denis Pauk
c0e3a86f30
collision: use RBSP to QBSP converted maps
2024-04-16 23:55:39 +03:00
Denis Pauk
3cd279248d
cmodel: Split Mod_Load2QBSP_IBSP to separate functions
2024-04-16 23:38:49 +03:00
Denis Pauk
53d69f98e5
collision: create IBSP -> QBSP convert logic
2024-04-16 23:22:36 +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
ea91764196
collision: make firstbrushside unsigned
2024-04-16 00:12:24 +03:00
Denis Pauk
446224467d
Fix memory use after free detected by ASAN
2024-04-15 00:30:30 +03:00
Denis Pauk
701defd4ad
maps: move get rules to separate function
2024-04-13 15:58:32 +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
c13074758a
client: Add RBSP initial support
...
Structures sizes should be mosly correct and have found by estimate
sizes that could have lump size mod equal to zero as for other formats.
Possition of fields are taken from IBSP structures, that could be
incorrect. All other fields marked as unknow/unused.
2024-04-11 00:13:10 +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
1e935a5879
collision: fix crash without vis info
2024-04-08 23:07:01 +03:00
Yamagi
e5ee2a74a5
Merge pull request #1102 from 0lvin/gles
...
client: fix gles3 name
2024-04-07 18:06:39 +02: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
30861e07ef
filesystem: sort files in pack and use binary search in packs
2024-04-07 18:46:40 +03:00
Denis Pauk
ae4845782c
readme: Add swl to supported textures
2024-04-07 18:46:40 +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
Denis Pauk
851c72f7b4
soft: sync code with other renders
2024-04-07 18:46:40 +03:00
Denis Pauk
fe96447980
client: fix gles3 name
...
Fix regression introduced in e61d9444c
https://github.com/yquake2/yquake2/issues/1097
2024-04-07 18:43:45 +03:00
Yamagi
352d87af15
Add SDL 3 support to ref_gl4.
...
This is mostly a port of the same changes to ref_gl3:
* Add SDL 3 support to the Makefile.
* Port API changes.
* Bump renderer API to version 7.
a884514f97
https://github.com/yquake2/yquake2/issues/1097
2024-04-07 18:38:15 +03:00
Yamagi
4fedab5914
Port ref_vk to SDL3.
...
* Makefile support for SDL3.
* Change API to match SDL3.
* Bump renderer API to version 7 and communicate SDL version to client.
61be37b183
2024-04-07 18:25:14 +03:00
Denis Pauk
4bd19bf982
Merge remote-tracking branch 'yquake2/master'
2024-04-07 18:12:09 +03:00