WerWolv
ec64952cb4
impr: Only auto backup if there's something to backup
2023-12-22 21:16:09 +01:00
WerWolv
b934ca6ad3
impr: Allow a entire 64 bit address space to be displayed in the hex editor
2023-12-22 16:58:50 +01:00
Justus Garbe
ad8e3e38f0
Revert pattern language until it's stable again ( #1468 )
...
- Revert pattern language
2023-12-21 22:01:07 +01:00
WerWolv
5bc8e5c57c
impr: Only display background color of patterns that have a color
2023-12-21 16:40:08 +01:00
WerWolv
e3e117a14e
impr: Close tutorial view when a tutorial is started
2023-12-20 15:26:45 +01:00
WerWolv
a0c2dc43f7
fix: Tutorial highlighting
2023-12-20 14:35:13 +01:00
WerWolv
e951359a46
feat: Add frame time graph to FPS display
2023-12-20 13:42:42 +01:00
WerWolv
5b3ae56912
patterns: Update all pattern language code to use new API
2023-12-20 10:08:40 +01:00
WerWolv
a6025e72fb
fix: RGBA8 hex editor data visualizer not working correctly
2023-12-19 23:20:56 +01:00
WerWolv
96db2074c6
feat: Add ignore case and UTF16 search options to sequence searching
2023-12-19 14:34:35 +01:00
WerWolv
c7ab4a4569
refactor: Get rid of this->m_
2023-12-19 13:10:25 +01:00
WerWolv
dd4be3b772
refactor: Make sure unlocalized strings are always actually unlocalized
2023-12-19 12:22:28 +01:00
WerWolv
8fe490ed03
fix: Escape to deselect bytes not working
2023-12-19 00:03:00 +01:00
WerWolv
eb21a5992f
impr: Make sure no empty popup appears when right clicking search box
2023-12-18 22:51:08 +01:00
WerWolv
a3f1a5b0a9
fix: Crash when right clicking search bar when a provider with no menu options is open
2023-12-18 22:45:15 +01:00
WerWolv
dc9ab135c8
impr: Make sure quick settings window always stays attached to bottom right
2023-12-18 14:57:37 +01:00
WerWolv
1cb2e0d765
impr: Make quick settings floating window auto resize
2023-12-18 13:55:50 +01:00
WerWolv
b34fb2d225
impr: Remove separator from view menu in release mode
2023-12-18 13:55:32 +01:00
WerWolv
4973556fc8
impr: Better UI resize handling on welcome screen
2023-12-18 13:08:17 +01:00
WerWolv
521ee5fe2d
impr: Better pattern background coloring in pattern data view
2023-12-18 12:02:41 +01:00
WerWolv
478d6118d8
fix: Prevent empty provider menu from being opened
2023-12-18 11:58:31 +01:00
WerWolv
ec4fdc44ef
impr: Draw hint in hex editor if no data can be displayed
2023-12-18 11:58:03 +01:00
WerWolv
91f49e2c6e
fix: Window title not updating correctly when renaming memory file
2023-12-18 11:46:39 +01:00
WerWolv
6bc4a7242e
fix: Allow search bar to be right clicked to open provider menu
2023-12-18 11:46:23 +01:00
WerWolv
eeab529bfa
fix: Welcome screen close button position
2023-12-18 11:30:09 +01:00
WerWolv
edc4b18975
impr: Add plugin table to about page
2023-12-18 11:21:33 +01:00
WerWolv
450c93e029
impr: Cleanup welcome screen
2023-12-18 11:03:19 +01:00
WerWolv
c1abbfad7d
impr: Make sure welcome screen stays at the back
2023-12-18 10:14:07 +01:00
WerWolv
d2d36c2211
impr: Add localization to color picker tool
2023-12-18 08:58:15 +01:00
WerWolv
aaaa02dbd0
impr: Improve handling of floating tool windows
2023-12-18 08:58:00 +01:00
WerWolv
a844fb3731
fix: Hash string popup being way too small
2023-12-17 23:47:42 +01:00
WerWolv
8f83fe5135
fix: Max field in value search not resetting when disabling range search
2023-12-17 23:38:10 +01:00
WerWolv
978558649e
fix: Diffing view not highlighting correctly with a custom base address
2023-12-17 23:34:19 +01:00
WerWolv
3b5efb37e9
fix: Editing data inspector rows not working correctly
2023-12-17 23:31:01 +01:00
WerWolv
90abe982ed
fix: Bookmark region setting not being locked correctly
2023-12-17 23:22:39 +01:00
WerWolv
7a0680c2cb
impr: Add warning to disk provider if ImHex is not running elevated
2023-12-17 23:16:55 +01:00
WerWolv
71dd349044
fix: Highlighting in hex editor not being drawn correctly anymore
2023-12-17 23:16:04 +01:00
WerWolv
f2a795c51e
fix: Provider loader interface being closable and not resizing correctly
2023-12-17 23:15:52 +01:00
WerWolv
7ad7ea061c
impr: Refactor init logic
2023-12-17 20:33:17 +01:00
WerWolv
a315ecb831
fix: Flickering of selection frame in hex editor view when scrolling
2023-12-17 18:26:36 +01:00
WerWolv
b5df20d7c6
feat: Exposed demangling of symbols to CLI
2023-12-15 08:11:51 +01:00
WerWolv
c1f76be3b7
feat: Display complete window title when hovering over search bar
2023-12-14 13:50:26 +01:00
WerWolv
2ebd3c6f35
impr: Better centering of icons in icon buttons
2023-12-14 13:49:46 +01:00
WerWolv
003f9619c3
fix: Multiple localization issues
2023-12-14 11:33:54 +01:00
WerWolv
f000b6bc0a
feat: Added basic introduction tutorial
2023-12-13 23:03:39 +01:00
WerWolv
346f1362c6
impr: Allow more popups to be closed with Escape
2023-12-13 15:08:27 +01:00
WerWolv
92043a3d23
feat: Added tutorials view
2023-12-13 13:04:59 +01:00
WerWolv
5bcfe37b4e
feat: Added tutorial system
2023-12-13 11:24:25 +01:00
WerWolv
1a8a9e53e1
impr: More information view UI improvements
2023-12-12 13:20:51 +01:00
WerWolv
045733d188
fix: Auto extractor overwriting existing files
2023-12-12 12:15:32 +01:00
WerWolv
f618e634e9
impr: Better UI for the data information view
2023-12-12 12:15:20 +01:00
WerWolv
1b457dae7d
fix: Workspaces not always loading layout correctly
2023-12-12 00:16:21 +01:00
WerWolv
e080164305
fix: Restart imhex popup not working correctly
2023-12-11 23:05:47 +01:00
WerWolv
1e4bb8c91e
impr: Remove Font Awesome
2023-12-11 23:05:35 +01:00
WerWolv
ce27cb11a5
impr: Delete old backup files
2023-12-11 21:29:30 +01:00
WerWolv
b84b82c416
fix: Properly get auto backup file creation time
2023-12-11 21:17:40 +01:00
WerWolv
91230ba438
feat: Added workspaces
2023-12-11 15:54:22 +01:00
WerWolv
7a4358a5ec
feat: Added automatic backups
2023-12-11 11:42:33 +01:00
WerWolv
e6796d1458
fix: Hex editor footer taking up way too much space
2023-12-10 22:46:34 +01:00
WerWolv
1ba34c233e
fix: Various scaling issues
2023-12-10 22:37:26 +01:00
WerWolv
ef7898ea8d
impr: Add support for specifying filtering mode when loading textures
2023-12-09 22:00:35 +01:00
WerWolv
c58c3dd311
impr: Make banner not as obnoxiously big
2023-12-09 16:20:58 +01:00
WerWolv
7738f8c831
impr: Highlight border of information banner when hovered
2023-12-09 15:56:26 +01:00
WerWolv
09a148b8a5
impr: Add hint text about font size when no custom font is selected
2023-12-09 12:14:45 +01:00
WerWolv
878f45dd80
fix: Various build errors
2023-12-08 16:22:36 +01:00
WerWolv
48bc0985d9
impr: Make info banner open a web page
2023-12-08 14:46:32 +01:00
WerWolv
e9bca123c2
impr: Allow per-OS info banners
2023-12-08 14:43:59 +01:00
WerWolv
6df3a9243f
fix: Rename scaling setting to avoid old values being interpreted wrongly
2023-12-08 14:36:42 +01:00
WerWolv
411884966b
fix: Crash when making pattern editor window too small
2023-12-08 11:15:32 +01:00
WerWolv
b4813660b5
refactor: Better interface for the event system
2023-12-08 10:29:44 +01:00
WerWolv
f08d1e265c
impr: Make extra providers window wider
2023-12-07 23:51:11 +01:00
Truman Kilen
5c84ef5f72
feat: Added Linux support to the Process Memory Provider ( #1331 )
...
<!--
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 -->
Implement a Linux backend for the ProcessMemoryProvider plugin.
### Implementation description
<!-- Explain what you did to correct the problem -->
Most of the provider code is the same between Windows and Linux. The
primary differences are:
- enumerate PIDs in `/proc/` to get the process list
- use `/proc/<PID>/cmdline` as the process name
- parse `/proc/<PID>/maps` to get the module list
- reading/writing from memory is done using
`process_vm_readv`/`process_vm_writev`
NOTE: `sudo setcap CAP_SYS_PTRACE=+eip build/imhex` must be run to give
the binary permission to read another process' memory. Running as root
user should also work but I would not recommend it.
### Additional things
The existing translations keys no longer match since I moved the plugin
from `windows` to `builtin`.
I'm not well versed in C++ so I attempted to keep my changes rather
simple. Feedback is very welcome.
---------
Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-12-07 23:33:15 +01:00
WerWolv
8ab85a2af1
feat: Added unit converter to command palette
2023-12-07 16:15:00 +01:00
WerWolv
7f69f8bcdb
impr: More size_t -> u64
2023-12-07 13:02:12 +01:00
WerWolv
3a016da549
impr: Make providers return a 64 bit size on all platforms
2023-12-07 12:06:26 +01:00
WerWolv
7b3e13c748
fix: Add missing localizations
2023-12-07 11:53:31 +01:00
WerWolv
5f8c813aa7
impr: Only show provider selector bar when more than one is open
2023-12-07 11:21:13 +01:00
WerWolv
f68202a098
impr: Make hex editor footer collapsible
2023-12-07 11:20:54 +01:00
WerWolv
9ba6d7ee1e
impr: Added simplified welcome screen
2023-12-07 11:18:49 +01:00
WerWolv
5d24f1b691
impr: Fix input field selection in command palette
2023-12-06 16:20:06 +01:00
WerWolv
370ca740e3
feat: Allow layouts to be locked
2023-12-06 13:49:58 +01:00
WerWolv
ba8430d9e7
impr: Code style
2023-12-06 11:05:13 +01:00
WerWolv
37ac1b66dd
refactor: Task Manager related code
2023-12-06 11:04:35 +01:00
WerWolv
c6b9b947fb
fix: Binding shortcuts to already existing shortcuts behaving weirdly
2023-12-06 09:09:32 +01:00
WerWolv
2b22a15e8c
feat: Added --hexdump subcommand
2023-12-05 16:45:35 +01:00
WerWolv
760b8c7a88
impr: Make long running tasks not freeze ImHex, fix saving non-continuous providers
...
Fixes #1454
2023-12-05 14:32:43 +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
08fd09064a
fix: Settings view still using old system and not opening properly
2023-12-04 22:17:43 +01:00
WerWolv
9afbfec64e
impr: Allow bookmark addresses to be changed, better comment editor
2023-12-02 23:11:31 +01:00
WerWolv
ec7e89b5cf
feat: Added simple context menu to pattern editor
2023-12-02 20:37:28 +01:00
WerWolv
e6ad54b53b
fix: Overlays not being applied properly
2023-12-02 18:42:57 +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
519d965a36
refactor: Move tools to correct namespace, move data processor nodes
2023-12-01 13:53:51 +01:00
WerWolv
a50bb39978
impr: Further improve compile times
2023-11-30 14:40:07 +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
cceac20197
fix: Codicon icons being too far down
2023-11-29 11:02:14 +01:00
WerWolv
540e8458a5
impr: Improve font loading speed
2023-11-29 09:50:57 +01:00
WerWolv
56064df8d5
impr: Properly center icon fonts
2023-11-28 14:21:48 +01:00
WerWolv
df7cc1fefd
impr: Make "Load all glyphs" setting require a restart
2023-11-28 13:53:08 +01:00
WerWolv
23fc232c47
impr: Try to align additional fonts automatically
2023-11-28 13:52:26 +01:00
WerWolv
37ce37862a
fix: Properly clear font name before loading
2023-11-28 11:11:13 +01:00
WerWolv
e75fcadd8f
fix: More strncpy and include issues
2023-11-28 10:56:56 +01:00
WerWolv
2483c421d2
fix: Missing <cstring> include
2023-11-28 10:51:06 +01:00
WerWolv
abf6e37938
impr: More efficiently pack glyphs on font atlas
2023-11-28 10:37:38 +01:00
WerWolv
eae73b3113
fix: Font size not resetting back to default properly
2023-11-28 10:28:06 +01:00
WerWolv
cbf82d7476
impr: Force tables to never collapse to zero height
2023-11-28 10:21:54 +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
8e7716ebcc
fix: Zero-sized patches being created
2023-11-27 15:48:56 +01:00
WerWolv
1b665fa1b3
fix: Loading files into memory
2023-11-27 15:48:46 +01:00
WerWolv
9cbfaed5fe
fix: Empty popup opening when right clicking some provider tabs
2023-11-27 15:37:22 +01:00
WerWolv
494223fff6
fix: Provider load interface not opening
2023-11-27 15:34:05 +01:00
WerWolv
af77b8dfc4
fix: Numeric search tool not displaying values in correct endianess
2023-11-25 19:40:29 +01:00
WerWolv
64be4e692c
impr: More UI adjustments
2023-11-25 19:11:29 +01:00
WerWolv
8e8a926ad9
impr: Better look of footer items
2023-11-25 19:11:29 +01:00
WerWolv
671b032125
impr: Add syntax highlighting to the demangler
2023-11-25 15:36:50 +01:00
WerWolv
8d20277a62
feat: Added setting to enable colored pattern row backgrounds
2023-11-25 13:42:51 +01:00
WerWolv
88032a85cd
impr: Even more about page UI improvements
2023-11-25 13:15:21 +01:00
WerWolv
c821967633
impr: More about page UI improvements
2023-11-25 12:44:20 +01:00
Nik
7e660450ed
feat: Implement better and more complete undo/redo stack ( #1433 )
...
This PR aims to implement a more complete undo/redo stack that, unlike
the old one, also supports undoing insertions, deletions and resize
operations
2023-11-25 12:43:48 +01:00
WerWolv
e5f36ca08d
impr: Greatly improve UI of about page
2023-11-25 00:43:03 +01:00
WerWolv
d8249b3a7c
impr: Make plugins table not get clipped
2023-11-24 21:04:04 +01:00
WerWolv
3c36ef2c69
impr: Disable some more menu items when they're not useful
2023-11-24 20:57:37 +01:00
WerWolv
b050039e35
fix: Duplicate shortcuts not highlighting correctly
2023-11-24 20:17:01 +01:00
WerWolv
fb00f688a8
impr: Update ImGui to use new shadows branch
2023-11-24 15:31:33 +01:00
WerWolv
d6d379108b
fix: ImHex not closing when trying to exit with unsaved changes
2023-11-24 11:42:27 +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
eafeac4e7b
feat: Display task progress percentage in footer
2023-11-23 13:19:50 +01:00
WerWolv
5a58ed5114
fix: Make sure store and about page are opened correctly
2023-11-23 13:08:45 +01:00
WerWolv
b619744093
fix: Command palette not appearing on Linux
2023-11-23 09:33:47 +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
4b13cd666b
fix: Resetting shortcuts not saving change to settings
2023-11-19 19:08:31 +01:00
WerWolv
f9073ee8ee
impr: Prettier data inspector edit button
2023-11-19 16:08:21 +01:00
WerWolv
bd59bcda2c
fix: Hiding data inspector rows graying out row above it
2023-11-19 15:55:05 +01:00
WerWolv
0e9302ff08
fix: Hiding custom data inspector rows hiding all defined in the same file
2023-11-19 15:50:13 +01:00
WerWolv
69bdebeb98
fix: 3D Visualizer mirroring model
2023-11-19 15:14:47 +01:00
WerWolv
3b01dcf230
feat: Allow hiding data inspector rows
2023-11-18 17:23:15 +01:00
WerWolv
331716dd48
impr: Don't draw recents window if there are none
2023-11-18 15:11:19 +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
e7bfa483f8
impr: Make settings tab bar always stick to top of window
2023-11-17 16:05:45 +01:00
WerWolv
36a352b096
feat: Draw info banner on welcome screen if one exists
2023-11-17 15:54:38 +01:00
WerWolv
1f05deddc8
fix: Potential error when parsing Intel Hex and Motorola SREC files
2023-11-17 15:01:57 +01:00
WerWolv
cec925bcdc
feat: Add shortcut editor to settings
2023-11-17 14:46:21 +01:00
WerWolv
3bd779a607
fix: URL Decoding not working correctly
2023-11-17 13:13:17 +01:00
qux-bbb
2036dc91e6
impr: Make CRC-32 use reflected version by default ( #1406 )
...
<!--
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 -->
Before this PR, the CRC-32 value of ImHex is not like most of others.
### Implementation description
<!-- Explain what you did to correct the problem -->
Just set m_reflectIn and m_reflectOut of CRC-32 true by default.
2023-11-16 22:24:55 +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
Nemoumbra
1f7e2f5ed3
fix: IPS Patch Achievement not being obtainable ( #1429 )
...
It turned out that the achievement "ROM hacks" wasn't actually
unlockable.
I'm not sure if the IPS32 patch also has to trigger this achievement,
but it seemed logical to me so I added the call to both methods.
2023-11-16 21:38:20 +01:00
WerWolv
0bace013a1
fix: Unary operators not working correctly in math evaluator
2023-11-16 21:23:58 +01:00
WerWolv
1df8d19399
impr: Display math evaluator errors again
2023-11-16 21:23:38 +01:00
WerWolv
1136556a0d
fix: Don't treat unlocked achievements as invisible anymore
2023-11-16 13:24:09 +01:00
WerWolv
1331b0691f
impr: Better highlighting color when hovering over colors in the theme manager
2023-11-16 13:23:47 +01:00
WerWolv
21057d51e1
impr: More Welcome Screen UI improvements
2023-11-16 13:23:28 +01:00
WerWolv
22eee94436
impr: Better UI for the Welcome screen
2023-11-16 09:32:24 +01:00
WerWolv
dd2ecb3dd9
impr: Replace old headers with new ones in UNIX permission calculator
2023-11-15 22:23:17 +01:00
WerWolv
a51f9fd90c
impr: Better UI for the settings view
2023-11-15 22:22:57 +01:00
WerWolv
e32def409a
build: Upgraded ImGui to v1.90
2023-11-15 20:22:56 +01:00
WerWolv
73454905e8
fix: Theme color flashing amount being off
2023-11-14 22:36:48 +01:00
WerWolv
8e58f469b0
impr: Display latest log at the top of the log console table
2023-11-14 22:30:13 +01:00
WerWolv
5ec7826273
feat: Highlight color when hovering over it in the theme manager
2023-11-14 22:27:29 +01:00
WerWolv
43f1cc7bd0
fix: Highlight color of bookmark not changing with bookmark
2023-11-14 16:50:38 +01:00
WerWolv
b78435c881
feat: Turn provider settings into sidebar
2023-11-14 15:55:34 +01:00
WerWolv
46d3402705
impr: Better UI for the command palette
2023-11-14 12:15:37 +01:00
WerWolv
1ff4d76ae7
feat: Add color names to color picker view
2023-11-14 01:40:54 +01:00
WerWolv
273573ce68
impr: Remove unused includes in tools files
2023-11-14 01:40:43 +01:00
WerWolv
d3ed34d5eb
impr: Display folder names of files in subfolders in file chooser popup
2023-11-14 00:37:07 +01:00
WerWolv
375c74abe5
impr: Add command palette button to the title bar
2023-11-14 00:03:22 +01:00
iTrooz
e0264a3459
refactor: Split data processor nodes in several files ( #1419 )
...
I'm really not sure about how I grouped the nodes, but that's a start.
In need of review
---------
Co-authored-by: Nik <werwolv98@gmail.com>
2023-11-13 23:36:39 +01:00
WerWolv
1f73a87327
fix: Multi-byte hex editor data visualizers behaving incorrectly
2023-11-13 09:28:57 +01:00
WerWolv
0e671b1569
patterns: Updated pattern language
...
Fixes #1196
2023-11-12 22:47:02 +01:00
iTrooz
b04cb7648e
refactor: refactor tools_entries.cpp into several smaller files ( #1418 )
2023-11-12 00:22:01 +00:00
WerWolv
46b1b0ba17
impr: Use ImGui::SeparatorText to draw headers
2023-11-12 00:57:29 +01:00
WerWolv
60e3a657f0
fix: Prevent exporting of zero-sized files to language arrays
2023-11-12 00:25:37 +01:00
WerWolv
9fb60a8ab0
fix: Docking two detached tools to each other causing them to vanish
2023-11-12 00:10:16 +01:00
WerWolv
af77819913
fix: Crash when choosing File -> Select without an active selection
2023-11-11 23:43:32 +01:00
WerWolv
1c8af096de
fix: Out of bounds read with a zero-size file
2023-11-11 23:11:34 +01:00
WerWolv
26f873a364
impr: Improve UI/UX of color picker and regex replacer tool
2023-11-11 22:43:27 +01:00
WerWolv
b101d11821
fix: Separate calculator and graphing calculator input
2023-11-11 21:22:28 +01:00
WerWolv
50a1956d92
fix: Unary operators in math evaluator not working correctly
2023-11-11 21:22:11 +01:00
WerWolv
5a4f31bfa5
feat: Make color picker tool much more useful
2023-11-11 20:56:50 +01:00
WerWolv
7d53636e10
feat: Added simple graphing calculator
2023-11-11 00:54:16 +01:00
WerWolv
ec4942174b
fix: Proxy not being disabled correctly when disabling it in the settings
2023-11-10 21:59:20 +01:00
WerWolv
498d8c1d65
impr: General code cleanup
2023-11-10 20:47:08 +01:00
WerWolv
4fc2fb7a6f
feat: Added support for filtering patterns by value
2023-11-10 14:48:13 +01:00
WerWolv
d12f5016e4
fix: PageUp/PageDown being slightly weird
2023-11-09 16:07:14 +01:00
WerWolv
f1e0960a26
feat: Allow exporting bytes as text to a file
2023-11-09 14:57:58 +01:00
WerWolv
0f5d659ce2
impr: Fade out zero bytes in HTML formatted data
2023-11-09 14:42:29 +01:00
WerWolv
a64aa6941d
fix: Force achievement popup to front
2023-11-08 21:57:19 +01:00
WerWolv
66cac8350e
fix: Kaboom achievement not triggering
2023-11-08 21:40:27 +01:00
WerWolv
384c2a7701
fix: Format string issue
2023-11-08 12:51:39 +01:00
WerWolv
ad4e7c3355
impr: Don't check for overflow every frame
2023-11-08 12:46:47 +01:00
WerWolv
ea5d4ca3ae
impr: Detect overflow in Euclidean algorithm tool
2023-11-08 12:40:33 +01:00
WerWolv
87e7f817c1
feat: Added extended Euclidean algorithm to tools
2023-11-08 11:54:57 +01:00
WerWolv
3af1840c6a
fix: Typo and formatting
2023-11-08 11:54:21 +01:00
WerWolv
e5ff04be29
fix: Crash when using too large column count
2023-11-08 11:54:03 +01:00
WerWolv
da851c3c10
fix: Average and Median nodes using wrong output types
2023-11-08 11:53:46 +01:00
WerWolv
1ca71ec30d
impr: Make sidebar look better
2023-11-07 16:40:41 +01:00
WerWolv
ef320b74b0
impr: Handle showing popups when closing unsaved providers better
2023-11-07 15:31:54 +01:00
WerWolv
669e1921a4
feat: Added Euclidean Algorithms tools
2023-11-07 00:47:10 +01:00
WerWolv
924b4a9436
impr: Replace various fixed-size boxes with dynamic ones
2023-11-07 00:46:44 +01:00
WerWolv
f49b5efac4
fix: UI issues in the data information view
2023-11-07 00:46:17 +01:00
WerWolv
8581ab9eb3
feat: Added simple data access graph to pattern editor
2023-11-06 15:15:35 +01:00
WerWolv
7efe9acefb
fix: Warnings about missing theme/style handlers being printed on launch
2023-11-06 15:15:18 +01:00
WerWolv
94f3664dbc
impr: Make TCP Client/Server table visible when detaching tool
2023-11-05 21:52:12 +01:00
WerWolv
d1f8053fbb
fix: Format string vulnerability
2023-11-05 21:51:49 +01:00
WerWolv
7efdcfd888
fix: Properly align welcome screen again
2023-11-05 21:17:37 +01:00
WerWolv
4e4cdcdf61
feat: Added release notes and commits to about page
2023-11-05 19:57:29 +01:00
WerWolv
4d456f1bc0
impr: Don't display U64_MAX as region size when null provider is open
2023-11-05 00:56:45 +01:00
WerWolv
d6ba41c2d9
fix: Disable IP and Port fields when TCP Client/Server are connected
2023-11-05 00:10:59 +01:00
WerWolv
4c2fe8e03c
impr: Various TCP Client/Server tool improvements
2023-11-05 00:00:32 +01:00
WerWolv
ec95c260bb
fix: Only register event shutting down the network interface once
2023-11-04 23:41:52 +01:00
WerWolv
055e18058f
fix: Network interface not shutting down correctly
2023-11-04 22:20:22 +01:00
WerWolv
fa5e32496c
fix: Make sure main window stays within the window at all times
2023-11-04 22:10:34 +01:00
WerWolv
cd6a62dd27
fix: Welcome screen having a weird header
2023-11-02 09:34:03 +01:00
WerWolv
4e6af607e8
fix: Crash when clicking on the welcome screen
2023-11-02 08:54:02 +01:00
WerWolv
f14f77b4f0
git: Updated Mary's profile link
2023-11-01 10:43:59 +01:00
WerWolv
9617212ef1
impr: Allow visualizers to have optional parameters
2023-10-31 10:56:20 +01:00
WerWolv
c7cee59a77
impr: Added build date and time to about page
2023-10-30 23:24:00 +01:00
WerWolv
c37c53369b
impr: Dock newly opened windows by default
2023-10-30 21:53:44 +01:00
WerWolv
c444ad9280
impr: Bundle default magic file with application
2023-10-29 19:43:45 +01:00
WerWolv
f94c23d64d
fix: Copy As -> Go Array producing syntactically invalid code
...
Fixes #1391
2023-10-26 17:13:59 +02:00
iTrooz
bffc229fa8
feat: handle content store entries managed by the system (in a read-only folder) ( #1389 )
2023-10-24 20:00:49 +02:00
WerWolv
aae5586b5c
fix: Provider tab bar arrow buttons not working
...
Fixes #1374
2023-10-24 19:29:22 +02:00
WerWolv
215e1ffdc8
fix: Weird indentation
2023-10-22 23:06:35 +02:00
WerWolv
cb2aee0ed7
fix: Various TCP tool issues
2023-10-22 21:52:55 +02:00
WerWolv
8cd0561e71
fix: Binary Pattern search being broken with alignments > 1
2023-10-22 20:59:32 +02:00
WerWolv
c3825fff65
fix: Actually fix dropdown default values
2023-10-22 17:51:00 +02:00
WerWolv
c51db87c34
fix: Language setting not defaulting to English anymore
2023-10-22 17:31:53 +02:00
WerWolv
beca8033cf
fix: Modifying last byte in row copies first byte from current row to next row
...
Fixes #1329
2023-10-22 13:46:21 +02:00
Nik
72f2f0877d
feat: Added TCP Client/Server tool ( #1379 )
2023-10-21 22:46:45 +00: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
WerWolv
c46e445a04
impr: Store achievement progress immediately when unlocking one
2023-10-20 13:34:45 +02:00
WerWolv
5227887dbf
impr: Added more fine-grained colors to themes
2023-10-20 12:30:21 +02:00
WerWolv
d07d36f784
fix: Loading of data processor workspaces not working correctly
2023-10-19 23:53:20 +02:00
Nik
b4ee02b725
fix: Shift right data processor node displaying shift left in its header
2023-10-19 22:48:11 +02:00
WerWolv
79e25b0889
feat: Added bitwise shift left/right data processor nodes
2023-10-19 22:08:39 +02:00
WerWolv
58870f3057
fix: File load achievement triggering every time a file was opened through the cli
2023-10-17 13:45:12 +02:00
WerWolv
8821f75e6b
impr: Display friendly disk name as the tab title of the disk provider
2023-10-17 10:22:56 +02:00
WerWolv
c49aad6cd3
impr: List all physical drives on windows in the raw disk provider
2023-10-16 23:45:46 +02:00
WerWolv
afceb34729
fix: Crash when opening invalid files through the CLI
2023-10-16 10:59:49 +02:00
paxcut
93c8a45de0
fix: Fixed spacing in bit labels so it works for any font and any size. ( #1365 )
...
Testing various fonts and sizes I realized there were still problems
with the layout of the bit labels. Also I reorganized the code so that
lambdas are defined just before they are used. Comments needed
punctuation too.
Part of the problem was that I had been assuming all along that the
check boxes were ImGui's originals which are always square. In actuality
the width is determined by the width of the character for '0'. Also
ImGui table was adding spacing to separate cells which made the boxes
not start at same place as column. Also for some reason using indent of
zero didn't work as expected but using 0.1 pixels worked. With those
problems fixed it is fairly easy to make sure the labels are centered at
the box except when the first mantissa checkbox gets a label which is
wider that the box width. Before and after show results for different
fonts.
Before:
![image](https://github.com/WerWolv/ImHex/assets/53811119/3778e6d5-6fbd-48e1-ac51-39a6636daea5 )
After:
![image](https://github.com/WerWolv/ImHex/assets/53811119/79c0f027-3119-4762-a4e3-315e84505f3b )
2023-10-15 20:07:51 +00:00
WerWolv
da1b53420f
feat: Added debug variables to aid with development
2023-10-13 23:46:48 +02:00
WerWolv
5a71cc2d61
fix: Wikipedia explainer tool randomly resetting input
2023-10-12 20:35:44 +02:00
WerWolv
b98b60a126
fix: Provider hover tooltip always showing information about current provider
2023-10-12 20:28:02 +02:00
WerWolv
929e0e64a5
fix: Achievement hovering popups showing up even when they are covered by another window
2023-10-12 20:24:02 +02:00
WerWolv
48a1e93cfe
fix: Tool windows drawing on top of the welcome screen
...
Fixes #1364
2023-10-12 15:15:05 +02:00
paxcut
081c581b8c
fix: Layout of large font labels in IEEE 745 floating point tool ( #1337 )
...
### Problem description
The issue seems to only affect the web version of ImHex but it is not
clear why. The labels of the checkboxes that represent bits in the IEEE
745 floating point tool were lay out incorrectly.
### Implementation description
The new code ensures that the bit labels are centered and located in the
middle of the checkbox regardless of the font size and the dear imgui
sized checkboxes.
2023-10-04 22:10:06 +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
89bffbd1bc
fix: Crash when exceptions are thrown in data processor nodes
2023-09-27 14:19:08 +02:00
WerWolv
e80c7bff1c
impr: Refactored forwarder executable and add lots more information to it
2023-09-27 14:14:27 +02:00
WerWolv
b3ef615158
feat: Allow Edit -> Jump to
to jump to little and big endian addresses
...
Closes #1324
2023-09-26 14:01:28 +02:00
WerWolv
89abc8557f
feat: Added shortcuts for the pattern debugger
2023-09-24 18:26:42 +02:00
WerWolv
181a7c5b3d
feat: Added evaluate pattern shortcut
2023-09-24 18:17:58 +02:00
WerWolv
f79e2df11a
feat: Added shortcut to switch between providers
2023-09-24 18:11:17 +02:00
Paul Sorensen
be8c679d4a
impr: Return early to remove nested code ( #1253 )
...
<!--
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 -->
This will simplify the codebase in the pattern drawer. It returns early
on conditional statements and reduces the amount of nested code making
it easier to read and track while developing.
2023-09-20 10:49:09 +02:00
paxcut
c577a42f62
impr: Refactoring of floating point tool to decrease code complexity. ( #1275 )
...
I noticed the bad score on code factor so I reorganized it to make it
more readable and maintainable. In order to break down the big function
into it much smaller parts I encapsulated all the variables that the
functions need to access in two classes, one for the imgui related
statics and the other for non-static variables.
When writing the smaller functions I was noticed that there was room to
simplify the existing algorithms by writing functions that could be
called by parts that previously shared no code. I tested the changes the
same way I tested the original and it seems to work the same way but
maybe a bit faster. Although it may be possible to further optimize the
present code code factor no longer flags the function at all.
2023-09-20 10:48:44 +02:00
Lennard Fonteijn
ad69ac84b1
feat: Added hex::group attribute and various fixes ( #1302 )
...
As discussed (many times) on Discord, does the same as the new favorite
tag, but instead allows you to add multiple groups.
Initially, this would cause some insane issues with draw/reset
(apparantly) fighting eachother in the pattern drawer. After a lot of
trial and error, I decided to rewrite the flow that is responsible for
calling reset. Now evaluating patterns is the one to decide when the
reset happens, not the core "game"-loop.
To make sure that draw and reset can never happen at the same time, the
mutex originally used for the favorites has been repurposed. Due to the
restructuring, the mutex in the favorite-task is no longer needed, as
that will only ever kick-off after reset is called and if there are
actually patterns, which can never line up to be accessed on different
threads at the same time.
Last but not least, I noticed that hard crashes could result in your
config file getting overridden. I added a check to prevent that.
Last I issue I can see is that if you use an excessive amount of
favorites/groups, a crash can still happen, but it only happens when you
close the program (occasionally, but unpredictable). Before, this would
happen if you ran the evaluation a second time. I boiled the cause of
the crash down to these lines of code in evaluator.cpp >
patternDestroyed:
```cpp
if (pattern->isPatternLocal()) {
if (auto it = this->m_patternLocalStorage.find(pattern->getHeapAddress()); it != this->m_patternLocalStorage.end()) {
auto &[key, data] = *it;
data.referenceCount--;
if (data.referenceCount == 0)
this->m_patternLocalStorage.erase(it);
} else if (!this->m_evaluated) {
err::E0001.throwError(fmt::format("Double free of variable named '{}'.", pattern->getVariableName()));
}
}
```
Specifically, trying to access the `*it` is the reason for the crash
(this was also the cause of the crashes before my fixes, but then during
evaluation).
I'm suspecting the root cause is somewhere in the `.clone` methods of
the patterns. I'd say that for now a crash when closing the program is
more acceptable than during evaluation (which can even happen if you use
favorites).
2023-09-16 13:09:59 +02:00
Imron jehleh
64a30a45d5
fix: Error popup now showing up immediately after click ( #1272 )
...
From #1265 , Looks like Error Popup doesn't handle properly in some
circumstances.
---------
Co-authored-by: iTrooz <hey@itrooz.fr>
Co-authored-by: WerWolv <werwolv98@gmail.com>
2023-09-16 13:09:24 +02:00
WerWolv
1a2a926b77
fix: "About ... that much" achievement not triggering correctly
2023-09-12 22:24:12 +02:00
WerWolv
da18428f27
fix: Highlighting not being cleared correctly in some cases
2023-09-12 22:23:47 +02:00
iTrooz
5e86f62a98
fix: Handle exceptions thrown by providers on loadSettings() ( #1307 )
2023-09-12 12:00:00 +02:00
WerWolv
1bb0a72bed
fix: Issues with various float nodes
2023-09-04 19:59:09 +02:00
WerWolv
7685a22c5f
fix: Crash when pressing delete twice when data processor nodes are selected
2023-09-04 19:58:55 +02:00
WerWolv
4ff25819c2
fix: Pasting not working correctly on non-zero pages
...
Fixes #1291
2023-09-03 16:25:51 +02:00
WerWolv
563ff5a774
fix: Future proof the previous fix
2023-09-03 16:18:29 +02:00
WerWolv
b042b8327a
fix: Crash when re-opening a custom section window while having a selection in it
2023-09-03 16:09:06 +02:00
WerWolv
971c8739ca
fix: Potential crash when preprocessing invalid pattern file when loading a file
2023-09-03 15:49:27 +02:00
WerWolv
26f4aa0d9f
fix: Buffer to integer node not working correctly
2023-09-03 15:41:00 +02:00
WerWolv
b2d1568abb
fix: First overlay being assigned to all end nodes
2023-09-03 13:44:13 +02:00
WerWolv
632f388ece
impr: Make --pl subcommand automatically register ImHex's include dirs
2023-09-03 12:25:00 +02:00
WerWolv
0bbd21f25a
fix: Build issues with older standard libraries
2023-09-03 11:44:48 +02:00
WerWolv
367c4ec9c8
impr: More view comments and refactoring
2023-09-03 10:27:03 +02:00
WerWolv
5538307838
impr: Make achievement popups stay up for longer
2023-09-03 10:26:40 +02:00
iTrooz
fc1ad592cb
feat: Adapt content store view for new API contents ( #1268 )
2023-09-02 18:36:34 +02:00
Lennard Fonteijn
f725d763d1
feat: Remember bytes per row in Hex Editor ( #1276 )
2023-09-02 17:52:05 +02:00
iTrooz
c2fe9f0966
fix: verify that file names queried from the store do not allow path traversal ( #1277 )
2023-09-02 17:51:21 +02:00
WerWolv
58cef2361b
impr: Added hint when patterns are still loading
2023-08-30 10:04:06 +02:00
WerWolv
60649d1cba
fix: Occasional crash when using favorites
2023-08-30 09:18:24 +02:00
WerWolv
ea9457c08c
patterns: Added [[hex::favorite]]
attribute
2023-08-29 21:46:08 +02:00
WerWolv
4288f876e2
impr: Added lots of comments and cleaned up many views
2023-08-29 12:14:12 +02:00
iTrooz
10ad239fb9
fix: add _lang suffix to "Load into memory" localization string ( #1267 )
2023-08-28 02:21:41 +02:00
WerWolv
550392c8d6
fix: Texture loading from romfs
2023-08-26 23:43:35 +02:00
WerWolv
ba66005585
impr: Various code cleanup
2023-08-26 12:54:52 +02:00
Justus Garbe
bfc835fc54
fix: add new capstone options and fixed overextending name array
2023-08-26 12:21:44 +02:00
iTrooz
32d6ac2241
feat: move PerProvider data to new provider when saving memory provider into file provider ( #1264 )
2023-08-26 01:47:44 +02:00
iTrooz
175e66a60e
feat: Do not save memory providers as recent entries ( #1259 )
2023-08-25 15:35:15 +02:00
WerWolv
d50fb8d17b
fix: Crash when deleting items from file combiner in some cases
2023-08-19 19:18:57 +02:00
WerWolv
e70ec10b0e
impr: Allow the file combiner tool to select multiple files at once
2023-08-19 19:11:38 +02:00
WerWolv
b4401b7df1
fix: Rest in peace, Anonfiles
2023-08-17 09:27:14 +02:00