fgsfdsfgs / ioq3 Goto Github PK
View Code? Open in Web Editor NEWThis project forked from ioquake/ioq3
Nintendo Switch port of ioquake3
Home Page: https://www.ioquake3.org/
License: GNU General Public License v2.0
This project forked from ioquake/ioq3
Nintendo Switch port of ioquake3
Home Page: https://www.ioquake3.org/
License: GNU General Public License v2.0
Please can you update sdl_input_nx.c so this can build on new firmware, you can use the file from here:
https://github.com/faithvoid/OpenArenaNX/blob/main/code/sdl/sdl_input_nx.c
This version also contains gyro support, which can be enabled in q3config.cfg (seta in_gyromouse "1").
Can I also recommend in that config you change to this, for better brightness and colours and sound,
seta r_gamma "2"
seta r_intensity "1"
seta r_stereoEnabled "1"
Thanks.
As per the title, standalone files are good and run on the switch without sound issues. Using the game menu to switch between team arena and other mods such as open arena produces bad sound. Probably SLD or OpenAL sound channels are not being released when switching and then reopening again when mods are switched, this is possibly what's causing the issues. Do you have any hints on where in the source code this can be modded? Thanks.
Dear Developer!
The port is awesome.
Could you add please touch controls for aiming like on the PS vita version? It allows precise aiming while zooming.
If zoomed in, slower joystick sensitivity could be good if possible
v0.1.0 release black screened for me.
Release posted here works great (really great!).
Can also confirm no issues running Team Arena (merged q3config.cfg to get resolution and joystick correct)
I wanted to get USB-C mouse/keyboard support working, and (perhaps naively) concluded that just recompiling with the latest switch-sdl which added mouse/kb support in Feb '18 would do the trick.
I successfully compiled from source (clean, no errors), but I get a grey screen crash with error code 2345-0007 (0xf59) immediately on load (no splash, instant). Not sure how to debug further without adding twili etc.
I notice my NRO is quite a bit smaller than yours, though this could just be because of more recent dependencies in the build?
ioquake3nx.nro 9,920,381 bytes (my build)
ioquake3nx.nro 11,198,333 bytes (your forum build)
Happy to aid in debugging. Could I ask you to post a new build/release, see if you have the same issue on your switch?
7.0.1 AMS 0.8.5 Hekate 4.9.1 fusee and starting ioq3 via HBMenu via content override. No other kips.
Thanks for the great port!
(base) jf$ /opt/devkitpro/pacman/bin/pacman -Q
devkitA64 r12-2
devkitpro-keyring r1.787e015-2
general-tools 1.0.2-2
libnx 2.0.0-2
switch-curl 7.59.0-1
switch-examples 20190102-1
switch-libdrm_nouveau 1.0.0-1
switch-libjpeg-turbo 1.5.3-1
switch-libogg 1.3.3-1
switch-libvorbis 1.3.5-1
switch-mesa 18.3-2
switch-sdl2 2.0.8-17
switch-tools 1.5.0-1
switch-zlib 1.2.11-2
(base) jf$ uname -a
Darwin jf.local 18.2.0 Darwin Kernel Version 18.2.0: Thu Dec 20 20:46:53 PST 2018; root:xnu-4903.241.1~1/RELEASE_X86_64 x86_64
(base) jf$
Builds from switch-examples run fine on the switch, so build env is sane.
I have all 8 pak files in the baseq3 folder. The game crashes immediately with the error: "The software closed because an error occurred." I'm attempting to launch game outside of Applet Mode. QuakespasmNX and other games work fine. Can someone confirm that this is working on the latest version of Atmosphere?
ioquake3-nx is crashing on the latest commit on Latest Kosmos: https://github.com/AtlasNX/Kosmos/releases/tag/v11.9 Does this have to do with any changes on the new commits?
Game does not start at all on the latest nintendo switch firmware w/ latest atmosphere.
Can you please let me know in sdl_input_nx. I am trying to add mouse touchsceen for navigating menu's. I have already innitialised touchscreen in a different function: hidInitializeTouchScreen();
In this function, the cursor moves around the screen, but for some reason the calculations are wrong and the more you drag the cursor to the right edge of the screen the further out of sink it goes.
void IN_ProcessTouch( void )
{
HidTouchScreenState state={0};
if (hidGetTouchScreenStates(&state, 1)) {
if (state.count != prev_touchcount)
{
prev_touchcount = state.count;
}
for(s32 i=0; i<state.count; i++)
{
//get pixel location of where we touched the sceen
int touchscreenx = state.touches[i].x;
int touchscreeny = state.touches[i].y;
//get the current window resolution
int Width, Height;
SDL_GetWindowSize(SDL_window, &Width, &Height); //This shows as 1280/720
SDL_WarpMouseInWindow(SDL_window, touchscreenx, touchscreeny);
}
}
}
Can you see what I have done wrong in this code?
Hello!
I could like to be able to bind a joystick button to temporarily disable the gyro when held. This is to allow for re-centering the camera.
https://inputlabs.io/blog/gyro_ratcheting is a good resource in case you haven't heard anything about it before. It's pretty similar to lifting the mouse when playing a mouse+keyboard PC game.
Thankyou!
USB keyboard does not emit characters into the console (but works for in-game keys)
Thought it would be neat to have gyro controls in Quake 3 :0)
Draft implementation on branch below ready to play with, but needs additional work.
Opening this issue for discussion around:
Feel free to jump in and hack on it.
Hi @fgsfdsfgs , i just implemented preemptive multithreading in SDL2, would it be possible for you to test it to see if there is no issues with it (mainly audio) before pushing it to pacman packages?
Thanks.
In ioq3\code\qcommon\common.c we can add our own keygen so that the user can generate their own key.
Code mod:
Replace this line: Q_strncpyz( key, ikey, 17 );
With this:
//start of keygen
static char charset[] = "237abcdghjlprstw";
char *randomString = NULL;
srand ( time(NULL) );
int length = sizeof(charset)-1;
randomString = malloc(length +1);
if (randomString) {
for (int n = 0;n < length;n++) {
int key = rand() % (int)(sizeof(charset) -1);
randomString[n] = charset[key];
}
randomString[length] = '\0';
}
//end of keygen
Q_strncpyz( key, randomString, 17 );
At the top of the file add this:
//keygen stuff
#include <time.h>
//keygen stuff
Regards.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.