Skip to content

Commit

Permalink
add LEGACYFIX_WEAPONATTACKANIM + LEGACYFIX_RUNWALKANIMS - JACoders/Op…
Browse files Browse the repository at this point in the history
…enJK#1211

misc loop overrun fixes - JACoders/OpenJK#1201
render local entities as late as possible - JACoders/OpenJK#1200
remove unused localents code
add macos arm64 build to CI
fix linux arm64 builds
fix crash when being loaded by eternaljk-based engines (missing UI export)
update readme
  • Loading branch information
Razish committed Feb 29, 2024
1 parent 0fc80d4 commit acee492
Show file tree
Hide file tree
Showing 36 changed files with 428 additions and 1,181 deletions.
14 changes: 12 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,12 +141,17 @@ jobs:

macos:
name: macOS ${{ matrix.arch }} ${{ matrix.build_type }}
runs-on: macos-12
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
arch: [x86_64]
runner: [macos-12, macos-14]
build_type: [Debug, Release]
include:
- runner: macos-12
arch: x86_64
- runner: macos-14
arch: arm64

steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -195,6 +200,7 @@ jobs:
mv ./japp-linux-x86-Release/* japp-linux-x86.tar.gz
mv ./japp-linux-x86_64-Release/* japp-linux-x86_64.tar.gz
mv ./japp-macos-x86_64-Release/* japp-macos-x86_64.tar.gz
mv ./japp-macos-arm64-Release/* japp-macos-arm64.tar.gz
- name: Create latest build
uses: marvinpinto/action-automatic-releases@latest
Expand Down Expand Up @@ -234,6 +240,10 @@ jobs:
artifact_name: japp-macos-x86_64.tar.gz
zip: false

- artifact_dir: japp-macos-arm64-Release
artifact_name: japp-macos-arm64.tar.gz
zip: false

steps:
- uses: actions/checkout@v3
with:
Expand Down
46 changes: 35 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# ja++

ja++ modification for jedi academy - best used with [openjk](http://github.com/JACoders/OpenJK)
see [japp.jkhub.org](http://japp.jkhub.org) for more information
ja++ modification for jedi academy - best used with [openjk](https://github.com/JACoders/OpenJK)
see [japp.jkhub.org](https://japp.jkhub.org) for more information.

assets can be found here: [Razish/japp-assets](https://github.com/Razish/japp-assets)

[![build](https://github.com/Razish/japp/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/Razish/japp/releases/tag/latest)

Expand All @@ -11,35 +13,57 @@ see [japp.jkhub.org](http://japp.jkhub.org) for more information
| - | - | - | - |
| x86 ||||
| x86_64 ||||
| Arm (RPi) ||||
| Apple Silicon || ||
| armhf ||||
| arm64 || ||

## development requirements (general)

- Python 3.11
- [Scons](https://github.com/SCons/scons) 4.4
- zip or 7zip on your `PATH` (for packaging)

### windows

[TDM-GCC](https://jmeubank.github.io/tdm-gcc/) or MSVC (if you pass `tools=default` to scons)
[TDM-GCC](https://jmeubank.github.io/tdm-gcc/) or Visual Studio (if you pass `tools=default` to scons)

### linux (debian-based)

- `git scons gcc g++ libreadline-dev`
- [asdf-vm](https://asdf-vm.com/guide/getting-started.html) (optional, recommended)
install packages: `git scons gcc g++ libreadline-dev libglib2.0-dev libgtk2.0-dev libnotify-dev`

### asdf-vm + lua setup (optional, recommended)

install [asdf-vm](https://asdf-vm.com/guide/getting-started.html):

```sh
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0
```

add the following to your shell rc (e.g. `~/.bashrc`) and restart your shell:

```sh
. "$HOME/.asdf/asdf.sh"
```

```sh
asdf plugin-add python
asdf plugin-add lua https://github.com/Stratus3D/asdf-lua.git
asdf install # install required versions
luarocks install luafilesystem
luarocks install luacheck
```

## compiling

just run `scons` or `build.sh`
just run `scons` or `build.sh` followed by `lua package.lua`

Options:
options:

- `force32` 1 to build a 32-bit binary on a 64-bit machine
- `debug` 1 to generate debug information, 2 to also optimise code
- `no_sql` 1 to disable MySQL/SQLite support
- `no_crashhandler` 1 to disable the crash handler/logger functionality

Environment Variables
environment variables:

- `NO_SSE` 1 to not generate SSE2 instructions - closer to basejka. This is used for official builds
- `MORE_WARNINGS` 1 to enable more compiler warnings
Expand All @@ -49,7 +73,7 @@ Environment Variables
- Raz0r (lead)
- AstralSerpent
- Ensiform
- EpicLoyd
- Exmirai
- Morabis
- teh

Expand Down
8 changes: 4 additions & 4 deletions SConstruct
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ if bits == 32:
else:
raise RuntimeError("unexpected platform: " + target_plat)
elif bits == 64:
if platform.machine()[:3] == "arm":
if platform.machine()[:3] == "arm" or platform.machine()[:5] == "aarch":
arch = "arm64"
else:
arch = "x86_64"
Expand Down Expand Up @@ -149,9 +149,9 @@ colours["orange"] = "\033[33m" if enableColours else ""
colours["green"] = "\033[92m" if enableColours else ""
colours["end"] = "\033[0m" if enableColours else ""

env["SHCCCOMSTR"] = env["SHCXXCOMSTR"] = env["CCCOMSTR"] = env[
"CXXCOMSTR"
] = f"{colours['cyan']} compiling: {colours['white']}$SOURCE{colours['end']}"
env["SHCCCOMSTR"] = env["SHCXXCOMSTR"] = env["CCCOMSTR"] = env["CXXCOMSTR"] = (
f"{colours['cyan']} compiling: {colours['white']}$SOURCE{colours['end']}"
)
env["ARCOMSTR"] = f"{colours['orange']} archiving: {colours['white']}$TARGET{colours['end']}"
env["RANLIBCOMSTR"] = f"{colours['orange']} indexing: {colours['white']}$TARGET{colours['end']}"
env["ASCOMSTR"] = f"{colours['orange']}assembling: {colours['white']}$TARGET{colours['end']}"
Expand Down
2 changes: 1 addition & 1 deletion cgame/cg_draw.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3294,7 +3294,7 @@ static float CG_DrawTeamOverlay(float y, qboolean right, qboolean upper) {
} else {
xx = x + w - TINYCHAR_WIDTH * cgs.widthRatioCoef;
}
for (j = 0; j <= PW_NUM_POWERUPS; j++) {
for (j = 0; j < PW_NUM_POWERUPS; j++) {
if (ci->powerups & (1 << j)) {

item = BG_FindItemForPowerup((powerup_e)j);
Expand Down
Loading

0 comments on commit acee492

Please sign in to comment.