Homebrew [WIP]PCHex++ - PCHex with its own gui

  • Thread starter Thread starter Slashcash
  • Start date Start date
  • Views Views 416,844
  • Replies Replies 1,302
  • Likes Likes 98
I would really like to help, I'm an experienced developer but I have no idea where to start developing for 3DS. Can you suggest some resources?

With a fair experience of C/C++ (or any other mid-level programming language) and everything related to it, it won't be hard.

Here you can find a guide to set-up the toolchain required to cross-compile the executables for 3ds, you will even install the library to use the 3ds hardware (it is called ctrulib): https://3dbrew.org/wiki/Setting_up_Development_Environment (for linux and windows)

Here you can find some examples on how to use the 3ds hardware via ctrulib: https://github.com/devkitPro/3ds-examples

The sourcecode of ctrulib itself is full of helpful documentation (code reading skill required, better than nothing): https://github.com/smealum/ctrulib

Once you get confident with this tools you will want to take a look to the sf2d library which gives a fast way to access the 3ds gpu: https://github.com/xerpi/sf2dlib (and is used in PCHex++ and in a lot of 3ds homebrew)
 
Last edited by Slashcash,
  • Like
Reactions: joimme
With a fair experience of C/C++ (or any other mid-level programming language) and everything related to it, it won't be hard.

Here you can find a guide to set-up the toolchain required to cross-compile the executables for 3ds, you will even install the library to use the 3ds hardware (it is called ctrulib): https://3dbrew.org/wiki/Setting_up_Development_Environment (for linux and windows)

Here you can find some examples on how to use the 3ds hardware via ctrulib: https://github.com/devkitPro/3ds-examples

The sourcecode of ctrulib itself is full of helpful documentation (code reading skill required, better than nothing): https://github.com/smealum/ctrulib

Once you get confident with this tools you will want to take a look to the sf2d library which gives a fast way to access the 3ds gpu: https://github.com/xerpi/sf2dlib (and is used in PCHex++ and in a lot of 3ds homebrew)
Thanks a lot. I hope I can make something just as good :)
 
With a fair experience of C/C++ (or any other mid-level programming language) and everything related to it, it won't be hard.

Here you can find a guide to set-up the toolchain required to cross-compile the executables for 3ds, you will even install the library to use the 3ds hardware (it is called ctrulib): https://3dbrew.org/wiki/Setting_up_Development_Environment (for linux and windows)

Here you can find some examples on how to use the 3ds hardware via ctrulib: https://github.com/devkitPro/3ds-examples

The sourcecode of ctrulib itself is full of helpful documentation (code reading skill required, better than nothing): https://github.com/smealum/ctrulib

Once you get confident with this tools you will want to take a look to the sf2d library which gives a fast way to access the 3ds gpu: https://github.com/xerpi/sf2dlib (and is used in PCHex++ and in a lot of 3ds homebrew)

I've got a *fair* amount of experience with C, I've never worked outside the terminal though. Should I bother learning some libraries, or dive straight into it?
 
The new design is not yet finished, and people is still asking for the cia :glare:. Anyway, here's a sneak peek

scr_1_TOP_LEFT.png
 
The new design is not yet finished, and people is still asking for the cia :glare:. Anyway, here's a sneak peek

View attachment 38498
Maybe because this was a thing?
Anyway, before the cia some stuff is in order like being able to edit gender, attack's pp and maybe some other stuff outside of the pokemon themselves
 
  • Like
Reactions: Ricken
I've got a *fair* amount of experience with C, I've never worked outside the terminal though. Should I bother learning some libraries, or dive straight into it?

If you are interested in homebrew development i would make myself sure to know well all the classical C troublesome aspects for a newcomer (pointers management and pointers arithmetic, passing arguments to functions) that's because 3ds homebrew is a PAIN to debug and 3ds itself is not the best platform to acquire programming skills on. If you feel proficient on this aspects you could start working on a simple terminal-based homebrew and see how it goes. I wouldn't suggest to start working on a 3ds gui to a c newcomer. There are no high-level libraries to program a gui and it is a difficult task to start with. More than that: PCHex++ makes full use of "advanced" C++ techniques like polymorphism, inheritance and information hiding: this things would be totally obscure to a classical C procedural programmer.

Maybe because this was a thing?
Anyway, before the cia some stuff is in order like being able to edit gender, attack's pp and maybe some other stuff outside of the pokemon themselves

Gender and species editing are in the next update (the screenshot of @dsoldier. Is taken directly from there) and it will be the base for the .cia version
 
Last edited by Slashcash,
Well, first of all, i tested this shinyfying a Pokémon and editing a few IVs and natures and this is amazing, powerful and amazing, i admit it even scares me a bit.

About this

The new design is not yet finished, and people is still asking for the cia

There are people in this forum who is on emunand and, for convenience, have migrated their cartridge saves to .cia, using them on emulated nand wich makes loading the hbl extremely cumbersome. If i knew how to code i would be building a .cia version myself, because it is a need for emunand+digital users.
 

Site & Scene News

Popular threads in this forum