WerWolv
00a24bc84b
impr: Remove "ImHex" from title bar if a file is loaded
2023-12-07 11:19:08 +01:00
WerWolv
370ca740e3
feat: Allow layouts to be locked
2023-12-06 13:49:58 +01:00
WerWolv
0b71568d97
impr: Better UI handling when window is very small
2023-12-06 11:05:02 +01:00
WerWolv
37ac1b66dd
refactor: Task Manager related code
2023-12-06 11:04:35 +01:00
Nik
f9a9ed4846
impr: Vastly improved 3D Visualizer ( #1456 )
...
Based entirely on @paxcut's amazing PR #1443
---------
Co-authored-by: paxcut <paxcut@outlook.com>
Co-authored-by: paxcut <53811119+paxcut@users.noreply.github.com>
2023-12-05 10:49:51 +01:00
WerWolv
19f3da556c
fix: Native theme detection on Linux not working properly
2023-12-04 23:35:48 +01:00
WerWolv
4fd3167bb3
feat: Added minimal layout
2023-12-02 14:35:44 +01:00
WerWolv
866cb5706d
feat: Added highlighting rules
2023-12-02 11:09:32 +01:00
WerWolv
2cf642a2a4
build: Updated libwolv
2023-12-01 14:07:10 +01:00
WerWolv
8ee234e5a6
impr: Optimize api includes
2023-11-30 11:23:12 +01:00
WerWolv
e370fdb0fc
build: Add support for unity builds
2023-11-30 10:22:15 +01:00
WerWolv
09904b77eb
feat: Add support for bold and italic fonts
2023-11-29 23:47:37 +01:00
WerWolv
4ddd293210
fix: Properly delete font atlas when we're done with it
2023-11-28 10:07:02 +01:00
WerWolv
813a95d283
fix: Various font loading issues
2023-11-28 09:49:38 +01:00
WerWolv
c02c27b63d
refactor: Moved over to more flexible font loader
2023-11-28 01:55:41 +01:00
WerWolv
f6d4d5ab22
refactor: More init sequence refactors
2023-11-28 00:47:03 +01:00
WerWolv
284f8534ab
refactor: Move the builtin plugin specific init tasks to the plugin
2023-11-28 00:19:42 +01:00
WerWolv
494223fff6
fix: Provider load interface not opening
2023-11-27 15:34:05 +01:00
WerWolv
3c36ef2c69
impr: Disable some more menu items when they're not useful
2023-11-24 20:57:37 +01:00
WerWolv
920c6f6507
impr: Remove old splash screen graphic
2023-11-24 20:01:23 +01:00
WerWolv
96a3a74e08
fix: New font settings not applying correctly
2023-11-24 20:01:02 +01:00
WerWolv
d34ad33c3c
feat: Added setting for font bold, italic and antialiasing
2023-11-24 11:29:05 +01:00
WerWolv
59b363d9b2
impr: Move custom font setting behind a enable checkbox
2023-11-23 23:15:42 +01:00
WerWolv
b619744093
fix: Command palette not appearing on Linux
2023-11-23 09:33:47 +01:00
WerWolv
de4ea4081a
fix: Popup positions when viewports are disabled
2023-11-23 09:19:51 +01:00
paxcut
ae24ccdfe6
fix: Writing X coord of window position to settings ( #1442 )
...
The entry is "hex.builtin.setting.interface.window." but I think it
should be "hex.builtin.setting.interface.window.x"
2023-11-22 12:47:28 +01:00
Nik
095da62250
feat: Add Markdown Report export option ( #1441 )
2023-11-22 07:26:31 +00:00
WerWolv
909f4b7fe8
refactor: Rename and update localization system
2023-11-21 14:38:01 +01:00
WerWolv
c89a870fe9
refactor: Streamline entire view system
2023-11-21 13:47:50 +01:00
WerWolv
fc23efdb25
impr: Move OpenGL loaders into header to avoid issues in the future
2023-11-20 23:58:49 +01:00
WerWolv
ee681b5053
fix: Opening files with non-ASCII paths through the command line
...
Fixes #1380 , Fixes #1435
Thanks a lot to @kyle-sylvestre
2023-11-19 12:24:31 +01:00
WerWolv
37f9f5619c
impr: Respect keyboard layouts for shortcuts again
2023-11-18 15:18:33 +01:00
WerWolv
14f728ab76
refactor: Give API files more consistent names
2023-11-18 14:50:43 +01:00
WerWolv
1249eb3261
impr: Optimize includes in often used header files
2023-11-18 14:34:33 +01:00
WerWolv
2d45dce075
fix: Shortcuts not working correctly with non-western keyboards
2023-11-17 20:27:42 +01:00
WerWolv
cec925bcdc
feat: Add shortcut editor to settings
2023-11-17 14:46:21 +01:00
iTrooz
39252dfe48
refactor: Move custom ImGui functions to ImGuiExt namespace ( #1427 )
...
Co-authored-by: Nik <werwolv98@gmail.com>
2023-11-16 22:24:06 +01:00
WerWolv
75df797b41
impr: Unlock framerate for the first few seconds to load UI quickly
2023-11-16 21:14:55 +01:00
WerWolv
22eee94436
impr: Better UI for the Welcome screen
2023-11-16 09:32:24 +01:00
WerWolv
1f109ff59b
fix: Auto disabling of "Load all unicode glyph" setting on error not working
2023-11-14 21:13:51 +01:00
WerWolv
10217b5530
fix: "Load all unicode glyphs" setting not working
2023-11-14 21:12:09 +01:00
WerWolv
5e523f4cd8
impr: Hide sidebar if all items are disabled
2023-11-14 16:09:26 +01:00
WerWolv
33e20df511
impr: Make sidebars disableable and resizable
2023-11-14 15:55:25 +01:00
WerWolv
375c74abe5
impr: Add command palette button to the title bar
2023-11-14 00:03:22 +01:00
WerWolv
27f420c8ea
fix: Main Window being moved when window overlapping titlebar is moved
2023-11-13 00:06:04 +01:00
WerWolv
7d53636e10
feat: Added simple graphing calculator
2023-11-11 00:54:16 +01:00
WerWolv
aa93bcb142
impr: Better exit task logging
2023-11-10 23:25:02 +01:00
WerWolv
498d8c1d65
impr: General code cleanup
2023-11-10 20:47:08 +01:00
WerWolv
d160aeec4b
impr: More sidebar visual improvements
2023-11-08 11:53:26 +01:00
WerWolv
1ca71ec30d
impr: Make sidebar look better
2023-11-07 16:40:41 +01:00
WerWolv
fe59ce3e60
fix: Splash screen not resizing correctly
2023-11-04 23:16:53 +01:00
WerWolv
c37c53369b
impr: Dock newly opened windows by default
2023-10-30 21:53:44 +01:00
WerWolv
2fee380459
fix: Make sure window is fully opaque by default
2023-10-30 16:40:14 +01:00
iTrooz
80ca6bf177
feat: do not make splash screen wait for checkForUpdates task ( #1390 )
2023-10-26 21:45:43 +00:00
Nik
58189e5403
impr: Allow console output to work when debugging ( #1382 )
2023-10-22 21:39:14 +00:00
WerWolv
79f18d12e6
fix: Native scaling being way too small
2023-10-21 23:58:51 +02:00
Nik
7fe9a768d4
impr: Rewrote entire settings API and UI ( #1378 )
2023-10-21 21:07:33 +00:00
Nik
f114239f51
feat: Added Auto Updater for Windows, macOS and Ubuntu ( #1377 )
2023-10-21 18:40:24 +00:00
iTrooz
b908965048
feat: log exit tasks to console ( #1363 )
2023-10-11 20:38:54 +00:00
WerWolv
afa149f2db
patterns: Updated pattern language
...
Fixes #1361
2023-10-11 22:20:25 +02:00
iTrooz
c7c05e2621
fix: Re-enable window transparence on Linux ( #1357 )
2023-10-09 12:47:48 +00:00
WerWolv
a07b678a61
fix: Enable unicode support on the web again
2023-10-06 15:33:55 +02:00
WerWolv
d36e299c35
fix: Cut font texture width in half
2023-10-06 14:28:10 +02:00
WerWolv
9e5e3e94a3
fix: Disable auto scaling on the web
2023-10-06 12:57:29 +02:00
WerWolv
4db10f1c8b
fix: Disable unicode support on the web version
2023-10-06 11:11:04 +02:00
WerWolv
5faf1380d7
fix: Force font atlas texture to not get too tall
2023-10-06 10:57:48 +02:00
WerWolv
baa5c34b55
fix: Reset popup position back on screen if it's outside of it
...
Closes #1348
2023-10-05 08:56:00 +02:00
Andreas Källberg
d19d812ccb
impr: Don't force using discrete graphics card on macOS ( #1341 )
...
<!--
Please provide as much information as possible about what your PR aims
to do.
PRs with no description will most likely be closed until more
information is provided.
If you're planing on changing fundamental behaviour or add big new
features, please open a GitHub Issue first before starting to work on
it.
If it's not something big and you still want to contact us about it,
feel free to do so !
-->
### Problem description
<!-- Describe the bug that you fixed/feature request that you
implemented, or link to an existing issue describing it -->
When starting ImHex on a MacBook model with both integrated and discrete
graphics, it will force the computer to use the discrete graphics card.
This causes increased power usage, meaning the fans will spin up, the
battery will drain faster, etc. This program is not very graphics
intensive, so using the discrete graphics card shouldn't be needed.
### Implementation description
<!-- Explain what you did to correct the problem -->
I changed the
[`GLFW_COCOA_GRAPHICS_SWITCHING`](https://www.glfw.org/docs/latest/window_guide.html#window_hints_osx )
setting in GLFW to not enforce using the discrete graphics.
### Screenshots
<!-- If your change is visual, take a screenshot showing it. Ideally,
make before/after sceenshots -->
### Additional things
<!-- Anything else you would like to say -->
My editor is configured to automatically remove trailing whitespace, so
I hope that those whitespace changes are ok
2023-10-05 08:39:53 +02:00
WerWolv
1c88c3a8bd
fix: Reloading ImHex not working in the web version
2023-10-04 21:45:43 +02:00
WerWolv
eb41622a38
feat: Properly detect native theme on the web version
2023-10-04 21:34:50 +02:00
WerWolv
d7bf3746f7
build: Enable null sanitizer in the browser to avoid null derefs being okay
2023-10-04 13:53:46 +02:00
iTrooz
d15bd4771d
feat: Support for building ImHex for the web ( #1328 )
...
Co-authored-by: WerWolv <werwolv98@gmail.com>
Co-authored-by: AnnsAnn <git@annsann.eu>
2023-10-04 12:00:32 +02:00
WerWolv
51880fc2a8
build: Fixed build/install of refactored forwarder
2023-09-27 15:13:58 +02:00
WerWolv
e80c7bff1c
impr: Refactored forwarder executable and add lots more information to it
2023-09-27 14:14:27 +02:00
PerikiyoXD
691df0fc83
fix: Implemented forwarder executable ( #1308 )
...
Fixes random .NET plugin crash caused by the console window being freed
on the same process.
### Problem description
Sometimes when launching from the explorer ImHex crashes
### Implementation description
We've implemented a launcher to avoid freeing the std streams, that
generated the bug.
### Screenshots
N/A
### Additional things
Blame windows console subsystem
2023-09-16 13:08:19 +02:00
iTrooz
e65021c85e
feat: Add more details to startup tasks ( #1301 )
2023-09-09 12:49:15 +02:00
iTrooz
c07842d7ca
refactor: separate loop and frame logic ( #1300 )
2023-09-07 20:33:49 +02:00
iTrooz
be3ac26306
fix: Remove remannts of #680 bugfix ( #1282 )
2023-09-02 22:59:09 +02:00
WerWolv
550392c8d6
fix: Texture loading from romfs
2023-08-26 23:43:35 +02:00
WerWolv
32e05cc62f
patterns: Updated pattern language
2023-08-26 23:31:25 +02:00
WerWolv
6e81ce152e
impr: Get rid of some manual memory management
2023-08-25 23:54:39 +02:00
WerWolv
e487fd7450
fix: Crash loop when segfault gets triggered
2023-08-25 23:51:51 +02:00
WerWolv
bd75b70d85
impr: More style and comment fixes in crash handler
2023-08-25 23:19:13 +02:00
WerWolv
6ef96c5533
fix: Missing typeinfo include
2023-08-25 23:11:05 +02:00
WerWolv
7476ae230c
fix: Make ImHex exit cleanly when crashing
2023-08-25 22:55:09 +02:00
WerWolv
6c8a90720f
feat: Added window actions popup when clicking on icon
2023-08-19 19:12:15 +02:00
Justus Garbe
33e9ad7775
fix: Draw title bar correctly when no title bar buttons exist
2023-08-13 23:54:22 +02:00
Lennard Fonteijn
df24d1e1e9
fix: Revert the FPS limiter back to the one used in v1.30.1 ( #1247 )
...
As requested on Discord, a PR to revert the FPS limiter back to the one
that was used in v1.30.1.
The new FPS limiter seems to be flawed in that it runs at about half the
speed it is supposed to be.
See this illustration:
![FPS](https://github.com/WerWolv/ImHex/assets/869973/8a101b4c-23d8-4806-8d53-3be7aeb84fed )
Left is v1.30.1, right is the new version (without this fix). See how
long it takes to respectively reach 0xE90.
This is not a performance issue, because when you fully unlock the
framerate on the right, it's just as fluent as on the left.
2023-08-11 22:03:30 +02:00
WerWolv
ef556d07ed
fix: Init task text being offset on larger screen resolutions
2023-08-09 20:02:38 +02:00
Nik
e77f138514
feat: Added Achievements ( #1230 )
...
This PR adds Achievements to ImHex that serve as both a guide and a fun
way to learn more about ImHex and reverse engineering
2023-08-06 21:33:15 +02:00
WerWolv
106e669512
feat: Added setting to remember and restore window position and size
...
Closes #1215
#944
2023-07-31 11:17:37 +02:00
WerWolv
27c8e19c14
build: Remove all static variables from headers to hopefully fix plugins
2023-07-26 13:50:51 +02:00
WerWolv
440e2d91fc
impr: Better logging during font loading
2023-07-24 23:24:11 +02:00
WerWolv
bca73ef01e
fix: Loading of custom fonts not working anymore
2023-07-24 17:25:36 +02:00
WerWolv
a4e4e01d2d
fix: Crash when cleaning log files that are open in another program
2023-07-24 15:36:29 +02:00
WerWolv
ffdaf0d16e
impr: Use better splash screen selection color generator
2023-07-23 23:38:13 +02:00
WerWolv
aa66d4b9e7
impr: Insert short delay before opening popups so the animation finishes
2023-07-23 18:22:53 +02:00
WerWolv
591435761b
impr: Added "Close ImHex" button to all plugin-related fatal popups
2023-07-22 22:59:05 +02:00
WerWolv
f5fda76414
impr: Cleanup main
2023-07-22 21:30:22 +02:00
WerWolv
46ee3f0faa
impr: Improve uncaught exception error handling to provide actual stack trace
2023-07-22 20:16:36 +02:00
WerWolv
564ae6dd8c
fix: Crash when loading bad font
2023-07-22 19:35:58 +02:00
WerWolv
8aec382440
fix: Loading of plugins and localizations after restart
2023-07-22 18:38:14 +02:00
WerWolv
0faea9d7c7
impr: Make splash screen look much nicer
2023-07-22 18:21:47 +02:00
WerWolv
3149183450
patterns: Updated pattern language
2023-07-21 11:53:37 +02:00
WerWolv
f930b6e17d
fix: Various .NET and plugin loading fixes
2023-07-19 21:40:24 +02:00
WerWolv
e9450b490f
feat: Added --plugin, --calc, --hash, --encode and --decode subcommands
2023-07-16 23:46:41 +02:00
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