Fix animation crash, add menu strings
This commit is contained in:
parent
bbcd64b0f2
commit
31daf29228
|
@ -0,0 +1,42 @@
|
||||||
|
#!/usr/bin/python3 -i
|
||||||
|
'''
|
||||||
|
Read in a bunch of small binary files, determine what parts of them are common, do something with all the differences.
|
||||||
|
Intended to separate SPC engine data from song data
|
||||||
|
'''
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
|
||||||
|
def main(filenames):
|
||||||
|
common = []
|
||||||
|
uniques = []
|
||||||
|
common_str = []
|
||||||
|
|
||||||
|
try:
|
||||||
|
files = [open(f, 'rb') for f in filenames]
|
||||||
|
data = [f.read() for f in files]
|
||||||
|
except BaseException as e:
|
||||||
|
traceback.print_exc()
|
||||||
|
finally:
|
||||||
|
for file in files:
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
for vals in zip(*data):
|
||||||
|
u = set(vals)
|
||||||
|
uniques.append(len(u))
|
||||||
|
if len(u) == 1:
|
||||||
|
common_str.append(vals[0])
|
||||||
|
else:
|
||||||
|
if len(common_str)>7:
|
||||||
|
common.append('x'+''.join(['{:02x}'.format(b) for b in common_str])+'\n')
|
||||||
|
common_str = []
|
||||||
|
with open('uniques.bin', 'wb') as out:
|
||||||
|
out.write(bytes(uniques))
|
||||||
|
with open('common.txt', 'w') as out:
|
||||||
|
out.writelines(common)
|
||||||
|
print(common)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main(sys.argv[1:])
|
|
@ -136,6 +136,7 @@ class FF5Reader(QMainWindow):
|
||||||
|
|
||||||
print('Generating Strings')
|
print('Generating Strings')
|
||||||
zone_names = make_string_img_list(0x107000, 2, 0x100, start_str=0x270000, start_jp_str=0x107200, indirect=True, large=True)
|
zone_names = make_string_img_list(0x107000, 2, 0x100, start_str=0x270000, start_jp_str=0x107200, indirect=True, large=True)
|
||||||
|
menu_strings = make_string_img_list(0xF987, 2, 139, start_str=0x270000, start_jp_str=0x0000, indirect=True)
|
||||||
items = make_string_img_list(0x111380, 9, 256)
|
items = make_string_img_list(0x111380, 9, 256)
|
||||||
magics = make_string_img_list(0x111C80, 6, 87)
|
magics = make_string_img_list(0x111C80, 6, 87)
|
||||||
more_magics = make_string_img_list(0x111E8A, 9, 73)
|
more_magics = make_string_img_list(0x111E8A, 9, 73)
|
||||||
|
@ -344,6 +345,7 @@ class FF5Reader(QMainWindow):
|
||||||
structs_tab.addTab(make_table(const.npc_layer_headers, npc_layers, True), 'NPC Layers')
|
structs_tab.addTab(make_table(const.npc_layer_headers, npc_layers, True), 'NPC Layers')
|
||||||
structs_tab.addTab(make_table(enemy_sprite_headers, enemy_sprite_data, True), 'Enemy Sprites')
|
structs_tab.addTab(make_table(enemy_sprite_headers, enemy_sprite_data, True), 'Enemy Sprites')
|
||||||
|
|
||||||
|
strings_tab.addTab(make_table(imglist_headers, menu_strings, row_labels=False), 'Menu Strings')
|
||||||
strings_tab.addTab(make_table(imglist_headers, items, row_labels=False), 'Items')
|
strings_tab.addTab(make_table(imglist_headers, items, row_labels=False), 'Items')
|
||||||
strings_tab.addTab(make_table(imglist_headers, magics+more_magics, row_labels=False), 'Magics')
|
strings_tab.addTab(make_table(imglist_headers, magics+more_magics, row_labels=False), 'Magics')
|
||||||
#strings_tab.addTab(make_table(imglist_headers, more_magics, row_labels=False), 'More Magics')
|
#strings_tab.addTab(make_table(imglist_headers, more_magics, row_labels=False), 'More Magics')
|
||||||
|
|
|
@ -96,7 +96,7 @@ class Label(QLabel):
|
||||||
elif isinstance(content, list) and isinstance(content[0], QPixmap):
|
elif isinstance(content, list) and isinstance(content[0], QPixmap):
|
||||||
self.pixmaps = [c.scaled(c.size() * scale) for c in content[:-1]]
|
self.pixmaps = [c.scaled(c.size() * scale) for c in content[:-1]]
|
||||||
self.setPixmap(self.pixmaps[0])
|
self.setPixmap(self.pixmaps[0])
|
||||||
self.timer.start(content[-1]*1000/60)
|
self.timer.start(content[-1]*1000//60)
|
||||||
else:
|
else:
|
||||||
if strip:
|
if strip:
|
||||||
content = content.strip()
|
content = content.strip()
|
||||||
|
|
Loading…
Reference in New Issue