diff --git a/src/check/calc_checksum.c b/src/check/calc_checksum.c new file mode 100644 index 000000000..8e13eb6dd --- /dev/null +++ b/src/check/calc_checksum.c @@ -0,0 +1,24 @@ +#include + +int main(int argc, char** argv) { + if (argc<2) { + printf("usage: %s text\n",argv[0]); + return 1; + } + + unsigned int checker=0x11111111; + unsigned int checker1=0; + int index=0; + + for (char* i=argv[1]; *i; i++) { + checker^=((unsigned int)(*i))<>1|(((checker)^(checker>>2)^(checker>>3)^(checker>>5))&1)<<31); + checker1<<=1; + index=(index+1)&31; + } + + printf("%.8x %x\n",checker,checker1); + + return 0; +} diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 4b5d88899..e157ac871 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -3096,6 +3096,14 @@ void FurnaceGUI::drawSettings() { mmlString[30]="enabled all instrument types"; settings.displayAllInsTypes=!settings.displayAllInsTypes; } + if (checker==0x3f88abcc && checker1==0xf4a6) { + mmlString[30]="OK, if I bring your Partial pitch linearity will you stop bothering me?"; + settings.displayPartial=1; + } + if (checker==0x8537719f && checker1==0x17a1f34) { + mmlString[30]="unlocked audio multi-threading options!"; + settings.showPool=1; + } mmlString[31]=""; }