Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

OpenArenaNX Switch: Difference between revisions

From GameBrew
No edit summary
Tag: Manual revert
No edit summary
Line 1: Line 1:
{{Infobox Switch Homebrews
{{Infobox Switch Homebrews
|title=OpenArenaNX
|title=OpenArenaNX
|image=openarenanxswitch.png
|image=openarenanx.png
|description=A port of OpenArena for the Nintendo Switch. Compatible with both controllers and keyboard + mouse controls! Based off of OpenArena 3.00a.
|description=A port of OpenArena for the Nintendo Switch. Compatible with both controllers and keyboard + mouse controls! Based off of OpenArena 3.00a.
|author=faithvoid
|author=faithvoid
Line 8: Line 8:
|version=0.7.8
|version=0.7.8
|license=GPL-2.0
|license=GPL-2.0
|download=https://dlhb.gamebrew.org/switchhomebrews/openarenanxswitch.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/openarenanx.7z
|website=https://feralcatgirl.media/#software
|website=https://feralcatgirl.media/#software
|source=https://github.com/faithvoid/OpenArenaNX
|source=https://github.com/faithvoid/OpenArenaNX
|donation=https://www.patreon.com/videogirl95
|donation=https://www.patreon.com/videogirl95
}}
}}
{{#seo:
A port of [https://ioquake3.org/ ioquake3] + [http://www.openarena.ws/ 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.
|title=Switch Homebrew Games (Shooter) - GameBrew
|title_mode=append
|image=openarenanxswitch.png
|image_alt=OpenArenaNX
}}
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.
While there is already a [[Ioquake3-NX Switch|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.


==Installation==
==Installation==
* Download the latest here!
===OpenArenaNX===
* Copy release files to /switch/ folder
*Extract OpenArenaNX.zip to the switch folder on the SD card.
* If providing your own baseoa files, copy baseoa from a copy of OpenArena, making sure not to replace any files.
*Copy baseoa from a free copy of [http://www.openarena.ws/download.php OpenArena], making sure not to replace any files.
* Launch via HBMenu (by pressing R, not album!)
*Launch via HBMenu (by pressing R, not album).
* Start fragging!


==Media==
===Q3ArenaNX===
'''OpenArena Is An Open Source Quake Like Shooter - ([https://www.youtube.com/watch?v=on4Jtx7r7rs DistroTube])'''<br>
*Extract Q3ArenaNX.zip to the switch folder on the SD card.
<youtube>on4Jtx7r7rs</youtube>
*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).


==Screenshots==
===Notes===
https://dlhb.gamebrew.org/switchhomebrews/openarenanxswitch-01.png
*The game works as you'd expect, and supports most, if not all mods that don't use dynamic libraries.
https://dlhb.gamebrew.org/switchhomebrews/openarenanxswitch-02.png
*If upgrading from a previous build, all you need to replace is OpenArenaNX.nro/Q3ArenaNX.nro.
https://dlhb.gamebrew.org/switchhomebrews/openarenanxswitch-03.png
https://dlhb.gamebrew.org/switchhomebrews/openarenanxswitch-04.png


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


Left Trigger - Jump
L - Jump


Right Trigger - Attack
R - Attack


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


Right Bumper - Next Weapon
ZR - Next Weapon


X - Use
X - Use


Y - Taunt / Toggle Console (menu)
Y - Taunt, Toggle Console (menu)


A - Select
A - Select


D-Pad Left + Right - Weapon Select
D-Pad Left+Right - Weapon Select


D-Pad Up - Zoom
D-Pad Up - Zoom
Line 67: Line 59:
Plus - Menu
Plus - Menu


Left Stick In - Vote No
Left Stick Button - Vote No


Right Stick In - Vote Yes
Right Stick Button - Vote Yes


==TODO==
==Media==
* Diagnose sleep issue.
'''OpenArena Is An Open Source Quake Like Shooter ([https://www.youtube.com/watch?v=on4Jtx7r7rs DistroTube])'''<br>
* Implement Switch-specific menu settings in both main menu and pause screens.
<youtube>on4Jtx7r7rs</youtube>
* 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==
==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!
* 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.
* 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.
* 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.
* 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==  
==Changelog==  
'''v.0.7.8'''<br>
'''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).
*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'''<br>
'''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.
*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.
*If updating an older version, extract to the original folder and replace all files when prompted.


'''v.0.7.6'''<br>
'''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.)
*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.
*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'''<br>
'''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!
*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.
*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.
*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
*Gyro speed can be adjusted via mouse speed options or via cvar commands in q3config.cfg.


'''v.0.7.5'''
'''v0.7.5 2021/10/09'''
* First Release.
*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==
==Credits==
* ioquake3 team (engine)
* ioquake3 team (engine).
* OpenArena team (game assets)
* OpenArena team (game assets).
* DevKitPro team (compilation tools)
* DevKitPro team (compilation tools).
* fgsfdsfgs (original ioquake3-nx port)
* fgsfdsfgs (original ioquake3-nx port).
* and many others!
* And many others.


== External links ==
== External links ==
* Official Site - https://feralcatgirl.media/#software
* Author's website - https://feralcatgirl.media/
* Github - https://github.com/faithvoid/OpenArenaNX
* GitHub - https://github.com/faithvoid/OpenArenaNX
* ForTheUsers - https://apps.fortheusers.org/switch/Q3ArenaNX
* ForTheUsers - https://apps.fortheusers.org/switch/OpenArenaNX

Revision as of 06:53, 15 Mayıs 2023

OpenArenaNX
Openarenanx.png
General
Authorfaithvoid
TypeShooter
Version0.7.8
LicenseGPL-2.0
Last Updated2021/11/08
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.

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

  • The game works as you'd expect, and supports most, if not all mods that don't use dynamic libraries.
  • 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 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: