Commit Graph

1680 Commits

Author SHA1 Message Date
WerWolv 1bb0a72bed fix: Issues with various float nodes 2023-09-04 19:59:09 +02:00
WerWolv 7685a22c5f fix: Crash when pressing delete twice when data processor nodes are selected 2023-09-04 19:58:55 +02:00
WerWolv 2b8a9db0f0 impr: Clean up default layout file 2023-09-03 22:45:03 +02:00
WerWolv 4ff25819c2 fix: Pasting not working correctly on non-zero pages
Fixes #1291
2023-09-03 16:25:51 +02:00
WerWolv 563ff5a774 fix: Future proof the previous fix 2023-09-03 16:18:29 +02:00
WerWolv b042b8327a fix: Crash when re-opening a custom section window while having a selection in it 2023-09-03 16:09:06 +02:00
WerWolv 971c8739ca fix: Potential crash when preprocessing invalid pattern file when loading a file 2023-09-03 15:49:27 +02:00
WerWolv 26f4aa0d9f fix: Buffer to integer node not working correctly 2023-09-03 15:41:00 +02:00
WerWolv b2d1568abb fix: First overlay being assigned to all end nodes 2023-09-03 13:44:13 +02:00
WerWolv 632f388ece impr: Make --pl subcommand automatically register ImHex's include dirs 2023-09-03 12:25:00 +02:00
WerWolv 0bbd21f25a fix: Build issues with older standard libraries 2023-09-03 11:44:48 +02:00
WerWolv 367c4ec9c8 impr: More view comments and refactoring 2023-09-03 10:27:03 +02:00
WerWolv 5538307838 impr: Make achievement popups stay up for longer 2023-09-03 10:26:40 +02:00
iTrooz fc1ad592cb
feat: Adapt content store view for new API contents (#1268) 2023-09-02 18:36:34 +02:00
Lennard Fonteijn f725d763d1
feat: Remember bytes per row in Hex Editor (#1276) 2023-09-02 17:52:05 +02:00
iTrooz c2fe9f0966
fix: verify that file names queried from the store do not allow path traversal (#1277) 2023-09-02 17:51:21 +02:00
WerWolv 58cef2361b impr: Added hint when patterns are still loading 2023-08-30 10:04:06 +02:00
WerWolv 60649d1cba fix: Occasional crash when using favorites 2023-08-30 09:18:24 +02:00
WerWolv ea9457c08c patterns: Added `[[hex::favorite]]` attribute 2023-08-29 21:46:08 +02:00
WerWolv 4288f876e2 impr: Added lots of comments and cleaned up many views 2023-08-29 12:14:12 +02:00
iTrooz 10ad239fb9
fix: add _lang suffix to "Load into memory" localization string (#1267) 2023-08-28 02:21:41 +02:00
WerWolv 550392c8d6 fix: Texture loading from romfs 2023-08-26 23:43:35 +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
iTrooz 175e66a60e
feat: Do not save memory providers as recent entries (#1259) 2023-08-25 15:35:15 +02:00
WerWolv d50fb8d17b fix: Crash when deleting items from file combiner in some cases 2023-08-19 19:18:57 +02:00
WerWolv 83e42ddfd9 fix: Don't show accept pattern popup if no patterns are available 2023-08-19 19:12:48 +02:00
WerWolv e70ec10b0e impr: Allow the file combiner tool to select multiple files at once 2023-08-19 19:11:38 +02:00
WerWolv b4401b7df1 fix: Rest in peace, Anonfiles 2023-08-17 09:27:14 +02:00
lorsanta 84ceb45129
impr: Update timestamp when saving a file in windows (#1248)
### Problem description
Ref #1210 

### Implementation description
Call
[`SetFileTime()`](https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-setfiletime)
everytime `FileProvider::save()` is called.

### Additional things
I moved the call to `File::close()` from `FileProvider::open()` to
`FileProvider::close()` because `SetFileTime()` requires a file handler
as input, so I need `File::m_file` to be valid.
2023-08-16 23:18:16 +02:00
WerWolv 8a2afd1c05 fix: Crashes when having pattern auto evaluation enabled 2023-08-16 22:26:05 +02:00
Justus Garbe 2059ad82c3 fix: Update title on project save 2023-08-13 23:36:50 +02:00
Lennard Fonteijn c25aad552d
feat: Selectable demangler (#1250)
Supersedes #1240 - depends on #1249 and
https://github.com/WerWolv/libwolv/pull/8 to work.
2023-08-13 21:51:05 +02:00
Lennard Fonteijn 896091b124
feat: Added toggle for human-readable units in hex editor footer (#1251)
Finalization of #1245 by adding a toggle to the hex editor itself, issue
can be closed afterwards.
2023-08-13 19:08:09 +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
WerWolv 65c56a887c feat: Added option to load files into memory 2023-08-09 20:04:12 +02:00
WerWolv 882849e73c fix: Highlighting of found elements not being cleared correctly 2023-08-09 20:01:57 +02:00
WerWolv a6aafa8cd6 feat: Allow memory files to be renamed 2023-08-08 19:04:00 +02:00
WerWolv ba9227c1e0 feat: Properly save memory provider data 2023-08-06 21:48:08 +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 f2cfc70eca fix: Highest / Lowest entropy block address being wrong 2023-08-06 01:51:01 +02:00
WerWolv 2082781cf5 fix: Correct endianess of CRC hashes
Fixes #1225
2023-08-04 16:05:21 +02:00
WerWolv a61c93e99c impr: Better tooltip for update all button in content store
#1222
2023-08-03 21:50:28 +02:00
WerWolv 79eb53eb0d fix: --pl command line interface not working correctly 2023-08-02 20:30:13 +02:00
WerWolv 05ca498343 feat: Added Fill option to hex editor 2023-08-02 13:09:21 +02:00
WerWolv fbd4bc337b fix: Crash when trying to format invalid timestamps 2023-08-02 12:52:10 +02:00
WerWolv 89115bcdde impr: Added better data processor workspace close button 2023-08-02 12:51:58 +02:00
WerWolv 954c0d5bda fix: Writing to hex cells in big endian mode writing the value as little endian
Fixes #1219
2023-08-02 12:51:33 +02:00
WerWolv bf8924ae0c feat: Added support for string in/out variables 2023-08-02 12:51:02 +02:00
WerWolv 106e669512 feat: Added setting to remember and restore window position and size
Closes #1215
#944
2023-07-31 11:17:37 +02:00
WerWolv b469e68ddb fix: Pattern console not updating correctly 2023-07-30 21:35:31 +02:00
WerWolv 2e5a51bb05 patterns: Updated pattern language 2023-07-30 00:44:09 +02:00
WerWolv d079b8c3bb impr: Hide column headers when hiding ASCII or custom encoding column 2023-07-28 10:31:44 +02:00
WerWolv 33f0d59545 fix: Bad formatting of project open error popup 2023-07-28 00:01:49 +02:00
WerWolv e829c407e3 fix: Writing behaving weirdly when using a custom base address 2023-07-27 02:05:35 +02:00
WerWolv 94a02c4b6d build: Streamlined plugin creation process 2023-07-27 00:53:04 +02:00
WerWolv 4792a29fac fix: Crash when passing invalid parameters to sound visualizer
Fixes #1208
2023-07-26 22:13:39 +02:00
WerWolv d0a5c144e6 patterns: Updated pattern language 2023-07-26 00:23:09 +02:00
WerWolv 4d4f223357 impr: Improve frame rate when lots of bytes are highlighted 2023-07-24 23:24:31 +02:00
WerWolv a032bfa0f5 feat: Added support for hashing arbitrary strings using the string view 2023-07-24 16:58:52 +02:00
WerWolv ff8946b851 fix: Pattern array chunks being rendered wrongly 2023-07-24 16:55:35 +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 564ae6dd8c fix: Crash when loading bad font 2023-07-22 19:35:58 +02:00
WerWolv 8aec382440 fix: Loading of plugins and localizations after restart 2023-07-22 18:38:14 +02:00
WerWolv a99f8f78d0 fix: Crash when trying to paste invalid data 2023-07-22 18:21:58 +02:00
WerWolv f6bbfd7283 impr: Properly print new line characters in cli 2023-07-21 15:17:21 +02:00
WerWolvTranslationBot d3f493b6c2
lang: Translations update from Weblate (#1200)
Translations update from [Weblate](https://weblate.werwolv.net) for
[ImHex/Built-in
Plugin](https://weblate.werwolv.net/projects/imhex/built-in-plugin/).


It also includes following components:

* [ImHex/Windows
Plugin](https://weblate.werwolv.net/projects/imhex/windows-plugin/)



Current translation status:

![Weblate translation
status](https://weblate.werwolv.net/widgets/imhex/-/built-in-plugin/horizontal-auto.svg)

Co-authored-by: Justus Garbe <gihihoh@gmail.com>
2023-07-21 14:30:27 +02:00
WerWolv bd8868d2c8 impr: Added better help output for cli 2023-07-21 14:28:15 +02:00
WerWolv ee41a5a046 fix: Selection changes not being handled correctly 2023-07-21 14:22:53 +02:00
WerWolv 18dd754b31 impr: Better handling of hex editor selections 2023-07-20 20:58:28 +02:00
WerWolv 3c97759aa7 fix: Crash when trying to load files with invalid paths 2023-07-19 22:35:55 +02:00
WerWolv 2d4f971d10 impr: Disable endianess switch in hex editor when visualizer only uses one byte 2023-07-18 14:23:02 +02:00
WerWolv 90267ec356 impr: Allow hex editor view to be scrolled slightly past the end 2023-07-18 14:22:39 +02:00
WerWolvTranslationBot 7fc53bf861
lang: Translations update from Weblate (#1199)
Translations update from [Weblate](https://weblate.werwolv.net) for
[ImHex/Built-in
Plugin](https://weblate.werwolv.net/projects/imhex/built-in-plugin/).


It also includes following components:

* [ImHex/Windows
Plugin](https://weblate.werwolv.net/projects/imhex/windows-plugin/)



Current translation status:

![Weblate translation
status](https://weblate.werwolv.net/widgets/imhex/-/built-in-plugin/horizontal-auto.svg)

---------

Co-authored-by: Justus Garbe <gihihoh@gmail.com>
Co-authored-by: xtex <xtexchooser@duck.com>
2023-07-17 16:40:40 +02:00
WerWolv b9c2955b88 fix: Use ANSI escape codes for --plugins 2023-07-17 11:59:21 +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 b9ec1a150d fix: Wrong libfmt header being included 2023-07-17 09:12:22 +02:00
classabbyamp d9a4906b3c
impr: Clarify portal error message (#1197)
<!--
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 -->

see #723


### Implementation description
<!-- Explain what you did to correct the problem -->

`xdg-desktop-portal-wlr` is not relevant because it does not provide the
FileChooser interface.

`xdg-desktop-portal` needs the `WAYLAND_DISPLAY` env var on wayland and
the `DISPLAY` and `XAUTHORITY` env vars on xorg. If the dbus user
session bus is not run in a way that it already gets those variables,
they must be given via `dbus-update-activation-environment(1)`.

### 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 -->

fixes #723
2023-07-17 09:11:40 +02:00
WerWolv e9450b490f feat: Added --plugin, --calc, --hash, --encode and --decode subcommands 2023-07-16 23:46:41 +02:00
WerWolv 52c517d38d fix: Potential crash when loading incorrect data processor node files 2023-07-16 20:41:06 +02:00
WerWolv aac9bf3896 fix: Crash when using "Open in new View" button in bookmarks 2023-07-16 20:35:10 +02:00
WerWolv 54891c6d8f impr: Added proper localization for new visualizer endianess toggle 2023-07-16 20:25:31 +02:00
WerWolv 7631778edb feat: Added support for big endian in data visualizers 2023-07-16 19:53:02 +02:00
Justus Garbe 1a3debd6c9
fix: Raw Disk Provider not working correctly on Linux and macOS (#1195)
<!--
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
- Fixed disk provider not working for linux

### Implementation description
- Used ioctl instead of fstat
- Fixed buffer issues

---------

Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-07-16 18:18:41 +02:00
WerWolv 893b06c78b feat: Allow hex editor editing mode to be entered when pressing Enter 2023-07-16 18:14:48 +02:00
WerWolv 3a775e982f build: Removed outdated and dangerous linker flags in plugins 2023-07-15 10:02:34 +02:00
WerWolv c1cdab72ef fix: Weird behaviour when trying to open a non-existing file through the command line 2023-07-15 00:12:09 +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 272b4b0cf8 feat: Added "Update All" button to content store 2023-07-11 09:19:52 +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 2449b08f64 fix: Crash when trying to remove chunks larger than the whole file 2023-07-06 21:14:50 +02:00
WerWolv c9c6f3aadb fix: New visualizers behaving weirdly with large font sizes 2023-07-06 10:08:47 +02:00
WerWolv 924c816dbd fix: Chunk size setting in information view being reset the first time 2023-07-06 00:00:56 +02:00
WerWolv 695e11477e feat: Added single stepping feature to pattern debugger 2023-07-05 21:32:11 +02:00
iTrooz e3ae169833
impr: Separate the behaviour of being savable and being dumpable for provider (#1183)
### Problem description

Currently, the providers use the method `isSavable()` to determine both
if they can use "Save" or "Save as".
This behaviour is problematic because some providers may need to be
saveable but not saveable as: for example the view provider. The
original provider may not allow to be saved.

### Implementation description
I separate these two behaviour by creating another function:
`isDumpable()`, that return true by default but can be overridden by the
provider to return false, if the provider should not be dumped in any
way.

### Additional things

While I was at it, I also marked "export" operations as needing the
"dumpable" flag. That way, we can't accidentally export the whole
address space of a process as base64.

I also added documentation for these some functions in Provider
2023-07-05 20:49:57 +02:00
WerWolv b6881d2362 feat: Added timestamp visualizer 2023-07-05 19:54:18 +02:00
WerWolv 8e0349e2ac fix: Projects failing to be loaded when another project is being unloaded 2023-07-04 23:30:37 +02:00
WerWolv 86c4c8fa96 feat: Added new pattern inline visualizers 2023-07-04 22:18:06 +02:00
WerWolv 33566137c2 impr: Allow bitmap visualizers to be zoomed 2023-07-04 22:17:51 +02:00
WerWolv f16bbfb469 feat: Added coordinates visualizer 2023-07-04 09:40:05 +02:00
WerWolv b265d8e54a build: Restructure romfs assets 2023-07-04 08:42:33 +02:00
WerWolv 6a667d9493 impr: Allow image visualizer image to be scaled 2023-07-03 21:24:36 +02:00
WerWolv ceed8c7420 pattern: Properly display Start/End/Size column again for zero sized types 2023-07-03 21:24:15 +02:00
WerWolv d297b2d1cc impr: Hide sections with an empty name 2023-07-03 12:04:20 +02:00
WerWolv 39e74c627e impr: Handle unidentifiable data in the data information view better 2023-07-02 10:27:56 +02:00
WerWolv a0c89858ed patterns: Don't re-evaluate format functions during highlighting 2023-07-01 14:06:15 +02:00
iTrooz c6c3ca4d26
fix: Reset terminate handler directly when being called + some other crashes to crash handling (#1174)
This PR fixes some things about crash handling:
- when the terminate handler is called, immediately set it back to the
original one, so can't make a recursion if the crash-handling code fails
- Only save projects if the crash occured after Imhex finished startup
- do not update the project location when saving the crash backup file:
this will remove problems when `EventAbnormalTermination` is called
before `crashCallback()`

I also added a bit more documentation
2023-07-01 12:32:28 +02:00
WerWolv 301418c728 fix: Bookmarks not being loaded correctly when multiple providers are in project 2023-07-01 12:27:59 +02:00
iTrooz aec38328d0
impr: Added "Hold SHIFT for more info" text to provider tooltip (#1171)
As discussed on discord
2023-06-30 22:28:37 +02:00
WerWolv 050a71913a impr: Improved construction of language settings dropdown 2023-06-30 14:00:10 +02:00
WerWolv 8cc6994dd0 fix: Properly apply UI scaling on launch 2023-06-30 13:40:39 +02:00
WerWolv bc98556897 impr: Automatically scroll pattern console to the bottom when new lines are added 2023-06-30 00:11:48 +02:00
WerWolv 4f08ba3590 patterns: Fixed race condition when evaluating patterns 2023-06-30 00:11:26 +02:00
WerWolv d527675bda build: Make sure changing commit hash doesn't trigger a full rebuild
Closes #1137
2023-06-26 14:01:45 +02:00
WerWolv 15cd2b693c fix: Crash when using paste without a valid selection 2023-06-26 11:14:10 +02:00
WerWolv cda883bb0f fix: Page count displaying wrongly in empty files 2023-06-26 11:13:12 +02:00
WerWolv e03c91b888 impr: Better UI for all data information diagrams 2023-06-26 10:51:37 +02:00
WerWolv 9282f1fe75 fix: Multiwindow support not being disabled by default on Linux 2023-06-26 09:02:23 +02:00
WerWolv af147b4f54 fix: Titlebar button localization keys still being inside the windows plugin 2023-06-26 08:54:30 +02:00
WerWolv c280b16787 fix: Make disassembler view not clear selection when typing in region 2023-06-24 20:53:36 +02:00
WerWolv a449478e39 patterns: Make updating favorites and pattern tooltips not lag out ImHex 2023-06-24 16:40:34 +02:00
WerWolv c1babc2a55 fix: Prevent data inspector table from being scrollable 2023-06-24 15:39:19 +02:00
WerWolv b644020e0f impr: Allow Accept Pattern popup to be closed with Escape 2023-06-24 15:32:05 +02:00
WerWolv 07ffd21c5a fix: Entropy and byte type graph sometimes stopping in the middle 2023-06-24 15:20:26 +02:00
WerWolv af951e3526 fix: Entropy and byte type diagram address and display being wrong 2023-06-24 11:53:21 +02:00
WerWolv ade05f8e12 impr: Only load a limited subset of unicode characters by default 2023-06-24 10:58:42 +02:00
WerWolv 1e9cc97263 feat: Added scope selector dropdown to pattern debugger 2023-06-24 00:49:43 +02:00
WerWolv a7ecefb5a0 fix: Don't load constants files that start with a `_` 2023-06-23 21:39:39 +02:00
WerWolv d65e669bbb impr: Make loading of large table files significantly faster 2023-06-21 23:58:21 +02:00
iTrooz b7d8e46288
feat: Display detailed error message when loading of project fails (#1135)
In order to do this I add to make some other additions :
- Add a warning popup (TODO, maybe add some icons to differentiate
error/warning popups in a future PR ?)
- create showError() and showWarning() functions, as helpers to show a
message both to the logs and as a popup
2023-06-21 20:07:36 +02:00
WerWolv 3fe6cd057b impr: Upper case pattern data export options 2023-06-21 17:49:03 +02:00
WerWolv da11c47693 impr: Better sorting of hex cell visualizers 2023-06-21 17:48:51 +02:00
WerWolv 9cd19063da fix: Occasional crashes when evaluating patterns 2023-06-21 10:30:00 +02:00
WerWolv 0da87cdb68 patterns: Updated pattern language 2023-06-21 09:29:40 +02:00
WerWolv eed785d73f impr: Better layout for statistics value in statistics popup 2023-06-21 00:33:06 +02:00
shenleban tongying b223d9b0ff
fix: Wrong drawing logic for custom encoding characters (#1150)
fix https://github.com/WerWolv/ImHex/issues/1146
related
3a840c4ced
2023-06-21 00:30:26 +02:00
WerWolv c8150f3261 impr: Make statistics format not suck a whole lot 2023-06-21 00:21:16 +02:00
Nik f703b15165
feat: Added statistics and crash log uploading (#1149)
Co-authored-by: Justus Garbe <gihihoh@gmail.com>
2023-06-20 11:55:56 +02:00
WerWolv 25154dd450 build: Force enable exceptions and rtti 2023-06-18 14:42:48 +02:00
WerWolv d9af85f458 impr: Split offset column into Start and End column in pattern data view 2023-06-18 12:23:47 +02:00
WerWolv 5f6bc2507c impr: Make ImHex not use lots of CPU when waiting for conditions 2023-06-18 10:18:58 +02:00
WerWolv c2e023f567 fix: Pattern editor console scrolling back to the top constantly 2023-06-16 22:17:01 +02:00
WerWolv 90a576c3c7 fix: Highlighting and updating of the new console not working well 2023-06-14 10:35:23 +02:00
WerWolv 0e5371b298 fix: Properly handle multithreading for new pattern console 2023-06-14 06:57:43 +02:00
WerWolv dd832bfa7e ui: Make pattern editor console use another text editor 2023-06-13 22:58:57 +02:00
WerWolv 3b514003f8 fix: Pattern editor drag bar not always getting dragged correctly 2023-06-12 08:55:30 +02:00
WerWolv 7de367a944 impr: Properly allow multi-threaded logging without messing up output 2023-06-12 08:24:36 +02:00
WerWolv ef1d831158 impr: Better UI/UX of the new debugger 2023-06-11 22:00:49 +02:00
WerWolv da137b3e3b feat: Allow pattern editor console to be resized 2023-06-11 21:41:24 +02:00
WerWolv 03673b5846 feat: Added basic Pattern Language debugger 2023-06-11 21:41:11 +02:00
WerWolv 34732a1ee7 fix: Corrected some memory leaks 2023-06-11 10:47:17 +02:00
KOLANICH e8ca139246
fix: Remove unused member variable in HexEditor class (#1129)
Fixes `error: private field 'm_grayZeroHighlighter' is not used
[-Werror,-Wunused-private-field]`
2023-06-11 00:49:34 +02:00
WerWolv ef9cb31204 patterns: Updated pattern language 2023-06-11 00:08:34 +02:00
WerWolv e90e414d5a impr: Show infinity icon in pattern editor view when pattern limit is disabled 2023-06-10 15:09:20 +02:00
WerWolv a485a0bc3a fix: Crash when loading files in some cases 2023-06-08 17:02:28 +02:00
WerWolv 903d1fb555 impr: Analyze file content of newly loaded files only when they are selected 2023-06-08 17:02:16 +02:00
WerWolv 99831a66a7 feat: Added file handlers for .hexlyt and .hexproj files 2023-06-06 21:35:13 +02:00
WerWolv 456895a6a6 fix: Various pattern drawer issues 2023-06-06 11:29:58 +02:00
WerWolv 1e2cf87532 fix: Properly clear pattern editor when all providers are closed 2023-06-06 10:36:02 +02:00
WerWolv 48022bc295 fix: Bad formatting of array chunks in pattern data view 2023-06-06 10:06:54 +02:00
Sergei Rebrov b4ac46f719
impr: Set currently selected address in selection popup (#1125)
Set the Begin field to the current selected address
2023-06-06 08:22:10 +02:00
WerWolv 44bbbb03af fix: Various pattern visualizer issues
Closes #1119
2023-06-06 08:20:58 +02:00
WerWolv b8457439a4 fix: Crash when loading custom encodings 2023-06-05 16:56:50 +02:00
WerWolv c690f7627f fix: Bad sentence wrapping in advanced provider information popup 2023-06-05 15:36:47 +02:00
WerWolv 849e4ea370 feat: Make paths in about page clickable 2023-06-05 13:50:55 +02:00
WerWolv 9712329924 feat: Added pattern export option to pattern data view 2023-06-05 11:57:26 +02:00
WerWolv 59aa52e744 patterns: Allow console log to be printed immediately and from format functions 2023-06-05 09:45:25 +02:00
WerWolv 60a95eddd7 fix: Crash due to uninitialized data visualizer in hex editor 2023-06-05 09:45:03 +02:00
WerWolv 7c23b215ba impr: Allow detached tools to always be rendered 2023-06-05 09:08:41 +02:00
WerWolv ae48ae659b impr: Move various settings from settings window to hex editor and pattern data view 2023-06-05 09:07:58 +02:00
WerWolv e78c21cbfb impr: Use better icons for favorites and filter text boxes 2023-06-04 22:52:36 +02:00
WerWolv cc55e5ec74 fix: Added missing pattern data favorites lang entry 2023-06-04 18:41:58 +02:00
WerWolv 1134697b90 fix: Pattern filter RValue parsing 2023-06-04 18:35:44 +02:00
WerWolv e518b8360c feat: Allow patterns to be marked as favorite 2023-06-04 18:30:47 +02:00
WerWolv 244e34ab84 feat: Added pattern data filter field 2023-06-04 16:13:46 +02:00
WerWolv 07aabe8efa impr: Improved types used in provider functions 2023-06-04 10:42:11 +02:00
iTrooz 25476d4e1e
build: Update ImGui and its dependencies (#1122)
This PR updates imgui and its dependencies from the last time, ~1 year
ago
(deabacbd50)

Commits will be refactored before merging

Things you might ask :
- why did you remove `ImGui_ImplGlfw_SetBorderlessWindowMode()` ?
-> Where is it used ? The only usage of it I see is commented
(cb9a3b1f55/lib/external/imgui/source/imgui_impl_glfw.cpp (L757))
- why did you remove the implot anti aliasing flag ?
-> They.. seem to have removed it altogether ?
https://github.com/epezent/implot/issues/479
2023-06-04 00:09:45 +02:00
WerWolv de76c37ffb fix: Multiple file provider resize issues 2023-06-03 23:57:41 +02:00
WerWolv 6d19b33e32 fix: Don't require providers to be writable to save a project 2023-06-03 23:18:43 +02:00
WerWolv aca949175d impr: Disable advanced provider information popup if there are none 2023-06-03 15:57:47 +02:00
WerWolv d2e455c4cb fix: Intel hex provider not displaying data correctly 2023-06-03 15:53:55 +02:00
WerWolv 09dda0bc5e feat: Added provider information to advanced provider tab tooltip 2023-06-02 14:44:19 +02:00
WerWolv 62ecfb0e0e fix: Make sure crash backup doesn't end up in recents list 2023-06-02 11:03:44 +02:00
WerWolv 504c022f01 patterns: Added hex_viewer visualizer 2023-06-02 10:47:23 +02:00
WerWolv 5e0ca4ac50 patterns: Properly display exported variables 2023-05-28 15:44:01 +02:00
WerWolv 8d8a5a70f3 fix: Find view replace and hex editor paste logic being wrong 2023-05-28 14:30:33 +02:00
WerWolv c8c3f5e753 feat: Added primitive replace feature to find view 2023-05-28 11:50:10 +02:00
iTrooz ea756e620e
fix: Explicitely convert std::fs::path to std::string (#1116)
This should fix the current crash when opening a project on Windows
2023-05-28 11:36:08 +02:00
iTrooz e599d31625
fix: Properly Check if crash.json has valid json, remove it otherwise (#1117) 2023-05-28 11:35:51 +02:00
iTrooz e578127f67
feat: Save opened projects as recent entries (#1105)
This PR does two things :
- save opened projects as recent entries
- refactor stuff about recent entries in a separate file. The reason is
that I felt like welcome_screen.cpp was really big ( 685 lines before
this, 500 now). What do you think ?

---------

Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-27 16:59:30 +02:00
paxcut 950760691c
fix: 3D Visualizer calculating normals incorrectly (#1108) 2023-05-26 09:01:16 +02:00
iTrooz ee94870e83
fix: Do not loop over 'END' ImHexPath (#1098)
Really small issue, in Help->About->Imhex directories, there would be an
extra entry at the end because you seemed to loop over the
fs::ImHexPath::END entry
2023-05-25 09:27:10 +02:00
iTrooz d2638c4f27
feat: Display titlebar buttons when not running borderless (#1099)
Tested on Linux (non-borderless) and Windows (borderless)

You may want to also test it just to be sure
2023-05-25 09:26:40 +02:00
WerWolv 320973c5ff fix: Crash when sorting Value column 2023-05-24 21:05:14 +02:00
WerWolv 26eac61ddf feat: Allow themes to set the background blur color 2023-05-24 21:05:14 +02:00
WerWolv 0e3da22c76 feat: Added support for changing the page size 2023-05-23 11:34:30 +02:00
WerWolv e32fc639c2 fix: Turning off blur again not working 2023-05-22 13:25:11 +02:00
iTrooz 7ce0613977
impr: Added better crash backup and restore mechanism (#1094)
- Add a new file 'crash.json' to store metadata about the crash, like
the log file or project opened
- show the log file of the session that caused the crash to the user
- Correctly restore the project path
2023-05-22 13:24:48 +02:00
iTrooz 91635346be
feat: Allow to remove recent providers with right click (#1085)
![image](https://github.com/WerWolv/ImHex/assets/42669835/648d2c8f-6518-4989-bc92-808898cb0f87)
2023-05-22 13:22:18 +02:00
WerWolv f81276f7e3 feat: Added support for transparent and blurry window styles 2023-05-22 12:00:35 +02:00
WerWolv 6b28828174 fix: Prevent horizontal scroll on welcome screen 2023-05-22 10:37:30 +02:00
WerWolv 2191eb14ae impr: Cleanup hashes view a bit 2023-05-22 09:58:56 +02:00
WerWolv e7b51a56a5 feat: Added support for automatically loading patterns using binary pattern magic 2023-05-22 00:01:58 +02:00
WerWolv df75218ecb fix: Ranges found by find view not being highlighted 2023-05-22 00:00:50 +02:00
WerWolv f57d4f2f7a impr: Manually sort file chooser popup list 2023-05-21 18:41:43 +02:00
WerWolv 446e0751a6 fix: Force entropy and type distribution graphs to always span the entire plot 2023-05-21 13:46:14 +02:00
iTrooz 5666a5c5fb
feat: Added context menu with right-clicking on file provider (#1084)
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-21 13:21:53 +02:00
WerWolv 1b88b3704d feat: Allow layouts to be deleted again 2023-05-21 10:43:35 +02:00
WerWolv 6dbaac4283 impr: Make sure hex editor popups have their input focused 2023-05-21 10:35:14 +02:00
WerWolv c02465b892 fix: Byte type and Entropy graph being shifted 2023-05-21 10:23:33 +02:00
WerWolv f503a89f98 fix: Typo in IEEE754 tool 2023-05-20 21:49:45 +02:00
WerWolv 87621e9337 impr: Disable some `Import...` options when the provider isn't writable 2023-05-20 21:23:15 +02:00
WerWolv 3219ba68de impr: Better layout of ImHex subtitle on welcome screen 2023-05-20 21:20:32 +02:00
WerWolv 5d608603cb fix: Selection in diff view being retained 2023-05-20 21:13:40 +02:00
WerWolv 11f55a7561 fix: File handles not being closed correctly 2023-05-20 18:07:15 +02:00
KOLANICH 608c9e2e7a
fix: WASM disassembler not being available in Capstone < 5 (#1086)
This fixes build on Debian with Capstone from packages.
2023-05-20 13:37:45 +02:00
WerWolv 3cb8e37182 fix: Broken file open logic
Closes #1090
2023-05-20 11:52:24 +02:00
paxcut 3e4c4430d5
feat: Greatly improved the IEEE754 tool (#1047)
I just realized one feature request existed about this tool and have
added a comment to it referring this pr. Errors and additions are
described in the fork commit already. I'm not sure if I should repeat
them here again. I have tested the changes thoroughly, but it is always
possible some fringe case was not tested and is incorrect. The tests
were done using the many similar online calculators for IEEE 754
floating point formats.
IEEE 745 floating point tool redesign modeled after 'float toy' web app
(http://evanw.github.io/float-toy/)

Streamlined output using colors and compact layout which can be further
simplified.
Chosen display mode (detailed or simplified) is automatically saved and
set on new sessions.
Edit the binary bits, the integer hexadecimal or the floating point
decimal values and the entire app will update with the change.
Supports the main IEEE745 standard formats (half, single and double
precision) together with custom formats of size <= 64 bits.
Each format choice uses and displays the number of significant decimal
digits defined by the mantissa size.
Added labels to identify the location of each bit box inside the binary
representation.
Satisfies round trip / idempotent (reproducing) conversion property
Added theme colors, radio buttons for display mode and a clear button
that resets the tool.
Removed previously and incorrectly added locale translation to various
labels and languages
Attempted to adhere to code style formatting using existing code as
example.
An effort was made to use preferred variable types and functions from
std namespace when appropriate.
Attempted to document code using comments. 

Not implemented / left to complete at an later time

Arbitrary width and precision formats. 
Extended precision formats.
Shortest string property.
hexadecimal floating point display and conversions.
2023-05-19 21:18:38 +02:00
WerWolv 4ad66365d0 fix: Crash when saving patches
Fixes #1077
2023-05-19 20:01:42 +02:00
WerWolv 39276e123e patterns: Allow bitfield values to be edited 2023-05-19 19:56:55 +02:00
WerWolv 0f9434740f fix: Crash when deleting last environment variable in pattern editor 2023-05-19 17:15:37 +02:00
Justus Garbe 5ef58cdf76
feat: Added bit and byte reverse and bit display data processor nodes (#1082)
#1081
2023-05-18 10:25:59 +02:00
WerWolv a5b0a8614a impr: Automatically re-evaluate pattern when changing provider and code sync is on
Closes #1078
2023-05-16 14:45:04 +02:00
WerWolv e28f2dfea1 fix: Only 5 patterns per byte being highlighted
Fixes #1076
2023-05-16 14:41:02 +02:00
WerWolv 0dcfeaefb3 fix: Build when git commit hash or branch is not available 2023-05-16 12:02:17 +02:00
WerWolv 3bd4a3ba8b impr: Better JSON error handling in many places 2023-05-16 11:33:00 +02:00
WerWolv 7e9b23de7d impr: Improve network interface error handling 2023-05-16 11:20:46 +02:00
WerWolv a758676b0d fix: Change network interface port to 31337 2023-05-16 11:01:59 +02:00
WerWolv 636ed0095d feat: Added new `imhex/capabilities` network interface 2023-05-16 11:01:40 +02:00
WerWolv c006062540 feat: Added basic network interface support 2023-05-15 11:30:24 +02:00
WerWolv e685d65be8 fix: Scrolling not working correctly on welcome screen
Fixes #1071
2023-05-15 08:33:35 +02:00
WerWolv ab67e274b2 fix: Hex editor editing value not updating correctly 2023-05-15 08:17:16 +02:00
WerWolv 7ec7e562d1 fix: Wrong editing values in hex editor in some circumstances 2023-05-14 22:52:47 +02:00
WerWolv c50d52d0a6 fix: Crash when reading from modified bytes 2023-05-14 22:46:19 +02:00
WerWolv 2b765617ce impr: Disallow saving pattern files if they're empty 2023-05-14 22:24:16 +02:00
WerWolv d96fc6d41b fix: Compilation on macOS 2023-05-14 21:50:58 +02:00
WerWolv f40b5d9811 fix: Search button in numeric find option being active by default 2023-05-13 17:51:16 +02:00
WerWolv d00fae03a9 fix: Diff table not being cleared when closing providers 2023-05-13 17:50:33 +02:00
WerWolv 3c4e1b2f27 impr: Various cleanup 2023-05-13 17:50:16 +02:00
WerWolv 6709baa710 patterns: Updated pattern language 2023-05-13 15:43:37 +02:00
WerWolv aa1bf0b764 impr: Make about page resizable 2023-05-13 12:26:13 +02:00
WerWolv a7327290ea fix: Only save custom encoding to project file when necessary 2023-05-13 11:17:27 +02:00
WerWolv 857e90a37b fix: ImHex freezing when evaluating patterns 2023-05-13 11:12:38 +02:00
WerWolv aaeebd3fe9 fix: Various pattern execution race conditions 2023-05-12 15:46:13 +02:00
WerWolv 0a7a190b04 impr: Added tooltips to pattern data view when name or value is too long 2023-05-12 08:49:08 +02:00
WerWolv 21d922113d impr: Make sure to clear selections when all providers are deleted 2023-05-12 08:38:52 +02:00
WerWolv b0876e1c35 impr: Move some options into a new Extras menu 2023-05-12 08:38:32 +02:00
WerWolv 18bc5de169 fix: Copy-as options not being disabled correctly 2023-05-12 08:38:07 +02:00
WerWolv 0321743f1e fix: Missing save layout localization keys 2023-05-12 08:37:43 +02:00
WerWolv 0649e0dcd3 impr: Clean up old layout stuff 2023-05-11 23:21:52 +02:00
WerWolv ceeaca1a4b feat: Added layout manager to save and restore custom layouts 2023-05-11 18:44:50 +02:00
WerWolv 2da89f4b9b fix: Position of restore layout button being wrong with different scalings 2023-05-11 18:44:33 +02:00
iTrooz 2e73d74cea
impr: Open .hexproj files as projects when opened though the Open File option (#1061) 2023-05-11 12:38:22 +02:00
WerWolv 8f07f0f8ae impr: Better look and feel of the welcome screen close button 2023-05-11 12:00:45 +02:00
iTrooz b0ab8698ec
fix: Loading data processor nodes from project thowing errors (#1065)
This will correct the errors `cannot use operator[] with a string
argument with string[..]` when loading a project
2023-05-11 09:57:29 +02:00
WerWolv 50c3cf8272 build: Replace old interval tree in favour of custom libwolv one 2023-05-11 09:27:23 +02:00
WerWolv 5a6e5d2255 build: Switch to better interval tree implementation 2023-05-07 23:27:43 +02:00
classabbyamp 82f5900759
build: Added option to disable update checking (#1036)
This is aimed at use by linux distros, where package updates come from a
central location, and users shouldn't need to worry about updating ImHex
on their own. This disables parts of the ImHex UI that would not be
useful in that case.

Tested and confirmed that this works in both states of the of the
`-DIMHEX_DISABLE_UPDATE_CHECK` switch.
2023-05-05 22:03:45 +02:00
iTrooz e44eb2aa8e
impr: Added more documentation to libimhex (#1052)
This PR adds some documentation. It's actually pretty random, I followed
the function calls I was curious about and commented whenever I wasn't
sure/I thought it needed clarification

You might want to make sure to squash them, because the commits are kind
of a mess, I didn't went through the effort of interactive rebase
2023-05-05 22:02:18 +02:00
iTrooz 34e12e2515
feat: Added a button to restore default layout when there are no views open (#1053)
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-05 22:00:17 +02:00
WerWolv 5680b90549 fix: Project files failing to save when no custom encoding is loaded 2023-05-04 23:23:44 +02:00
WerWolv bec655a8c6 impr: Added event logging in debug mode 2023-05-02 20:35:30 +02:00
WerWolv 0c8b3e31e7 fix: Dangerous function call popup not showing up 2023-05-02 20:34:37 +02:00
iTrooz 13a3942f8f
impr: Show an error message when ImHex can't open a file (#1050)
This PR does two correlated things:

- Show a generic error message (Failed to open provider) rather than a
file-specific message (Failed to open file) when a provider fails to
open
- Set the error to something more specific when opening a file fails
2023-04-30 18:37:22 +02:00
XorTroll b0028b0e51
lang: Added Spanish translations (#1042)
This translates ImHex for the Spanish language

(made a new PR since I got a bit messed up on the other one, this was
faster to fix)
2023-04-21 17:44:36 +02:00
WerWolv 1e39f4354f fix: Provider reader being broken 2023-04-20 13:46:44 +02:00
WerWolv 8245f3d4c9 build: Updated libwolv 2023-04-19 21:56:34 +02:00
WerWolv 6c122e5fbe patterns: Updated to new API 2023-04-18 10:06:47 +02:00
WerWolv 7ae814f7fb fix: Various localization issues 2023-04-17 22:18:50 +02:00
WerWolv 04a5efc7a3 fix: Crash when evaluating patterns to quickly 2023-04-17 17:02:10 +02:00
WerWolv 99a736df27 impr: Replace horrible pattern extra data class with a more modular system 2023-04-17 16:18:48 +02:00
WerWolv c32515bc44 impr: Clean up some more clang-tidy issues 2023-04-16 22:12:35 +02:00
WerWolv 1690cd2740 fix: Various issues with the new popup system 2023-04-16 21:34:29 +02:00
WerWolv 52925c99e8 impr: Default to monitor synchronized FPS limit 2023-04-13 17:12:40 +02:00
WerWolv 18d5fd5d3e fix: Commit link in about page not working correctly 2023-04-13 16:10:55 +02:00
WerWolv 2829bf2640 fix: New lines appearing in pattern editor when switching provider 2023-04-13 15:03:50 +02:00
WerWolv ffafb05d3d fix: Providers with the same name not being selectable in diff view
Fixes #1034
2023-04-13 15:03:14 +02:00
WerWolv cf72b5ec5c fix: Some shortcuts triggering twice 2023-04-12 19:50:03 +02:00
WerWolv 803b99f2a9 impr: Immensely improve provider read speeds 2023-04-12 19:21:48 +02:00
WerWolv 7e144b136b patterns: Updated pattern language
Fixes #1030
2023-04-12 16:03:58 +02:00
WerWolv aa7c5422c0 fix: Make sure provider data is properly cleared when deleting provider 2023-04-11 15:26:18 +02:00
WerWolv 5512585cc5 fix: Make sure docs question request is always properly formatted 2023-04-10 23:05:44 +02:00
WerWolv 349b5da810 fix: Prevent constants view from growing past the size of the screen
Fixes #1025
2023-04-10 21:30:27 +02:00
WerWolv e7494be5e7 fix: Last line of patterns going missing in projects with multiple files
Fixes #1012
2023-04-10 16:50:23 +02:00
WerWolv 87d0aae608 feat: Added selection range radio button to various views
Closes #1024
2023-04-10 14:08:21 +02:00
WerWolv 391c8acfe4 impr: Added path tooltips to accept pattern popup 2023-04-10 01:46:55 +02:00
WerWolv dc77d81e1b feat: Added documentation helper AI 2023-04-10 01:42:53 +02:00
WerWolv 00c9a92977 fix: Localization being broken in the content store 2023-04-10 01:42:28 +02:00
WerWolv f9a08f5c11 feat: Allow custom alignment to be used in binary sequence search 2023-04-09 15:28:31 +02:00
WerWolv 70f3014390 fix: Some more popup rendering issues 2023-04-08 23:34:46 +02:00
WerWolv d4ad457af1 fix: Crash when closing provider that was used in view provider 2023-04-08 21:07:57 +02:00
WerWolv cb5d197700 impr: Added tooltips to icon buttons in bookmarks view 2023-04-08 21:07:41 +02:00
WerWolv 78e66f8959 feat: Added non-ranged and aligned search to sequence and value finder 2023-04-08 20:59:33 +02:00
WerWolv f562260e42 fix: Build error again 2023-04-08 12:30:38 +02:00
WerWolv 21f38974a8 impr: Use smart pointers to allocate Views 2023-04-08 12:08:45 +02:00
WerWolv dfca7e923c feat: Make pins in data processor nodes more visible 2023-04-08 11:58:49 +02:00
WerWolv 6913598de4 fix: Build error 2023-04-08 11:58:12 +02:00
WerWolv 80edaea392 impr: Update all of ImHex to the new popup system 2023-04-08 00:58:53 +02:00
WerWolv 9c9ac23818 feat: Added a much more flexible popup system 2023-04-07 10:21:27 +02:00
WerWolv 51e615095e fix: Make sure placing a type through the Edit menu re-evaluates the pattern 2023-04-06 23:01:45 +02:00
WerWolv 248b93f41a patterns: Updated pattern language 2023-04-06 19:23:16 +02:00
WerWolv c73f33aac2 impr: Added various new events 2023-04-06 17:36:28 +02:00
WerWolv 5f713882d4 fix: Occasional crash when loading project files 2023-04-06 12:44:25 +02:00
WerWolv 1698f1599b impr: Allow file chooser to open files using double click 2023-04-05 18:33:05 +02:00
WerWolv 24e584c77b fix: Crash when trying to place pattern language variable through the Edit menu
Fixes #1013
2023-04-05 18:29:30 +02:00
WerWolv 7a4f909c68 fix: Disassembler arch names not correctly corresponding to their ids
Fixes #1010
2023-04-05 18:02:47 +02:00
WerWolv 3658d8d96e fix: Disassembler not supporting any Capstone 5 features anymore
Fixes #1010
2023-04-04 23:08:10 +02:00
WerWolv efe3227ef2 patterns: Updated pattern language 2023-04-04 09:34:50 +02:00
H1X4 aab8c88a96
feat: allow loading and saving pattern code via events (#1004)
Currently there is no way to save the pattern code progamically from a
plugin unless the builtin plugin is modified to add those events. This
pull request will be adding ability to load and save pattern code from
specified file.
2023-04-01 11:18:52 +02:00
Thomas af18ca011b
fix: Modified bytes visually reverting back after saving (#1003)
Fix #988

Co-authored-by: Nik <werwolv98@gmail.com>
2023-04-01 11:18:03 +02:00
WerWolv 60efb6973b fix: Filtering of long strings in find view not working correctly 2023-04-01 11:04:07 +02:00
WerWolv cffd55bdda fix: UTF-16BE search being broken 2023-03-31 22:20:00 +02:00
WerWolv 88e767aaaf fix: Crash when loading big encoding files 2023-03-31 19:56:20 +02:00
WerWolv d6cda43618 fix: Modified bytes visually reverting back after saving 2023-03-31 19:18:31 +02:00
WerWolv 3b229cd5cb impr: Added path tooltips to entries in the file chooser popup 2023-03-31 19:17:27 +02:00
WerWolv 4da18d3630 fix: Custom encoding and text padding setting not applying to custom encoding column
Actually fixes #1005
2023-03-31 13:49:33 +02:00
WerWolv 2f04cfd5c6 fix: Entering decimal and float values in hex editor cells being broken 2023-03-31 11:34:08 +02:00
WerWolv 173ed5475c fix: Remove empty column when ASCII row is off and custom encoding is on
Fixes #1005
2023-03-31 11:07:32 +02:00
WerWolv 1460044e91 impr: Save custom encoding file to project
Fixes #1005
2023-03-31 11:06:51 +02:00
WerWolv 06a7b6e446 patterns: Fixed namespace of hex::prv:: functions 2023-03-28 10:27:49 +02:00
WerWolv 28b7b4b7f1 fix: File -> Open Others... menu not working correctly 2023-03-28 10:13:41 +02:00
WerWolv 6a9f79628e impr: Don't try to apply patches if there are none 2023-03-26 12:48:22 +02:00
Thomas c2823facc2
lang: Fix weblate (#997)
This should (hopefully) fix weblate. I tried to fix merge conflicts
using instructions at
https://weblate.werwolv.net/projects/imhex/windows-plugin/#alerts

---------

Co-authored-by: xtex <xtexchooser@duck.com>
2023-03-26 11:03:30 +02:00
Thomas fabb1596e5
impr: Handle and show NFD errors (#995)
This PR handles errors that NFD might encounter (both in Init() and the
other method to open the dialog), and log them in the logs and in the
GUI

This (among other) fix the crash I had running ImHex as root and opening
a file
2023-03-26 11:02:51 +02:00
Zaggy1024 5fa264ea18
patterns: Update pattern_language and implement support for new bitfield features (#992)
This requires https://github.com/WerWolv/PatternLanguage/pull/34 to be
merged first, and then this can be amended to update the submodule and
merged to add support for the new features.
2023-03-26 11:01:37 +02:00
WerWolv 635173e55a impr: Make sure themes are added correctly when downloaded from the store 2023-03-23 20:35:16 +01:00
WerWolv 2296766746 build: Allow building with capstone 4.X again 2023-03-23 16:45:00 +01:00
WerWolv fec5c567e1 ui: Improve look and feel of content store 2023-03-23 13:32:47 +01:00
WerWolv 15be24db62 sys: Updated to use the new HttpRequest helper instead of Net 2023-03-23 11:23:07 +01:00
WerWolv 631cfce2f8 impr: Added tooltip informing about font size if no custom font was selected 2023-03-22 16:30:49 +01:00
WerWolv 0fd3cb0c4a fix: Don't jump to previous editing position when selecting new region in hex editor
Potenially fixes issues mentioned in #924
2023-03-22 13:11:09 +01:00
Jacob Creedon 3cfec69020
feat: Added additional CRC hash types (#991)
This adds some common CRC types.

---------

Signed-off-by: Jacob Creedon <jcreedon@gmail.com>
2023-03-22 10:53:57 +01:00
WerWolv f3f0dda3d4 fix: Properly clear valid region when switching to a different provider 2023-03-21 16:11:40 +01:00
WerWolv be16b66ac0 fix: Make sure files don't get truncated when using Save As on itself
Fixes #987
2023-03-21 15:42:10 +01:00
WerWolv b9059aaa01 fix: Make find process in the find view more easily cancelable 2023-03-21 15:37:49 +01:00
WerWolv 57a62d0544 impr: Clean up entire API and added doc comments 2023-03-21 15:33:43 +01:00
WerWolv d82f0e952f fix: Custom data inspector rows not being writable correctly 2023-03-21 13:16:22 +01:00
Thomas 8731b7582b
impr: Display a more detailed errors when opening a raw disk provider failed (#970)
PR title is self explaining

I may modify other providers implementations to display a detailed error
message later

I'm not sure how to deal with other locales because the format changed.
Before, I had to add and comment the key in all locale files, now I'm
not so sure.
2023-03-21 10:33:00 +01:00
WerWolv 060ff56f9d impr: Improve file reading performance if opening of files is slow 2023-03-21 09:47:42 +01:00
WerWolv 0a0c0c0d07 feat: Added bytes swapper tool 2023-03-20 22:25:27 +01:00
WerWolv 17c4e405a6 impr: Update the command palette for the modern ages 2023-03-20 17:05:26 +01:00
WerWolv a4dfaba03f fix: All menu item shortcuts being global 2023-03-20 15:12:12 +01:00
WerWolv 6e23560e80 feat: Added all menu items to command palette 2023-03-20 14:11:43 +01:00
WerWolv 39e8d557e8 sys: Completely revamped main menu item system 2023-03-20 13:11:43 +01:00
WerWolv 677c989664 feat: Allow custom data inspector rows to be edited 2023-03-20 08:30:34 +01:00
WerWolv c9342d90fb fix: Prevent new line from appearing on every pl code save
Fixes #982
2023-03-20 08:29:00 +01:00
WerWolv 367bd76046 ui: Mae sure all theme scaling values are scaled correctly 2023-03-18 10:52:50 +01:00
WerWolv 1a1bf98905 impr: Look for magic files recursively 2023-03-17 21:18:28 +01:00
WerWolv 4c1a24058c ui: Fixed various scaling inconsistencies on higher scaling factors 2023-03-17 19:58:08 +01:00
WerWolv 294e95caf8 fix: Store page not clearing nodes and themes section correctly 2023-03-17 17:55:39 +01:00
WerWolv 466dacaab4 ui: Improve the look and feel of the information view 2023-03-17 17:07:39 +01:00
WerWolv 1f8645fd43 fix: Occasional crash when multiple threads are reading data from a file provider 2023-03-17 11:43:50 +01:00
WerWolv 880568cc60 impr: Better find view result filter speeds 2023-03-17 11:32:08 +01:00
WerWolv f10fb56042 impr: Drastically improve file reading performance 2023-03-17 11:31:50 +01:00
WerWolv 64be6d89ee fix: Moving cursor around using arrow keys behaving weirdly 2023-03-17 09:17:44 +01:00
WerWolv 4ee53701e6 impr: Allow Regex find strategy specify string type and minimum length 2023-03-17 08:16:13 +01:00
WerWolv 5097a223e3 impr: Added default saveAs implementation for all providers 2023-03-17 08:15:43 +01:00
WerWolv 7cdba75bef fix: Crash when not making a valid selection in provider load interfaces 2023-03-16 16:48:15 +01:00
WerWolv 0312027ca8 impr: Modernize look and feel of bookmarks 2023-03-16 14:40:26 +01:00
WerWolv c726c96286 impr: Make comment field in bookmark tooltip more readable 2023-03-16 13:35:29 +01:00
WerWolv 5a2b2e0813 feat: Make yara match list sortable 2023-03-16 13:35:09 +01:00
WerWolv 4271b2e9fd fix: Yara view filtering out all but one match 2023-03-14 17:02:59 +01:00
WerWolv 96c3bb1e38 feat: Limit recent files to 5 files, add option to disable saving them
Closes #950
2023-03-14 14:07:18 +01:00
WerWolv ec2934b4b8 fix: Advancing to next row when editing bytes loading wrong value
Fixes #973
2023-03-14 10:24:25 +01:00
WerWolv 3a840c4ced impr: Properly display custom encoding characters that are split between lines 2023-03-14 09:35:43 +01:00
qux-bbb 9b05a36529
fix: Find view string filters filtering for some wrong characters (#972)
`\r` and `\n` need to be filtered.
2023-03-13 11:06:30 +01:00
WerWolv 55f9faea10 sys: Updated more code to libwolv 2023-03-13 08:58:08 +01:00
WerWolv fb2e668589 sys: Moved more functions to libwolv 2023-03-12 18:43:05 +01:00
WerWolv 0dafb3d230 sys: Replaced many helper functions with libwolv 2023-03-12 18:27:33 +01:00
qux-bbb e958934a22
fix: String search not including string at end of data (#963)
Before:  

![before](https://user-images.githubusercontent.com/18598419/222937056-fec74305-21a3-4bbf-a439-e8df7031bca9.png)

After:  

![after](https://user-images.githubusercontent.com/18598419/222937069-a04cb748-4266-4fbb-8182-727bb8858329.png)
2023-03-11 14:39:50 +01:00
Fenrisfulsur 069221757f
feat: Added chunk based entropy analysis to information view (#933)
Issue: https://github.com/WerWolv/ImHex/issues/522

Implementation of chunk based entropy analysis in diagram.hpp available
from the data information view and in the pattern language.

---------

Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-03-10 16:06:18 +01:00
qux-bbb cdd5d33e89
feat: Make CTRL + N automatically create a memory provider (#966)
"CTRL + N" can open a mem_file directly.
2023-03-07 16:05:03 +01:00
WerWolv f661f4d1d6 fix: GDB provider not working nicely anymore 2023-03-07 16:04:04 +01:00
WerWolv 91928b45d8 fix: Try to fix build again 2023-02-19 10:25:39 +01:00
WerWolv 277c83e6d8 fix: Uninitialized value build issue 2023-02-19 09:18:17 +01:00
WerWolv 0017cd2e40 feat: Added binary hex cell visualizer
Closes #939
2023-02-18 22:20:02 +01:00
WerWolv 774803492c fix: Editing binary value in data inspector not working correctly
Fixes #941
2023-02-18 21:44:43 +01:00
WerWolv ff525fe750 impr: Properly sort choose file dialog entries
Fixes #938
2023-02-17 14:59:19 +01:00
WerWolv 64e34e42b8 patterns: Fixed highlighting of custom sections 2023-02-17 14:53:15 +01:00
WerWolv bf8089dc7e impr: Don't memory map files, never keep a write handle open for long
Closes #592
2023-02-17 10:26:09 +01:00
WerWolv e48761b5c0 fix: Plot lines being invisible 2023-02-17 10:02:43 +01:00
WerWolv 35437c0300 patterns: Added rotation and scale sliders to 3D visualizer 2023-02-16 23:24:24 +01:00
WerWolv dec4231d49 impr: Make sure fonts don't get blurry on non-integer scalings 2023-02-16 20:53:58 +01:00
WerWolv fb1d12ebf3 sys: Remove some problematic (and rarely used) scaling settings 2023-02-16 20:19:55 +01:00
WerWolv b19276a3e9 patterns: Added match keyword to syntax highlighting 2023-02-16 19:10:08 +01:00
WerWolv 5ccbfc1ff8 feat: Allow themes and nodes to be downloaded from the content store 2023-02-16 18:55:21 +01:00
WerWolv ac83bbeb0e feat: Added a theme manager view to make it easier to make new themes 2023-02-16 18:06:40 +01:00
WerWolv d9fa4b452c impr: Clean up diff view 2023-02-16 08:53:05 +01:00
WerWolv 6216d72aa6 fix: Format string compile issues 2023-02-15 22:22:13 +01:00
WerWolv 3067ff08ec feat: Greatly improved diff view
Fixes #631
2023-02-15 17:01:36 +01:00
WerWolv 8afd698284 impr: Correct some ugly code 2023-02-14 15:43:44 +01:00
WerWolv 2c1073eda9 fix: Safety backup restore popup getting hidden by tip of the day 2023-02-14 11:45:32 +01:00
WerWolv 4b451fd1d3 patterns: Fixed pattern data rows not being selectable when color column is hidden 2023-02-13 08:26:43 +01:00
WerWolv 3003dea409 fix: Occasional error when loading recent files 2023-02-12 17:52:09 +01:00
WerWolv d084ec78e9 nodes: Allow immediate values on integer and float inputs
Closes #427
2023-02-12 17:33:53 +01:00
WerWolv a59c17aa83 nodes: Fixed loading saved nodes multiple times 2023-02-10 11:22:11 +01:00
WerWolv 6281adc7c3 nodes: Added a few new nodes 2023-02-10 08:18:06 +01:00
WerWolv 5cc01ae89d nodes: Added support for nested, shareable, custom data processor nodes 2023-02-09 23:07:04 +01:00
WerWolv 89a96c6d25 sys: Improve pattern visualizer API 2023-02-07 14:18:59 +01:00
WerWolv 4f0e5b99a8 pattern: Make visualizer button actually accessible again 2023-02-06 17:24:06 +01:00
WerWolv f75f3f4661 pattern: Fixed wrong number of required parameters for image visualizer 2023-02-06 17:23:50 +01:00
WerWolv 0b576adcf8 fix: Another P2468R2 issue 2023-02-02 21:26:46 +01:00
WerWolv 22ff033b5e fix: More P2468R2 issues 2023-02-02 21:13:56 +01:00
WerWolv b1edede53a fix: Invalid json comparison 2023-02-02 20:54:38 +01:00
WerWolv 0d01f0c9d7 feat: Added function to import patches from a modified file 2023-02-02 14:13:37 +01:00
WerWolvTranslationBot 01736d6409
lang: Updated German translation (#916)
Currently translated at 100.0% (842 of 842 strings)

Translation: ImHex/Built-in Plugin
Translate-URL: https://weblate.werwolv.net/projects/imhex/built-in-plugin/de/

Co-authored-by: Nik <werwolv98@gmail.com>
2023-02-02 11:58:09 +01:00
WerWolv 4ea8971adf lang: Added base translation files 2023-02-02 10:08:47 +01:00
WerWolv 8da072b602 lang: Get codebase ready for the use with Weblate 2023-02-02 09:41:58 +01:00
Berylskid f6823d5f13
lang: Updated Japanese translation (#915) 2023-02-02 09:39:40 +01:00
WerWolv 357dd883db fix: Hexadecimal string inputs in data processor nodes behaving weirdly 2023-01-31 11:39:08 +01:00
WerWolv d09982d99f fix: Crash when opening selection view
Fixes #913
2023-01-30 18:15:42 +01:00
WerWolv c76b4bc9e9 impr: Removed a bunch of trailing white spaces 2023-01-30 11:11:30 +01:00
WerWolv 55d7d7c026 impr: Improve code quality 2023-01-30 10:42:07 +01:00
WerWolv 6b645192d4 fix: Diff view highlighting issues 2023-01-30 10:26:37 +01:00
WerWolv d6bb408078 fix: All bytes being selected when opening a new provider 2023-01-30 10:10:37 +01:00
WerWolv 434ced44f0 fix: Build failing on macOS 2023-01-28 21:30:17 +01:00
WerWolv c6e1f45dc3 feat: Added option to copy custom encoding strings from hex view 2023-01-28 21:12:35 +01:00
WerWolv c861bf9a5e fix: Copying strings and bad names 2023-01-28 21:12:08 +01:00
WerWolv 86be1ef1ec impr: Make find view string filter case insensitive 2023-01-28 20:55:11 +01:00
WerWolv c4d52da924 ui: Added cancel button to task running popup 2023-01-28 14:36:39 +01:00
WerWolv a142d4fe20 ui: Make file chooser popup bigger 2023-01-28 14:28:06 +01:00
WerWolv 197e86f327 fix: Duplicate highlightings for every yara rule 2023-01-28 14:27:51 +01:00
WerWolv b1aa58d446 feat: Allow selected yara rules to be saved to Project file 2023-01-28 14:15:15 +01:00
WerWolv 60a178f75e fix: Last column of diff view displaying all zeros
Fixes #908
2023-01-28 12:44:40 +01:00
WerWolv 6799263317 sys: Added a info popup when closing ImHex while tasks are still running 2023-01-28 12:16:41 +01:00
WerWolv 3254376d28 fix: Editing static array values being broken 2023-01-28 00:03:20 +01:00
WerWolv 29c1a0cb78 feat: Allow multiple yara files to be selected at once 2023-01-28 00:01:53 +01:00
WerWolv 800ffb5e56 feat: Make it easier to apply multiple yara rules at once 2023-01-27 12:17:10 +01:00
WerWolv 1cf9f7e990 patterns: Updated pattern language 2023-01-27 10:45:07 +01:00
WerWolv d928325fdf fix: Loading of Intel Hex and Motorola SREC files with new lines inbetween
Fixes #906
2023-01-26 11:06:00 +01:00
WerWolv b3556c7c91 lang: Updated language files 2023-01-25 10:56:13 +01:00
WerWolv 4b112321d2 feat: Added base64 exporter
Closes #900
2023-01-25 10:51:00 +01:00
WerWolv fee1b985c0 feat: Added better error messages for generating and importing ips patches 2023-01-25 10:38:04 +01:00
WerWolv 111eabb84c feat: Added scatter plot visualizer 2023-01-25 10:16:46 +01:00
WerWolv f9bb4d828a ui: Improve visualizer button layout and error messages 2023-01-25 10:16:31 +01:00
WerWolv 434b7649c3 fix: CRC8 hashing algorithm displaying 16 bits result 2023-01-25 00:06:48 +01:00
WerWolv 8ea0e9ce9c fix: Sound visualizer being really laggy 2023-01-24 23:57:29 +01:00
WerWolv 94cd83e0dc feat: Added sound visualizer 2023-01-24 23:27:35 +01:00
WerWolv 27790532f8 fix: Crash when closing provider that had pattern loaded in some cases 2023-01-24 23:27:15 +01:00
WerWolv 90d9c91717 build: Cleanup opengl and glfw linking 2023-01-24 14:59:19 +01:00
WerWolv 32ed2c30c0 fix: Flickering task bar progress bar 2023-01-24 13:42:08 +01:00
WerWolv cf9df6e36d feat: Added ability to query provider information from pattern language 2023-01-24 09:07:11 +01:00
WerWolv 915106f360 patterns: Fixed various issues with the 3d visualizer 2023-01-23 16:25:23 +01:00
WerWolv a51e4afb05 patterns: Updated pattern language 2023-01-23 13:53:29 +01:00
WerWolv 46221e936f feat: Allow the 3d visualizer to use index buffers 2023-01-22 16:17:10 +01:00
WerWolv c86891e0c3 fix: Custom encodings not rendering correctly on non-zero page 2023-01-22 14:17:55 +01:00
WerWolv acf6b839e5 patterns: Updated pattern language 2023-01-22 12:16:22 +01:00
WerWolv 1f50e834fc fix: Copying bytes from non-zero page not working 2023-01-22 11:28:17 +01:00
WerWolv 0e1aeee3fb patterns: Display bitfield field bit addresses from the start of the bitfield 2023-01-21 22:32:16 +01:00
WerWolv 173f279ac8 fix: Find view not correctly accepting hexadecimal values 2023-01-21 18:44:12 +01:00
WerWolv 89e0df86a2 feat: Added scaling and rotation to 3D visualizer 2023-01-21 13:00:02 +01:00
WerWolv 15fb288a5b fix: Yara view only loading in .yar files and not .yara files 2023-01-21 10:10:05 +01:00
WerWolv d4967018c2 feat: Added basic lighting and rotations to 3d visualizer model 2023-01-20 23:32:51 +01:00
WerWolv 8e759d9b5f feat: Added basic 3D visualizer, moved visualizers to separate file 2023-01-20 21:16:28 +01:00
WerWolv a9cebed903 ui: Disable Jump To command when too many bytes are selected 2023-01-19 17:08:17 +01:00
WerWolv 58a70f6ad8 ui: Move around File menu items to make more logical sense 2023-01-19 17:05:54 +01:00
WerWolv 05c8158716 feat: Added a new division by invariant multiplication tool 2023-01-19 17:01:41 +01:00
WerWolv 17b0f2ae77 feat: Added a description to the IEEE754 decoder tool 2023-01-19 17:01:19 +01:00
WerWolv b54e6ea531 ui: Always add a spacing at the end of all tools 2023-01-19 16:59:59 +01:00
WerWolv b702ad4190 fix: Occasional crash when loading a provider 2023-01-19 16:59:34 +01:00
WerWolv c5d2739a39 fix: File provider sometimes not saving path to project file 2023-01-19 11:09:24 +01:00
WerWolv def40c908e patterns: Added basic disassembler visualizer 2023-01-18 17:17:34 +01:00
WerWolv ef12798fe2 feat: Allow custom hashes to be saved to projects 2023-01-18 14:30:56 +01:00
WerWolv 3ddef07284 fix: ImHex failing to load in Portable mode from a folder with no permissions
Fixes #881
2023-01-17 09:59:57 +01:00
Kuruyia a65f0a5238
feat: Support macOS keyboard shortcuts (#889) 2023-01-17 08:16:02 +01:00
WerWolv 1b56c7ffae ui: Show task progress in task bar 2023-01-14 14:21:16 +01:00
WerWolv 8d9667c2e0 fix: Yara rules being unable to include files
Fixes #875
2023-01-12 23:29:48 +01:00
WerWolv 1f6acc101f feat: Allow OTF fonts to be selected 2023-01-12 11:37:19 +01:00
WerWolv 0d91db68db patterns: Added bitmap visualizer 2023-01-12 11:18:36 +01:00
WerWolv 25ede7ad18 fix: List all intel hex and motorola srec file extensions manually
Fixes #871
2023-01-12 08:20:15 +01:00
WerWolv 03d216f116 feat: Allow most resources to be loaded relative to the current project 2023-01-11 23:31:25 +01:00
WerWolv 766fd626f2 fix: Hex editor editing cursor not advancing on non-zero pages 2023-01-10 13:48:50 +01:00
WerWolv ef3627321c sys: Clear project after loading crash backup 2023-01-10 08:57:29 +01:00
WerWolv dbcb13f473 patterns: Disallow `application/octet-stream` to be used as MIME type 2023-01-09 08:38:19 +01:00
WerWolv c1359a71d6 feat: Added options to automatically expand or flatten the pattern tree 2023-01-08 16:06:26 +01:00
Thomas ab29303c2e
sys: Clear project context when closing all providers, Display project name in window title (#860)
* clear project context when closing all providers

* Show project name on window title

* refactor RequestChangeWindowTitle to RequestUpdateWindowTitle

* add spaces
2023-01-07 17:31:22 +01:00
Thomas ed831c6fc9
fix: Do not check for writable provider to save project, disable shortcut when unavailable (#859)
* do not check for writable provider to save project

* disable save project shortcut when we can't save it

* log when project is saved
2023-01-07 17:16:43 +01:00
WerWolv c26bed894b sys: Add `imhex/lib` path to plugin libraries search paths 2023-01-07 10:32:01 +01:00
Chien Wong 27cf5953ae
fix: Typo of IEEE 754 (#856) 2023-01-06 13:12:10 +01:00
WerWolv 5726e52df2 ui: Make content store resizable again 2023-01-05 13:23:08 +01:00
WerWolv e529a79ddb fix: Template pattern types being placeable using right click menu 2023-01-04 15:50:37 +01:00
WerWolv f7dd28002e build: Build everything using `-Wpedantic` 2023-01-04 14:03:09 +01:00
WerWolv eb4a1e2692 build: Try to clean up bundled dependencies a bit 2023-01-04 12:34:38 +01:00
WerWolv 3a117b3bed feat: Display process icons in process memory provider 2023-01-03 16:34:22 +01:00
WerWolv ff91335011 fix: ImNodes theme colors 2023-01-03 13:14:23 +01:00
WerWolv 3dc42b711c fix: Plot lines being invisible 2023-01-01 23:53:50 +01:00
WerWolv b4b507ecc9 lang: Added missing localizations for new provider 2023-01-01 19:14:57 +01:00
WerWolv d7d19d7594 feat: Further improve process memory provider 2023-01-01 12:26:27 +01:00
WerWolv 90df4413c3 feat: Added basic windows process memory provider 2023-01-01 02:29:38 +01:00
WerWolv 87ed0d31d4 fix: Various invalid iterator and container accesses 2023-01-01 01:01:24 +01:00
WerWolv 85823e8e5d build: Removed all usages of Python 2022-12-29 23:32:57 +01:00
WerWolv 7859a9bb1f feat: Added native custom theme support 2022-12-29 19:26:00 +01:00
WerWolv 696d8d1d54 feat: Allow pasting of bytes with prefixes and comma separators
Closes #581
2022-12-29 15:08:44 +01:00
123456abcdef 6e8d3e0d7f
fix: Wrong i18n labels (#852) 2022-12-29 15:07:43 +01:00
123456abcdef 6a0422fb27
lang: Update german translation (#851) 2022-12-29 15:07:32 +01:00
WerWolv 26898feb62 ui: Improve colors of digram and layered distribution plot 2022-12-29 15:06:23 +01:00
WerWolv 0311feee9b feat: Further improve information view 2022-12-28 23:06:49 +01:00
WerWolv 4807ca0057 feat: Added Digram and Layered Distribution plots to information view 2022-12-27 22:50:37 +01:00
WerWolv f1aeec309e fix: New lines not being drawn in pattern console 2022-12-27 22:50:16 +01:00
WerWolv 4b8e275254 fix: Crash when closing providers too quickly 2022-12-27 11:35:20 +01:00
WerWolv 4b6a75fb60 feat: Added type distribution graph to information view 2022-12-25 15:45:49 +01:00
WerWolv d463491026 ui: Fixed bookmarks displaying too many bytes in some cases 2022-12-25 10:01:39 +01:00
WerWolv 4e22d636d3 fix: Yet another hex editor scrolling issue 2022-12-24 15:29:42 +01:00
WerWolv e71841b871 fix: Crash when printing NULL bytes to the pattern console 2022-12-24 15:29:20 +01:00
WerWolv 0d7740773e sys: Improve speed and UX of entropy graph 2022-12-23 14:34:06 +01:00
WerWolv e4fbb1b640 pattern: Added basic line plot and image visualizer 2022-12-23 14:33:27 +01:00
WerWolv 986252d97f pattern: Make sure pattern tree doesn't randomly collapse when evaluating 2022-12-21 11:31:33 +01:00
WerWolv 264da1ed78 pattern: Show array entries directly if there are less than 512 2022-12-20 20:56:01 +01:00
WerWolv ae5d8c9aad build: Updated libromfs 2022-12-19 08:52:12 +01:00
WerWolv 603ff9256c build: Actually use correct fcntl.h 2022-12-19 07:16:38 +01:00
WerWolv a966cab155 build: Use correct fcntl.h include on Linux 2022-12-19 07:15:18 +01:00
WerWolv 978dd65528 patterns: Make editing patterns feel better 2022-12-18 23:53:53 +01:00
WerWolv 6502920047 patterns: Move pattern editing behind a double click 2022-12-18 23:11:22 +01:00
WerWolv da8ec1565e fix: Floating point finding not working with negative values 2022-12-18 14:17:57 +01:00
WerWolv ad85a4a0e3 fix: Hopefully fix the hex editor position jumping around after search 2022-12-18 13:27:28 +01:00
WerWolv f9a7cdf4dd patterns: Improve editing of pattern values 2022-12-17 22:22:20 +01:00
WerWolv a5296bab95 feat: Added pattern value editing 2022-12-16 11:20:39 +01:00
WerWolv bda7a2b351 patterns: Fixed bitfield fields not caring about endianess
Fixes #837
2022-12-15 16:16:49 +01:00
WerWolv 6e0b92a4de sys: Added logging for which romfs is being used 2022-12-05 09:31:16 +01:00
xtexChooser ab93894442
lang: Update Chinese(Simplified) translations (#840) 2022-12-04 12:28:07 +01:00
5idereal 8ed6c2094b
lang: Add back missing zh_TW.json (#839) 2022-12-03 10:50:35 +01:00
Thomas R cf51e04777
tips: Add tip about unicode symbols (#838) 2022-12-02 16:30:28 +01:00
WerWolv 3b94a42783 lang: Updated localization system to use a more versatile json format 2022-12-02 12:00:04 +01:00
André Blome 4aa314b3ab
feat: Added quick "save project" action (#826)
* add quick -save project- action

* translation for -save project as- added

* removed machine translations; header file name extension fixed

* moved openProject() for consistency
2022-11-25 10:47:11 +01:00
WerWolv c194588118 fix: File Provider adding zero bytes at the end of the data when saving
Fixes #835
2022-11-25 10:02:55 +01:00
WerWolv 7d0474335a fix: Crash when closing section with selected bytes 2022-11-18 16:01:18 +01:00
WerWolv 3d5190f51a fix: Patterns not appearing in list if pattern editor is not open 2022-11-18 14:27:55 +01:00
WerWolv 91a4f52f67 build: Potentially fix LTO 2022-11-14 10:42:09 +01:00
WerWolv b1f76aeda6 feat: Added new view provider 2022-11-14 10:02:46 +01:00
WerWolv c90aa0a742 fix: Crash after evaluating patterns a second time 2022-11-10 11:18:14 +01:00
WerWolv a0445c4f7b lang: Added missing localizations 2022-11-09 19:03:57 +01:00
WerWolv 9074a6fcf1 fix: Edit menu items being always unavailable 2022-11-09 18:49:07 +01:00
WerWolv 4c5d2f6ebb feat: Finish up work on new pl section system 2022-11-08 21:43:22 +01:00
WerWolv 5bbc2fd94c feat: Added basic UI for the new pl section system 2022-11-07 00:04:47 +01:00
WerWolv 901b8f0424 sys: Refactored hex editor into its own reusable component 2022-11-06 12:19:12 +01:00
WerWolv a6742de405 sys: Literally, fuck Valve 2022-11-02 08:24:00 +01:00
iTrooz_ 948b5b2d9c
ux: Change "Esc" key behavior on hex editor popups (#810)
* set same behaviour for PopupGoto and PopupFind

* Force close the popup when user is editing an input
2022-11-01 09:33:11 +01:00
iTrooz_ bececff9e5
feat: Ask the users if they want to check for updates (#803)
* ask the users for updates

* Only treat 1 as enabled

* Fix formatting

* update locales

* comment to document value
2022-10-29 23:43:40 +02:00
5idereal 6bc1f94b60
lang: Update zh_TW translation (#805) 2022-10-28 14:58:45 +02:00
WerWolv 9fd37221f6 fix: Static tooltips not rendering correctly 2022-10-28 14:33:26 +02:00
WerWolv db3072630a feat: Allow multiple yara rules to be applied after each otherr 2022-10-28 14:32:56 +02:00
WerWolv 5cf6baca88 fix: Yara matching not being interruptable 2022-10-28 14:32:28 +02:00
iTrooz_ 24c0cc10a1
sys: Load Tips from a local file instead of querying an API (#797)
* store tips locally

* C++ random implementation

* show one different tip per day

* fix json conversion to string

* put tips.json in builtin romfs
2022-10-27 13:21:54 +02:00
iTrooz_ 32ab1c1a06
sys: Load content store content when it's first opened (#795)
* refresh store on open

* show the user if the request failed

* do not refresh if a refresh is in progress

This makes ImHex crash

* InProgress

* fix formatting

* use a localized message

* set localized message in other langs
2022-10-27 13:12:24 +02:00
iTrooz_ e76d5854b8
ux: Add a setting to disable loading of unicode characters (#798)
* Add setting to disable loading of unicode characters

* change message

* set message in other langs

* fix formatting
2022-10-27 13:11:09 +02:00