Nik
5171bea0bf
feat: Added cross-platform .NET scripts support ( #1185 )
...
This PR intends to add support for .NET scripts that can extend ImHex's
functionality in a portable and cross-platform way.
---------
Co-authored-by: Justus Garbe <55301990+Nowilltolife@users.noreply.github.com>
2023-07-15 14:29:14 +02:00
WerWolv
f4ae1fda6d
impr: Print welcome message as fast as possible
2023-07-15 00:11:48 +02:00
iTrooz
1ed658bcdc
feat: Added command line interface support ( #1172 )
...
System design has been discussed on discord
Should fix #948
---------
Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-07-13 14:08:23 +02:00
WerWolv
8c0395bc7c
fix: Prevent wayland from spamming the console with useless errors
2023-07-12 14:33:09 +02:00
WerWolv
6343cb092b
build: Fixed include issues
2023-07-09 12:53:31 +02:00
WerWolv
3e797eeea2
fix: Never create an imgui.ini file
...
#1166
2023-07-07 09:20:33 +02:00
WerWolv
a78d3f9977
fix: Framerate limits not working correctly
2023-07-06 21:15:08 +02:00
WerWolv
33d3bea472
fix: Flickering cursor issues
2023-07-06 10:26:12 +02:00
iTrooz
ac2a609d0a
impr: Use execvp() instead of system() on Linux ( #1170 )
...
This PR it just a hack to fix #1160 , it doesn't solve the underlying
problem.
It fixes the problem because by using execvp() directly, it avoids the
call to `sh` done with `system()`, which has a bug on Ubuntu 22.04 which
makes it i,compatibles with the glibc inside the AppImage.
It doesn't fix the underlying problem because the programs we call
themselves still link to the AppImage's libraries instead of the system
ones.
2023-07-05 20:50:46 +02:00
WerWolv
86c4c8fa96
feat: Added new pattern inline visualizers
2023-07-04 22:18:06 +02:00
WerWolv
28dea8e5bd
fix: Menu Bar being scrollable sideways
2023-07-01 22:55:59 +02:00
iTrooz
c6c3ca4d26
fix: Reset terminate handler directly when being called + some other crashes to crash handling ( #1174 )
...
This PR fixes some things about crash handling:
- when the terminate handler is called, immediately set it back to the
original one, so can't make a recursion if the crash-handling code fails
- Only save projects if the crash occured after Imhex finished startup
- do not update the project location when saving the crash backup file:
this will remove problems when `EventAbnormalTermination` is called
before `crashCallback()`
I also added a bit more documentation
2023-07-01 12:32:28 +02:00
WerWolv
8cc6994dd0
fix: Properly apply UI scaling on launch
2023-06-30 13:40:39 +02:00
WerWolv
f9909dab98
fix: Properly clear all global registries
2023-06-30 13:40:16 +02:00
WerWolv
a5fac85727
fix: Commit hash/branch in statistics being in wrong order
2023-06-27 01:46:11 +02:00
WerWolv
8fdb60758b
impr: Load plugins asynchronously to speed up startup times
2023-06-27 00:52:13 +02:00
WerWolv
d527675bda
build: Make sure changing commit hash doesn't trigger a full rebuild
...
Closes #1137
2023-06-26 14:01:45 +02:00
WerWolv
9282f1fe75
fix: Multiwindow support not being disabled by default on Linux
2023-06-26 09:02:23 +02:00
WerWolv
ddc0457d9a
fix: Unifont not being loaded correctly in some cases
...
Fixes #1155
2023-06-24 14:55:10 +02:00
WerWolv
ade05f8e12
impr: Only load a limited subset of unicode characters by default
2023-06-24 10:58:42 +02:00
WerWolv
1b028dfc0a
fix: Crash on exit
2023-06-23 21:39:22 +02:00
WerWolv
b019283a2f
impr: Force disable unicode support when the NoGPU version is used
2023-06-22 17:56:09 +02:00
WerWolv
da11c47693
impr: Better sorting of hex cell visualizers
2023-06-21 17:48:51 +02:00
WerWolv
c8150f3261
impr: Make statistics format not suck a whole lot
2023-06-21 00:21:16 +02:00
WerWolv
6d1f639bc6
impr: Added GPU vendor and portable version flag to statistics
2023-06-20 20:37:17 +02:00
Nik
f703b15165
feat: Added statistics and crash log uploading ( #1149 )
...
Co-authored-by: Justus Garbe <gihihoh@gmail.com>
2023-06-20 11:55:56 +02:00
WerWolv
54061c56bf
fix: Logging race conditions
2023-06-18 22:32:55 +02:00
WerWolv
25154dd450
build: Force enable exceptions and rtti
2023-06-18 14:42:48 +02:00
WerWolv
fdb1cace2d
fix: Properly print fatal error messages when ImHex crashes
2023-06-13 23:31:49 +02:00
WerWolv
54c6c9360a
fix: Reverted back reordering of crash callback call
2023-06-11 21:55:48 +02:00
WerWolv
9a9b211ebb
fix: Crash backups not getting saved when when an exception is thrown
2023-06-11 17:27:09 +02:00
iTrooz
cac9a69ea2
fix: Use Mode::Create instead of Mode::Write when creating crash file ( #1134 )
2023-06-11 13:10:04 +02:00
WerWolv
ee57c449e7
fix: Crash when clearing old logs on exit
2023-06-11 09:45:06 +02:00
WerWolv
73d4214fd3
fix: Window title being cleared after ImHex exits
2023-06-10 15:08:56 +02:00
WerWolv
0e8273eaa7
impr: Make sure icons are more centered
2023-06-09 00:30:12 +02:00
WerWolv
9baca91b16
impr: Better unthrown exception error handling
2023-06-08 12:16:37 +02:00
WerWolv
456895a6a6
fix: Various pattern drawer issues
2023-06-06 11:29:58 +02:00
iTrooz
25476d4e1e
build: Update ImGui and its dependencies ( #1122 )
...
This PR updates imgui and its dependencies from the last time, ~1 year
ago
(deabacbd50
)
Commits will be refactored before merging
Things you might ask :
- why did you remove `ImGui_ImplGlfw_SetBorderlessWindowMode()` ?
-> Where is it used ? The only usage of it I see is commented
(cb9a3b1f55/lib/external/imgui/source/imgui_impl_glfw.cpp (L757)
)
- why did you remove the implot anti aliasing flag ?
-> They.. seem to have removed it altogether ?
https://github.com/epezent/implot/issues/479
2023-06-04 00:09:45 +02:00
WerWolv
d10f033439
fix: Key presses not always unlocking frame rate correctly
2023-06-02 14:43:45 +02:00
iTrooz
117832e007
impr: Handle crashes that may happen before the main loop ( #1115 )
...
Draft because I absolutely do not trust myself writing good code at 2AM.
I will review it tomorrow
2023-06-01 18:35:41 +02:00
iTrooz
0ba011dbe1
feat: Add a native error message when glfw window creation fails ( #1104 )
...
Draft because I want to test it again tomorrow with all OSes, first
---------
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-27 17:45:41 +02:00
iTrooz
d671cde6d2
impr: Ensure program exits when set_terminate() lambda is called ( #1101 )
...
Draft for now because I am waiting for feedback from Jay
2023-05-25 09:30:25 +02:00
iTrooz
d2638c4f27
feat: Display titlebar buttons when not running borderless ( #1099 )
...
Tested on Linux (non-borderless) and Windows (borderless)
You may want to also test it just to be sure
2023-05-25 09:26:40 +02:00
iTrooz
7d457998d7
fix: Explicitly convert path to string for crash file ( #1102 )
2023-05-25 09:25:40 +02:00
iTrooz
79306fa6e1
impr: Show which commit was used to compile ImHex on CLI ( #1103 )
2023-05-25 09:25:22 +02:00
WerWolv
26eac61ddf
feat: Allow themes to set the background blur color
2023-05-24 21:05:14 +02:00
WerWolv
cb9a3b1f55
fix: Invalid key code error spam
2023-05-24 21:05:14 +02:00
WerWolv
0e3da22c76
feat: Added support for changing the page size
2023-05-23 11:34:30 +02:00
WerWolv
e32fc639c2
fix: Turning off blur again not working
2023-05-22 13:25:11 +02:00
iTrooz
7ce0613977
impr: Added better crash backup and restore mechanism ( #1094 )
...
- Add a new file 'crash.json' to store metadata about the crash, like
the log file or project opened
- show the log file of the session that caused the crash to the user
- Correctly restore the project path
2023-05-22 13:24:48 +02:00
WerWolv
f81276f7e3
feat: Added support for transparent and blurry window styles
2023-05-22 12:00:35 +02:00
WerWolv
0563a59b1b
impr: Reset back all signals when a fatal error occurred
2023-05-21 17:33:33 +02:00
WerWolv
7336c8dddc
fix: Cursor types on Windows sometimes getting stuck
2023-05-20 21:10:12 +02:00
KOLANICH
749823e044
build: Move -s
additional compiler flags into linker flags, and enable it only when gcc/clang are used. ( #1087 )
...
Compiler when compiling doesn't use them in those cases and emit a
warning, which is turned into an error by `-Werror`. Unfortunately,
CPack doesn't expose the logic it uses for stripping binaries.
2023-05-20 13:37:57 +02:00
WerWolv
7ea7c531e2
fix: Logs not being written to disk on Windows
2023-05-20 13:10:35 +02:00
iTrooz
e1620966e5
feat: Keep only 10 latest logs on exit ( #1079 )
...
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-16 14:45:24 +02:00
WerWolv
14341d611d
impr: Handle macOS Open with... correctly
2023-05-15 18:07:49 +02:00
WerWolv
c006062540
feat: Added basic network interface support
2023-05-15 11:30:24 +02:00
WerWolv
d96fc6d41b
fix: Compilation on macOS
2023-05-14 21:50:58 +02:00
WerWolv
610f109e2a
fix: Crash when too many entries are being logged at once
2023-05-14 21:39:18 +02:00
WerWolv
f2af90fe06
fix: Help hover icon issues
2023-05-11 23:56:51 +02:00
WerWolv
2f511ec4fa
impr: Improve frame cap handling
2023-05-11 23:22:06 +02:00
WerWolv
0649e0dcd3
impr: Clean up old layout stuff
2023-05-11 23:21:52 +02:00
WerWolv
0b21e30e44
fix: White border around maximized window on WIndows
2023-05-11 20:49:07 +02:00
WerWolv
ceeaca1a4b
feat: Added layout manager to save and restore custom layouts
2023-05-11 18:44:50 +02:00
WerWolv
49371398bc
fix: Resizing on windows still being janky
2023-05-11 18:43:19 +02:00
WerWolv
5c9d0e29c2
fix: Left/Right resizing not working correctly on Windows
2023-05-11 12:00:56 +02:00
WerWolv
1d2b8ac1f3
fix: Closing popups using Esc causing them to re-appear
2023-05-10 22:29:17 +02:00
classabbyamp
82f5900759
build: Added option to disable update checking ( #1036 )
...
This is aimed at use by linux distros, where package updates come from a
central location, and users shouldn't need to worry about updating ImHex
on their own. This disables parts of the ImHex UI that would not be
useful in that case.
Tested and confirmed that this works in both states of the of the
`-DIMHEX_DISABLE_UPDATE_CHECK` switch.
2023-05-05 22:03:45 +02:00
WerWolv
bec655a8c6
impr: Added event logging in debug mode
2023-05-02 20:35:30 +02:00
WerWolv
a33c7135d1
fix: Crash when closing some popups
2023-05-01 14:15:00 +02:00
WerWolv
8245f3d4c9
build: Updated libwolv
2023-04-19 21:56:34 +02:00
WerWolv
04a5efc7a3
fix: Crash when evaluating patterns to quickly
2023-04-17 17:02:10 +02:00
WerWolv
99a736df27
impr: Replace horrible pattern extra data class with a more modular system
2023-04-17 16:18:48 +02:00
WerWolv
535aeb5e39
impr: Give access to a console in clion in debug mode
2023-04-17 16:06:06 +02:00
WerWolv
1690cd2740
fix: Various issues with the new popup system
2023-04-16 21:34:29 +02:00
WerWolv
52925c99e8
impr: Default to monitor synchronized FPS limit
2023-04-13 17:12:40 +02:00
WerWolv
18d5fd5d3e
fix: Commit link in about page not working correctly
2023-04-13 16:10:55 +02:00
WerWolv
013eaae715
fix: Disable multi window support on Linux by default as it causes issues
...
Fixes #1026
2023-04-10 22:51:21 +02:00
WerWolv
349b5da810
fix: Prevent constants view from growing past the size of the screen
...
Fixes #1025
2023-04-10 21:30:27 +02:00
WerWolv
320629931c
fix: Yet another popup centering issue
2023-04-10 14:10:35 +02:00
WerWolv
dc77d81e1b
feat: Added documentation helper AI
2023-04-10 01:42:53 +02:00
WerWolv
af4dd9f5b0
fix: Popup positioning being wrong
2023-04-09 23:24:48 +02:00
WerWolv
09f1b56964
fix: Popups not being centered correctly
2023-04-09 15:28:48 +02:00
WerWolv
21f38974a8
impr: Use smart pointers to allocate Views
2023-04-08 12:08:45 +02:00
WerWolv
ac858b37ed
fix: Main Menu items not being clickable at the outer most pixel
...
Closes #1020
2023-04-08 11:37:42 +02:00
WerWolv
80edaea392
impr: Update all of ImHex to the new popup system
2023-04-08 00:58:53 +02:00
WerWolv
9c9ac23818
feat: Added a much more flexible popup system
2023-04-07 10:21:27 +02:00
WerWolv
d92e7d19cc
fix: Submenu items ignoring enabled flag
2023-04-06 22:33:02 +02:00
WerWolv
7c18ad49ae
impr: Allow windows that overlap the main window title bar to be movable
2023-04-06 14:58:05 +02:00
WerWolv
722f6315c4
impr: Make sure shortcuts can't be used when popups are open
2023-03-31 11:07:53 +02:00
Thomas
725e32250b
fix: Move config files to XDG_CONFIG_HOME ( #993 )
...
This pull request changes Config Directories on Linux to only include
the XDG_CONFIG_HOME directory, as opposed to all directories in
XDG_DATA_DIRS before (introduced in
https://github.com/WerWolv/ImHex/pull/644/files#diff-c1a4d2b63fed168a9a3568944e9cadeae096f2ddcec3649e4a9b2d29fd104be0L162-L166 ).
Reasons:
- This changes the location of the config file to the standard directory
meant for configurations
- This prevents the config file from being read/written in system
locations, like /usr/share
This PR also includes a migration task that will run on Linux and move
config/GUI dimensions to the new directory
as a bonus, as discussed on discord, it writes the logs to a Data
directory instead of a Config directory
2023-03-26 11:02:23 +02:00
WerWolv
635173e55a
impr: Make sure themes are added correctly when downloaded from the store
2023-03-23 20:35:16 +01:00
WerWolv
15be24db62
sys: Updated to use the new HttpRequest helper instead of Net
2023-03-23 11:23:07 +01:00
WerWolv
8c5fd021f7
api: Hook up new http wrapper to the rest of ImHex
2023-03-22 23:05:18 +01:00
WerWolv
57a62d0544
impr: Clean up entire API and added doc comments
2023-03-21 15:33:43 +01:00
WerWolv
53afa6ea43
fix: Crash on exit
2023-03-20 15:18:48 +01:00
WerWolv
39e8d557e8
sys: Completely revamped main menu item system
2023-03-20 13:11:43 +01:00
WerWolv
e00b59c393
fix: Properly discard reopened stderr
2023-03-18 11:47:42 +01:00
WerWolv
7c1e33dde6
sys: Prevent libraries from printing garbage to the console through stderr
2023-03-18 11:35:01 +01:00
WerWolv
4c1a24058c
ui: Fixed various scaling inconsistencies on higher scaling factors
2023-03-17 19:58:08 +01:00
WerWolv
daadc2ea71
impr: Attempt loading of full unicode plane from font if possible
2023-03-14 12:30:28 +01:00
WerWolv
fb2e668589
sys: Moved more functions to libwolv
2023-03-12 18:43:05 +01:00
WerWolv
0dafb3d230
sys: Replaced many helper functions with libwolv
2023-03-12 18:27:33 +01:00
WerWolv
21dc65f42a
impr: Added comments everywhere in main application
2023-02-17 12:03:53 +01:00
WerWolv
279e085887
impr: Don't create a new font texture for no reason
2023-02-17 12:03:00 +01:00
WerWolv
d84dfa2c42
feat: Allow custom CA Certs to be loaded
...
Fixes #907
2023-02-17 12:01:46 +01:00
WerWolv
ac83bbeb0e
feat: Added a theme manager view to make it easier to make new themes
2023-02-16 18:06:40 +01:00
WerWolv
8cb76a26c1
fix: Font being scaled too big
2023-02-16 16:29:41 +01:00
WerWolv
20da22d59e
sys: Make sure scrolling counts as an input event
2023-02-16 08:53:23 +01:00
WerWolv
3003dea409
fix: Occasional error when loading recent files
2023-02-12 17:52:09 +01:00
WerWolv
54ef5785cd
fix: ImNodes double free
2023-02-12 17:38:13 +01:00
WerWolv
303dd28c7c
fix: Fix macOS build again
2023-02-08 14:11:42 +01:00
WerWolv
dd87dc7046
fix: Building on macOS
2023-02-08 13:51:56 +01:00
WerWolv
235a64deef
sys: One more attempt to fix macOS scaling issues
2023-02-08 12:53:34 +01:00
WerWolv
b936a28921
fix: Opening files from command line not working
2023-02-06 07:11:21 +01:00
WerWolv
941c7ee61d
fix: Still properly divide scaling by 2.0 on macOS
2023-02-01 23:47:22 +01:00
WerWolv
fd259dcde3
fix: Prevent native scaling from going below 1.0 on macOS
2023-02-01 23:45:07 +01:00
WerWolv
3bad5e1d9c
fix: ImHex still opening files when multiple builtin plugins are detected
2023-01-31 11:38:26 +01:00
WerWolv
8e759d9b5f
feat: Added basic 3D visualizer, moved visualizers to separate file
2023-01-20 21:16:28 +01:00
Nik
48a57cd981
feat: Added stacktrace printing on crashes ( #892 )
...
* feat: Added simple stack trace output
* feat: Added backtrace wrapper
* build: Added libbacktrace include dirs to build
* build: Fixed libbacktrace variables
* build: More backtrace variable fixes
* build: Try to find backtrace include
* build: Get backtrace header from cmake script
* feat: Added backtrace support for execinfo
* feat: Added support for StackWalk on Windows
2023-01-17 21:38:56 +01:00
birdstakes
ca68150970
fix: Frame rate not unlocking correctly ( #890 )
...
m_hadEvent could be set during glfwWaitEventsTimeout and then
immediately cleared before ever being checked.
2023-01-17 08:14:40 +01:00
WerWolv
92f0aa9593
fix: Logs always being saved to user folders
...
Fixes #888
2023-01-16 19:39:00 +01:00
WerWolv
7e17059154
sys: Improved exception debug output
2023-01-16 18:17:13 +01:00
WerWolv
1b56c7ffae
ui: Show task progress in task bar
2023-01-14 14:21:16 +01:00
Thomas
ab29303c2e
sys: Clear project context when closing all providers, Display project name in window title ( #860 )
...
* clear project context when closing all providers
* Show project name on window title
* refactor RequestChangeWindowTitle to RequestUpdateWindowTitle
* add spaces
2023-01-07 17:31:22 +01:00
WerWolv
d86be9d9b3
sys: putenv
sucks. Use setenv
instead
2023-01-07 10:56:03 +01:00
WerWolv
c26bed894b
sys: Add imhex/lib
path to plugin libraries search paths
2023-01-07 10:32:01 +01:00
WerWolv
15f2376c62
sys: Fixed some variable names
2023-01-05 16:27:52 +01:00
WerWolv
ff9048fcf0
fix: Crash on exit
...
Fixes #854
2023-01-05 09:29:33 +01:00
WerWolv
02df578939
build: Fix library linking on non-windows
2023-01-04 13:23:42 +01:00
WerWolv
eb4a1e2692
build: Try to clean up bundled dependencies a bit
2023-01-04 12:34:38 +01:00
WerWolv
b4fa8bebe9
build: Move main romfs to main application
2022-12-29 23:32:40 +01:00
WerWolv
7859a9bb1f
feat: Added native custom theme support
2022-12-29 19:26:00 +01:00
WerWolv
df3d5e38ce
ui: Load in all extended-Ascii and control characters from unifont
2022-12-25 10:01:21 +01:00
WerWolv
f23351f11c
sys: Try to not load unifont if graphics drivers can't handle it
2022-12-14 09:25:37 +01:00
WerWolv
e3f2541fde
sys: Make sure libromfs is never used in libimhex
2022-12-05 15:29:19 +01:00
WerWolv
6e0b92a4de
sys: Added logging for which romfs is being used
2022-12-05 09:31:16 +01:00
WerWolv
3b94a42783
lang: Updated localization system to use a more versatile json format
2022-12-02 12:00:04 +01:00
WerWolv
0f028db856
sys: Don't load any external plugins in debug builds
...
Closes #833
2022-11-25 10:28:05 +01:00
WerWolv
3fccd03bbb
fix: Black screen issues when font atlas got too big
2022-11-14 10:02:34 +01:00
WerWolv
7f0bdea212
fix: Opening multiple files by dragging them onto the window
2022-11-10 11:17:21 +01:00
WerWolv
23ce2ec271
ui: Fixed some more macOS scaling issues
2022-11-08 18:09:48 +01:00
WerWolv
5bbc2fd94c
feat: Added basic UI for the new pl section system
2022-11-07 00:04:47 +01:00
WerWolv
d2705988ac
ui: Potentially fix weird scaling on macOS
2022-11-05 21:49:17 +01:00
WerWolv
291da649c1
ui: Limit window title length
2022-11-04 15:19:24 +01:00
iTrooz_
bececff9e5
feat: Ask the users if they want to check for updates ( #803 )
...
* ask the users for updates
* Only treat 1 as enabled
* Fix formatting
* update locales
* comment to document value
2022-10-29 23:43:40 +02:00
iTrooz_
24c0cc10a1
sys: Load Tips from a local file instead of querying an API ( #797 )
...
* store tips locally
* C++ random implementation
* show one different tip per day
* fix json conversion to string
* put tips.json in builtin romfs
2022-10-27 13:21:54 +02:00
iTrooz_
e76d5854b8
ux: Add a setting to disable loading of unicode characters ( #798 )
...
* Add setting to disable loading of unicode characters
* change message
* set message in other langs
* fix formatting
2022-10-27 13:11:09 +02:00
WerWolv
1eb9858f62
sys: Moved libimhex-rust out of project
2022-10-21 14:55:01 +02:00