Static recompilation of The Legend of Zelda: Tears of the Kingdom to native Windows and Linux x86-64, with a Vulkan renderer. Game files not included.
This report summarizes scanner evidence for valentderah/totk-pc-recomp, a C project with 7,121 GitHub stars. SynthScan examined 177,710 lines of code across 344 source files, recording 905 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 6.5 (Moderate 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-11-14.
Can maintainers explain intent, assumptions, and trade-offs? 825 finding(s).
Are imports declared and package/API names verified? 60 finding(s).
Are wrappers, guards, and repeated structures necessary? 138 finding(s).
Which changes need focused human review? 905 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
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 905 distinct pattern matches across 12 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 | config.example.toml | 1 | # Copy to config.local.toml (ignored by git) and point it at your own files. | COMMENT |
| LOW | tools/ultrawide_layout.py | 21 | # Full-screen layouts whose root pane stays as wide as the canvas. | COMMENT |
| LOW | tools/xlate/Program.cs | 1 | // TOTK Vulkan adaptation of MacNativeGames games/totk/tools/totk_xlate/Program.cs (MIT, see LICENSE; MNG commit b75be8c | COMMENT |
| LOW | tools/xlate/Program.cs | 101 | // come from registers (agl_technique_pfx compute b940aa86, dfe7662f) otherwise becomes an OpConstantComposite o | COMMENT |
| LOW | runtime/loader.c | 1 | // Adapted from LAS Recomp runtime/loader.c @ da35b83 (MIT, Copyright (c) 2026 Peiikai) and MacNativeGames | COMMENT |
| LOW | runtime/ui_text.c | 1 | // Catalog of the text the host shows the player (ui_text.h). One array per catalog language, indexed by UiTextId: a new | COMMENT |
| LOW | runtime/ov_system.c | 1 | // Adapted from MacNativeGames games/totk/runtime/services.c (lines 208-302), applet_host.c, account.c, time_host.c and | COMMENT |
| LOW | runtime/ov_system.c | 21 | COMMENT | |
| LOW | runtime/motion_fusion.c | 1 | // Adapted from MacNativeGames games/totk/runtime/motion_fusion.c @ b75be8cf (MIT, Copyright (c) 2026 MacNativeGames | COMMENT |
| LOW | runtime/oom.c | 1 | // Short out-of-memory spells: a failed allocation waits for memory instead of ending the game. | COMMENT |
| LOW | runtime/restbl.h | 1 | // The game's resource size table (restbl.c): System/Resource/ResourceSizeTable.Product.<n>.Nin_NX_NVN.rsizetable.zs, a | COMMENT |
| LOW | runtime/prof_win.c | 1 | // Sampling profiler (TOTK_PROFILE=<path>) and per-frame timing (TOTK_TRACE=perf). tools/prof_report.py reads the profil | COMMENT |
| LOW | runtime/prof_win.c | 21 | #include <tlhelp32.h> | COMMENT |
| LOW | runtime/input.h | 1 | // Host input sampling (runtime/input.c, with input_win.c or input_sdl.c): SDL3 gamepad and the keyboard as one Switch n | COMMENT |
| LOW | runtime/input.h | 41 | void input_block(int on); | COMMENT |
| LOW | runtime/cheats.c | 1 | // Cheats of the mods' Atmosphere cheat files (cheats.h). Each enabled mod the port can use (mods.h) may hold | COMMENT |
| LOW | runtime/cheats.c | 21 | #include <stdio.h> | COMMENT |
| LOW | runtime/nvn_ext.c | 1 | // NVN entry points beyond the core implementation that only report stored object state, attach debugging metadata, | COMMENT |
| LOW | runtime/nvn_hmap.h | 1 | // Ported from MacNativeGames games/totk/third_party/d2r_gfx/gfx/nvn/nvn_hmap.h @ b75be8cf (MIT, Copyright (c) 2026 | COMMENT |
| LOW | runtime/frame_rate.c | 1 | // Adapted from MacNativeGames games/totk/runtime/game_patches.c @ ebe621d (MIT, Copyright (c) 2026 MacNativeGames | COMMENT |
| LOW | runtime/frame_rate.c | 21 | // same short steps also crash a physics worker reading that buffer's contacts: an access violation in main+0x1292560 | COMMENT |
| LOW | runtime/frame_rate.c | 41 | // | COMMENT |
| LOW | runtime/vk_astc.c | 1 | // ASTC textures on the GPU: the TOTK_ASTC knob, a compute decoder that turns raw blocks into the RGBA8 image the CPU | COMMENT |
| LOW | runtime/nvn_procs.c | 1 | // NVN proc table. Every name the game's proc loader asks for gets a synthetic host | COMMENT |
| LOW | runtime/dispatch.c | 1 | // Indirect-branch dispatch: guest address -> lifted function, O(1). | COMMENT |
| LOW | runtime/memory.c | 1 | // Adapted from MacNativeGames games/totk/runtime/services.c and loader.c @ b75be8c (MIT, Copyright (c) 2026 | COMMENT |
| LOW | runtime/memory.c | 21 | #define GiB (1ull << 30) | COMMENT |
| LOW | runtime/perfmon.c | 1 | // Performance overlay numbers (runtime/perfmon.h). Frame times come from the game's presents (perf_present, only while | COMMENT |
| LOW | runtime/nvn_probe.c | 1 | // totk.exe --probe-nvn: the NVN front end and the null back end, called the way the | COMMENT |
| LOW | runtime/nvn_probe.c | 21 | #include "host.h" | COMMENT |
| LOW | runtime/gfx_shader.c | 1 | // Shader service client: turns an NVN program (control section, code, c1 constants and the | COMMENT |
| LOW | runtime/gfx_shader.c | 21 | // Pack: tools/pack_shader_cache.py folds the .spv, .res.json, .use and in/*.in files into <cache>/shader-cache.pack | COMMENT |
| LOW | runtime/gfx_shader.c | 41 | COMMENT | |
| LOW | runtime/gfx_shader.c | 1761 | // not make records of their own (a fight run meets 4126 full pairs, 1238 input ids). The full | COMMENT |
| LOW | runtime/vk_formats.c | 1 | // NVN format -> VkFormat for the textures of the graphics layer. | COMMENT |
| LOW | runtime/kernel.c | 1 | // Adapted from MacNativeGames games/totk/runtime/threads.c @ b75be8c (MIT, Copyright (c) 2026 MacNativeGames | COMMENT |
| LOW | runtime/kernel.c | 21 | #define R_TIMEOUT KERN_R_TIMEOUT | COMMENT |
| LOW | runtime/kernel.c | 321 | t->lw_ns += d; | COMMENT |
| LOW | runtime/kernel.c | 361 | void kern_free_cores_note(void) { | COMMENT |
| LOW | runtime/kernel.c | 381 | // it, for granting, kicking, preempting and yielding. Without it MacNativeGames' game stopped at its first | COMMENT |
| LOW | runtime/kernel.c | 441 | p = w->prio; | COMMENT |
| LOW | runtime/nvn_obj.h | 1 | // Ported from MacNativeGames games/totk/third_party/d2r_gfx/gfx/nvn/nvn_obj.h and the two types of nvn_tex.h @ b75be8cf | COMMENT |
| LOW | runtime/kernel_probe.c | 1 | // --probe-kernel: the kernel's waits, wake orders, virtual cores, fibers and | COMMENT |
| LOW | runtime/host.h | 1 | // Interface of the host runtime: guest memory, modules, kernel, IPC, file system and boot. | COMMENT |
| LOW | runtime/host.h | 101 | // File-scope declarations; fn must be declared before. The loader binds them by symbol name. The entries of every | COMMENT |
| LOW | runtime/host.h | 321 | double frame_step_limit_hz(void); // the frame rate the limit gives (overlay); 0 unknown | COMMENT |
| LOW | runtime/vk_device.c | 1 | // Vulkan instance, physical device choice, logical device, VMA, timeline semaphore and the validation messenger. | COMMENT |
| LOW | runtime/mods.c | 1 | // Player mods: the scan of the mods folder, its order and switches (mods.h). | COMMENT |
| LOW | runtime/mods.c | 21 | #include <ctype.h> | COMMENT |
| LOW | runtime/input_map.c | 1 | // Binding tables (keyboard/mouse and gamepad), their totk.ini overrides, the pure mapping functions and the Buttons | COMMENT |
| LOW | runtime/tex.h | 1 | // CPU-side texture code: block-linear <-> linear copies, ASTC decode, NVN format -> VkFormat. Vulkan memory and | COMMENT |
| LOW | runtime/vk.h | 1 | // Vulkan-internal header of the graphics layer. Host code only; the guest never sees it. | COMMENT |
| LOW | runtime/vk.h | 81 | COMMENT | |
| LOW | runtime/vk.h | 121 | VkPassMark *vk_pass_mark_begin(VkCommandBuffer cb, int kind, uint64_t fence); | COMMENT |
| LOW | runtime/vk.h | 141 | // vk_present_image split in two: vk_present_blit submits the blit and leaves the present waiting, vk_present_flip | COMMENT |
| LOW | runtime/vk.h | 221 | void *pool; // the imported pool record behind the span (NULL for device memory), for VK_MEM_BOUND | COMMENT |
| LOW | runtime/vk.h | 241 | void vk_mem_dirty_submit(void); // vk_sync_submit, under its lock, before the replay | COMMENT |
| LOW | runtime/vk.h | 621 | uint32_t n_sets; | COMMENT |
| LOW | runtime/vk.h | 641 | // cached under the current translator from their stored inputs, and builds every recorded pipeline, on all cores. | COMMENT |
| LOW | runtime/cfg.c | 1 | // totk.ini: file-backed defaults for the TOTK_* environment variables (docs/controls.md, totk.ini.example). | COMMENT |
| 561 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/make_dlaa_mask.py | 14 | if (g.x < p.x && g.y < p.y) { | STRING |
| HIGH | tests/excl_mt.py | 40 | for (int k = 0; aba_width && k < 2; k++) { | CODE |
| HIGH | tests/excl_mt.py | 106 | int ok = got == (width == 32 ? (uint32_t)want : want) && (width != 128 || cell[1] == 3 * want); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 374 | assert(LOAD(0x23c0a1c,11)==pad_y && fabsf(LOAD(0x23c0b00,0)+50*DEG_PER_COUNT)<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 383 | assert(LOAD(0x23cb274,8)==pad_x && fabsf(LOAD(0x23cb2a0,1)-(5-100*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 384 | assert(LOAD(0x23cb3f8,8)==pad_y && fabsf(LOAD(0x23cb424,1)-(6-50*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 406 | assert(ox>1 && ox-1<100*DEG_PER_COUNT/2 && oy>0 && oy<50*DEG_PER_COUNT/4); // slower than the camera alone | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 416 | assert(LOAD(0x23c2890,13)==pad_y && fabsf(LOAD(0x23c28b4,1)-(3-50*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 417 | assert(LOAD(0x23c2934,13)==pad_x && fabsf(LOAD(0x23c2964,1)-(9-100*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 436 | assert(LOAD(0x23cecb4,9)==pad_y && fabsf(LOAD(0x23cecf8,1)-(2-50*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 437 | assert(LOAD(0x23ced0c,9)==pad_x && fabsf(LOAD(0x23ced4c,1)-(3-100*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 442 | assert(LOAD(0x23d4b14,12)==pad_x && LOAD(0x23d4b1c,13)==pad_y); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 443 | assert(fabsf(LOAD(0x23d4f34,0)-(7-100*DEG_PER_COUNT))<1e-5f && fabsf(LOAD(0x23d5028,1)-(8-50*DEG_PER_COUNT))<1e- | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 447 | assert(LOAD(0x23c3d64,1)==pad_y && fabsf(LOAD(0x23c3d70,1)-(4-50*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 449 | assert(LOAD(0x23c3dd0,1)==pad_x && fabsf(LOAD(0x23c3dd8,1)-(5-100*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 457 | assert(c.x[8]>>32==0 && fabsf(w-(11-100*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 459 | assert(sample_watched==sample.generation && sample_watched_mode==MODE_WATERFALL); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 469 | assert(tx>0 && tx<1e-9f && fabsf(LOAD(0x23c5554,1)-(2-100*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 470 | assert(LOAD(0x23c542c,11)==pad_y && fabsf(LOAD(0x23c546c,1)-(1-50*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 517 | c.x[8]=0x28; activity_hook(&c); assert((uint32_t)c.x[8]==0x11 && c.v[9]==stack[2] && c.v[8]==stack[3]); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 524 | assert(guest_float((uintptr_t)target+0x420)==0 && guest_float((uintptr_t)target+0x424)==0); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 532 | assert(fabsf(scalar(c.v[9])-20*HAND_PER_COUNT/ratio)<1e-5f && fabsf(scalar(c.v[15])+10*HAND_PER_COUNT/ratio)<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 548 | assert(fabsf(scalar(c.v[0])-(12-50*DEG_PER_COUNT))<1e-5f && guest_float((uintptr_t)cam+0x154)==scalar(c.v[0])); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 557 | assert(LOAD(0x1d4070c,8)==pad_x && fabsf(LOAD(0x1d40740,0)-(0.5f-100*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 562 | assert(LOAD(0x1d50738,0)==pad_x && LOAD(0x1d50740,1)==total); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 563 | assert(LOAD(0x1d50768,0)==total && LOAD(0x1d5076c,1)==pad_x); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 572 | assert(c.x[8]>>32==0 && fabsf(w-(11-100*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 575 | assert(LOAD(0x1d3a3f8,11)==pad_y && fabsf(LOAD(0x1d3a420,1)-(1-50*DEG_PER_COUNT))<1e-5f); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 636 | assert(dx==123 && dy==-45 && !buttons && !right[0] && !right[1]); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 644 | input_direct_mouse_sample(1,&dx,&dy); assert(dx==-100 && dy==50); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 649 | mouse_camera(right,1); assert(radial_calls==1 && !row_calls && right[0]==456 && right[1]==789); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 651 | mouse_camera(right,2); assert(row_calls==1 && radial_calls==1 && right[0]==123 && !right[1]); | CODE |
| HIGH⚡ | tests/mouse_direct_check.py | 653 | mouse_camera(right,3); assert(row_calls==2 && right[0]==123 && !right[1]); | CODE |
| HIGH | tests/mouse_direct_check.py | 34 | if(enabled && captured && foreground && allowed) ikb_mouse_take(x,y); | CODE |
| HIGH | tests/mouse_direct_check.py | 55 | assert(hook && activity_hook); | CODE |
| HIGH | tests/mouse_direct_check.py | 83 | assert(fabsf(x-100*0.04f*ABILITY_GAIN_X)<1e-5f && fabsf(y-50*0.04f*ABILITY_GAIN_Y)<1e-5f); | CODE |
| HIGH | tests/mouse_direct_check.py | 85 | assert(fabsf(x-4)<1e-5f && fabsf(y-PITCH_GAIN*2)<1e-5f); | CODE |
| HIGH | tests/mouse_direct_check.py | 100 | assert(takes==before && raw_x==42 && !input_direct_mouse_active()); c.x[21]=0; | CODE |
| HIGH | tests/mouse_direct_check.py | 119 | assert(guest_float((uintptr_t)target+0x420)==0 && guest_float((uintptr_t)target+0x424)==0); | CODE |
| HIGH | tests/mouse_direct_check.py | 132 | assert(goal==0 && fabsf(current-(30-50*DEG_PER_COUNT))<0.0001f); | CODE |
| HIGH | tests/mouse_direct_check.py | 226 | state_hook(&c); assert(c.x[10]==4 && c.x[8]==1); | CODE |
| HIGH | tests/mouse_direct_check.py | 245 | assert(guest_float((uintptr_t)target+0x420)==0.25f && guest_float((uintptr_t)target+0x424)==0.75f); | CODE |
| HIGH | tests/mouse_direct_check.py | 247 | assert(guest_float((uintptr_t)frame+0x44)==11 && guest_float((uintptr_t)frame+0x48)==22); | CODE |
| HIGH | tests/mouse_direct_check.py | 263 | assert(200*HAND_PER_COUNT/ratio>HAND_MAX && fabsf(guest_float((uintptr_t)frame+0x60)-HAND_MAX)<0.00001f); | CODE |
| HIGH | tests/mouse_direct_check.py | 266 | c.x[21]=1; raw_x=5; raw_y=6; hook(&c); assert(raw_x==0 && raw_y==0 && input_direct_mouse_active()); | CODE |
| HIGH | tests/mouse_direct_check.py | 295 | assert(takes==before && raw_x==42); selecting=0; raw_x=0; | CODE |
| HIGH | tests/mouse_direct_check.py | 318 | assert(flips>3 && shortest>=SHAKE_SIDE_NS); | CODE |
| HIGH | tests/mouse_direct_check.py | 343 | assert(stick_x!=pad_x && stick_y!=pad_y); // the stick the game stored has the mouse in it | CODE |
| HIGH | tests/mouse_direct_check.py | 350 | assert(LOAD(0x23beb94,1)==pad_y && LOAD(0x23bebc8,1)==10); // the same sample turns the camera once | CODE |
| HIGH | tests/mouse_direct_check.py | 482 | assert(LOAD(0x23d0100,1)==pad_x && LOAD(0x23d0104,0)==total); | CODE |
| HIGH | tests/mouse_direct_check.py | 502 | assert(hook && activity_hook && begin_hook && angles_hook && hand_hook && load_hook && !state_hook); | CODE |
| HIGH | tests/cheats_vm_check.py | 116 | if (a < (uintptr_t)heap || a >= (uintptr_t)heap + sizeof heap) return 1; | CODE |
| HIGH | tests/cheats_vm_check.py | 185 | for (int i = 0, j = 0; kind == CHEAT_DATA && i < c->n; j++) { | CODE |
| HIGH⚡ | tests/cheats_vm_check.py | 253 | assert(u32(heap + 0x110) == 0 && u32(heap + 0x114) == 0x2A && u32(heap + 0x118) == 0); | CODE |
| HIGH⚡ | tests/cheats_vm_check.py | 259 | assert(u32(heap + 0x110) == 7 && u32(heap + 0x114) == 0); | CODE |
| HIGH⚡ | tests/cheats_vm_check.py | 264 | assert(g_static[0x80] == 0x33 && u64(heap + 0x120) == 0); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/spin_waits_test.py | 61 | def test_store_of_a_changing_value(self): # the wait path stores w14, which the pass writes | CODE |
| LOW⚡ | tests/installer_gui_test.py | 230 | def test_installed_folder_needs_only_itself(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 239 | def test_installed_folder_still_checks_given_files(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 244 | def test_broken_state_is_a_new_install(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 318 | def test_windows_language_is_a_known_value(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 321 | def test_windows_langid_picks_the_window_language(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 327 | def test_chinese_window_starts_with_a_game_language_that_needs_no_shared_fonts(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 336 | def test_ctrl_break_ends_the_process_group(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 445 | def test_empty_field_keeps_saved_value(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 453 | def test_missing_path_not_saved(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 459 | def test_vanished_path_dropped_on_load(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 467 | def test_directory_as_file_dropped(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 472 | def test_file_as_firmware_dropped(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 565 | def test_other_install_clears_and_restores(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 573 | def test_install_without_recorded_inputs_clears(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 577 | def test_user_picked_field_survives(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 587 | def test_vanished_file_clears(self): | CODE |
| LOW⚡ | tests/installer_gui_test.py | 594 | def test_every_screen_in_both_languages(self): | CODE |
| LOW | tests/installer_gui_test.py | 64 | def test_noise_is_not_an_event(self): | CODE |
| LOW | tests/installer_gui_test.py | 74 | def test_steps_follow_the_events(self): | CODE |
| LOW | tests/installer_gui_test.py | 95 | def test_a_new_step_resets_progress(self): | CODE |
| LOW | tests/installer_gui_test.py | 101 | def test_error_marks_the_step(self): | CODE |
| LOW | tests/installer_gui_test.py | 124 | def test_finish_without_end_event(self): | CODE |
| LOW | tests/installer_gui_test.py | 143 | def test_unknown_event_is_ignored(self): | CODE |
| LOW | tests/installer_gui_test.py | 164 | def test_ok_run_has_only_done_and_skipped_steps(self): | CODE |
| LOW | tests/installer_gui_test.py | 171 | def test_a_new_run_keeps_nothing_of_the_failed_one(self): | CODE |
| LOW | tests/installer_gui_test.py | 256 | def test_every_language_covers_english_with_the_same_placeholders(self): | CODE |
| LOW | tests/installer_gui_test.py | 267 | def test_language_names_tell_the_codes_apart(self): | CODE |
| LOW | tests/installer_gui_test.py | 278 | def test_every_id_the_window_uses_exists(self): | CODE |
| LOW | tests/installer_gui_test.py | 353 | def test_px_follows_the_display_scale(self): | CODE |
| LOW | tests/installer_gui_test.py | 359 | def test_px_at_the_scales_of_other_displays(self): | CODE |
| LOW | tests/installer_gui_test.py | 370 | def test_the_window_draws_at_the_display_scale(self): | CODE |
| LOW | tests/installer_gui_test.py | 407 | def test_override_is_honoured(self): | CODE |
| LOW | tests/installer_gui_test.py | 431 | def test_folder_without_state(self): | CODE |
| LOW | tests/installer_gui_test.py | 502 | def test_old_dest_only_format(self): | CODE |
| LOW | tests/installer_gui_test.py | 514 | def test_blocking_load_leaves_fields_empty(self): | CODE |
| LOW | tests/installer_gui_test.py | 521 | def test_fast_load_is_returned(self): | CODE |
| LOW | tests/installer_gui_test.py | 661 | def test_verify_run_skips_every_step(self): | CODE |
| LOW | tests/installer_gui_test.py | 676 | def test_cancel_during_the_check(self): | CODE |
| LOW⚡ | tests/ncz_test.py | 91 | def test_stream_comes_back_byte_for_byte(self): | CODE |
| LOW⚡ | tests/ncz_test.py | 101 | def test_blocks_come_back_byte_for_byte(self): | CODE |
| LOW⚡ | tests/ncz_test.py | 105 | def test_plain_nsp_is_not_compressed(self): | CODE |
| LOW⚡ | tests/ncz_test.py | 110 | def test_changed_byte_fails_the_hash(self): | CODE |
| LOW⚡ | tests/ncz_test.py | 118 | def test_cut_stream_is_damaged(self): | CODE |
| LOW | tests/ncz_test.py | 145 | def test_unpacks_the_base_and_reuses_it(self): | CODE |
| LOW | tests/ncz_test.py | 156 | def test_content_decides_not_the_name(self): | CODE |
| LOW | tests/ncz_test.py | 163 | def test_damaged_base_names_the_chosen_file(self): | CODE |
| LOW | tests/romfs_prompts_test.py | 413 | def test_plain_overlay_has_only_the_frame_rate_patch(self): | CODE |
| LOW | tests/romfs_prompts_test.py | 422 | def test_face_buttons_name_the_xbox_label_of_the_button_pressed(self): | CODE |
| LOW | tests/romfs_prompts_test.py | 448 | def test_other_buttons_are_drawn_as_xbox_icons(self): | CODE |
| LOW | tests/romfs_prompts_test.py | 475 | def test_button_guide_images_show_the_same_icons(self): | CODE |
| LOW | tests/romfs_prompts_test.py | 494 | def test_resource_size_table_grows_with_the_fonts(self): | CODE |
| LOW | tests/romfs_prompts_test.py | 510 | def test_manifest_lists_what_changed_with_both_hashes(self): | CODE |
| LOW | tests/romfs_prompts_test.py | 524 | def test_pc_prompts_draw_every_button_as_its_key(self): | CODE |
| LOW | tests/romfs_prompts_test.py | 555 | def test_pc_prompts_follow_the_bind_lines(self): | CODE |
| LOW | tests/romfs_prompts_test.py | 568 | def test_same_input_same_output_and_the_older_flag(self): | CODE |
| LOW | tests/romfs_prompts_test.py | 576 | def test_reuse_links_the_files_that_match_and_writes_the_same_overlay(self): | CODE |
| LOW | tests/romfs_prompts_test.py | 604 | def test_unrecognised_romfs_fails_before_writing(self): | CODE |
| LOW⚡ | tests/installer_test.py | 112 | def test_fresh_install_runs_everything_and_records_it(self): | CODE |
| LOW⚡ | tests/installer_test.py | 122 | def test_rerun_skips_finished_steps_and_unneeded_transient(self): | CODE |
| 58 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/pack_shader_cache.py | 127 | except OSError: | CODE |
| HIGH | tools/pack_shader_cache.py | 99 | except OSError: | CODE |
| HIGH | tools/cheats.py | 84 | except ValueError: | CODE |
| HIGH | tools/run_game.py | 135 | except OSError: | CODE |
| HIGH | recomp/gen.py | 535 | except FileNotFoundError: | CODE |
| HIGH | recomp/gen.py | 680 | except ValueError: | CODE |
| HIGH | recomp/jumptables.py | 1030 | except _Unknown: | CODE |
| HIGH | installer/steps.py | 347 | except InstallError: | CODE |
| HIGH | installer/steps.py | 508 | except OSError: | CODE |
| HIGH | installer/steps.py | 688 | except (OSError, IndexError): | CODE |
| HIGH | installer/dpi.py | 57 | except (AttributeError, OSError): | CODE |
| HIGH | installer/dpi.py | 65 | except (AttributeError, OSError): | CODE |
| HIGH | installer/dpi.py | 84 | except (AttributeError, OSError): | CODE |
| HIGH | installer/dpi.py | 88 | except (AttributeError, OSError): | CODE |
| HIGH | installer/dpi.py | 92 | except (AttributeError, OSError): | CODE |
| HIGH | installer/dpi.py | 96 | except (AttributeError, OSError): | CODE |
| HIGH | installer/recent.py | 85 | except OSError: | CODE |
| HIGH | installer/gui.py | 458 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/make_romfs_patches.py | 112 | CODE | |
| LOW | tools/make_romfs_patches.py | 182 | CODE | |
| LOW | tools/pack_shader_cache.py | 31 | CODE | |
| LOW | tools/pack_shader_cache.py | 77 | CODE | |
| LOW | tools/prof_report.py | 34 | CODE | |
| LOW | tools/button_icons.py | 425 | CODE | |
| LOW | tools/ncz.py | 144 | CODE | |
| LOW | tools/crit_path.py | 43 | CODE | |
| LOW | tools/exefs_patches.py | 73 | CODE | |
| LOW | tools/exefs_patches.py | 141 | CODE | |
| LOW | tools/exefs_patches.py | 238 | CODE | |
| LOW | tools/exefs_patches.py | 380 | CODE | |
| LOW | tools/prepare_shaders.py | 88 | CODE | |
| LOW | tools/cheats.py | 72 | CODE | |
| LOW | tools/cheats.py | 96 | CODE | |
| LOW | tools/cheats.py | 112 | CODE | |
| LOW | tools/cheats.py | 258 | CODE | |
| LOW | tools/spin_waits.py | 89 | CODE | |
| LOW | tools/spin_waits.py | 223 | CODE | |
| LOW | tools/spin_waits.py | 264 | CODE | |
| LOW | tools/spin_waits.py | 339 | CODE | |
| LOW | tools/build_game.py | 790 | CODE | |
| LOW | tools/run_game.py | 152 | CODE | |
| LOW | tools/ultrawide_layout.py | 163 | CODE | |
| LOW | tools/ultrawide_layout.py | 246 | CODE | |
| LOW | tools/perf_summary.py | 66 | CODE | |
| LOW | tools/make_release.py | 472 | CODE | |
| LOW | tests/installer_e2e.py | 40 | CODE | |
| LOW | tests/installer_gui_test.py | 604 | CODE | |
| LOW | tests/installer_gui_test.py | 637 | CODE | |
| LOW | tests/jumptables_check.py | 572 | CODE | |
| LOW | tests/jumptables_check.py | 699 | CODE | |
| LOW | tests/jumptables_check.py | 78 | CODE | |
| LOW | tests/jumptables_check.py | 311 | CODE | |
| LOW | tests/romfs_prompts_test.py | 422 | CODE | |
| LOW | tests/romfs_prompts_test.py | 448 | CODE | |
| LOW | tests/romfs_prompts_test.py | 475 | CODE | |
| LOW | tests/romfs_prompts_test.py | 494 | CODE | |
| LOW | tests/romfs_prompts_test.py | 524 | CODE | |
| LOW | tests/diff/lift.py | 157 | CODE | |
| LOW | tests/diff/simd.py | 60 | CODE | |
| LOW | tests/diff/simd.py | 123 | CODE | |
| LOW | tests/diff/common.py | 102 | CODE | |
| LOW | tests/diff/atomic.py | 68 | CODE | |
| LOW | tests/diff/atomic.py | 133 | CODE | |
| LOW | tests/diff/func.py | 150 | CODE | |
| LOW | recomp/lifter.py | 757 | CODE | |
| LOW | recomp/lifter.py | 511 | CODE | |
| LOW | recomp/lifter.py | 597 | CODE | |
| LOW | recomp/lifter.py | 711 | CODE | |
| LOW | recomp/gen.py | 691 | CODE | |
| LOW | recomp/gen.py | 225 | CODE | |
| LOW | recomp/gen.py | 307 | CODE | |
| LOW | recomp/gen.py | 350 | CODE | |
| LOW | recomp/simd_c.py | 92 | CODE | |
| LOW | recomp/simd_c.py | 1043 | CODE | |
| LOW | recomp/simd_c.py | 1088 | CODE | |
| LOW | recomp/patches.py | 74 | CODE | |
| LOW | recomp/nso.py | 44 | CODE | |
| LOW | recomp/jumptables.py | 288 | CODE | |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | runtime/third_party/imgui/imgui.cpp | 6309 | // FIXME: Essentially we want to restrict manual resizing to WindowMinSize+Decoration, and allow api resizing to be | COMMENT |
| MEDIUM | tests/diff/common.py | 22 | # Record layouts of struct In / struct Out in harness.c. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | runtime/third_party/imgui/imgui_draw.cpp | 2843 | const ImWchar* SrcRanges; // Ranges as requested by user (user is allowed to request too much, e.g. 0x | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | runtime/third_party/imgui/imgui.cpp | 3159 | // Step 0: Let you process the first element (regardless of it being visible or not, so we can measure the element h | COMMENT |
| LOW | runtime/third_party/imgui/imgui.cpp | 3176 | // Step 1: Let the clipper infer height from first range | COMMENT |
| LOW | runtime/third_party/imgui/imgui.cpp | 16891 | // Step 0: stack query | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | runtime/third_party/imgui/imgui.cpp | 3159 | // Step 0: Let you process the first element (regardless of it being visible or not, so we can measure the element h | COMMENT |
| LOW | runtime/third_party/imgui/imgui.cpp | 3176 | // Step 1: Let the clipper infer height from first range | COMMENT |
| LOW | runtime/third_party/imgui/imgui.cpp | 16891 | // Step 0: stack query | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | runtime/third_party/imgui/imgui_widgets.cpp | 6963 | // Tip: pass a non-visible label (e.g. "##hello") then you can use the space to draw other text or image. | COMMENT |
| LOW | runtime/third_party/imgui/imgui.cpp | 873 | - 2017/08/25 (1.52) - io.MousePos needs to be set to ImVec2(-FLT_MAX,-FLT_MAX) when mouse is unavailable/missing. Previ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/installer_gui_test.py | 374 | CODE | |
| LOW | tests/installer_gui_test.py | 596 | CODE | |
| LOW | recomp/lifter.py | 9 | CODE | |
| LOW | installer/steps.py | 35 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | installer/runner.py | 148 | except Exception as e: | CODE |
| LOW | installer/gui.py | 458 | except Exception: | CODE |