Homebrew [NDS] Yet Another nds-bootstrap Forwarder: more than 40 forwarders are now possible

SpaceLion

Member
Newcomer
Joined
Feb 28, 2022
Messages
8
Trophies
0
Age
33
Location
United States
XP
61
Country
United States
I'm on Windows 10, also suddenly having issues with the forwarder (GUI and the latest CLI nightly posted here). I've been using the latest GUI just fine until now. The GUI says:

Checking API if a custom banner or sound is provided...
No banner provided. Checking GameTDB for standard boxart...
Resizing banner...
Creating banner...
ERROR: Could not load image file: can't fopen.

If I try the same thing while providing my own custom boxart (properly sized), I get the same error message, but without the second line (of course).


CLI says:


Traceback (most recent call last):
File "C:\hostedtoolcache\windows\Python\3.10.4\x64\lib\site-packages\PIL\Image.py", line 3072, in open
AttributeError: 'NoneType' object has no attribute 'seek'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\hostedtoolcache\windows\Python\3.10.4\x64\Lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 113, in run
File "C:\hostedtoolcache\windows\Python\3.10.4\x64\Lib\site-packages\cx_Freeze\initscripts\Console.py", line 15, in run
File "generator.py", line 383, in <module>
File "generator.py", line 344, in start
File "generator.py", line 238, in resizebanner
File "C:\hostedtoolcache\windows\Python\3.10.4\x64\lib\site-packages\PIL\Image.py", line 3074, in open
AttributeError: 'NoneType' object has no attribute 'read'
 

lifehackerhansol

i write working(?) code
OP
Member
Joined
Oct 2, 2021
Messages
353
Trophies
0
XP
729
Country
Canada
I'm on Windows 10, also suddenly having issues with the forwarder (GUI and the latest CLI nightly posted here). I've been using the latest GUI just fine until now. The GUI says:

Checking API if a custom banner or sound is provided...
No banner provided. Checking GameTDB for standard boxart...
Resizing banner...
Creating banner...
ERROR: Could not load image file: can't fopen.

If I try the same thing while providing my own custom boxart (properly sized), I get the same error message, but without the second line (of course).


CLI says:


Traceback (most recent call last):
File "C:\hostedtoolcache\windows\Python\3.10.4\x64\lib\site-packages\PIL\Image.py", line 3072, in open
AttributeError: 'NoneType' object has no attribute 'seek'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\hostedtoolcache\windows\Python\3.10.4\x64\Lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 113, in run
File "C:\hostedtoolcache\windows\Python\3.10.4\x64\Lib\site-packages\cx_Freeze\initscripts\Console.py", line 15, in run
File "generator.py", line 383, in <module>
File "generator.py", line 344, in start
File "generator.py", line 238, in resizebanner
File "C:\hostedtoolcache\windows\Python\3.10.4\x64\lib\site-packages\PIL\Image.py", line 3074, in open
AttributeError: 'NoneType' object has no attribute 'read'
I messed up that last nightly. I'll fix it again.

Man I really don't know what happened with this one, this has to be the worst release lol

Also, if possible, can you post the full CLI log? like from start of the command until finish (or error)

EDIT: nightly should be up
 
Last edited by lifehackerhansol,

Yrouel

Well-Known Member
Newcomer
Joined
Apr 16, 2019
Messages
97
Trophies
0
Age
36
XP
292
Country
Italy
@lifehackerhansol I just got the "Failed to open file for CWAV conversion" error and I tried the latest nightly and... SPACES STRIKE AGAIN!

Code:
Creating banner...
Using arguments: bannertool makebanner -i "data/banner.png" -a /Users/max/Downloads/Dragon Quest IV/YIVP/YIVP.wav -o "data/banner.bin"


ERROR: Failed to open file for CWAV conversion: No such file or directory


(when I moved the files the command is bannertool makebanner -i "data/banner.png" -a /Users/max/Desktop/YIVP/YIVP.wav -o "data/banner.bin" so I'm pretty sure the problem are those pesky spaces)

EDIT: It was indeed because of spaces in the path of the sound file, made a PR



Code:
[email protected] generator % ./generator -p /roms/nds/2642\ -\ Dragon\ Quest\ -\ The\ Chapters\ of\ the\ Chosen\ \(Europe\)\ \(En,Fr,De,Es,It\).nds -b /Users/max/Downloads/Dragon\ Quest\ IV/YIVP/YIVP.png -s /Users/max/Downloads/Dragon\ Quest\ IV/YIVP/YIVP.wav /Users/max/Downloads/2642\ -\ Dragon\ Quest\ -\ The\ Chapters\ of\ the\ Chosen\ \(Europe\)\ \(En,Fr,De,Es,It\).nds
Getting gamecode...
Extracting and resizing icon...
generator.py:63: DeprecationWarning: LINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead.
Getting ROM titles...
Creating SMDH...
Resizing banner...
generator.py:243: DeprecationWarning: ANTIALIAS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
Creating banner...


ERROR: Failed to open file for CWAV conversion: No such file or directory


[email protected] generator % ./generator -p /roms/nds/2642\ -\ Dragon\ Quest\ -\ The\ Chapters\ of\ the\ Chosen\ \(Europe\)\ \(En,Fr,De,Es,It\).nds -b /Users/max/Desktop/YIVP/YIVP.png -s /Users/max/Desktop/YIVP/YIVP.wav /Users/max/Downloads/2642\ -\ Dragon\ Quest\ -\ The\ Chapters\ of\ the\ Chosen\ \(Europe\)\ \(En,Fr,De,Es,It\).nds
Getting gamecode...
Extracting and resizing icon...
generator.py:63: DeprecationWarning: LINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead.
Getting ROM titles...
Creating SMDH...
Resizing banner...
generator.py:243: DeprecationWarning: ANTIALIAS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
Creating banner...
Creating romfs...
Generating UniqueID...
Running makerom...
CIA generated.
 
Last edited by Yrouel,

SpaceLion

Member
Newcomer
Joined
Feb 28, 2022
Messages
8
Trophies
0
Age
33
Location
United States
XP
61
Country
United States
I messed up that last nightly. I'll fix it again.

Man I really don't know what happened with this one, this has to be the worst release lol

Also, if possible, can you post the full CLI log? like from start of the command until finish (or error)

EDIT: nightly should be up
The latest nightly (CLI) works! When trying to generate a forwarder with a custom sound, though, I still get the same error @Yrouel reported ("Failed to open file for CWAV conversion: No such file or directory"). If I remove the spaces from the sound's path, the CIA generates fine--although when installed, the sound doesn't play properly at all (could be some mistake on my end, although it's a 16 bit .wav file that's only 1.3s long, so I have no idea what the problem could be).
 

Yrouel

Well-Known Member
Newcomer
Joined
Apr 16, 2019
Messages
97
Trophies
0
Age
36
XP
292
Country
Italy
although when installed, the sound doesn't play properly at all (could be some mistake on my end though).

I'm guessing you are hearing a chirping sound. That happens when the file is slightly longer than 3 seconds or "marginal" in some other way (if you make it significantly longer the whole thing won't render).

The sound MUST be at most 3 seconds or less (it's not forgiving if you go above EXACTLY 3 seconds), stereo, 16 bit PCM wav (I use Audacity to produce such files)

And just as a reminder the image should be 256x128 png (you'd want transparency to look nice)
 

SpaceLion

Member
Newcomer
Joined
Feb 28, 2022
Messages
8
Trophies
0
Age
33
Location
United States
XP
61
Country
United States
I'm guessing you are hearing a chirping sound. That happens when the file is slightly longer than 3 seconds or "marginal" in some other way (if you make it significantly longer the whole thing won't render).

The sound MUST be at most 3 seconds or less (it's not forgiving you have to be exact), stereo, 16 bit PCM wav (I use Audacity to produce such files)

And just as a reminder the image should be 256x128 png (you'd want transparency to look nice)
Ah, it wasn't a stereo track! That was the problem, it looks and sounds perfect on console now. Thanks. I'm actually having trouble getting the first argument path right (the forwarder tells me it's pointing at nothing when I run it), but that's a me-problem lol.
 
  • Like
Reactions: Yrouel

Yrouel

Well-Known Member
Newcomer
Joined
Apr 16, 2019
Messages
97
Trophies
0
Age
36
XP
292
Country
Italy
Ah, it wasn't a stereo track! That was the problem, it looks and sounds perfect on console now. Thanks. I'm actually having trouble getting the first argument path right (the forwarder tells me it's pointing at nothing when I run it), but that's a me-problem lol.

I'm happy you fixed it :)

Regarding the custom rom path, basically if you have /roms/nds/game.nds in the microsd you use -p "/roms/nds/game.nds" in other words you use the POSIX notation (/ instead of \) and no need for drive letter.

I made a suggestion to @lifehackerhansol to further streamline this by using a default path (/roms/nds) and doing the -p stuff "automagically" so the command in its simplest form would become just generator game.nds
 
  • Like
Reactions: SpaceLion

lifehackerhansol

i write working(?) code
OP
Member
Joined
Oct 2, 2021
Messages
353
Trophies
0
XP
729
Country
Canada
@lifehackerhansol I just got the "Failed to open file for CWAV conversion" error and I tried the latest nightly and... SPACES STRIKE AGAIN!

Code:
Creating banner...
Using arguments: bannertool makebanner -i "data/banner.png" -a /Users/max/Downloads/Dragon Quest IV/YIVP/YIVP.wav -o "data/banner.bin"


ERROR: Failed to open file for CWAV conversion: No such file or directory


(when I moved the files the command is bannertool makebanner -i "data/banner.png" -a /Users/max/Desktop/YIVP/YIVP.wav -o "data/banner.bin" so I'm pretty sure the problem are those pesky spaces)

EDIT: It was indeed because of spaces in the path of the sound file, made a PR



Code:
[email protected] generator % ./generator -p /roms/nds/2642\ -\ Dragon\ Quest\ -\ The\ Chapters\ of\ the\ Chosen\ \(Europe\)\ \(En,Fr,De,Es,It\).nds -b /Users/max/Downloads/Dragon\ Quest\ IV/YIVP/YIVP.png -s /Users/max/Downloads/Dragon\ Quest\ IV/YIVP/YIVP.wav /Users/max/Downloads/2642\ -\ Dragon\ Quest\ -\ The\ Chapters\ of\ the\ Chosen\ \(Europe\)\ \(En,Fr,De,Es,It\).nds
Getting gamecode...
Extracting and resizing icon...
generator.py:63: DeprecationWarning: LINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead.
Getting ROM titles...
Creating SMDH...
Resizing banner...
generator.py:243: DeprecationWarning: ANTIALIAS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
Creating banner...


ERROR: Failed to open file for CWAV conversion: No such file or directory


[email protected] generator % ./generator -p /roms/nds/2642\ -\ Dragon\ Quest\ -\ The\ Chapters\ of\ the\ Chosen\ \(Europe\)\ \(En,Fr,De,Es,It\).nds -b /Users/max/Desktop/YIVP/YIVP.png -s /Users/max/Desktop/YIVP/YIVP.wav /Users/max/Downloads/2642\ -\ Dragon\ Quest\ -\ The\ Chapters\ of\ the\ Chosen\ \(Europe\)\ \(En,Fr,De,Es,It\).nds
Getting gamecode...
Extracting and resizing icon...
generator.py:63: DeprecationWarning: LINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead.
Getting ROM titles...
Creating SMDH...
Resizing banner...
generator.py:243: DeprecationWarning: ANTIALIAS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
Creating banner...
Creating romfs...
Generating UniqueID...
Running makerom...
CIA generated.
Finally fixed the space issue. I still don't know why other people are having issues with boxart images though, but I'm hoping the 10 log messages I added helps.
 
  • Like
Reactions: Yrouel
v1.6.1

lifehackerhansol

i write working(?) code
OP
Member
Joined
Oct 2, 2021
Messages
353
Trophies
0
XP
729
Country
Canada

YANBF v1.6.1

https://github.com/YANBForwarder/YANBF/releases/tag/v1.6.1

What's new?​

  • @spitzeqc: added custom path support to the GUI.
    • SD card dependency is now fully removed.

Bug fix​

  • @Pk11: fixed unicode paths for bannertool.
  • Fixed an exception where converting images would write nowhere

Known issues​

  • DSiWare is not supported, as GameTDB does not provide box art for them (of course they don't, they don't come in a box.)
 

Darthagnon

Member
Newcomer
Joined
Dec 21, 2020
Messages
23
Trophies
0
XP
57
Country
United Kingdom
Does this work in any way with the fullscreen hacks used in TwilightMenu? It would be nice to avoid a secondary menu, but fullscreen is a must for me where possible
 

Yrouel

Well-Known Member
Newcomer
Joined
Apr 16, 2019
Messages
97
Trophies
0
Age
36
XP
292
Country
Italy
Does this work in any way with the fullscreen hacks used in TwilightMenu? It would be nice to avoid a secondary menu, but fullscreen is a must for me where possible
Yes make sure to have Widescreen.cxi inside sdmc://_nds/ntr-forwarder/

To change the per-game settings you can hold Y after launching the forwarder shortcut, also if you use the sdcard.nds linked here you can use the "Forced" option for some games that don't have an explicit widescreen patch but still might look good. For example Chrono Trigger looks very nice in that mode
 
Last edited by Yrouel,
  • Like
Reactions: Darthagnon

stickY

New Member
Newbie
Joined
Jul 5, 2022
Messages
1
Trophies
0
Age
23
Location
Germany
XP
3
Country
Germany
Hi. I'm having a problem that I couldn't find in the forum allready.
I'm trying to create a shortcut for a romhack, Pokemon Renegade Platinum + Following patch, which just errors out every time.
At first I thouht it was because it can't find a banner or sound, but even when I provide both manually, the program errors out.
The log states the following:

Tue Jul 05 2022 13:45:03 GMT+0200 (Mitteleuropäische Sommerzeit): generator.py:62: DeprecationWarning: LINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead.

Tue Jul 05 2022 13:45:03 GMT+0200 (Mitteleuropäische Sommerzeit): Traceback (most recent call last):
File "C:\hostedtoolcache\windows\Python\3.10.4\x64\Lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 113, in run

Tue Jul 05 2022 13:45:03 GMT+0200 (Mitteleuropäische Sommerzeit): File "C:\hostedtoolcache\windows\Python\3.10.4\x64\Lib\site-packages\cx_Freeze\initscripts\Console.py", line 15, in run
File "generator.py", line 385, in <module>
File "generator.py", line 331, in start
File "generator.py", line 125, in makesmdh
TypeError: object of type 'NoneType' has no len()

Tue Jul 05 2022 13:45:03 GMT+0200 (Mitteleuropäische Sommerzeit): Custom path is not provided. Using path for input file.
Using ROM path: /roms/nds/Pokemon Renegade Platinum.nds
Output file: Pokemon Renegade Platinum.nds.cia
Getting gamecode...
Extracting and resizing icon...
Getting ROM titles...
Creating SMDH...


I am not nearly smart enough to understand what has gone wrong here. Could you kindly help me out?
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    KenniesNewName @ KenniesNewName: https://youtu.be/1M4SCvbudCE