Skip to content

Latest commit

 

History

6,542 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yamagi Quake II Remaster

Coverity Scan Top Language Code Size Release Release Date AUR Version Downloads (total) Downloads (latest) Commits Last Commit Build Status Build Status Build Status Build Status Build Status Build Status Build Status

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.
  • Saves format is unstable and could change between alpha releases.
  • MacOS build is only build tested and run is not checked.
  • As benchmark could be used phoronix-test-suite profile.

Building from Source

If you downloaded the Source Code (ZIP) directly from GitHub, please note that GitHub does not include submodules in these archives. To build the project successfully, you have two options:

  • Follow the step-by-step instructions for a lightweight setup
  • Use CMake without submodules.

Asset Support

Yamagi Quake II Remaster supports a wide variety of model, texture, sprite, map, sound, and package formats from classic id Tech games and related titles (such as Quake, Quake 2, Half-Life, Hexen 2, Daikatana, SiN, Anachronox, Heretic 2, and Quake 3).

For complete technical specifications and compatibility tables, see .agents/docs/asset_support.md.

Games:

Games check videos:

  • 8.71RR15+:

Check Oblivion/Ininity state Check BSP46 state Check release state

  • 8.61RR15+:

Check hologram implementation

  • 8.61RR14+:

Check dynamic animation for weapons Check infinity mod

  • 8.61RR13+:

Check dynamic player swim Check demo maps Check demo maps

Checked with:

Check dynamic frames

  • 8.52RR13+:

Check dynamic frames split Check dynamic frames groups Check menu translation and fog

  • 8.52RR12+:

Quake I + Half Life 1 Demo Quake I + Hexen 2 Heretic 2 Book / Translate

  • 8.52RR12:

4k+ coordinates + flare

  • 8.51RR12:

PSX check Vault check

  • 8.42RR12+:

JaBot check Translation check Anacronox dance sector issue

  • 8.42RR11:

First episode Q2DQ2 8.42RR11

  • 8.42RR10:

8.42RR10

  • 8.42RR9:

8.42RR9

  • 8.42RR8:

8.42RR8

  • 8.31RR7:

8.31RR7

Goals, fully finished goals could be checked in here:

  • ReRelease maps: shows shadow in the middle of model,
  • soft: fix crash with md5 models in player model select and ASAN=1,
  • soft: q64/outpost scale textures unsupported,
  • soft: broken wall light and wall glitch,
  • soft: rework 32bit color cinema workarrounds,
  • soft: support scalled textures for models and walls, and fix lighting with remastered maps,
  • soft: use separete texture hi-color buffer for ui in soft render,
  • vulkan: rearange surfaces before render,
  • vulkan: add fog distance effect,
  • soft: add fog distance effect (optional),
  • reuse memory from models cache in renders model list,
  • reuse memory from models cache for bsp,
  • game: fix broken base3 with sorted fields names,
  • game: code has not reset ctf flag on load saves,
  • game: code has reset thirdperson flag on load new level,
  • game: check RealBoundingBox with frame box,
  • game/client: update bound box based on frame number,
  • ReRelease: incorrect dead animation for Arachnid,
  • ReRelease: broken fire effect for Guardian.
  • ReRelease: water in basicsjam1_ziutek,
  • ReRelease: make lightmap textures dynamic n64jam_palmlix,
  • ReRelease: support textures/*/*.mat load texture effects,
  • ReRelease: support textures/*/*_glow.png load,
  • ReRelease: support tactile/*/*.bnvib/.wav feedback load,
  • ReRelease: console ~ incorrectly show multibyte characters,
  • ReRelease: basicsjam1_detrohogga: fix droptofloor startsolid,
  • gl1, gl3, gl4, vk, soft: implement direction of CS_SHADOWLIGHTS,
  • gl3, gl4: implement color multiplication and alpha gradient for misc_flare,
  • gl3, gl4, vk: fix and port r_bloom,
  • gl1, gl3, gl4, vk: apply improvements from gl3 to other renders,
  • soft: implement color multiplication and alpha combine or make black parts transparent for misc_flare,
  • ReRelease: Add support of func_eye,
  • ReRelease: Add support of info_landmark,
  • ReRelease: Add support of info_nav_lock,
  • ReRelease: Add support of info_world_text,
  • ReRelease: Add support of target_healthbar,
  • ReRelease: Add support of target_poi,
  • ReRelease: Add support of trigger_coop_relay,
  • ReRelease: Add support of trigger_health_relay,
  • ReRelease: single player support,
  • ReRelease: support effects and additional flags when possible,
  • ReRelease: implement demo protocol based on https://github.com/res2k/q2proto and https://github.com/Paril/quake2-rerelease-dll,
  • ReRelease: modified game code support with removed KEX only related code.

Other games support goals:

  • jabot: make count of nodes/edicts dynamic allocations,
  • Heretic 2: add swim player animation support,
  • Heretic 2: add utf8 colors and fonts support in console,
  • Doom: implement map load logic,
  • Quake 3: finish map load logic,
  • Quake, Half-Life, Hexen 2: fix brush flags,
  • Anachronox: load atd as sprite,
  • Anachronox: fix incorrect scale of ob_stop-flame and ob_wommhill01,
  • Anachronox: skins load broken with mingw win64 build,
  • Anachronox: CTC entity format,
  • Anachronox: support material load textures/textureinfo.dat,
  • Daikatana: Fix protopod animation,
  • Daikatana/SiN: Fix transparent textures in maps,
  • DoD: fix statusbar roarke,
  • Infinity: Add support of item_radar,
  • Infinity: Add support of monster_alienship1,
  • Infinity: Add support of monster_grunt1v1,
  • Infinity: Add support of monster_grunt1v2,
  • Infinity: Add support of monster_grunt2,
  • Infinity: Add support of monster_screamer,
  • Infinity: Add support of weapon_pistol,
  • Infinity: Add support of weapon_6bshot,
  • Infinity: Add support of weapon_biggun,
  • Infinity: Add support of weapon_blaze,
  • Infinity: Add support of weapon_goop,
  • Infinity: Add support of weapon_rifle,
  • Oblivion: Add support of ammo_dod,
  • Oblivion: Add support of func_rotate_train,
  • Oblivion: Add support of info_teleporter_dest,
  • Oblivion: Add support of misc_camera,
  • Oblivion: Add support of misc_camera_target,
  • Oblivion: Add support of misc_screenfader,
  • Oblivion: Add support of trigger_misc_camera,
  • Oblivion: Add support of weapon_rtdu,
  • Oblivion: Add dynamic animation based on activate for badass and floater,
  • Dynamic count of entities on client.

Fixed:

  • Oblivion: Add support of ammo_mines,
  • Support load .cin by ffmpeg from .pak file
  • Support obj waveform model format for debug other formats,
  • vulkan: group it_pic images,
  • Heretic 2: correct obj placeholders,
  • windows build: restore build asset on tag,
  • Oblivion: Add support of ammo_detpack,
  • Oblivion: Add support of weapon_remote_detonator,
  • Oblivion: Add support of target_rocket,
  • Oblivion: Add support of target_railgun,
  • Oblivion: Add support of monster_spider,
  • Oblivion: Add support of monster_badass,
  • Oblivion: Add support of monster_cyborg,
  • Oblivion: Add support of monster_kigrax,
  • Infinity: Add support of ammo_goop,
  • Infinity: Add support of ammo_energy,
  • Oblivion: Add support of ammo_rifleplasma,
  • Half-Life: support mdl,
  • Oblivion: Add support of weapon_hellfury,
  • Oblivion: Add support of weapon_plasma_pistol,
  • Oblivion: Add support of weapon_plasma_rifle,
  • Oblivion: Add support of weapon_deatomizer,
  • renders: add lanczos3 2x scale by r_scale32bittextures,
  • Oblivion: Add support of monster_soldier_deatom,

Not a goal:

  • Multiplayer protocol support with KEX engine,
  • Support KEX engine features (inventory, compass and so on),
  • KEX game library support.

Additional requirements:

  • ReRelease localization requires Q2Game.kpf file in root directory of game. If you like to support your language put it to localization/loc_.txt and extend MAX_FONTCODE to your max symbol code. Used font and language file are defined by language and r_ttffont, as an example could be used fonts like unifont.
  • Heretic 2 localization requires levelmsg.txt in game directory.
  • Hexen 2 localization requires Strings.txt in game directory.

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

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:

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:

Development

Yamagi Quake II is a community driven project and lives from community involvement. Please report bugs in our issue tracker:

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 is welcome before putting too much work into it. Open a pull request to submit code:

Also have a look at our contributors guide:

Documentation

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:

Releases

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:

Our CI builds unsupported Linux, MacOS and Windows binaries at every commit. The artifacts can be found here:

About

Yamagi Quake II with Q2 Remaster support

Resources

Stars

113 stars

Watchers

14 watching

Forks

Releases

Used by

Contributors

Languages