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
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