Luke Street
197d1247a8
Highlight: Consider uimm/simm/offset all equivalent
...
Fixes #33
2024-01-21 23:48:12 -07:00
Luke Street
eef9598e76
Add DWARF 2+ line info support
...
Resolves #37
2024-01-21 23:38:52 -07:00
Luke Street
405a2a82db
Upgrade all dependencies (+ egui/eframe 0.25.0)
2024-01-20 23:41:48 -07:00
Luke Street
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
Luke Street and Luke Street
e1079db93a
Add font loading & configuration
2023-11-28 23:13:51 -05:00
Luke Street and GitHub
67cea2a8d9
Update README.md
2023-11-24 23:17:35 -05:00
Luke Street
e4f97adbdd
Version 0.6.1
2023-11-22 00:11:33 -05:00
Luke Street
0ec7bf078b
Highlight: Consider reg offsets and signed immediates equivalent
...
Fixes #32
2023-11-22 00:07:21 -05:00
Luke Street
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
Luke Street
236e4d8d26
CI updates, update deny.toml, clippy fix
2023-11-21 12:16:15 -05:00
Luke Street
b900ae5a00
Disable WSL integration
...
With WSL, objdiff is unable to get filesystem notifications.
It's recommended to run objdiff natively on Windows, so having this option
is more confusing than useful.
2023-11-21 12:15:41 -05:00
Luke Street
261e1b8e07
Upgrade all dependencies
2023-11-21 11:57:02 -05:00
Luke Street
a29e913b45
Add "Incomplete" filter to object tree
...
Allows filtering out objects marked as "complete".
2023-11-21 11:50:11 -05:00
Luke Street
49257dc73c
Better logic to reload previous file on app start
...
Before, if "Rebuild on changes" was disabled, the last file
wouldn't be properly loaded when starting.
2023-11-21 11:49:26 -05:00
Luke Street
dc9eec66b0
Configurable diff algorithms & new default algorithm
...
Uses the similar crate to support new diff algorithms:
- Patience (new default)
- Levenshtein (old default)
- Myers
- LCS (Longest Common Subsequence)
Options in "Diff Options" -> "Algorithm..."
2023-11-21 11:48:18 -05:00
Luke Street
7b58f9a269
Adjust "Diffable" to exclude missing target objects
2023-10-09 12:47:22 -04:00
Luke Street
d9e7dacb6d
Version 0.5.1
2023-10-07 14:49:01 -04:00
Luke Street
04b4fdcd21
Reload objects when changed externally
...
Uses file modification timestamp polling for project config and objects to avoid unneeded complexity from the filesystem notification watcher.
Allows disabling `build_base` as well for projects using an external build system.
2023-10-07 14:48:34 -04:00
Luke Street
803eaafee6
Hide hidden symbols by default; add "Diff Options" to menu
2023-10-07 13:27:12 -04:00
Luke Street
e1dc84698f
Restore context menu on highlightable fields
...
Fixes #30
2023-10-07 13:04:08 -04:00
Luke Street
e68629c339
Update ppc750cl (subi{,s,c} mnemonics, capstone-style CR bits)
2023-10-06 01:22:26 -04:00
Luke Street
bb9ff4b928
Update all dependencies
2023-10-05 23:55:01 -04:00
Luke Street
57392daaeb
Implement click-to-highlight
...
Highlights registers, instructions, arguments, symbols or addresses on click.
Resolves #7
2023-10-05 23:40:45 -04:00
Luke Street
2dd3dd60a8
Update webpki (advisory fix)
2023-10-05 00:01:09 -04:00
Luke Street
f4757b8d92
Version 0.4.4
...
Add `#[serde(default)]` to new AppConfig field
2023-10-04 23:52:00 -04:00
Luke Street
711f40b591
I forgot to bump the Cargo.toml version, oops
2023-09-10 00:24:53 -04:00
Luke Street
26932b2e44
Support min_version field in objdiff.json
2023-09-09 23:54:25 -04:00
Luke Street
192a06bc0b
Project configuration improvements
...
- Support `completed` field for objects in project config. In object tree, displays red for incomplete, green for complete.
- Add support for one-sided diffs. A project can include objects without an associated source file for viewing.
- Add versioning to AppConfig, supporting upgrades without losing user configuration.
2023-09-09 23:43:12 -04:00
Luke Street
5bfa47fce9
Update webpki, rustls-webpki
2023-09-03 09:42:26 -04:00
Luke Street
1d9b9b6893
clippy fix
2023-09-03 09:31:12 -04:00
Luke Street
6b8e469261
Project configuration fixes & improvements
...
- Allow config to specify object "target_path" and "base_path" explicitly, rather than relying on relative path from the "target_dir" and "base_dir". Useful for more complex directory layouts.
- Fix watch_patterns in project config not using default.
- Fix "Rebuild on changes" not defaulting to true.
- Keep watching project config updates even when "Rebuild on changes" is false.
- Disable some configuration options when loaded from project config file.
2023-09-03 09:28:46 -04:00
Luke Street
21cdf268f0
Update README.md
2023-08-12 14:41:19 -04:00
Luke Street
3970bc8acf
Document configuration file & more cleanup
2023-08-12 14:18:09 -04:00
Luke Street
eaf0fabc2d
Updates to Objects pane & config improvements
2023-08-09 21:53:04 -04:00
Luke Street
91d11c83d6
Refactor state & config structs, various cleanup
2023-08-09 21:53:04 -04:00
Luke Street
94924047b7
Job state handling cleanup
2023-08-09 19:39:06 -04:00
Luke Street
b02e32f2b7
Add dark/light theme toggle (light theme WIP)
2023-07-15 11:17:59 -04:00
Luke Street
c7a326b160
Update all dependencies (again)
2023-07-06 10:37:57 -04:00
Luke Street
100f8f8ac5
Update all dependencies
2023-05-11 02:47:57 -04:00
Luke Street
2f778932a4
Version 0.3.1
2023-02-06 17:40:42 -05:00
Luke Street
42601b4750
Update cwdemangle
2023-02-06 17:40:42 -05:00
Luke Street
636a8e00c5
Fix diffing across mismatched .text sections
2023-02-06 17:40:42 -05:00
Luke Street
319b1c35c0
Move reverse_fn_order into ViewConfig
2023-01-21 13:01:21 -05:00
Luke Street
634e007cbc
Update default configuration
2023-01-21 12:59:46 -05:00
Luke Street
6ee11ca640
Add optional wgpu feature
2023-01-21 12:56:29 -05:00
Luke Street
8278d5d207
Support MIPS PIC relocations
2023-01-21 12:41:41 -05:00
Luke Street
09bbc534bd
Remove debug print
2023-01-21 10:52:21 -05:00
Luke Street
fa28352e08
Fix MIPS operands with base
2023-01-21 10:49:47 -05:00
Luke Street
2ab519d361
Update rabbitizer, deny.toml
2023-01-21 01:36:32 -05:00
Luke Street
500965aacb
Clippy fix
2023-01-21 01:14:16 -05:00
Luke Street
a8c2514377
Changes for egui/object upgrades
2023-01-21 01:13:20 -05:00
Luke Street
4b58f69461
Upgrade all dependencies
2023-01-21 00:54:54 -05:00
Luke Street
cd01b6254c
Use rustls on Linux
2023-01-21 00:06:22 -05:00
Luke Street
bea0a0007d
Initial support for line number info
2023-01-21 00:03:56 -05:00
Luke Street
c7b6ec83d7
ci: Update before apt-get install
2023-01-16 10:55:26 -05:00
Luke Street
e2fde3dbce
Actually increment the version number
2022-12-12 01:17:03 -05:00
Luke Street
613e84ecf2
Version 0.2.3
...
- Fix regression when diffing symbols
across mismatched section indexes
2022-12-10 20:28:01 -05:00
Luke Street
7219e72acf
Version 0.2.2
...
- Add application icon
- Fixes for objects containing multiple
sections with the same name
2022-12-10 10:34:03 -05:00
Luke Street
d1d6f1101b
Version 0.2.1
2022-12-08 01:51:32 -05:00
Luke Street
bc7cce7226
Open "Target" dir for "Select obj"
2022-12-08 01:49:21 -05:00
Luke Street
a0371dd110
Cargo clippy & cargo deny fixes
2022-12-06 18:09:19 -05:00
Luke Street
771a141110
Version 0.2.0
...
- Update checker & auto-updater
- Configure font sizes and diff colors
- Data diffing bug fixes & improvements
- Bug fix for low match percent
- Improvements to Jobs UI (cancel, dismiss errors)
- "Demangle" tool
Closes #6 , #13 , #17 , #19
2022-12-06 17:53:32 -05:00
Luke Street
2f2efb4711
Update build workflow yml
2022-12-06 12:10:30 -05:00
Luke Street
d9efa97c30
Initial work on data diffing
2022-11-06 00:49:46 -04:00
Luke Street
ff9b378445
Fix MIPS relocation addends; update cwdemangle, ppc750cl
2022-11-05 13:16:44 -04:00
Luke Street
d04838fe4e
Update ppc750cl crate for more improved mnemonics & branch prediction bits
2022-10-10 17:54:52 -04:00
Luke Street
c774a7b902
Update ppc750cl crate for improved CR bit & SPR decoding
2022-10-09 23:51:09 -04:00
Luke Street
3224be21db
Rework function diff view ( fixes #12 )
2022-09-20 19:04:32 -04:00
Luke Street
1e44f73b2f
Add simple symbol search & handle symbol relocation addends
2022-09-20 18:20:58 -04:00
Luke Street
b7b177af4c
Symbol diff UI improvements
2022-09-14 13:12:45 -04:00
Luke Street
5259828a2d
Option to skip building target obj
2022-09-13 19:52:25 -04:00
Luke Street
4bab96e20b
Always pass forward slashes to make on Windows
2022-09-11 21:08:18 -04:00
Luke Street
d5e157545d
More fixes
2022-09-11 20:45:27 -04:00
Luke Street
7bcbfd7bc0
Fix build on not(windows)
2022-09-11 20:36:13 -04:00
Luke Street
daaa5c86a2
Improved Windows support & simple WSL2 integration
2022-09-11 20:31:58 -04:00
Luke Street
b55c919f4d
Updates & initial MIPS support
2022-09-11 13:52:55 -04:00
Luke Street
7bbdba5566
Add symbols screenshot
2022-09-08 19:46:19 -04:00
Luke Street
afe24367f8
ci: Remove condition for check job
2022-09-08 17:36:04 -04:00
Luke Street
eebcb51d0d
Bump MSRV to 1.62
2022-09-08 17:34:59 -04:00
Luke Street
86d6432982
ci: Install libgtk-3-dev
2022-09-08 17:34:11 -04:00
Luke Street
cb3c6062c7
Initial commit
2022-09-08 17:19:20 -04:00