Thanks guys, appreciated. Some x86 assembler code, and a tiny bit of C compiled into a DLL for what exactly BasicBoy?
DEF FNTreasureTower_Asm LOCAL I%, lp, skip PRIVATE C% IF C% <> 0 THEN =C% DIM C% 127 FOR I% = 0 TO 2 STEP 2 P% = C% [OPT I% ; EAX = 754x384 source bitmap ; EBX = offsets data (480x384 bitmap) ; ECX = destination buffer (4*480x384) pushad xor edx, edx ; index .lp mov edi, [ebx + 4*edx] ; get offset test edi, edi jz skip mov esi, [eax + edi] ; load pixel from 754x384 source bitmap mov [ecx + 4*edx], esi ; write to destination buffer .skip inc edx cmp edx, (480*384) jl lp popad ret ] NEXT I% = C%
Great to see a whole load of languages / engines in the competitions. It demonstrates it's not the language / engine but the actual game itself which shines through regardless of the method used.