From b07922a0953dafb00bbbecd8c68d41537a064dba Mon Sep 17 00:00:00 2001 From: Razish Date: Mon, 25 Sep 2023 23:49:49 +1000 Subject: [PATCH 1/6] update readme --- README.md | 126 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 65 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index 069c314e9d..d63490a10b 100644 --- a/README.md +++ b/README.md @@ -1,99 +1,103 @@ # OpenJK -OpenJK is an effort by the JACoders group to maintain and improve the game engines on which the Jedi Academy (JA) and Jedi Outcast (JO) games run on, while maintaining *full backwards compatibility* with the existing games. *This project does not attempt to rebalance or otherwise modify core gameplay*. +OpenJK is a community effort to maintain and improve the game and engine powering Jedi Academy and Jedi Outcast, while maintaining _full backwards compatibility_ with the existing games and mods. +This project does not intend to add major features, rebalance, or otherwise modify core gameplay. Our aims are to: -* Improve the stability of the engine by fixing bugs and improving performance. -* Provide a clean base from which new JO and JA code modifications can be made. -* Make available this engine to more operating systems. To date, we have ports on Linux and macOS. -Currently, the most stable portion of this project is the Jedi Academy multiplayer code, with the single player code in a reasonable state. +- Improve the stability of the engine by fixing bugs and improving performance. +- Support more hardware (x86_64, Arm, Apple Silicon) and software platforms (Linux, macOS) +- Provide a clean base from which new code modifications can be made. -Rough support for Jedi Outcast single player is also available, however this should be considered heavily work in progress. This is not currently actively worked on or tested. OpenJK does not have Jedi Outcast multiplayer support. +[![discord](https://img.shields.io/badge/discord-join-7289DA.svg?logo=discord&longCache=true&style=flat)](https://discord.gg/dPNCfeQ) +[![forum](https://img.shields.io/badge/forum-JKHub.org%20OpenJK-brightgreen.svg)](https://jkhub.org/forums/forum/49-openjk/) -Please use discretion when making issue requests on GitHub. The [JKHub sub-forum](https://jkhub.org/forums/forum/49-openjk/) is a better place for support queries, discussions, and feature requests. +[![build](https://github.com/JACoders/OpenJK/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/JACoders/OpenJK/actions/workflows/build.yml?query=branch%3Amaster) +[![coverity](https://scan.coverity.com/projects/1153/badge.svg)](https://scan.coverity.com/projects/1153) - -[![Forum](https://img.shields.io/badge/forum-JKHub.org%20OpenJK-brightgreen.svg)](https://jkhub.org/forums/forum/49-openjk/) +## Supported Games -[![Coverity Scan Build Status](https://scan.coverity.com/projects/1153/badge.svg)](https://scan.coverity.com/projects/1153) +| Game | Single Player | Multi Player | +| - | - | - | +| Jedi Academy | ✅ Stable | ✅ Stable | +| Jedi Outcast | 🫤 Works, needs attention | 🙅 Not supported - consider [JK2MV](https://jk2mv.org) | +| Jedi Knight DF2 | 💡 Consider [OpenJKDF2](https://github.com/shinyquagsire23/OpenJKDF2) | 😶 N/A | -## License +Please direct support queries, discussions and feature requests to the JKHub sub-forum or Discord linked above. -OpenJK is licensed under GPLv2 as free software. You are free to use, modify and redistribute OpenJK following the terms in LICENSE.txt. +## License +OpenJK is licensed under GPLv2 as free software. You are free to use, modify and redistribute OpenJK following the terms in [LICENSE.txt](https://github.com/JACoders/OpenJK/blob/master/LICENSE.txt) ## For players -To install OpenJK, you will first need Jedi Academy installed. If you don't already own the game you can buy it from online stores such as [Steam](http://store.steampowered.com/app/6020/), [Amazon](http://www.amazon.com/Star-Wars-Jedi-Knight-Academy-Pc/dp/B0000A2MCN) or [GOG](https://www.gog.com/game/star_wars_jedi_knight_jedi_academy). +To install OpenJK, you will first need Jedi Academy installed. If you don't already own the game you can buy it from online stores such as [Steam](https://store.steampowered.com/app/6020/), [Amazon](https://www.amazon.com/Star-Wars-Jedi-Knight-Academy-Pc/dp/B0000A2MCN) or [GOG](https://www.gog.com/game/star_wars_jedi_knight_jedi_academy). Installing and running OpenJK: -1. [Download the latest build](http://builds.openjk.org) for your operating system. -2. Extract the contents of the file into the Jedi Academy `GameData/` folder. For Steam users, this will be in `/steamapps/common/Jedi Academy/GameData`. -3. Run `openjk.x86.exe` (Windows), `openjk.i386` (Linux 32-bit), `openjk.x86_64` (Linux 64-bit) or the `OpenJK` app bundle (macOS), depending on your operating system. +1. [Download the latest build](https://github.com/JACoders/OpenJK/releases/tag/latest) ([alt link](https://builds.openjk.org)) for your operating system. +1. Extract the contents of the file into the Jedi Academy `GameData/` folder. For Steam users, this will be in `/steamapps/common/Jedi Academy/GameData`. +1. Run `openjk.x86.exe` (Windows), `openjk.i386` (Linux 32-bit), `openjk.x86_64` (Linux 64-bit) or the `OpenJK` app bundle (macOS), depending on your operating system. - -**Linux Instructions** +### Linux Instructions If you do not have a windows partition and need to download the game base. 1. Download and Install SteamCMD [SteamCMD](https://developer.valvesoftware.com/wiki/SteamCMD#Linux) . -2. Set the download path using steamCMD, force_install_dir . -3. Using SteamCMD Set the platform to windows to download any windows game on steam. @sSteamCmdForcePlatformType "windows" -4. Using SteamCMD download the game, app_update 6020. -5. [Download the latest build](http://builds.openjk.org) for your operating system. -6. Extract the contents of the file into the Jedi Academy `GameData/` folder. For Steam users, this will be in `/steamapps/common/Jedi Academy/GameData`. - +1. Set the download path using steamCMD: `force_install_dir path/to/install/jka` +1. Using SteamCMD Set the platform to windows to download any windows game on steam. @sSteamCmdForcePlatformType "windows" +1. Using SteamCMD download the game, app_update 6020. +1. [Download the latest build](https://builds.openjk.org) for your operating system. +1. Extract the contents of the file into the Jedi Academy `GameData/` folder. For Steam users, this will be in `/steamapps/common/Jedi Academy/GameData`. -**macOS Instructions** +### macOS Instructions If you have the Mac App Store Version of Jedi Academy, follow these steps to get OpenJK runnning under macOS: -1. Install [Homebrew](http://brew.sh/) if you don't have it. -2. Open the Terminal app, and enter the command `brew install sdl2`. -3. Extract the contents of the OpenJK DMG ([Download the latest build](http://builds.openjk.org)) into the game directory `/Applications/Star Wars Jedi Knight: Jedi Academy.app/Contents/` -4. Run `OpenJK.app` or `OpenJK SP.app` -5. Savegames, Config Files and Log Files are stored in `/Users//Library/Application Support/OpenJK/` - +1. Install [Homebrew](https://brew.sh/) if you don't have it. +1. Open the Terminal app, and enter the command `brew install sdl2`. +1. Extract the contents of the OpenJK DMG ([Download the latest build](https://builds.openjk.org)) into the game directory `/Applications/Star Wars Jedi Knight: Jedi Academy.app/Contents/` +1. Run `OpenJK.app` or `OpenJK SP.app` +1. Savegames, Config Files and Log Files are stored in `/Users//Library/Application Support/OpenJK/` ## For Developers - ### Building OpenJK -* [Compilation guide](https://github.com/JACoders/OpenJK/wiki/Compilation-guide) -* [Debugging guide](https://github.com/JACoders/OpenJK/wiki/Debugging) - +- [Compilation guide](https://github.com/JACoders/OpenJK/wiki/Compilation-guide) +- [Debugging guide](https://github.com/JACoders/OpenJK/wiki/Debugging) ### Contributing to OpenJK -* [Fork](https://github.com/JACoders/OpenJK/fork) the project on GitHub -* Create a new branch and make your changes -* Send a [pull request](https://help.github.com/articles/creating-a-pull-request) to upstream (JACoders/OpenJK) - +- [Fork](https://github.com/JACoders/OpenJK/fork) the project on GitHub +- Create a new branch and make your changes +- Send a [pull request](https://help.github.com/articles/creating-a-pull-request) to upstream (JACoders/OpenJK) ### Using OpenJK as a base for a new mod -* [Fork](https://github.com/JACoders/OpenJK/fork) the project on GitHub -* Change the GAMEVERSION define in codemp/game/g_local.h from "OpenJK" to your project name -* If you make a nice change, please consider back-porting to upstream via pull request as described above. This is so everyone benefits without having to reinvent the wheel for every project. - - -## Maintainers (in alphabetical order) - -* Ensiform -* Razish -* Xycaleth - - -## Significant contributors (in alphabetical order) - -* eezstreet -* exidl -* ImperatorPrime -* mrwonko -* redsaurus -* Scooper -* Sil -* smcv +- [Fork](https://github.com/JACoders/OpenJK/fork) the project on GitHub +- Change the `GAMEVERSION` define in [codemp/game/g_local.h](https://github.com/JACoders/OpenJK/blob/master/codemp/game/g_local.h) from "OpenJK" to your project name +- If you make a nice change, please consider back-porting to upstream via pull request as described above. This is so everyone benefits without having to reinvent the wheel for every project. + +## Maintainers ([@JACoders/openjk-maintainers](https://github.com/orgs/JACoders/teams/openjk-maintainers)) + +- [Ensiform](https://github.com/ensiform) +- [Razish / Raz0r](https://github.com/Razish) +- [Xycaleth](https://github.com/xycaleth) + +## Significant contributors ([full list](https://github.com/JACoders/OpenJK/graphs/contributors)) + +- [bibendovsky](https://github.com/bibendovsky) (save games, platform support) +- [BobaFett](https://github.com/Lrns123) +- [BSzili](https://github.com/BSzili) (JK2, platform support) +- [Cat](https://github.com/deepy) (infra) +- [Didz](https://github.com/dionrhys) +- [eezstreet](https://github.com/eezstreet) +- exidl (SDL2, platform support) +- [ImperatorPrime](https://github.com/ImperatorPrime) (JK2) +- [mrwonko](https://github.com/mrwonko) +- [redsaurus](https://github.com/redsaurus) +- [Scooper](https://github.com/xScooper) +- [Sil](https://github.com/TheSil) +- [smcv](https://github.com/smcv) (debian packaging) +- [Tristamus](https://tristamus.com>) (icon) From 9c4ac9a9b48300c91be5e2440d826f63d629c031 Mon Sep 17 00:00:00 2001 From: Razish Date: Mon, 25 Sep 2023 23:52:01 +1000 Subject: [PATCH 2/6] github-friendly emoji --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d63490a10b..ca027c14a9 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Our aims are to: | Game | Single Player | Multi Player | | - | - | - | | Jedi Academy | ✅ Stable | ✅ Stable | -| Jedi Outcast | 🫤 Works, needs attention | 🙅 Not supported - consider [JK2MV](https://jk2mv.org) | +| Jedi Outcast | 😧 Works, needs attention | 🙅 Not supported - consider [JK2MV](https://jk2mv.org) | | Jedi Knight DF2 | 💡 Consider [OpenJKDF2](https://github.com/shinyquagsire23/OpenJKDF2) | 😶 N/A | Please direct support queries, discussions and feature requests to the JKHub sub-forum or Discord linked above. From 3e74404566f132c6442c28b0e4180973baec373d Mon Sep 17 00:00:00 2001 From: Razish Date: Mon, 25 Sep 2023 23:57:38 +1000 Subject: [PATCH 3/6] normalise build links --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ca027c14a9..25bcc7bd7b 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,8 @@ OpenJK is licensed under GPLv2 as free software. You are free to use, modify and To install OpenJK, you will first need Jedi Academy installed. If you don't already own the game you can buy it from online stores such as [Steam](https://store.steampowered.com/app/6020/), [Amazon](https://www.amazon.com/Star-Wars-Jedi-Knight-Academy-Pc/dp/B0000A2MCN) or [GOG](https://www.gog.com/game/star_wars_jedi_knight_jedi_academy). +Download the [latest build](https://github.com/JACoders/OpenJK/releases/tag/latest) ([alt link](https://builds.openjk.org)) for your operating system. + Installing and running OpenJK: 1. [Download the latest build](https://github.com/JACoders/OpenJK/releases/tag/latest) ([alt link](https://builds.openjk.org)) for your operating system. @@ -43,11 +45,10 @@ Installing and running OpenJK: If you do not have a windows partition and need to download the game base. -1. Download and Install SteamCMD [SteamCMD](https://developer.valvesoftware.com/wiki/SteamCMD#Linux) . +1. Download and Install SteamCMD [SteamCMD](https://developer.valvesoftware.com/wiki/SteamCMD#Linux). 1. Set the download path using steamCMD: `force_install_dir path/to/install/jka` 1. Using SteamCMD Set the platform to windows to download any windows game on steam. @sSteamCmdForcePlatformType "windows" -1. Using SteamCMD download the game, app_update 6020. -1. [Download the latest build](https://builds.openjk.org) for your operating system. +1. Using SteamCMD download the game, `app_update 6020`. 1. Extract the contents of the file into the Jedi Academy `GameData/` folder. For Steam users, this will be in `/steamapps/common/Jedi Academy/GameData`. ### macOS Instructions @@ -56,7 +57,7 @@ If you have the Mac App Store Version of Jedi Academy, follow these steps to get 1. Install [Homebrew](https://brew.sh/) if you don't have it. 1. Open the Terminal app, and enter the command `brew install sdl2`. -1. Extract the contents of the OpenJK DMG ([Download the latest build](https://builds.openjk.org)) into the game directory `/Applications/Star Wars Jedi Knight: Jedi Academy.app/Contents/` +1. Extract the contents of the OpenJK DMG into the game directory `/Applications/Star Wars Jedi Knight: Jedi Academy.app/Contents/` 1. Run `OpenJK.app` or `OpenJK SP.app` 1. Savegames, Config Files and Log Files are stored in `/Users//Library/Application Support/OpenJK/` From 977b192757fc99036e0b6706376c20aadc60c00d Mon Sep 17 00:00:00 2001 From: Razish Date: Tue, 26 Sep 2023 00:02:34 +1000 Subject: [PATCH 4/6] missed a build link, clarified linux instructions --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 25bcc7bd7b..178c7d7ea8 100644 --- a/README.md +++ b/README.md @@ -37,19 +37,19 @@ Download the [latest build](https://github.com/JACoders/OpenJK/releases/tag/late Installing and running OpenJK: -1. [Download the latest build](https://github.com/JACoders/OpenJK/releases/tag/latest) ([alt link](https://builds.openjk.org)) for your operating system. 1. Extract the contents of the file into the Jedi Academy `GameData/` folder. For Steam users, this will be in `/steamapps/common/Jedi Academy/GameData`. 1. Run `openjk.x86.exe` (Windows), `openjk.i386` (Linux 32-bit), `openjk.x86_64` (Linux 64-bit) or the `OpenJK` app bundle (macOS), depending on your operating system. ### Linux Instructions -If you do not have a windows partition and need to download the game base. +If you do not have an existing JKA installation and need to download the base game: 1. Download and Install SteamCMD [SteamCMD](https://developer.valvesoftware.com/wiki/SteamCMD#Linux). 1. Set the download path using steamCMD: `force_install_dir path/to/install/jka` 1. Using SteamCMD Set the platform to windows to download any windows game on steam. @sSteamCmdForcePlatformType "windows" 1. Using SteamCMD download the game, `app_update 6020`. -1. Extract the contents of the file into the Jedi Academy `GameData/` folder. For Steam users, this will be in `/steamapps/common/Jedi Academy/GameData`. + +Extract the contents of the file into the Jedi Academy `GameData/` folder. For Steam users, this will be in `/steamapps/common/Jedi Academy/GameData`. ### macOS Instructions From 223626844af0c2eb5e23fd597a087d4e23ed43a5 Mon Sep 17 00:00:00 2001 From: Razish Date: Wed, 27 Sep 2023 20:20:57 +1000 Subject: [PATCH 5/6] link to publicly viewable org, normalise paths --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 178c7d7ea8..09d0359d66 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Download the [latest build](https://github.com/JACoders/OpenJK/releases/tag/late Installing and running OpenJK: -1. Extract the contents of the file into the Jedi Academy `GameData/` folder. For Steam users, this will be in `/steamapps/common/Jedi Academy/GameData`. +1. Extract the contents of the file into the Jedi Academy `GameData/` folder. For Steam users, this will be in `/steamapps/common/Jedi Academy/GameData/`. 1. Run `openjk.x86.exe` (Windows), `openjk.i386` (Linux 32-bit), `openjk.x86_64` (Linux 64-bit) or the `OpenJK` app bundle (macOS), depending on your operating system. ### Linux Instructions @@ -45,11 +45,11 @@ Installing and running OpenJK: If you do not have an existing JKA installation and need to download the base game: 1. Download and Install SteamCMD [SteamCMD](https://developer.valvesoftware.com/wiki/SteamCMD#Linux). -1. Set the download path using steamCMD: `force_install_dir path/to/install/jka` +1. Set the download path using steamCMD: `force_install_dir /path/to/install/jka/` 1. Using SteamCMD Set the platform to windows to download any windows game on steam. @sSteamCmdForcePlatformType "windows" 1. Using SteamCMD download the game, `app_update 6020`. -Extract the contents of the file into the Jedi Academy `GameData/` folder. For Steam users, this will be in `/steamapps/common/Jedi Academy/GameData`. +Extract the contents of the file into the Jedi Academy `GameData/` folder. For Steam users, this will be in `/steamapps/common/Jedi Academy/GameData/`. ### macOS Instructions @@ -59,7 +59,7 @@ If you have the Mac App Store Version of Jedi Academy, follow these steps to get 1. Open the Terminal app, and enter the command `brew install sdl2`. 1. Extract the contents of the OpenJK DMG into the game directory `/Applications/Star Wars Jedi Knight: Jedi Academy.app/Contents/` 1. Run `OpenJK.app` or `OpenJK SP.app` -1. Savegames, Config Files and Log Files are stored in `/Users//Library/Application Support/OpenJK/` +1. Savegames, Config Files and Log Files are stored in `/Users/$USER/Library/Application Support/OpenJK/` ## For Developers @@ -80,10 +80,12 @@ If you have the Mac App Store Version of Jedi Academy, follow these steps to get - Change the `GAMEVERSION` define in [codemp/game/g_local.h](https://github.com/JACoders/OpenJK/blob/master/codemp/game/g_local.h) from "OpenJK" to your project name - If you make a nice change, please consider back-porting to upstream via pull request as described above. This is so everyone benefits without having to reinvent the wheel for every project. -## Maintainers ([@JACoders/openjk-maintainers](https://github.com/orgs/JACoders/teams/openjk-maintainers)) +## Maintainers (full list: [@JACoders](https://github.com/orgs/JACoders/people)) + +Leads: - [Ensiform](https://github.com/ensiform) -- [Razish / Raz0r](https://github.com/Razish) +- [razor](https://github.com/Razish) - [Xycaleth](https://github.com/xycaleth) ## Significant contributors ([full list](https://github.com/JACoders/OpenJK/graphs/contributors)) From 2693c1f75319a1c3824dc57d88cb668e4921b767 Mon Sep 17 00:00:00 2001 From: Razish Date: Thu, 8 Feb 2024 22:31:56 +1100 Subject: [PATCH 6/6] remove mention of OpenJKDF2 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 09d0359d66..88e23d3c64 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,6 @@ Our aims are to: | - | - | - | | Jedi Academy | ✅ Stable | ✅ Stable | | Jedi Outcast | 😧 Works, needs attention | 🙅 Not supported - consider [JK2MV](https://jk2mv.org) | -| Jedi Knight DF2 | 💡 Consider [OpenJKDF2](https://github.com/shinyquagsire23/OpenJKDF2) | 😶 N/A | Please direct support queries, discussions and feature requests to the JKHub sub-forum or Discord linked above.