Commit Graph

1279 Commits

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