iTrooz
97f5175c84
impr: Better recovery from exceptions thrown in main thread ( #1577 )
...
This PR improves many things which can be seen by the commit name, but
the most important thing is the addition of a popup telling the user
when an exception is thrown
![image](https://github.com/WerWolv/ImHex/assets/42669835/db796416-9cce-4aa5-ad60-c22f05b5fc73 )
2024-03-01 18:21:15 +01:00
WerWolv
667b940feb
fix: Build with precompiled headers for WebAssembly
2024-02-29 21:29:26 +01:00
WerWolv
bb3de7d510
fix: Build with precompiled headers on Linux
2024-02-29 21:15:51 +01:00
WerWolv
7bdde15796
build: Don't add defines to libimhex after precompiling headers
2024-02-29 20:39:14 +01:00
WerWolv
dd62bee264
build: Added precompiled headers
2024-02-29 19:57:20 +01:00
WerWolv
d5f323a2cd
feat: Allow workspaces to be deleted the same way as layouts
...
Fixed #1576
2024-02-28 22:10:48 +01:00
iTrooz
47362559ef
tests: Add infrastructure for testing plugins ( #1538 )
...
This PR adds a test architecture to be able to test plugins
Main infrastructure done by @WerWolv
---------
Co-authored-by: WerWolv <werwolv98@gmail.com>
2024-02-26 20:51:08 +01:00
WerWolv
ea601a7d03
feat: Added option to highlight pattern parents in the hex editor when hovering
2024-02-25 14:30:56 +01:00
WerWolv
7434fdec6f
impr: Move advanced analysis yara rules to the patterns repo
2024-02-25 11:32:05 +01:00
WerWolv
752a2d2e8d
fix: Magic information querying being wrong with non-zero base address
2024-02-24 23:53:34 +01:00
WerWolv
859574c014
impr: .0f -> .0F
2024-02-24 23:34:29 +01:00
WerWolv
00b3d7809c
fix: Various issues with the digram and layered distribution diagrams
2024-02-24 23:23:53 +01:00
Nik
ec69849749
feat: Added font picker to the settings ( #1570 )
2024-02-24 22:46:52 +01:00
WerWolv
2f7b949bd1
impr: Split out digram and layered distribution in their own section
2024-02-24 18:54:35 +01:00
WerWolv
4100e48fe2
impr: Render digram and layered distribution to texture to improve frame rate
2024-02-24 18:07:20 +01:00
WerWolv
393bea6d4b
impr: Don't pass unique_ptr by const reference
2024-02-24 15:06:28 +01:00
WerWolv
9d02379583
impr: Don't allow opening the same file twice
...
Fixes #1569
2024-02-24 12:06:06 +01:00
WerWolv
3c365d65a4
impr: Nicer looking logger output colors
2024-02-24 11:28:47 +01:00
WerWolv
a7d6a4968e
fix: Certain language strings not loading correctly
2024-02-23 20:33:39 +01:00
WerWolv
75c03d56d2
fix: Opening files on macOS through the Open with...
option
...
Fixes #1070
2024-02-23 20:17:33 +01:00
WerWolv
026713750d
impr: Implement better string limiting algorithm
2024-02-23 18:32:12 +01:00
WerWolv
4d91e7f347
impr: Handle read-only files more gracefully
2024-02-23 17:59:37 +01:00
WerWolv
8059f22a32
impr: Make sure that highlight invalidation doesn't happen more than once per frame
2024-02-23 17:47:59 +01:00
WerWolv
a271658154
impr: Added once execution and task progress increment helpers
2024-02-23 17:47:40 +01:00
WerWolv
e6854d6a6a
fix: String limiting slicing unicode characters
2024-02-22 23:44:49 +01:00
WerWolv
5db041adb7
impr: Make sure crashes during logging cannot cause a deadlock
2024-02-22 20:48:35 +01:00
WerWolv
56e7c15064
impr: Refactor and modularize data information view
2024-02-21 00:06:52 +01:00
WerWolv
a2ffac9424
impr: Reorder achievement save routine to never accidentally clear the file
2024-02-20 00:10:05 +01:00
WerWolv
74d59705ad
fix: Issues where files are only being partially overwritten instead of truncated
2024-02-19 22:22:59 +01:00
WerWolv
adc51d3773
fix: Crash when restarting ImHex more than once
2024-02-19 22:06:46 +01:00
WerWolv
016d47b9d7
web: Make sure settings are loaded correctly
2024-02-18 14:02:21 +01:00
WerWolv
01c934f53a
impr: Rework setting change listeners
2024-02-18 11:29:18 +01:00
WerWolv
ed292a1e7a
impr: Implement basic exception catching in main thread
2024-02-18 02:12:57 +01:00
WerWolv
dfdd06b24c
impr: Set name of background service thread
2024-02-15 22:10:11 +01:00
WerWolv
2f88994c37
fix: Data inspector not updating correctly when data has changed
...
Fixes #1545
2024-02-15 13:01:34 +01:00
WerWolv
5cfcca0bc4
feat: Allow switching off borderless window mode
2024-02-11 14:12:14 +01:00
WerWolv
daf4e5cad6
refactor: More cleanup of the main file
2024-02-11 13:46:06 +01:00
Nik
bcbcb1f23c
impr: Various web build improvements, API cleanup ( #1541 )
2024-02-10 23:31:05 +01:00
iTrooz
f332963c75
build: remove IMHEX_COMMIT_HASH_SHORT cmake flag ( #1539 )
2024-02-10 01:40:33 +00:00
WerWolv
c3d755a3e2
fix: Decoding of Windows error messages being broken
2024-02-07 21:51:37 +01:00
WerWolv
1c28d4f610
fix: Error message formatting
2024-02-04 20:59:33 +01:00
WerWolv
77baf6f522
fix: Native error message formatting on Windows
2024-02-04 20:21:16 +01:00
WerWolv
f583df6c7d
impr: Improve overwriting individual characters in the hex editor editing mode
2024-02-04 17:19:08 +01:00
WerWolv
a6f4d0cdec
impr: Unfocus ImGui windows when main window loses focus
2024-02-03 23:56:08 +01:00
WerWolv
fe3facfc95
impr: Implement borderless window mode for macOS
2024-02-03 22:39:31 +01:00
WerWolv
a03e8dd879
impr: Harden settings system to not crash ImHex when having outdated configs
...
Fixes #1514
2024-02-03 12:16:36 +01:00
WerWolv
2ea0bbe5ca
fix: Window title not always updating correctly
2024-02-03 11:29:04 +01:00
WerWolv
e864c1aaac
fix: Crash due to libmagic bug when using MAGIC_COMPRESS
with magic_buffer
...
#1529
2024-02-02 23:22:46 +01:00
WerWolv
959a404e1c
fix: Don't pass nullptrs to libmagic
...
#1485
2024-02-01 22:35:24 +01:00
WerWolv
baaf84298c
impr: Disable console color output in web version
2024-02-01 12:09:43 +01:00
WerWolv
4fd4b3dfad
fix: Using cli arguments with statically linked plugins not working
2024-02-01 11:40:27 +01:00
WerWolv
7709f4e307
feat: Allow setting language through the command line
2024-02-01 10:58:45 +01:00
WerWolv
944b3a5b6c
fix: Selection valid check not working correctly
2024-01-31 15:31:51 +01:00
WerWolv
4a9bac3cd5
fix: Crash when opening file picker
2024-01-31 15:31:23 +01:00
WerWolv
80953a2286
feat: Allow jumping from hex editor to patterns and from patterns to source line
2024-01-31 11:26:22 +01:00
WerWolv
e7b615c7e7
fix: Memory leak in event manager
2024-01-30 22:00:42 +01:00
WerWolv
f4d1049be4
fix: More build errors
2024-01-30 16:32:48 +01:00
WerWolv
c2ff6f4e6b
fix: Missing includes
2024-01-30 15:50:00 +01:00
WerWolv
79834b9566
impr: Added language selection to oobe screen
2024-01-30 14:57:36 +01:00
WerWolv
d584edf546
impr: Improve situation where ImHex crashes on exit when resources aren't cleared properly
2024-01-30 11:21:34 +01:00
WerWolv
76e304c34e
build: Fix various issues with linking, clang and unity builds
2024-01-29 22:57:39 +01:00
WerWolv
2e74a78f46
build: Improve unity builds
2024-01-29 21:18:32 +01:00
WerWolv
6a146e239a
fix: Workspaces not being exported correctly
2024-01-29 20:50:00 +01:00
WerWolv
cecb8b8d31
fix: Linking issues and menu bar not appearing sometimes
2024-01-29 15:44:18 +01:00
Nik
339541a56f
impr: Restructure various components much better ( #1520 )
2024-01-28 22:14:59 +01:00
WerWolv
069544eb93
feat: Added Minimap to Hex Editor
2024-01-28 15:28:55 +01:00
WerWolv
d2a26017d7
fix: Build error due to mismatching types
2024-01-27 16:56:18 +01:00
WerWolv
61048757e6
impr: Allow custom encodings with only single-byte characters to be displayed immediately
2024-01-27 16:49:31 +01:00
WerWolv
4c06fd2fb8
impr: Allow plugins to be loaded in debug builds
2024-01-26 21:11:56 +01:00
iTrooz
b7349e42c7
feat: Allow users to open multiple files with the same name in the web version + make web Dockerfile able to run web server by itself ( #1518 )
2024-01-26 18:52:05 +00:00
WerWolv
bde476dfb7
build: Make sure libraries are correctly linked in external plugins
2024-01-26 12:36:07 +01:00
Nik
6ae86ce906
build: Get rid of pkgconfig as much as possible ( #1517 )
2024-01-26 12:13:22 +01:00
WerWolv
919110b024
impr: Make data information view have per-provider state
2024-01-25 22:49:56 +01:00
WerWolv
9c25a1609e
feat: Add more magic information to the information view
2024-01-25 22:49:22 +01:00
WerWolv
920b403ee3
build: Fixed libimhex not finding nlohmann json on some platforms
2024-01-25 11:05:02 +01:00
WerWolv
390c1469b1
build: Fix rpath issues on macOS
2024-01-24 22:30:40 +01:00
WerWolv
b605c463a1
impr: Further improve interfacing with external plugins
2024-01-22 23:35:00 +01:00
WerWolv
00491c8d90
git: Put libimhex and the ui plugin library under LGPLv2.1
2024-01-22 19:05:04 +01:00
WerWolv
60e7362f4e
feat: Allow extra plugin folders to be specified with the --plugins
cli option
2024-01-22 12:53:07 +01:00
Nik
58603ed12a
impr: Better experience when first starting ImHex ( #1510 )
2024-01-21 18:39:51 +01:00
Nik
d005b5d2d9
feat: Allow toolbar icons to be modified ( #1509 )
2024-01-21 18:39:32 +01:00
Nik
a13b5bf8c0
feat: Implement Myers' diffing algorithm ( #1508 )
2024-01-21 18:39:13 +01:00
Ada
cc97c0e525
fix: Segfault when launching ImHex with file arguments ( #1501 )
...
d511080814
introduced a regression where
running imhex with arguments (i.e. `imhex blob1.bin blob2.bin`) will
segfault due to a null pointer dereference.
### Implementation description
This patch updates `getSubCommands` to follow the same control flow as
`getFeatures`, where if the function returns a null pointer, it will
return gracefully rather than crash.
2024-01-18 11:11:06 +01:00
WerWolv
82a3017629
feat: Added always on top and fullscreen mode toggle
2024-01-15 20:52:08 +01:00
WerWolv
d511080814
impr: Make plugin features and subcommands work in statically linked builds
2024-01-13 00:34:13 +01:00
WerWolv
ea7483f9a7
impr: Get rid of the concept of built-in plugins
...
#1489
2024-01-12 23:03:13 +01:00
WerWolv
72f4331703
feat: Added virtual files to the pattern language
2024-01-11 20:11:22 +01:00
WerWolv
3449525ead
feat: Added drag-n-drop overlay for windows
2024-01-10 23:46:50 +01:00
WerWolv
1c17ec5599
fix: Avoid heap allocations in thread local storage
2024-01-10 20:13:53 +01:00
WerWolv
f518bdadbd
fix: Properly clear thread-local thread name
2024-01-09 21:46:54 +01:00
WerWolv
d5c8021b41
fix: Use a thread-local storage for thread names instead
2024-01-09 16:16:20 +01:00
WerWolv
929b5176ce
impr: Fallback to old thread name API when new one isn't available
2024-01-09 13:43:34 +01:00
WerWolv
dd9a2e1818
fix: Errors being thrown during library init
2024-01-09 11:38:56 +01:00
WerWolv
0b5656dcc4
fix: Manually initialize library plugins
2024-01-09 11:31:56 +01:00
WerWolv
037d77f28e
impr: Improve plugin unload logging
2024-01-09 10:54:53 +01:00
WerWolv
301e95b708
impr: Move plugin unload logging to plugins
2024-01-09 10:53:50 +01:00
WerWolv
874bac7de2
impr: Include thread name in log
2024-01-09 10:39:06 +01:00
WerWolv
bfafc692db
impr: Added icons to all menu items
2024-01-08 21:51:48 +01:00
WerWolv
9530100455
fix: Texture interpreting raw data as structured images
2024-01-08 09:39:01 +01:00
WerWolv
cab329556c
impr: Make sure plugins are only loaded once
2024-01-07 18:45:17 +01:00