Hyarion 1a9bf41c9d Add support for BPS/BPM/IPS-formatted binary delta patches.
BPS standardization edits.

* Clean up headers.
* Move crc32.c to /crypto/.
* Rename beat.c to bps.c and move it to /system/ with the rest of the non-3DS file formats.

Allocate memory for Source and Target files when possible.

Last-minute BPS improvements.
* BPS fails more gracefully on error, freeing memory and showing a more detailed message.
* BPM no longer deletes the folder it patches to - that should be up to the user.
* BPM is scanned before patching to figure out the total output file size for a more accurate progress bar.

Add IPS support.
2018-04-17 00:49:29 +02:00

11 lines
404 B
C

// C port of byuu's \nall\crc32.hpp, which was released under GPLv3
// https://github.com/eai04191/beat/blob/master/nall/crc32.hpp
// Ported by Hyarion for use with VirtualFatFS
#pragma once
#include "vff.h"
uint32_t crc32_adjust(uint32_t crc32, uint8_t input);
uint32_t crc32_calculate(const uint8_t* data, unsigned int length);
uint32_t crc32_calculate_from_file(FIL inputFile, unsigned int length);