Giter Club home page Giter Club logo

easy3ds's Introduction

Easy3DS-build

A script for converting RPG Maker 2000/2003 games into 3DS games using the EasyRPG player. EasyRPG is an open source recreation of the RPG Maker engine, making it possible to play RPG Maker games on all modern operating systems and consoles—among them the 3DS.

The 3DS port of EasyRPG was made by Rinnegatamante in 2016 and has since become part of the EasyRPG main repository. The original announcements were made on GBAtemp and the EasyRPG community forums.

The easiest way to play an RPG Maker game on the 3DS is to install a CIA file (which requires custom firmware; see the 3DS Hacks Guide for setting it up). Converting an RPG Maker game into a CIA file requires a number of steps: Easy3DS-build does this work for you. All you need to do is provide the game, the required files, and a 3DS game icon and banner.

To run this script, the following dependencies are needed:

This script has no Python dependencies other than the standard library.

The EasyRPG ELF file can be found on the EasyRPG CI server; or use this direct link to the latest build.

Usage

This script can either build a single game, or build games in bulk. The easiest way to use this is to put all your games in the games/ folder, add their 3DS assets (see "preparing assets") and then run the script:

./build.py games

This will run through every game folder and produce a CIA file for each one in the out/ folder. Temp files will be written to tmp/ and removed after the build finishes.

To have the script find all dependencies automatically, without having to pass them as arguments, put them in the following locations:

  • assets/easyrpg-player.elf - EasyRPG build
  • assets/RTP - RPG Maker RTP packages

RTP

For games that need the RTP to run, we'll copy over all RTP files that aren't already there before packaging. This way you don't need to worry about whether the RTP is installed on your 3DS. The CIA files are completely standalone.

If your game doesn't require the RTP to run, or you've already copied over all the files it needs, you need to make sure your RPG_RT.ini file has FullPackageFlag=1 in it.

Traditionally, the RTP poses one unfortunate problem: there are multiple different versions of the RTP that are not compatible with each other. Each game you want to build might need a different version. Fortunately, EasyRPG has solved this problem, as long as you have the official (and freely available) RTP and a recent build. Even if a game requires e.g. Don Miguel's RTP, and you have the official RTP installed, the engine will rename all its file requests to match the installed RTP.

In short: just get the English RTPs listed as "official" and it should work—unless the game uses non-standard additions such as Don Miguel's RTP extras (RTP 1.32).

These are all the known RTPs:

Code Version Download
2000-jp RPG Maker 2000 - Japanese (original) tkool.jp
2000-en-don-miguel RPG Maker 2000 - English (Don Miguel)
Most common variant for non-Japanese 2000 games
-
2000-en-official RPG Maker 2000 - English (official)
Download this for non-Japanese games
rpgmakerweb.com
2003-jp RPG Maker 2003 - Japanese (original) tkool.jp
2003-en-rpg-advocate RPG Maker 2003 - English (RPG Advocate)
Most common variant for non-Japanese 2003 games
-
2003-ru-kovnerov RPG Maker 2003 - Russian (Vlad Kovnerov) rpgmaker.su
2003-en-official RPG Maker 2003 - English (official)
Download this for non-Japanese games
rpgmakerweb.com
2003-en-maker-universe RPG Maker 2003 - English (Maker Universe) -
2003-ko-nioting RPG Maker 2003 - Korean (니오팅) etude87.tistory.com
easyrpg EasyRPG RTP replacement project github.com

Put your RTP in the assets/rtp/ folder, and name the folder after the "code" listed in the table above. The RTP must be unzipped - an installer EXE file won't work. The official RTP files hosted on rpgmakerweb.com can be extracted as though they are 7z files. On Mac OS X, The Unarchiver can extract them as well.

For games that don't indicate what RTP they need (and don't have the FullPackageFlag=1 set), this script will check for a 2000 or 2003 executable file and then load any English RTP that is available for that version.

Preparing assets and gameinfo.cfg

In order to build games for 3DS we'll need an icon, banner and audio file. These should be placed in a folder called 3DS in the game's files. Additionally we need a metadata file named gameinfo.cfg which contains the title, author and a unique CIA ID.

You can copy over the default assets from assets/defaults/ and edit them. Here's an example gameinfo.cfg file:

[metadata]
cia_id = 8D29C9
title = Don's Adventures
author = Don Miguel
release = 2000
rtp = 2000-en-don-miguel

Your CIA ID can be any random hexadecimal number, but it will need to be unique or installing it might replace another game or application. Check the titleid column on 3DS DB to verify it.

License

MIT

easy3ds's People

Contributors

msikma avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

easy3ds's Issues

instructions not the most clear

so im trying to build this game as a standalone cia file, the main problems i am having is figuring out what to do with bannertool.exe, 3dstool.exe and makerom.exe, as well as how to run the "./build.py games" script as listed in the readme.

any help would be appreciated to know what to do with these :) sorry for the dumb questions, i always have trouble building these kinds of things

here is also a drive upload in case there is something else i have done wrong in my process

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.