// ************************* // Miscellaneous subroutines // ************************* // ******************************************** // check for collision between point and ground // ******************************************** long GetBlockStatus(long tX, long tY) { long t1; if ((Foreground[tX / 16][tY / 16] == 0) || (Foreground[tX / 16][tY / 16] > 192)) { return -1; // Hit nothing } else { t1 = tY % 16; return t1; // Hit something and distance into // it you are } } // ****************************************** // Check for collision between two rectangles // ****************************************** long Collided(long t1X, long t1Y, long t1W, long t1H, long t2X, long t2Y, long t2W, long t2H) { if (t2X <= (t1X + t1W)) { if (t2X >= (t1X - t2W)) { if (t2Y <= (t1Y + t1H)) { if (t2Y >= (t1Y - t2H)) { return 1; } } } } return 0; }