No, not really. If you know Blitz a little bit then a little thinking gets you further.
* Don't use the RGB at all. Use Colors (one for each of the 7 tiles).
* Put all the Functions (or Statements after "conversion") on top, right after init and variable declaration. The main routine follows (because you can only call Functions after they have been created).
* If you don't want to screw up too much of the original src, you can go for a screen with the same dimensions, maybe with less colors (8 bit or less). Just make it autoscroll 800x600, the displays dimensions doesn't matter in that case.
* Replace all GLOBAL on top with SHARED (Find&Replace), then encapsulate the whole
GLOBALSHARED block with
Code:
Macro myshared
SHARED Endofgame ;example!
.
.
End Macro
Every declaration, e.g. Global CurPieceX = 3 must go:
Code:
Global CurPieceX = 3
becomes
SHARED CurPieceX
and later (or before, as we encapsulated the Globals into a macro)
CurPieceX = 3
Now, in every function Foo we write the macro call on top
Code:
Function Foo {}
!myshared
.
.
End Function
Which should work just fine.
*Edit:
Please note: You have DIMed some arrays, those Shares must be inside the myshared Macro too.
The provided source is actually quite easy to convert to Blitzbasic2....