Commit Graph

1313 Commits

Author SHA1 Message Date
Nobutaka Mantani 70b9ceba72 build: Added support patches for FreeBSD (#1584)
This pull request fixes build on FreeBSD. The changes are conditioned
with `#if defined(__FreeBSD__)` preprocessor macro and they should not
affect build for other operating systems.

---------

Co-authored-by: Nik <werwolv98@gmail.com>
Co-authored-by: iTrooz <hey@itrooz.fr>
2024-03-22 17:52:38 +01:00
WerWolv 27f3c634ba impr: Load unifont at correct size
Fixes #1604
2024-03-22 17:50:45 +01:00
WerWolv b4b47ff60e fix: Make sure pattern runtime is always properly configured 2024-03-22 17:46:24 +01:00
WerWolv e5969c5d2e fix: Potential crash when log file is unavailable 2024-03-22 17:45:59 +01:00
WerWolv b1d6086c0c fix: Control characters ending up in log files 2024-03-22 17:45:38 +01:00
WerWolv cc3a5aed9a patterns: Updated pattern language 2024-03-02 15:59:59 +01:00
WerWolv 6d548180bb fix: Endless loop when throwing exception in deferred tasks 2024-03-02 15:58:02 +01:00
WerWolv 4a118b94cc 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-02 15:57:30 +01:00
WerWolv 8e27eb8d36 build: Updated libwolv 2024-02-29 23:06:49 +01:00
WerWolv 7cf88d128b patterns: Updated pattern language 2024-02-29 22:24:01 +01:00
WerWolv aaf9fdf61c fix: Build with precompiled headers for WebAssembly 2024-02-29 22:18:22 +01:00
WerWolv 6e36586ebc fix: Build with precompiled headers on Linux 2024-02-29 22:18:14 +01:00
WerWolv 773f9d3f1c build: Don't add defines to libimhex after precompiling headers 2024-02-29 22:18:09 +01:00
WerWolv b448583105 build: Added precompiled headers 2024-02-29 22:17:57 +01:00
WerWolv 25cfa6f10b patterns: Updated pattern language 2024-02-27 18:57:02 +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