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