aboutsummaryrefslogtreecommitdiff
path: root/project/src/file-type.c
diff options
context:
space:
mode:
Diffstat (limited to 'project/src/file-type.c')
-rw-r--r--project/src/file-type.c388
1 files changed, 214 insertions, 174 deletions
diff --git a/project/src/file-type.c b/project/src/file-type.c
index e6d2d9d..f3d3171 100644
--- a/project/src/file-type.c
+++ b/project/src/file-type.c
@@ -34,7 +34,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_YAZ0, 0, 0, "YAZ0",
".szs", ".szs", ".szs",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
4, {0x59,0x61,0x7a,0x30}, // "Yaz0"
0,
"0",
@@ -46,7 +46,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_YAZ1, 0, 0, "YAZ1",
".szs", ".szs", ".szs",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
4, {0x59,0x61,0x7a,0x31}, // "Yaz1"
0,
"1",
@@ -58,7 +58,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_XYZ, 0, 0, "XYZ",
".xyz", ".szs", ".xyz",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
0, {0}, // no magic
0,
MinusString,
@@ -70,7 +70,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_BZ, 0, 0, "BZ",
".bz", ".szs", ".bz",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
4, {0x57,0x42,0x5a,0x61}, // "WBZa"
0,
MinusString,
@@ -82,7 +82,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_BZIP2, 0, 0, "BZIP2",
".bz2", ".szs", ".bz2",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
0, {0}, // no magic
0,
MinusString,
@@ -94,7 +94,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_LZ, 0, 0, "LZ",
".lz", ".szs", ".lz",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
4, {0x57,0x4c,0x5a,0x61}, // "WLZa"
0,
MinusString,
@@ -106,7 +106,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_LZMA, 0, 0, "LZMA",
".lzma", ".szs", ".lzma",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
0, {0}, // no magic
0,
MinusString,
@@ -130,7 +130,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_U8, 0, 0, "U8",
".u8", ".szs", ".u8",
- FFT_VALID | FFT_ARCHIVE | FFT_CREATE | FFT_EXTRACT | FFT_CUT | FFT_LINK,
+ FFT_VALID | FFT_ARCHIVE | FFT_TRACK | FFT_CREATE | FFT_EXTRACT | FFT_CUT | FFT_LINK,
4, {0x55,0xaa,0x38,0x2d}, // "Uª8-"
0,
MinusString,
@@ -142,7 +142,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_WU8, 0, 0, "WU8",
".wu8", ".wu8", ".wu8",
- FFT_VALID | FFT_ARCHIVE | FFT_CREATE | FFT_EXTRACT | FFT_CUT | FFT_LINK,
+ FFT_VALID | FFT_ARCHIVE | FFT_TRACK | FFT_CREATE | FFT_EXTRACT | FFT_CUT | FFT_LINK,
4, {0x57,0x55,0x38,0x61}, // "WU8a"
0,
MinusString,
@@ -222,7 +222,19 @@ const file_type_t FileTypeTab[FF_N+1] =
"Simple archive format"
},
- // FF_LTA = 17
+ // FF_USE_LTA = 17
+ {
+ FF_USE_LTA, 0, 0, "USE-LTA",
+ ".szs", ".szs", ".szs",
+ FFT_VALID,
+ 8, {0x23,0x55,0x53,0x45,0x2d,0x4c,0x54,0x41}, // "#USE-LTA"
+ 0,
+ MinusString,
+ MinusString,
+ "LE-CODE redirect to LTA"
+ },
+
+ // FF_LTA = 18
{
FF_LTA, 0, 0, "LTA",
".lta", "", ".lta",
@@ -234,7 +246,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"LE-CODE Track Archive"
},
- // FF_LFL = 18
+ // FF_LFL = 19
{
FF_LFL, 0, 0, "LFL",
".lfl", ".szs", ".lfl",
@@ -246,7 +258,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"LE-CODE File List"
},
- // FF_CHR = 19
+ // FF_CHR = 20
{
FF_CHR, 0, 0, "CHR",
".chr", ".szs", ".chr0",
@@ -258,7 +270,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Model movement animations"
},
- // FF_CLR = 20
+ // FF_CLR = 21
{
FF_CLR, 0, 0, "CLR",
".clr", ".szs", ".clr0",
@@ -270,7 +282,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Colour changing animations"
},
- // FF_MDL = 21
+ // FF_MDL = 22
{
FF_MDL, FF_MDL, FF_MDL_TXT, "MDL",
".mdl", ".szs", ".mdl0",
@@ -282,7 +294,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Model files"
},
- // FF_PAT = 22
+ // FF_PAT = 23
{
FF_PAT, FF_PAT, FF_PAT_TXT, "PAT",
".pat", ".szs", ".pat0",
@@ -294,7 +306,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Texture swapping animations"
},
- // FF_SCN = 23
+ // FF_SCN = 24
{
FF_SCN, 0, 0, "SCN",
".scn", ".szs", ".scn0",
@@ -306,7 +318,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Polygon morphing animations"
},
- // FF_SHP = 24
+ // FF_SHP = 25
{
FF_SHP, 0, 0, "SHP",
".shp", ".szs", ".shp0",
@@ -318,7 +330,7 @@ const file_type_t FileTypeTab[FF_N+1] =
filetype_info_unknown
},
- // FF_SRT = 25
+ // FF_SRT = 26
{
FF_SRT, 0, 0, "SRT",
".srt", ".szs", ".srt0",
@@ -330,7 +342,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Texture movement animations"
},
- // FF_TEX = 26
+ // FF_TEX = 27
{
FF_TEX, 0, 0, "TEX",
".tex", ".szs", ".tex0",
@@ -342,7 +354,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Texture file"
},
- // FF_TEX_CT = 27
+ // FF_TEX_CT = 28
{
FF_TEX_CT, 0, 0, "TEX+CT",
".tex", ".szs", ".tex0",
@@ -354,7 +366,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Texture file with CTGP-CODE"
},
- // FF_CTDEF = 28
+ // FF_CTDEF = 29
{
FF_CTDEF, 0, 0, "CT-DEF",
".txt", ".szs", ".txt",
@@ -366,7 +378,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-CODE definition file"
},
- // FF_CT0_CODE = 29
+ // FF_CT0_CODE = 30
{
FF_CT0_CODE, 0, 0, "C0CODE",
".bin", ".szs", ".bin",
@@ -378,7 +390,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-CODE for main.dol section T2"
},
- // FF_CT0_DATA = 30
+ // FF_CT0_DATA = 31
{
FF_CT0_DATA, 0, 0, "C0DATA",
".bin", ".szs", ".bin",
@@ -390,7 +402,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA for main.dol section D8"
},
- // FF_CT1_CODE = 31
+ // FF_CT1_CODE = 32
{
FF_CT1_CODE, 0, 0, "C1CODE",
".bin", ".szs", ".bin",
@@ -402,7 +414,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-CODE for strap TEX0 file"
},
- // FF_CT1_DATA = 32
+ // FF_CT1_DATA = 33
{
FF_CT1_DATA, 0, 0, "C1DATA",
".ctcode", ".szs", ".ctcode",
@@ -414,7 +426,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA for strap TEX0 file"
},
- // FF_CUP1 = 33
+ // FF_CUP1 = 34
{
FF_CUP1, 0, 0, "CUP1",
".bin", ".szs", ".bin",
@@ -426,7 +438,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA section: Cups"
},
- // FF_CRS1 = 34
+ // FF_CRS1 = 35
{
FF_CRS1, 0, 0, "CRS1",
".bin", ".szs", ".bin",
@@ -438,7 +450,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA section: Tracks"
},
- // FF_MOD1 = 35
+ // FF_MOD1 = 36
{
FF_MOD1, 0, 0, "MOD1",
".bin", ".szs", ".bin",
@@ -450,7 +462,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA section: main.dol patches"
},
- // FF_MOD2 = 36
+ // FF_MOD2 = 37
{
FF_MOD2, 0, 0, "MOD2",
".bin", ".szs", ".bin",
@@ -462,7 +474,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA section: StaticR.rel patches"
},
- // FF_OVR1 = 37
+ // FF_OVR1 = 38
{
FF_OVR1, 0, 0, "OVR1",
".bin", ".szs", ".bin",
@@ -474,7 +486,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA section: Speedometer"
},
- // FF_LE_BIN = 38
+ // FF_LE_BIN = 39
{
FF_LE_BIN, 0, 0, "LE-BIN",
".bin", ".szs", ".bin",
@@ -486,7 +498,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"LE-CODE binary"
},
- // FF_LEX = 39
+ // FF_LEX = 40
{
FF_LEX, FF_LEX, FF_LEX_TXT, "LEX",
".lex", ".szs", ".lex",
@@ -498,7 +510,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"LECODE extension file"
},
- // FF_LEX_TXT = 40
+ // FF_LEX_TXT = 41
{
FF_LEX_TXT, FF_LEX, FF_LEX_TXT, "LEX-TXT",
".txt", ".szs", ".txt",
@@ -510,7 +522,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text version of LEX"
},
- // FF_LPAR = 41
+ // FF_LPAR = 42
{
FF_LPAR, 0, 0, "LPAR",
".txt", ".szs", ".txt",
@@ -522,7 +534,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file with LE-CODE parameters"
},
- // FF_LEDEF = 42
+ // FF_LEDEF = 43
{
FF_LEDEF, 0, 0, "LE-DEF",
".txt", ".szs", ".txt",
@@ -534,7 +546,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"LE-CODE definition file"
},
- // FF_LEDIS = 43
+ // FF_LEDIS = 44
{
FF_LEDIS, 0, 0, "LE-DIS",
".txt", ".szs", ".txt",
@@ -546,7 +558,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file with CT+LE-CODE distribution settings"
},
- // FF_LEREF = 44
+ // FF_LEREF = 45
{
FF_LEREF, 0, 0, "LE-REF",
".txt", ".szs", ".txt",
@@ -558,7 +570,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file as track reference"
},
- // FF_LESTR = 45
+ // FF_LESTR = 46
{
FF_LESTR, 0, 0, "LE-STR",
".txt", ".szs", ".txt",
@@ -570,7 +582,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file strings for tracks"
},
- // FF_SHA1REF = 46
+ // FF_SHA1REF = 47
{
FF_SHA1REF, 0, 0, "SHA1REF",
".txt", ".szs", ".txt",
@@ -582,7 +594,19 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file with SHA1 of tracks"
},
- // FF_PREFIX = 47
+ // FF_SHA1ID = 48
+ {
+ FF_SHA1ID, 0, 0, "SHA1ID",
+ ".txt", ".szs", ".txt",
+ FFT_VALID | FFT_TEXT | FFT_ENCODE,
+ 8, {0x23,0x53,0x48,0x41,0x31,0x49,0x44,0x31}, // "#SHA1ID1"
+ 0,
+ MinusString,
+ MinusString,
+ "Text file with SHA1 and file_id of tracks"
+ },
+
+ // FF_PREFIX = 49
{
FF_PREFIX, 0, 0, "PREFIX",
".txt", ".szs", ".txt",
@@ -594,7 +618,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file with console/game prefixes and info"
},
- // FF_MTCAT = 48
+ // FF_MTCAT = 50
{
FF_MTCAT, 0, 0, "MTCAT",
".txt", ".szs", ".txt",
@@ -606,7 +630,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file with MKW Track Categories"
},
- // FF_CT_SHA1 = 49
+ // FF_CT_SHA1 = 51
{
FF_CT_SHA1, 0, 0, "CT-SHA1",
".txt", ".szs", ".txt",
@@ -618,7 +642,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_MDL_TXT = 50
+ // FF_MDL_TXT = 52
{
FF_MDL_TXT, FF_MDL, FF_MDL_TXT, "MDLTXT",
".txt", ".szs", ".txt",
@@ -630,7 +654,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text version of MDL"
},
- // FF_PAT_TXT = 51
+ // FF_PAT_TXT = 53
{
FF_PAT_TXT, FF_PAT, FF_PAT_TXT, "PATTXT",
".txt", ".szs", ".txt",
@@ -642,7 +666,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text version of PAT"
},
- // FF_TPL = 52
+ // FF_TPL = 54
{
FF_TPL, 0, 0, "TPL",
".tpl", ".szs", ".tpl",
@@ -654,7 +678,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Image container"
},
- // FF_BTI = 53
+ // FF_BTI = 55
{
FF_BTI, 0, 0, "BTI",
".bti", ".szs", ".bti",
@@ -666,7 +690,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Image container"
},
- // FF_BREFT_IMG = 54
+ // FF_BREFT_IMG = 56
{
FF_BREFT_IMG, 0, 0, "BT-IMG",
".bt-img", ".szs", ".bt-img",
@@ -678,7 +702,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Raw image of BREFT file"
},
- // FF_BMG = 55
+ // FF_BMG = 57
{
FF_BMG, FF_BMG, FF_BMG_TXT, "BMG",
".bmg", ".szs", ".bmg",
@@ -690,7 +714,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Message file"
},
- // FF_BMG_TXT = 56
+ // FF_BMG_TXT = 58
{
FF_BMG_TXT, FF_BMG, FF_BMG_TXT, "BMGTXT",
".txt", ".szs", ".txt",
@@ -702,7 +726,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text version of BMG"
},
- // FF_KCL = 57
+ // FF_KCL = 59
{
FF_KCL, FF_KCL, FF_KCL_TXT, "KCL",
".kcl", ".szs", ".kcl",
@@ -714,7 +738,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Collision file"
},
- // FF_KCL_TXT = 58
+ // FF_KCL_TXT = 60
{
FF_KCL_TXT, FF_KCL, FF_KCL_TXT, "KCLTXT",
".obj", ".szs", ".obj",
@@ -726,7 +750,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Wavefront OBJ by WSZST"
},
- // FF_WAV_OBJ = 59
+ // FF_WAV_OBJ = 61
{
FF_WAV_OBJ, FF_KCL, FF_WAV_OBJ, "WAVOBJ",
".obj", ".szs", ".obj",
@@ -738,7 +762,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Wavefront OBJ"
},
- // FF_SKP_OBJ = 60
+ // FF_SKP_OBJ = 62
{
FF_SKP_OBJ, FF_KCL, FF_SKP_OBJ, "SKPOBJ",
".obj", ".szs", ".obj",
@@ -750,7 +774,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Wavefront OBJ by Sketchup"
},
- // FF_KMP = 61
+ // FF_KMP = 63
{
FF_KMP, FF_KMP, FF_KMP_TXT, "KMP",
".kmp", ".szs", ".kmp",
@@ -762,7 +786,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Track information file"
},
- // FF_KMP_TXT = 62
+ // FF_KMP_TXT = 64
{
FF_KMP_TXT, FF_KMP, FF_KMP_TXT, "KMPTXT",
".txt", ".szs", ".txt",
@@ -774,7 +798,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text version of KMP"
},
- // FF_ITEMSLT = 63
+ // FF_ITEMSLT = 65
{
FF_ITEMSLT, FF_ITEMSLT, FF_ITEMSLT_TXT, "ITEMSLT",
".bin", ".szs", ".slt",
@@ -786,7 +810,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_ITEMSLT_TXT = 64
+ // FF_ITEMSLT_TXT = 66
{
FF_ITEMSLT_TXT, FF_ITEMSLT, FF_ITEMSLT_TXT, "ITEMSLTTXT",
".txt", ".szs", ".txt",
@@ -798,7 +822,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_KMG = 65
+ // FF_KMG = 67
{
FF_KMG, FF_KMG, FF_KMG_TXT, "KMG",
".kmg", ".szs", ".kmg",
@@ -810,7 +834,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_KMG_TXT = 66
+ // FF_KMG_TXT = 68
{
FF_KMG_TXT, FF_KMG, FF_KMG_TXT, "KMGTXT",
".txt", ".szs", ".txt",
@@ -822,7 +846,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_KRM = 67
+ // FF_KRM = 69
{
FF_KRM, FF_KRM, FF_KRM_TXT, "KRM",
".krm", ".szs", ".krm",
@@ -834,7 +858,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_KRM_TXT = 68
+ // FF_KRM_TXT = 70
{
FF_KRM_TXT, FF_KRM, FF_KRM_TXT, "KRMTXT",
".txt", ".szs", ".txt",
@@ -846,7 +870,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_KRT = 69
+ // FF_KRT = 71
{
FF_KRT, FF_KRT, FF_KRT_TXT, "KRT",
".krt", ".szs", ".krt",
@@ -858,7 +882,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_KRT_TXT = 70
+ // FF_KRT_TXT = 72
{
FF_KRT_TXT, FF_KRT, FF_KRT_TXT, "KRTTXT",
".txt", ".szs", ".txt",
@@ -870,7 +894,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_OBJFLOW = 71
+ // FF_OBJFLOW = 73
{
FF_OBJFLOW, FF_OBJFLOW, FF_OBJFLOW_TXT, "OBFLOW",
".bin", ".szs", ".bin",
@@ -882,7 +906,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_OBJFLOW_TXT = 72
+ // FF_OBJFLOW_TXT = 74
{
FF_OBJFLOW_TXT, FF_OBJFLOW, FF_OBJFLOW_TXT, "OF-TXT",
".txt", ".szs", ".txt",
@@ -894,7 +918,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_ITEM = 73
+ // FF_GH_ITEM = 75
{
FF_GH_ITEM, FF_GH_ITEM, FF_GH_ITEM_TXT, "GHITEM",
".bin", ".szs", ".bin",
@@ -906,7 +930,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_ITEM_TXT = 74
+ // FF_GH_ITEM_TXT = 76
{
FF_GH_ITEM_TXT, FF_GH_ITEM, FF_GH_ITEM_TXT, "GI-TXT",
".txt", ".szs", ".txt",
@@ -918,7 +942,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_IOBJ = 75
+ // FF_GH_IOBJ = 77
{
FF_GH_IOBJ, FF_GH_IOBJ, FF_GH_IOBJ_TXT, "GHIOBJ",
".bin", ".szs", ".bin",
@@ -930,7 +954,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_IOBJ_TXT = 76
+ // FF_GH_IOBJ_TXT = 78
{
FF_GH_IOBJ_TXT, FF_GH_IOBJ, FF_GH_IOBJ_TXT, "GIOTXT",
".txt", ".szs", ".txt",
@@ -942,7 +966,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_KART = 77
+ // FF_GH_KART = 79
{
FF_GH_KART, FF_GH_KART, FF_GH_KART_TXT, "GHKART",
".bin", ".szs", ".bin",
@@ -954,7 +978,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_KART_TXT = 78
+ // FF_GH_KART_TXT = 80
{
FF_GH_KART_TXT, FF_GH_KART, FF_GH_KART_TXT, "GK-TXT",
".txt", ".szs", ".txt",
@@ -966,7 +990,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_KOBJ = 79
+ // FF_GH_KOBJ = 81
{
FF_GH_KOBJ, FF_GH_KOBJ, FF_GH_KOBJ_TXT, "GHKOBJ",
".bin", ".szs", ".bin",
@@ -978,7 +1002,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_KOBJ_TXT = 80
+ // FF_GH_KOBJ_TXT = 82
{
FF_GH_KOBJ_TXT, FF_GH_KOBJ, FF_GH_KOBJ_TXT, "GKOTXT",
".txt", ".szs", ".txt",
@@ -990,7 +1014,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_DRIVER = 81
+ // FF_DRIVER = 83
{
FF_DRIVER, 0, 0, "DRV",
".bin", ".szs", ".bin",
@@ -1002,7 +1026,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_VEHICLE = 82
+ // FF_VEHICLE = 84
{
FF_VEHICLE, 0, 0, "VEH",
".bin", ".szs", ".bin",
@@ -1014,7 +1038,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_BRASD = 83
+ // FF_BRASD = 85
{
FF_BRASD, 0, 0, "BRASD",
".brasd", ".szs", ".brasd",
@@ -1026,7 +1050,7 @@ const file_type_t FileTypeTab[FF_N+1] =
filetype_info_unknown
},
- // FF_RKG = 84
+ // FF_RKG = 86
{
FF_RKG, 0, 0, "RKG",
".rkg", ".szs", ".rkg",
@@ -1038,7 +1062,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_RKCO = 85
+ // FF_RKCO = 87
{
FF_RKCO, 0, 0, "RKCO",
".rkco", ".szs", ".rkco",
@@ -1050,7 +1074,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_STATICR = 86
+ // FF_STATICR = 88
{
FF_STATICR, 0, 0, "STATICR",
".rel", ".szs", ".rel",
@@ -1062,7 +1086,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"A 'StaticR.rel' file"
},
- // FF_DOL = 87
+ // FF_DOL = 89
{
FF_DOL, 0, 0, "DOL",
".dol", ".szs", ".dol",
@@ -1074,19 +1098,31 @@ const file_type_t FileTypeTab[FF_N+1] =
"An executable DOL file"
},
- // FF_GCT = 88
+ // FF_GCT = 90
{
FF_GCT, 0, 0, "GCT",
".gct", ".szs", ".gct",
FFT_VALID,
- 0, {0}, // no magic
+ 4, {0x00,0xd0,0xc0,0xde}, // "\000ÐÀÞ"
+ 0,
+ MinusString,
+ MinusString,
+ "Gecko Cheat Code, binary"
+ },
+
+ // FF_GCT_TXT = 91
+ {
+ FF_GCT_TXT, 0, 0, "GCT-TXT",
+ ".gct", ".szs", ".gct",
+ FFT_VALID,
+ 4, {0x23,0x47,0x43,0x54}, // "#GCT"
0,
MinusString,
MinusString,
- "Gecko Cheat Code"
+ "Gecko Cheat Code, text"
},
- // FF_GCH = 89
+ // FF_GCH = 92
{
FF_GCH, 0, 0, "GCH",
".gch", ".szs", ".gch",
@@ -1098,7 +1134,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Gecko Cheat Handler + coded"
},
- // FF_WCH = 90
+ // FF_WCH = 93
{
FF_WCH, 0, 0, "WCH",
".wch", ".szs", ".wch",
@@ -1110,7 +1146,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Wiimms Cheat Handler + codes"
},
- // FF_WPF = 91
+ // FF_WPF = 94
{
FF_WPF, 0, 0, "WPF",
".wpf", ".szs", ".wpf",
@@ -1122,7 +1158,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Wiimms Patch File"
},
- // FF_XPF = 92
+ // FF_XPF = 95
{
FF_XPF, 0, 0, "XPF",
".xpf", ".szs", ".xpf",
@@ -1134,7 +1170,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Extended Patch File"
},
- // FF_DISTRIB = 93
+ // FF_DISTRIB = 96
{
FF_DISTRIB, 0, 0, "DISTRIB",
".txt", ".szs", ".txt",
@@ -1146,7 +1182,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_PNG = 94
+ // FF_PNG = 97
{
FF_PNG, 0, 0, "PNG",
".png", ".png", ".png",
@@ -1158,7 +1194,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"A public image format"
},
- // FF_PORTDB = 95
+ // FF_PORTDB = 98
{
FF_PORTDB, 0, 0, "PORTDB",
".bin", ".szs", ".bin",
@@ -1170,7 +1206,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_TXT = 96
+ // FF_TXT = 99
{
FF_TXT, 0, 0, "TXT",
".txt", ".szs", ".txt",
@@ -1182,7 +1218,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_SCRIPT = 97
+ // FF_SCRIPT = 100
{
FF_SCRIPT, 0, 0, "SCRIPT",
".script", ".szs", ".script",
@@ -1194,7 +1230,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_JSON = 98
+ // FF_JSON = 101
{
FF_JSON, 0, 0, "JSON",
".json", ".szs", ".json",
@@ -1206,7 +1242,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_SH = 99
+ // FF_SH = 102
{
FF_SH, 0, 0, "SH",
".sh", ".szs", ".sh",
@@ -1218,7 +1254,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_BASH = 100
+ // FF_BASH = 103
{
FF_BASH, 0, 0, "BASH",
".sh", ".szs", ".sh",
@@ -1230,7 +1266,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_PHP = 101
+ // FF_PHP = 104
{
FF_PHP, 0, 0, "PHP",
".php", ".szs", ".php",
@@ -1242,7 +1278,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_MAKEDOC = 102
+ // FF_MAKEDOC = 105
{
FF_MAKEDOC, 0, 0, "MAKEDOC",
".md", ".szs", ".md",
@@ -1254,7 +1290,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_DIRECTORY = 103
+ // FF_DIRECTORY = 106
{
FF_DIRECTORY, 0, 0, "DIR",
".d", ".d", ".d",
@@ -1280,113 +1316,117 @@ const KeywordTab_t cmdtab_FileType[] =
{
// INFO: cmd->opt := ff_attrib_t
- { FF_YAZ0, "YAZ", "YAZ0", 0x3 },
- { FF_YAZ1, "YAZ1", 0, 0x3 },
- { FF_XYZ, "XYZ", 0, 0x3 },
- { FF_BZ, "BZ", 0, 0x3 },
- { FF_BZIP2, "BZ2", "BZIP2", 0x3 },
- { FF_LZ, "LZ", 0, 0x3 },
- { FF_LZMA, "LZMA", 0, 0x3 },
+ { FF_YAZ0, "YAZ", "YAZ0", 0x103 },
+ { FF_YAZ1, "YAZ1", 0, 0x103 },
+ { FF_XYZ, "XYZ", 0, 0x103 },
+ { FF_BZ, "BZ", 0, 0x103 },
+ { FF_BZIP2, "BZ2", "BZIP2", 0x103 },
+ { FF_LZ, "LZ", 0, 0x103 },
+ { FF_LZMA, "LZMA", 0, 0x103 },
{ FF_XZ, "XZ", 0, 0x3 },
- { FF_U8, "U8", 0, 0x8705 },
- { FF_WU8, "WU8", 0, 0x8705 },
- { FF_RARC, "ARC", "RARC", 0x605 },
- { FF_BRRES, "BRES", "BRRES", 0x705 },
- { FF_BREFF, "BREFF", "REFF", 0x305 },
- { FF_BREFT, "BREFT", "REFT", 0x705 },
- { FF_RKC, "RKC", 0, 0x705 },
- { FF_PACK, "PACK", 0, 0x705 },
- { FF_LTA, "", "LTA", 0x705 },
- { FF_LFL, "LFL", 0, 0x705 },
- { FF_CHR, "CHR", "CHR0", 0x461 },
- { FF_CLR, "CLR", "CLR0", 0x461 },
- { FF_MDL, "MDL", "MDL0", 0x4c61 },
- { FF_PAT, "PAT", "PAT0", 0x1c21 },
- { FF_SCN, "SCN", "SCN0", 0x461 },
- { FF_SHP, "SHP", "SHP0", 0x461 },
- { FF_SRT, "SRT", "SRT0", 0x461 },
- { FF_TEX, "TEX", "TEX0", 0x1c29 },
- { FF_TEX_CT, "TEX", "TEX+CT", 0x5c29 },
- { FF_TEX_CT, "TEX-CT", "TEX0", 0x5c29 },
- { FF_TEX_CT, "TEXCT", 0, 0x5c29 },
- { FF_CTDEF, "CT-DEF", "CTDEF", 0x3811 },
+ { FF_U8, "U8", 0, 0x10f05 },
+ { FF_WU8, "WU8", 0, 0x10f05 },
+ { FF_RARC, "ARC", "RARC", 0xc05 },
+ { FF_BRRES, "BRES", "BRRES", 0xe05 },
+ { FF_BREFF, "BREFF", "REFF", 0x605 },
+ { FF_BREFT, "BREFT", "REFT", 0xe05 },
+ { FF_RKC, "RKC", 0, 0xe05 },
+ { FF_PACK, "PACK", 0, 0xe05 },
+ { FF_USE_LTA, "USE-LTA", "USELTA", 0x1 },
+ { FF_LTA, "", "LTA", 0xe05 },
+ { FF_LFL, "LFL", 0, 0xe05 },
+ { FF_CHR, "CHR", "CHR0", 0x861 },
+ { FF_CLR, "CLR", "CLR0", 0x861 },
+ { FF_MDL, "MDL", "MDL0", 0x9861 },
+ { FF_PAT, "PAT", "PAT0", 0x3821 },
+ { FF_SCN, "SCN", "SCN0", 0x861 },
+ { FF_SHP, "SHP", "SHP0", 0x861 },
+ { FF_SRT, "SRT", "SRT0", 0x861 },
+ { FF_TEX, "TEX", "TEX0", 0x3829 },
+ { FF_TEX_CT, "TEX", "TEX+CT", 0xb829 },
+ { FF_TEX_CT, "TEX-CT", "TEX0", 0xb829 },
+ { FF_TEX_CT, "TEXCT", 0, 0xb829 },
+ { FF_CTDEF, "CT-DEF", "CTDEF", 0x7011 },
{ FF_CT0_CODE, "C0CODE", "CT0-CODE", 0x1 },
{ FF_CT0_CODE, "CT0CODE", 0, 0x1 },
{ FF_CT0_DATA, "C0DATA", "CT0-DATA", 0x1 },
{ FF_CT0_DATA, "CT0DATA", 0, 0x1 },
{ FF_CT1_CODE, "C1CODE", "CT1-CODE", 0x1 },
{ FF_CT1_CODE, "CT1CODE", 0, 0x1 },
- { FF_CT1_DATA, "C1DATA", "CT1-DATA", 0x4c01 },
- { FF_CT1_DATA, "CT1DATA", "CTCODE", 0x4c01 },
+ { FF_CT1_DATA, "C1DATA", "CT1-DATA", 0x9801 },
+ { FF_CT1_DATA, "CT1DATA", "CTCODE", 0x9801 },
{ FF_CUP1, "CUP1", 0, 0x1 },
{ FF_CRS1, "CRS1", 0, 0x1 },
{ FF_MOD1, "MOD1", 0, 0x1 },
{ FF_MOD2, "MOD2", 0, 0x1 },
{ FF_OVR1, "OVR1", 0, 0x1 },
- { FF_LE_BIN, "LE-BIN", "LEBIN", 0x4c01 },
- { FF_LEX, "LEX", 0, 0x1c01 },
- { FF_LEX_TXT, "LEX-TXT", "LEXTXT", 0x3811 },
- { FF_LPAR, "LPAR", 0, 0x3811 },
- { FF_LEDEF, "LE-DEF", "LEDEF", 0x3811 },
- { FF_LEDIS, "LE-DIS", "LEDIS", 0x1811 },
- { FF_LEREF, "LE-REF", "LEREF", 0x1811 },
- { FF_LESTR, "LE-STR", "LESTR", 0x1811 },
- { FF_SHA1REF, "SHA1REF", 0, 0x1011 },
- { FF_PREFIX, "PREFIX", 0, 0x1811 },
- { FF_MTCAT, "MTCAT", 0, 0x1811 },
+ { FF_LE_BIN, "LE-BIN", "LEBIN", 0x9801 },
+ { FF_LEX, "LEX", 0, 0x3801 },
+ { FF_LEX_TXT, "LEX-TXT", "LEXTXT", 0x7011 },
+ { FF_LPAR, "LPAR", 0, 0x7011 },
+ { FF_LEDEF, "LE-DEF", "LEDEF", 0x7011 },
+ { FF_LEDIS, "LE-DIS", "LEDIS", 0x3011 },
+ { FF_LEREF, "LE-REF", "LEREF", 0x3011 },
+ { FF_LESTR, "LE-STR", "LESTR", 0x3011 },
+ { FF_SHA1REF, "SHA1REF", 0, 0x2011 },
+ { FF_SHA1ID, "SHA1ID", 0, 0x2011 },
+ { FF_PREFIX, "PREFIX", 0, 0x3011 },
+ { FF_MTCAT, "MTCAT", 0, 0x3011 },
{ FF_CT_SHA1, "CT-SHA1", "CTSHA1", 0x11 },
{ FF_MDL_TXT, "MDL-TXT", "MDLTXT", 0x11 },
- { FF_PAT_TXT, "PAT-TXT", "PATTXT", 0x3811 },
- { FF_TPL, "TPL", 0, 0x1c09 },
- { FF_BTI, "BTI", "BTIENV", 0x1c09 },
- { FF_BTI, "BTIMAT", 0, 0x1c09 },
- { FF_BREFT_IMG, "BREFT-IMG", "BREFTIMG", 0x1c09 },
- { FF_BREFT_IMG, "BT-IMG", "BTIMG", 0x1c09 },
- { FF_BMG, "BMG", "MESGBMG1", 0x1c01 },
- { FF_BMG_TXT, "BMG-TXT", "BMGTXT", 0x1811 },
- { FF_KCL, "KCL", 0, 0x5c01 },
- { FF_KCL_TXT, "KCL-TXT", "KCLTXT", 0x3811 },
- { FF_WAV_OBJ, "WAV-OBJ", "WAVOBJ", 0x3811 },
- { FF_SKP_OBJ, "SKP-OBJ", "SKPOBJ", 0x3811 },
- { FF_KMP, "KMP", 0, 0x1c01 },
- { FF_KMP_TXT, "KMP-TXT", "KMPTXT", 0x3811 },
+ { FF_PAT_TXT, "PAT-TXT", "PATTXT", 0x7011 },
+ { FF_TPL, "TPL", 0, 0x3809 },
+ { FF_BTI, "BTI", "BTIENV", 0x3809 },
+ { FF_BTI, "BTIMAT", 0, 0x3809 },
+ { FF_BREFT_IMG, "BREFT-IMG", "BREFTIMG", 0x3809 },
+ { FF_BREFT_IMG, "BT-IMG", "BTIMG", 0x3809 },
+ { FF_BMG, "BMG", "MESGBMG1", 0x3801 },
+ { FF_BMG_TXT, "BMG-TXT", "BMGTXT", 0x3011 },
+ { FF_KCL, "KCL", 0, 0xb801 },
+ { FF_KCL_TXT, "KCL-TXT", "KCLTXT", 0x7011 },
+ { FF_WAV_OBJ, "WAV-OBJ", "WAVOBJ", 0x7011 },
+ { FF_SKP_OBJ, "SKP-OBJ", "SKPOBJ", 0x7011 },
+ { FF_KMP, "KMP", 0, 0x3801 },
+ { FF_KMP_TXT, "KMP-TXT", "KMPTXT", 0x7011 },
{ FF_ITEMSLT, "ITEMSLT", "SLT", 0x1 },
{ FF_ITEMSLT_TXT, "ITEMSLT-TXT", "ITEMSLTTXT", 0x11 },
- { FF_KMG, "KMG", 0, 0x1801 },
- { FF_KMG_TXT, "KMG-TXT", "KMGTXT", 0x3811 },
+ { FF_KMG, "KMG", 0, 0x3001 },
+ { FF_KMG_TXT, "KMG-TXT", "KMGTXT", 0x7011 },
{ FF_KRM, "KRM", 0, 0x1 },
{ FF_KRM_TXT, "KRM-TXT", "KRMTXT", 0x11 },
{ FF_KRT, "KRT", 0, 0x1 },
{ FF_KRT_TXT, "KRT-TXT", "KRTTXT", 0x11 },
- { FF_OBJFLOW, "OBFLOW", "OBJFLOW", 0x1801 },
- { FF_OBJFLOW_TXT, "OBJFLOW-TXT", "OBJFLOWTXT", 0x3811 },
- { FF_OBJFLOW_TXT, "OF-TXT", "OFTXT", 0x3811 },
- { FF_GH_ITEM, "GH-ITEM", "GHITEM", 0x1801 },
- { FF_GH_ITEM_TXT, "GH-ITEM-TXT", "GHITEMTXT", 0x3811 },
- { FF_GH_ITEM_TXT, "GI-TXT", "GITXT", 0x3811 },
- { FF_GH_IOBJ, "GH-IOBJ", "GHIOBJ", 0x1801 },
- { FF_GH_IOBJ_TXT, "GH-IOBJ-TXT", "GHIOBJTXT", 0x3811 },
- { FF_GH_IOBJ_TXT, "GIOTXT", 0, 0x3811 },
- { FF_GH_KART, "GH-KART", "GHKART", 0x1801 },
- { FF_GH_KART_TXT, "GH-KART-TXT", "GHKARTTXT", 0x3811 },
- { FF_GH_KART_TXT, "GK-TXT", "GKTXT", 0x3811 },
- { FF_GH_KOBJ, "GH-KOBJ", "GHKOBJ", 0x1801 },
- { FF_GH_KOBJ_TXT, "GH-KOBJ-TXT", "GHKOBJTXT", 0x3811 },
- { FF_GH_KOBJ_TXT, "GKOTXT", 0, 0x3811 },
+ { FF_OBJFLOW, "OBFLOW", "OBJFLOW", 0x3001 },
+ { FF_OBJFLOW_TXT, "OBJFLOW-TXT", "OBJFLOWTXT", 0x7011 },
+ { FF_OBJFLOW_TXT, "OF-TXT", "OFTXT", 0x7011 },
+ { FF_GH_ITEM, "GH-ITEM", "GHITEM", 0x3001 },
+ { FF_GH_ITEM_TXT, "GH-ITEM-TXT", "GHITEMTXT", 0x7011 },
+ { FF_GH_ITEM_TXT, "GI-TXT", "GITXT", 0x7011 },
+ { FF_GH_IOBJ, "GH-IOBJ", "GHIOBJ", 0x3001 },
+ { FF_GH_IOBJ_TXT, "GH-IOBJ-TXT", "GHIOBJTXT", 0x7011 },
+ { FF_GH_IOBJ_TXT, "GIOTXT", 0, 0x7011 },
+ { FF_GH_KART, "GH-KART", "GHKART", 0x3001 },
+ { FF_GH_KART_TXT, "GH-KART-TXT", "GHKARTTXT", 0x7011 },
+ { FF_GH_KART_TXT, "GK-TXT", "GKTXT", 0x7011 },
+ { FF_GH_KOBJ, "GH-KOBJ", "GHKOBJ", 0x3001 },
+ { FF_GH_KOBJ_TXT, "GH-KOBJ-TXT", "GHKOBJTXT", 0x7011 },
+ { FF_GH_KOBJ_TXT, "GKOTXT", 0, 0x7011 },
{ FF_DRIVER, "DRIVER", "DRV", 0x1 },
{ FF_VEHICLE, "VEH", "VEHICLE", 0x1 },
{ FF_BRASD, "BRASD", 0, 0x1 },
{ FF_RKG, "RKG", 0, 0x1 },
{ FF_RKCO, "RKCO", 0, 0x1 },
- { FF_STATICR, "REL", "STATICR", 0x4001 },
- { FF_DOL, "DOL", 0, 0x4201 },
+ { FF_STATICR, "REL", "STATICR", 0x8001 },
+ { FF_DOL, "DOL", 0, 0x8401 },
{ FF_GCT, "GCT", 0, 0x1 },
+ { FF_GCT_TXT, "GCT", "GCT-TXT", 0x1 },
+ { FF_GCT_TXT, "GCTTXT", 0, 0x1 },
{ FF_GCH, "GCH", 0, 0x1 },
{ FF_WCH, "WCH", 0, 0x1 },
{ FF_WPF, "WPF", 0, 0x1 },
{ FF_XPF, "XPF", 0, 0x1 },
{ FF_DISTRIB, "DISTRIB", 0, 0x11 },
- { FF_PNG, "PNG", 0, 0x1889 },
+ { FF_PNG, "PNG", 0, 0x3089 },
{ FF_PORTDB, "PORTDB", 0, 0x81 },
{ FF_SCRIPT, "SCRIPT", 0, 0x91 },
{ FF_JSON, "JSON", 0, 0x91 },