1
0
mirror of synced 2024-11-14 19:17:42 +01:00
Commit Graph

520 Commits

Author SHA1 Message Date
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
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
Mary
d510f8c7cf Github Actions: Enforce a cache miss on Windows job
Workaround discuted in msys2/setup-msys2#99.
2020-12-30 19:08:40 +01:00
Mary
2180a8faef Github Actions: upload resulting DMG on macOS
Add infos about nightly builds.
2020-12-30 18:56:25 +01:00
Mary
2340ab0518 cmake: Handle code sign and packaging for macOS bundle 2020-12-29 22:50:11 +01:00
Mary
de5c6a4084 cmake Readd CREATE_BUNDLE infos on macOS 2020-12-29 21:00:41 +01:00
Mary
ce06d9bdfb Fix version and vendor in macOS bundle 2020-12-29 20:41:43 +01:00
Mary
33c11baca9 clean up after previous commit 2020-12-29 02:07:26 +01:00
Mary
8fbdcd54aa Make macOS bundle works!
TODO: codesign
2020-12-29 01:59:28 +01:00
Mary
20d3a84fc0 Fix creation of macOS bundle
Still need to find a way to handle the deps madness
2020-12-28 23:37:51 +01:00
Mary
58a65b0004 cmake: Do not ship resource.rc on non WIN32 systems
Also add some very early macOS bundle definitions.
2020-12-28 20:03:50 +01:00
Mary
bbd00a6020 Ignore .DS_Store in gitignore 2020-12-28 18:52:42 +01:00
Mary
63f544918d Fix build instruction to add CMAKE_BUILD_TYPE 2020-12-28 18:52:22 +01:00
WerWolv
93938d6090 external: glfw3 -> glfw 2020-12-27 15:57:59 +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
b9324f44e6 Added selected addresses to hex editor footer
This (and the two previous commits) fixes #99
2020-12-21 15:20:57 +01:00
WerWolv
d6c5e3dc3e Fixed render order of ASCII display in hex editor
Fixes #98
2020-12-21 14:44:01 +01:00
WerWolv
7c350dde90 Added current commit hash and branch to about page 2020-12-21 12:38:50 +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
379f77af48 Cleaned up github actions 2020-12-21 11:54:33 +01:00
WerWolv
4b59d57f89 Added version info to about page 2020-12-21 11:24:27 +01:00
WerWolv
15b3860f83 Fixed data inspector not updating properly in all cases 2020-12-21 11:23:57 +01:00
WerWolv
b71a9b7d14
More centering 2020-12-19 15:15:24 +01:00
WerWolv
85352868ec
Cleaned up readme and added link to discord server 2020-12-19 15:14:45 +01:00
Mary
310059f274 Support macOS
This allows building and running under macOS.
There is still some issues with dpi but the application compiles and run now.
2020-12-18 21:44:13 +01:00
Mary
b5cc3b6f1b Make target link and include more generic
This fixes issues with library link and unify support for linking on Linux/macOS/BSD.
2020-12-18 20:04:55 +01:00
Mary
de9421e68f Fix missing dependencies in README and ArchLinux get_deps script 2020-12-18 18:46:20 +01:00
Mary
413443aa95 Build LLVM demangler directly with our sources
This remove dep on LLVM library by building the demangler as part of the
project.

This should help with building on macOS.
2020-12-18 17:56:41 +01:00
Sam Umbach
82d7c54a3d
Fix minor typos (#95) 2020-12-17 08:55:40 +01:00
WerWolv
9123b21e18 Added basic command palette (similar to the one in vscode) 2020-12-16 22:43:07 +01:00
averne
56cca88fbd
Proper DPI scaling and basic custom font (#85)
* add glm to arch deps

After running got `None of the required 'glm' found`. This fixes that

* dist/fedora: Include file magic headers

Due to differences in package names between Deb based systems, Arch
Linux, and RPM based systems the package containing the development
headers for file were missing from the Fedora dependencies script.

This includes the package `file-devel`, which is the package which
resolves the issue.

In Fedora, one can identify the package providing a specific file using
the verb "whatprovides" with the command dnf, e.g.:

    [~]$ dnf whatprovides /usr/include/magic.h
    Last metadata expiration check: 4 days, 0:23:05 ago on Fri 04 Dec 2020 09:06:53 AM PST.
    file-devel-5.39-3.fc33.i686 : Libraries and header files for file development
    Repo        : fedora
    Matched from:
    Filename    : /usr/include/magic.h

    file-devel-5.39-3.fc33.x86_64 : Libraries and header files for file development
    Repo        : @System
    Matched from:
    Filename    : /usr/include/magic.h

    file-devel-5.39-3.fc33.x86_64 : Libraries and header files for file development
    Repo        : fedora
    Matched from:
    Filename    : /usr/include/magic.h

If one is unsure of the specific path, globbing may be used (but must be
quoted):

    dnf whatprovides "*/magic.h"

Resolves #48

* dist: Prevent already installed packages in ArchLinux and MSYS2.

Use --needed option with pacman to prevent it.

* Add script to install dependencies on Debian/Ubuntu.

Tested with Xubuntu 20.04 and Debian testing
(in today's Docker image bitnami/minideb).

Update README.md.

* ci: rework (#31)

* Support non standard LLVM library names (#86)

This fix openSUSE and Gentoo issue mentioned in https://github.com/WerWolv/ImHex/issues/37#issuecomment-739503138.

(tested on openSUSE tumbleweed via Docker)

I also took the liberty of renaming llvm_lib to llvm_demangle_lib to be more specific in the ``CMakeLists.txt``.

* Implement proper DPI handling

* Implement basic custom font support

* Fix building on windows

* Hopefully fix fonts on Windows

* Fix several scaling issues

* Replace font renderer with freetype

* Updated CI and dependency scripts

* Rebuild default font atlas

* Correct platform detection macro for mingw

* Fixed PKGBUILD

Co-authored-by: brockelmore <31553173+brockelmore@users.noreply.github.com>
Co-authored-by: Brian 'Redbeard' Harrington <redbeard@dead-city.org>
Co-authored-by: Biswapriyo Nath <nathbappai@gmail.com>
Co-authored-by: Stéphane Gourichon <stephane.gourichon@fidergo.fr>
Co-authored-by: umarcor <38422348+umarcor@users.noreply.github.com>
Co-authored-by: Mary <me@thog.eu>
Co-authored-by: WerWolv <werwolv98@gmail.com>
2020-12-11 14:24:42 +01:00
Mary
9b853350f1
Support non standard LLVM library names (#86)
This fix openSUSE and Gentoo issue mentioned in https://github.com/WerWolv/ImHex/issues/37#issuecomment-739503138.

(tested on openSUSE tumbleweed via Docker)

I also took the liberty of renaming llvm_lib to llvm_demangle_lib to be more specific in the ``CMakeLists.txt``.
2020-12-10 22:28:49 +01:00
umarcor
e3b5a55eba
ci: rework (#31) 2020-12-09 19:49:56 +01:00
WerWolv
366dc80dc0
Merge pull request #79 from fidergo-stephane-gourichon/dependency_install_script_debian_ubuntu
Add script to install dependencies on Debian/Ubuntu.
2020-12-09 18:51:26 +01:00
Stéphane Gourichon
ba2ee6d6e5 Add script to install dependencies on Debian/Ubuntu.
Tested with Xubuntu 20.04 and Debian testing
(in today's Docker image bitnami/minideb).

Update README.md.
2020-12-09 15:18:18 +01:00
WerWolv
6afcf1a26f
Merge pull request #76 from Biswa96/master
dist: Prevent already installed packages in ArchLinux and MSYS2.
2020-12-09 10:33:48 +01:00
Biswapriyo Nath
ee831fbcb6 dist: Prevent already installed packages in ArchLinux and MSYS2.
Use --needed option with pacman to prevent it.
2020-12-09 14:21:36 +05:30
WerWolv
4d87eefbe9
Merge pull request #69 from brianredbeard/issue-48-fix-fedora-error
dist/fedora: Include file magic headers
2020-12-08 18:45:44 +01:00
Brian 'Redbeard' Harrington
ec04fea9be dist/fedora: Include file magic headers
Due to differences in package names between Deb based systems, Arch
Linux, and RPM based systems the package containing the development
headers for file were missing from the Fedora dependencies script.

This includes the package `file-devel`, which is the package which
resolves the issue.

In Fedora, one can identify the package providing a specific file using
the verb "whatprovides" with the command dnf, e.g.:

    [~]$ dnf whatprovides /usr/include/magic.h
    Last metadata expiration check: 4 days, 0:23:05 ago on Fri 04 Dec 2020 09:06:53 AM PST.
    file-devel-5.39-3.fc33.i686 : Libraries and header files for file development
    Repo        : fedora
    Matched from:
    Filename    : /usr/include/magic.h

    file-devel-5.39-3.fc33.x86_64 : Libraries and header files for file development
    Repo        : @System
    Matched from:
    Filename    : /usr/include/magic.h

    file-devel-5.39-3.fc33.x86_64 : Libraries and header files for file development
    Repo        : fedora
    Matched from:
    Filename    : /usr/include/magic.h

If one is unsure of the specific path, globbing may be used (but must be
quoted):

    dnf whatprovides "*/magic.h"

Resolves #48
2020-12-08 09:31:17 -08:00
Mary
1586aee2d2
Merge pull request #59 from brockelmore/patch-1
add glm to arch deps
2020-12-08 13:33:42 +01:00
WerWolv
226169bbbe Merge remote-tracking branch 'origin/master' 2020-12-07 23:49:28 +01:00
WerWolv
e1e73077a1 Improved language parsing and validation. This fixes #58 2020-12-07 23:49:19 +01:00