diff options
| author | Elijah Thomas <42302100+elijah-thomas774@users.noreply.github.com> | 2025-09-27 12:38:36 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-27 12:38:36 -0400 |
| commit | 3c4bfedd5d1591c60bddffe0cd196c90db852cfc (patch) | |
| tree | d6cf396866b41a12584796962598c413a622dfc7 /src/d | |
| parent | 74aef290933bf0183d839c7b24a2330f470a6997 (diff) | |
| parent | 183ce0e86f7c7796568607b5239035406ea448d2 (diff) | |
Merge pull request #256 from robojumper/d_lang
d_lang OK
Diffstat (limited to 'src/d')
| -rw-r--r-- | src/d/d_dvd_drive_error.cpp | 9 | ||||
| -rw-r--r-- | src/d/d_lang.cpp | 19 | ||||
| -rw-r--r-- | src/d/d_message.cpp | 8 | ||||
| -rw-r--r-- | src/d/lyt/d_lyt_auto_explain.cpp | 5 | ||||
| -rw-r--r-- | src/d/lyt/d_lyt_game_over.cpp | 9 | ||||
| -rw-r--r-- | src/d/lyt/d_lyt_pause.cpp | 2 |
6 files changed, 34 insertions, 18 deletions
diff --git a/src/d/d_dvd_drive_error.cpp b/src/d/d_dvd_drive_error.cpp index d27fdedc..461c98c4 100644 --- a/src/d/d_dvd_drive_error.cpp +++ b/src/d/d_dvd_drive_error.cpp @@ -2,6 +2,7 @@ #include "d/d_dvd_unk.h" #include "d/d_gfx.h" +#include "d/d_lang.h" #include "d/d_lyt_hio.h" #include "d/d_reset.h" #include "egg/gfx/eggDrawGX.h" @@ -64,8 +65,6 @@ static const wchar_t *sErrorsFr[] = { sErrFrDiskError, }; -extern "C" u8 fn_80054F30(); - void dDvdDriveError_c::draw() { EGG::Screen screen; screen.SetCanvasMode(EGG::Screen::CANVASMODE_0); @@ -105,11 +104,11 @@ void dDvdDriveError_c::draw() { idx = 2; } - u8 lang = fn_80054F30(); + u8 lang = getCurrentLanguage1(); const wchar_t *str; - if (lang == 3) { + if (lang == D_LANG_FR) { str = sErrorsFr[idx]; - } else if (lang == 4) { + } else if (lang == D_LANG_ES) { str = sErrorsEs[idx]; } else { str = sErrorsEn[idx]; diff --git a/src/d/d_lang.cpp b/src/d/d_lang.cpp new file mode 100644 index 00000000..80dd9e00 --- /dev/null +++ b/src/d/d_lang.cpp @@ -0,0 +1,19 @@ +#include "d/d_lang.h" + +#include "rvl/SC/scapi.h" + +u8 getCurrentLanguage1() { + return getCurrentLanguage2(); +} + +u8 getCurrentLanguage2() { + return getCurrentLanguage(); +} + +u8 getCurrentLanguage() { + u8 lang = SCGetLanguage(); + if (lang != SC_LANG_FR && lang != SC_LANG_SP) { + lang = SC_LANG_EN; + } + return lang; +} diff --git a/src/d/d_message.cpp b/src/d/d_message.cpp index 7dbb76c4..c4490b60 100644 --- a/src/d/d_message.cpp +++ b/src/d/d_message.cpp @@ -6,6 +6,7 @@ #include "d/a/d_a_itembase.h" #include "d/a/d_a_player.h" #include "d/d_base.h" +#include "d/d_lang.h" #include "d/d_light_env.h" #include "d/d_lyt_hio.h" #include "d/d_player.h" @@ -1776,13 +1777,12 @@ void dMessage_c::reset() { mMinigameTime = 0; } -extern "C" u8 fn_80054F30(); static SizedString<8> sCurrentLanguage; const char *dMessage_c::getLanguageIdentifier() { - u8 lang = fn_80054F30(); - if (lang == 3) { + u8 lang = getCurrentLanguage1(); + if (lang == D_LANG_FR) { sCurrentLanguage = "fr_US"; - } else if (lang == 4) { + } else if (lang == D_LANG_ES) { sCurrentLanguage = "es_US"; } else { sCurrentLanguage = "en_US"; diff --git a/src/d/lyt/d_lyt_auto_explain.cpp b/src/d/lyt/d_lyt_auto_explain.cpp index 4c3e87fd..946ff95d 100644 --- a/src/d/lyt/d_lyt_auto_explain.cpp +++ b/src/d/lyt/d_lyt_auto_explain.cpp @@ -1,6 +1,7 @@ #include "d/lyt/d_lyt_auto_explain.h" #include "common.h" +#include "d/d_lang.h" #include "d/d_tag_processor.h" #include "d/lyt/d2d.h" #include "d/lyt/d_lyt_control_game.h" @@ -45,11 +46,9 @@ void dLytAutoExplain_c::executeState_Invisible() { } void dLytAutoExplain_c::finalizeState_Invisible() {} -extern "C" u8 fn_80054F30(); - void dLytAutoExplain_c::initializeState_In() { int numLines = mpTagProcessor->getNumLinesMaybe() - 1; - if (fn_80054F30() != 0 && numLines == 3) { + if (getCurrentLanguage1() != D_LANG_JP && numLines == 3) { numLines = 2; } diff --git a/src/d/lyt/d_lyt_game_over.cpp b/src/d/lyt/d_lyt_game_over.cpp index f50045fd..b3939590 100644 --- a/src/d/lyt/d_lyt_game_over.cpp +++ b/src/d/lyt/d_lyt_game_over.cpp @@ -3,6 +3,7 @@ #include "common.h" #include "d/d_base.h" #include "d/d_fader.h" +#include "d/d_lang.h" #include "d/d_message.h" #include "d/d_sc_game.h" #include "d/d_sc_title.h" @@ -62,14 +63,12 @@ dLytGameOver_c::dLytGameOver_c() : mStateMgr(*this) { init(); } -extern "C" u8 fn_80054F30(); - bool dLytGameOver_c::build() { - u8 lang = fn_80054F30(); + u8 lang = getCurrentLanguage1(); s32 variant; - if (lang == 3) { + if (lang == D_LANG_FR) { variant = 1; - } else if (lang == 4) { + } else if (lang == D_LANG_ES) { variant = 2; } else { variant = 0; diff --git a/src/d/lyt/d_lyt_pause.cpp b/src/d/lyt/d_lyt_pause.cpp index 926de978..aa6cc565 100644 --- a/src/d/lyt/d_lyt_pause.cpp +++ b/src/d/lyt/d_lyt_pause.cpp @@ -358,7 +358,7 @@ void dLytPauseMain_c::initializeState_Select() { mpPauseText->requestIn(); } } -extern "C" void fn_80059F40(void *); + void dLytPauseMain_c::executeState_Select() { switch (mStep) { case 0: { |
