Yamagi Quake II with Q2 Remaster support
Find a file
2024-03-14 22:27:33 +02:00
.github/workflows Version bump to 8.31RR3 2023-12-25 00:14:45 +02:00
doc client: bump protocol and game version / unstable compatibility 2024-02-29 00:05:21 +02:00
src models: mdl compress triangles 2024-03-14 22:27:33 +02:00
stuff Merge remote-tracking branch 'yquake2/master' 2023-12-16 23:14:52 +02:00
.gitignore Also ignore .d files as they got generated every time. 2015-11-12 19:15:37 +01:00
CHANGELOG Version bump 8.31RR5 2024-02-25 23:46:19 +02:00
LICENSE Add cURL to the LICENSE file. 2019-05-13 18:02:50 +02:00
Makefile game: Add support some of quake 1 monsters 2024-02-11 19:10:57 +02:00
README.md Version bump 8.31RR5 2024-02-25 23:46:19 +02:00

Yamagi Quake II Remaster

This is an experimental fork of Yamagi Quake II with ongoing work to add support for Quake II Enhanced aka Q2 Remaster(ed). This enhanced version has a lot non trivial changes, adding support isn't easy and takes time. Feel free to try this code but you mileage may vary.

Have a look at the yquake2 repository for the "normal" Yamagi Quake II: https://github.com/yquake2/yquake2

Alpha windows 64 bit binaries.

State:

  • GL1/GL3/GLES3/VK:
    • base1: no known issies
    • base2: no known issies
    • q64/outpost: no known issies
    • mguhub: loaded, sometimes broken logic for surface fall in next maps
  • GL4:
    • base1: unchecked
    • base2: unchecked
    • q64/outpost: unchecked
    • mguhub: unchecked
  • SOFT:
    • base1: broken wall light
    • base2: broken wall light
    • q64/outpost: no known issies
    • mguhub: broken wall light, sometimes broken logic for surface fall in next maps

Monsters:

  • incorrect dead animation for Arachnid,
  • broken fire effect for Guardian,
  • incorrect skin in soft render for Wizard mdl model.

Models support:

Format Original Game Frame vertex Comments
mdl Quake 1 8 bit could be issues with textures
md2 Quake 2 8 bit full support
md2 Anachronox 8/10/16 bit incorrect normals, does no suport tagged surfaces
fm Heretic 2 8 bit show all meshes,
dkm Daikatana DKM1 8 bit unchecked with game
dkm Daikatana DKM2 10 bit unchecked with game, incorrect normals
md3 Quake 3 16 bit show all meshes, no tags support, unchecked, slow
md5 Doom 3/Quake 4 float requires md2 for skins, show all meshes, slow

All models support only single texture for all meshes and only up to 255 frames.

Texture supported

Format Original Game Comments
wal Quake 2 8 bit
wal Daikatana 8 bit
m8 Heretic 2 8 bit
m32 Heretic 2 24 bit
pcx Quake2 24 bit
tga Quake2 24 bit
png retexturing 24 bit
jpg retexturing 24 bit
bmp Daikatana 24 bit

Goals (finished):

  • BSPX DECOUPLEDLM light map support (base1),
  • QBSP map format support (mguhub),
  • Use ffmpeg for load any video,
  • RoQ and Theora cinematic videos support.
  • Cinematic videos support in smk, mpeg, ogv format,
  • Daikatana/Heretic map partial format support,
  • Add debug progress loading code for maps.

Goals (none of it finished):

  • md5 improve load speed,
  • Single player support,
  • support surface flags for Daikatana, Heretic 2, Anachronox,
  • support Anachronox pak format,
  • modified ReRelease game code support with removed KEX only related code.

Bonus goals:

  • Use shared model cache in client code insted reimplemnet in each render,
  • Check load soft colormap as 24bit color,
  • Use separete texture hi-color buffer for ui in soft render,
  • Convert map surface flag by game type,
  • Cleanup function declarations in game save code,
  • Use 3 bytes vertex normal,
  • Support scalled textures for models and walls in soft render and fix lighting with remastered maps.

Not a goal:

  • multiplayer protocol support with KEX engine,
  • support KEX engine features (inventary, compass and so on),
  • KEX game library support.

Code tested with such maps.

Yamagi Quake II

Yamagi Quake II is an enhanced client for id Software's Quake II with focus on offline and coop gameplay. Both the gameplay and the graphics are unchanged, but many bugs in the last official release were fixed and some nice to have features like widescreen support and a modern OpenGL 3.2 renderer were added. Unlike most other Quake II source ports Yamagi Quake II is fully 64-bit clean. It works perfectly on modern processors and operating systems. Yamagi Quake II runs on nearly all common platforms; including FreeBSD, Linux, NetBSD, OpenBSD, Windows and macOS (experimental).

This code is built upon Icculus Quake II, which itself is based on Quake II 3.21. Yamagi Quake II is released under the terms of the GPL version 2. See the LICENSE file for further information.

Documentation

Before asking any question, read through the documentation! The current version can be found here: doc/010_index.md

Releases

The official releases (including Windows binaries) can be found at our homepage: https://www.yamagi.org/quake2 Unsupported preview builds for Windows can be found at https://deponie.yamagi.org/quake2/misc/