Homebrew [RELEASE] ctrQuake - Quake 1 port

Arseface_TM

Board Game Dev
Member
Joined
Sep 16, 2015
Messages
331
Trophies
0
Age
32
XP
306
Country
United States
God yes.

Can I make a suggestion for keyboard inputs?

In order to use the console we'd need access to a full keyboard. Can you set it so that tapping a portion of the touchscreen enables either a touchscreen or a daisy-wheel input system? You could also use select to switch modes, and have return/escape buttons on the touchscreen keyboard/daisy wheel to free up space.


I'm partial to wheel interfaces myself, and I can make a configuration that should be able to easily implement extra binds like weapon switching.
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
When locked to O3DS speeds it's a bit sluggish, about 30 FPS from just eyeballing it, and the audio gets a little choppy. Looks playable, but I didn't try it for real long. I imagine HW rendering would give it a massive boost. That being said, it's pretty impressive that it runs that smooth at 268MHz.
 
Last edited by daxtsu,

MasterFeizz

Well-Known Member
OP
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
God yes.

Can I make a suggestion for keyboard inputs?

In order to use the console we'd need access to a full keyboard. Can you set it so that tapping a portion of the touchscreen enables either a touchscreen or a daisy-wheel input system? You could also use select to switch modes, and have return/escape buttons on the touchscreen keyboard/daisy wheel to free up space.


I'm partial to wheel interfaces myself, and I can make a configuration that should be able to easily implement extra binds like weapon switching.

I have started to implement better touch screen controls, with buttons to bring up the console or the keyboard, and will also have slots for binding keypresses

--------------------- MERGED ---------------------------

When locked to O3DS speeds it's a bit sluggish, about 30 FPS from just eyeballing it, and the audio gets a little choppy. Looks playable, but I didn't try it for real long. I imagine HW rendering would give it a massive boost. That being said, it's pretty impressive that it runs that smooth at 268MHz.

Thanks for testing. The timer functions are not well implemented, so they might be affecting performance also, but hardware rendering should make it full speed.
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
Thanks for testing. The timer functions are not well implemented, so they might be affecting performance also, but hardware rendering should make it full speed.

I'll probably get smitten by the FPS lovers for writing this, but even if it had to be locked to 30 FPS with smooth audio, it'd still be just fine. Anyway, would you be open to a pull request for generating a CIA version of this, perhaps once it's a little further along? It pretty much amounts to having an RSF file and a makefile edit.

Also, I just noticed it crashed my N3DS after running the demo for about 10 minutes in a row. I'm not sure if that's related to 268mhz/64mb or not though (or maybe it simply being a CIA).
 

MasterFeizz

Well-Known Member
OP
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
I'll probably get smitten by the FPS lovers for writing this, but even if it had to be locked to 30 FPS with smooth audio, it'd still be just fine. Anyway, would you be open to a pull request for generating a CIA version of this, perhaps once it's a little further along? It pretty much amounts to having an RSF file and a makefile edit.

Also, I just noticed it crashed my N3DS after running the demo for about 10 minutes in a row. I'm not sure if that's related to 268mhz/64mb or not though (or maybe it simply being a CIA).

It may have memory leaks, as i have to malloc large arrays to avoid crashing. Might have forgotten to free one of those.
 

Arseface_TM

Board Game Dev
Member
Joined
Sep 16, 2015
Messages
331
Trophies
0
Age
32
XP
306
Country
United States
I have started to implement better touch screen controls, with buttons to bring up the console or the keyboard, and will also have slots for binding keypresses
Awesome, sounds like you know what you want. I look forward to it!
I might look into adjusting the controls to use a daisy wheel interface anyways to test my library, but I'll willing to bet whatever you do will be better.
 
  • Like
Reactions: MasterFeizz

MasterFeizz

Well-Known Member
OP
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
Awesome, sounds like you know what you want. I look forward to it!
I might look into adjusting the controls to use a daisy wheel interface anyways to test my library, but I'll willing to bet whatever you do will be better.

The code right now is pretty simple to use, files ending with ctr are specific to the 3ds and input functions are on in_ctr.c and sys_ctr.c
 
  • Like
Reactions: Arseface_TM

farias0

Whatever
Member
Joined
Sep 29, 2015
Messages
142
Trophies
0
Age
28
XP
145
Country
Brazil
Awesome, gonna try this asap.

But just commenting, there's already a Quake 1 port for 3DS, isn't there? It's the engine port, to be honest, similar to the Doom one. I found it hard to use, so I guess this one will end up a lot better.

Thanks for the work!
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
It may have memory leaks, as i have to malloc large arrays to avoid crashing. Might have forgotten to free one of those.

It crashes (the system locks up and continues playing whatever sound was just playing, kind of like on old Windows computers) after about 10 minutes of demo playback in "N3DS mode" too (I just used the official release 3dsx), so I think there's a memory leak or something like you said.
 

Blundermann

Well-Known Member
Member
Joined
Oct 15, 2013
Messages
174
Trophies
0
XP
410
Country
United States
But just commenting, there's already a Quake 1 port for 3DS, isn't there? It's the engine port, to be honest, similar to the Doom one. I found it hard to use, so I guess this one will end up a lot better.
Spectre3DS runs pretty well on my o3DS, it just wasn't well implimented. I had to mess with the controls for a while, and I gave up after not being able to figure out how to change the sensitivity of the look controls.

Just tested this on my o3DS running *hax 2.1, and it runs excellently! Not quite as excellently as Spectre3DS when it comes to performance; I'm getting around 30-35FPS rather than Spectre's 59 or so, but it's still very playable especially with the functional GUI.
 

Arseface_TM

Board Game Dev
Member
Joined
Sep 16, 2015
Messages
331
Trophies
0
Age
32
XP
306
Country
United States
I get an error when I try to compile.

Code:
c:/Users/Arseface/Desktop/poop/ctrQuake-master/source/sys_ctr.c:302:2: error: too few arguments to function 'hidInit'
  hidInit();
  ^
In file included from c:/devkitPro/libctru/include/3ds.h:26:0,
  from c:/Users/Arseface/Desktop/poop/ctrQuake-master/source/sys_ctr.c:25:
c:/devkitPro/libctru/include/3ds/services/hid.h:78:8: note: declared here
 Result hidInit(u32* sharedMem);
  ^
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
I get an error when I try to compile.

Code:
c:/Users/Arseface/Desktop/poop/ctrQuake-master/source/sys_ctr.c:302:2: error: too few arguments to function 'hidInit'
  hidInit();
  ^
In file included from c:/devkitPro/libctru/include/3ds.h:26:0,
  from c:/Users/Arseface/Desktop/poop/ctrQuake-master/source/sys_ctr.c:25:
c:/devkitPro/libctru/include/3ds/services/hid.h:78:8: note: declared here
Result hidInit(u32* sharedMem);
  ^

Your ctrulib is probably out of date. Are you using the one that came with devkitPro? If so, you'll need to build a newer one from https://github.com/smealum/ctrulib.
 
  • Like
Reactions: Arseface_TM

MasterFeizz

Well-Known Member
OP
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
It crashes (the system locks up and continues playing whatever sound was just playing, kind of like on old Windows computers) after about 10 minutes of demo playback in "N3DS mode" too (I just used the official release 3dsx), so I think there's a memory leak or something like you said.
I just commited some changes and released a new version that should fix the memory leak
 
  • Like
Reactions: daxtsu

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Sonic Angel Knight @ Sonic Angel Knight: :blink: