The flag is cleared after one scroll to avoid doing it continuously, but this breaks when we need to scroll to both the left and the right symbol at the same time. So now each side has its own flag to keep track of this state independently.
e.g. The symbol list was stealing the W/S key presses when typing into the symbol filter text edit.
If the user actually wants to use these shortcuts while a widget is focused, they can simply press the escape key to unfocus all widgets and then press the shortcut.
This allows users to "map" (or "link") symbols with different names so that they can be compared without having to update either the target or base objects. Symbol mappings are persisted in objdiff.json, so generators will need to ensure that they're preserved when updating. (Example: d1334bb79e)
Resolves#117
Job status is now shown in the top menu bar,
with a new Jobs window that can be toggled.
Build and diff errors are now handled more
gracefully.
Fixes#40
Before, this was running 2 fs::metadata
calls every frame. We don't need to do it
nearly that often, so now it only checks
once every 500ms.
This required refactoring AppConfig into
a separate AppState that holds transient
runtime state along with the loaded
AppConfig.
* Guess reloc data type based on the instruction.
Adds an entry to the reloc tooltip to show the inferred data type
and value.
* Fix clippy warning
* Match on Opcode rather than mnemonic string
With filter option to display them,
if desired. decomp-toolkit will
start writing auto-generated objects
in objdiff.json for reporting
purposes, so this maintains the
existing behavior.
This attempts the following in order:
- wgpu with user-selected backend
- wgpu with automatic backend
- glow (fallback OpenGL backend)
This should eliminate most issues
where objdiff fails to launch.