WerWolv
aef959854f
patterns: Correctly reset data offset each evaluation
...
Fixes a bug mentioned in #313
2021-10-02 13:41:56 +02:00
WerWolv
08c2e1cd4e
patterns: Added [[transform]] and [[pointer_base]] attributes
2021-09-27 18:32:48 +02:00
WerWolv
5db608c3fc
ui: Fixed automatic pattern loading, added better pattern browse popup
2021-09-26 21:18:25 +02:00
WerWolv
7da8a5b1d8
patterns: Unified expression body parsing
2021-09-26 18:27:18 +02:00
WerWolv
9b4cf917d9
patterns: Fixed recursive types
2021-09-25 22:03:55 +02:00
WerWolv
55c0cb66e3
patterns: Ignore comments inside strings
2021-09-25 16:23:51 +02:00
WerWolv
3850349eae
patterns: Fixed enum entry scope resolution
2021-09-25 14:52:17 +02:00
WerWolv
17d5a5309a
patterns: Fixed setting variables in functions
2021-09-25 00:03:32 +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
3c2c2b003f
patterns: Fixed unary expressions in parenthesis
2021-09-24 01:55:00 +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
d9134f7fe1
store: Added support for downloading tar'd folders
2021-09-23 22:56:49 +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
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
d3fb00d441
sys: Allow resources to be placed in appdata on windows
2021-09-13 23:55:50 +02:00
WerWolv
01670e5e85
patterns: Ignore superfluous semicolons
2021-09-13 10:48:45 +02:00
WerWolv
82cc528c49
api: Fix loading of string array settings (Recent files)
2021-09-12 20:29:05 +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
987840e480
sys: Fixed settings not initializing correctly
2021-09-12 13:59:23 +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
a5274daeaa
patterns: Fixed padding not padding
2021-09-10 22:12:37 +02:00
WerWolv
b3d102419b
sys: Fixed opening custom protocols in the web browser
2021-09-10 21:42:35 +02:00
WerWolv
f96e529230
patterns: Fixed parent keyword
2021-09-10 21:00:18 +02:00
WerWolv
717f78ce7f
patterns: Fix negative array sizes causing crashes
2021-09-10 17:33:02 +02:00
WerWolv
f0697679f4
sys: Add local search for plugins and resources on Linux
2021-09-10 15:30:49 +02:00
WerWolv
a8c9e96b72
fix: Inverted logic when checking for libmagic error
2021-09-09 01:56:48 +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
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
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
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
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