diff --git a/OfflineModRecomp/main.cpp b/OfflineModRecomp/main.cpp index 5a1e0ef..ffa3e03 100644 --- a/OfflineModRecomp/main.cpp +++ b/OfflineModRecomp/main.cpp @@ -156,7 +156,7 @@ int main(int argc, const char** argv) { output_file << "RECOMP_EXPORT int32_t* section_addresses = NULL;\n"; for (const auto& func : mod_context.functions) { - N64Recomp::recompile_function(mod_context, func, "", output_file, static_funcs_by_section, false); + N64Recomp::recompile_function(mod_context, func, output_file, static_funcs_by_section); } return EXIT_SUCCESS; diff --git a/include/n64recomp.h b/include/n64recomp.h index 93dd687..b577d8f 100644 --- a/include/n64recomp.h +++ b/include/n64recomp.h @@ -469,7 +469,7 @@ namespace N64Recomp { } }; - bool recompile_function(const Context& context, const Function& func, const std::string& recomp_include, std::ofstream& output_file, std::span> static_funcs, bool write_header); + bool recompile_function(const Context& context, const Function& func, std::ofstream& output_file, std::span> static_funcs); enum class ModSymbolsError { Good, diff --git a/src/main.cpp b/src/main.cpp index 59a2d0d..d01261d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -121,7 +121,13 @@ bool recompile_single_function(const N64Recomp::Context& context, const N64Recom return false; } - if (!N64Recomp::recompile_function(context, func, recomp_include, output_file, static_funcs_out, true)) { + // Write the file header + fmt::print(output_file, + "{}\n" + "\n", + recomp_include); + + if (!N64Recomp::recompile_function(context, func, output_file, static_funcs_out)) { return false; } @@ -611,7 +617,7 @@ int main(int argc, char** argv) { // Recompile the function. if (config.single_file_output || config.functions_per_output_file > 1) { - result = N64Recomp::recompile_function(context, func, config.recomp_include, current_output_file, static_funcs_by_section, false); + result = N64Recomp::recompile_function(context, func, current_output_file, static_funcs_by_section); if (!config.single_file_output) { cur_file_function_count++; if (cur_file_function_count >= config.functions_per_output_file) { @@ -698,7 +704,7 @@ int main(int argc, char** argv) { bool result; size_t prev_num_statics = static_funcs_by_section[func.section_index].size(); if (config.single_file_output || config.functions_per_output_file > 1) { - result = N64Recomp::recompile_function(context, func, config.recomp_include, current_output_file, static_funcs_by_section, false); + result = N64Recomp::recompile_function(context, func, current_output_file, static_funcs_by_section); if (!config.single_file_output) { cur_file_function_count++; if (cur_file_function_count >= config.functions_per_output_file) { diff --git a/src/recompilation.cpp b/src/recompilation.cpp index 580f1e0..17739d6 100644 --- a/src/recompilation.cpp +++ b/src/recompilation.cpp @@ -730,18 +730,10 @@ bool process_instruction(const N64Recomp::Context& context, const N64Recomp::Fun return true; } -bool N64Recomp::recompile_function(const N64Recomp::Context& context, const N64Recomp::Function& func, const std::string& recomp_include, std::ofstream& output_file, std::span> static_funcs_out, bool write_header) { +bool N64Recomp::recompile_function(const N64Recomp::Context& context, const N64Recomp::Function& func, std::ofstream& output_file, std::span> static_funcs_out) { //fmt::print("Recompiling {}\n", func.name); std::vector instructions; - if (write_header) { - // Write the file header - fmt::print(output_file, - "{}\n" - "\n", - recomp_include); - } - fmt::print(output_file, "RECOMP_FUNC void {}(uint8_t* rdram, recomp_context* ctx) {{\n" // these variables shouldn't need to be preserved across function boundaries, so make them local for more efficient output