summaryrefslogtreecommitdiff
path: root/src/port
diff options
context:
space:
mode:
authorSonicDcer <alejandro.asenjo88@gmail.com>2026-06-15 03:13:19 -0300
committerSonicDcer <alejandro.asenjo88@gmail.com>2026-06-15 03:13:19 -0300
commitcee62dd2c39ecf9c032c573fabed1fbb08f9517a (patch)
tree34594092ae41c0d92b2b05c0f52be1d8bd18a253 /src/port
parented6604310a74c2207716a5bee32ae05d5fd00f7a (diff)
parentb96d7e4c530a11975b0f7a618253b9a0ea225880 (diff)
Merge branch 'main' of github.com:HarbourMasters/Starship
Diffstat (limited to 'src/port')
-rw-r--r--src/port/Engine.h1
-rw-r--r--src/port/extractor/GameExtractor.cpp1
-rw-r--r--src/port/ui/ImguiUI.cpp51
3 files changed, 44 insertions, 9 deletions
diff --git a/src/port/Engine.h b/src/port/Engine.h
index bbb50c60..b937e9db 100644
--- a/src/port/Engine.h
+++ b/src/port/Engine.h
@@ -6,6 +6,7 @@
typedef enum {
SF64_VER_US = 0x94F1D5A7,
SF64_VER_EU = 0x6EE9ADE7,
+ SF64_VER_EU_SPA = 0x3964945f,
SF64_VER_JP = 0x3728D3E1
} SF64Version;
diff --git a/src/port/extractor/GameExtractor.cpp b/src/port/extractor/GameExtractor.cpp
index d75ab3c3..9be7f4b7 100644
--- a/src/port/extractor/GameExtractor.cpp
+++ b/src/port/extractor/GameExtractor.cpp
@@ -18,6 +18,7 @@ std::unordered_map<std::string, std::string> mGameList = {
{ "d064229a32cc05ab85e2381ce07744eb3ffaf530", "Star Fox 64 (J) (V1.0) (Uncompressed)" },
{ "05b307b8804f992af1a1e2fbafbd588501fdf799", "Star Fox 64 (E) (V1.0)" },
{ "09f5d5c14219fc77a36c5a6ad5e63f7abd8b3385", "Star Fox 64 (E) (V1.0) (Uncompressed)" },
+ { "e6dad7523ff8f83fad6fbdb59d472b4f76340c2b", "Star Fox 64 (E) (V1.0) (Spanish Romhack)" },
{ "c8a10699dea52f4bb2e2311935c1376dfb352e7a", "Star Fox 64 (C) (V1.1)" },
{ "3a05aba5549fa71e8b16a0c6e2c8481b070818a9", "Star Fox 64 (C) (V1.1) (Uncompressed)" },
};
diff --git a/src/port/ui/ImguiUI.cpp b/src/port/ui/ImguiUI.cpp
index 67dfb7e1..5874ac2a 100644
--- a/src/port/ui/ImguiUI.cpp
+++ b/src/port/ui/ImguiUI.cpp
@@ -115,6 +115,9 @@ static const char* filters[3] = {
static const char* voiceLangs[] = {
"Original", /*"Japanese",*/ "Lylat"
};
+static const char* voiceLangsSPA[] = {
+ "EspaƱol", /*"Japanese",*/ "Lylat"
+};
void DrawSpeakerPositionEditor() {
static ImVec2 lastCanvasPos;
@@ -309,15 +312,26 @@ void DrawSettingsMenu(){
UIWidgets::Spacer(0);
if (UIWidgets::BeginMenu("Language")) {
ImGui::Dummy(ImVec2(150, 0.0f));
- if (!GameEngine::HasVersion(SF64_VER_JP) && GameEngine::HasVersion(SF64_VER_EU)){
- //UIWidgets::Spacer(0);
- if (UIWidgets::CVarCombobox("Voices", "gVoiceLanguage", voiceLangs,
- {
- .tooltip = "Changes the language of the voice acting in the game",
- .defaultIndex = 0,
- })) {
- Audio_SetVoiceLanguage(CVarGetInteger("gVoiceLanguage", 0));
- };
+ if (!GameEngine::HasVersion(SF64_VER_JP) && (GameEngine::HasVersion(SF64_VER_EU) || GameEngine::HasVersion(SF64_VER_EU_SPA))) {
+ if (GameEngine::HasVersion(SF64_VER_EU_SPA)) {
+ //UIWidgets::Spacer(0);
+ if (UIWidgets::CVarCombobox("Voices", "gVoiceLanguage", voiceLangsSPA,
+ {
+ .tooltip = "Changes the language of the voice acting in the game",
+ .defaultIndex = 0,
+ })) {
+ Audio_SetVoiceLanguage(CVarGetInteger("gVoiceLanguage", 0));
+ };
+ } else {
+ //UIWidgets::Spacer(0);
+ if (UIWidgets::CVarCombobox("Voices", "gVoiceLanguage", voiceLangs,
+ {
+ .tooltip = "Changes the language of the voice acting in the game",
+ .defaultIndex = 0,
+ })) {
+ Audio_SetVoiceLanguage(CVarGetInteger("gVoiceLanguage", 0));
+ };
+ }
} else {
if (UIWidgets::Button("Install JP/EU Audio")) {
if (GameEngine::GenAssetFile(false)){
@@ -570,6 +584,10 @@ static const char* hudAspects[] = {
"Expand", "Custom", "Original (4:3)", "Widescreen (16:9)", "Nintendo 3DS (5:3)", "16:10 (8:5)", "Ultrawide (21:9)"
};
+static const char* radioCommBox[] = {
+ "Original", "Expand"
+};
+
void DrawEnhancementsMenu() {
if (UIWidgets::BeginMenu("Enhancements")) {
@@ -622,6 +640,21 @@ void DrawEnhancementsMenu() {
}
if (UIWidgets::BeginMenu("HUD")) {
+ if (UIWidgets::CVarCombobox("Radio Communication Box", "gRadioCommBox.Selection", radioCommBox,
+ {
+ .tooltip = "Which Aspect Ratio to use when drawing the Radio Communication Box",
+ .defaultIndex = 0,
+ })) {
+ switch (CVarGetInteger("gRadioCommBox.Selection", 0)) {
+ case 0:
+ CVarSetInteger("gRadioCommBox.expand", 0);
+ break;
+ case 1:
+ CVarSetInteger("gRadioCommBox.expand", 1);
+ break;
+ }
+ }
+
if (UIWidgets::CVarCombobox("HUD Aspect Ratio", "gHUDAspectRatio.Selection", hudAspects,
{
.tooltip = "Which Aspect Ratio to use when drawing the HUD (Radar, gauges and radio messages)",