Welcome to Trinick's guide to how handicapped Thorfin25 is.
Here is a snip of TGE code related to compiling DSOs:
http://pastebin.com/3xhxFEFUFor those who don't know how an enumerated type works, it's essentially a list where each entry is a text-keyword bound to a number. The first line is equal to zero, the second is equal to one, and so on.
So let's pick an easy one one, like OP_MUL. This is equal to the value 31 in TGE. The following is the exact code for OP_MUL in TGE:
case OP_MUL:
floatStack[FLT-1] = floatStack[FLT] * floatStack[FLT-1];
FLT--;
break;
So, since OP_MUL is equal to 31, let's go find this code inside the Blockland binary.
case 31:
v100 = *(_DWORD *)&dword_748888[4 * dword_74988C] >> dword_748884[dword_74988C];
--dword_74988C;
*(_DWORD *)&dword_748888[4 * dword_74988C] = v100;
continue;
So, obviously this code is a bit harder to read, but we can clearly see that in TGE, OP code 31 performs the operation *, or multiplication. In Blockland, OP code 31 performs the operation >>, or bit shift right. We can thus tell that OP code 31 in Blockland is OP_SHR (shift right) not OP_MUL like in TGE.
So, now that we know the OP codes have been obfuscated in the Blockland binary, we can deduce that if you were to compile a script to DSO using TGE,
every single last operation would be wrong.
You cannot use TGE to compile DSO add-ons for Blockland.