Martyn, was that the one where you randomly changed bytes until you found the instruction that pushes the unit value?
Or did you go thru it with a disassembler and hexeditor?
I think it would be fun to edit the return value of InitProc so instead of
mov eax,1
we have
xor eax,eax
on the demo DLLs to see if it gives the "Could Not Initialize Game" message when they run.
Another thing I have found out, is that some of the Demo DLL support is built in to the EXE, that is, the demos don't have to create a victory trigger and condition... the game handles it for them.