From 91cac01d0b0456aaa6ceddfe813228bd38be9103 Mon Sep 17 00:00:00 2001 From: pokegold-spaceworld <110418063+gb-mobile@users.noreply.github.com> Date: Sat, 30 Sep 2023 17:01:12 -0400 Subject: [PATCH] Added GER news build Translation by LesserKuma --- Makefile | 8 +- header.asm | 3 + news_de/first_issue_de.asm | 1522 ++++++++++++++++++++++++++++++++++++ pokecrystal/charmap_de.asm | 441 +++++++++++ pokecrystal/charmap_en.asm | 418 ++++++++++ pokecrystal/constants.asm | 4 +- 6 files changed, 2394 insertions(+), 2 deletions(-) create mode 100644 news_de/first_issue_de.asm create mode 100644 pokecrystal/charmap_de.asm create mode 100644 pokecrystal/charmap_en.asm diff --git a/Makefile b/Makefile index 77ae282..856d2fc 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ RGBLINK ?= $(RGBDS)rgblink ### Build targets .SUFFIXES: -.PHONY: all clean first_issue first_issue_en +.PHONY: all clean first_issue first_issue_en first_issue_de .SECONDEXPANSION: .PRECIOUS: .SECONDARY: @@ -24,6 +24,7 @@ RGBLINK ?= $(RGBDS)rgblink all: first_issue news: first_issue news_en: first_issue_en +news_de: first_issue_de clean: rm -f news/*.o *.bin @@ -37,4 +38,9 @@ first_issue_en: $(RGBASM) -D _NEWS_EN -o news_en/$@.o "news_en/$@.asm" $(RGBLINK) -x -o $@.bin news_en/$@.o python fix.py $@.bin + +first_issue_de: + $(RGBASM) -D _NEWS_DE -o news_de/$@.o "news_de/$@.asm" + $(RGBLINK) -x -o $@.bin news_de/$@.o + python fix.py $@.bin diff --git a/header.asm b/header.asm index b3b81a3..db2bd9b 100644 --- a/header.asm +++ b/header.asm @@ -3,6 +3,9 @@ INCLUDE "macros.asm" IF DEF(_NEWS_EN) INCLUDE "ram/wram_int.asm" INCLUDE "ram/sram_int.asm" +ELIF DEF(_NEWS_DE) +INCLUDE "ram/wram_int.asm" +INCLUDE "ram/sram_int.asm" ELSE INCLUDE "ram/wram.asm" INCLUDE "ram/sram.asm" diff --git a/news_de/first_issue_de.asm b/news_de/first_issue_de.asm new file mode 100644 index 0000000..e670bf4 --- /dev/null +++ b/news_de/first_issue_de.asm @@ -0,0 +1,1522 @@ +INCLUDE "header.asm" + +NewsRootScreen: ; $0006 + screenconfig + db MUSIC_PROF_ELM ; music + + db $00 ; number of custom palettes +; dw $0000 ; custom palette color 1 +; dw $0000 ; custom palette color 2 +; dw $0000 ; custom palette color 3 +; dw $0000 ; custom palette color 4 + + db $02 ; number of boxes to draw + db $00 ; x ; first box + db $03 ; y + db $14 ; width + db $0A ; height + db $01 ; border type + db $03 ; palette + db $00 ; x ; second box + db $0C ; y + db $14 ; width + db $06 ; height + db $02 ; border type + db $04 ; palette + + db $01 ; number of strings to draw + dw $0029 ; offset into screen buffer + db "PKMN-DATEN Nr. 1@" ; string + + db $02, $05 ; menu x, y + db $01, $04 ; number of columns, rows + db $00, $02 ; column width, row height + db $12, $04, $07, $04, $02, $04 ; ? + + relativepointer .aButton ; script pointer a button + relativepointer .bButton ; script pointer b button + dw $FFFF ; script pointer select button + dw $FFFF ; script pointer start button + dw $FFFF ; script pointer left button + dw $FFFF ; script pointer right button + relativepointer .upButton ; script pointer up button + relativepointer .downButton ; script pointer down button + + db $04 ; number of menu items + dw $0119 ; screen buffer offset to print menu descriptions + db $12, $04 ; width, height of blanked area + + db $00 ; load rankings table flag (table number should be specfied in 0:CD62) + + relativepointer .menuItemNewsGuideText ; pointers to text for each menu item + relativepointer .menuItemTrainerRankingsText + relativepointer .menuItemPokemonQuizText + relativepointer .menuItemQuitText + + relativepointer .menuItemNewsGuideScript ; pointers to script for each menu item + relativepointer .menuItemTrainerRankingsScript + relativepointer .menuItemPokemonQuizScript + relativepointer .menuItemQuitScript + + relativepointer .menuItemNewsGuideDescription ; pointers to description text for each menu item + relativepointer .menuItemTrainerRankingsDescription + relativepointer .menuItemPokemonQuizDescription + relativepointer .menuItemQuitDescription + +.aButton + playsound SFX_READ_TEXT + menuscript + end + +.bButton + playsound SFX_MENU + exit + end + +.upButton + menuup + end + +.downButton + menudown + end + +.menuItemNewsGuideText + db "DATEN-INFO@" + +.menuItemTrainerRankingsText + db "BESTENLISTE@" + +.menuItemPokemonQuizText + db "#MANIAC-QUIZ@" + +.menuItemQuitText + db "ZURÜCK@" + +.menuItemNewsGuideScript + cleartext $0105, $12, $04 + printtext $0119, .newsGuideText + menureturn + end + +.menuItemTrainerRankingsScript + loadscreen TrainerRankingsScreen + end + +.menuItemPokemonQuizScript + setval wQuizQuestionNo, $00 + setval wQuizScore, $00 + loadscreen PokemonQuizScreen + end + +.menuItemQuitScript + exit + end + +.newsGuideText + text "Wir hoffen, dir" + line "gefallen die" + + para "TRAINER-BESTEN-" + line "LISTE und das" + + para "#MANIAC-QUIZ" + line "in Ausgabe Nr. 1!" + + para "Du kannst deinen" + line "Rang jederzeit" + cont "aktualisieren." + + para "Gib dein Bestes," + line "um einen hohen" + cont "Rang zu erreichen!" + done + +.menuItemNewsGuideDescription + db "Eine Erklärung zu" + line "den DATEN.@" + +.menuItemTrainerRankingsDescription + db "Dreifache Trainer-" + line "Bestenliste!@" + +.menuItemPokemonQuizDescription + db "Erinnerst du dich" + line "an dein Abenteuer?@" + +.menuItemQuitDescription + db "Das Lesen der" + line "DATEN beenden.@" + + +PokemonQuizScreen: ; $0172 + screenconfig + db MUSIC_GAME_CORNER ; music + + db $00 ; number of custom palettes + + db $01 ; number of boxes to draw + db $00 ; x + db $0E ; y + db $14 ; width + db $04 ; height + db $02 ; border type + db $04 ; palette + + db $01 ; number of strings to draw + dw $0029 ; offset into screen buffer + news_text_start + news_text_switch 10, wQuizQuestionNo, \ + .question1Text, \ + .question2Text, \ + .question3Text, \ + .question4Text, \ + .question5Text, \ + .question6Text, \ + .question7Text, \ + .question8Text, \ + .question9Text, \ + .question10Text + db "@" + + db $02, $10 ; menu x, y + db $04, $01 ; number of columns, rows + db $04, $02 ; column width, row height + db $01, $00, $00, $00, $00, $04 ; ? + + relativepointer .aButton ; script pointer a button + relativepointer .bButton ; script pointer b button + dw $FFFF ; script pointer select button + relativepointer .bButton ; script pointer start button + relativepointer .leftButton ; script pointer left button + relativepointer .rightButton ; script pointer right button + dw $FFFF ; script pointer up button + dw $FFFF ; script pointer down button + + db $04 ; number of menu items + dw $0119 ; screen buffer offset to print menu descriptions + db $12, $04 ; width, height of blanked area + + db $00 ; load rankings table flag (table number should be specfied in 0:CD62) + + relativepointer .menuItemAnswer1Text ; pointers to text for each menu item + relativepointer .menuItemAnswer2Text + relativepointer .menuItemAnswer3Text + relativepointer .menuItemQuitText + + relativepointer .menuItemAnswer1Script ; pointers to script for each menu item + relativepointer .menuItemAnswer2Script + relativepointer .menuItemAnswer3Script + relativepointer .menuItemQuitScript + + relativepointer .dummyDescription ; pointers to description text for each menu item + relativepointer .dummyDescription + relativepointer .dummyDescription + relativepointer .dummyDescription + +.aButton + playsound SFX_READ_TEXT + menuscript + end + +.leftButton + menuleft + end + +.rightButton + menuright + end + +.bButton + playsound SFX_MENU + loadscreen NewsRootScreen + end + +.menuItemAnswer1Text + db "A@@@" + +.menuItemAnswer2Text + db "B@@@" + +.menuItemAnswer3Text + db "C@@@" + +.menuItemQuitText + db "ENDE@" + +.menuItemAnswer1Script + incval wQuizQuestionNo, $01 + cmpval wQuizQuestionNo, .answer1notquestion1, .answer1question1, .answer1notquestion1, $01, $01 + +.answer1question1 + incval wQuizScore, $01 + loadscreen PokemonQuizScreen + end + +.answer1notquestion1 + cmpval wQuizQuestionNo, .answer1notquestion2, .answer1question2, .answer1notquestion2, $01, $02 + +.answer1question2 + loadscreen PokemonQuizScreen + end + +.answer1notquestion2 + cmpval wQuizQuestionNo, .answer1notquestion3, .answer1question3, .answer1notquestion3, $01, $03 + +.answer1question3 + incval wQuizScore, $03 + loadscreen PokemonQuizScreen + end + +.answer1notquestion3 + cmpval wQuizQuestionNo, .answer1notquestion4, .answer1question4, .answer1notquestion4, $01, $04 + +.answer1question4 + incval wQuizScore, $01 + loadscreen PokemonQuizScreen + end + +.answer1notquestion4 + cmpval wQuizQuestionNo, .answer1notquestion5, .answer1question5, .answer1notquestion5, $01, $05 + +.answer1question5 + loadscreen PokemonQuizScreen + end + +.answer1notquestion5 + cmpval wQuizQuestionNo, .answer1notquestion6, .answer1question6, .answer1notquestion6, $01, $06 + +.answer1question6 + loadscreen PokemonQuizScreen + end + +.answer1notquestion6 + cmpval wQuizQuestionNo, .answer1notquestion7, .answer1question7, .answer1notquestion7, $01, $07 + +.answer1question7 + loadscreen PokemonQuizScreen + end + +.answer1notquestion7 + cmpval wQuizQuestionNo, .answer1notquestion8, .answer1question8, .answer1notquestion8, $01, $08 + +.answer1question8 + incval wQuizScore, $03 + loadscreen PokemonQuizScreen + end + +.answer1notquestion8 + cmpval wQuizQuestionNo, .answer1notquestion9, .answer1question9, .answer1notquestion9, $01, $09 + +.answer1question9 + loadscreen PokemonQuizScreen + end + +.answer1notquestion9 + cmpval wQuizQuestionNo, .answer1notquestion10, .answer1question10, .answer1notquestion10, $01, $0A + +.answer1question10 + loadscreen QuizScoreEvaluationScreen + end + +.answer1notquestion10 + end + + +.menuItemAnswer2Script + incval wQuizQuestionNo, $01 + cmpval wQuizQuestionNo, .answer2notquestion1, .answer2question1, .answer2notquestion1, $01, $01 + +.answer2question1 + loadscreen PokemonQuizScreen + end + +.answer2notquestion1 + cmpval wQuizQuestionNo, .answer2notquestion2, .answer2question2, .answer2notquestion2, $01, $02 + +.answer2question2 + loadscreen PokemonQuizScreen + end + +.answer2notquestion2 + cmpval wQuizQuestionNo, .answer2notquestion3, .answer2question3, .answer2notquestion3, $01, $03 + +.answer2question3 + loadscreen PokemonQuizScreen + end + +.answer2notquestion3 + cmpval wQuizQuestionNo, .answer2notquestion4, .answer2question4, .answer2notquestion4, $01, $04 + +.answer2question4 + loadscreen PokemonQuizScreen + end + +.answer2notquestion4 + cmpval wQuizQuestionNo, .answer2notquestion5, .answer2question5, .answer2notquestion5, $01, $05 + +.answer2question5 + loadscreen PokemonQuizScreen + end + +.answer2notquestion5 + cmpval wQuizQuestionNo, .answer2notquestion6, .answer2question6, .answer2notquestion6, $01, $06 + +.answer2question6 + incval wQuizScore, $01 + loadscreen PokemonQuizScreen + end + +.answer2notquestion6 + cmpval wQuizQuestionNo, .answer2notquestion7, .answer2question7, .answer2notquestion7, $01, $07 + +.answer2question7 + incval wQuizScore, $02 + loadscreen PokemonQuizScreen + end + +.answer2notquestion7 + cmpval wQuizQuestionNo, .answer2notquestion8, .answer2question8, .answer2notquestion8, $01, $08 + +.answer2question8 + loadscreen PokemonQuizScreen + end + +.answer2notquestion8 + cmpval wQuizQuestionNo, .answer2notquestion9, .answer2question9, .answer2notquestion9, $01, $09 + +.answer2question9 + incval wQuizScore, $02 + loadscreen PokemonQuizScreen + end + +.answer2notquestion9 + cmpval wQuizQuestionNo, .answer2notquestion10, .answer2question10, .answer2notquestion10, $01, $0A + +.answer2question10 + incval wQuizScore, $02 + loadscreen QuizScoreEvaluationScreen + end + +.answer2notquestion10 + end + + +.menuItemAnswer3Script + incval wQuizQuestionNo, $01 + cmpval wQuizQuestionNo, .answer3notquestion1, .answer3question1, .answer3notquestion1, $01, $01 + +.answer3question1 + loadscreen PokemonQuizScreen + end + +.answer3notquestion1 + cmpval wQuizQuestionNo, .answer3notquestion2, .answer3question2, .answer3notquestion2, $01, $02 + +.answer3question2 + incval wQuizScore, $02 + loadscreen PokemonQuizScreen + end + +.answer3notquestion2 + cmpval wQuizQuestionNo, .answer3notquestion3, .answer3question3, .answer3notquestion3, $01, $03 + +.answer3question3 + loadscreen PokemonQuizScreen + end + +.answer3notquestion3 + cmpval wQuizQuestionNo, .answer3notquestion4, .answer3question4, .answer3notquestion4, $01, $04 + +.answer3question4 + loadscreen PokemonQuizScreen + end + +.answer3notquestion4 + cmpval wQuizQuestionNo, .answer3notquestion5, .answer3question5, .answer3notquestion5, $01, $05 + +.answer3question5 + incval wQuizScore, $03 + loadscreen PokemonQuizScreen + end + +.answer3notquestion5 + cmpval wQuizQuestionNo, .answer3notquestion6, .answer3question6, .answer3notquestion6, $01, $06 + +.answer3question6 + loadscreen PokemonQuizScreen + end + +.answer3notquestion6 + cmpval wQuizQuestionNo, .answer3notquestion7, .answer3question7, .answer3notquestion7, $01, $07 + +.answer3question7 + loadscreen PokemonQuizScreen + end + +.answer3notquestion7 + cmpval wQuizQuestionNo, .answer3notquestion8, .answer3question8, .answer3notquestion8, $01, $08 + +.answer3question8 + loadscreen PokemonQuizScreen + end + +.answer3notquestion8 + cmpval wQuizQuestionNo, .answer3notquestion9, .answer3question9, .answer3notquestion9, $01, $09 + +.answer3question9 + loadscreen PokemonQuizScreen + end + +.answer3notquestion9 + cmpval wQuizQuestionNo, .answer3notquestion10, .answer3question10, .answer3notquestion10, $01, $0A + +.answer3question10 + loadscreen QuizScoreEvaluationScreen + end + +.answer3notquestion10 + end + + +.menuItemQuitScript + playsound SFX_MENU + loadscreen NewsRootScreen + end + +.dummyDescription + db "@" + +.question1Text + db "Wer befand sich im" + next "mittleren #BALL" + next "in LINDs LABOR?" + next "A: KARNIMANI" + next "B: FEURIGEL" + next "C: ENDIVIE" + next "@" + +.question2Text + db "Was befindet sich" + next "im Mülleimer neben" + next "PROF. LIND?" + next "A: ÜBERRESTE" + next "B: SAFTFLASCHE" + next "C: SNACK-FOLIE" + next "@" + +.question3Text + db "Wie viele TRÄNKE" + next "besaß der KUMPEL," + next "der dir das Fan-" + next "gen von #MON" + next "beigebracht hat?" + next "A: 1 B: 2 C: 3" + next "@" + +.question4Text + db "Mamas Spezialität" + next "heißt wie genau?" + next "ZINNOBER-VULKAN-…" + next "A: BURGER" + next "B: CURRY" + next "C: NUDELN" + next "@" + +.question5Text + db "Wie oft hatte" + next "sich EARL gedreht," + next "bevor er in die" + next "#MON-AKADEMIE" + next "ging?" + next "A: 5 B: 6 C: 7" + next "@" + +.question6Text + db "Welches Item" + next "gibt es nicht im" + next "EINHEITSTUNNEL?" + next "A: X-ANGRIFF" + next "B: PARAHEILER" + next "C: TRANK" + next "@" + +.question7Text + db "Wie oft muss man" + next "PORENTA mindestens" + next "ansprechen, bevor" + next "man es fangen" + next "kann?" + next "A: 3 B: 4 C: 5" + next "@" + +.question8Text + db "Wie viele FLEGMON" + next "befanden sich im" + next "FLEGMON-BRUNNEN" + next "als du sie ge-" + next "rettet hast?" + next "A: 2 B: 3 C: 4" + next "@" + +.question9Text + db "Das Meer war der" + next "wievielte Halt des" + next "FREMDENFÜHRERS von" + next "ROSALIA CITY?" + next "" + next "A: 3. B: 4. C: 5." + next "@" + +.question10Text + db "Was findet man" + next "nicht im HAUS von" + next "MR. #MON?" + next "A: MÜNZE" + next "B: BRIEFMARKE" + next "C: HEFT" + next "@" + + +QuizScoreEvaluationScreen: ; $0677 + screenconfig + db MUSIC_POKEMON_TALK ; music + + db $00 ; number of custom palettes + + db $01 ; number of boxes to draw + db $00 ; x + db $0C ; y + db $14 ; width + db $06 ; height + db $02 ; border type + db $04 ; palette + + db $01 ; number of strings to draw + db $00, $00 ; offset into screen buffer + db "@" ; string + + db $02, $0A ; menu x, y ; $04, $0A ; Needs to be updated with PROF.OAK's REPORT + db $01, $01 ; number of columns, rows + db $00, $00 ; column width, row height + db $01, $00, $00, $00, $02, $01 ; $03, $00, $00, $00, $02, $01 PROF OAK's REPORT location + + relativepointer .aButton ; script pointer a button + relativepointer .aButton ; script pointer b button + dw $FFFF ; script pointer select button + relativepointer .aButton ; script pointer start button + dw $FFFF ; script pointer left button + dw $FFFF ; script pointer right button + dw $FFFF ; script pointer up button + dw $FFFF ; script pointer down button + + db $01 ; number of menu items + dw $0119 ; screen buffer offset to print menu descriptions + db $12, $04 ; width, height of blanked area + + db $00 ; load rankings table flag (table number should be specfied in 0:CD62) + + relativepointer .menuItemText ; pointers to text for each menu item + + relativepointer .menuItemScript ; pointers to script for each menu item + + relativepointer .menuItemDescription ; pointers to description text for each menu item + +.aButton + playsound SFX_READ_TEXT + cleartext $0105, $12, $04 + trainersprite $002E, POKEMON_PROF, $07 + menuscript + menureturn + loadscreen NewsRootScreen + end + +.menuItemText + db "EICHs BERICHT@" + +.menuItemScript + cmpval wQuizScore, .scorelow, .scorelow, .greater, $01, $05 + +.scorelow + printtext $0119, .textScoreLow + playsound SFX_DEX_FANFARE_LESS_THAN_20 + end + +.greater + cmpval wQuizScore, .scoreaverage, .scoreaverage, .greater2, $01, $0A + +.scoreaverage + printtext $0119, .textScoreAverage + playsound SFX_DEX_FANFARE_140_169 + end + +.greater2 + cmpval wQuizScore, .scoregood, .scoregood, .greater3, $01, $0F + +.scoregood + printtext $0119, .textScoreGood + playsound SFX_DEX_FANFARE_170_199 + end + +.greater3 + cmpval wQuizScore, .scoregreat, .scoregreat, .greater4, $01, $13 + +.scoregreat + printtext $0119, .textScoreGreat + playsound SFX_DEX_FANFARE_200_229 + end + +.greater4 + cmpval wQuizScore, .scorebest, .scorebest, .scoreoutofbounds, $01, $14 + +.scorebest + printtext $0119, .textScoreBest + playsound SFX_DEX_FANFARE_230_PLUS + end + +.scoreoutofbounds + end + +.menuItemDescription + db "Die Bewertung" + line "deiner Antworten!@" + +.textScoreLow + text "Du hast noch viel" + line "Arbeit vor dir." + + para "Es genügt nicht," + line "Dinge bloß aus-" + cont "wendig zu lernen." + + para "#MANIACs können" + line "sich Dinge merken," + cont "ohne dafür lernen" + cont "zu müssen!" + done + +.textScoreAverage + text "Leider nicht ganz…" + line "Echte #MANIACs" + cont "sind da noch mehr" + cont "bei der Sache!" + + para "Sieh dich genau" + line "in allen Ecken" + cont "und Winkeln um!" + done + +.textScoreGood + text "Hmm… Das war gar" + line "nicht schlecht." + + para "Du bist fast" + line "schon sowas wie" + cont "ein #MANIAC!" + + para "Tauschst du dich" + line "auch mit deinen" + cont "Freunden aus?" + + para "Zusammen ist man" + line "immer stärker!" + done + +.textScoreGreat + text "Exzellent! Du" + line "beobachtest wirk-" + + para "lich alles ganz" + line "genau, nicht wahr?" + done + +.textScoreBest + text "Wow! Du bist ein" + line "wahrer #MANIAC," + + para "von dem man sonst" + line "nur träumen kann!" + + para "Perfekt! Herzli-" + line "chen Glückwunsch!" + done + + +TrainerRankingsScreen: ; $0857 + screenconfig + db MUSIC_PROF_ELM ; music + + db $00 ; number of custom palettes + + db $02 ; number of boxes to draw + db $00 ; x ; first box + db $03 ; y + db $14 ; width + db $0A ; height + db $01 ; border type + db $03 ; palette + db $00 ; x ; second box + db $0C ; y + db $14 ; width + db $06 ; height + db $02 ; border type + db $04 ; palette + + db $01 ; number of strings to draw + dw $0029 ; offset into screen buffer + db "BESTENLISTE@" ; string + + db $02, $05 ; menu x, y + db $01, $04 ; number of columns, rows + db $00, $02 ; column width, row height + db $12, $04, $07, $04, $02, $04 ; ? + + relativepointer .aButton ; script pointer a button + relativepointer .bButton ; script pointer b button + dw $FFFF ; script pointer select button + dw $FFFF ; script pointer start button + dw $FFFF ; script pointer left button + dw $FFFF ; script pointer right button + relativepointer .upButton ; script pointer up button + relativepointer .downButton ; script pointer down button + + db $04 ; number of menu items + dw $0119 ; screen buffer offset to print menu descriptions + db $12, $04 ; width, height of blanked area + + db $00 ; load rankings table flag (table number should be specfied in 0:CD62) + + relativepointer .menuItemViewRankingsText ; pointers to text for each menu item + relativepointer .menuItemUpdateRankingsText + relativepointer .menuItemRankingsDescriptionText + relativepointer .menuItemReturnText + + relativepointer .menuItemViewRankingsScript ; pointers to script for each menu item + relativepointer .menuItemUpdateRankingsScript + relativepointer .menuItemRankingsDescriptionScript + relativepointer .menuItemReturnScript + + relativepointer .menuItemViewRankingsDescription ; pointers to description text for each menu item + relativepointer .menuItemUpdateRankingsDescription + relativepointer .menuItemRankingsDescriptionDescription + relativepointer .menuItemReturnDescription + +.aButton + playsound SFX_READ_TEXT + menuscript + end + +.bButton + playsound SFX_MENU + loadscreen NewsRootScreen + end + +.upButton + menuup + end + +.downButton + menudown + end + +.menuItemViewRankingsText + db "BETRACHTEN@" + +.menuItemUpdateRankingsText + db "ÜBERTRAGEN@" + +.menuItemRankingsDescriptionText + db "BESTENL.-INFO@" + +.menuItemReturnText + db "ZURÜCK@" + +.menuItemViewRankingsScript + cmpvalram sNewsId, $0C, sNewsIdBackup, .noRankingsData, .continueToCategoriesScreen, .noRankingsData + +.continueToCategoriesScreen + loadscreen TrainerRankingsCategoriesScreen + end + +.noRankingsData + cleartext $0105, $12, $04 + printtext $0119, .noRankingsDataText + end + +.menuItemUpdateRankingsScript + updaterankings + cmpval wRankingsUpdateResult, .rankingsUpdated, .rankingsUpdateCancelled, .rankingsUpdateFailed, $01, $01 + +.rankingsUpdated + cleartext $0105, $12, $04 + printtext $0119, .rankingsUpdatedText + menureturn + end + +.rankingsUpdateCancelled + cleartext $0105, $12, $04 + printtext $0119, .rankingsUpdateCancelledText + menureturn + end + +.rankingsUpdateFailed + cleartext $0105, $12, $04 + printtext $0119, .rankingsUpdateFailedText + menureturn + end + +.rankingsUpdatedText + text "Bestenlisten wur-" + line "den übertragen!" + done + +.rankingsUpdateCancelledText + text "Die Übertragung" + line "wurde abgebrochen." + done + +.rankingsUpdateFailedText + text "Die Übertragung" + line "schlug fehl…" + + para "Bitte lade die" + line "DATEN erneut." + done + +.menuItemRankingsDescriptionScript + cleartext $0105, $12, $04 + printtext $0119, .rankingsDescriptionText + menureturn + end + +.menuItemReturnScript + loadscreen NewsRootScreen + end + +.rankingsDescriptionText + text "DUELLTURM" + line "" + + para "Die Anzahl der" + line "gewonnenen" + cont "#MON-Kämpfe" + cont "gegen andere" + cont " beim" + cont "DUELLTURM auf" + cont "ROUTE 40." + + para "GRÖSSTES KARPADOR" + line "" + + para "Das größte" + line "KARPADOR, das" + cont "vom PROFI-ANGLER" + cont "am SEE DES ZORNS" + cont "gemessen wurde." + + para "KÄFER-TURNIER" + line "" + + para "Die höchste Punkt-" + line "zahl beim KÄFER-" + cont "TURNIER im" + cont "NATIONALPARK." + done + +.noRankingsDataText + text "Keine Daten zur" + line "Bestenliste vor-" + cont "handen." + + para "Aktualisiere die" + line "die Daten, um die" + + para "Bestenliste zu" + line "betrachten." + + para "" + done + +.menuItemViewRankingsDescription + db "Betrachte versch." + line "Bestenlisten.@" + +.menuItemUpdateRankingsDescription + db "Übertrage und em-" + line "pfange Daten.@" + +.menuItemRankingsDescriptionDescription + db "Eine Erklärung zu" + line "einzelnen Listen.@" + +.menuItemReturnDescription + db "Zurück zur ersten" + line "Seite.@" + + +TrainerRankingsCategoriesScreen: ; $0AF2 + screenconfig + db MUSIC_PROF_ELM ; music + + db $00 ; number of custom palettes + + db $02 ; number of boxes to draw + db $00 ; x ; first box + db $03 ; y + db $14 ; width + db $0A ; height + db $01 ; border type + db $03 ; palette + db $00 ; x ; second box + db $0C ; y + db $14 ; width + db $06 ; height + db $02 ; border type + db $04 ; palette + + db $01 ; number of strings to draw + dw $0029 ; offset into screen buffer + db "BESTENLISTE@" ; string + + db $02, $05 ; menu x, y + db $01, $04 ; number of columns, rows + db $00, $02 ; column width, row height + db $12, $04, $07, $04, $02, $04 ; ? + + relativepointer .aButton ; script pointer a button + relativepointer .bButton ; script pointer b button + dw $FFFF ; script pointer select button + relativepointer .bButton ; script pointer start button + dw $FFFF ; script pointer left button + dw $FFFF ; script pointer right button + relativepointer .upButton ; script pointer up button + relativepointer .downButton ; script pointer down button + + db $04 ; number of menu items + dw $0119 ; screen buffer offset to print menu descriptions + db $12, $04 ; width, height of blanked area + + db $00 ; load rankings table flag (table number should be specfied in 0:CD62) + + relativepointer .menuItemBattleTowerWinsText ; pointers to text for each menu item + relativepointer .menuItemBugCatchingContestHighScoreText + relativepointer .menuItemLargestMagikarpText + relativepointer .menuItemReturnText + + relativepointer .menuItemBattleTowerWinsScript ; pointers to script for each menu item + relativepointer .menuItemBugCatchingContestHighScoreScript + relativepointer .menuItemLargestMagikarpScript + relativepointer .menuItemReturnScript + + relativepointer .menuItemDescription ; pointers to description text for each menu item + relativepointer .menuItemDescription + relativepointer .menuItemDescription + relativepointer .menuItemDescription + + + +.aButton + playsound SFX_READ_TEXT + menuscript + end + +.upButton + menuup + end + +.downButton + menudown + end + +.bButton + playsound SFX_MENU + +.menuItemReturnScript + loadscreen TrainerRankingsScreen + end + +.menuItemBattleTowerWinsText + db "DUELLTURM@" + +.menuItemBugCatchingContestHighScoreText + db "KÄFER-TURNIER@" + +.menuItemLargestMagikarpText + db "GRÖSSTES KARPADOR@" + +.menuItemReturnText + db "ZURÜCK@" + +.menuItemBattleTowerWinsScript + setval wRankingsTable, $00 + setval wRankingsCategory, $00 + loadscreen TrainerRankingsTypeScreen + end + +.menuItemBugCatchingContestHighScoreScript + setval wRankingsTable, $03 + setval wRankingsCategory, $01 + loadscreen TrainerRankingsTypeScreen + end + +.menuItemLargestMagikarpScript + setval wRankingsTable, $06 + setval wRankingsCategory, $02 + loadscreen TrainerRankingsTypeScreen + end + +.menuItemDescription + db "Wähle eine" + line "Bestenliste.@" + + +TrainerRankingsTypeScreen: ; $0BC4 + screenconfig + db MUSIC_PROF_ELM ; music + + db $00 ; number of custom palettes + + db $02 ; number of boxes to draw + db $00 ; x ; first box + db $03 ; y + db $14 ; width + db $0A ; height + db $01 ; border type + db $03 ; palette + db $00 ; x ; second box + db $0C ; y + db $14 ; width + db $06 ; height + db $02 ; border type + db $04 ; palette + + db $01 ; number of strings to draw + dw $0029 ; offset into screen buffer + news_text_start + news_text_switch 3, wRankingsCategory, .battleTowerWinsText, .bugCatchingContestHighScoreText, .largestMagikarpText + db "@" + + db $02, $05 ; menu x, y + db $01, $04 ; number of columns, rows + db $00, $02 ; column width, row height + db $12, $04, $07, $04, $02, $04 ; ? + + relativepointer .aButton ; script pointer a button + relativepointer .bButton ; script pointer b button + dw $FFFF ; script pointer select button + relativepointer .startButton ; script pointer start button + dw $FFFF ; script pointer left button + dw $FFFF ; script pointer right button + relativepointer .upButton ; script pointer up button + relativepointer .downButton ; script pointer down button + + db $04 ; number of menu items + dw $0119 ; screen buffer offset to print menu descriptions + db $12, $04 ; width, height of blanked area + + db $00 ; load rankings table flag (table number should be specfied in 0:CD62) + + relativepointer .menuItemNationalRankingText ; pointers to text for each menu item + relativepointer .menuItemPrefecturalRankingText + relativepointer .menuItemZipCodeRankingText + relativepointer .menuItemReturnText + + relativepointer .menuItemNationalRankingScript ; pointers to script for each menu item + relativepointer .menuItemPrefecturalRankingScript + relativepointer .menuItemZipCodeRankingScript + relativepointer .menuItemReturnScript + + relativepointer .menuItemDescription ; pointers to description text for each menu item + relativepointer .menuItemDescription + relativepointer .menuItemDescription + relativepointer .menuItemDescription + + + +.aButton + playsound SFX_READ_TEXT + menuscript + end + +.upButton + menuup + end + +.downButton + menudown + end + +.startButton + playsound SFX_MENU + loadscreen TrainerRankingsScreen + end + +.menuItemNationalRankingText + db "LANDESLISTE@" + +.menuItemPrefecturalRankingText + news_text_start + news_text_own_region_backup 0 + news_text_end + db "-LISTE@" + +.menuItemZipCodeRankingText + news_text_start + news_text_own_zip_backup 3 + news_text_end + db "-LISTE@" + +.menuItemReturnText + db "ZURÜCK@" + +.menuItemNationalRankingScript + setval wRankingsType, $00 + loadscreen TrainerRankingsRankingsScreen + end + +.menuItemPrefecturalRankingScript + incval wRankingsTable, $01 + setval wRankingsType, $01 + loadscreen TrainerRankingsRankingsScreen + end + +.menuItemZipCodeRankingScript + incval wRankingsTable, $02 + setval wRankingsType, $02 + loadscreen TrainerRankingsRankingsScreen + end + +.bButton + playsound SFX_MENU + +.menuItemReturnScript + loadscreen TrainerRankingsCategoriesScreen + end + +.menuItemDescription + db "Für welche Region" + line "anzeigen?@" + +.battleTowerWinsText + db "DUELLTURM@" + +.bugCatchingContestHighScoreText + db "KÄFER-TURNIER@" + +.largestMagikarpText + db "GRÖSSTES KARPADOR@" + + +TrainerRankingsRankingsScreen: ; $0CBD + screenconfig + db MUSIC_PROF_ELM ; music + + db $00 ; number of custom palettes + + db $02 ; number of boxes to draw + db $00 ; x ; first box + db $03 ; y + db $14 ; width + db $0A ; height + db $01 ; border type + db $03 ; palette + db $00 ; x ; second box + db $0C ; y + db $14 ; width + db $06 ; height + db $02 ; border type + db $04 ; palette + + db $02 ; number of strings to draw + dw $0029 ; offset into screen buffer + news_text_start + news_text_switch 3, wRankingsCategory, .headerText1, .headerText2, .headerText3 + db "@" + dw $0066 ; offset into screen buffer + news_text_start + news_text_switch 3, wRankingsType, .headerText4, .headerText5, .headerText6 + db "@" + + db $02, $07 ; menu x, y + db $01, $03 ; number of columns, rows + db $00, $02 ; column width, row height + db $12, $04, $07, $03, $02, $03 ; ? + + relativepointer .aButton ; script pointer a button + relativepointer .bButton ; script pointer b button + dw $FFFF ; script pointer select button + relativepointer .startButton ; script pointer start button + dw $FFFF ; script pointer left button + dw $FFFF ; script pointer right button + relativepointer .upButton ; script pointer up button + relativepointer .downButton ; script pointer down button + + db $0B ; number of menu items + dw $0119 ; screen buffer offset to print menu descriptions + db $12, $04 ; width, height of blanked area + + db $01 ; load rankings table flag (table number should be specfied in 0:CD62) + + relativepointer .rankingsEntryText ; pointers to text for each menu item + relativepointer .rankingsEntryText + relativepointer .rankingsEntryText + relativepointer .rankingsEntryText + relativepointer .rankingsEntryText + relativepointer .rankingsEntryText + relativepointer .rankingsEntryText + relativepointer .rankingsEntryText + relativepointer .rankingsEntryText + relativepointer .rankingsEntryText + relativepointer .ownRankText + + relativepointer .rankingsEntryScript ; pointers to script for each menu item + relativepointer .rankingsEntryScript + relativepointer .rankingsEntryScript + relativepointer .rankingsEntryScript + relativepointer .rankingsEntryScript + relativepointer .rankingsEntryScript + relativepointer .rankingsEntryScript + relativepointer .rankingsEntryScript + relativepointer .rankingsEntryScript + relativepointer .rankingsEntryScript + relativepointer .ownRankScript + + relativepointer .menuItemDescription ; pointers to description text for each menu item + relativepointer .menuItemDescription + relativepointer .menuItemDescription + relativepointer .menuItemDescription + relativepointer .menuItemDescription + relativepointer .menuItemDescription + relativepointer .menuItemDescription + relativepointer .menuItemDescription + relativepointer .menuItemDescription + relativepointer .menuItemDescription + relativepointer .menuItemDescription + + + +.aButton + playsound SFX_READ_TEXT + menuscript + end + +.bButton + playsound SFX_MENU + decvalram wRankingsTable, wRankingsType + loadscreen TrainerRankingsTypeScreen + end + +.upButton + menuup + end + +.downButton + menudown + end + +.startButton + playsound SFX_MENU + loadscreen TrainerRankingsScreen + end + +.rankingsEntryText + news_text_start + news_text_switch 3, wRankingsCategory, .rankingsEntryBattleTowerWinsText, .rankingsEntryBugCatchingContestHighScoreText, .rankingsEntryLargestMagikarpText + news_text_end + +.rankingsEntryBattleTowerWinsText + news_text_start + news_text_ranking_indicator 3 + news_text_ranking_text 0, 7, 8 + news_text_ranking_number 20, 2, 5, 5, 0, 0 + news_text_end + db "@" + +.rankingsEntryBugCatchingContestHighScoreText + news_text_start + news_text_ranking_indicator 3 + news_text_ranking_text 0, 7, 8 + news_text_ranking_number 20, 2, 5, 5, 0, 0 + news_text_end + db "@" + +.rankingsEntryLargestMagikarpText + news_text_start + news_text_ranking_indicator 3 + news_text_ranking_text 0, 7, 8 + news_text_ranking_number 20, 2 | PRINTNUM_LEADINGZEROS, 4, 5, 4, "" + news_text_end + db "@" + +.ownRankText + news_text_start + news_text_own_name 0 + news_text_end + db "s RANG: @" + +.rankingsEntryScript + cmpvalram wcd22, $01, wcd5c, .somebodyRankedHere, .nobodyRankedHere, .nobodyRankedHere + +.somebodyRankedHere + cleartext $0105, $12, $04 + specialtext $0119, .rankedPlayerInfoText + cleartext $0105, $12, $04 + specialtext $0119, .rankedPlayerMessage + end + +.nobodyRankedHere + cleartext $0105, $12, $04 + specialtext $0119, .nobodyRankedHereText + end + +.nobodyRankedHereText + db "Hier gibt es" + next "keinen Eintrag." + para "@" + +.ownRankScript + cmpvalram wOwnRank, $04, wNumRankedPlayers, .playerRanked, .playerRanked, .playerNotRanked + +.playerRanked + cleartext $0105, $12, $04 + specialtext $0119, .playerRankedText + cmpval wOwnRank, .doNothing, .checkGSBallEnabled, .doNothing, $04, $00, $00, $00, $01 + +.checkGSBallEnabled + cmpval sMobileEventIndex, .doNothing, .enableGSBall, .doNothing, $01, $00 + +.enableGSBall + setval wcd6a, $01 + cpyvalram wcd6a, sMobileEventIndex, $0001 + cleartext $0105, $12, $04 + printtext $0119, .giftText + menureturn + +.doNothing + end + +.playerNotRanked + cleartext $0105, $12, $04 + specialtext $0119, .playerNotRankedText + end + +.giftText + text "Wer so einen hohen" + next "Rang erreicht," + + para "verdient ein" + line "tolles Geschenk." + cont "Bitte schön!" + done + +.rankedPlayerInfoText + news_text_start + news_text_ranking_gender 11, 7 + news_text_ranking_number 10, 1, 3, 4, 0, 0 + news_text_end + db "" + news_text_start + news_text_ranking_region 7, 7 + news_text_end + para "@" + +.rankedPlayerMessage + news_text_start + news_text_ranking_message 12 + news_text_end + para "@" + +.playerRankedText + news_text_start + news_text_switch 3, wRankingsCategory, .ownBattleTowerWinsText, .ownBugCatchingContestHighScoreText, .ownLargestMagikarpText + news_text_start + news_text_own_name 0 + news_text_end + db "s RANG ist…" + + para "" + news_text_start + news_text_number wOwnRank, 4, 4, 4, 0, 0 + news_text_end + db "!" + line "Glückwunsch!" + para "@" + +.playerNotRankedText + news_text_start + news_text_switch 3, wRankingsCategory, .ownBattleTowerWinsText, .ownBugCatchingContestHighScoreText, .ownLargestMagikarpText + news_text_start + news_text_own_name 0 + news_text_end + db "s RANG ist…" + + para "leider außerhalb" + line "der Bestenliste." + para "@" + +.ownBattleTowerWinsText + news_text_start + news_text_own_name 0 + news_text_end + db "s PUNKTZAHL:" + line "" + news_text_start + news_text_number sNumBattleTowerWins, 2, 5, 5, 0, 0 + news_text_end + db " Punkte" + para "@" + +.ownBugCatchingContestHighScoreText + news_text_start + news_text_own_name 0 + news_text_end + db "s PUNKTZAHL:" + line "" + news_text_start + news_text_number sBugContestHighscore, 2, 5, 5, 0, 0 + news_text_end + db " Punkte" + para "@" + +.ownLargestMagikarpText + news_text_start + news_text_own_name 0 + news_text_end + db "s REKORD:" + line "" + news_text_start + news_text_number sLargestMagikarp, 2 | PRINTNUM_LEADINGZEROS, 4, 5, 4, "" + news_text_end + db " cm" + para "@" + + +.menuItemDescription + db "Profil des" + line "TRAINERs anzeigen.@" + +.headerText1 + db "DUELLTURM@" + +.headerText2 + db "KÄFER-TURNIER@" + +.headerText3 + db "GRÖSSTES KARPADOR@" + +.headerText4 + db "LANDES-TOP-10!@" + +.headerText5 + news_text_start + news_text_own_region_backup 0 + news_text_end + db " TOP-10!@" + +.headerText6 + news_text_start + news_text_own_zip_backup 3 + news_text_end + db " TOP-10!@" + + db $04 ; whatever this is supposed to be diff --git a/pokecrystal/charmap_de.asm b/pokecrystal/charmap_de.asm new file mode 100644 index 0000000..bb623e5 --- /dev/null +++ b/pokecrystal/charmap_de.asm @@ -0,0 +1,441 @@ +; $00-$16 are TX_* constants (see macros/scripts/text.asm) + +; Control characters (see home/text.asm) + + charmap "", $00 + charmap "", $14 ; "くん" or "ちゃん"; same as "" in English + charmap "", $15 + charmap "", $16 + charmap "¯", $1f ; soft linebreak + charmap "", $22 + charmap "", $24 ; "" + charmap "%", $25 ; soft linebreak in landmark names + charmap "", $38 ; wRedsName + charmap "", $39 ; wGreensName + charmap "", $3f + charmap "", $49 ; wMomsName + charmap "", $4a ; "" + charmap "<_CONT>", $4b ; implements "" + charmap "", $4c + charmap "", $4e + charmap "", $4f + charmap "@", $50 ; string terminator + charmap "", $51 + charmap "", $52 ; wPlayerName + charmap "", $53 ; wRivalName + charmap "#", $54 ; "POKé" + charmap "", $55 + charmap "<……>", $56 ; "……" + charmap "", $57 + charmap "", $58 + charmap "", $59 + charmap "", $5a + charmap "", $5b ; "PC" + charmap "", $5c ; "TM" + charmap "", $5d ; "TRAINER" + charmap "", $5e ; "ROCKET" + charmap "", $5f + +; Actual characters (from gfx/font/font_extra.png) + + charmap "", $60 ; unused + charmap "", $61 ; unused + charmap "", $62 ; unused + charmap "", $63 ; unused + charmap "", $64 ; unused + charmap "", $65 ; unused + charmap "", $66 ; unused + charmap "", $67 ; unused + charmap "", $68 ; unused + charmap "", $69 + charmap "", $6a + charmap "", $6b ; unused + charmap "", $6c ; unused + charmap "", $6d ; colon with tinier dots than ":" + charmap "ぃ", $6e ; hiragana small i, unused + charmap "ぅ", $6f ; hiragana small u, unused + charmap "", $70 + charmap "", $71 + charmap "“", $72 ; opening quote + charmap "”", $73 ; closing quote + charmap "·", $74 ; middle dot, unused + charmap "…", $75 ; ellipsis + charmap "ぁ", $76 ; hiragana small a, unused + charmap "ぇ", $77 ; hiragana small e, unused + charmap "ぉ", $78 ; hiragana small o, unused + + charmap "┌", $79 + charmap "─", $7a + charmap "┐", $7b + charmap "│", $7c + charmap "└", $7d + charmap "┘", $7e + charmap " ", $7f + +; Actual characters (from gfx/font/font_battle_extra.png) + + charmap "", $6e + + charmap "", $70 ; hiragana small do, unused + charmap "◀", $71 + charmap "『", $72 ; Japanese opening quote, unused + charmap "", $73 + charmap "№", $74 + +; Actual characters (from other graphics files) + + ; needed for _LoadFontsExtra1 (see engine/load_font.asm) + charmap "■", $60 ; gfx/font/black.2bpp + charmap "▲", $61 ; gfx/font/up_arrow.png + charmap "☎", $62 ; gfx/font/phone_icon.2bpp + + ; needed for MagikarpHouseSign (see engine/events/magikarp.asm) + charmap "′", $6e ; gfx/font/feet_inches.png + charmap "″", $6f ; gfx/font/feet_inches.png + + ; needed for StatsScreen_PlaceShinyIcon and PrintPartyMonPage1 + charmap "⁂", $3f ; gfx/stats/stats_tiles.png, tile 14 + +; Actual characters (from gfx/font/font.png) + + charmap "A", $80 + charmap "B", $81 + charmap "C", $82 + charmap "D", $83 + charmap "E", $84 + charmap "F", $85 + charmap "G", $86 + charmap "H", $87 + charmap "I", $88 + charmap "J", $89 + charmap "K", $8a + charmap "L", $8b + charmap "M", $8c + charmap "N", $8d + charmap "O", $8e + charmap "P", $8f + charmap "Q", $90 + charmap "R", $91 + charmap "S", $92 + charmap "T", $93 + charmap "U", $94 + charmap "V", $95 + charmap "W", $96 + charmap "X", $97 + charmap "Y", $98 + charmap "Z", $99 + + charmap "(", $9a + charmap ")", $9b + charmap ":", $9c + charmap ";", $9d + charmap "[", $9e + charmap "]", $9f + + charmap "a", $a0 + charmap "b", $a1 + charmap "c", $a2 + charmap "d", $a3 + charmap "e", $a4 + charmap "f", $a5 + charmap "g", $a6 + charmap "h", $a7 + charmap "i", $a8 + charmap "j", $a9 + charmap "k", $aa + charmap "l", $ab + charmap "m", $ac + charmap "n", $ad + charmap "o", $ae + charmap "p", $af + charmap "q", $b0 + charmap "r", $b1 + charmap "s", $b2 + charmap "t", $b3 + charmap "u", $b4 + charmap "v", $b5 + charmap "w", $b6 + charmap "x", $b7 + charmap "y", $b8 + charmap "z", $b9 + + charmap "à", $ba + charmap "è", $bb + charmap "<é>", $bc + charmap "ù", $bd + charmap "ß", $be + charmap "ç", $bf + + charmap "Ä", $c0 + charmap "Ö", $c1 + charmap "Ü", $c2 + charmap "ä", $c3 + charmap "ö", $c4 + charmap "ü", $c5 + + charmap "ë", $c6 + charmap "ï", $c7 + charmap "â", $c8 + charmap "ô", $c9 + charmap "û", $ca + charmap "ê", $cb + charmap "î", $cc + + charmap "←", $cf + + charmap "'s", $d4 + charmap "d'", $d5 + charmap "i'", $d6 + + charmap "l'", $d7 + charmap "m'", $d8 + charmap "n'", $d9 + charmap "p'", $da + charmap "s''", $db + charmap "s'", $dc + charmap "t'", $dd + charmap "u'", $de + charmap "y'", $df + + charmap "'", $e0 + charmap "", $e1 + charmap "", $e2 + charmap "-", $e3 + charmap "+", $e4 + + charmap "?", $e6 + charmap "!", $e7 + charmap ".", $e8 + charmap "&", $e9 + + charmap "é", $ea + charmap "→", $eb + charmap "▷", $ec + charmap "▶", $ed + charmap "▼", $ee + charmap "♂", $ef + charmap "¥", $f0 + charmap "×", $f1 + charmap "", $f2 ; decimal point; same as "." in English + charmap "/", $f3 + charmap ",", $f4 + charmap "♀", $f5 + + charmap "0", $f6 + charmap "1", $f7 + charmap "2", $f8 + charmap "3", $f9 + charmap "4", $fa + charmap "5", $fb + charmap "6", $fc + charmap "7", $fd + charmap "8", $fe + charmap "9", $ff + +; Japanese control characters (see home/text.asm) + + charmap "", $18 ; "ノ゛"? (ungrammatical) + charmap "", $1d ; "に " + charmap "", $1e ; "って" + charmap "", $1f ; "を " + charmap "", $22 ; "た!" + charmap "", $23 ; "こうげき" + charmap "", $24 ; "は " + charmap "", $25 ; "の " + charmap "", $35 ; "ばん どうろ" + charmap "", $36 ; "わたし" + charmap "", $37 ; "ここは" + charmap "", $4a ; "が " + +; Japanese kana, for those bits of text that were not translated to English + + charmap "ガ", $05 + charmap "ギ", $06 + charmap "グ", $07 + charmap "ゲ", $08 + charmap "ゴ", $09 + charmap "ザ", $0a + charmap "ジ", $0b + charmap "ズ", $0c + charmap "ゼ", $0d + charmap "ゾ", $0e + charmap "ダ", $0f + charmap "ヂ", $10 + charmap "ヅ", $11 + charmap "デ", $12 + charmap "ド", $13 + + charmap "バ", $19 + charmap "ビ", $1a + charmap "ブ", $1b + charmap "ボ", $1c + + charmap "が", $26 + charmap "ぎ", $27 + charmap "ぐ", $28 + charmap "げ", $29 + charmap "ご", $2a + charmap "ざ", $2b + charmap "じ", $2c + charmap "ず", $2d + charmap "ぜ", $2e + charmap "ぞ", $2f + charmap "だ", $30 + charmap "ぢ", $31 + charmap "づ", $32 + charmap "で", $33 + charmap "ど", $34 + + charmap "ば", $3a + charmap "び", $3b + charmap "ぶ", $3c + charmap "べ", $3d + charmap "ぼ", $3e + + charmap "パ", $40 + charmap "ピ", $41 + charmap "プ", $42 + charmap "ポ", $43 + charmap "ぱ", $44 + charmap "ぴ", $45 + charmap "ぷ", $46 + charmap "ぺ", $47 + charmap "ぽ", $48 + + charmap "「", $70 + charmap "」", $71 + charmap "』", $73 + charmap "⋯", $75 + + charmap " ", $7f + + charmap "ア", $80 + charmap "イ", $81 + charmap "ウ", $82 + charmap "エ", $83 + charmap "オ", $84 + charmap "カ", $85 + charmap "キ", $86 + charmap "ク", $87 + charmap "ケ", $88 + charmap "コ", $89 + charmap "サ", $8a + charmap "シ", $8b + charmap "ス", $8c + charmap "セ", $8d + charmap "ソ", $8e + charmap "タ", $8f + charmap "チ", $90 + charmap "ツ", $91 + charmap "テ", $92 + charmap "ト", $93 + charmap "ナ", $94 + charmap "ニ", $95 + charmap "ヌ", $96 + charmap "ネ", $97 + charmap "ノ", $98 + charmap "ハ", $99 + charmap "ヒ", $9a + charmap "フ", $9b + charmap "ホ", $9c + charmap "マ", $9d + charmap "ミ", $9e + charmap "ム", $9f + charmap "メ", $a0 + charmap "モ", $a1 + charmap "ヤ", $a2 + charmap "ユ", $a3 + charmap "ヨ", $a4 + charmap "ラ", $a5 + charmap "ル", $a6 + charmap "レ", $a7 + charmap "ロ", $a8 + charmap "ワ", $a9 + charmap "ヲ", $aa + charmap "ン", $ab + charmap "ッ", $ac + charmap "ャ", $ad + charmap "ュ", $ae + charmap "ョ", $af + charmap "ィ", $b0 + + charmap "あ", $b1 + charmap "い", $b2 + charmap "う", $b3 + charmap "え", $b4 + charmap "お", $b5 + charmap "か", $b6 + charmap "き", $b7 + charmap "く", $b8 + charmap "け", $b9 + charmap "こ", $ba + charmap "さ", $bb + charmap "し", $bc + charmap "す", $bd + charmap "せ", $be + charmap "そ", $bf + charmap "た", $c0 + charmap "ち", $c1 + charmap "つ", $c2 + charmap "て", $c3 + charmap "と", $c4 + charmap "な", $c5 + charmap "に", $c6 + charmap "ぬ", $c7 + charmap "ね", $c8 + charmap "の", $c9 + charmap "は", $ca + charmap "ひ", $cb + charmap "ふ", $cc + charmap "へ", $cd + charmap "ほ", $ce + charmap "ま", $cf + charmap "み", $d0 + charmap "む", $d1 + charmap "め", $d2 + charmap "も", $d3 + charmap "や", $d4 + charmap "ゆ", $d5 + charmap "よ", $d6 + charmap "ら", $d7 + charmap "り", $d8 + charmap "る", $d9 + charmap "れ", $da + charmap "ろ", $db + charmap "わ", $dc + charmap "を", $dd + charmap "ん", $de + charmap "っ", $df + charmap "ゃ", $e0 + charmap "ゅ", $e1 + charmap "ょ", $e2 + + charmap "ー", $e3 + charmap "゚", $e4 + charmap "゙", $e5 + + charmap "?", $e6 + charmap "!", $e7 + charmap "。", $e8 + + charmap "ァ", $e9 + charmap "ゥ", $ea + charmap "ェ", $eb + + charmap "円", $f0 + + charmap ".", $f2 + charmap "/", $f3 + + charmap "ォ", $f4 + + charmap "0", $f6 + charmap "1", $f7 + charmap "2", $f8 + charmap "3", $f9 + charmap "4", $fa + charmap "5", $fb + charmap "6", $fc + charmap "7", $fd + charmap "8", $fe + charmap "9", $ff diff --git a/pokecrystal/charmap_en.asm b/pokecrystal/charmap_en.asm new file mode 100644 index 0000000..d5bd2bc --- /dev/null +++ b/pokecrystal/charmap_en.asm @@ -0,0 +1,418 @@ +; $00-$16 are TX_* constants (see macros/scripts/text.asm) + +; Control characters (see home/text.asm) + + charmap "", $00 + charmap "", $14 ; "くん" or "ちゃん"; same as "" in English + charmap "", $15 + charmap "", $16 + charmap "¯", $1f ; soft linebreak + charmap "", $22 + charmap "", $24 ; "" + charmap "%", $25 ; soft linebreak in landmark names + charmap "", $38 ; wRedsName + charmap "", $39 ; wGreensName + charmap "", $3f + charmap "", $49 ; wMomsName + charmap "", $4a ; "" + charmap "<_CONT>", $4b ; implements "" + charmap "", $4c + charmap "", $4e + charmap "", $4f + charmap "@", $50 ; string terminator + charmap "", $51 + charmap "", $52 ; wPlayerName + charmap "", $53 ; wRivalName + charmap "#", $54 ; "POKé" + charmap "", $55 + charmap "<……>", $56 ; "……" + charmap "", $57 + charmap "", $58 + charmap "", $59 + charmap "", $5a + charmap "", $5b ; "PC" + charmap "", $5c ; "TM" + charmap "", $5d ; "TRAINER" + charmap "", $5e ; "ROCKET" + charmap "", $5f + +; Actual characters (from gfx/font/font_extra.png) + + charmap "", $60 ; unused + charmap "", $61 ; unused + charmap "", $62 ; unused + charmap "", $63 ; unused + charmap "", $64 ; unused + charmap "", $65 ; unused + charmap "", $66 ; unused + charmap "", $67 ; unused + charmap "", $68 ; unused + charmap "", $69 + charmap "", $6a + charmap "", $6b ; unused + charmap "", $6c ; unused + charmap "", $6d ; colon with tinier dots than ":" + charmap "ぃ", $6e ; hiragana small i, unused + charmap "ぅ", $6f ; hiragana small u, unused + charmap "", $70 + charmap "", $71 + charmap "“", $72 ; opening quote + charmap "”", $73 ; closing quote + charmap "·", $74 ; middle dot, unused + charmap "…", $75 ; ellipsis + charmap "ぁ", $76 ; hiragana small a, unused + charmap "ぇ", $77 ; hiragana small e, unused + charmap "ぉ", $78 ; hiragana small o, unused + + charmap "┌", $79 + charmap "─", $7a + charmap "┐", $7b + charmap "│", $7c + charmap "└", $7d + charmap "┘", $7e + charmap " ", $7f + +; Actual characters (from gfx/font/font_battle_extra.png) + + charmap "", $6e + + charmap "", $70 ; hiragana small do, unused + charmap "◀", $71 + charmap "『", $72 ; Japanese opening quote, unused + charmap "", $73 + charmap "№", $74 + +; Actual characters (from other graphics files) + + ; needed for _LoadFontsExtra1 (see engine/load_font.asm) + charmap "■", $60 ; gfx/font/black.2bpp + charmap "▲", $61 ; gfx/font/up_arrow.png + charmap "☎", $62 ; gfx/font/phone_icon.2bpp + + ; needed for MagikarpHouseSign (see engine/events/magikarp.asm) + charmap "′", $6e ; gfx/font/feet_inches.png + charmap "″", $6f ; gfx/font/feet_inches.png + + ; needed for StatsScreen_PlaceShinyIcon and PrintPartyMonPage1 + charmap "⁂", $3f ; gfx/stats/stats_tiles.png, tile 14 + +; Actual characters (from gfx/font/font.png) + + charmap "A", $80 + charmap "B", $81 + charmap "C", $82 + charmap "D", $83 + charmap "E", $84 + charmap "F", $85 + charmap "G", $86 + charmap "H", $87 + charmap "I", $88 + charmap "J", $89 + charmap "K", $8a + charmap "L", $8b + charmap "M", $8c + charmap "N", $8d + charmap "O", $8e + charmap "P", $8f + charmap "Q", $90 + charmap "R", $91 + charmap "S", $92 + charmap "T", $93 + charmap "U", $94 + charmap "V", $95 + charmap "W", $96 + charmap "X", $97 + charmap "Y", $98 + charmap "Z", $99 + + charmap "(", $9a + charmap ")", $9b + charmap ":", $9c + charmap ";", $9d + charmap "[", $9e + charmap "]", $9f + + charmap "a", $a0 + charmap "b", $a1 + charmap "c", $a2 + charmap "d", $a3 + charmap "e", $a4 + charmap "f", $a5 + charmap "g", $a6 + charmap "h", $a7 + charmap "i", $a8 + charmap "j", $a9 + charmap "k", $aa + charmap "l", $ab + charmap "m", $ac + charmap "n", $ad + charmap "o", $ae + charmap "p", $af + charmap "q", $b0 + charmap "r", $b1 + charmap "s", $b2 + charmap "t", $b3 + charmap "u", $b4 + charmap "v", $b5 + charmap "w", $b6 + charmap "x", $b7 + charmap "y", $b8 + charmap "z", $b9 + + charmap "Ä", $c0 + charmap "Ö", $c1 + charmap "Ü", $c2 + charmap "ä", $c3 + charmap "ö", $c4 + charmap "ü", $c5 + + charmap "'d", $d0 + charmap "'l", $d1 + charmap "'m", $d2 + charmap "'r", $d3 + charmap "'s", $d4 + charmap "'t", $d5 + charmap "'v", $d6 + + charmap "←", $df + charmap "'", $e0 + charmap "", $e1 + charmap "", $e2 + charmap "-", $e3 + + charmap "?", $e6 + charmap "!", $e7 + charmap ".", $e8 + charmap "&", $e9 + + charmap "é", $ea + charmap "→", $eb + charmap "▷", $ec + charmap "▶", $ed + charmap "▼", $ee + charmap "♂", $ef + charmap "¥", $f0 + charmap "×", $f1 + charmap "", $f2 ; decimal point; same as "." in English + charmap "/", $f3 + charmap ",", $f4 + charmap "♀", $f5 + + charmap "0", $f6 + charmap "1", $f7 + charmap "2", $f8 + charmap "3", $f9 + charmap "4", $fa + charmap "5", $fb + charmap "6", $fc + charmap "7", $fd + charmap "8", $fe + charmap "9", $ff + +; Japanese control characters (see home/text.asm) + + charmap "", $18 ; "ノ゛"? (ungrammatical) + charmap "", $1d ; "に " + charmap "", $1e ; "って" + charmap "", $1f ; "を " + charmap "", $22 ; "た!" + charmap "", $23 ; "こうげき" + charmap "", $24 ; "は " + charmap "", $25 ; "の " + charmap "", $35 ; "ばん どうろ" + charmap "", $36 ; "わたし" + charmap "", $37 ; "ここは" + charmap "", $4a ; "が " + +; Japanese kana, for those bits of text that were not translated to English + + charmap "ガ", $05 + charmap "ギ", $06 + charmap "グ", $07 + charmap "ゲ", $08 + charmap "ゴ", $09 + charmap "ザ", $0a + charmap "ジ", $0b + charmap "ズ", $0c + charmap "ゼ", $0d + charmap "ゾ", $0e + charmap "ダ", $0f + charmap "ヂ", $10 + charmap "ヅ", $11 + charmap "デ", $12 + charmap "ド", $13 + + charmap "バ", $19 + charmap "ビ", $1a + charmap "ブ", $1b + charmap "ボ", $1c + + charmap "が", $26 + charmap "ぎ", $27 + charmap "ぐ", $28 + charmap "げ", $29 + charmap "ご", $2a + charmap "ざ", $2b + charmap "じ", $2c + charmap "ず", $2d + charmap "ぜ", $2e + charmap "ぞ", $2f + charmap "だ", $30 + charmap "ぢ", $31 + charmap "づ", $32 + charmap "で", $33 + charmap "ど", $34 + + charmap "ば", $3a + charmap "び", $3b + charmap "ぶ", $3c + charmap "べ", $3d + charmap "ぼ", $3e + + charmap "パ", $40 + charmap "ピ", $41 + charmap "プ", $42 + charmap "ポ", $43 + charmap "ぱ", $44 + charmap "ぴ", $45 + charmap "ぷ", $46 + charmap "ぺ", $47 + charmap "ぽ", $48 + + charmap "「", $70 + charmap "」", $71 + charmap "』", $73 + charmap "⋯", $75 + + charmap " ", $7f + + charmap "ア", $80 + charmap "イ", $81 + charmap "ウ", $82 + charmap "エ", $83 + charmap "オ", $84 + charmap "カ", $85 + charmap "キ", $86 + charmap "ク", $87 + charmap "ケ", $88 + charmap "コ", $89 + charmap "サ", $8a + charmap "シ", $8b + charmap "ス", $8c + charmap "セ", $8d + charmap "ソ", $8e + charmap "タ", $8f + charmap "チ", $90 + charmap "ツ", $91 + charmap "テ", $92 + charmap "ト", $93 + charmap "ナ", $94 + charmap "ニ", $95 + charmap "ヌ", $96 + charmap "ネ", $97 + charmap "ノ", $98 + charmap "ハ", $99 + charmap "ヒ", $9a + charmap "フ", $9b + charmap "ホ", $9c + charmap "マ", $9d + charmap "ミ", $9e + charmap "ム", $9f + charmap "メ", $a0 + charmap "モ", $a1 + charmap "ヤ", $a2 + charmap "ユ", $a3 + charmap "ヨ", $a4 + charmap "ラ", $a5 + charmap "ル", $a6 + charmap "レ", $a7 + charmap "ロ", $a8 + charmap "ワ", $a9 + charmap "ヲ", $aa + charmap "ン", $ab + charmap "ッ", $ac + charmap "ャ", $ad + charmap "ュ", $ae + charmap "ョ", $af + charmap "ィ", $b0 + + charmap "あ", $b1 + charmap "い", $b2 + charmap "う", $b3 + charmap "え", $b4 + charmap "お", $b5 + charmap "か", $b6 + charmap "き", $b7 + charmap "く", $b8 + charmap "け", $b9 + charmap "こ", $ba + charmap "さ", $bb + charmap "し", $bc + charmap "す", $bd + charmap "せ", $be + charmap "そ", $bf + charmap "た", $c0 + charmap "ち", $c1 + charmap "つ", $c2 + charmap "て", $c3 + charmap "と", $c4 + charmap "な", $c5 + charmap "に", $c6 + charmap "ぬ", $c7 + charmap "ね", $c8 + charmap "の", $c9 + charmap "は", $ca + charmap "ひ", $cb + charmap "ふ", $cc + charmap "へ", $cd + charmap "ほ", $ce + charmap "ま", $cf + charmap "み", $d0 + charmap "む", $d1 + charmap "め", $d2 + charmap "も", $d3 + charmap "や", $d4 + charmap "ゆ", $d5 + charmap "よ", $d6 + charmap "ら", $d7 + charmap "り", $d8 + charmap "る", $d9 + charmap "れ", $da + charmap "ろ", $db + charmap "わ", $dc + charmap "を", $dd + charmap "ん", $de + charmap "っ", $df + charmap "ゃ", $e0 + charmap "ゅ", $e1 + charmap "ょ", $e2 + + charmap "ー", $e3 + charmap "゚", $e4 + charmap "゙", $e5 + + charmap "?", $e6 + charmap "!", $e7 + charmap "。", $e8 + + charmap "ァ", $e9 + charmap "ゥ", $ea + charmap "ェ", $eb + + charmap "円", $f0 + + charmap ".", $f2 + charmap "/", $f3 + + charmap "ォ", $f4 + + charmap "0", $f6 + charmap "1", $f7 + charmap "2", $f8 + charmap "3", $f9 + charmap "4", $fa + charmap "5", $fb + charmap "6", $fc + charmap "7", $fd + charmap "8", $fe + charmap "9", $ff diff --git a/pokecrystal/constants.asm b/pokecrystal/constants.asm index 57a7b78..49172cf 100644 --- a/pokecrystal/constants.asm +++ b/pokecrystal/constants.asm @@ -1,5 +1,7 @@ IF DEF(_NEWS_EN) -INCLUDE "pokecrystal/charmap_int.asm" +INCLUDE "pokecrystal/charmap_en.asm" +ELIF DEF(_NEWS_DE) +INCLUDE "pokecrystal/charmap_de.asm" ELSE INCLUDE "pokecrystal/charmap.asm" ENDC