QuakespasmNX - a better Quake port

I ported Quakespasm to the Switch. Why? Because it's better than NXQuake/TyrQuake and I'm too lazy to backport features from it into NXQuake.
Github repo: /fgsfdsfgs/QuakespasmNX
Latest version: 0.4.0 (Apr 20, 2021)
Download link: Github release page

2018091704404200-DB1426D1DFD034027CECDE9C2DD914B8.jpg


2018091704382700-DB1426D1DFD034027CECDE9C2DD914B8.jpg


2018091704124800-DB1426D1DFD034027CECDE9C2DD914B8.jpg

Some of the features of the port:
  • hardware-accelerated OpenGL-based rendering in 1280x720 and 1920x1080;
  • sound, including support for OGG and MP3 music tracks;
  • supports the Mission Packs and other mods compatible with Quakespasm (Quoth, Arcane Dimensions), with a simple mod selector menu;
  • analog controls and shit;
  • gyro aiming (thanks to falquinho for implementing this);
  • multiplayer support (I think);
  • most other features of Quakespasm, such as:
    • advanced renderer with cool stuff, such as colored lighting, fog, translucent water, high-res textures, model interpolation, etc;
    • scalable, optionally translucent HUD and menus;
    • music support, as mentioned earlier;
    • raised engine limits;
    • built-in controller support, which means I had to do basically nothing to make it work on the Switch.

To install it, just unzip quakespasmnx_v040.zip to the root of your SD card, then copy pak0.pak and (optionally, if you have the full version of Quake) pak1.pak from your Quake installation to /switch/quakespasm/id1/. You can then run the game using the Homebrew Launcher. You can get pak0.pak from the Shareware Quake data files in this archive.
If you want to play Mission Pack 1, copy hipnotic/pak0.pak to /switch/quakespasm/hipnotic/ from your installation.
If you want to play Mission Pack 2, copy rogue/pak0.pak to /switch/quakespasm/rogue/ from your installation.
For any other mod, just copy its folder to /switch/quakespasm/.

Some notes:
  • if it crashes and exits back to HBL/Horizon silently, check /switch/quakespasm/error.log to find out what caused it;
  • music should be copied into a music subfolder inside of the appropriate game folder, and the tracks should be named track02.ogg - track11.ogg (or .mp3 if you're using MP3s), e.g.:
    • Quake music goes into /switch/quakespasm/id1/music/;
    • Mission Pack 1 music goes into /switch/quakespasm/hipnotic/music/.
  • some more complex mods, like Arcane Dimensions, will only work if you run Quakespasm in regular app mode (not from the Album), as they require more memory;
  • to enable texture filtering, change gl_texturemode in config.cfg to GL_LINEAR_MIPMAP_LINEAR;
  • to enable round particles, change r_particles in config.cfg to 1, 2 for square particles;
  • you can adjust analog and gyro sensitivity in Options -> Joystick Options;
  • to get out of the "Completed" intermission screen at the end of a map, press "jump" (LTRIGGER by default) a few times;
  • to input text in text fields and console, press Y, to delete text press X, to scroll the console use L and R;
  • mod selector can be accessed from the Options menu;
  • multiplayer was only tested between Switch and PC, use the IP shown in the Multiplayer -> TCP/IP menu to connect to your Switch;
  • read the original Quakespasm readme for more information;
  • if you have any suggestions or bug reports, please post them here or in the Github issues.

Credits:
  • Quakespasm was made by:
    • Ozkan
    • Eric
    • Sander
    • Stevenaaus
    • based on FitzQuake by Fitzgibbons
    • and probably others;
  • falquinho and Ch0wW for their contributions and testing;
  • fincs, Armada651, Subv and probably others for their work on the OpenGL/mesa/libdrm stuff;
  • id Software for Quake.
 

Attachments

  • quakespasmnx_v040.zip
    3.2 MB · Views: 139
Last edited by fgsfds,

falquinho

Active Member
Newcomer
Joined
May 23, 2018
Messages
26
Trophies
0
Age
33
XP
343
Country
Brazil
Hmm, weird. I assume you can get to the menu and all.
The game crash when you load a game and when trying to create a new game? Or just when loading?
I personally do exactly what you said, just drop the nro+nacp ontop of the old ones, and always worked.
Maybe mess with the 1080p toggle to make sure you are running on 720p?!
 

Purple_Shyguy

Well-Known Member
Member
Joined
Nov 8, 2008
Messages
2,322
Trophies
2
Age
33
Location
Republic of Ireland
XP
4,662
Country
I can play around in the menus fine. Starting a game or loading a save I get a hard crash in the applet and a soft crash back to switch menu with full hb menu.

Definitely in 720p mode. Crashes in both thattand 1080p for me. I'm on TX OS if maybe that's a problem.

Making a fresh new folder also no luck there. Oh well.
 

Csmrcc

Well-Known Member
Member
Joined
Sep 13, 2018
Messages
412
Trophies
0
Age
37
XP
904
Country
Spain
I can play around in the menus fine. Starting a game or loading a save I get a hard crash in the applet and a soft crash back to switch menu with full hb menu.

Definitely in 720p mode. Crashes in both thattand 1080p for me. I'm on TX OS if maybe that's a problem.

Making a fresh new folder also no luck there. Oh well.
Same for me, os 6.1, reinx, from hb.snp, working without the giroscope stuff, not able to create new game with it.
:(
 

falquinho

Active Member
Newcomer
Joined
May 23, 2018
Messages
26
Trophies
0
Age
33
XP
343
Country
Brazil
Same for me, os 6.1, reinx, from hb.snp, working without the giroscope stuff, not able to create new game with it.
:(
Can you guys test with atmosphere? I have no idea why its crashing but thats the only variable, so maybe woth a try.
 

kassio69

Well-Known Member
Newcomer
Joined
Nov 20, 2011
Messages
80
Trophies
1
XP
1,137
Country
Brazil
Can you guys test with atmosphere? I have no idea why its crashing but thats the only variable, so maybe woth a try.
Didn't work for me either.. (Atmosphere 0.8.3).
Game and expansion packs runs smoothly with fgsfdsfgs files.
When I try it with your .nacp and .nro the game loads but crashes when the player touches the first ammo box in the demo.
I don't get any error logs.

Can someone please build the latest commits from fgsfdsfgs ("exit gracefully on HOME-induced termination")?
I tried but got some "collect2" error (totally newbie here)

Thanks!
 
Last edited by kassio69,

cucholix

00000780 00000438
Member
Joined
Jan 17, 2017
Messages
3,246
Trophies
1
Age
44
XP
6,254
Country
Chile
It runs like a charm with atmos 0.8.4 :)
BTW it can be hard land a shot to an enemy without crosshair, you can enable it in the config file "crosshair=1"
 

Ch0wW

Well-Known Member
Newcomer
Joined
Feb 2, 2019
Messages
79
Trophies
0
Age
31
Location
France
Website
www.youtube.com
XP
402
Country
France
I'm deeply thinking to add a few more options in the menu, in order to be able to better calibrate the stick sensitivities without modifiying the .cfg file every time, aswell as adding a few patchs from Spike.

Does it compile out of the box with the latest devkitpro ?
 
Last edited by Ch0wW,

kassio69

Well-Known Member
Newcomer
Joined
Nov 20, 2011
Messages
80
Trophies
1
XP
1,137
Country
Brazil
I'm deeply thinking to add a few more options in the menu, in order to be able to better calibrate the stick sensitivities without modifiying the .cfg file every time, aswell as adding a few patchs from Spike.

Does it compile out of the box with the latest devkitpro ?

I tried the latest devkitPro on Windows, but after some minutes this is how it ends:

build error.png
 

Ch0wW

Well-Known Member
Newcomer
Joined
Feb 2, 2019
Messages
79
Trophies
0
Age
31
Location
France
Website
www.youtube.com
XP
402
Country
France
removing -lnx from the Makefile.nx seems to fix the issue for me.

But, it immediately throws an error with the .nro, being much smaller than the original file...

EDIT : nxQuake2 doesn't have that issue, for some reason...

EDIT 2 : I reported it to the github repository, just in case of.
 
Last edited by Ch0wW,

Csmrcc

Well-Known Member
Member
Joined
Sep 13, 2018
Messages
412
Trophies
0
Age
37
XP
904
Country
Spain
removing -lnx from the Makefile.nx seems to fix the issue for me.

But, it immediately throws an error with the .nro, being much smaller than the original file...

EDIT : nxQuake2 doesn't have that issue, for some reason...

EDIT 2 : I reported it to the github repository, just in case of.
You are using what cfw and horizon?
 

Ch0wW

Well-Known Member
Newcomer
Joined
Feb 2, 2019
Messages
79
Trophies
0
Age
31
Location
France
Website
www.youtube.com
XP
402
Country
France
Actually, the problem was because I didn't link the -lnx library with QuakeSpasmNX, resulting in a much smaller file, and to make it work, one shouldn't omit it.

I've made a commit ( ==> https://github.com/Ch0wW/QuakespasmNX/commit/c96d3659aafc9d8d73a18d18e76ae68c94ab7dcd ) that fixes the "Multiple definitions" problem, similarily to nxQuake2.

However, fgsfdsfgs & I have gotten another problem after making this change :
Error: Couldn't init SDL video: displayIndex must be in the range 0 - -1.

If some people are aware of what's causing this issue, we're all ears.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Those IHOP chips are actually pretty damn good