misc/quazip/quacrc32.cpp
author sheepluva
Sat, 24 Sep 2011 01:41:03 +0200
changeset 6002 7f790689205c
parent 5752 ea95ee97c805
permissions -rw-r--r--
rope: CheezeMonkey (omg I mentioned your name :O) has pointed out that there is still a way to get stuck in walls. This should fix it. NOTE: although not necessary for this fix to work rope behavior got also changed: I removed the direction-bias. if you press left and right at the same time the result is now neutral rather than left.

#include "quacrc32.h"

#include "zlib.h"

QuaCrc32::QuaCrc32()
{
	reset();
}

quint32 QuaCrc32::calculate(const QByteArray &data)
{
	return crc32( crc32(0L, Z_NULL, 0), (const Bytef*)data.data(), data.size() );
}

void QuaCrc32::reset()
{
	checksum = crc32(0L, Z_NULL, 0);
}

void QuaCrc32::update(const QByteArray &buf)
{
	checksum = crc32( checksum, (const Bytef*)buf.data(), buf.size() );
}

quint32 QuaCrc32::value()
{
	return checksum;
}