mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
b21f0d3397
* decompiler: support adding new strings to the game_text.txt file * gsrc: expand the pckernel type and functions to work better with the menu * gsrc: add new text-ids * gsrc: add new macros to help with menu code * gsrc: make a new type to generalize their list menu options * gsrc: add new menu options and enums * gsrc: cleanup and refactor the list menu option drawing code this allows us to easily add a new list menu option...well as easy as the rest is atleast (setting up static lists properly, etc) * gsrc: add and cleanup handling of new menu options * scripts: add checks with nice error messages for user facing taskfile recipes * lint: formatting * address simple feedback * gsrc: move modified files to `pc/` folder * gsrc: revert changes to originally decompiled files * gsrc: move modified and new files to `goal_src/pc` folder * gsrc: update paths in `all_files.gc`
62 lines
1.8 KiB
Python
62 lines
1.8 KiB
Python
## Given a list of files(comma delimited), decompile it, then place it under the specified placeholder (if it exists)
|
|
## if the placeholder doesn't exist, error out
|
|
## the placeholder is `;; DECOMP BEGINS`
|
|
|
|
import os
|
|
|
|
print("Copying game-text-id enum")
|
|
begin_str = ";; GAME-TEXT-ID ENUM BEGINS"
|
|
end_str = ";; GAME-TEXT-ID ENUM ENDS"
|
|
enum_lines = []
|
|
with open('./decompiler/config/all-types.gc') as f:
|
|
lines = f.readlines()
|
|
found_enum = False
|
|
for line in lines:
|
|
if found_enum and end_str in line:
|
|
break
|
|
if found_enum:
|
|
enum_lines.append(line)
|
|
if begin_str in line:
|
|
found_enum = True
|
|
new_texth_lines = []
|
|
with open('goal_src/engine/ui/text-h.gc') as f:
|
|
lines = f.readlines()
|
|
found_enum = False
|
|
for line in lines:
|
|
if begin_str in line:
|
|
found_enum = True
|
|
new_texth_lines.append(begin_str + "\n")
|
|
new_texth_lines += enum_lines
|
|
new_texth_lines.append(end_str + "\n")
|
|
continue
|
|
if end_str in line:
|
|
found_enum = False
|
|
continue
|
|
if found_enum:
|
|
continue
|
|
new_texth_lines.append(line)
|
|
os.remove('goal_src/engine/ui/text-h.gc')
|
|
with open('goal_src/engine/ui/text-h.gc', "w") as f:
|
|
f.writelines(new_texth_lines)
|
|
with open('goal_src/engine/pc/ui/text-h.gc') as f:
|
|
lines = f.readlines()
|
|
found_enum = False
|
|
for line in lines:
|
|
if begin_str in line:
|
|
found_enum = True
|
|
new_texth_lines.append(begin_str + "\n")
|
|
new_texth_lines += enum_lines
|
|
new_texth_lines.append(end_str + "\n")
|
|
continue
|
|
if end_str in line:
|
|
found_enum = False
|
|
continue
|
|
if found_enum:
|
|
continue
|
|
new_texth_lines.append(line)
|
|
os.remove('goal_src/engine/pc/ui/text-h.gc')
|
|
with open('goal_src/engine/pc/ui/text-h.gc', "w") as f:
|
|
f.writelines(new_texth_lines)
|
|
print("game-text-id enum updated!")
|
|
|