WerWolv
b323d711cf
patterns: Respect endianess when accessing rvalues
2021-09-25 22:46:16 +02:00
WerWolv
9b4cf917d9
patterns: Fixed recursive types
2021-09-25 22:03:55 +02:00
WerWolv
ba97573f93
patterns: Fixed pointers not working correctly
2021-09-25 18:45:23 +02:00
WerWolv
a8526585cb
patterns: Fixed string access
2021-09-25 14:52:34 +02:00
WerWolv
3850349eae
patterns: Fixed enum entry scope resolution
2021-09-25 14:52:17 +02:00
WerWolv
71be77c54b
patterns: Fix boolean operations and cast syntax
2021-09-24 12:15:50 +02:00
WerWolv
93c1fbd65e
patterns: Fixed function parameters being set in the wrong order
2021-09-24 11:34:06 +02:00
WerWolv
2edd6cd6c4
patterns: Added inheritance for structs
2021-09-24 00:47:34 +02:00
WerWolv
6713f65040
patterns: Added auto
type
2021-09-23 23:43:16 +02:00
WerWolv
e57481b87c
tools: Added file shredder, splitter and combiner
2021-09-22 17:56:06 +02:00
WerWolv
755642862f
patterns: Added recursion and array size limit pragma
2021-09-22 00:45:04 +02:00
WerWolv
d1c05174b6
patterns: Allow casting integers to str
2021-09-21 23:45:45 +02:00
WerWolv
c051f5d3e7
patterns: Rewrite evaluation engine ( #306 )
...
* patterns: Rewrite most of the evaluator to mainly use polymorphism instead of just RTTI
* patterns: Fixed a couple of AST memory leaks
* patterns: Parse string operations correctly
* patterns: Various fixes and cleanup
* patterns: Implement primitive function definitions
Function parameters now need to provide their type in the definition
* patterns: Added function variable definition and assignment
* patterns: Added remaining function statements
* patterns: Added unsized and while-sized arrays
* patterns: Added multi variable declarations to functions
* patterns: Added std::format built-in function
* patterns: Allow passing custom types to functions
* patterns: Added attributes and new "format" attribute
* patterns: Use libfmt for std::print instead of custom version
* patterns: Remove unnecessary string compare function
* pattern: Fix preprocessor directives
* patterns: Fix unit tests
* patterns: Added cast expression
* patterns: Handle endianess in function parameters
* patterns: Added casting to different endian
* patterns: Added 'str' type for functions
2021-09-21 21:29:18 +02:00
WerWolv
ed9e463550
ui: Added diff view
2021-09-21 19:54:13 +02:00
WerWolv
26a0352851
tests: Fixed unit test compiling
2021-09-21 02:48:41 +02:00
WerWolv
8631cb0c2a
sys: Allow multiple files to be loaded simultaneously
2021-09-21 02:29:54 +02:00
WerWolv
fef072f721
ui: Moved hex editor settings to settings menu
2021-09-20 23:40:36 +02:00
WerWolv
c5cd6422c6
fix: Settings menu closing when changing language
2021-09-20 20:42:30 +02:00
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