diff --git a/src/open_prime_rando/echoes/custom_assets.py b/src/open_prime_rando/echoes/custom_assets/__init__.py similarity index 97% rename from src/open_prime_rando/echoes/custom_assets.py rename to src/open_prime_rando/echoes/custom_assets/__init__.py index 2cad7ee..c607e1d 100644 --- a/src/open_prime_rando/echoes/custom_assets.py +++ b/src/open_prime_rando/echoes/custom_assets/__init__.py @@ -1,9 +1,16 @@ import dataclasses +import functools +from pathlib import Path from retro_data_structures.asset_manager import AssetManager from retro_data_structures.formats import Ancs, Cmdl +@functools.cache +def custom_asset_path() -> Path: + return Path(__file__).parent + + @dataclasses.dataclass class TranslatorAssets: name: str diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_armor.TXTR new file mode 100644 index 0000000..87665da Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_armor_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_armor_metallic.TXTR new file mode 100644 index 0000000..c1ea2e7 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_armor_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_backpack.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_backpack.TXTR new file mode 100644 index 0000000..64ae171 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_backpack.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_left_arm_reflective.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_left_arm_reflective.TXTR new file mode 100644 index 0000000..bea88fd Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_left_arm_reflective.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_left_arm_trim.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_left_arm_trim.TXTR new file mode 100644 index 0000000..1fe3af8 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_left_arm_trim.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_left_arm_trim_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_left_arm_trim_2.TXTR new file mode 100644 index 0000000..481cf76 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_left_arm_trim_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_low_res_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_low_res_armor.TXTR new file mode 100644 index 0000000..3b75853 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_low_res_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_low_res_armor_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_low_res_armor_emissive.TXTR new file mode 100644 index 0000000..aa3645b Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_low_res_armor_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_low_res_armor_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_low_res_armor_metallic.TXTR new file mode 100644 index 0000000..5e93817 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_low_res_armor_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_low_res_backpack.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_low_res_backpack.TXTR new file mode 100644 index 0000000..f0e66ce Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_low_res_backpack.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_mini_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_mini_emissive.TXTR new file mode 100644 index 0000000..e3f6c8e Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_mini_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph.TXTR new file mode 100644 index 0000000..0b35cb6 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph_emissive.TXTR new file mode 100644 index 0000000..96fea36 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph_polish.TXTR new file mode 100644 index 0000000..afc8f4d Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph_trim.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph_trim.TXTR new file mode 100644 index 0000000..fc33151 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph_trim.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph_trim_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph_trim_2.TXTR new file mode 100644 index 0000000..27374fd Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_morph_trim_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider.TXTR new file mode 100644 index 0000000..381e6ce Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider_emissive.TXTR new file mode 100644 index 0000000..621e10a Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider_glass.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider_glass.TXTR new file mode 100644 index 0000000..66d8259 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider_glass.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider_glass_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider_glass_polish.TXTR new file mode 100644 index 0000000..25c5891 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider_glass_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider_polish.TXTR new file mode 100644 index 0000000..6398de9 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spider_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spot_accent.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spot_accent.TXTR new file mode 100644 index 0000000..826275e Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_spot_accent.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_visor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_visor.TXTR new file mode 100644 index 0000000..6315c81 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_visor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_visor_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_visor_emissive.TXTR new file mode 100644 index 0000000..7a6034c Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_visor_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_visor_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_visor_metallic.TXTR new file mode 100644 index 0000000..6f61022 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_visor_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_visor_scanlines.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_visor_scanlines.TXTR new file mode 100644 index 0000000..7f08009 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_dark_visor_scanlines.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_grapple_gear.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_grapple_gear.TXTR new file mode 100644 index 0000000..6419b1f Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_grapple_gear.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_grapple_gear_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_grapple_gear_metallic.TXTR new file mode 100644 index 0000000..9807722 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/dark/samus_grapple_gear_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_armor.TXTR new file mode 100644 index 0000000..f060910 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_armor_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_armor_metallic.TXTR new file mode 100644 index 0000000..d2a524c Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_armor_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_core_beam.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_core_beam.TXTR new file mode 100644 index 0000000..ba2a587 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_core_beam.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_core_beam_pattern.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_core_beam_pattern.TXTR new file mode 100644 index 0000000..e4e1df3 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_core_beam_pattern.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_left_arm.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_left_arm.TXTR new file mode 100644 index 0000000..7acd9f5 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_left_arm.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_left_arm_trim.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_left_arm_trim.TXTR new file mode 100644 index 0000000..88b57a6 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_left_arm_trim.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_left_arm_trim_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_left_arm_trim_2.TXTR new file mode 100644 index 0000000..7bf8c29 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_left_arm_trim_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_low_res_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_low_res_armor.TXTR new file mode 100644 index 0000000..ace153f Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_low_res_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_low_res_armor_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_low_res_armor_emissive.TXTR new file mode 100644 index 0000000..df1abbe Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_low_res_armor_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_mini_core_off.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_mini_core_off.TXTR new file mode 100644 index 0000000..d7702f1 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_mini_core_off.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_mini_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_mini_emissive.TXTR new file mode 100644 index 0000000..b4f6839 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_mini_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_morph_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_morph_emissive.TXTR new file mode 100644 index 0000000..c2bf8df Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_morph_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_morph_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_morph_metallic.TXTR new file mode 100644 index 0000000..90b1a0d Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_morph_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_morph_shell.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_morph_shell.TXTR new file mode 100644 index 0000000..5271419 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_morph_shell.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_visor_core_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_visor_core_emissive.TXTR new file mode 100644 index 0000000..7a89fce Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_visor_core_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_visor_core_off.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_visor_core_off.TXTR new file mode 100644 index 0000000..afc7d24 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_visor_core_off.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_visor_core_on.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_visor_core_on.TXTR new file mode 100644 index 0000000..c17ae4e Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_visor_core_on.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_visor_streaks.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_visor_streaks.TXTR new file mode 100644 index 0000000..98eff03 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/light/samus_light_visor_streaks.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_morph_2_3_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_morph_2_3_metallic.TXTR new file mode 100644 index 0000000..4d74c6a Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_morph_2_3_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_armor.TXTR new file mode 100644 index 0000000..967674d Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_armor_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_armor_polish.TXTR new file mode 100644 index 0000000..b9e6ea7 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_armor_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_armor_polish_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_armor_polish_2.TXTR new file mode 100644 index 0000000..27c654e Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_armor_polish_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_banding.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_banding.TXTR new file mode 100644 index 0000000..b49af11 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_banding.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_banding_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_banding_2.TXTR new file mode 100644 index 0000000..c0024aa Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_banding_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_flex.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_flex.TXTR new file mode 100644 index 0000000..dcec507 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_flex.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_flex_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_flex_polish.TXTR new file mode 100644 index 0000000..dcb3787 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_flex_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_left_arm_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_left_arm_metallic.TXTR new file mode 100644 index 0000000..72aea81 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_left_arm_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_low_res_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_low_res_armor.TXTR new file mode 100644 index 0000000..1ff2344 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_low_res_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_low_res_armor_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_low_res_armor_polish.TXTR new file mode 100644 index 0000000..e0cfec1 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_low_res_armor_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_low_res_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_low_res_metallic.TXTR new file mode 100644 index 0000000..a0cc33a Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_low_res_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_low_res_visor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_low_res_visor.TXTR new file mode 100644 index 0000000..a5f9dd8 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_low_res_visor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_metallic.TXTR new file mode 100644 index 0000000..f477f5e Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_2_shell.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_2_shell.TXTR new file mode 100644 index 0000000..335fcc5 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_2_shell.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_2_shell_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_2_shell_polish.TXTR new file mode 100644 index 0000000..4829f3f Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_2_shell_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_3_shell.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_3_shell.TXTR new file mode 100644 index 0000000..9f019bb Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_3_shell.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_3_shell_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_3_shell_polish.TXTR new file mode 100644 index 0000000..302b7b4 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_3_shell_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_emissive.TXTR new file mode 100644 index 0000000..5c172eb Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_metallic.TXTR new file mode 100644 index 0000000..dcb3d24 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_shell.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_shell.TXTR new file mode 100644 index 0000000..cb63c3f Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_morph_shell.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_trim.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_trim.TXTR new file mode 100644 index 0000000..286216f Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_trim.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_trim_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_trim_polish.TXTR new file mode 100644 index 0000000..e5ec095 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_trim_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_visor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_visor.TXTR new file mode 100644 index 0000000..02516ba Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_visor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_visor_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_visor_emissive.TXTR new file mode 100644 index 0000000..9454a3d Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_visor_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_visor_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_visor_polish.TXTR new file mode 100644 index 0000000..6882afb Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player2/varia/samus_varia_visor_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_armor.TXTR new file mode 100644 index 0000000..49f2bd9 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_armor_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_armor_metallic.TXTR new file mode 100644 index 0000000..e13a513 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_armor_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_backpack.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_backpack.TXTR new file mode 100644 index 0000000..4caa24b Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_backpack.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_left_arm_reflective.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_left_arm_reflective.TXTR new file mode 100644 index 0000000..31af237 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_left_arm_reflective.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_left_arm_trim.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_left_arm_trim.TXTR new file mode 100644 index 0000000..f3c71e0 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_left_arm_trim.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_left_arm_trim_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_left_arm_trim_2.TXTR new file mode 100644 index 0000000..d9dd147 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_left_arm_trim_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_low_res_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_low_res_armor.TXTR new file mode 100644 index 0000000..470e70f Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_low_res_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_low_res_armor_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_low_res_armor_emissive.TXTR new file mode 100644 index 0000000..27e8ba7 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_low_res_armor_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_low_res_armor_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_low_res_armor_metallic.TXTR new file mode 100644 index 0000000..cc2d9fb Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_low_res_armor_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_low_res_backpack.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_low_res_backpack.TXTR new file mode 100644 index 0000000..fdde3e8 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_low_res_backpack.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_mini_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_mini_emissive.TXTR new file mode 100644 index 0000000..52dc6db Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_mini_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph.TXTR new file mode 100644 index 0000000..541a8dd Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph_emissive.TXTR new file mode 100644 index 0000000..3b4b0de Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph_polish.TXTR new file mode 100644 index 0000000..84dddcb Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph_trim.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph_trim.TXTR new file mode 100644 index 0000000..dfd91a7 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph_trim.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph_trim_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph_trim_2.TXTR new file mode 100644 index 0000000..93195ab Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_morph_trim_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider.TXTR new file mode 100644 index 0000000..b415791 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider_emissive.TXTR new file mode 100644 index 0000000..5ba6d09 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider_glass.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider_glass.TXTR new file mode 100644 index 0000000..b62f0fd Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider_glass.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider_glass_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider_glass_polish.TXTR new file mode 100644 index 0000000..ac0fd1d Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider_glass_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider_polish.TXTR new file mode 100644 index 0000000..80375ef Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spider_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spot_accent.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spot_accent.TXTR new file mode 100644 index 0000000..0907c9b Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_spot_accent.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_visor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_visor.TXTR new file mode 100644 index 0000000..8034f8b Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_visor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_visor_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_visor_emissive.TXTR new file mode 100644 index 0000000..c07be85 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_visor_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_visor_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_visor_metallic.TXTR new file mode 100644 index 0000000..3b8b1f1 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_visor_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_visor_scanlines.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_visor_scanlines.TXTR new file mode 100644 index 0000000..ac0fb57 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_dark_visor_scanlines.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_grapple_gear.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_grapple_gear.TXTR new file mode 100644 index 0000000..1c2e338 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_grapple_gear.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_grapple_gear_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_grapple_gear_metallic.TXTR new file mode 100644 index 0000000..9c4ecf3 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/dark/samus_grapple_gear_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_armor.TXTR new file mode 100644 index 0000000..d84b0ec Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_armor_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_armor_metallic.TXTR new file mode 100644 index 0000000..4edbdc8 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_armor_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_core_beam.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_core_beam.TXTR new file mode 100644 index 0000000..1acd3ad Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_core_beam.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_core_beam_pattern.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_core_beam_pattern.TXTR new file mode 100644 index 0000000..aa852d4 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_core_beam_pattern.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_left_arm.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_left_arm.TXTR new file mode 100644 index 0000000..c0566fa Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_left_arm.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_left_arm_trim.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_left_arm_trim.TXTR new file mode 100644 index 0000000..cb4b530 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_left_arm_trim.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_left_arm_trim_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_left_arm_trim_2.TXTR new file mode 100644 index 0000000..26a1ee1 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_left_arm_trim_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_low_res_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_low_res_armor.TXTR new file mode 100644 index 0000000..0aa3b3a Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_low_res_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_low_res_armor_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_low_res_armor_emissive.TXTR new file mode 100644 index 0000000..9e8a64a Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_low_res_armor_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_mini_core_off.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_mini_core_off.TXTR new file mode 100644 index 0000000..e2b0099 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_mini_core_off.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_mini_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_mini_emissive.TXTR new file mode 100644 index 0000000..85a49d0 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_mini_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_morph_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_morph_emissive.TXTR new file mode 100644 index 0000000..80541d7 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_morph_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_morph_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_morph_metallic.TXTR new file mode 100644 index 0000000..3d83481 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_morph_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_morph_shell.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_morph_shell.TXTR new file mode 100644 index 0000000..eec067b Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_morph_shell.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_visor_core_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_visor_core_emissive.TXTR new file mode 100644 index 0000000..ce42af0 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_visor_core_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_visor_core_off.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_visor_core_off.TXTR new file mode 100644 index 0000000..edf6e47 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_visor_core_off.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_visor_core_on.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_visor_core_on.TXTR new file mode 100644 index 0000000..5b2189f Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_visor_core_on.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_visor_streaks.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_visor_streaks.TXTR new file mode 100644 index 0000000..ec055f7 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/light/samus_light_visor_streaks.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_morph_2_3_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_morph_2_3_metallic.TXTR new file mode 100644 index 0000000..052d6a4 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_morph_2_3_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_armor.TXTR new file mode 100644 index 0000000..41ccc3d Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_armor_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_armor_polish.TXTR new file mode 100644 index 0000000..b5e9ef2 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_armor_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_armor_polish_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_armor_polish_2.TXTR new file mode 100644 index 0000000..d2be067 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_armor_polish_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_banding.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_banding.TXTR new file mode 100644 index 0000000..fa48245 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_banding.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_banding_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_banding_2.TXTR new file mode 100644 index 0000000..a1cdf51 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_banding_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_flex.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_flex.TXTR new file mode 100644 index 0000000..c7d44bb Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_flex.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_flex_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_flex_polish.TXTR new file mode 100644 index 0000000..658241a Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_flex_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_left_arm_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_left_arm_metallic.TXTR new file mode 100644 index 0000000..b1de55b Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_left_arm_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_low_res_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_low_res_armor.TXTR new file mode 100644 index 0000000..8d5a9c0 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_low_res_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_low_res_armor_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_low_res_armor_polish.TXTR new file mode 100644 index 0000000..cbf95d0 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_low_res_armor_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_low_res_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_low_res_emissive.TXTR new file mode 100644 index 0000000..cea1afa Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_low_res_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_low_res_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_low_res_metallic.TXTR new file mode 100644 index 0000000..b05728d Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_low_res_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_metallic.TXTR new file mode 100644 index 0000000..84c3f04 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_2_shell.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_2_shell.TXTR new file mode 100644 index 0000000..15ca11e Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_2_shell.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_2_shell_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_2_shell_polish.TXTR new file mode 100644 index 0000000..005fe71 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_2_shell_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_3_shell.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_3_shell.TXTR new file mode 100644 index 0000000..327bc20 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_3_shell.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_3_shell_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_3_shell_polish.TXTR new file mode 100644 index 0000000..15811f3 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_3_shell_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_emissive.TXTR new file mode 100644 index 0000000..caac5af Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_metallic.TXTR new file mode 100644 index 0000000..929fa1c Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_shell.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_shell.TXTR new file mode 100644 index 0000000..3c3d3ce Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_morph_shell.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_trim.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_trim.TXTR new file mode 100644 index 0000000..765f46f Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_trim.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_trim_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_trim_polish.TXTR new file mode 100644 index 0000000..2719a86 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_trim_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_visor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_visor.TXTR new file mode 100644 index 0000000..b4c415b Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_visor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_visor_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_visor_emissive.TXTR new file mode 100644 index 0000000..8fc3058 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_visor_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_visor_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_visor_polish.TXTR new file mode 100644 index 0000000..244a574 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player3/varia/samus_varia_visor_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_armor.TXTR new file mode 100644 index 0000000..590eb04 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_armor_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_armor_metallic.TXTR new file mode 100644 index 0000000..8b92705 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_armor_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_backpack.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_backpack.TXTR new file mode 100644 index 0000000..31c54da Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_backpack.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_left_arm_reflective.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_left_arm_reflective.TXTR new file mode 100644 index 0000000..a713818 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_left_arm_reflective.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_left_arm_trim.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_left_arm_trim.TXTR new file mode 100644 index 0000000..e9cfb0f Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_left_arm_trim.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_left_arm_trim_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_left_arm_trim_2.TXTR new file mode 100644 index 0000000..5f32fdc Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_left_arm_trim_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_low_res_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_low_res_armor.TXTR new file mode 100644 index 0000000..b49719c Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_low_res_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_low_res_armor_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_low_res_armor_emissive.TXTR new file mode 100644 index 0000000..61e9903 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_low_res_armor_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_low_res_armor_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_low_res_armor_metallic.TXTR new file mode 100644 index 0000000..8e92504 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_low_res_armor_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_low_res_backpack.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_low_res_backpack.TXTR new file mode 100644 index 0000000..12276fd Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_low_res_backpack.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_mini_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_mini_emissive.TXTR new file mode 100644 index 0000000..0e7d8c8 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_mini_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph.TXTR new file mode 100644 index 0000000..0f8ab81 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph_emissive.TXTR new file mode 100644 index 0000000..71ebe1b Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph_polish.TXTR new file mode 100644 index 0000000..c1ae3d8 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph_trim.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph_trim.TXTR new file mode 100644 index 0000000..14542e5 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph_trim.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph_trim_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph_trim_2.TXTR new file mode 100644 index 0000000..61ac577 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_morph_trim_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider.TXTR new file mode 100644 index 0000000..3b38ca3 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider_emissive.TXTR new file mode 100644 index 0000000..c120840 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider_glass.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider_glass.TXTR new file mode 100644 index 0000000..d91bf8f Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider_glass.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider_glass_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider_glass_polish.TXTR new file mode 100644 index 0000000..52b820a Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider_glass_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider_polish.TXTR new file mode 100644 index 0000000..cd7fd3a Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spider_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spot_accent.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spot_accent.TXTR new file mode 100644 index 0000000..ead0b18 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_spot_accent.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_visor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_visor.TXTR new file mode 100644 index 0000000..bb77b16 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_visor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_visor_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_visor_emissive.TXTR new file mode 100644 index 0000000..7e48e81 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_visor_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_visor_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_visor_metallic.TXTR new file mode 100644 index 0000000..cd6cf55 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_visor_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_visor_scanlines.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_visor_scanlines.TXTR new file mode 100644 index 0000000..a8433f1 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_dark_visor_scanlines.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_grapple_gear.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_grapple_gear.TXTR new file mode 100644 index 0000000..58a1797 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_grapple_gear.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_grapple_gear_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_grapple_gear_metallic.TXTR new file mode 100644 index 0000000..d54231b Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/dark/samus_grapple_gear_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_armor.TXTR new file mode 100644 index 0000000..b432cc0 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_armor_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_armor_metallic.TXTR new file mode 100644 index 0000000..39b7b2d Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_armor_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_core_beam.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_core_beam.TXTR new file mode 100644 index 0000000..0c3bc49 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_core_beam.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_core_beam_pattern.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_core_beam_pattern.TXTR new file mode 100644 index 0000000..054b811 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_core_beam_pattern.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_left_arm.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_left_arm.TXTR new file mode 100644 index 0000000..6ca1d75 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_left_arm.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_left_arm_trim.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_left_arm_trim.TXTR new file mode 100644 index 0000000..e1b501f Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_left_arm_trim.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_left_arm_trim_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_left_arm_trim_2.TXTR new file mode 100644 index 0000000..3cd4ca7 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_left_arm_trim_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_low_res_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_low_res_armor.TXTR new file mode 100644 index 0000000..7202ed2 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_low_res_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_low_res_armor_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_low_res_armor_emissive.TXTR new file mode 100644 index 0000000..011edc5 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_low_res_armor_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_mini_core_off.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_mini_core_off.TXTR new file mode 100644 index 0000000..2d59e2b Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_mini_core_off.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_mini_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_mini_emissive.TXTR new file mode 100644 index 0000000..dfc3fb9 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_mini_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_morph_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_morph_emissive.TXTR new file mode 100644 index 0000000..a875946 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_morph_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_morph_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_morph_metallic.TXTR new file mode 100644 index 0000000..c4e9d8a Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_morph_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_morph_shell.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_morph_shell.TXTR new file mode 100644 index 0000000..e3d728f Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_morph_shell.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_visor_core_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_visor_core_emissive.TXTR new file mode 100644 index 0000000..b808459 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_visor_core_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_visor_core_off.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_visor_core_off.TXTR new file mode 100644 index 0000000..aff413e Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_visor_core_off.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_visor_core_on.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_visor_core_on.TXTR new file mode 100644 index 0000000..fec548e Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_visor_core_on.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_visor_streaks.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_visor_streaks.TXTR new file mode 100644 index 0000000..bacacd9 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/light/samus_light_visor_streaks.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_morph_2_3_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_morph_2_3_metallic.TXTR new file mode 100644 index 0000000..dc847c0 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_morph_2_3_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_armor.TXTR new file mode 100644 index 0000000..05d4523 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_armor_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_armor_polish.TXTR new file mode 100644 index 0000000..e4c0192 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_armor_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_armor_polish_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_armor_polish_2.TXTR new file mode 100644 index 0000000..0c9e9b6 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_armor_polish_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_banding.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_banding.TXTR new file mode 100644 index 0000000..7ae6eb6 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_banding.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_banding_2.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_banding_2.TXTR new file mode 100644 index 0000000..a9a127b Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_banding_2.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_flex.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_flex.TXTR new file mode 100644 index 0000000..a4972c2 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_flex.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_flex_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_flex_polish.TXTR new file mode 100644 index 0000000..08629c7 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_flex_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_left_arm_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_left_arm_metallic.TXTR new file mode 100644 index 0000000..c85e7bd Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_left_arm_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_low_res_armor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_low_res_armor.TXTR new file mode 100644 index 0000000..a51ce18 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_low_res_armor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_low_res_armor_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_low_res_armor_polish.TXTR new file mode 100644 index 0000000..afcc6ba Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_low_res_armor_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_low_res_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_low_res_emissive.TXTR new file mode 100644 index 0000000..129c798 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_low_res_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_low_res_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_low_res_metallic.TXTR new file mode 100644 index 0000000..9e46d62 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_low_res_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_metallic.TXTR new file mode 100644 index 0000000..9e46d62 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_2_shell.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_2_shell.TXTR new file mode 100644 index 0000000..2e187f6 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_2_shell.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_2_shell_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_2_shell_polish.TXTR new file mode 100644 index 0000000..9fe49a6 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_2_shell_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_3_shell.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_3_shell.TXTR new file mode 100644 index 0000000..2215960 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_3_shell.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_3_shell_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_3_shell_polish.TXTR new file mode 100644 index 0000000..9f50de6 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_3_shell_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_emissive.TXTR new file mode 100644 index 0000000..0eab77d Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_metallic.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_metallic.TXTR new file mode 100644 index 0000000..fae63dd Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_metallic.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_shell.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_shell.TXTR new file mode 100644 index 0000000..1f3060b Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_morph_shell.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_trim.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_trim.TXTR new file mode 100644 index 0000000..e014138 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_trim.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_trim_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_trim_polish.TXTR new file mode 100644 index 0000000..7cb88c9 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_trim_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_visor.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_visor.TXTR new file mode 100644 index 0000000..aaa270c Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_visor.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_visor_emissive.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_visor_emissive.TXTR new file mode 100644 index 0000000..c868a31 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_visor_emissive.TXTR differ diff --git a/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_visor_polish.TXTR b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_visor_polish.TXTR new file mode 100644 index 0000000..6ce9162 Binary files /dev/null and b/src/open_prime_rando/echoes/custom_assets/suits/player4/varia/samus_varia_visor_polish.TXTR differ diff --git a/src/open_prime_rando/echoes/dock_lock_rando/__init__.py b/src/open_prime_rando/echoes/dock_lock_rando/__init__.py index 2979f95..63a5bcd 100644 --- a/src/open_prime_rando/echoes/dock_lock_rando/__init__.py +++ b/src/open_prime_rando/echoes/dock_lock_rando/__init__.py @@ -1,17 +1,17 @@ -from pathlib import Path from construct import Container from retro_data_structures.base_resource import AssetId, RawResource from retro_data_structures.formats.cmdl import Cmdl from retro_data_structures.game_check import Game +from open_prime_rando.echoes.custom_assets import custom_asset_path from open_prime_rando.echoes.dock_lock_rando import dock_type from open_prime_rando.echoes.dock_lock_rando.dock_type_database import DOCK_TYPES from open_prime_rando.patcher_editor import PatcherEditor def add_custom_models(editor: PatcherEditor): - assets = Path(__file__).parent.parent.joinpath("custom_assets", "doors") + assets = custom_asset_path().joinpath("doors") def get_txtr(n: str, must_exist: bool = True) -> AssetId: f = assets.joinpath(n) if not must_exist and not f.exists(): diff --git a/src/open_prime_rando/echoes/schema.json b/src/open_prime_rando/echoes/schema.json index f67f973..5f8c3ef 100644 --- a/src/open_prime_rando/echoes/schema.json +++ b/src/open_prime_rando/echoes/schema.json @@ -67,10 +67,36 @@ "type": "boolean", "description": "Set elevators to be activated on room load", "default": false + }, + "cosmetics": { + "type": "object", + "properties": { + "suits": { + "type": "object", + "properties": { + "varia": { + "$ref": "#/$defs/suit_skin" + }, + "dark": { + "$ref": "#/$defs/suit_skin" + }, + "light": { + "$ref": "#/$defs/suit_skin" + } + }, + "additionalProperties": false, + "$comment": "Choose from a number of custom suit textures" + } + }, + "additionalProperties": false, + "required": [ + "suits" + ] } }, "required": [ - "small_randomizations" + "small_randomizations", + "cosmetics" ], "additionalProperties": false, "$defs": { @@ -219,6 +245,16 @@ "type": "integer" } } + }, + "suit_skin": { + "type": "string", + "enum": [ + "player1", + "player2", + "player3", + "player4" + ], + "default": "player1" } } } diff --git a/src/open_prime_rando/echoes/small_randomizations/rubiks.py b/src/open_prime_rando/echoes/small_randomizations/rubiks.py index 81cd82f..35947c1 100644 --- a/src/open_prime_rando/echoes/small_randomizations/rubiks.py +++ b/src/open_prime_rando/echoes/small_randomizations/rubiks.py @@ -1,6 +1,5 @@ import random from dataclasses import dataclass -from pathlib import Path from retro_data_structures.base_resource import RawResource from retro_data_structures.enums.echoes import Message, State @@ -13,6 +12,7 @@ from open_prime_rando.echoes.asset_ids.sanctuary_fortress import MAIN_GYRO_CHAMBER_MREA from open_prime_rando.echoes.asset_ids.world import SANCTUARY_FORTRESS_MLVL +from open_prime_rando.echoes.custom_assets import custom_asset_path from open_prime_rando.patcher_editor import PatcherEditor RUBIKS_CUBES = { @@ -44,7 +44,7 @@ def txtr_name(self) -> str: def txtr(self) -> RawResource: return RawResource( type="TXTR", - data=Path(__file__).parent.parent.joinpath("custom_assets", "rubiks", self.txtr_name).read_bytes() + data=custom_asset_path().joinpath("rubiks", self.txtr_name).read_bytes(), ) diff --git a/src/open_prime_rando/echoes/suit_cosmetics/__init__.py b/src/open_prime_rando/echoes/suit_cosmetics/__init__.py new file mode 100644 index 0000000..d2f1292 --- /dev/null +++ b/src/open_prime_rando/echoes/suit_cosmetics/__init__.py @@ -0,0 +1,23 @@ +from retro_data_structures.base_resource import RawResource + +from open_prime_rando.echoes.custom_assets import custom_asset_path +from open_prime_rando.echoes.suit_cosmetics.asset_map import SUIT_ASSETS +from open_prime_rando.patcher_editor import PatcherEditor + + +def apply_custom_suits(editor: PatcherEditor, configuration: dict): + for suit, assets in SUIT_ASSETS.items(): + skin = configuration[suit] + if skin == "player1": + continue + custom_suit_assets = custom_asset_path().joinpath("suits", skin, suit) + for asset_id, filename in assets.items(): + asset = custom_suit_assets.joinpath(filename) + if not asset.exists(): + continue # some skins leave a few assets vanilla + + res = RawResource( + type="TXTR", + data=asset.read_bytes(), + ) + editor.replace_asset(asset_id, res) diff --git a/src/open_prime_rando/echoes/suit_cosmetics/asset_map.py b/src/open_prime_rando/echoes/suit_cosmetics/asset_map.py new file mode 100644 index 0000000..9290c25 --- /dev/null +++ b/src/open_prime_rando/echoes/suit_cosmetics/asset_map.py @@ -0,0 +1,84 @@ +from retro_data_structures.base_resource import AssetId + +SUIT_ASSETS: dict[str, dict[AssetId, str]] = { + "varia": { + 0x788432DA: "samus_varia_visor.TXTR", + 0xC2DE6C2A: "samus_varia_visor_emissive.TXTR", + 0x86FF8630: "samus_varia_visor_polish.TXTR", + 0x12B6539F: "samus_varia_banding.TXTR", + 0x42DFBEBF: "samus_varia_banding_2.TXTR", + 0x604D4DC5: "samus_varia_flex.TXTR", + 0xE3001044: "samus_varia_flex_polish.TXTR", + 0xE8AF7174: "samus_varia_armor.TXTR", + 0xFFD9D212: "samus_varia_armor_polish.TXTR", + 0x8FF8E517: "samus_varia_trim.TXTR", + 0x2883811B: "samus_varia_trim_polish.TXTR", + 0x355E4212: "samus_varia_metallic.TXTR", + 0x0EF3BA76: "samus_varia_morph_shell.TXTR", + 0x0CC73555: "samus_varia_morph_emissive.TXTR", + 0x3C214DF7: "samus_varia_morph_banding.TXTR", + 0xAAEC3745: "samus_varia_morph_metallic.TXTR", + 0x1E5621F5: "samus_varia_low_res_armor.TXTR", + 0x97FEE0A8: "samus_varia_low_res_armor_polish.TXTR", + 0x23B19B14: "samus_varia_low_res_emissive.TXTR", + 0xDD1473FC: "samus_varia_low_res_metallic.TXTR", + 0x2777D332: "samus_varia_morph_2_shell.TXTR", + 0xEB669581: "samus_varia_morph_2_shell_polish.TXTR", + 0xA29AEF93: "samus_varia_morph_3_shell.TXTR", + 0x9643B175: "samus_varia_morph_3_shell_polish.TXTR", + 0x2F566CEC: "samus_morph_2_3_metallic.TXTR", + 0x9BD4E4B3: "samus_varia_armor_polish_2.TXTR", + 0xB29C1225: "samus_varia_left_arm_metallic.TXTR", + }, + "dark": { + 0x022045C3: "samus_dark_visor.TXTR", + 0xA3BB66A5: "samus_dark_visor_emissive.TXTR", + 0x27805BC6: "samus_dark_visor_scanlines.TXTR", + 0xB29C1225: "samus_dark_visor_metallic.TXTR", + 0x9FCF0D60: "samus_dark_spot_accent.TXTR", + 0xB95FE642: "samus_dark_armor.TXTR", + 0x3B843F46: "samus_dark_armor_metallic.TXTR", + 0xA283E265: "samus_dark_backpack.TXTR", + 0x9255BD83: "samus_dark_morph.TXTR", + 0x33CE9EE5: "samus_dark_morph_emissive.TXTR", + 0x52E13615: "samus_dark_morph_polish.TXTR", + 0x719F387E: "samus_dark_morph_trim.TXTR", + 0xD0041B18: "samus_dark_morph_trim_2.TXTR", + 0x59C822A0: "samus_dark_spider.TXTR", + 0xF85301C6: "samus_dark_spider_emissive.TXTR", + 0x8CF8043C: "samus_dark_spider_polish.TXTR", + 0x21722E06: "samus_dark_spider_glass.TXTR", + 0x459769C7: "samus_dark_spider_glass_polish.TXTR", + 0x7F5781D8: "samus_dark_low_res_armor.TXTR", + 0xFF45E6C4: "samus_dark_low_res_armor_emissive.TXTR", + 0x091ACC33: "samus_dark_low_res_backpack.TXTR", + 0xDD1473FC: "samus_dark_low_res_armor_metallic.TXTR", + 0x2F566CEC: "samus_morph_2_3_metallic.TXTR", + 0x80A7CF0D: "samus_dark_left_arm_reflective.TXTR", + 0xD31B3FB2: "samus_dark_left_arm_trim.TXTR", + 0xB6728B45: "samus_dark_left_arm_trim_2.TXTR", + 0xB34CE6A0: "samus_dark_mini_emissive.TXTR", + 0x587282CC: "samus_grapple_gear.TXTR", + 0x1BA9033F: "samus_grapple_gear_metallic.TXTR", + }, + "light": { + 0xCB737809: "samus_light_visor_core_on.TXTR", + 0xF5E3D9FF: "samus_light_visor_core_off.TXTR", + 0x0B7D7395: "samus_light_visor_core_emissive.TXTR", + 0x8048F092: "samus_light_visor_streaks.TXTR", + 0xADA9C079: "samus_light_core_beam.TXTR", + 0xC2B83ED1: "samus_light_core_beam_pattern.TXTR", + 0x5B3271CA: "samus_light_armor.TXTR", + 0xC35540DE: "samus_light_armor_metallic.TXTR", + 0x091A32D6: "samus_light_morph_shell.TXTR", + 0xC6A37961: "samus_light_morph_emissive.TXTR", + 0x0662A1C7: "samus_light_morph_metallic.TXTR", + 0x8A598DD2: "samus_light_low_res_armor.TXTR", + 0x95E79836: "samus_light_low_res_armor_emissive.TXTR", + 0x0C32C6DA: "samus_light_left_arm.TXTR", + 0xC9B164A1: "samus_light_left_arm_trim.TXTR", + 0x087D0789: "samus_light_left_arm_trim_2.TXTR", + 0xA240A5D3: "samus_light_mini_core_off.TXTR", + 0xAA2D0CCF: "samus_light_mini_emissive.TXTR", + }, +} diff --git a/src/open_prime_rando/echoes_patcher.py b/src/open_prime_rando/echoes_patcher.py index edcfb52..2ebfe5b 100644 --- a/src/open_prime_rando/echoes_patcher.py +++ b/src/open_prime_rando/echoes_patcher.py @@ -15,6 +15,7 @@ from open_prime_rando.echoes.elevators.elevator_rando import patch_elevator from open_prime_rando.echoes.inverted import apply_inverted from open_prime_rando.echoes.small_randomizations import apply_small_randomizations +from open_prime_rando.echoes.suit_cosmetics import apply_custom_suits from open_prime_rando.patcher_editor import PatcherEditor from open_prime_rando.validator_with_default import DefaultValidatingDraft7Validator @@ -149,6 +150,8 @@ def patch_paks(file_provider: FileProvider, if configuration["inverted"]: apply_inverted(editor) + apply_custom_suits(editor, configuration["cosmetics"]["suits"]) + # Save our changes editor.flush_modified_assets() diff --git a/tests/echoes/test_full_patch.py b/tests/echoes/test_full_patch.py index 7965839..29071bc 100644 --- a/tests/echoes/test_full_patch.py +++ b/tests/echoes/test_full_patch.py @@ -10,7 +10,7 @@ def test_ntsc_paks(prime2_iso_provider, tmp_path, test_files_dir): output_path=output_path, configuration=configuration, ) - assert len(list(output_path.rglob("*.pak"))) == 7 + assert len(list(output_path.rglob("*.pak"))) == 11 def test_pal_paks(pal_prime2_iso_provider, tmp_path, test_files_dir): @@ -22,4 +22,4 @@ def test_pal_paks(pal_prime2_iso_provider, tmp_path, test_files_dir): output_path=output_path, configuration=configuration, ) - assert len(list(output_path.rglob("*.pak"))) == 7 + assert len(list(output_path.rglob("*.pak"))) == 11 diff --git a/tests/test_files/echoes/door_lock.json b/tests/test_files/echoes/door_lock.json index a94a8e2..a922d89 100644 --- a/tests/test_files/echoes/door_lock.json +++ b/tests/test_files/echoes/door_lock.json @@ -3319,5 +3319,12 @@ "minigyro_chamber": true, "rubiks": true }, - "inverted": false + "inverted": false, + "cosmetics": { + "suits": { + "varia": "player1", + "dark": "player2", + "light": "player3" + } + } } \ No newline at end of file diff --git a/tests/test_files/echoes/portal_rando.json b/tests/test_files/echoes/portal_rando.json index adf31f0..3c757bc 100644 --- a/tests/test_files/echoes/portal_rando.json +++ b/tests/test_files/echoes/portal_rando.json @@ -329,5 +329,12 @@ "minigyro_chamber": true, "rubiks": true }, - "inverted": false + "inverted": false, + "cosmetics": { + "suits": { + "varia": "player2", + "dark": "player3", + "light": "player4" + } + } } \ No newline at end of file