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
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
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
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
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
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
Luke Street
67719dd93e
report: Exclude "hidden" functions
...
Fixes #111
2024-09-27 00:12:21 -06:00
Luke Street
258e141017
Upgrade all dependencies
2024-09-27 00:12:16 -06:00
Luke Street
dbdda55065
Add Report::split
...
A hack for supporting games that build
all versions at once.
2024-09-26 23:47:03 -06:00
Luke Street
2379853faa
Remove unused imports
2024-09-10 23:29:22 -06:00
Luke Street
5e1aff180f
Remove vergen / GIT_COMMIT_SHA handling
2024-09-10 23:22:40 -06:00
Luke Street
3846a7d315
Version v2.0.0
2024-09-09 20:18:56 -06:00
Luke Street
dcf209aac5
Cleanup & move extab code into ppc arch
2024-09-09 19:43:10 -06:00
Luke Street
c7e6394628
Try to resolve deleting autoupdate tmp dir
2024-09-09 19:42:01 -06:00
Luke Street
235dc7f517
Use released ppc750cl & update README.md
2024-09-09 19:41:29 -06:00
Luke Street
56a5a61825
Updates to CI workflow & README.md
2024-09-09 19:34:50 -06:00
Luke Street
3d2236de82
Use workspace keys in Cargo.toml
2024-09-09 19:32:22 -06:00
Luke Street
bcc5871cd8
Update all dependencies
2024-09-09 19:26:46 -06:00
Luke Street
0221a2d54d
clippy fix
2024-09-05 17:52:43 -06:00
Luke Street
e1ae369d17
CI: Fix Cargo.toml version check
2024-09-04 23:51:42 -06:00
Luke Street
ce05d6d6c0
Version v2.0.0-beta.6
2024-09-04 23:36:41 -06:00
Luke Street
c16a926d9b
objdiff-cli: Build static binary & for more arches
2024-09-04 23:33:52 -06:00
Luke Street
68606dfdcb
Add config.schema.json & update README.md
2024-09-03 20:48:45 -06:00
Luke Street
b4650b660a
Hide auto-generated objects in object list
...
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.
2024-09-03 18:59:07 -06:00
Luke Street
195379968c
Support for progress categories & linked stats
2024-09-03 00:59:15 -06:00
Luke Street
1f4175dc21
Overall wasm refactoring & improvements
2024-08-21 19:48:58 -06:00
Luke Street
0fccae1049
Add experimental wasm bindings
...
Published to npm as objdiff-wasm
2024-08-20 21:40:32 -06:00
Luke Street
8250d26b77
Support R_MIPS_LITERAL, R_MIPS15_S3 relocations
...
Resolves #92
Resolves #95
2024-08-18 22:05:16 -06:00
Luke Street
fd555a6e0f
Fix reading little-endian .line section
2024-08-18 21:57:53 -06:00
Luke Street
3710b6a91e
Try even harder to recover from protoc missing
2024-08-18 14:01:49 -06:00
Luke Street
faebddbc5e
More updates to report types
2024-08-18 13:42:41 -06:00
Luke Street
a733a950a3
Avoid requiring protoc unless protos change
2024-08-18 13:40:49 -06:00
Luke Street
cad9b70632
Support protobuf format for reports
...
This migrates to using protobuf to
define the "report" and "changes"
formats in objdiff-cli.
The JSON output now uses the Proto3
"JSON Mapping", which is slightly
incompatible with the existing JSON
format. Mainly, 64-bit numbers are
represented as strings, and addresses
are decimal strings instead of hex.
However, the older JSON format is
still accepted by "report changes"
to ease migration.
2024-08-16 00:52:24 -06:00
Luke Street
cf937b0be9
Guard against symbols larger than section
2024-08-11 16:54:24 -06:00
Luke Street
23b6d33a98
Fix botched find/replace
2024-08-11 16:53:35 -06:00
Luke Street
f17ee83622
Version v2.0.0-beta.3
2024-08-11 16:02:36 -06:00
Luke Street
615ec4c50a
mips: Support R_MIPS_PC16 relocations
2024-08-11 16:00:10 -06:00
Luke Street
2cc10b0d06
cargo +nightly fmt
2024-08-11 14:29:58 -06:00
Luke Street
8091941448
Version v2.0.0-beta.2
2024-08-11 14:27:47 -06:00
Luke Street
de74dfdba7
Add dummy symbols to empty sections
...
Allows diffing sections without symbols
Resolves #87
2024-08-11 14:27:27 -06:00
Luke Street
177bd5e895
Fix branch immediates missing diff colors
...
Resolves #86
2024-08-11 14:01:53 -06:00
Luke Street
e1ccee1e73
Improve data section diffing more
...
This re-implements the older algorithm
used for data and BSS section match
percentages. We perform both and
choose the highest match percent
between the two options.
Resolves #84 , #85
2024-08-11 13:53:52 -06:00
Luke Street
952b6a63c3
Better graphics backend fallback
...
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.
2024-08-11 13:33:10 -06:00
Luke Street
fc598af329
Version 2.0.0-beta.1
2024-07-21 23:03:15 -06:00
Luke Street
871407622d
Use regex for symbol search
...
Also fixes case insensitivity and
properly searches the .comm section
Fixes #80
2024-07-21 23:01:58 -06:00
Luke Street
e3fff7b0dc
Improve data section diff logic
...
More accurate in more cases
Fixes #81
2024-07-21 22:52:46 -06:00
Luke Street
233839346a
Version v2.0.0-alpha.5
2024-06-20 20:31:31 -06:00
Luke Street
95615c2ec5
Improve MIPS ABI auto-detection
2024-06-20 19:57:18 -06:00
Luke Street
759d55994a
Fix clippy warning
2024-06-18 21:49:19 -06:00
Luke Street
cff6a230a3
Remove alternate diff algorithms, only keep Patience
2024-02-27 21:18:42 -07:00
Luke Street
b74a49ed0c
Upgrade to egui/eframe 0.24.1
2023-12-11 13:36:00 -05:00
Luke Street
879e03eed5
All one line (thanks PowerShell)
2023-11-27 19:55:17 -05:00
Luke Street
53e6e0c7c4
Build macOS with wgpu enabled
2023-11-27 19:52:12 -05:00
Luke Street
52f8c5d4f9
Add "Recent Projects" to file menu
2023-10-03 13:52:16 -04:00
Luke Street
bf3ba48539
Match watch_patterns with project-relative paths
2023-08-14 00:21:56 -04:00
Luke Street
f5f6869029
Start project config file support & rework UI
2023-08-07 20:11:56 -04:00
Luke Street
ba74d63a99
Fix data diffing
2023-01-17 19:33:31 -05:00