1
0
mirror of synced 2024-11-30 18:34:29 +01:00
Commit Graph

1164 Commits

Author SHA1 Message Date
WerWolv
744b9f574c Fixed node links not connecting properly anymore 2021-01-31 18:59:47 +01:00
WerWolv
f259e347aa Greatly improved Nodes API 2021-01-31 16:11:25 +01:00
WerWolv
5a59bc2abc Added casting and control flow nodes to data processor 2021-01-31 01:42:29 +01:00
WerWolv
8dd76a6cc8 Added error messages for file opening issues 2021-01-31 00:05:07 +01:00
WerWolv
073eee8fab Further improved UI/UX of welcome screen 2021-01-30 23:02:03 +01:00
WerWolv
5c7a529fa1
Added Data Processor using Nodes (#152)
* Added imnodes

* Added basic data processor view. Still needs to be cleaned up

* Make sure all attached links get properly removed when a Node is deleted

* Cleanup and API exposing

* Added data provider overlays and integrate them with the data processor

* Optimized data processing

* Node UI enhancements

* Added support for all themes to the nodes editor

* Improved data processor context menus

* Fixed data processor context menu showing up everywhere

* Make hex editor context menu behave the same as data processor one

* Add different node pin types and prevent incompatible ones from being connected

* Don't require explicitly marking node as end node

* Fixed plugin copying

* Added some more nodes
2021-01-30 22:39:06 +01:00
WerWolv
a3d71b1dca Added support for Home, End, PageUp and PageDown in hex view
Resolves #148
2021-01-28 13:23:50 +01:00
WerWolv
319068eef5 Implemented Open File and Preferences button in Welcome screen 2021-01-27 14:26:24 +01:00
WerWolv
49b5deb9f4 Added back missing semicolons... 2021-01-27 01:11:14 +01:00
WerWolv
8990fad85a Make File Dialogs less hacky 2021-01-27 00:44:10 +01:00
WerWolv
ab2458bdf4 Make links in About page actual hyperlinks 2021-01-27 00:00:20 +01:00
WerWolv
b58bc685e1 Extra formatting check in hex::format 2021-01-25 13:36:29 +01:00
WerWolv
51d9d37d1a Fixed pattern language being basically completely broken 2021-01-23 14:00:09 +01:00
WerWolv
8ed03051c3 Properly statically link libwinpthread and cleanup plugins cmake files 2021-01-22 22:44:45 +01:00
WerWolv
104000fbc4 Huge refactoring of builtin features into an external plugin 2021-01-22 18:01:42 +01:00
WerWolv
0aacf1d07f Fixed 128 bit byte swapping 2021-01-21 22:55:04 +01:00
WerWolv
b6e2bbc434 Added comments attribute 2021-01-21 20:55:10 +01:00
WerWolv
9a97c6c328 Use big endian rgb8 color for color attribute 2021-01-21 18:01:52 +01:00
WerWolv
e04511269a Fixed one compile issue on macos 2021-01-21 17:49:46 +01:00
WerWolv
ff566aa51f Added attributes syntax to pattern language
This comes with two experimental attributes for variables called `name` and `color`
2021-01-21 17:49:30 +01:00
WerWolv
f4dd79ab43 Fixed link errors in libimhex 2021-01-21 15:12:53 +01:00
WerWolv
9c055ea1fd Allow printing of 128 bit values 2021-01-21 14:53:44 +01:00
WerWolv
046a5866bf Added alignTo builtin function
Resolves #143
2021-01-21 12:10:49 +01:00
WerWolv
22d75ed856 Improved logging and aborting from pattern language builtin functions 2021-01-21 11:36:58 +01:00
WerWolv
a641f27b7e Improved events API 2021-01-21 10:53:12 +01:00
WerWolv
f0ab13ebc3 Added "dollar operator" to get the current offset 2021-01-20 22:56:31 +01:00
WerWolv
31426a289c Added modulus operator 2021-01-20 22:55:57 +01:00
WerWolv
78a87baa94 Added addressof, sizeof and nextAfter builtin functions.
Resolves #144
2021-01-20 22:54:46 +01:00
WerWolv
b2648afc7b Improve bookmark API 2021-01-20 20:16:24 +01:00
WerWolv
be738eb5e7 Improved byte highlighting 2021-01-20 18:10:40 +01:00
WerWolv
740619529c Allow most modal popups to be closed with escape 2021-01-14 17:01:44 +01:00
WerWolv
441f4a9fc7 Removed more static inline variables in headers to avoid duplication 2021-01-13 23:08:41 +01:00
WerWolv
9ade281a92 Use hex::derived_from for compatibility with macos 2021-01-13 17:41:16 +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
0e32dd667d Made tools registry more in-line with the other APIs 2021-01-13 13:18:03 +01:00
WerWolv
d15307a237 Added data inspector to content registry 2021-01-13 01:24:27 +01:00
WerWolv
ac76e47b94 No more liblib 2021-01-12 23:49:51 +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
90e0aa83d8 Added registry for command palette commands 2021-01-11 23:02:55 +01:00
WerWolv
81652e3650 libimhex needs nlohmann json too 2021-01-11 21:51:52 +01:00
WerWolv
688e921034 Added nlohmann json to imhex directly
Once again Ubuntu is fucking outdated by over a year for literally no reason. Fuck this
2021-01-11 21:42:21 +01:00
WerWolv
e27993aff2 Added custom event registry 2021-01-11 21:11:03 +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
3aeb9f31b0 Mark toEngineeringString inline to prevent linker errors 2021-01-11 00:36:24 +01:00
WerWolv
73e259d6e7 Added engineering display mode to calculator 2021-01-11 00:27:00 +01:00
Nobutaka Mantani
d9db8401e2
Fix build on FreeBSD (#126)
* Fix build on FreeBSD

* Use more generic way to search libcrypto

* Integrate macro for FreeBSD
2021-01-10 18:52:00 +01:00
WerWolv
e572c5776d Only define is_integral and is_signed for 128 bit types on non-apple
Clang on macos already defines is_integral and is_signed for 128 bit types
2021-01-07 18:07:56 +01:00
WerWolv
b47736b595 Properly include headers for memcpy 2021-01-07 01:58:56 +01:00
WerWolv
2dbfbe70af Fixed rvalue value evaluation 2021-01-07 01:56:15 +01:00
WerWolv
b902cc6531 Go back to static linking on WIndows
Everything except python is once again statically linked
2021-01-06 19:19:01 +01:00
WerWolv
eed7ef1ac3 Make sure important data is synchronized between ImHex and plugins 2021-01-04 00:19:56 +01:00
WerWolv
94a7d3116a Fix mac build with missing concepts header 2021-01-03 16:20:28 +01:00
WerWolv
4189700a3b Use hex::integral instead of std::integral concept 2021-01-02 22:24:52 +01:00
WerWolv
9a968674d6 Fixed compile on macos 2021-01-02 20:49:55 +01:00
WerWolv
18c9340950 Removed duplicated code from hex.hpp 2021-01-02 20:46:44 +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