Homebrew Homebrew Development

Pikachuk

Well-Known Member
Member
Joined
Mar 19, 2016
Messages
767
Trophies
0
Age
23
Location
Bordeaux
XP
745
Country
France
Would it be hard to make an homebrew that automatically launch the inserted DS cartdridge with a no-ssl patch in order to use altwfc or wiimmfi and compatible with 5g pokemon games ?
that's because nitrohax doesn't support 5g pokemon games and i only want to use altwfc i don't care about cheat codes
i have some C++ skills, i've actually made a game engine with SDL2 but i don't really know if i've enough skills, i could learn what is required if it's not too hard
 

Pikachuk

Well-Known Member
Member
Joined
Mar 19, 2016
Messages
767
Trophies
0
Age
23
Location
Bordeaux
XP
745
Country
France
I would have need to know a way to load the dsi cartdridge and to boot the executable game from my homebrew
actually i'm only able to get the type of the cartdridge
FS_CardType card;
FSUSER_GetCardType(&card);

if (card == CARD_CTR)
{
cout << "CTR" << endl;
}
else {
cout << "TWL" << endl;
}

and i get TWL because it's pokemon white 2

but i don't find anything that could help me to boot the game and get the process to apply a patch
 

Enovale

Hey. I exist. Woo
Member
Joined
Jul 12, 2016
Messages
833
Trophies
0
Location
Narnia
XP
946
Country
United States
How do I... use romFS at all in citrulib lol. I want to include some files in the romFS of a CIA for sound and stuff. How can I put the files into the romFS, how can I access them from the romFS, and how can I make it so that if its a .3DSX it will pull the files from the SD (since 3dsx's obviously dont have a romFS) and if its a CIA it pulls from romFS?
 
  • Like
Reactions: wicksand420

zoogie

playing around in the end of life
Developer
Joined
Nov 30, 2014
Messages
8,560
Trophies
2
XP
14,998
Country
Micronesia, Federated States of

Enovale

Hey. I exist. Woo
Member
Joined
Jul 12, 2016
Messages
833
Trophies
0
Location
Narnia
XP
946
Country
United States
It works with cia or 3dsx
So I added my resources folder to a romfs folder, included it in the makefile, and I think it did include the romfs in the 3dsx because the file size is much bigger, but its not playing the sounds. I also don't get a "cant open file" error from citra though :unsure:
 

MaiconErick

Well-Known Member
Member
Joined
Jan 4, 2016
Messages
140
Trophies
0
Age
28
XP
373
Country
Brazil
Does anyone have the source code of PCHex++?
I'm really interested on learning to make a cool GUI like that, FBI's seems too complicated :X
The github for PCHex++ doesn't exist anymore :(
 

Slattz

Easygoing Fairy
Member
Joined
Nov 21, 2015
Messages
1,259
Trophies
1
XP
1,777
Country
Ireland
Does anyone have the source code of PCHex++?
I'm really interested on learning to make a cool GUI like that, FBI's seems too complicated :X
The github for PCHex++ doesn't exist anymore :(
Here it is. Though this uses some outdated libs, it's recommended to use citro3d now.

If you want an easy way to render a 2D UI, you could use pp2d, which is a wrapper for citro3d.
I know some people here don't like it for their own reasons but it's probably the best/easiest way to render a 2D UI atm. You could easily replicate PCHex++'s UI using it.
BernardoGiordano's discord server is linked in that readme & you can find the latest pp2d pinned in the pp2d channel there, along with an example, if you decide you'd like to use it.
 

MaiconErick

Well-Known Member
Member
Joined
Jan 4, 2016
Messages
140
Trophies
0
Age
28
XP
373
Country
Brazil
Here it is. Though this uses some outdated libs, it's recommended to use citro3d now.

If you want an easy way to render a 2D UI, you could use pp2d, which is a wrapper for citro3d.
I know some people here don't like it for their own reasons but it's probably the best/easiest way to render a 2D UI atm. You could easily replicate PCHex++'s UI using it.
BernardoGiordano's discord server is linked in that readme & you can find the latest pp2d pinned in the pp2d channel there, along with an example, if you decide you'd like to use it.
I'm trying to use the pp2d example, but when I try to 'make', I get a bunch of these errors:

c:/pp/source/pp2d/pp2d.c:336: undefined reference to `C3D_Init'
c:/pp/source/pp2d/pp2d.c:338: undefined reference to `C3D_RenderTargetCreate'
c:/pp/source/pp2d/pp2d.c:339: undefined reference to `C3D_RenderTargetSetClear'

I don't know if I'm using a wrong Makefile, I'm using the devkitPRO examples' Makefile, and I added /source/pp2d to the sources in Makefile.
You're helping me a lot, thanks. :lol:
 

Slattz

Easygoing Fairy
Member
Joined
Nov 21, 2015
Messages
1,259
Trophies
1
XP
1,777
Country
Ireland
I'm trying to use the pp2d example, but when I try to 'make', I get a bunch of these errors:

c:/pp/source/pp2d/pp2d.c:336: undefined reference to `C3D_Init'
c:/pp/source/pp2d/pp2d.c:338: undefined reference to `C3D_RenderTargetCreate'
c:/pp/source/pp2d/pp2d.c:339: undefined reference to `C3D_RenderTargetSetClear'

I don't know if I'm using a wrong Makefile, I'm using the devkitPRO examples' Makefile, and I added /source/pp2d to the sources in Makefile.
You're helping me a lot, thanks. :lol:
You don't have citro3d, or at least it's headers, installed I think. You can get it from here. Extract the folders in the .bz2 file to the libctru folder in your devkitPro folder.
For me, that's C:\devkitPro\libctru but it may be different for you depending on where you installed devkitPro.
 

MaiconErick

Well-Known Member
Member
Joined
Jan 4, 2016
Messages
140
Trophies
0
Age
28
XP
373
Country
Brazil
You don't have citro3d, or at least it's headers, installed I think. You can get it from here. Extract the folders in the .bz2 file to the libctru folder in your devkitPro folder.
For me, that's C:\devkitPro\libctru but it may be different for you depending on where you installed devkitPro.
I ran a make install on citro3d last night, and when I tried to paste the folders now, I already had all those files, so I'm guessing I already had citro3d installed.
Still not working.
I have the same devkitPro path.

I didn't install pp2d, just put the folder in 'sources' folder of the project. I was reading on reddit that would be enough.
 
Last edited by MaiconErick,

Slattz

Easygoing Fairy
Member
Joined
Nov 21, 2015
Messages
1,259
Trophies
1
XP
1,777
Country
Ireland
I ran a make install on citro3d last night, and when I tried to paste the folders now, I already had all those files, so I'm guessing I already had citro3d installed.
Still not working.
I have the same devkitPro path.

I didn't install pp2d, just put the folder in 'sources' folder of the project. I was reading on reddit that would be enough.
is citro3d in the libs section of the makefile then (LIBS := -lcitro3d)? and yea, pp2d is fine in the sources folder
 
  • Like
Reactions: MaiconErick

Enovale

Hey. I exist. Woo
Member
Joined
Jul 12, 2016
Messages
833
Trophies
0
Location
Narnia
XP
946
Country
United States
You can write directly to the framebuffer (slow), or use the GPU. If you want to use the GPU you can either write your own library or use an existing one like sf2d (easier) or citro3d.
Citro3d example: https://github.com/devkitPro/3ds-examples/tree/master/graphics/gpu/textured_cube (Harder)
sfillib (sf2dlib) example: https://github.com/xerpi/sfillib/tree/master/sample (Easier)
They both pack the images directly into the executable, but changing it to load from romfs is easy. With sfilib you only need to use sfil_load_JPEG_file with the romfs path. Check the RomFS example on how to setup the romfs.
old post but i still cant figure out romfs for what i need lol. Can I load sounds and stuff from romfs? The example is helping a little but i still can't get it right.
 

nop90

Well-Known Member
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,036
Country
Italy
old post but i still cant figure out romfs for what i need lol. Can I load sounds and stuff from romfs? The example is helping a little but i still can't get it right.

You can load whatever file you want from RomFS, as long as:
  • you crate a RomFS package with the content you want to load (this is automated in the buid proces if you put your files in a data folder - e.g DATA - use the right makefile with the ROMFS variable defined as your data folder, and, for the CIA package, if you use a rsf file with the romfs option enabled
  • you init the romfs service before trying to access it (remember to close it befor exiting the program)
  • you use a path beginning with romfs:/ for your file (fopen, fclose, fread works as usual, but remember you can't list directory content)
  • remember that file and folder names are case sensitive
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: @LeoTCK, mods are probably hating you