Decompilation of The Legend of Zelda: Ocarina of Time
This report summarizes scanner evidence for zeldaret/oot, a C project with 5,634 GitHub stars. SynthScan examined 672,607 lines of code across 3094 source files, recording 1558 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 2.4 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1462 finding(s).
Are imports declared and package/API names verified? 31 finding(s).
Are wrappers, guards, and repeated structures necessary? 130 finding(s).
Which changes need focused human review? 1558 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1558 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | diff.py | 1821 | return prev, None | COMMENT |
| LOW | tools/mkldscript.c | 1 | #include <ctype.h> | COMMENT |
| LOW | tools/mkldscript.c | 41 | // 3 ..boot.bss 00004a30 80012370 80012370 0001c370 2**4 ALLOC | COMMENT |
| LOW | tools/preprocess_pragmas.c | 1 | COMMENT | |
| LOW | tools/armips.cpp | 61 | COMMENT | |
| LOW | tools/armips.cpp | 81 | // | COMMENT |
| LOW | tools/armips.cpp | 101 | // * C++98 support, with optional C++11 niceties | COMMENT |
| LOW | tools/armips.cpp | 121 | // stream: | COMMENT |
| LOW | tools/armips.cpp | 141 | // writing out the same function for each desired number of arguments. To make | COMMENT |
| LOW | tools/armips.cpp | 161 | // via a call to the vformat() function: | COMMENT |
| LOW | tools/armips.cpp | 181 | //------------------------------------------------------------------------------ | COMMENT |
| LOW | tools/armips.cpp | 201 | #ifndef TINYFORMAT_ASSERT | COMMENT |
| LOW | tools/armips.cpp | 241 | // two types of different size | COMMENT |
| LOW | tools/armips.cpp | 361 | COMMENT | |
| LOW | tools/armips.cpp | 421 | // per 3.9.1: char, signed char and unsigned char are all distinct types | COMMENT |
| LOW | tools/armips.cpp | 481 | #define TINYFORMAT_ARGTYPES_8 class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8 | COMMENT |
| LOW | tools/armips.cpp | 501 | #define TINYFORMAT_VARARGS_11 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5, const T6& v6, const | COMMENT |
| LOW | tools/armips.cpp | 521 | #define TINYFORMAT_PASSARGS_14 v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14 | COMMENT |
| LOW | tools/armips.cpp | 2361 | // File version | COMMENT |
| LOW | tools/armips.cpp | 2381 | COMMENT | |
| LOW | tools/armips.cpp | 2401 | #define SHN_ABS 0xFFF1 | COMMENT |
| LOW | tools/armips.cpp | 2441 | #define STB_LOPROC 13 | COMMENT |
| LOW | tools/armips.cpp | 2461 | #define R_386_PLT32 4 | COMMENT |
| LOW | tools/armips.cpp | 2481 | #define PF_X 1 | COMMENT |
| LOW | tools/armips.cpp | 2501 | #define DT_RPATH 15 | COMMENT |
| LOW | tools/armips.cpp | 2961 | COMMENT | |
| LOW | tools/armips.cpp | 2981 | COMMENT | |
| LOW | tools/armips.cpp | 3001 | #define MO_VFPU_SINGLE (1 << 19) // single vfpu reg | COMMENT |
| LOW | tools/armips.cpp | 3021 | #define MIPS_RT(VALUE) BITFIELD(16,5,(VALUE)) | COMMENT |
| LOW | tools/armips.cpp | 3041 | #define MIPS_COP2BC(VALUE) (MIPS_COP2(8) | MIPS_RT(VALUE)) | COMMENT |
| LOW | tools/armips.cpp | 3981 | struct DirectiveEntry { | COMMENT |
| LOW | tools/armips.cpp | 4001 | #define DIRECTIVE_ALIGN_PHYSICAL 0x00000001 | COMMENT |
| LOW | tools/armips.cpp | 4021 | #define DIRECTIVE_DATA_WORD 0x0000000B | COMMENT |
| LOW | tools/armips.cpp | 4061 | #define MIPSM_B 0x00000001 | COMMENT |
| LOW | tools/armips.cpp | 4081 | #define MIPSM_EQ 0x00000006 | COMMENT |
| LOW | tools/armips.cpp | 6341 | { "sv.q", "vt,i16(s),w", MIPS_OP(0x3E)|0x02, MA_PSP, MO_VFPU_QUAD|MO_VFPU_MIXED|MO_VFPU_6BIT|MO_IMMALIGNED }, | COMMENT |
| LOW | tools/armips.cpp | 6541 | COMMENT | |
| LOW | tools/armips.cpp | 6561 | COMMENT | |
| LOW | tools/armips.cpp | 6581 | // ------11--------------5------------------------------------------ | COMMENT |
| LOW | tools/armips.cpp | 6661 | // |= COP1D| | function| | COMMENT |
| LOW | tools/armips.cpp | 6721 | // 100 | cvt.s | cvt.d | --- | --- | --- | --- | --- | --- | 20..27 | COMMENT |
| LOW | tools/armips.cpp | 6761 | { "ctc2", "t,gc", MIPS_COP2(0x06), MA_PSX, 0 }, | COMMENT |
| LOW | tools/armips.cpp | 6801 | // |= VFPU1| f | | | COMMENT |
| LOW | tools/armips.cpp | 6821 | { "vmin.S", "vd,vs,vt", MIPS_VFPU3(2), MA_PSP, MO_VFPU }, | COMMENT |
| LOW | tools/armips.cpp | 6861 | { "bitrev", "d", MIPS_ALLEGREX0(0x14), MA_PSP, 0 }, | COMMENT |
| LOW | tools/armips.cpp | 7001 | COMMENT | |
| LOW | tools/armips.cpp | 7021 | { "vmidt.S", "md", MIPS_VFPU6_2(3), MA_PSP, MO_VFPU }, | COMMENT |
| LOW | tools/armips.cpp | 19081 | #include <regex> | COMMENT |
| LOW | tools/endian.h | 1 | #ifndef ENDIAN_H_ | COMMENT |
| LOW | tools/endian.h | 21 | #define be64toh(x) OSSwapBigToHostInt64(x) | COMMENT |
| LOW | tools/endian.h | 41 | #define htobe64(x) (x) | COMMENT |
| LOW | tools/ido_block_numbers.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/preprocess.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/bin2c.c | 1 | /* SPDX-FileCopyrightText: (C) 2025 ZeldaRET */ | COMMENT |
| LOW | tools/asm-differ/diff_settings.py | 1 | def apply(config, args): | COMMENT |
| LOW | tools/asm-differ/test.py | 61 | # test parsing these immediates | COMMENT |
| LOW | tools/asm-differ/test.py | 101 | # 4: 71 09 add #9,r1 | COMMENT |
| LOW | tools/asm-differ/diff.py | 1821 | return prev, None | COMMENT |
| LOW | tools/asm_processor/asm_processor.py | 681 | # Jump tables give 9 instructions (11 with -mips1) for >= 5 words of rodata, | COMMENT |
| LOW | tools/audio/audio_tablegen.c | 1 | /** | COMMENT |
| 1212 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | retail_progress.py | 62 | CODE | |
| LOW | retail_progress.py | 207 | CODE | |
| LOW | retail_progress.py | 300 | CODE | |
| LOW | sym_info.py | 119 | CODE | |
| LOW | sym_info.py | 172 | CODE | |
| LOW | sym_info.py | 218 | CODE | |
| LOW | sym_info.py | 232 | CODE | |
| LOW | diff.py | 502 | CODE | |
| LOW | diff.py | 1025 | CODE | |
| LOW | diff.py | 1190 | CODE | |
| LOW | diff.py | 1307 | CODE | |
| LOW | diff.py | 2497 | CODE | |
| LOW | diff.py | 2807 | CODE | |
| LOW | diff.py | 2833 | CODE | |
| LOW | diff.py | 2997 | CODE | |
| LOW | diff.py | 3343 | CODE | |
| LOW | diff.py | 3433 | CODE | |
| LOW | diff.py | 3645 | CODE | |
| LOW | diff.py | 897 | CODE | |
| LOW | diff.py | 1586 | CODE | |
| LOW | diff.py | 1671 | CODE | |
| LOW | diff.py | 1786 | CODE | |
| LOW | diff.py | 1819 | CODE | |
| LOW | diff.py | 1928 | CODE | |
| LOW | diff.py | 3471 | CODE | |
| LOW | diff.py | 67 | CODE | |
| LOW | tools/namefixer.py | 426 | CODE | |
| LOW | tools/fix_bss.py | 90 | CODE | |
| LOW | tools/fix_bss.py | 138 | CODE | |
| LOW | tools/fix_bss.py | 206 | CODE | |
| LOW | tools/fix_bss.py | 380 | CODE | |
| LOW | tools/fix_bss.py | 473 | CODE | |
| LOW | tools/fix_bss.py | 554 | CODE | |
| LOW | tools/fix_bss.py | 581 | CODE | |
| LOW | tools/vt_fmt.py | 20 | CODE | |
| LOW | tools/regconvert.py | 59 | CODE | |
| LOW | tools/sfxconvert.py | 117 | CODE | |
| LOW | tools/ichaindis.py | 39 | CODE | |
| LOW | tools/disasm_elf_msg.py | 167 | CODE | |
| LOW | tools/split_out.py | 7 | CODE | |
| LOW | tools/assist.py | 45 | CODE | |
| LOW | tools/assist.py | 117 | CODE | |
| LOW | tools/extract_text.py | 2116 | CODE | |
| LOW | tools/extract_text.py | 1542 | CODE | |
| LOW | tools/msgenc.py | 45 | CODE | |
| LOW | tools/msgenc.py | 46 | CODE | |
| LOW | tools/compress.py | 53 | CODE | |
| LOW | tools/decompile_data.py | 103 | CODE | |
| LOW | tools/csdis.py | 773 | CODE | |
| LOW | tools/csdis.py | 835 | CODE | |
| LOW | tools/csdis.py | 856 | CODE | |
| LOW | tools/convert_chars.py | 47 | CODE | |
| LOW | tools/asm-differ/diff.py | 502 | CODE | |
| LOW | tools/asm-differ/diff.py | 1025 | CODE | |
| LOW | tools/asm-differ/diff.py | 1190 | CODE | |
| LOW | tools/asm-differ/diff.py | 1307 | CODE | |
| LOW | tools/asm-differ/diff.py | 2497 | CODE | |
| LOW | tools/asm-differ/diff.py | 2807 | CODE | |
| LOW | tools/asm-differ/diff.py | 2833 | CODE | |
| LOW | tools/asm-differ/diff.py | 2997 | CODE | |
| 56 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | format.py | 43 | except FileNotFoundError or subprocess.CalledProcessError: | CODE |
| HIGH | diff.py | 582 | except subprocess.CalledProcessError: | CODE |
| HIGH | diff.py | 584 | except FileNotFoundError: | CODE |
| HIGH | diff.py | 3500 | except queue.Empty: | CODE |
| HIGH | diff.py | 3216 | except: | CODE |
| HIGH | diff.py | 3229 | except: | CODE |
| HIGH | tools/asm-differ/diff.py | 582 | except subprocess.CalledProcessError: | CODE |
| HIGH | tools/asm-differ/diff.py | 584 | except FileNotFoundError: | CODE |
| HIGH | tools/asm-differ/diff.py | 3500 | except queue.Empty: | CODE |
| HIGH | tools/asm-differ/diff.py | 3216 | except: | CODE |
| HIGH | tools/asm-differ/diff.py | 3229 | except: | CODE |
| HIGH | tools/asm_processor/build.py | 113 | except OSError: | CODE |
| HIGH | tools/asm_processor/asm_processor.py | 1274 | except: | CODE |
| HIGH | tools/audio/extraction/audio_extract.py | 278 | except ValueError: | CODE |
| HIGH | tools/assets/extract/extase/__init__.py | 1013 | except NotImplementedError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tools/audio/extraction/audio_extract.py | 382 | # ================================================================================================================== | COMMENT |
| MEDIUM⚡ | tools/audio/extraction/audio_extract.py | 384 | # ================================================================================================================== | COMMENT |
| MEDIUM⚡ | tools/audio/extraction/audio_extract.py | 390 | # ================================================================================================================== | COMMENT |
| MEDIUM⚡ | tools/audio/extraction/audio_extract.py | 392 | # ================================================================================================================== | COMMENT |
| MEDIUM⚡ | tools/audio/extraction/audio_extract.py | 399 | # ================================================================================================================== | COMMENT |
| MEDIUM⚡ | tools/audio/extraction/audio_extract.py | 401 | # ================================================================================================================== | COMMENT |
| MEDIUM⚡ | tools/audio/extraction/audio_extract.py | 407 | # ================================================================================================================== | COMMENT |
| MEDIUM⚡ | tools/audio/extraction/audio_extract.py | 409 | # ================================================================================================================== | COMMENT |
| MEDIUM | tools/audio/extraction/audio_extract.py | 48 | # ====================================================================================================================== | COMMENT |
| MEDIUM | tools/audio/extraction/audio_extract.py | 50 | # ====================================================================================================================== | COMMENT |
| MEDIUM | tools/audio/extraction/audio_extract.py | 331 | # ================================================================================================================== | COMMENT |
| MEDIUM | tools/audio/extraction/audio_extract.py | 333 | # ================================================================================================================== | COMMENT |
| MEDIUM | tools/audio/extraction/audio_extract.py | 359 | # ================================================================================================================== | COMMENT |
| MEDIUM | tools/audio/extraction/audio_extract.py | 361 | # ================================================================================================================== | COMMENT |
| MEDIUM | tools/audio/extraction/audio_extract.py | 425 | # ================================================================================================================== | COMMENT |
| MEDIUM | tools/audio/extraction/audio_extract.py | 427 | # ================================================================================================================== | COMMENT |
| MEDIUM | tools/audio/extraction/audio_extract.py | 451 | # ================================================================================================================== | COMMENT |
| MEDIUM | tools/audio/extraction/audio_extract.py | 453 | # ================================================================================================================== | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | retail_progress.py | 207 | def find_functions_with_diffs(version: str, c_path: str): | CODE |
| LOW | retail_progress.py | 288 | def get_object_data_for_comparison(object1: Path, object2: Path): | CODE |
| LOW | format.py | 85 | def run_clang_tidy_with_export(tmp_dir: str, files: List[str]): | CODE |
| LOW | format.py | 93 | def run_clang_apply_replacements(tmp_dir: str): | CODE |
| LOW | sym_info.py | 87 | def read_mdebug_symbolic_header(f, offset: int) -> MdebugSymbolicHeader: | CODE |
| LOW | sym_info.py | 93 | def read_mdebug_file_descriptor(f, offset: int) -> MdebugFileDescriptor: | CODE |
| LOW | sym_info.py | 119 | def read_local_symbols_from_mdebug(elf_path: Path) -> list[LocalSymbol]: | CODE |
| LOW | diff.py | 28 | def static_assert_unreachable(x: NoReturn) -> NoReturn: | CODE |
| LOW | diff.py | 1088 | def serialize_rodata_references(references: List[Tuple[int, int, str]]) -> str: | CODE |
| LOW | diff.py | 1095 | def maybe_get_objdump_source_flags(config: Config) -> List[str]: | CODE |
| LOW | diff.py | 1307 | def parse_elf_rodata_references( | CODE |
| LOW | diff.py | 1786 | def _normalize_adrp_differences(self, mnemonic: str, row: str) -> str: | CODE |
| LOW | diff.py | 2715 | def check_for_symbol_mismatch( | CODE |
| LOW | tools/fix_bss.py | 191 | def get_file_pointers_worker_init(base_path: Path, build_path: Path): | CODE |
| LOW | tools/fix_bss.py | 473 | def determine_base_bss_ordering( | CODE |
| LOW | tools/ido_block_numbers.py | 480 | def find_compiler_command_line( | CODE |
| LOW | tools/asm-differ/diff.py | 28 | def static_assert_unreachable(x: NoReturn) -> NoReturn: | CODE |
| LOW | tools/asm-differ/diff.py | 1088 | def serialize_rodata_references(references: List[Tuple[int, int, str]]) -> str: | CODE |
| LOW | tools/asm-differ/diff.py | 1095 | def maybe_get_objdump_source_flags(config: Config) -> List[str]: | CODE |
| LOW | tools/asm-differ/diff.py | 1307 | def parse_elf_rodata_references( | CODE |
| LOW | tools/asm-differ/diff.py | 1786 | def _normalize_adrp_differences(self, mnemonic: str, row: str) -> str: | CODE |
| LOW | tools/asm-differ/diff.py | 2715 | def check_for_symbol_mismatch( | CODE |
| LOW | tools/audio/extraction/audiobank_file.py | 656 | def read_list_from_offset_list(self, offset_list, dtype): | CODE |
| LOW | tools/audio/extraction/audio_extract.py | 309 | def extract_audio_for_version(version_info : GameVersionInfo, output_dir : str, baserom_segments_dir : str, read_xml : b | CODE |
| LOW | tools/audio/extraction/audiotable.py | 183 | def codec_file_extension_compressed(self): | CODE |
| LOW | tools/audio/extraction/audiotable.py | 195 | def codec_file_extension_decompressed(self): | CODE |
| LOW | tools/assets/extract/z64_resource_handlers.py | 63 | def register_resource_handlers(): | CODE |
| LOW | tools/assets/extract/z64_resource_handlers.py | 65 | def skeleton_resource_handler( | CODE |
| LOW | tools/assets/extract/z64_resource_handlers.py | 199 | def animation_resource_handler( | CODE |
| LOW | tools/assets/extract/z64_resource_handlers.py | 209 | def collision_resource_handler( | CODE |
| LOW | tools/assets/extract/z64_resource_handlers.py | 253 | def ci_texture_resource_handler( | CODE |
| LOW | tools/assets/extract/z64_resource_handlers.py | 334 | def vtx_array_resource_handler( | CODE |
| LOW | tools/assets/extract/z64_resource_handlers.py | 351 | def binary_blob_resource_handler( | CODE |
| LOW | tools/assets/extract/z64_resource_handlers.py | 379 | def cutscene_resource_handler( | CODE |
| LOW | tools/assets/extract/z64_resource_handlers.py | 409 | def path_list_resource_handler( | CODE |
| LOW | …ls/assets/extract/extase_oot64/room_shape_resources.py | 41 | def report_room_shape_at_segmented( | CODE |
| LOW | …ls/assets/extract/extase_oot64/room_shape_resources.py | 58 | def get_room_shape_resource_type(file: File, offset: int): | CODE |
| LOW | tools/assets/extract/extase_oot64/dlist_resources.py | 418 | def tlut_can_omit_tlut_info_from_users(self): | CODE |
| LOW | tools/assets/extract/extase_oot64/skeleton_resources.py | 189 | def set_enum_member_name_none(self, enum_member_name_none: str): | CODE |
| LOW | tools/assets/extract/extase_oot64/skeleton_resources.py | 237 | def get_skeleton_header_cdata_unpacked(self) -> dict: ... | CODE |
| LOW | tools/assets/extract/extase_oot64/skeleton_resources.py | 298 | def get_skeleton_header_cdata_unpacked(self): | CODE |
| LOW | tools/assets/extract/extase_oot64/skeleton_resources.py | 344 | def get_skeleton_header_cdata_unpacked(self): | CODE |
| LOW | tools/assets/extract/extase/memorymap.py | 267 | def get_dmadata_table_rom_file_name_from_vrom(self, vromStart, vromEnd): | CODE |
| LOW | tools/assets/extract/extase/memorymap.py | 270 | def _direct_address_to_offset(self, address: int): | CODE |
| LOW | tools/assets/extract/extase/memorymap.py | 323 | def report_resource_at_segmented( | CODE |
| LOW | tools/assets/extract/extase/memorymap.py | 373 | def mark_resource_buffer_at_segmented( | CODE |
| LOW | tools/assets/extract/extase/memorymap.py | 407 | def get_attribute_at_segmented( | CODE |
| LOW | tools/assets/extract/extase/memorymap.py | 412 | def get_c_reference_at_segmented(self, address: int): | CODE |
| LOW | tools/assets/extract/extase/memorymap.py | 427 | def get_c_expression_length_at_segmented(self, address: int): | CODE |
| LOW | tools/assets/extract/extase/__init__.py | 216 | def get_overlapping_resources(self): | CODE |
| LOW | tools/assets/extract/extase/__init__.py | 249 | def check_overlapping_resources(self): | CODE |
| LOW | tools/assets/extract/extase/__init__.py | 261 | def check_non_parsed_resources(self): | CODE |
| LOW | tools/assets/extract/extase/__init__.py | 515 | def add_unaccounted_resources(self, *, I_D_OMEGALUL: bool): | CODE |
| LOW | tools/assets/extract/extase/__init__.py | 628 | def write_resources_extracted(self, file_memory_context: "MemoryContext"): | CODE |
| LOW | tools/assets/extract/oot64_data/__init__.py | 34 | def get_entrance_scene_id_name(entrance_id: int) -> str: | CODE |
| LOW | tools/assets/extract/oot64_data/__init__.py | 56 | def get_entrance_ids_from_scene_id_name(scene_id_name: str) -> Sequence[int]: | CODE |
| LOW | tools/assets/extract/oot64_data/__init__.py | 77 | def get_scene_id_from_rom_file_name(rom_file_name: str) -> int: | CODE |
| LOW | tools/assets/extract/oot64_data/__init__.py | 88 | def get_nature_ambience_id_name(nature_ambience_id: int) -> str: | CODE |
| LOW | tools/assets/extract/oot64_data/__init__.py | 111 | def get_camera_setting_type_name(camera_setting_type: int) -> str: | CODE |
| LOW | tools/assets/extract/oot64_data/__init__.py | 119 | def get_room_shape_image_amount_type_name(room_shape_image_amount_type: int) -> str: | CODE |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | diff.py | 1048 | except Exception: | CODE |
| LOW | diff.py | 1199 | except Exception: | CODE |
| LOW | diff.py | 1231 | except Exception as e: | CODE |
| LOW | tools/fix_bss.py | 807 | except Exception as e: | CODE |
| MEDIUM | tools/extract_baserom.py | 66 | print(f"Error: segment {dma_name} is compressed", file=sys.stderr) | CODE |
| MEDIUM | tools/decompress_baserom.py | 180 | print(f"Error: Unknown version '{version}'.") | CODE |
| MEDIUM | tools/decompress_baserom.py | 209 | print(f"Error: Could not find {','.join(path_list)}.") | CODE |
| MEDIUM | tools/patch_ique_driverominit.py | 24 | print("Error: .text section not found") | CODE |
| MEDIUM | tools/patch_ique_driverominit.py | 30 | print("Error: expected instruction not found, found 0x%08X" % instruction) | CODE |
| MEDIUM | tools/csdis.py | 793 | print("Something went wrong!") # TODO more debug info | CODE |
| MEDIUM | tools/csdis.py | 831 | print("Something went wrong!") # TODO more debug info | CODE |
| MEDIUM | tools/set_o32abi_bit.py | 13 | print('Error: Not an ELF file') | CODE |
| MEDIUM | tools/set_o32abi_bit.py | 19 | print('Error: Architecture not mips3') | CODE |
| LOW | tools/asm-differ/diff.py | 1048 | except Exception: | CODE |
| LOW | tools/asm-differ/diff.py | 1199 | except Exception: | CODE |
| LOW | tools/asm-differ/diff.py | 1231 | except Exception as e: | CODE |
| MEDIUM | tools/disasm/disasm.py | 89 | print(f"Error: spimdisasm>=1.28.1 is required (you have {spimdisasm.__version__})") | CODE |
| LOW | tools/audio/extraction/audiobank_file.py | 483 | except Exception as e: | CODE |
| MEDIUM | tools/overlayhelpers/damage_table.py | 160 | print('Error: address or file required. Use -h for more detail.') | CODE |
| LOW | tools/assets/descriptor/base.py | 121 | except Exception as e: | CODE |
| LOW | tools/assets/descriptor/base.py | 145 | except Exception as e: | CODE |
| LOW | tools/assets/descriptor/base.py | 177 | except Exception as e: | CODE |
| LOW | tools/assets/descriptor/base.py | 195 | except Exception as e: | CODE |
| LOW | tools/assets/descriptor/base.py | 202 | except Exception as e: | CODE |
| LOW | tools/assets/descriptor/base.py | 314 | except Exception as e: | CODE |
| LOW | tools/assets/extract/extract_xml_z64.py | 82 | except Exception as e: | CODE |
| LOW | tools/assets/extract/extract_xml_z64.py | 304 | except Exception as e: | CODE |
| LOW | tools/assets/extract/extract_xml_z64.py | 497 | except Exception as e: | CODE |
| MEDIUM | tools/assets/extract/extract_xml_z64.py | 301 | def process_pool_wrapped(extraction_ctx, pd): | CODE |
| MEDIUM | tools/assets/extract/extase/__init__.py | 356 | print("Error while attempting to parse data", resource) | CODE |
| MEDIUM | tools/assets/extract/extase/__init__.py | 360 | print("Error while attempting to parse data", resource) | CODE |
| MEDIUM | tools/assets/extract/extase/cdata_resources.py | 85 | print("Error reporting data", self, self.report_f, resource, v) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sym_info.py | 11 | CODE | |
| LOW | diff.py | 402 | CODE | |
| LOW | tools/fix_bss.py | 7 | CODE | |
| LOW | tools/version_config.py | 6 | CODE | |
| LOW | tools/extract_baserom.py | 6 | CODE | |
| LOW | tools/dmadata.py | 4 | CODE | |
| LOW | tools/decompress_baserom.py | 6 | CODE | |
| LOW | tools/ido_block_numbers.py | 19 | CODE | |
| LOW | tools/ido_block_numbers.py | 23 | CODE | |
| LOW | tools/extract_incbins.py | 6 | CODE | |
| LOW | tools/extract_incbins.py | 10 | CODE | |
| LOW | tools/extract_incbins.py | 12 | CODE | |
| LOW | tools/extract_text.py | 6 | CODE | |
| LOW | tools/compress.py | 6 | CODE | |
| LOW | tools/asm-differ/diff.py | 402 | CODE | |
| LOW | tools/disasm/disasm.py | 6 | CODE | |
| LOW | tools/asm_processor/asm_processor.py | 5 | CODE | |
| LOW | tools/assets/extract/extract_xml_z64.py | 44 | CODE | |
| LOW | …ls/assets/extract/extase_oot64/room_shape_resources.py | 10 | CODE | |
| LOW | …ets/extract/extase_oot64/skelanime_legacy_resources.py | 9 | CODE | |
| LOW | …ols/assets/extract/extase_oot64/skelcurve_resources.py | 7 | CODE | |
| LOW | …s/assets/extract/extase_oot64/scene_rooms_resources.py | 7 | CODE | |
| LOW | tools/assets/extract/extase_oot64/dlist_resources.py | 19 | CODE | |
| LOW | …ls/assets/extract/extase_oot64/playeranim_resources.py | 7 | CODE | |
| LOW | …assets/extract/extase_oot64/scene_commands_resource.py | 9 | CODE | |
| LOW | tools/assets/extract/extase_oot64/skeleton_resources.py | 14 | CODE | |
| LOW | …assets/extract/extase_oot64/skeleton_skin_resources.py | 9 | CODE | |
| LOW | …ols/assets/extract/extase_oot64/animation_resources.py | 7 | CODE | |
| LOW | …ols/assets/extract/extase_oot64/collision_resources.py | 7 | CODE | |
| LOW | tools/assets/extract/extase/__init__.py | 16 | CODE | |
| LOW | tools/assets/extract/extase/cdata_resources.py | 10 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | diff.py | 894 | # This method is unused by this formatter | COMMENT |
| MEDIUM | tools/preprocess.sh | 74 | # Create a temporary directory, and remove it on script exit | COMMENT |
| MEDIUM | tools/armips_gen.py | 5 | # Create a single-file armips assembler from an upstream commit, for MIPS only. | COMMENT |
| MEDIUM | tools/asm-differ/diff.py | 894 | # This method is unused by this formatter | COMMENT |
| MEDIUM | tools/audio/extraction/audiobank_structs.py | 4 | # This file implements reading various structures resident to the Audiobank files. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/extract_text.py | 1633 | # No args to handle, just return the control char name | COMMENT |
| MEDIUM | include/animation.h | 130 | // In some contexts, disabling the first frame of movement is necessary for a seamless transition. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/decompress_baserom.py | 217 | # Check if ROM needs to be byte/word swapped | COMMENT |
| LOW | tools/assets/extract/extract_xml_z64.py | 102 | # Check if described resources overlap | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/audio/extraction/audiotable.py | 113 | CODE | |
| LOW | tools/assets/extract/extase_oot64/dlist_resources.py | 684 | CODE |