Commit Graph

533 Commits

Author SHA1 Message Date
WerWolv 7799bbb57a ui: Improved borderless window resizing and moving 2021-09-26 21:16:49 +02:00
WerWolv ae9f4fa876 patterns: Increased highlighting performance 2021-09-26 02:23:27 +02:00
WerWolv c8114347dc patterns: Fixed project only being marked dirty when evaluating 2021-09-24 01:55:30 +02:00
WerWolv 6713f65040 patterns: Added `auto` type 2021-09-23 23:43:16 +02:00
WerWolv 82ee4ad4ca yara: Fixed major memory leak and added include support 2021-09-23 22:57:19 +02:00
WerWolv d9134f7fe1 store: Added support for downloading tar'd folders 2021-09-23 22:56:49 +02:00
WerWolv cd33376c07 ui: Added custom font size setting 2021-09-22 23:42:52 +02:00
WerWolv 5601aab043 fix: Close file option crashing 2021-09-22 12:58:49 +02:00
WerWolv 1b7a1852bc fix: Update prompt displaying even on current version 2021-09-22 12:57:40 +02:00
WerWolv 471ba80b4d ux: Properly evaluate pattern changes when already evaluating 2021-09-21 23:17:50 +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 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 fef072f721 ui: Moved hex editor settings to settings menu 2021-09-20 23:40:36 +02:00
WerWolv 46f196cb3f sys: Added debug function to crash ImHex 2021-09-20 20:48:08 +02:00
WerWolv 772b50fdfb fix: Missing include on Linux 2021-09-16 22:34:48 +02:00
WerWolv bf493c5763 ui: Add follow system theme option 2021-09-16 22:23:51 +02:00
Russ e1f410ceff
warnings: fix format-security warnings (#299) 2021-09-15 10:02:16 +02:00
WerWolv 222e9f6645 fix: File -> Resize crashing 2021-09-13 17:26:30 +02:00
WerWolv 987840e480 sys: Fixed settings not initializing correctly 2021-09-12 13:59:23 +02:00
WerWolv 36f51c427b ui: Added "Quit ImHex" option to File menu 2021-09-10 21:48:51 +02:00
WerWolv 5c304c002b fix: Constants store page not getting cleared on reload
Fixes #290
2021-09-10 21:16:08 +02:00
WerWolv 1da2ca1eb8 ui: Added ImHex's official documentation to help menu and welcome screen 2021-09-09 23:17:55 +02:00
WerWolv ccac2e497d sys: Finish implementing constants view and its store 2021-09-09 12:58:44 +02:00
WerWolv 6ee8c37cf5 ui: Fixed duplicate store localization ids 2021-09-09 02:03:39 +02:00
WerWolv c605986e8a fix: Store download buttons only working in order 2021-09-09 01:57:11 +02:00
WerWolv 4cc637c0b2 sys: Finish up the online store 2021-09-08 17:22:54 +02:00
WerWolv 6cf8369a24 fix: Tips don't show again checkmark inversion 2021-09-08 16:40:44 +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 680587e050 sys: Massively improve string search memory usage 2021-09-06 22:45:55 +02:00
WerWolv ee7c6a91a7 patterns: Add optimization for arrays of statically sized types 2021-09-06 20:35:38 +02:00
WerWolv 6879cf765f sys: Cleanup libmagic mess 2021-09-06 16:15:05 +02:00
WerWolv 4b40546750 views: Add simple pattern, library and magics store 2021-09-03 02:34:40 +02:00
WerWolv 68d72eac16 sys: Move imhex path resolution away from utils 2021-09-03 02:33:15 +02:00
WerWolv 19c367b540 ui: Added strings to data inspector 2021-09-01 02:01:50 +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 1a157c7256 sys: Fixed variable name copy-paste 2021-08-29 22:17:43 +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 f60f9f9fc9 patterns: Fix endian settings not applying to char16 2021-08-29 11:10:48 +02:00
WerWolv a7e2c06bc4 sys: Better name for the pattern editor view 2021-08-28 21:51:33 +02:00
WerWolv 4b0b9acceb sys: Create all new directory structures in init 2021-08-28 16:29:15 +02:00
WerWolv a9a2ec7c7b sys: Properly trigger debugger in signal handler 2021-08-28 16:28:58 +02:00
WerWolv 16d9571743 sys: Mark project file as dirty when modifying pattern 2021-08-28 16:16:06 +02:00
WerWolv c1751f39ae tools: Added wikipedia term definition search 2021-08-28 16:02:53 +02:00
WerWolv e9c349fc55 ui: Correct some uses of ImGui::EndChild() 2021-08-28 14:22:02 +02:00
WerWolv 8dcd5c6e34 ui: Improve byte displaying in bookmarks 2021-08-28 01:47:26 +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 a7b9b185bb
ui: Update cheat sheet with recent changes (#278)
* Add Built-in functions section to cheat sheet

* Add Math Expressions section to cheat sheet

* Move variable placement to follow 'Structs' section

* Add undocumented built-in functions to cheat sheet
2021-08-25 19:54:59 +02:00
WerWolv 48b5262855 ui: Fix restoring window after minimized 2021-08-25 19:32:47 +02:00
WerWolv 9289ebf4c9 patterns: Initial namespace support 2021-08-25 17:07:01 +02:00
WerWolv a88cd4d23d ui: Improved welcome screen drawing 2021-08-22 22:11:55 +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 2362e7a11f sys: Enable logging colors on Windows, hide console
Console log can still be seen now when running ImHex through the console but the window won't pop up by default anymore
2021-08-22 20:24:42 +02:00
WerWolv 6e0249d6ea sys: Bye bye glad 2021-08-21 15:03:44 +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 5b84011888 ux: Only save a crash backup when there actually were any changes 2021-08-18 23:12:54 +02:00
WerWolv 63f4d553cc ui: Add tooltips to custom titlebar buttons 2021-08-18 23:12:27 +02:00
WerWolv b66304fc91 ui: Use borderless window on Windows 2021-08-18 22:36:46 +02:00
WerWolv 48f27c2174 sys: Added "Restore auto backup" popup on first launch after crash 2021-08-17 22:54:09 +02:00
WerWolv 4d677f430b sys: Save project backup if ImHex crashes 2021-08-17 13:41:44 +02:00
WerWolv 551da69a4c sys: Fixed file modification detection 2021-08-17 13:41:19 +02:00
WerWolv 218f284678 nodes: Move ImNodes initialization to window class 2021-08-17 13:39:46 +02:00
WerWolv d7c6451f53 nodes: Updated imnodes, added minimap 2021-08-17 13:38:59 +02:00
WerWolv 41db0bfafa ui: Fixed welcome screen banner and hyperlink rendering 2021-08-16 23:55:06 +02:00
WerWolv c75659db82 ui: Make splash screen DPI aware 2021-08-04 18:57:53 +02:00
WerWolv 0093d4418e ui: Added icons to welcome screen 2021-08-04 14:01:24 +02:00
jam1garner 68df6d37f7
fix: Ensure projects have .hexproj extension on save (#274) 2021-07-31 18:05:21 +02:00
WerWolv d345508195 fix: ImHex should crash less often now when exiting 2021-07-31 17:11:10 +02:00
WerWolv e8d77f8269 sys: Embed resources into rodata 2021-07-31 17:10:19 +02:00
WerWolv f4046fb8fc fix: Keyboard shortcuts didn't work. Added Select all menu item 2021-07-29 21:09:18 +02:00
WerWolv c6bd6d4a3b ui: Added banner to welcome screen, improved laggy animations 2021-07-29 00:39:58 +02:00
WerWolv 07ad9ed772 tools: Added UNIX permissions calculator 2021-07-27 22:46:37 +02:00
WerWolv fcb00292a5 fix: More invalid use of file io functions on Unix 2021-07-27 22:04:46 +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 d4e484e982 fix: File creation on Unix caused compile errors 2021-07-27 21:49:17 +02:00
WerWolv 2ccf8e777c sys: Added create file and resize option
Fixes #172
2021-07-27 21:07:36 +02:00
WerWolv 35c7f826bc views: Added constants search view 2021-06-26 01:18:33 +02:00
WerWolv 7f0bdc95da patterns: Added support for declaring custom functions 2021-06-20 21:22:31 +02:00
Foster Brereton ac53b4bcab
Add rpath to binary executable on macOS (#258)
* removing superfluous slash from paths

* Add a necessary rpath to the imhex binary

* add a little error handling to dlopen

* fall back on en-US if no language specified in prefs

* PR changes as per @WerWolv
2021-06-18 20:09:36 +02:00
WerWolv b4b2c41b34 patterns: Added `hidden` attribute 2021-06-17 23:42:43 +02:00
WerWolv 21f8fb4090 patterns: Added while statement for array sizing 2021-06-17 23:13:58 +02:00
WerWolv 8b7583e628 fix: Save As command was never executed 2021-06-08 23:04:28 +02:00
WerWolv fff91d555b ui/ux: Allow ImHex to redraw the screen while moving and resizing 2021-06-07 18:14:40 +02:00
WerWolv e0112472d6 ui: Moved FPS counter to footer 2021-06-07 18:13:54 +02:00
WerWolv 1843db91af fix: Drastically reduce CPU usage when using FPS limit 2021-06-06 19:16:53 +02:00
WerWolv be81a6dc34 sys: Fixed disassembler selecting wrong region 2021-06-06 18:01:52 +02:00
WerWolv 73b5c8512d sys: Added default polynomial and inital value for CRC16 and CRC32 2021-06-06 18:00:14 +02:00
WerWolv b1adfe38e1 sys: Fixed wrong region being selected in Hash view 2021-06-06 17:59:54 +02:00
WerWolv 639ae7be4d sys: Added CTRL + A to select all bytes in hex view 2021-06-06 17:33:14 +02:00
WerWolv c42bd6008a sys: Fixed various issues related to plugins 2021-05-29 21:51:00 +02:00