Homebrew [Release] Fruit'Y port for 3DS - Retroguru Team

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,136
Country
Italy
Pressing the Home button to suspend isn't quite so successful. It pops back to the home menu ok, but the music keeps playing.

This is the drawback of using CSND instead the DSP. I'll try to find a quickfix Using the DSP is planned, but I don't have so much time now.

Pressing Home again to resume seems to work fine, but pressing X to close gives an endless "Closing" dialogue and I had to hard shutdown. Needs more APT :)
Exiting from the game's main menu works fine tho.

This one seems a big problem. I'll check it tonight.

For the 3dsx version everything should be ok. It's alveys the CIA that has problem :lol:

Thanks.
 
  • Like
Reactions: SLiV3R

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,136
Country
Italy
I figure you must have messed with APT stuff in your other projects, but if not, I found the BlargSNES source to be a helpful reference.

For the game not closing, it's not an APT problem, simply there are some loops inside the main loop that don't handle the SDL_EXIT event. I'm fixing it right now but I have to be very careful to not break the code for the other platforms.

The problem with the sound not stopping is a consequence of the aptMainLoop() function, introduced about a year ago in ctrulib, that hides all the different states handling.

This function is very easy to use, but now we can't control the app while we are in the suspended state. The app is paused in a loop waiting to return to the normal flow or for an exit event. So once a CSND sound loop is started, there is no way to stop it.

The only solution I see is to make in my code a custom version of the aptmainLoop() functions that stops the CSND loops (saving their states) and starts them again when returning to the main loop.
The problem is that the enums that lists the system states and some of the code I need, now is private, so I have to replicate a big part of the ctrulib code for the APT service.

I found this problem in my other games, but didn't solved it because the solution isn't very clean. I think now it's time to fix it :lol:
 
  • Like
Reactions: SLiV3R

Ryuzaki_MrL

Green Thunder
Member
Joined
Jun 23, 2015
Messages
781
Trophies
0
Age
26
XP
2,040
Country
Brazil
For the game not closing, it's not an APT problem, simply there are some loops inside the main loop that don't handle the SDL_EXIT event. I'm fixing it right now but I have to be very careful to not break the code for the other platforms.

The problem with the sound not stopping is a consequence of the aptMainLoop() function, introduced about a year ago in ctrulib, that hides all the different states handling.

This function is very easy to use, but now we can't control the app while we are in the suspended state. The app is paused in a loop waiting to return to the normal flow or for an exit event. So once a CSND sound loop is started, there is no way to stop it.

The only solution I see is to make in my code a custom version of the aptmainLoop() functions that stops the CSND loops (saving their states) and starts them again when returning to the main loop.
The problem is that the enums that lists the system states and some of the code I need, now is private, so I have to replicate a big part of the ctrulib code for the APT service.

I found this problem in my other games, but didn't solved it because the solution isn't very clean. I think now it's time to fix it :lol:

Migrating to NDSP will fix all of these problems without needing a custom aptMainLoop.
 

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,136
Country
Italy
Migrating to NDSP will fix all of these problems without needing a custom aptMainLoop.

I know and I have most of the code already done. But I want to have both DSP and CSND options working, so that people not having the dsp FW dump, can have sound with the CSND service
 
  • Like
Reactions: SLiV3R

Kojote

Member
Newcomer
Joined
Sep 27, 2015
Messages
22
Trophies
0
Location
Salzburg
Website
www.pdroms.de
XP
120
Country
Australia
I will try this tonight and report. I want all the other retroguru games on My 3ds :)
Unfortunately not all will make it on the 3DS. Giana's Return is a no go, as the actual license holder earns money with this on modern systems. Although it's a Retroguru game and all is done by our self, we still use their trademark so we have to respect that in any case.

one of the best designed homebrews :D
good job!
Thanks, we try our best to deliver high quality. It's always sad to see when something has potential but on one important part it destroys the overall impression. Just imagine a great game without music or bad controls. Sometimes you just have a chance once to impress someone :)
 

Fatalanus

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
595
Trophies
0
Age
24
XP
410
Country
Romania
Well I tested it yesterday, and for me everything is fine. but I didn't played a lot because I don't like those puzzle games. ^^
 

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
9,880
Trophies
2
XP
29,214
Country
United Kingdom
Sorry for delay, I finally tested the latest version. All the issues I mentioned before are indeed fixed :D

But I found a new one that I didn't try before... Press home to suspend to main menu, then while it's suspended, close the console. It doesn't go into sleep mode (power light doesn't start breathing). I checked with an official game (Picross e2) just to make sure, and that does sleep in those circumstances. Sorry to spring a new one on you...
 

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,136
Country
Italy
Sorry for delay, I finally tested the latest version. All the issues I mentioned before are indeed fixed :D

But I found a new one that I didn't try before... Press home to suspend to main menu, then while it's suspended, close the console. It doesn't go into sleep mode (power light doesn't start breathing). I checked with an official game (Picross e2) just to make sure, and that does sleep in those circumstances. Sorry to spring a new one on you...
Thank you. But I can't fix this last one. It's a issue with ctrulib.

I'll open an issue on the ctrulib github in the hope that it will be fixed.
 
  • Like
Reactions: hippy dave

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,136
Country
Italy
Just published an update:
  • Fixed some CIA problems (interaction with 3ds home menu)
  • Sound/SFX volume level controls added to the to the Option menu of the game.

Warning: if you update from the previous version, go to option ad adjust the SFX volume or it will be very low (15%)
 
  • Like
Reactions: hippy dave

Cid2mizard

Well-Known Member
Member
Joined
Aug 16, 2007
Messages
401
Trophies
1
Age
43
Location
Maubeuge
XP
2,440
Country
France
This is intro bottom screen for Fruit'Y.
 

Attachments

  • scr_4_BOTTOM.png
    scr_4_BOTTOM.png
    2.7 KB · Views: 201

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    BakerMan @ BakerMan: it looks like a little kids' game, and bunny (welcome btw) is looking for an uncensor patch