mirror of
https://github.com/a2-4am/4cade.git
synced 2025-02-19 20:30:42 +00:00
rename some games' internal names to reduce memory pressure in LC RAM
This commit is contained in:
parent
4ee6475a3d
commit
ac50f41d52
@ -4,6 +4,7 @@ import fileinput
|
|||||||
import glob
|
import glob
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
import tempfile
|
||||||
|
|
||||||
def replace_string_in_file(filename, old_string, new_string):
|
def replace_string_in_file(filename, old_string, new_string):
|
||||||
for line in fileinput.input(glob.glob(filename), inplace=True):
|
for line in fileinput.input(glob.glob(filename), inplace=True):
|
||||||
@ -19,10 +20,37 @@ def rename_one_file_in_directory(dirname, old_filename, new_filename):
|
|||||||
|
|
||||||
def rename_inside_disk_image(filename, old_name, new_name):
|
def rename_inside_disk_image(filename, old_name, new_name):
|
||||||
rt = subprocess.run(['cadius', 'CATALOG', filename], stdout=subprocess.PIPE, text=True)
|
rt = subprocess.run(['cadius', 'CATALOG', filename], stdout=subprocess.PIPE, text=True)
|
||||||
|
if not rt:
|
||||||
|
print('cadius CATALOG command failed')
|
||||||
if not [line for line in rt.stdout.split('\n') if line == f'/{old_name}/']:
|
if not [line for line in rt.stdout.split('\n') if line == f'/{old_name}/']:
|
||||||
return
|
return
|
||||||
subprocess.run(['cadius', 'RENAMEFILE', filename, f'/{old_name}/{old_name}', new_name], stdout=subprocess.PIPE, text=True)
|
rt = subprocess.run(['cadius', 'RENAMEFILE', filename, f'/{old_name}/{old_name}', new_name], stdout=subprocess.PIPE, text=True)
|
||||||
subprocess.run(['cadius', 'RENAMEVOLUME', filename, new_name], stdout=subprocess.PIPE, text=True)
|
if not rt:
|
||||||
|
print('cadius RENAMEFILE command failed')
|
||||||
|
rt = subprocess.run(['cadius', 'RENAMEVOLUME', filename, new_name], stdout=subprocess.PIPE, text=True)
|
||||||
|
if not rt:
|
||||||
|
print('cadius RENAMEVOLUME command failed')
|
||||||
|
with tempfile.TemporaryDirectory() as tmpdir:
|
||||||
|
rt = subprocess.run(['cadius', 'EXTRACTFILE', filename, f'/{new_name}/LOADER.SYSTEM', tmpdir], stdout=subprocess.PIPE, text=True)
|
||||||
|
if not rt:
|
||||||
|
print('cadius EXTRACTFILE command failed')
|
||||||
|
try:
|
||||||
|
loader_file = glob.glob(tmpdir + "/LOADER.SYSTEM*").pop()
|
||||||
|
except IndexError:
|
||||||
|
return
|
||||||
|
with open(loader_file, 'rb') as f:
|
||||||
|
loader = f.read()
|
||||||
|
loader_as_list = list(loader)
|
||||||
|
while loader_as_list.pop() >= 0x10:
|
||||||
|
pass
|
||||||
|
loader_as_list.append(len(new_name))
|
||||||
|
loader_as_list.extend([ord(x) for x in new_name])
|
||||||
|
new_loader = bytes(loader_as_list)
|
||||||
|
with open(loader_file, 'wb') as f:
|
||||||
|
f.write(new_loader)
|
||||||
|
rt = subprocess.run(['cadius', 'REPLACEFILE', filename, f'/{new_name}/', loader_file], stdout=subprocess.PIPE, text=True)
|
||||||
|
if not rt:
|
||||||
|
print('cadius REPLACEFILE command failed')
|
||||||
|
|
||||||
def rename(old_game_name, new_game_name):
|
def rename(old_game_name, new_game_name):
|
||||||
print(old_game_name)
|
print(old_game_name)
|
||||||
@ -59,7 +87,7 @@ def rename(old_game_name, new_game_name):
|
|||||||
rename_files_in_directory(dirname, old_game_name, new_game_name)
|
rename_files_in_directory(dirname, old_game_name, new_game_name)
|
||||||
|
|
||||||
def driver():
|
def driver():
|
||||||
rename("SLICKS", "S8")
|
#rename("SLICKS", "S8")
|
||||||
rename("CIDER.SPIDER", "AC")
|
rename("CIDER.SPIDER", "AC")
|
||||||
rename("ARCADE.BT.CAMP", "AB")
|
rename("ARCADE.BT.CAMP", "AB")
|
||||||
rename("ARDY.AARDVARK", "AA")
|
rename("ARDY.AARDVARK", "AA")
|
||||||
@ -92,7 +120,7 @@ def driver():
|
|||||||
rename("LITTLE.COMP.PPL", "LP")
|
rename("LITTLE.COMP.PPL", "LP")
|
||||||
rename("LOCK.N.CHASE", "LC")
|
rename("LOCK.N.CHASE", "LC")
|
||||||
rename("MARIO.BROS", "MB")
|
rename("MARIO.BROS", "MB")
|
||||||
rename("MATTERHORN", "MS")
|
#rename("MATTERHORN", "MS")
|
||||||
rename("MINGS.CHALLENGE", "MI")
|
rename("MINGS.CHALLENGE", "MI")
|
||||||
rename("THUNDERHEAD", "MT")
|
rename("THUNDERHEAD", "MT")
|
||||||
rename("MONTEZUMA", "MZ")
|
rename("MONTEZUMA", "MZ")
|
||||||
@ -125,4 +153,5 @@ def driver():
|
|||||||
rename("WINGS.OF.FURY", "WF")
|
rename("WINGS.OF.FURY", "WF")
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
#rename("MR.DO", "MD")
|
||||||
driver()
|
driver()
|
||||||
|
@ -14,19 +14,19 @@ BATMAN3=Type(06),AuxType(3FF8),Access(C3)
|
|||||||
BATMAN4=Type(06),AuxType(3FF8),Access(C3)
|
BATMAN4=Type(06),AuxType(3FF8),Access(C3)
|
||||||
BATMAN5=Type(06),AuxType(3FF8),Access(C3)
|
BATMAN5=Type(06),AuxType(3FF8),Access(C3)
|
||||||
COLUMNS=Type(06),AuxType(3FF8),Access(C3)
|
COLUMNS=Type(06),AuxType(3FF8),Access(C3)
|
||||||
D.GENERATION=Type(06),AuxType(3FF8),Access(C3)
|
|
||||||
DEATH.SWORD=Type(06),AuxType(3FF8),Access(C3)
|
DEATH.SWORD=Type(06),AuxType(3FF8),Access(C3)
|
||||||
DEATH.SWORD2=Type(06),AuxType(3FF8),Access(C3)
|
DEATH.SWORD2=Type(06),AuxType(3FF8),Access(C3)
|
||||||
DEATH.SWORD3=Type(06),AuxType(3FF8),Access(C3)
|
DEATH.SWORD3=Type(06),AuxType(3FF8),Access(C3)
|
||||||
DEATH.SWORD4=Type(06),AuxType(3FF8),Access(C3)
|
DEATH.SWORD4=Type(06),AuxType(3FF8),Access(C3)
|
||||||
EAGLES.NEST=Type(06),AuxType(3FF8),Access(C3)
|
DG=Type(06),AuxType(3FF8),Access(C3)
|
||||||
EAGLES.NEST2=Type(06),AuxType(3FF8),Access(C3)
|
|
||||||
HEAVY.BARREL=Type(06),AuxType(3FF8),Access(C3)
|
HEAVY.BARREL=Type(06),AuxType(3FF8),Access(C3)
|
||||||
HEAVY2=Type(06),AuxType(3FF8),Access(C3)
|
HEAVY2=Type(06),AuxType(3FF8),Access(C3)
|
||||||
HEAVY3=Type(06),AuxType(3FF8),Access(C3)
|
HEAVY3=Type(06),AuxType(3FF8),Access(C3)
|
||||||
|
I2=Type(06),AuxType(3FF8),Access(C3)
|
||||||
|
IE=Type(06),AuxType(3FF8),Access(C3)
|
||||||
|
IE2=Type(06),AuxType(3FF8),Access(C3)
|
||||||
IMPOSSIBLE.M.2B=Type(06),AuxType(3FF8),Access(C3)
|
IMPOSSIBLE.M.2B=Type(06),AuxType(3FF8),Access(C3)
|
||||||
IMPOSSIBLE.M.2C=Type(06),AuxType(3FF8),Access(C3)
|
IMPOSSIBLE.M.2C=Type(06),AuxType(3FF8),Access(C3)
|
||||||
IMPOSSIBLE.M.II=Type(06),AuxType(3FF8),Access(C3)
|
|
||||||
INDIANA.JONES=Type(06),AuxType(3FF8),Access(C3)
|
INDIANA.JONES=Type(06),AuxType(3FF8),Access(C3)
|
||||||
INDIANA.JONES2=Type(06),AuxType(3FF8),Access(C3)
|
INDIANA.JONES2=Type(06),AuxType(3FF8),Access(C3)
|
||||||
INDIANA.JONES3=Type(06),AuxType(3FF8),Access(C3)
|
INDIANA.JONES3=Type(06),AuxType(3FF8),Access(C3)
|
||||||
@ -49,20 +49,20 @@ RAMPAGE4=Type(06),AuxType(3FF8),Access(C3)
|
|||||||
ROBOCOP=Type(06),AuxType(3FF8),Access(C3)
|
ROBOCOP=Type(06),AuxType(3FF8),Access(C3)
|
||||||
ROBOCOP2=Type(06),AuxType(3FF8),Access(C3)
|
ROBOCOP2=Type(06),AuxType(3FF8),Access(C3)
|
||||||
ROBOCOP3=Type(06),AuxType(3FF8),Access(C3)
|
ROBOCOP3=Type(06),AuxType(3FF8),Access(C3)
|
||||||
ROGER.RABBIT=Type(06),AuxType(3FF8),Access(C3)
|
RR=Type(06),AuxType(3FF8),Access(C3)
|
||||||
SLICKS=Type(06),AuxType(3FF8),Access(C3)
|
SLICKS=Type(06),AuxType(3FF8),Access(C3)
|
||||||
SLICKS2=Type(06),AuxType(3FF8),Access(C3)
|
SLICKS2=Type(06),AuxType(3FF8),Access(C3)
|
||||||
SOKO.BAN=Type(06),AuxType(3FF8),Access(C3)
|
SO=Type(06),AuxType(3FF8),Access(C3)
|
||||||
SOKO.BAN2=Type(06),AuxType(3FF8),Access(C3)
|
SO2=Type(06),AuxType(3FF8),Access(C3)
|
||||||
SOKO.BAN3=Type(06),AuxType(3FF8),Access(C3)
|
SO3=Type(06),AuxType(3FF8),Access(C3)
|
||||||
SOKO.BAN4=Type(06),AuxType(3FF8),Access(C3)
|
SO4=Type(06),AuxType(3FF8),Access(C3)
|
||||||
SOKO.BAN5=Type(06),AuxType(3FF8),Access(C3)
|
SO5=Type(06),AuxType(3FF8),Access(C3)
|
||||||
SPIDERBOT=Type(06),AuxType(3FF8),Access(C3)
|
SPIDERBOT=Type(06),AuxType(3FF8),Access(C3)
|
||||||
SPIDERBOT2=Type(06),AuxType(3FF8),Access(C3)
|
SPIDERBOT2=Type(06),AuxType(3FF8),Access(C3)
|
||||||
SPIDERBOT3=Type(06),AuxType(3FF8),Access(C3)
|
SPIDERBOT3=Type(06),AuxType(3FF8),Access(C3)
|
||||||
SPIDERBOT4=Type(06),AuxType(3FF8),Access(C3)
|
SPIDERBOT4=Type(06),AuxType(3FF8),Access(C3)
|
||||||
SPIDERBOT5=Type(06),AuxType(3FF8),Access(C3)
|
SPIDERBOT5=Type(06),AuxType(3FF8),Access(C3)
|
||||||
TECHNOCOP=Type(06),AuxType(3FF8),Access(C3)
|
TC=Type(06),AuxType(3FF8),Access(C3)
|
||||||
TETRIS=Type(06),AuxType(3FF8),Access(C3)
|
TETRIS=Type(06),AuxType(3FF8),Access(C3)
|
||||||
TETRIS2=Type(06),AuxType(3FF8),Access(C3)
|
TETRIS2=Type(06),AuxType(3FF8),Access(C3)
|
||||||
TETRIS3=Type(06),AuxType(3FF8),Access(C3)
|
TETRIS3=Type(06),AuxType(3FF8),Access(C3)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# This file is automatically generated
|
# This file is automatically generated
|
||||||
|
|
||||||
BLOCKCHAIN=Type(06),AuxType(6000),Access(C3)
|
BC=Type(06),AuxType(6000),Access(C3)
|
||||||
OOTW=Type(06),AuxType(6000),Access(C3)
|
OW=Type(06),AuxType(6000),Access(C3)
|
||||||
POLLYWOG=Type(06),AuxType(6000),Access(C3)
|
POLLYWOG=Type(06),AuxType(6000),Access(C3)
|
||||||
_FileInformation.txt=Type(06),AuxType(6000),Access(C3)
|
_FileInformation.txt=Type(06),AuxType(6000),Access(C3)
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user