WerWolv
bf493c5763
ui: Add follow system theme option
2021-09-16 22:23:51 +02:00
WerWolv
1df64031c8
patterns: Fix bitfield member access
2021-09-12 20:29:05 +02:00
WerWolv
ea2d181741
utils: Fix file wrapper
2021-09-12 20:29:05 +02:00
WerWolv
132fc181cd
patterns: Fix bitfields with unaligned sizes
...
Correction for #292
2021-09-12 14:28:13 +02:00
WerWolv
86096708da
patterns: Fixed bitfields not respecting endian setting
...
Various other improvements. Fixes #292
2021-09-12 13:08:52 +02:00
WerWolv
635f0606e0
patterns: Fixed enums not counting properly
2021-09-11 23:14:22 +02:00
WerWolv
8396e40fa0
tests: Added initial test structure
2021-09-11 14:41:18 +02:00
WerWolv
ccac2e497d
sys: Finish implementing constants view and its store
2021-09-09 12:58:44 +02:00
WerWolv
a8c9e96b72
fix: Inverted logic when checking for libmagic error
2021-09-09 01:56:48 +02:00
WerWolv
4b41ae6980
sys: Include correct file for size_t
2021-09-08 16:41:00 +02:00
WerWolv
e74c0f5cf5
sys: Tons of long overdue cleanup
...
- std::string -> const std::string& where needed
- Added a FileIO abstraction class
- Fixed recent files not updating
- Removed localization file from global include
- Renamed lang to pattern_language/pl
- Renamed EventFileDropped to RequestFileOpen
2021-09-08 15:18:24 +02:00
WerWolv
d7707bae62
fix: Multiple definitions of literals
2021-09-06 23:08:02 +02:00
WerWolv
ee7c6a91a7
patterns: Add optimization for arrays of statically sized types
2021-09-06 20:35:38 +02:00
WerWolv
6879cf765f
sys: Cleanup libmagic mess
2021-09-06 16:15:05 +02:00
WerWolv
f29febdc86
patterns: Fix unions causing crashes on cleanup
2021-09-03 10:30:40 +02:00
WerWolv
4b40546750
views: Add simple pattern, library and magics store
2021-09-03 02:34:40 +02:00
WerWolv
fcfaaacdcc
patterns: Fix enum constant resolution
2021-09-03 02:33:45 +02:00
WerWolv
68d72eac16
sys: Move imhex path resolution away from utils
2021-09-03 02:33:15 +02:00
WerWolv
82cb7917e4
ui: Added half floats to data inspector
2021-09-01 00:23:45 +02:00
WerWolv
5d4b998be4
sys: Added missing optional header include
2021-08-31 20:03:08 +02:00
WerWolv
5f63db4a34
ui: Add first unifont plane by default
2021-08-31 15:22:00 +02:00
WerWolv
32eddbf581
ui: Fix wide characters and utf-8 display in inspector
2021-08-30 19:12:46 +02:00
WerWolv
ef9f0cfca7
sys: Fixed broken concept
2021-08-30 19:12:19 +02:00
WerWolv
633fa7213a
sys: More compile time improvements
2021-08-29 22:15:18 +02:00
WerWolv
02d31d2d2a
sys: First attempt at reducing build times
2021-08-29 14:18:45 +02:00
WerWolv
f60f9f9fc9
patterns: Fix endian settings not applying to char16
2021-08-29 11:10:48 +02:00
WerWolv
12f975fa70
tools: Added input buttons to the calculator
2021-08-28 18:15:20 +02:00
WerWolv
c1751f39ae
tools: Added wikipedia term definition search
2021-08-28 16:02:53 +02:00
WerWolv
3138d2c4a2
tools: Added Anonfiles uploader
2021-08-28 00:45:59 +02:00
WerWolv
d0aec62997
patterns: Move builtin functions to namespace. Add string functions
2021-08-27 09:56:20 +02:00
WerWolv
c053d54d10
patterns: Add multi-variable declarations
2021-08-25 17:54:47 +02:00
WerWolv
9289ebf4c9
patterns: Initial namespace support
2021-08-25 17:07:01 +02:00
WerWolv
d3a227d0bc
sys: Fixed open webpage command, added run command
2021-08-22 21:43:31 +02:00
WerWolv
6e0249d6ea
sys: Bye bye glad
2021-08-21 15:03:44 +02:00
WerWolv
72cf94106c
ui: Add interface scaling setting. Closes #7 , #283
2021-08-21 13:55:21 +02:00
WerWolv
8ad0239bca
ui/ux: Implement toolbar button functions
2021-08-21 13:53:50 +02:00
WerWolv
37d2d58d2f
ui: Added toolbar
2021-08-21 00:52:11 +02:00
WerWolv
b66304fc91
ui: Use borderless window on Windows
2021-08-18 22:36:46 +02:00
WerWolv
4d677f430b
sys: Save project backup if ImHex crashes
2021-08-17 13:41:44 +02:00
WerWolv
f8ed89ee2c
patterns: Allow bitfield fields to be accessed as like other members
2021-08-16 23:05:23 +02:00
WerWolv
0093d4418e
ui: Added icons to welcome screen
2021-08-04 14:01:24 +02:00
WerWolv
d345508195
fix: ImHex should crash less often now when exiting
2021-07-31 17:11:10 +02:00
WerWolv
e8d77f8269
sys: Embed resources into rodata
2021-07-31 17:10:19 +02:00
WerWolv
330b4504dc
sys: Updated curl, libfmt, nativefiledialog and yara to latest version
2021-07-28 13:23:50 +02:00
WerWolv
2ccf8e777c
sys: Added create file and resize option
...
Fixes #172
2021-07-27 21:07:36 +02:00
WerWolv
405b97e4d3
fix: is_integral and is_signed causing errors on >= gcc 11
...
This fixes #265
2021-07-19 01:11:28 +02:00
WerWolv
35c7f826bc
views: Added constants search view
2021-06-26 01:18:33 +02:00
WerWolv
1e1cdb0ef0
patterns: Fixed multiple parse and evaluate issues
2021-06-22 16:04:47 +02:00
WerWolv
fde5b39495
patterns: Added function while loops
2021-06-21 00:21:38 +02:00
WerWolv
c9fae32ddf
patterns: Added function if statements, improved returns
2021-06-20 23:46:13 +02:00
WerWolv
7f0bdc95da
patterns: Added support for declaring custom functions
2021-06-20 21:22:31 +02:00
WerWolv
b4b2c41b34
patterns: Added hidden
attribute
2021-06-17 23:42:43 +02:00
WerWolv
21f8fb4090
patterns: Added while statement for array sizing
2021-06-17 23:13:58 +02:00
WerWolv
0d11f4460f
nodes: Allow data processor content to be stored in project files
2021-05-18 18:06:47 +02:00
WerWolv
ee2b412a10
nodes: Added primitive saving and loading mechanism
...
Not fully integrated yet. Also doesn't yet save any node settings, just nodes and links
2021-05-17 23:17:58 +02:00
WerWolv
4029c333ed
patterns: Added UTF-16 character type and string parsing
2021-05-02 20:13:37 +02:00
WerWolv
32d47456de
patterns: Added array index syntax to rvalues and turned addressof/sizeof into operators
2021-04-21 10:17:42 +02:00
WerWolv
1f2fe6b93d
sys: Merge splash screen and ImHex into one application
...
This fixes so many issues the previous implementation had, especially on Unix
2021-04-20 21:46:48 +02:00
WerWolv
ebbbcafe5c
sys: Implement more functionality into splash screen ( #223 )
...
* build: Add libcurl
* build: Stop the whole static linking on Windows mess. There's no use anymore
* sys: Added update detector and moved some startup tasks to splash screen
* sys: Updated ImHex icon
* fix: Settings button on welcome page once again works
* build: Fix build on Linux
* sys: Fixed splash window not searching all paths for resources
2021-04-18 20:24:42 +02:00
WerWolv
93e1c4c4e8
sys: Drastically revamp the relative vs absolute address mess
2021-04-16 21:50:15 +02:00
WerWolv
771bb22962
sys: Improve shortcut api
2021-04-16 19:43:54 +02:00
WerWolv
a3b3eeb56a
ui: Improve how pointers are displayed in pattern data view
2021-04-16 15:59:13 +02:00
WerWolv
386ae7d8c3
fix: Using pointers no longer crashes ImHex
2021-04-15 15:56:39 +02:00
WerWolv
2e338ebc01
fix: Properly localize Undo and Redo
2021-04-14 09:03:41 +02:00
WerWolv
8314b147d5
patterns: Fix sign extension for signed types.
...
Fixes #216
2021-04-13 22:30:57 +02:00
WerWolv
cab3410d23
patterns: Fix members getting added multiple times
2021-04-13 22:08:02 +02:00
WerWolv
45b00c8b5f
patterns: Make placements respect set base addresses and discard out of bounds variables
2021-04-13 21:50:24 +02:00
WerWolv
950598911c
patterns: Allow usage of types within itself and used out-of-order
2021-04-13 20:40:21 +02:00
WerWolv
8a485575f5
ui: Added recent files to File menu
2021-04-13 08:41:59 +02:00
WerWolv
959988a670
fix: Stop all views from opening automatically on launch
2021-04-12 21:08:36 +02:00
WerWolv
907f25c231
patterns: Added parent
keyword to access members of the parent struct
2021-04-12 20:49:37 +02:00
WerWolv
2f19ff768d
sys: Improved ScopeGuard syntax a lot
2021-03-31 22:54:43 +02:00
WerWolv
a2c80e3fd6
patterns: Fixed enum constant literals not being interpreted as correct type
2021-03-31 22:10:06 +02:00
WerWolv
356273d71e
bug: Fix binary value in base converter being shifted by one
...
Fixes #212
2021-03-30 18:38:28 +02:00
WerWolv
147aefc7e5
ux: Add close file button to file menu
2021-03-29 22:44:35 +02:00
WerWolv
0cc7004d0d
ux: Show currently loaded file name in window name
2021-03-29 22:44:23 +02:00
WerWolv
d805d976a6
sys: Replace the terrible event manager with a much better one
2021-03-27 11:36:36 +01:00
WerWolv
688ca01b1b
ux: Added undo and redo option
2021-03-26 21:43:24 +01:00
WerWolv
2a7b698a3d
prv: Make data overlays work everywhere, not just in the hex editor view
2021-03-21 14:50:47 +01:00
WerWolv
ef747cc4c0
sys: Explicitly delete views so destructors get called properly
2021-03-16 22:44:37 +01:00
WerWolv
f34b946ea9
patterns: Fixed eval_depth default and preprocessor errors
2021-03-15 08:11:19 +01:00
WerWolv
8423f78586
nodes/patterns: Fixed crashes when recursion occurred
2021-03-07 13:20:33 +01:00
Robin Lambertz
4f98149fa7
api: Fix various crashes on bad settings data. ( #186 )
...
getSetting now returns a straight nlohmann::json instead of an optional.
If the data isn't present, it will return a json null.
All accesses to the settings will first check that the data has the
expected type.
2021-03-06 12:40:29 +01:00
WerWolv
4a908a314f
lang: Added German translation, improved language handling
2021-03-03 22:26:17 +01:00
WerWolv
188723e888
sys: Replace printf formatting with libfmt
2021-03-03 19:58:22 +01:00
WerWolv
a91afdb6ae
ux: Allow copying value from data inspector
2021-03-02 22:09:38 +01:00
WerWolv
b6939654b3
lang: Fix color attribute not being applied to array entries
2021-03-02 14:23:06 +01:00
WerWolv
3e6865ffa9
sys/build: Properly support per-system metadata file paths ( #181 )
...
* sys: Move away from metadata paths next to executable in the application
Build system doesn't properly install / pack stuff yet
* build: Updated README to contain better install instructions
* sys: Search for imhex resource files in ~/Application Support
* sys: MAX_PATH -> PATH_MAX
* sys: Seach for imhex resource files in Application Support using NSFileManager (#180 )
* sys: Allow for multiple file search paths
Also use install prefix instead of just /usr on Linux
* build: Fixed IMHEX_INSTALL_PREFIX macro definition
* build: Fix duplicate switch entry on Linux
* docs: Updated readme to properly reflect new paths and dependencies
* sys: Install files in their proper paths on linux (#183 )
* Install files in their proper paths on linux
* Only create user directories
* Follow the XDG specification on linux
XDG specification specifies how to find config and data directories on
linux systems. Specifically, it says this:
- Data should be written to $XDG_DATA_HOME
- Config should be written to $XDG_CONFIG_HOME
- Data should be read from $XDG_DATA_HOME:$XDG_DATA_DIRS
- Config should be read from $XDG_CONFIG_HOME:$XDG_CONFIG_DIRS
The default values are this:
- XDG_DATA_HOME: $HOME/.local/share
- XDG_CONFIG_HOME: $HOME/.config
- XDG_DATA_DIRS: /usr/share:/usr/local/share
- XDG_CONFIG_DIRS: /etc/xdg
Platforms with non-standard filesystems (like NixOS) will correctly set
up those environment variables, allowing softwares to work unmodified.
In order to make integration as simple as possible, we use a simple
header-only dependency called XDGPP which does all the hard work for us
to find the default directories.
* Look for plugins in all Plugin Paths
If the plugin folder was missing from one of the PluginPaths, we would
immediately stop loading plugins. We now keep looking even if one of the
path is missing.
Co-authored-by: Nichole Mattera <me@nicholemattera.com>
Co-authored-by: Robin Lambertz <unfiltered@roblab.la>
2021-03-01 08:56:49 +01:00
WerWolv
26b881e4c9
imgui: Fixed fontawesome
2021-02-25 21:50:57 +01:00
WerWolv
4a1de5d1cb
bookmarks: Added ability to lock bookmarks
2021-02-24 21:42:18 +01:00
WerWolv
0af8b8155f
ui/ux: Give up on custom ImGui file browsers and just use the system one
2021-02-22 23:36:13 +01:00
WerWolv
0a29f25330
ui: Open all views and create default layout on first launch
2021-02-21 13:49:03 +01:00
WerWolv
615a96f9d8
api: Improved documentation
2021-02-19 17:36:10 +01:00
WerWolv
0da508594b
ui/api: Added loaded plugin information to welcome screen
2021-02-19 13:22:12 +01:00
WerWolv
9900a51757
patterns: Fixed multiple severe memory leaks
...
#163 - probably not all yet
2021-02-19 10:51:30 +01:00
WerWolv
0e00555703
Added Footer and API for it and the welcome screen
2021-02-18 12:09:19 +01:00
WerWolv
df06dd49c5
Added better settings API that handles errors better
...
This fixes #161
2021-02-16 23:42:35 +01:00
WerWolv
b4c2f7d371
Implemented crude support for custom encodings via thingy files
...
Relevant issue: #26
2021-02-14 01:11:55 +01:00
WerWolv
424bba71f7
Fixed localization issues when using the content registry
2021-02-13 15:15:32 +01:00
WerWolv
36a4930b35
Implement localization all throughout ImHex
...
English only for now, additional languages will come in the future
2021-02-11 23:09:45 +01:00