Thursday 24 April 2008

Error in the original?

I think I found an error in the original (well, windows re-release) of T7G... I can't explain it any other way. If you don't understand assembly, this will probably be lost on you, but I'm going to paste it in anyway:

.text:00404B5A mov eax, [ebp+var_C]
.text:00404B5D imul eax, 3
.text:00404B60 mov ecx, [ebp+cursor_file]
.text:00404B63 mov dl, [ecx+eax]
.text:00404B66 mov byte ptr [ebp+var_1C], dl
.text:00404B69 mov eax, [ebp+var_C]
.text:00404B6C imul eax, 3
.text:00404B6F mov ecx, [ebp+cursor_file]
.text:00404B72 mov dl, [ecx+eax+1]
.text:00404B76 mov byte ptr [ebp+var_1C+1], dl
.text:00404B79 mov eax, [ebp+var_C]
.text:00404B7C imul eax, 3
.text:00404B7F mov ecx, [ebp+cursor_file]
.text:00404B82 mov dl, [ecx+eax+1]
.text:00404B86 mov byte ptr [ebp+var_1C+2], dl

Can it be true? It accidentally uses the green channel twice instead of the blue one. In something as important as the cursor handling it seems unlikely that it would go unnoticed. But then, this is in a fairly obscure part and wouldn't affect all colours in the cursor. Interesting.