Commit Graph

4188 Commits

Author SHA1 Message Date
Denis Pauk 36242bd254 menu: extend player model and skin name to MAX_QPATH 2024-06-01 13:00:11 +03:00
Denis Pauk 7f47af1371 Version bump 2024-05-28 22:36:48 +03: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
Yamagi 7ffcd990c4
Merge pull request #1108 from protocultor/gl1_biglightmaps
GL1 big lightmaps and scrap
2024-05-25 16:03:38 +02:00
Denis Pauk e00ab4ffde game: fix save of quake monsters 2024-05-15 00:43:42 +03:00
Denis Pauk 5709e2c746 game: quake1 monsters, use defines instead frame number 2024-05-12 13:43:27 +03:00
Denis Pauk 75b05838a1 game: use defines for DOOR_ANIMATED and DOOR_ANIMATED_FAST
Based on:
 * https://github.com/id-Software/quake2-rerelease-dll/blob/main/rerelease/g_func.cpp
2024-05-12 13:27:06 +03:00
Denis Pauk d08500643d maps: provide in and our lump position to convert lump function
Replace some of convert function to byte copy and long copy.
2024-05-12 13:27:06 +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 44afb2e91b maps: support IDBSP format without ident 2024-05-09 23:42:27 +03: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 1b73b4ea5b maps: move IBSP to QBSP code to separate file 2024-05-05 12:36:14 +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 7e53c83c88 maps: fix lump size calculation 2024-05-04 15:39:01 +03:00
Denis Pauk f1d9bd6f47 game: port TRAIN_FIX_OFFSET and TRAIN_USE_ORIGIN from ReRelease
Fix platforms in `train` level.
2024-05-02 23:42:05 +03:00
Denis Pauk ded6f0c962 game: change level hack
Look like ReRelease code just ignore spawn target if target has not found.

`base2` has `eou1_.cin+*bunk1$start` as target but `bunk1` does not have such target.

Look to:
* 8dc1fc9794/rerelease/p_client.cpp (L1492)
* https://github.com/yquake2/yquake2remaster/issues/22
2024-05-02 00:25:38 +03:00
Denis Pauk 78c7f62aba CMod_LoadAreaPortals: reuse cache as map_areaportals 2024-05-01 19:07:42 +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
Trey Harrison bbcc0ed222 renders: add SAM/SBM/DEF model files definitions
Author: Trey Harrison <trey@u.washington.edu>
Based on: https://web.archive.org/web/20001212060900/http://starbase.neosoft.com:80/~otaku/program.html
2024-04-30 00:23:56 +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 19f6e5df62 Version bump 8.31RR7
* Rework map load logic,
 * Support SiN map load,
 * Support track names,
 * Support N64 flags,
 * SDL3 build support (by Yamagi),
 * Fixes for sort render (by dkoreshkov),
 * Added cvar cl_laseralpha (by BjossiAlfreds),
 * VectorLength reduces complexity (by devnexen),
 * Sync with latest yquake 2 code.
2024-04-27 00:22:00 +03:00
Denis Pauk dfb1818aa9 Readme update 2024-04-25 00:09:23 +03:00
Denis Pauk 42b4a61794 renders: support SURF_N64_UV 2024-04-24 23:54:52 +03:00
Denis Pauk f7ec7d268e server: use game api version for protocol detect 2024-04-24 00:55:53 +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 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