Commit Graph

1186 Commits

Author SHA1 Message Date
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