More actions
OpenArenaNX | |
---|---|
File:Openarenanxswitch.png | |
General | |
Author | faithvoid |
Type | Shooter |
Version | 0.7.8 |
License | GPL-2.0 |
Last Updated | 2021/11/08 |
Links | |
Download | |
Website | |
Source | |
Support Author | |
This project is a Nintendo Switch port of OpenArena, complete with support for both controllers (including gyroscope functionality) and keyboard and mouse controls. The port is based on OpenArena version 3.00a. Additionally, a q3a branch (Q3ArenaNX) is included for playing the original Quake III Arena.
Some may question why this port was necessary, as ioquake3-nx already exists. While this project does use some code from ioquake3-nx, its release requires a non-free copy of baseq3 to launch. To circumvent this, the project has made some adjustments to launch OpenArena, a free clone, as a standalone game. The aim of this project is to not only address some of the issues present in the existing build but also to eventually implement local splitscreen co-op through the Spearmint engine.
Installation
- Latest full build including game files can be downloaded and copied from here!
- Copy release files to /switch/ folder
- If providing your own baseoa files, copy baseoa from a copy of OpenArena, making sure not to replace any files.
- Launch via HBMenu (by pressing R, not album!)
- Start fragging!
Media
OpenArena Is An Open Source Quake Like Shooter - (DistroTube)
Screenshots
Controls
Gyro controls can be enabled from the controls section of the settings menu.
Left Trigger - Jump
Right Trigger - Attack
Left Bumper - Crouch (or brings up keyboard when text fields are selected)
Right Bumper - 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 In - Vote No
Right Stick In - Vote Yes
TODO
- Diagnose sleep issue.
- Implement Switch-specific menu settings in both main menu and pause screens.
- Implement splitscreen multiplayer (probably via switching to the Spearmint engine which requires a renderer/controller code overhaul at minimum, current broken code can be found in the spearmint branch.)
- Release a dedicated server .nro (for no practical reason other than completion + saying I did.)
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. 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.
- 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.
Otherwise, the game works as you'd expect, and supports most, if not all mods that don't use dynamic libraries.
Changelog
v.0.7.8
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).
v.0.7.7
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.
v.0.7.6
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.
v.0.7.5.1
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
v.0.7.5
- First Release.
Credits
- ioquake3 team (engine)
- OpenArena team (game assets)
- DevKitPro team (compilation tools)
- fgsfdsfgs (original ioquake3-nx port)
- and many others!
External links
- Official Site - https://feralcatgirl.media/#software
- Github - https://github.com/faithvoid/OpenArenaNX