paxcut
3b3701135f
impr: Various fixes and an enhancement for the pattern editor ( #1528 )
...
Fixed console error messages using doc comment syntax highlights. Fixed
results of find not updating when march case was toggled. Fixed syntax
highlights of nested ifdefs. Fixed editor cursor blinks if OS focus goes
to another window. Fixed Highlights of "\\\"" was incorrectly handled.
---------
Co-authored-by: Nik <werwolv98@gmail.com>
2024-03-21 12:58:20 +00:00
WerWolv
48db4df028
build: Updated libromfs
2024-03-17 13:31:03 +01:00
WerWolv
35d29c8e30
patterns: Updated pattern language
2024-03-16 14:59:26 +01:00
WerWolv
f276409cde
patterns: Updated pattern language
2024-03-16 10:03:23 +01:00
WerWolv
682f7bee72
patterns: Updated pattern language
2024-03-15 21:11:36 +01:00
WerWolv
43bec6a636
fix: Make sure pattern runtime is always properly configured
2024-03-15 21:08:03 +01:00
WerWolv
5aa1046541
fix: Potential crash when log file is unavailable
2024-03-15 21:06:47 +01:00
WerWolv
3897245a7e
fix: Control characters ending up in log files
2024-03-15 17:57:12 +01:00
WerWolv
373db3de95
fix: Potential crash on Linux when loading external libraries
2024-03-15 17:54:09 +01:00
WerWolv
642722bdb1
build: Enable cimgui on web builds again
2024-03-14 18:58:39 +01:00
WerWolv
cbc31f3c18
feat: Added short forms for commonly used commands
2024-03-14 18:24:31 +01:00
WerWolv
cf320266df
fix: Linux build issues
2024-03-14 17:49:04 +01:00
WerWolv
2c711ea206
feat: Load additional libraries from ImHex's /lib folder
2024-03-13 19:49:04 +01:00
WerWolv
6972736abf
fix: Remaining build issues
2024-03-13 09:40:37 +01:00
WerWolv
3798654f92
fix: Unix build issues with dladdr
2024-03-13 08:38:40 +01:00
WerWolv
fdf01dfb50
impr: Get rid of cimgui shared library by hooking pinvoke handler
2024-03-12 23:17:49 +01:00
WerWolv
876f091244
build: Make cimgui a shared library again
2024-03-12 19:44:21 +01:00
WerWolv
2988561f01
build: Try fix building issues with web build and Fedora
2024-03-12 19:09:01 +01:00
WerWolv
c610d804b1
build: Added cimgui
2024-03-11 21:09:56 +01:00
WerWolv
0186f2f456
feat: Added support for adding custom providers through C#
2024-03-10 22:05:26 +01:00
WerWolv
1d219ba511
build: Updated libwolv
2024-03-10 17:32:46 +01:00
WerWolv
285afb6d4b
build: Updated libwolv
2024-03-10 15:58:57 +01:00
WerWolv
d4d1acb555
feat: Added --verbose
command line option to enable debug logs
2024-03-10 15:22:14 +01:00
WerWolv
2fd17f97b6
build: Updated libwolv
2024-03-10 14:38:28 +01:00
WerWolv
45a3bdffe0
impr: Load small files into memory, open larger files as read-only by default
...
#841 , #1585
2024-03-10 14:31:39 +01:00
WerWolv
deafb6fe08
build: Allow precompiled headers to be turned off
2024-03-02 11:51:33 +01:00
WerWolv
f1b91ef360
fix: MIME based auto loading not working correctly
2024-03-02 10:57:13 +01:00
WerWolv
0cb10fcc34
fix: Endless loop when throwing exception in deferred tasks
2024-03-01 20:54:27 +01:00
WerWolv
4a67ea0b29
patterns: Updated pattern language
2024-03-01 18:38:11 +01:00
WerWolv
39cda3764b
patterns: Updated pattern language
2024-03-01 18:23:45 +01:00
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
cb7a6596ba
patterns: Updated pattern language
2024-02-29 22:23:34 +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
f886eac7b5
build: Updated libwolv
2024-02-28 23:52:39 +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
032ef0722d
patterns: Updated pattern language
2024-02-26 20:49:42 +01:00
WerWolv
cadc9cecf1
build: Updated dependencies
2024-02-25 21:21:34 +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
dac45659c0
patterns: Updated pattern language
2024-02-25 12:35:09 +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
b2edb0441a
build: Make external plugins build again
2024-02-24 15:06:10 +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
222d0b74d0
patterns: Updated pattern language
2024-02-24 09:37:55 +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
ed905aa0ff
build: Updated ImGui to v1.90.4
2024-02-22 22:32:18 +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
982d367b11
patterns: Updated pattern language
2024-02-15 11:54:59 +01:00
Sten Feldman
d70f7422b7
feat: Support Copy/Paste on WASM build outside the application border ( #1542 )
...
### Problem description
WASM build does not support copy/paste beyond the application. Meaning,
there's no practical way of sending text back and forth across the
application border.
There are lengthy threads why this is a technical challenge in
WASM/Browser world, e.g:
- https://github.com/pthom/hello_imgui/issues/3
- https://github.com/emscripten-core/emscripten/pull/19510
### Implementation description
Implements a workaround solution as Header only C++ library, as proposed
and implemented at:
https://github.com/Armchair-Software/emscripten-browser-clipboard
Maybe there are cleaner ways of achieving the functionality. Definitely
would like to have some discussion around this. 👀
ℹ️ The proposed PR "works for me" on Windows, using CTRL-C/V shortcuts
to copy text from and to the application. On MacOS the system shortcut
to Paste is different from what ImHex has defined. This results in
system Paste shortcut of command-V triggering the browser callback to
synchronise the application clipboard, but no actual Paste takes place
within ImHex.
If there would be a clean way to trigger the paste command, that would
be wonderful (or get the context and references to write the data to the
cursor, but I was unable to find a clean solution). The only proposed
solutions in the referenced threads were about triggering paste event
internally via Key events. This seemed wonky 🙃 , so is not currently
implemented. At the moment the paste on MacOS is command+V followed by
control+V.
### Additional things
This is definitely a stopgap solution before the ImGui and Emscripten
take a more proper solution in enabling Copy/Paste outside the
application borders. However, I feel like this is a must have capability
to make the WASM build more useful, not just for trying out ImHex.
Cheers! 🍻
---------
Co-authored-by: Nik <werwolv98@gmail.com>
2024-02-13 20:30:18 +01:00
WerWolv
27a78a00fd
patterns: Updated pattern language
2024-02-11 20:44:21 +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
WerWolv
5d405b4d10
build: Updated GLFW and OpenGL3 ImGui Backends
2024-02-11 11:44:44 +01:00
WerWolv
12f64e5fde
build: Updated ImGui to the latest release
2024-02-11 00:11:56 +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
9d47ba9031
impr: Cleanup pattern drawer, added comment column
2024-02-09 18:37:05 +01:00
WerWolv
c3d755a3e2
fix: Decoding of Windows error messages being broken
2024-02-07 21:51:37 +01:00
WerWolv
1195d2f2e4
patterns: Updated pattern language
2024-02-05 18:49:51 +01:00
WerWolv
b05f478207
patterns: Updated pattern language
2024-02-04 21:45:53 +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
Nik
5e5714baeb
patterns: Merged in new pattern language refactor ( #1533 )
2024-02-04 14:03:42 +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
21e1d01394
patterns: Updated pattern language
2024-02-03 11:14:08 +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
7a6ee756b8
patterns: Updated pattern language
2024-01-31 15:40:29 +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
6393bfda37
build: Updated libwolv
2024-01-30 23:36:52 +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
5459be46a4
patterns: Updated pattern language
2024-01-30 12:18:03 +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
ba20790ed2
build: Make libpl not being linked twice
2024-01-28 01:09:26 +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
paxcut
1957d6f432
feat: Added find-replace to pattern editor ( #1465 )
2024-01-27 14:52:20 +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
78723887e1
build: Updated dependencies
2024-01-25 11:33:34 +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
ffb324f685
patterns: Updated pattern language
2024-01-16 00:46:01 +01:00
WerWolv
b3d3794e1d
patterns: Updated pattern language
2024-01-15 21:10:44 +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