paxcut
93c8a45de0
fix: Fixed spacing in bit labels so it works for any font and any size. ( #1365 )
...
Testing various fonts and sizes I realized there were still problems
with the layout of the bit labels. Also I reorganized the code so that
lambdas are defined just before they are used. Comments needed
punctuation too.
Part of the problem was that I had been assuming all along that the
check boxes were ImGui's originals which are always square. In actuality
the width is determined by the width of the character for '0'. Also
ImGui table was adding spacing to separate cells which made the boxes
not start at same place as column. Also for some reason using indent of
zero didn't work as expected but using 0.1 pixels worked. With those
problems fixed it is fairly easy to make sure the labels are centered at
the box except when the first mantissa checkbox gets a label which is
wider that the box width. Before and after show results for different
fonts.
Before:
![image](https://github.com/WerWolv/ImHex/assets/53811119/3778e6d5-6fbd-48e1-ac51-39a6636daea5 )
After:
![image](https://github.com/WerWolv/ImHex/assets/53811119/79c0f027-3119-4762-a4e3-315e84505f3b )
2023-10-15 20:07:51 +00:00
WerWolv
da1b53420f
feat: Added debug variables to aid with development
2023-10-13 23:46:48 +02:00
WerWolv
5a71cc2d61
fix: Wikipedia explainer tool randomly resetting input
2023-10-12 20:35:44 +02:00
WerWolv
b98b60a126
fix: Provider hover tooltip always showing information about current provider
2023-10-12 20:28:02 +02:00
WerWolv
929e0e64a5
fix: Achievement hovering popups showing up even when they are covered by another window
2023-10-12 20:24:02 +02:00
WerWolv
48a1e93cfe
fix: Tool windows drawing on top of the welcome screen
...
Fixes #1364
2023-10-12 15:15:05 +02:00
paxcut
081c581b8c
fix: Layout of large font labels in IEEE 745 floating point tool ( #1337 )
...
### Problem description
The issue seems to only affect the web version of ImHex but it is not
clear why. The labels of the checkboxes that represent bits in the IEEE
745 floating point tool were lay out incorrectly.
### Implementation description
The new code ensures that the bit labels are centered and located in the
middle of the checkbox regardless of the font size and the dear imgui
sized checkboxes.
2023-10-04 22:10:06 +02:00
iTrooz
d15bd4771d
feat: Support for building ImHex for the web ( #1328 )
...
Co-authored-by: WerWolv <werwolv98@gmail.com>
Co-authored-by: AnnsAnn <git@annsann.eu>
2023-10-04 12:00:32 +02:00
WerWolv
89bffbd1bc
fix: Crash when exceptions are thrown in data processor nodes
2023-09-27 14:19:08 +02:00
WerWolv
e80c7bff1c
impr: Refactored forwarder executable and add lots more information to it
2023-09-27 14:14:27 +02:00
WerWolv
b3ef615158
feat: Allow Edit -> Jump to
to jump to little and big endian addresses
...
Closes #1324
2023-09-26 14:01:28 +02:00
WerWolv
89abc8557f
feat: Added shortcuts for the pattern debugger
2023-09-24 18:26:42 +02:00
WerWolv
181a7c5b3d
feat: Added evaluate pattern shortcut
2023-09-24 18:17:58 +02:00
WerWolv
f79e2df11a
feat: Added shortcut to switch between providers
2023-09-24 18:11:17 +02:00
Paul Sorensen
be8c679d4a
impr: Return early to remove nested code ( #1253 )
...
<!--
Please provide as much information as possible about what your PR aims
to do.
PRs with no description will most likely be closed until more
information is provided.
If you're planing on changing fundamental behaviour or add big new
features, please open a GitHub Issue first before starting to work on
it.
If it's not something big and you still want to contact us about it,
feel free to do so !
-->
### Problem description
<!-- Describe the bug that you fixed/feature request that you
implemented, or link to an existing issue describing it -->
This will simplify the codebase in the pattern drawer. It returns early
on conditional statements and reduces the amount of nested code making
it easier to read and track while developing.
2023-09-20 10:49:09 +02:00
paxcut
c577a42f62
impr: Refactoring of floating point tool to decrease code complexity. ( #1275 )
...
I noticed the bad score on code factor so I reorganized it to make it
more readable and maintainable. In order to break down the big function
into it much smaller parts I encapsulated all the variables that the
functions need to access in two classes, one for the imgui related
statics and the other for non-static variables.
When writing the smaller functions I was noticed that there was room to
simplify the existing algorithms by writing functions that could be
called by parts that previously shared no code. I tested the changes the
same way I tested the original and it seems to work the same way but
maybe a bit faster. Although it may be possible to further optimize the
present code code factor no longer flags the function at all.
2023-09-20 10:48:44 +02:00
Lennard Fonteijn
ad69ac84b1
feat: Added hex::group attribute and various fixes ( #1302 )
...
As discussed (many times) on Discord, does the same as the new favorite
tag, but instead allows you to add multiple groups.
Initially, this would cause some insane issues with draw/reset
(apparantly) fighting eachother in the pattern drawer. After a lot of
trial and error, I decided to rewrite the flow that is responsible for
calling reset. Now evaluating patterns is the one to decide when the
reset happens, not the core "game"-loop.
To make sure that draw and reset can never happen at the same time, the
mutex originally used for the favorites has been repurposed. Due to the
restructuring, the mutex in the favorite-task is no longer needed, as
that will only ever kick-off after reset is called and if there are
actually patterns, which can never line up to be accessed on different
threads at the same time.
Last but not least, I noticed that hard crashes could result in your
config file getting overridden. I added a check to prevent that.
Last I issue I can see is that if you use an excessive amount of
favorites/groups, a crash can still happen, but it only happens when you
close the program (occasionally, but unpredictable). Before, this would
happen if you ran the evaluation a second time. I boiled the cause of
the crash down to these lines of code in evaluator.cpp >
patternDestroyed:
```cpp
if (pattern->isPatternLocal()) {
if (auto it = this->m_patternLocalStorage.find(pattern->getHeapAddress()); it != this->m_patternLocalStorage.end()) {
auto &[key, data] = *it;
data.referenceCount--;
if (data.referenceCount == 0)
this->m_patternLocalStorage.erase(it);
} else if (!this->m_evaluated) {
err::E0001.throwError(fmt::format("Double free of variable named '{}'.", pattern->getVariableName()));
}
}
```
Specifically, trying to access the `*it` is the reason for the crash
(this was also the cause of the crashes before my fixes, but then during
evaluation).
I'm suspecting the root cause is somewhere in the `.clone` methods of
the patterns. I'd say that for now a crash when closing the program is
more acceptable than during evaluation (which can even happen if you use
favorites).
2023-09-16 13:09:59 +02:00
Imron jehleh
64a30a45d5
fix: Error popup now showing up immediately after click ( #1272 )
...
From #1265 , Looks like Error Popup doesn't handle properly in some
circumstances.
---------
Co-authored-by: iTrooz <hey@itrooz.fr>
Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-09-16 13:09:24 +02:00
WerWolv
1a2a926b77
fix: "About ... that much" achievement not triggering correctly
2023-09-12 22:24:12 +02:00
WerWolv
da18428f27
fix: Highlighting not being cleared correctly in some cases
2023-09-12 22:23:47 +02:00
iTrooz
5e86f62a98
fix: Handle exceptions thrown by providers on loadSettings() ( #1307 )
2023-09-12 12:00:00 +02:00
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
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
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
2082781cf5
fix: Correct endianess of CRC hashes
...
Fixes #1225
2023-08-04 16:05:21 +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
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
WerWolv
bd8868d2c8
impr: Added better help output for cli
2023-07-21 14:28:15 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
WerWolv
357dd883db
fix: Hexadecimal string inputs in data processor nodes behaving weirdly
2023-01-31 11:39:08 +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
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
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
3a117b3bed
feat: Display process icons in process memory provider
2023-01-03 16:34:22 +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
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
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
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
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
WerWolv
d3b6c2d0e6
nodes: Added a few new nodes
2022-10-26 09:07:09 +02:00
WerWolv
ef6cac6e92
patterns: Make more pattern editor things per-provider
2022-10-26 08:54:43 +02:00
WerWolv
0c5e72ab6a
nodes: Improve precision of values passed between nodes
2022-10-26 08:54:08 +02:00
WerWolv
858e1aed3b
nodes: Fixed a few issues with locatizations, errors and overlays
2022-10-22 23:17:18 +02:00
WerWolv
3b7f2fbdaa
pattern: Display evaluation time when pattern finished running
2022-10-22 15:47:50 +02:00
WerWolv
2c167d6d27
fix: Crash when scrolling to the end of a file that is multiples of 8 bytes long
2022-10-22 15:46:03 +02:00
WerWolv
f53d7fc9f3
fix: Format string syntax error
2022-10-22 13:46:48 +02:00
WerWolv
04a4957ccf
fix: Null and MemFile providers dumping null
into recent files
2022-10-22 09:08:18 +02:00
WerWolv
b5f7be2384
fix: Editing hex editor cells not working on some systems
2022-10-22 09:07:47 +02:00
WerWolv
b829abf56c
fix: Paste all shortcut tooltip being wrong
2022-10-21 13:36:19 +02:00
WerWolv
139a379a09
feat: Added Paste all option to paste and resize file without checks
...
Closes #791
2022-10-21 12:14:35 +02:00
WerWolv
6a8611d98d
ux: Make New File command create a new file in memory
...
Closes #792
2022-10-21 12:01:28 +02:00
WerWolv
241b93aab5
patterns: Added menu to Edit menu for placing types at current selection
2022-10-21 10:03:37 +02:00
iTrooz_
08251eeab7
feat: Add Ctrl+Shift+Z Redo shortcut ( #787 )
2022-10-17 13:28:05 +02:00
WerWolv
5d979da3e2
fix: Modified bytes on pages after the first one always displaying 0x00
...
Fixed #782
2022-10-13 21:23:26 +02:00
WerWolv
af6ad96cb6
fix: Detached tool windows not resizing correctly
2022-10-13 15:14:51 +02:00
WerWolv
f9e960070d
nodes: Require shift to be held to enlarge visualizers
2022-10-13 15:14:16 +02:00
WerWolv
1ab949b7ef
nodes: Added RGBA8 image visualizer
2022-10-13 15:13:53 +02:00
WerWolv
8b39c8f219
feat: Make all tool windows be detachable
2022-10-13 10:47:38 +02:00
iTrooz_
14b28ba899
ui: Show non existing folders in red in about view ( #781 )
...
* show non existing folders in red in about view
* use ImGuiCustomCol_ToolbarRed for theming
* Fix compilation problem for Ubuntu
2022-10-13 08:07:46 +02:00
WerWolv
dd9b6643e6
fix: Crash when loading a provider after evaluating patterns
2022-10-12 14:50:09 +02:00
WerWolv
e3f88395ec
fix: Hidden attribute not applying to top-level patterns
2022-10-12 14:49:48 +02:00
WerWolv
7331b8d5ae
node: Limit width of out variable access node
2022-10-12 12:24:54 +02:00
WerWolv
d17911d753
fix: Invalid axis labels in data information view
2022-10-12 12:24:11 +02:00
WerWolv
b41d01f126
lang: Added localization for new nodes
2022-10-12 12:18:27 +02:00
WerWolv
27fc3fd659
nodes: Added out variable access node
2022-10-12 12:18:18 +02:00
WerWolv
cc9dc90655
nodes: Added Float <-> Buffer casting nodes
2022-10-12 12:09:51 +02:00
WerWolv
015266181e
fix: Various issue with the hex editor editing mode
2022-10-12 10:56:03 +02:00
WerWolv
299933c4f7
feat: Allow ASCII cells in Hex editor to be edited
2022-10-11 20:18:45 +02:00
WerWolv
5312d6f9fa
fix: Data inspector still displaying entries with no selection
2022-10-11 20:18:16 +02:00
WerWolv
16eb7b3dbd
ui: Fixed hex editor highlighting sometimes having gaps
2022-10-11 15:06:33 +02:00
WerWolv
e4680fb0a2
fix: 64-Bit hex data visualizer only displaying 32 bit
2022-10-11 09:00:00 +02:00
WerWolv
1c52e0018a
fix: Prevent same pl runtime from running simultaneously when loading provider
2022-10-10 23:16:54 +02:00
WerWolv
e78c452daf
fix: Hex editor selection not showing rendering properly
2022-10-10 20:33:34 +02:00
WerWolv
daca49658e
ui: Fix highlighting of separator column in hex editor
...
Fixes #776
2022-10-10 17:26:05 +02:00
WerWolv
7474aa3e5d
fix: New lines in wide string messing up data inspector drawing
2022-10-10 14:41:24 +02:00
WerWolv
c6d2d51d4c
ui: Make sure sealed patterns get highlighted properly when selected
2022-10-10 14:40:49 +02:00
WerWolv
9055105627
fix: Evaluator not exiting evaluating state correctly on error
2022-10-09 17:31:06 +02:00
WerWolv
4070833229
ui: Highlight selected patterns in pattern data view
2022-10-09 15:56:26 +02:00
WerWolv
3a9c3f939e
sys: Properly center hex view around selection when jumping
2022-10-09 14:47:38 +02:00
WerWolv
50158a7977
sys: Fixed hex editor scrolling issues
2022-10-08 16:23:15 +02:00
WerWolv
2cea561468
ui: Make sure modified bytes are correctly highlighted
2022-10-08 10:00:37 +02:00
WerWolv
8024b0a186
sys: Improve drag scrolling behaviour in hex editor view
2022-10-07 22:13:25 +02:00
WerWolv
2b135cf7e0
ui: Limit maximum length of data displayed in pattern tooltip
2022-10-07 16:27:29 +02:00
WerWolv
ce8c64a679
ui: Make sure ASCII cell content in hex editor is always centered
2022-10-07 16:18:09 +02:00
WerWolv
11f63f9b02
ui: Added optional byte cell and char cell padding
...
Closes #771
2022-10-07 11:28:44 +02:00
WerWolv
5694eaba8c
feat: Added palette to bookmark color picker
...
#771
2022-10-07 10:53:08 +02:00
WerWolv
210106901e
sys: Added setting to disable multi-window support
2022-10-06 21:26:24 +02:00
WerWolv
fb1453d98a
lang: Fixed some language strings
2022-10-06 16:55:42 +02:00
WerWolv
2a93eab14c
ui: Make sure pattern data view doesn't flicker when executing pattern
2022-10-06 13:24:22 +02:00
WerWolv
f039ea68d0
fix: Potential crashes when pasting with no clipboard content
2022-10-06 09:35:18 +02:00
WerWolv
e0c35e0002
fix: Data processor nodes not remembering their positions correctly
2022-10-06 09:14:46 +02:00
WerWolv
7f2c60b0d7
fix: Race condition with data inspector
2022-10-05 12:02:40 +02:00
WerWolv
7bb9e7ee82
sys: Replaced awful task system with a much more efficient thread pool
2022-10-04 23:37:48 +02:00
WerWolv
b80517ab15
sys: Improved UTF-8 path handling in various places
...
Fixes #768
2022-10-04 09:10:58 +02:00
WerWolv
b17cd3696c
fix: Handling of exceptions that are not being caught
2022-10-03 10:36:19 +02:00
WerWolv
accd554600
sys: Reduce compile time on Windows a bit
2022-10-02 20:35:38 +02:00
Nik
6fdba3d555
build: Remove terrible clang-format files ( #766 )
2022-10-02 17:35:02 +02:00
Nik
9c484e7b57
fix: Various clang / clang-tidy warnings ( #764 )
2022-10-02 17:30:26 +02:00
WerWolv
b365e16cc9
fix: Multiple issues with the calculator
2022-10-02 14:18:56 +02:00
WerWolv
6a07a2f85d
feat: Look for custom inspector entries in imhex/scripts/inspectors
2022-10-02 14:18:40 +02:00
xtexChooser
0fd7461266
lang: Updated Chinese(Simplified) translations ( #762 )
2022-10-02 11:32:06 +02:00
Marcelo Conceição
62eb0ccd1d
fix: Bad optional access when inspectors.hexpat is missing ( #761 )
2022-10-02 10:28:37 +02:00
WerWolv
3367237da3
feat: Added very primitive support for adding custom data inspector entries
2022-10-01 23:16:55 +02:00
WerWolv
84530e0817
patterns: Added demangle function
2022-09-30 12:49:49 +02:00
WerWolv
663fb88367
sys: Various cleanup
2022-09-30 12:49:28 +02:00
WerWolv
12ee235380
fix: Hardcoded colors used in ASCII table
...
Fixes #757
2022-09-29 20:46:50 +02:00
WerWolv
ca6a8a7a46
sys: Move resources into their relevant subprojects
2022-09-29 10:33:39 +02:00
WerWolv
f52dae4297
feat: Added Edit -> Jump to option to jump to selected address
2022-09-28 22:36:43 +02:00
WerWolv
d643f8f8f7
feat: Allow bookmarks to be reordered
...
Closes #750
2022-09-28 21:40:31 +02:00
WerWolv
08a12dd2b0
fix: Crash when dragging the mouse onto the hex view
2022-09-28 21:39:46 +02:00
WerWolv
b33dd5d4f5
lang: Added localization for float 16 visualizer
2022-09-28 18:33:11 +02:00
WerWolv
e797ac3a57
feat: Added Float16 data visualizer
...
Closes #749
2022-09-28 18:30:41 +02:00
WerWolv
8bd31f6375
fix: Crash when hex editor visualizer size is not divisible by row count
2022-09-28 18:29:56 +02:00
WerWolv
b450f4797e
feat: Added wide string to data inspector
2022-09-28 16:10:40 +02:00
WerWolv
d021e2b362
fix: Make sure correct close function gets called
2022-09-28 15:02:55 +02:00
WerWolv
c769e9cc32
ui: Highlight modified bytes in red
2022-09-28 15:01:43 +02:00
WerWolv
639390115b
sys: Allow file inspector to read bytes over the page boundary
...
Fixes #751
2022-09-26 11:53:29 +02:00
WerWolv
ceaf80a186
sys: Don't keep files open in File Provider
...
Closes #752
2022-09-26 11:49:35 +02:00
WerWolv
e34703ea5a
fix: Saving and loading projects not working correctly
2022-09-22 09:05:09 +02:00
iTrooz_
3a94be9abb
ux: Display an error message if file picker can't be opened ( #748 )
...
* add error message for the file picker
* set a different message for Windows/MacOS
* fix typos
* Moved file dialog error handling to a callback function
Co-authored-by: Nik <werwolv98@gmail.com>
2022-09-20 15:47:59 +02:00
WerWolv
9656b40d53
fix: Clearing custom font path not updating setting correctly
2022-09-20 15:47:28 +02:00
WerWolv
1d4cbbe418
ux: Handle project loading errors better
2022-09-20 15:33:36 +02:00
WerWolv
4e5d56e2c0
fix: Files opened by the file provider appearing locked for other applications
2022-09-19 23:07:44 +02:00
WerWolv
7b61268f22
ux: Reduce file loading time to basically zero
2022-09-19 16:09:22 +02:00
WerWolv
b11dbe4fe1
fix: Build failing on macOS
2022-09-19 15:26:25 +02:00
WerWolv
6dbff81f95
ui: Added chunk type information to pattern data view
2022-09-19 14:21:36 +02:00
WerWolv
9893e7a965
ui: Display array patterns in pattern data view in chunks of 512 entries
2022-09-19 14:16:23 +02:00
WerWolv
814c595c12
ui: Added functionality icons to most text input fields
2022-09-19 11:29:51 +02:00
WerWolv
f8b4d04713
feat: Added numeric value search to find view
2022-09-19 10:34:57 +02:00
WerWolv
3cdc8c5884
fix: OpenGL textures not being cleaned up correctly
2022-09-18 20:38:45 +02:00
WerWolv
b2932773b9
feat: Added unique selection and scrolling position to each provider
2022-09-18 16:22:08 +02:00
WerWolv
59a04e6dbf
fix: Copy-As python array having a semicolon at the end
2022-09-18 15:05:56 +02:00
WerWolv
7357c26d54
ux: Pre-fill remove popup size value with current selection size
2022-09-16 08:33:18 +02:00
WerWolv
bf00503d1f
fix: BufferedReader messing up the second to last byte
2022-09-16 08:30:28 +02:00
WerWolv
5c3ee9f499
fix: Dangerous function call popup keep appearing
2022-09-15 11:38:22 +02:00
WerWolv
737155a226
patterns: Added hex::core::get_selection function
2022-09-15 09:34:59 +02:00
WerWolv
66d64cf020
patterns: Refactor creation of default runtime
2022-09-15 09:34:40 +02:00
WerWolv
75047e26e2
feat: Added various new Copy as... options
2022-09-13 23:48:47 +02:00
WerWolv
d1468984e7
fix: Copy as... -> ASCII Art inserting too much whitespace
2022-09-13 22:02:57 +02:00
WerWolv
20a2331504
feat: Allow task stop button to abort pattern evaluation
2022-09-13 16:05:41 +02:00
WerWolv
5b00c8ee08
feat: Added find view reset button
2022-09-13 14:22:18 +02:00
WerWolv
9d7e2eccac
feat: Added "Require full match" toggle to regex string search
2022-09-13 14:06:19 +02:00
WerWolv
8c219b981c
fix: Searching for invalid binary sequence causing too many matches
2022-09-13 14:05:48 +02:00
WerWolv
7d87c8bb98
patterns: Added references
2022-09-13 13:14:36 +02:00
WerWolv
aa658b7dbc
sys: Make sure constexpr variables don't get copied onto the stack
2022-09-12 21:28:02 +02:00
xtexChooser
7e3601989a
lang: Update Chinese(Simplified) translation ( #739 )
2022-09-11 21:56:55 +02:00
WerWolv
3a1c0f8d66
fix: Disk provider slowing down loading of ImHex
2022-09-11 21:06:15 +02:00
WerWolv
91160b4311
fix: Copy as... function sometimes producing invalid results
...
Fixes #738
2022-09-09 20:13:49 +02:00
WerWolv
83f4093796
fix: Rendering of pattern array entries not working correctly
2022-09-08 23:03:58 +02:00
WerWolv
d990ee102a
sys: More cleanup
2022-09-07 23:11:24 +02:00
WerWolv
cfde9939b4
sys: Refactor and cleanup pattern drawer
2022-09-07 23:11:13 +02:00
WerWolv
7a4040f6ec
ui: Fixed indentation of sealed patterns in pattern data view
2022-09-07 22:21:44 +02:00
WerWolv
2fbb351314
patterns: Updated pattern language
2022-09-07 11:32:47 +02:00
WerWolv
96e85c0685
ui: Removed unused space in hex editor footer
2022-09-07 11:32:33 +02:00
WerWolv
073323b517
ui: Fix invalid indentation with inlined patterns
2022-09-06 20:04:55 +02:00
WerWolv
6367152650
ux: Fixed welcome screen settings button not always working
2022-09-06 10:50:17 +02:00
WerWolv
a0b2473bf4
ui: Improved pattern color visualization
2022-09-05 23:34:20 +02:00
WerWolv
95a3104a56
sys: Only display FPS in debug builds
2022-09-05 22:37:28 +02:00
WerWolv
cb682b6e21
ui: Fixed graphics artifacts on welcome screen
2022-09-05 14:16:31 +02:00
WerWolv
22b6bdb5cf
feat: Added Copy as -> Address option to Edit menu
...
Closes #725
2022-09-04 14:23:09 +02:00
WerWolv
d9a47fe815
fix: Crashes when resizing file
...
Fixes #721
2022-09-04 11:16:24 +02:00
WerWolv
1a21627cdb
ui: Added error popup when an exception is thrown in a task
2022-09-03 23:56:57 +02:00
WerWolv
0a115a3c03
fix: Filtering search occurrences in Find view with multiple files being broken
...
Fixes #685
2022-09-03 23:15:30 +02:00
WerWolv
7ef11f566b
fix: Crash when resizing a non-writable provider
...
Fixes #704
2022-09-03 23:08:40 +02:00
WerWolv
7f6aa9f9a6
fix: Backwards searching being broken
...
Fixes #713
2022-09-03 23:02:46 +02:00
WerWolv
4df1496a0f
patterns: Properly set current base address in pattern language runtime
...
Fixes #714
2022-09-03 22:04:41 +02:00
mirusu400
721ac837e0
lang: Add Korean Translation ( #719 )
...
* Add ko-KR translation
* Remove Fallbackentry
2022-09-02 16:10:54 +02:00
WerWolv
6689b8ebfa
patterns: Updated pattern language
2022-08-29 16:33:40 +02:00