mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 06:24:30 +00:00
Decompiled ovl_En_Zl3 (2 non-matchings) (#491)
* Progress * deleting more function files * more * more * More * more * more * more * more * 2 more * more * more * more * more * more * more * more * more * more * master update * 4 more * Merged * 3 more * One more done! * ug * Ido Recomp test * try 2 * Recomp by default * Fix Jenkinsfile * Fix 2 * Fixing struct * CFE errors * CFE fix -O2 * Cleanup * More progress, almost done... * Almost.. * Update and some progress * formatting * Cleanup * Major cleanup * done for now * PR comments * PR comments * merge master and format * a few things Co-authored-by: fig <fig02srl@gmail.com>
This commit is contained in:
parent
330bd35d23
commit
932174b6ee
213 changed files with 2954 additions and 7981 deletions
49
tools/get_actor_sizes.py
Executable file
49
tools/get_actor_sizes.py
Executable file
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
import os
|
||||
import pprint
|
||||
|
||||
script_dir = os.path.dirname(os.path.realpath(__file__))
|
||||
root_dir = script_dir + "/../"
|
||||
asm_dir = root_dir + "asm/non_matchings/overlays/actors"
|
||||
|
||||
overlays = {}
|
||||
|
||||
|
||||
def get_num_instructions(f_path):
|
||||
with open(f_path) as f:
|
||||
f_lines = f.readlines()
|
||||
sum = 0
|
||||
for line in f_lines:
|
||||
if line.startswith("/* "):
|
||||
sum += 1
|
||||
return sum
|
||||
|
||||
|
||||
def main():
|
||||
for root, dirs, files in os.walk(asm_dir):
|
||||
for dir in dirs:
|
||||
total_size = 0
|
||||
max_size = -1
|
||||
ovl_path = os.path.join(root, dir)
|
||||
num_files = 0
|
||||
for root2, dirs2, files2 in os.walk(ovl_path):
|
||||
for f_name in files2:
|
||||
num_files += 1
|
||||
file_size = get_num_instructions(
|
||||
os.path.join(ovl_path, f_name))
|
||||
total_size += file_size
|
||||
if file_size > max_size:
|
||||
max_size = file_size
|
||||
overlays[dir] = (num_files, max_size, total_size,
|
||||
total_size / num_files)
|
||||
|
||||
sorted_actors = {k: v for k, v in sorted(
|
||||
overlays.items(), key=lambda item: item[1][2])
|
||||
}
|
||||
for actor in sorted_actors.items():
|
||||
print(
|
||||
f"{actor[0]}, {actor[1][0]}, {actor[1][1]}, {actor[1][2]}, {actor[1][3]}")
|
||||
|
||||
|
||||
main()
|
|
@ -1,32 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
import os
|
||||
import pprint
|
||||
|
||||
script_dir = os.path.dirname(os.path.realpath(__file__))
|
||||
root_dir = script_dir + "/../"
|
||||
asm_dir = root_dir + "asm/non_matchings/overlays/actors"
|
||||
|
||||
overlays = {}
|
||||
|
||||
|
||||
def main():
|
||||
for root, dirs, files in os.walk(asm_dir):
|
||||
for dir in dirs:
|
||||
if dir.startswith("ovl_"):
|
||||
avg_size = 0
|
||||
max_size = -1
|
||||
ovl_path = os.path.join(root, dir)
|
||||
count = 0
|
||||
for root2, dirs2, files2 in os.walk(ovl_path):
|
||||
for file in files2:
|
||||
count += 1
|
||||
file_size = os.path.getsize(os.path.join(ovl_path, file))
|
||||
avg_size += file_size
|
||||
if file_size > max_size:
|
||||
max_size = file_size
|
||||
overlays[dir] = (max_size, count, avg_size / count)
|
||||
print({k: v for k, v in sorted(overlays.items(), key=lambda item: item[1][2])})
|
||||
|
||||
|
||||
main()
|
Loading…
Add table
Add a link
Reference in a new issue