RESTRUCTURING 1

- change formats to have their own folders with mod + include files + anything they want
- change format list to be defined in formats.rs instead of in each format
- move utils to their respective formats
- some minor code changes in some formats
This commit is contained in:
theubusu
2026-02-17 17:28:59 +01:00
parent 9fe39280cd
commit aa2249f024
69 changed files with 1678 additions and 1629 deletions
+147 -29
View File
@@ -42,36 +42,154 @@ pub mod mtk_pkg_old;
pub mod mtk_pkg_new;
pub mod mtk_bdp;
//define all formats here
pub fn get_registry() -> Vec<Format> {
return vec![
crate::formats::mstar::format(),
crate::formats::samsung_old::format(),
crate::formats::nvt_timg::format(),
crate::formats::pfl_upg::format(),
crate::formats::sddl_sec::format(),
crate::formats::novatek::format(),
crate::formats::ruf::format(),
crate::formats::invincible_image::format(),
crate::formats::slp::format(),
crate::formats::roku::format(),
crate::formats::sony_bdp::format(),
crate::formats::rvp::format(),
crate::formats::funai_upg::format(),
crate::formats::pana_dvd::format(),
crate::formats::android_ota_payload::format(),
crate::formats::bdl::format(),
crate::formats::amlogic::format(),
crate::formats::pup::format(),
crate::formats::msd10::format(),
crate::formats::msd11::format(),
crate::formats::epk::format(),
crate::formats::epk1::format(),
crate::formats::epk2::format(),
crate::formats::epk2b::format(),
crate::formats::epk3::format(),
crate::formats::mtk_pkg::format(),
crate::formats::mtk_pkg_old::format(),
crate::formats::mtk_pkg_new::format(),
crate::formats::mtk_bdp::format(),
Format {
name: "mstar",
detector_func: crate::formats::mstar::is_mstar_file,
extractor_func: crate::formats::mstar::extract_mstar,
},
Format {
name: "samsung_old",
detector_func: crate::formats::samsung_old::is_samsung_old_dir,
extractor_func: crate::formats::samsung_old::extract_samsung_old,
},
Format {
name: "nvt_timg",
detector_func: crate::formats::nvt_timg::is_nvt_timg_file,
extractor_func: crate::formats::nvt_timg::extract_nvt_timg,
},
Format {
name: "pfl_upg",
detector_func: crate::formats::pfl_upg::is_pfl_upg_file,
extractor_func: crate::formats::pfl_upg::extract_pfl_upg,
},
Format {
name: "sddl_sec",
detector_func: crate::formats::sddl_sec::is_sddl_sec_file,
extractor_func: crate::formats::sddl_sec::extract_sddl_sec,
},
Format {
name: "novatek",
detector_func: crate::formats::novatek::is_novatek_file,
extractor_func: crate::formats::novatek::extract_novatek,
},
Format {
name: "ruf",
detector_func: crate::formats::ruf::is_ruf_file,
extractor_func: crate::formats::ruf::extract_ruf,
},
Format {
name: "invincible_image",
detector_func: crate::formats::invincible_image::is_invincible_image_file,
extractor_func: crate::formats::invincible_image::extract_invincible_image,
},
Format {
name: "slp",
detector_func: crate::formats::slp::is_slp_file,
extractor_func: crate::formats::slp::extract_slp,
},
Format {
name: "roku",
detector_func: crate::formats::roku::is_roku_file,
extractor_func: crate::formats::roku::extract_roku,
},
Format {
name: "sony_bdp",
detector_func: crate::formats::sony_bdp::is_sony_bdp_file,
extractor_func: crate::formats::sony_bdp::extract_sony_bdp,
},
Format {
name: "rvp",
detector_func: crate::formats::rvp::is_rvp_file,
extractor_func: crate::formats::rvp::extract_rvp,
},
Format {
name: "funai_upg",
detector_func: crate::formats::funai_upg::is_funai_upg_file,
extractor_func: crate::formats::funai_upg::extract_funai_upg,
},
Format {
name: "pana_dvd",
detector_func: crate::formats::pana_dvd::is_pana_dvd_file,
extractor_func: crate::formats::pana_dvd::extract_pana_dvd,
},
Format {
name: "android_ota_payload",
detector_func: crate::formats::android_ota_payload::is_android_ota_payload_file,
extractor_func: crate::formats::android_ota_payload::extract_android_ota_payload,
},
Format {
name: "bdl",
detector_func: crate::formats::bdl::is_bdl_file,
extractor_func: crate::formats::bdl::extract_bdl,
},
Format {
name: "amlogic",
detector_func: crate::formats::amlogic::is_amlogic_file,
extractor_func: crate::formats::amlogic::extract_amlogic,
},
Format {
name: "pup",
detector_func: crate::formats::pup::is_pup_file,
extractor_func: crate::formats::pup::extract_pup,
},
Format {
name: "msd10",
detector_func: crate::formats::msd10::is_msd10_file,
extractor_func: crate::formats::msd10::extract_msd10,
},
Format {
name: "msd11",
detector_func: crate::formats::msd11::is_msd11_file,
extractor_func: crate::formats::msd11::extract_msd11,
},
Format {
name: "epk",
detector_func: crate::formats::epk::is_epk_file,
extractor_func: crate::formats::epk::extract_epk,
},
Format {
name: "epk1",
detector_func: crate::formats::epk1::is_epk1_file,
extractor_func: crate::formats::epk1::extract_epk1,
},
Format {
name: "epk2",
detector_func: crate::formats::epk2::is_epk2_file,
extractor_func: crate::formats::epk2::extract_epk2,
},
Format {
name: "epk2b",
detector_func: crate::formats::epk2b::is_epk2b_file,
extractor_func: crate::formats::epk2b::extract_epk2b,
},
Format {
name: "epk3",
detector_func: crate::formats::epk3::is_epk3_file,
extractor_func: crate::formats::epk3::extract_epk3,
},
Format {
name: "mtk_pkg",
detector_func: crate::formats::mtk_pkg::is_mtk_pkg_file,
extractor_func: crate::formats::mtk_pkg::extract_mtk_pkg,
},
Format {
name: "mtk_pkg_old",
detector_func: crate::formats::mtk_pkg_old::is_mtk_pkg_old_file,
extractor_func: crate::formats::mtk_pkg_old::extract_mtk_pkg_old,
},
Format {
name: "mtk_pkg_new",
detector_func: crate::formats::mtk_pkg_new::is_mtk_pkg_new_file,
extractor_func: crate::formats::mtk_pkg_new::extract_mtk_pkg_new,
},
Format {
name: "mtk_bdp",
detector_func: crate::formats::mtk_bdp::is_mtk_bdp_file,
extractor_func: crate::formats::mtk_bdp::extract_mtk_bdp,
},
]
}