LagoLunatic
dfa145e16c
Do not clear highlighted symbol when hovering mouse over an unpaired symbol
2024-11-28 17:00:43 -05:00
LagoLunatic
5bffaa8b5b
Do not clear highlighted symbol when backing out of diff view
2024-11-28 16:58:22 -05:00
LagoLunatic
7d677009ce
Add hotkeys to select the next symbol above/below the current one in the listing
2024-11-28 16:56:11 -05:00
LagoLunatic
76f1952cff
Add scroll hotkeys
2024-11-28 16:34:35 -05:00
LagoLunatic
e448630f36
Add enter and back hotkeys
2024-11-28 16:26:30 -05:00
LagoLunatic
06c4d6e141
Update .gitignore
2024-11-28 16:19:17 -05:00
LagoLunatic
3e42533b68
Fix missing dependency feature for objdiff-gui
2024-11-27 21:05:07 -05:00
Luke Street
a119d9a6dd
Add scratch preset_id field for decomp.me
...
Resolves #133
2024-11-07 09:27:13 -07:00
robojumper
ebf653816a
Combine nested otherwise empty directories in objects view ( #137 )
2024-11-07 08:21:39 -07:00
Luke Street
424434edd6
Experimental ARM64 support
...
Based on yaxpeax-arm, but with a heavy dose of
custom code to work around its limitations.
Please report any issues or unhandled relocations.
2024-10-31 17:39:12 -06:00
Luke Street
7f14b684bf
Ignore PlainText segments when diffing
2024-10-31 17:27:27 -06:00
Luke Street
c5da7f7dd5
Show diff color when symbols differ
2024-10-31 17:26:59 -06:00
Luke Street
2fd655850a
Ignore Absolute relocations and log warning
2024-10-31 17:24:49 -06:00
Luke Street
79bd7317c1
Match BranchDest->Reloc with relaxed relocation diffs
2024-10-31 17:24:33 -06:00
Luke Street
21f8f2407c
Relax symbol comparison logic
...
The Ghidra delinker plugin emits functions with type STT_OBJECT,
rather than STT_FUNC. The current logic was preventing these from
being compared based on their symbol type. Relax this condition
for now.
2024-10-29 22:46:02 -06:00
Luke Street
d2b7a9ef25
Fix missing common BSS symbols
...
Resolves #128
2024-10-28 17:54:49 -06:00
Luke Street
2cf9cf24d6
Version v2.3.3
2024-10-20 20:01:35 -07:00
Anghelo Carvajal
5ef3416457
Improve dependency gating on objdiff-core ( #126 )
...
* Reduce dependencies for no features
* Add missing deps to every feature
* Add missing `dep:`s
* Gate even more deps behind features
Removes dependency on tsify-next / wasm-bindgen unless
compiling with the wasm feature by using `#[cfg_attr]`
* Fix wasm
---------
Co-authored-by: Luke Street <luke@street.dev>
2024-10-20 19:04:29 -07:00
Aetias
6ff8d002f7
Fix panic when parsing DWARF 2 line info for empty section ( #125 )
...
* Fix panic when parsing DWARF 2 line info for empty section
* Fix panic when parsing DWARF 2 line info for empty section
May as well remove both unwraps :p
2024-10-19 09:39:18 -06:00
Luke Street
9ca157d717
Lighten default blue diff color
...
The old default was very dark and blended in with
the dark theme's background.
2024-10-18 17:51:29 -06:00
Steven Casper
67b63311fc
Fix data tooltip panic ( #123 )
...
* Fix data tooltip panic
Prevents panicing when attempting to display the data tooltip for a symbol that is too large by just using as many bytes as needed from the begging of the symbol.
* Don't attempt to interpret wrongly sized data
* Reference data display improvment issue
* Log failure to display a symbol's value
2024-10-14 22:03:30 -06:00
Luke Street
72ea1c8911
ci: Use rust-lld on Windows
2024-10-12 18:57:49 -06:00
Luke Street
d4a540857d
ci: Add Rust workspace cache
2024-10-12 18:41:42 -06:00
Luke Street
676488433f
Fix resolving symbols for section-relative relocations
...
Also fixes MIPS `j` handling when jumping within the function.
Reworks `ObjReloc` struct to be a little more sensible.
2024-10-11 18:09:18 -06:00
Luke Street
83de98b5ee
Version v2.3.1
2024-10-10 22:58:33 -06:00
Luke Street
c1ba4e91d1
ci: Setup python venv for cargo-zigbuild
2024-10-10 22:39:31 -06:00
Luke Street
575900024d
Avoid resetting diff state on unit config reload
2024-10-10 22:31:04 -06:00
Luke Street
cbe299e859
Fix logic issue with 0-sized symbols
...
Fixes #119
2024-10-10 22:20:48 -06:00
Luke Street
741d93e211
Add symbol mapping feature ( #118 )
...
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
2024-10-09 21:44:18 -06:00
Luke Street
603dbd6882
Round match percent down before display
...
Ensures that 100% isn't displayed until it's a
perfect match.
2024-10-07 20:17:56 -06:00
Luke Street
6fb0a63de2
Click on empty space in row to clear highlight
...
Resolves #116
2024-10-07 19:53:16 -06:00
Luke Street
ab2e84a2c6
Deprioritize generated GCC symbols in find_section_symbol
...
Resolves #115
2024-10-07 19:49:52 -06:00
Luke Street
9596051cb4
Allow collapsing sidebar in symbols view
2024-10-07 19:46:16 -06:00
Luke Street
a5d9d8282e
Update all dependencies
2024-10-03 22:00:43 -06:00
Amber Brault
3287a0f65c
Bump cwextab again to 1.0.2 ( #114 )
...
* Bump cwextab
* Updated cwextab to not error on null actions
* Bump cwextab again
2024-10-03 01:12:37 -06:00
Amber Brault
fab9c62dfb
Bump cwextab ( #113 )
...
* Bump cwextab
* Updated cwextab to not error on null actions
2024-10-01 23:20:09 -06:00
Luke Street
08cd768260
Add total_units, complete_units to progress report
2024-09-30 21:41:57 -06:00
Luke Street
8acaaf528c
Version v2.2.0
2024-09-29 12:26:41 -06:00
Luke Street
6e881a74e1
Remove armv7-unknown-linux-musleabi build
2024-09-29 11:57:13 -06:00
Luke Street
cc1bc44e69
Use mimalloc when targeting musl
2024-09-29 11:52:04 -06:00
Luke Street
c7b85518ab
Rework jobs view & error handling improvements
...
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
2024-09-28 12:14:20 -06:00
Luke Street
bb039a1445
Add "Open source file" option
...
Available when right-clicking an object in
the object list or when viewing an object
Resolves #99
2024-09-28 11:50:56 -06:00
Luke Street
8fc142d316
Debounce loaded object modification check
...
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.
2024-09-28 10:55:22 -06:00
Luke Street
b0123b3f83
Improve build log message when command doesn't exist
...
Before, it didn't include the actual command
that was attempted to run.
2024-09-28 10:55:09 -06:00
Luke Street
2ec17aee9b
Improve config read/write performance
...
We were accidentally using unbuffered readers
and writers before, leading to long pauses on
the main thread on slow filesystems. (e.g.
FUSE or WSL)
2024-09-28 10:54:54 -06:00
Luke Street
ec9731e1e5
Set app_id in eframe NativeOptions
...
Fixes missing WM_CLASS on Wayland
2024-09-28 10:53:58 -06:00
OndrikB
a06382c27e
Disambiguate dummy symbols ( #107 )
...
* Disambiguate dummy symbols
* Small formatting improvement
* Put HashMap logic into symbol creation
2024-09-27 00:33:36 -06:00
Luke Street
e013638c5a
clippy fixes
2024-09-27 00:30:30 -06:00
Luke Street
70ab82f1f7
gui: Highlight registers in columns separately
...
This matches the behavior of decomp.me and the
CLI.
Resolves #71
2024-09-27 00:27:36 -06:00
Luke Street
c5896689cf
Use ppc750cl Opcode::from
2024-09-27 00:12:21 -06:00