/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0.If a copy of the MPL was not distributed with this * file, You can obtain one at http ://mozilla.org/MPL/2.0/. */ #include "ESPReader.h" #include #include #undef NDEBUG #include int main(void) { FILE *fp; errno_t ret = fopen_s(&fp, "Skyrim.esm", "rb"); if (ret || !fp) return ret; fseek(fp, 0L, SEEK_END); size_t size = ftell(fp); rewind(fp); char *buffer = malloc(size); if (!buffer) return errno; size_t read = fread(buffer, sizeof(char), size, fp); assert(read == size); struct esp_stats stats = espr_stats(buffer, size); char *decompressed = malloc(stats.decompressed_size); if (!decompressed) return errno; espr_print(buffer, size); espr_decompress(buffer, size, decompressed, stats.decompressed_size); free(buffer); // espr_print(decompressed, stats.decompressed_size); free(decompressed); return 0; }