patterns: Better code + credit given for ips.hexpat & better readme (#174)

* Add files via upload

* Update README.md

Added nes.hexpat to list of hex patterns

* Fix indenting of hex patterns list

Moved nes.hexpat below NE.hexpat

* Update README.md

Fixed indenting of PP pattern file's description being wrong

* Added x-msdownload MIME type to PE description

* Made indenting & code of ips.hexpat better

* Improvements to gb.hexpat

* Urgent fix to ips.hexpat

* Urgent fix to gb.hexpat
This commit is contained in:
gmestanley
2023-10-15 16:21:19 -03:00
committed by GitHub
parent 4fd710e23e
commit 93494a19a4
3 changed files with 354 additions and 337 deletions

View File

@@ -1,16 +1,15 @@
#pragma author gmestanley
#pragma description IPS (International Patching System) files
#pragma endian big
#include <std/mem.pat>
#include <std/string.pat>
#pragma endian big
u8 eofOffset = 3;
struct Hunk {
u24 offset;
u16 length;
if (length == 0) {
if (!length) {
u16 runCount;
u8 payload;
}
@@ -21,12 +20,9 @@ struct Hunk {
struct IPS {
char signature[5];
if (std::mem::read_string(std::mem::size()-3, 3) != "EOF") {
eofOffset += 3;
}
Hunk hunks[while($ < std::mem::size()-eofOffset)];
Hunk hunks[while($ < std::mem::size() - (3 + 3 * (std::mem::read_string(std::mem::size()-3, 3) != "EOF")))];
char eof[3];
u24 truncatedSize[eofOffset>3];
u24 truncatedSize[3+(std::mem::read_string(std::mem::size()-3, 3) != "EOF")>3];
};
IPS ips @ 0x00;
IPS ips @ 0x00;