{"id":17067774,"url":"https://github.com/jpcy/ioq3-premake-msvc","last_synced_at":"2025-04-12T18:52:25.932Z","repository":{"id":54836598,"uuid":"45293876","full_name":"jpcy/ioq3-premake-msvc","owner":"jpcy","description":"A Premake script for generating Visual Studio projects for ioquake3","archived":false,"fork":false,"pushed_at":"2021-01-26T08:11:19.000Z","size":6968,"stargazers_count":24,"open_issues_count":1,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-26T13:11:15.673Z","etag":null,"topics":["ioquake3","premake"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jpcy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-31T08:04:04.000Z","updated_at":"2024-06-12T05:19:00.000Z","dependencies_parsed_at":"2022-08-14T04:20:23.388Z","dependency_job_id":null,"html_url":"https://github.com/jpcy/ioq3-premake-msvc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcy%2Fioq3-premake-msvc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcy%2Fioq3-premake-msvc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcy%2Fioq3-premake-msvc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcy%2Fioq3-premake-msvc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpcy","download_url":"https://codeload.github.com/jpcy/ioq3-premake-msvc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248618237,"owners_count":21134200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ioquake3","premake"],"created_at":"2024-10-14T11:11:37.331Z","updated_at":"2025-04-12T18:52:25.894Z","avatar_url":"https://github.com/jpcy.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"## ioq3-premake-msvc \n\n[![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\u0026svg=true)](https://ci.appveyor.com/project/jpcy/ioq3-premake-msvc)\n\nA Premake script for generating Visual Studio projects for [ioquake3](https://github.com/ioquake/ioq3).\n\nioquake3 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.\n\n![screenshot](https://github.com/jpcy/ioq3-premake-msvc/raw/master/screenshot.png)\n\n## Instructions\n1. Update submodules to get SDL. `git submodule update`\n2. Clone [ioquake3](https://github.com/ioquake/ioq3) and this repository to the same parent directory.\n3. Run `vs2017.bat` or `vs2019.bat`.\n4. Open `build\\vs201*\\ioquake3.sln` in Visual Studio and compile.\n\nThe 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.\n\n## Options\nAs 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.\n\nOption                    | Description\n------------------------- | -------------------------------------\n--disable-client          | Disable the ioquake3 project\n--disable-server          | Disable the dedicated server project\n--disable-baseq3          | Disable the baseq3 projects\n--disable-missionpack     | Disable the missionpack projects\n--disable-renderer-gl1    | Disable the OpenGL 1 renderer project\n--disable-renderer-gl2    | Disable the OpenGL 2 renderer project\n--disable-renderer-bgfx   | Disable the bgfx renderer project\n--disable-game-dll        | Disable the game DLL projects\n--disable-game-qvm        | Disable the game QVM projects\n--disable-ogg             | Disable Ogg Opus and Vorbis support\n--rename-baseq3=NAME      | Rename the baseq3 project\n--rename-missionpack=NAME | Rename the missionpack project\n--standalone              | Remove the dependency on Q3A\n\nFor example, run `premake5 --disable-baseq3 --disable-missionpack vs2017` if you don't want the game code projects.\n\n## Debugging ioquake3\nioquake3 requires the baseq3 directory containing pak*.pk3 files to be in one of its search paths to run. The search paths are:\n\n* fs_homepath - `%APDDATA%\\Quake3`\n* fs_basepath - the same directory as the ioquake3 executable.\n* fs_steampath - Steam Quake 3 (if present).\n\nioq3-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:\n\n* Copy your Quake 3 baseq3 directory to `%APDDATA%\\Quake3`\n* Copy your Quake 3 baseq3 directory to `build\\vs201*\\bin_*`.\n* 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\"`.\n\nYou should now be able to run ioquake3 with the Visual Studio debugger.\n\nTo debug game code, add `+set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0` to the command arguments.\n\n## BGFX renderer\nAn 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`).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpcy%2Fioq3-premake-msvc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpcy%2Fioq3-premake-msvc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpcy%2Fioq3-premake-msvc/lists"}