yquake2remaster/README.md

123 lines
4.9 KiB
Markdown
Raw Normal View History

# 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
2024-02-24 15:35:37 +00:00
Alpha windows 64 bit [binaries](https://github.com/yquake2/yquake2remaster/releases).
2023-09-17 12:48:42 +00:00
State:
2023-12-24 15:14:00 +00:00
* GL1/GL3/GLES3/VK:
2023-12-21 17:47:43 +00:00
* base1: no known issies
* base2: no known issies
2023-09-17 12:48:42 +00:00
* q64/outpost: no known issies
2023-12-21 17:47:43 +00:00
* mguhub: loaded, sometimes broken logic for surface fall in next maps
* GL4:
* base1: unchecked
* base2: unchecked
* q64/outpost: unchecked
* mguhub: unchecked
2023-09-17 12:48:42 +00:00
* SOFT:
2023-12-21 17:47:43 +00:00
* base1: broken wall light
* base2: broken wall light
2023-09-17 12:48:42 +00:00
* q64/outpost: no known issies
2023-12-21 17:47:43 +00:00
* mguhub: broken wall light, sometimes broken logic for surface fall in next maps
2023-09-17 12:48:42 +00:00
2023-11-16 22:42:23 +00:00
Monsters:
2024-02-24 15:35:37 +00:00
* incorrect dead animation for Arachnid
2023-11-16 22:50:05 +00:00
* broken fire effect for Guardian
2023-11-16 22:42:23 +00:00
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 |
2024-02-10 13:23:38 +00:00
| ------ | -------------- | -------- |
| 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 |
2023-12-21 17:47:43 +00:00
Goals (finished):
2023-10-01 09:22:48 +00:00
* BSPX DECOUPLEDLM light map support (base1),
2023-10-02 22:05:16 +00:00
* QBSP map format support (mguhub),
* Use ffmpeg for load any video,
2023-12-21 17:47:43 +00:00
* 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.
2023-12-21 17:47:43 +00:00
2023-12-21 17:47:43 +00:00
Goals (none of it finished):
2024-02-04 23:29:56 +00:00
* md5 improve load speed,
2023-12-21 17:47:43 +00:00
* Single player support,
* support surface flags for Daikatana, Heretic 2, Anachronox,
* modified ReRelease game code support with removed KEX only related code.
2023-09-17 12:48:42 +00:00
Bonus goals:
2023-12-21 17:47:43 +00:00
* 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.
2023-09-17 12:48:42 +00:00
Not a goal:
2023-10-01 09:22:48 +00:00
* multiplayer protocol support with KEX engine,
* support KEX engine features (inventary, compass and so on),
* [KEX game library support](https://github.com/id-Software/quake2-rerelease-dll).
2023-10-11 17:22:56 +00:00
Code tested with such [maps](doc/100_tested_maps.md).
2016-12-03 08:24:33 +00:00
# Yamagi Quake II
2019-06-17 04:09:31 +00:00
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
2017-05-25 08:20:12 +00:00
nice to have features like widescreen support and a modern OpenGL 3.2 renderer
2019-06-17 04:09:31 +00:00
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
2020-11-24 13:12:10 +00:00
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
2016-12-02 15:38:42 +00:00
3.21. Yamagi Quake II is released under the terms of the GPL version 2. See the
LICENSE file for further information.
## Documentation
2019-06-17 04:09:31 +00:00
Before asking any question, read through the documentation! The current
2019-12-04 18:35:43 +00:00
version can be found here: [doc/010_index.md](doc/010_index.md)
## Releases
2018-11-07 15:34:12 +00:00
The official releases (including Windows binaries) can be found at our
2023-09-17 12:48:42 +00:00
homepage: https://www.yamagi.org/quake2
**Unsupported** preview builds for Windows can be found at
https://deponie.yamagi.org/quake2/misc/