Something I just realized: the canMove function is a bit out of date. It would be more versatile like this:
Code:
bool canMove(int x, int y)
{
	if(x<0 || x>240 || y<0 || y>160)
		return false;
	
	return Screen->ComboS[ComboAt(x, y)]==0;
}
You'd have to import std.zh, but it should fix the problem of having to specify the top-left corner.


Nice work, by the way. Should be quite useful.