Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jpcy/ioq3-premake-msvc
A Premake script for generating Visual Studio projects for ioquake3
https://github.com/jpcy/ioq3-premake-msvc
ioquake3 premake
Last synced: 2 months ago
JSON representation
A Premake script for generating Visual Studio projects for ioquake3
- Host: GitHub
- URL: https://github.com/jpcy/ioq3-premake-msvc
- Owner: jpcy
- License: unlicense
- Created: 2015-10-31T08:04:04.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2021-01-26T08:11:19.000Z (almost 4 years ago)
- Last Synced: 2023-08-03T22:58:54.964Z (over 1 year ago)
- Topics: ioquake3, premake
- Language: Lua
- Homepage:
- Size: 6.65 MB
- Stars: 22
- Watchers: 5
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## ioq3-premake-msvc
[![Actions Status](https://github.com/jpcy/ioq3-premake-msvc/workflows/build/badge.svg)](https://github.com/jpcy/ioq3-premake-msvc/actions) [![Appveyor CI Build Status](https://ci.appveyor.com/api/projects/status/github/jpcy/ioq3-premake-msvc?branch=master&svg=true)](https://ci.appveyor.com/project/jpcy/ioq3-premake-msvc)
A Premake script for generating Visual Studio projects for [ioquake3](https://github.com/ioquake/ioq3).
ioquake3 uses MinGW for Windows builds. There are Visual Studio projects in the offical repo, but they aren't maintained, and are incomplete and often broken.
![screenshot](https://github.com/jpcy/ioq3-premake-msvc/raw/master/screenshot.png)
## Instructions
1. Update submodules to get SDL. `git submodule update`
2. Clone [ioquake3](https://github.com/ioquake/ioq3) and this repository to the same parent directory.
3. Run `vs2017.bat` or `vs2019.bat`.
4. Open `build\vs201*\ioquake3.sln` in Visual Studio and compile.The compiled binaries are written to `build\vs201*\bin_*`. You can either manually copy them to your Quake 3 directory and run the ioquake3 executable, or read the section [Debugging ioquake3](#debugging-ioquake3) below.
## Options
As an alternative to the batch files, invoke premake directly with `premake5 [options] [action]`, where [options] are one or more of the following, and [action] is either vs2017 or vs 2019.Option | Description
------------------------- | -------------------------------------
--disable-client | Disable the ioquake3 project
--disable-server | Disable the dedicated server project
--disable-baseq3 | Disable the baseq3 projects
--disable-missionpack | Disable the missionpack projects
--disable-renderer-gl1 | Disable the OpenGL 1 renderer project
--disable-renderer-gl2 | Disable the OpenGL 2 renderer project
--disable-renderer-bgfx | Disable the bgfx renderer project
--disable-game-dll | Disable the game DLL projects
--disable-game-qvm | Disable the game QVM projects
--disable-ogg | Disable Ogg Opus and Vorbis support
--rename-baseq3=NAME | Rename the baseq3 project
--rename-missionpack=NAME | Rename the missionpack project
--standalone | Remove the dependency on Q3AFor example, run `premake5 --disable-baseq3 --disable-missionpack vs2017` if you don't want the game code projects.
## Debugging ioquake3
ioquake3 requires the baseq3 directory containing pak*.pk3 files to be in one of its search paths to run. The search paths are:* fs_homepath - `%APDDATA%\Quake3`
* fs_basepath - the same directory as the ioquake3 executable.
* fs_steampath - Steam Quake 3 (if present).ioq3-premake-msvc writes the compiled binaries to `build\vs201*\bin_*`. If you have the Steam version of Quake 3, this is not a problem - ioquake3 points fs_steampath to Steam and you can run the ioquake3 executable from anywhere. If you have the retail version of Quake 3, you have several options:
* Copy your Quake 3 baseq3 directory to `%APDDATA%\Quake3`
* Copy your Quake 3 baseq3 directory to `build\vs201*\bin_*`.
* Point fs_steampath at your Quake 3 directory. Open the ioquake3 project properties. Select "Debugging" and set "Command Arguments" to `+set fs_steampath "path"`, where path is the location of your Quake 3 install, e.g. `+set fs_steampath "D:\Games\Quake III Arena"`.You should now be able to run ioquake3 with the Visual Studio debugger.
To debug game code, add `+set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0` to the command arguments.
## BGFX renderer
An unofficial renderer using [bgfx](https://github.com/bkaradzic/bgfx) is available [here](https://github.com/jpcy/ioq3-renderer-bgfx). To generate a project file for it, clone to the same parent directory as [ioquake3](https://github.com/ioquake/ioq3) and [ioq3-premake-msvc](https://github.com/jpcy/ioq3-premake-msvc), then run premake again. Select the renderer in the game console with `cl_renderer bgfx` (requires a `vid_restart`).