1e62d4664c
Make function size inference logic arch-specific
...
For MIPS, account for delay slot nops. For x86,
check for trailing nops (0x90). For PPC, check
for 4-byte 0x00 padding.
Resolves #229
2025-08-02 10:56:26 -06:00
1205e8ceb4
Version v3.0.0-beta.12
2025-07-29 21:31:12 -06:00
c917cad5f0
Strip zeros from end of inferred function sizes
...
Resolves #3
2025-07-29 21:20:47 -06:00
8756eee07b
clippy fixes & version bump
2025-07-07 14:56:41 -06:00
bd3ed0d5ad
Version v3.0.0-beta.10
2025-06-17 13:03:14 -06:00
dab79d96a1
Version v3.0.0-beta.9
2025-05-27 21:32:57 -06:00
f7c3501eae
Version v3.0.0-beta.8
2025-05-13 23:15:46 -06:00
d225cac205
Add superh feature to wasm build
2025-05-06 23:14:38 -06:00
73a89d2768
Version v3.0.0-beta.6
2025-04-02 11:03:40 -06:00
7b00a9e9f2
wasm: Cache objects via data hash (XXH3)
2025-03-21 08:27:19 -06:00
6768df9d80
Version v3.0.0-beta.4
2025-03-18 21:36:37 -06:00
87fa29e8b0
objdiff-wasm: Fix symbol filtering
...
regex crate needed the `unicode-case` feature
2025-03-11 21:42:14 -06:00
d56dda72f0
Version v3.0.0-beta.2
2025-03-09 22:56:28 -06:00
799971d54e
Migrate to Rust edition 2024
2025-03-04 22:31:38 -07:00
8eef37e8df
Version v3.0.0-beta.1
2025-03-04 22:24:55 -07:00
4f34dfa194
Don't infer sizes for labels within another symbol
2025-03-03 21:01:22 -07:00
ae6d37a10b
Version v3.0.0-alpha.2
2025-03-03 18:25:38 -07:00
f3c157ff06
WIP objdiff 3.0 refactor
2025-02-26 22:09:39 -07:00
d938988d43
Diff view refactor
2025-02-09 22:27:42 -07:00
e202c3ef95
Version v2.7.1
2025-01-21 22:59:20 -07:00
6037a79ba2
Update all dependencies
2025-01-18 15:58:38 -07:00
c3e3d175c5
Create schema for diff config properties
2025-01-04 21:02:54 -07:00
c65e87c382
Version 2.5.0
2024-12-08 21:48:21 -07:00
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
d2b7a9ef25
Fix missing common BSS symbols
...
Resolves #128
2024-10-28 17:54:49 -06:00
2cf9cf24d6
Version v2.3.3
2024-10-20 20:01:35 -07:00
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
83de98b5ee
Version v2.3.1
2024-10-10 22:58:33 -06:00
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
a5d9d8282e
Update all dependencies
2024-10-03 22:00:43 -06:00
08cd768260
Add total_units, complete_units to progress report
2024-09-30 21:41:57 -06:00
8acaaf528c
Version v2.2.0
2024-09-29 12:26:41 -06:00
258e141017
Upgrade all dependencies
2024-09-27 00:12:16 -06:00
5e1aff180f
Remove vergen / GIT_COMMIT_SHA handling
2024-09-10 23:22:40 -06:00
3846a7d315
Version v2.0.0
2024-09-09 20:18:56 -06:00
56a5a61825
Updates to CI workflow & README.md
2024-09-09 19:34:50 -06:00
3d2236de82
Use workspace keys in Cargo.toml
2024-09-09 19:32:22 -06:00
79cd460333
Update notify-rs to fix WSL crash
...
Fixes #66
2024-06-04 17:13:54 -06:00
6037c12ad0
Disable lto to workaround crash
...
See #66
2024-06-03 18:58:25 -06:00
9a7d2bcebf
Experimental objdiff-cli (WIP)
2024-02-27 18:47:51 -07:00
4eba5f71b0
Split into objdiff-core / objdiff-gui; update egui to 0.26.2
2024-02-26 18:48:48 -07:00
0a85c498c5
Version 1.0.0
2024-01-22 00:32:54 -07:00
c2fcf2797b
Export function to decomp.me scratch (beta)
2024-01-22 00:31:43 -07:00
eef9598e76
Add DWARF 2+ line info support
...
Resolves #37
2024-01-21 23:38:52 -07:00
405a2a82db
Upgrade all dependencies (+ egui/eframe 0.25.0)
2024-01-20 23:41:48 -07:00
4cdad8a519
Re-enable wgpu and wsl features; rework WSL config
...
Improve build failure log view & add copy buttons
2024-01-20 23:29:05 -07:00
b74a49ed0c
Upgrade to egui/eframe 0.24.1
2023-12-11 13:36:00 -05:00
e1079db93a
Add font loading & configuration
2023-11-28 23:13:51 -05:00
e4f97adbdd
Version 0.6.1
2023-11-22 00:11:33 -05:00
74e89130a8
Repaint rework: more responsive, less energy
...
Previously, we repainted every frame on Windows at full refresh rate.
This is an enormous waste, as the UI will be static most of the time.
This was to work around a bug with `rfd` + `eframe`.
On other platforms, we only repainted every frame when a job was running,
which was better, but still not ideal. We also had a 100ms deadline, so
we'd repaint at ~10fps minimum to catch new events (file watcher, jobs).
This removes all repaint logic from the main loop and moves it into the
individual places where we change state from another thread.
For example, the file watcher thread will now immediately notify egui
to repaint, rather than relying on the 100ms deadline we had previously.
Jobs, when updating their status, also notify egui to repaint.
For `rfd` file dialogs, this migrates to using the async API built on top of
a polling thread + `pollster`. This interacts better with `eframe` on Windows.
Overall, this should reduce repaints and improve responsiveness to
file changes and background tasks.
2023-11-21 14:34:26 -05:00