// /////////////////////////////////////////////////////////////////////////////// ////// This file is created by a script. Modifications will be lost! ////// /////////////////////////////////////////////////////////////////////////////// #include "file-type.h" // /////////////////////////////////////////////////////////////////////////////// ////////////////////////////// FileTypeTab[] ////////////////////////////// /////////////////////////////////////////////////////////////////////////////// const char filetype_info_unknown[] = "?"; const char filetype_info_not_supported[] = "not supported"; const file_type_t FileTypeTab[FF_N+1] = { // FF_UNKNOWN = 0 { FF_UNKNOWN, 0, 0, "?", ".bin", ".szs", ".bin", FFT_VALID, 0, {0}, // no magic 0, filetype_info_not_supported, filetype_info_not_supported, "Unknown file" }, // FF_YAZ0 = 1 { FF_YAZ0, 0, 0, "YAZ0", ".szs", ".szs", ".szs", FFT_VALID | FFT_COMPRESS, 4, {0x59,0x61,0x7a,0x30}, // "Yaz0" 0, "0", "0,1", "YAZ compression" }, // FF_YAZ1 = 2 { FF_YAZ1, 0, 0, "YAZ1", ".szs", ".szs", ".szs", FFT_VALID | FFT_COMPRESS, 4, {0x59,0x61,0x7a,0x31}, // "Yaz1" 0, "1", "0,1", "YAZ compression" }, // FF_XYZ = 3 { FF_XYZ, 0, 0, "XYZ", ".xyz", ".szs", ".xyz", FFT_VALID | FFT_COMPRESS, 0, {0}, // no magic 0, MinusString, MinusString, "disguise YAZ compression" }, // FF_BZ = 4 { FF_BZ, 0, 0, "BZ", ".bz", ".szs", ".bz", FFT_VALID | FFT_COMPRESS, 4, {0x57,0x42,0x5a,0x61}, // "WBZa" 0, MinusString, MinusString, "bzip2 compression used" }, // FF_BZ2 = 5 { FF_BZ2, 0, 0, "BZ2", ".bz2", ".szs", ".bz2", FFT_VALID | FFT_COMPRESS, 0, {0}, // no magic 0, MinusString, MinusString, "bzip2 compressed file" }, // FF_U8 = 6 { FF_U8, 0, 0, "U8", ".u8", ".szs", ".u8", FFT_VALID | FFT_ARCHIVE | FFT_CREATE | FFT_EXTRACT | FFT_CUT | FFT_LINK, 4, {0x55,0xaa,0x38,0x2d}, // "Uª8-" 0, MinusString, MinusString, "Nintendos archive format" }, // FF_WU8 = 7 { FF_WU8, 0, 0, "WU8", ".wu8", ".wu8", ".wu8", FFT_VALID | FFT_ARCHIVE | FFT_CREATE | FFT_EXTRACT | FFT_CUT | FFT_LINK, 4, {0x57,0x55,0x38,0x61}, // "WU8a" 0, MinusString, MinusString, "Wiimms differential U8" }, // FF_RARC = 8 { FF_RARC, 0, 0, "RARC", ".rarc", ".arc", ".rarc", FFT_VALID | FFT_ARCHIVE | FFT_EXTRACT | FFT_CUT, 4, {0x52,0x41,0x52,0x43}, // "RARC" 0, MinusString, filetype_info_not_supported, "Archive format for objects" }, // FF_BRRES = 9 { FF_BRRES, 0, 0, "BRRES", ".brres", ".szs", ".bres", FFT_VALID | FFT_ARCHIVE | FFT_CREATE | FFT_EXTRACT | FFT_CUT, 4, {0x62,0x72,0x65,0x73}, // "bres" 0, MinusString, MinusString, "Archive format for objects" }, // FF_BREFF = 10 { FF_BREFF, 0, 0, "BREFF", ".breff", ".szs", ".reff", FFT_VALID | FFT_ARCHIVE | FFT_CREATE | FFT_EXTRACT, 4, {0x52,0x45,0x46,0x46}, // "REFF" 0, "9,11", "9,11", "Main file of an effect pair" }, // FF_BREFT = 11 { FF_BREFT, 0, 0, "BREFT", ".breft", ".szs", ".reft", FFT_VALID | FFT_ARCHIVE | FFT_CREATE | FFT_EXTRACT | FFT_CUT, 4, {0x52,0x45,0x46,0x54}, // "REFT" 0, "9,11", "9,11", "Image file of an effect pair" }, // FF_RKC = 12 { FF_RKC, 0, 0, "RKC", ".rkc", ".szs", ".rkc", FFT_VALID | FFT_ARCHIVE | FFT_CREATE | FFT_EXTRACT | FFT_CUT, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_PACK = 13 { FF_PACK, 0, 0, "PACK", ".pack", ".szs", ".pack", FFT_VALID | FFT_ARCHIVE | FFT_CREATE | FFT_EXTRACT | FFT_CUT, 4, {0x50,0x41,0x43,0x4b}, // "PACK" 0, MinusString, MinusString, "Simple archive format" }, // FF_CHR = 14 { FF_CHR, 0, 0, "CHR", ".chr", ".szs", ".chr0", FFT_VALID | FFT_BRSUB | FFT_BRSUB2 | FFT_CUT, 4, {0x43,0x48,0x52,0x30}, // "CHR0" "AnmChr(NW4R)", "5,(*)", filetype_info_not_supported, "Model movement animations" }, // FF_CLR = 15 { FF_CLR, 0, 0, "CLR", ".clr", ".szs", ".clr0", FFT_VALID | FFT_BRSUB | FFT_BRSUB2 | FFT_CUT, 4, {0x43,0x4c,0x52,0x30}, // "CLR0" "AnmClr(NW4R)", "4,(*)", filetype_info_not_supported, "Colour changing animations" }, // FF_MDL = 16 { FF_MDL, FF_MDL, FF_MDL_TXT, "MDL", ".mdl", ".szs", ".mdl0", FFT_VALID | FFT_BRSUB | FFT_BRSUB2 | FFT_CUT | FFT_DECODE | FFT_PATCH, 4, {0x4d,0x44,0x4c,0x30}, // "MDL0" "3DModels(NW4R)", "11,(*)", filetype_info_not_supported, "Model files" }, // FF_PAT = 17 { FF_PAT, FF_PAT, FF_PAT_TXT, "PAT", ".pat", ".szs", ".pat0", FFT_VALID | FFT_BRSUB | FFT_CUT | FFT_DECODE | FFT_ENCODE, 4, {0x50,0x41,0x54,0x30}, // "PAT0" "AnmTexPat(NW4R)", "4,(*)", "4", "Texture swapping animations" }, // FF_SCN = 18 { FF_SCN, 0, 0, "SCN", ".scn", ".szs", ".scn0", FFT_VALID | FFT_BRSUB | FFT_BRSUB2 | FFT_CUT, 4, {0x53,0x43,0x4e,0x30}, // "SCN0" "AnmScn(NW4R)", "5,(*)", filetype_info_not_supported, "Polygon morphing animations" }, // FF_SHP = 19 { FF_SHP, 0, 0, "SHP", ".shp", ".szs", ".shp0", FFT_VALID | FFT_BRSUB | FFT_BRSUB2 | FFT_CUT, 4, {0x53,0x48,0x50,0x30}, // "SHP0" "AnmShp(NW4R)", "4,(*)", filetype_info_not_supported, filetype_info_unknown }, // FF_SRT = 20 { FF_SRT, 0, 0, "SRT", ".srt", ".szs", ".srt0", FFT_VALID | FFT_BRSUB | FFT_BRSUB2 | FFT_CUT, 4, {0x53,0x52,0x54,0x30}, // "SRT0" "AnmTexSrt(NW4R)", "5,(*)", filetype_info_not_supported, "Texture movement animations" }, // FF_TEX = 21 { FF_TEX, 0, 0, "TEX", ".tex", ".szs", ".tex0", FFT_VALID | FFT_GRAPHIC | FFT_BRSUB | FFT_CUT | FFT_DECODE | FFT_ENCODE, 4, {0x54,0x45,0x58,0x30}, // "TEX0" "Textures(NW4R)", "3,(*)", "3", "Texture file" }, // FF_TEX_CT = 22 { FF_TEX_CT, 0, 0, "TEX+CT", ".tex", ".szs", ".tex0", FFT_VALID | FFT_GRAPHIC | FFT_BRSUB | FFT_CUT | FFT_DECODE | FFT_ENCODE | FFT_PATCH, 0, {0}, // no magic 0, "3,(*)", "3", "Texture file with CTGP-CODE" }, // FF_CT_TEXT = 23 { FF_CT_TEXT, 0, 0, "CTTEXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 8, {0x23,0x43,0x54,0x2d,0x43,0x4f,0x44,0x45}, // "#CT-CODE" 0, MinusString, MinusString, "CTGP-CODE text file" }, // FF_CT0_CODE = 24 { FF_CT0_CODE, 0, 0, "C0CODE", ".bin", ".szs", ".bin", FFT_VALID, 0, {0}, // no magic 0, MinusString, MinusString, "CT-CODE for main.dol section T2" }, // FF_CT0_DATA = 25 { FF_CT0_DATA, 0, 0, "C0DATA", ".bin", ".szs", ".bin", FFT_VALID, 0, {0}, // no magic 0, MinusString, MinusString, "CT-DATA for main.dol section D8" }, // FF_CT1_CODE = 26 { FF_CT1_CODE, 0, 0, "C1CODE", ".bin", ".szs", ".bin", FFT_VALID, 0, {0}, // no magic 0, MinusString, MinusString, "CT-CODE for strap TEX0 file" }, // FF_CT1_DATA = 27 { FF_CT1_DATA, 0, 0, "C1DATA", ".ctcode", ".szs", ".ctcode", FFT_VALID | FFT_CUT | FFT_DECODE | FFT_PATCH, 0, {0}, // no magic 0, MinusString, MinusString, "CT-DATA for strap TEX0 file" }, // FF_CUP1 = 28 { FF_CUP1, 0, 0, "CUP1", ".bin", ".szs", ".bin", FFT_VALID, 0, {0}, // no magic 0, MinusString, MinusString, "CT-DATA section: Cups" }, // FF_CRS1 = 29 { FF_CRS1, 0, 0, "CRS1", ".bin", ".szs", ".bin", FFT_VALID, 0, {0}, // no magic 0, MinusString, MinusString, "CT-DATA section: Tracks" }, // FF_MOD1 = 30 { FF_MOD1, 0, 0, "MOD1", ".bin", ".szs", ".bin", FFT_VALID, 0, {0}, // no magic 0, MinusString, MinusString, "CT-DATA section: main.dol patches" }, // FF_MOD2 = 31 { FF_MOD2, 0, 0, "MOD2", ".bin", ".szs", ".bin", FFT_VALID, 0, {0}, // no magic 0, MinusString, MinusString, "CT-DATA section: StaticR.rel patches" }, // FF_OVR1 = 32 { FF_OVR1, 0, 0, "OVR1", ".bin", ".szs", ".bin", FFT_VALID, 0, {0}, // no magic 0, MinusString, MinusString, "CT-DATA section: Speedometer" }, // FF_LE_BIN = 33 { FF_LE_BIN, 0, 0, "LE-BIN", ".bin", ".szs", ".bin", FFT_VALID | FFT_CUT | FFT_DECODE | FFT_PATCH, 0, {0}, // no magic 0, MinusString, MinusString, "LE-CODE binary" }, // FF_LEX = 34 { FF_LEX, FF_LEX, FF_LEX_TXT, "LEX", ".lex", ".szs", ".lex", FFT_VALID | FFT_CUT | FFT_DECODE | FFT_ENCODE, 4, {0x4c,0x45,0x2d,0x58}, // "LE-X" 0, MinusString, MinusString, "LECODE extension file" }, // FF_LEX_TXT = 35 { FF_LEX_TXT, FF_LEX, FF_LEX_TXT, "LEXTXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 4, {0x23,0x4c,0x45,0x58}, // "#LEX" 0, MinusString, MinusString, "Text version of LEX" }, // FF_LPAR = 36 { FF_LPAR, 0, 0, "LPAR", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 8, {0x23,0x4c,0x45,0x2d,0x4c,0x50,0x41,0x52}, // "#LE-LPAR" 0, MinusString, MinusString, "Text file with LE-CODE parameters" }, // FF_MDL_TXT = 37 { FF_MDL_TXT, FF_MDL, FF_MDL_TXT, "MDLTXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT, 4, {0x23,0x4d,0x44,0x4c}, // "#MDL" 0, filetype_info_not_supported, MinusString, "Text version of MDL" }, // FF_PAT_TXT = 38 { FF_PAT_TXT, FF_PAT, FF_PAT_TXT, "PATTXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 4, {0x23,0x50,0x41,0x54}, // "#PAT" 0, MinusString, MinusString, "Text version of PAT" }, // FF_TPL = 39 { FF_TPL, 0, 0, "TPL", ".tpl", ".szs", ".tpl", FFT_VALID | FFT_GRAPHIC | FFT_CUT | FFT_DECODE | FFT_ENCODE, 4, {0x00,0x20,0xaf,0x30}, // "\000 ¯0" 0, MinusString, MinusString, "Image container" }, // FF_BTI = 40 { FF_BTI, 0, 0, "BTI", ".bti", ".szs", ".bti", FFT_VALID | FFT_GRAPHIC | FFT_CUT | FFT_DECODE | FFT_ENCODE, 0, {0}, // no magic 0, MinusString, MinusString, "Image container" }, // FF_BREFT_IMG = 41 { FF_BREFT_IMG, 0, 0, "BT-IMG", ".bt-img", ".szs", ".bt-img", FFT_VALID | FFT_GRAPHIC | FFT_CUT | FFT_DECODE | FFT_ENCODE, 0, {0}, // no magic 0, MinusString, MinusString, "Raw image of BREFT file" }, // FF_BMG = 42 { FF_BMG, FF_BMG, FF_BMG_TXT, "BMG", ".bmg", ".szs", ".bmg", FFT_VALID | FFT_CUT | FFT_DECODE | FFT_ENCODE, 0, {0}, // no magic 0, MinusString, MinusString, "Message file" }, // FF_BMG_TXT = 43 { FF_BMG_TXT, FF_BMG, FF_BMG_TXT, "BMGTXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE, 0, {0}, // no magic 0, MinusString, MinusString, "Text version of BMG" }, // FF_KCL = 44 { FF_KCL, FF_KCL, FF_KCL_TXT, "KCL", ".kcl", ".szs", ".kcl", FFT_VALID | FFT_CUT | FFT_DECODE | FFT_ENCODE | FFT_PATCH, 0, {0}, // no magic 0, MinusString, MinusString, "Collision file" }, // FF_KCL_TXT = 45 { FF_KCL_TXT, FF_KCL, FF_KCL_TXT, "KCLTXT", ".obj", ".szs", ".obj", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 4, {0x23,0x4b,0x43,0x4c}, // "#KCL" 0, MinusString, MinusString, "Wavefront OBJ by WSZST" }, // FF_WAV_OBJ = 46 { FF_WAV_OBJ, FF_KCL, FF_WAV_OBJ, "WAVOBJ", ".obj", ".szs", ".obj", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 0, {0}, // no magic 0, MinusString, MinusString, "Wavefront OBJ" }, // FF_SKP_OBJ = 47 { FF_SKP_OBJ, FF_KCL, FF_SKP_OBJ, "SKPOBJ", ".obj", ".szs", ".obj", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 0, {0}, // no magic 0, MinusString, MinusString, "Wavefront OBJ by Sketchup" }, // FF_KMP = 48 { FF_KMP, FF_KMP, FF_KMP_TXT, "KMP", ".kmp", ".szs", ".kmp", FFT_VALID | FFT_CUT | FFT_DECODE | FFT_ENCODE, 4, {0x52,0x4b,0x4d,0x44}, // "RKMD" 0, MinusString, MinusString, "Track information file" }, // FF_KMP_TXT = 49 { FF_KMP_TXT, FF_KMP, FF_KMP_TXT, "KMPTXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 4, {0x23,0x4b,0x4d,0x50}, // "#KMP" 0, MinusString, MinusString, "Text version of KMP" }, // FF_ITEMSLT = 50 { FF_ITEMSLT, FF_ITEMSLT, FF_ITEMSLT_TXT, "ITEMSLT", ".bin", ".szs", ".slt", FFT_VALID, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_ITEMSLT_TXT = 51 { FF_ITEMSLT_TXT, FF_ITEMSLT, FF_ITEMSLT_TXT, "ITEMSLTTXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_KMG = 52 { FF_KMG, FF_KMG, FF_KMG_TXT, "KMG", ".kmg", ".szs", ".kmg", FFT_VALID | FFT_DECODE | FFT_ENCODE, 4, {0x52,0x4b,0x4d,0x47}, // "RKMG" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_KMG_TXT = 53 { FF_KMG_TXT, FF_KMG, FF_KMG_TXT, "KMGTXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 4, {0x23,0x4b,0x4d,0x47}, // "#KMG" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_KRM = 54 { FF_KRM, FF_KRM, FF_KRM_TXT, "KRM", ".krm", ".szs", ".krm", FFT_VALID, 4, {0x52,0x4b,0x52,0x4d}, // "RKRM" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_KRM_TXT = 55 { FF_KRM_TXT, FF_KRM, FF_KRM_TXT, "KRMTXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT, 4, {0x23,0x4b,0x52,0x4d}, // "#KRM" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_KRT = 56 { FF_KRT, FF_KRT, FF_KRT_TXT, "KRT", ".krt", ".szs", ".krt", FFT_VALID, 4, {0x52,0x4b,0x47,0x54}, // "RKGT" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_KRT_TXT = 57 { FF_KRT_TXT, FF_KRT, FF_KRT_TXT, "KRTTXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT, 4, {0x23,0x4b,0x52,0x54}, // "#KRT" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_OBJFLOW = 58 { FF_OBJFLOW, FF_OBJFLOW, FF_OBJFLOW_TXT, "OBFLOW", ".bin", ".szs", ".bin", FFT_VALID | FFT_DECODE | FFT_ENCODE, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_OBJFLOW_TXT = 59 { FF_OBJFLOW_TXT, FF_OBJFLOW, FF_OBJFLOW_TXT, "OF-TXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 8, {0x23,0x4f,0x42,0x4a,0x46,0x4c,0x4f,0x57}, // "#OBJFLOW" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_GH_ITEM = 60 { FF_GH_ITEM, FF_GH_ITEM, FF_GH_ITEM_TXT, "GHITEM", ".bin", ".szs", ".bin", FFT_VALID | FFT_DECODE | FFT_ENCODE, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_GH_ITEM_TXT = 61 { FF_GH_ITEM_TXT, FF_GH_ITEM, FF_GH_ITEM_TXT, "GI-TXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 8, {0x23,0x47,0x48,0x2d,0x49,0x54,0x45,0x4d}, // "#GH-ITEM" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_GH_IOBJ = 62 { FF_GH_IOBJ, FF_GH_IOBJ, FF_GH_IOBJ_TXT, "GHIOBJ", ".bin", ".szs", ".bin", FFT_VALID | FFT_DECODE | FFT_ENCODE, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_GH_IOBJ_TXT = 63 { FF_GH_IOBJ_TXT, FF_GH_IOBJ, FF_GH_IOBJ_TXT, "GIOTXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 8, {0x23,0x47,0x48,0x2d,0x49,0x4f,0x42,0x4a}, // "#GH-IOBJ" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_GH_KART = 64 { FF_GH_KART, FF_GH_KART, FF_GH_KART_TXT, "GHKART", ".bin", ".szs", ".bin", FFT_VALID | FFT_DECODE | FFT_ENCODE, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_GH_KART_TXT = 65 { FF_GH_KART_TXT, FF_GH_KART, FF_GH_KART_TXT, "GK-TXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 8, {0x23,0x47,0x48,0x2d,0x4b,0x41,0x52,0x54}, // "#GH-KART" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_GH_KOBJ = 66 { FF_GH_KOBJ, FF_GH_KOBJ, FF_GH_KOBJ_TXT, "GHKOBJ", ".bin", ".szs", ".bin", FFT_VALID | FFT_DECODE | FFT_ENCODE, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_GH_KOBJ_TXT = 67 { FF_GH_KOBJ_TXT, FF_GH_KOBJ, FF_GH_KOBJ_TXT, "GKOTXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_DECODE | FFT_ENCODE | FFT_PARSER, 8, {0x23,0x47,0x48,0x2d,0x4b,0x4f,0x42,0x4a}, // "#GH-KOBJ" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_DRIVER = 68 { FF_DRIVER, 0, 0, "DRV", ".bin", ".szs", ".bin", FFT_VALID, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_VEHICLE = 69 { FF_VEHICLE, 0, 0, "VEH", ".bin", ".szs", ".bin", FFT_VALID, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_BRASD = 70 { FF_BRASD, 0, 0, "BRASD", ".brasd", ".szs", ".brasd", FFT_VALID, 4, {0x52,0x41,0x53,0x44}, // "RASD" 0, MinusString, MinusString, filetype_info_unknown }, // FF_RKG = 71 { FF_RKG, 0, 0, "RKG", ".rkg", ".szs", ".rkg", FFT_VALID, 4, {0x52,0x4b,0x47,0x44}, // "RKGD" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_RKCO = 72 { FF_RKCO, 0, 0, "RKCO", ".rkco", ".szs", ".rkco", FFT_VALID, 4, {0x52,0x4b,0x43,0x4f}, // "RKCO" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_STATICR = 73 { FF_STATICR, 0, 0, "STATR", ".rel", ".szs", ".rel", FFT_VALID | FFT_PATCH, 0, {0}, // no magic 0, MinusString, MinusString, "A 'StaticR.rel' file" }, // FF_DOL = 74 { FF_DOL, 0, 0, "DOL", ".dol", ".szs", ".dol", FFT_VALID | FFT_EXTRACT | FFT_PATCH, 0, {0}, // no magic 0, MinusString, MinusString, "An executable DOL file" }, // FF_GCT = 75 { FF_GCT, 0, 0, "GCT", ".gct", ".szs", ".gct", FFT_VALID, 0, {0}, // no magic 0, MinusString, MinusString, "Gecko Cheat Code" }, // FF_GCH = 76 { FF_GCH, 0, 0, "GCH", ".gch", ".szs", ".gch", FFT_VALID, 0, {0}, // no magic 0, MinusString, MinusString, "Gecko Cheat Handler + coded" }, // FF_WCH = 77 { FF_WCH, 0, 0, "WCH", ".wch", ".szs", ".wch", FFT_VALID, 0, {0}, // no magic 0, MinusString, MinusString, "Wiimms Cheat Handler + codes" }, // FF_WPF = 78 { FF_WPF, 0, 0, "WPF", ".wpf", ".szs", ".wpf", FFT_VALID, 4, {0x57,0x50,0x46,0x01}, // "WPF\001" 0, MinusString, MinusString, "Wiimms Patch File" }, // FF_XPF = 79 { FF_XPF, 0, 0, "XPF", ".xpf", ".szs", ".xpf", FFT_VALID, 4, {0x58,0x50,0x46,0x01}, // "XPF\001" 0, MinusString, MinusString, "Extended Patch File" }, // FF_DISTRIB = 80 { FF_DISTRIB, 0, 0, "DISTRB", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT, 8, {0x23,0x44,0x49,0x53,0x54,0x52,0x49,0x42}, // "#DISTRIB" 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_PNG = 81 { FF_PNG, 0, 0, "PNG", ".png", ".png", ".png", FFT_VALID | FFT_GRAPHIC | FFT_EXTERNAL | FFT_DECODE | FFT_ENCODE, 8, {0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a}, // "‰PNG\r\n\032\n" 0, MinusString, MinusString, "A public image format" }, // FF_PORTDB = 82 { FF_PORTDB, 0, 0, "PORTDB", ".bin", ".szs", ".bin", FFT_VALID | FFT_EXTERNAL, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_TXT = 83 { FF_TXT, 0, 0, "TXT", ".txt", ".szs", ".txt", FFT_VALID | FFT_TEXT | FFT_EXTERNAL, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_SCRIPT = 84 { FF_SCRIPT, 0, 0, "SCRIPT", ".script", ".szs", ".script", FFT_VALID | FFT_TEXT | FFT_EXTERNAL, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_JSON = 85 { FF_JSON, 0, 0, "JSON", ".json", ".szs", ".json", FFT_VALID | FFT_TEXT | FFT_EXTERNAL, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_SH = 86 { FF_SH, 0, 0, "SH", ".sh", ".szs", ".sh", FFT_VALID | FFT_TEXT | FFT_EXTERNAL, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_BASH = 87 { FF_BASH, 0, 0, "BASH", ".sh", ".szs", ".sh", FFT_VALID | FFT_TEXT | FFT_EXTERNAL, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_PHP = 88 { FF_PHP, 0, 0, "PHP", ".php", ".szs", ".php", FFT_VALID | FFT_TEXT | FFT_EXTERNAL, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_MAKEDOC = 89 { FF_MAKEDOC, 0, 0, "MKDOC", ".md", ".szs", ".md", FFT_VALID | FFT_TEXT | FFT_EXTERNAL, 0, {0}, // no magic 0, filetype_info_unknown, filetype_info_unknown, EmptyString }, // FF_DIRECTORY = 90 { FF_DIRECTORY, 0, 0, "DIR", ".d", ".d", ".d", FFT_EXTERNAL, 0, {0}, // no magic 0, "transparent", "transparent", "Directory of filesystem" }, // FF_N {0} }; // /////////////////////////////////////////////////////////////////////////////// ////////////////////////////// FileTypeTab[] ////////////////////////////// /////////////////////////////////////////////////////////////////////////////// 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_BZ2, "BZ2", 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_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_CT_TEXT, "CT-TEXT", "CTTEXT", 0x3811 }, { 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_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_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_ITEMSLT, "ITEMSLT", "SLT", 0x1 }, { FF_ITEMSLT_TXT, "ITEMSLT-TXT", "ITEMSLTTXT", 0x11 }, { FF_KMG, "KMG", 0, 0x1801 }, { FF_KMG_TXT, "KMG-TXT", "KMGTXT", 0x3811 }, { 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_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_GCT, "GCT", 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_PORTDB, "PORTDB", 0, 0x81 }, { FF_SCRIPT, "SCRIPT", 0, 0x91 }, { FF_JSON, "JSON", 0, 0x91 }, { FF_SH, "SH", 0, 0x91 }, { FF_BASH, "BASH", "SH", 0x91 }, { FF_PHP, "PHP", 0, 0x91 }, { FF_MAKEDOC, "MAKEDOC", "MD", 0x91 }, { FF_DIRECTORY, "DIRECTORY", 0, 0x80 }, {0,0,0,0} }; // /////////////////////////////////////////////////////////////////////////////// ////////////////////////////////// E N D ////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////