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
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
WerWolv
1c5d6cbe94
impr: Added error reporting for plugin unloading
2024-01-07 16:07:53 +01:00
WerWolv
576bc80716
impr: Use full windows to draw tutorial popups
2024-01-06 22:54:18 +01:00
WerWolv
c89d19cd27
impr: Make file provider use atomic file IO instead of memory mappings
2024-01-06 16:09:28 +01:00
WerWolv
f9ab16049b
fix: Make sure plugins are unloaded in opposite load order
2024-01-06 16:09:05 +01:00
WerWolv
09300c209f
build: Updated libfmt
2024-01-06 09:36:53 +01:00
WerWolv
464495987a
fix: Crash due to task manager not being fully reset
2024-01-04 21:33:17 +01:00
WerWolv
556fd2bbc3
build: Really only build the things that are necessary
2024-01-04 13:18:27 +01:00
WerWolv
0097d1782e
build: Fix external plugins not having a imhex version set
2024-01-04 12:01:40 +01:00
WerWolv
ebf379f7c1
build: Fix some sdk variables not being set correctly
2024-01-04 10:39:07 +01:00
WerWolv
cd72ff1f84
build: Fix installing external plugins
2024-01-04 10:25:29 +01:00
WerWolv
eca41cac16
build: Fix more link and define issues
2024-01-04 01:06:38 +01:00
WerWolv
a8e2e132d1
build: Fix library linking and define setting issues
2024-01-04 01:01:51 +01:00
WerWolv
499711b9af
build: Updated libfmt
2024-01-04 00:40:40 +01:00
WerWolv
ff48d37598
build: Make SDK not try to link to unbundled libraries
2024-01-04 00:37:56 +01:00
WerWolv
4a5f1038e0
fix: Crash when opening a file that cannot be mapped into memory
2023-12-31 14:58:20 +01:00
WerWolv
e2b7a69fc8
fix: Warnings when trying to load progress for achievements that aren't in save file
2023-12-31 13:53:28 +01:00
Nik
950eaea8af
impr: Make decompression support actually useful ( #1481 )
2023-12-31 11:39:24 +01:00
WerWolv
b76e7ff678
impr: Remove duplicate window name from macOS title bar
2023-12-30 23:52:25 +01:00
Nik
5a0a5ad445
build: Fix macOS M1 build entirely ( #1480 )
2023-12-30 19:11:33 +01:00
WerWolv
af63b42eaf
impr: Make task progress bar show animation when no progress is set
2023-12-28 22:14:45 +01:00
WerWolv
5adeac6bbc
fix: Make sure library plugins are always initialized
2023-12-28 14:59:23 +01:00
WerWolv
3c6f52f5ea
impr: Harden achievement progress store function
2023-12-27 16:57:44 +01:00
WerWolv
874619f62e
impr: Harden settings store function
2023-12-27 16:53:03 +01:00
WerWolv
74b5c93caf
impr: Code style improvements
2023-12-27 16:33:49 +01:00
WerWolv
ec45d1f564
build: Updated libwolv
2023-12-27 16:26:02 +01:00
WerWolv
1cf692cecf
fix: PerProvider move event not being unsubscribed
2023-12-27 11:33:04 +01:00
WerWolv
af5b871383
fix: Provider not having any valid regions by default
2023-12-27 11:31:25 +01:00
WerWolv
37d60411bb
fix: Hyperlink items disappearing inside of scrolling containers
2023-12-27 02:14:38 +01:00
WerWolv
4e0a93fc20
fix: MemoryProvider not having any valid regions
2023-12-27 01:05:34 +01:00
WerWolv
96fe608d60
impr: Switch most usages of modals over to toasts
2023-12-26 00:22:47 +01:00
WerWolv
98bc89cb39
impr: Make sure all views are closed before loading new workspace or layout
2023-12-24 14:51:47 +01:00
WerWolv
e2489151f3
feat: Added decompressing support
2023-12-24 13:14:51 +01:00
WerWolv
9066891ce2
fix: ImHex not starting on some platforms
2023-12-24 12:20:51 +01:00
WerWolv
65e2f1b5af
fix: Synchronized scrolling not working correctly
2023-12-24 00:06:16 +01:00
WerWolv
83f8370e2a
impr: Don't display plugins in the list that couldn't be loaded
2023-12-23 23:12:15 +01:00
WerWolv
8a428df7df
build: Updated HashLibPlus
2023-12-23 22:57:25 +01:00
WerWolv
de6bb5dfb9
build: Updated HashLibPlus
2023-12-23 22:55:41 +01:00
WerWolv
80561001b8
build: Updated HashLibPlus
2023-12-23 22:40:47 +01:00
WerWolv
33d077e997
build: Updated HashLibPlus
2023-12-23 22:25:01 +01:00
WerWolv
fe24db7c57
feat: Move hashes into plugin, merged in extra hashes plugin
2023-12-23 22:01:47 +01:00
Nik
61bfe10bc2
refactor: Rework features that use external libraries into optional plugins ( #1470 )
2023-12-23 21:09:41 +01:00
Nik
84bfd10416
build: Restructured entire custom plugin system ( #1469 )
2023-12-22 23:39:38 +01:00
WerWolv
b934ca6ad3
impr: Allow a entire 64 bit address space to be displayed in the hex editor
2023-12-22 16:58:50 +01:00
Justus Garbe
ad8e3e38f0
Revert pattern language until it's stable again ( #1468 )
...
- Revert pattern language
2023-12-21 22:01:07 +01:00
WerWolv
ffc1aa6a91
patterns: Updated pattern language
2023-12-21 16:56:21 +01:00
WerWolv
d48acf7fef
patterns: Updated pattern language
2023-12-21 16:39:37 +01:00
WerWolv
72260b5323
patterns: Updated pattern language
2023-12-21 16:23:50 +01:00
WerWolv
e84b8cb96d
build: Fix glfw linking
2023-12-21 16:02:28 +01:00
WerWolv
adcaad791a
patterns: Updated pattern language
2023-12-21 14:58:45 +01:00
WerWolv
86231d0154
build: Release build on Windows trying to link to glfw3dll
for some reason
2023-12-21 13:57:25 +01:00
WerWolv
e2ae567b9f
fix: Logger not printing project prefix properly
2023-12-20 15:10:53 +01:00
WerWolv
f47163c4ad
build: Updated libromfs
2023-12-20 14:11:51 +01:00
WerWolv
e951359a46
feat: Add frame time graph to FPS display
2023-12-20 13:42:42 +01:00
WerWolv
5b3ae56912
patterns: Update all pattern language code to use new API
2023-12-20 10:08:40 +01:00
WerWolv
2b5789631f
feat: Added basic toast popups
2023-12-19 23:21:20 +01:00
WerWolv
96db2074c6
feat: Add ignore case and UTF16 search options to sequence searching
2023-12-19 14:34:35 +01:00
WerWolv
c7ab4a4569
refactor: Get rid of this->m_
2023-12-19 13:10:25 +01:00
WerWolv
dd4be3b772
refactor: Make sure unlocalized strings are always actually unlocalized
2023-12-19 12:22:28 +01:00
WerWolv
71763d108b
build: Updated libwolv
2023-12-18 22:39:46 +01:00
WerWolv
4973556fc8
impr: Better UI resize handling on welcome screen
2023-12-18 13:08:17 +01:00
WerWolv
450c93e029
impr: Cleanup welcome screen
2023-12-18 11:03:19 +01:00
WerWolv
c1abbfad7d
impr: Make sure welcome screen stays at the back
2023-12-18 10:14:07 +01:00
WerWolv
f2a795c51e
fix: Provider loader interface being closable and not resizing correctly
2023-12-17 23:15:52 +01:00
WerWolv
b1aa4fd3f8
fix: Resize operations not working correctly
...
#1463
2023-12-15 20:59:58 +01:00
WerWolv
b58463bbaf
build: Updated libwolv
2023-12-15 08:11:22 +01:00
WerWolv
78ef5b0d07
fix: ProviderChanged Event not being called correctly when closing first provider
...
Fixes #1421 , Fixes #1416
2023-12-14 20:48:30 +01:00
WerWolv
c1f76be3b7
feat: Display complete window title when hovering over search bar
2023-12-14 13:50:26 +01:00
WerWolv
2ebd3c6f35
impr: Better centering of icons in icon buttons
2023-12-14 13:49:46 +01:00
WerWolv
710ceedf3d
fix: Rare case where workspace was saved to wrong file
2023-12-14 09:36:29 +01:00
WerWolv
5b77f511d3
impr: Added shadow to tutorial popups
2023-12-13 23:44:53 +01:00
WerWolv
f000b6bc0a
feat: Added basic introduction tutorial
2023-12-13 23:03:39 +01:00
WerWolv
346f1362c6
impr: Allow more popups to be closed with Escape
2023-12-13 15:08:27 +01:00
WerWolv
92043a3d23
feat: Added tutorials view
2023-12-13 13:04:59 +01:00
WerWolv
3bc5295eae
impr: Allow tutorials to work correctly with localized strings
2023-12-13 11:48:21 +01:00
WerWolv
5bcfe37b4e
feat: Added tutorial system
2023-12-13 11:24:25 +01:00
WerWolv
c32dad75cd
fix: Remove logging from CLI
2023-12-12 13:20:39 +01:00
WerWolv
1b457dae7d
fix: Workspaces not always loading layout correctly
2023-12-12 00:16:21 +01:00
WerWolv
690b0df932
fix: Crash after restarting ImHex
2023-12-11 23:05:58 +01:00
WerWolv
1e4bb8c91e
impr: Remove Font Awesome
2023-12-11 23:05:35 +01:00
WerWolv
623e074ba0
build: Updated libromfs
2023-12-11 16:11:49 +01:00
WerWolv
91230ba438
feat: Added workspaces
2023-12-11 15:54:22 +01:00
WerWolv
7a4358a5ec
feat: Added automatic backups
2023-12-11 11:42:33 +01:00
WerWolv
ef7898ea8d
impr: Add support for specifying filtering mode when loading textures
2023-12-09 22:00:35 +01:00
WerWolv
09a148b8a5
impr: Add hint text about font size when no custom font is selected
2023-12-09 12:14:45 +01:00
WerWolv
878f45dd80
fix: Various build errors
2023-12-08 16:22:36 +01:00
WerWolv
f1b40d0500
build: Updated libromfs
2023-12-08 14:30:35 +01:00
WerWolv
0cbaf40747
build: Allow for better stacktraces on Linux
2023-12-08 14:00:32 +01:00
WerWolv
b4813660b5
refactor: Better interface for the event system
2023-12-08 10:29:44 +01:00
Truman Kilen
5c84ef5f72
feat: Added Linux support to the Process Memory Provider ( #1331 )
...
<!--
Please provide as much information as possible about what your PR aims
to do.
PRs with no description will most likely be closed until more
information is provided.
If you're planing on changing fundamental behaviour or add big new
features, please open a GitHub Issue first before starting to work on
it.
If it's not something big and you still want to contact us about it,
feel free to do so !
-->
### Problem description
<!-- Describe the bug that you fixed/feature request that you
implemented, or link to an existing issue describing it -->
Implement a Linux backend for the ProcessMemoryProvider plugin.
### Implementation description
<!-- Explain what you did to correct the problem -->
Most of the provider code is the same between Windows and Linux. The
primary differences are:
- enumerate PIDs in `/proc/` to get the process list
- use `/proc/<PID>/cmdline` as the process name
- parse `/proc/<PID>/maps` to get the module list
- reading/writing from memory is done using
`process_vm_readv`/`process_vm_writev`
NOTE: `sudo setcap CAP_SYS_PTRACE=+eip build/imhex` must be run to give
the binary permission to read another process' memory. Running as root
user should also work but I would not recommend it.
### Additional things
The existing translations keys no longer match since I moved the plugin
from `windows` to `builtin`.
I'm not well versed in C++ so I attempted to keep my changes rather
simple. Feedback is very welcome.
---------
Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-12-07 23:33:15 +01:00
WerWolv
7f69f8bcdb
impr: More size_t -> u64
2023-12-07 13:02:12 +01:00
WerWolv
3a016da549
impr: Make providers return a 64 bit size on all platforms
2023-12-07 12:06:26 +01:00
WerWolv
9ba6d7ee1e
impr: Added simplified welcome screen
2023-12-07 11:18:49 +01:00
WerWolv
370ca740e3
feat: Allow layouts to be locked
2023-12-06 13:49:58 +01:00
WerWolv
37ac1b66dd
refactor: Task Manager related code
2023-12-06 11:04:35 +01:00
WerWolv
760b8c7a88
impr: Make long running tasks not freeze ImHex, fix saving non-continuous providers
...
Fixes #1454
2023-12-05 14:32:43 +01:00
Nik
f9a9ed4846
impr: Vastly improved 3D Visualizer ( #1456 )
...
Based entirely on @paxcut's amazing PR #1443
---------
Co-authored-by: paxcut <paxcut@outlook.com>
Co-authored-by: paxcut <53811119+paxcut@users.noreply.github.com>
2023-12-05 10:49:51 +01:00
WerWolv
e8f0a3bd23
impr: Force center modal views
2023-12-04 22:32:25 +01:00
WerWolv
08fd09064a
fix: Settings view still using old system and not opening properly
2023-12-04 22:17:43 +01:00
Nik
caee764af3
fix: Crash when destructing a moved plugin
2023-12-04 21:01:48 +01:00
WerWolv
f71fa2f704
impr: Better centered text rendering
2023-12-02 23:46:20 +01:00
WerWolv
e6ad54b53b
fix: Overlays not being applied properly
2023-12-02 18:42:57 +01:00
WerWolv
768982b67a
patterns: Updated pattern language
2023-12-02 14:35:54 +01:00
WerWolv
4fd3167bb3
feat: Added minimal layout
2023-12-02 14:35:44 +01:00
WerWolv
866cb5706d
feat: Added highlighting rules
2023-12-02 11:09:32 +01:00
WerWolv
2cf642a2a4
build: Updated libwolv
2023-12-01 14:07:10 +01:00
WerWolv
a50bb39978
impr: Further improve compile times
2023-11-30 14:40:07 +01:00
WerWolv
8ee234e5a6
impr: Optimize api includes
2023-11-30 11:23:12 +01:00
WerWolv
e370fdb0fc
build: Add support for unity builds
2023-11-30 10:22:15 +01:00
WerWolv
09904b77eb
feat: Add support for bold and italic fonts
2023-11-29 23:47:37 +01:00
WerWolv
23fc232c47
impr: Try to align additional fonts automatically
2023-11-28 13:52:26 +01:00
WerWolv
c02c27b63d
refactor: Moved over to more flexible font loader
2023-11-28 01:55:41 +01:00
WerWolv
284f8534ab
refactor: Move the builtin plugin specific init tasks to the plugin
2023-11-28 00:19:42 +01:00
WerWolv
1b665fa1b3
fix: Loading files into memory
2023-11-27 15:48:46 +01:00
WerWolv
494223fff6
fix: Provider load interface not opening
2023-11-27 15:34:05 +01:00
WerWolv
47b6826ac4
build: Updated nativefiledialog-extended
2023-11-25 19:32:53 +01:00
Nik
7e660450ed
feat: Implement better and more complete undo/redo stack ( #1433 )
...
This PR aims to implement a more complete undo/redo stack that, unlike
the old one, also supports undoing insertions, deletions and resize
operations
2023-11-25 12:43:48 +01:00
WerWolv
b050039e35
fix: Duplicate shortcuts not highlighting correctly
2023-11-24 20:17:01 +01:00
WerWolv
fb00f688a8
impr: Update ImGui to use new shadows branch
2023-11-24 15:31:33 +01:00
WerWolv
8bdb39983e
fix: Error being logged when no magic files are found
2023-11-24 11:28:37 +01:00
WerWolv
445dba85ac
build: Updated nativefiledialog-extended
2023-11-23 13:58:28 +01:00
WerWolv
5a58ed5114
fix: Make sure store and about page are opened correctly
2023-11-23 13:08:45 +01:00
WerWolv
b619744093
fix: Command palette not appearing on Linux
2023-11-23 09:33:47 +01:00
WerWolv
32276b820f
build: Updated libwolv
2023-11-23 09:23:28 +01:00
WerWolv
74e246feed
impr: Increase performance when updating task progress
2023-11-23 09:20:26 +01:00
Nik
095da62250
feat: Add Markdown Report export option ( #1441 )
2023-11-22 07:26:31 +00:00
WerWolv
909f4b7fe8
refactor: Rename and update localization system
2023-11-21 14:38:01 +01:00
WerWolv
c89a870fe9
refactor: Streamline entire view system
2023-11-21 13:47:50 +01:00
WerWolv
fc23efdb25
impr: Move OpenGL loaders into header to avoid issues in the future
2023-11-20 23:58:49 +01:00
WerWolv
3da209b562
fix: Web build not working anymore
2023-11-20 23:51:50 +01:00
WerWolv
5daf725ee3
build: Fix building everywhere else
2023-11-20 22:21:12 +01:00
WerWolv
ffbf409174
build: Fix emscripten build
2023-11-20 22:15:16 +01:00
WerWolv
8b3c297514
build: Fix building on macOS M1
2023-11-20 21:47:23 +01:00
WerWolv
2f8481f5e2
patterns: Updated pattern language
2023-11-20 21:41:07 +01:00
WerWolv
448d792988
fix: Centered text not being centered correctly
2023-11-20 21:40:54 +01:00
WerWolv
1e98e641bb
patterns: Updated pattern language
2023-11-20 11:12:48 +01:00
WerWolv
836d66a150
fix: Missing include
2023-11-19 16:11:26 +01:00
WerWolv
f9073ee8ee
impr: Prettier data inspector edit button
2023-11-19 16:08:21 +01:00
WerWolv
7b25d97ea2
build: Make sure that ImGui libraries have access to dependencies
2023-11-19 14:55:50 +01:00
WerWolv
9a33110ac3
patterns: Updated pattern language
2023-11-19 14:53:19 +01:00
WerWolv
60b640d9f5
build: Restructure ImGui dependencies, added Readmes and licenses
2023-11-19 11:59:25 +01:00
Eve
7a1efa8b9a
fix: MacOS not finding GL.h ( #1436 )
...
### Problem description
Commit 1249eb3261
added `#include
<GL/gl.h>` in a file, but MacOS uses `<OpenGL/gl.h>`.
### Implementation description
If compiling on MacOS, use `<OpenGL/gl.h>`. Otherwise, use `<GL/gl.h>`.
### Additional things
There is a redefine, so I used the preprocessor to ignore it for MacOS.
This feels a little awkward to me (but I don't know how to do it
better).
I'm not particularly familiar with C++, so let me know if this is the
right solution. This is also my first pull request, so feel free to
roast me for anything else :)
2023-11-19 11:57:18 +01:00
WerWolv
a3f74098f2
fix: Potential crash when loading null values from settings
2023-11-18 17:23:50 +01:00
WerWolv
8f4839d8ff
impr: Catch exceptions thrown by events
2023-11-18 17:23:36 +01:00
WerWolv
3b01dcf230
feat: Allow hiding data inspector rows
2023-11-18 17:23:15 +01:00
WerWolv
14f728ab76
refactor: Give API files more consistent names
2023-11-18 14:50:43 +01:00
WerWolv
1249eb3261
impr: Optimize includes in often used header files
2023-11-18 14:34:33 +01:00
WerWolv
98e0a62e6e
impr: Make changing shortcuts also adjust the tooltip in the menus
2023-11-18 14:34:16 +01:00
WerWolv
2d45dce075
fix: Shortcuts not working correctly with non-western keyboards
2023-11-17 20:27:42 +01:00
WerWolv
e7bfa483f8
impr: Make settings tab bar always stick to top of window
2023-11-17 16:05:45 +01:00
WerWolv
cec925bcdc
feat: Add shortcut editor to settings
2023-11-17 14:46:21 +01:00
WerWolv
3bd779a607
fix: URL Decoding not working correctly
2023-11-17 13:13:17 +01:00
iTrooz
39252dfe48
refactor: Move custom ImGui functions to ImGuiExt namespace ( #1427 )
...
Co-authored-by: Nik <werwolv98@gmail.com>
2023-11-16 22:24:06 +01:00
WerWolv
21057d51e1
impr: More Welcome Screen UI improvements
2023-11-16 13:23:28 +01:00
WerWolv
f00daf171b
fix: Crash when loading invalid theme file
2023-11-16 09:32:32 +01:00
WerWolv
22eee94436
impr: Better UI for the Welcome screen
2023-11-16 09:32:24 +01:00
WerWolv
0105ed447f
patterns: Updated pattern language
...
Fixes #1412
2023-11-16 08:47:06 +01:00
WerWolv
a51f9fd90c
impr: Better UI for the settings view
2023-11-15 22:22:57 +01:00
WerWolv
e32def409a
build: Upgraded ImGui to v1.90
2023-11-15 20:22:56 +01:00
WerWolv
657744cc28
patterns: Updated pattern language
2023-11-15 13:43:53 +01:00
WerWolv
a561cee54b
fix: SHIFT + Tab not removing tabs in pattern editor
2023-11-15 10:04:48 +01:00
WerWolv
2c0553f8fd
impr: Don't wrap centered text anymore
2023-11-14 23:04:45 +01:00
WerWolv
33e20df511
impr: Make sidebars disableable and resizable
2023-11-14 15:55:25 +01:00
WerWolv
53c04a934e
patterns: Updated pattern language
2023-11-14 15:54:43 +01:00
WerWolv
375c74abe5
impr: Add command palette button to the title bar
2023-11-14 00:03:22 +01:00
WerWolv
0e671b1569
patterns: Updated pattern language
...
Fixes #1196
2023-11-12 22:47:02 +01:00
iTrooz
f0465c63ed
build: move third party libraries to lib/third_party ( #1417 )
...
Co-authored-by: Nik <werwolv98@gmail.com>
2023-11-12 02:02:54 +01:00
WerWolv
46b1b0ba17
impr: Use ImGui::SeparatorText to draw headers
2023-11-12 00:57:29 +01:00
iTrooz
7405219fb8
build: Make ImHex buildable for MacOS arm64 ( #1414 )
2023-11-11 20:56:30 +01:00
WerWolv
30ce4b6e3c
patterns: Updated pattern language
2023-11-11 12:07:38 +01:00
WerWolv
7d53636e10
feat: Added simple graphing calculator
2023-11-11 00:54:16 +01:00
WerWolv
2073793fcd
impr: Make backspace work while holding shift in the text editor
...
Closes #1409
2023-11-10 22:25:39 +01:00
WerWolv
ec4942174b
fix: Proxy not being disabled correctly when disabling it in the settings
2023-11-10 21:59:20 +01:00
WerWolv
01f7a09012
fix: Build on non-windows
2023-11-10 21:52:28 +01:00
WerWolv
c35ea228e4
fix: Crash when trying to close providers
2023-11-10 21:03:31 +01:00
WerWolv
498d8c1d65
impr: General code cleanup
2023-11-10 20:47:08 +01:00
WerWolv
3aacf0f1fb
feat: Added Experiments
2023-11-10 14:48:26 +01:00
WerWolv
4fc2fb7a6f
feat: Added support for filtering patterns by value
2023-11-10 14:48:13 +01:00
WerWolv
e18275c1c0
fix: Division by zero when setting page size to 0
2023-11-08 11:14:56 +01:00
WerWolv
ef320b74b0
impr: Handle showing popups when closing unsaved providers better
2023-11-07 15:31:54 +01:00
WerWolv
924b4a9436
impr: Replace various fixed-size boxes with dynamic ones
2023-11-07 00:46:44 +01:00
WerWolv
f49b5efac4
fix: UI issues in the data information view
2023-11-07 00:46:17 +01:00
WerWolv
8581ab9eb3
feat: Added simple data access graph to pattern editor
2023-11-06 15:15:35 +01:00
WerWolv
7efe9acefb
fix: Warnings about missing theme/style handlers being printed on launch
2023-11-06 15:15:18 +01:00
WerWolv
713ce86e24
build: Updated libwolv
2023-11-05 21:17:44 +01:00
WerWolv
4e4cdcdf61
feat: Added release notes and commits to about page
2023-11-05 19:57:29 +01:00
WerWolv
0388bbdc6d
build: Updated libwolv
2023-11-05 18:44:18 +01:00
WerWolv
30d47fd51b
build: Updated libwolv
2023-11-05 18:39:48 +01:00
WerWolv
3b2cf5b851
build: Updated libromfs
2023-11-05 01:03:19 +01:00
WerWolv
c9a728c318
fix: Rare crash when monitor connection status changes
2023-11-05 00:04:32 +01:00
WerWolv
e7eaa2b194
build: Updated libwolv
2023-11-04 23:35:34 +01:00
WerWolv
45fb046a9a
impr: Make events thread safe
2023-11-04 23:16:38 +01:00
WerWolv
c7c01c1f24
build: Removed old jthread search
2023-11-02 20:48:34 +01:00
WerWolv
615596dfe9
fix: Standard jthread detection
2023-11-02 20:41:47 +01:00
WerWolv
407ec1ceb6
build: Use custom jthread implementation if standard one is not available
2023-11-02 20:21:38 +01:00
WerWolv
eefdbe7ef1
patterns: Updated pattern language
2023-11-02 09:37:14 +01:00
WerWolv
4e6af607e8
fix: Crash when clicking on the welcome screen
2023-11-02 08:54:02 +01:00
WerWolv
363b07fc0c
impr: Switch to custom std::expected implementation
2023-11-02 08:53:46 +01:00
WerWolv
a719627be6
build: Updated dependencies
2023-11-01 11:07:11 +01:00
WerWolv
a92aa58be8
build: Updated libromfs
2023-10-31 21:59:22 +01:00
WerWolv
9617212ef1
impr: Allow visualizers to have optional parameters
2023-10-31 10:56:20 +01:00
WerWolv
c37c53369b
impr: Dock newly opened windows by default
2023-10-30 21:53:44 +01:00
WerWolv
94ad6e6072
fix: Crash on exit
2023-10-30 16:39:57 +01:00
WerWolv
b2774bf472
build: Updated libromfs
2023-10-30 13:28:07 +01:00
WerWolv
44ce81211e
build: Updated libromfs
2023-10-29 21:05:11 +01:00
WerWolv
c444ad9280
impr: Bundle default magic file with application
2023-10-29 19:43:45 +01:00
WerWolv
a0178ebab9
fix: File picker not handling supported extensions correctly
...
Fixes #1367
2023-10-26 17:28:36 +02:00
iTrooz
4f2d14e220
fix: fix forwarding multiple arguments to subcommands ( #1388 )
2023-10-24 07:59:23 +00:00
Nik
58189e5403
impr: Allow console output to work when debugging ( #1382 )
2023-10-22 21:39:14 +00:00
WerWolv
cb2aee0ed7
fix: Various TCP tool issues
2023-10-22 21:52:55 +02:00
WerWolv
73d7cc7c12
patterns: Updated pattern language
2023-10-22 21:22:50 +02:00
WerWolv
c3825fff65
fix: Actually fix dropdown default values
2023-10-22 17:51:00 +02:00
WerWolv
c51db87c34
fix: Language setting not defaulting to English anymore
2023-10-22 17:31:53 +02:00
Nik
7fe9a768d4
impr: Rewrote entire settings API and UI ( #1378 )
2023-10-21 21:07:33 +00:00
Nik
f114239f51
feat: Added Auto Updater for Windows, macOS and Ubuntu ( #1377 )
2023-10-21 18:40:24 +00:00
WerWolv
c46e445a04
impr: Store achievement progress immediately when unlocking one
2023-10-20 13:34:45 +02:00
WerWolv
d91334abcd
patterns: Updated pattern language
2023-10-20 12:39:34 +02:00
WerWolv
5227887dbf
impr: Added more fine-grained colors to themes
2023-10-20 12:30:21 +02:00
WerWolv
c9cd7ad4a6
fix: Data processor recursion detector triggering too soon
2023-10-19 23:34:05 +02:00
WerWolv
da1b53420f
feat: Added debug variables to aid with development
2023-10-13 23:46:48 +02:00
WerWolv
afa149f2db
patterns: Updated pattern language
...
Fixes #1361
2023-10-11 22:20:25 +02:00
lomekragow
7fc2ff3002
fix: Event unsubscribe not working correcetly when using same key for multiple events ( #1309 )
...
<!--
Please provide as much information as possible about what your PR aims
to do.
PRs with no description will most likely be closed until more
information is provided.
If you're planing on changing fundamental behaviour or add big new
features, please open a GitHub Issue first before starting to work on
it.
If it's not something big and you still want to contact us about it,
feel free to do so !
-->
### Problem description
<!-- Describe the bug that you fixed/feature request that you
implemented, or link to an existing issue describing it -->
Fixed possible bug of `EventManager::unsubscribe`
`std::map` only allows unique key, but the same token can subscribe to
multiple events.
1a2a926b77/lib/libimhex/include/hex/api/event.hpp (L104-L107)
If the previous token has already subscribed to an event, then when
subscribing again, `getTokenStore().insert` will not do anything
(Because its type is `std::map`)
1a2a926b77/lib/libimhex/include/hex/api/event.hpp (L122-L134)
At this point in `unsubscribe`, the `iter` may not be able to find the
correct event and erase it
### Implementation description
<!-- Explain what you did to correct the problem -->
Change `tokenStore` to `std::multimap` instead of `std::map`, which
cannot unsubscribe multiple events correctly
### Screenshots
<!-- If your change is visual, take a screenshot showing it. Ideally,
make before/after sceenshots -->
### Additional things
<!-- Anything else you would like to say -->
2023-10-07 23:35:35 +02:00
WerWolv
23e1c714d6
patterns: Updated pattern language
2023-10-06 19:31:48 +02:00
WerWolv
e57c9ff4f6
build: Updated libwolv
2023-10-04 16:13:40 +02:00
WerWolv
ed8c0794bb
fix: Querying default folder paths not working right on the web
2023-10-04 16:10:14 +02:00
WerWolv
a06752b349
build: Updated libwolv
2023-10-04 13:41:21 +02:00
iTrooz
d15bd4771d
feat: Support for building ImHex for the web ( #1328 )
...
Co-authored-by: WerWolv <werwolv98@gmail.com>
Co-authored-by: AnnsAnn <git@annsann.eu>
2023-10-04 12:00:32 +02:00
WerWolv
a62ede7840
fix: Properly fix possibility of no provider being selected when closing one
2023-10-01 20:56:25 +02:00
WerWolv
bcab657a06
fix: No provider being selected in some cases when closing a provider
2023-10-01 20:18:26 +02:00
WerWolv
51880fc2a8
build: Fixed build/install of refactored forwarder
2023-09-27 15:13:58 +02:00
StarrFox
25ddaa08dc
build: Fix building with capstone < 5 ( #1323 )
...
<!--
Please provide as much information as possible about what your PR aims
to do.
PRs with no description will most likely be closed until more
information is provided.
If you're planing on changing fundamental behaviour or add big new
features, please open a GitHub Issue first before starting to work on
it.
If it's not something big and you still want to contact us about it,
feel free to do so !
-->
### Problem description
<!-- Describe the bug that you fixed/feature request that you
implemented, or link to an existing issue describing it -->
This might fix building with capstone 4 as discussed in
https://discord.com/channels/789833418631675954/1155669027306340393/1155669027306340393
### Implementation description
<!-- Explain what you did to correct the problem -->
moves the max definition inside the if statement that checks for
capstone 5
2023-09-25 21:52:28 +02:00
WerWolv
f79e2df11a
feat: Added shortcut to switch between providers
2023-09-24 18:11:17 +02:00
paxcut
c577a42f62
impr: Refactoring of floating point tool to decrease code complexity. ( #1275 )
...
I noticed the bad score on code factor so I reorganized it to make it
more readable and maintainable. In order to break down the big function
into it much smaller parts I encapsulated all the variables that the
functions need to access in two classes, one for the imgui related
statics and the other for non-static variables.
When writing the smaller functions I was noticed that there was room to
simplify the existing algorithms by writing functions that could be
called by parts that previously shared no code. I tested the changes the
same way I tested the original and it seems to work the same way but
maybe a bit faster. Although it may be possible to further optimize the
present code code factor no longer flags the function at all.
2023-09-20 10:48:44 +02:00
Lennard Fonteijn
ad69ac84b1
feat: Added hex::group attribute and various fixes ( #1302 )
...
As discussed (many times) on Discord, does the same as the new favorite
tag, but instead allows you to add multiple groups.
Initially, this would cause some insane issues with draw/reset
(apparantly) fighting eachother in the pattern drawer. After a lot of
trial and error, I decided to rewrite the flow that is responsible for
calling reset. Now evaluating patterns is the one to decide when the
reset happens, not the core "game"-loop.
To make sure that draw and reset can never happen at the same time, the
mutex originally used for the favorites has been repurposed. Due to the
restructuring, the mutex in the favorite-task is no longer needed, as
that will only ever kick-off after reset is called and if there are
actually patterns, which can never line up to be accessed on different
threads at the same time.
Last but not least, I noticed that hard crashes could result in your
config file getting overridden. I added a check to prevent that.
Last I issue I can see is that if you use an excessive amount of
favorites/groups, a crash can still happen, but it only happens when you
close the program (occasionally, but unpredictable). Before, this would
happen if you ran the evaluation a second time. I boiled the cause of
the crash down to these lines of code in evaluator.cpp >
patternDestroyed:
```cpp
if (pattern->isPatternLocal()) {
if (auto it = this->m_patternLocalStorage.find(pattern->getHeapAddress()); it != this->m_patternLocalStorage.end()) {
auto &[key, data] = *it;
data.referenceCount--;
if (data.referenceCount == 0)
this->m_patternLocalStorage.erase(it);
} else if (!this->m_evaluated) {
err::E0001.throwError(fmt::format("Double free of variable named '{}'.", pattern->getVariableName()));
}
}
```
Specifically, trying to access the `*it` is the reason for the crash
(this was also the cause of the crashes before my fixes, but then during
evaluation).
I'm suspecting the root cause is somewhere in the `.clone` methods of
the patterns. I'd say that for now a crash when closing the program is
more acceptable than during evaluation (which can even happen if you use
favorites).
2023-09-16 13:09:59 +02:00
WerWolv
d011f37658
impr: Added better provider documentation
2023-09-08 21:59:27 +02:00
WerWolv
68b203eb75
patterns: Updated pattern language
2023-09-05 10:40:10 +02:00
WerWolv
1bb0a72bed
fix: Issues with various float nodes
2023-09-04 19:59:09 +02:00
WerWolv
fc91c8e4b0
patterns: Updated pattern language
2023-09-04 19:58:31 +02:00
iTrooz
57084fd797
build: Update libfmt to 10.1.1 ( #1286 )
2023-09-03 22:49:47 +02:00
WerWolv
9badfc043b
patterns: Updated pattern language
2023-09-03 22:37:58 +02:00
WerWolv
563ff5a774
fix: Future proof the previous fix
2023-09-03 16:18:29 +02:00
WerWolv
dc5e5344c5
fix: ImHex not starting at all anymore when launched through the explorer
2023-09-03 14:07:47 +02:00
WerWolv
632f388ece
impr: Make --pl subcommand automatically register ImHex's include dirs
2023-09-03 12:25:00 +02:00
WerWolv
632ca944de
impr: Align log output better
2023-09-03 11:45:20 +02:00
WerWolv
eba8c82699
fix: Crash when using provider overlays
2023-09-03 10:26:25 +02:00
iTrooz
be3ac26306
fix: Remove remannts of #680 bugfix ( #1282 )
2023-09-02 22:59:09 +02:00
WerWolv
58cef2361b
impr: Added hint when patterns are still loading
2023-08-30 10:04:06 +02:00
WerWolv
7bf9634e6e
patterns: Updated pattern language
2023-08-29 12:14:34 +02:00
WerWolv
550392c8d6
fix: Texture loading from romfs
2023-08-26 23:43:35 +02:00
WerWolv
32e05cc62f
patterns: Updated pattern language
2023-08-26 23:31:25 +02:00
WerWolv
886c52b322
patterns: Updated pattern language
2023-08-26 12:55:09 +02:00
WerWolv
ba66005585
impr: Various code cleanup
2023-08-26 12:54:52 +02:00
Justus Garbe
bfc835fc54
fix: add new capstone options and fixed overextending name array
2023-08-26 12:21:44 +02:00
iTrooz
32d6ac2241
feat: move PerProvider data to new provider when saving memory provider into file provider ( #1264 )
2023-08-26 01:47:44 +02:00
WerWolv
758cdd91f3
impr: Make sure logs are always output immediately
2023-08-26 01:44:10 +02:00
WerWolv
6e81ce152e
impr: Get rid of some manual memory management
2023-08-25 23:54:39 +02:00
WerWolv
6fc62bac94
build: Remove unnecessary yara autoconf file configuring
2023-08-25 22:55:09 +02:00
iTrooz
175e66a60e
feat: Do not save memory providers as recent entries ( #1259 )
2023-08-25 15:35:15 +02:00
WerWolv
f598421705
patterns: Updated pattern language
2023-08-17 08:24:38 +02:00
WerWolv
fc93f8bd66
fix: CI being broken on Arch Linux
2023-08-16 23:07:16 +02:00
Lennard Fonteijn
d2e6d8e4d9
Added ImGui extension to create single- and multiline formatted selec… ( #1249 )
...
(Partial) implementation of #1245 with additional functionality to
supersede PR #1240 .
2023-08-13 17:08:17 +02:00
Justus Garbe
285b79f31e
fix: Crypto buffered hexadecimal encoding
2023-08-13 15:27:01 +02:00
Justus Garbe
d468893bb0
build: Updated libwolv
2023-08-13 14:30:52 +02:00
WerWolv
882849e73c
fix: Highlighting of found elements not being cleared correctly
2023-08-09 20:01:57 +02:00
WerWolv
49d3fe65a3
fix: Allow converting very long hex strings to bytes
2023-08-09 20:01:29 +02:00
Nik
e77f138514
feat: Added Achievements ( #1230 )
...
This PR adds Achievements to ImHex that serve as both a guide and a fun
way to learn more about ImHex and reverse engineering
2023-08-06 21:33:15 +02:00
WerWolv
64a0c3f6e2
build: Updated json and miniaudio libraries
2023-08-06 11:10:42 +02:00
WerWolv
fae8f0a8d5
build: Fixed cmake not using default settings on Windows
2023-08-06 01:52:23 +02:00
WerWolv
1a765ee5ab
build: Updated libromfs
2023-08-05 10:26:27 +02:00
WerWolv
e1ca84d89c
patterns: Updated pattern language
...
Fixes #1228
2023-08-05 09:59:53 +02:00
WerWolv
d28d6d1a1b
patterns: Updated pattern language
...
Fixes #958
2023-08-03 23:43:40 +02:00
WerWolv
e65497ec3b
fix: /imhex
being appended to Application Support folder paths on macOS
...
Fixes #1221
2023-08-03 21:49:41 +02:00
WerWolv
50dd6405e9
patterns: Updated pattern language
2023-08-02 20:41:56 +02:00
WerWolv
bf8924ae0c
feat: Added support for string in/out variables
2023-08-02 12:51:02 +02:00
WerWolv
30b202cf0c
patterns: Updated pattern language
2023-08-01 00:00:45 +02:00
WerWolv
84766d5f6e
patterns: Updated pattern language
2023-07-31 23:19:23 +02:00
iTrooz
4d6e6cf75a
fix: Magic compile dumping files into cwd ( #1212 )
...
This PR fix libmagic dumping files in the imhex cwd when compiling them
This code was actually written by you (notice the source branch), this
PR is just a reminder that the fix works and you can merge it ^^
---------
Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-07-30 21:36:48 +02:00
WerWolv
2e5a51bb05
patterns: Updated pattern language
2023-07-30 00:44:09 +02:00
WerWolv
4ae55f69e1
build: Updated libwolv
2023-07-29 11:26:18 +02:00
WerWolv
e829c407e3
fix: Writing behaving weirdly when using a custom base address
2023-07-27 02:05:35 +02:00
WerWolv
27c8e19c14
build: Remove all static variables from headers to hopefully fix plugins
2023-07-26 13:50:51 +02:00
WerWolv
866c87b2bf
patterns: Updated pattern language
2023-07-26 13:05:47 +02:00
WerWolv
aa4ce01c73
build: Forcefully disable LTO for libimhex
2023-07-26 12:57:38 +02:00
WerWolv
d0a5c144e6
patterns: Updated pattern language
2023-07-26 00:23:09 +02:00
WerWolv
5feb4dce51
build: Try and make libimhex export all symbols
2023-07-25 11:25:59 +02:00
WerWolv
bca73ef01e
fix: Loading of custom fonts not working anymore
2023-07-24 17:25:36 +02:00
WerWolv
8b3cd2d76d
impr: Properly print asserts
2023-07-23 23:39:00 +02:00
WerWolv
b8d5e1e9c5
feat: Added built-in logging console
2023-07-23 23:37:47 +02:00
WerWolv
fdd2e1fcde
patterns: Added [[hex::spec_name]]
2023-07-23 09:14:00 +02:00
WerWolv
4979c65566
fix: Missing <array> include in stacktrace helper
2023-07-22 22:47:35 +02:00
WerWolv
f5fda76414
impr: Cleanup main
2023-07-22 21:30:22 +02:00
WerWolv
4b0d980d54
impr: Don't use fmt::println if it's not supported
2023-07-22 20:22:25 +02:00
WerWolv
8aec382440
fix: Loading of plugins and localizations after restart
2023-07-22 18:38:14 +02:00
WerWolv
f6bbfd7283
impr: Properly print new line characters in cli
2023-07-21 15:17:21 +02:00
WerWolv
0033d9f4eb
patterns: Updated pattern language
2023-07-21 14:20:57 +02:00
WerWolv
e5a793e8de
fix: Subcommands not working at all on Linux
2023-07-21 14:12:08 +02:00
WerWolv
3149183450
patterns: Updated pattern language
2023-07-21 11:53:37 +02:00
WerWolv
7c321a79c3
impr: Print message if no stacktrace can be collected
2023-07-20 21:41:22 +02:00
WerWolv
7c203e0635
build: Updated libwolv
...
Fixes #1201
2023-07-20 21:38:37 +02:00
WerWolv
6d7f217e2a
patterns: Updated pattern language
2023-07-17 11:20:17 +02:00
WerWolv
a83ca3c228
feat: Added --pl and --magic command
2023-07-17 10:43:29 +02:00
WerWolv
a83f87fbfa
build: Updated nativefiledialogs-extended to latest version
2023-07-17 08:08:29 +02:00
WerWolv
e9450b490f
feat: Added --plugin, --calc, --hash, --encode and --decode subcommands
2023-07-16 23:46:41 +02:00
WerWolv
0a6815da8f
fix: Always use default CA Cert
2023-07-16 19:56:07 +02:00
Nik
5171bea0bf
feat: Added cross-platform .NET scripts support ( #1185 )
...
This PR intends to add support for .NET scripts that can extend ImHex's
functionality in a portable and cross-platform way.
---------
Co-authored-by: Justus Garbe <55301990+Nowilltolife@users.noreply.github.com>
2023-07-15 14:29:14 +02:00
WerWolv
0f54a3a1f3
build: Added option to disable strict warnings
2023-07-15 10:02:19 +02:00
Nik
aae3004f1f
build: Various build improvements ( #1193 )
2023-07-15 00:10:01 +02:00
WerWolv
04b56c3d4d
patterns: Updated pattern language
2023-07-14 21:39:49 +02:00
iTrooz
1ed658bcdc
feat: Added command line interface support ( #1172 )
...
System design has been discussed on discord
Should fix #948
---------
Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-07-13 14:08:23 +02:00
WerWolv
cdc4f2db89
patterns: Updated pattern language
2023-07-11 09:21:13 +02:00
WerWolv
10756c65a6
patterns: Updated pattern language
2023-07-11 00:04:54 +02:00
WerWolv
8524e93445
impr: Display encoding types in header of hex editor
...
Closes #1186
2023-07-11 00:04:26 +02:00
WerWolv
ce9ce42c1c
impr: Only reload localization when necessary
2023-07-09 20:24:56 +02:00
WerWolv
6343cb092b
build: Fixed include issues
2023-07-09 12:53:31 +02:00
WerWolv
7cb26b1499
patterns: Updated pattern language
2023-07-09 12:40:51 +02:00
WerWolv
5d047a335d
patterns: Updated pattern language
2023-07-09 12:30:48 +02:00