diff options
| author | Wiimm <wiimm@wiimm.de> | 2023-12-31 09:33:40 +0100 |
|---|---|---|
| committer | Wiimm <wiimm@wiimm.de> | 2023-12-31 09:33:40 +0100 |
| commit | 14710b0920fa81a30b6ab23972f73e7d250d7bfe (patch) | |
| tree | 949da8ae893f65220964ebc1a4a8d18ba58a6e50 /project/src | |
| parent | 6acd361e1439ace91468735bd286d69d23fd86af (diff) | |
SZS v2.40a
Diffstat (limited to 'project/src')
| -rw-r--r-- | project/src/lib-file.c | 12 | ||||
| -rw-r--r-- | project/src/lib-image2.c | 36 | ||||
| -rw-r--r-- | project/src/lib-kmp-diff.c | 104 | ||||
| -rw-r--r-- | project/src/lib-kmp.c | 6 | ||||
| -rw-r--r-- | project/src/lib-kmp.h | 2 | ||||
| -rw-r--r-- | project/src/lib-lecode.c | 10 | ||||
| -rw-r--r-- | project/src/lib-ledis.c | 29 | ||||
| -rw-r--r-- | project/src/lib-staticr.c | 233 | ||||
| -rw-r--r-- | project/src/lib-std.c | 1 | ||||
| -rw-r--r-- | project/src/lib-std.h | 5 | ||||
| -rw-r--r-- | project/src/lib-xbmg.c | 6 | ||||
| -rw-r--r-- | project/src/prefix.inc | 202 | ||||
| -rw-r--r-- | project/src/ui/tab-wstrt.inc | 9 | ||||
| -rw-r--r-- | project/src/ui/ui-wstrt.c | 230 | ||||
| -rw-r--r-- | project/src/ui/ui-wstrt.h | 8 | ||||
| -rw-r--r-- | project/src/ui/ui.def | 14 | ||||
| -rw-r--r-- | project/src/wstrt.c | 1 | ||||
| -rw-r--r-- | project/src/wszst.c | 1 |
18 files changed, 634 insertions, 275 deletions
diff --git a/project/src/lib-file.c b/project/src/lib-file.c index 108b91e..fc2c5b5 100644 --- a/project/src/lib-file.c +++ b/project/src/lib-file.c @@ -2181,21 +2181,21 @@ void PrintConfig ( FILE *f, const config_t *config, bool verbose ) { fprintf(f, "\nConfiguration:\n" - " config file: %s\n" + " Config file: %s\n" ,config->config_file ? config->config_file : "" ); if (verbose) fprintf(f, - " base path: %s\n" - " install path: %s\n" - " install config: %s\n" + " Base path: %s\n" + " Install path: %s\n" + " Install config: %s\n" ,config->base_path ,config->install_path ,config->install_config ); fprintf(f, - " share path: %s\n" - " auto-add path: %s\n" + " Share path: %s\n" + " Auto-add path: %s\n" ,config->share_path ,config->autoadd_path ); diff --git a/project/src/lib-image2.c b/project/src/lib-image2.c index c18d249..90053e8 100644 --- a/project/src/lib-image2.c +++ b/project/src/lib-image2.c @@ -486,8 +486,8 @@ static enumError CreateGenericTextIMG DASSERT(par); DASSERT(img); - static char search[] = "ÄÖÜàáâäèéíñóôúüß "; // NBSP (0xa0) at end of string - static char replace[] = "AOUaaaaeeinoouus "; + static char search[] = "ÄÖÜàáâäèéíñóôúüßτ "; // NBSP (0xa0) at end of string + static char replace[] = "AOUaaaaeeinoouusT "; static u32 codelist[sizeof(replace)] = {0}; if (!codelist[0]) @@ -586,22 +586,22 @@ static enumError CreateGenericCupImagesIMG { I_SWAPPED, "SWAPPED", 0, 0 }, { I_WIIMM, "WIIMM", 0, 0 }, - { 0*I_PIXEL, "8PIXELS", 0, I_M_PIXEL }, - { 1*I_PIXEL, "16PIXELS", 0, I_M_PIXEL }, - { 2*I_PIXEL, "24PIXELS", 0, I_M_PIXEL }, - { 3*I_PIXEL, "32PIXELS", 0, I_M_PIXEL }, - { 4*I_PIXEL, "40PIXELS", 0, I_M_PIXEL }, - { 5*I_PIXEL, "48PIXELS", 0, I_M_PIXEL }, - { 6*I_PIXEL, "56PIXELS", 0, I_M_PIXEL }, - { 7*I_PIXEL, "64PIXELS", 0, I_M_PIXEL }, - { 8*I_PIXEL, "72PIXELS", 0, I_M_PIXEL }, - { 9*I_PIXEL, "80PIXELS", 0, I_M_PIXEL }, - { 10*I_PIXEL, "88PIXELS", 0, I_M_PIXEL }, - { 11*I_PIXEL, "96PIXELS", 0, I_M_PIXEL }, - { 12*I_PIXEL, "104PIXELS", 0, I_M_PIXEL }, - { 13*I_PIXEL, "112PIXELS", 0, I_M_PIXEL }, - { 14*I_PIXEL, "120PIXELS", 0, I_M_PIXEL }, - { 15*I_PIXEL, "128PIXELS", 0, I_M_PIXEL }, + { 0*I_PIXEL, "8PIXELS", 0, I_M_PIXEL }, + { 1*I_PIXEL, "16PIXELS", 0, I_M_PIXEL }, + { 2*I_PIXEL, "24PIXELS", 0, I_M_PIXEL }, + { 3*I_PIXEL, "32PIXELS", 0, I_M_PIXEL }, + { 4*I_PIXEL, "40PIXELS", 0, I_M_PIXEL }, + { 5*I_PIXEL, "48PIXELS", 0, I_M_PIXEL }, + { 6*I_PIXEL, "56PIXELS", 0, I_M_PIXEL }, + { 7*I_PIXEL, "64PIXELS", 0, I_M_PIXEL }, + { 8*I_PIXEL, "72PIXELS", 0, I_M_PIXEL }, + { 9*I_PIXEL, "80PIXELS", 0, I_M_PIXEL }, + { 10*I_PIXEL, "88PIXELS", 0, I_M_PIXEL }, + { 11*I_PIXEL, "96PIXELS", 0, I_M_PIXEL }, + { 12*I_PIXEL, "104PIXELS", 0, I_M_PIXEL }, + { 13*I_PIXEL, "112PIXELS", 0, I_M_PIXEL }, + { 14*I_PIXEL, "120PIXELS", 0, I_M_PIXEL }, + { 15*I_PIXEL, "128PIXELS", 0, I_M_PIXEL }, {0,0,0,0}, }; diff --git a/project/src/lib-kmp-diff.c b/project/src/lib-kmp-diff.c index 82118a0..d944492 100644 --- a/project/src/lib-kmp-diff.c +++ b/project/src/lib-kmp-diff.c @@ -135,6 +135,28 @@ static void print_hex16 ( uint n, const u16 *u1, const u16 *u2 ) } } +/////////////////////////////////////////////////////////////////////////////// + +static uint diff_kmp_value +( + kmp_t * kmp1, // first kmp to compare + kmp_t * kmp2, // second kmp tp compare + kmp_entry_t sect, // KMP section + uint verbose // 0:quiet, 1:summary only, 2:full report +) +{ + const u16 value1 = kmp1->value[sect]; + const u16 value2 = kmp2->value[sect]; + if ( value1 != value2 ) + { + if ( verbose > 0 ) + printf("%s%s: Unused 16-bit header value at offset 6 differ: Have %#x and %#x.%s\n", + colout->COL_WARN, KMP_SECT_NAME(sect), value1, value2, colout->reset ); + return 1; + } + return 0; +} + // /////////////////////////////////////////////////////////////////////////////// /////////////// ph: helper for CKPH, ENPH, ITPH /////////////// @@ -287,6 +309,13 @@ static uint diff_ph_si ( const section_info_t *si ) DASSERT(si->kmp2); uint diff_count = 0; + if (diff_kmp_value(si->kmp1,si->kmp2,si->sect,si->verbose)) + { + if (!verbose) + return 1; + diff_count++; + } + List_t *l1 = si->kmp1->dlist + si->sect; List_t *l2 = si->kmp2->dlist + si->sect; @@ -526,6 +555,13 @@ static uint diff_pt_si ( const section_info_t *si ) DASSERT(si->kmp2); uint diff_count = 0; + if (diff_kmp_value(si->kmp1,si->kmp2,si->sect,si->verbose)) + { + if (!verbose) + return 1; + diff_count++; + } + List_t *l1 = si->kmp1->dlist + si->sect; List_t *l2 = si->kmp2->dlist + si->sect; @@ -764,6 +800,13 @@ static uint diff_pt2_si ( const section_info_t *si ) DASSERT(si->kmp2); uint diff_count = 0; + if (diff_kmp_value(si->kmp1,si->kmp2,si->sect,si->verbose)) + { + if (!verbose) + return 1; + diff_count++; + } + List_t *l1 = si->kmp1->dlist + si->sect; List_t *l2 = si->kmp2->dlist + si->sect; @@ -1033,6 +1076,13 @@ static uint diff_KMP_AREA DASSERT(kmp2); uint diff_count = 0; + if (diff_kmp_value(kmp1,kmp2,KMP_AREA,verbose)) + { + if (!verbose) + return 1; + diff_count++; + } + List_t *l1 = kmp1->dlist + KMP_AREA; List_t *l2 = kmp2->dlist + KMP_AREA; @@ -1332,6 +1382,31 @@ static uint diff_KMP_CAME List_t *l1 = kmp1->dlist + KMP_CAME; List_t *l2 = kmp2->dlist + KMP_CAME; + u16 value1 = kmp1->value[KMP_CAME]; + u16 value2 = kmp2->value[KMP_CAME]; + if ( value1 != value2 ) + { + for ( int vi = 0; vi < 2; vi++ ) + { + const u8 v1 = value1 & 0xff; + const u8 v2 = value2 & 0xff; + if ( v1 != v2 ) + { + if (!verbose) + return 1; + printf("%sCAME: Index of %s camera differ: Have %u and %u.%s\n", + colout->COL_WARN, + vi ? "opening" : "selection", + v1, v2, colout->reset ); + if (verbose==1) + return 1; + diff_count++; + } + value1 >>= 8; + value2 >>= 8; + } + } + if ( l1->used != l2->used ) { if (!verbose) @@ -1590,6 +1665,13 @@ static uint diff_KMP_CKPT DASSERT(kmp2); uint diff_count = 0; + if (diff_kmp_value(kmp1,kmp2,KMP_CKPT,verbose)) + { + if (!verbose) + return 1; + diff_count++; + } + List_t *l1 = kmp1->dlist + KMP_CKPT; List_t *l2 = kmp2->dlist + KMP_CKPT; @@ -1718,7 +1800,6 @@ static uint diff_KMP_CNPT { DASSERT(kmp1); DASSERT(kmp2); - section_info_t si = {KMP_CNPT,kmp1,kmp2,verbose,"CNPT","cannon"}; return diff_pt2_si(&si); } @@ -1952,6 +2033,13 @@ static uint diff_KMP_GOBJ DASSERT(kmp2); uint diff_count = 0; + if (diff_kmp_value(kmp1,kmp2,KMP_GOBJ,verbose)) + { + if (!verbose) + return 1; + diff_count++; + } + List_t *l1 = kmp1->dlist + KMP_GOBJ; List_t *l2 = kmp2->dlist + KMP_GOBJ; @@ -2241,6 +2329,13 @@ static uint diff_KMP_KTPT DASSERT(kmp2); uint diff_count = 0; + if (diff_kmp_value(kmp1,kmp2,KMP_KTPT,verbose)) + { + if (!verbose) + return 1; + diff_count++; + } + List_t *l1 = kmp1->dlist + KMP_KTPT; List_t *l2 = kmp2->dlist + KMP_KTPT; @@ -2626,6 +2721,13 @@ static uint diff_KMP_STGI DASSERT(kmp2); uint diff_count = 0; + if (diff_kmp_value(kmp1,kmp2,KMP_STGI,verbose)) + { + if (!verbose) + return 1; + diff_count++; + } + List_t *l1 = kmp1->dlist + KMP_STGI; List_t *l2 = kmp2->dlist + KMP_STGI; diff --git a/project/src/lib-kmp.c b/project/src/lib-kmp.c index f0d2fec..f90f60a 100644 --- a/project/src/lib-kmp.c +++ b/project/src/lib-kmp.c @@ -46,10 +46,6 @@ #include <stddef.h> #include <float.h> -/////////////////////////////////////////////////////////////////////////////// - -#define SECT_NAME(s) kmp_section_name[s].name1 - // /////////////////////////////////////////////////////////////////////////////// /////////////// KMP action log /////////////// @@ -2644,7 +2640,7 @@ static void scan_kmp_ph //--- assign group names PRINT("scan_kmp_ph(%s), ac:%x,%x, battle=%d\n", - SECT_NAME(sect_ph), ph->ac_mode, ph->ac_flags, kmp->battle_mode); + KMP_SECT_NAME(sect_ph), ph->ac_mode, ph->ac_flags, kmp->battle_mode); RenameGroupKMP(kmp,sect_ph,ph->gname, ph->ac_mode == KMP_AC_DISPATCH ); } diff --git a/project/src/lib-kmp.h b/project/src/lib-kmp.h index b3a1e9d..a40fd7e 100644 --- a/project/src/lib-kmp.h +++ b/project/src/lib-kmp.h @@ -291,6 +291,8 @@ typedef enum kmp_entry_t extern const uint kmp_entry_size[KMP_N_SECT+1]; extern const KeywordTab_t kmp_section_name[]; +#define KMP_SECT_NAME(s) kmp_section_name[s].name1 + // /////////////////////////////////////////////////////////////////////////////// /////////////// kmp_file_*_t /////////////// diff --git a/project/src/lib-lecode.c b/project/src/lib-lecode.c index dc1645b..963c967 100644 --- a/project/src/lib-lecode.c +++ b/project/src/lib-lecode.c @@ -4127,10 +4127,9 @@ static enumError ScanTextLPAR_PARAM //--- setup data - const double use_avail_txt0 = 123.987e12; - double use_avail_txt = use_avail_txt0; - + DEFINE_VAR(use_avail_txt); int limit_mode = -1; + const ScanParam_t ptab[] = { { "LIMIT-MODE", SPM_INT, &limit_mode }, @@ -4163,7 +4162,7 @@ static enumError ScanTextLPAR_PARAM { "CUP-ICON-SIZE", SPM_U8, &lpar->cup_icon_size }, // [[new-lpar]] - { "USE-AVAIL-TXT", SPM_DOUBLE_X, &use_avail_txt }, // [[obsolete]] 2023-09 + { "USE-AVAIL-TXT", SPM_VAR, &use_avail_txt }, // [[obsolete]] 2023-09 {0} }; @@ -4180,10 +4179,11 @@ static enumError ScanTextLPAR_PARAM } CheckLevelSI(si); - if ( !si->no_warn && use_avail_txt != use_avail_txt0 ) + if ( !si->no_warn && use_avail_txt.mode != VAR_UNSET ) ERROR0(ERR_WARNING, "Don't use deprecated LPAR setting USE-AVAIL-TXT: %s", si->cur_file->name); + FreeV(&use_avail_txt); if ( limit_mode >= 0 ) LimitToLparMode(lpar,limit_mode); diff --git a/project/src/lib-ledis.c b/project/src/lib-ledis.c index 20cedf6..5d51eda 100644 --- a/project/src/lib-ledis.c +++ b/project/src/lib-ledis.c @@ -7909,27 +7909,12 @@ enumError CreateDistribLD ( FILE *f, le_distrib_t *ld, bool use_xname ) ccp uuid = GetParamFieldStr(&ld->dis_param,1,"UUID",""); fprintf(f,text_distrib_head_cr - ,GetParamFieldStr(&ld->dis_param,1,"COMMENT1","") - ,GetParamFieldStr(&ld->dis_param,1,"COMMENT2","") - ,GetParamFieldStr(&ld->dis_param,1,"COMMENT3","") - ,GetParamFieldStr(&ld->dis_param,1,"COMMENT4","") - ,GetParamFieldStr(&ld->dis_param,1,"COMMENT5","") - - ,GetParamFieldStr(&ld->dis_param,1,"USER-CT-WIIMM","") - ,GetParamFieldStr(&ld->dis_param,1,"USER-WIIMMFI","") - ,GetParamFieldStr(&ld->dis_param,1,"USER-CT-WIIKI","") - ,GetParamFieldStr(&ld->dis_param,1,"USER-MISC","") - ,GetParamFieldStr(&ld->dis_param,1,"MAIL","") - ,GetParamFieldStr(&ld->dis_param,1,"NOTE-FOR-WIMMM","") - ,GetParamFieldStr(&ld->dis_param,1,"NAME","?") ,GetParamFieldStr(&ld->dis_param,1,"VERSION","?") ,GetParamFieldStr(&ld->dis_param,1,"AUTHORS","?") ,GetParamFieldStr(&ld->dis_param,1,"RELEASE-DATE","") - ,GetParamFieldStr(&ld->dis_param,1,"REFERENCE-NAME","") ,GetParamFieldStr(&ld->dis_param,1,"KEYWORDS","") ,GetParamFieldStr(&ld->dis_param,1,"PREDECESSOR","") - ,GetParamFieldStr(&ld->dis_param,1,"WIIMMFI-REGION","") ,GetParamFieldStr(&ld->dis_param,1,"INFO-TEXT","") ,GetParamFieldStr(&ld->dis_param,1,"INFO-URL","") @@ -7944,6 +7929,19 @@ enumError CreateDistribLD ( FILE *f, le_distrib_t *ld, bool use_xname ) ,GetParamFieldIntMM(&ld->dis_param,1,"ENABLE-UPDATE",0,0,1) ,GetParamFieldIntMM(&ld->dis_param,1,"ENABLE-BOOST",0,0,1) + ,GetParamFieldStr(&ld->dis_param,1,"COMMENT1","") + ,GetParamFieldStr(&ld->dis_param,1,"COMMENT2","") + ,GetParamFieldStr(&ld->dis_param,1,"COMMENT3","") + ,GetParamFieldStr(&ld->dis_param,1,"COMMENT4","") + ,GetParamFieldStr(&ld->dis_param,1,"COMMENT5","") + + ,GetParamFieldStr(&ld->dis_param,1,"USER-CT-WIIMM","") + ,GetParamFieldStr(&ld->dis_param,1,"USER-WIIMMFI","") + ,GetParamFieldStr(&ld->dis_param,1,"USER-CT-WIIKI","") + ,GetParamFieldStr(&ld->dis_param,1,"USER-MISC","") + ,GetParamFieldStr(&ld->dis_param,1,"MAIL","") + ,GetParamFieldStr(&ld->dis_param,1,"NOTE-FOR-WIMMM","") + ,uuid ,VERSION ,REVISION_NUM @@ -7954,6 +7952,7 @@ enumError CreateDistribLD ( FILE *f, le_distrib_t *ld, bool use_xname ) //--- mark some more params as 'used' + GetParamFieldStr(&ld->dis_param,1,"REFERENCE-NAME",""); GetParamFieldStr(&ld->dis_param,1,"WSZST-VERSION",""); GetParamFieldStr(&ld->dis_param,1,"WSZST-REVISION",""); diff --git a/project/src/lib-staticr.c b/project/src/lib-staticr.c index 005a969..ed968b5 100644 --- a/project/src/lib-staticr.c +++ b/project/src/lib-staticr.c @@ -1251,10 +1251,10 @@ static BZ2Manager_t * GetWiimmfiCode ( str_mode_t mode ) // /////////////////////////////////////////////////////////////////////////////// -/////////////// lecode data /////////////// +/////////////// old lecode data /////////////// /////////////////////////////////////////////////////////////////////////////// -static const u8 lecode_loader_pal_bz2[] = +static const u8 old_lecode_loader_pal_bz2[] = { // decompressed len: 0x200 = 512 bytes 0x00,0x00,0x02,0x00, @@ -1294,12 +1294,12 @@ static const u8 lecode_loader_pal_bz2[] = // 0x1ef = 495 Bytes }; -static BZ2Manager_t lecode_loader_pal_mgr - = { lecode_loader_pal_bz2, sizeof(lecode_loader_pal_bz2), 0, 0 }; +static BZ2Manager_t old_lecode_loader_pal_mgr + = { old_lecode_loader_pal_bz2, sizeof(old_lecode_loader_pal_bz2), 0, 0 }; //----------------------------------------------------------------------------- -static const u8 lecode_loader_usa_bz2[] = +static const u8 old_lecode_loader_usa_bz2[] = { // decompressed len: 0x200 = 512 bytes 0x00,0x00,0x02,0x00, @@ -1339,12 +1339,12 @@ static const u8 lecode_loader_usa_bz2[] = // 0x1ed = 493 Bytes }; -static BZ2Manager_t lecode_loader_usa_mgr - = { lecode_loader_usa_bz2, sizeof(lecode_loader_usa_bz2), 0, 0 }; +static BZ2Manager_t old_lecode_loader_usa_mgr + = { old_lecode_loader_usa_bz2, sizeof(old_lecode_loader_usa_bz2), 0, 0 }; //----------------------------------------------------------------------------- -static const u8 lecode_loader_jap_bz2[] = +static const u8 old_lecode_loader_jap_bz2[] = { // decompressed len: 0x200 = 512 bytes 0x00,0x00,0x02,0x00, @@ -1384,12 +1384,12 @@ static const u8 lecode_loader_jap_bz2[] = // 0x1ec = 492 Bytes }; -static BZ2Manager_t lecode_loader_jap_mgr - = { lecode_loader_jap_bz2, sizeof(lecode_loader_jap_bz2), 0, 0 }; +static BZ2Manager_t old_lecode_loader_jap_mgr + = { old_lecode_loader_jap_bz2, sizeof(old_lecode_loader_jap_bz2), 0, 0 }; //----------------------------------------------------------------------------- -static const u8 lecode_loader_kor_bz2[] = +static const u8 old_lecode_loader_kor_bz2[] = { // decompressed len: 0x200 = 512 bytes 0x00,0x00,0x02,0x00, @@ -1429,8 +1429,211 @@ static const u8 lecode_loader_kor_bz2[] = // 0x1e9 = 489 Bytes }; +static BZ2Manager_t old_lecode_loader_kor_mgr + = { old_lecode_loader_kor_bz2, sizeof(old_lecode_loader_kor_bz2), 0, 0 }; + +//----------------------------------------------------------------------------- + +static BZ2Manager_t * GetOldLecodeLoader ( str_mode_t mode ) +{ + switch (mode) + { + case STR_M_PAL: return &old_lecode_loader_pal_mgr; + case STR_M_USA: return &old_lecode_loader_usa_mgr; + case STR_M_JAP: return &old_lecode_loader_jap_mgr; + case STR_M_KOR: return &old_lecode_loader_kor_mgr; + default: return 0; + } +} + +// +/////////////////////////////////////////////////////////////////////////////// +/////////////// lecode data /////////////// +/////////////////////////////////////////////////////////////////////////////// + +static const u8 lecode_loader_pal_bz2[] = // lecode-loader-pal.bin +{ + // decompressed size: 0x210 = 528 bytes + 0x00,0x00,0x02,0x10, + + // bzipped data + 0x42,0x5a,0x68,0x39, 0x31,0x41,0x59,0x26, 0x53,0x59,0x33,0x5f, 0x2a,0x15,0x00,0x00, + 0x19,0x7f,0xff,0xfd, 0xf6,0x45,0x30,0x60, 0xc7,0xc4,0x6e,0x6f, 0x6f,0xc4,0x84,0x7f, + 0xe7,0xfe,0x6e,0xdc, 0x00,0x44,0x0c,0x43, 0x60,0x00,0x15,0x54, 0x00,0x48,0x4d,0x7e, + 0x40,0x00,0x01,0xb0, 0x01,0x59,0x18,0x83, 0x53,0x54,0xf2,0x09, 0xea,0x64,0x4d,0x31, + 0xa8,0xd1,0x90,0xd0, 0xd0,0x62,0x01,0xa0, 0xd3,0x40,0x62,0x7a, 0x80,0x34,0x36,0x83, + 0x41,0x34,0xc8,0xd0, 0x36,0xa1,0x15,0x3f, 0x20,0x04,0x69,0x4f, 0x53,0x6a,0x79,0x46, + 0x40,0x0d,0x00,0x03, 0x40,0x00,0x00,0x1a, 0x00,0x03,0x40,0x00, 0x34,0x0d,0x4d,0x48, + 0x68,0xd1,0x30,0x26, 0x98,0x46,0x09,0x84, 0x34,0x60,0x04,0x30, 0x01,0x30,0x26,0x11, + 0xa3,0x4c,0xd1,0x30, 0x8c,0x00,0x20,0x51, 0x7a,0xce,0x1d,0xe3, 0x77,0x2c,0xa1,0x2a, + 0x90,0x5a,0x88,0xfd, 0x82,0xfa,0xdb,0xf8, 0x4f,0x95,0x98,0xe4, 0x70,0x03,0x8f,0x2b, + 0x04,0x27,0x91,0x91, 0x28,0x80,0x12,0x62, 0xd8,0x49,0xd1,0xda, 0x3c,0x3b,0x02,0x61, + 0x67,0x31,0x76,0xc1, 0x04,0x33,0xbd,0xb6, 0x43,0xa0,0xc1,0x42, 0x01,0x39,0xc8,0x8c, + 0x7e,0x80,0x11,0xa4, 0x1b,0xbb,0x01,0xe6, 0x08,0x00,0x45,0x86, 0xe1,0xc3,0x95,0x6c, + 0x87,0xf6,0x94,0x47, 0xaa,0x49,0x0d,0xa3, 0x40,0xe8,0x5c,0x9f, 0xdc,0xb3,0x11,0xf5, + 0x8b,0x04,0xc4,0x04, 0xd4,0xe0,0x30,0xf6, 0x83,0x1e,0xec,0xa8, 0x96,0xd0,0x22,0xc4, + 0x10,0x17,0x67,0xd2, 0xdc,0x2a,0x51,0x98, 0x18,0xc6,0x06,0xce, 0xfa,0x1f,0x57,0x32, + 0x8a,0x06,0xd0,0x6c, 0xa3,0xf8,0xac,0x29, 0x08,0xe8,0xb4,0x55, 0x0b,0xbe,0xfb,0xae, + 0x35,0x3f,0x25,0x30, 0xe6,0x95,0x62,0x35, 0x55,0x01,0xa7,0xb8, 0xca,0xca,0x8a,0x65, + 0x0b,0xb5,0xa9,0x53, 0xa4,0xd7,0xbe,0xbc, 0xb7,0x5d,0x7d,0xc8, 0x37,0x77,0x8f,0x44, + 0x96,0x14,0xf3,0x8c, 0x47,0x34,0xe8,0x33, 0x55,0x0a,0xce,0x70, 0x64,0x61,0xcf,0x9e, + 0xb8,0x84,0xc4,0x42, 0x93,0x12,0x8f,0x70, 0xe7,0x76,0x88,0x42, 0x11,0x68,0x83,0x6a, + 0x88,0x22,0xb1,0xe0, 0xf0,0xb1,0x5e,0x6a, 0xa5,0xf1,0x8e,0x46, 0x14,0x0c,0x50,0x48, + 0x99,0x99,0x99,0xdc, 0x41,0x0a,0x91,0x2a, 0xe9,0xa5,0x17,0x44, 0x13,0x3c,0x58,0x60, + 0x16,0x18,0xcf,0x6f, 0x93,0xce,0x04,0xda, 0xf7,0x99,0x27,0xae, 0x6b,0x67,0x09,0x96, + 0xa2,0x6b,0x92,0x31, 0xca,0xa0,0x99,0x88, 0x18,0x8c,0x47,0x07, 0x42,0x9a,0xa2,0xc5, + 0x3a,0x4a,0x6f,0x9c, 0xc1,0x81,0x63,0x2f, 0x9b,0x50,0x6f,0xaa, 0xdf,0xa1,0x18,0x85, + 0x82,0xd2,0x3f,0xa9, 0xcc,0xbb,0x7a,0xd6, 0xcd,0x7f,0xdc,0x22, 0x67,0x58,0x77,0x05, + 0x09,0x18,0x87,0x29, 0x18,0x5b,0x60,0x04, 0x41,0xf8,0x3b,0x7d, 0x06,0xa2,0xcf,0x0c, + 0x56,0x71,0x62,0xac, 0x95,0xd2,0x58,0x7b, 0x81,0x03,0x10,0x92, 0x18,0x5b,0x1c,0x95, + 0x86,0x31,0x79,0xa6, 0x03,0x6f,0x50,0x9e, 0x68,0x1f,0x41,0x23, 0x4f,0xf2,0x58,0x79, + 0xe6,0x1e,0x79,0x3e, 0x46,0x8c,0xba,0x6c, 0x2a,0xaf,0xf8,0xbb, 0x92,0x29,0xc2,0x84, + 0x81,0x9a,0xf9,0x50, 0xa8, + // 0x1f5 = 501 data bytes (96%) +}; + +static BZ2Manager_t lecode_loader_pal_mgr + = { lecode_loader_pal_bz2, sizeof(lecode_loader_pal_bz2), 0, 0 }; + +//----------------------------------------------------------------------------- + +static const u8 lecode_loader_usa_bz2[] = // lecode-loader-usa.bin +{ + // decompressed size: 0x210 = 528 bytes + 0x00,0x00,0x02,0x10, + + // bzipped data + 0x42,0x5a,0x68,0x39, 0x31,0x41,0x59,0x26, 0x53,0x59,0x24,0xfa, 0x9f,0xc6,0x00,0x00, + 0x19,0x7f,0xff,0xfd, 0xf6,0x45,0x34,0x64, 0xc7,0xc0,0x6e,0x6f, 0x6f,0x8e,0x84,0x7f, + 0xe7,0xfe,0x6e,0xdc, 0x00,0x44,0x0c,0x43, 0x60,0x00,0x15,0x50, 0x40,0x48,0x4d,0x7c, + 0x80,0x00,0x01,0xb0, 0x01,0x59,0x18,0x83, 0x53,0x51,0xa6,0xa6, 0xa7,0xe8,0x9a,0x41, + 0xea,0x68,0x00,0x00, 0x1b,0x50,0x1a,0x68, 0x0d,0x03,0x4f,0x4d, 0x26,0x86,0x86,0x8d, + 0x1b,0x23,0x48,0xd3, 0x23,0x46,0x9b,0x50, 0x8a,0x9f,0x8a,0x62, 0x62,0xa7,0xb4,0x89, + 0xea,0x79,0x40,0x00, 0x00,0xd0,0x34,0x19, 0x06,0x80,0x00,0x06, 0x80,0xd0,0xc4,0x00, + 0x1a,0x03,0x53,0x52, 0x4d,0x93,0x51,0x90, 0x68,0xc0,0x98,0x4d, 0x0d,0x32,0x60,0x26, + 0x41,0x80,0x26,0x10, 0xc0,0x00,0x0d,0x00, 0x02,0x64,0xd1,0x12, 0x85,0x60,0xe1,0xe6, + 0x37,0xf1,0xca,0x39, 0x39,0x41,0x6c,0x23, 0xf7,0x0b,0x9d,0x17, 0x30,0x1f,0x1f,0x31, + 0xc9,0x5f,0x07,0x1e, 0x54,0x88,0x7c,0x91, 0x92,0x28,0x20,0x12, 0x72,0xdc,0x48,0x2c, + 0xfd,0x0e,0x58,0x84, 0xe2,0x96,0x62,0xee, 0x7c,0x08,0x67,0xf0, 0xaa,0x41,0x49,0x82, + 0x84,0x42,0x07,0x24, 0x31,0x43,0x00,0x8d, 0xec,0x66,0xf7,0x8f, 0x30,0x44,0x02,0x2b, + 0x77,0x6c,0x1c,0x7b, 0x53,0x80,0x26,0xb2, 0xc7,0xa8,0xc1,0x1e, 0x81,0xf3,0x95,0x3a, + 0xe5,0x7d,0x62,0x06, 0xd4,0x7d,0xf2,0x65, 0x84,0xcf,0x98,0x61, 0x67,0xce,0x46,0x47, + 0xbe,0x83,0x70,0x9c, 0x61,0xb6,0x19,0x5d, 0xaa,0x50,0xdf,0xce, 0x60,0x5a,0x79,0x45, + 0x24,0x3b,0xde,0xb2, 0xc1,0xe3,0x9a,0x4a, 0xbe,0x11,0x84,0xe1, 0x8a,0x77,0xc9,0xd2, + 0xa5,0x66,0x0a,0x8f, 0xcc,0xc1,0x4e,0x03, 0x84,0x04,0xba,0x6b, 0x03,0x7a,0xd7,0x42, + 0x23,0x93,0xa5,0x23, 0xb6,0x4e,0x6b,0x8e, 0x55,0xb2,0xbe,0x95, 0x7a,0xea,0x73,0x0d, + 0xe9,0x6a,0xcd,0x28, 0xc1,0xdc,0xb3,0x12, 0xa6,0x94,0xd6,0xba, 0x02,0x25,0x30,0x19, + 0xb3,0x62,0x89,0xf8, 0x44,0xc8,0x85,0x26, 0x4a,0x7a,0xf5,0xad, 0xa8,0x21,0x00,0x43, + 0xaa,0x0c,0xaa,0x20, 0x83,0x6d,0x6b,0x35, 0x50,0x4c,0x7e,0x32, 0xe2,0x59,0x35,0x6a, + 0x08,0x93,0x22,0xf4, 0x2a,0x90,0x40,0xa4, 0x47,0x39,0x69,0x45, 0xf9,0x04,0x8e,0x15, + 0x98,0x0a,0xcc,0xdc, 0xcf,0x27,0x3c,0x04, 0xcb,0x17,0x1a,0x5e, 0x96,0xc6,0x4a,0x13, + 0x7d,0x44,0xc6,0xa4, 0x66,0x46,0xa0,0x91, 0x68,0x18,0x4c,0x9e, 0x06,0xc0,0x9a,0xc2, + 0xb5,0x36,0xca,0x73, 0xa5,0x2c,0x6c,0x1f, 0x19,0x3c,0xd8,0x83, 0xfa,0xaf,0x5c,0x26, + 0x08,0x46,0xab,0x8f, 0xe9,0xda,0xd0,0xd8, 0x7d,0xcf,0x9b,0x4f, 0x0b,0xaf,0x0a,0xd6, + 0xb8,0xb2,0x68,0x89, 0xa4,0x61,0x03,0x20, 0x1d,0xab,0x6a,0xcf, 0xa2,0x6e,0x48,0xfc, + 0x0d,0xe3,0xb5,0xf7, 0x78,0x5c,0xf4,0x65, 0x2c,0x95,0xbe,0xe0, 0x40,0xc4,0x33,0x03, + 0x51,0xb2,0xd0,0x2f, 0x08,0x6e,0x30,0x28, 0x45,0xc7,0xbe,0x64, 0xfe,0x04,0x8d,0x3f, + 0xdd,0x41,0x14,0x4c, 0xc5,0x12,0x7c,0x8c, 0xda,0xe9,0xaa,0x84, 0x7f,0x8b,0xb9,0x22, + 0x9c,0x28,0x48,0x12, 0x7d,0x4f,0xe3,0x00, + // 0x1f8 = 504 data bytes (96%) +}; + +static BZ2Manager_t lecode_loader_usa_mgr + = { lecode_loader_usa_bz2, sizeof(lecode_loader_usa_bz2), 0, 0 }; + +//----------------------------------------------------------------------------- + + +static const u8 lecode_loader_jap_bz2[] = // lecode-loader-jap.bin +{ + // decompressed size: 0x210 = 528 bytes + 0x00,0x00,0x02,0x10, + + // bzipped data + 0x42,0x5a,0x68,0x39, 0x31,0x41,0x59,0x26, 0x53,0x59,0xaf,0x05, 0x45,0x27,0x00,0x00, + 0x19,0x7f,0xff,0xfd, 0xf6,0x45,0x30,0x60, 0xc7,0xc0,0x6e,0x6f, 0x7f,0xc4,0x84,0x7f, + 0xe7,0xfe,0x6e,0xdc, 0x40,0x44,0x0c,0x43, 0x60,0x00,0x15,0x50, 0x00,0x48,0x4d,0x6c, + 0x80,0x00,0x01,0xb0, 0x01,0x59,0x18,0x83, 0x53,0x51,0xa9,0x83, 0x53,0x24,0xc1,0x34, + 0xd1,0x91,0x90,0x00, 0xf5,0x03,0x26,0x41, 0x90,0xd3,0x6a,0x68, 0xc8,0x68,0x64,0xc1, + 0xa1,0x34,0x69,0x90, 0xda,0x84,0x54,0xfd, 0x34,0x98,0x15,0x3d, 0xa4,0x4f,0xd5,0x3d, + 0xaa,0x00,0x06,0x80, 0x00,0xd0,0xc8,0x34, 0x00,0x19,0x00,0x00, 0xd0,0xd0,0x03,0x40, + 0xd4,0xd4,0x86,0x4d, 0x26,0x98,0x46,0x10, 0xd3,0x13,0x02,0x60, 0x01,0x34,0xc0,0x26, + 0x8c,0x46,0x01,0x30, 0x06,0x83,0x44,0x61, 0x02,0x25,0x26,0x31, 0xc3,0xc4,0x73,0xfe, + 0xda,0x14,0xac,0x05, 0xc0,0x8f,0xe4,0x31, 0x2f,0xc5,0xa0,0xf9, 0xe9,0x9c,0x96,0x50, + 0x71,0xe5,0x64,0x85, 0x42,0x32,0x45,0x20, 0x02,0x54,0x5c,0x89, 0x04,0xb9,0x88,0x0d, + 0x82,0xa1,0x69,0x32, 0x75,0x14,0x10,0xdc, 0xf6,0xe9,0x05,0xa6, 0x0a,0xd1,0x08,0x1d, + 0xa4,0x25,0x34,0x02, 0x37,0x91,0x9f,0xe5, 0x3c,0xc1,0x10,0x08, 0xbe,0xef,0xa6,0x3d, + 0xfd,0x2e,0x05,0xee, 0xbe,0x3d,0x86,0x08, 0xf5,0x0f,0x29,0x33, 0xac,0x4b,0xdf,0xb9, + 0x0d,0x2b,0x76,0xc9, 0xfa,0x18,0x72,0x71, 0x86,0x26,0xa3,0xe0, 0x97,0x0d,0xd3,0x88, + 0x90,0xc2,0x16,0x66, 0x7b,0xb0,0x29,0x20, 0x7d,0x38,0x92,0x50, 0x29,0xd5,0x7c,0xf8, + 0x77,0x1c,0xd1,0x53, 0xf1,0x54,0x52,0x11, 0x8f,0x60,0xa9,0x95, 0x6f,0x8b,0xb6,0x2d, + 0xcd,0x84,0xc4,0x1d, 0xe5,0xd2,0x03,0x92, 0xba,0x80,0xd6,0x63, 0xd9,0x59,0x5c,0xc0, + 0x9c,0x28,0x35,0xb4, 0x25,0xb6,0xdd,0xac, 0x4b,0x6c,0xde,0xbc, 0x95,0x11,0x32,0x6a, + 0x74,0x09,0x50,0xe4, 0xa3,0x12,0x66,0x6d, 0xa8,0xca,0x05,0x1b, 0x68,0x50,0xca,0x7b, + 0xd5,0x20,0x91,0x8c, 0x28,0x23,0x24,0xf8, 0x0d,0x6f,0x80,0x84, 0x61,0x25,0x30,0x65, + 0x61,0x08,0x89,0xbe, 0x56,0xa9,0xa4,0x89, 0x7c,0xe6,0xbd,0x66, 0x6a,0xd2,0x0f,0x44, + 0x33,0x99,0x47,0xc4, 0xc0,0xe5,0x22,0x0b, 0x88,0xf8,0x26,0x08, 0x38,0x54,0x40,0x2a, + 0x22,0x72,0xfd,0x1c, 0x70,0x33,0x2c,0xe3, 0x24,0x1e,0x6b,0x19, 0x30,0x49,0x49,0x33, + 0x1a,0x81,0x9d,0x2a, 0x42,0x0b,0x88,0x64, 0x23,0x1c,0x1b,0x1a, 0x2b,0x0a,0xd2,0xd7, + 0xd0,0x74,0xc5,0x8d, 0x92,0x86,0x15,0xd9, 0x11,0x7d,0xd8,0xb0, 0x13,0x84,0x25,0x4c, + 0x8c,0xd4,0xf7,0x30, 0x61,0xba,0xdb,0xb8, 0x64,0x8c,0xbd,0xe1, 0xdf,0x9e,0x69,0x19, + 0x05,0x12,0x30,0x75, 0xf8,0x07,0x6b,0x1a, 0x75,0x28,0x1b,0xa1, 0x99,0xd1,0x21,0x35, + 0x93,0x25,0x94,0x2e, 0x82,0xc7,0x58,0x10, 0x31,0x09,0x21,0x95, 0x64,0x28,0x33,0x0c, + 0x0c,0x07,0x1e,0x9f, 0x30,0xcb,0xd5,0xca, 0x18,0x1a,0xff,0x9b, 0x01,0xe7,0x99,0x79, + 0xe4,0x55,0xae,0x68, 0xab,0xa2,0xd2,0xaa, 0xff,0x8b,0xb9,0x22, 0x9c,0x28,0x48,0x57, + 0x82,0xa2,0x93,0x80, + // 0x1f4 = 500 data bytes (95%) +}; + +static BZ2Manager_t lecode_loader_jap_mgr + = { lecode_loader_jap_bz2, sizeof(lecode_loader_jap_bz2), 0, 0 }; + +//----------------------------------------------------------------------------- + + +static const u8 lecode_loader_kor_bz2[] = // lecode-loader-kor.bin +{ + // decompressed size: 0x210 = 528 bytes + 0x00,0x00,0x02,0x10, + + // bzipped data + 0x42,0x5a,0x68,0x39, 0x31,0x41,0x59,0x26, 0x53,0x59,0x8d,0xd5, 0x95,0xd0,0x00,0x00, + 0x19,0x7f,0xff,0xfd, 0xf6,0x45,0x30,0x60, 0xc7,0xc4,0x6e,0x6f, 0x6f,0x94,0x84,0x7f, + 0xe7,0xfe,0x6e,0xdc, 0x04,0x44,0x0c,0x43, 0x64,0x00,0x15,0x50, 0x00,0x48,0x4d,0x6e, + 0x40,0x00,0x01,0xb0, 0x01,0x59,0x18,0x83, 0x51,0x32,0x0d,0x4f, 0x41,0x23,0x10,0x68, + 0xd1,0xa3,0x40,0xd3, 0x20,0x68,0xd3,0x43, 0x40,0x64,0xc4,0x34, 0x1a,0x30,0x6a,0x7a, + 0x23,0x21,0xea,0x0d, 0x1e,0xa1,0x15,0x3f, 0x10,0x13,0x4d,0x4d, 0x35,0x3d,0x4f,0x28, + 0x00,0xd0,0x00,0x0d, 0x06,0x80,0xd0,0x00, 0x00,0x00,0x68,0x00, 0x00,0x0d,0x4d,0x49, + 0x36,0x8d,0x4c,0x09, 0x81,0x31,0x18,0x26, 0x01,0x18,0x4c,0x04, 0x60,0x46,0x81,0xa6, + 0x98,0x00,0x69,0x18, 0x04,0xc0,0x20,0x51, 0xec,0x9c,0x20,0x0d, 0xdc,0xb3,0x0e,0x8e, + 0x90,0x5b,0x08,0xfd, 0xa2,0xea,0xcb,0xb8, 0x8f,0xf2,0xce,0x72, 0x38,0x01,0xc7,0x97, + 0xd1,0x0a,0x44,0x64, 0x4a,0x38,0x04,0x94, 0xb6,0x92,0x64,0x77, 0x08,0x0d,0x82,0x51, + 0x5b,0x31,0x3a,0xf0, 0x04,0x33,0xbc,0xfc, 0x20,0xa4,0xc1,0x3a, 0x01,0x31,0xc8,0x8c, + 0x93,0x40,0x23,0x49, 0x33,0xec,0x07,0x98, 0x20,0x01,0x15,0xfb, 0xe6,0x16,0xec,0x3a, + 0x11,0xe6,0xa9,0xec, 0xc2,0x29,0xeb,0x1e, 0x49,0x8e,0xc1,0x51, 0x7d,0xd8,0x8a,0x5d, + 0xba,0x56,0x53,0x0a, 0xcd,0x5a,0x04,0x18, 0x1c,0x8f,0xe9,0xa3, 0x16,0xf1,0xc4,0x68, + 0xa1,0x96,0x1b,0x6a, 0xf3,0x94,0x92,0x31, 0x7b,0xd5,0x32,0x90, 0xea,0x57,0x55,0x51, + 0x58,0xe4,0xc8,0x37, 0x7a,0xe2,0x98,0xca, 0x38,0xe9,0x2d,0x7c, 0x2f,0x5a,0x77,0x7b, + 0x19,0x10,0xe6,0x21, 0x40,0x3c,0x15,0x04, 0xb6,0xec,0xf6,0x58, 0x5c,0x53,0x2b,0x9d, + 0x71,0xa4,0xcd,0x9b, 0x77,0x0b,0x1a,0x6f, 0x38,0xa5,0x11,0xb9, 0x38,0xdc,0x45,0x5c, + 0x52,0x90,0x42,0x98, 0x93,0x1b,0x96,0xb0, 0x5a,0x62,0x42,0x96, 0x0c,0x92,0x32,0x21, + 0x32,0x21,0x51,0x92, 0xd1,0x45,0xce,0xaa, 0x20,0xf0,0x8b,0x3c, 0x20,0xee,0x10,0x49, + 0xbb,0xbe,0xb9,0x74, 0xd5,0x2f,0x85,0x09, 0x1a,0x4e,0x6a,0xc2, 0x45,0x4c,0xdc,0xae, + 0xc2,0x07,0xad,0x32, 0xb1,0x28,0xa2,0x41, 0x2b,0xc5,0x86,0x02, 0xc3,0x37,0xb7,0xc5, + 0xe8,0x02,0x82,0x37, 0x9a,0x91,0x15,0x27, 0x3a,0x70,0xa1,0xac, 0x27,0x42,0xa1,0x8e, + 0x55,0x84,0xcd,0x48, 0xd0,0x32,0x40,0x43, 0x3d,0x55,0x45,0xab, 0x75,0x6e,0x34,0xf9, + 0xcd,0x18,0x58,0x33, 0x79,0x40,0x93,0xf9, 0xa7,0xf6,0x11,0x88, 0x4c,0xbb,0x3c,0x5c, + 0xf2,0xde,0xbd,0x6f, 0x63,0x04,0x3f,0xa0, 0x7a,0x62,0xe6,0x0a, 0x11,0xdf,0x14,0x4a, + 0x41,0x71,0x90,0x0e, 0xd7,0xb1,0xa9,0x3e, 0x4e,0x16,0xa7,0xc4, 0x94,0xdb,0xef,0xd8, + 0x4a,0x12,0x5c,0x35, 0x81,0x41,0x0a,0x24, 0x0f,0xe0,0xdb,0x12, 0x17,0x1f,0xa1,0xe4, + 0x8a,0x90,0x70,0x4e, 0x22,0x1f,0x08,0x1a, 0x50,0x7e,0x4a,0x10, 0x40,0xd4,0x10,0x27, + 0xb8,0x91,0x58,0x4d, 0xa5,0x96,0xff,0x17, 0x72,0x45,0x38,0x50, 0x90,0x8d,0xd5,0x95, + 0xd0, + // 0x1f1 = 497 data bytes (95%) +}; + static BZ2Manager_t lecode_loader_kor_mgr - = { lecode_loader_kor_bz2, sizeof(lecode_loader_kor_bz2), 0, 0 }; + = { lecode_loader_kor_bz2, sizeof(lecode_loader_kor_bz2), 0, 0 }; //----------------------------------------------------------------------------- @@ -5838,6 +6041,7 @@ static enumError ReadCodeFile { BZ2Manager_t *wcm = 0; if (!strcmp(fname,"@LECODE")) wcm = GetLecodeLoader(str->mode); + else if (!strcmp(fname,"@OLDLECODE")) wcm = GetOldLecodeLoader(str->mode); // else if (!strcmp(fname,"@FIX514XX")) wcm = GetFix514XX(str->mode); if (wcm) @@ -7768,6 +7972,11 @@ const data_tab_t maindol_data_tab[] = DEF_BZIP(codehandleronly) #if HAVE_WIIMM_EXT + DEF_BZIP(old_lecode_loader_pal) + DEF_BZIP(old_lecode_loader_usa) + DEF_BZIP(old_lecode_loader_jap) + DEF_BZIP(old_lecode_loader_kor) + DEF_BZIP(lecode_loader_pal) DEF_BZIP(lecode_loader_usa) DEF_BZIP(lecode_loader_jap) diff --git a/project/src/lib-std.c b/project/src/lib-std.c index 03d9061..727ca86 100644 --- a/project/src/lib-std.c +++ b/project/src/lib-std.c @@ -768,6 +768,7 @@ const compatible_info_t compatible_info[COMPAT__N] = { COMPAT_1_44, 6558, "1.44" }, { COMPAT_1_46, 6614, "1.46" }, { COMPAT_2_08, 7961, "2.08" }, + { COMPAT_2_40, 8910, "2.40" }, { COMPAT_CURRENT, REVISION_NUM, VERSION_NUM } }; diff --git a/project/src/lib-std.h b/project/src/lib-std.h index 2029a95..0644bd1 100644 --- a/project/src/lib-std.h +++ b/project/src/lib-std.h @@ -177,6 +177,7 @@ void PrintHelpColor ( const struct InfoUI_t * iu ); /////////////////////////////////////////////////////////////////////////////// /////////////// compatibility /////////////// /////////////////////////////////////////////////////////////////////////////// +// [[compatible_t]] typedef enum compatible_t { @@ -186,6 +187,7 @@ typedef enum compatible_t COMPAT_1_44, // new BMG escapes + attributes => opt_bmg_old_escapes = true COMPAT_1_46, // KMP flags => opt_kmp_flags = false; COMPAT_2_08, // BMG slots and sections => opt_bmg_use_* = false + COMPAT_2_40, // BMG @?, new syntax => opt_bmg_use_new_cond = false COMPAT_CURRENT, // current version COMPAT__N // number of elements of 'compatible_info' @@ -193,12 +195,13 @@ typedef enum compatible_t compatible_t; //----------------------------------------------------------------------------- +// [[compatible_info_t]] typedef struct compatible_info_t { compatible_t compatible; // selector u32 revision; // revision number - char version[8]; // version string of format "1.23" of "1.23a" + char version[8]; // version string of format "1.23" or "1.23a" } compatible_info_t; diff --git a/project/src/lib-xbmg.c b/project/src/lib-xbmg.c index 09c8316..dcef035 100644 --- a/project/src/lib-xbmg.c +++ b/project/src/lib-xbmg.c @@ -117,6 +117,7 @@ void SetupBMG ( ccp opt_filter_bmg ) #endif opt_bmg_use_slots = true; opt_bmg_use_raw_sections = true; + opt_bmg_use_new_cond = true; if (opt_align) opt_bmg_align = ALIGN32(opt_align,4); @@ -128,6 +129,11 @@ void SetupBMG ( ccp opt_filter_bmg ) //--- compatibility settings + if ( compatible < COMPAT_2_40 || compatible == COMPAT_CURRENT ) // [[obsolete]] COMPAT_CURRENT 2023-11 + { + opt_bmg_use_new_cond = false; + } + if ( compatible < COMPAT_2_08 ) { opt_bmg_use_slots = false; diff --git a/project/src/prefix.inc b/project/src/prefix.inc index af76761..ead72db 100644 --- a/project/src/prefix.inc +++ b/project/src/prefix.inc @@ -1,108 +1,116 @@ static const u8 prefix_inc_lzma[] = { - // decompressed size: 0xecd = 3789 bytes - 0x00,0x00,0x0e,0xcd, + // decompressed size: 0x10cb = 4299 bytes + 0x00,0x00,0x10,0xcb, // LZMA.6 compressed data 0x5d,0x00,0x00,0x80, 0x00,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0x00,0x20,0x15, 0x06,0x01,0x7b,0xa2, 0xa1,0xd0,0xb6,0xe6, 0x42,0x19,0xec,0xf7, 0x37,0x70,0x15,0x8e, 0x25,0x3c,0x80,0xfc, 0x38,0xd8,0x99,0x2a, 0xaa,0xdf,0xc9,0x44, 0x9a,0x44,0x8b,0x29, - 0x12,0x98,0x47,0xc4, 0x6f,0x2e,0xa6,0xc1, 0x27,0xd7,0xae,0x49, 0x17,0x6b,0xd8,0xb2, - 0x08,0x96,0x54,0x14, 0x50,0xe7,0x19,0xb5, 0x94,0x80,0x20,0x4b, 0x4f,0x81,0x04,0x71, - 0x57,0xbb,0x37,0xb6, 0xa0,0x0f,0x0d,0x4b, 0x93,0x38,0x90,0x6d, 0x04,0x64,0x57,0x30, - 0x2a,0xda,0x99,0x30, 0x43,0xf0,0xca,0x57, 0x98,0x6e,0x23,0xa5, 0xa1,0xd5,0x44,0x33, - 0x9f,0xf6,0x62,0x18, 0x08,0x1d,0xfc,0x63, 0x80,0xfd,0xbe,0xde, 0xfd,0x5a,0xac,0xcf, - 0xb6,0xf0,0xba,0xe0, 0xac,0x1a,0xea,0x42, 0xe1,0x4a,0x46,0xf0, 0xb7,0xf8,0xb6,0x30, - 0x4f,0x0e,0x7b,0x32, 0xb8,0x63,0xab,0x98, 0x03,0x53,0xf9,0x71, 0x3c,0x60,0x91,0x5b, - 0x0b,0xed,0x03,0xc6, 0x3c,0x51,0x07,0x57, 0xe8,0xf0,0x38,0x3a, 0x8b,0x11,0x9a,0x55, - 0xc8,0x0f,0x1d,0x5a, 0xb0,0x41,0xeb,0x68, 0x73,0xb7,0x29,0xf4, 0xd2,0x50,0x0d,0x5f, - 0x23,0x9e,0x6c,0x40, 0xbf,0xd7,0xcb,0xdc, 0x2a,0x6b,0xb3,0x0d, 0x24,0x9d,0x32,0x2a, - 0x31,0xdb,0xa8,0x73, 0xfa,0x99,0x3c,0x8d, 0x3c,0x43,0x1d,0xcc, 0xe5,0x84,0x74,0x4a, - 0xfc,0x17,0x71,0xee, 0x17,0xd1,0x9d,0x2e, 0xfa,0x27,0xcf,0xa4, 0xb1,0xbc,0x4c,0x94, - 0x3d,0x22,0xa6,0xc4, 0xc5,0xf1,0x23,0x3b, 0x08,0x07,0xfb,0x3c, 0x92,0x77,0x08,0x99, - 0x11,0x90,0xf5,0x21, 0xe6,0x03,0xe6,0xa0, 0xc6,0xce,0xdd,0xd6, 0x3d,0x0c,0x25,0x3d, - 0x02,0xc6,0x8d,0xef, 0x57,0x4a,0xbf,0xd3, 0x85,0xd8,0x70,0xda, 0xd0,0x27,0xc9,0xd2, - 0x83,0xe6,0x52,0x25, 0x00,0x88,0x23,0x3e, 0x9c,0x88,0x76,0x84, 0x12,0xd6,0xaa,0x36, - 0xab,0x79,0x2f,0x6b, 0xf3,0x96,0xe5,0x58, 0x9d,0xcb,0x3a,0xce, 0xae,0x2f,0xec,0x4b, - 0x18,0xa3,0xfd,0x1a, 0x5b,0x4c,0x40,0x8a, 0x63,0x87,0x5f,0xfe, 0x84,0x3f,0xe0,0xc8, - 0x17,0x15,0xae,0xbf, 0xda,0x70,0x55,0x19, 0x51,0xd4,0x22,0x74, 0x10,0x5d,0xea,0x45, - 0x3a,0x68,0x44,0x76, 0x4d,0x14,0xa8,0xf1, 0x71,0xba,0xd9,0x3d, 0xef,0x35,0x0d,0xf3, - 0xa3,0xb7,0xc9,0x7e, 0xd3,0x86,0x13,0x35, 0x25,0xa3,0xea,0x01, 0xc8,0x01,0x89,0x1b, - 0xd7,0x47,0x52,0x48, 0xcc,0x43,0xe3,0x76, 0xd3,0x21,0x83,0x8f, 0xec,0xa7,0xca,0x17, - 0x53,0xc3,0x9b,0x28, 0xa7,0xa0,0xd8,0x12, 0xcf,0x42,0xbf,0x22, 0xe5,0x51,0xa6,0xe8, - 0xd2,0x40,0x49,0x29, 0xc3,0xcf,0x3d,0x2f, 0x79,0x4b,0xe6,0xe5, 0xe9,0x03,0xe5,0xe2, - 0xa8,0x82,0xa0,0x07, 0xc1,0x5e,0xf0,0x78, 0x42,0x31,0x95,0x4d, 0x48,0xbe,0x32,0xbc, - 0x63,0x29,0xbf,0x10, 0xd3,0xd3,0xd1,0x97, 0x05,0x45,0xa4,0x29, 0xfc,0x22,0xbc,0x94, - 0x19,0x58,0x76,0x1c, 0x38,0x4a,0x75,0xf2, 0x49,0x81,0x4b,0x7b, 0x1f,0xf9,0x79,0xda, - 0x2e,0x1a,0xe8,0x8b, 0xdf,0xf5,0xcb,0x07, 0x29,0xa0,0x08,0x33, 0x8a,0x63,0x84,0xb0, - 0x6e,0x7f,0xed,0x80, 0xb4,0x1e,0xac,0xe4, 0xec,0x0b,0xae,0xcb, 0xb7,0x66,0xb5,0x86, - 0x32,0x38,0xee,0x30, 0xcb,0x24,0xf8,0xf6, 0xbd,0x8a,0x9a,0x68, 0x13,0x49,0x79,0xc8, - 0x73,0x45,0xbe,0xbe, 0x6b,0x15,0xab,0x3d, 0x12,0x03,0x61,0x4c, 0x0d,0xe7,0x01,0xb3, - 0xbb,0x3e,0x9b,0x87, 0x95,0xee,0xe3,0x51, 0x55,0x4f,0xe6,0x9a, 0x1f,0xe6,0x70,0xfa, - 0xdf,0x21,0x9a,0x3c, 0xab,0xd7,0x55,0x9b, 0xd0,0x48,0x2a,0x39, 0xb1,0x2b,0xa0,0x2f, - 0xb8,0x7c,0xc3,0x71, 0x95,0x10,0xfe,0xc1, 0xf0,0x49,0x1c,0xba, 0xea,0x0a,0x59,0xad, - 0x33,0xb8,0x7f,0xbf, 0x32,0x4b,0x41,0x6b, 0x93,0x07,0x32,0xd5, 0x9f,0x14,0x38,0xfa, - 0xfd,0xd6,0xb5,0x1b, 0xac,0x81,0xc4,0x28, 0xe3,0x21,0x1d,0xff, 0x54,0x06,0x3b,0xf2, - 0xbe,0xd9,0x7b,0xa5, 0x0a,0xa9,0xa9,0xf3, 0x4d,0x8b,0x17,0x5a, 0x72,0x9a,0x88,0xd6, - 0x06,0xeb,0xc4,0x40, 0xe9,0x63,0x70,0xdd, 0x78,0x59,0x79,0xbf, 0x71,0x92,0x80,0x46, - 0xfc,0x7c,0xa5,0x53, 0x5a,0xa3,0x5f,0x43, 0xf5,0x5f,0xba,0x74, 0x8d,0xc2,0x14,0x5a, - 0xcd,0x3a,0x7e,0x63, 0x14,0xc5,0xf6,0x74, 0xd3,0x6f,0xd2,0x8c, 0x5c,0xb8,0x2a,0x8f, - 0x36,0xb1,0x0c,0x2a, 0x46,0x04,0xec,0x33, 0x66,0xd3,0xe7,0xfc, 0x95,0x7e,0xcd,0x23, - 0x17,0x08,0xc6,0x9d, 0xc3,0x9e,0xd7,0x7f, 0x21,0x2a,0x40,0x5e, 0x35,0x4f,0x85,0x14, - 0xc5,0x47,0x83,0x16, 0x81,0xfc,0x29,0x1b, 0xd4,0x69,0x65,0xfc, 0x68,0xea,0x55,0x9e, - 0x01,0xa8,0x0c,0x85, 0x7b,0xbc,0x2e,0x79, 0xb2,0x15,0xc7,0x98, 0xd7,0x3e,0xd5,0xdb, - 0x7a,0x0d,0xb5,0xf7, 0x73,0xe3,0x14,0xce, 0x34,0x0f,0x68,0xe5, 0x3e,0xc6,0x78,0xd5, - 0x9e,0x06,0xa1,0x9c, 0x46,0xd7,0xd5,0xa0, 0xf5,0xdd,0x27,0xb3, 0xdf,0x92,0x38,0x87, - 0xf5,0xb5,0x77,0x35, 0x74,0xf6,0x3a,0x06, 0x26,0xd0,0x5e,0x07, 0xca,0xd7,0x41,0x87, - 0x5a,0xd9,0x0e,0x44, 0x6b,0x99,0x1e,0x2e, 0x00,0x2b,0x34,0x94, 0xde,0xea,0x4f,0x7c, - 0xfe,0x51,0x97,0xf3, 0x46,0x52,0x8d,0x96, 0x33,0xf1,0xbc,0x23, 0x6a,0x68,0x26,0x05, - 0x32,0xb7,0x08,0x33, 0x18,0x24,0xb9,0xdc, 0x91,0xf8,0x95,0x63, 0x33,0x8c,0x93,0x69, - 0x28,0xfb,0x4f,0x1c, 0xe6,0xbd,0x4e,0x22, 0x10,0x6f,0x64,0x73, 0xde,0x58,0x3e,0xc0, - 0x84,0x97,0x8b,0x6b, 0x15,0x59,0x17,0x7b, 0x86,0x57,0xd6,0x2f, 0xef,0xa2,0x53,0x34, - 0xcb,0xf9,0xec,0xbf, 0xac,0xdd,0x2f,0xce, 0xa3,0x9f,0x77,0x3c, 0xad,0xc3,0x34,0x4f, - 0x1b,0x52,0x22,0x95, 0xab,0x08,0xe7,0xca, 0x8d,0x64,0x89,0x78, 0xd9,0x99,0x1b,0xa5, - 0xdb,0xab,0xe4,0x50, 0xcb,0x56,0x15,0xe0, 0x3d,0xa5,0x3d,0xb2, 0xa6,0x4b,0x87,0xab, - 0x1c,0xfe,0xd0,0xf4, 0xae,0xe3,0xc3,0x2a, 0x8e,0x36,0x71,0xe2, 0x7c,0x05,0x0d,0x3a, - 0xf3,0xaa,0x56,0x40, 0x82,0xed,0xf2,0x9c, 0xa0,0x7e,0x7a,0x4c, 0x8f,0x42,0x55,0x91, - 0x98,0xf4,0x25,0x72, 0x36,0xad,0xbb,0x76, 0x68,0xe2,0x06,0x19, 0xc1,0x6f,0x45,0x8c, - 0xf9,0x53,0x5f,0xb5, 0xf6,0x60,0xe9,0x56, 0x26,0x40,0x9a,0xc2, 0x45,0x92,0x35,0xd8, - 0xc9,0x8a,0xb3,0x63, 0x82,0x5d,0x6a,0xd7, 0xca,0xd6,0xb8,0xe2, 0xd2,0x01,0x89,0xe4, - 0x89,0xd7,0xc2,0xf9, 0x44,0xc2,0x66,0xa0, 0xfb,0x96,0xfb,0xce, 0x1f,0xfb,0xaf,0xa9, - 0x0e,0x6b,0x1f,0x52, 0x11,0xc3,0x9c,0xac, 0xa4,0x5f,0xb6,0x7f, 0x87,0x58,0x9e,0x15, - 0xd2,0x5f,0x39,0xee, 0x9f,0xde,0x5b,0x38, 0xb4,0xef,0xb9,0x32, 0x06,0xbb,0x62,0xc3, - 0x9d,0xaf,0x21,0x69, 0xe6,0x6d,0x9b,0xc7, 0x79,0xef,0x9b,0x52, 0x8b,0xda,0x21,0xca, - 0x24,0xff,0x95,0x7f, 0x0a,0x19,0xbb,0x49, 0xd4,0x81,0xdc,0x04, 0xd8,0xb7,0xbf,0xda, - 0x47,0xd2,0x00,0x1d, 0x98,0x7d,0xde,0x1f, 0xb4,0x30,0xd9,0x25, 0x80,0x0b,0x97,0x0e, - 0x56,0x6c,0xf9,0xa7, 0x78,0xe8,0x01,0x64, 0xf3,0x8e,0x82,0x32, 0xfc,0x95,0xcc,0xa8, - 0xaa,0x71,0x6e,0xb4, 0xa3,0x54,0x6d,0xca, 0x8e,0x9a,0xac,0x0e, 0xca,0xef,0x1c,0x43, - 0x52,0xca,0x27,0x80, 0xe6,0xa7,0x26,0x52, 0xc6,0xe1,0x6e,0x7d, 0x38,0xad,0x17,0xd6, - 0x2b,0x77,0x65,0x3c, 0x01,0x16,0x95,0x3c, 0x0a,0xf4,0xa2,0x03, 0xd1,0xd5,0x5f,0x4d, - 0xb1,0x55,0xdc,0x6e, 0xb6,0x61,0xcb,0x52, 0xaa,0x44,0xd3,0xd1, 0x35,0x76,0x91,0x1a, - 0x2b,0x29,0x49,0x06, 0xeb,0x86,0x47,0x54, 0x63,0xf0,0xda,0x1d, 0x1f,0x7b,0x7b,0x1f, - 0xc1,0x38,0x99,0x6b, 0x07,0x2e,0xae,0x91, 0x9d,0x92,0x92,0x37, 0x27,0x4e,0xe1,0x20, - 0xb0,0x11,0xc9,0x32, 0x2f,0x1d,0xf6,0x02, 0xbf,0xbd,0x70,0xbd, 0x5c,0xc9,0x67,0xfd, - 0xdc,0x34,0x06,0xf1, 0xff,0x8a,0xda,0xc8, 0xcd,0xae,0x71,0x3f, 0x56,0x50,0x2d,0x1a, - 0x8a,0x35,0xdd,0x39, 0x45,0x92,0xf2,0x40, 0x93,0x39,0xe4,0x45, 0x9f,0xb8,0x37,0xb5, - 0x98,0xaf,0x81,0xc7, 0x14,0x1b,0x4a,0x45, 0xa3,0x16,0xac,0x37, 0xc8,0x2e,0xcf,0x81, - 0x09,0x38,0xd2,0x62, 0x14,0xb4,0xfc,0x34, 0x00,0x75,0x81,0xfe, 0x86,0x51,0xa6,0xf3, - 0x5e,0x45,0xda,0x2d, 0xb2,0x50,0xa0,0x0a, 0x8f,0x43,0xe6,0x0c, 0xa1,0x49,0xc1,0x8d, - 0x4d,0xe3,0xf5,0xcb, 0x38,0x9a,0xc7,0x6c, 0xab,0xb1,0x9e,0xab, 0x70,0x94,0x0d,0xc0, - 0x3b,0xf1,0x85,0x15, 0xbe,0x23,0x57,0xd2, 0x60,0x47,0x92,0xf4, 0x18,0x2a,0xe6,0xef, - 0x53,0x2b,0xa1,0xee, 0xab,0x23,0x52,0x33, 0x18,0xc6,0x7b,0x56, 0x51,0x5c,0xbc,0x65, - 0xc7,0xef,0x02,0xbf, 0x74,0xf0,0x1f,0x97, 0x4d,0x13,0x5c,0x69, 0xec,0x46,0x4f,0xd3, - 0xeb,0x51,0x9d,0xf3, 0x10,0x45,0xc9,0xd9, 0x72,0x64,0x02,0x85, 0xf7,0xdd,0xf0,0xaa, - 0x29,0x8c,0xb0,0x6a, 0x89,0x94,0xcc,0x2f, 0x24,0xc6,0x8b,0x8e, 0x29,0xdb,0x6c,0x33, - 0x20,0x04,0x6c,0xd8, 0x77,0x09,0x0f,0x17, 0x0a,0x9d,0xb0,0xeb, 0xc8,0xae,0x76,0xcb, - 0x56,0x8e,0x28,0x28, 0xf4,0x23,0x1e,0xb4, 0xe5,0x7b,0x42,0x58, 0x80,0xa0,0x24,0x35, - 0xe3,0xda,0x8f,0x0b, 0x94,0x39,0x24,0x43, 0xfc,0x40,0x6c,0xc8, 0xa5,0x36,0x5a,0x90, - 0x7e,0xbb,0xde,0x0c, 0x42,0xc0,0x64,0xc3, 0xda,0x30,0x39,0x4a, 0x46,0x53,0x45,0xc9, - 0x28,0xb2,0xa5,0xb2, 0xa4,0xc6,0xa5,0x07, 0x27,0x05,0x86,0x35, 0x4d,0x8d,0xca,0x17, - 0x6f,0x5f,0xb9,0x2f, 0xcb,0x21,0x9d,0x1a, 0xc9,0x09,0xd0,0xba, 0xa1,0xaa,0x31,0x2a, - 0xea,0xd1,0xbd,0x9d, 0x93,0xf3,0x0b,0xd4, 0x65,0x74,0xe9,0xb3, 0xec,0x68,0x6d,0xcc, - 0x8f,0xd1,0x49,0x0a, 0xe0,0xa4,0x02,0x0f, 0xe1,0x77,0x6c,0xec, 0xc4,0x49,0xe6,0x73, - 0xff,0xe0,0x47,0x7a, 0x88, - // 0x605 = 1541 data bytes (41%) + 0x12,0x98,0x47,0xc4, 0x6f,0x2e,0xa6,0xc1, 0x27,0xd7,0xb9,0x7d, 0x3d,0xa0,0xa5,0xee, + 0xd1,0x03,0xca,0xb5, 0xd4,0x9c,0x03,0xe3, 0xca,0x58,0xca,0x53, 0x14,0x0b,0xb2,0xe7, + 0xc2,0x25,0xb4,0x99, 0x64,0x16,0xf9,0x56, 0xa8,0x60,0xa7,0xcb, 0x12,0x3b,0xfc,0xe7, + 0x6a,0x7b,0x8f,0x47, 0x95,0x48,0x9a,0xce, 0x10,0x70,0x19,0xe6, 0xdb,0x6e,0xe8,0xa3, + 0xe3,0xf3,0xf5,0x41, 0x76,0x3d,0x18,0xe7, 0x4b,0xec,0x4b,0x4b, 0x6f,0xcb,0x8a,0x23, + 0x5c,0xf1,0x87,0x53, 0x24,0x1c,0xb9,0x4c, 0x67,0x11,0xae,0x3d, 0xe8,0x3c,0x90,0xdc, + 0x49,0x33,0x0b,0x26, 0xc7,0x97,0xa3,0xf2, 0x38,0x6c,0xba,0xdf, 0x52,0x8e,0xa6,0x07, + 0x5f,0x80,0xf8,0x0e, 0x94,0xa5,0x5d,0x89, 0x41,0xbf,0xc6,0xb6, 0x64,0xa1,0xb1,0x57, + 0xad,0xb8,0xbd,0x9b, 0xdc,0x1e,0x7a,0x93, 0xf2,0xf1,0xd7,0xb5, 0xbd,0x68,0x83,0x1e, + 0xc8,0x9b,0x66,0x68, 0xe8,0x45,0xd9,0x5c, 0x57,0x79,0xec,0xd3, 0xc8,0xf5,0xbb,0x00, + 0x34,0x20,0x32,0x4a, 0xaf,0x31,0xfc,0x4e, 0x30,0x37,0x54,0x55, 0xc1,0x49,0x6c,0x3f, + 0x39,0xe0,0x2e,0x78, 0x7b,0x2c,0xaf,0x3a, 0x51,0xa3,0xcc,0xbb, 0x6d,0x55,0xd2,0xce, + 0x29,0x3f,0x82,0x9c, 0xdc,0xc4,0xec,0x2f, 0xb1,0x94,0xc1,0xc3, 0xb7,0x45,0xb7,0xf5, + 0xb0,0x2b,0x8c,0xb9, 0xf4,0x6d,0x96,0xf4, 0xef,0x61,0x47,0xa4, 0x7c,0x55,0xab,0xc4, + 0xb1,0xdb,0x2a,0x70, 0x45,0x13,0x32,0x11, 0x9b,0x13,0x07,0x1d, 0x13,0xab,0xa6,0x79, + 0xa9,0x16,0x5a,0xea, 0x4b,0x04,0x62,0x04, 0xe3,0x18,0x93,0xde, 0x00,0x90,0xb1,0x3b, + 0x95,0x21,0x16,0x84, 0xf1,0x21,0x3e,0x4d, 0xb9,0x58,0xd4,0x80, 0x35,0x48,0x46,0x08, + 0x4b,0xf2,0x44,0x01, 0x34,0x49,0x67,0x4e, 0x09,0x8c,0x7d,0x48, 0xa1,0x3a,0x53,0x1a, + 0x62,0x2b,0x6d,0xae, 0xf2,0xf6,0xe8,0xbc, 0x42,0x87,0x0e,0x64, 0xa2,0x98,0x60,0x80, + 0x6e,0xff,0x58,0x22, 0x25,0x1b,0x0f,0x2a, 0x0d,0x27,0xe4,0x0a, 0xdf,0xfa,0xe0,0x80, + 0x85,0xe2,0xb2,0x0b, 0x07,0x2d,0x4a,0x23, 0xf2,0x87,0xbd,0x89, 0x08,0x51,0x67,0xaf, + 0xea,0x61,0x07,0xe2, 0x70,0xca,0xc7,0x53, 0xb2,0xc1,0xa1,0x42, 0x25,0x64,0xd3,0xd1, + 0xd8,0x78,0x50,0x65, 0x1e,0x32,0xc3,0x91, 0x9c,0x52,0xab,0x72, 0x58,0xe7,0x03,0x5f, + 0x3c,0x44,0x6d,0x2d, 0x1b,0x00,0x23,0x55, 0xb5,0xc8,0x21,0xd6, 0xdd,0x6e,0x2b,0x67, + 0x4b,0x3e,0x7b,0xf6, 0xdd,0xa8,0x5f,0x21, 0x37,0x36,0x72,0x84, 0xd2,0xc0,0xdc,0x5c, + 0x97,0x44,0xb9,0xd2, 0x24,0xa1,0xdc,0x7e, 0xcb,0xa1,0xc2,0x3a, 0xb9,0x84,0x12,0x0f, + 0x51,0xfc,0x49,0xde, 0xfa,0x78,0x7b,0xb1, 0x91,0x9f,0x7a,0xcb, 0xdc,0x29,0x15,0x02, + 0xfc,0x2f,0xf5,0xa9, 0xd5,0x20,0x0f,0x68, 0xbd,0x43,0x34,0x33, 0x0c,0x69,0xcf,0x6b, + 0x69,0xb3,0xa0,0x96, 0xb8,0xa1,0x14,0xe3, 0xfb,0x90,0xa8,0xc2, 0xff,0x7c,0xb0,0x70, + 0xf8,0x3e,0x64,0x5f, 0xeb,0x65,0xb6,0x43, 0xbe,0x63,0xd5,0xf6, 0x06,0xd3,0x77,0xcd, + 0x35,0xff,0x62,0xa0, 0x47,0xbf,0xdf,0x2b, 0xbd,0xd2,0x97,0x1c, 0x55,0x26,0xd5,0x6d, + 0x4b,0xbb,0xb4,0xa8, 0xba,0xc3,0x51,0x47, 0x5f,0x8d,0xfc,0xb4, 0x1a,0x6f,0xaf,0xf4, + 0x22,0x7b,0xe4,0x95, 0xbf,0x75,0x37,0x38, 0x23,0x5c,0x8a,0x7a, 0x5c,0x3a,0x5b,0x95, + 0xe1,0x5c,0x63,0x3d, 0x53,0x92,0x72,0x2e, 0x7a,0x49,0x17,0x37, 0x9a,0xfe,0xa2,0xbe, + 0x5b,0xdb,0x92,0xf2, 0x55,0x25,0xf0,0x58, 0x72,0xb6,0xaf,0x56, 0x8b,0x8d,0x65,0x0d, + 0x8f,0xb8,0xce,0x4a, 0x77,0x3b,0xb9,0xfc, 0x7a,0x0d,0x71,0x51, 0x37,0x00,0x4d,0x24, + 0xa0,0xac,0x76,0x29, 0xfc,0xdd,0xf2,0xda, 0x98,0x6b,0xab,0xc8, 0xe6,0x47,0xf9,0x52, + 0xef,0x2c,0x06,0x4b, 0x3b,0xd5,0x4c,0xc6, 0x17,0x90,0x6d,0x6b, 0xdc,0xa9,0x28,0x5b, + 0x38,0x30,0x66,0xf0, 0xa9,0xd2,0x32,0xf7, 0x09,0xa2,0xcc,0x69, 0x57,0xa5,0x4c,0x77, + 0x81,0x68,0xc6,0x59, 0x9a,0xc5,0x11,0xcc, 0x26,0x43,0x80,0x58, 0xfc,0x2a,0x22,0x76, + 0x09,0x43,0x4e,0xab, 0x6b,0xe3,0xff,0x52, 0xbc,0xeb,0xb4,0x55, 0x73,0x68,0x1a,0x34, + 0xc8,0xcd,0x56,0x79, 0x0c,0xf2,0x21,0x87, 0xaf,0xf3,0x99,0x38, 0x65,0xbc,0x3c,0x18, + 0x35,0x4f,0xac,0xb4, 0xfa,0x91,0xdf,0x7e, 0x01,0xe0,0xba,0x2b, 0x61,0x57,0x9c,0x22, + 0xa8,0x85,0x39,0x4c, 0xed,0x90,0xfe,0x2a, 0x9b,0x27,0x10,0x1d, 0x1f,0xb8,0xce,0x27, + 0x67,0x51,0xdb,0xaf, 0xca,0xb0,0xa2,0xcd, 0xc5,0xd9,0xbf,0x26, 0xec,0x8e,0x2e,0x29, + 0x07,0xb1,0xb5,0xfc, 0x50,0xbd,0x6b,0xa4, 0xf1,0x2e,0x2b,0xb8, 0xed,0xf9,0xb6,0x48, + 0x35,0x5c,0xa5,0x00, 0xd2,0xea,0xe9,0x78, 0x41,0xa8,0x93,0xe5, 0x1d,0x41,0x0e,0x2a, + 0xd1,0xf5,0x2e,0xd7, 0x0d,0xba,0x52,0x97, 0x68,0x0d,0x99,0x98, 0x9d,0x65,0x03,0xa7, + 0x6e,0x74,0xf3,0xef, 0x70,0x41,0x13,0xd2, 0xc4,0xab,0xed,0x86, 0x1d,0x86,0xbc,0x96, + 0x2f,0x21,0x7f,0x56, 0x74,0x0c,0x29,0xf1, 0xc9,0x4c,0xa6,0x54, 0xa3,0x6e,0xe6,0x57, + 0x47,0x59,0xc0,0x8f, 0x5f,0x8f,0xcc,0xac, 0xda,0x16,0x09,0xdc, 0xcd,0xd2,0xb2,0x33, + 0xd3,0xa6,0xd6,0xea, 0x4f,0x7b,0x3b,0x20, 0x15,0xa3,0xac,0xcd, 0xa5,0xc0,0x04,0xf0, + 0xfe,0x9c,0x58,0xd1, 0xa9,0x7e,0x92,0xd0, 0xc6,0x4a,0x94,0x96, 0x8d,0x39,0xa5,0x7a, + 0x95,0x29,0x29,0x8a, 0x9b,0xd9,0x40,0xef, 0xd1,0x7d,0x47,0xe6, 0x53,0x82,0x6f,0x6c, + 0xb2,0x88,0x8b,0x6a, 0xb4,0xcc,0x7d,0xa1, 0x21,0xb4,0x22,0xef, 0x18,0xc7,0x3f,0x93, + 0x60,0x43,0x11,0x8e, 0x2d,0x19,0x15,0x16, 0xc3,0x6c,0x42,0xf9, 0x09,0x74,0xd0,0x26, + 0xb2,0x86,0x67,0x6e, 0x54,0x1a,0x94,0x46, 0xd6,0xa5,0xac,0x02, 0x59,0x33,0xd5,0xf4, + 0x0c,0x13,0x91,0x21, 0x00,0x2c,0xa2,0x9e, 0x71,0xc0,0x21,0x82, 0xb0,0x5a,0xc1,0xdf, + 0x65,0x01,0x53,0x20, 0x0e,0xa9,0x4d,0xc6, 0x37,0xe4,0x5b,0x8a, 0xa2,0x0d,0x89,0xa0, + 0x85,0x2e,0xd0,0x61, 0xf2,0xe1,0x38,0x97, 0xc8,0xdf,0xc8,0x8c, 0x12,0x30,0x56,0xc4, + 0x92,0xf6,0xb5,0x0c, 0xd2,0xc7,0xa8,0x81, 0x35,0xa6,0xbc,0x5d, 0x08,0x3e,0xbd,0x4d, + 0x8e,0xff,0x0e,0x39, 0x18,0xfe,0x61,0x67, 0x48,0x3d,0x39,0x34, 0xa0,0xb1,0x9c,0xd5, + 0xb8,0xc0,0x84,0xef, 0x14,0xd3,0x1e,0x1e, 0x02,0x85,0xd7,0x32, 0xf0,0xa6,0x13,0xb5, + 0x38,0x05,0x6a,0x5e, 0xd2,0xd4,0xff,0x4c, 0xa9,0xa0,0x93,0x3c, 0xe0,0x32,0x04,0xec, + 0x83,0x42,0x1a,0x2d, 0x89,0xd6,0xa0,0xdc, 0xea,0x22,0x3b,0xb1, 0xd3,0xe2,0x15,0x42, + 0x7c,0x86,0x7c,0x91, 0xe0,0x3e,0x93,0x07, 0x6d,0x2b,0x5c,0xfb, 0x4f,0x62,0x9d,0x13, + 0xab,0x7b,0x97,0x90, 0xf1,0xea,0xa8,0x5e, 0x11,0x9d,0x95,0x37, 0x56,0x76,0xa1,0x67, + 0x69,0x21,0x41,0x72, 0x92,0x80,0x8e,0xcb, 0x7b,0xad,0x89,0x7d, 0xaf,0x94,0x9c,0x85, + 0xeb,0x0f,0x40,0xc2, 0xdd,0x3b,0x7a,0xbe, 0xa8,0xfa,0xd6,0xbb, 0xab,0x88,0x3e,0xa2, + 0x4f,0xff,0xfb,0x18, 0x66,0xc8,0xc0,0x77, 0xa9,0xbe,0x98,0x67, 0x83,0xe2,0x74,0xed, + 0xfd,0xf0,0x40,0x81, 0xfe,0x3e,0xe4,0x07, 0x5c,0x6a,0x31,0x1f, 0xf0,0xdc,0x3d,0x57, + 0x5c,0x3c,0xc3,0x0f, 0x81,0x87,0x91,0xd2, 0x82,0xef,0xc6,0xd3, 0xfe,0xe6,0x67,0x4d, + 0x76,0x17,0x28,0xff, 0xa2,0x45,0xd9,0xef, 0x97,0xe7,0x8a,0xc9, 0x6a,0xfc,0xce,0xcb, + 0xfc,0xae,0xe1,0x21, 0x84,0x73,0x1b,0xe8, 0x24,0xbe,0xb2,0x9e, 0xc3,0x94,0x6c,0x4f, + 0xe8,0xe2,0x15,0x74, 0x51,0x83,0xb5,0xa1, 0x27,0x17,0x4d,0xb4, 0x03,0xb8,0x89,0xf6, + 0x16,0x94,0x77,0x6c, 0x66,0x62,0x8f,0x18, 0xd7,0x68,0x10,0x67, 0xa3,0x63,0x64,0xb5, + 0xdc,0xb8,0x24,0xf2, 0xf3,0x68,0xf8,0x59, 0x5a,0x3f,0x65,0x74, 0x62,0x76,0xca,0x9c, + 0x60,0x6a,0x21,0x11, 0x2e,0x3a,0x66,0x31, 0x00,0xbd,0x8f,0x84, 0x46,0xe2,0x57,0xc7, + 0x7f,0x10,0x71,0x70, 0x6d,0x6a,0x41,0x70, 0x94,0xb9,0x05,0xa8, 0x57,0x8c,0xcc,0xdc, + 0xbe,0x70,0x48,0x4c, 0x3c,0x5b,0x19,0x19, 0x79,0x4e,0xd6,0xb0, 0xdc,0x40,0x42,0x8b, + 0x3e,0x98,0x0d,0x5a, 0x06,0xa7,0x76,0x68, 0xb2,0xd9,0xc5,0xb7, 0x88,0xb5,0x8d,0xe7, + 0xe8,0xf6,0x13,0xec, 0x33,0x44,0x7a,0xcf, 0x68,0x9c,0x8f,0x39, 0x1b,0x2b,0xa1,0x10, + 0xa7,0x6a,0x42,0xc5, 0xb6,0x44,0xbf,0xfc, 0xc9,0x7e,0xb7,0x09, 0x99,0x87,0xa9,0x45, + 0x92,0x42,0x6a,0xbf, 0x24,0x35,0x1d,0xa2, 0x7b,0x04,0x73,0xf1, 0xda,0x42,0x7a,0x62, + 0x69,0x51,0x3f,0xaa, 0xb3,0x09,0x83,0x74, 0x72,0xbc,0x1c,0x64, 0xc7,0x8b,0x99,0x85, + 0x85,0x27,0x9d,0x02, 0xb7,0x65,0x37,0xb2, 0xfd,0x6b,0x18,0x3f, 0xac,0x3e,0x37,0x0b, + 0xa0,0xf2,0xc5,0xb3, 0x42,0xce,0x6d,0x27, 0xdb,0x38,0xc1,0xb1, 0xbf,0xcc,0xff,0xfc, + 0xe7,0xf0,0x3d,0x70, 0xb4,0x53,0x95,0xac, 0xe4,0xfe,0x3e,0x2c, 0x89,0xac,0x4d,0xbb, + 0xdf,0x31,0x41,0xbc, 0xb4,0x5a,0x0d,0xb1, 0x2f,0x0b,0xda,0x3f, 0x4a,0xcd,0xe6,0x00, + 0x5e,0x7c,0xda,0x88, 0x1b,0xd0,0xe4,0x2d, 0x3a,0x6c,0x20,0xcd, 0xf9,0x80,0xf8,0x14, + 0x19,0x55,0x47,0x9a, 0x10,0xbd,0x9c,0x25, 0x66,0xee,0xe4,0x86, 0xb8,0xd8,0xee,0x1c, + 0xc3,0xce,0xa6,0x02, 0x09,0xac,0x30,0x17, 0xb5,0xec,0xea,0x87, 0xaf,0x7b,0x31,0xaa, + 0xdf,0xba,0x5c,0x46, 0x04,0xa6,0x39,0xd0, 0xe3,0x6d,0x7a,0x81, 0xa1,0xde,0x1d,0x06, + 0x41,0x46,0x13,0xc6, 0x84,0x81,0x1c,0x85, 0x7f,0x24,0xbc,0xcb, 0xfd,0xe1,0xaf,0xd9, + 0x67,0xc1,0xb3,0x26, 0x8c,0xfd,0x3c,0xd9, 0xb9,0x46,0x4f,0x6e, 0x80,0x75,0x63,0x62, + 0x9f,0x63,0x0b,0x91, 0x20,0x10,0xfc,0xa0, 0xa6,0xc1,0xa4,0xe7, 0xec,0x7a,0xc8,0x49, + 0x0e,0xd3,0xaa,0xe5, 0x2e,0x50,0xf1,0x39, 0xa2,0xca,0x1d,0x53, 0x7b,0xe6,0x79,0x4a, + 0x4e,0xd2,0x15,0x51, 0x8a,0xa4,0xb8,0xa0, 0x08,0x7a,0xe6,0x14, 0xa7,0x64,0x86,0xa5, + 0xe8,0x19,0x22,0x67, 0xde,0x7b,0x82,0x1c, 0x99,0x31,0x7f,0xd4, 0x00,0x42,0x79,0x1a, + 0x81,0x8c,0x09,0x10, 0xa7,0xdf,0x60,0xe3, 0x6d,0x8a,0xce,0xb8, 0x0f,0x34,0x35,0xa8, + 0xda,0x71,0x02,0xa7, 0xc4,0x46,0x2a,0x1f, 0x88,0xb2,0xd0,0xbd, 0x60,0x8d,0x89,0xd5, + 0xc5,0x15,0x37,0x71, 0x4a,0xe4,0xa7,0x04, 0x7f,0x95,0xff,0xa6, 0x7b,0xd3,0xf4, + // 0x68f = 1679 data bytes (39%) }; static CompressManager_t prefix_inc_mgr diff --git a/project/src/ui/tab-wstrt.inc b/project/src/ui/tab-wstrt.inc index 690afe3..0c32e91 100644 --- a/project/src/ui/tab-wstrt.inc +++ b/project/src/ui/tab-wstrt.inc @@ -534,7 +534,11 @@ { T_OPT_C, "ADD_LECODE", "add-lecode|addlecode", 0, - "Add LE-CODE starter to main.dol." }, + "Add newest LE-CODE starter from 2023-12 to main.dol." }, + + { T_OPT_C, "ADD_OLD_LECODE", "add-old-lecode|addoldlecode", + 0, + "Add old LE-CODE starter from 2019-01 to main.dol." }, { T_OPT_C, "ADD_CTCODE", "add-ctcode|addctcode", 0, @@ -1180,7 +1184,8 @@ { T_SEP_OPT, 0,0,0,0 }, { T_COPT, "CLEAN_DOL", 0,0,0 }, { T_COPY_GRP, "PATCH", 0,0,0 }, - { H_COPT, "ADD_LECODE", 0,0,0 }, + { T_COPT, "ADD_LECODE", 0,0,0 }, + { T_COPT, "ADD_OLD_LECODE",0,0,0 }, { T_COPT, "ADD_CTCODE", 0,0,0 }, { T_COPT, "CT_DIR", 0,0,0 }, { T_COPT, "MOVE_D8", 0,0,0 }, diff --git a/project/src/ui/ui-wstrt.c b/project/src/ui/ui-wstrt.c index df96915..77716c0 100644 --- a/project/src/ui/ui-wstrt.c +++ b/project/src/ui/ui-wstrt.c @@ -163,7 +163,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_ADD_LECODE, false, false, false, false, false, 0, "add-lecode", 0, - "Add LE-CODE starter to main.dol." + "Add newest LE-CODE starter from 2023-12 to main.dol." + }, + + { OPT_ADD_OLD_LECODE, false, false, false, false, false, 0, "add-old-lecode", + 0, + "Add old LE-CODE starter from 2019-01 to main.dol." }, { OPT_ADD_CTCODE, false, false, false, false, false, 0, "add-ctcode", @@ -506,7 +511,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " dependent (multiple of format size)." }, - {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 68 + {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 69 //----- global options ----- @@ -924,7 +929,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " directory." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 123 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 124 }; @@ -1241,6 +1246,8 @@ static const struct option OptionLong[] = { "cleandol", 0, 0, GO_CLEAN_DOL }, { "add-lecode", 0, 0, GO_ADD_LECODE }, { "addlecode", 0, 0, GO_ADD_LECODE }, + { "add-old-lecode", 0, 0, GO_ADD_OLD_LECODE }, + { "addoldlecode", 0, 0, GO_ADD_OLD_LECODE }, { "add-ctcode", 0, 0, GO_ADD_CTCODE }, { "addctcode", 0, 0, GO_ADD_CTCODE }, { "ct-dir", 1, 0, GO_CT_DIR }, @@ -1420,56 +1427,57 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x0ac */ OPT_NUMBER, /* 0x0ad */ OPT_CLEAN_DOL, /* 0x0ae */ OPT_ADD_LECODE, - /* 0x0af */ OPT_ADD_CTCODE, - /* 0x0b0 */ OPT_CT_DIR, - /* 0x0b1 */ OPT_MOVE_D8, - /* 0x0b2 */ OPT_ADD_SECTION, - /* 0x0b3 */ OPT_FULL_GCH, - /* 0x0b4 */ OPT_GCT_NO_SEP, - /* 0x0b5 */ OPT_GCT_SEP, - /* 0x0b6 */ OPT_GCT_ASM_SEP, - /* 0x0b7 */ OPT_GCT_LIST, - /* 0x0b8 */ OPT_GCT_MOVE, - /* 0x0b9 */ OPT_GCT_ADDR, - /* 0x0ba */ OPT_GCT_SPACE, - /* 0x0bb */ OPT_ALLOW_USER_GCH, - /* 0x0bc */ OPT_CREATE_SECT, - /* 0x0bd */ OPT_WPF, - /* 0x0be */ OPT_SECTIONS, - /* 0x0bf */ OPT_PORT_DB, - /* 0x0c0 */ OPT_ORDER, - /* 0x0c1 */ OPT_VADDR, - /* 0x0c2 */ OPT_FADDR, - /* 0x0c3 */ OPT_SNAME, - /* 0x0c4 */ OPT_INT1, - /* 0x0c5 */ OPT_INT2, - /* 0x0c6 */ OPT_INT3, - /* 0x0c7 */ OPT_INT4, - /* 0x0c8 */ OPT_INT5, - /* 0x0c9 */ OPT_INT6, - /* 0x0ca */ OPT_INT7, - /* 0x0cb */ OPT_INT8, - /* 0x0cc */ OPT_FLOAT, - /* 0x0cd */ OPT_DOUBLE, - /* 0x0ce */ OPT_LE, - /* 0x0cf */ OPT_BE, - /* 0x0d0 */ OPT_ZEROS, - /* 0x0d1 */ OPT_HEX, - /* 0x0d2 */ OPT_DEC, - /* 0x0d3 */ OPT_C_SYNTAX, - /* 0x0d4 */ OPT_ADDR, - /* 0x0d5 */ OPT_ALIGN, - /* 0x0d6 */ OPT_TRIGGER, - /* 0x0d7 */ OPT_NO_ADDR, - /* 0x0d8 */ OPT_NO_NUMBERS, - /* 0x0d9 */ OPT_NO_TEXT, - /* 0x0da */ OPT_FORMAT, - /* 0x0db */ OPT_NO_NULL, - /* 0x0dc */ OPT_NARROW, - /* 0x0dd */ OPT_SMALL, - /* 0x0de */ OPT_WIDE, - /* 0x0df */ OPT_BYTES, - /* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, + /* 0x0af */ OPT_ADD_OLD_LECODE, + /* 0x0b0 */ OPT_ADD_CTCODE, + /* 0x0b1 */ OPT_CT_DIR, + /* 0x0b2 */ OPT_MOVE_D8, + /* 0x0b3 */ OPT_ADD_SECTION, + /* 0x0b4 */ OPT_FULL_GCH, + /* 0x0b5 */ OPT_GCT_NO_SEP, + /* 0x0b6 */ OPT_GCT_SEP, + /* 0x0b7 */ OPT_GCT_ASM_SEP, + /* 0x0b8 */ OPT_GCT_LIST, + /* 0x0b9 */ OPT_GCT_MOVE, + /* 0x0ba */ OPT_GCT_ADDR, + /* 0x0bb */ OPT_GCT_SPACE, + /* 0x0bc */ OPT_ALLOW_USER_GCH, + /* 0x0bd */ OPT_CREATE_SECT, + /* 0x0be */ OPT_WPF, + /* 0x0bf */ OPT_SECTIONS, + /* 0x0c0 */ OPT_PORT_DB, + /* 0x0c1 */ OPT_ORDER, + /* 0x0c2 */ OPT_VADDR, + /* 0x0c3 */ OPT_FADDR, + /* 0x0c4 */ OPT_SNAME, + /* 0x0c5 */ OPT_INT1, + /* 0x0c6 */ OPT_INT2, + /* 0x0c7 */ OPT_INT3, + /* 0x0c8 */ OPT_INT4, + /* 0x0c9 */ OPT_INT5, + /* 0x0ca */ OPT_INT6, + /* 0x0cb */ OPT_INT7, + /* 0x0cc */ OPT_INT8, + /* 0x0cd */ OPT_FLOAT, + /* 0x0ce */ OPT_DOUBLE, + /* 0x0cf */ OPT_LE, + /* 0x0d0 */ OPT_BE, + /* 0x0d1 */ OPT_ZEROS, + /* 0x0d2 */ OPT_HEX, + /* 0x0d3 */ OPT_DEC, + /* 0x0d4 */ OPT_C_SYNTAX, + /* 0x0d5 */ OPT_ADDR, + /* 0x0d6 */ OPT_ALIGN, + /* 0x0d7 */ OPT_TRIGGER, + /* 0x0d8 */ OPT_NO_ADDR, + /* 0x0d9 */ OPT_NO_NUMBERS, + /* 0x0da */ OPT_NO_TEXT, + /* 0x0db */ OPT_FORMAT, + /* 0x0dc */ OPT_NO_NULL, + /* 0x0dd */ OPT_NARROW, + /* 0x0de */ OPT_SMALL, + /* 0x0df */ OPT_WIDE, + /* 0x0e0 */ OPT_BYTES, + /* 0x0e1 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0, /* 0x0f0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x100 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x110 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, @@ -1483,179 +1491,179 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /////////////// opt_allowed_cmd_* /////////////// /////////////////////////////////////////////////////////////////////////////// -static u8 option_allowed_cmd_VERSION[68] = // cmd #1 +static u8 option_allowed_cmd_VERSION[69] = // cmd #1 { 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_HELP[68] = // cmd #2 +static u8 option_allowed_cmd_HELP[69] = // cmd #2 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1 + 1,1,1,1,1, 1,1,1,1 }; -static u8 option_allowed_cmd_CONFIG[68] = // cmd #3 +static u8 option_allowed_cmd_CONFIG[69] = // cmd #3 { 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_ARGTEST[68] = // cmd #4 +static u8 option_allowed_cmd_ARGTEST[69] = // cmd #4 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1 + 1,1,1,1,1, 1,1,1,1 }; -static u8 option_allowed_cmd_EXPAND[68] = // cmd #5 +static u8 option_allowed_cmd_EXPAND[69] = // cmd #5 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1 + 1,1,1,1,1, 1,1,1,1 }; -static u8 option_allowed_cmd_TEST[68] = // cmd #6 +static u8 option_allowed_cmd_TEST[69] = // cmd #6 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1 + 1,1,1,1,1, 1,1,1,1 }; -static u8 option_allowed_cmd_COLORS[68] = // cmd #7 +static u8 option_allowed_cmd_COLORS[69] = // cmd #7 { 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_ERROR[68] = // cmd #8 +static u8 option_allowed_cmd_ERROR[69] = // cmd #8 { 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_FILETYPE[68] = // cmd #9 +static u8 option_allowed_cmd_FILETYPE[69] = // cmd #9 { 0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_FILEATTRIB[68] = // cmd #10 +static u8 option_allowed_cmd_FILEATTRIB[69] = // cmd #10 { 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_RAWDUMP[68] = // cmd #11 +static u8 option_allowed_cmd_RAWDUMP[69] = // cmd #11 { 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_DUMP[68] = // cmd #12 +static u8 option_allowed_cmd_DUMP[69] = // cmd #12 { 0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_CDUMP[68] = // cmd #13 +static u8 option_allowed_cmd_CDUMP[69] = // cmd #13 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_HEXDUMP[68] = // cmd #14 +static u8 option_allowed_cmd_HEXDUMP[69] = // cmd #14 { 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1 + 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1 }; -static u8 option_allowed_cmd_PORT[68] = // cmd #15 +static u8 option_allowed_cmd_PORT[69] = // cmd #15 { 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,1,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_WHERE[68] = // cmd #16 +static u8 option_allowed_cmd_WHERE[69] = // cmd #16 { 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_HTTPS[68] = // cmd #17 +static u8 option_allowed_cmd_HTTPS[69] = // cmd #17 { 0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_EXTRACT[68] = // cmd #18 +static u8 option_allowed_cmd_EXTRACT[69] = // cmd #18 { 0,0,0,1,1, 0,0,0,1,1, 0,1,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_TRACKS[68] = // cmd #19 +static u8 option_allowed_cmd_TRACKS[69] = // cmd #19 { 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_ARENAS[68] = // cmd #20 +static u8 option_allowed_cmd_ARENAS[69] = // cmd #20 { 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_FILES[68] = // cmd #21 +static u8 option_allowed_cmd_FILES[69] = // cmd #21 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_FIND[68] = // cmd #22 +static u8 option_allowed_cmd_FIND[69] = // cmd #22 { 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_POINTS[68] = // cmd #23 +static u8 option_allowed_cmd_POINTS[69] = // cmd #23 { 0,1,1,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_ANALYZE[68] = // cmd #24 +static u8 option_allowed_cmd_ANALYZE[69] = // cmd #24 { 0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_PATCH[68] = // cmd #25 +static u8 option_allowed_cmd_PATCH[69] = // cmd #25 { 0,0,0,1,1, 0,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0 + 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0 }; @@ -2100,6 +2108,8 @@ static const InfoOption_t * option_tab_cmd_PATCH[] = OptionInfo + OPT_BT, OptionInfo + OPT_CANNON, OptionInfo + OPT_MENO, + OptionInfo + OPT_ADD_LECODE, + OptionInfo + OPT_ADD_OLD_LECODE, OptionInfo + OPT_ADD_CTCODE, OptionInfo + OPT_CT_DIR, OptionInfo + OPT_MOVE_D8, @@ -2551,7 +2561,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " and pipe characters are parsed, see" " https://szs.wiimm.de/doc/wildcards for details. No backup is made.", 0, - 36, + 38, option_tab_cmd_PATCH, option_allowed_cmd_PATCH }, diff --git a/project/src/ui/ui-wstrt.h b/project/src/ui/ui-wstrt.h index fd5ee88..280020b 100644 --- a/project/src/ui/ui-wstrt.h +++ b/project/src/ui/ui-wstrt.h @@ -73,6 +73,7 @@ typedef enum enumOptions OPT_PRESERVE, OPT_IGNORE, OPT_ADD_LECODE, + OPT_ADD_OLD_LECODE, OPT_ADD_CTCODE, OPT_MOVE_D8, OPT_ADD_SECTION, @@ -124,7 +125,7 @@ typedef enum enumOptions OPT_WIDE, OPT_BYTES, - OPT__N_SPECIFIC, // == 68 + OPT__N_SPECIFIC, // == 69 //----- global options ----- @@ -184,7 +185,7 @@ typedef enum enumOptions OPT_CLEAN_DOL, OPT_CT_DIR, - OPT__N_TOTAL // == 123 + OPT__N_TOTAL // == 124 } enumOptions; @@ -216,6 +217,7 @@ typedef enum enumOptions // OB_PRESERVE = 1llu << OPT_PRESERVE, // OB_IGNORE = 1llu << OPT_IGNORE, // OB_ADD_LECODE = 1llu << OPT_ADD_LECODE, +// OB_ADD_OLD_LECODE = 1llu << OPT_ADD_OLD_LECODE, // OB_ADD_CTCODE = 1llu << OPT_ADD_CTCODE, // OB_MOVE_D8 = 1llu << OPT_MOVE_D8, // OB_ADD_SECTION = 1llu << OPT_ADD_SECTION, @@ -412,6 +414,7 @@ typedef enum enumOptions // | OB_GRP_DEST // | OB_GRP_PATCH // | OB_ADD_LECODE +// | OB_ADD_OLD_LECODE // | OB_ADD_CTCODE // | OB_MOVE_D8 // | OB_ADD_SECTION @@ -558,6 +561,7 @@ typedef enum enumGetOpt GO_NUMBER, GO_CLEAN_DOL, GO_ADD_LECODE, + GO_ADD_OLD_LECODE, GO_ADD_CTCODE, GO_CT_DIR, GO_MOVE_D8, diff --git a/project/src/ui/ui.def b/project/src/ui/ui.def index 16e9553..b433e28 100644 --- a/project/src/ui/ui.def +++ b/project/src/ui/ui.def @@ -26452,7 +26452,11 @@ #:def_opt( "ADD_LECODE", "add-lecode|addlecode", "C", \ "", \ - "Add LE-CODE starter to main.dol." ) + "Add newest LE-CODE starter from 2023-12 to main.dol." ) + +#:def_opt( "ADD_OLD_LECODE", "add-old-lecode|addoldlecode", "C", \ + "", \ + "Add old LE-CODE starter from 2019-01 to main.dol." ) #:def_opt( "ADD_CTCODE", "add-ctcode|addctcode", "C", \ "", \ @@ -27544,6 +27548,14 @@ "", \ "" ) +#:def_cmd_opt( "PATCH", "ADD_LECODE", \ + "", \ + "" ) + +#:def_cmd_opt( "PATCH", "ADD_OLD_LECODE", \ + "", \ + "" ) + #:def_cmd_opt( "PATCH", "ADD_CTCODE", \ "", \ "" ) diff --git a/project/src/wstrt.c b/project/src/wstrt.c index 07de43d..ba49b85 100644 --- a/project/src/wstrt.c +++ b/project/src/wstrt.c @@ -1653,6 +1653,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env ) case GO_POINTS: err += ScanOptMkwPoints(optarg,false); break; case GO_CHEAT: err += ScanOptCheatRegion(optarg); break; case GO_ADD_LECODE: AppendStringField(&opt_wcode_list,"@LECODE",false); break; + case GO_ADD_OLD_LECODE: AppendStringField(&opt_wcode_list,"@OLDLECODE",false); break; case GO_ADD_CTCODE: opt_add_ctcode = true; break; case GO_CT_DIR: AppendStringField(&ct_dir_list,optarg,false); break; case GO_MOVE_D8: opt_move_d8 = true; break; diff --git a/project/src/wszst.c b/project/src/wszst.c index ed55f39..34dd08d 100644 --- a/project/src/wszst.c +++ b/project/src/wszst.c @@ -642,6 +642,7 @@ static const sizeof_info_t sizeof_info_szs_list[] = static const sizeof_info_t *sizeof_info_szs[] = { sizeof_info_szs_list, + sizeof_info_bmg, 0 }; |
