├── .gitignore ├── .gitmodules ├── Assembly ├── Wi-Fi │ ├── dwc.asm │ ├── filter.asm │ ├── nossl.asm │ └── nossl_18.asm ├── arm9.asm ├── bugs │ ├── antipiracy.asm │ └── downloading_news.asm ├── fileformats │ ├── battle_skills_spells_getName.asm │ ├── familiarname │ │ ├── familiar_battle.asm │ │ ├── familiar_main.asm │ │ ├── familiar_menu.asm │ │ ├── familiar_upgrade.asm │ │ └── familiar_zoom.asm │ ├── skills_spells_getName.asm │ ├── skillsname │ │ ├── skill_upgrade.asm │ │ ├── skills_battle.asm │ │ ├── skills_book.asm │ │ ├── skills_main.asm │ │ ├── skills_train.asm │ │ └── skills_zoom.asm │ ├── spellsname │ │ ├── spells_ov1.asm │ │ ├── spells_ov17.asm │ │ ├── spells_ov20.asm │ │ └── spells_ov7.asm │ └── subtitles.asm ├── font │ ├── fillnumber_ov12.asm │ ├── int2str_arm9.asm │ ├── int2str_ov17.asm │ └── space_objects_title.asm ├── keyboard │ ├── accent button version │ │ ├── teclado_click.asm │ │ └── teclado_teclas.asm │ ├── cursor.asm │ ├── delete.asm │ ├── egg_comment.asm │ ├── fix_familiar_length.asm │ ├── font_space.asm │ ├── keys [original].asm │ ├── keys.asm │ ├── monster_search.asm │ ├── monster_search_toUpper.asm │ ├── name_encoding.asm │ ├── nigori.asm │ ├── print_keys.asm │ ├── set_string.asm │ ├── textbox_familiar.asm │ ├── textbox_longNames.asm │ ├── textbox_monster_search.asm │ ├── textbox_touch_movement.asm │ └── write_char.asm ├── overlay9_1.asm ├── overlay9_10.asm ├── overlay9_12.asm ├── overlay9_13.asm ├── overlay9_14.asm ├── overlay9_17.asm ├── overlay9_18.asm ├── overlay9_2.asm ├── overlay9_20.asm ├── overlay9_4.asm ├── overlay9_5.asm ├── overlay9_7.asm ├── overlay9_8.asm ├── overlay9_9.asm ├── password │ └── alphabet.asm ├── pointers │ ├── arm9.asm │ ├── overlay9_14.asm │ ├── overlay9_17.asm │ └── overlay9_8.asm ├── test.sh ├── textbox │ ├── battle.asm │ ├── casino_blackjack.asm │ ├── casino_dialog.asm │ ├── casino_exchange.asm │ ├── casino_military.asm │ ├── casino_slotMachine.asm │ ├── cutscenes.asm │ ├── dialog_tutorial.asm │ ├── express_missions.asm │ ├── lilli_motel.asm │ ├── menu_adhoc_battles.asm │ ├── menu_adhoc_exchange.asm │ ├── menu_checksheet.asm │ ├── menu_equip.asm │ ├── menu_familiars.asm │ ├── menu_hero.asm │ ├── menu_items_effect.asm │ ├── menu_learn_skill.asm │ ├── menu_main.asm │ ├── menu_pot.asm │ ├── menu_recipe.asm │ ├── menu_request.asm │ ├── menu_rupe.asm │ ├── menu_spells.asm │ ├── menu_team.asm │ ├── menu_trainSelect.asm │ ├── menu_tutorials.asm │ ├── moya.asm │ ├── save.asm │ ├── save_time_limit.asm │ ├── script_dialog.asm │ ├── script_top.asm │ ├── shop_menu.asm │ ├── subtitles.asm │ ├── wifi_news.asm │ └── wifi_objects.asm └── textures │ ├── actInfo.asm │ ├── battleBrand.asm │ ├── battleIcon_status.asm │ ├── battleIcon_strings.asm │ ├── cmdMenuBtn.asm │ ├── cmdMenuBtn_default.asm │ ├── number_combat.asm │ ├── number_small_changedTime.asm │ ├── number_small_skills.asm │ ├── number_small_stats.asm │ ├── number_state.asm │ ├── paramWindow_arrowDown.asm │ ├── paramWindow_attackLabel.asm │ ├── paramWindow_box.asm │ ├── paramWindow_changedTime.asm │ ├── paramWindow_elementBox.asm │ ├── paramWindow_noEffect.asm │ ├── paramWindow_superSkill.asm │ ├── paramWindow_tabs.asm │ ├── paramWindow_upArrow.asm │ ├── playerNames.asm │ ├── selectWindowButton.asm │ ├── selectWindowButton_textboxes.asm │ ├── selectWindow_go.asm │ ├── selectWindow_lr.asm │ ├── selectWindow_return.asm │ ├── systemImage.asm │ ├── systemImage_combat.asm │ └── systemImage_smallArrows.asm ├── Docs └── familiar_key_generation.md ├── LICENSE ├── Programs ├── Dielsi │ ├── Dielsi.csproj │ ├── Dielsi.sln │ ├── KeyedHash.cs │ ├── Program.cs │ ├── Save.cs │ ├── SaveAuthCode.cs │ └── nuget.config ├── Downlitor │ ├── Downlitor.sln │ └── Downlitor │ │ ├── AlchemyInfoControl.Designer.cs │ │ ├── AlchemyInfoControl.cs │ │ ├── AlchemyInfoControl.resx │ │ ├── AlchemyManager.cs │ │ ├── AlchemyRecipe.cs │ │ ├── DlcBinaryFlags.cs │ │ ├── DlcItem.cs │ │ ├── DlcManager.cs │ │ ├── DlcType.cs │ │ ├── Downlitor.csproj │ │ ├── Ingredient.cs │ │ ├── ItemInfoControl.Designer.cs │ │ ├── ItemInfoControl.cs │ │ ├── ItemInfoControl.resx │ │ ├── ItemManager.cs │ │ ├── MainWindow.Designer.cs │ │ ├── MainWindow.cs │ │ ├── MainWindow.resx │ │ ├── Program.cs │ │ ├── Rc4.cs │ │ ├── SubquestInfoControl.Designer.cs │ │ ├── SubquestInfoControl.cs │ │ ├── SubquestInfoControl.resx │ │ └── SubquestManager.cs ├── NinoPatcher │ ├── NinoPatcher.sln │ └── NinoPatcher │ │ ├── Animation.cs │ │ ├── AnimationElement.cs │ │ ├── BackgroundImage.cs │ │ ├── CheckingWindow.cs │ │ ├── Crc16.cs │ │ ├── CreditsWindow.cs │ │ ├── DoneDialog.cs │ │ ├── ErrorCode.cs │ │ ├── ExtrasWindow.cs │ │ ├── Fade.cs │ │ ├── FileChecker.cs │ │ ├── ImageButton.cs │ │ ├── InfoDialog.cs │ │ ├── MainWindow.cs │ │ ├── MessageErrorDialog.cs │ │ ├── NinoPatcher.csproj │ │ ├── Patcher.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ ├── Resources │ │ ├── Buttons │ │ │ ├── book_0.png │ │ │ ├── book_1.png │ │ │ ├── credits_0.png │ │ │ ├── credits_1.png │ │ │ ├── options_0.png │ │ │ ├── options_1.png │ │ │ ├── patch_0.png │ │ │ └── patch_1.png │ │ ├── Done │ │ │ ├── shizuku_happy_0.png │ │ │ ├── shizuku_happy_1.png │ │ │ ├── shizuku_happy_2.png │ │ │ ├── shizuku_happy_3.png │ │ │ ├── shizuku_happy_4.png │ │ │ ├── shizuku_happy_5.png │ │ │ └── shizuku_happy_6.png │ │ ├── Jabologo.png │ │ ├── Loading │ │ │ ├── loading_0.png │ │ │ ├── loading_1.png │ │ │ ├── loading_2.png │ │ │ ├── loading_3.png │ │ │ ├── loading_4.png │ │ │ └── loading_5.png │ │ ├── Termito │ │ │ ├── anime_0.png │ │ │ ├── anime_1.png │ │ │ ├── anime_2.png │ │ │ └── anime_3.png │ │ ├── credits.png │ │ ├── icon.ico │ │ ├── logonombre.png │ │ ├── oliver_info.png │ │ ├── shizuku_error.png │ │ ├── skingold.png │ │ └── sound.wav │ │ ├── ResourcesManager.cs │ │ ├── RomType.cs │ │ └── Sprite.cs ├── NinoTweet │ ├── NinoTweet.sln │ └── NinoTweet │ │ ├── NinoTweet.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ ├── Rc4.cs │ │ └── Tweet.cs ├── PS3 │ ├── ExtrackooB │ │ ├── ExtrackooB.sln │ │ └── ExtrackooB │ │ │ ├── BinaryReaderBE.cs │ │ │ ├── ExtrackooB.csproj │ │ │ ├── Licence.txt │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ │ └── packages.config │ ├── NinoDecompiler │ │ ├── NinoDecompiler.sln │ │ └── NinoDecompiler │ │ │ ├── BinaryReaderBE.cs │ │ │ ├── Encoding │ │ │ ├── Deflate.cs │ │ │ ├── Encoder.cs │ │ │ └── Zlib.cs │ │ │ ├── ErrorFile.cs │ │ │ ├── FinalFile.cs │ │ │ ├── Formats │ │ │ ├── Cfg.cs │ │ │ ├── Hpk.cs │ │ │ ├── Pac.cs │ │ │ ├── Packer.cs │ │ │ ├── Psar.cs │ │ │ └── Zarc.cs │ │ │ ├── GameFile.cs │ │ │ ├── Licence.txt │ │ │ ├── NinoDecompiler.csproj │ │ │ ├── Program.cs │ │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ └── pam2mpg │ │ ├── pam2mpg.sln │ │ └── pam2mpg │ │ ├── Program.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ └── pam2mpg.csproj └── scripts │ ├── DlcInfo.xml │ ├── DlcUpdater.py │ ├── ImagenReferences.py │ ├── familiarkey.py │ └── magicnews │ ├── magicnews │ ├── __init__.py │ ├── items.py │ ├── pipelines.py │ ├── settings.py │ └── spiders │ │ ├── __init__.py │ │ └── magicnews_spider.py │ └── scrapy.cfg └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore armips executable for tests 2 | Assembly/armips.exe 3 | 4 | # Ignore python compiled files 5 | *.pyc 6 | 7 | # Ignore C# executable en preference files 8 | bin/ 9 | obj/ 10 | *.userprefs 11 | *.suo 12 | *.csproj.user 13 | .vs/ 14 | 15 | # NuGet packages 16 | packages/ 17 | 18 | # StyleCop 19 | StyleCop.Cache 20 | 21 | # Ignore patch 22 | Programs/NinoPatcher/NinoPatcher/Resources/PatchES.xdelta 23 | Programs/NinoPatcher/NinoPatcher/Resources/Book.torrent 24 | 25 | # Ignore private assembly sign keys 26 | Programs/NinoPatcher/keypar.snk 27 | 28 | # Assembly fuctions that I cannot share for copyright reasons... 29 | Docs/asm 30 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "Programs/modime"] 2 | path = Programs/modime 3 | url = https://github.com/pleonex/modime 4 | [submodule "Programs/sadl"] 5 | path = Programs/sadl 6 | url = https://github.com/pleonex/sadl-audio-format 7 | [submodule "Programs/NerdFontTerminatoR"] 8 | path = Programs/NerdFontTerminatoR 9 | url = git@github.com:pleonex/NerdFontTerminatoR.git 10 | [submodule "Programs/Downlitor/libgame"] 11 | path = Programs/Downlitor/libgame 12 | url = git@github.com:pleonex/libgame.git 13 | [submodule "Programs/xdelta-sharp"] 14 | path = Programs/xdelta-sharp 15 | url = git@github.com:pleonex/xdelta-sharp 16 | [submodule "Programs/NinoTweet/libgame"] 17 | path = Programs/NinoTweet/libgame 18 | url = git@github.com:pleonex/libgame.git 19 | [submodule "Programs/NinoImager"] 20 | path = Programs/NinoImager 21 | url = git@github.com:pleonex/NinoImager.git 22 | -------------------------------------------------------------------------------- /Assembly/Wi-Fi/dwc.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Change Wi-Fi menu settings language 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | JAPANESE equ #0x00 19 | ENGLISH equ #0x01 20 | FRENCH equ #0x02 21 | GERMAN equ #0x03 22 | ITALIAN equ #0x04 23 | SPANISH equ #0x05 24 | KOREAN equ #0x06 25 | 26 | SCR_NJAP_START equ #0x00 ; "Default start" screen for language different to Japanese 27 | SCR_NJAP_SELECT equ #0x01 ; "Select connection" screen for language different to Japanese 28 | SCR_JAP_START equ #0x10 ; "Default start" screen for Japanese language 29 | SCR_JAP_SELECT equ #0x11 ; "Select connection" screen for Japanese language 30 | 31 | .org 0209CB48h 32 | MOV R1, SPANISH 33 | MOV R2, SCR_NJAP_START 34 | -------------------------------------------------------------------------------- /Assembly/Wi-Fi/nossl.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Force to use HTTP (without SSL encryption layer) easier to capture packets 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ; WARNING: THIS DISABLE THE SECURE MECHANISM. EVERYONE WILL BE ABLE 19 | ; TO VIEW THE COMMUNICATION LIKE USERNAME, BIRTHDAY AND ROUTER IP. 20 | 21 | .org 02079F80h + 0002CB78h 22 | .db "http://nas.nintendowifi.net/ac", 0x00 23 | 24 | .org 02079F80h + 0002CC28h 25 | .db "http://nas.test.nintendowifi.net/ac", 0x00 26 | 27 | .org 02079F80h + 0002CC50h 28 | .db "http://nas.dev.nintendowifi.net/ac", 0x00 29 | 30 | .org 02079F80h + 0002CC74h 31 | .db "http://nas.nintendowifi.net/ac", 0x00 32 | 33 | .org 02079F80h + 0002CF10h 34 | .db "http://nas.nintendowifi.net/ac", 0x00 35 | 36 | .org 02079F80h + 0002CF80h 37 | .db "http://nas.nintendowifi.net/ac", 0x00 38 | 39 | .org 02079F80h + 0002DE0Ch 40 | .db "http:///download", 0x00 41 | 42 | .org 02079F80h + 0002DE20h 43 | .db "http://%s/download", 0x00 44 | 45 | .org 02079F80h + 0002CEA4h 46 | .db "http://", 0x00 47 | 48 | .org 02079F80h + 0002E004h 49 | .db "http://", 0x00 50 | -------------------------------------------------------------------------------- /Assembly/Wi-Fi/nossl_18.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Force to use HTTP (without SSL encryption layer) easier to capture packets 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ; WARNING: THIS DISABLE THE SECURE MECHANISM. EVERYONE WILL BE ABLE 19 | ; TO VIEW THE COMMUNICATION LIKE USERNAME, BIRTHDAY AND ROUTER IP. 20 | 21 | .org 0x020D0A00 + 0x00024E5C 22 | .db "http://nas.nintendowifi.net/a", 0x00 23 | -------------------------------------------------------------------------------- /Assembly/arm9.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open arm9.bin, 02000000h 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include bugs\antipiracy.asm 24 | .include pointers\arm9.asm 25 | .include textbox\save.asm 26 | ;.include font\int2str_arm9.asm 27 | 28 | .close 29 | ; EOF ; 30 | -------------------------------------------------------------------------------- /Assembly/bugs/antipiracy.asm: -------------------------------------------------------------------------------- 1 | ;; Antipiracy patch from Dicastia.com 2 | ;; It patches some bytes at the beggining of the ARM9 file. 3 | ;; The third routine is called when to the BLZ function it's passed a 0 size. 4 | 5 | .arm 6 | .org 0x02000200 7 | 8 | .area 0x0C 9 | LDR R0, =0xB3CF 10 | BX LR 11 | 12 | .pool 13 | .endarea 14 | 15 | .area 0x0C 16 | LDR R0, =0xB177 17 | BX LR 18 | 19 | .pool 20 | .endarea 21 | 22 | .area 0x34 23 | STMFD SP!, {R0-R2,LR} 24 | LDR R0, =0x215D7E0 25 | LDR R1, =0x215C04C 26 | LDR R2, [R1] 27 | CMP R0, R2 28 | LDREQ R0, =0x2002300 29 | STREQ R0, [R1] 30 | ADDEQ R0, R0, #0xC 31 | STREQ R0, [R1,#0x3C] 32 | LDMFD SP!, {R0-R2,PC} 33 | 34 | .pool 35 | .endarea 36 | 37 | 38 | ; BLZ decoding when size is 0. 39 | .org 0x0020009F8 40 | B 0x2000218 41 | -------------------------------------------------------------------------------- /Assembly/bugs/downloading_news.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Fix a bug when starting a DLC download. 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ;; They forgot to set a value to 0 (a counter) after calling 'malloc' 19 | ;; assuming it will be set by the file downloaded. 20 | ;; The problem happens when the download fails, this value is never set to the 21 | ;; correct value and it has random data. 22 | ;; In the japanese version it won't never fail because of NCGR file from 23 | ;; "Wifi_MenuButton.n2d" that by hazard it's the return address of 'malloc' 24 | ;; and in that image in that position there is 4 zeros, but it's hazard, luck. 25 | 26 | ;; Get free space 27 | .arm 28 | .org 0x0209D670 29 | ; MOV R6, #7 30 | ; MOV R5, #0x1A8 31 | ADD R0, R0, #0x800 32 | MOV R1, #7 ; Edited (MOV R1, R6) 33 | MOV R2, #0x1A8 ; Edited (MOV R2, R5) 34 | MOV R3, R4 35 | STR R7, [SP] 36 | BL 0x20293E4 37 | ADD R0, R8, #0x244 38 | ADD R0, R0, #0x1400 39 | BL 0x20F8FE8 40 | ADD R0, R8, #0x364 41 | ADD R0, R0, #0x1400 42 | ; FIX: Set to 0 at 0x26D4 43 | MOV r1, #0 44 | STR r1, [r0, #3952] 45 | 46 | .org 0x0209D6C4 47 | MOV R1, #7 ; Edited (MOV R1, R6) 48 | MOV R2, #0x1A8 ; Edited (MOV R2, R5) 49 | -------------------------------------------------------------------------------- /Assembly/fileformats/familiarname/familiar_main.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Create a new "long name" field. 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | @OriginalFieldSize equ 0xB4 19 | @LongNameSize equ 0x20 20 | @NewFieldSize equ @OriginalFieldSize + @LongNameSize 21 | 22 | 23 | ;; ImagenParam get familiar pointer 24 | .thumb 25 | .org 0x021028E8 26 | MOV R0, @NewFieldSize 27 | 28 | 29 | ;; ImagenParam decode 30 | .thumb 31 | .org 0x0210461A 32 | CMP R2, @NewFieldSize 33 | 34 | 35 | ;; ImagenParam load file 36 | .thumb 37 | .org 0x021022D6 38 | MOV R4, @NewFieldSize 39 | 40 | .org 0x021022F4 41 | MOV R6, @NewFieldSize 42 | 43 | .org 0x0210231A 44 | MOV R1, @NewFieldSize 45 | 46 | .org 0x02102332 47 | MOV R0, @NewFieldSize 48 | 49 | .org 0x0210233E 50 | MOV R2, @NewFieldSize 51 | 52 | 53 | ; Function that copy familiar params like name (with hardcode size): 0x02107E54 54 | ; - It does not need changes since I read it manually for the top screen 55 | ; - It was not possible to increase size since there are data after the name 56 | ; - Used for battles 57 | 58 | 59 | ; Function that copy the short name from the file with hardcode size: 0x02104282 60 | ; - I don't know its meaning since it only copy the first 0x9 chars...? 61 | -------------------------------------------------------------------------------- /Assembly/fileformats/familiarname/familiar_menu.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Use the new "long name" field. 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | @LongNameOffset equ 0xB4 ; At the end of the old entry 19 | 20 | .org 0x020B63D8 21 | ADD R1, R6, @LongNameOffset 22 | -------------------------------------------------------------------------------- /Assembly/fileformats/familiarname/familiar_upgrade.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Use "long name" field when upgrading a familiar 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | @LongNameOffset equ 0xB4 ; At the end of the old entry 19 | 20 | 21 | ;; Upgrading a familiar 22 | .arm 23 | .org 0x020ADCDC 24 | ADD r3, r5, @LongNameOffset 25 | 26 | .org 0x020ADCBC 27 | ADD r2, r5, @LongNameOffset 28 | 29 | .arm 30 | .org 0x020AD3FC 31 | ADD r6, r0, @LongNameOffset 32 | 33 | 34 | ;; Ask dialog 35 | .arm 36 | .org 0x020AE37C 37 | ADD r2, r0, @LongNameOffset 38 | 39 | .org 0x020AE3A4 40 | ADD r2, r0, @LongNameOffset 41 | 42 | 43 | ;; After upgrading, confirm dialog 44 | .arm 45 | .org 0x020ACEB8 46 | ADD r3, r0, @LongNameOffset 47 | -------------------------------------------------------------------------------- /Assembly/fileformats/familiarname/familiar_zoom.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Use the familiar long name in Zoom menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | @LongNameOffset equ 0xB4 19 | 20 | .thumb 21 | .org 0x0215B628 22 | ADD r5, 0x68 23 | ADD r0, r5, 0x4 24 | LDR r1, [r5,#0] 25 | BL 0x020DE2A8 26 | ADD r0, r5, 0x4 27 | ADD r4, @LongNameOffset ; All that code just to get a space for this line... 28 | MOV R1, #1 29 | BL 0x020DE2AC 30 | ADD r0, r5, 0x4 31 | MOV R6, #5 32 | SUB r5, 0x68 33 | -------------------------------------------------------------------------------- /Assembly/fileformats/skills_spells_getName.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Fix the function that gets skills or magic names with new fields. 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | 19 | @SkillLongNameOffset equ 0x3C 20 | @SpellExtraNameSize equ 0x8 21 | @skill_getPtrInit equ 0x0210DC9C 22 | @magic_getPtrInit equ 0x0210DCC4 23 | @skills_getPtr_wr equ 0x0210CBD4 24 | @magic_getPtr_wr equ 0x021062D0 25 | 26 | 27 | ;; ARGUMENTS: 28 | ;; R0: Struct pointer with spell / skill info 29 | ;; R1: Spell / Skill ID 30 | ;; RETURNS: 31 | ;; R0: Pointer to the name of the spell / skill 32 | .thumb 33 | .org 0x02121008 34 | .area 0x02121048-. 35 | 36 | ; "Save" registers 37 | PUSH {R4-R6,LR} 38 | MOV R5, R0 39 | MOV R6, R1 40 | 41 | ; Get spell / skill ID 42 | LSL R1, R6, #1 43 | ADD R1, R5, R1 44 | LDR R4, =0x4E23C+0x8 45 | LDRSH R1, [R1,R4] 46 | 47 | ; Check if it's spell or skill 48 | SUB R4, #8 49 | LDR R4, [R5,R4] 50 | CMP R4, #0 51 | BEQ @@isSkill 52 | CMP R4, #1 53 | BEQ @@isSpell 54 | MOV R0, #0 55 | POP {R4-R6,PC} 56 | 57 | @@isSkill: 58 | BL @skill_getPtrInit 59 | BLX @skills_getPtr_wr 60 | ADD R0, @SkillLongNameOffset ; Hack 61 | POP {R4-R6,PC} 62 | 63 | @@isSpell: 64 | BL @magic_getPtrInit 65 | BLX @magic_getPtr_wr 66 | SUB R0, @SpellExtraNameSize ; Hack 67 | POP {R4-R6,PC} 68 | 69 | .pool 70 | 71 | .endarea 72 | -------------------------------------------------------------------------------- /Assembly/fileformats/skillsname/skill_upgrade.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Use "long name" field when upgrading a familiar 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | @LongNameOffset equ 0x3C 19 | 20 | 21 | ;; Upgrading a familiar 22 | .arm 23 | .org 0x020AD86C 24 | ADD r3, r0, @LongNameOffset 25 | 26 | .org 0x020ADEA8 27 | ADD r3, r0, @LongNameOffset 28 | 29 | 30 | ;; Skill learnt 31 | .arm 32 | .org 0x020B0AEC 33 | ADD r3, r0, @LongNameOffset 34 | 35 | .org 0x020B0B44 36 | ADD r3, r0, @LongNameOffset 37 | 38 | .org 0x020B0BB4 39 | ADD r3, r0, @LongNameOffset 40 | -------------------------------------------------------------------------------- /Assembly/fileformats/skillsname/skills_battle.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Use "long name" field in battles 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | @LongNameOffset equ 0x3C 19 | 20 | 21 | ;; Select skill textbox 22 | .thumb 23 | .org 0x0207E06E 24 | MOV r1, r5 ; Just to get some space 25 | LDR R0, [SP, 0xE8 - 0xD0] ; "" 26 | BLX 0x0209832C ; "" 27 | MOV R1, R0 ; "" 28 | ADD r1, @LongNameOffset 29 | 30 | 31 | ;; Small green box in the bottom screen after selecting skill and waiting to 32 | ;; select target enemy. 33 | .arm 34 | .org 0x020A075C 35 | .area 0x020A0794-. 36 | SUBEQ r2, r0, @LongNameOffset ; If it's a skill name, use short field 37 | MOVNE r2, r0 ; If it's a spell name, just use it 38 | 39 | ; Code below: Just to get some space 40 | LDR R1, =0x20C03E8 41 | ADD R0, SP, 0 42 | BL 0x0202159C ; string copy 43 | MOV R0, R6 44 | BLX 0x209047C 45 | AND r1, r0, #1 46 | MOV R0, R5 47 | 48 | @jump1: 49 | BL 0x209FA1C 50 | B 0x20A0818 51 | 52 | NOP 53 | NOP 54 | NOP 55 | .endarea 56 | 57 | .org 0x020A07FC 58 | B @jump1 59 | 60 | .org 0x020A0838 61 | .area 4 62 | .pool 63 | .endarea 64 | -------------------------------------------------------------------------------- /Assembly/fileformats/skillsname/skills_book.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Use the skill long name in familiar book menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | @LongNameOffset equ 0x3C 19 | 20 | 21 | .arm 22 | .org 0x020B667C 23 | ADD r3, r0, @LongNameOffset 24 | -------------------------------------------------------------------------------- /Assembly/fileformats/skillsname/skills_main.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Create a new "long name" field. 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | @OriginalFieldSize equ 0x3C 19 | @LongNameOffset equ 0x3C 20 | @LongNameSize equ 0x20 21 | @NewFieldSize equ @OriginalFieldSize + @LongNameSize 22 | 23 | 24 | ;; Load "SkillParams" file 25 | .arm 26 | .org 0x0210C9A0 27 | MOV r0, @NewFieldSize 28 | 29 | .org 0x0210C9C4 30 | MOV r7, @NewFieldSize 31 | 32 | 33 | ;; We don't have to edit the "skills_getPtr" function since, when a new skill 34 | ;; is load, its pointers is stored in a table. 35 | 36 | 37 | ;; Prints skill name in the top screen after select it 38 | .arm 39 | .org 0x0213108C 40 | ADD r11, r0, @LongNameOffset 41 | 42 | 43 | ;; Familiar skill name in the top screen list in "member" menu 44 | .arm 45 | .org 0x02130DD8 46 | ADD r3, r0, @LongNameOffset 47 | -------------------------------------------------------------------------------- /Assembly/fileformats/skillsname/skills_train.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Use the skill long name in train menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | @LongNameOffset equ 0x3C 19 | 20 | 21 | .arm 22 | .org 0x020D73C4 23 | ADD r3, r0, @LongNameOffset 24 | -------------------------------------------------------------------------------- /Assembly/fileformats/skillsname/skills_zoom.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Use the skill long name in Zoom menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | @LongNameOffset equ 0x3C 19 | 20 | 21 | ;; Prints skill name in "zoom" menu in the top screen after selecting it 22 | .thumb 23 | .org 0x0215BAA6 24 | ADD r0, @LongNameOffset 25 | STR R0, [SP,#0x18] 26 | LDRSH r1, [r5,r4] 27 | 28 | .org 0x0215BA9A 29 | ; Just to get some space for above code 30 | ADD r4, r4, #4 31 | MOV R6, R0 32 | LDRSH r1, [r5,r4] 33 | 34 | .org 0x0215BAB4 35 | ; Just to get some space for above code 36 | MOV r1, R4 37 | 38 | .org 0x0215BAC2 39 | ; Just to get some space for above code 40 | SUB r4, #0xC 41 | 42 | 43 | ;; Familiar skill name in the stop screen list 44 | .thumb 45 | .org 0x0215B974 46 | MOV r2, r4 47 | 48 | .org 0x0215B97A 49 | LSL r7, r4, 4 50 | 51 | .org 0x0215B992 52 | BLX 0x0210CBD4 ; skills_getPtr_wr 53 | MOV r3, r0 54 | ADD r3, @LongNameOffset 55 | -------------------------------------------------------------------------------- /Assembly/fileformats/spellsname/spells_ov1.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Increase spell name size - Code in overlay 1 from arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ; In battles, spell list 19 | .thumb 20 | .org 0x0207F86C 21 | MOV R1, R4 22 | LDR R0, [SP,#0x14] 23 | DCB 0x86 ; Jump 24 | DCB 0xF0 ; to 25 | DCB 0xE0 ; spell_getBlockPtr 26 | DCB 0xEB ; routine 27 | SUB r0, #0x08 ; Fix to get the right pointer to name 28 | STR R0, [SP,#0x18] 29 | -------------------------------------------------------------------------------- /Assembly/fileformats/spellsname/spells_ov20.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Increase spell name size - Code in overlay 20 from arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ; In 'zoom' menu 19 | .thumb 20 | .org 0x0215BAF4 21 | SUB r0, #0x08 22 | STR R0, [SP,#0x18] 23 | MOV R0, R7 24 | NOP 25 | ;LSLS R1, R1, #0x18 26 | ;ASRS R1, R1, #0x18 27 | -------------------------------------------------------------------------------- /Assembly/fileformats/spellsname/spells_ov7.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Increase spell name size - Code in overlay 7 from arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ; In spell list 19 | .org 0x020B4188 20 | SUB r7, r0, #0x08 ; Fix to get the right pointer to name 21 | 22 | 23 | ; Applying "poison cure" 24 | .arm 25 | .org 0x020A4778 26 | SUB R11, R0, #0x08 27 | -------------------------------------------------------------------------------- /Assembly/fileformats/subtitles.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Add a second text line (replace subtitle command separator 0xA to 0x3) 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | @SPLITTER equ #0x03 19 | 20 | .thumb 21 | .org 02137F04h 22 | CMP R3, @SPLITTER 23 | 24 | .org 02137F24h 25 | CMP R0, @SPLITTER 26 | -------------------------------------------------------------------------------- /Assembly/font/fillnumber_ov12.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Fix the fill char for the 'Integer to String' routine 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ; Moya tower - Genious 19 | .org 0x0207DA88 20 | .word 0x00004081 ; Original: 0x00002020 21 | 22 | ;.org 0x0207C408 23 | ; .word 0x00000030 24 | -------------------------------------------------------------------------------- /Assembly/font/int2str_arm9.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Fix the read of the fill char for the 'Integer to String' routine 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .thumb 19 | .org 0x020632A4 20 | LDRH r4, [r0] 21 | -------------------------------------------------------------------------------- /Assembly/font/int2str_ov17.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Fix the 'Integer to String' to work with ASCII chars 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ;; Subroutine1 19 | .thumb 20 | .org 0x020D5F1A 21 | LDRH r2, [r0] 22 | MOV r0, r1 23 | ADD R1, R2, R0 24 | MOV R0, R4 25 | STRB r1, [r6, r0] 26 | 27 | .org 0x020D5F3A 28 | MOV r0, r4 29 | STRB r7, [r6, r0] 30 | 31 | .org 0x020D5F46 32 | NOP 33 | 34 | ;; Subroutine2 35 | .thumb 36 | .org 0x020D5EDC 37 | LDRH r2, [r0] 38 | MOV r0, r1 39 | ADD R1, R2, R0 40 | MOV R0, R4 41 | STRB r1, [r7, r0] 42 | 43 | .org 0x020D5EF6 44 | MOV r0, r6 45 | STRB r1, [r7, r0] 46 | 47 | ;; Base char 48 | .org 0x0213EFD4 49 | .halfword 0x0030 50 | -------------------------------------------------------------------------------- /Assembly/font/space_objects_title.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Remove the extra space between chars in objects title 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .thumb 19 | .org 02116EEAh 20 | MOV r1, #0 ; Original: 1 21 | -------------------------------------------------------------------------------- /Assembly/keyboard/accent button version/teclado_teclas.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Assembly/keyboard/accent button version/teclado_teclas.asm -------------------------------------------------------------------------------- /Assembly/keyboard/egg_comment.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Update the cursor coordinates for the egg comments. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | @getStringWidth equ 0x020CBE14 19 | @copyArray equ 0x0201F230 20 | 21 | .arm 22 | 23 | ;; Calculate the X position of the cursor in this case 24 | ;; It was multiplying the current size by 0x0C 25 | .org 0x0208C5E8 26 | MOV r5, r4 ; Save the r4 value for later 27 | MOV r4, r7 ; Arg3: Keyboard struct 28 | LDR r1, [r7,#0x3D8] ; Arg1: String length 29 | MOV r7, r3,ASR#5 ; Number of lines = Num chars / Chars per line (32) 30 | MOV r0, r7,LSL#5 ; Arg0: Skipped chars = remove previous lines chars 31 | MOV r2, #0 ; Arg2: Extra width added 32 | BL @getStringWidth 33 | MOV r12, r1 34 | 35 | ADD R0, r5, #0x3B000 36 | MOV R1, #0x12 37 | MUL R3, r7, R1 38 | 39 | 40 | ;; Split the text in different lines 41 | .org 0x0208D60C 42 | MOV R11, #0x20 ; Bytes per line 43 | 44 | .org 0x0208D61C 45 | MOV R0, R7 ; Output 46 | MOV R2, R11 ; Max size 47 | ADD R1, R8, R9,LSL#5 ; Subindex in the string in each iteration 48 | BL @copyArray ; Before it was copying 2-byte per char 49 | 50 | .org 0x0208D650 51 | CMP R9, #2 ; Number of lines 52 | -------------------------------------------------------------------------------- /Assembly/keyboard/fix_familiar_length.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Fix familiar length 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | .org 0207AD00h 20 | MOV r3, #0x7 21 | -------------------------------------------------------------------------------- /Assembly/keyboard/font_space.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Reduce the font space 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | 20 | .org 020C64E0h 21 | .area 4h 22 | MOV R1, #8 - 8 23 | .endarea 24 | -------------------------------------------------------------------------------- /Assembly/keyboard/monster_search.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Familiar wiki search. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | 20 | @toUpper equ 0x020CBE78 21 | 22 | ; # Copy user input 23 | ; First char must be upper case 24 | .org 0x020911D8 25 | MOV R2, #9 26 | 27 | @copyLoop: 28 | LDRB R1, [R3],#1 29 | CMP R2, #9 30 | BLEQ @toUpper 31 | SUBS R2, R2, #1 32 | STRB R1, [R7], #1 33 | NOP 34 | BNE @copyLoop 35 | -------------------------------------------------------------------------------- /Assembly/keyboard/monster_search_toUpper.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Char to upper case for familar wiki search function. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .org 0x020CBE78 19 | .area 0x64 20 | @toUpper: 21 | ; Alphabet 22 | CMP R1, 'z' 23 | BGT @accents 24 | CMP R1, 'a' 25 | SUBGE R1, #0x20 26 | 27 | ; Accents 28 | @accents: 29 | CMP R1, #0xAC ; 'ú' 30 | BGT @specialChars 31 | CMP R1, #0xA8 ; 'á' 32 | SUBGE R1, #0x05 33 | 34 | @specialChars: 35 | CMP R1, #0xAD ; 'ñ' 36 | ADDEQ R1, #1 37 | 38 | CMP R1, #0xAF ; 'ü' 39 | ADDEQ R1, #1 40 | 41 | @end: 42 | BX LR 43 | .endarea 44 | -------------------------------------------------------------------------------- /Assembly/keyboard/nigori.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Disable left buttons (nigori/accent) 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | 20 | ; # If somehow a nigori key is pressed, do nothing 21 | .org 020C6810h 22 | .area 4h 23 | BEQ 020C69F4h ; Jump to the end 24 | .endarea 25 | 26 | 27 | ; # Make impossible select the nigori keys 28 | .org 0x020C6778 29 | MOVNE R3, #0 ; Max number of rows in keyboard 1 (originally 6) 30 | MOVEQ R3, #0 ; Max number of rows in keyboard 2 (originally 3) 31 | 32 | 33 | ; # Disable activation of the nigori keys 34 | .org 0x020C6A70 35 | ; Get the current char 36 | MOV R0, R2 ;,LSL#1 ; No need *2 to get index 37 | LDRB R5, [R1,R0] 38 | 39 | .org 0x020C6A80 40 | ; It was quitting only if the current char was a space, ok, let's say it's 41 | LDMFD SP!, {R3-R11,PC} 42 | -------------------------------------------------------------------------------- /Assembly/keyboard/print_keys.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the char keys 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | 20 | ; Alphabet keys 21 | .org 0x020C6568 22 | NOP ;MOV R2, R0,LSL#8 ; No need to swap bytes for the char 23 | ADD R1, R1, #0x16 + 3 ; X offset 24 | MLA R1, R8, R4, R1 25 | LDR R3, [R10,#0x3F4] 26 | NOP ;ORR R0, R2, R0,ASR#8 ; More swaping 27 | 28 | ; Interrogation and exclamations keys 29 | .org 0x020C6604 30 | ADD R1, R1, #0xD4 + 3 ; X offset 31 | 32 | .org 0x020C65F0 33 | MOV R0, R1 ;,LSL#8 ; No need to swap bytes for the char 34 | NOP ;ORR R0, R0, R1,ASR#8 ; More swaping 35 | 36 | ; Number keys 37 | .org 0x020C6644 38 | ADD R0, R0, #0x16 + 3 ; X offset 39 | 40 | .org 0x020C6650 41 | MOV R0, R2 ;,LSL#8 ; No need to swap bytes for the char 42 | NOP ; ORR R0, R0, R2,ASR#8 ; More swaping 43 | -------------------------------------------------------------------------------- /Assembly/keyboard/set_string.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Fix the initialization of the keyboard string. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | 20 | .org 0x020C62E4 21 | STMFD SP!, {R3,LR} 22 | 23 | ; Initial size to 0 24 | MOV R2, #0 25 | B @readChar 26 | 27 | @writeChar: 28 | LDR R3, [R0,#0x3D0] ; Name ptr 29 | MOV R2, LR ;,LSL#1 ; Get index 30 | STRB R12, [R3,R2] ; Write char into the name pointer 31 | LDR R2, [R0,#0x3D4] ; Update current size... 32 | ADD R2, R2, #1 ; ... adding one 33 | 34 | @readChar: 35 | STR R2, [R0,#0x3D4] ; Store the current size 36 | LDR LR, [R0,#0x3D4] ; Get the it again -.-' 37 | MOV R2, LR ;,LSL#1 ; And use it as index to get next char 38 | LDRB R12, [R1,R2] ; ... 39 | CMP R12, #0 ; ... so we check it is not null 40 | BEQ @writeNull 41 | 42 | LDR R2, [R0,#0x3CC] ; Check if we can copy more bytes... 43 | CMP LR, R2 ; ... 44 | BLT @writeChar ; ... 45 | 46 | @writeNull: 47 | LDR R2, [R0,#0x3D0] ; Get the name pointer 48 | MOV R1, LR ;,LSL#1 ; ... and use the size as index 49 | MOV R3, #0 ; ... to write a null char 50 | STRB R3, [R2,R1] ; ... at the end 51 | LDR R1, [R0,#0x3D4] ; Get the size to call now update_cursor 52 | -------------------------------------------------------------------------------- /Assembly/keyboard/textbox_longNames.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Fix the position of the textboxes 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | 19 | ; # Input length 20 | ; The number of characters the user can write 21 | .org 0x02139E30 22 | .dcb 0x0A ; Questions 23 | .dcb 0x06 + 1 ; Player name (warning: in the save only fits 8 bytes, 24 | ; that is the player name + \0) 25 | 26 | 27 | ; # L / R X Position 28 | ; The following values are the relative position as the screen width would be 29 | ; 258. Exactly, X_L = Z and X_R = 258 - Z, where Z are the next numbers. 30 | ; So, if you change it, you are moving L to the right the same value as 31 | ; R to the left. 32 | .org 0x02139E32 33 | .dcb 0x44 + 66 ; Questions 34 | .dcb 0x6D + 34 ; Player name 35 | 36 | 37 | ; # Number of buttons in the bottom 38 | ; Number of buttons below. Valid values are 3 and 4. The difference is if the 39 | ; button to change between upper and lower case chars is present. Other values 40 | ; make the game crash. 41 | .org 0x02139E34 42 | .dcb 0x03 ; Questions 43 | .dcb 0x04 ; Player name 44 | 45 | ; # Textboxes X Position 46 | ; Position of the text inside the textbox and the char cursor 47 | .org 0x02139E36 48 | .dcb 0x1D + 66 ; Questions 49 | .dcb 0x45 + 35 ; Player name 50 | -------------------------------------------------------------------------------- /Assembly/keyboard/textbox_touch_movement.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Disable change the position of the cursor touching the char. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | 20 | ; Since all chars in japanese have the same width, it's easy to know 21 | ; what char are touching. In Spanish and other language, letters like the 22 | ; 'i' has a different width. It's very small (an unknown) feature, so we 23 | ; disable it. 24 | .org 0x020C6000 25 | NOP ; This was a call to update_cursor for that event. 26 | -------------------------------------------------------------------------------- /Assembly/overlay9_10.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 19 from arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_10.bin, 02079F80h 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include textbox\casino_exchange.asm 24 | 25 | .close 26 | ; EOF ; 27 | -------------------------------------------------------------------------------- /Assembly/overlay9_12.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 12 for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_12.bin, 0x02079F80 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include font\fillnumber_ov12.asm 24 | .include textbox\moya.asm 25 | 26 | .close 27 | ; EOF ; 28 | -------------------------------------------------------------------------------- /Assembly/overlay9_13.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 13 for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_13.bin, 0x02079F80 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include textbox\subtitles.asm 24 | 25 | .close 26 | ; EOF ; 27 | -------------------------------------------------------------------------------- /Assembly/overlay9_14.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 14 for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_14.bin, 020C18E0h 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include textbox\script_top.asm 24 | .include keyboard\keys.asm ; MUST be first since it's overwritten later 25 | .include keyboard\write_char.asm 26 | .include keyboard\nigori.asm 27 | .include keyboard\delete.asm 28 | .include keyboard\cursor.asm 29 | .include keyboard\font_space.asm 30 | .include keyboard\print_keys.asm 31 | .include keyboard\set_string.asm 32 | .include keyboard\monster_search_toUpper.asm 33 | .include keyboard\textbox_touch_movement.asm 34 | .include pointers\overlay9_14.asm 35 | .include textbox\menu_request.asm 36 | .include password\alphabet.asm 37 | 38 | .close 39 | ; EOF ; 40 | -------------------------------------------------------------------------------- /Assembly/overlay9_17.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 17 for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_17.bin, 020D0A00h 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include fileformats\subtitles.asm 24 | .include fileformats\spellsname\spells_ov17.asm 25 | .include fileformats\familiarname\familiar_main.asm 26 | .include fileformats\skillsname\skills_main.asm 27 | .include fileformats\skillsname\skills_train.asm 28 | .include fileformats\skills_spells_getName.asm 29 | .include textbox\cutscenes.asm 30 | .include textbox\script_dialog.asm 31 | .include textbox\lilli_motel.asm 32 | .include textbox\menu_items_effect.asm 33 | .include textbox\menu_hero.asm 34 | .include textbox\menu_team.asm 35 | .include textbox\casino_dialog.asm 36 | .include textbox\menu_main.asm 37 | .include textbox\save_time_limit.asm 38 | .include textbox\dialog_tutorial.asm 39 | .include textures\playerNames.asm 40 | .include keyboard\name_encoding.asm 41 | .include keyboard\textbox_longNames.asm 42 | .include pointers\overlay9_17.asm 43 | .include font\space_objects_title.asm 44 | ;.include font\int2str_ov17.asm 45 | 46 | .close 47 | ; EOF ; 48 | -------------------------------------------------------------------------------- /Assembly/overlay9_18.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 18 for arm9 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_18.bin, 020D0A00h 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include Wi-Fi\nossl_18.asm 24 | 25 | .close 26 | ; EOF ; 27 | -------------------------------------------------------------------------------- /Assembly/overlay9_2.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 2 for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_2.bin, 02079F80h 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include bugs\downloading_news.asm 24 | .include Wi-Fi\dwc.asm 25 | .include Wi-Fi\nossl.asm 26 | .include Wi-Fi\filter.asm 27 | .include textbox\wifi_news.asm 28 | .include textbox\wifi_objects.asm 29 | 30 | .close 31 | ; EOF ; 32 | -------------------------------------------------------------------------------- /Assembly/overlay9_20.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 20 for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_20.bin, 0x02159FE0 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include fileformats\spellsname\spells_ov20.asm 24 | .include fileformats\skillsname\skills_zoom.asm 25 | .include fileformats\familiarname\familiar_zoom.asm 26 | .include textbox\menu_rupe.asm 27 | 28 | .close 29 | ; EOF ; 30 | -------------------------------------------------------------------------------- /Assembly/overlay9_4.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 4 for arm9 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_4.bin, 0x02079F80 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include textbox\casino_military.asm 24 | .include textbox\casino_blackjack.asm 25 | 26 | .close 27 | ; EOF ; 28 | -------------------------------------------------------------------------------- /Assembly/overlay9_5.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 5 for arm9 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_5.bin, 0x02079F80 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include textbox\casino_slotMachine.asm 24 | 25 | .close 26 | ; EOF ; 27 | -------------------------------------------------------------------------------- /Assembly/overlay9_7.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 7 for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_7.bin, 0x02079F80 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include fileformats\spellsname\spells_ov7.asm 24 | .include fileformats\familiarname\familiar_menu.asm 25 | .include fileformats\familiarname\familiar_upgrade.asm 26 | .include fileformats\skillsname\skill_upgrade.asm 27 | .include fileformats\skillsname\skills_book.asm 28 | .include textbox\menu_familiars.asm 29 | .include textbox\menu_spells.asm 30 | .include textbox\menu_pot.asm 31 | .include textbox\menu_tutorials.asm 32 | .include textbox\menu_recipe.asm 33 | .include textbox\menu_equip.asm 34 | .include textbox\menu_trainSelect.asm 35 | .include textbox\menu_learn_skill.asm 36 | .include textbox\express_missions.asm 37 | .include keyboard\fix_familiar_length.asm 38 | .include keyboard\monster_search.asm 39 | .include keyboard\textbox_familiar.asm 40 | .include keyboard\textbox_monster_search.asm 41 | 42 | .close 43 | ; EOF ; 44 | -------------------------------------------------------------------------------- /Assembly/overlay9_8.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 8 for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_8.bin, 0x02079F80 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include pointers\overlay9_8.asm 24 | .include textbox\menu_checksheet.asm 25 | .include textbox\menu_adhoc_battles.asm 26 | .include textbox\menu_adhoc_exchange.asm 27 | .include keyboard\egg_comment.asm 28 | 29 | .close 30 | ; EOF ; 31 | -------------------------------------------------------------------------------- /Assembly/overlay9_9.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hacks for overlay 9 for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .nds 18 | .open overlay9_9.bin, 0x02079F80 19 | 20 | .relativeinclude on 21 | .erroronwarning on 22 | 23 | .include textbox\shop_menu.asm 24 | 25 | .close 26 | ; EOF ; 27 | -------------------------------------------------------------------------------- /Assembly/password/alphabet.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Hiragana alphabet for the password generator 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ;; Hiragana 19 | .org 0x020C18E0 + 0xB044 20 | .area 0x74 21 | 22 | ; Random generated 23 | .ascii "!", "#", "$", "%", "&", "(", ")", "*", "+", ",", "-", ".", "/", "0", "1", "2" 24 | .ascii "3", "4", "5", "6", "7", "8", "9", ":", ";", "<", "=", ">", "?", "@", "A", "B" 25 | .ascii "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R" 26 | .ascii "S", "T", "U", "V", "W", "X", "Y", "Z", "[", "\\", "]", "_", "a", "b", "c", "d" 27 | .ascii "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t" 28 | .ascii "u", "v", "w", "x", "y", "z", "{", "|", "}", "~", 29 | dcw 0x9981, 0x9A81, 0x9B81, 0x9C81, 0x9D81, 0x9E81, 0x9F81, 0xA081, 30 | dcw 0xA181, 0xA281, 0xA381, 0xA481, 0xA581 31 | 32 | .endarea 33 | -------------------------------------------------------------------------------- /Assembly/pointers/arm9.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Pointer hack (increase text size) for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ; Base pointer is 0206BF44h + 4h 19 | .org 0206BF48h 20 | 21 | ; # BATTLE BUTTONS # 22 | @@hechizos equ 0206B94Ch ; -> atacar 23 | @@tecnicas equ 0206B958h ; -> objetos 24 | @@atacar equ 0206B92Ch ; -> hechizos 25 | @@objetos equ 0206B934h ; -> tecnicas 26 | 27 | .word @@atacar 28 | .word @@hechizos 29 | .word @@tecnicas 30 | .word @@objetos 31 | 32 | 33 | -------------------------------------------------------------------------------- /Assembly/pointers/overlay9_14.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Pointer hack (increase text size) in overlay 14 for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | Frigoria equ 0x020C18E0 + 0xB1D8 ; -> Xanadú 19 | Xanadu equ 0x020C18E0 + 0xB1D0 ; -> Frigoria 20 | 21 | .org 0x020C18E0 + 0xA9D0 22 | .word Xanadu 23 | 24 | .org 0x020C18E0 + 0xA9E0 25 | .word Frigoria 26 | 27 | 28 | ;; Puerto Bikini 29 | ;; Increase space moving next text 30 | Jangol_ptr equ 0x020C18E0 + 0xB1F4 31 | 32 | .org 0x020C18E0 + 0xA9C0 33 | .word Jangol_ptr 34 | -------------------------------------------------------------------------------- /Assembly/pointers/overlay9_8.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Pointer hack (increase text size) in overlay 8 for arm9 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ;; Puerto Bikini 19 | PuertoBikini_ptr equ 0x02079F80 + 0x01F290 20 | Kagoshima_ptr equ 0x02079F80 + 0x01F284 21 | 22 | .org 0x02079F80 + 0x020084 23 | .word PuertoBikini_ptr 24 | 25 | .org 0x02079F80 + 0x020070 26 | .word Kagoshima_ptr 27 | 28 | ;; Frigoria 29 | Frigoria_ptr equ 0x02079F80 + 0x1F110 30 | Mie_ptr equ 0x02079F80 + 0x1F0EC 31 | 32 | .org 0x02079F80 + 0x020098 33 | .word Frigoria_ptr 34 | 35 | .org 0x02079F80 + 0x020018 36 | .word Mie_ptr 37 | -------------------------------------------------------------------------------- /Assembly/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | overlay_folder=$1 3 | overlay=$2 4 | 5 | cp "$overlay_folder/overlay9_$overlay.bin" ./ 6 | 7 | wine armips.exe "overlay9_$overlay.asm" 8 | if [[ $? -ne 0 ]] ; then 9 | echo "Error!" 10 | else 11 | echo "Good ;)" 12 | fi 13 | 14 | rm "./overlay9_$overlay.bin" 15 | -------------------------------------------------------------------------------- /Assembly/textbox/battle.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in battles 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ;; # OBJECT AND ATTACK NAMES # 19 | .thumb 20 | .org 0207E168h 21 | MOV r1, #9 22 | LSL r1, r1, #0xC 23 | 24 | ;; # SPELL | SP ATTACKS STRING # 25 | .thumb 26 | .org 020809C4h 27 | MOV r0, #4 ; Original 5 28 | LSL r0, r0, #0xF 29 | 30 | ;; # CHAR NAME AT TOP SCREEN # 31 | .thumb 32 | .org 020809D4h 33 | MOV r0, #4 ; Original 5 34 | LSL r0, r0, #0xF 35 | 36 | 37 | ;; # ENEMY TEXTBOX SIZE # 38 | .thumb 39 | .org 0207CC10h 40 | MOV R0, #0x9 + 4 ; Width * 8 41 | 42 | 43 | ;; # ENEMY TEXTBOX SIZE WHEN SELECTING TARGET # 44 | .thumb 45 | .org 0207CD6Ah 46 | MOV R0, #0x9 + 4 ; Width * 8 47 | -------------------------------------------------------------------------------- /Assembly/textbox/casino_blackjack.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the numbers in blackjack minigame of casino. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .arm 18 | 19 | ;; Number of rounds played 20 | .org 0x02095FC0 21 | ADD r1, r6, #0x00 + 0x12 ; X position 22 | -------------------------------------------------------------------------------- /Assembly/textbox/casino_dialog.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in the casino dialogs 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ; Money number 19 | .arm 20 | .org 0x02134F78 21 | MOV R1, #0x16 ; X pos, original 0x8 22 | 23 | ; Number of casino coins 24 | .org 0x02134FB0 25 | MOV R1, #0x73 ; X pos, original 0x60 26 | 27 | 28 | ; Number of casino coins in exchange menu 29 | .arm 30 | .org 0x020D6C6C 31 | MOV R1, #0x11 ; X pos, original 0x7 32 | -------------------------------------------------------------------------------- /Assembly/textbox/casino_exchange.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in the casino menus 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | 19 | ; Slot color when exchanging 20 | .arm 21 | .org 0x0207BCF0 22 | MOV R1, #0x8D ; X pos, original 0xA2 23 | 24 | ; Object name 25 | .org 0x0207C608 26 | RSB R1, R0, #0x88 ; Text is centered, original 0x80 27 | ADD R0, R4, #0x44 28 | MOV R2, #0x2D ; Y pos, original 0x2C 29 | 30 | ; Needed casino coins top screen 31 | .org 0x0207C700 32 | RSB R1, R0, #0x54 ; Aligned to the right, orignial 0x4C 33 | 34 | ; Needed casino coins bottom screen 35 | .org 0x0207C72C 36 | RSB R1, R0, #0x5B ; Align to the right, original 0x4D 37 | MOV R2, #5 ; Y pos, original 0x06 38 | -------------------------------------------------------------------------------- /Assembly/textbox/casino_military.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the numbers in military minigame of casino. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | .org 0x0207E900 20 | MOV r1, #0xB+19 ; X pos 21 | MOV R2, #2 ; Y pos 22 | -------------------------------------------------------------------------------- /Assembly/textbox/casino_slotMachine.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the numbers in slot machines of casino. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | 19 | ; # Position of total round number and (shared) won round number 20 | .arm 21 | .org 0x0207E9F4 22 | MOV R1, #0x40 + 20 ; X pos 23 | MOV R2, #0xAD ; Y pos 24 | 25 | ; # Separation between chars 26 | .org 0x0207EA20 27 | MOV R1, #1 28 | 29 | 30 | ; # Relative position for won round number 31 | .arm 32 | .org 0x0207D444 33 | MOV R1, #0x4E + 1 34 | 35 | ; # Format strings 36 | .org 0x0207D470 37 | .word 0x2092DE8 ; "%03d" (total rounds >= 999) 38 | .word 0x2092DF0 - 8 ; "%3d" (total rounds < 999) 39 | .word 0x2092DF4 ; "%03d" (won rounds >= 999) 40 | .word 0x2092DFC - 8 ; "%3d" (won rounds < 999) 41 | -------------------------------------------------------------------------------- /Assembly/textbox/cutscenes.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in cutscenes 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .thumb 19 | .org 0x020FDCE4 20 | LSL r0, r4, #0x12 ; Original 0x11 21 | 22 | ;.org 0x020FDCD2 23 | ;MOV R4, #0x02 ; NO CHANGE IT. It's used to enable BG1 too 24 | ;.org 0x020FDCAC 25 | ;MOV r3, ... 26 | ;.org 0x020FDDB0 27 | ;DBW 0x0400000A 28 | -------------------------------------------------------------------------------- /Assembly/textbox/dialog_tutorial.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in dialog boxes of type tutorial. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .thumb 19 | 20 | .org 0x020E12D4 21 | MOV R1, #224 ; X center pos (centered) 22 | 23 | .org 0x020E12E2 24 | MOV R3, #41 ; Y center pos (centered) 25 | -------------------------------------------------------------------------------- /Assembly/textbox/express_missions.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in the express mission menu. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .arm 18 | 19 | ;; Given stamp for the mission 20 | .org 0x020AAF8C 21 | MOV R1, #0xCC + 23 ; X pos 22 | MOV R2, #0xAB ; Y pos 23 | 24 | 25 | ;; Number of mission in top screen 26 | .org 0x020AAEB0 27 | MOV R1, #0x30 ; X pos 28 | MOV R2, #0xA - 2 ; Y pos 29 | -------------------------------------------------------------------------------- /Assembly/textbox/lilli_motel.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in Lilli Motel map name 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .thumb 19 | .org 0x021000B6 20 | NOP ; Original: SUBS R4, #3 21 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_adhoc_battles.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the numbers in the info menu of multi battles. 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | ;; YOU 20 | ;; ... Number of battles 21 | .org 0x02084AE8 22 | RSB r1, r0, #0xEC ; Right aligned, originally 0xE2 23 | 24 | ;; ... Battles won 25 | .org 0x02084B28 26 | RSB r1, r0, #0xB6 ; Right aligned, originally 0xAE 27 | 28 | ;; ... Battles lose 29 | .org 0x02084B64 30 | RSB r1, r0, #0xEC ; Right aligned, originally 0xE4 31 | 32 | ;; ENEMY 33 | ;; ... Number of battles 34 | .org 0x02084CF8 35 | RSB R1, R0, #0xEC ; Right aligned, originally 0xE2 36 | 37 | ;; ... Battles won 38 | .org 0x02084D38 39 | RSB r1, r0, #0xB6 ; Right aligned, originally 0xAE 40 | 41 | ;; ... Battles lose 42 | .org 0x02084D74 43 | RSB r1, r0, #0xEC ; Right aligned, originally 0xE4 44 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_adhoc_exchange.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the numbers in the info menu of multi exchange. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | ;; Money 20 | .org 0x02080140 21 | RSB r1, r0, #0xDA+20 ; Right aligned 22 | STR R9, [SP] 23 | ADD R0, R7, #0xA0 24 | MOV R2, #0x51+1 ; Y pos 25 | 26 | ;; Last familiar catched 27 | .org 0x0208017C 28 | RSB r1, r0, #0xDA+20 ; Right aligned, originally 0xDA 29 | STR R9, [SP] 30 | ADD R0, R7, #0xA0 31 | MOV R2, #0x61+1 ; Y pos 32 | 33 | ;; Battles won 34 | .org 0x020801B8 35 | MOV R8, #0x73+1 ; Line Y pos 36 | RSB r1, r0, #0xA4+18 ; Right aligned, originally 0xA4 37 | 38 | ;; Battles lose 39 | .org 0x020801F8 40 | RSB r1, r0, #0xDC+18 ; Right aligned, originally 0xDC 41 | 42 | ;; Exchanged familiar 43 | .org 0x02080234 44 | RSB r1, r0, #0xDA+20 ; Right aligned, originally 0xDA 45 | STR R9, [SP] 46 | ADD R0, R7, #0xA0 47 | MOV R2, #0x83+1 ; Y pos 48 | 49 | ;; Number of players 50 | .org 0x02080270 51 | RSB r1, r0, #0xDA+20 ; Right aligned, originally 0xDA 52 | MOV R3, R4 53 | ADD R0, R7, #0xA0 54 | MOV R2, #0x93+1 ; Y pos 55 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_equip.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in equip menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ;; Item name 19 | .arm 20 | .org 0x020821B8 21 | MOV r1, #0x83 ; X pos, originally 0x84 22 | 23 | 24 | ;; Item quantity 25 | .arm 26 | .org 0x02082228 27 | MOV r1, #0xDB ; X pos, originally 0xDD 28 | 29 | 30 | ;; Level 31 | .arm 32 | .org 0x2080544 33 | MOV r1, #0x79 + 2 ; X poss 34 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_familiars.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in familiars menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | 20 | ;; # FAMILIAR DESCRIPTION # 21 | .org 020B6770h 22 | MOV r4, #0x9A ; Y Position: original 0x97 23 | .org 020B677Ch 24 | MOV r1, #8 ; X Position: original 0x08 25 | 26 | ;; # FAMILIAR OBJECTS # 27 | .org 020B6604h 28 | MOV r1, #0x73 ; X Position: Original 0x74 29 | ADD r2, r2, #0x6B ; Y Position: Original 0x6B 30 | 31 | ;; # MONEY GIVEN # 32 | .org 020B671Ch 33 | MOV R1, #0xCD + 9 ; X Position 34 | 35 | .org 020B69D8h 36 | MOV R1, #0xCD + 9 ; X position when no familiar is select (------) 37 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_hero.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox hero menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | ;; Item name in top screen 20 | .org 0x02134274 21 | MOV r2, #0x43 ; Y pos, original 0x3F 22 | 23 | 24 | ;; Number of cards 25 | .org 0x021339C8 26 | MOV r1, #0xF0 + 6 ; X pos 27 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_items_effect.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in the effect of items 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .thumb 19 | ;; Item effect 20 | .org 0x02117D4E 21 | MOV R1, #0x60 ; X POS -> Original 0x62 22 | 23 | ;; Slot color 24 | .org 0x021170DE 25 | MOV R1, #0x9E - 4 ; X POS 26 | 27 | 28 | .thumb 29 | ;; Increase the size of the item name textbox 30 | .org 0x02116E90 31 | MOV R0, #0x14 + 2 ; Width / 8 32 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_learn_skill.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in the select skill menu. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .arm 18 | 19 | ;; Enemies strings 20 | .org 0x020B0148 21 | STMFD SP!, {R4-r12,LR} 22 | 23 | .org 0x020B0394 24 | MOVS r12, r9 25 | MOVNE r12, #0x0C ; Y separation 26 | BNE loc_20B03A8 27 | 28 | LDRB R0, [R8,#2] 29 | BLX 0x020D6408 30 | B loc_20B03B0 31 | 32 | loc_20B03A8: 33 | LDRB R0, [R8,#6] 34 | BLX 0x020D6414 35 | 36 | loc_20B03B0: 37 | MOV R4, R0 38 | LDR R0, =0x02141660 39 | ADD R0, R0, R4,LSL#2 40 | LDR R1, [R0,#0xFC] 41 | MOV R0, R6 42 | BLX 0x020DEF40 43 | 44 | STR R11, [SP] 45 | ADD R0, R10, #0x44 46 | MOV r1, #0xBB + 3 ; X position 47 | ADD r2, r12, #0x66 + 6 ; Y position 48 | MOV R3, R6 49 | 50 | .org 0x020B063C 51 | LDMFD SP!, {R4-r12,PC} 52 | 53 | .org 0x020B0650 54 | .pool 55 | 56 | 57 | ;; Eria images 58 | .org 0x020AFC24 59 | MOV r1, #0xE9 ; X position 60 | ADD r2, r2, #0x70 + 4 ; Y position 61 | 62 | .org 0x020AFBCC 63 | MOV r4, #0x12 - 6 ; Y separation 64 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_main.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in the main manu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .thumb 19 | ;; Main team characters name 20 | .org 0x020D9384 21 | ADD r2, #0x16 - 3 ; X position, centered 22 | 23 | ;; Main team character level 24 | .org 0x020D9440 25 | ADD r4, #0x38 + 3 ; X position 26 | 27 | ;; Main team character level image 28 | .org 0x020D93CC 29 | ADD r1, #0x2C + 3 ; X position 30 | MOV R2, #0x29 ; Y position 31 | 32 | ;; Characters name in the team 33 | ;.org 0x020D96E0 34 | ; ADD r1, #0x14 ; X position, centered 35 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_pot.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Increase textbox size in pot menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | .org 0x02094D6C 20 | MOV r4, #0x15 ; Original: 0x14 (* 8 = width) 21 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_recipe.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in the recipe menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | 19 | ;; Item name to craft 20 | .arm 21 | .org 0x020A2470 22 | MOV r6, #0x45 ; X pos, originally text is center in the screen 23 | 24 | .org 0x020A2484 25 | MOV r2, #7 ; Y pos, original 0x05 26 | 27 | 28 | ;; Item name number to craft 29 | .arm 30 | .org 0x020A24F4 31 | MOV r2, 0x9 ; Y pos, original R9 (0xA) 32 | 33 | 34 | ;; slot_color image 35 | .arm 36 | .org 0x020A1868 37 | MOV r1, #0x43 ; X pos, original 0x55 38 | 39 | 40 | ;; Item description to craft 41 | .arm 42 | .org 0x020A26E4 43 | MOV r1, #0x6D - 12 ; X pos 44 | MOV R2, #0x1B ; Y pos 45 | 46 | 47 | ;; Item effect 48 | .arm 49 | .org 0x020A28D4 50 | MOV r1, #0x68 - 7 ; X pos 51 | MOV R2, #0x5E ; Y pos 52 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_request.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Increase textbox size in request menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ;; # REQUEST TITLE # 19 | .arm 20 | .org 020C5804h 21 | MOV r1, #0x49 ; X Position: original 0x50 22 | MOV r2, #4 ; Y Position: original 0x03 23 | 24 | 25 | ;; # STAMP GIVEN # 26 | .org 020C5950h 27 | MOV r1, #0xCD + 10 ; X position 28 | 29 | .org 020C5968h 30 | MOV r1, #0xCE + 10 ; X position (to paint twice - bold effect) 31 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_spells.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in spells menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ;; # SPELL NAME # 19 | .org 020B41E4h 20 | MOV r1, #5 ; X Position: original 0x05 21 | ADD r2, R7, #8 ; Y Position: original 0x05 22 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_team.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in team menu 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | 20 | ;; Character face icon 21 | .org 0x02130478 22 | ADD R2, R2, #0x19 - 1 ; Y position 23 | 24 | 25 | ;; Health state 26 | .org 0x02130A08 27 | MOV R2, #0x2A + 1 ; Y position 28 | 29 | 30 | ;; Technique name 31 | .org 0x021311AC 32 | MOV R2, #7 - 3 ; Y position 33 | 34 | ;; Technique magic 35 | .org 0x021311EC 36 | MOV R2, #8 - 2 ; Y position 37 | 38 | 39 | ;; Move "Enemies targets" in the skill / magic description 40 | .org 0x021312D0 41 | MOV R1, #0x20 - 15 ; X position 42 | ADD R2, R2, #0x54 + 4 ; Y position 43 | 44 | .org 0x021312B4 45 | MOV R2, #0x12 - 4 ; Separation between lines 46 | 47 | 48 | ;; Move "Enemies targets" square 'eria' image 49 | .org 0x021305CC 50 | ADD R0, R0, #0x5E + 2 ; Base Y position 51 | 52 | .org 0x021305C0 53 | MOV R7, #0x12 - 4 ; Separation between lines 54 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_trainSelect.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in train select menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | 20 | ;; Item to give title in description 21 | .org 0x0209A6B4 22 | MOV R2, #3 ; Y Pos, original R7 (0x00) 23 | -------------------------------------------------------------------------------- /Assembly/textbox/menu_tutorials.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in tutorials menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | 19 | ;; Tutorial title in top screen 20 | .arm 21 | .org 0x020A0540 22 | MOV r2, #0xA7 ; Y pos, original 0xA6 23 | -------------------------------------------------------------------------------- /Assembly/textbox/moya.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in moya menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .definelabel NO_PADDING,1 19 | 20 | ;; Recipe summary 21 | .arm 22 | .org 0x0207C0E4 23 | MOV r2, #0x4 ; Y pos, original R5 (2) 24 | ADD R0, R10, #0xA4 25 | MOV r1, #0x9C ; X pos, original 0x8F 26 | 27 | .org 0x0207C08C 28 | MOV r2, #2 ; Digits of first number in floor, original R7 (3) 29 | 30 | 31 | .if NO_PADDING 32 | ;; Without number padding 33 | .org 0x207C070 ; 18 instr to override 34 | .area 0x48 35 | ADD R0, R10, #0x3E000 36 | LDR R0, [R0,#0x214] 37 | ADD r4, r0, #1 38 | ADD r6, r0, #5 39 | 40 | NOP 41 | NOP 42 | NOP 43 | NOP 44 | NOP 45 | NOP 46 | NOP 47 | NOP 48 | NOP 49 | NOP 50 | NOP 51 | NOP 52 | NOP 53 | NOP 54 | .endarea 55 | .endif 56 | -------------------------------------------------------------------------------- /Assembly/textbox/save.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in save menus 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .thumb 19 | 20 | ;; Progress star 21 | .org 0x02063096 22 | MOV r1, #0x48 + 4 ; X position 23 | 24 | ;; Progress star in the "current save state" tab of the "save" screen 25 | .org 0x020631B0 26 | MOV r1, #0x48 + 4 ; X position 27 | MOV R2, #0x4C ; Y position 28 | 29 | ;; Time display (make hours 3 digits) 30 | .org 0x020632B8 31 | MOV r2, #3 ; Number to pad (3 digits) 32 | 33 | 34 | ;; Max number of hours in seconds 35 | .org 0x02063290 36 | .word 0x36EE80 37 | .word 0x36EE7F 38 | -------------------------------------------------------------------------------- /Assembly/textbox/save_time_limit.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Increase the time limit to 995:59:59 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | .arm 18 | 19 | .org 0x0210A530 20 | .area 40 21 | LDR R3, [R0] 22 | LDMIA R3, {R0,R1} ; Loads current ticks time 23 | 24 | ; Check the higher part 25 | MOV R2, #0x1B4 26 | ADD R2, #0x2 27 | CMP R1, R2 28 | 29 | ; Check the lower part 30 | LDR R1, =0xEC6CEFA0 31 | CMPEQ R0, R1 32 | 33 | ; Set limit values if either of the comparaison is greater 34 | STMHIIA R3, {R1,R2} 35 | 36 | BX LR 37 | .pool 38 | .endarea 39 | 40 | .org 0x0210A4D8 41 | ; Remove one instruction 42 | SUBS R2, R0, R5 43 | SBC R0, R1, R6 44 | LDR R12, [R3] 45 | LDR R1, [R3,#4] 46 | ADDS R6, R12, R2 47 | ADC R2, R1, R0 48 | CMP R1, R2 49 | CMPEQ R12, R6 50 | MOVCS R2, #0x1B4 ; New instruction 51 | ; Skip the relative-pc load because I am too lazy to add the pool 52 | .org 0x0210A500 53 | ADDCS R2, #0x2 54 | 55 | ; Hard-coded pool 56 | .org 0x0210A518 57 | .word 0xEC6CEFA0 58 | -------------------------------------------------------------------------------- /Assembly/textbox/script_dialog.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in script dialogs 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .thumb 19 | .org 0x020E3344 20 | MOV r1, #0x03 21 | NEG r1, r1 22 | 23 | ;; Dialog questions answers 24 | ;; Relative positions to OAM position, don't change 25 | .thumb 26 | .org 0x020E0788 ; No-selected text 27 | MOV r2, #0 ; Original #0 28 | 29 | .org 0x020E07B8 ; Selected text 30 | MOV r2, #0 ; Original #0 31 | 32 | 33 | ;; Absolute Dialog Question Answers OAM position 34 | .thumb 35 | .org 0x020E08F8 36 | ADD R2, #0x7 + 3 ; With furigana 37 | 38 | .org 0x020E0886 39 | ADD R2, #0x14 + 3 ; Without furigana 40 | -------------------------------------------------------------------------------- /Assembly/textbox/script_top.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position and increase size of the textbox in map name and scenario 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ;; # MAP NAME # 19 | .arm 20 | .org 020C3174h 21 | MOV R0, #0x10 ; Width: Value * 8 [original #0xC] 22 | STR R0, [SP] 23 | MOV R0, #0x2 ; Height: Value * 8 [original #0x2] 24 | STR R0, [SP,#4] 25 | 26 | .org 020C31A8h 27 | MOV R0, #0x89000 ; X position: Value >> 12 [original #0x98000] 28 | STR R0, [R1,#0x14] 29 | MOV R0, #0x4000 ; Y position: Value >> 12 [original #0x4000] 30 | STR R0, [R1,#0x18] 31 | 32 | .org 020C4238h 33 | RSB R1, R1, #0x38 ; Textbox width / 2 [original #0x30] 34 | 35 | ;; # SCENARIO # 36 | .org 020C3104h 37 | MOV R0, #0x4000 ; X position: Value >> 12 [original #0x4000] 38 | STR R0, [R1,#0x14] 39 | MOV R0, #0xAB000 ; Y position: Value >> 12 [original #0xAA000] 40 | STR R0, [R1,#0x18] 41 | -------------------------------------------------------------------------------- /Assembly/textbox/shop_menu.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in the shop menu 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ;; Object name in top screen 19 | .arm 20 | .org 0x0207F240 21 | RSB R1, R0, #0x80 + 2 ; X pos, centered 22 | .org 0x0207F24C 23 | MOV R2, #0x2D ; Y pos, original 0x02C 24 | 25 | 26 | ;; Object description in top screen 27 | .org 0x0207F32C 28 | MOV R1, #0x66 - 6 ; X pos 29 | MOV R2, #0x42 ; Y pos 30 | 31 | 32 | ;; Object effect in top screen 33 | .org 0x0207F548 34 | MOV R1, #0x68 - 8 ; X pos 35 | MOV R2, #0x9C ; Y pos 36 | 37 | ;; Slot color in top screen 38 | .arm 39 | .org 0x0207BD08 40 | MOV R1, #0x9C ; X pos, original 0xA2 41 | 42 | 43 | ;; Buy coins number 44 | .arm 45 | .org 0x0207F594 46 | RSB R1, R0, #0x49 ; Right aligned, original 0x45 47 | 48 | ;; Sell coins number 49 | .org 0x0207F5E8 50 | RSB R1, R0, #0x49 ; Right aligned, original 0x45 51 | -------------------------------------------------------------------------------- /Assembly/textbox/subtitles.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox in subtitles 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ;; The game creates a MAP image for subtitles that shift using the BG1VOFS 19 | ;; register from the Engine A. 20 | 21 | .arm 22 | .org 0x0207D89C 23 | MOV R1, #0x1640000 ; Original 0x1600000 24 | -------------------------------------------------------------------------------- /Assembly/textbox/wifi_news.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Align the position of the textbox magic news menu. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | .arm 19 | 20 | ; # Title news (top screen) 21 | .org 0x0209F574 22 | RSB R1, R0, #0x80 - 1 ; X pos (centered) 23 | ADD R0, R9, #0x68 24 | MOV R2, #0x21 ; Y pos 25 | 26 | 27 | ; # Body news 28 | .org 0x0209F5A8 29 | MOV R1, #0x3C - 36 ; X pos 30 | MOV R2, #0x40 ; Y pos 31 | 32 | 33 | ; # Title date 34 | .org 0x0209F5F8 35 | MOV R7, #0xA ; Y pos for the three numbers 36 | 37 | ; Year 38 | .org 0x0209F604 39 | MOV R1, #0xCD + 5 ; X pos 40 | 41 | ; Month 42 | .org 0x0209F62C 43 | MOV R1, #0xE1 + 5 ; X pos 44 | 45 | ; Day 46 | .org 0x0209F658 47 | MOV R1, #0xED + 5 ; X pos 48 | 49 | ; # Date again but just after download 50 | ; Year 51 | .org 0x0209EEAC 52 | MOV R1, #0xCD + 5 ; X pos 53 | 54 | ; Month 55 | .org 0x0209EED4 56 | MOV R1, #0xE1 + 5 ; X pos 57 | 58 | ; Day 59 | .org 0x0209EF00 60 | MOV R1, #0xED + 5 ; X pos 61 | 62 | 63 | ; # Title news (bottom screen) 64 | .org 0x0209F710 65 | MOV R2, #0x16 ; Y separation 66 | 67 | .org 0x0209F728 68 | MOV R1, #0x35 ; X pos 69 | ADD R2, R2, #0x1C ; Y base 70 | -------------------------------------------------------------------------------- /Assembly/textbox/wifi_objects.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Fix the position of the textbox in the DLC. 3 | ;; Copyright 2015 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ; # Recipes item number 19 | .org 0x020A0270 20 | MOV R1, #0x28 ; X pos 21 | ADD R0, R4, #0x68 22 | MOV R2, #0x28 - 2 ; Y pos, originally R1 23 | 24 | 25 | ; # Recipes needed objects quantity 26 | .org 0x020A03B8 27 | MOV R1, #0xB5 + 6 ; X pos 28 | 29 | 30 | ; # Slot color 31 | .org 0x020A2F50 32 | MOV R1, #162 - 16; ; X pos 33 | -------------------------------------------------------------------------------- /Assembly/textures/number_small_changedTime.asm: -------------------------------------------------------------------------------- 1 | ;; Modify the subimages position of the texture battles images. 2 | ;; Numbers for the changed time box. 3 | ; 4 | ; Arguments of v3d_setSubImage function: 5 | ; + R0: Sprite struct 6 | ; + R1: Frame index 7 | ; + R2: Layer index 8 | ; + R3: X Start 9 | ; + SP+00: Y Start 10 | ; + SP+04: X End 11 | ; + SP+08: Y End 12 | ; + SP+0C: X Output 13 | ; + SP+10: Y Output 14 | ; + SP+14: Width 15 | ; + SP+18: Height 16 | ; + SP+1C: Palette index 17 | 18 | @Ystart equ 0x00 19 | @Xend equ 0x04 20 | @Yend equ 0x08 21 | @Xout equ 0x0C 22 | @Yout equ 0x10 23 | @Width equ 0x14 24 | @Height equ 0x18 25 | @Palette equ 0x1C 26 | @v3d_setSubImage equ 0x020FCD7C 27 | 28 | .arm 29 | 30 | ; # Common constants 31 | .org 0x0209F7C8 32 | MOV R8, 0xFFFFFFFC 33 | MOV R9, #0 34 | SUB R7, R8, #2 35 | MOV R11, #1 36 | ADD R4, R10, R0,LSL#2 37 | 38 | ; # Small numbers 39 | @smallNumbers: 40 | CMP R9, #5 41 | BCS @smallNumbers_row2 42 | MUL R0, R9, R5 43 | MOV R0, R0,LSL#16 44 | MOV R3, #26 45 | MOV R0, R0,ASR#16 46 | MOV R1, #34 47 | ADD R2, R9, #1 48 | B @smallNumbers_set 49 | 50 | @smallNumbers_row2: 51 | SUB R0, R9, #5 52 | MUL R1, R0, R5 53 | MOV R0, R1,LSL#16 54 | MOV R3, #35 55 | MOV R0, R0,ASR#16 56 | MOV R1, #43 57 | SUB R2, R9, #4 58 | 59 | @smallNumbers_set: 60 | MUL R12, R2, R5 61 | MOV R2, R12,LSL#16 62 | MOV R2, R2,ASR#16 63 | STMEA SP, {R0-R2} 64 | STR R8, [SP,@Xout] 65 | STR R7, [SP,@Yout] 66 | STR R6, [SP,@Width] 67 | STR R5, [SP,@Height] 68 | STR R11, [SP,@Palette] 69 | LDR R0, [R4,#0x30] 70 | MOV R1, R9 71 | ADD R0, R0, #0x14C 72 | MOV R2, #0 73 | BL @v3d_setSubImage 74 | 75 | ; Iterate over the 10 digits 76 | ADD R0, R9, #1 77 | AND R9, R0, #0xFF 78 | CMP R9, #10 79 | BCC @smallNumbers 80 | -------------------------------------------------------------------------------- /Assembly/textures/number_small_skills.asm: -------------------------------------------------------------------------------- 1 | ;; Modify the subimages position of the texture battles images. 2 | ; 3 | ; Arguments of v3d_setSubImage function: 4 | ; + R0: Sprite struct 5 | ; + R1: Frame index 6 | ; + R2: Layer index 7 | ; + R3: X Start 8 | ; + SP+00: Y Start 9 | ; + SP+04: X End 10 | ; + SP+08: Y End 11 | ; + SP+0C: X Output 12 | ; + SP+10: Y Output 13 | ; + SP+14: Width 14 | ; + SP+18: Height 15 | ; + SP+1C: Palette index 16 | 17 | @Ystart equ 0x00 18 | @Xend equ 0x04 19 | @Yend equ 0x08 20 | @Xout equ 0x0C 21 | @Yout equ 0x10 22 | @Width equ 0x14 23 | @Height equ 0x18 24 | @Palette equ 0x1C 25 | @v3d_setSubImage equ 0x020FCD7C 26 | 27 | .arm 28 | 29 | .org 0x020AD9D8 30 | CMP R9, #5 31 | BCS @row2 32 | 33 | ; # Numbers of the first row 34 | MUL R0, R9, R4 35 | MOV R0, R0,LSL#16 36 | MOV R6, R0,ASR#16 37 | MOV R5, #26 38 | MOV R7, #34 39 | ADD R0, R9, #1 40 | B @setNumber 41 | 42 | @row2: 43 | ; # Numbers of the second row 44 | SUB R0, R9, #5 45 | MUL R1, R0, R4 46 | MOV R0, R1,LSL#16 47 | MOV R6, R0,ASR#16 48 | MOV R5, #35 49 | MOV R7, #43 50 | SUB R0, R9, #4 51 | 52 | @setNumber: 53 | ; # Set it 54 | MUL R1, R0, R4 55 | MOV R0, R1,LSL#16 56 | MOV R8, R0,ASR#16 57 | STMEA SP, {R6-R8} 58 | LDR R0, [SP,0x20] 59 | STR R11, [SP,@XOut] 60 | STR R0, [SP,@YOut] 61 | MOV R0, #8 62 | STR R0, [SP,@Width] 63 | STR R4, [SP,@Height] 64 | MOV R0, #1 65 | STR R0, [SP,@Palette] 66 | LDR R0, [R10,#0x50] 67 | MOV R1, R9 68 | ADD R0, R0, #0x14C 69 | MOV R2, #0 70 | MOV R3, R5 71 | BL @v3d_setSubImage 72 | 73 | ; # Set again into another place 74 | STMEA SP, {R6-R8} 75 | LDR R0, [SP,0x20] 76 | STR R11, [SP,@XOut] 77 | STR R0, [SP,@YOut] 78 | MOV R0, #8 79 | STR R0, [SP,@Width] 80 | STR R4, [SP,@Height] 81 | MOV R0, #1 82 | STR R0, [SP,@Palette] 83 | LDR R0, [R10,#0x54] 84 | MOV R3, R5 85 | MOV R1, R9 86 | ADD R0, R0, #0x14C 87 | MOV R2, #0 88 | BL @v3d_setSubImage 89 | 90 | ; # Loop condition 91 | ADD R0, R9, #1 92 | AND R9, R0, #0xFF 93 | CMP R9, #10 94 | ; Loop jump 95 | -------------------------------------------------------------------------------- /Assembly/textures/paramWindow_box.asm: -------------------------------------------------------------------------------- 1 | ;; Modify the subimages position of the texture battles images. 2 | ; 3 | ; Arguments of v3d_setSubImage function: 4 | ; + R0: Sprite struct 5 | ; + R1: Frame index 6 | ; + R2: Layer index 7 | ; + R3: X Start 8 | ; + SP+00: Y Start 9 | ; + SP+04: X End 10 | ; + SP+08: Y End 11 | ; + SP+0C: X Output 12 | ; + SP+10: Y Output 13 | ; + SP+14: Width 14 | ; + SP+18: Height 15 | ; + SP+1C: Palette index 16 | 17 | @Ystart equ -0x48 18 | @Xend equ -0x44 19 | @Yend equ -0x40 20 | @Xout equ -0x3C 21 | @Yout equ -0x38 22 | @Width equ -0x34 23 | @Height equ -0x30 24 | @Palette equ -0x2C 25 | @v3d_setSubImage equ 0x020FCD7C 26 | 27 | .arm 28 | 29 | ; # Common constant 30 | .org 0x020A8A94 31 | MOV R6, 0xFFFFFFF8 32 | MOV R9, #0 33 | SUB R5, R6, #1 34 | MOV R8, #34 35 | MOV R7, #94 36 | MOV R11, #52 37 | MOV R4, #77 38 | 39 | ; # Big Down Arrow (i/0): [77, 34] -> [94, 52] 40 | @arrow: 41 | STR R8, [SP,#0x48+@Ystart] 42 | STMFA SP, {R7,R11} 43 | STR R6, [SP,#0x48+@Xout] 44 | ADD R1, R9, #1 45 | STR R5, [SP,#0x48+@Yout] 46 | MOV R0, #17 47 | STR R0, [SP,#0x48+@Width] 48 | MOV R0, #18 49 | MOV R1, R1,LSL#16 50 | STR R0, [SP,#0x48+@Height] 51 | MOV R0, R1,ASR#16 52 | STR R0, [SP,#0x48+@Palette] 53 | LDR R0, [R10,#0x2F4] 54 | MOV R1, R9 55 | MOV R2, #0 56 | ADD R0, R0, #0x128 57 | MOV R3, R4 58 | BL @v3d_setSubImage 59 | 60 | ADD R0, R9, #1 61 | AND R9, R0, #0xFF 62 | CMP R9, #4 63 | BCC @arrow 64 | 65 | ; # Big empty box (0/0): [0, 16] -> [77, 58] 66 | .org 0x020A8B1C 67 | MOV R0, #16 68 | STMEA SP, {R0,R4} 69 | MOV R1, #58 70 | STR R1, [SP,#0x48+@Yend] 71 | SUB R0, R1, #96 72 | STR R0, [SP,#0x48+@Xout] 73 | SUB R0, R1, #79 74 | STR R0, [SP,#0x48+@Yout] 75 | MOV R1, #0 76 | STR R4, [SP,#0x48+@Width] 77 | MOV R0, #42 78 | STR R0, [SP,#0x48+@Height] 79 | MOV R0, #7 80 | STR R0, [SP,#0x48+@Palette] 81 | LDR R0, [R10,#0x2F8] 82 | MOV R2, R1 83 | MOV R3, R1 84 | ADD R0, R0, #0x128 85 | BL @v3d_setSubImage 86 | -------------------------------------------------------------------------------- /Assembly/textures/paramWindow_changedTime.asm: -------------------------------------------------------------------------------- 1 | ;; Modify the subimages position of the texture battles images. 2 | ; 3 | ; Arguments of v3d_setSubImage function: 4 | ; + R0: Sprite struct 5 | ; + R1: Frame index 6 | ; + R2: Layer index 7 | ; + R3: X Start 8 | ; + SP+00: Y Start 9 | ; + SP+04: X End 10 | ; + SP+08: Y End 11 | ; + SP+0C: X Output 12 | ; + SP+10: Y Output 13 | ; + SP+14: Width 14 | ; + SP+18: Height 15 | ; + SP+1C: Palette index 16 | 17 | @Ystart equ 0x00 18 | @Xend equ 0x04 19 | @Yend equ 0x08 20 | @Xout equ 0x0C 21 | @Yout equ 0x10 22 | @Width equ 0x14 23 | @Height equ 0x18 24 | @Palette equ 0x1C 25 | @v3d_setSubImage equ 0x020FCD7C 26 | 27 | .arm 28 | 29 | ; # Changed times box (0/0): [78, 81] -> [127, 103] 30 | .org 0x0209F5D4 31 | MOV R0, #81 32 | STR R0, [SP,@Ystart] 33 | MOV R0, #127 34 | STR R0, [SP,@Xend] 35 | MOV R1, #103 36 | STR R1, [SP,@Yend] 37 | SUB R0, R1, #127 38 | STR R0, [SP,@Xout] 39 | SUB R0, R1, #114 40 | STR R0, [SP,@Yout] 41 | MOV R0, #49 42 | STR R0, [SP,@Width] 43 | MOV R0, #22 44 | STR R0, [SP,@Height] 45 | MOV R0, #15 46 | STR R0, [SP,@Palette] 47 | LDR R0, [R10,#0x2C] 48 | MOV R1, R9 49 | ADD R0, R0, #0x128 50 | MOV R2, R9 51 | MOV R3, #78 52 | BL @v3d_setSubImage 53 | -------------------------------------------------------------------------------- /Assembly/textures/paramWindow_noEffect.asm: -------------------------------------------------------------------------------- 1 | ;; Modify the subimages position of the texture battles images. 2 | ; 3 | ; Arguments of v3d_setSubImage function: 4 | ; + R0: Sprite struct 5 | ; + R1: Frame index 6 | ; + R2: Layer index 7 | ; + R3: X Start 8 | ; + SP+00: Y Start 9 | ; + SP+04: X End 10 | ; + SP+08: Y End 11 | ; + SP+0C: X Output 12 | ; + SP+10: Y Output 13 | ; + SP+14: Width 14 | ; + SP+18: Height 15 | ; + SP+1C: Palette index 16 | 17 | @Ystart equ 0x00 18 | @Xend equ 0x04 19 | @Yend equ 0x08 20 | @Xout equ 0x0C 21 | @Yout equ 0x10 22 | @Width equ 0x14 23 | @Height equ 0x18 24 | @Palette equ 0x1C 25 | @v3d_setSubImage equ 0x020FCD7C 26 | 27 | .arm 28 | 29 | .org 0x0209A4A8 30 | ; # Without effect (0/0): [0, 104 + 1] -> [56 + 3, 118 + 1] 31 | MOV R1, #118 + 1 32 | MOV R2, #56 + 3 33 | ADD r0, r11, #1 34 | STMIA sp, {r0,r2} 35 | STR R1, [SP,@YEnd] 36 | SUB R0, R1, #146 + 1 37 | STR R0, [SP,@XOut] 38 | SUB R8, R1, #125 + 1 39 | STR R8, [SP,@YOut] 40 | STR R2, [SP,@Width] 41 | MOV R0, #14 42 | STR R0, [SP,@Height] 43 | MOV R0, #7 44 | STR R0, [SP,@Palette] 45 | LDR R0, [R9,#0x1B4] 46 | MOV R1, R4 47 | ADD R0, R0, #0x128 48 | MOV R2, R4 49 | MOV R3, R4 50 | BL @v3d_setSubImage 51 | -------------------------------------------------------------------------------- /Assembly/textures/paramWindow_superSkill.asm: -------------------------------------------------------------------------------- 1 | ;; Modify the subimages position of the texture battles images. 2 | ; 3 | ; Arguments of v3d_setSubImage function: 4 | ; + R0: Sprite struct 5 | ; + R1: Frame index 6 | ; + R2: Layer index 7 | ; + R3: X Start 8 | ; + SP+00: Y Start 9 | ; + SP+04: X End 10 | ; + SP+08: Y End 11 | ; + SP+0C: X Output 12 | ; + SP+10: Y Output 13 | ; + SP+14: Width 14 | ; + SP+18: Height 15 | ; + SP+1C: Palette index 16 | 17 | @Ystart equ -0x38 18 | @Xend equ -0x34 19 | @Yend equ -0x30 20 | @Xout equ -0x2C 21 | @Yout equ -0x28 22 | @Width equ -0x24 23 | @Height equ -0x20 24 | @Palette equ -0x1C 25 | 26 | .thumb 27 | 28 | ; # Super Skill (0/0): [56 + 4, 104] -> [112 + 4, 128] 29 | .org 0x02084050 30 | MOV R0, #104 31 | STR R0, [SP,#0x38+@Ystart] 32 | MOV R0, #112 + 4 33 | STR R0, [SP,#0x38+@Xend] 34 | MOV R1, #128 35 | STR R1, [SP,#0x38+@Yend] 36 | SUB r1, #156 37 | STR r1, [SP,#0x38+@Xout] 38 | ADD r1, #16 39 | STR R1, [SP,#0x38+@Yout] 40 | MOV r3, #56 + 4 41 | MOV r0, #56 42 | STR r0, [SP,#0x38+@Width] 43 | MOV R0, #24 44 | STR R0, [SP,#0x38+@Height] 45 | MOV R0, #14 46 | STR R0, [SP,#0x38+@Palette] 47 | MOV R0, #0x38 48 | LDR R1, [R5,R4] 49 | ADD R0, #0xF0 50 | ADD R0, R1, R0 51 | MOV R1, #0 52 | MOV R2, #0 53 | -------------------------------------------------------------------------------- /Assembly/textures/paramWindow_upArrow.asm: -------------------------------------------------------------------------------- 1 | ;; Modify the subimages position of the texture battles images. 2 | ; 3 | ; Arguments of v3d_setSubImage function: 4 | ; + R0: Sprite struct 5 | ; + R1: Frame index 6 | ; + R2: Layer index 7 | ; + R3: X Start 8 | ; + SP+00: Y Start 9 | ; + SP+04: X End 10 | ; + SP+08: Y End 11 | ; + SP+0C: X Output 12 | ; + SP+10: Y Output 13 | ; + SP+14: Width 14 | ; + SP+18: Height 15 | ; + SP+1C: Palette index 16 | 17 | @Ystart equ 0x00 18 | @Xend equ 0x04 19 | @Yend equ 0x08 20 | @Xout equ 0x0C 21 | @Yout equ 0x10 22 | @Width equ 0x14 23 | @Height equ 0x18 24 | @Palette equ 0x1C 25 | @v3d_setSubImage equ 0x020FCD7C 26 | 27 | .arm 28 | 29 | .org 0x020ADB70 30 | ; # Up (in game down) arrow to select target (0/0): [95, 0] -> [112, 17] 31 | STR R4, [SP,@YStart] 32 | MOV R0, #112 33 | STR R0, [SP,@XEnd] 34 | MOV R1, #17 35 | STR R1, [SP,@YEnd] 36 | SUB R0, R1, #25 37 | STR R0, [SP,@XOut] 38 | STR R0, [SP,@YOut] 39 | STR R1, [SP,@Width] 40 | STR R1, [SP,@Height] 41 | MOV R0, #10 42 | STR R0, [SP,@Palette] 43 | LDR R0, [R6,#0x60] 44 | MOV R1, R4 45 | ADD R0, R0, #0x128 46 | MOV R2, R4 47 | MOV R3, #95 48 | BL @v3d_setSubImage 49 | 50 | .org 0x020ADC5C 51 | ; # Up (in game down) arrow to select target (0/0): [95, 0] -> [112, 17] 52 | STR R4, [SP,@YStart] 53 | MOV R0, #112 54 | STR R0, [SP,@XEnd] 55 | MOV R1, #17 56 | STR R1, [SP,@YEnd] 57 | SUB R0, R1, #25 58 | STR R0, [SP,@XOut] 59 | STR R0, [SP,@YOut] 60 | STR R1, [SP,@Width] 61 | STR R1, [SP,@Height] 62 | MOV R0, #11 63 | STR R0, [SP,@Palette] 64 | LDR R0, [R6,#0x64] 65 | MOV R1, R4 66 | ADD R0, R0, #0x128 67 | MOV R2, R4 68 | MOV R3, #95 69 | BL @v3d_setSubImage 70 | -------------------------------------------------------------------------------- /Assembly/textures/playerNames.asm: -------------------------------------------------------------------------------- 1 | ;;----------------------------------------------------------------------------;; 2 | ;; Fix the length of the player names (PlayerParams). 3 | ;; Copyright 2014 Benito Palacios (aka pleonex) 4 | ;; 5 | ;; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ;; you may not use this file except in compliance with the License. 7 | ;; You may obtain a copy of the License at 8 | ;; 9 | ;; http://www.apache.org/licenses/LICENSE-2.0 10 | ;; 11 | ;; Unless required by applicable law or agreed to in writing, software 12 | ;; distributed under the License is distributed on an "AS IS" BASIS, 13 | ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ;; See the License for the specific language governing permissions and 15 | ;; limitations under the License. 16 | ;;----------------------------------------------------------------------------;; 17 | 18 | ;; This is used to calculate the position of the small arrows (up or down) 19 | ;; when some stats is increased or decreased. For familiars it calculates 20 | ;; automatically. The X position of the arrow will be 21 | ;; X_arrow = X_name + K*10 + 5 22 | ;; Where K is the following constants for each player. 23 | 24 | .arm 25 | .org 0x02108B84 26 | ; Oliver 27 | MOV R0, #3 28 | BX LR 29 | 30 | ; Maru 31 | MOV R0, #3 32 | BX LR 33 | 34 | ; Jairo 35 | MOV R0, #3 36 | BX LR 37 | 38 | ; Shizuku 39 | MOV R0, #4 40 | BX LR 41 | -------------------------------------------------------------------------------- /Programs/Dielsi/Dielsi.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 1.0.1 5 | NinokuniTranslations 6 | pleonex 7 | None 8 | Copyright (C) 2020 pleonex 9 | 10 | Exe 11 | net8.0 12 | win-x64;linux-x64;osx-x64 13 | 14 | true 15 | true 16 | true 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Programs/Dielsi/Dielsi.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26124.0 5 | MinimumVisualStudioVersion = 15.0.26124.0 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dielsi", "Dielsi.csproj", "{612D0F77-8D2C-4FEA-9E95-BD8C229A5780}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Debug|x64 = Debug|x64 12 | Debug|x86 = Debug|x86 13 | Release|Any CPU = Release|Any CPU 14 | Release|x64 = Release|x64 15 | Release|x86 = Release|x86 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 21 | {612D0F77-8D2C-4FEA-9E95-BD8C229A5780}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 22 | {612D0F77-8D2C-4FEA-9E95-BD8C229A5780}.Debug|Any CPU.Build.0 = Debug|Any CPU 23 | {612D0F77-8D2C-4FEA-9E95-BD8C229A5780}.Debug|x64.ActiveCfg = Debug|Any CPU 24 | {612D0F77-8D2C-4FEA-9E95-BD8C229A5780}.Debug|x64.Build.0 = Debug|Any CPU 25 | {612D0F77-8D2C-4FEA-9E95-BD8C229A5780}.Debug|x86.ActiveCfg = Debug|Any CPU 26 | {612D0F77-8D2C-4FEA-9E95-BD8C229A5780}.Debug|x86.Build.0 = Debug|Any CPU 27 | {612D0F77-8D2C-4FEA-9E95-BD8C229A5780}.Release|Any CPU.ActiveCfg = Release|Any CPU 28 | {612D0F77-8D2C-4FEA-9E95-BD8C229A5780}.Release|Any CPU.Build.0 = Release|Any CPU 29 | {612D0F77-8D2C-4FEA-9E95-BD8C229A5780}.Release|x64.ActiveCfg = Release|Any CPU 30 | {612D0F77-8D2C-4FEA-9E95-BD8C229A5780}.Release|x64.Build.0 = Release|Any CPU 31 | {612D0F77-8D2C-4FEA-9E95-BD8C229A5780}.Release|x86.ActiveCfg = Release|Any CPU 32 | {612D0F77-8D2C-4FEA-9E95-BD8C229A5780}.Release|x86.Build.0 = Release|Any CPU 33 | EndGlobalSection 34 | EndGlobal 35 | -------------------------------------------------------------------------------- /Programs/Dielsi/KeyedHash.cs: -------------------------------------------------------------------------------- 1 | namespace Dielsi 2 | { 3 | using System; 4 | using System.Security.Cryptography; 5 | using Yarhl.IO; 6 | 7 | public static class KeyedHash 8 | { 9 | public static int DigestSize => 0x14; // 160 bits 10 | 11 | public static byte[] GetHash(DataStream stream, long keyOffset, byte[] key) 12 | { 13 | if (stream == null) 14 | throw new ArgumentNullException(nameof(stream)); 15 | 16 | // Write key 17 | stream.Position = keyOffset; 18 | stream.Write(key, 0, key.Length); 19 | 20 | // Generate hash 21 | byte[] hash = GenerateHash(stream); 22 | 23 | // Remove the key 24 | stream.Position = keyOffset; 25 | for (int i = 0; i < key.Length; i++) { 26 | stream.WriteByte(0x00); 27 | } 28 | 29 | return hash; 30 | } 31 | 32 | static byte[] GenerateHash(DataStream stream) 33 | { 34 | stream.Position = 0; 35 | byte[] data = new byte[stream.Length]; 36 | stream.Read(data, 0, data.Length); 37 | 38 | using var sha1 = SHA1.Create(); 39 | return sha1.ComputeHash(data); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Programs/Dielsi/Save.cs: -------------------------------------------------------------------------------- 1 | namespace Dielsi 2 | { 3 | using System; 4 | using Yarhl.IO; 5 | 6 | public class Save 7 | { 8 | // It's a bitset, one bit set to enable each DLC item. 9 | const uint DlcOffset = 0xF32F; 10 | const uint DlcSize = 0x10; 11 | 12 | public Save(DataStream stream) 13 | { 14 | Stream = stream ?? throw new ArgumentNullException(nameof(stream)); 15 | } 16 | 17 | public DataStream Stream { get; } 18 | 19 | public void EnableDlcs() 20 | { 21 | Stream.Position = DlcOffset; 22 | for (int i = 0; i < DlcSize; i++) { 23 | Stream.WriteByte(0xFF); 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Programs/Dielsi/nuget.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Programs/Downlitor/Downlitor.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Downlitor", "Downlitor\Downlitor.csproj", "{6D7A0B08-6214-4197-AA7B-EA14F80C3709}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {6D7A0B08-6214-4197-AA7B-EA14F80C3709}.Debug|x86.ActiveCfg = Debug|x86 13 | {6D7A0B08-6214-4197-AA7B-EA14F80C3709}.Debug|x86.Build.0 = Debug|x86 14 | {6D7A0B08-6214-4197-AA7B-EA14F80C3709}.Release|x86.ActiveCfg = Release|x86 15 | {6D7A0B08-6214-4197-AA7B-EA14F80C3709}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | EndGlobal 18 | -------------------------------------------------------------------------------- /Programs/Downlitor/Downlitor/AlchemyInfoControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Data; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | 10 | namespace Downlitor 11 | { 12 | public partial class AlchemyInfoControl : UserControl 13 | { 14 | public AlchemyInfoControl(DlcItem dlc) 15 | { 16 | InitializeComponent(); 17 | comboRecipe.Format += delegate(object sender, ListControlConvertEventArgs e) { 18 | var recipe = (AlchemyRecipe)e.ListItem; 19 | if (recipe.Name != null) 20 | e.Value = recipe.Name; 21 | else 22 | e.Value = "Invalid"; 23 | }; 24 | 25 | var manager = AlchemyManager.Instance; 26 | for (int i = 0; i < manager.NumEntries; i++) 27 | comboRecipe.Items.Add(manager[i]); 28 | 29 | comboRecipe.AutoCompleteMode = AutoCompleteMode.Suggest; 30 | comboRecipe.AutoCompleteSource = AutoCompleteSource.ListItems; 31 | comboRecipe.SelectedIndex = dlc.Index; 32 | UpdateIngredients(); 33 | 34 | comboRecipe.SelectedIndexChanged += delegate { 35 | if ((string)comboRecipe.SelectedItem == "Invalid") 36 | return; 37 | 38 | dlc.Index = (ushort)comboRecipe.SelectedIndex; 39 | UpdateIngredients(); 40 | }; 41 | } 42 | 43 | private void UpdateIngredients() 44 | { 45 | listIngredient.Items.Clear(); 46 | 47 | var recipe = (AlchemyRecipe)comboRecipe.SelectedItem; 48 | listIngredient.Items.Add(recipe.Ingredient1); 49 | 50 | if (recipe.Ingredient2.Quantity > 0 && recipe.Ingredient2.Quantity != 0xFFFF) 51 | listIngredient.Items.Add(recipe.Ingredient2); 52 | 53 | if (recipe.Ingredient3.Quantity > 0 && recipe.Ingredient3.Quantity != 0xFFFF) 54 | listIngredient.Items.Add(recipe.Ingredient3); 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Programs/Downlitor/Downlitor/AlchemyRecipe.cs: -------------------------------------------------------------------------------- 1 | // 2 | // AlchemyRecipe.cs 3 | // 4 | // Author: 5 | // Benito Palacios 6 | // 7 | // Copyright (c) 2015 Benito Palacios 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | using System.Text; 23 | 24 | namespace Downlitor 25 | { 26 | public struct AlchemyRecipe 27 | { 28 | public AlchemyRecipe(string name, Ingredient ingredient1, Ingredient ingredient2, 29 | Ingredient ingredient3) : this() 30 | { 31 | Name = name; 32 | Ingredient1 = ingredient1; 33 | Ingredient2 = ingredient2; 34 | Ingredient3 = ingredient3; 35 | } 36 | 37 | public string Name { 38 | get; 39 | private set; 40 | } 41 | 42 | public Ingredient Ingredient1 { 43 | get; 44 | private set; 45 | } 46 | 47 | public Ingredient Ingredient2 { 48 | get; 49 | private set; 50 | } 51 | 52 | public Ingredient Ingredient3 { 53 | get; 54 | private set; 55 | } 56 | 57 | public override string ToString() 58 | { 59 | var output = new StringBuilder(); 60 | output.AppendFormat("Recipe {0} = {1}", Name, Ingredient1); 61 | 62 | if (Ingredient2.Quantity > 0 && Ingredient2.Quantity != 0xFFFF) 63 | output.AppendFormat(" + {0}", Ingredient2); 64 | 65 | if (Ingredient3.Quantity > 0 && Ingredient3.Quantity != 0xFFFF) 66 | output.AppendFormat(" + {0}", Ingredient3); 67 | 68 | return output.ToString(); 69 | } 70 | 71 | } 72 | } 73 | 74 | -------------------------------------------------------------------------------- /Programs/Downlitor/Downlitor/DlcItem.cs: -------------------------------------------------------------------------------- 1 | // 2 | // DlcItem.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | 23 | namespace Downlitor 24 | { 25 | public class DlcItem 26 | { 27 | public DlcType Tab { get; set; } 28 | public ushort Index { get; set; } 29 | public string Name { get; set; } 30 | 31 | public override string ToString() 32 | { 33 | return string.Format("{0} - {1}", Tab, Name); 34 | } 35 | } 36 | } 37 | 38 | -------------------------------------------------------------------------------- /Programs/Downlitor/Downlitor/DlcType.cs: -------------------------------------------------------------------------------- 1 | // 2 | // DlcType.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | 23 | namespace Downlitor 24 | { 25 | public enum DlcType : ushort { 26 | Empty = UInt16.MaxValue, 27 | Subquest = 1, 28 | Item = 2, 29 | Alchemy = 3, 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /Programs/Downlitor/Downlitor/Ingredient.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Ingredient.cs 3 | // 4 | // Author: 5 | // Benito Palacios 6 | // 7 | // Copyright (c) 2015 Benito Palacios 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | 23 | namespace Downlitor 24 | { 25 | public struct Ingredient 26 | { 27 | public Ingredient(string name, int quantity) 28 | : this() 29 | { 30 | Name = name; 31 | Quantity = quantity; 32 | } 33 | 34 | public Ingredient(int itemId, int quantity) 35 | : this() 36 | { 37 | Name = ItemManager.Instance.GetItem(itemId); 38 | Quantity = quantity; 39 | } 40 | 41 | public string Name { 42 | get; 43 | private set; 44 | } 45 | 46 | public int Quantity { 47 | get; 48 | private set; 49 | } 50 | 51 | public override string ToString() 52 | { 53 | return string.Format("{0} (x{1})", Name, Quantity); 54 | } 55 | } 56 | } 57 | 58 | -------------------------------------------------------------------------------- /Programs/Downlitor/Downlitor/ItemInfoControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Data; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | 10 | namespace Downlitor 11 | { 12 | public partial class ItemInfoControl : UserControl 13 | { 14 | public ItemInfoControl(DlcItem dlc) 15 | { 16 | InitializeComponent(); 17 | 18 | var manager = ItemManager.Instance; 19 | for (int i = 0; i < ItemManager.NumEntries; i++) { 20 | var item = manager.GetItem(i); 21 | comboItems.Items.Add((item == null) ? "Invalid" : item + " (" + i.ToString("D3") + ")"); 22 | } 23 | comboItems.SelectedIndex = dlc.Index; 24 | comboItems.AutoCompleteMode = AutoCompleteMode.Suggest; 25 | comboItems.AutoCompleteSource = AutoCompleteSource.ListItems; 26 | 27 | comboItems.SelectedIndexChanged += delegate { 28 | if ((string)comboItems.SelectedItem == "Invalid") 29 | return; 30 | 31 | dlc.Index = (ushort)comboItems.SelectedIndex; 32 | }; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Programs/Downlitor/Downlitor/Program.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Program.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | using System.Xml.Linq; 23 | using Libgame; 24 | 25 | namespace Downlitor 26 | { 27 | public static class Program 28 | { 29 | [STAThread] 30 | public static void Main(string[] args) 31 | { 32 | string xmlEdit = "Ninokuni español.xml"; 33 | var document = XDocument.Load(xmlEdit); 34 | Configuration.Initialize(document); 35 | 36 | if (args.Length > 0) { 37 | CommandLine(args); 38 | return; 39 | } 40 | 41 | MainWindow window = new MainWindow(); 42 | window.ShowDialog(); 43 | window.Dispose(); 44 | } 45 | 46 | private static void CommandLine(string[] args) 47 | { 48 | DlcBinaryFlags dlc; 49 | if ((args.Length == 2 || args.Length == 3) && args[0] == "-e") { 50 | dlc = new DlcBinaryFlags(); 51 | if (args.Length == 3) 52 | dlc = DlcBinaryFlags.FromDlc(args[1]); 53 | 54 | dlc.Export(args[2]); 55 | } else if (args.Length == 3 && args[0] == "-i") { 56 | dlc = DlcBinaryFlags.FromXml(args[1]); 57 | dlc.Write(args[2]); 58 | } 59 | } 60 | } 61 | } 62 | 63 | -------------------------------------------------------------------------------- /Programs/Downlitor/Downlitor/Rc4.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Program.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | using Libgame.IO; 23 | 24 | namespace Downlitor 25 | { 26 | public static class Rc4 27 | { 28 | public static void Run(DataStream input, byte[] key, DataStream output) 29 | { 30 | byte[] s = CreateArrayS(key); 31 | for (int i = 0, j = 0; input.Position < input.Length; ) { 32 | i = (i + 1) % 256; 33 | j = (j + s[i]) % 256; 34 | 35 | byte swap = s[i]; 36 | s[i] = s[j]; 37 | s[j] = swap; 38 | 39 | byte k = s[(s[i] + s[j]) % 256]; 40 | output.WriteByte((byte)(input.ReadByte() ^ k)); 41 | } 42 | } 43 | 44 | private static byte[] CreateArrayS(byte[] key) 45 | { 46 | byte[] s = new byte[256]; 47 | byte[] t = new byte[256]; 48 | 49 | for (int i = 0; i < 256; i++) { 50 | s[i] = (byte)i; 51 | t[i] = key[i % key.Length]; 52 | } 53 | 54 | for (int i = 0, j = 0; i < 256; i++) { 55 | j = (j + s[i] + t[i]) % 256; 56 | 57 | byte swap = s[i]; 58 | s[i] = s[j]; 59 | s[j] = swap; 60 | } 61 | 62 | return s; 63 | } 64 | } 65 | } 66 | 67 | -------------------------------------------------------------------------------- /Programs/Downlitor/Downlitor/SubquestInfoControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Data; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | 10 | namespace Downlitor 11 | { 12 | public partial class SubquestInfoControl : UserControl 13 | { 14 | public SubquestInfoControl(DlcItem dlc) 15 | { 16 | InitializeComponent(); 17 | 18 | var manager = SubquestManager.Instance; 19 | for (int i = 0; i < manager.NumEntries; i++) 20 | comboSubquest.Items.Add(manager.GetEntry(i)); 21 | comboSubquest.SelectedIndex = manager.GetIndex(dlc.Index); 22 | comboSubquest.AutoCompleteMode = AutoCompleteMode.Suggest; 23 | comboSubquest.AutoCompleteSource = AutoCompleteSource.ListItems; 24 | 25 | comboSubquest.SelectedIndexChanged += delegate { 26 | dlc.Index = (ushort)manager.GetNumber(comboSubquest.SelectedIndex); 27 | }; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NinoPatcher", "NinoPatcher\NinoPatcher.csproj", "{594749DD-608B-4065-B231-90990CEC800C}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {594749DD-608B-4065-B231-90990CEC800C}.Debug|x86.ActiveCfg = Debug|x86 13 | {594749DD-608B-4065-B231-90990CEC800C}.Debug|x86.Build.0 = Debug|x86 14 | {594749DD-608B-4065-B231-90990CEC800C}.Release|x86.ActiveCfg = Release|x86 15 | {594749DD-608B-4065-B231-90990CEC800C}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | EndGlobal 18 | -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/AnimationElement.cs: -------------------------------------------------------------------------------- 1 | // 2 | // AnimationElement.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | using System.Drawing; 23 | 24 | namespace NinoPatcher 25 | { 26 | public abstract class AnimationElement 27 | { 28 | protected AnimationElement(int delay, int duration, int steps, Point position) 29 | { 30 | Position = position; 31 | Delay = delay; 32 | Duration = duration; 33 | Steps = steps; 34 | CurrentStep = steps; 35 | } 36 | 37 | public int Delay { 38 | get; 39 | set; 40 | } 41 | 42 | public int Duration { 43 | get; 44 | set; 45 | } 46 | 47 | public Point Position { 48 | get; 49 | set; 50 | } 51 | 52 | public int CurrentStep { 53 | get; 54 | set; 55 | } 56 | 57 | public int Steps { 58 | get; 59 | private set; 60 | } 61 | 62 | public abstract void Update(); 63 | public abstract void Draw(Graphics g); 64 | } 65 | } 66 | 67 | -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/BackgroundImage.cs: -------------------------------------------------------------------------------- 1 | // 2 | // BackgroundImage.cs 3 | // 4 | // Author: 5 | // Benito Palacios 6 | // 7 | // Copyright (c) 2015 Benito Palacios 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | using System.Drawing; 23 | using System.Drawing.Imaging; 24 | 25 | namespace NinoPatcher 26 | { 27 | public class BackgroundImage : AnimationElement 28 | { 29 | private Image image; 30 | 31 | public BackgroundImage(int delay, int duration, int steps, Point position, Image image) 32 | : base(delay, duration, steps, position) 33 | { 34 | this.image = image; 35 | } 36 | 37 | public override void Update() 38 | { 39 | } 40 | 41 | public override void Draw(Graphics g) 42 | { 43 | // In Unix using DrawImage without ImageAttribute does only support pixels 44 | // with alpha value 0 or 255. It's a performance cost. 45 | ColorMatrix cm = new ColorMatrix(); 46 | cm.Matrix33 = 1.0f; 47 | 48 | ImageAttributes ia = new ImageAttributes(); 49 | ia.SetColorMatrix(cm); 50 | 51 | Rectangle outputRectangle = new Rectangle(Position, image.Size); 52 | g.DrawImage(image, outputRectangle, 0, 0, image.Width, image.Height, 53 | GraphicsUnit.Pixel, ia); 54 | } 55 | } 56 | } 57 | 58 | -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Crc16.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Crc16.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | using System.IO; 23 | 24 | namespace NinoPatcher 25 | { 26 | public static class Crc16 27 | { 28 | /// 29 | /// Calculates CRC16 from the stream. 30 | /// Code from "blz.c" (NDS Compressors) by CUE 31 | /// 32 | /// Data to calculate the checksum 33 | public static ushort Calculate(Stream data, uint length) 34 | { 35 | ushort crc; 36 | uint nbits; 37 | 38 | crc = 0xFFFF; 39 | while (length-- != 0) { 40 | crc ^= (byte)data.ReadByte(); 41 | nbits = 8; 42 | while (nbits-- != 0) { 43 | if ((crc & 1) != 0) { crc = (ushort)((crc >> 1) ^ 0xA001); } 44 | else crc = (ushort)(crc >> 1); 45 | } 46 | } 47 | 48 | return crc; 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/CreditsWindow.cs: -------------------------------------------------------------------------------- 1 | // 2 | // CreditsWindow.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | using System.Windows.Forms; 23 | using System.Reflection; 24 | using System.Drawing; 25 | 26 | namespace NinoPatcher 27 | { 28 | public class CreditsWindow : Form 29 | { 30 | public CreditsWindow() 31 | { 32 | InitializeComponents(); 33 | } 34 | 35 | private void InitializeComponents() 36 | { 37 | Text = "Créditos"; 38 | Width = 800; 39 | Height = 600; 40 | MaximizeBox = false; 41 | FormBorderStyle = FormBorderStyle.FixedDialog; 42 | StartPosition = FormStartPosition.CenterParent; 43 | BackgroundImage = ResourcesManager.GetImage("credits.png"); 44 | ShowInTaskbar = false; 45 | 46 | Button closeBtn = new Button(); 47 | closeBtn.Location = new Point(715, 548); 48 | closeBtn.AutoSize = true; 49 | closeBtn.Text = "Cerrar"; 50 | closeBtn.BackColor = SystemColors.Control; 51 | closeBtn.Click += delegate { this.Close(); }; 52 | Controls.Add(closeBtn); 53 | } 54 | } 55 | } 56 | 57 | -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/ErrorCode.cs: -------------------------------------------------------------------------------- 1 | // 2 | // ErrorCode.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | 23 | namespace NinoPatcher 24 | { 25 | public enum ErrorCode { 26 | Valid, 27 | InvalidPath, 28 | DoesNotExist, 29 | InvalidSize, 30 | IsReadOnly, 31 | InvalidChecksum, 32 | DoNothing, 33 | NotEnoughDiskSpace, 34 | UserCancel, 35 | OutputIsInputToo, 36 | UnknownError 37 | } 38 | 39 | public static class ErrorCodeExtension 40 | { 41 | public static bool IsValid(this ErrorCode error) 42 | { 43 | return error == ErrorCode.Valid; 44 | } 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/ImageButton.cs: -------------------------------------------------------------------------------- 1 | // 2 | // ImageButton.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | using System.Drawing; 23 | using System.Windows.Forms; 24 | 25 | namespace NinoPatcher 26 | { 27 | public class ImageButton : PictureBox 28 | { 29 | private Image defaultImage; 30 | 31 | public ImageButton() 32 | { 33 | BackColor = Color.Transparent; 34 | SizeMode = PictureBoxSizeMode.AutoSize; 35 | MouseDown += HandleMouseDown; 36 | MouseUp += HandleMouseUp; 37 | MouseLeave += HandleMouseLeave;; 38 | } 39 | 40 | public Image DefaultImage { 41 | get { return defaultImage; } 42 | set { 43 | defaultImage = value; 44 | if (Image == null) 45 | Image = DefaultImage; 46 | } 47 | } 48 | 49 | public Image PressedImage { 50 | get; 51 | set; 52 | } 53 | 54 | void HandleMouseUp(object sender, MouseEventArgs e) 55 | { 56 | Image = DefaultImage; 57 | } 58 | 59 | void HandleMouseDown(object sender, MouseEventArgs e) 60 | { 61 | Image = PressedImage; 62 | } 63 | 64 | void HandleMouseLeave(object sender, EventArgs e) 65 | { 66 | Image = DefaultImage; 67 | } 68 | } 69 | } 70 | 71 | -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Program.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Program.cs 3 | // 4 | // Author: 5 | // Benito Palacios 6 | // 7 | // Copyright (c) 2015 Benito Palacios 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | using System.Windows.Forms; 23 | 24 | namespace NinoPatcher 25 | { 26 | public static class Program 27 | { 28 | [STAThread] 29 | public static void Main(string[] args) 30 | { 31 | Application.EnableVisualStyles(); 32 | Application.SetCompatibleTextRenderingDefault(false); 33 | Application.Run(new MainWindow()); 34 | } 35 | } 36 | } 37 | 38 | -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // 2 | // AssemblyInfo.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System.Reflection; 22 | using System.Runtime.CompilerServices; 23 | 24 | // Information about this assembly is defined by the following attributes. 25 | // Change them to the values specific to your project. 26 | 27 | [assembly: AssemblyTitle("Ninokuni - El Mago de las Tinieblas")] 28 | [assembly: AssemblyDescription("Parcheador para la versión japonesa de Ninokuni DS")] 29 | [assembly: AssemblyConfiguration("Retail")] 30 | [assembly: AssemblyCompany("GradienWords")] 31 | [assembly: AssemblyProduct("NinoPatcher")] 32 | [assembly: AssemblyCopyright("GradienWords 2015")] 33 | [assembly: AssemblyTrademark("")] 34 | [assembly: AssemblyCulture("es-ES")] 35 | [assembly: AssemblyVersion("1.0.*")] 36 | -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Buttons/book_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Buttons/book_0.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Buttons/book_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Buttons/book_1.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Buttons/credits_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Buttons/credits_0.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Buttons/credits_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Buttons/credits_1.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Buttons/options_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Buttons/options_0.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Buttons/options_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Buttons/options_1.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Buttons/patch_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Buttons/patch_0.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Buttons/patch_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Buttons/patch_1.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_0.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_1.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_2.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_3.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_4.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_5.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Done/shizuku_happy_6.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Jabologo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Jabologo.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Loading/loading_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Loading/loading_0.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Loading/loading_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Loading/loading_1.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Loading/loading_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Loading/loading_2.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Loading/loading_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Loading/loading_3.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Loading/loading_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Loading/loading_4.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Loading/loading_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Loading/loading_5.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Termito/anime_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Termito/anime_0.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Termito/anime_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Termito/anime_1.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Termito/anime_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Termito/anime_2.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/Termito/anime_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/Termito/anime_3.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/credits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/credits.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/icon.ico -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/logonombre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/logonombre.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/oliver_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/oliver_info.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/shizuku_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/shizuku_error.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/skingold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/skingold.png -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/Resources/sound.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/NinoPatcher/NinoPatcher/Resources/sound.wav -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/ResourcesManager.cs: -------------------------------------------------------------------------------- 1 | // 2 | // ResourcesManager.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | using System.IO; 23 | using System.Reflection; 24 | using System.Drawing; 25 | 26 | namespace NinoPatcher 27 | { 28 | public static class ResourcesManager 29 | { 30 | private const string Prefix = "NinoPatcher.Resources."; 31 | private static readonly Assembly MyAssembly = Assembly.GetExecutingAssembly(); 32 | 33 | public static Stream GetStream(string name) 34 | { 35 | return MyAssembly.GetManifestResourceStream(Prefix + name); 36 | } 37 | 38 | public static Image GetImage(string name) 39 | { 40 | return Image.FromStream(GetStream(name)); 41 | } 42 | 43 | public static Icon GetIcon(string name) 44 | { 45 | return new Icon(GetStream(name)); 46 | } 47 | } 48 | } 49 | 50 | -------------------------------------------------------------------------------- /Programs/NinoPatcher/NinoPatcher/RomType.cs: -------------------------------------------------------------------------------- 1 | // 2 | // RomType.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | 23 | namespace NinoPatcher 24 | { 25 | public enum RomType : int { 26 | Invalid = -1, 27 | Clean = 0, 28 | CleanAp = 5, 29 | Translation = 1, 30 | TranslationAp = 2, 31 | TranslationBanner = 3, 32 | TranslationApBanner = 4 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /Programs/NinoTweet/NinoTweet.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NinoTweet", "NinoTweet\NinoTweet.csproj", "{8F852115-169A-4098-A771-ADD2957BBCF3}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "libgame", "libgame\libgame.csproj", "{47373F3F-6A6A-4B2A-B06E-971D9FBDB545}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x86 = Debug|x86 11 | Release|x86 = Release|x86 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {47373F3F-6A6A-4B2A-B06E-971D9FBDB545}.Debug|x86.ActiveCfg = Debug|Any CPU 15 | {47373F3F-6A6A-4B2A-B06E-971D9FBDB545}.Debug|x86.Build.0 = Debug|Any CPU 16 | {47373F3F-6A6A-4B2A-B06E-971D9FBDB545}.Release|x86.ActiveCfg = Release|Any CPU 17 | {47373F3F-6A6A-4B2A-B06E-971D9FBDB545}.Release|x86.Build.0 = Release|Any CPU 18 | {8F852115-169A-4098-A771-ADD2957BBCF3}.Debug|x86.ActiveCfg = Debug|x86 19 | {8F852115-169A-4098-A771-ADD2957BBCF3}.Debug|x86.Build.0 = Debug|x86 20 | {8F852115-169A-4098-A771-ADD2957BBCF3}.Release|x86.ActiveCfg = Release|x86 21 | {8F852115-169A-4098-A771-ADD2957BBCF3}.Release|x86.Build.0 = Release|x86 22 | EndGlobalSection 23 | EndGlobal 24 | -------------------------------------------------------------------------------- /Programs/NinoTweet/NinoTweet/NinoTweet.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | x86 6 | {8F852115-169A-4098-A771-ADD2957BBCF3} 7 | Exe 8 | NinoTweet 9 | NinoTweet 10 | 11 | 12 | true 13 | full 14 | false 15 | bin\Debug 16 | DEBUG; 17 | prompt 18 | 4 19 | true 20 | x86 21 | 22 | 23 | full 24 | true 25 | bin\Release 26 | prompt 27 | 4 28 | true 29 | x86 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | {47373F3F-6A6A-4B2A-B06E-971D9FBDB545} 46 | libgame 47 | 48 | 49 | -------------------------------------------------------------------------------- /Programs/NinoTweet/NinoTweet/Program.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Program.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | using System.IO; 23 | using System.Xml.Linq; 24 | using Libgame; 25 | 26 | namespace NinoTweet 27 | { 28 | class MainClass 29 | { 30 | public static void Main(string[] args) 31 | { 32 | if (args.Length != 3) 33 | return; 34 | 35 | string xmlEdit = "Ninokuni español.xml"; 36 | var document = XDocument.Load(xmlEdit); 37 | Configuration.Initialize(document); 38 | 39 | string inputPath = args[1]; 40 | string outputPath = args[2]; 41 | Tweet tweet = new Tweet(); 42 | 43 | if (args[0] == "-e") { 44 | tweet.Read(inputPath); 45 | tweet.Export(outputPath); 46 | } else if (args[0] == "-i") { 47 | tweet.Import(inputPath); 48 | tweet.Write(outputPath); 49 | } 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Programs/NinoTweet/NinoTweet/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following attributes. 5 | // Change them to the values specific to your project. 6 | 7 | [assembly: AssemblyTitle("NinoTweet")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("")] 12 | [assembly: AssemblyCopyright("")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 17 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 18 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 19 | 20 | [assembly: AssemblyVersion("1.0.*")] 21 | 22 | // The following attributes are used to specify the signing key for the assembly, 23 | // if desired. See the Mono documentation for more information about signing. 24 | 25 | //[assembly: AssemblyDelaySign(false)] 26 | //[assembly: AssemblyKeyFile("")] 27 | 28 | -------------------------------------------------------------------------------- /Programs/NinoTweet/NinoTweet/Rc4.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Rc4.cs 3 | // 4 | // Author: 5 | // Benito Palacios Sánchez 6 | // 7 | // Copyright (c) 2015 Benito Palacios Sánchez 8 | // 9 | // This program is free software: you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation, either version 3 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License 20 | // along with this program. If not, see . 21 | using System; 22 | using Libgame.IO; 23 | 24 | namespace NinoTweet 25 | { 26 | public static class Rc4 27 | { 28 | public static void Run(DataStream input, byte[] key, DataStream output) 29 | { 30 | byte[] s = CreateArrayS(key); 31 | for (int i = 0, j = 0; input.Position < input.Length; ) { 32 | i = (i + 1) % 256; 33 | j = (j + s[i]) % 256; 34 | 35 | byte swap = s[i]; 36 | s[i] = s[j]; 37 | s[j] = swap; 38 | 39 | byte k = s[(s[i] + s[j]) % 256]; 40 | output.WriteByte((byte)(input.ReadByte() ^ k)); 41 | } 42 | } 43 | 44 | private static byte[] CreateArrayS(byte[] key) 45 | { 46 | byte[] s = new byte[256]; 47 | byte[] t = new byte[256]; 48 | 49 | for (int i = 0; i < 256; i++) { 50 | s[i] = (byte)i; 51 | t[i] = key[i % key.Length]; 52 | } 53 | 54 | for (int i = 0, j = 0; i < 256; i++) { 55 | j = (j + s[i] + t[i]) % 256; 56 | 57 | byte swap = s[i]; 58 | s[i] = s[j]; 59 | s[j] = swap; 60 | } 61 | 62 | return s; 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Programs/PS3/ExtrackooB/ExtrackooB.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtrackooB", "ExtrackooB\ExtrackooB.csproj", "{D6AE51D1-63A9-4172-A28E-4A002517F866}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {D6AE51D1-63A9-4172-A28E-4A002517F866}.Debug|x86.ActiveCfg = Debug|x86 13 | {D6AE51D1-63A9-4172-A28E-4A002517F866}.Debug|x86.Build.0 = Debug|x86 14 | {D6AE51D1-63A9-4172-A28E-4A002517F866}.Release|x86.ActiveCfg = Release|x86 15 | {D6AE51D1-63A9-4172-A28E-4A002517F866}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /Programs/PS3/ExtrackooB/ExtrackooB/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Programs/PS3/NinoDecompiler/NinoDecompiler.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | # SharpDevelop 4.3 5 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NinoDecompiler", "NinoDecompiler\NinoDecompiler.csproj", "{C10190B0-ED5B-4E98-B9ED-648DBF6AB78D}" 6 | EndProject 7 | Global 8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 9 | Debug|x86 = Debug|x86 10 | Release|x86 = Release|x86 11 | EndGlobalSection 12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 13 | {C10190B0-ED5B-4E98-B9ED-648DBF6AB78D}.Debug|x86.ActiveCfg = Debug|x86 14 | {C10190B0-ED5B-4E98-B9ED-648DBF6AB78D}.Debug|x86.Build.0 = Debug|x86 15 | {C10190B0-ED5B-4E98-B9ED-648DBF6AB78D}.Release|x86.ActiveCfg = Release|x86 16 | {C10190B0-ED5B-4E98-B9ED-648DBF6AB78D}.Release|x86.Build.0 = Release|x86 17 | EndGlobalSection 18 | GlobalSection(SolutionProperties) = preSolution 19 | HideSolutionNode = FALSE 20 | EndGlobalSection 21 | EndGlobal 22 | -------------------------------------------------------------------------------- /Programs/PS3/NinoDecompiler/NinoDecompiler/Encoding/Encoder.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // 3 | // Copyright (C) 2013 4 | // 5 | // This program is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with this program. If not, see "http://www.gnu.org/licenses/". 17 | // 18 | // pleoNeX 19 | // benito356@gmail.com 20 | // 09/04/2013 21 | //----------------------------------------------------------------------- 22 | namespace NinoDecompiler.Encoding 23 | { 24 | using System; 25 | using System.IO; 26 | 27 | /// 28 | /// Description of Encoder. 29 | /// 30 | public abstract class Encoder 31 | { 32 | protected Stream stream; 33 | protected long pos; 34 | protected long encSize; 35 | 36 | public Encoder(Stream stream, long position, long encodedSize) 37 | { 38 | this.stream = stream; 39 | this.pos = position; 40 | this.encSize = encodedSize; 41 | } 42 | 43 | public abstract void Decode(Stream streamOut, long decodedSize); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Programs/PS3/NinoDecompiler/NinoDecompiler/ErrorFile.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // 3 | // Copyright (C) 2013 4 | // 5 | // This program is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with this program. If not, see "http://www.gnu.org/licenses/". 17 | // 18 | // pleoNeX 19 | // benito356@gmail.com 20 | // 10/04/2013 21 | //----------------------------------------------------------------------- 22 | namespace NinoDecompiler 23 | { 24 | using System; 25 | 26 | /// 27 | /// Description of ErrorFile. 28 | /// 29 | public class ErrorFile 30 | { 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Programs/PS3/NinoDecompiler/NinoDecompiler/FinalFile.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // 3 | // Copyright (C) 2013 4 | // 5 | // This program is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with this program. If not, see "http://www.gnu.org/licenses/". 17 | // 18 | // pleoNeX 19 | // benito356@gmail.com 20 | // 10/04/2013 21 | //----------------------------------------------------------------------- 22 | using System; 23 | 24 | namespace NinoDecompiler 25 | { 26 | /// 27 | /// Description of FinalFile. 28 | /// 29 | public class FinalFile 30 | { 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Programs/PS3/NinoDecompiler/NinoDecompiler/Formats/Pac.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // 3 | // Copyright (C) 2013 4 | // 5 | // This program is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with this program. If not, see "http://www.gnu.org/licenses/". 17 | // 18 | // pleoNeX 19 | // benito356@gmail.com 20 | // 10/04/2013 21 | //----------------------------------------------------------------------- 22 | namespace NinoDecompiler.Formats 23 | { 24 | using System; 25 | using System.IO; 26 | 27 | /// 28 | /// Description of Pac. 29 | /// 30 | public class Pac 31 | { 32 | public Pac() 33 | { 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Programs/PS3/NinoDecompiler/NinoDecompiler/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | // 3 | // Copyright (C) 2012 4 | // 5 | // This program is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU General Public License 16 | // along with this program. If not, see . 17 | // 18 | // 19 | // pleoNeX 20 | // benito356@gmail.com 21 | // 06/10/2012 21:21:49 22 | // ----------------------------------------------------------------------- 23 | using System.Reflection; 24 | using System.Runtime.CompilerServices; 25 | using System.Runtime.InteropServices; 26 | 27 | // La información general sobre un ensamblado se controla mediante el siguiente 28 | // conjunto de atributos. Cambie estos atributos para modificar la información 29 | // asociada con un ensamblado. 30 | [assembly: AssemblyTitle("NinoDecompiler")] 31 | [assembly: AssemblyDescription("Ni no kuni PS3 - Decompiler")] 32 | [assembly: AssemblyConfiguration("")] 33 | [assembly: AssemblyCompany("")] 34 | [assembly: AssemblyProduct("")] 35 | [assembly: AssemblyCopyright("pleoNeX 2013")] 36 | [assembly: AssemblyTrademark("")] 37 | [assembly: AssemblyCulture("")] 38 | 39 | [assembly: ComVisible(false)] 40 | 41 | // El siguiente GUID sirve como identificador de typelib si este proyecto se expone a COM 42 | [assembly: Guid("b078037b-db3a-47f3-95bc-7a3a588eadd0")] 43 | 44 | // Version 45 | [assembly: AssemblyVersion("3.0.0.0")] 46 | [assembly: AssemblyFileVersion("3.0.0.0")] 47 | -------------------------------------------------------------------------------- /Programs/PS3/pam2mpg/pam2mpg.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pam2mpg", "pam2mpg\pam2mpg.csproj", "{AD3EBFDD-EDB2-4231-9618-B1598B6CDAB6}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {AD3EBFDD-EDB2-4231-9618-B1598B6CDAB6}.Debug|x86.ActiveCfg = Debug|x86 13 | {AD3EBFDD-EDB2-4231-9618-B1598B6CDAB6}.Debug|x86.Build.0 = Debug|x86 14 | {AD3EBFDD-EDB2-4231-9618-B1598B6CDAB6}.Release|x86.ActiveCfg = Release|x86 15 | {AD3EBFDD-EDB2-4231-9618-B1598B6CDAB6}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | GlobalSection(MonoDevelopProperties) = preSolution 18 | StartupItem = pam2mpg\pam2mpg.csproj 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /Programs/PS3/pam2mpg/pam2mpg/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following attributes. 5 | // Change them to the values specific to your project. 6 | [assembly: AssemblyTitle("pam2mpg")] 7 | [assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyCompany("")] 10 | [assembly: AssemblyProduct("")] 11 | [assembly: AssemblyCopyright("pleonex 2013")] 12 | [assembly: AssemblyTrademark("")] 13 | [assembly: AssemblyCulture("")] 14 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 15 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 16 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 17 | [assembly: AssemblyVersion("1.0.*")] 18 | // The following attributes are used to specify the signing key for the assembly, 19 | // if desired. See the Mono documentation for more information about signing. 20 | //[assembly: AssemblyDelaySign(false)] 21 | //[assembly: AssemblyKeyFile("")] 22 | 23 | -------------------------------------------------------------------------------- /Programs/PS3/pam2mpg/pam2mpg/pam2mpg.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | x86 6 | 10.0.0 7 | 2.0 8 | {AD3EBFDD-EDB2-4231-9618-B1598B6CDAB6} 9 | Exe 10 | pam2mpg 11 | pam2mpg 12 | 13 | 14 | true 15 | full 16 | false 17 | bin\Debug 18 | DEBUG; 19 | prompt 20 | 4 21 | true 22 | x86 23 | 24 | 25 | full 26 | true 27 | bin\Release 28 | prompt 29 | 4 30 | true 31 | x86 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /Programs/scripts/DlcInfo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Programs/scripts/magicnews/magicnews/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pleonex/Ninokuni/c71f39ef995338a89bf74b69887891ac6c9f366d/Programs/scripts/magicnews/magicnews/__init__.py -------------------------------------------------------------------------------- /Programs/scripts/magicnews/magicnews/items.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################### 3 | # Connect to game-kouryaku.info to download all the magic news - V1.0 # 4 | # Copyright 2015 Benito Palacios (aka pleonex) # 5 | # # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); # 7 | # you may not use this file except in compliance with the License. # 8 | # You may obtain a copy of the License at # 9 | # # 10 | # http://www.apache.org/licenses/LICENSE-2.0 # 11 | # # 12 | # Unless required by applicable law or agreed to in writing, software # 13 | # distributed under the License is distributed on an "AS IS" BASIS, # 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 15 | # See the License for the specific language governing permissions and # 16 | # limitations under the License. # 17 | ############################################################################### 18 | 19 | import scrapy 20 | 21 | 22 | class MagicnewsItem(scrapy.Item): 23 | title = scrapy.Field() 24 | date = scrapy.Field() 25 | body = scrapy.Field() 26 | 27 | def keys(self): 28 | return ['date', 'title', 'body'] 29 | -------------------------------------------------------------------------------- /Programs/scripts/magicnews/magicnews/pipelines.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Define your item pipelines here 4 | # 5 | # Don't forget to add your pipeline to the ITEM_PIPELINES setting 6 | # See: http://doc.scrapy.org/en/latest/topics/item-pipeline.html 7 | 8 | 9 | class MagicnewsPipeline(object): 10 | def process_item(self, item, spider): 11 | return item 12 | -------------------------------------------------------------------------------- /Programs/scripts/magicnews/magicnews/settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Scrapy settings for magicnews project 4 | # 5 | # For simplicity, this file contains only the most important settings by 6 | # default. All the other settings are documented here: 7 | # 8 | # http://doc.scrapy.org/en/latest/topics/settings.html 9 | # 10 | 11 | BOT_NAME = 'magicnews' 12 | 13 | SPIDER_MODULES = ['magicnews.spiders'] 14 | NEWSPIDER_MODULE = 'magicnews.spiders' 15 | 16 | # Crawl responsibly by identifying yourself (and your website) on the user-agent 17 | #USER_AGENT = 'magicnews (+http://www.yourdomain.com)' 18 | -------------------------------------------------------------------------------- /Programs/scripts/magicnews/magicnews/spiders/__init__.py: -------------------------------------------------------------------------------- 1 | # This package will contain the spiders of your Scrapy project 2 | # 3 | # Please refer to the documentation for information on how to create and manage 4 | # your spiders. 5 | -------------------------------------------------------------------------------- /Programs/scripts/magicnews/scrapy.cfg: -------------------------------------------------------------------------------- 1 | # Automatically created by: scrapy startproject 2 | # 3 | # For more information about the [deploy] section see: 4 | # http://doc.scrapy.org/en/latest/topics/scrapyd.html 5 | 6 | [settings] 7 | default = magicnews.settings 8 | 9 | [deploy] 10 | #url = http://localhost:6800/ 11 | project = magicnews 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ni no kuni 2 | 3 |

4 | Gitter 5 | license 6 | progressed.io 7 |

8 | 9 |
10 |

"Ni no kuni" tools, hacks and docs

11 |

12 | logo 13 |

14 | 15 | **Ni no kuni** is a JRPG game developed by *Level-5* and *Studio Ghibli* for the *Nintendo DS*. It was released only in Japan in December 2010. One year later was released a *different* version for *PS3* in all regions. 16 | 17 | As a part of the [GradienWords](http://www.gradienwords.tk/) team I have created a set of tools, hacks and documentation to translate the game into Spanish. You can follow the progress of our translation in the [Twitter](https://twitter.com/gradienwords) account. 18 | --------------------------------------------------------------------------------