]> Chaos Git - misc/MaihanaTL.git/commitdiff
Tweak to parse generic text with no specifiers as fallback. Not tested yet, though.
authorchaoskagami <chaos.kagami@gmail.com>
Sat, 25 Apr 2015 02:18:58 +0000 (22:18 -0400)
committerchaoskagami <chaos.kagami@gmail.com>
Sat, 25 Apr 2015 02:18:58 +0000 (22:18 -0400)
build.sh
tools/scetool.i686 [deleted file]
tools/scetool.x86_64 [deleted file]
tools/src/scetool.c

index d20aabfed5524553ed1c37663f8325eabe7860c2..9443ef180c7ea42fa82b68a9adc40416d9ea67c6 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -10,6 +10,10 @@ if [ "$1" == "" ]; then
        exit 0
 fi
 
+if [ ! -e tools/scetool ]; then
+       gcc -o tools/scetool tools/src/scetool.c
+fi
+
 cd scripts
 if [ -d $1 ] && [ -d ../data/Data/Sce ]; then
        cd $1
@@ -20,7 +24,7 @@ if [ -d $1 ] && [ -d ../data/Data/Sce ]; then
 
                if [ -e $CURRENT_VOL.txt ]; then
                        mv ../../data/Data/Sce/$CURRENT_VOL.vol{,.bak}
-                       ../../tools/scetool.$(uname -m) inject ../../data/Data/Sce/$CURRENT_VOL.vol.bak $CURRENT_VOL.txt ../../data/Data/Sce/$CURRENT_VOL.vol
+                       ../../tools/scetool inject ../../data/Data/Sce/$CURRENT_VOL.vol.bak $CURRENT_VOL.txt ../../data/Data/Sce/$CURRENT_VOL.vol
                fi
        done
        
@@ -36,4 +40,4 @@ if [ -d $1 ] && [ -d ../data/Data/Sce ]; then
        done
 else
        echo "Not a valid translation or data not copied into data/ folder."
-fi
\ No newline at end of file
+fi
diff --git a/tools/scetool.i686 b/tools/scetool.i686
deleted file mode 100755 (executable)
index 39287d0..0000000
Binary files a/tools/scetool.i686 and /dev/null differ
diff --git a/tools/scetool.x86_64 b/tools/scetool.x86_64
deleted file mode 100755 (executable)
index b8244b1..0000000
Binary files a/tools/scetool.x86_64 and /dev/null differ
index b57a896e77ade8baa1263bcb357cf35ebfdfc363..98d758e7bee1d38d468b8e1b7a2376e5d27ea84f 100644 (file)
@@ -205,6 +205,9 @@ void inject (char* out, char* script) {
                                                                break;
                                                }
                                                break;
+                                       case 0x1D:
+                                               memcpy(((text_ent*)&buffer[offset])->TextData,str,256);
+                                               break;
                                }
                        }
 
@@ -362,6 +365,15 @@ void extract (char* out) {
                        }
 
                        free(c1);
+               } else if (buffer[i] == 0x1D) {
+                       // Raw text block - no formatting. This is a fallback for when there's no real formatting.
+
+                       text_ent* c1 = (text_ent*)calloc(sizeof(text_ent), 1);
+                       memcpy(c1, &buffer[i], sizeof(text_ent));
+                               
+                       fprintf(export, "[1D 0x%08lX 00]\n%s\n", i, c1->TextData);
+
+                       i += sizeof(text_ent) - 1;
                }
        }