From c4f787e9acbffd4084392a90f536a5bdddf4cd89 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Mon, 26 Jan 2026 10:07:31 -0500 Subject: Don't include slinger by default in ModSlots Signed-off-by: Andrew Opalach --- ModSlots/ArmorIDs.py | 12 ++++--- ModSlots/ArmorIDs.txt | 6 ++-- ModSlots/ModSlots.py | 9 +++-- ModSlots/cleanup_nativePC.sh | 16 +++++++++ ModSlots/requirements.txt | 1 + ModSlots/slots.example.txt | 81 +++++++++++++++++++++++++++++++------------- 6 files changed, 91 insertions(+), 34 deletions(-) create mode 100755 ModSlots/cleanup_nativePC.sh (limited to 'ModSlots') diff --git a/ModSlots/ArmorIDs.py b/ModSlots/ArmorIDs.py index fc5b831..1863f36 100644 --- a/ModSlots/ArmorIDs.py +++ b/ModSlots/ArmorIDs.py @@ -1,7 +1,7 @@ ArmorIDs = { 'Leather': ['pl001_0000', 'slg000_0000'], 'Chainmail': ['pl014_0000', 'slg000_0000'], - 'Hunter\'s': ['pl0002_0000', 'slg000_0000'], + 'Hunter\'s': ['pl002_0000', 'slg000_0000'], 'Hunter\'s (β)': ['pl002_0010', 'slg000_0000'], 'Bone': ['pl003_0000', 'slg003_0000'], 'Vespoid': ['pl007_0000', 'slg007_000'], @@ -18,7 +18,7 @@ ArmorIDs = { 'Pukei+': ['pl010_0001', 'slg000_0000'], 'Coral Pukei+': ['pl010_0101', 'slg000_0000'], 'Barroth': ['pl012_0000', 'slg012_0000'], - 'Barroth+': ['pl012_0001+', 'slg012_0000'], + 'Barroth+': ['pl012_0001', 'slg012_0000'], 'Jyura': ['pl011_0000', 'slg011_0000'], 'Jyura+': ['pl011_0001', 'slg011_0000'], 'Kadachi': ['pl013_0000', 'slg001_0000'], @@ -36,15 +36,17 @@ ArmorIDs = { 'Fulgur Anja+': ['pl020_0101', 'slg020_0100'], 'Fulgur Anja+ (β)': ['pl020_0111', 'slg020_0100'], 'Rathian': ['pl021_0000', 'slg021_0000'], - 'Kirin': ['pl035_0000', 'slg000_0000'], 'Kirin (β)': ['pl035_0010', 'slg000_0000'], 'Kirin (γ)': ['pl035_0020', 'slg000_0000'], 'Kirin+': ['pl035_0001', 'slg000_0000'], 'Kirin+ (β)': ['pl035_0011', 'slg000_0000'], - 'Lavasioth': ['pl040_0000', 'slg040_0000'], 'Lavasioth (β)': ['pl040_0010', 'slg040_0000'], 'Lavasioth+': ['pl040_0001', 'slg040_0000'], - 'Artian+': ['pl091_0000', 'slg091_0000'] + 'Artian+': ['pl091_0000', 'slg091_0000'], + 'Brigade': ['pl036_0000', 'slg001_0000'], + 'Diver': ['pl075_0000', 'slg000_0000'], + 'Azure Starlord': ['pl072_0000', 'slg072_0000'], + 'Azure Age': ['pl072_0001', 'slg072_0001'] } diff --git a/ModSlots/ArmorIDs.txt b/ModSlots/ArmorIDs.txt index 97a0451..fdf7ce4 100644 --- a/ModSlots/ArmorIDs.txt +++ b/ModSlots/ArmorIDs.txt @@ -61,7 +61,7 @@ Diver: pl075_0000, slg000_0000 Harvest: pl076_0000, slg076_0000 Orion: pl077_0000, slg077_0000 Gala Suit: pl078_0000, slg078_0000 --- End of Low Rank, Start of High Rank -- +--- End of Low Rank, Start of High Rank --- Mosswine Mask: pl056_0000 (Head only) Gastodon: pl015_0000 (Head only) Barnos: pl016_0000 (Chest only) @@ -94,7 +94,7 @@ Azure Starlord: pl072_0000, slg072_0000 Azure Age: pl072_0001(+), slg072_0001(+) Drachen: pl073_0000, slg073_0000 Shadow Shades: pl062_0000 (Head only) --- End of High Rank, Start of Master Rank -- +--- End of High Rank, Start of Master Rank --- Wulg: pl102_0000(+) (Head only) Cortos: pl103_0000(+) (Chest only) Beo: pl110_0000(+), slg000_0000(+) @@ -130,7 +130,7 @@ Demonlord: pl126_0000(+), slg126_0000(+) Buff Body: pl115_0000(+), slg000_0000(+) Duffel Penguin Mask: pl098_0000(+) (Head only) Wyverian Ears: pl101_0000(+) (Head only) --- End of Master Rank, Start of Layered Only --- +--- End of Master Rank, Start of Layered Only --- Bushi Kabuto "Sabi": pl066_0000 (Head only) Bushi Muneate "Sabi": pl066_0000 (Chest only) Bushi Kote "Sabi": pl066_0000, slg066_0000 (Arm only) diff --git a/ModSlots/ModSlots.py b/ModSlots/ModSlots.py index a478a08..5a4f216 100755 --- a/ModSlots/ModSlots.py +++ b/ModSlots/ModSlots.py @@ -333,11 +333,16 @@ with open(Slots, 'r') as f: if Current_Override: Current_Mod.overrides[Current_Override].append(line) elif line[0] == '[': # Special case guess for armor mods. + include_slinger = line[-1] == 's' + if include_slinger: + line = line[:-1] for file in Current_Mod.files: base, root = Current_Mod.maybe_strip_root(file) - if base.startswith('nativePC/pl/f_equip/pl') or base.startswith('nativePC/wp/slg/slg'): + if base.startswith('nativePC/pl/f_equip/pl') or (base.startswith('nativePC/wp/slg/slg') and include_slinger): override = '/'.join(base.split('/')[0:4]) Current_Mod.overrides[override] = [line] + elif base.startswith('nativePC/wp/slg/slg') and not include_slinger: + Current_Mod.ignored.append(base) if Current_Mod: Mods.append(Current_Mod) Current_Mod = None @@ -376,6 +381,6 @@ elif Mode == 'delete': mod.delete() if len(Error_Messages) > 0: - print('---------------------------') + print('----------Warnings/Errors----------') for err in Error_Messages: print(err) diff --git a/ModSlots/cleanup_nativePC.sh b/ModSlots/cleanup_nativePC.sh new file mode 100755 index 0000000..d2d4341 --- /dev/null +++ b/ModSlots/cleanup_nativePC.sh @@ -0,0 +1,16 @@ +#! /usr/bin/env sh + +if [[ $(basename "$PWD") != "nativePC" ]]; then + echo "This should only be run from the 'Monster Hunter World/nativePC' directory." + exit 1 +fi + +if [[ "$1" == "print" ]]; then + find . -depth -type d -empty -print | grep . +else + find . -depth -type d -empty -print -delete | grep . +fi + +if [[ $? != 0 ]]; then + echo "No empty directories found." +fi diff --git a/ModSlots/requirements.txt b/ModSlots/requirements.txt index a93b1d1..6799ca2 100644 --- a/ModSlots/requirements.txt +++ b/ModSlots/requirements.txt @@ -1,2 +1,3 @@ +# These are optional, only for if you need .7z or .rar support. py7zr==1.0.0 unrardll==0.1.7 diff --git a/ModSlots/slots.example.txt b/ModSlots/slots.example.txt index 6e5608c..421face 100644 --- a/ModSlots/slots.example.txt +++ b/ModSlots/slots.example.txt @@ -1,11 +1,15 @@ +# # = Comment. # & = Add root. Cut this prefix out of any file's path so that it starts at nativePC/. # < = Ignore. Files beginning with this prefix will not be included unless they have further overrides. # | = Detach. Include file directly but copy it into nativePC instead of symlink. # : = Define target. Can either be a file to directly include or a file/prefix to be the source of the next override. -# > = General override. Can be a direct path or an armor to substitute like [Anja], [Barroth+], etc. +# > = General override. Can be a direct path or an armor substitute like [Anja], [Barroth+], [Kirin (β)]s (add 's' to include slinger). # * = Global override. Supply a Python re module format regex to match any defined target and override it. +# XXX = End processing of this file here. ;Stracker's Loader-1982-4-0-1717679465.zip +pl/f_face/face000/mod/f_face000_RMT.tex +#:4k face textures/f_face_edit_NM.tex +#>pl/f_face/face000/mod/f_face_edit_NM.tex + +;Skin Glossiness Options.zip +:skin_BM_dry.tex +>pl/f_equip/mangie_foam/skin_BM.tex +*pl/f_equip/mangie/.*/skin.*_BM.tex + +;Bikini Collections - Barefoot-2891-1-0-1584527076.zip [Barroth] -;Bamboo Shoot.zip ->[Jyura] +#;Bikini Collections - Sandals-2891-1-0-1584526839.zip +#[Chainmail] -;1st Swimsuit Contest.zip +;Fur Bikini.zip >[Chainmail] -#;2023 Halloween Costume.zip -#>[Vespoid] +;Lewd Lingerie.zip +>[Jyura] + +;Secret Report.zip +>[Brigade] -;Sera.zip +;Eternal Summer.zip # The uncensored files will be used with this order. -&02. Sera - Uncensored -&01. Sera - Main File ->[Artian+] +&03. Eternal Summer - Uncensored +&01. Eternal Summer - Main File +>[Hunter's (β)] -;Christmas Gift.zip +;Oppression.zip >[Barroth+] -;DOA5LR Kasumi_s Battlesuit.zip +;Mood For Love.zip >[Lavasioth] -;DOA6 Tamaki Bikini.zip +;Peace.zip >[Vespoid+] ;Dragon Leotard.zip ->[Jagras] - -#;Venus Nine.zip -#>[Fulgur Anja+] +>[High Metal] ;Stellar Scorpion.zip ->[High Metal] +>[Artian+]s + +;Dark Widow.zip +>[Jyura+] + +;DOAXVV Angel_s Smile.zip +>[Diver] + +;Lake Elven.zip +>[Azure Age] + +;DOAXVV Foam Bikini.zip +>[Jagras] -- cgit v1.2.3-101-g0448