Homebrew WIP ioquake3-nx - an ioquake3 port

fgsfds

Well-Known Member
OP
Member
Joined
Aug 28, 2018
Messages
422
Trophies
0
Age
121
XP
2,711
Country
Russia
ioquake3 on the Switch.
Github repo: /fgsfdsfgs/ioq3
Latest version: 0.3.0 (Sep 18, 2019)
Download link

2018091906595400-DB1426D1DFD034027CECDE9C2DD914B8.jpg


2018091906204400-DB1426D1DFD034027CECDE9C2DD914B8.jpg

Some of the features of the port:
  • hardware accelerated rendering;
  • sound and music via OpenAL-Soft;
  • multiplayer (I think it works?);
  • basic gyro aiming;
  • analog controls and shit.
To install it, unzip ioquake3nx_030.zip to the root of your SD card, then copy the baseq3 folder from your Quake III installation to /switch/ioquake3/. DO NOT overwrite any files if asked.
Your baseq3 folder has to have 1.32 Point Release patch data in it (.pk3 files pak1.pk3 through pak8.pk3). ioquake3 will complain and crash if they're missing. If you don't have those files, you can get them here.
For more information on how to install and run ioquake3, including how to use it with the Quake III demo, visit their wiki, just keep in mind that your "game directory" is /switch/ioquake3.

Some notes:
  • if it crashes and exits back to HBL/Horizon silently, check /switch/ioquake3/crashlog.txt to find out what caused it;
  • you can change the resolution in System options, but real 1080p is currently not supported;
  • you can rebind controls in the Controls menu, analogs are also bindable;
  • in menus, A acts as the Left Mouse Button, B acts as the Right Mouse Button and the left analog moves the cursor;
  • you can bring up swkbd in menus by pressing L, but it works slightly weird: stuff you enter will just get added to the end of the input field, to edit it you have to move the in-game cursor and use R to delete characters;
  • you can also bring up swkbd by entering showosk in console, you can also bind the command to a button in q3config.cfg and use it in-game;
  • you can host and connect to servers from the serverlist or by entering the IP ("Specify" button);
  • you might notice that this is an almost exact copy of the NXQuake, Quakespasm and NXQuake2 threads, because I really can't be arsed to come up with something new;
  • right analog sensitivity is controlled by the console variables j_pitch (up/down) and j_yaw (left/right), you can edit their values in q3config.cfg;
Known issues:
  • mods are probably supported, but only ones that have q3vm files, as the port cannot load dynamic libraries;
  • sometimes exiting the game via the Exit menu button hangs it, feel free to exit using the Home button when that happens;
  • Q3VM runs in interpreter mode, since it has no JIT compiler for aarch64, which means it's pretty slow;
  • some stuff, like connecting to modded online servers, requires more memory than is provided in applet mode, meaning it will crash the game unless you run it from NSP hbmenu, make a standalone NSP out of it or properly set up hbloader in Atmosphere.
Credits:
  • these people for ioquake3;
  • fincs, Armada651, Subv and probably others for their work on the OpenGL/mesa/libdrm stuff;
  • jfenton for PRing libnx 2.0-related changes, gyroscope controls and some fixes;
  • some nice people in the ReiSwitched Discord for help and testing;
  • id Software for the game itself.
 
Last edited by fgsfds,

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,064
Trophies
1
XP
4,647
Country
Japan
:D Fast work, amazing!

We're reaching the point where we should be recommending the hbmenu nsp for extra RAM.
 

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,064
Trophies
1
XP
4,647
Country
Japan
Personal preference of course, but when homebrew is distributed as a .nro then it's simpler for end users to recommend hbmenu itself.
 
  • Like
Reactions: Milenko

Admiral-Purple

Well-Known Member
Newcomer
Joined
May 25, 2018
Messages
48
Trophies
0
Age
28
XP
398
Country
United States
Works great using reinx and hblauncher as an nsp. Getting steady 60fps with 720p resolution and high quality skies turned off.
Would it be possible to map the d pad buttons to navigate the menu options in addition to the left joystick?
 
Last edited by Admiral-Purple,

fgsfds

Well-Known Member
OP
Member
Joined
Aug 28, 2018
Messages
422
Trophies
0
Age
121
XP
2,711
Country
Russia
Now no controls work when the match starts?
Kind of sounds like your q3config. cfg got reset or corrupted. You can overwrite it with the one from the release zip, or rebind stuff manually in the menu. Keep in mind that the game is subject to exFAT corruption when you close it with the Home button instead of quitting using the menu option.
Works great using reinx and hblauncher as an nsp. Getting steady 60fps with 720p resolution and high quality skies turned off.
Would it be possible to map the d pad buttons to navigate the menu options in addition to the left joystick?
Yeah, it's possible. I kind of forgot to do that, I'll add dpad controls in the next release.
 

Brunz514

Well-Known Member
Newcomer
Joined
Sep 4, 2018
Messages
45
Trophies
0
Age
36
XP
280
Country
Canada
Just playtested on sx os 1.7 starting the game from hbmenu. Looks, plays and runs great, 60 fps for the most part with sum dips to the 40s here and there. Would having the nsp hbmenu unlock a little more power too keep it and future homebrew at higher fps?
 

Brunz514

Well-Known Member
Newcomer
Joined
Sep 4, 2018
Messages
45
Trophies
0
Age
36
XP
280
Country
Canada
It would allow access to 3GB RAM which surely has an effect on framerates.
Once I start installing nsp files are they tied to the nand in someway? So far i have just used my switch for emulation, homebrew, modding skyrim and a couple back ups. No freeshop or other nsp files ever installed, will this increase my risk of being banned?
 
General chit-chat
Help Users
  • AncientBoi @ AncientBoi:
    And to shoot it well. :)
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    Indeed! Lol
    +1
    Gift
  • Dark_Phoras @ Dark_Phoras:
    Do you guys know what's Mr. Freeze's favorite date program? Netflix and chill
    Gift
  • Gift
  • Gift
  • FAST6191 @ FAST6191:
    Isn't Mr Freeze's backstory about him losing his wife?
    Gift
  • Flame @ Flame:
    @FAST6191 his called @Dark_Phoras for a reason
    Gift
  • Dark_Phoras @ Dark_Phoras:
    Mr. Freeze's wife is frozen while he looks for a cure to her illness
    Gift
  • Dark_Phoras @ Dark_Phoras:
    But, in the meantime, he knows how to throw a cool party
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    He's a chill dude lol
    Gift
  • Flame @ Flame:
    is that true @Dark_Phoras ? thats so cool
    Gift
  • Flame @ Flame:
    a little ice cold too at the same time
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    Dude is frosty
    Gift
  • gudenau @ gudenau:
    Does anyone happen to know if the gecko code handler will always be in the same location? It would be useful if you could call into it's own subroutines in ASM codes.
    Gift
  • FAST6191 @ FAST6191:
    Are there any codes that modify the handler to do fun extras like there are for DS codes?
    Gift
  • gudenau @ gudenau:
    I don't see why you would need that, Gecko just allows you to do ASM directly instead of needing to make codes to add new code types.
    Gift
  • gudenau @ gudenau:
    There is nothing stopping you from doing that though.
    Gift
  • FAST6191 @ FAST6191:
    I was thinking more if there were (some of the DS stuff allowing I think it was different boolean masks than stock) then it would confirm that.
    Gift
  • gudenau @ gudenau:
    Some of the later DS stuff was pretty impressive. I do want to figure out how some of the lower level stuff worked one of these days.
    Gift
  • gudenau @ gudenau:
    Is this chat still on IRC?
    Gift
  • FAST6191 @ FAST6191:
    I don't know if there is a second room connected to it
    but I doubt it
    Gift
  • FAST6191 @ FAST6191:
    There is still an IRC server/channel though
    Gift
  • KenniesNewName @ KenniesNewName:
    Neat steam deck dock shipped finally
    Gift
  • mthrnite @ mthrnite:
    psi gets a dick dock and you get a deck dock, poetic!
    Gift
  • KenniesNewName @ KenniesNewName:
    Ye but mine comes with a promise of less viruses
    Gift
    KenniesNewName @ KenniesNewName: Ye but mine comes with a promise of less viruses