OpenArenaNX Switch

From GameBrew
OpenArenaNX
Openarenanx.png
General
Authorfaithvoid
TypeShooter
Version0.7.8.1 - Hotfix
LicenseGPL-2.0
Last Updated2023/06/28
Links
Download
Website
Source
Support Author

A port of ioquake3 + OpenArena for the Nintendo Switch. Compatible with both controllers (including gyroscope support) and keyboard + mouse controls. Based off of ioquake3 1.36 and OpenArena 3.00a. Also includes a q3a branch (Q3ArenaNX) for playing regular Quake III Arena.

While there is already a ioquake3 port for Switch (and this project uses some of it's code), the releases requires a retail copy of baseq3 to launch; this fork modifies some variables to launch OpenArena (a free clone) as a standalone game. Also, this project aims to fix a few issues that build has, and eventually implement local splitscreen co-op via the Spearmint engine.

The game works as you'd expect, and supports most, if not all mods that don't use dynamic libraries.

Installation

OpenArenaNX

  • Extract OpenArenaNX.zip to the switch folder on the SD card.
  • Copy baseoa from a free copy of OpenArena, making sure not to replace any files.
  • Launch via HBMenu (by pressing R, not album).

Q3ArenaNX

  • Extract Q3ArenaNX.zip to the switch folder on the SD card.
  • Copy baseq3 from a copy of Quake III Arena (demo or full version) to the Q3ArenaNX folder, making sure not to replace any files.
  • Launch via HBMenu (by pressing R, not album).

Notes: If upgrading from a previous build, all you need to replace is OpenArenaNX.nro/Q3ArenaNX.nro.

Controls

Gyro controls can be enabled from the controls section of the settings menu.

L - Jump

R - Attack

ZL - Crouch (or brings up keyboard when text fields are selected)

ZR - Next Weapon

X - Use

Y - Taunt, Toggle Console (menu)

A - Select

D-Pad Left+Right - Weapon Select

D-Pad Up - Zoom

D-Pad Down - Toggle Console (in-game)

Minus - Scores

Plus - Menu

Left Stick Button - Vote No

Right Stick Button - Vote Yes

Media

OpenArena Is An Open Source Quake Like Shooter (DistroTube)

Known issues

  • Sleep mode causes the game and sometimes Horizon to crash. No idea what's causing this yet, any help figuring it out would be much appreciated.
  • A small amount of slowdown can happen during really hectic battles in larger maps. This happens regardless of graphical settings (although dropping the resolution via the .cfg files may help, as the in-game display menu only supports 720p and 1080p). If that doesn't help, you can potentially try slightly overclocking your Switch, but that's at your own risk, as overclocking your Switch, especially for long periods of time, may damage it.
  • If you switch between controller and keyboard + mouse input mid-match, your camera may start spinning wildly. Just press ESC/+, click with your desired input, then press ESC/+ again and it should resolve it.
  • OpenArena menu is red instead of blue. This is due to the ui.qvm file used from ioquake3-nx to enable gyro settings in the menu.

Changelog

v0.7.8.1 - Hotfix 2023/06/28

  • Re-compiled with the new libNX for newer firmwares!

v0.7.8 2021/11/08

  • All builds now compile with renderergl2 as default. In my experience this makes a few things look a bit better, might(?) smooth out performance, and futureproofs everything a touch (in case someone wanted to implement a newer renderer engine later down the line).

v0.7.7 2021/10/15

  • Gyro now automatically detects whether the user's controller is in handheld or wireless mode and adjusts the axis accordingly. Haven't tested with a pro controller, but would imagine it should work fine, as the fix specifically targets handheld mode. This means apart from finding slightly more natural gyro defaults for both handheld and wireless mode, the end user can enjoy seamless gyro controls between input methods.
  • If updating an older version, extract to the original folder and replace all files when prompted.

v0.7.6 2021/10/13

  • Rewrote fgsfdsfgs's sdl_input_nx.c from ioquake3-nx to reference current HID refactor names, therefore enabling basic gyro support. (albeit technically incomplete due to no automatic switching of yaw axis to yaw/roll between controllers.)
  • Gyro can be enabled from the control settings in the main menu. The stock gyro configuration is meant for handheld use, so if you're using a pro/wireless controller you'll have to type "/in_gyromouse_yaw_axis 1" into the console (and if you want to go back to handheld type the last command with a 0 instead of 1). Gyro speed can be adjusted by adjusting the mouse speed.

v07.5.1 2021/10/13

  • Hey everyone! I spent the last few days reverse engineering fgsfdsfgs's sdl_input_nx.c file that won't compile with the latest libNX and attempting to reimplement the commands to get gyro working. It works, but this is FULLY experimental and there may be issues and jankiness. Definitely could use some feedback and assistance!
  • The default gyro settings in the .cfg files are for handheld mode, but you can swap between handheld and controller gyro settings by dropping down the console and typing "/in_gyromouse_yaw_axis 1" for controller/wireless and "/in_gyromouse_yaw_axis 0" (default) for handheld. I hope to automate this within the next few releases. You can also adjust the speed by adjusting the mouse speed in the control settings menu.
  • To install, copy the OpenArenaNX/Q3ArenaNX folder to your Switch folder, overwriting any files it may ask you to.
  • Gyro speed can be adjusted via mouse speed options or via cvar commands in q3config.cfg.

v0.7.5 2021/10/09

  • Hello, world! This is the first release of OpenArenaNX.
  • Everything should work as expected, including custom maps and mods, but note that there may be dragons.
  • Attached separately is a .zip based off of this fork for running an updated version of Quake III Arena instead (installation instructions are the same, just replace baseoa with baseq3) called Q3ArenaNX.
  • Known Bugs:
    • Sleep mode causes the game and sometimes Horizon to crash. No idea what's causing this yet.
    • A small amount of slowdown can happen during really hectic battles in larger maps. This happens regardless of graphical settings (although dropping the resolution via the .cfg files may help, as the in-game display menu only supports 720p and 1080p).
    • If you switch between controller and keyboard + mouse input mid-match, your camera may start spinning wildly. Just press ESC/+, click with your desired input, then press ESC/+ again and it should resolve it. This might not even be a real bug and might just be my wireless keyboard, but I'm putting it here just to be safe.
  • Otherwise, the game works as you'd expect, and supports most, if not all mods that don't use dynamic libraries.

Credits

  • ioquake3 team (engine).
  • OpenArena team (game assets).
  • DevKitPro team (compilation tools).
  • fgsfdsfgs (original ioquake3-nx port).
  • And many others.

External links

Advertising: