Commit Graph

533 Commits

Author SHA1 Message Date
WerWolv 00236de741 ui: Added spinner to splash screen 2021-05-26 00:11:22 +02:00
WerWolv 6219743c82 ux: Fix a bunch of weird behaviour in the data information view 2021-05-25 23:47:38 +02:00
WerWolv 4de8990b5c fix: Update prompt button not appearing properly 2021-05-24 23:34:17 +02:00
WerWolv 21525a7261 ui: Added ImHex directories table to about page 2021-05-23 23:35:04 +02:00
WerWolv c760ccb5bb ui: Fixed broken header text in about popup 2021-05-23 23:07:49 +02:00
WerWolv 7cca646e3f ui/ux: Put capstone into SKIPDATA mode to always disassemble everything
If invalid data is reached, instead of stopping it will now insert a `.byte 0x00, 0x00, 0x00, 0x00` "instruction"
2021-05-23 23:04:20 +02:00
WerWolv 1aa21b8a2d ui: Display correct offsets in hex editor header when base address is not aligned 2021-05-23 22:52:09 +02:00
WerWolv 143cdbd44b ux: Update region setting after ticking "Match Selection" checkbox 2021-05-23 22:46:33 +02:00
WerWolv fe977f4ba9 ui: Improve confusing "Quit application" popup text
This fixes #234
2021-05-21 23:59:28 +02:00
WerWolv 4ccd963037 ui: Properly display git info in help menu in release builds again
This fixes #233
2021-05-21 23:53:16 +02:00
WerWolv b1c597e662 fix: ImHex crashing when default folders couldn't get created
This fixes #238
2021-05-21 23:46:36 +02:00
WerWolv b6f76ad8ed ux: Fixed MIME-based pattern loading popup not working properly
Fixed issues addressed in #225
2021-05-18 18:27:36 +02:00
WerWolv 0d11f4460f nodes: Allow data processor content to be stored in project files 2021-05-18 18:06:47 +02:00
WerWolv ee2b412a10 nodes: Added primitive saving and loading mechanism
Not fully integrated yet. Also doesn't yet save any node settings, just nodes and links
2021-05-17 23:17:58 +02:00
WerWolv cf67adfa42 patterns: Added $ to keyword highlight list 2021-05-17 23:17:00 +02:00
WerWolv 4029c333ed patterns: Added UTF-16 character type and string parsing 2021-05-02 20:13:37 +02:00
WerWolv 0c6bd73996 fix: After a init task failure, future tasks didn't run at all 2021-04-22 00:20:16 +02:00
WerWolv d177d69724 fix: ImHex no longer behaves weirdly or crashes when no plugins are loaded 2021-04-21 23:31:51 +02:00
WerWolv 64e35886b7 fix: Possibly fix crashes on macos 2021-04-21 20:06:48 +02:00
WerWolv 7f75f814e3 ui: Added some more icons in various places 2021-04-21 19:27:05 +02:00
WerWolv 6527c942c2 ui: Fixed FPS display not being visible 2021-04-21 19:26:50 +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 1f2fe6b93d sys: Merge splash screen and ImHex into one application
This fixes so many issues the previous implementation had, especially on Unix
2021-04-20 21:46:48 +02:00
WerWolv d7811e2c55 sys: Inverted logic in imhex args checking 2021-04-18 20:27:16 +02:00
WerWolv ebbbcafe5c
sys: Implement more functionality into splash screen (#223)
* build: Add libcurl

* build: Stop the whole static linking on Windows mess. There's no use anymore

* sys: Added update detector and moved some startup tasks to splash screen

* sys: Updated ImHex icon

* fix: Settings button on welcome page once again works

* build: Fix build on Linux

* sys: Fixed splash window not searching all paths for resources
2021-04-18 20:24:42 +02:00
WerWolv 24c7f1d5b7 ui: Added really fancy splash screen (updater in the future) 2021-04-17 15:46:26 +02:00
WerWolv 93e1c4c4e8 sys: Drastically revamp the relative vs absolute address mess 2021-04-16 21:50:15 +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 fddb790c70 fix: Pasting values properly works now 2021-04-16 19:44:22 +02:00
WerWolv 771bb22962 sys: Improve shortcut api 2021-04-16 19:43:54 +02:00
WerWolv 59dd372ec8 ux: Added support for pasting bytes 2021-04-16 17:01:01 +02:00
WerWolv 7795872be1 ux: Fix jumping to addresses when base address is not 0x00 2021-04-16 13:24:34 +02:00
WerWolv 2e338ebc01 fix: Properly localize Undo and Redo 2021-04-14 09:03:41 +02:00
WerWolv 45b00c8b5f patterns: Make placements respect set base addresses and discard out of bounds variables 2021-04-13 21:50:24 +02:00
WerWolv 8a485575f5 ui: Added recent files to File menu 2021-04-13 08:41:59 +02:00
WerWolv 1e6b493b41 ux: Add slider to entropy plot 2021-04-12 22:20:05 +02:00
WerWolv 959988a670 fix: Stop all views from opening automatically on launch 2021-04-12 21:08:36 +02:00
WerWolv 907f25c231 patterns: Added `parent` keyword to access members of the parent struct 2021-04-12 20:49:37 +02:00
ThisALV 0168a3b741
Fix: ignore non-existent magic directories (#215) 2021-04-03 17:08:16 +02:00
WerWolv 2f19ff768d sys: Improved ScopeGuard syntax a lot 2021-03-31 22:54:43 +02:00
WerWolv 6223b26888 ui: Added hex editor highlight opacity setting 2021-03-29 23:07:18 +02:00
WerWolv 147aefc7e5 ux: Add close file button to file menu 2021-03-29 22:44:35 +02:00
WerWolv 0cc7004d0d ux: Show currently loaded file name in window name 2021-03-29 22:44:23 +02:00
WerWolv f263685e44 bug: Fix loading of bookmark name and comment from project file
Fixes #211
2021-03-27 22:54:26 +01:00
WerWolv d805d976a6 sys: Replace the terrible event manager with a much better one 2021-03-27 11:36:36 +01:00
WerWolv 688ca01b1b ux: Added undo and redo option 2021-03-26 21:43:24 +01:00
WerWolv 42461c467f ux: Properly use current key layout for shortcuts 2021-03-26 21:40:35 +01:00
WerWolv 2c3a6d38ab nodes: Properly reset data overlays when errors occurred 2021-03-21 14:52:21 +01:00
WerWolv ce22028781 imgui: Fix floating windows creating their own task bar items 2021-03-21 14:51:21 +01:00
WerWolv 2a7b698a3d prv: Make data overlays work everywhere, not just in the hex editor view 2021-03-21 14:50:47 +01:00
WerWolv ef747cc4c0 sys: Explicitly delete views so destructors get called properly 2021-03-16 22:44:37 +01:00
WerWolv 2326e090af sys: Properly delete data provider on exit 2021-03-09 19:32:04 +01:00
WerWolv 8423f78586 nodes/patterns: Fixed crashes when recursion occurred 2021-03-07 13:20:33 +01:00
WerWolv d4265f16eb node: Added arithmetic nodes (add, sub, mul, div, mod) 2021-03-06 14:46:47 +01:00
WerWolv cadd4e5c2b sys: Lower down FPS to 5 when ImHex loses focus
#189
2021-03-06 13:36:20 +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 4a908a314f lang: Added German translation, improved language handling 2021-03-03 22:26:17 +01:00
WerWolv 188723e888 sys: Replace printf formatting with libfmt 2021-03-03 19:58:22 +01:00
WerWolv a91afdb6ae ux: Allow copying value from data inspector 2021-03-02 22:09:38 +01:00
WerWolv b5912c59cc sys: Last one 2021-03-02 16:45:39 +01:00
WerWolv a9635bb78a sys: Missed one 2021-03-02 14:36:29 +01:00
WerWolv 9481c70ecd sys: ImU64 is not 64 bit everywhere... 2021-03-02 14:32:18 +01:00
WerWolv c84ac0bc10 sys: Fix compile on Unix 2021-03-02 14:22:47 +01:00
WerWolv de327cf3a4 ui: Make use of ImPlot to drastically improve information view 2021-03-02 13:49:45 +01:00
WerWolv 2e4eaf8d33 ux: Fixed region selection only selecting one byte 2021-03-02 13:49:23 +01:00
WerWolv f0b392575f ui: Added ImPlot library 2021-03-02 13:48:23 +01:00
Robin Lambertz 293fc17aa6
events: Fix passing path through argv (#187) 2021-03-01 20:45:13 +01:00
WerWolv 7838d420d8 ui/ux: Updated dependencies list, make them hyperlinks 2021-03-01 08:59:29 +01:00
WerWolv 3e6865ffa9
sys/build: Properly support per-system metadata file paths (#181)
* sys: Move away from metadata paths next to executable in the application

Build system doesn't properly install / pack stuff yet

* build: Updated README to contain better install instructions

* sys: Search for imhex resource files in ~/Application Support

* sys: MAX_PATH -> PATH_MAX

* sys: Seach for imhex resource files in Application Support using NSFileManager (#180)

* sys: Allow for multiple file search paths

Also use install prefix instead of just /usr on Linux

* build: Fixed IMHEX_INSTALL_PREFIX macro definition

* build: Fix duplicate switch entry on Linux

* docs: Updated readme to properly reflect new paths and dependencies

* sys: Install files in their proper paths on linux (#183)

* Install files in their proper paths on linux

* Only create user directories

* Follow the XDG specification on linux

XDG specification specifies how to find config and data directories on
linux systems. Specifically, it says this:

- Data should be written to $XDG_DATA_HOME
- Config should be written to $XDG_CONFIG_HOME
- Data should be read from $XDG_DATA_HOME:$XDG_DATA_DIRS
- Config should be read from $XDG_CONFIG_HOME:$XDG_CONFIG_DIRS

The default values are this:

- XDG_DATA_HOME: $HOME/.local/share
- XDG_CONFIG_HOME: $HOME/.config
- XDG_DATA_DIRS: /usr/share:/usr/local/share
- XDG_CONFIG_DIRS: /etc/xdg

Platforms with non-standard filesystems (like NixOS) will correctly set
up those environment variables, allowing softwares to work unmodified.

In order to make integration as simple as possible, we use a simple
header-only dependency called XDGPP which does all the hard work for us
to find the default directories.

* Look for plugins in all Plugin Paths

If the plugin folder was missing from one of the PluginPaths, we would
immediately stop loading plugins. We now keep looking even if one of the
path is missing.

Co-authored-by: Nichole Mattera <me@nicholemattera.com>
Co-authored-by: Robin Lambertz <unfiltered@roblab.la>
2021-03-01 08:56:49 +01:00
WerWolv 31e5ec7bc3
Add Yara rule matching interface (#178)
* build: Added YARA as submodule

* ui: Added basic yara rules matching interface

* build: Make libyara link libpthread on Unix

* ui: Add jump-to feature to yara matches list

* yara: Add more modules and patch yara to support mbedtls crypto

* yara: Started to fix scanning of bigger data

* yara: Fixed implementation

* ui: Improved yara matcher interface and added localization

* build: Ignore changed files in yara submodule

* yara: Fixed rules matching agianst entire file

* yara: Properly handle compiler errors
2021-02-26 13:35:19 +01:00
@xAndy 372981920e
Don't dlclose nullptrs in plugins (#179)
* dont dlclose nullptrs in plugins

this fixes a segmentation fault at startup when dlclose is called with a nullptr

* Style fixes

Co-authored-by: WerWolv <werwolv98@gmail.com>
2021-02-26 12:49:33 +01:00
WerWolv 4c9459def3 ui: Various ui improvements 2021-02-25 21:51:12 +01:00
WerWolv 205d88cd23 ui: Added custom theme colors, improved look of description button 2021-02-25 00:17:41 +01:00
WerWolv 02a63639da ui: Add font awesome icons font 2021-02-24 22:42:26 +01:00
WerWolv 4a1de5d1cb bookmarks: Added ability to lock bookmarks 2021-02-24 21:42:18 +01:00
WerWolv 209d33ca57 ui: Fixed bookmark name and comment not accepting changes 2021-02-24 21:24:43 +01:00
WerWolv 0af8b8155f ui/ux: Give up on custom ImGui file browsers and just use the system one 2021-02-22 23:36:13 +01:00
WerWolv 7f97416e6e ui/ux: Improve data analyzer interface, make it run asynchronously 2021-02-22 13:08:06 +01:00
WerWolv 3cbbfb1782 lang: Localize provider data information strings 2021-02-22 13:07:25 +01:00
WerWolv ced9706c5b ui: Turned spinner into ImGui widget 2021-02-22 13:06:53 +01:00
WerWolv 0e2add204b ux: Disassemble asynchronously 2021-02-22 11:56:33 +01:00
WerWolv 490c7e8fec ux: Search for strings asynchronously 2021-02-22 10:16:58 +01:00
WerWolv 0a29f25330 ui: Open all views and create default layout on first launch 2021-02-21 13:49:03 +01:00
WerWolv 5532a0673f ui: Localized new strings 2021-02-20 22:41:17 +01:00
WerWolv 9b9c040d2d ui: Run pattern language runtime asynchronously, added compile button 2021-02-20 22:38:31 +01:00
WerWolv 0da508594b ui/api: Added loaded plugin information to welcome screen 2021-02-19 13:22:12 +01:00
WerWolv 89643d1538 lang: Added some strings that went missing 2021-02-19 11:16:09 +01:00
WerWolv e8027293bf Disabled multi viewports support on Linux as it didn't work well
Also cleanup and fixing a typo
2021-02-18 17:10:56 +01:00
WerWolv 0e00555703 Added Footer and API for it and the welcome screen 2021-02-18 12:09:19 +01:00
WerWolv e5d664bc07 Fixed bookmark creation in huge files 2021-02-17 14:57:32 +01:00
WerWolv 460d5a9386 Various fixes and improvements 2021-02-17 14:47:25 +01:00
WerWolv df06dd49c5 Added better settings API that handles errors better
This fixes #161
2021-02-16 23:42:35 +01:00
WerWolv 5286a2d9ae Added some safety checks to thingy file parser 2021-02-14 12:32:48 +01:00
WerWolv 714b62049c Improved thingy file parsing 2021-02-14 12:05:58 +01:00
WerWolv 1eb6f781b3 Added support for displaying non-ASCII characters in decoder view
This requires the user to provide a font that supports these characters as well (for example unifont). The default ImGui font does not have them.
2021-02-14 11:51:05 +01:00
WerWolv b4c2f7d371 Implemented crude support for custom encodings via thingy files
Relevant issue: #26
2021-02-14 01:11:55 +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 4a8e59a95b Fixed multiple definitions of _lang user defined literal 2021-02-10 23:38:51 +01:00
WerWolv bd5da4a36e Added Language setting and localization wrapper 2021-02-10 18:17:09 +01:00
WerWolv 179e222919 Fixed command palette and added /web command 2021-02-08 19:56:04 +01:00
WerWolv cfb4b5bd51 I wish I was good at C++ (Properly fix plugin system) 2021-02-07 14:57:13 +01:00
WerWolv 8e7bfb7f1a Fixed some popups not appearing when no views are open 2021-02-07 14:29:13 +01:00
WerWolv 15bcf71aaf Removed debug prints 2021-02-07 14:28:53 +01:00
WerWolv 5b38c43b7e Fixed plugin loading and closing issues mainly on Windows
This fixes #87
2021-02-07 13:40:47 +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 fe7ae9450b Clear node and link selection in data processor when right clicking 2021-02-04 00:22:14 +01:00
WerWolv ac019a7d7e Fixed build on Unix, move crypto wrapper to libimhex 2021-02-03 11:54:41 +01:00
WerWolv 8c306a5d3d Make views get auto deleted 2021-02-03 00:56:33 +01:00
WerWolv 785ecb8a78 Switch from openssl/libcrypto to mbedtls 2021-02-02 23:11:23 +01:00
WerWolv 29f50bb70b Fixed search selection and hex editor shortcuts 2021-02-02 00:39:35 +01:00
WerWolv 83bbde8d29 Fixed multiple memory leaks 2021-02-01 20:07:57 +01:00
WerWolv d69eee55dd Added recent files selection to Welcome screen 2021-02-01 19:03:45 +01:00
WerWolv 0a3cfe001d Properly added back console window on Windows debug builds 2021-01-31 22:05:06 +01:00
WerWolv f259e347aa Greatly improved Nodes API 2021-01-31 16:11:25 +01:00
WerWolv b330829f09 Allow detaching of links by dragging 2021-01-31 11:00:35 +01:00
WerWolv 8dd76a6cc8 Added error messages for file opening issues 2021-01-31 00:05:07 +01:00
WerWolv b4cbfa02cf Added latest release link to welcome screen 2021-01-31 00:04:33 +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 bc6d33e4fb Fleshed out welcome screen 2021-01-27 12:04:42 +01:00
WerWolv 004d99fc3a Get rid of leftovers 2021-01-27 08:50:50 +01:00
WerWolv 47ca69b80e Added very basic Welcome screen 2021-01-27 01:10:13 +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 9ff92aeb40 Add hacky way to get console output back on windows 2021-01-25 13:36:29 +01:00
WerWolv b8e383368d Make pattern popup when loading a file list all available patterns 2021-01-23 14:01:23 +01:00
WerWolv 51d9d37d1a Fixed pattern language being basically completely broken 2021-01-23 14:00:09 +01:00
WerWolv 8e46751e98 Improved about page 2021-01-23 00:46:50 +01:00
WerWolv 104000fbc4 Huge refactoring of builtin features into an external plugin 2021-01-22 18:01:42 +01:00
WerWolv 7f4cc6e5c0 Updated ImGui to 1.80
It works. It just works. Updating anything else usually takes hours and ImGui took literally 2 minutes. ocornut is amazing
2021-01-21 23:09:43 +01:00
WerWolv 3e3a5273c0 Don't allow navigation when the pattern editor is focused 2021-01-21 17:48:24 +01:00
Cam Sinclair f9fa58a6ea
Enable ImGui keyboard navigation (#138) 2021-01-21 15:02: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 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 cd200b978b Properly set the initial bookmark name 2021-01-13 22:53:33 +01:00
WerWolv 0a8368d639 Close base address popup when clicking Set 2021-01-13 22:53:21 +01:00
WerWolv eb066b3539 Refactored libimhex to and includes to better represent it as library 2021-01-13 17:28:27 +01:00
WerWolv c7d179d68e Use the ID stack the way it was meant to be used 2021-01-13 16:55:42 +01:00
WerWolv c1ad816211 Added hover tooltip for bookmarks in hex editor 2021-01-13 16:45:31 +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 df50f1934e Fixed display of most signed integers in the data inspector 2021-01-12 23:39:31 +01:00
WerWolv dc85616549 Hopefully fixed the whole plugin mess I started 2021-01-12 23:28:41 +01:00
WerWolv 8ae15abb85 Fixed plugin unloading segfault 2021-01-12 16:56:14 +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 46388f4707 Added experimental support for Light and Classic theme
MY EYES
2021-01-11 20:32: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 7784fca0d4 Always display Pattern Data table header 2021-01-11 09:53:20 +01:00
WerWolv 68bd5569ce Don't show Plugin Views menu if there are no views 2021-01-11 09:50:51 +01:00
WerWolv 8b19f0c3c0 Improved UTF-8 display in data inspector 2021-01-11 00:34:50 +01:00
WerWolv 73e259d6e7 Added engineering display mode to calculator 2021-01-11 00:27:00 +01:00
WerWolv f9039f4b34 Added hex editor view right click context menu 2021-01-10 23:59:36 +01:00
George Hopkins 5fb046ad1f
Show commit on about page only if available (#132) 2021-01-10 22:57:57 +01:00
WerWolv 7b089a1f2f Fixed unions not advancing offset 2021-01-10 22:57:04 +01:00
WerWolv 867faef496 Fixed invalid applying of define replacements 2021-01-10 22:52:58 +01:00
WerWolv 557313ae1e Fixed boolean OR never being parsed 2021-01-10 22:52:28 +01:00
WerWolv e4c2049975 Fixed off-by-one error for array bound check 2021-01-10 22:52:12 +01:00
WerWolv dc6c1fa622 Fixed issues with struct and union members when using conditionals 2021-01-10 19:40:44 +01:00
WerWolv 9fe8a0f491 Fixed enums not counting towards size of structs / enums 2021-01-10 18:24:58 +01:00
WerWolv 43d6b48cab Fixed rvalue endianess 2021-01-10 17:18:14 +01:00
WerWolv ad40c53eb2 Fixed enum parse/evaluate error and crash 2021-01-10 17:14:38 +01:00
WerWolv 8f16a733b9 Fixed bitfields behaving like they have no size. Fixes #127 2021-01-10 13:40:07 +01:00
WerWolv bc4991f915 Improved type consistency throughout the language 2021-01-10 00:40:57 +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
Philipp Kovalev 575903f921
fix(lang): fixes occurrence index in findSequnce built-in fucntion (#120) 2021-01-09 18:48:34 +01:00
WerWolv 17ecdbf8ec Allow accessing of pointer values in mathematical expressions 2021-01-08 20:12:16 +01:00
WerWolv 80e0782fdb Various UI/UX improvements 2021-01-08 19:34:29 +01:00
WerWolv 99f37504de Force reload the current pattern when loading a new file 2021-01-08 17:38:43 +01:00
WerWolv 69f4c6e5e9 Allow global variables to be accessed and used in expressions 2021-01-08 17:37:05 +01:00
WerWolv fd98db1b70 Fixed error line number mismatch when including files or using comments 2021-01-08 17:14:35 +01:00
WerWolv 205f3a327e Fixed endian specifier not applying 2021-01-08 16:56:39 +01:00
WerWolv f84b661af7 Fixed pointers to built-in types and endian handling 2021-01-08 15:03:53 +01:00
WerWolv 56330686be Fixed crash when creating an enum 2021-01-08 11:58:07 +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 7e4babaca8 Use custom versions of concepts for macos support 2021-01-07 20:06:28 +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 2dbfbe70af Fixed rvalue value evaluation 2021-01-07 01:56:15 +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 2248cd96b1 Fixed opening of files with non-ASCII characters in path
Fixes #116
2021-01-06 17:22:12 +01:00