Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
91e9222
Add Capcom's Devil May Cry 3 HD .mod hexpat
haruse23 Jul 2, 2025
76b24fc
Update DMC3 HD Mod.hexpat
haruse23 Jul 2, 2025
7481fe5
Update DMC3 HD Mod.hexpat
haruse23 Jul 2, 2025
7b08f08
Update DMC3 HD Mod.hexpat
haruse23 Jul 2, 2025
e182d17
Add files via upload
haruse23 Jul 2, 2025
d2dfe0a
Update README.md
haruse23 Jul 3, 2025
7e8f603
Rename DMC3 HD Mod.hexpat to dmc3_hd_mod.hexpat
haruse23 Jul 3, 2025
a67765d
Delete patterns/dmc3_hd_mod.hexpat
haruse23 Jul 3, 2025
6de6f37
Delete tests/patterns/test_data/dmc3_hd_mod.hexpat.mod
haruse23 Jul 3, 2025
646057b
Add files via upload
haruse23 Jul 3, 2025
34341eb
Update dmc3_hd_mod.hexpat
haruse23 Jul 8, 2025
fed5db4
Add Capcom's Devil May Cry 3 HD .mod hexpat (#415)
WerWolv Jul 8, 2025
bc35349
PEF - fix export count calculation (#418)
domin568 Jul 8, 2025
44717e9
fix: incorrect names and values for some colormap entries of the text…
paxcut Jul 11, 2025
5c6cb9d
fix: issues with two remaining themes. (#420)
paxcut Jul 11, 2025
f4f004f
improv: Added new text editor semantic highlighting themes. (#422)
paxcut Jul 16, 2025
3b2f098
fix: fixed two typos in this theme (#423)
paxcut Jul 18, 2025
d3b05fd
git: Allow test action to be imported by other projects
WerWolv Jul 29, 2025
60c8d93
git: Make sure other repos check out the right repo
WerWolv Jul 29, 2025
a75a7a5
git: Let the CI still work correctly in PRs
WerWolv Jul 29, 2025
5ed64f9
tests: Include patterns folder as include path to support `import * f…
WerWolv Aug 2, 2025
9207282
patterns: Added Commodore BASIC (#428)
shewitt-au Aug 2, 2025
6b9f39c
patterns: Add SDB pattern (#424)
learn-more Aug 15, 2025
7fd79ec
patterns: Added AppleSingle, AppleDouble, CHD, TARC patterns (#431)
leximayfield Aug 20, 2025
afffd7e
includes/std: Added section parameters to a few std::mem functions
WerWolv Aug 24, 2025
91fd360
includes/std: Fix use of std::mem::size and std::mem::base_address in…
WerWolv Aug 24, 2025
7278a22
includes/std: Fix MagicSearch implementation not being found
WerWolv Aug 24, 2025
c4c75a9
patterns: Add a pattern for Roblox .pack files (#435)
mjarduk Aug 25, 2025
f13d9d3
patterns/upk-ue3: Add magic pragma (#436)
Vemmi Aug 31, 2025
74c06b7
patterns/lua53: Fix lua53 long string (#427)
std-microblock Aug 31, 2025
76f850c
patterns/fas/was: Update FAS, WAS/WA3 pattern files and README.md (#425)
DimaLeon2000 Aug 31, 2025
70dd55a
patterns/q3demo: Quake 3 demos: Handle corrupted files more gracefull…
TomArrow Aug 31, 2025
ff68d1e
patterns: Added Apple IIGS SHR + SHR 3200 + SHR PWA Animation pattern…
hasseily Aug 31, 2025
6630180
patterns: Add .NET BinaryFormatter pattern (#416)
ODeux2 Aug 31, 2025
284ca8d
patterns: Add UEFI Firmare Volume Variable Store pattern (#421)
marcj303 Aug 31, 2025
d95390e
patterns/jpeg: added support for extra data in APP0 section (#417)
Kris-LIBIS Aug 31, 2025
fb21460
patterns/ico: Add embedded BMP and PNG parsing to ICO pattern (#426)
hexadecimalDinosaur Aug 31, 2025
75bcb48
patterns/ico: Fixed duplicate variable name
WerWolv Sep 1, 2025
5359e38
git: Added build folders to gitignore
WerWolv Sep 6, 2025
7dfacc4
revert: includes/std: Added section parameters to a few std::mem func…
WerWolv Sep 6, 2025
50d776f
patterns/ext4: Fix group descriptor table location for non-1024 block…
Zman350x Sep 9, 2025
b24ae36
patterns: Add .gmf (Game Maker 3.x Data) pattern file and its test fi…
DimaLeon2000 Sep 9, 2025
297f611
patterns: Add terminfo pattern (#437)
nightowl286 Sep 9, 2025
69077b9
patterns/ext4: Increase pattern limit to 2 GiB (#440)
Zman350x Sep 12, 2025
ff737c3
Add files via upload
haruse23 Sep 16, 2025
baf773f
Update README.md
haruse23 Sep 16, 2025
bee8802
Update README.md
haruse23 Sep 16, 2025
691c10c
Update README.md
haruse23 Sep 16, 2025
a5d4309
Add files via upload
haruse23 Sep 16, 2025
cba726f
Update ACU_FORGE.hexpat
haruse23 Sep 16, 2025
4279de2
Update README.md
haruse23 Sep 16, 2025
df54d67
Update and rename ACU_DATA_Compressed.hexpat to acu_data_compressed.h…
haruse23 Sep 16, 2025
dd23dfa
Update and rename ACU_FORGE.hexpat to acu_forge.hexpat
haruse23 Sep 16, 2025
400a06b
Update README.md
haruse23 Sep 16, 2025
7e0ab43
Update acu_data_compressed.hexpat
haruse23 Sep 17, 2025
caf1327
Update acu_data_compressed.hexpat
haruse23 Sep 18, 2025
556f813
Add files via upload
haruse23 Sep 18, 2025
f5aeb83
Update and rename ACU_DATA_Decompressed.hexpat to acu_data_decompress…
haruse23 Sep 18, 2025
32b762b
Update README.md
haruse23 Sep 18, 2025
7cb7460
Update acu_data_compressed.hexpat
haruse23 Sep 18, 2025
db46129
Update README.md
haruse23 Sep 18, 2025
0e67ee1
patterns/ico: Disable BMP processing until issues in the pattern lang…
WerWolv Sep 21, 2025
7a9a509
patterns: Add Python Pickle Pattern (#446)
ODeux2 Sep 21, 2025
4fc11f1
patterns: Add ESP32 image pattern (#449)
timschneeb Sep 21, 2025
7eabc06
Delete patterns/acu_data_compressed.hexpat
haruse23 Sep 21, 2025
ac54dcc
Delete patterns/acu_data_decompressed.hexpat
haruse23 Sep 21, 2025
2f586be
Delete patterns/acu_forge.hexpat
haruse23 Sep 21, 2025
f2cbf61
Create acu_forge.hexpat
haruse23 Sep 21, 2025
0ae3f28
Add files via upload
haruse23 Sep 21, 2025
aa84210
Update and rename ACU_DATA_Compressed.hexpat to acu_data_compressed.h…
haruse23 Sep 21, 2025
12f26f1
Update and rename ACU_DATA_Decompressed.hexpat to acu_data_decompress…
haruse23 Sep 21, 2025
dcbc606
Update README.md
haruse23 Sep 21, 2025
1890bf0
Delete patterns/dmc3_hd_mod.hexpat
haruse23 Sep 21, 2025
d5dd93b
Create dmc3_hd_mod.hexpat
haruse23 Sep 21, 2025
e481fee
Update README.md
haruse23 Sep 21, 2025
6c706f2
Update dmc3_hd_mod.hexpat
haruse23 Sep 21, 2025
d7a6dab
Update README.md
haruse23 Sep 21, 2025
a350046
patterns: Credit to NE and improvements on NES (#445)
gmestanley Sep 22, 2025
faff9e0
git: Add option to customize pattern language repo and git hash with …
WerWolv Dec 1, 2025
7ea8632
build: Fix variable name for Git repository reference
WerWolv Dec 1, 2025
b2f126d
constants: Update constants to new system
WerWolv Dec 2, 2025
da005f0
git: Fix json schema checking
WerWolv Dec 5, 2025
53384a4
patterns: Added Windows Notepad State File Parser (#463)
GGal1leo Dec 5, 2025
cc7eb7d
patterns: Add support for Unity Asset Bundle (#461)
KhooHaoYit Dec 5, 2025
c3946d3
patterns/java_class: Add class versions up to j26 (#459)
DexrnZacAttack Dec 5, 2025
a525160
patterns: Added pattern for PopCap's Lua bytecode (#458)
gluecia Dec 5, 2025
0d8bd76
patterns: Improvements to NES & IPS, add SNES, NSF, NSFe (#455)
gmestanley Dec 5, 2025
0a09efd
patterns: Pattern for DOS EXE files (#452)
shewitt-au Dec 5, 2025
681b1a1
patterns: Add support for KTX 1.0 textures (#451)
leximayfield Dec 5, 2025
dd1b55d
Merge branch 'master' into haru233-patterns
WerWolv Dec 5, 2025
28a2975
patterns: Added DFIR Patterns (#442)
F01TECH Dec 5, 2025
84dff0c
patterns: Add json support for glb files (#412)
xZise Dec 5, 2025
ee34040
patterns: Added APFS pattern (#400)
HrantTadevosyan Dec 5, 2025
2a96762
pattern: Add lua 4.0 pattern (#465)
tympanicblock61 Dec 5, 2025
e056491
Merge branch 'master' into haru233-patterns
WerWolv Dec 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ on:
branches: [ '*' ]
repository_dispatch:
types: [run_tests]
workflow_call:
inputs:
pattern_language_git_repo:
type: string
pattern_language_git_hash:
type: string

jobs:
tests:
Expand All @@ -21,6 +27,7 @@ jobs:
- name: 🧰 Checkout
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/ImHex-Patterns
submodules: recursive

- name: ⬇️ Install dependencies
Expand Down Expand Up @@ -61,6 +68,8 @@ jobs:
-DIMHEX_PATTERNS_ENABLE_UNIT_TESTS=ON \
-DLIBPL_ENABLE_TESTS=OFF \
-DLIBPL_ENABLE_CLI=OFF \
-DIMHEX_PATTERNS_LIBPL_GIT_REPO="${{ inputs.pattern_language_git_repo }}" \
-DIMHEX_PATTERNS_LIBPL_GIT_HASH="${{ inputs.pattern_language_git_hash }}" \
-G Ninja \
..
ninja unit_tests
Expand All @@ -73,9 +82,9 @@ jobs:
- name: 📎 Validate JSON Files
run: |
cd constants
for file in ./[!_schema.json]*; do jsonschema -i $file _schema.json; done
for file in ./[!_]*; do jsonschema -i $file _schema.json; done
cd ..

cd tips
for file in ./[!_schema.json]*; do jsonschema -i $file _schema.json; done
for file in ./[!_]*; do jsonschema -i $file _schema.json; done
cd ..
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
tests/cmake*/
tests/build*/
build/
cmake-build-*/

.vscode/
.devcontainer/
Expand Down
18 changes: 15 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,27 @@ endif()
if(NOT TARGET libpl)
include(FetchContent)

if (NOT DEFINED IMHEX_PATTERNS_LIBPL_GIT_REPO OR IMHEX_PATTERNS_LIBPL_GIT_REPO STREQUAL "")
set(LIBPL_GIT_REPO "https://github.com/WerWolv/PatternLanguage")
else()
set(LIBPL_GIT_REPO ${IMHEX_PATTERNS_LIBPL_GIT_REPO})
endif()

if (NOT DEFINED IMHEX_PATTERNS_LIBPL_GIT_HASH OR IMHEX_PATTERNS_LIBPL_GIT_HASH STREQUAL "")
set(LIBPL_GIT_TAG "master")
else()
set(LIBPL_GIT_TAG ${IMHEX_PATTERNS_LIBPL_GIT_HASH})
endif()

FetchContent_Declare(
pattern_language
GIT_REPOSITORY https://github.com/WerWolv/PatternLanguage
GIT_TAG master
GIT_REPOSITORY ${LIBPL_GIT_REPO}
GIT_TAG ${LIBPL_GIT_TAG}
)

FetchContent_MakeAvailable(pattern_language)
endif()

if(IMHEX_PATTERNS_ENABLE_UNIT_TESTS)
add_subdirectory(tests)
endif()
endif()
38 changes: 36 additions & 2 deletions README.md

Large diffs are not rendered by default.

15 changes: 1 addition & 14 deletions constants/_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,10 @@
"title": "Items",
"type": "object",
"required": [
"type",
"value",
"name"
],
"properties": {
"type": {
"$id": "#root/values/items/type",
"title": "Type",
"type": "string",
"default": "",
"examples": [
"int16be",
"int16le",
"int10"
],
"pattern": "^(int10|int16le|int16be)$"
},
"value": {
"$id": "#root/values/items/value",
"title": "Value",
Expand All @@ -54,7 +41,7 @@
"examples": [
"ACDC"
],
"pattern": "^([0-9a-fA-F]+)$"
"pattern": "^.*$"
},
"name": {
"$id": "#root/values/items/name",
Expand Down
69 changes: 23 additions & 46 deletions constants/crc16.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,118 +2,95 @@
"name": "CRC16 Constants",
"values": [
{
"type": "int16be",
"value": "1021",
"value": "10 21",
"name": "CRC-16/CCITT-FALSE Polynomial"
},
{
"type": "int16be",
"value": "8005",
"value": "80 05",
"name": "CRC-16/ARC Polynomial"
},
{
"type": "int16be",
"value": "1021",
"value": "10 21",
"name": "CRC-16/AUG-CCITT Polynomial"
},
{
"type": "int16be",
"value": "8005",
"value": "80 05",
"name": "CRC-16/BUYPASS Polynomial"
},
{
"type": "int16be",
"value": "C867",
"value": "C8 67",
"name": "CRC-16/CDMA2000 Polynomial"
},
{
"type": "int16be",
"value": "8005",
"value": "80 05",
"name": "CRC-16/DDS-110 Polynomial"
},
{
"type": "int16be",
"value": "0589",
"value": "05 89",
"name": "CRC-16/DECT-R Polynomial"
},
{
"type": "int16be",
"value": "0589",
"value": "05 89",
"name": "CRC-16/DECT-X Polynomial"
},
{
"type": "int16be",
"value": "3D65",
"value": "3D 65",
"name": "CRC-16/DNP Polynomial"
},
{
"type": "int16be",
"value": "3D65",
"value": "3D 65",
"name": "CRC-16/EN-13757 Polynomial"
},
{
"type": "int16be",
"value": "1021",
"value": "10 21",
"name": "CRC-16/GENIBUS Polynomial"
},
{
"type": "int16be",
"value": "8005",
"value": "80 05",
"name": "CRC-16/MAXIM Polynomial"
},
{
"type": "int16be",
"value": "1021",
"value": "10 21",
"name": "CRC-16/MCRF4XX Polynomial"
},
{
"type": "int16be",
"value": "1021",
"value": "10 21",
"name": "CRC-16/RIELLO Polynomial"
},
{
"type": "int16be",
"value": "8BB7",
"value": "8B B7",
"name": "CRC-16/T10-DIF Polynomial"
},
{
"type": "int16be",
"value": "A097",
"value": "A0 97",
"name": "CRC-16/TELEDISK Polynomial"
},
{
"type": "int16be",
"value": "1021",
"value": "10 21",
"name": "CRC-16/TMS37157 Polynomial"
},
{
"type": "int16be",
"value": "8005",
"value": "80 05",
"name": "CRC-16/USB Polynomial"
},
{
"type": "int16be",
"value": "1021",
"value": "10 21",
"name": "CRC-A Polynomial"
},
{
"type": "int16be",
"value": "1021",
"value": "10 21",
"name": "CRC-16/KERMIT Polynomial"
},
{
"type": "int16be",
"value": "8005",
"value": "80 05",
"name": "CRC-16/MODBUS Polynomial"
},
{
"type": "int16be",
"value": "1021",
"value": "10 21",
"name": "CRC-16/X-25 Polynomial"
},
{
"type": "int16be",
"value": "1021",
"value": "10 21",
"name": "CRC-16/XMODEM Polynomial"
}
]
Expand Down
27 changes: 9 additions & 18 deletions constants/crc32.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,48 +2,39 @@
"name": "CRC32 Constants",
"values": [
{
"type": "int16be",
"value": "04C11DB7",
"value": "04 C1 1D B7",
"name": "CRC-32 Polynomial"
},
{
"type": "int16be",
"value": "04C11DB7",
"value": "04 C1 1D B7",
"name": "CRC-32/BZIP2 Polynomial"
},
{
"type": "int16be",
"value": "1EDC6F41",
"value": "1E DC 6F 41",
"name": "CRC-32C Polynomial"
},
{
"type": "int16be",
"value": "A833982B",
"value": "A8 33 98 2B",
"name": "CRC-32D Polynomial"
},
{
"type": "int16be",
"value": "04C11DB7",
"value": "04 C1 1D B7",
"name": "CRC-32/MPEG-2 Polynomial"
},
{
"type": "int16be",
"value": "04C11DB7",
"value": "04 C1 1D B7",
"name": "CRC-32/POSIX Polynomial"
},
{
"type": "int16be",
"value": "814141AB",
"value": "81 41 41 AB",
"name": "CRC-32Q Polynomial"
},
{
"type": "int16be",
"value": "04C11DB7",
"value": "04 C1 1D B7",
"name": "CRC-32/JAMCRC Polynomial"
},
{
"type": "int16be",
"value": "000000AF",
"value": "00 00 00 AF",
"name": "CRC-32/XFER Polynomial"
}
]
Expand Down
Loading