| 627 | }; |
| 628 | |
| 629 | struct RSPRecompilerConfig { |
| 630 | size_t text_offset; |
| 631 | size_t text_size; |
| 632 | size_t text_address; |
| 633 | std::filesystem::path rom_file_path; |
| 634 | std::filesystem::path output_file_path; |
| 635 | std::string output_function_name; |
| 636 | std::vector<uint32_t> extra_indirect_branch_targets; |
| 637 | std::unordered_set<uint32_t> unsupported_instructions; |
| 638 | std::vector<RSPRecompilerOverlaySlotConfig> overlay_slots; |
| 639 | }; |
| 640 | |
| 641 | std::filesystem::path concat_if_not_empty(const std::filesystem::path& parent, const std::filesystem::path& child) { |
| 642 | if (!child.empty()) { |
nothing calls this directly
no outgoing calls
no test coverage detected