Skip to content

Commit d12a4b3

Browse files
committed
scale.py upadted to use load.py
1 parent 9ceb4ca commit d12a4b3

File tree

2 files changed

+12
-23
lines changed

2 files changed

+12
-23
lines changed

load.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
DIRDUNGEONS='MEDIA/DUNGEONS'
55
REFERENCE='/media/sda2/windows/steam/steamapps/common/Torchlight II/'#TODO make argument
6-
DUPLICATES=set()
76
DIRMAPS='media/units/items/maps'
87

98
@dataclasses.dataclass
@@ -16,9 +15,6 @@ def topath(self,path,filename):
1615
return f'{path}/{filename}.dat'
1716

1817
def __post_init__(self):
19-
if self.dungeonname in DUPLICATES:
20-
raise Exception('Duplicate name: '+self.name)
21-
DUPLICATES.add(self.dungeonname)
2218
self.dungeon=self.topath(DIRDUNGEONS,self.dungeonname)
2319
self.scroll=self.topath(DIRMAPS,self.scroll)
2420

@@ -34,6 +30,7 @@ def findnames(path):
3430

3531
def scan(query='*.DAT',prefix=f'{REFERENCE}/{DIRDUNGEONS}/'):
3632
scanned=[]
33+
duplicates=set()
3734
for m in glob.glob(prefix+query):
3835
if 'QA_ARENA' in m:
3936
print(f'skip arena: {m}...')
@@ -43,7 +40,11 @@ def scan(query='*.DAT',prefix=f'{REFERENCE}/{DIRDUNGEONS}/'):
4340
name=name[:name.index('.')]
4441
#name=findnames(m)[0]
4542
displayname=findnames(f'{REFERENCE}/{DIRDUNGEONS}/{name.upper()}.DAT')[0]
46-
scanned.append(Dungeon(displayname,name.lower()))
43+
d=Dungeon(displayname,name.lower())
44+
if d.dungeonname in duplicates:
45+
raise Exception('Duplicate name: '+self.name)
46+
duplicates.add(d.dungeonname)
47+
scanned.append(d)
4748
except Exception as e:
4849
print('error: '+m)
4950
raise e

scale.py

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,19 @@
11
#!/usr/bin/python3
22
# scales vanilla maps (eg. phase-beast portals)
3-
import generate,dataclasses,os
3+
import generate,os,load
44

55
class ClearLevel(generate.Replace):
66
def __init__(self):
77
self.pattern='<INTEGER>LEVEL:'
88
self.replacement=''
99

10-
@dataclasses.dataclass
11-
class Dungeon:
12-
display:str
13-
name:str
14-
15-
dungeons=[Dungeon("Shadowy Crevasse","a2z1_cursedfear_desertcaves"),Dungeon("Lair of the Sisters","a3-3sisters"),Dungeon("The Emberworks","a3-banepits"),Dungeon("Sundered Battlefield","a3-battlefield"),Dungeon("Middenmine","a3-middenmine"),Dungeon("Fungal Caves","a3-muckery"),Dungeon("Elemental Oasis","a3-oasis"),Dungeon("The Scrapworks","a3-scrapworks"),Dungeon("The Warforge","a3-warforge"),Dungeon("The Blightbogs","a3blightbogs"),Dungeon("The Rotted Path","a3pass1"),Dungeon("Rivenskull Gorge","a3pass2"),Dungeon("Notch's Mine","a3quarrymine"),Dungeon("Reeking Cellar","a3werewolfcellar"),Dungeon("Ancient Vaults of Chaos","a3z2_ancientvaults"),Dungeon("Forgotten Halls","a3z2_forgottenhalls"),Dungeon("Howling Cave","a3_howlingcave"),Dungeon("Rotting Crypt","a3_rottingcrypt"),Dungeon("Alpha Zone","alphazone"),Dungeon("Arena of Slaughter","arenaofslaughter"),Dungeon("The Brood Hive","broodhive"),Dungeon("The Burial Chambers","burialchambers"),Dungeon("Cacklespit's Realm","cacklespitsrealm"),Dungeon("Catacombs","catacombs"),Dungeon("Catacombs","catacombs_frostedhills"),Dungeon("Catacombs","catacombs_honoreddead"),Dungeon("Crows Pass","crowspass"),Dungeon("Widow's Veil","crowspass_spidercave"),Dungeon("Whispering Cave","cultistslair"),Dungeon("The Dead Shoals","deadshoals"),Dungeon("Tarroch's Tomb","desertcatacombs"),Dungeon("Desert Caves","desertcaves"),Dungeon("The Forgotten Lair","dragon"),Dungeon("Vyrax's Tower","dragonkeep"),Dungeon("The Broken Mines","dwarvenlabs"),Dungeon("Echo Pass","echopass"),Dungeon("Editor Dungeon","editordungeon"),Dungeon("Estherian Shrine","estherianshrine"),Dungeon("Frosted Hills","frostedhills"),Dungeon("Caves","generic_caves"),Dungeon("The Emberscratch Mines","goblin_embercaves"),Dungeon("Haunted Quarter","hauntedquarter"),Dungeon("Icedeep Caverns","icedeepcaverns"),Dungeon("Frozen Caves","ice_caves"),Dungeon("Jehannum","jehannum"),Dungeon("Korari Cave","koraricave"),Dungeon("Foul Cave of Shadows","a3_foulcave"),Dungeon("Castle Ruins","castleruins"),Dungeon("The Corrupted Crypt","defiledcrypt"),Dungeon("Defiled Cemetery","map_catacombs_b_66"),Dungeon("Estherian Depths","map_estherian_a"),Dungeon("Frostbitten Caverns","map_icecaves_a"),Dungeon("Netherrealm","nether_a1z1"),Dungeon("Estherian Shrine","testpuzzle"),Dungeon("Luminous Arena","luminousarena"),Dungeon("Tarroch's Rift","manavent"),Dungeon("The Stygian Aerie","manticorelair"),Dungeon("The Mapworks","maproom"),Dungeon("Cursed Catacombs","maproom_catacombs_1"),Dungeon("Defiled Burrow","map_catacombs_2"),Dungeon("Ghastly Vault","map_catacombs_3"),Dungeon("Infernal Necropolis","map_catacombs_a_105"),Dungeon("Cursed Tombs","map_catacombs_a_56"),Dungeon("Cursed Mausoleum","map_catacombs_a_66"),Dungeon("Infernal Catacombs","map_catacombs_a_76"),Dungeon("Infernal Tombs","map_catacombs_a_86"),Dungeon("Infernal Mausoleum","map_catacombs_a_96"),Dungeon("Desecrated Sepulcher","map_catacombs_b_105"),Dungeon("Defiled Graves","map_catacombs_b_56"),Dungeon("Desecrated Burrow","map_catacombs_b_76"),Dungeon("Desecrated Graves","map_catacombs_b_86"),Dungeon("Desecrated Cemetery","map_catacombs_b_96"),Dungeon("Bloody Boneyard","map_catacombs_c_105"),Dungeon("Ghastly Crypt","map_catacombs_c_56"),Dungeon("Ghastly Mortuary","map_catacombs_c_66"),Dungeon("Bloody Vault","map_catacombs_c_76"),Dungeon("Bloody Crypt","map_catacombs_c_86"),Dungeon("Bloody Mortuary","map_catacombs_c_96"),Dungeon("Shadowy Grotto","map_caves_a"),Dungeon("Abyssal Fissure","map_caves_a_105"),Dungeon("Shadowy Pit","map_caves_a_56"),Dungeon("Shadowy Caves","map_caves_a_66"),Dungeon("Abyssal Grotto","map_caves_a_76"),Dungeon("Abyssal Pit","map_caves_a_86"),Dungeon("Abyssal Caves","map_caves_a_96"),Dungeon("Wyvern Keep","map_dragon_a"),Dungeon("Dragon Bastion","map_dragon_a105"),Dungeon("Wyvern Stronghold","map_dragon_a56-65"),Dungeon("Wyvern Citadel","map_dragon_a66-75"),Dungeon("Dragon Keep","map_dragon_a76-85"),Dungeon("Dragon Stronghold","map_dragon_a86-95"),Dungeon("Dragon Citadel","map_dragon_a96-105"),Dungeon("Forgotten Labs","map_dwarvenlabs_a"),Dungeon("Deserted Foundry","map_dwarvenlabs_a_105"),Dungeon("Forgotten Workshop","map_dwarvenlabs_a_56"),Dungeon("Forgotten Factory","map_dwarvenlabs_a_66"),Dungeon("Deserted Labs","map_dwarvenlabs_a_76"),Dungeon("Deserted Workshop","map_dwarvenlabs_a_86"),Dungeon("Deserted Factory","map_dwarvenlabs_a_96"),Dungeon("Ruined Shrine","map_estherian_b"),Dungeon("Desolate Chantry","map_estherian_b105"),Dungeon("Ruined Sanctuary","map_estherian_b56"),Dungeon("Ruined Temple","map_estherian_b66"),Dungeon("Desolate Shrine","map_estherian_b76"),Dungeon("Desolate Sanctuary","map_estherian_b86"),Dungeon("Desolate Temple","map_estherian_b96"),Dungeon("Infected Hollow","map_estherian_c"),Dungeon("Blighted Sanctum","map_estherian_c_105"),Dungeon("Infected Retreat","map_estherian_c_56"),Dungeon("Infected Depths","map_estherian_c_66"),Dungeon("Blighted Hollow","map_estherian_c_76"),Dungeon("Blighted Retreat","map_estherian_c_86"),Dungeon("Blighted Depths","map_estherian_c_96"),Dungeon("Frostshorn Breach","map_icecaves_a_105"),Dungeon("Frostbitten Ravine","map_icecaves_a_56"),Dungeon("Frostbitten Chasm","map_icecaves_a_66"),Dungeon("Frostshorn Caverns","map_icecaves_a_76"),Dungeon("Frostshorn Ravine","map_icecaves_a_86"),Dungeon("Frostshorn Chasm","map_icecaves_a_96"),Dungeon("Ransacked Halls","map_vaults_a"),Dungeon("Ezrohir Treasury","map_vaults_a105"),Dungeon("Ransacked Commons","map_vaults_a56"),Dungeon("Ransacked Vault","map_vaults_a66"),Dungeon("Ezrohir Halls","map_vaults_a76"),Dungeon("Ezrohir Commons","map_vaults_a86"),Dungeon("Ezrohir Vault","map_vaults_a96"),Dungeon("Nack","nack"),Dungeon("Netherrealm","nether"),Dungeon("Netherrealm","nether_a1z2"),Dungeon("Netherrealm","nether_a2z1"),Dungeon("Netherrealm","nether_a2z2"),Dungeon("Netherrealm","nether_a3z1"),Dungeon("Netherrealm","nether_a3z2"),Dungeon("The Lost Okwari Caves","ngbearcave"),Dungeon("The Lost Hold","ngdwarfarmory"),Dungeon("Ice Labs","ng_ns_icelabs"),Dungeon("Ice Labs","ng_nw_icelabs"),Dungeon("Ice Labs","ng_se_icelabs"),Dungeon("Ossean Wastes","osseanwastes"),Dungeon("Path of the Honored Dead","pathofhonoreddead"),Dungeon("Phase Beast Realm","phasebeast_a1z1_all"),Dungeon("Phase Beast Realm","phasebeast_a1z2_all"),Dungeon("Phase Beast Realm","phasebeast_a2z1_all"),Dungeon("Phase Beast Realm","phasebeast_a2z2_all"),Dungeon("Phase Beast Realm","phasebeast_a2z2_jt"),Dungeon("Phase Beast Realm","phasebeast_a3z1_all"),Dungeon("Phase Beast Realm","phasebeast_a3z2_all"),Dungeon("Phase Beast Realm","phasebeast_a3z2_lava"),Dungeon("Crystal Protection Challenge","phasegem"),Dungeon("Skeleton Smasher Challenge","phasepillar"),Dungeon("Plunder Cove","piratecove"),Dungeon("Crypt","pvpcrypt"),Dungeon("Dragon","qadragon"),Dungeon("Uber Test Room","qatest"),Dungeon("The Rift Keep","riftkeep"),Dungeon("The Salt Barrens","saltbarrens"),Dungeon("Slavers' Stockade","slaversden"),Dungeon("Swarm Point","swarmpoint"),Dungeon("The Temple Steppes","templesteppes"),Dungeon("Test Room","testroom"),Dungeon("The Forsaken Vaults","theforsakenvaults"),Dungeon("The Bone Gallery","thegardenoftears"),Dungeon("Abandoned Sawmill","thesawmill"),Dungeon("Norsk Leiren","thing"),Dungeon("Tower of the Moon","towerofthemoon"),Dungeon("Estherian Enclave","town1"),Dungeon("Zeryphesh","town2"),Dungeon("Imperial Camp","town3"),Dungeon("The Minehead","town4"),Dungeon("The Undercurrents","undercurrents"),Dungeon("Vault of Souls","vaultofsouls"),Dungeon("The Midnight Quarter","vulturepass"),Dungeon("Watchweald Temple","watchwealdtemple"),Dungeon("Wellspring Temple","watertemple"),Dungeon("The Wellspring Treasury","wellspringtreasury"),Dungeon("The Witherways","witherways")]
16-
17-
def scan():#update dungeons manually
18-
import scanmaps
19-
path=f'{scanmaps.REFERENCE}/{scanmaps.DIRDUNGEONS}/*.DAT'
20-
print(f'[{",".join(scanmaps.scan(path))}]')
21-
raise Exception('Exit')
22-
23-
#scan()
10+
dungeons=load.scan()
2411
replace=[generate.ReplaceParentDungeon(),generate.ReplaceParentTown(),generate.ReplaceMinMatchLevel(generate.tiers[0]),
2512
generate.ReplaceMaxMatchLevel(generate.tiers[-1]),ClearLevel()]
2613
for d in dungeons:
27-
if d.name=='town1':#static file
14+
n=d.dungeonname
15+
if n=='town1':#static file
2816
continue
29-
generate.modify(f'MEDIA/DUNGEONS/{d.name}.DAT',d.name,replace)
30-
filename=f'{d.name}.dat'
17+
generate.modify(f'MEDIA/DUNGEONS/{n}.DAT',n,replace)
18+
filename=f'{n}.dat'
3119
os.rename(f'media/dungeons/{filename}',f'media/dungeons/{filename.upper()}')

0 commit comments

Comments
 (0)