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: 64
Last edited by fgsfds,

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,064
Trophies
1
XP
4,645
Country
Japan
Sorry for the double post. Here is a little fix to make the demo attract run at the start of the game. Apparently this is a Quakespasm limitation.

I have attached an autoexec.cfg. Just drop this into the /id1/ folder. The flaw is that the demo will only play once, not loop. If anybody knows how to make it look, please post a modified autoexec.cfg.
 

Attachments

  • autoexec.zip
    135 bytes · Views: 255

Mikep90

Well-Known Member
Member
Joined
May 29, 2018
Messages
231
Trophies
0
Age
39
XP
1,448
Country
United States
Loaded it up. Runs great. Shuts my system down on a 2nd reboot?
as well I have the same problem/ The first boot works just fine but the second boot freezes up and have to hard reset it.
Have to either hit home or play another game than boot it up back up it will work but if you hit quit than attempt to play again it will freeze up resulting in a hard reset
 
Last edited by Mikep90,
  • Like
Reactions: Memoir

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,359
Trophies
1
Age
42
XP
5,317
Country
Germany
@fgsfds Wow man! Keep porting stuff, you have a run right now.
Also I don't know if the Switch is strong enough for the Quake III engine but if it is, maybe one of my fav Q3 games could be ported:
Jedi Academy. In fact there's an open source efford here -> https://github.com/JACoders/OpenJK
It would need the original files though obviously (which you can get from Steam or GOG).
 

fgsfds

Well-Known Member
OP
Member
Joined
Aug 28, 2018
Messages
421
Trophies
0
Age
121
XP
2,664
Country
Russia
That is correct. More RAM is needed for highres textures. It also currently preallocates 128 MB for its internal heap instead of the default 256, which makes some AD maps crash on load. I don't know of a way to get more memory from a homebrew applet, NSP might be the only way. You might want to rebuild it with a 256 MB heap or somehow pass -heapsize 256 to it, when you pack it into an NSP. You'd have to change this line to do that.
As for crashing on the second time you start it up, I'm aware of this and I'm currently not sure what causes it. Might be incorrect deinitialization of the GL stuff. Restarting the Homebrew Launcher between runs helps.
 
  • Like
Reactions: lordelan

chikoo_69

Well-Known Member
Member
Joined
Jan 16, 2015
Messages
127
Trophies
0
Age
38
Location
Saint-Hubert, Quebec
XP
782
Country
Canada
That is correct. More RAM is needed for highres textures. It also currently preallocates 128 MB for its internal heap instead of the default 256, which makes some AD maps crash on load. I don't know of a way to get more memory from a homebrew applet, NSP might be the only way. You might want to rebuild it with a 256 MB heap or somehow pass -heapsize 256 to it, when you pack it into an NSP. You'd have to change this line to do that.
As for crashing on the second time you start it up, I'm aware of this and I'm currently not sure what causes it. Might be incorrect deinitialization of the GL stuff. Restarting the Homebrew Launcher between runs helps.
FYI, i am not sure why but mine does not crash at all when restarting a new game from a loaded one. I've been trying to make it crash for a while now and still running new games.
 

fgsfds

Well-Known Member
OP
Member
Joined
Aug 28, 2018
Messages
421
Trophies
0
Age
121
XP
2,664
Country
Russia
It crashes when you exit out of the game entirely and run it again without exiting HBL. I think it was NXQuake that was crashing at starting a new game while already running one.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: Corporation is the new corporation.