GithubHelp home page GithubHelp logo

slinkypotato / 3dsbuildtemplate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tricksterguy/3ds-template

5.0 3.0 2.0 6.62 MB

3DS Homebrew build template

License: MIT License

Makefile 64.16% C++ 13.77% CMake 3.36% Python 18.71%

3dsbuildtemplate's Introduction

3DSBuildTemplate

A starter template for various 3DS homebrew applications.

Usage

Make Commands Action
make
make 3ds The 3ds target will build a <project name>.3ds file.
make 3dsx The 3dsx target will build both a <project name>.3dsx and a <project name>.smdh files.
make cia The cia target will build a <project name>.cia file.
make citra The citra target will build a <project name>.elf file and automatically run citra.1
make elf The elf target will build a <project name>.elf file.
make fbi The fbi target will build a <project name>.cia file and send it to your 3ds via FBI.
make hblauncher The hblauncher target will build a <project name>.3dsx file and send your 3ds via homebrew launcher.2
make release The release target will build .elf, .3dsx, .cia, .3ds files and a zip file (.3dsx and .smdh only).3

Notes:

  • 1 make citra requires having citra installed and in your $PATH)
  • 2 If you intend to use the hblauncher and fbi targets ensure you have set IP3DS in the Makefile to the ip address of your 3ds on your network.
    • In homebrew launcher press Y and you can netload your 3dsx file.
    • In FBI go to remote install and select Receive URLs over the network.
  • 3 This requires having makerom and bannertool both included in buildtools as 7z files.
  • If your on windows you will need both of the following in your $PATH (included aswell)

IDE Setup

IntelliJ's CLion

  1. Open project folder in Clion.
  2. Adjust CMakeLists.txt include_directories to point to devkitArm.

Note: Make sure mingw-w64 toolchain is setup in settings.

Code::Blocks

  1. Simply open the 3ds.cbp in Code::Blocks
  2. Choose File > Save as user-template and enter a template name. The project setup is now a user template to create new projects.
  3. When creating a new project select File > New > From template and follow the wizard's instructions.
  4. Ensure you have the environment variables plugin installed (in linux you can install this by installing the codeblocks-contrib package)
  5. Choose Settings > Environment and scroll down to the Environment Variables section.
  6. Add DEVKITPRO to point to where devkitpro is installed
  7. Add DEVKITARM to point to where devkitarm is.

Compiling

Unix

You will need devkitArm which can be obtained with

wget http://sourceforge.net/projects/devkitpro/files/Automated%20Installer/devkitARMupdate.pl
chmod +x devkitARMupdate.pl
sudo ./devkitARMupdate.pl /opt/devkitPro
echo "export DEVKITPRO=/opt/devkitPro" >> ~/.bashrc
echo "export DEVKITARM=\$DEVKITPRO/devkitARM" >> ~/.bashrc
echo "export PATH=\$PATH:\$DEVKITARM/bin" >> ~/.bashrc
source ~/.bashrc

Please note: The env variables need to be available from sudo

Defaults env_keep += "DEVKITPRO DEVKITARM"

Windows

Install the following using devkitProUpdater:

Note: It is suggested to install dev tools at the root of your disk drive i.e. C:\Development\3ds-homebrew\devkitPro

Once installed, make sure you have access to a C compiler from cmd. If you're not sure install mingw-w64 to C:\Development\mingw-w64 and then add the path C:\Development\mingw-w64\mingw32\bin to your env variables.

Open command prompt as an administrator and cd into the devkitPro installation folder. Some commands need admin rights to properly install. Additionally make sure your antivirus software does not interfere.

Next git clone the latest 3ds_portlibs:

git clone https://github.com/devkitPro/3ds_portlibs.git
cd 3ds_portlibs

make zlib
make install-zlib

Finally, clone this repo and build with one of the commands found in usage.

Credits

All of this would not have been possible without the work of

3dsbuildtemplate's People

Contributors

slinkypotato avatar tricksterguy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

kvnxp anpep

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.