﻿Pokémon Rising Ruby / Sinking Sapphire
Author: Drayano
Version: 2.1.0
Last Updated: 16th October2016

DESCRIPTION
===============================================================================================================
A collection of files compatible with Pokémon Omega Ruby or Pokémon Alpha Sapphire to make
all 721 Pokémon available in the game, increase the difficulty and variety of trainer battles,
modify the level up moves of many Pokémon, buff the stats of weaker Pokémon and more.

The idea of this hack is to create an ideal in-game experience where you can train anything you want, see
a huge variety of things and have everything accessible and usable in some form. Rising Ruby and Sinking
Sapphire unfortunately do not share the added extra events in my DS hacks (Sacred Gold, Storm Silver,
Blaze Black 2, Volt White 2) as 3DS script editing is impossible at the time of writing, but changes
have been made to pretty much everything else gameplay related that is available.

** GAME IS BUILT ASSUMING THE EXP. SHARE IS TURNED OFF AND YOU HAVE A TEAM OF 6 POKÉMON! **

INSTALLATION
===============================================================================================================
** UNINSTALL ANY ESHOP PATCHES FOR OMEGA RUBY / ALPHA SAPPHIRE! **
** USE A SAVE MANAGER LIKE SAVEDATAFILER TO KEEP YOUR ORIGINAL SAVES FOR OR/AS! **

There are at least three methods that can be used to play the game. In addition to your chosen method,
you should also uninstall any eShop patches you have for Omega Ruby or Alpha Sapphire, as a patch will
override any text changes (those in a/0/7/3 and a/0/8/1) as well as changes to the code.bin file, meaning
you will not see any changes to Poké Marts - in which case, good luck evolving your Pokémon!

Additionally, as far as I'm aware, Sky3DS is not an applicable method for playing the hack, as it doesn't
support playing games that have had modifications from their originals.

You may also want a save manager of some sort handy as the Rising Ruby / Sinking Sapphire installation will
likely share the save file of your Omega Ruby / Alpha Sapphire depending on what method you use and whether
you normally use a cart or have the original game installed from the eShop. The homebrew channel has a
save manager which you can use, or you can also try and find SaveDataFiler (which I can't link to).

Method 1: arm9loaderhax + Luma3DS (RECOMMENDED)
---
With arm9loaderhax (A9LH) installed together with a CFW such as Luma3DS, you can play a CIA file of
Rising Ruby or Sinking Sapphire. One such way is to dump a cart image with another homebrew application
such as decrypt9, then decrypt the ROM, replace the files and rebuild it, then convert the rebuilt ROM
into a CIA and install it with a CIA installer such as FBI. 

This is the optimal way to play the game as it WILL allow you to use the DllField.cro file as well as
everything else. Installing A9LH is possible if you have a sysNAND of 10.7.0 or lower (though easiest with
9.2) and is generally very accessible. 3DS systems on 11.0.0 are able to use A9LH but require a downgrade
via either a hardmod (requiring actual hardware modifications and soldering skills) or with the use of another
3DS with CFW installed.

This one has a fairly long setup time, but is recommended if possible. Part of the setup for this will also
allow you to use HANS, though it isn't necessary if you have A9LH installed.

A link is below for how to decrypt and replace files in the base OR/AS ROM, and 3DS Builder can be used to
rebuild it and have it work more reliably (you may otherwise end up with a game that you try to open and
then it just doesn't load, though it might still work. I've always used 3DS Builder personally.)

Additionally, the decryption process has one part about how to change the Game ID. I've not used this
but I expect it would allow you to simultaneously have a save file for RR/SS and OR/AS at the same time.

Install A9LH by following this > https://github.com/Plailect/Guide/wiki
Decrypt ROMs by following this > https://gbatemp.net/threads/tutorial-how-to-decrypt-extract-rebuild-3ds-roms.383055/
Convert ROMs by following this > https://gbatemp.net/threads/release-3ds-simple-cia-converter.384559/
Get the 3DS Builder by going here > https://gbatemp.net/threads/release-3ds-builder.388858/

Method 2: The Homebrew Channel and HANS
---
HANS is a homebrew application that can actively swap out files in a ROM or CIA you own, so this is an option
if you own Omega Ruby or Alpha Sapphire. You will need to make a dump of the ROM or CIA to get the romFS out,
change the files and rebuild it. HANS is also able to load a modified code.bin file.

Unlike A9LH, HANS can be used on a 11.0.0 3DS without needing to downgrade. You won't be able to use the edits
in the DllField.cro file, but everything else should be accessible.

There's an old tutorial for using HANS here, though something better is probably about:
https://gbatemp.net/threads/tutorial-scripts-usage-of-hans.401072/

Method 3: The Gateway 3DS Flashcart
---
The Gateway 3DS flashcart can play a ROM of Rising Ruby or Sinking Sapphire. It can be made by ripping your
own ROM of Omega Ruby or Sinking Sapphire using the Gateway, decrypting it, replacing the files,
rebuilding the ROM with the files and using the Gateway to play it. The two links below will let you follow
the process of swapping out the files, and you can more reliably build it using 3DS Builder (the other method
may fail on occasion.)

Decrypt ROMs by following this > https://gbatemp.net/threads/tutorial-how-to-decrypt-extract-rebuild-3ds-roms.383055/
Get the 3DS Builder by going here > https://gbatemp.net/threads/release-3ds-builder.388858/

This method is only an option if your 3DS sysNAND is at 9.2 or below. Additionally, you will NOT be able
to use the DllField.cro file modifications with this method.

Unlike the other two, this method also costs money! A Gateway cart will run you a fairly large chunk of
money, with normal prices around £50, $70 or other equivalents. Reports have also been given of Gateway
causing bricking in some consoles (though I'm unsure of how accurate these are). I would only recommend
the Gateway if you happen to have one already; otherwise one of the other two options will suit you
a lot better.

CREDITS
===============================================================================================================
- SciresM and Kaphotics: These two among with other researchers at Project Pokémon are what made creating this
hack possible, by discovering, decrypting and researching into the OR/AS ROMs, the results of which I could use
to modify it to my heart's content. Additionally, their programming skills were invaluable, with the creation of
PK3DS making it incredibly easy to modify the values of the game, and 3DS Builder to make it incredibly easy to
compile a ROM with my changes. I'd also like to thank them personally for talking with me on numerous occasions
and answering some potentially stupid questions. Thanks a lot!

- Sylphate: Created the Rising Ruby and Sinking Sapphire logos inspired by the Omega Ruby and Sinking Sapphire
versions. They look great!

- Chevitile: For suggesting the Rising and Sinking prefixes for the hack, the suggestions I found I liked most.

- Asia81: For the guide and precise instructions on how to perform the dumping and decryption process on 3DS games.

- 3DS Hackers: The creation of exploits such as browserhax and menuhax is what allows hacks like these to be playable,
and it never fails to amaze me how people manage to figure out exploits in these environments. It's hard to credit
absolutely everyone who had a step in making the hacks playable, but I'd like to draw special attention to smealum
and yellows8 for browserhax and menuhax, Plailect for the incredibly well written and detailed guide for A9LH installation,
and AuroraWright for the hugely useful Luma3DS custom firmware.

- Dio_Vento: The author of Rutile Ruby and Star Sapphire, another pair of OR/AS hacks. Having this threads around provided
some tiny bits of inspiration for my own hacks, as well as showing me what the standard is for distributing the files
related to the hack.