- Joined
- May 18, 2020
- Messages
- 49
- Trophies
- 0
- Location
- Tkaronto
- Website
- virtual.dimensionless.space
- XP
- 456
- Country
So I guess I've been on a bit of an free ioquake3 engine game porting spree lately, so alongside my VoyagerNX (Star Trek Voyager Elite Force: Holomatch) release I've decided to also port OpenArena over to the Switch! Also includes a q3a branch for playing regular Quake III Arena, which you can download under the Releases section on GitHub as "Q3ArenaNX".
I know ioquake3-nx already exists (and I used a bit of it's code to port OA) but it requires Quake III, which costs money, so here's a fantastic, fully free alternative, using ioquake3 1.36 + OpenArena 3.00a. Also this port is currently more up-to-date with the main ioquake3 branch, contains an experimental new gyro library compatible with the last HID refactor, and includes keyboard + mouse support. All Quake III / OpenArena custom maps and mods that don't require dynamic libaries (aka .dll/.so files) should work with this version, but there may be dragons. I successfully tested Bid for Power which worked apart from some wonky keybindings and missing textures on some maps, but Urban Terror spat out a ton of errors trying to join a game.
Known Bugs:
Also thanks to popular demand, an updated version of ioquake3 (named Q3ArenaNX) can be found alongside all current OpenArena releases. This build works well w/ multiplayer, singleplayer, mod support (again, without dynamic libaries) and basic gyro controls.
I also released a port of Star Trek Voyager: Elite Force - Holomatch for those interested! Bot matches are currently broken with controllers and gyro controls must be enabled manually, but it works well apart from that!
Controls:
Gyro controls can be enabled from the controls section of the main menu settings.
Oct 14, 2021 - Released version 0.7.7
I know ioquake3-nx already exists (and I used a bit of it's code to port OA) but it requires Quake III, which costs money, so here's a fantastic, fully free alternative, using ioquake3 1.36 + OpenArena 3.00a. Also this port is currently more up-to-date with the main ioquake3 branch, contains an experimental new gyro library compatible with the last HID refactor, and includes keyboard + mouse support. All Quake III / OpenArena custom maps and mods that don't require dynamic libaries (aka .dll/.so files) should work with this version, but there may be dragons. I successfully tested Bid for Power which worked apart from some wonky keybindings and missing textures on some maps, but Urban Terror spat out a ton of errors trying to join a game.
Known Bugs:
- Virtual keyboard shows up upon every launch. Not a big deal, but a slight nuisance to some people probably.
- Sleep mode causes the game and sometimes Horizon to crash. This seems to happen in a lot of ioquake3-based ports, and I'm working on diagnosing it.
- Really epic battles can cause the framerate to dip on larger maps regardless of graphical settings. I'll try to work on optimizations, but I can't guarantee I can do a ton about it. Changing the resolution to one below 720p via the q3config.cfg file may help a touch.
- You tell me.
Also thanks to popular demand, an updated version of ioquake3 (named Q3ArenaNX) can be found alongside all current OpenArena releases. This build works well w/ multiplayer, singleplayer, mod support (again, without dynamic libaries) and basic gyro controls.
I also released a port of Star Trek Voyager: Elite Force - Holomatch for those interested! Bot matches are currently broken with controllers and gyro controls must be enabled manually, but it works well apart from that!
Controls:
Gyro controls can be enabled from the controls section of the main menu settings.
- 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
Oct 14, 2021 - Released version 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.
- Rewrote fgsfdsfgs's sdl_input_nx.c from ioquake3-nx to reference current HID refactor names, therefore enabling basic gyro support. (albeit incomplete due to no automatic switching of yaw axis between controllers.)
- Implemented alpha-status code for gyro support and released an alpha build with gyro support. It works (at least on Handheld), but may feel janky at times and could lead to unknown issues. I've been testing it and it's...okay, but I could definitely use feedback and assistance, as I don't even use gyro in first-party games.
Last edited by faithvoid,