WerWolv
7562e8b172
patterns: Fixed #include not properly searching all include folders
2021-10-19 21:42:04 +02:00
WerWolv
929437c159
patterns: Added global variables
2021-10-19 18:33:59 +02:00
WerWolv
1b66c84303
patterns: Fixed [[name]] attribute setting variable name instead of display name
2021-10-18 09:57:26 +02:00
WerWolv
9b1c09818c
patterns: Fixed accessing global scope items through the parent keyword
2021-10-17 21:49:33 +02:00
WerWolv
46ba46ce9d
build/plugins: Added initial support for Rust plugins ( #327 )
...
* build: Added initial support for Rust plugins
* github: Install correct rust version
* github: Fixed rustup command
* github: Fix swapped win/linux commands
* github: Install linux rust toolchain on Linux
* github: Add rustup parameters to correct command
* build: libimhex-rust -> hex
* rust-plugins: Disable optimization to export functions correctly
* build: Use cdylib instead of dylib
* build: Fixed rust building and artifact copying
* build: Fixed installing plugins
* build: Fix copying and installing on Windows
* github: Added windows debugging
* github: Use curl instead of wget
* github: Added debug on failure
* github: Update path variable with rust toolchain path
* build/github: Set rust location so cmake can find it
* build: Remove leftovers
* api: Added rust wrappers for the ImHexAPI
* rust: Fixed compile flags with older gcc/clang
* build: Enable concepts for cxx.rs
* build: Explicitly set compiler for cxx.rs
* rust: Added imgui-rs to libimhex-rust
* rust: Export functions with double underscore prefix on mac
* rust: Export functions adjusted for ABI
* Add Rust target folder to gitignore
* Add vendored imgui-rs copy
* Add Context::current() to vendored imgui-rs
* Fix libimhex not exporting cimgui symbols
* Simplify plugin export mangling
* build: Fixed cimgui linking
* build: Only specify --export-all-symbols on Windows
* Add context setting to Rust plugins
* rust: Cleanup
* deps: Update curl
Co-authored-by: jam1garner <8260240+jam1garner@users.noreply.github.com>
2021-10-16 11:37:29 +02:00
WerWolv
3e5d6cf88c
patterns: Added padding expressions in bitfields.
...
Closes #326
2021-10-14 20:28:21 +02:00
WerWolv
b12cd66679
patterns: Make global scope available for use in custom types
2021-10-11 22:01:15 +02:00
WerWolv
aac1a37a3f
patterns: Limit number of characters displayed in a string pattern
2021-10-11 20:59:14 +02:00
WerWolv
140234aef3
patterns: Fixed using declaration parsing
2021-10-10 15:38:58 +02:00
WerWolv
ec9715f326
patterns: Added for loops
2021-10-10 13:47:48 +02:00
WerWolv
69ca14bf46
patterns: Allow function variables to be assigned immediately
2021-10-10 13:05:32 +02:00
WerWolv
0226f3d047
patterns: Fixed color
attribute taking BGR instead of RGB
2021-10-09 23:38:00 +02:00
Kuruyia
72ec6baf79
sys: Fix macOS compilation (as of 2dc1886
) ( #317 )
...
* sys: Updated curl to latest version
* sys: Fix macOS compilation
* ui: Fix splash screen OpenGL init for macOS
* sys: Fix std::min compile errors
* git: Re-enabled macos workflow
* sys: Remove includes of the range library
* build: Find OpenGL using CMake
* sys/build: Fix bundled plugins on macOS
* build: Copy plugins to bundle when creating a bundle
* build: Fixup bundled plugins
* sys: Search for plugins in the bundle instead of in Application Support
* sys: Allow resources to be placed in multiple directories on macOS
* build: Output built plugins to the plugins/ directory when not creating a bundle on macOS
* sys: Fix Application Support paths on macOS
* sys: Define ftruncate64 on macOS
* sys: Fix absolute value computation for std::string::at on macOS
Co-authored-by: WerWolv <werwolv98@gmail.com>
2021-10-09 23:07:58 +02:00
WerWolv
2dc1886ee9
patterns: Fixed wrong offsets when passing custom types to functions
2021-10-08 21:39:30 +02:00
WerWolv
a29e3789d2
patterns: If a main function exists, automatically call it
2021-10-08 18:47:05 +02:00
xtex
17db605b17
i18n: Chinese(Simplified) ( #316 )
...
* i18n: Chinese(Simplified)
* i18n: Chinese(Simplified)
fix: half-width symbol
* i18n: Chinese(Simplified)
2021-10-08 13:26:14 +02:00
WerWolv
7498a72f70
patterns: Fixed null bytes being included in read strings
2021-10-07 21:47:39 +02:00
WerWolv
241bbd80bc
ui: Fixed pattern data view lang name overlap
2021-10-07 20:34:18 +02:00
WerWolv
2e05845410
ui: Improved command palette
2021-10-07 16:25:59 +02:00
WerWolv
a67263fa27
patterns: Added basic file i/o functions
2021-10-07 14:49:49 +02:00
WerWolv
6d8b7bef09
patterns: Added button to abort evaluation
2021-10-07 11:34:46 +02:00
WerWolv
3e30f75e7b
patterns: Fixed endian pragma not working
2021-10-06 15:19:32 +02:00
WerWolv
7eb4b40dc7
patterns: Fixed multi-variable decl crash
2021-10-05 22:08:05 +02:00
WerWolv
e3a6ac548b
pattern: Make current data offset in attributes point to start address of pattern
2021-10-05 21:55:30 +02:00
WerWolv
044e65eb20
sys: Fixed non-existing files being created in Read mode
2021-10-05 18:47:10 +02:00
WerWolv
545604da63
sys: Fixed reading empty file as string crashing
2021-10-05 18:46:57 +02:00
WerWolv
4b9aff5b29
patterns: Allow str to be used in function bodies
2021-10-04 20:26:34 +02:00
WerWolv
3543fa4caa
patterns: Fixed pattern limitting dangling pointer
2021-10-03 23:07:33 +02:00
WerWolv
51a98736e8
tests: Fixed compile errors
2021-10-03 12:32:58 +02:00
WerWolv
12a8cadcfe
patterns: Limit max number of patterns
...
Can be overriden with the pattern_limit pragma
Further improves situation with #313
2021-10-02 15:22:38 +02:00
WerWolv
aef959854f
patterns: Correctly reset data offset each evaluation
...
Fixes a bug mentioned in #313
2021-10-02 13:41:56 +02:00
WerWolv
d3e3de3fa2
ux: Improved dropped file loading; Added magic db loading
2021-09-30 12:29:03 +02:00
WerWolv
194bc3e5be
settings: Add option for auto-loading patterns
2021-09-30 12:00:11 +02:00
WerWolv
a9e3db0464
patterns: Fixed inlined variable drawing
2021-09-29 20:51:57 +02:00
WerWolv
7978964995
ui: Centered "No bookmarks" text
2021-09-27 23:19:41 +02:00
WerWolv
d5ca4c4f28
patterns: Fixed pointer name displaying
2021-09-27 20:16:23 +02:00
WerWolv
08c2e1cd4e
patterns: Added [[transform]] and [[pointer_base]] attributes
2021-09-27 18:32:48 +02:00
WerWolv
888976873a
patterns: Added [[inline]] attribute
2021-09-27 13:31:10 +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
ae9f4fa876
patterns: Increased highlighting performance
2021-09-26 02:23:27 +02:00
WerWolv
e3dd5900e2
patterns: Added parse_int and parse_float functions
2021-09-26 02:23:10 +02:00
WerWolv
aab865fe25
patterns: Fix member access inside if body
2021-09-26 02:22:50 +02:00
WerWolv
62656f4c51
tests: Added pointer test
2021-09-25 23:31:37 +02:00
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
9dc62e1469
patterns: Added std::http::get
2021-09-25 16:24:08 +02:00
WerWolv
55c0cb66e3
patterns: Ignore comments inside strings
2021-09-25 16:23:51 +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
f5bd0b7971
patterns: Moved std::str to std::string
2021-09-25 00:04:54 +02:00
WerWolv
42d9753bdb
patterns: Fixed std::str::substr
2021-09-25 00:04:40 +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
KokaKiwi
ee26839292
build: Fix system libraries usage ( #308 )
...
Signed-off-by: KokaKiwi <kokakiwi+git@kokakiwi.net>
2021-09-23 22:01:38 +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
85b8698e35
patterns: Add std::mem::read_string
2021-09-21 23:29:30 +02:00
WerWolv
9dd555f111
build: Added minimum library versions to cmake
2021-09-21 22:21:43 +02:00
WerWolv
7df1ff07a7
lang: Added diffing view localization
2021-09-21 22:06:30 +02:00
xtex
eb779c5986
i18n: more zh_CN, fix: crashes when connecting with no COM port, feat: remove View
suffix for view menu ( #305 )
...
* fix: crashes when connecting with no COM port
* feat: remove `View` suffix for view menu
* i18n: add more to Chinese(Simplified)
* Revert "Merge branch 'master' of github.com:xtexChooser/ImHex"
This reverts commit 8afcfe8f9d
, reversing
changes made to 7651ad6661
.
2021-09-21 21:30:52 +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
a7ebf1f60e
build: Adjust old file name in cmake
2021-09-21 03:20:17 +02:00
WerWolv
6ab0ec547c
ui: Make footer items jump around less
2021-09-21 03:10:09 +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
a302448b76
tools: Fixed regex replacer
2021-09-20 23:50:37 +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
xtex
5edc0b876c
i18n: Chinese(Simplified) ( #303 )
...
* feat(i18n): add Chinese(Simplified) translations
* feat: keep console window on Windows for debug builds
* feat(18n)
* feat(i18n): improve Chinese translation
* fix: unify the line terminators
* feat(build): formatting
* fix: exclude from SysWow64 for 64bits windows
* Revert "fix: exclude from SysWow64 for 64bits windows"
This reverts commit a6d66a4a56
.
* Revert "feat: keep console window on Windows for debug builds"
This reverts commit 9fd4699c9f
.
2021-09-20 18:41:22 +02:00
WerWolv
131699d309
ui: Fixed language list crashing
2021-09-20 12:44:12 +02:00
WerWolv
bf493c5763
ui: Add follow system theme option
2021-09-16 22:23:51 +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
132fc181cd
patterns: Fix bitfields with unaligned sizes
...
Correction for #292
2021-09-12 14:28:13 +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
36f51c427b
ui: Added "Quit ImHex" option to File menu
2021-09-10 21:48:51 +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
31ef6173a1
lang: Updated Italian translation. Thanks to @CrustySean
2021-09-10 15:30:49 +02:00
WerWolv
f0697679f4
sys: Add local search for plugins and resources on Linux
2021-09-10 15:30:49 +02:00
WerWolv
8657cf26de
fix: Data inspector causing crashes when failing to decode UTF-16 chars
2021-09-10 15:30:49 +02:00
WerWolv
1a9e3944dc
patterns: snake_case all built-in functions
2021-09-09 23:18:10 +02:00
WerWolv
1da2ca1eb8
ui: Added ImHex's official documentation to help menu and welcome screen
2021-09-09 23:17:55 +02:00