Single-header C++ library for CRC-32/MPEG-2 checksummed POD{1,2,3,4,5,6}/EPD archive file formats used in Terminal Reality game engines
Included as submodule:
DONE
- identified POD checksum ranges
- podorgana example to list and extract checksummed POD3 file contents
TODO
- clean up library interface and add other POD formats
- identify missing header fields in POD3-6
- reverse engineer CPod, CPodFile and CDemonPod used in BloodRayne
- implement compression used in POD4/5
- update termpod Wiki
cmake . --install-prefix=/usr && make install
./podorgana [-a] [-x] english.pod
/* enable audit log output */
tr::pod::type::audit::visible = true;
/* loop through POD3 file arguments */
while(optind < argc)
{
/* create and parse pod 3 file */
tr::pod3::file src(argv[optind++]);
/* extract all entries */
if(extract)
for(size_t i = 0; i < src.entries.size(); i++)
src[i].extract();
}