Merge pull request #24 from hbokh/feature/apple-silicon-build

Update Makefile to build ref_vk.dylib on Apple Silicon
This commit is contained in:
Denis Pauk 2024-06-21 20:45:01 +03:00 committed by GitHub
commit d4eefa247c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 69 additions and 63 deletions

View file

@ -303,7 +303,8 @@ INCLUDE ?= -I/usr/local/include
else ifeq ($(YQ2_OSTYPE),Windows) else ifeq ($(YQ2_OSTYPE),Windows)
INCLUDE ?= -I/usr/include INCLUDE ?= -I/usr/include
else ifeq ($(YQ2_OSTYPE),Darwin) else ifeq ($(YQ2_OSTYPE),Darwin)
INCLUDE ?= -I/usr/local/include -I/opt/homebrew/include MOLTENVK_PATH ?= $(shell brew --prefix molten-vk)
INCLUDE ?= -I/usr/local/include -I/opt/homebrew/include -I$(MOLTENVK_PATH)/libexec/include
endif endif
# ---------- # ----------

129
README.md
View file

@ -6,27 +6,29 @@ 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. Feel free to try this code but you mileage may vary.
Have a look at the yquake2 repository for the "normal" Yamagi Quake II: Have a look at the yquake2 repository for the "normal" Yamagi Quake II:
https://github.com/yquake2/yquake2 <https://github.com/yquake2/yquake2>
Alpha windows 64 bit [binaries](https://github.com/yquake2/yquake2remaster/releases). Alpha windows 64 bit [binaries](https://github.com/yquake2/yquake2remaster/releases).
Saves format is unstabled and could change between alpha releases. Saves format is unstabled and could change between alpha releases.
State: State:
* GL1/GLES3/GL3/GL4/VK:
* base1: no known issues, * GL1/GLES3/GL3/GL4/VK:
* base2: no known issues, * base1: no known issues,
* q64/outpost: broken level change, * base2: no known issues,
* mguhub: sometimes broken logic for surface fall in next maps. * q64/outpost: broken level change,
* SOFT: * mguhub: sometimes broken logic for surface fall in next maps.
* base1: broken wall light and wall glitch, * SOFT:
* base2: broken wall light and wall glitch, * base1: broken wall light and wall glitch,
* q64/outpost: broken level change, scale textures unsupported, * base2: broken wall light and wall glitch,
* mguhub: broken wall light, sometimes broken logic for surface fall * q64/outpost: broken level change, scale textures unsupported,
* mguhub: broken wall light, sometimes broken logic for surface fall
in next maps. in next maps.
Monsters: Monsters:
* incorrect dead animation for Arachnid,
* broken fire effect for Guardian. * incorrect dead animation for Arachnid,
* broken fire effect for Guardian.
Models support: Models support:
@ -73,67 +75,70 @@ Maps support:
| BSPX | 39 | Quake 2 ReRelease (Extension to IBSP) | | BSPX | 39 | Quake 2 ReRelease (Extension to IBSP) |
Note: Note:
* Non Quake 2 maps are limmited mostly view only, and could have issues
* Non Quake 2 maps are limmited mostly view only, and could have issues
with tranparency or some animations flags and properties. with tranparency or some animations flags and properties.
* If you like support some other maps type, create pull request for Mod_Load2QBSP * If you like support some other maps type, create pull request for Mod_Load2QBSP
function and provide a link to demo maps. function and provide a link to demo maps.
Games: Games:
* Quake 2:
* SDK: https://github.com/id-Software/quake2-rerelease-dll * Quake 2:
* Tech info: https://bethesda.net/en/article/6NIyBxapXOurTKtF4aPiF4/enhancing-quake-ii * SDK: <https://github.com/id-Software/quake2-rerelease-dll>
* Anachronox: * Tech info: <https://bethesda.net/en/article/6NIyBxapXOurTKtF4aPiF4/enhancing-quake-ii>
* SDK: https://github.com/hogsy/chronon * Anachronox:
* Tech info: https://anachrodox.talonbrave.info/ * SDK: <https://github.com/hogsy/chronon>
* Kingpin: * Tech info: <https://anachrodox.talonbrave.info/>
* SDK: https://github.com/QuakeTools/Kingpin-SDK-v1.21 * Kingpin:
* Tech info: https://www.kingpin.info/ * SDK: <https://github.com/QuakeTools/Kingpin-SDK-v1.21>
* Daikatana: * Tech info: <https://www.kingpin.info/>
* Info: http://daikatananews.net/ * Daikatana:
* Heretic 2: * Info: <http://daikatananews.net/>
* SDK: https://www.quaddicted.com/files/idgames2/planetquake/hereticii/files/Ht2Toolkit_v1.06.exe * Heretic 2:
* Tech info: http://h2vault.infinityfreeapp.com/index.html * SDK: <https://www.quaddicted.com/files/idgames2/planetquake/hereticii/files/Ht2Toolkit_v1.06.exe>
* SiN: * Tech info: <http://h2vault.infinityfreeapp.com/index.html>
* Tools: [SiNview](https://web.archive.org/web/20001212060900/http://starbase.neosoft.com:80/~otaku/program.html) * SiN:
* Tools: https://www.moddb.com/games/sin/downloads/sin-modding-tools-and-other-stuff * Tools: [SiNview](https://web.archive.org/web/20001212060900/http://starbase.neosoft.com:80/~otaku/program.html)
* SDK: https://github.com/NightDive-Studio/sin-ex-game * Tools: <https://www.moddb.com/games/sin/downloads/sin-modding-tools-and-other-stuff>
* SDK: <https://github.com/NightDive-Studio/sin-ex-game>
Goals: Goals:
* [x] BSPX DECOUPLEDLM light map support (base1),
* [x] QBSP map format support (mguhub), * [x] BSPX DECOUPLEDLM light map support (base1),
* [x] Use ffmpeg for load any video, * [x] QBSP map format support (mguhub),
* [x] RoQ and Theora cinematic videos support. * [x] Use ffmpeg for load any video,
* [x] Cinematic videos support in smk, mpeg, ogv format, * [x] RoQ and Theora cinematic videos support.
* [x] Daikatana/Heretic 2 map partial format support, * [x] Cinematic videos support in smk, mpeg, ogv format,
* [x] md5 improve load speed, * [x] Daikatana/Heretic 2 map partial format support,
* [x] support Anachronox .dat format, * [x] md5 improve load speed,
* [x] suport Daikatana/SiN .pak/.sin format from pakextract, * [x] support Anachronox .dat format,
* [x] Support flow/scale flags for Q64 maps, * [x] suport Daikatana/SiN .pak/.sin format from pakextract,
* [x] Add debug progress loading code for maps, * [x] Support flow/scale flags for Q64 maps,
* [ ] Broken maps groups from base2 to next, * [x] Add debug progress loading code for maps,
* [ ] Single player support, * [ ] Broken maps groups from base2 to next,
* [ ] Support effects and additional flags for ReRelease when possible. * [ ] Single player support,
* [ ] Use shared model cache in client code insted reimplemnet in each render, * [ ] Support effects and additional flags for ReRelease when possible.
* [ ] Check load soft colormap as 24bit color, * [ ] Use shared model cache in client code insted reimplemnet in each render,
* [ ] Fix transparent textures in Daikatana/SiN maps, * [ ] Check load soft colormap as 24bit color,
* [ ] Use separete texture hi-color buffer for ui in soft render, * [ ] Fix transparent textures in Daikatana/SiN maps,
* [ ] Cleanup function declarations in game save code, * [ ] Use separete texture hi-color buffer for ui in soft render,
* [ ] Fix broken base3 with sorted fields names, * [ ] Cleanup function declarations in game save code,
* [x] Use 3 bytes vertex normal, * [ ] Fix broken base3 with sorted fields names,
* [ ] Support scalled textures for models and walls in soft render and fix * [x] Use 3 bytes vertex normal,
* [ ] Support scalled textures for models and walls in soft render and fix
lighting with remastered maps, lighting with remastered maps,
* [ ] Modified ReRelease game code support with removed KEX only related code. * [ ] Modified ReRelease game code support with removed KEX only related code.
Not a goal: Not a goal:
* [ ] Multiplayer protocol support with KEX engine,
* [ ] Support KEX engine features (inventary, compass and so on), * [ ] Multiplayer protocol support with KEX engine,
* [ ] [KEX game library support](https://github.com/id-Software/quake2-rerelease-dll). * [ ] Support KEX engine features (inventary, compass and so on),
* [ ] [KEX game library support](https://github.com/id-Software/quake2-rerelease-dll).
Code tested with such [maps](doc/100_tested_maps.md). Code tested with such [maps](doc/100_tested_maps.md).
# Yamagi Quake II # Yamagi Quake II
Yamagi Quake II is an enhanced client for id Software's Quake 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 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 are unchanged, but many bugs in the last official release were fixed and some
@ -155,6 +160,6 @@ version can be found here: [doc/010_index.md](doc/010_index.md)
## Releases ## Releases
The official releases (including Windows binaries) can be found at our The official releases (including Windows binaries) can be found at our
homepage: https://www.yamagi.org/quake2 homepage: <https://www.yamagi.org/quake2>
**Unsupported** preview builds for Windows can be found at **Unsupported** preview builds for Windows can be found at
https://deponie.yamagi.org/quake2/misc/ <https://deponie.yamagi.org/quake2/misc/>