From 45f97c4352c6f633c1990941974ac36bf5a46c1b Mon Sep 17 00:00:00 2001 From: KiritoDv Date: Fri, 13 Oct 2023 13:33:00 -0600 Subject: [PATCH] Reimplemented jp bugs and behaviors when using a jp rom --- include/text_menu_strings.h.in | 18 - include/text_strings.h.in | 475 -------------------- src/game/behaviors/bbh_tilting_trap.inc.c | 23 +- src/game/behaviors/boo.inc.c | 31 +- src/game/behaviors/bowser.inc.c | 6 +- src/game/behaviors/coin.inc.c | 12 +- src/game/behaviors/cruiser.inc.c | 4 +- src/game/behaviors/dorrie.inc.c | 43 +- src/game/behaviors/hidden_star.inc.c | 10 +- src/game/behaviors/intro_lakitu.inc.c | 4 +- src/game/behaviors/king_bobomb.inc.c | 24 +- src/game/behaviors/mips.inc.c | 24 +- src/game/behaviors/moneybag.inc.c | 12 +- src/game/behaviors/mr_i.inc.c | 4 - src/game/behaviors/racing_penguin.inc.c | 19 +- src/game/behaviors/sparkle_spawn_star.inc.c | 6 +- src/game/behaviors/tuxie.inc.c | 24 +- src/game/camera.c | 45 +- src/game/hud.c | 10 +- src/game/interaction.c | 15 +- src/game/mario_actions_airborne.c | 46 +- src/game/mario_actions_automatic.c | 48 +- src/game/mario_actions_cutscene.c | 68 ++- src/game/mario_actions_moving.c | 6 +- src/game/object_helpers.c | 57 ++- src/game/object_helpers.h | 3 - src/game/object_list_processor.c | 6 +- src/game/platform_displacement.c | 2 - src/game/platform_displacement.h | 2 - src/goddard/renderer.c | 2 +- src/goddard/shape_helper.c | 4 - src/menu/file_select.c | 192 +++----- src/menu/star_select.c | 6 +- 33 files changed, 283 insertions(+), 968 deletions(-) delete mode 100644 include/text_menu_strings.h.in delete mode 100644 include/text_strings.h.in diff --git a/include/text_menu_strings.h.in b/include/text_menu_strings.h.in deleted file mode 100644 index c9f93af3..00000000 --- a/include/text_menu_strings.h.in +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef TEXT_MENU_STRINGS_H -#define TEXT_MENU_STRINGS_H - -// These strings use a different table defined in menu_hud_lut -// Unlike text_strings.h.in, the charmap is different and -// uses char values from charmap_menu.txt - -/** - * File Select JP HUD Text - */ -#define TEXT_JPHUD_MARIO _("マリオ") -#define TEXT_JPHUD_SELECT_FILE _("ファイルセレクト") -#define TEXT_JPHUD_CHECK_FILE _("どのスコアをみる?") -#define TEXT_JPHUD_COPY_FILE _("ファイルコピーする") -#define TEXT_JPHUD_ERASE_FILE _("ファイルけす") -#define TEXT_JPHUD_SOUND_SELECT _("サウンドセレクト") - -#endif // TEXT_MENU_STRINGS_H diff --git a/include/text_strings.h.in b/include/text_strings.h.in deleted file mode 100644 index 749179b1..00000000 --- a/include/text_strings.h.in +++ /dev/null @@ -1,475 +0,0 @@ -#ifndef TEXT_STRINGS_H -#define TEXT_STRINGS_H - -#include "text_menu_strings.h" - -/** - * Global Symbols - */ -#define TEXT_ZERO _("0") -#define TEXT_COIN _("$") -#define TEXT_STAR _("★") -#define TEXT_COIN_X _("$×") -#define TEXT_STAR_X _("★×") -#define TEXT_VARIABLE_X _("×") -#define TEXT_UNFILLED_STAR _("☆") - -/** - * Global Text - */ -// File Select -#define TEXT_NEW _("NEW") // New File Text -#define TEXT_4DASHES _("----") // Used in Score File Menu - -// Ingame Menu -#define TEXT_PAUSE _("PAUSE") // Pause text, Castle Courses -#define TEXT_HUD_CONGRATULATIONS _("CONGRATULATIONS") // Course Complete Text, Bowser Courses - -#if defined(VERSION_JP) || defined(VERSION_SH) - -/** - * File Select Text - */ -// Main Screens -// JPHUD menu strings are defined in "text_menu_strings.h.in" -#define TEXT_MARIO TEXT_JPHUD_MARIO // View Score Menu -#define TEXT_SELECT_FILE TEXT_JPHUD_SELECT_FILE -#define TEXT_CHECK_FILE TEXT_JPHUD_CHECK_FILE -#define TEXT_COPY_FILE TEXT_JPHUD_COPY_FILE -#define TEXT_ERASE_FILE TEXT_JPHUD_ERASE_FILE -#define TEXT_SOUND_SELECT TEXT_JPHUD_SOUND_SELECT - -#define TEXT_FILE_MARIO_A _("マリオA") -#define TEXT_FILE_MARIO_B _("マリオB") -#define TEXT_FILE_MARIO_C _("マリオC") -#define TEXT_FILE_MARIO_D _("マリオD") - -// Menu Options -#define TEXT_SCORE _("スコア") -#define TEXT_COPY _("コピー") -#define TEXT_ERASE _("けす") - -// Sound Options -#define TEXT_STEREO _("ステレオ") -#define TEXT_MONO _("モノラル") -#define TEXT_HEADSET _("ヘッドホン") - -// Misc Menu Text -#define TEXT_SAVED_DATA_EXISTS _("ファイルにデータがはいってます") -#define TEXT_NO_SAVED_DATA_EXISTS _("ファイルにデータがありません") - -// Inside a Menu -#define TEXT_RETURN _("もどる") -#define TEXT_CHECK_SCORE _("スコアをみる") -#define TEXT_COPY_FILE_BUTTON _("ファイルコピー") -#define TEXT_ERASE_FILE_BUTTON _("ファイルけす") - -// Score Menu -#define TEXT_HI_SCORE _("ハイスコア") -#define TEXT_MY_SCORE _("マイスコア") -#define TEXT_SCORE_MARIO_A _("マリオA") -#define TEXT_SCORE_MARIO_B _("マリオB") -#define TEXT_SCORE_MARIO_C _("マリオC") -#define TEXT_SCORE_MARIO_D _("マリオD") - -// Copy Menu -#define TEXT_COPY_IT_TO_WHERE _("どこにコピーしますか?") -#define TEXT_COPYING_COMPLETED _("コピーおわりました") -#define TEXT_NO_FILE_TO_COPY_FROM _("からのファイルがありません") - -// Erase Menu -#define TEXT_SURE _("ほんと?") -#define TEXT_YES _("はい") -#define TEXT_NO _("いいえ") -#define TEXT_FILE_MARIO_A_JUST_ERASED _("マリオAをけしました") - -/** - * Menus Text (Pause, Course Completed) - */ -// Main Courses -#define TEXT_COURSE _("コース") -#define TEXT_MYSCORE _("マイスコア") -#define TEXT_CONTINUE _("つづけて マリオする?") -#define TEXT_EXIT_COURSE _("コースからでる?") -#define TEXT_CAMERA_ANGLE_R _("Rボタンのカメラきりかえ") - -// Camera Options -#define TEXT_LAKITU_MARIO _("ジュゲム↔マリオ") -#define TEXT_LAKITU_STOP _("ジュゲム↔ストップ") -#define TEXT_NORMAL_UPCLOSE _("(おすすめ)(リアル)") -#define TEXT_NORMAL_FIXED _("(おすすめ)(とまる)") - -// Course Completed Misc Text -#define TEXT_CATCH _("キャッチ!") -#define TEXT_CLEAR _("クリア!") -#define TEXT_HUD_HI_SCORE _("HISCORE") - -// Save Options -#define TEXT_SAVE_AND_CONTINUE _("セーブしてつづける?") -#define TEXT_SAVE_AND_QUIT _("セーブしておわる?") -#define TEXT_CONTINUE_WITHOUT_SAVING _("セーブしないでつづける?") - -/** - * Ending Peach cutscene text. - */ -#define TEXT_FILE_MARIO_EXCLAMATION _("マリオ!!") -#define TEXT_POWER_STARS_RESTORED _("おしろにスターが もどったのね") -#define TEXT_THANKS_TO_YOU _("みんな あなたのおかげだわ!") -#define TEXT_THANK_YOU_MARIO _("ありがとう マリオ") -#define TEXT_SOMETHING_SPECIAL _("なにか おれいをしなくちゃ・・") -#define TEXT_LISTEN_EVERYBODY _("さあ みんな") -#define TEXT_LETS_HAVE_CAKE _("おいしいケーキを やきましょう") -#define TEXT_FOR_MARIO _("マリオの ために・・・") -#define TEXT_FILE_MARIO_QUESTION _("マリオ?") - -#endif - -#if defined(VERSION_US) || defined(VERSION_EU) - -/** - * File Select Text - */ -// Main Screens -#define TEXT_MARIO _("MARIO") // View Score Menu -#define TEXT_SELECT_FILE _("SELECT FILE") -#define TEXT_CHECK_FILE _("CHECK FILE") -#define TEXT_COPY_FILE _("COPY FILE") -#define TEXT_ERASE_FILE _("ERASE FILE") -#define TEXT_SOUND_SELECT _("SOUND SELECT") -#define TEXT_FILE_MARIO_A _("MARIO A") -#define TEXT_FILE_MARIO_B _("MARIO B") -#define TEXT_FILE_MARIO_C _("MARIO C") -#define TEXT_FILE_MARIO_D _("MARIO D") - -// Menu Options -#define TEXT_SCORE _("SCORE") -#define TEXT_COPY _("COPY") -#define TEXT_ERASE _("ERASE") - -// Sound Options -#define TEXT_STEREO _("STEREO") -#define TEXT_MONO _("MONO") -#define TEXT_HEADSET _("HEADSET") - -// Misc Menu Text -#define TEXT_SAVED_DATA_EXISTS _("SAVED DATA EXITS") // Misspell -#define TEXT_NO_SAVED_DATA_EXISTS _("NO SAVED DATA EXISTS") - -// Inside a Menu -#define TEXT_RETURN _("RETURN") -#define TEXT_CHECK_SCORE _("CHECK SCORE") -#define TEXT_COPY_FILE_BUTTON _("COPY FILE") -#define TEXT_ERASE_FILE_BUTTON _("ERASE FILE") - -// Score Menu -#define TEXT_HI_SCORE _("HI SCORE") -#define TEXT_MY_SCORE _("MY SCORE") -// Score Mario Text ("☺" is the Mario face defined in the US/EU menu char table) -#define TEXT_SCORE_MARIO_A _("☺A") -#define TEXT_SCORE_MARIO_B _("☺B") -#define TEXT_SCORE_MARIO_C _("☺C") -#define TEXT_SCORE_MARIO_D _("☺D") - -// Copy Menu -#define TEXT_COPY_IT_TO_WHERE _("COPY IT TO WHERE?") -#define TEXT_COPYING_COMPLETED _("COPYING COMPLETED") -#define TEXT_NO_FILE_TO_COPY_FROM _("NO EMPTY FILE") - -// Erase Menu -#define TEXT_SURE _("SURE?") -#define TEXT_YES _("YES") -#define TEXT_NO _("NO") -#define TEXT_FILE_MARIO_A_JUST_ERASED _("MARIO A JUST ERASED") - -/** - * Menus Text (Pause, Course Completed) - */ -// Main Courses -#define TEXT_COURSE _("COURSE") -#define TEXT_MYSCORE _("MYSCORE") -#define TEXT_CONTINUE _("CONTINUE") -#define TEXT_EXIT_COURSE _("EXIT COURSE") -#ifndef VERSION_EU // "R" text is different in EU -#define TEXT_CAMERA_ANGLE_R _("SET CAMERA ANGLE WITH R") -#endif - -// Camera Options -#define TEXT_LAKITU_MARIO _("LAKITU + MARIO") -#define TEXT_LAKITU_STOP _("LAKITU + STOP") -#define TEXT_NORMAL_UPCLOSE __("(NORMAL)(UP-CLOSE)") -#define TEXT_NORMAL_FIXED __("(NORMAL)(FIXED)") - -// Course Completed Misc Text -#define TEXT_CATCH _("CATCH") -#define TEXT_CLEAR _("CLEAR") -#define TEXT_HUD_HI_SCORE _("HI SCORE") - -// Save Options -#define TEXT_SAVE_AND_CONTINUE _("SAVE & CONTINUE") -#define TEXT_SAVE_AND_QUIT _("SAVE & QUIT") -#define TEXT_CONTINUE_WITHOUT_SAVING _("CONTINUE, DON'T SAVE") - -/** - * Ending Peach cutscene text. - */ -#define TEXT_FILE_MARIO_EXCLAMATION _("Mario!") -#define TEXT_POWER_STARS_RESTORED __("The power of the Stars is restored to the castle...") -#define TEXT_THANKS_TO_YOU __("...and it's all thanks to you!") -#define TEXT_THANK_YOU_MARIO __("Thank you, Mario!") -#define TEXT_SOMETHING_SPECIAL __("We have to do something special for you...") -#define TEXT_LISTEN_EVERYBODY _("Listen, everybody,") -#define TEXT_LETS_HAVE_CAKE _("let's bake a delicious cake...") -#define TEXT_FOR_MARIO _("...for Mario...") -#define TEXT_FILE_MARIO_QUESTION _("Mario!") - -#endif - -#ifdef VERSION_EU - -/** - * File Select Text - */ -#define TEXT_RETURN_FR _("RETOUR") -#define TEXT_RETURN_DE _("ZURÜCK") - -#define TEXT_CHECK_SCORE_FR _("SCORE") -#define TEXT_CHECK_SCORE_DE _("LEISTUNG") - -#define TEXT_COPY_FILE_FR _("COPIER") -#define TEXT_COPY_FILE_DE _("KOPIEREN") - -#define TEXT_ERASE_FILE_FR _("EFFACER") -#define TEXT_ERASE_FILE_DE _("LÖSCHEN") - -#define TEXT_SELECT_FILE_FR _("CHOISIR FICHIER") -#define TEXT_SELECT_FILE_DE _("WwHLE SPIEL") - -#define TEXT_SCORE_FR _("SCORE") -#define TEXT_SCORE_DE _("LEISTUNG") - -#define TEXT_COPY_FR _("COPIER") -#define TEXT_COPY_DE _("KOPIEREN") - -#define TEXT_ERASE_FR _("EFFACER") -#define TEXT_ERASE_DE _("LÖSCHEN") - -#define TEXT_OPTION _("OPTION") // new in EU -#define TEXT_OPTION_FR _("OPTION") -#define TEXT_OPTION_DE _("OPTIONEN") - -#define TEXT_CHECK_FILE_FR _("VOIR SCORE") -#define TEXT_CHECK_FILE_DE _("VON WELCHEM SPIEL") - -#define TEXT_NO_SAVED_DATA_EXISTS_FR _("AUCUNE SAUVEGARDE DISPONIBLE") -#define TEXT_NO_SAVED_DATA_EXISTS_DE _("KEIN SPIEL VORHANDEN") - -#define TEXT_COPY_FILE_BUTTON_FR _("COPIER FICHIER") -#define TEXT_COPY_FILE_BUTTON_DE _("SPIEL KOPIEREN") - -#define TEXT_COPY_IT_TO_WHERE_FR _("COPIER SUR?") -#define TEXT_COPY_IT_TO_WHERE_DE _("WOHIN KOPIEREN?") - -#define TEXT_COPYING_COMPLETED_FR _("COPIE ACHEVEÉ") -#define TEXT_COPYING_COMPLETED_DE _("SPIEL KOPIERT") - -#define TEXT_SAVED_DATA_EXISTS_FR _("SAVEGARDE EXISTANTE") -#define TEXT_SAVED_DATA_EXISTS_DE _("BEREITS BELEGT") - -#define TEXT_NO_FILE_TO_COPY_FROM_FR _("AUCUN FICHIER VIDE") -#define TEXT_NO_FILE_TO_COPY_FROM_DE _("KEIN PLATZ VORHANDEN") - -#define TEXT_YES_FR _("OUI") -#define TEXT_YES_DE _("JA") - -#define TEXT_NO_FR _("NON") -#define TEXT_NO_DE _("NEIN") - -#define TEXT_ERASE_FILE_BUTTON_FR _("EFFACER FICHIER") -#define TEXT_ERASE_FILE_BUTTON_DE _("SPIEL LxSCHEN") - -#define TEXT_SURE_FR _("OK?") -#define TEXT_SURE_DE _("SICHER?") - -#define TEXT_FILE_MARIO_A_JUST_ERASED_FR _("MARIO A EFFACÉ") -#define TEXT_FILE_MARIO_A_JUST_ERASED_DE _("MARIO A GELÖSCHT") - -#define TEXT_SOUND_SELECT_FR _("SON") -#define TEXT_SOUND_SELECT_DE _("SOUND") - -#define TEXT_LANGUAGE_SELECT _("LANGUAGE SELECT") // new in EU -#define TEXT_LANGUAGE_SELECT_FR _("SELECTION LANGUE") -#define TEXT_LANGUAGE_SELECT_DE _("WwHLE SPRACHE") - -#define TEXT_STEREO_FR _("STÉRÉO") -#define TEXT_MONO_FR _("MONO") -#define TEXT_HEADSET_FR _("CASQUE") - -#define TEXT_STEREO_DE _("STEREO") -#define TEXT_MONO_DE _("MONO") -#define TEXT_HEADSET_DE _("PHONES") - -#define TEXT_ENGLISH _("ENGLISH") -#define TEXT_FRENCH _("FRANÇAIS") -#define TEXT_GERMAN _("DEUTSCH") - -#define TEXT_HI_SCORE_FR _("MEILLEUR SCORE") -#define TEXT_HI_SCORE_DE _("BESTLEISTUNG") - -#define TEXT_MY_SCORE_FR _("MON SCORE") -#define TEXT_MY_SCORE_DE _("LEISTUNG") - -#define TEXT_NEW_FR _("VIDE") -#define TEXT_NEW_DE _("FREI") - - -/** - * Menus Text (Pause, Course Completed) - */ -// Main Courses -// English, "R" text is different -#define TEXT_CAMERA_ANGLE_R _("SET CAMERA ANGLE WITH [R]") -// French -#define TEXT_COURSE_FR _("NIVEAU") -#define TEXT_MY_SCORE_FR _("MON SCORE") -#define TEXT_CONTINUE_FR _("CONTINUER") -#define TEXT_EXIT_COURSE_FR _("QUITTER NIVEAU") -#define TEXT_CAMERA_ANGLE_R_FR _("RÉGLAGE CAMÉRA AVEC [R]") -// German -#define TEXT_COURSE_DE _("KURS") -#define TEXT_MY_SCORE_DE _("LEISTUNG") -#define TEXT_CONTINUE_DE _("WEITER") -#define TEXT_EXIT_COURSE_DE _("KURS VERLASSEN") -#define TEXT_CAMERA_ANGLE_R_DE _("KAMERA MIT [R] VERSTELLEN") - -// Camera Options -// French -#define TEXT_NORMAL_UPCLOSE_FR __("(NORMAL)(GROS-PLAN)") -#define TEXT_NORMAL_FIXED_FR __("(NORMAL)(FIXE)") -// German -#define TEXT_NORMAL_UPCLOSE_DE __("(NORMAL)(WEIT-ZOOM)") -#define TEXT_NORMAL_FIXED_DE __("(NORMAL)(STATIV)") - -// Course Completed Misc Text -// French -#define TEXT_HUD_HI_SCORE_FR _("MEILLEUR SCORE") -#define TEXT_HUD_CONGRATULATIONS_FR _("FELICITATIONS") -// German -#define TEXT_HUD_HI_SCORE_DE _("BESTLEISTUNG") -#define TEXT_HUD_CONGRATULATIONS_DE _("GRATULATION") - -// Save Options -// French -#define TEXT_SAVE_AND_CONTINUE_FR _("SAUVEGARDER & CONTINUER") -#define TEXT_SAVE_AND_QUIT_FR _("SAUVEGARDER & QUITTER") -#define TEXT_CONTINUE_WITHOUT_SAVING_FR _("CONTINUER SANS SAUVEGARDER") -// German -#define TEXT_SAVE_AND_CONTINUE_DE _("SPEICHERN & WEITER") -#define TEXT_SAVE_AND_QUIT_DE _("SPEICHERN & ENDE") -#define TEXT_CONTINUE_WITHOUT_SAVING_DE _("WEITER OHNE ZU SPEICHERN") - -/** - * Ending Peach cutscene text. - */ -// French -#define TEXT_POWER_STARS_RESTORED_FR _("Grâce aux étoiles, le château a retrouvé ses pouvoirs...") -#define TEXT_THANKS_TO_YOU_FR _("...et ceci grâce à toi!") -#define TEXT_THANK_YOU_MARIO_FR _("Merci, Mario!") -#define TEXT_SOMETHING_SPECIAL_FR _("Tu mérites une récompense...") -#define TEXT_COME_ON_EVERYBODY_FR _("Venez les amis...") -#define TEXT_LETS_HAVE_CAKE_FR _("Allons préparer un délicieux gâteau...") -#define TEXT_FOR_MARIO_FR _("...pour Mario...") -// German -#define TEXT_POWER_STARS_RESTORED_DE _("Die Macht der Sterne ruht wieder sicher im Schloss...") -#define TEXT_THANKS_TO_YOU_DE _("...und alles dank Deiner Hilfe!") -#define TEXT_THANK_YOU_MARIO_DE _("Vielen Dank, Mario!") -#define TEXT_SOMETHING_SPECIAL_DE _("Wir haben eine Überraschung für Dich...") -#define TEXT_COME_ON_EVERYBODY_DE _("Hört alle her...") -#define TEXT_LETS_HAVE_CAKE_DE _("Laßt uns einen leckeren Kuchen backen...") -#define TEXT_FOR_MARIO_DE _("...für Mario...") - -/** - * Course Table names for Score Menu Save view - */ -#define TEXT_MENU_BOB _(" 1 BOB-OMB BATTLEFIELD") -#define TEXT_MENU_WF _(" 2 WHOMP'S FORTRESS") -#define TEXT_MENU_JRB _(" 3 JOLLY ROGER BAY") -#define TEXT_MENU_CCM _(" 4 COOL, COOL MOUNTAIN") -#define TEXT_MENU_BBH _(" 5 BIG BOO'S HAUNT") -#define TEXT_MENU_HMC _(" 6 HAZY MAZE CAVE") -#define TEXT_MENU_LLL _(" 7 LETHAL LAVA LAND") -#define TEXT_MENU_SSL _(" 8 SHIFTING SAND LAND") -#define TEXT_MENU_DDD _(" 9 DIRE, DIRE DOCKS") -#define TEXT_MENU_SL _("10 SNOWMAN'S LAND") -#define TEXT_MENU_WDW _("11 WET-DRY WORLD") -#define TEXT_MENU_TTM _("12 TALL, TALL MOUNTAIN") -#define TEXT_MENU_THI _("13 TINY-HUGE ISLAND") -#define TEXT_MENU_TTC _("14 TICK TOCK CLOCK") -#define TEXT_MENU_RR _("15 RAINBOW RIDE") -#define TEXT_MENU_BITDW _(" BOWSER IN THE DARK WORLD") -#define TEXT_MENU_BITFS _(" BOWSER IN THE FIRE SEA") -#define TEXT_MENU_BITS _(" BOWSER IN THE SKY") -#define TEXT_MENU_PSS _(" THE PRINCESS'S SECRET SLIDE") -#define TEXT_MENU_COTMC _(" CAVERN OF THE METAL CAP") -#define TEXT_MENU_TOTWC _(" TOWER OF THE WING CAP") -#define TEXT_MENU_VCUTM _(" VANISH CAP UNDER THE MOAT") -#define TEXT_MENU_WMOTR _(" WING MARIO OVER THE RAINBOW") -#define TEXT_MENU_SA _(" THE SECRET AQUARIUM") -#define TEXT_MENU_NONE _("") -#define TEXT_MENU_STARS _(" CASTLE SECRET STARS") - -#define TEXT_MENU_BOB_FR _(" 1 BATAILLE DE BOB-OMB") -#define TEXT_MENU_WF_FR _(" 2 FORTERESSE DE WHOMP") -#define TEXT_MENU_JRB_FR _(" 3 BAIE DES PIRATES") -#define TEXT_MENU_CCM_FR _(" 4 MONTAGNE GLA-GLA") -#define TEXT_MENU_BBH_FR _(" 5 MANOIR DE BIG BOO") -#define TEXT_MENU_HMC_FR _(" 6 CAVERNE BRUMEUSE") -#define TEXT_MENU_LLL_FR _(" 7 LAVES FATALES") -#define TEXT_MENU_SSL_FR _(" 8 SABLES TROP MOUVANTS") -#define TEXT_MENU_DDD_FR _(" 9 AFFREUX BASSIN") -#define TEXT_MENU_SL_FR _("10 CHEZ LE ROI DES NEIGES") -#define TEXT_MENU_WDW_FR _("11 MONDE TREMPE-SECHE") -#define TEXT_MENU_TTM_FR _("12 TROP HAUTE MONTAGNE") -#define TEXT_MENU_THI_FR _("13 ILE GRANDS-PETITS") -#define TEXT_MENU_TTC_FR _("14 HORLOGE TIC-TAC") -#define TEXT_MENU_RR_FR _("15 COURSE ARC-EN-CIEL") -#define TEXT_MENU_BITDW_FR _(" BOWSER DES TENEBRES") -#define TEXT_MENU_BITFS_FR _(" BOWSER DES LAVES") -#define TEXT_MENU_BITS_FR _(" BOWSER DES CIEUX") -#define TEXT_MENU_PSS_FR _(" GLISSADE DE LA PRINCESSE") -#define TEXT_MENU_COTMC_FR _(" MINE DES CASQUETTES-METAL") -#define TEXT_MENU_TOTWC_FR _(" INTERRUPTEUR DE LA TOUR AILEE") -#define TEXT_MENU_VCUTM_FR _(" INVISIBLE SOUS LES DOUVES") -#define TEXT_MENU_WMOTR_FR _(" AU-DELA DE L'ARC-EN-CIEL") -#define TEXT_MENU_SA_FR _(" AQUARIUM SECRET") -#define TEXT_MENU_NONE_FR _("") -#define TEXT_MENU_STARS_FR _(" ETOILES SECRETES") - -#define TEXT_MENU_BOB_DE _(" 1 BOB-OMBS BOMBENBERG") -#define TEXT_MENU_WF_DE _(" 2 WUMMPS WUCHTWALL") -#define TEXT_MENU_JRB_DE _(" 3 PIRATENBUCHT PANIK") -#define TEXT_MENU_CCM_DE _(" 4 BIBBERBERG BOB") -#define TEXT_MENU_BBH_DE _(" 5 BIG BOOS BURG") -#define TEXT_MENU_HMC_DE _(" 6 GRÜNE GIFTGROTTE") -#define TEXT_MENU_LLL_DE _(" 7 LAVA LAGUNE") -#define TEXT_MENU_SSL_DE _(" 8 WOBIWABA WÜSTE") -#define TEXT_MENU_DDD_DE _(" 9 WILDE WASSERWERFT") -#define TEXT_MENU_SL_DE _("10 FROSTBEULEN FRUST") -#define TEXT_MENU_WDW_DE _("11 ATLANTIS AQUARIA") -#define TEXT_MENU_TTM_DE _("12 FLIEGENPILZ FIASKO") -#define TEXT_MENU_THI_DE _("13 GULLIVER GUMBA") -#define TEXT_MENU_TTC_DE _("14 TICK TACK TRAUMA") -#define TEXT_MENU_RR_DE _("15 REGENBOGEN RASEREI") -#define TEXT_MENU_BITDW_DE _(" BOWSERS SCHATTENWELT") -#define TEXT_MENU_BITFS_DE _(" BOWSERS LAVASEE") -#define TEXT_MENU_BITS_DE _(" BOWSERS LUFTSCHLOSS") -#define TEXT_MENU_PSS_DE _(" TOADSTOOLS RUTSCHBAHN") -#define TEXT_MENU_COTMC_DE _(" GRÜNER SCHALTERPALAST") -#define TEXT_MENU_TOTWC_DE _(" ROTER SCHALTERPALAST") -#define TEXT_MENU_VCUTM_DE _(" BLAUER SCHALTERPALAST") -#define TEXT_MENU_WMOTR_DE _(" REGENBOGEN FEUERWERK") -#define TEXT_MENU_SA_DE _(" VERSTECKTES AQUARIUM") -#define TEXT_MENU_NONE_DE _("") -#define TEXT_MENU_STARS_DE _(" GEHEIME STERNE") -#endif // VERSION_EU - -#endif // TEXT_STRINGS_H diff --git a/src/game/behaviors/bbh_tilting_trap.inc.c b/src/game/behaviors/bbh_tilting_trap.inc.c index 6f35cf06..9e1b2ff1 100644 --- a/src/game/behaviors/bbh_tilting_trap.inc.c +++ b/src/game/behaviors/bbh_tilting_trap.inc.c @@ -15,21 +15,16 @@ void bhv_bbh_tilting_trap_platform_loop(void) { // if statement, while immediately setting it over here. // This was done so that Mario leaving or getting on the platform // resets oTimer to 0. -#ifndef VERSION_JP - if (gMarioObject->platform == o) { - o->oAction = BBH_TILTING_TRAP_PLATFORM_ACT_MARIO_ON; - } else { - o->oAction = BBH_TILTING_TRAP_PLATFORM_ACT_MARIO_OFF; + if(!ROM_JP){ + if (gMarioObject->platform == o) { + o->oAction = BBH_TILTING_TRAP_PLATFORM_ACT_MARIO_ON; + } else { + o->oAction = BBH_TILTING_TRAP_PLATFORM_ACT_MARIO_OFF; + } } - - if (o->oAction == BBH_TILTING_TRAP_PLATFORM_ACT_MARIO_ON) { -#else - if (gMarioObject->platform == o) { -#endif + if (!ROM_JP ? o->oAction == BBH_TILTING_TRAP_PLATFORM_ACT_MARIO_ON : gMarioObject->platform == o) { o->oAngleVelPitch = (s32)(o->oDistanceToMario * coss(o->oAngleToMario)); o->oFaceAnglePitch += o->oAngleVelPitch; - } else -#ifndef VERSION_JP // In the post-JP versions, if the platform has tilted more than 3000 angle units // in less than 16 frames since Mario got on it, and he has stepped off, // this code will not run, so it will continue to rotate with the same @@ -37,9 +32,7 @@ void bhv_bbh_tilting_trap_platform_loop(void) { // the platform more dangerous. This code will not work correctly // without the oAction changes above, since oTimer will not ever // reset to 0 without them. - if ((absi(o->oFaceAnglePitch) < 3000) || (o->oTimer > 15)) -#endif - { + } else if (ROM_JP || (absi(o->oFaceAnglePitch) < 3000) || (o->oTimer > 15)) { // Make the platform return to the horizontal at a speed of // 200 angle units/frame, and clamp it to 0 if it's within 200 units of 0. o->oAngleVelPitch = 0; diff --git a/src/game/behaviors/boo.inc.c b/src/game/behaviors/boo.inc.c index 1f935acd..b6ed237e 100644 --- a/src/game/behaviors/boo.inc.c +++ b/src/game/behaviors/boo.inc.c @@ -267,13 +267,9 @@ static s32 boo_update_during_death(void) { if (o->oBooParentBigBoo != NULL) { struct Object *parentBigBoo = o->oBooParentBigBoo; -#ifndef VERSION_JP - if (!cur_obj_has_behavior(bhvBoo)) { -#endif + if (ROM_JP || !cur_obj_has_behavior(bhvBoo)) { parentBigBoo->oBigBooNumMinionBoosKilled++; -#ifndef VERSION_JP } -#endif } return TRUE; @@ -499,12 +495,9 @@ static void big_boo_act_0(void) { o->oBooParentBigBoo = NULL; - if (boo_should_be_active() -#ifndef VERSION_JP - && o->oBigBooNumMinionBoosKilled >= gDebugInfo[DEBUG_PAGE_ENEMYINFO][0] + 5 -#else - && o->oBigBooNumMinionBoosKilled >= 5 -#endif + if (boo_should_be_active() && + (ROM_JP ? o->oBigBooNumMinionBoosKilled >= 5 : + o->oBigBooNumMinionBoosKilled >= gDebugInfo[DEBUG_PAGE_ENEMYINFO][0] + 5) ) { o->oAction = 1; @@ -625,9 +618,9 @@ static void big_boo_act_3(void) { } static void big_boo_act_4(void) { -#ifndef VERSION_JP - boo_stop(); -#endif + if(!ROM_JP){ + boo_stop(); + } if (o->oBehParams2ndByte == 0) { obj_set_pos(o, 973, 0, 626); @@ -765,11 +758,11 @@ void bhv_merry_go_round_boo_manager_loop(void) { o->oAction = 2; -#ifndef VERSION_JP - play_puzzle_jingle(); -#else - play_sound(SOUND_GENERAL2_RIGHT_ANSWER, gGlobalSoundSource); -#endif + if(ROM_JP){ + play_sound(SOUND_GENERAL2_RIGHT_ANSWER, gGlobalSoundSource); + } else { + play_puzzle_jingle(); + } } } diff --git a/src/game/behaviors/bowser.inc.c b/src/game/behaviors/bowser.inc.c index 2cd9a96c..e1d3e289 100644 --- a/src/game/behaviors/bowser.inc.c +++ b/src/game/behaviors/bowser.inc.c @@ -331,19 +331,15 @@ void bowser_bitdw_actions(void) { o->oBowserIsReacting = FALSE; // Set starting Bowser level actions, randomly he can also start // dancing after the introduction -#ifndef VERSION_JP - if (gCurrDemoInput == NULL) { // demo check because entry exits post JP -#endif + if (ROM_JP || gCurrDemoInput == NULL) { // demo check because entry exits post JP if (rand < 0.1) { o->oAction = BOWSER_ACT_DANCE; // 10% chance } else { o->oAction = BOWSER_ACT_WALK_TO_MARIO; // common } -#ifndef VERSION_JP } else { o->oAction = BOWSER_ACT_WALK_TO_MARIO; } -#endif } } diff --git a/src/game/behaviors/coin.inc.c b/src/game/behaviors/coin.inc.c index bbd07fcd..15108ac0 100644 --- a/src/game/behaviors/coin.inc.c +++ b/src/game/behaviors/coin.inc.c @@ -105,25 +105,17 @@ void bhv_coin_loop(void) { } if (o->oMoveFlags & OBJ_MOVE_LANDED) { -#ifndef VERSION_JP - if (o->oMoveFlags & (OBJ_MOVE_ABOVE_DEATH_BARRIER | OBJ_MOVE_ABOVE_LAVA)) -#else - if (o->oMoveFlags & OBJ_MOVE_ABOVE_LAVA) -#endif - { + if (o->oMoveFlags & (ROM_JP ? OBJ_MOVE_ABOVE_LAVA : (OBJ_MOVE_ABOVE_DEATH_BARRIER | OBJ_MOVE_ABOVE_LAVA))) { obj_mark_for_deletion(o); } } if (o->oMoveFlags & OBJ_MOVE_BOUNCE) { -#ifndef VERSION_JP - if (o->oCoinUnk1B0 < 5) { + if (!ROM_JP && o->oCoinUnk1B0 < 5) { cur_obj_play_sound_2(SOUND_GENERAL_COIN_DROP); } o->oCoinUnk1B0++; -#else cur_obj_play_sound_2(SOUND_GENERAL_COIN_DROP); -#endif } if (cur_obj_wait_then_blink(400, 20)) { diff --git a/src/game/behaviors/cruiser.inc.c b/src/game/behaviors/cruiser.inc.c index 71b22c03..f236734c 100644 --- a/src/game/behaviors/cruiser.inc.c +++ b/src/game/behaviors/cruiser.inc.c @@ -13,10 +13,8 @@ void bhv_rr_cruiser_wing_loop(void) { o->oFaceAngleYaw = o->oRRCruiserWingUnkF4 - sins(o->oTimer * 0x400) * 8192.0f; o->oFaceAnglePitch = o->oRRCruiserWingUnkF8 + coss(o->oTimer * 0x400) * 2048.0f; } -#ifndef VERSION_JP - if (o->oTimer == 64) { + if (!ROM_JP && o->oTimer == 64) { cur_obj_play_sound_2(SOUND_GENERAL_BOAT_ROCK); o->oTimer = 0; } -#endif } diff --git a/src/game/behaviors/dorrie.inc.c b/src/game/behaviors/dorrie.inc.c index 8919677b..671bbd0c 100644 --- a/src/game/behaviors/dorrie.inc.c +++ b/src/game/behaviors/dorrie.inc.c @@ -61,30 +61,29 @@ void dorrie_act_lower_head(void) { if (cur_obj_init_anim_check_frame(2, 35)) { cur_obj_reverse_animation(); -#ifdef VERSION_JP - if (o->oTimer > 150) { - dorrie_begin_head_raise(FALSE); - } else if (gMarioObject->platform == o) { - if (o->oDorrieForwardDistToMario > 830.0f - && set_mario_npc_dialog(MARIO_DIALOG_LOOK_UP) == MARIO_DIALOG_STATUS_START) { - dorrie_begin_head_raise(TRUE); - } else if (o->oDorrieForwardDistToMario > 320.0f) { - o->oTimer = 0; + if(ROM_JP){ + if (o->oTimer > 150) { + dorrie_begin_head_raise(FALSE); + } else if (gMarioObject->platform == o) { + if (o->oDorrieForwardDistToMario > 830.0f + && set_mario_npc_dialog(MARIO_DIALOG_LOOK_UP) == MARIO_DIALOG_STATUS_START) { + dorrie_begin_head_raise(TRUE); + } else if (o->oDorrieForwardDistToMario > 320.0f) { + o->oTimer = 0; + } + } + } else { + if (gMarioObject->platform == o) { + if (o->oDorrieOffsetY == -17.0f && o->oDorrieForwardDistToMario > 780.0f + && set_mario_npc_dialog(MARIO_DIALOG_LOOK_UP) == MARIO_DIALOG_STATUS_START) { + dorrie_begin_head_raise(TRUE); + } else if (o->oDorrieForwardDistToMario > 320.0f) { + o->oTimer = 0; + } + } else if (o->oTimer > 150) { + dorrie_begin_head_raise(FALSE); } } -#else - if (gMarioObject->platform == o) { - if (o->oDorrieOffsetY == -17.0f && o->oDorrieForwardDistToMario > 780.0f - && set_mario_npc_dialog(MARIO_DIALOG_LOOK_UP) == MARIO_DIALOG_STATUS_START) { - dorrie_begin_head_raise(TRUE); - } else if (o->oDorrieForwardDistToMario > 320.0f) { - o->oTimer = 0; - } - } else if (o->oTimer > 150) { - dorrie_begin_head_raise(FALSE); - } -#endif - } else { o->oDorrieNeckAngle += 0x115; } diff --git a/src/game/behaviors/hidden_star.inc.c b/src/game/behaviors/hidden_star.inc.c index 9dd2c1e3..535b9baa 100644 --- a/src/game/behaviors/hidden_star.inc.c +++ b/src/game/behaviors/hidden_star.inc.c @@ -42,12 +42,12 @@ void bhv_hidden_star_trigger_loop(void) { spawn_orange_number(hiddenStar->oHiddenStarTriggerCounter, 0, 0, 0); } -#ifdef VERSION_JP - play_sound(SOUND_MENU_STAR_SOUND, gGlobalSoundSource); -#else - play_sound(SOUND_MENU_COLLECT_SECRET + if(ROM_JP){ + play_sound(SOUND_MENU_STAR_SOUND, gGlobalSoundSource); + } else { + play_sound(SOUND_MENU_COLLECT_SECRET + (((u8) hiddenStar->oHiddenStarTriggerCounter - 1) << 16), gGlobalSoundSource); -#endif + } } o->activeFlags = ACTIVE_FLAG_DEACTIVATED; diff --git a/src/game/behaviors/intro_lakitu.inc.c b/src/game/behaviors/intro_lakitu.inc.c index 7ca8055d..cc7859cd 100644 --- a/src/game/behaviors/intro_lakitu.inc.c +++ b/src/game/behaviors/intro_lakitu.inc.c @@ -186,11 +186,9 @@ void bhv_intro_lakitu_loop(void) { obj_mark_for_deletion(o->oIntroLakituCloud); } -#ifndef VERSION_JP - if (o->oTimer == 14) { + if (!ROM_JP && o->oTimer == 14) { cur_obj_play_sound_2(SOUND_ACTION_INTRO_UNK45F); } -#endif break; case 100: diff --git a/src/game/behaviors/king_bobomb.inc.c b/src/game/behaviors/king_bobomb.inc.c index 3c35449d..444248de 100644 --- a/src/game/behaviors/king_bobomb.inc.c +++ b/src/game/behaviors/king_bobomb.inc.c @@ -20,10 +20,10 @@ void bhv_bobomb_anchor_mario_loop(void) { } void king_bobomb_act_0(void) { -#ifndef VERSION_JP - o->oForwardVel = 0.0f; - o->oVelY = 0.0f; -#endif + if(!ROM_JP){ + o->oForwardVel = 0.0f; + o->oVelY = 0.0f; + } if (o->oSubAction == 0) { cur_obj_become_intangible(); @@ -200,7 +200,7 @@ void king_bobomb_act_6(void) { void king_bobomb_act_7(void) { cur_obj_init_animation_with_sound(2); - if (cur_obj_update_dialog_with_cutscene(MARIO_DIALOG_LOOK_UP, + if (cur_obj_update_dialog_with_cutscene(MARIO_DIALOG_LOOK_UP, DIALOG_FLAG_TEXT_DEFAULT, CUTSCENE_DIALOG, DIALOG_116)) { create_sound_spawner(SOUND_OBJ_KING_WHOMP_DEATH); @@ -211,12 +211,12 @@ void king_bobomb_act_7(void) { spawn_triangle_break_particles(20, MODEL_DIRT_ANIMATION, 3.0f, 4); cur_obj_shake_screen(SHAKE_POS_SMALL); -#ifndef VERSION_JP - cur_obj_spawn_star_at_y_offset(2000.0f, 4500.0f, -4500.0f, 200.0f); -#else - o->oPosY += 100.0f; - spawn_default_star(2000.0f, 4500.0f, -4500.0f); -#endif + if(ROM_JP){ + o->oPosY += 100.0f; + spawn_default_star(2000.0f, 4500.0f, -4500.0f); + } else { + cur_obj_spawn_star_at_y_offset(2000.0f, 4500.0f, -4500.0f, 200.0f); + } o->oAction = 8; } @@ -319,7 +319,7 @@ void king_bobomb_act_5(void) { // bobomb returns home break; case 4: - if (cur_obj_update_dialog_with_cutscene(MARIO_DIALOG_LOOK_UP, + if (cur_obj_update_dialog_with_cutscene(MARIO_DIALOG_LOOK_UP, DIALOG_FLAG_TURN_TO_MARIO, CUTSCENE_DIALOG, DIALOG_128)) { o->oAction = 2; } diff --git a/src/game/behaviors/mips.inc.c b/src/game/behaviors/mips.inc.c index fc081722..a4b7ac34 100644 --- a/src/game/behaviors/mips.inc.c +++ b/src/game/behaviors/mips.inc.c @@ -15,17 +15,17 @@ void bhv_mips_init(void) { if (save_file_get_total_star_count(gCurrSaveFileNum - 1, COURSE_MIN - 1, COURSE_MAX - 1) >= 15 && !(starFlags & SAVE_FLAG_TO_STAR_FLAG(SAVE_FLAG_COLLECTED_MIPS_STAR_1))) { o->oBehParams2ndByte = 0; -#ifndef VERSION_JP - o->oMipsForwardVelocity = 40.0f; -#endif + if(!ROM_JP){ + o->oMipsForwardVelocity = 40.0f; + } } // If the player has >= 50 stars and hasn't collected second MIPS star... else if (save_file_get_total_star_count(gCurrSaveFileNum - 1, COURSE_MIN - 1, COURSE_MAX - 1) >= 50 && !(starFlags & SAVE_FLAG_TO_STAR_FLAG(SAVE_FLAG_COLLECTED_MIPS_STAR_2))) { o->oBehParams2ndByte = 1; -#ifndef VERSION_JP - o->oMipsForwardVelocity = 45.0f; -#endif + if(!ROM_JP){ + o->oMipsForwardVelocity = 45.0f; + } } else { // No MIPS stars are available, hide MIPS. o->activeFlags = ACTIVE_FLAG_DEACTIVATED; @@ -33,11 +33,7 @@ void bhv_mips_init(void) { o->oInteractionSubtype = INT_SUBTYPE_HOLDABLE_NPC; -#ifndef VERSION_JP - o->oGravity = 15.0f; -#else - o->oGravity = 2.5f; -#endif + o->oGravity = !ROM_JP ? 15.0f : 2.5f; o->oFriction = 0.89f; o->oBuoyancy = 1.2f; @@ -119,11 +115,7 @@ void bhv_mips_act_follow_path(void) { followStatus = cur_obj_follow_path(followStatus); // Update velocity and angle and do movement. -#ifndef VERSION_JP - o->oForwardVel = o->oMipsForwardVelocity; -#else - o->oForwardVel = 45.0f; -#endif + o->oForwardVel = !ROM_JP ? o->oMipsForwardVelocity : 45.0f; o->oMoveAngleYaw = o->oPathedTargetYaw; collisionFlags = object_step(); diff --git a/src/game/behaviors/moneybag.inc.c b/src/game/behaviors/moneybag.inc.c index 9f819208..46b9bef4 100644 --- a/src/game/behaviors/moneybag.inc.c +++ b/src/game/behaviors/moneybag.inc.c @@ -147,9 +147,9 @@ void moneybag_act_return_home(void) { if (is_point_close_to_object(o, o->oHomeX, o->oHomeY, o->oHomeZ, 100)) { spawn_object(o, MODEL_YELLOW_COIN, bhvMoneybagHidden); -#ifndef VERSION_JP - cur_obj_play_sound_2(SOUND_GENERAL_VANISH_SFX); -#endif + if(!ROM_JP){ + cur_obj_play_sound_2(SOUND_GENERAL_VANISH_SFX); + } cur_obj_init_animation(0); o->oAction = MONEYBAG_ACT_DISAPPEAR; o->oMoneybagJumpState = MONEYBAG_JUMP_LANDING; @@ -218,9 +218,9 @@ void bhv_moneybag_hidden_loop(void) { case FAKE_MONEYBAG_COIN_ACT_IDLE: if (is_point_within_radius_of_mario(o->oPosX, o->oPosY, o->oPosZ, 400)) { spawn_object(o, MODEL_MONEYBAG, bhvMoneybag); -#ifndef VERSION_JP - cur_obj_play_sound_2(SOUND_GENERAL_VANISH_SFX); -#endif + if(!ROM_JP){ + cur_obj_play_sound_2(SOUND_GENERAL_VANISH_SFX); + } o->oAction = FAKE_MONEYBAG_COIN_ACT_TRANSFORM; } break; diff --git a/src/game/behaviors/mr_i.inc.c b/src/game/behaviors/mr_i.inc.c index cbf0a759..4d94542c 100644 --- a/src/game/behaviors/mr_i.inc.c +++ b/src/game/behaviors/mr_i.inc.c @@ -267,13 +267,9 @@ void mr_i_act_1(void) { } void mr_i_act_0(void) { -#ifndef VERSION_JP - obj_set_angle(o, 0, 0, 0); -#else o->oMoveAnglePitch = 0; o->oMoveAngleYaw = 0; o->oMoveAngleRoll = 0; -#endif cur_obj_scale(o->oBehParams2ndByte + 1); if (o->oTimer == 0) { diff --git a/src/game/behaviors/racing_penguin.inc.c b/src/game/behaviors/racing_penguin.inc.c index 21639ec1..a26f5579 100644 --- a/src/game/behaviors/racing_penguin.inc.c +++ b/src/game/behaviors/racing_penguin.inc.c @@ -132,26 +132,25 @@ static void racing_penguin_act_show_final_text(void) { } } else { cur_obj_init_animation_with_sound(0); - -#ifndef VERSION_JP - play_penguin_walking_sound(1); -#endif + if(!ROM_JP){ + play_penguin_walking_sound(1); + } o->oForwardVel = 4.0f; } } else if (o->oRacingPenguinFinalTextbox > 0) { s32 textResult; - if ((textResult = cur_obj_update_dialog_with_cutscene(MARIO_DIALOG_LOOK_UP, + if ((textResult = cur_obj_update_dialog_with_cutscene(MARIO_DIALOG_LOOK_UP, DIALOG_FLAG_TURN_TO_MARIO, CUTSCENE_DIALOG, o->oRacingPenguinFinalTextbox))) { o->oRacingPenguinFinalTextbox = -1; o->oTimer = 0; } } else if (o->oRacingPenguinMarioWon) { -#ifdef VERSION_JP - spawn_default_star(-7339.0f, -5700.0f, -6774.0f); -#else - cur_obj_spawn_star_at_y_offset(-7339.0f, -5700.0f, -6774.0f, 200.0f); -#endif + if(ROM_JP){ + spawn_default_star(-7339.0f, -5700.0f, -6774.0f); + } else { + cur_obj_spawn_star_at_y_offset(-7339.0f, -5700.0f, -6774.0f, 200.0f); + } o->oRacingPenguinMarioWon = FALSE; } } diff --git a/src/game/behaviors/sparkle_spawn_star.inc.c b/src/game/behaviors/sparkle_spawn_star.inc.c index f9d7510b..59ba57d3 100644 --- a/src/game/behaviors/sparkle_spawn_star.inc.c +++ b/src/game/behaviors/sparkle_spawn_star.inc.c @@ -87,11 +87,7 @@ void bhv_spawned_star_loop(void) { o->oVelY = 20.0f; o->oGravity = -1.0f; if (o->oInteractionSubtype & INT_SUBTYPE_NO_EXIT) { -#ifdef VERSION_JP - play_power_star_jingle(FALSE); -#else - play_power_star_jingle(TRUE); -#endif + play_power_star_jingle(!ROM_JP); } else { play_power_star_jingle(TRUE); } diff --git a/src/game/behaviors/tuxie.inc.c b/src/game/behaviors/tuxie.inc.c index c3c98f98..17716c81 100644 --- a/src/game/behaviors/tuxie.inc.c +++ b/src/game/behaviors/tuxie.inc.c @@ -59,7 +59,7 @@ void tuxies_mother_act_1(void) { } else { dialogID = DIALOG_059; } - if (cur_obj_update_dialog_with_cutscene(MARIO_DIALOG_LOOK_UP, + if (cur_obj_update_dialog_with_cutscene(MARIO_DIALOG_LOOK_UP, DIALOG_FLAG_TURN_TO_MARIO, CUTSCENE_DIALOG, dialogID)) { if (dialogID == DIALOG_058) { o->oSubAction = 1; @@ -85,11 +85,11 @@ void tuxies_mother_act_1(void) { // or 1, which is not affected by the bitwise AND. o->prevObj->OBJECT_FIELD_S32(o->oInteractionSubtype) &= ~INT_SUBTYPE_DROP_IMMEDIATELY; obj_set_behavior(o->prevObj, bhvUnused20E0); -#ifndef VERSION_JP - cur_obj_spawn_star_at_y_offset(3167.0f, -4300.0f, 5108.0f, 200.0f); -#else - spawn_default_star(3500.0f, -4300.0f, 4650.0f); -#endif + if(ROM_JP){ + spawn_default_star(3500.0f, -4300.0f, 4650.0f); + } else { + cur_obj_spawn_star_at_y_offset(3167.0f, -4300.0f, 5108.0f, 200.0f); + } o->oAction = 2; } break; @@ -129,7 +129,7 @@ void tuxies_mother_act_0(void) { } break; case 1: - if (cur_obj_update_dialog_with_cutscene(MARIO_DIALOG_LOOK_UP, + if (cur_obj_update_dialog_with_cutscene(MARIO_DIALOG_LOOK_UP, DIALOG_FLAG_TURN_TO_MARIO, CUTSCENE_DIALOG, DIALOG_057)) { o->oSubAction++; } @@ -308,11 +308,11 @@ void bhv_small_penguin_loop(void) { } obj_copy_pos(o, gMarioObject); if (gGlobalTimer % 30 == 0) { -#ifndef VERSION_JP - play_sound(SOUND_OBJ2_BABY_PENGUIN_YELL, gMarioObject->header.gfx.cameraToObject); -#else - play_sound(SOUND_OBJ2_BABY_PENGUIN_YELL, o->header.gfx.cameraToObject); -#endif + if(ROM_JP){ + play_sound(SOUND_OBJ2_BABY_PENGUIN_YELL, o->header.gfx.cameraToObject); + } else { + play_sound(SOUND_OBJ2_BABY_PENGUIN_YELL, gMarioObject->header.gfx.cameraToObject); + } } break; case HELD_THROWN: diff --git a/src/game/camera.c b/src/game/camera.c index bb3d06cf..f99290f6 100644 --- a/src/game/camera.c +++ b/src/game/camera.c @@ -3334,18 +3334,18 @@ void init_camera(struct Camera *c) { // Note: This replaced an "old" way to call these cutscenes using // a camEvent value: CAM_EVENT_BOWSER_INIT case LEVEL_BOWSER_1: -#ifndef VERSION_JP - // Since Bowser 1 has a demo entry, check for it - // If it is, then set CamAct to the end to directly activate Bowser - // If it isn't, then start cutscene - if (gCurrDemoInput == NULL) { + if(!ROM_JP){ + // Since Bowser 1 has a demo entry, check for it + // If it is, then set CamAct to the end to directly activate Bowser + // If it isn't, then start cutscene + if (gCurrDemoInput == NULL) { + start_cutscene(c, CUTSCENE_ENTER_BOWSER_ARENA); + } else if (gSecondCameraFocus != NULL) { + gSecondCameraFocus->oBowserCamAct = BOWSER_CAM_ACT_END; + } + } else { start_cutscene(c, CUTSCENE_ENTER_BOWSER_ARENA); - } else if (gSecondCameraFocus != NULL) { - gSecondCameraFocus->oBowserCamAct = BOWSER_CAM_ACT_END; } -#else - start_cutscene(c, CUTSCENE_ENTER_BOWSER_ARENA); -#endif break; case LEVEL_BOWSER_2: start_cutscene(c, CUTSCENE_ENTER_BOWSER_ARENA); @@ -5710,10 +5710,10 @@ BAD_RETURN(s32) cam_hmc_enter_maze(struct Camera *c) { vec3f_get_dist_and_angle(c->focus, gLakituState.goalPos, &dist, &pitch, &yaw); vec3f_set_dist_and_angle(c->focus, gLakituState.goalPos, 300.f, pitch, yaw); gLakituState.goalPos[1] = -800.f; -#ifndef VERSION_JP - c->pos[1] = gLakituState.goalPos[1]; - gLakituState.curPos[1] = gLakituState.goalPos[1]; -#endif + if(!ROM_JP){ + c->pos[1] = gLakituState.goalPos[1]; + gLakituState.curPos[1] = gLakituState.goalPos[1]; + } sStatusFlags &= ~CAM_FLAG_SMOOTH_MOVEMENT; } } @@ -7031,11 +7031,12 @@ BAD_RETURN(s32) cutscene_intro_peach_start_letter_music(UNUSED struct Camera *c) /** * Raise the volume (not in JP) and start the flying music. */ -BAD_RETURN(s32) cutscene_intro_peach_start_flying_music(UNUSED struct Camera *c) { -#ifndef VERSION_JP - seq_player_unlower_volume(SEQ_PLAYER_LEVEL, 60); -#endif - cutscene_intro_peach_play_lakitu_flying_music(); +BAD_RETURN(s32) cutscene_intro_peach_start_flying_music(UNUSED struct Camera *c) {\ + if(!ROM_JP){ + seq_player_unlower_volume(SEQ_PLAYER_LEVEL, 60); + } else { + cutscene_intro_peach_play_lakitu_flying_music(); + } } #ifdef VERSION_EU @@ -8909,16 +8910,12 @@ BAD_RETURN(s32) cutscene_dialog_start(struct Camera *c) { cutscene_soften_music(c); set_time_stop_flags(TIME_STOP_ENABLED | TIME_STOP_DIALOG); -#ifndef VERSION_JP - if (c->mode == CAMERA_MODE_BOSS_FIGHT) { + if (!ROM_JP && c->mode == CAMERA_MODE_BOSS_FIGHT) { vec3f_copy(sCameraStoreCutscene.focus, c->focus); vec3f_copy(sCameraStoreCutscene.pos, c->pos); } else { -#endif store_info_star(c); -#ifndef VERSION_JP } -#endif // Store Mario's position and faceAngle sCutsceneVars[8].angle[0] = 0; diff --git a/src/game/hud.c b/src/game/hud.c index c672798c..20924e9b 100644 --- a/src/game/hud.c +++ b/src/game/hud.c @@ -275,11 +275,7 @@ void render_hud_power_meter(void) { sPowerMeterVisibleTimer++; } -#ifdef VERSION_JP -#define HUD_TOP_Y 210 -#else #define HUD_TOP_Y 209 -#endif /** * Renders the amount of lives Mario has. @@ -299,11 +295,7 @@ void render_hud_coins(void) { print_text_fmt_int(198, HUD_TOP_Y, "%d", gHudDisplay.coins); } -#ifdef VERSION_JP -#define HUD_STARS_X 73 -#else -#define HUD_STARS_X 78 -#endif +#define HUD_STARS_X ROM_JP ? 73 : 78 /** * Renders the amount of stars collected. diff --git a/src/game/interaction.c b/src/game/interaction.c index 7badaf43..e4897a51 100644 --- a/src/game/interaction.c +++ b/src/game/interaction.c @@ -819,9 +819,9 @@ u32 interact_star_or_key(struct MarioState *m, UNUSED u32 interactType, struct O } play_sound(SOUND_MENU_STAR_SOUND, m->marioObj->header.gfx.cameraToObject); -#ifndef VERSION_JP - update_mario_sound_and_camera(m); -#endif + if(!ROM_JP){ + update_mario_sound_and_camera(m); + } if (grandStar) { return set_mario_action(m, ACT_JUMBO_STAR_CUTSCENE, 0); @@ -1687,17 +1687,8 @@ u32 mario_can_talk(struct MarioState *m, u32 arg) { return FALSE; } -#ifdef VERSION_JP -#define READ_MASK (INPUT_B_PRESSED) -#else #define READ_MASK (INPUT_B_PRESSED | INPUT_A_PRESSED) -#endif - -#ifdef VERSION_JP -#define SIGN_RANGE 0x38E3 -#else #define SIGN_RANGE 0x4000 -#endif u32 check_read_sign(struct MarioState *m, struct Object *o) { if ((m->input & READ_MASK) && mario_can_talk(m, 0) && object_facing_mario(m, o, SIGN_RANGE)) { diff --git a/src/game/mario_actions_airborne.c b/src/game/mario_actions_airborne.c index e404977a..20fc8139 100644 --- a/src/game/mario_actions_airborne.c +++ b/src/game/mario_actions_airborne.c @@ -826,9 +826,9 @@ s32 act_water_jump(struct MarioState *m) { break; case AIR_STEP_GRABBED_LEDGE: -#ifndef VERSION_JP - set_mario_animation(m, MARIO_ANIM_IDLE_ON_LEDGE); -#endif + if(!ROM_JP){ + set_mario_animation(m, MARIO_ANIM_IDLE_ON_LEDGE); + } set_mario_action(m, ACT_LEDGE_GRAB, 0); set_camera_mode(m->area->camera, m->area->camera->defMode, 1); break; @@ -1095,15 +1095,15 @@ u32 common_air_knockback_step(struct MarioState *m, u32 landAction, u32 hardFall } #endif if (!check_fall_damage_or_get_stuck(m, hardFallAction)) { -#ifndef VERSION_JP - if (m->action == ACT_THROWN_FORWARD || m->action == ACT_THROWN_BACKWARD) { - set_mario_action(m, landAction, m->hurtCounter); + if(!ROM_JP){ + if (m->action == ACT_THROWN_FORWARD || m->action == ACT_THROWN_BACKWARD) { + set_mario_action(m, landAction, m->hurtCounter); + } else { + set_mario_action(m, landAction, m->actionArg); + } } else { set_mario_action(m, landAction, m->actionArg); } -#else - set_mario_action(m, landAction, m->actionArg); -#endif } break; @@ -1852,26 +1852,26 @@ s32 act_riding_hoot(struct MarioState *m) { } s32 act_flying_triple_jump(struct MarioState *m) { -#ifndef VERSION_JP - if (m->input & (INPUT_B_PRESSED | INPUT_Z_PRESSED)) { - if (m->area->camera->mode == CAMERA_MODE_BEHIND_MARIO) { - set_camera_mode(m->area->camera, m->area->camera->defMode, 1); + if(!ROM_JP){ + if (m->input & (INPUT_B_PRESSED | INPUT_Z_PRESSED)) { + if (m->area->camera->mode == CAMERA_MODE_BEHIND_MARIO) { + set_camera_mode(m->area->camera, m->area->camera->defMode, 1); + } + if (m->input & INPUT_B_PRESSED) { + return set_mario_action(m, ACT_DIVE, 0); + } else { + return set_mario_action(m, ACT_GROUND_POUND, 0); + } } + } else { if (m->input & INPUT_B_PRESSED) { return set_mario_action(m, ACT_DIVE, 0); - } else { + } + + if (m->input & INPUT_Z_PRESSED) { return set_mario_action(m, ACT_GROUND_POUND, 0); } } -#else - if (m->input & INPUT_B_PRESSED) { - return set_mario_action(m, ACT_DIVE, 0); - } - - if (m->input & INPUT_Z_PRESSED) { - return set_mario_action(m, ACT_GROUND_POUND, 0); - } -#endif play_mario_sound(m, SOUND_ACTION_TERRAIN_JUMP, SOUND_MARIO_YAHOO); if (m->actionState == 0) { diff --git a/src/game/mario_actions_automatic.c b/src/game/mario_actions_automatic.c index 8251b599..e7871579 100644 --- a/src/game/mario_actions_automatic.c +++ b/src/game/mario_actions_automatic.c @@ -113,31 +113,31 @@ s32 set_pole_position(struct MarioState *m, f32 offsetY) { s32 act_holding_pole(struct MarioState *m) { struct Object *marioObj = m->marioObj; -#ifdef VERSION_JP - if (m->input & INPUT_A_PRESSED) { - add_tree_leaf_particles(m); - m->faceAngle[1] += 0x8000; - return set_mario_action(m, ACT_WALL_KICK_AIR, 0); - } + if(ROM_JP){ + if (m->input & INPUT_A_PRESSED) { + add_tree_leaf_particles(m); + m->faceAngle[1] += 0x8000; + return set_mario_action(m, ACT_WALL_KICK_AIR, 0); + } - if (m->input & INPUT_Z_PRESSED) { - add_tree_leaf_particles(m); - m->forwardVel = -2.0f; - return set_mario_action(m, ACT_SOFT_BONK, 0); - } -#else - if ((m->input & INPUT_Z_PRESSED) || m->health < 0x100) { - add_tree_leaf_particles(m); - m->forwardVel = -2.0f; - return set_mario_action(m, ACT_SOFT_BONK, 0); - } + if (m->input & INPUT_Z_PRESSED) { + add_tree_leaf_particles(m); + m->forwardVel = -2.0f; + return set_mario_action(m, ACT_SOFT_BONK, 0); + } + } else { + if ((m->input & INPUT_Z_PRESSED) || m->health < 0x100) { + add_tree_leaf_particles(m); + m->forwardVel = -2.0f; + return set_mario_action(m, ACT_SOFT_BONK, 0); + } - if (m->input & INPUT_A_PRESSED) { - add_tree_leaf_particles(m); - m->faceAngle[1] += 0x8000; - return set_mario_action(m, ACT_WALL_KICK_AIR, 0); + if (m->input & INPUT_A_PRESSED) { + add_tree_leaf_particles(m); + m->faceAngle[1] += 0x8000; + return set_mario_action(m, ACT_WALL_KICK_AIR, 0); + } } -#endif if (m->controller->stickY > 16.0f) { f32 poleTop = m->usedObj->hitboxHeight - 100.0f; @@ -190,13 +190,11 @@ s32 act_climbing_pole(struct MarioState *m) { struct Object *marioObj = m->marioObj; s16 cameraAngle = m->area->camera->yaw; -#ifndef VERSION_JP - if (m->health < 0x100) { + if (!ROM_JP && m->health < 0x100) { add_tree_leaf_particles(m); m->forwardVel = -2.0f; return set_mario_action(m, ACT_SOFT_BONK, 0); } -#endif if (m->input & INPUT_A_PRESSED) { add_tree_leaf_particles(m); diff --git a/src/game/mario_actions_cutscene.c b/src/game/mario_actions_cutscene.c index c132c729..8f772a67 100644 --- a/src/game/mario_actions_cutscene.c +++ b/src/game/mario_actions_cutscene.c @@ -111,9 +111,7 @@ void print_displaying_credits_entry(void) { char *titleStr; s16 numLines; s16 strY; -#ifndef VERSION_JP s16 lineHeight; -#endif if (sDispCreditsEntry != NULL) { currStrPtr = (char **) sDispCreditsEntry->unk0C; @@ -121,47 +119,41 @@ void print_displaying_credits_entry(void) { numLines = *titleStr++ - '0'; strY = (sDispCreditsEntry->unk02 & 0x20 ? 28 : 172) + (numLines == 1) * 16; -#ifndef VERSION_JP - lineHeight = 16; -#endif + if(!ROM_JP){ + lineHeight = 16; + } dl_rgba16_begin_cutscene_msg_fade(); print_credits_str_ascii(CREDIT_TEXT_X_LEFT, strY, titleStr); -#ifndef VERSION_JP - switch (numLines) { - case 4: - print_credits_str_ascii(CREDIT_TEXT_X_LEFT, strY + 24, *currStrPtr++); - numLines = 2; - lineHeight = 24; - break; - case 5: - print_credits_str_ascii(CREDIT_TEXT_X_LEFT, strY + 16, *currStrPtr++); - numLines = 3; - break; -#ifdef VERSION_EU - case 6: - print_credits_str_ascii(CREDIT_TEXT_X_LEFT, strY + 32, *currStrPtr++); - numLines = 3; - break; - case 7: - print_credits_str_ascii(CREDIT_TEXT_X_LEFT, strY + 16, *currStrPtr++); - print_credits_str_ascii(CREDIT_TEXT_X_LEFT, strY + 32, *currStrPtr++); - numLines = 3; - break; -#endif + if(!ROM_JP){ + switch (numLines) { + case 4: + print_credits_str_ascii(CREDIT_TEXT_X_LEFT, strY + 24, *currStrPtr++); + numLines = 2; + lineHeight = 24; + break; + case 5: + print_credits_str_ascii(CREDIT_TEXT_X_LEFT, strY + 16, *currStrPtr++); + numLines = 3; + break; + #ifdef VERSION_EU + case 6: + print_credits_str_ascii(CREDIT_TEXT_X_LEFT, strY + 32, *currStrPtr++); + numLines = 3; + break; + case 7: + print_credits_str_ascii(CREDIT_TEXT_X_LEFT, strY + 16, *currStrPtr++); + print_credits_str_ascii(CREDIT_TEXT_X_LEFT, strY + 32, *currStrPtr++); + numLines = 3; + break; + #endif + } } -#endif while (numLines-- > 0) { print_credits_str_ascii(CREDIT_TEXT_X_RIGHT - get_credits_str_width(*currStrPtr), strY, *currStrPtr); - -#ifdef VERSION_JP - strY += 16; -#else - strY += lineHeight; -#endif - + strY += ROM_JP ? 16 : lineHeight; currStrPtr++; } @@ -2401,9 +2393,9 @@ static void end_peach_cutscene_star_dance(struct MarioState *m) { break; case 140: -#ifndef VERSION_JP - seq_player_unlower_volume(SEQ_PLAYER_LEVEL, 60); -#endif + if(!ROM_JP){ + seq_player_unlower_volume(SEQ_PLAYER_LEVEL, 60); + } play_cutscene_music(SEQUENCE_ARGS(15, SEQ_EVENT_CUTSCENE_CREDITS)); break; diff --git a/src/game/mario_actions_moving.c b/src/game/mario_actions_moving.c index e2798107..0c0fe4db 100644 --- a/src/game/mario_actions_moving.c +++ b/src/game/mario_actions_moving.c @@ -1384,13 +1384,9 @@ void common_slide_action(struct MarioState *m, u32 endAction, u32 airAction, s32 case GROUND_STEP_HIT_WALL: if (!mario_floor_is_slippery(m)) { -#ifdef VERSION_JP - m->particleFlags |= PARTICLE_VERTICAL_STAR; -#else - if (m->forwardVel > 16.0f) { + if (ROM_JP || m->forwardVel > 16.0f) { m->particleFlags |= PARTICLE_VERTICAL_STAR; } -#endif slide_bonk(m, ACT_GROUND_BONK, endAction); } else if (m->wall != NULL) { s16 wallAngle = atan2s(m->wall->normal.z, m->wall->normal.x); diff --git a/src/game/object_helpers.c b/src/game/object_helpers.c index 9d9ea5c1..2df003d3 100644 --- a/src/game/object_helpers.c +++ b/src/game/object_helpers.c @@ -94,29 +94,29 @@ Gfx *geo_update_layer_transparency(s32 callContext, struct GraphNode *node, UNUS objectGraphNode->oAnimState = 1; -#ifdef VERSION_JP - if (currentGraphNode->parameter == 10) { - if (gDebugInfo[DEBUG_PAGE_ENEMYINFO][3]) { - gDPSetAlphaCompare(dlHead++, G_AC_DITHER); + if(ROM_JP){ + if (currentGraphNode->parameter == 10) { + if (gDebugInfo[DEBUG_PAGE_ENEMYINFO][3]) { + gDPSetAlphaCompare(dlHead++, G_AC_DITHER); + } + } else { + if (objectGraphNode->activeFlags & ACTIVE_FLAG_DITHERED_ALPHA) { + gDPSetAlphaCompare(dlHead++, G_AC_DITHER); + } } - } else { - if (objectGraphNode->activeFlags & ACTIVE_FLAG_DITHERED_ALPHA) { - gDPSetAlphaCompare(dlHead++, G_AC_DITHER); + } else { // gDebugInfo accesses were removed in all non-JP versions. + if (objectOpacity == 0 && segmented_to_virtual(bhvBowser) == objectGraphNode->behavior) { + objectGraphNode->oAnimState = 2; + } + // the debug info check was removed in US. so we need to + // perform the only necessary check instead of the debuginfo + // one. + if (currentGraphNode->parameter != 10) { + if (objectGraphNode->activeFlags & ACTIVE_FLAG_DITHERED_ALPHA) { + gDPSetAlphaCompare(dlHead++, G_AC_DITHER); + } } } -#else // gDebugInfo accesses were removed in all non-JP versions. - if (objectOpacity == 0 && segmented_to_virtual(bhvBowser) == objectGraphNode->behavior) { - objectGraphNode->oAnimState = 2; - } - // the debug info check was removed in US. so we need to - // perform the only necessary check instead of the debuginfo - // one. - if (currentGraphNode->parameter != 10) { - if (objectGraphNode->activeFlags & ACTIVE_FLAG_DITHERED_ALPHA) { - gDPSetAlphaCompare(dlHead++, G_AC_DITHER); - } - } -#endif } gDPSetEnvColor(dlHead++, 255, 255, 255, objectOpacity); @@ -1726,13 +1726,10 @@ static void cur_obj_update_floor(void) { if (floor != NULL) { if (floor->type == SURFACE_BURNING) { o->oMoveFlags |= OBJ_MOVE_ABOVE_LAVA; - } -#ifndef VERSION_JP - else if (floor->type == SURFACE_DEATH_PLANE) { + } else if (!ROM_JP && floor->type == SURFACE_DEATH_PLANE) { //! This misses SURFACE_VERTICAL_WIND (and maybe SURFACE_WARP) o->oMoveFlags |= OBJ_MOVE_ABOVE_DEATH_BARRIER; } -#endif o->oFloorType = floor->type; o->oFloorRoom = floor->room; @@ -1743,11 +1740,11 @@ static void cur_obj_update_floor(void) { } static void cur_obj_update_floor_and_resolve_wall_collisions(s16 steepSlopeDegrees) { -#ifdef VERSION_JP - o->oMoveFlags &= ~OBJ_MOVE_ABOVE_LAVA; -#else - o->oMoveFlags &= ~(OBJ_MOVE_ABOVE_LAVA | OBJ_MOVE_ABOVE_DEATH_BARRIER); -#endif + if(ROM_JP){ + o->oMoveFlags &= ~OBJ_MOVE_ABOVE_LAVA; + } else { + o->oMoveFlags &= ~(OBJ_MOVE_ABOVE_LAVA | OBJ_MOVE_ABOVE_DEATH_BARRIER); + } if (o->activeFlags & (ACTIVE_FLAG_FAR_AWAY | ACTIVE_FLAG_IN_DIFFERENT_ROOM)) { cur_obj_update_floor(); @@ -2898,11 +2895,9 @@ void cur_obj_spawn_loot_blue_coin(void) { } } -#ifndef VERSION_JP void cur_obj_spawn_star_at_y_offset(f32 targetX, f32 targetY, f32 targetZ, f32 offsetY) { f32 objectPosY = o->oPosY; o->oPosY += offsetY + gDebugInfo[DEBUG_PAGE_ENEMYINFO][0]; spawn_default_star(targetX, targetY, targetZ); o->oPosY = objectPosY; } -#endif diff --git a/src/game/object_helpers.h b/src/game/object_helpers.h index b1846778..640bbfc5 100644 --- a/src/game/object_helpers.h +++ b/src/game/object_helpers.h @@ -274,9 +274,6 @@ void enable_time_stop_including_mario(void); void disable_time_stop_including_mario(void); s32 cur_obj_check_interacted(void); void cur_obj_spawn_loot_blue_coin(void); - -#ifndef VERSION_JP void cur_obj_spawn_star_at_y_offset(f32 targetX, f32 targetY, f32 targetZ, f32 offsetY); -#endif #endif // OBJECT_HELPERS_H diff --git a/src/game/object_list_processor.c b/src/game/object_list_processor.c index e635791f..b7e294fb 100644 --- a/src/game/object_list_processor.c +++ b/src/game/object_list_processor.c @@ -460,9 +460,9 @@ void spawn_objects_from_info(UNUSED s32 unused, struct SpawnInfo *spawnInfo) { //! (Spawning Displacement) On the Japanese version, Mario's platform object // isn't cleared when transitioning between areas. This can cause Mario to // receive displacement after spawning. -#ifndef VERSION_JP - clear_mario_platform(); -#endif + if(ROM_JP){ + clear_mario_platform(); + } if (gCurrAreaIndex == 2) { gCCMEnteredSlide |= 1; diff --git a/src/game/platform_displacement.c b/src/game/platform_displacement.c index 97494278..a6a15f0f 100644 --- a/src/game/platform_displacement.c +++ b/src/game/platform_displacement.c @@ -177,11 +177,9 @@ void apply_mario_platform_displacement(void) { } } -#ifndef VERSION_JP /** * Set Mario's platform to NULL. */ void clear_mario_platform(void) { gMarioPlatform = NULL; } -#endif diff --git a/src/game/platform_displacement.h b/src/game/platform_displacement.h index 1493df03..c1e8f291 100644 --- a/src/game/platform_displacement.h +++ b/src/game/platform_displacement.h @@ -10,8 +10,6 @@ void get_mario_pos(f32 *x, f32 *y, f32 *z); void set_mario_pos(f32 x, f32 y, f32 z); void apply_platform_displacement(u32 isMario, struct Object *platform); void apply_mario_platform_displacement(void); -#ifndef VERSION_JP void clear_mario_platform(void); -#endif #endif // PLATFORM_DISPLACEMENT_H diff --git a/src/goddard/renderer.c b/src/goddard/renderer.c index 8161dc2b..2c6a51b4 100644 --- a/src/goddard/renderer.c +++ b/src/goddard/renderer.c @@ -158,7 +158,7 @@ static s32 sPickBufPosition; // @ 801BE784 static s16 *sPickBuf; // @ 801BE788 static LookAt D_801BE790[2]; static LookAt D_801BE7D0[3]; -#if defined(VERSION_JP) || defined(VERSION_US) +#if defined(VERSION_US) static OSMesgQueue D_801BE830; // controller msg queue static OSMesg D_801BE848[10]; UNUSED static u32 unref_801be870[16]; diff --git a/src/goddard/shape_helper.c b/src/goddard/shape_helper.c index 58942c95..1b41a987 100644 --- a/src/goddard/shape_helper.c +++ b/src/goddard/shape_helper.c @@ -1,9 +1,5 @@ #include -#if defined(VERSION_JP) || defined(VERSION_US) -#include "prevent_bss_reordering.h" -#endif - #include "debug_utils.h" #include "draw_objects.h" #include "dynlist_proc.h" diff --git a/src/menu/file_select.c b/src/menu/file_select.c index ef2c0a20..78be8a06 100644 --- a/src/menu/file_select.c +++ b/src/menu/file_select.c @@ -1767,26 +1767,12 @@ void print_save_file_star_count(s8 fileIndex, s16 x, s16 y) { } } -#if defined(VERSION_JP) || defined(VERSION_SH) - #define SELECT_FILE_X 96 - #define SCORE_X 50 - #define COPY_X 115 - #define ERASE_X 180 -#ifdef VERSION_JP - #define SOUNDMODE_X1 235 -#else - #define SOUNDMODE_X1 sSoundTextX -#endif - #define SAVEFILE_X1 92 - #define SAVEFILE_X2 209 - #define MARIOTEXT_X1 92 - #define MARIOTEXT_X2 207 -#elif defined(VERSION_US) - #define SELECT_FILE_X 93 - #define SCORE_X 52 - #define COPY_X 117 - #define ERASE_X 177 - #define SOUNDMODE_X1 sSoundTextX +#if defined(VERSION_US) + #define SELECT_FILE_X ROM_JP ? 96 : 93 + #define SCORE_X ROM_JP ? 50 : 52 + #define COPY_X ROM_JP ? 115 : 117 + #define ERASE_X ROM_JP ? 180 : 177 + #define SOUNDMODE_X1 ROM_JP ? 235 : sSoundTextX #define SAVEFILE_X1 92 #define SAVEFILE_X2 209 #define MARIOTEXT_X1 92 @@ -1829,14 +1815,12 @@ void print_main_menu_strings(void) { print_generic_string(SCORE_X, 39, GameEngine_LoadTranslation("TEXT_SCORE")); print_generic_string(COPY_X, 39, GameEngine_LoadTranslation("TEXT_COPY")); print_generic_string(ERASE_X, 39, GameEngine_LoadTranslation("TEXT_ERASE")); -#ifndef VERSION_JP unsigned char* textSoundModes[] = { GameEngine_LoadTranslation("TEXT_STEREO"), GameEngine_LoadTranslation("TEXT_MONO"), GameEngine_LoadTranslation("TEXT_HEADSET") }; sSoundTextX = get_str_x_pos_from_center(254, textSoundModes[sSoundMode], 10.0f); -#endif print_generic_string(SOUNDMODE_X1, 39, textSoundModes[sSoundMode]); gSPDisplayList(gDisplayListHead++, dl_ia_text_end); #endif @@ -1883,12 +1867,9 @@ void print_main_lang_strings(void) { } #endif -#if defined(VERSION_JP) || defined(VERSION_SH) - #define CHECK_FILE_X 90 - #define NOSAVE_DATA_X1 90 -#elif defined(VERSION_US) - #define CHECK_FILE_X 95 - #define NOSAVE_DATA_X1 99 +#if defined(VERSION_US) + #define CHECK_FILE_X ROM_JP ? 90 : 95 + #define NOSAVE_DATA_X1 ROM_JP ? 90 : 99 #elif defined(VERSION_EU) #define CHECK_FILE_X checkFileX #define NOSAVE_DATA_X1 noSaveDataX @@ -1918,14 +1899,10 @@ void score_menu_display_message(s8 messageID) { } } -#if defined(VERSION_JP) || defined(VERSION_SH) - #define RETURN_X 45 - #define COPYFILE_X1 128 - #define ERASEFILE_X1 228 -#elif defined(VERSION_US) +#if defined(VERSION_US) #define RETURN_X 44 - #define COPYFILE_X1 135 - #define ERASEFILE_X1 231 + #define COPYFILE_X1 ROM_JP ? 128 : 135 + #define ERASEFILE_X1 ROM_JP ? 228 : 231 #elif defined(VERSION_EU) #define RETURN_X centeredX #define COPYFILE_X1 centeredX @@ -2002,20 +1979,13 @@ void print_score_menu_strings(void) { #endif } -#if defined(VERSION_JP) || defined(VERSION_SH) - #define NOFILE_COPY_X 90 - #define COPY_FILE_X 90 - #define COPYIT_WHERE_X 90 - #define NOSAVE_DATA_X2 90 - #define COPYCOMPLETE_X 90 - #define SAVE_EXISTS_X1 90 -#elif defined(VERSION_US) - #define NOFILE_COPY_X 119 - #define COPY_FILE_X 104 - #define COPYIT_WHERE_X 109 - #define NOSAVE_DATA_X2 101 - #define COPYCOMPLETE_X 110 - #define SAVE_EXISTS_X1 110 +#if defined(VERSION_US) + #define NOFILE_COPY_X ROM_JP ? 90 : 119 + #define COPY_FILE_X ROM_JP ? 90 : 104 + #define COPYIT_WHERE_X ROM_JP ? 90 : 109 + #define NOSAVE_DATA_X2 ROM_JP ? 90 : 101 + #define COPYCOMPLETE_X ROM_JP ? 90 : 110 + #define SAVE_EXISTS_X1 ROM_JP ? 90 : 110 #elif defined(VERSION_EU) #define NOFILE_COPY_X centeredX #define COPY_FILE_X centeredX @@ -2121,12 +2091,9 @@ void copy_menu_update_message(void) { } } -#if defined(VERSION_JP) - #define VIEWSCORE_X1 133 - #define ERASEFILE_X2 220 -#elif defined(VERSION_US) - #define VIEWSCORE_X1 128 - #define ERASEFILE_X2 230 +#if defined(VERSION_US) + #define VIEWSCORE_X1 ROM_JP ? 133 : 128 + #define ERASEFILE_X2 ROM_JP ? 220 : 230 #elif defined(VERSION_EU) #define VIEWSCORE_X1 centeredX #define ERASEFILE_X2 centeredX @@ -2187,22 +2154,12 @@ void print_copy_menu_strings(void) { #endif } -#if defined(VERSION_JP) || defined(VERSION_SH) -#ifdef VERSION_JP - #define CURSOR_X 160.0f -#else - #define CURSOR_X (x + 70) -#endif - #define MENU_ERASE_YES_MIN_X 145 - #define MENU_ERASE_YES_MAX_X 164 -#else - #define CURSOR_X (x + 70) - #define MENU_ERASE_YES_MIN_X 140 - #define MENU_ERASE_YES_MAX_X 169 -#endif - +#define CURSOR_X ROM_JP ? 160.0f : (x + 70) +#define MENU_ERASE_YES_MIN_X ROM_JP ? 145 : 140 +#define MENU_ERASE_YES_MAX_X ROM_JP ? 164 : 169 #define MENU_ERASE_YES_NO_MIN_Y 191 #define MENU_ERASE_YES_NO_MAX_Y 210 + #ifdef VERSION_SH #define MENU_ERASE_NO_MIN_X 194 #define MENU_ERASE_NO_MAX_X 213 @@ -2283,22 +2240,12 @@ void print_erase_menu_prompt(s16 x, s16 y) { // US and EU --- JP // M a r i o A --- マ リ オ A // 0 1 2 3 4 5 6 --- 0 1 2 3 -#if defined(VERSION_JP) || defined(VERSION_SH) -#ifdef VERSION_JP - #define ERASE_FILE_X 96 -#else - #define ERASE_FILE_X 111 -#endif - #define NOSAVE_DATA_X3 90 - #define MARIO_ERASED_VAR 3 - #define MARIO_ERASED_X 90 - #define SAVE_EXISTS_X2 90 -#elif defined(VERSION_US) - #define ERASE_FILE_X 98 - #define NOSAVE_DATA_X3 100 - #define MARIO_ERASED_VAR 6 - #define MARIO_ERASED_X 100 - #define SAVE_EXISTS_X2 100 +#if defined(VERSION_US) + #define ERASE_FILE_X ROM_JP ? 96 : 98 + #define NOSAVE_DATA_X3 ROM_JP ? 90 : 100 + #define MARIO_ERASED_VAR ROM_JP ? 3 : 6 + #define MARIO_ERASED_X ROM_JP ? 90 : 100 + #define SAVE_EXISTS_X2 ROM_JP ? 90 : 100 #elif defined(VERSION_EU) #define ERASE_FILE_X centeredX #define NOSAVE_DATA_X3 centeredX @@ -2395,13 +2342,8 @@ void erase_menu_update_message(void) { } } -#if defined(VERSION_JP) || defined(VERSION_SH) - #define VIEWSCORE_X2 133 - #define COPYFILE_X2 223 -#else - #define VIEWSCORE_X2 127 - #define COPYFILE_X2 233 -#endif +#define VIEWSCORE_X2 ROM_JP ? 133 : 127 +#define COPYFILE_X2 ROM_JP ? 223 : 233 /** * Prints erase menu strings that shows on the red background menu screen. @@ -2460,10 +2402,8 @@ void print_erase_menu_strings(void) { #endif } -#if defined(VERSION_JP) || defined(VERSION_SH) - #define SOUND_HUD_X 96 -#elif defined(VERSION_US) - #define SOUND_HUD_X 88 +#if defined(VERSION_US) + #define SOUND_HUD_X ROM_JP ? 96 : 88 #endif /** @@ -2532,13 +2472,9 @@ void print_sound_mode_menu_strings(void) { } else { gDPSetEnvColor(gDisplayListHead++, 0, 0, 0, sTextBaseAlpha); } - #ifndef VERSION_JP - // Mode names are centered correctly on US and Shindou - textX = get_str_x_pos_from_center(mode * 74 + 87, textSoundModes[mode], 10.0f); - print_generic_string(textX, 87, textSoundModes[mode]); - #else - print_generic_string(mode * 74 + 67, 87, textSoundModes[mode]); - #endif + // Mode names are centered correctly on US and Shindou + textX = get_str_x_pos_from_center(mode * 74 + 87, textSoundModes[mode], 10.0f); + print_generic_string(textX, 87, textSoundModes[mode]); } #endif @@ -2567,15 +2503,9 @@ void print_score_file_castle_secret_stars(s8 fileIndex, s16 x, s16 y) { #endif } -#if defined(VERSION_JP) || defined(VERSION_SH) - #define HISCORE_COIN_ICON_X 0 - #define HISCORE_COIN_TEXT_X 16 - #define HISCORE_COIN_NAMES_X 45 -#else - #define HISCORE_COIN_ICON_X 18 - #define HISCORE_COIN_TEXT_X 34 - #define HISCORE_COIN_NAMES_X 60 -#endif +#define HISCORE_COIN_ICON_X ROM_JP ? 0 : 18 +#define HISCORE_COIN_TEXT_X ROM_JP ? 16 : 34 +#define HISCORE_COIN_NAMES_X ROM_JP ? 45 : 60 /** * Prints course coins collected in a score menu save file. @@ -2585,17 +2515,11 @@ void print_score_file_course_coin_score(s8 fileIndex, s16 courseIndex, s16 x, s1 u8 stars = save_file_get_star_flags(fileIndex, courseIndex); unsigned char* textCoinX = GameEngine_LoadTranslation("TEXT_COIN_X"); unsigned char* textStar = GameEngine_LoadTranslation("TEXT_STAR"); -#if defined(VERSION_JP) || defined(VERSION_SH) - #define LENGTH 5 -#else - #define LENGTH 8 -#endif unsigned char* fileNames[] = { GameEngine_LoadTranslation("TEXT_4DASHES"), GameEngine_LoadTranslation("TEXT_FILE_MARIO_A"), GameEngine_LoadTranslation("TEXT_FILE_MARIO_B"), GameEngine_LoadTranslation("TEXT_FILE_MARIO_C"), GameEngine_LoadTranslation("TEXT_FILE_MARIO_D") }; -#undef LENGTH // MYSCORE if (sScoreFileCoinScoreMode == 0) { // Print "[coin] x" @@ -2642,33 +2566,19 @@ void print_score_file_star_score(s8 fileIndex, s16 courseIndex, s16 x, s16 y) { print_menu_generic_string(x, y, starScoreText); } -#if defined(VERSION_JP) || defined(VERSION_SH) - #define MARIO_X 28 - #define FILE_LETTER_X 86 -#ifdef VERSION_JP - #define LEVEL_NUM_PAD 0 - #define SECRET_STARS_PAD 0 -#else - #define LEVEL_NUM_PAD 5 - #define SECRET_STARS_PAD 10 -#endif +#if defined(VERSION_US) + #define MARIO_X ROM_JP ? 28 : 25 + #define FILE_LETTER_X ROM_JP ? 86 : 95 + #define LEVEL_NUM_PAD ROM_JP ? 0 : 3 + #define SECRET_STARS_PAD ROM_JP ? 0 : 6 #define LEVEL_NAME_X 23 - #define STAR_SCORE_X 152 - #define MYSCORE_X 237 - #define HISCORE_X 237 -#else - #define MARIO_X 25 - #define FILE_LETTER_X 95 - #define LEVEL_NUM_PAD 3 - #define SECRET_STARS_PAD 6 - #define LEVEL_NAME_X 23 - #define STAR_SCORE_X 171 + #define STAR_SCORE_X ROM_JP ? 152 : 171 #ifdef VERSION_EU #define MYSCORE_X get_str_x_pos_from_center(257, textMyScore[sLanguageMode], 10.0f) #define HISCORE_X get_str_x_pos_from_center(257, textHiScore[sLanguageMode], 10.0f) #else - #define MYSCORE_X 238 - #define HISCORE_X 231 + #define MYSCORE_X ROM_JP ? 237 : 238 + #define HISCORE_X ROM_JP ? 237 : 231 #endif #endif @@ -2752,7 +2662,7 @@ void print_save_file_scores(s8 fileIndex) { if (sScoreFileCoinScoreMode == 0) { print_menu_generic_string(MYSCORE_X, 24, textMyScore); } else { - print_menu_generic_string(HISCORE_X, 24, textHiScore); + print_menu_generic_string(HISCORE_X, 24, GameEngine_LoadTranslation(textHiScore)); } gSPDisplayList(gDisplayListHead++, dl_menu_ia8_text_end); diff --git a/src/menu/star_select.c b/src/menu/star_select.c index a56821bd..7bdd00d5 100644 --- a/src/menu/star_select.c +++ b/src/menu/star_select.c @@ -279,11 +279,7 @@ void print_course_number(void) { gSPDisplayList(gDisplayListHead++, dl_rgba16_text_end); } -#ifdef VERSION_JP -#define ACT_NAME_X 158 -#else -#define ACT_NAME_X 163 -#endif +#define ACT_NAME_X ROM_JP ? 163 : 158 /** * Print act selector strings, some with special checks.