Luke Street
48305e0380
Add hover/context APIs to wasm component
2025-03-02 21:51:47 -07:00
Luke Street
2eafbb218b
Update all dependencies
2025-03-02 16:13:12 -07:00
Luke Street
a1f2a535e5
Unify context menu / hover tooltip code + UI improvements
2025-03-02 16:13:12 -07:00
Luke Street
8461b35cd7
Fix WASM CI build
2025-03-02 16:13:12 -07:00
Luke Street
95868f1d19
Reimplement x86 arch, MSVC section group combining
...
Plus display_row/DiffText refactoring
2025-03-02 16:13:12 -07:00
Luke Street
506c251d68
Various fixes
2025-02-26 22:47:42 -07:00
Luke Street
f3c157ff06
WIP objdiff 3.0 refactor
2025-02-26 22:09:39 -07:00
Luke Street
bbd8d9714f
Adjust CI build features
2025-02-09 22:28:04 -07:00
Luke Street
3c66ac3d54
Fix run_make on Windows
2025-02-09 22:28:04 -07:00
Luke Street
561a9107e2
clippy & deny fixes
2025-02-09 22:28:04 -07:00
Luke Street
e8de35b78e
Make objdiff-core no_std + huge WASM rework
2025-02-09 22:28:02 -07:00
Luke Street
d938988d43
Diff view refactor
2025-02-09 22:27:42 -07:00
Luke Street
e202c3ef95
Version v2.7.1
2025-01-21 22:59:20 -07:00
Luke Street
11171763eb
Use cargo-deny-action@v2
2025-01-18 16:16:12 -07:00
Luke Street
6037a79ba2
Update all dependencies
2025-01-18 15:58:38 -07:00
Luke Street
f7efe5fdff
cargo update
2025-01-04 21:29:29 -07:00
Luke Street
0692deac59
Use ObjInsArgValue::loose_eq in arg_eq
2025-01-04 21:02:54 -07:00
Luke Street
c3e3d175c5
Create schema for diff config properties
2025-01-04 21:02:54 -07:00
Luke Street
c45f4bbc99
Diff schema updates & WASM updates
2025-01-04 21:02:54 -07:00
Luke Street
b0c5431ac5
Add version to notify deps
2025-01-04 21:02:54 -07:00
Luke Street
c65e87c382
Version 2.5.0
2024-12-08 21:48:21 -07:00
Luke Street
1756b9f6c5
Repaint after view action
2024-12-08 21:42:33 -07:00
Luke Street
303f2938a2
Update dependencies
2024-12-08 21:40:13 -07:00
Luke Street
526e031251
Experimental objdiff-cli diff auto-rebuild
2024-12-08 21:40:13 -07:00
Luke Street
7aa878b48e
Update all dependencies & clippy fixes
2024-12-01 22:22:35 -07:00
Luke Street
a119d9a6dd
Add scratch preset_id field for decomp.me
...
Resolves #133
2024-11-07 09:27:13 -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
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