* *Add top level CMakeLists.txt, to make it easier to use both independently and from within other projects
* Add a unit_test target, to attach all unit tests to
* * Fix unit tests for windows
* Silence cmake warning regarding missing top project
* update .gitignore for vscode
---------
Co-authored-by: BobSmun <6492115+BobSmun@users.noreply.github.com>
* Added: BZip3 Compression
* Fixed: Bound the SmallBlock data by parent's size
* Improved: Now uses the name 'Chunk' for block wrappers, such that the name 'block' matches with what the BZ3 API does
* Improved: Import rather than Include std::mem
* Added: Missing 'description' field in pragma
* add support for cartridge size type $54
Added support for cartridge size type $54, corresponding to 1.5 MiB (96 banks).
* add missing license
* Add GBA Cartridge Header
* Update README.md
Added GBA information to README.md and corrected a typo.
* repo-wide: trim trailing spaces
Note: This doesn't touch the .tbl files in encodings/ since they include
meaningful trailing spaces (`20= `)
* patterns: clean up duplicate semicolons
* ELF: add header magic check
* glTF: use type::Magic for magic value
* glTF: check that the file size in the header matches
* xgstexture: fix generics syntax for magic value
* JPEG: define hex enum with 0x00 instead of 0X00
* CI: update deprecated actions
---------
Co-authored-by: Nik <werwolv98@gmail.com>
ordinalTableRVA is not always has value. it might be zero.
Whien this happened, it will failed.
Signed-off-by: Chunhao Hung <chunhao.hung@insyde.com>
Co-authored-by: Chunhao Hung <chunhao.hung@insyde.com>
* Add parsing of general purpose bit flag
Add "GeneralPurposeBitFlags" bitfield definition. The names are based on
the official ZIP format specification although I chose to name the
fields closer to their purpose rather than their official name. This is
intended to make reading the pattern and its output easier. Example:
official name "Language encoding flag (EFS)" my name
"filenameAndCommentAreUtf8" because this immediately explains what it
does.
I chose not to implement the specifics of the "compressionOptions" as
their meanings are specific to the compression method used and it would
make the pattern much more complicated for (in my opinion) little gain.
I also chose to unify the names of the general purpose bit filed in the
LocalFileHeader and the CentralDirectoryFileHeader. Previously, they had
different names, suggesting they might have different meaning. According
to the official docs though, these fields have the exact same meaning.
Official docs: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
* Fix typo and remove redundant type declaration
* use Virtual Filesystem + ZLib support + auto endian detection
* fix builtin
* smh how am I only noticing that I just duplicated a function for no reason
* ifdefs to fix actions moment
Having arrays for dividing the GB ROM up into ROM Banks makes it much easier to jump to and inspect data at the start and end of banks.
- 16K Banks are the typical standard
- 32K banks aren't very common but are used in a couple unlicensed Games such as those using the Wisdom Tree MBC controller
* patterns: Added pattern for Blender project files
* patterns/blend: Added pattern file and test data
* patterns/blend: Fix the thumbnail bugs by passing the source data by reference
* patterns/blend: Added ZSTD support and test data