1
0
Fork 0
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:
Ethan Roseman 2020-12-01 20:48:54 -05:00 committed by GitHub
parent 330bd35d23
commit 932174b6ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
213 changed files with 2954 additions and 7981 deletions

49
tools/get_actor_sizes.py Executable file
View 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()

View file

@ -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()