Commit graph

154 commits

Author SHA1 Message Date
WerWolv b2648afc7b Improve bookmark API 2021-01-20 20:16:24 +01:00
WerWolv eb066b3539 Refactored libimhex to and includes to better represent it as library 2021-01-13 17:28:27 +01:00
WerWolv 4328a335ec Added color picker for Bookmarks and highlighting in the hex view 2021-01-13 14:11:23 +01:00
WerWolv d15307a237 Added data inspector to content registry 2021-01-13 01:24:27 +01:00
WerWolv dc85616549 Hopefully fixed the whole plugin mess I started 2021-01-12 23:28:41 +01:00
WerWolv 84a6fff034 Refactored plugin system 2021-01-12 16:50:15 +01:00
WerWolv c09a8bca7f Language refactoring, added builtin function registry 2021-01-11 23:54:12 +01:00
WerWolv d68b931013 Added settings registry and settings menu 2021-01-11 20:31:40 +01:00
WerWolv 14adcc0e51 Added set base address function to hex editor
This resolves #19
2021-01-11 13:50:04 +01:00
WerWolv 60e1c23a6b Fixed pattern format strings 2021-01-11 09:14:32 +01:00
WerWolv f9039f4b34 Added hex editor view right click context menu 2021-01-10 23:59:36 +01:00
WerWolv b4ef19dac7 Fixed empty struct and union offset display 2021-01-10 19:43:21 +01:00
WerWolv dc6c1fa622 Fixed issues with struct and union members when using conditionals 2021-01-10 19:40:44 +01:00
WerWolv ad40c53eb2 Fixed enum parse/evaluate error and crash 2021-01-10 17:14:38 +01:00
WerWolv cf1fe04431 Fixed invalid type name in bitfields 2021-01-10 13:50:34 +01:00
WerWolv 8f16a733b9 Fixed bitfields behaving like they have no size. Fixes #127 2021-01-10 13:40:07 +01:00
WerWolv 7a8e923b41 Added print & warnAssert functions and a colored console 2021-01-09 23:48:42 +01:00
WerWolv e54dbcf574 Added assert function. Resolves #123 2021-01-09 21:47:52 +01:00
WerWolv c5d023822d Added functions with string literals as parameter 2021-01-09 21:47:52 +01:00
WerWolv e28d6e7451 Added string literals and improved character parsing 2021-01-09 21:47:52 +01:00
WerWolv 9f275cc84f Show evaluator errors in a console window instead of the first line 2021-01-09 21:47:52 +01:00
WerWolv 17ecdbf8ec Allow accessing of pointer values in mathematical expressions 2021-01-08 20:12:16 +01:00
WerWolv c505b5b9cb Fixed non-native endian on floats 2021-01-08 17:46:31 +01:00
WerWolv 69f4c6e5e9 Allow global variables to be accessed and used in expressions 2021-01-08 17:37:05 +01:00
WerWolv f84b661af7 Fixed pointers to built-in types and endian handling 2021-01-08 15:03:53 +01:00
WerWolv a41e91a731 Fixed floating point pattern displaying 2021-01-08 11:57:28 +01:00
WerWolv e48c61cf27 Hopefully fixed macos compile finally 2021-01-07 21:52:03 +01:00
WerWolv 08c802f733 Added unbounded char arrays for null-terminated strings 2021-01-07 21:16:34 +01:00
WerWolv f65c792191 Include unordered_map instead of map 2021-01-07 18:12:02 +01:00
WerWolv 5d1e53f469 Added boolean patterns 2021-01-07 17:34:50 +01:00
WerWolv bef20f7808 Added function calling as well as a few builtin functions 2021-01-07 15:37:37 +01:00
WerWolv 3f1d9ed366 Added ternary condition operator 2021-01-07 01:19:54 +01:00
WerWolv b30bb21646 Added unary operators +, -, ~ and ! 2021-01-07 00:41:06 +01:00
WerWolv acfd5aa02f Added if, else and else if to pattern language 2021-01-07 00:02:51 +01:00
WerWolv 7fd0d87d56 Allow enum entries to be accessed via the scope resolution operator 2021-01-06 16:30:30 +01:00
WerWolv ceee311efa Added support for more literal types and scope resolution operator parsing 2021-01-05 14:42:08 +01:00
WerWolv f5250d6bcf Fixed rvalues not evaluating correctly in nested structs 2021-01-04 16:13:03 +01:00
WerWolv eed7ef1ac3 Make sure important data is synchronized between ImHex and plugins 2021-01-04 00:19:56 +01:00
WerWolv c7c654d310 Improved data inspector displaying, added additional number formats 2021-01-03 17:12:20 +01:00
WerWolv e770fcd197 Fixed includes on unix 2021-01-03 15:09:12 +01:00
WerWolv 5a0f965125 Use file mapping instead of of normal file IO
This drastically reduces disk reads and improves performance
2021-01-03 15:00:16 +01:00
WerWolv 206be8b110 Greatly improved hex editor byte highlighting performance 2021-01-03 02:37:37 +01:00
WerWolv 78ef07cf0f
Pattern Language rewrite (#111)
* Initial parser rewrite effort

Lexer and Token cleanup, Parser started over

* Greatly improved parser syntax

* Reimplemented using declarations and variable placement parsing

* Added back unions and structs

* Added enums as well as mathematical expressions (+, -, *, /, <<, >>, &, |, ^)

* Code style improvement

* Implemented arrays and fixed memory issues

* Fixed more memory issues in parser, reimplemented validator, evaluator and patterns

* Fixed builtin types, arrays and reimplemented strings

* Improved error messages

* Made character a distinct type, used for chars and strings

* Implemented padding, fixed arrays

* Added bitfields

* Added rvalue parsing, no evaluating yet

* Added .idea folder to gitignore

* Fixed build on MacOS

* Added custom implementation of integral concept if not available

* Rebased onto master

* Fixed array variable decl crash

* Added rvalues and dot syntax

* Lower case all pattern language error messages

* Fixed typo in variable name

* Fixed bug where preprocessor would not ignore commented out directives

* Reimplemented pointers

* Fixed rebase issues
2021-01-02 20:27:11 +01:00
WerWolv 144e30775f Fixed duplicated utils.hpp 2020-12-27 15:54:12 +01:00
WerWolv f74eff8934 Add support for custom providers via plugins 2020-12-27 15:39:06 +01:00
WerWolv 8ba96904a6 More plugin support work 2020-12-27 14:12:53 +01:00
WerWolv dbbc525174
Added Plugin support (#102)
* Build refactoring and initial plugin support

* Possibly fixed linux / mac build

* Added libdl to libglad build script

* Add glfw to imgui dependencies

* Refactored common functionality into "libimhex" for plugins

* Added plugin loading and example plugin

* Added proper API for creating a custom view and a custom tools entry with plugins
2020-12-22 18:10:01 +01:00
WerWolv 2c1759ce0a Unified OS and arch checking defines 2020-12-21 12:38:30 +01:00
WerWolv 7f5a32a83b Improved hex::format 2020-12-21 12:36:43 +01:00
WerWolv 15b3860f83 Fixed data inspector not updating properly in all cases 2020-12-21 11:23:57 +01:00