From 5758c170c853fdfc4162326aebd25ef0361f1bef Mon Sep 17 00:00:00 2001
From: dd86k
Date: Sun, 2 Jun 2019 19:13:08 -0400
Subject: [PATCH] Tiny GTA Text optimization
---
src/audio/mp3.c | 2 +-
src/ff.c | 27 ++++++++++++++-------------
2 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/src/audio/mp3.c b/src/audio/mp3.c
index 5424111..4630b19 100644
--- a/src/audio/mp3.c
+++ b/src/audio/mp3.c
@@ -77,7 +77,7 @@ void scan_mp3(uint32_t sig, int id3) {
"MPEG-%c Audio Layer %s (MP3) audio, %s Hz, %s kbps, %s",
v, l, f, b, c
);
- if (ci == 1) {
+ if (ci == 1) { // joint stereo audio
if (h.extra & 0x20)
printf(" +intensity");
if (h.extra & 0x10)
diff --git a/src/ff.c b/src/ff.c
index 947d9b4..e965e30 100644
--- a/src/ff.c
+++ b/src/ff.c
@@ -50,7 +50,7 @@ void scan(int *error) {
*error = 4;
return;
}
-
+
char *r;
switch (s) {
@@ -147,23 +147,24 @@ void scan(int *error) {
return;
case 0x454C4247: // "GBLE"
+ r = "English";
+ goto GTA_TEXT;
case 0x464C4247: // "GBLF"
+ r = "French";
+ goto GTA_TEXT;
case 0x474C4247: // "GBLG"
+ r = "German";
+ goto GTA_TEXT;
case 0x494C4247: // "GBLI"
+ r = "Italian";
+ goto GTA_TEXT;
case 0x534C4247: // "GBLS"
- case 0x4A4C4247: { // "GBLJ"
- char *r;
- switch (s) {
- case 0x454C4247: r = "English"; break; // 'E'
- case 0x464C4247: r = "French"; break; // 'F'
- case 0x474C4247: r = "German"; break; // 'G'
- case 0x494C4247: r = "Italian"; break; // 'I'
- case 0x534C4247: r = "Spanish"; break; // 'S'
- case 0x4A4C4247: r = "Japanese"; break; // 'J'
- }
- reportf("GTA Text (GTA2+) in %s\n", r);
+ r = "Spanish";
+ goto GTA_TEXT;
+ case 0x4A4C4247: // "GBLJ"
+ r = "Japanese";
+GTA_TEXT: reportf("GTA Text (GTA2+) in %s\n", r);
return;
- }
case 0x47585432: { // "2TXG", big endian
_ddread(&s, 4);