Vladimir Serbinenko
357249fb5a
COMMON: Split slow and fast CRC implementation
...
They have almost nothing in common. And we probably want to kill slow
implementation anyway now that we have tests
2022-11-29 01:05:31 +01:00
Vladimir Serbinenko
05f1a0df51
COMMON: Remove the need for most reflecting when initing reflected table
...
Instead reflect the polynomial and change the shifts. Also removes the
need for explicit init.
This makes our crc more similar to its standard implementation
2022-11-29 01:05:31 +01:00
Vladimir Serbinenko
f06348708c
COMMON: Optimize crcFast and related functions.
...
Currently we reflect every byte when working on reflected CRC's. Instead
follow the standard approach of reversing the table and couple of shifts
which is faster
2022-11-29 01:05:31 +01:00
Vladimir Serbinenko
8f6beba38f
COMMON: Make most CRC functions const as they don't modify the object.
2022-11-29 01:05:31 +01:00
Vladimir Serbinenko
c60281b3d0
COMMON: Fix crc calculation with reflected messages
2022-11-29 01:05:31 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+
2021-12-26 18:48:43 +01:00
Le Philousophe
6a82f704d4
COMMON: Fix build with old GCC
2021-08-11 12:01:40 +02:00
Eugene Sandulenko
d44938f916
COMMON: Added common CRC implementation. Borrowed from Wintermute engine
2021-08-10 19:33:27 +02:00