2023-09-16 15:25:41 +00: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:
|
2024-06-21 12:02:52 +00:00
|
|
|
|
<https://github.com/yquake2/yquake2>
|
2023-09-16 15:25:41 +00:00
|
|
|
|
|
2024-02-24 15:35:37 +00:00
|
|
|
|
Alpha windows 64 bit [binaries](https://github.com/yquake2/yquake2remaster/releases).
|
2024-05-06 21:32:31 +00:00
|
|
|
|
Saves format is unstabled and could change between alpha releases.
|
2024-02-24 15:35:37 +00:00
|
|
|
|
|
2023-09-17 12:48:42 +00:00
|
|
|
|
State:
|
2024-06-21 12:02:52 +00:00
|
|
|
|
|
|
|
|
|
* GL1/GLES3/GL3/GL4/VK:
|
|
|
|
|
* base1: no known issues,
|
|
|
|
|
* base2: no known issues,
|
|
|
|
|
* q64/outpost: broken level change,
|
|
|
|
|
* mguhub: sometimes broken logic for surface fall in next maps.
|
|
|
|
|
* SOFT:
|
|
|
|
|
* base1: broken wall light and wall glitch,
|
|
|
|
|
* base2: broken wall light and wall glitch,
|
|
|
|
|
* q64/outpost: broken level change, scale textures unsupported,
|
|
|
|
|
* mguhub: broken wall light, sometimes broken logic for surface fall
|
2024-04-21 16:26:12 +00:00
|
|
|
|
in next maps.
|
2023-09-17 12:48:42 +00:00
|
|
|
|
|
2023-11-16 22:42:23 +00:00
|
|
|
|
Monsters:
|
2024-06-21 12:02:52 +00:00
|
|
|
|
|
|
|
|
|
* incorrect dead animation for Arachnid,
|
2024-09-21 14:57:56 +00:00
|
|
|
|
* broken fire effect for Guardian,
|
|
|
|
|
* q64/outpost can't change to next level.
|
2023-11-16 22:42:23 +00:00
|
|
|
|
|
2024-02-10 12:29:14 +00:00
|
|
|
|
Models support:
|
|
|
|
|
|
2024-05-06 21:32:31 +00:00
|
|
|
|
| Format | Original Game | Frame vertex | Meshes | Comments |
|
|
|
|
|
| ------ | --------------- | ------------ | -------- | --------------------------------------- |
|
|
|
|
|
| mdl | Quake 1 | 8 bit | Single | Unsupported grouped textures |
|
|
|
|
|
| md2 | Quake 2 | 8 bit | Single | |
|
2024-09-15 14:46:21 +00:00
|
|
|
|
| mda | Anachronox | Part of md2 | Single | No tagged surfaces |
|
2024-05-06 21:32:31 +00:00
|
|
|
|
| md2 | Anachronox | 8/10/16 bit | Single | No tagged surfaces, unchecked with game |
|
|
|
|
|
| mdx | Kingpin | 8 bit | Multiple | No sfx support, unchecked with game |
|
|
|
|
|
| fm | Heretic 2 | 8 bit | Multiple | |
|
|
|
|
|
| def | SiN | Part of sam | Multiple | Unchecked with game |
|
|
|
|
|
| dkm | Daikatana DKM1 | 8 bit | Multiple | Unchecked with game |
|
|
|
|
|
| dkm | Daikatana DKM2 | 10 bit | Multiple | Unchecked with game |
|
|
|
|
|
| md3 | Quake 3 | 16 bit | Multiple | No tags support |
|
2024-07-29 10:29:19 +00:00
|
|
|
|
| mdr | EliteForce | float | Multiple | No tags support. Uses first LOD only |
|
2024-05-06 21:32:31 +00:00
|
|
|
|
| md5 | Doom 3/Quake 4 | float | Multiple | Requires md2 for skins |
|
|
|
|
|
| sbm | SiN | Part of sam | Multiple | Unchecked with game |
|
|
|
|
|
| sam | SiN | 8 bit | Multiple | Unchecked with game |
|
2024-02-10 12:29:14 +00:00
|
|
|
|
|
2024-05-06 20:38:22 +00:00
|
|
|
|
All models support only single texture for all meshes and frames limit based on game protocol.
|
2024-02-10 12:29:14 +00:00
|
|
|
|
|
2024-03-23 13:51:52 +00:00
|
|
|
|
Texture support:
|
2024-02-10 12:29:14 +00:00
|
|
|
|
|
|
|
|
|
| Format | Original Game | Comments |
|
2024-02-10 13:23:38 +00:00
|
|
|
|
| ------ | -------------- | -------- |
|
2024-02-10 12:29:14 +00:00
|
|
|
|
| wal | Quake 2 | 8 bit |
|
|
|
|
|
| wal | Daikatana | 8 bit |
|
2024-04-07 03:12:54 +00:00
|
|
|
|
| swl | SiN | 8 bit |
|
2024-02-10 12:29:14 +00:00
|
|
|
|
| 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 |
|
|
|
|
|
|
2024-03-23 13:51:52 +00:00
|
|
|
|
Maps support:
|
|
|
|
|
|
|
|
|
|
| Format | Version | Game |
|
|
|
|
|
| ------ | ------- | ------------------------------------------ |
|
|
|
|
|
| IBSP | 39 | Quake 2 / Anachronox / Kingpin / Heretic 2 |
|
2024-04-21 16:26:12 +00:00
|
|
|
|
| IBSP | 41 | Daikatana / SIN |
|
|
|
|
|
| RBSP | 1 | SIN |
|
2024-03-23 13:51:52 +00:00
|
|
|
|
| QBSP | 39 | Quake 2 ReRelease |
|
|
|
|
|
| BSPX | 39 | Quake 2 ReRelease (Extension to IBSP) |
|
|
|
|
|
|
|
|
|
|
Note:
|
2024-06-21 12:02:52 +00:00
|
|
|
|
|
|
|
|
|
* Non Quake 2 maps are limmited mostly view only, and could have issues
|
2024-03-23 13:51:52 +00:00
|
|
|
|
with tranparency or some animations flags and properties.
|
2024-06-21 12:02:52 +00:00
|
|
|
|
* If you like support some other maps type, create pull request for Mod_Load2QBSP
|
2024-05-06 21:32:31 +00:00
|
|
|
|
function and provide a link to demo maps.
|
2024-09-13 21:11:42 +00:00
|
|
|
|
* Use `maptype 1` before load any Heretic 2 maps. Look to
|
|
|
|
|
[maptype_t](src/common/header/cmodel.h#L42) for more info.
|
2024-03-23 13:51:52 +00:00
|
|
|
|
|
2024-04-21 16:26:12 +00:00
|
|
|
|
Games:
|
2024-06-21 12:02:52 +00:00
|
|
|
|
|
|
|
|
|
* Quake 2:
|
|
|
|
|
* SDK: <https://github.com/id-Software/quake2-rerelease-dll>
|
|
|
|
|
* Tech info: <https://bethesda.net/en/article/6NIyBxapXOurTKtF4aPiF4/enhancing-quake-ii>
|
|
|
|
|
* Anachronox:
|
|
|
|
|
* SDK: <https://github.com/hogsy/chronon>
|
2024-07-29 12:07:57 +00:00
|
|
|
|
* SDK: <https://code.idtech.space/ion-storm/anachronox-sdk>
|
2024-06-21 12:02:52 +00:00
|
|
|
|
* Tech info: <https://anachrodox.talonbrave.info/>
|
|
|
|
|
* Kingpin:
|
|
|
|
|
* SDK: <https://github.com/QuakeTools/Kingpin-SDK-v1.21>
|
2024-07-29 12:07:57 +00:00
|
|
|
|
* SDK: <https://code.idtech.space/xatrix/kingpin-sdk>
|
2024-06-21 12:02:52 +00:00
|
|
|
|
* Tech info: <https://www.kingpin.info/>
|
|
|
|
|
* Daikatana:
|
|
|
|
|
* Info: <http://daikatananews.net/>
|
|
|
|
|
* Heretic 2:
|
|
|
|
|
* SDK: <https://www.quaddicted.com/files/idgames2/planetquake/hereticii/files/Ht2Toolkit_v1.06.exe>
|
2024-07-29 12:07:57 +00:00
|
|
|
|
* SDK: <https://code.idtech.space/raven/heretic2-sdk>
|
2024-06-21 12:02:52 +00:00
|
|
|
|
* Tech info: <http://h2vault.infinityfreeapp.com/index.html>
|
|
|
|
|
* SiN:
|
|
|
|
|
* Tools: [SiNview](https://web.archive.org/web/20001212060900/http://starbase.neosoft.com:80/~otaku/program.html)
|
|
|
|
|
* Tools: <https://www.moddb.com/games/sin/downloads/sin-modding-tools-and-other-stuff>
|
|
|
|
|
* SDK: <https://github.com/NightDive-Studio/sin-ex-game>
|
2024-09-21 14:57:56 +00:00
|
|
|
|
* SDK: <https://github.com/jimdose/SiN_110_Source>
|
2024-07-29 12:07:57 +00:00
|
|
|
|
* SDK: <https://code.idtech.space/ritual/sin-sdk>
|
2024-04-21 16:26:12 +00:00
|
|
|
|
|
2024-09-21 14:57:56 +00:00
|
|
|
|
Games check videos:
|
|
|
|
|
|
|
|
|
|
* 8.42RR9:
|
|
|
|
|
|
|
|
|
|
[![Latest Video](https://img.youtube.com/vi/N0iHhEDkZFg/0.jpg)](https://www.youtube.com/watch?v=N0iHhEDkZFg)
|
|
|
|
|
|
|
|
|
|
* 8.42RR8:
|
|
|
|
|
|
|
|
|
|
[![8.42RR8](https://img.youtube.com/vi/NJ7T0cdyqk8/0.jpg)](https://www.youtube.com/watch?v=NJ7T0cdyqk8)
|
|
|
|
|
|
|
|
|
|
* 8.31RR7:
|
|
|
|
|
|
|
|
|
|
[![8.31RR7](https://img.youtube.com/vi/VAFs1HtQU_0/0.jpg)](https://www.youtube.com/watch?v=VAFs1HtQU_0)
|
|
|
|
|
|
|
|
|
|
|
2024-04-24 20:57:46 +00:00
|
|
|
|
Goals:
|
2024-06-21 12:02:52 +00:00
|
|
|
|
|
|
|
|
|
* [x] BSPX DECOUPLEDLM light map support (base1),
|
|
|
|
|
* [x] QBSP map format support (mguhub),
|
|
|
|
|
* [x] Use ffmpeg for load any video,
|
|
|
|
|
* [x] RoQ and Theora cinematic videos support.
|
|
|
|
|
* [x] Cinematic videos support in smk, mpeg, ogv format,
|
|
|
|
|
* [x] Daikatana/Heretic 2 map partial format support,
|
|
|
|
|
* [x] md5 improve load speed,
|
|
|
|
|
* [x] support Anachronox .dat format,
|
|
|
|
|
* [x] suport Daikatana/SiN .pak/.sin format from pakextract,
|
|
|
|
|
* [x] Support flow/scale flags for Q64 maps,
|
|
|
|
|
* [x] Add debug progress loading code for maps,
|
2024-09-13 21:11:42 +00:00
|
|
|
|
* [x] MDR model format from Star Trek: Voyager – Elite Force,
|
2024-09-21 14:57:56 +00:00
|
|
|
|
* [x] MDA entity format from Anachronox,
|
|
|
|
|
* [ ] CTC entity format from Anachronox,
|
|
|
|
|
* [ ] Support material load textures/textureinfo.dat from Anachronox,
|
|
|
|
|
* [ ] Support textures/*/*.mat load from ReRelease,
|
|
|
|
|
* [ ] Support textures/*/*_glow.png load from ReRelease,
|
|
|
|
|
* [ ] Support tactile/*/*.bnvib/.wav feedback load from ReRelease,
|
2024-09-08 20:40:57 +00:00
|
|
|
|
* [x] RGB particles support instead palette based one,
|
2024-09-08 21:18:44 +00:00
|
|
|
|
* [x] Get rid of VID_PaletteColor client internal api use,
|
2024-07-29 12:07:57 +00:00
|
|
|
|
* [x] Broken maps groups from base2 to next,
|
2024-10-20 13:32:11 +00:00
|
|
|
|
* [ ] Group `it_pic` images in vulkan render,
|
|
|
|
|
* [ ] Rearange surfaces in vulkan render before render,
|
|
|
|
|
* [ ] Fully implement `target_camera`,
|
|
|
|
|
* [ ] Fully implement `misc_flare`,
|
2024-09-08 20:40:57 +00:00
|
|
|
|
* [ ] Single player ReRelease support,
|
2024-06-21 12:02:52 +00:00
|
|
|
|
* [ ] Support effects and additional flags for ReRelease when possible.
|
|
|
|
|
* [ ] Use shared model cache in client code insted reimplemnet in each render,
|
2024-09-13 21:11:42 +00:00
|
|
|
|
* [x] Check load soft colormap as 24bit color from loaded image,
|
2024-06-21 12:02:52 +00:00
|
|
|
|
* [ ] Fix transparent textures in Daikatana/SiN maps,
|
|
|
|
|
* [ ] Use separete texture hi-color buffer for ui in soft render,
|
|
|
|
|
* [ ] Cleanup function declarations in game save code,
|
|
|
|
|
* [ ] Fix broken base3 with sorted fields names,
|
|
|
|
|
* [x] Use 3 bytes vertex normal,
|
|
|
|
|
* [ ] Support scalled textures for models and walls in soft render and fix
|
2024-03-30 16:29:36 +00:00
|
|
|
|
lighting with remastered maps,
|
2024-06-21 12:02:52 +00:00
|
|
|
|
* [ ] Modified ReRelease game code support with removed KEX only related code.
|
2023-09-17 12:48:42 +00:00
|
|
|
|
|
|
|
|
|
Not a goal:
|
2024-06-21 12:02:52 +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-01 09:22:48 +00:00
|
|
|
|
|
2023-10-11 17:22:56 +00:00
|
|
|
|
Code tested with such [maps](doc/100_tested_maps.md).
|
2023-09-16 15:25:41 +00:00
|
|
|
|
|
2016-12-03 08:24:33 +00:00
|
|
|
|
# Yamagi Quake II
|
2016-06-06 18:10:12 +00:00
|
|
|
|
|
2024-08-12 06:54:03 +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 nice to have features like widescreen support, reliable support for
|
|
|
|
|
high framerates, a modern sound backend based upon OpenAL, support for
|
|
|
|
|
modern game controllers 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.
|
|
|
|
|
|
|
|
|
|
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 LICENSE for further information:
|
|
|
|
|
|
|
|
|
|
* [LICENSE](https://github.com/yquake2/yquake2/blob/master/LICENSE)
|
|
|
|
|
|
|
|
|
|
Officially supported operating systems are:
|
|
|
|
|
|
|
|
|
|
* FreeBSD
|
|
|
|
|
* Linux
|
|
|
|
|
* Windows
|
|
|
|
|
|
|
|
|
|
Beside theses Yamagi Quake II has community support for MacOS and most
|
|
|
|
|
other unixoid operating systems, including NetBSD, OpenBSD and Solaris.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Addons and partner projects
|
|
|
|
|
|
|
|
|
|
This repository contains Yamagi Quake II itself. The official addons
|
|
|
|
|
have their own repositories:
|
|
|
|
|
|
|
|
|
|
* [The Reckoning](https://github.com/yquake2/xatrix)
|
|
|
|
|
* [Ground Zero](https://github.com/yquake2/rogue)
|
|
|
|
|
* [Three Waves Capture The Flag](https://github.com/yquake2/ctf)
|
|
|
|
|
|
|
|
|
|
Yamagi Quake II Remaster is a project providing optional support for the
|
|
|
|
|
assets of Quake II Remaster by Nightdive Studios and has a less
|
|
|
|
|
conservative approach in regards to new features. It also lives in it's
|
|
|
|
|
own repository:
|
|
|
|
|
|
|
|
|
|
* [Yamagi Quake II Remaster](https://github.com/yquake2/yquake2remaster)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Development
|
|
|
|
|
|
|
|
|
|
Yamagi Quake II is a community driven project and lives from community
|
|
|
|
|
involvement. Please report bugs in our issue tracker:
|
|
|
|
|
|
|
|
|
|
* [Issue Tracker](https://github.com/yquake2/yquake2/issues)
|
|
|
|
|
|
|
|
|
|
We are always open to code contributions, no matter if they are small
|
|
|
|
|
bugfixes or bigger features. However, Yamagi Quake II is a conservative
|
|
|
|
|
project with big focus on stability and backward compatibility. We don't
|
|
|
|
|
accept breaking changes. When in doubt please open an issue and ask if a
|
|
|
|
|
contribution in welcome before putting too much work into it. Open a
|
|
|
|
|
pull request to submit code:
|
|
|
|
|
|
|
|
|
|
* [Pull Requests](https://github.com/yquake2/yquake2/pulls)
|
|
|
|
|
|
|
|
|
|
Also have a look at our contributors guide:
|
|
|
|
|
|
2024-08-12 16:21:22 +00:00
|
|
|
|
* [Contributors Guide](https://github.com/yquake2/yquake2/blob/master/doc/080_contributing.md)
|
2024-08-12 06:54:03 +00:00
|
|
|
|
|
2016-06-06 18:10:12 +00:00
|
|
|
|
|
2018-11-07 14:58:22 +00:00
|
|
|
|
## Documentation
|
2016-06-06 18:10:12 +00:00
|
|
|
|
|
2024-08-12 06:54:03 +00:00
|
|
|
|
Yamagi Quake II has rather extensive documentation covering all relevant
|
|
|
|
|
areas from installation and configuration to package building. Have a
|
|
|
|
|
look at the documentation index:
|
|
|
|
|
|
|
|
|
|
* [Documentation Index](https://github.com/yquake2/yquake2/blob/master/doc/010_index.md)
|
|
|
|
|
|
2016-06-06 18:10:12 +00:00
|
|
|
|
|
2018-11-07 14:58:22 +00:00
|
|
|
|
## Releases
|
2016-06-06 18:10:12 +00:00
|
|
|
|
|
2024-08-12 06:54:03 +00:00
|
|
|
|
Yamagi Quake II releases at an irregular schedule. The official releases
|
|
|
|
|
with source code tarballs and prebuild Windows binaries can be found at
|
|
|
|
|
the homepage:
|
|
|
|
|
|
|
|
|
|
* [Homepage](https://www.yamagi.org/quake2/)
|
|
|
|
|
|
|
|
|
|
Our CI builds **unsupported** Linux, MacOS and Windows binaries at every
|
|
|
|
|
commit. The artifacts can be found here:
|
|
|
|
|
|
|
|
|
|
* [Github Actions](https://github.com/yquake2/yquake2/actions)
|