mrcheeze / gytb Goto Github PK
View Code? Open in Web Editor NEWSuper simple custom badge homebrew for the 3DS home menu.
Super simple custom badge homebrew for the 3DS home menu.
There's a bug where when you add badges to an already modified badge list, the thumbnails for your badges are completely mixed around. The usual fix for this would be to just go into Badge Arcade and make it reset your list to make new thumbnails, but I changed my 3DS's region to Japanese from NA using Luma so now I can't use my NNID.
There's gotta be a way to add resetting your badge list to GYTB, right?
I'm guessing this is happening due to the picture being too big, but I'd assume this app would skip pictures that are too big.
I can't launch gtyb on 11.0 using hbl for some reason. I have the badges section unlocked. I have a N3ds Xl on 11.0 stock and i'm using menuhax as my entrypoint.
I keep getting this issue when trying to compile:
actu.c
arm-none-eabi-gcc -MMD -MP -MF /c/Users/PokeA/Desktop/Git/GYTB/build/actu.d -g -Wall -Wno-strict-aliasing -O3 -mword-relocations -fomit-frame-pointer -ffast-math -march=armv6k -mtune=mpcore -mfloat-abi=hard -I/c/Users/PokeA/Desktop/Git/GYTB/source -I/c/Users/PokeA/Desktop/Git/GYTB/include -I/c/devkitPro/portlibs/armv6k/include -I/c/devkitPro/portlibs/3ds/include -I/c/devkitPro/libctru/include -I./lib/include -I/c/Users/PokeA/Desktop/Git/GYTB/build -DARM11 -D_3DS -std=gnu99 -c /c/Users/PokeA/Desktop/Git/GYTB/source/actu.c -o actu.o
ConvertUTF.c
arm-none-eabi-gcc -MMD -MP -MF /c/Users/PokeA/Desktop/Git/GYTB/build/ConvertUTF.d -g -Wall -Wno-strict-aliasing -O3 -mword-relocations -fomit-frame-pointer -ffast-math -march=armv6k -mtune=mpcore -mfloat-abi=hard -I/c/Users/PokeA/Desktop/Git/GYTB/source -I/c/Users/PokeA/Desktop/Git/GYTB/include -I/c/devkitPro/portlibs/armv6k/include -I/c/devkitPro/portlibs/3ds/include -I/c/devkitPro/libctru/include -I./lib/include -I/c/Users/PokeA/Desktop/Git/GYTB/build -DARM11 -D_3DS -std=gnu99 -c /c/Users/PokeA/Desktop/Git/GYTB/source/ConvertUTF.c -o ConvertUTF.o
ext.c
arm-none-eabi-gcc -MMD -MP -MF /c/Users/PokeA/Desktop/Git/GYTB/build/ext.d -g -Wall -Wno-strict-aliasing -O3 -mword-relocations -fomit-frame-pointer -ffast-math -march=armv6k -mtune=mpcore -mfloat-abi=hard -I/c/Users/PokeA/Desktop/Git/GYTB/source -I/c/Users/PokeA/Desktop/Git/GYTB/include -I/c/devkitPro/portlibs/armv6k/include -I/c/devkitPro/portlibs/3ds/include -I/c/devkitPro/libctru/include -I./lib/include -I/c/Users/PokeA/Desktop/Git/GYTB/build -DARM11 -D_3DS -std=gnu99 -c /c/Users/PokeA/Desktop/Git/GYTB/source/ext.c -o ext.o
c:/Users/PokeA/Desktop/Git/GYTB/source/ext.c: In function 'CreateExtSaveData':
c:/Users/PokeA/Desktop/Git/GYTB/source/ext.c:19:14: error: 'mediatype_SDMC' undeclared (first use in this function)
cmdbuf[1] = mediatype_SDMC;
^
c:/Users/PokeA/Desktop/Git/GYTB/source/ext.c:19:14: note: each undeclared identifier is reported only once for each function it appears in
c:/Users/PokeA/Desktop/Git/GYTB/source/ext.c: In function 'DeleteExtSaveData':
c:/Users/PokeA/Desktop/Git/GYTB/source/ext.c:42:14: error: 'mediatype_SDMC' undeclared (first use in this function)
cmdbuf[1] = mediatype_SDMC;
^
make[1]: *** [ext.o] Error 1
make: *** [build] Error 2
I load my badges and they all go through showing previews and such but when writing exdata it crashes giving me an error
3DS Version: 11.15.0-47E (with CFW installed)
Upon booting the program, it lists this message:
Extdata exists.
NNID found: XXXXXXXX (not going to risk showing my ID to the world)
Checking for preexisting Badge Arcade badges to dump...
And then it spools out a massive list of badge filenames, like so:
badges/Example badge.1234.0.png
with each filename followed by:
error 79; failed to open file for writing rgb565ToPNG? 0000004f
I'm not very experienced with CFW stuff on 3DS, so I don't know how to continue like this.
for me, the fix was to delete the preview.png file from the archive and then install
May I ask where the archive is? My issue is that I actually deleted the "preview.png" from the "badges" folder. The problem is, that when I try to open GYTB it loads every possible png again, even though I only have like 3 pictures in the "badges" folder...Im losing my mind.
Originally posted by @KirarimyWaifu in #17 (comment)
this is really cool, but will this remove my medals or should i backup my savedata first?
And I tried visiting the help desk in Nintendo Badge Arcade, and when I booted up the badges from the main menu, it just said an error occurred. And when I tried to boot them again, I'm back to having no badges.
On 11.2 luma3ds it crashes when adding this library of badges
badges.zip
Hello! I'm having an issue where when I use GYTB to load badges, it crashes while attempting to write extdata. This is the first time I've tried loading custom badges so I'm not sure what the issue is. I deleted the preview file, so I don't know what else could be causing this. Any tips are appreciated :)
After I installed GYTB, I tried to open Swapdoodle to see if I can play around with my badges there, but immediately after I open it I get an error that goes as follows:
I'm using Luma3ds v10.2.1-d1a1568e with Rosalina. I have a custom theme installed with Anemone, a cia of Swapdoodle's dlc installed via FBI, and Badge Arcade installed
I have about 700 badges in my folder and 500 of these are normally loaded but the rest all get this same error (Error 28: incorrect PNG signature, it's no PNG or corrupted), I have no idea what's wrong with them, some are even from the same packs those who load normally come from.. is there a way to fix this?
By hosting the binary via GitHub release it's one less site to visit and one less user account to create.
If you post your project as a release, it can be automatically updated in the 3DS Homebrew Title Database. As it stands, someone needs to manually enter each new release you make to keep things listed.
is it possible to create badges that launch software when selected?
Can you share the GYTB file again?I didn't find this file in many places
i keep getting the error
Extdata exists.
NNID found: 67AC17CE
Checking for preexisting Badge Arcade badges to dump. . .
WHAT IS WRONG WITH THE ELF . c8a04573
i have 1 coustome badges and have never had badge arcade or badges. i cant find the exdata to delete, and L+R+X+Y at power up didnt work. i installed Badge arcade and it says cant read sd card. the repair didnt work. please help
ok i want to know what's the limit file size wise and if it only accepts PNG? (i mostly want to know if gifs will work and if it doesnt what happens when one puts one)
Whenever I open GYTB I get the error message "error 79: failed to open file for writing" for all offical badges I have then "WHAT IS WRONG WITH THE ELF. 0000004f
I just got this error and I don't know what it means.
SO i have installed this on cfw and for the first time, it worked.
But then i deleted the badges folder and put new badges into it.
I also ran Nintendo Badge Arcade once to get my official badges.
When i start it now it days there are no official badges to save.
Can a badge run a game? (Like 00040000000edf00 for Super Smash Bros)
the crash is caused by large images. the program automatically splits up bigger images into smaller 64x64 chunks. this is a massive problem when adding an improperly formatted image. say there are 3 badges on an image. this can still cause a crash if there is a lot of empty space on the image (see attached) the empty space is split just like everything else which causes WAY more images to be added which can easily put you over that 1000 image limit, resulting in a crash
Pretty curious about this.
Hello @MrCheeze ,
I am the creator of TinyDB, a replacement for the - now discontinued - TitleDB.
To avoid some of the problems that TitleDB had in terms of keeping stuff up to date and verifying authenticity, we scan application repositories for releases and automatically take cias and meta data from them.
Would it be possible to have GYTB available as a github release? (Should be 2-3 clicks in the browser for you to do) We would like to have it listed on TinyDB!
Thank you very much.
I kept getting this erro and found the instructions accompanying this error unhelpful. I found that simply turning the 3DS off and then back on and booting straight into oot3dhax and to GYTB allows access to the file.
Yellow screen on 10.4+
Hello, I am looking to get rid of all the custom badges and revert back to the official ones that I had as they are sorted way better and I am fairly happy with the ones I already own. I understand that to do this one must go to the badge arcade help desk, however with the Nintendo Network shutdown this is no longer possible. Is there any other way to do this?
i have 1700 badges im trying to download onto my 3ds but it keeps crashing. i’ve triple checked and i don’t have any previews in my badges folder so im not sure what the problem. plus this is my first time doing this. im lost
Not entirely related to this app, but it is affected by it.
The badge limit is really annoying.
Sure, you could say "You don't need that many badges", but I didn't hack my 3DS to have arbitrary limits. I just want to cover my home screen with dumb memes.
This seems to happen if a new PNG file is added that comes before already-existing files in alphabetical order. My guess is that badges are assigned an ID number, and files that come earlier in alphabetical order get a lower ID. But if you add a new file that comes earlier and run GYTB again, it shifts the later badges' ID's ahead without changing the data for already placed badges. As a result, the ID's of the placed badges no longer point to the badges they're supposed to be, so they show up as different ones.
To reproduce:
If this problem is in fact caused by what I'm thinking it is (which seems pretty likely) the best way to fix it would probably be by remembering which ID numbers were given to which badges. When a new file is added that it doesn't have a remembered ID number for, just give it the lowest one that isn't taken. It would also probably be a good idea to, whenever you run GYTB, have it scan its list for any remembered files that no longer exist (i.e. they have been deleted) and remove them from that list, to free up ID's.
Hi,
My N2DS always crashes after the CIA version of GYTB finishes to look for badges and the "Success!" text is shown. A second or two later, my device crashes with the crash dump visible. Here's the crash dump file itself: https://www.dropbox.com/s/o5dzidko89b0gjl/crash_dump_00000002.dmp?dl=0
Any idea about what might be causing this?
Hi : )
so basically, I had a few official and custom badges on my 3ds and I wanted to change the names of a few of them. I had a few of the badges I wanted to change on my home menu. The badges I changed were custom pngs I put on myself, not official ones.
I went and took my SD card out, put it in to my PC, and changed the names on each unofficial badge I wanted to.
I then put my SD card back in to my 3ds, turned it on, and ran GYTB to update the badges.
I experienced a similar issue to others, in that the badge previews were mixed up on the home menu. However, the most pressing concern was Official Forwarder Badges were no longer working properly- instead they showed a different app to what they are supposed to. Here is an example photo I took.
I’m wondering if a trip to the Badge Arcade service desk would resolve this, but for the time being any advice is welcome.
I know there's an "attach badge to folder" option but I was wondering if there was a way to use the badge itself as a shortcut to a folder like you can already do with applications/games.
If not is it possible for this to be implemented?
After installing a new pack of badges, I now have ~450 of them.
Most badges that I already placed in the 3DS homescreen are now replaced with another badge.
I noticed that the Smash Bros pack of badges weren't changed. They're always 1st in the badges folder because their filename starts with a number.
I deleted the new pack of badges from the badges folder so that the quantity is the same as when I positioned the badges.
Then ran the GYTB app in hope that the previous layout would return.
But it didn't work.
[Update]: Answering my 1st question, the new badges were removed after restarting the 3DS. I guess there is some kind of temporary cache that was holding them.
Is there a way for me to delete/uninstall a badge I no longer want?
When attempting to build on the latest version of devkitpro I get these errors:
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
main.c
/home/midnoclose/Development/GYTB/source/main.c: In function 'setupExtdata':
/home/midnoclose/Development/GYTB/source/main.c:144:47: error: 'mediatype_SDMC' undeclared (first use in this function)
144 | u32 extdata_archive_lowpathdata[3] = {mediatype_SDMC, 0x000014d1, 0};
| ^~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:144:47: note: each undeclared identifier is reported only once for each function it appears in
/home/midnoclose/Development/GYTB/source/main.c:145:9: error: unknown type name 'FS_archive'; did you mean 'FS_Archive'?
145 | FS_archive extdata_archive = (FS_archive){ARCH_EXTDATA, (FS_path){PATH_BINARY, 0xC, (u8*)extdata_archive_lowpathdata}};
| ^~~~~~~~~~
| FS_Archive
/home/midnoclose/Development/GYTB/source/main.c:145:39: error: 'FS_archive' undeclared (first use in this function); did you mean 'FS_Archive'?
145 | FS_archive extdata_archive = (FS_archive){ARCH_EXTDATA, (FS_path){PATH_BINARY, 0xC, (u8*)extdata_archive_lowpathdata}};
| ^~~~~~~~~~
| FS_Archive
/home/midnoclose/Development/GYTB/source/main.c:145:50: error: expected ',' or ';' before '{' token
145 | FS_archive extdata_archive = (FS_archive){ARCH_EXTDATA, (FS_path){PATH_BINARY, 0xC, (u8*)extdata_archive_lowpathdata}};
| ^
/home/midnoclose/Development/GYTB/source/main.c:147:47: error: incompatible type for argument 2 of 'FSUSER_OpenArchive'
147 | Result ret = FSUSER_OpenArchive(NULL, &extdata_archive);
| ^~~~~~~~~~~~~~~~
| |
| int *
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:390:61: note: expected 'FS_ArchiveID' but argument is of type 'int *'
390 | Result FSUSER_OpenArchive(FS_Archive* archive, FS_ArchiveID id, FS_Path path);
| ~~~~~~~~~~~~~^~
/home/midnoclose/Development/GYTB/source/main.c:147:22: error: too few arguments to function 'FSUSER_OpenArchive'
147 | Result ret = FSUSER_OpenArchive(NULL, &extdata_archive);
| ^~~~~~~~~~~~~~~~~~
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:390:8: note: declared here
390 | Result FSUSER_OpenArchive(FS_Archive* archive, FS_ArchiveID id, FS_Path path);
| ^~~~~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:148:29: warning: passing argument 1 of 'FSUSER_CloseArchive' makes integer from pointer without a cast [-Wint-conversion]
148 | FSUSER_CloseArchive(NULL, &extdata_archive);
| ^~~~
| |
| void *
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:407:39: note: expected 'FS_Archive' {aka 'long long unsigned int'} but argument is of type 'void *'
407 | Result FSUSER_CloseArchive(FS_Archive archive);
| ~~~~~~~~~~~^~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:148:9: error: too many arguments to function 'FSUSER_CloseArchive'
148 | FSUSER_CloseArchive(NULL, &extdata_archive);
| ^~~~~~~~~~~~~~~~~~~
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:407:8: note: declared here
407 | Result FSUSER_CloseArchive(FS_Archive archive);
| ^~~~~~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:144:13: warning: unused variable 'extdata_archive_lowpathdata' [-Wunused-variable]
144 | u32 extdata_archive_lowpathdata[3] = {mediatype_SDMC, 0x000014d1, 0};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c: In function 'dumpPrexistingBadges':
/home/midnoclose/Development/GYTB/source/main.c:203:47: error: 'mediatype_SDMC' undeclared (first use in this function)
203 | u32 extdata_archive_lowpathdata[3] = {mediatype_SDMC, 0x000014d1, 0};
| ^~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:204:9: error: unknown type name 'FS_archive'; did you mean 'FS_Archive'?
204 | FS_archive extdata_archive = (FS_archive){ARCH_EXTDATA, (FS_path){PATH_BINARY, 0xC, (u8*)extdata_archive_lowpathdata}};
| ^~~~~~~~~~
| FS_Archive
/home/midnoclose/Development/GYTB/source/main.c:204:39: error: 'FS_archive' undeclared (first use in this function); did you mean 'FS_Archive'?
204 | FS_archive extdata_archive = (FS_archive){ARCH_EXTDATA, (FS_path){PATH_BINARY, 0xC, (u8*)extdata_archive_lowpathdata}};
| ^~~~~~~~~~
| FS_Archive
/home/midnoclose/Development/GYTB/source/main.c:204:50: error: expected ',' or ';' before '{' token
204 | FS_archive extdata_archive = (FS_archive){ARCH_EXTDATA, (FS_path){PATH_BINARY, 0xC, (u8*)extdata_archive_lowpathdata}};
| ^
/home/midnoclose/Development/GYTB/source/main.c:205:9: error: unknown type name 'FS_path'; did you mean 'FS_Path'?
205 | FS_path badgeDataPath = FS_makePath(PATH_CHAR, "/BadgeData.dat");
| ^~~~~~~
| FS_Path
/home/midnoclose/Development/GYTB/source/main.c:205:33: warning: implicit declaration of function 'FS_makePath'; did you mean 'fsMakePath'? [-Wimplicit-function-declaration]
205 | FS_path badgeDataPath = FS_makePath(PATH_CHAR, "/BadgeData.dat");
| ^~~~~~~~~~~
| fsMakePath
/home/midnoclose/Development/GYTB/source/main.c:205:45: error: 'PATH_CHAR' undeclared (first use in this function); did you mean 'PATH_MAX'?
205 | FS_path badgeDataPath = FS_makePath(PATH_CHAR, "/BadgeData.dat");
| ^~~~~~~~~
| PATH_MAX
/home/midnoclose/Development/GYTB/source/main.c:206:9: error: unknown type name 'FS_path'; did you mean 'FS_Path'?
206 | FS_path badgeMngPath = FS_makePath(PATH_CHAR, "/BadgeMngFile.dat");
| ^~~~~~~
| FS_Path
/home/midnoclose/Development/GYTB/source/main.c:226:40: error: incompatible type for argument 2 of 'FSUSER_OpenArchive'
226 | ret = FSUSER_OpenArchive(NULL, &extdata_archive);
| ^~~~~~~~~~~~~~~~
| |
| int *
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:390:61: note: expected 'FS_ArchiveID' but argument is of type 'int *'
390 | Result FSUSER_OpenArchive(FS_Archive* archive, FS_ArchiveID id, FS_Path path);
| ~~~~~~~~~~~~~^~
/home/midnoclose/Development/GYTB/source/main.c:226:15: error: too few arguments to function 'FSUSER_OpenArchive'
226 | ret = FSUSER_OpenArchive(NULL, &extdata_archive);
| ^~~~~~~~~~~~~~~~~~
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:390:8: note: declared here
390 | Result FSUSER_OpenArchive(FS_Archive* archive, FS_ArchiveID id, FS_Path path);
| ^~~~~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:229:37: warning: passing argument 2 of 'FSUSER_OpenFile' makes integer from pointer without a cast [-Wint-conversion]
229 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, badgeDataPath, FS_OPEN_READ, 0);
| ^~~~~~~~~~~
| |
| Handle * {aka long unsigned int *}
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:48: note: expected 'FS_Archive' {aka 'long long unsigned int'} but argument is of type 'Handle *' {aka 'long unsigned int *'}
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ~~~~~~~~~~~^~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:229:50: error: incompatible type for argument 3 of 'FSUSER_OpenFile'
229 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, badgeDataPath, FS_OPEN_READ, 0);
| ^~~~~~~~~~~~~~~
| |
| int
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:65: note: expected 'FS_Path' but argument is of type 'int'
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ~~~~~~~~^~~~
/home/midnoclose/Development/GYTB/source/main.c:229:15: error: too many arguments to function 'FSUSER_OpenFile'
229 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, badgeDataPath, FS_OPEN_READ, 0);
| ^~~~~~~~~~~~~~~
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:8: note: declared here
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ^~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:237:37: warning: passing argument 2 of 'FSUSER_OpenFile' makes integer from pointer without a cast [-Wint-conversion]
237 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, badgeMngPath, FS_OPEN_READ, 0);
| ^~~~~~~~~~~
| |
| Handle * {aka long unsigned int *}
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:48: note: expected 'FS_Archive' {aka 'long long unsigned int'} but argument is of type 'Handle *' {aka 'long unsigned int *'}
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ~~~~~~~~~~~^~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:237:50: error: incompatible type for argument 3 of 'FSUSER_OpenFile'
237 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, badgeMngPath, FS_OPEN_READ, 0);
| ^~~~~~~~~~~~~~~
| |
| int
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:65: note: expected 'FS_Path' but argument is of type 'int'
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ~~~~~~~~^~~~
/home/midnoclose/Development/GYTB/source/main.c:237:15: error: too many arguments to function 'FSUSER_OpenFile'
237 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, badgeMngPath, FS_OPEN_READ, 0);
| ^~~~~~~~~~~~~~~
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:8: note: declared here
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ^~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:286:29: warning: passing argument 1 of 'FSUSER_CloseArchive' makes integer from pointer without a cast [-Wint-conversion]
286 | FSUSER_CloseArchive(NULL, &extdata_archive);
| ^~~~
| |
| void *
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:407:39: note: expected 'FS_Archive' {aka 'long long unsigned int'} but argument is of type 'void *'
407 | Result FSUSER_CloseArchive(FS_Archive archive);
| ~~~~~~~~~~~^~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:286:9: error: too many arguments to function 'FSUSER_CloseArchive'
286 | FSUSER_CloseArchive(NULL, &extdata_archive);
| ^~~~~~~~~~~~~~~~~~~
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:407:8: note: declared here
407 | Result FSUSER_CloseArchive(FS_Archive archive);
| ^~~~~~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:203:13: warning: unused variable 'extdata_archive_lowpathdata' [-Wunused-variable]
203 | u32 extdata_archive_lowpathdata[3] = {mediatype_SDMC, 0x000014d1, 0};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c: In function 'writeToExtdata':
/home/midnoclose/Development/GYTB/source/main.c:294:47: error: 'mediatype_SDMC' undeclared (first use in this function)
294 | u32 extdata_archive_lowpathdata[3] = {mediatype_SDMC, 0x000014d1, 0};
| ^~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:295:9: error: unknown type name 'FS_archive'; did you mean 'FS_Archive'?
295 | FS_archive extdata_archive = (FS_archive){ARCH_EXTDATA, (FS_path){PATH_BINARY, 0xC, (u8*)extdata_archive_lowpathdata}};
| ^~~~~~~~~~
| FS_Archive
/home/midnoclose/Development/GYTB/source/main.c:295:39: error: 'FS_archive' undeclared (first use in this function); did you mean 'FS_Archive'?
295 | FS_archive extdata_archive = (FS_archive){ARCH_EXTDATA, (FS_path){PATH_BINARY, 0xC, (u8*)extdata_archive_lowpathdata}};
| ^~~~~~~~~~
| FS_Archive
/home/midnoclose/Development/GYTB/source/main.c:295:50: error: expected ',' or ';' before '{' token
295 | FS_archive extdata_archive = (FS_archive){ARCH_EXTDATA, (FS_path){PATH_BINARY, 0xC, (u8*)extdata_archive_lowpathdata}};
| ^
/home/midnoclose/Development/GYTB/source/main.c:395:40: error: incompatible type for argument 2 of 'FSUSER_OpenArchive'
395 | ret = FSUSER_OpenArchive(NULL, &extdata_archive);
| ^~~~~~~~~~~~~~~~
| |
| int *
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:390:61: note: expected 'FS_ArchiveID' but argument is of type 'int *'
390 | Result FSUSER_OpenArchive(FS_Archive* archive, FS_ArchiveID id, FS_Path path);
| ~~~~~~~~~~~~~^~
/home/midnoclose/Development/GYTB/source/main.c:395:15: error: too few arguments to function 'FSUSER_OpenArchive'
395 | ret = FSUSER_OpenArchive(NULL, &extdata_archive);
| ^~~~~~~~~~~~~~~~~~
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:390:8: note: declared here
390 | Result FSUSER_OpenArchive(FS_Archive* archive, FS_ArchiveID id, FS_Path path);
| ^~~~~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:398:9: error: unknown type name 'FS_path'; did you mean 'FS_Path'?
398 | FS_path path = FS_makePath(PATH_CHAR, "/BadgeData.dat");
| ^~~~~~~
| FS_Path
/home/midnoclose/Development/GYTB/source/main.c:398:36: error: 'PATH_CHAR' undeclared (first use in this function); did you mean 'PATH_MAX'?
398 | FS_path path = FS_makePath(PATH_CHAR, "/BadgeData.dat");
| ^~~~~~~~~
| PATH_MAX
/home/midnoclose/Development/GYTB/source/main.c:400:33: warning: passing argument 1 of 'FSUSER_CreateFile' makes integer from pointer without a cast [-Wint-conversion]
400 | ret = FSUSER_CreateFile(NULL, extdata_archive, path, badgeDataSize);
| ^~~~
| |
| void *
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:357:37: note: expected 'FS_Archive' {aka 'long long unsigned int'} but argument is of type 'void *'
357 | Result FSUSER_CreateFile(FS_Archive archive, FS_Path path, u32 attributes, u64 fileSize);
| ~~~~~~~~~~~^~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:400:39: error: incompatible type for argument 2 of 'FSUSER_CreateFile'
400 | ret = FSUSER_CreateFile(NULL, extdata_archive, path, badgeDataSize);
| ^~~~~~~~~~~~~~~
| |
| int
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:357:54: note: expected 'FS_Path' but argument is of type 'int'
357 | Result FSUSER_CreateFile(FS_Archive archive, FS_Path path, u32 attributes, u64 fileSize);
| ~~~~~~~~^~~~
/home/midnoclose/Development/GYTB/source/main.c:401:37: warning: passing argument 2 of 'FSUSER_OpenFile' makes integer from pointer without a cast [-Wint-conversion]
401 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, path, FS_OPEN_WRITE, 0);
| ^~~~~~~~~~~
| |
| Handle * {aka long unsigned int *}
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:48: note: expected 'FS_Archive' {aka 'long long unsigned int'} but argument is of type 'Handle *' {aka 'long unsigned int *'}
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ~~~~~~~~~~~^~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:401:50: error: incompatible type for argument 3 of 'FSUSER_OpenFile'
401 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, path, FS_OPEN_WRITE, 0);
| ^~~~~~~~~~~~~~~
| |
| int
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:65: note: expected 'FS_Path' but argument is of type 'int'
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ~~~~~~~~^~~~
/home/midnoclose/Development/GYTB/source/main.c:401:15: error: too many arguments to function 'FSUSER_OpenFile'
401 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, path, FS_OPEN_WRITE, 0);
| ^~~~~~~~~~~~~~~
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:8: note: declared here
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ^~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:438:27: warning: passing argument 1 of 'FSUSER_CreateFile' makes integer from pointer without a cast [-Wint-conversion]
438 | FSUSER_CreateFile(NULL, extdata_archive, path, badgeMngSize);
| ^~~~
| |
| void *
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:357:37: note: expected 'FS_Archive' {aka 'long long unsigned int'} but argument is of type 'void *'
357 | Result FSUSER_CreateFile(FS_Archive archive, FS_Path path, u32 attributes, u64 fileSize);
| ~~~~~~~~~~~^~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:438:33: error: incompatible type for argument 2 of 'FSUSER_CreateFile'
438 | FSUSER_CreateFile(NULL, extdata_archive, path, badgeMngSize);
| ^~~~~~~~~~~~~~~
| |
| int
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:357:54: note: expected 'FS_Path' but argument is of type 'int'
357 | Result FSUSER_CreateFile(FS_Archive archive, FS_Path path, u32 attributes, u64 fileSize);
| ~~~~~~~~^~~~
/home/midnoclose/Development/GYTB/source/main.c:441:37: warning: passing argument 2 of 'FSUSER_OpenFile' makes integer from pointer without a cast [-Wint-conversion]
441 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, path, FS_OPEN_READ, 0);
| ^~~~~~~~~~~
| |
| Handle * {aka long unsigned int *}
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:48: note: expected 'FS_Archive' {aka 'long long unsigned int'} but argument is of type 'Handle *' {aka 'long unsigned int *'}
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ~~~~~~~~~~~^~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:441:50: error: incompatible type for argument 3 of 'FSUSER_OpenFile'
441 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, path, FS_OPEN_READ, 0);
| ^~~~~~~~~~~~~~~
| |
| int
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:65: note: expected 'FS_Path' but argument is of type 'int'
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ~~~~~~~~^~~~
/home/midnoclose/Development/GYTB/source/main.c:441:15: error: too many arguments to function 'FSUSER_OpenFile'
441 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, path, FS_OPEN_READ, 0);
| ^~~~~~~~~~~~~~~
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:8: note: declared here
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ^~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:448:37: warning: passing argument 2 of 'FSUSER_OpenFile' makes integer from pointer without a cast [-Wint-conversion]
448 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, path, FS_OPEN_WRITE, 0);
| ^~~~~~~~~~~
| |
| Handle * {aka long unsigned int *}
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:48: note: expected 'FS_Archive' {aka 'long long unsigned int'} but argument is of type 'Handle *' {aka 'long unsigned int *'}
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ~~~~~~~~~~~^~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:448:50: error: incompatible type for argument 3 of 'FSUSER_OpenFile'
448 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, path, FS_OPEN_WRITE, 0);
| ^~~~~~~~~~~~~~~
| |
| int
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:65: note: expected 'FS_Path' but argument is of type 'int'
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ~~~~~~~~^~~~
/home/midnoclose/Development/GYTB/source/main.c:448:15: error: too many arguments to function 'FSUSER_OpenFile'
448 | ret = FSUSER_OpenFile(NULL, &filehandle, extdata_archive, path, FS_OPEN_WRITE, 0);
| ^~~~~~~~~~~~~~~
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:307:8: note: declared here
307 | Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
| ^~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:454:29: warning: passing argument 1 of 'FSUSER_CloseArchive' makes integer from pointer without a cast [-Wint-conversion]
454 | FSUSER_CloseArchive(NULL, &extdata_archive);
| ^~~~
| |
| void *
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:407:39: note: expected 'FS_Archive' {aka 'long long unsigned int'} but argument is of type 'void *'
407 | Result FSUSER_CloseArchive(FS_Archive archive);
| ~~~~~~~~~~~^~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:454:9: error: too many arguments to function 'FSUSER_CloseArchive'
454 | FSUSER_CloseArchive(NULL, &extdata_archive);
| ^~~~~~~~~~~~~~~~~~~
In file included from /opt/devkitpro/libctru/include/3ds/services/am.h:7,
from /opt/devkitpro/libctru/include/3ds.h:33,
from /home/midnoclose/Development/GYTB/source/main.c:3:
/opt/devkitpro/libctru/include/3ds/services/fs.h:407:8: note: declared here
407 | Result FSUSER_CloseArchive(FS_Archive archive);
| ^~~~~~~~~~~~~~~~~~~
/home/midnoclose/Development/GYTB/source/main.c:294:13: warning: unused variable 'extdata_archive_lowpathdata' [-Wunused-variable]
294 | u32 extdata_archive_lowpathdata[3] = {mediatype_SDMC, 0x000014d1, 0};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [/opt/devkitpro/devkitARM/base_rules:85: main.o] Error 1
make: *** [Makefile:91: build] Error 2
Hello, 1st GitHub post
When I launch the CIA version of GYTB on my Luma CFW Oeds to install some custom badges, everything works fine with all the badges reporting "success!" but once all the badges are read, it says something like "Writing to extdata" and then my 3ds crashes instantly.
Here is a link to the crash dump:
https://drive.google.com/file/d/19sH20WBGUnFoZPUddTLQyZw8WD9klt8z/view?usp=sharing
(I think you can view it, my OS is Linux so...)
Thanks.
After dumping my badge box, it seems there was a bit of a glitch with two of my badges! I have a pink sheep badge that's supposed to open up Mii Maker, but it's showing up on the top screen as just an Animal Crossing badge. At the same time, one of my Tom Nook badges is opening up Mii Maker!
Can this be fixed?
can I use title IDs to open eshop games?
This is my second time installing GYTB, after it got corrupted through an sd card failing(i believe..) At this point the Decorate with Badges button was still around as if the app was still on my 3ds, but when i clicked on it, it obviously said "This feature cannot be used, because you don't have any badges yet." Here's where my problem comes in. I decide to reinstall gytb and I get this screen:
Creating ExtSaveData...
CreateExtSaveData failed! c8804464
NNID found: 6AD609DE
Checking for preexisting badge arcade badges to dump...
WHAT IS WRONG WITH THE ELF. c8804464
Press any button to exit
so.. what is wrong with the elf? Do I need to delete other files that I cant get rid of just by deleting GYTB from the system settings?
some people might not want to keep the badges they already have (Nintendo Badge Arcade, already-installed custom ones, etc.), so a quick and easy way to delete the data or simply not dump it would be nice.
I just want to know if it's possible to create shortcut badges for games /homebrew apps
I mostly just want to have the same file browser accessable in multiple folders and to have some games as a badge
Hello,
The Readme file says that "To make a badge function as a shortcut to a system application, put the TIDLow of one in the filename, between the first and second periods." but I don't know what's the first and second period, can you make an example ?
Does it autocreate a badge folder or am I supposed to make one myself? If so, where do I make it?
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.