1
0
mirror of synced 2024-12-21 12:05:54 +01:00
Commit Graph

1571 Commits

Author SHA1 Message Date
WerWolv
85b8698e35 patterns: Add std::mem::read_string 2021-09-21 23:29:30 +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
6ab0ec547c ui: Make footer items jump around less 2021-09-21 03:10:09 +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
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
987840e480 sys: Fixed settings not initializing correctly 2021-09-12 13:59:23 +02:00
WerWolv
635f0606e0 patterns: Fixed enums not counting properly 2021-09-11 23:14:22 +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
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
19c367b540 ui: Added strings to data inspector 2021-09-01 02:01:50 +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
7285537d73 tools: Various fixes and improvements 2021-08-28 18:15:47 +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
c56159da89 sys: Only restart ImHex when a relevant setting changed 2021-08-27 09:57:03 +02:00
WerWolv
d0aec62997 patterns: Move builtin functions to namespace. Add string functions 2021-08-27 09:56:20 +02:00
jam1garner
76f550d9e7
ui: Format floats sensibly (#281)
* Use general form with scientific notation as fallback (i.e. `{:G}`)
2021-08-25 20:01:01 +02:00
WerWolv
d3a227d0bc sys: Fixed open webpage command, added run command 2021-08-22 21:43:31 +02:00
WerWolv
c84c106b17 ui: Add tips of the day 2021-08-22 21:11:01 +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
0f45bef980 sys: Update ImGui and ImPlot 2021-08-21 00:51:50 +02:00
WerWolv
41db0bfafa ui: Fixed welcome screen banner and hyperlink rendering 2021-08-16 23:55:06 +02:00
WerWolv
330b4504dc sys: Updated curl, libfmt, nativefiledialog and yara to latest version 2021-07-28 13:23:50 +02:00
WerWolv
07ad9ed772 tools: Added UNIX permissions calculator 2021-07-27 22:46:37 +02:00
WerWolv
af1d687758 fix: ImHex using way too much resources still
Now frames are rendered at only 5 FPS if no input events are being processed. Thanks a lot to @Tey. Properly fixes #189 now
2021-07-27 21:50:49 +02:00
WerWolv
7f0bdc95da patterns: Added support for declaring custom functions 2021-06-20 21:22:31 +02:00
WerWolv
21f8fb4090 patterns: Added while statement for array sizing 2021-06-17 23:13:58 +02:00
WerWolv
35b92ac453 fix: Remove windows includes from built-in plugin files 2021-06-07 20:11:24 +02:00
WerWolv
e0112472d6 ui: Moved FPS counter to footer 2021-06-07 18:13:54 +02:00
WerWolv
44000d2518 sys: Move windows-only footer items to the windows plugin 2021-06-06 19:17:51 +02:00
WerWolv
fee176dc72 nodes: Added data size node 2021-05-18 21:24:33 +02:00
WerWolv
0d11f4460f nodes: Allow data processor content to be stored in project files 2021-05-18 18:06:47 +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
72eac9f149 ux: Fixed goto to work with base addresses and added absolute goto 2021-04-16 19:44:52 +02:00
WerWolv
6223b26888 ui: Added hex editor highlight opacity setting 2021-03-29 23:07:18 +02:00
WerWolv
ee10322603 nodes: Added buffer combine, slice and repeat nodes 2021-03-07 13:44:22 +01:00
WerWolv
af444999bf ui: Added used memory footer item on Windows 2021-03-07 13:20:55 +01:00
WerWolv
d4265f16eb node: Added arithmetic nodes (add, sub, mul, div, mod) 2021-03-06 14:46:47 +01:00
WerWolv
6cba868e20 sys: Added FPS limit, some power saving
#189
2021-03-06 13:09:20 +01:00
Robin Lambertz
4f98149fa7
api: Fix various crashes on bad settings data. (#186)
getSetting now returns a straight nlohmann::json instead of an optional.
If the data isn't present, it will return a json null.

All accesses to the settings will first check that the data has the
expected type.
2021-03-06 12:40:29 +01:00
WerWolv
188723e888 sys: Replace printf formatting with libfmt 2021-03-03 19:58:22 +01:00
WerWolv
4e86d874a7 sys: Fixed one missed api call update on non-windows 2021-03-02 23:15:15 +01:00
WerWolv
a91afdb6ae ux: Allow copying value from data inspector 2021-03-02 22:09:38 +01:00
WerWolv
3a7a3a6e9c lang: Add dataSize function to get size of loaded data 2021-03-02 13:55:43 +01:00
WerWolv
424bba71f7 Fixed localization issues when using the content registry 2021-02-13 15:15:32 +01:00
WerWolv
36a4930b35 Implement localization all throughout ImHex
English only for now, additional languages will come in the future
2021-02-11 23:09:45 +01:00
WerWolv
9227fba474 Revamped language system right away again to allow plugins to use it 2021-02-11 00:35:30 +01:00
WerWolv
bd5da4a36e Added Language setting and localization wrapper 2021-02-10 18:17:09 +01:00
WerWolv
a926b7b912 Added buffer constant node 2021-02-08 23:17:30 +01:00
WerWolv
179e222919 Fixed command palette and added /web command 2021-02-08 19:56:04 +01:00
WerWolv
4d7d449cea Added base converter to tools window 2021-02-05 00:17:56 +01:00
WerWolv
ac100936c7 Added comments node 2021-02-04 12:46:38 +01:00
WerWolv
5eb289f1fe Added proper error messages to data processor 2021-02-04 01:14:05 +01:00
WerWolv
91d05c5de6 Added AES decryption node 2021-02-04 00:21:53 +01:00
WerWolv
ac019a7d7e Fixed build on Unix, move crypto wrapper to libimhex 2021-02-03 11:54:41 +01:00
WerWolv
8603ec1c99 Fixed 64 bit value display in data inspector once again 2021-02-01 01:12:23 +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
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
104000fbc4 Huge refactoring of builtin features into an external plugin 2021-01-22 18:01:42 +01:00