Commit graph

4568 commits

Author SHA1 Message Date
Denis Pauk
f6e8aeab38 pcx: show developer warning for uncommon pcx files
https://github.com/yquake2/yquake2/pull/1130#issuecomment-2259254531
2024-08-11 15:40:33 +03:00
Denis Pauk
9e303a8044 cin: remove SCR_LoadPCX 2024-08-11 15:40:33 +03:00
Denis Pauk
7f894f1d6f filesystem: make name parameter const 2024-08-11 15:40:33 +03:00
Denis Pauk
b40976220c menu: support players models inside pak
Code ignores files in pak only in case when such file exists in
filesystem.
2024-08-11 15:40:33 +03:00
Denis Pauk
0293e946ca filesytem: sort files in paks and use binary search 2024-08-11 15:40:33 +03:00
Denis Pauk
8520285a10 renders: support 24bit pcx images
Based on ffmpeg code and checked with
https://samples.ffmpeg.org/image-samples/pcx/
2024-08-11 15:40:33 +03:00
Denis Pauk
f688ea599f cin: support 24bit pcx images 2024-08-11 15:40:33 +03:00
Denis Pauk
87c0029b2b client: play arbitrary CDTRACK ogg file
https://github.com/yquake2/yquake2remaster/issues/18
2024-08-11 15:40:33 +03:00
Denis Pauk
005dfa0ed5 collision: load ent file without has as backward compatibility
https://github.com/yquake2/yquake2/pull/1130#issuecomment-2256461447
2024-08-11 15:40:33 +03:00
Denis Pauk
c92664c01d collision: check string entity hash before load
https://github.com/yquake2/yquake2remaster/issues/4#issuecomment-1741814349
2024-08-11 15:40:33 +03:00
Yamagi
180050b9a3 Add Github Workflows to create test build for Linux, MacOS and Win32.
This is should make testing for normal endusers easier by providing
prebuild binaries for them. It also serves as a simple CI by compiling
every commit and Pull Request for Linux, MacOS and Win32. And it saves
time, because (Windows) test build must no longer created by hand.

* Windows is build for Win32 only. We won't add a Win64, because there's
  no point in having a 64 bit Windows release and it would break most
  existing mods. Savegames are also not compatible between 32 and 64 but
  builds.

* MacOS is build to get some test exposure and to publish up to date
  binaries to users. This doesn't mean that MacOS is now officially
  supported. It stays community supported. The binaries are untested,
  because I have no Mac. PRs are welcome. ;)

* Linux is build with ubuntu-latest, which is the last LTS release. The
  binaries should work on most other distros.

Windows includes all required dependencies. As a difference to release
builds the curl.dll is taken from upstream and not a cut down custom
build. MacOS and Linux do not ship the dependencies, users should
install them through Brew or their distro.

Github strips file permission when zipping the assets. A work around
would be to create a tar archive and zip that, but that is ugly. I
opted against it, users must mark the binaries executable by hand.

These workflows trigger at each push to the master master branch and at
each new or edited pull request.

Special features like SDL3 are not supported at this time.
2024-08-11 13:03:12 +02:00
Yamagi
4b24e16a64
Merge pull request #1126 from devnexen/late_fade_data
client sound fade_data is only really used later.
2024-08-11 09:08:35 +02:00
Jaime Moreira
011ea4a1b4 Removed inclusion of OpenGL ES 1.0 header
We're using a glad-generated loader, we don't need it.
Speaking about glad: deleted unused GL extensions in the loader.
2024-08-11 00:09:40 -04:00
Denis Pauk
ab6ce60758 Quake 2 8.42RR8:
- vk: draw alias models as single call,
- Support mdr(EliteForce) models support.

Merge remote-tracking branch 'yquake2/master'
2024-08-09 23:34:47 +03:00
Denis Pauk
7d3545abd7 Merge remote-tracking branch 'yquake2/master' 2024-08-09 01:35:40 +03:00
Denis Pauk
1a02a6423b vk: use single draw in Vk_RenderLightmappedPoly 2024-08-09 01:17:21 +03:00
Yamagi
c2d5b849e5 Bump version number to 8.42pre. 2024-08-08 18:56:25 +02:00
Yamagi
141bf6e7dd Bump version number to 8.41. 2024-08-08 18:55:54 +02:00
Yamagi
8cc3361730 Hardcode the SDL audio driver (again) to directsound under Windows.
Windows defaults to `wassapi`, which is a sensible choice. But WASAPI
only guarantees 32 bit float samples, anything else only works if the
driver or something supports it and YQ2 requires 16 bit samples. That
can be worked around by having SDL recode the audio, but I don't want
such a invasive change right before a release.

Another part of #1132.
2024-08-08 18:43:03 +02:00
Denis Pauk
a60ec01de9 vk: get rid of QVk_GetTriangleFanIbo 2024-08-08 00:51:23 +03:00
Denis Pauk
1382b02a3c vk: use GenFanIndexes directly in DrawVkPoly 2024-08-08 00:29:02 +03:00
Yamagi
409c508a7d Update CHANGELOG for 8.41. 2024-08-07 12:08:20 +02:00
Yamagi
b3c47df0c8 Don't overwrite SDLs audio driver selection.
Hardcoding default driver for some of the supported platform is a
remnant of SDL 1.2 and hasn't been necessary since SDL 2.0 a long
time ago. In fact it has a high properbility to break things, SDL
could easily end up with a non working driver.

When `s_sdldriver` is set to the newly introduced value `auto` the
driver is selected by SDL. In all other cases the string is the
driver name which SDL will be forced to.

This doesn't fix existing configs. Since the OpenAL sound backend has
been the default for nearly 15 years and we haven't received bug reports
for some other problem with the SDL sound backend in the past, I'm half
sure that there are next to users out there. These can reset the cvar
by hand if necessary.

Closes #1132.
2024-08-07 12:04:54 +02:00
BjossiAlfreds
a18ea4b11d CTRL actions work in pre-game console window 2024-08-06 23:48:37 +00:00
Denis Pauk
32d2a465d4 vk: use vkCmdDrawIndexed in EmitWaterPolys 2024-08-07 00:03:06 +03:00
Denis Pauk
dca42e0a04 vk: use vkCmdDrawIndexed in R_DrawSkyBox 2024-08-06 23:06:02 +03:00
Denis Pauk
ea069e4174 vk: use GenFanIndexes in R_RenderDlight 2024-08-06 00:18:17 +03:00
Denis Pauk
4ebe9a74c0 vk: single call render NullModel 2024-08-04 19:14:47 +03:00
Denis Pauk
409b5bcd20 vk: reuse index buffer for model shadow 2024-08-04 16:37:46 +03:00
Denis Pauk
7ab6341e5b vk: remove drawInfo usage in vk_mesh 2024-08-04 16:02:25 +03:00
Denis Pauk
138a51c476 vk: single call for all shadow mesh in alias model 2024-08-04 15:19:24 +03:00
Denis Pauk
a7dc338e5c vk: single call for all meshes in alias model 2024-08-04 13:35:13 +03:00
Denis Pauk
c43f8f1ce3 vk: use single index buffer for alias mesh 2024-08-04 00:48:54 +03:00
Jaime Moreira
bbdaadb104 Removed link to desktop OpenGL library for gles1
Done for all platforms, CMakeLists included. Unneeded with glad.
Renderer fallback logic now includes gles1, just before soft:
custom -> gl3 -> gles3 -> gl1 -> gles1 -> soft.
2024-08-03 12:39:23 -04:00
protocultor
f41cc545c6
Merge branch 'yquake2:master' into ref_gles1 2024-08-03 10:15:04 -04:00
Denis Pauk
cd16e9884d vk: rework fan index buffer cache 2024-08-03 13:48:56 +03:00
Denis Pauk
d9a240a935 vk: pregenerate index buffer in Vk_DrawAlias 2024-08-03 00:19:46 +03:00
Denis Pauk
06167fc711 vk: share buffers and pipeline select for whole mesh
Move gen Strip/Fan index to separate functions.
2024-08-02 13:52:39 +03:00
BjossiAlfreds
d11ba119bc CTRL+x and c for cut/copy to clipboard 2024-08-02 00:42:40 +00:00
BjossiAlfreds
ced8be673e CTRL+letter actions in console + cursor can be inside edit line 2024-08-01 22:04:25 +00:00
BjossiAlfreds
29eb6a601f Q_strdel and Q_strins utility functions 2024-07-31 21:40:11 +00:00
Denis Pauk
a0745ba023 Use SURF_TRANSPARENT instead SURF_TRANS33 | SURF_TRANS66 2024-07-31 22:48:53 +03:00
Denis Pauk
ea7f219832 Merge remote-tracking branch 'yquake2/master' 2024-07-31 22:42:18 +03:00
Yamagi
3aa051c6d2
Merge pull request #1133 from protocultor/lightmapchain_fix
Infinite loop in R_GetBrushesLighting() function, hangs the game
2024-07-31 20:22:57 +02: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
40e4eb135a Quake 2 8.41RR8
- Fix platforms in q64/outpost,
- Add MDR model format support,
- Sync with classic yquake 2 repository,
- Full support pcx version 5 format,
- Rework image load code.
2024-07-29 23:02:06 +03:00