WerWolv
4b0d980d54
impr: Don't use fmt::println if it's not supported
2023-07-22 20:22:25 +02:00
WerWolv
8aec382440
fix: Loading of plugins and localizations after restart
2023-07-22 18:38:14 +02:00
WerWolv
f6bbfd7283
impr: Properly print new line characters in cli
2023-07-21 15:17:21 +02:00
WerWolv
e5a793e8de
fix: Subcommands not working at all on Linux
2023-07-21 14:12:08 +02:00
WerWolv
7c321a79c3
impr: Print message if no stacktrace can be collected
2023-07-20 21:41:22 +02:00
WerWolv
a83ca3c228
feat: Added --pl and --magic command
2023-07-17 10:43:29 +02:00
WerWolv
e9450b490f
feat: Added --plugin, --calc, --hash, --encode and --decode subcommands
2023-07-16 23:46:41 +02:00
WerWolv
0a6815da8f
fix: Always use default CA Cert
2023-07-16 19:56:07 +02:00
Nik
5171bea0bf
feat: Added cross-platform .NET scripts support ( #1185 )
...
This PR intends to add support for .NET scripts that can extend ImHex's
functionality in a portable and cross-platform way.
---------
Co-authored-by: Justus Garbe <55301990+Nowilltolife@users.noreply.github.com>
2023-07-15 14:29:14 +02:00
Nik
aae3004f1f
build: Various build improvements ( #1193 )
2023-07-15 00:10:01 +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
cdc4f2db89
patterns: Updated pattern language
2023-07-11 09:21:13 +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
c9c6f3aadb
fix: New visualizers behaving weirdly with large font sizes
2023-07-06 10:08:47 +02:00
iTrooz
ac2a609d0a
impr: Use execvp() instead of system() on Linux ( #1170 )
...
This PR it just a hack to fix #1160 , it doesn't solve the underlying
problem.
It fixes the problem because by using execvp() directly, it avoids the
call to `sh` done with `system()`, which has a bug on Ubuntu 22.04 which
makes it i,compatibles with the glibc inside the AppImage.
It doesn't fix the underlying problem because the programs we call
themselves still link to the AppImage's libraries instead of the system
ones.
2023-07-05 20:50:46 +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
86c4c8fa96
feat: Added new pattern inline visualizers
2023-07-04 22:18:06 +02:00
WerWolv
b265d8e54a
build: Restructure romfs assets
2023-07-04 08:42:33 +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
f9909dab98
fix: Properly clear all global registries
2023-06-30 13:40:16 +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
ae06954771
fix: Stack trace printing on Windows not working right
2023-06-22 15:15:06 +02:00
WerWolv
cb3b71e2f3
fix: Typo in content registry comment
2023-06-21 23:59:40 +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
da11c47693
impr: Better sorting of hex cell visualizers
2023-06-21 17:48:51 +02:00
WerWolv
6435d8d955
feat: Name runner threads for tasks
2023-06-21 09:29:57 +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
54061c56bf
fix: Logging race conditions
2023-06-18 22:32:55 +02:00
WerWolv
25154dd450
build: Force enable exceptions and rtti
2023-06-18 14:42:48 +02:00
WerWolv
03f377bf40
fix: Don't try to initialize plugins that failed to load
2023-06-18 10:18:41 +02:00
WerWolv
7de367a944
impr: Properly allow multi-threaded logging without messing up output
2023-06-12 08:24:36 +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
cde5940063
fix: Popups sometimes not appearing centered on the main window
2023-06-10 15:15:52 +02:00
WerWolv
73d4214fd3
fix: Window title being cleared after ImHex exits
2023-06-10 15:08:56 +02:00
WerWolv
0e8273eaa7
impr: Make sure icons are more centered
2023-06-09 00:30:12 +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
456895a6a6
fix: Various pattern drawer issues
2023-06-06 11:29:58 +02:00
WerWolv
9712329924
feat: Added pattern export option to pattern data view
2023-06-05 11:57:26 +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
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
1dff81f7cd
fix: Crash when deleting overlays
2023-06-03 22:50:37 +02:00
WerWolv
504c022f01
patterns: Added hex_viewer visualizer
2023-06-02 10:47:23 +02:00
iTrooz
117832e007
impr: Handle crashes that may happen before the main loop ( #1115 )
...
Draft because I absolutely do not trust myself writing good code at 2AM.
I will review it tomorrow
2023-06-01 18:35:41 +02:00
WerWolv
9dafdeb70a
patterns: Updated pattern language
2023-05-29 10:52:39 +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
0ba011dbe1
feat: Add a native error message when glfw window creation fails ( #1104 )
...
Draft because I want to test it again tomorrow with all OSes, first
---------
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-27 17:45:41 +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
WerWolv
cb9a3b1f55
fix: Invalid key code error spam
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
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
WerWolv
f81276f7e3
feat: Added support for transparent and blurry window styles
2023-05-22 12:00:35 +02:00
WerWolv
e7b51a56a5
feat: Added support for automatically loading patterns using binary pattern magic
2023-05-22 00:01:58 +02:00
WerWolv
2179c3c014
fix: View shortcuts acting like global shortcuts
2023-05-21 18:02:29 +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
180a27fdc9
fix: Local keybindings not working correctly
2023-05-21 10:28:55 +02:00
KOLANICH
4faebf435c
impr: Remove an unused std::mutex
in TaskManager::runner
( #1088 )
2023-05-20 13:38:12 +02:00
KOLANICH
749823e044
build: Move -s
additional compiler flags into linker flags, and enable it only when gcc/clang are used. ( #1087 )
...
Compiler when compiling doesn't use them in those cases and emit a
warning, which is turned into an error by `-Werror`. Unfortunately,
CPack doesn't expose the logic it uses for stripping binaries.
2023-05-20 13:37:57 +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
969a37877a
fix: Crash on exit
2023-05-20 13:10: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
8119929ece
fix: Don't wait for services on exit
2023-05-16 14:59:14 +02:00
WerWolv
14341d611d
impr: Handle macOS Open with... correctly
2023-05-15 18:07:49 +02:00
WerWolv
c006062540
feat: Added basic network interface support
2023-05-15 11:30:24 +02:00
WerWolv
60a2b30e91
fix: Another wrong include on macOS
2023-05-14 22:53:52 +02:00
WerWolv
79cdf51588
fix: Wrong include on macOS
2023-05-14 22:23:05 +02:00
WerWolv
7b048d9b96
fix: Compile on macOS _again_
2023-05-14 22:03:04 +02:00
WerWolv
d96fc6d41b
fix: Compilation on macOS
2023-05-14 21:50:58 +02:00
WerWolv
609afebc55
fix: Updated build script
2023-05-14 20:20:40 +02:00
WerWolv
3bd9ab6349
fix: Hopefully open files now on macOS
2023-05-14 20:20:22 +02:00
WerWolv
5027f36d95
fix: Open with crashing on macOS
...
#1070
2023-05-14 18:35:35 +02:00
WerWolv
aaeebd3fe9
fix: Various pattern execution race conditions
2023-05-12 15:46:13 +02:00
WerWolv
18bc5de169
fix: Copy-as options not being disabled correctly
2023-05-12 08:38:07 +02:00
WerWolv
f2af90fe06
fix: Help hover icon issues
2023-05-11 23:56:51 +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
ea482ff0f5
fix: Crash when closing providers too quickly
2023-05-11 12:01:06 +02:00
WerWolv
8f07f0f8ae
impr: Better look and feel of the welcome screen close button
2023-05-11 12:00:45 +02:00
WerWolv
50c3cf8272
build: Replace old interval tree in favour of custom libwolv one
2023-05-11 09:27:23 +02:00
WerWolv
0574387ee1
fix: Properly use absolute paths when compiling magic files
2023-05-06 10:09:23 +02:00
WerWolv
2d1381860d
fix: Corrected build issues with GCC 13
2023-05-06 10:07:22 +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
iTrooz
980e4cad06
fix: Handle errors in Tar::readVector() ( #1059 )
2023-05-05 21:57:37 +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
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
99a736df27
impr: Replace horrible pattern extra data class with a more modular system
2023-04-17 16:18:48 +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
3e87022da1
fix: Provider undo stack not being handled correctly
2023-04-13 16:12:00 +02:00
WerWolv
803b99f2a9
impr: Immensely improve provider read speeds
2023-04-12 19:21:48 +02:00
WerWolv
aa7c5422c0
fix: Make sure provider data is properly cleared when deleting provider
2023-04-11 15:26:18 +02:00
WerWolv
21f38974a8
impr: Use smart pointers to allocate Views
2023-04-08 12:08:45 +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
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
7a4f909c68
fix: Disassembler arch names not correctly corresponding to their ids
...
Fixes #1010
2023-04-05 18:02:47 +02:00
WerWolv
4cf92103d8
fix: Names of disassembler architectures not corresponding to their actual type
...
Fixes #1010
2023-04-05 07:20:06 +02:00
WerWolv
3658d8d96e
fix: Disassembler not supporting any Capstone 5 features anymore
...
Fixes #1010
2023-04-04 23:08:10 +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
24106b860a
impr: Added some documentation to providers ( #1001 )
2023-04-01 11:17:19 +02:00
WerWolv
1460044e91
impr: Save custom encoding file to project
...
Fixes #1005
2023-03-31 11:06:51 +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
Thomas
725e32250b
fix: Move config files to XDG_CONFIG_HOME ( #993 )
...
This pull request changes Config Directories on Linux to only include
the XDG_CONFIG_HOME directory, as opposed to all directories in
XDG_DATA_DIRS before (introduced in
https://github.com/WerWolv/ImHex/pull/644/files#diff-c1a4d2b63fed168a9a3568944e9cadeae096f2ddcec3649e4a9b2d29fd104be0L162-L166 ).
Reasons:
- This changes the location of the config file to the standard directory
meant for configurations
- This prevents the config file from being read/written in system
locations, like /usr/share
This PR also includes a migration task that will run on Linux and move
config/GUI dimensions to the new directory
as a bonus, as discussed on discord, it writes the logs to a Data
directory instead of a Config directory
2023-03-26 11:02:23 +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
8ef863cae1
fix: Progress not working with with new http wrapper
2023-03-23 13:32:35 +01:00
WerWolv
9463105172
fix: Header memory leak in http requests class
2023-03-23 12:08:33 +01:00
WerWolv
bb4819bce4
sys: Fixed http request stack overflow
2023-03-23 11:43:07 +01:00
WerWolv
15be24db62
sys: Updated to use the new HttpRequest helper instead of Net
2023-03-23 11:23:07 +01:00
WerWolv
8c5fd021f7
api: Hook up new http wrapper to the rest of ImHex
2023-03-22 23:05:18 +01:00
WerWolv
1a1ba19770
api: Added new, more flexible curl http wrapper
2023-03-22 21:48:14 +01:00
WerWolv
57a62d0544
impr: Clean up entire API and added doc comments
2023-03-21 15:33:43 +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
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
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
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
64be6d89ee
fix: Moving cursor around using arrow keys behaving weirdly
2023-03-17 09:17:44 +01:00
WerWolv
5442c32a3f
impr: Allow non-continuous provider values to be saved
2023-03-17 08:38:38 +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
a0b36925ed
fix: Custom styles not being scaled correctly
2023-03-14 13:19:04 +01:00
WerWolv
3a840c4ced
impr: Properly display custom encoding characters that are split between lines
2023-03-14 09:35:43 +01:00
WerWolv
00a5fd2d7c
sys: Fixed more build issues
2023-03-13 09:25:07 +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
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
WerWolv
0017cd2e40
feat: Added binary hex cell visualizer
...
Closes #939
2023-02-18 22:20:02 +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
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
3067ff08ec
feat: Greatly improved diff view
...
Fixes #631
2023-02-15 17:01:36 +01:00
WerWolv
61ce88ba9b
build: Fix build on systems that have no backtrace or execinfo
...
Fixes #932
2023-02-13 08:27:08 +01:00
WerWolv
3003dea409
fix: Occasional error when loading recent files
2023-02-12 17:52:09 +01:00
WerWolv
0b18930017
fix: Invalid theme load error
2023-02-12 17:39:47 +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
5cc01ae89d
nodes: Added support for nested, shareable, custom data processor nodes
2023-02-09 23:07:04 +01:00
WerWolv
303dd28c7c
fix: Fix macOS build again
2023-02-08 14:11:42 +01:00
WerWolv
dd87dc7046
fix: Building on macOS
2023-02-08 13:51:56 +01:00
WerWolv
89a96c6d25
sys: Improve pattern visualizer API
2023-02-07 14:18:59 +01:00
WerWolv
22ff033b5e
fix: More P2468R2 issues
2023-02-02 21:13:56 +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
WerWolv
c6e1f45dc3
feat: Added option to copy custom encoding strings from hex view
2023-01-28 21:12:35 +01:00
WerWolv
29c1a0cb78
feat: Allow multiple yara files to be selected at once
2023-01-28 00:01:53 +01:00
WerWolv
fee1b985c0
feat: Added better error messages for generating and importing ips patches
2023-01-25 10:38:04 +01:00
WerWolv
434b7649c3
fix: CRC8 hashing algorithm displaying 16 bits result
2023-01-25 00:06:48 +01:00
WerWolv
94cd83e0dc
feat: Added sound visualizer
2023-01-24 23:27:35 +01:00
WerWolv
90d9c91717
build: Cleanup opengl and glfw linking
2023-01-24 14:59:19 +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
1f50e834fc
fix: Copying bytes from non-zero page not working
2023-01-22 11:28:17 +01:00
WerWolv
89e0df86a2
feat: Added scaling and rotation to 3D visualizer
2023-01-21 13:00:02 +01:00
WerWolv
f17e04273d
fix: IPS patch applying being broken
2023-01-21 00:29:16 +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
4fb544d59d
fix: Views starting out super tiny
2023-01-19 16:59:09 +01:00
WerWolv
c5d2739a39
fix: File provider sometimes not saving path to project file
2023-01-19 11:09:24 +01:00
WerWolv
ef12798fe2
feat: Allow custom hashes to be saved to projects
2023-01-18 14:30:56 +01:00
WerWolv
c747c15567
fix: Buffer overflow caused by hex input boxes
2023-01-18 14:30:44 +01:00
Nik
48a57cd981
feat: Added stacktrace printing on crashes ( #892 )
...
* feat: Added simple stack trace output
* feat: Added backtrace wrapper
* build: Added libbacktrace include dirs to build
* build: Fixed libbacktrace variables
* build: More backtrace variable fixes
* build: Try to find backtrace include
* build: Get backtrace header from cmake script
* feat: Added backtrace support for execinfo
* feat: Added support for StackWalk on Windows
2023-01-17 21:38:56 +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
03d216f116
feat: Allow most resources to be loaded relative to the current project
2023-01-11 23:31:25 +01:00
WerWolv
dbcb13f473
patterns: Disallow application/octet-stream
to be used as MIME type
2023-01-09 08:38:19 +01:00
WerWolv
ceae23eab1
fix: Crash when opening a project file when already having providers open
2023-01-07 22:43:48 +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
WerWolv
c26bed894b
sys: Add imhex/lib
path to plugin libraries search paths
2023-01-07 10:32:01 +01:00
WerWolv
763196f0cc
feat: Added filtering to Process Memory Provider
2023-01-05 09:30:15 +01:00
WerWolv
ff9048fcf0
fix: Crash on exit
...
Fixes #854
2023-01-05 09:29:33 +01:00
WerWolv
45bb9e6706
build: Fix some more ObjC issues
2023-01-04 14:55:58 +01:00
WerWolv
e6d14507e2
fix: Window title not resetting when closing all providers
2023-01-04 14:24:18 +01:00
WerWolv
9a5881fc47
build: Fixed -Wpedantic issues on macOS
2023-01-04 14:24:07 +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
01917439dd
fix: More invalid iterator accesses
2023-01-03 13:04:36 +01:00
WerWolv
f21c80c48a
build: More libfmt fixes
2023-01-02 01:38:07 +01:00
WerWolv
a20d6aa2b2
fix: Project file creation issues
2023-01-01 21:46:41 +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
745da6ba45
build: Only use --export-all-symbols
on Windows
2022-12-30 11:24:53 +01:00
WerWolv
ad71e612a3
build: Clean up some old compiler/linker flag settings
2022-12-30 10:35:11 +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
cf601586fc
fix: Deadlock when loading recent files
2022-12-28 23:06:27 +01:00
WerWolv
f7b988906e
fix: Saving projects to unicode paths not working correctly
2022-12-28 10:46:02 +01:00
WerWolv
4b8e275254
fix: Crash when closing providers too quickly
2022-12-27 11:35:20 +01:00
WerWolv
a5296bab95
feat: Added pattern value editing
2022-12-16 11:20:39 +01:00
WerWolv
e3f2541fde
sys: Make sure libromfs is never used in libimhex
2022-12-05 15:29:19 +01:00
WerWolv
1347f81236
sys: Added postJson Net helper function
2022-12-04 21:50:47 +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
iTrooz_
217cf799c2
sys: Warn user if a net request fails while a proxy is set ( #821 )
...
* tell the user if he have a proxy set
* Improved log message
Co-authored-by: Nik <werwolv98@gmail.com>
2022-11-25 10:39:45 +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
a6742de405
sys: Literally, fuck Valve
2022-11-02 08:24:00 +01:00
Asvel
c35eaa7a4d
fix: Pattern auto-loading issue on Windows ( #808 )
2022-10-30 13:39:40 +01:00
WerWolv
5cf6baca88
fix: Yara matching not being interruptable
2022-10-28 14:32:28 +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
1eb9858f62
sys: Moved libimhex-rust out of project
2022-10-21 14:55:01 +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_
f3b0971d00
sys: Improve various error messages ( #789 )
...
* Tell the user the net request which failed
* Show signal name
* Print execution time of startup tasks
* replace NULL with nullptr
* change wording for task logs
* Remove '..' from task name
* remove using namespace chrono
2022-10-20 08:28:29 +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
WerWolv
015266181e
fix: Various issue with the hex editor editing mode
2022-10-12 10:56:03 +02:00
WerWolv
a44de63e24
fix: Build failing on Linux
2022-10-09 16:34:53 +02:00
WerWolv
4070833229
ui: Highlight selected patterns in pattern data view
2022-10-09 15:56:26 +02:00
WerWolv
2b135cf7e0
ui: Limit maximum length of data displayed in pattern tooltip
2022-10-07 16:27:29 +02:00
WerWolv
484481f886
fix: Opening files with unicode names through the command line
2022-10-07 10:14:24 +02:00
WerWolv
e0c35e0002
fix: Data processor nodes not remembering their positions correctly
2022-10-06 09:14:46 +02:00
WerWolv
5ace199dc4
fix: Foreground tasks not being cancellable
2022-10-05 21:25:52 +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
Nik
9c484e7b57
fix: Various clang / clang-tidy warnings ( #764 )
2022-10-02 17:30:26 +02:00
WerWolv
6a07a2f85d
feat: Look for custom inspector entries in imhex/scripts/inspectors
2022-10-02 14:18:40 +02:00
WerWolv
663fb88367
sys: Various cleanup
2022-09-30 12:49:28 +02:00
WerWolv
ca6a8a7a46
sys: Move resources into their relevant subprojects
2022-09-29 10:33:39 +02:00
WerWolv
c769e9cc32
ui: Highlight modified bytes in red
2022-09-28 15:01:43 +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
1d4cbbe418
ux: Handle project loading errors better
2022-09-20 15:33:36 +02:00
WerWolv
a55177edfa
fix: Curl SSL context not being thread safe in the slightest
2022-09-19 21:56:43 +02:00
WerWolv
4c01a749de
sys: Improved startup time by running startup tasks in parallel
2022-09-19 16:54:19 +02:00
WerWolv
7b61268f22
ux: Reduce file loading time to basically zero
2022-09-19 16:09:22 +02:00
WerWolv
814c595c12
ui: Added functionality icons to most text input fields
2022-09-19 11:29:51 +02:00
WerWolv
3cdc8c5884
fix: OpenGL textures not being cleaned up correctly
2022-09-18 20:38:45 +02:00
WerWolv
6a7bbb8752
fix: Crash on some Linux systems when opening files
2022-09-17 08:55:18 +02:00
WerWolv
bf00503d1f
fix: BufferedReader messing up the second to last byte
2022-09-16 08:30:28 +02:00
WerWolv
66d64cf020
patterns: Refactor creation of default runtime
2022-09-15 09:34:40 +02:00
WerWolv
42f5c0f484
fix: Tasks being interrupted even if they already finished
2022-09-14 13:51:48 +02:00
WerWolv
20a2331504
feat: Allow task stop button to abort pattern evaluation
2022-09-13 16:05:41 +02:00
WerWolv
bda4aadc54
fix: Sequence escape codes
2022-09-13 14:10:52 +02:00
WerWolv
aa658b7dbc
sys: Make sure constexpr variables don't get copied onto the stack
2022-09-12 21:28:02 +02:00
WerWolv
d990ee102a
sys: More cleanup
2022-09-07 23:11:24 +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
d9a47fe815
fix: Crashes when resizing file
...
Fixes #721
2022-09-04 11:16:24 +02:00
WerWolv
d240b4ed49
fix: Build errors
2022-09-04 00:04:27 +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
7f6aa9f9a6
fix: Backwards searching being broken
...
Fixes #713
2022-09-03 23:02:46 +02:00
WerWolv
3cb6c4f775
fix: Buffered reader returning zeros if provider size is below 16MiB
...
Fixes #707
2022-08-29 16:32:32 +02:00
WerWolv
b687eb88f9
fix: Pattern source code not being loaded correctly from project files
2022-08-29 13:15:17 +02:00
iTrooz_
38162c0129
build: Use the bundled CA cert in AppImage ( #694 )
...
* Added option to bundle CA
* use bundled CA for AppImage
* Fix bundled CA not working on Linux
* revert change to add null terminated string
* set IMHEX_USE_BUNDLED_CA to ON on Windows
2022-08-26 00:21:17 +02:00
WerWolv
f62edea450
build: Fix various clang build issues
2022-08-26 00:18:08 +02:00
WerWolv
389e53a8a0
fix: Net request json parser throwing exceptions
2022-08-21 23:33:08 +02:00
WerWolv
7d85a8b6fc
fix: Providers not being closed correctly
...
Fixes #692
2022-08-20 14:04:12 +02:00
Jonathan Wright
be82ee15b7
build: Lower curl version requirement ( #684 )
...
to allow building against RHEL 9's system curl
2022-08-18 01:13:38 +02:00
WerWolv
1ddd3ea2b9
fix: Custom pattern include paths not working correctly
2022-08-18 00:30:02 +02:00
WerWolv
55b877d5e0
fix: Region validity check not working correctly with non-zero base address
...
Fixes #683
2022-08-17 16:28:44 +02:00
WerWolv
e779285be4
feat: Added basic ability to interrupt long running tasks
2022-08-17 16:15:36 +02:00
WerWolv
aa01d58b33
ui: Increase window size when a bigger font is being used
2022-08-16 11:49:07 +02:00
WerWolv
0c0caf6942
fix: Restarting ImHex not working correctly
2022-08-16 11:48:37 +02:00
WerWolv
0e2c1f1355
fix: Syntax errors
2022-08-16 00:39:56 +02:00
WerWolv
29e970fd81
fix: Out of bounds strlen read
2022-08-16 00:29:53 +02:00
WerWolv
43ab72dcb8
fix: Undefined behaviour in helper functions
2022-08-16 00:12:28 +02:00
WerWolv
6b62a1963e
fix: Some occurrences of undefined behaviour
2022-08-15 21:08:09 +02:00
WerWolv
03daf0c95b
fix: Unavailable address displaying on intel hex provider
2022-08-14 22:38:01 +02:00
WerWolv
7d5b17d5c9
build: Added option to use NFD system library
2022-08-14 14:53:27 +02:00
WerWolv
78785ddc3c
fix: More provider display issues
2022-08-14 14:45:18 +02:00
WerWolv
85f0e04d0e
feat: Allow recents to also display other providers
2022-08-14 10:07:45 +02:00
WerWolv
b580691871
feat: Added Intel Hex and Motorola SREC provider ( #670 )
...
* feat: Initial implementation of an Intel Hex provider
* fix: Reading of bytes from intel hex files
* lang: Added localization for new provider
* ui: Only show file name in intel hex provider name
* feat: Added Motorola SREC provider
2022-08-12 15:11:27 +02:00
WerWolv
d55c59c796
feat: Added close button for welcome screen
2022-08-10 10:28:40 +02:00
WerWolv
5c13cf9dbf
sys: Added support for providers with unreadable regions
2022-08-10 09:26:48 +02:00
WerWolv
19a0dc80db
fix: Window title not always updating correctly
2022-08-10 00:11:16 +02:00
WerWolv
a3132b7d13
build: Fixed system llvm linking errors
2022-08-09 14:59:58 +02:00
WerWolv
0192c791ce
sys: Updated llvm demangler, now supports D-Lang and Rust symbols
2022-08-09 13:51:03 +02:00
WerWolv
b1e93fda4b
sys: Format settings file more prettily
2022-08-09 09:39:04 +02:00
WerWolv
966f3b8597
sys: Replace existing bad project system with a much better one ( #663 )
...
* sys: Initial effort to replace existing project files with a better system
* sys: Added back marking provider as dirty
* sys: Remove git commit information from project files
* sys: Format data processor save file nicely
* fix: Automatic pattern loading not working correctly
* ui: Added warning popup when closing a provider with modifications
Closes #604
* sys: Fixed build issues
* tests: Removed useless debug logs
* patterns: Updated pattern language
* sys: Added log message when crashing with a signal
* sys: Make sure abnormal termination handlers are being called more reliably
2022-08-08 21:23:52 +02:00
WerWolv
423e23e3c0
fix: Windows native theme detection not working correctly
2022-08-08 12:57:51 +02:00
WerWolv
2c740cab06
sys: Added select region command
2022-08-08 12:57:44 +02:00
WerWolv
f221d0f430
fix: Properly place config files in .../imhex/config on Linux
2022-08-07 23:27:15 +02:00
Bernard Teo
d8d3a315a4
build: Update nfd-extended to get correct feature test detection ( #661 )
2022-08-07 15:32:56 +02:00
WerWolv
f62ca307b0
ui: Streamline region selection in different views
...
Fixes #660
2022-08-07 12:20:40 +02:00
WerWolv
69d000488e
api: Added api function to create pattern
2022-08-06 22:29:59 +02:00
WerWolv
88f8bb9848
sys: Updated to new pattern language library structure
2022-08-06 21:38:09 +02:00
WerWolv
7d93c54444
build: Updated nfd-extended to prevent linking of macOS 11 framework
2022-08-06 14:33:23 +02:00
WerWolv
a97f853110
fix: More search issues
2022-08-06 13:16:53 +02:00
WerWolv
3dc5f0e2be
fix: Buffered Reader not reading last byte
...
Closes #653
2022-08-06 13:07:02 +02:00