M
mav
Guest
I figured that it would be cool to develop patch for Cosmo Canyon so you mustn't see the animation. It would be a simple patch to change plot progression variable (before going to Bugenhaggen it's 0xD5 and after - 0xED). Unfortunetly, I'm not that good in C++ and I'm writing in Delphi, and I have problem with checksum function:
Qhimm's code:
Code: [Select]
My code:
Code: [Select]
Could someone point me what I have done wrong ? Program calculates something, but it's diffrent from the original. Help apprieciated
.
Qhimm's code:
Code: [Select]
Code:
int CFF7File::Checksum( char* b ){ int i = 0, t, d; long r = 0xFFFF, len = 4336; long pbit = 0x8000; while( len-- ) { t = b[i++]; r ^= t << 8; for(d=0;d<8;d++) { if( r & pbit ) r = ( r << 1 ) ^ 0x1021; else r <<= 1; } r &= ( 1 << 16 ) - 1; } return ~r;}
My code:
Code: [Select]
Code:
var i, t, d, r, len, pbit: integer; content: array of char; i := 0; while (len >= 0) do begin len := len - 1; i := i + 1; t := ord(content[i]); r := r xor (t shl 8); for d := 0 to 7 do begin if(r and pbit)=0 then r := ( r shl 1 ) xor $1021 else r := r shl 1; r := r and ((1 shl 16) - 1); end; end;
Could someone point me what I have done wrong ? Program calculates something, but it's diffrent from the original. Help apprieciated