|
|
(20 intermediate revisions by 8 users not shown) |
Line 1: |
Line 1: |
− | [[Wikipedia:Illusion of Gaia|Illusion of Gaia]] has not yet been extensively hacked. | + | {{SNES| title = Illusion of Gaia |
− | | + | |image = [[Image:Illusion of Gaia Title.PNG|center]] |
− | {{magnify|factor=1.5|text=[[Game:ROM map|ROM map]]}}
| + | |name = ILLUSION OF GAIA USA |
− | | + | |company = Nintendo |
− | {{magnify|factor=1.5|text=[[Game:RAM map|RAM map]]}}
| + | |header = None |
| + | |bank = HiROM |
| + | |interleaved = No |
| + | |sram = 64 Kb |
| + | |type = Normal + Batt |
| + | |rom = 16 Mb |
| + | |country = USA |
| + | |video = NTSC |
| + | |romspeed = 120ns (FastROM) |
| + | |revision = 1.0 |
| + | |checksum = Good 0xBEA9 |
| + | |crc32 = 1C3848C0 |
| + | |game = Illusion of Gaia |
| + | }} |
| | | |
| ==Utilities== | | ==Utilities== |
| + | * [http://gaiathecreator.blogspot.com/ Gaia the Creator] is an Editor for the Super Nintendo Game Illusion of Gaia. |
| | | |
| ==Hacks== | | ==Hacks== |
| + | * None known. |
| + | |
| + | ==Translations== |
| + | * None known. |
| | | |
| ==Miscellaneous== | | ==Miscellaneous== |
| + | * Illusion of Gaia uses Quintet's standard LZSS compression algorithm. |
| + | * The format of the map metadata is similar to that used in other Quintet games. |
| | | |
− | // Illusion of Gaia Text Converter v 0.7 by Andrew Clunn
| + | ==Known Dumps== |
− | | + | * Gaia Gensouki (J) |
− | /* Currently this will convert some words in Illusion of Gaia into their hex value equivalents. This also requires the apstring class, which can be aquired for free from the AP Central. The final version will translate all text into hex, as well as hex into text, and will not require the apstring class. If you do not understand how this could be useful for hacking Illusion of Gaia, read up on text editing.*/
| + | * Illusion of Gaia (Beta) |
− | | + | * Illusion of Time (E) [!] |
− | #include <iostream.h>
| + | * Illusion of Time (F) |
− | #include "apstring.h"
| + | * Illusion of Time (G) |
− | | + | * Illusion of Time (S) |
− | apstring toHex (apstring);
| + | * Illusion of Gaia (U) [!] |
− | | |
− | int main( void )
| |
− | {
| |
− | apstring text = "";
| |
− | apstring hex = "Enter q to exit";
| |
− | char charArray[256];
| |
− | | |
− | while (true)
| |
− | {
| |
− | cout<<hex<<"\n\n ";
| |
− | cin.getline (charArray,256);
| |
− | text = "";
| |
− | text += charArray;
| |
− | if (text == "q")
| |
− | {
| |
− | break;
| |
− | }
| |
− | hex = toHex(text);
| |
− | }
| |
− | | |
− | return 0;
| |
− | }
| |
− | | |
− | apstring toHex(apstring text)
| |
− | {
| |
− | apstring temp = "";
| |
− | for (int i = 0; i < text.length(); i++)
| |
− | {
| |
− | // Words
| |
− | if ( // Attack
| |
− | (i+5)<text.length() &&
| |
− | text[i] == 'A' && text[i+1] == 't' && text[i+2] == 't' &&
| |
− | text[i+3] == 'a' && text[i+4] == 'c' && text[i+5] == 'k')
| |
− | {
| |
− | temp += " D6 00 ";
| |
− | i+=6;
| |
− | if (i >= text.length()) break;
| |
− | }
| |
− | | |
− | if ( // Angel
| |
− | (i+4)<text.length() &&
| |
− | text[i] == 'A' && text[i+1] == 'n' && text[i+2] == 'g' &&
| |
− | text[i+3] == 'e' && text[i+4] == 'l')
| |
− | {
| |
− | temp += " D6 01 ";
| |
− | i+=5;
| |
− | if (i >= text.length()) break;
| |
− | }
| |
− | | |
− | if ( // After
| |
− | (i+4)<text.length() &&
| |
− | text[i] == 'A' && text[i+1] == 'f' && text[i+2] == 't' &&
| |
− | text[i+3] == 'e' && text[i+4] == 'r')
| |
− | {
| |
− | temp += " D6 02 ";
| |
− | i+=5;
| |
− | if (i >= text.length()) break;
| |
− | }
| |
− | | |
− | if ( // Aura
| |
− | (i+3)<text.length() &&
| |
− | text[i] == 'A' && text[i+1] == 'u' && text[i+2] == 'r' &&
| |
− | text[i+3] == 'a')
| |
− | {
| |
− | temp += " D6 03 ";
| |
− | i+=4;
| |
− | if (i >= text.length()) break;
| |
− | }
| |
− | | |
− | if ( // Ankor
| |
− | (i+4)<text.length() &&
| |
− | text[i] == 'A' && text[i+1] == 'n' && text[i+2] == 'k' &&
| |
− | text[i+3] == 'o' && text[i+4] == 'r')
| |
− | {
| |
− | temp += " D6 04 ";
| |
− | i+=5;
| |
− | if (i >= text.length()) break;
| |
− | }
| |
− | | |
− | if ( // Black
| |
− | (i+4)<text.length() &&
| |
− | text[i] == 'B' && text[i+1] == 'l' && text[i+2] == 'a' &&
| |
− | text[i+3] == 'c' && text[i+4] == 'k')
| |
− | {
| |
− | temp += " D6 05 ";
| |
− | i+=5;
| |
− | if (i >= text.length()) break;
| |
− | }
| |
− | | |
− | if ( // Bill:
| |
− | (i+4)<text.length() &&
| |
− | text[i] == 'B' && text[i+1] == 'i' && text[i+2] == 'l' &&
| |
− | text[i+3] == 'l' && text[i+4] == ':')
| |
− | {
| |
− | temp += " D6 06 ";
| |
− | i+=5;
| |
− | if (i >= text.length()) break;
| |
− | }
| |
− | | |
− | if ( // Crystal
| |
− | (i+6)<text.length() &&
| |
− | text[i] == 'C' && text[i+1] == 'r' && text[i+2] == 'y' &&
| |
− | text[i+3] == 's' && text[i+4] == 't' && text[i+5] == 'a' &&
| |
− | text[i+6] == 'l')
| |
− | {
| |
− | temp += " D6 07 ";
| |
− | i+=7;
| |
− | if (i >= text.length()) break;
| |
− | }
| |
− | | |
− | if ( // City
| |
− | (i+3)<text.length() &&
| |
− | text[i] == 'C' && text[i+1] == 'i' && text[i+2] == 't' &&
| |
− | text[i+3] == 'y')
| |
− | {
| |
− | temp += " D6 08 ";
| |
− | i+=4;
| |
− | if (i >= text.length()) break;
| |
− | }
| |
− | | |
− | if ( // Come
| |
− | (i+3)<text.length() &&
| |
− | text[i] == 'C' && text[i+1] == 'o' && text[i+2] == 'm' &&
| |
− | text[i+3] == 'e')
| |
− | {
| |
− | temp += " D6 09 ";
| |
− | i+=4;
| |
− | if (i >= text.length()) break;
| |
− | }
| |
− | // Symbols
| |
− | if (text[i] == '?') temp += " 0D ";
| |
− | if (text[i] == '.') temp += " 2A ";
| |
− | if (text[i] == ',') temp += " 2B ";
| |
− | if (text[i] == '"') temp += " 2D ";
| |
− | if (text[i] == ':') temp += " 2F ";
| |
− | if (text[i] == '!') temp += " 4F ";
| |
− | if (text[i] == '/') temp += " 6B ";
| |
− | if (text[i] == '*') temp += " 6C ";
| |
− | if (text[i] == '-') temp += " 6D ";
| |
− | if (text[i] == '(') temp += " 6E ";
| |
− | if (text[i] == ')') temp += " 6F ";
| |
− | if (text[i] == ' ') temp += " AC ";
| |
− | if (text[i] == '$') temp += " CB ";
| |
− | // Numbers
| |
− | if (text[i] == '0') temp += " 20 ";
| |
− | if (text[i] == '1') temp += " 21 ";
| |
− | if (text[i] == '2') temp += " 22 ";
| |
− | if (text[i] == '3') temp += " 23 ";
| |
− | if (text[i] == '4') temp += " 24 ";
| |
− | if (text[i] == '5') temp += " 25 ";
| |
− | if (text[i] == '6') temp += " 26 ";
| |
− | if (text[i] == '7') temp += " 27 ";
| |
− | if (text[i] == '8') temp += " 28 ";
| |
− | if (text[i] == '9') temp += " 29 ";
| |
− | // Uppercase Letters
| |
− | if (text[i] == 'A') temp += " 40 ";
| |
− | if (text[i] == 'B') temp += " 41 ";
| |
− | if (text[i] == 'C') temp += " 42 ";
| |
− | if (text[i] == 'D') temp += " 43 ";
| |
− | if (text[i] == 'E') temp += " 44 ";
| |
− | if (text[i] == 'F') temp += " 45 ";
| |
− | if (text[i] == 'G') temp += " 46 ";
| |
− | if (text[i] == 'H') temp += " 47 ";
| |
− | if (text[i] == 'I') temp += " 48 ";
| |
− | if (text[i] == 'J') temp += " 49 ";
| |
− | if (text[i] == 'K') temp += " 4A ";
| |
− | if (text[i] == 'L') temp += " 4B ";
| |
− | if (text[i] == 'M') temp += " 4C ";
| |
− | if (text[i] == 'N') temp += " 4D ";
| |
− | if (text[i] == 'O') temp += " 4E ";
| |
− | if (text[i] == 'P') temp += " 60 ";
| |
− | if (text[i] == 'Q') temp += " 61 ";
| |
− | if (text[i] == 'R') temp += " 62 ";
| |
− | if (text[i] == 'S') temp += " 63 ";
| |
− | if (text[i] == 'T') temp += " 64 ";
| |
− | if (text[i] == 'U') temp += " 65 ";
| |
− | if (text[i] == 'V') temp += " 66 ";
| |
− | if (text[i] == 'W') temp += " 67 ";
| |
− | if (text[i] == 'X') temp += " 68 ";
| |
− | if (text[i] == 'Y') temp += " 69 ";
| |
− | if (text[i] == 'Z') temp += " 6A ";
| |
− | // LOWERCASE LETTERS
| |
− | if (text[i] == 'a') temp += " 80 ";
| |
− | if (text[i] == 'b') temp += " 81 ";
| |
− | if (text[i] == 'c') temp += " 82 ";
| |
− | if (text[i] == 'd') temp += " 83 ";
| |
− | if (text[i] == 'e') temp += " 84 ";
| |
− | if (text[i] == 'f') temp += " 85 ";
| |
− | if (text[i] == 'g') temp += " 86 ";
| |
− | if (text[i] == 'h') temp += " 87 ";
| |
− | if (text[i] == 'i') temp += " 88 ";
| |
− | if (text[i] == 'j') temp += " 89 ";
| |
− | if (text[i] == 'k') temp += " 8A ";
| |
− | if (text[i] == 'l') temp += " 8B ";
| |
− | if (text[i] == 'm') temp += " 8C ";
| |
− | if (text[i] == 'n') temp += " 8D ";
| |
− | if (text[i] == 'o') temp += " 8E ";
| |
− | if (text[i] == 'p') temp += " A0 ";
| |
− | if (text[i] == 'q') temp += " A1 ";
| |
− | if (text[i] == 'r') temp += " A2 ";
| |
− | if (text[i] == 's') temp += " A3 ";
| |
− | if (text[i] == 't') temp += " A4 ";
| |
− | if (text[i] == 'u') temp += " A5 ";
| |
− | if (text[i] == 'v') temp += " A6";
| |
− | if (text[i] == 'w') temp += " A7 ";
| |
− | if (text[i] == 'x') temp += " A8 ";
| |
− | if (text[i] == 'y') temp += " A9 ";
| |
− | if (text[i] == 'z') temp += " AA ";
| |
− | }
| |
− | return temp;
| |
− | }
| |
| | | |
| ==External Links== | | ==External Links== |
− | | + | * [https://github.com/DontBaguMe/IoGR The Illusion of Gaia Randomizer] - In addition to modding large parts of the game, also includes hacking notes. |
− | [[Category:Super Nintendo games|Illusion of Gaia]] | |