Tetris Zone

Tetris Zone is an official Tetris game for the Macintosh platform and was released as an Universal Binary (for Intel- and PPC-Macs). A Windows version is also available.

It was one of the first games that attempted to limit the effects of T-spins on the game, by eliminating the recognition of T-spins triples. However, singles and doubles that use the TST twist are still recognised.

Gameplay Details

 * Playfield width: 10
 * Playfield height: 20 visible + 3 hidden (There may be more, but this game has no VS mode so there is no way to verify it)
 * ARE
 * Sprint: No
 * Master: Yes, but the duration decreases as the level increases. Ultimately it drops to zero.
 * Marathon, Challenge: Yes (0.2sec)
 * Initial actions (IRS,IHS): Yes
 * T-Spin detection: 3-corner T (However, points for TST is same as normal triple, and it breaks back-to-back chains)
 * Combo bonus: Yes

Game modes

 * Marathon: Standard marathon mode with 15 level limit. The leveling system is mostly same as Tetris Splash and Tetris Friends, so the optimal way to achieve a high score is using the Single-single combo strategy.
 * Challenge: Score as many points as possible within 10 minutes. This is a somewhat complex, longer variant of Ultra mode. Unlike Ultra mode, there is a level counter, a goal counter, and a 2-minutes level timer. When the goal drops down to zero, the level increases. When the level timer runs out, the goal counter resets. The game ends after playing 10 minutes, or when the player reaches level 31 (impossible without hacking).
 * Sprint: Clear 40 lines as fast as possible. Level is not selectable and fixed to 1.
 * Master: 20G marathon mode with 20 level limit. Level advances by clearing every 10 lines. ARE, lock delay, and line-clear delay will decrease as the level increases.

"bpr" File Hacking
In PC version, inside the "rsrc/GFX" and "rsrc/TPF" directory, you'll see many "bpr" files. These files are encrypted in very simple format. The following simple C source code encrypts/decrypts these files.

/* A simple C source code that encrypts and decrypts bpr file */ /* Globals */ unsigned char *fileBuf; // File buffer unsigned long fileSize; // File size /* Prototypes */ int main(int argc, char *argv[]); int loadFile(char *filename); /* Main function */ int main(int argc, char *argv[]) { int i;    FILE *fp; // Show usage if(argc < 3) { printf("Usage: %s [In] [Out]\n", argv[0]); return 1; }    // Load a file if(!loadFile(argv[1])) { printf("Couldn't load from %s\n", argv[1]); return 2; }    // Encrypt/Decrypt for(i = 0; i < fileSize; i++) { fileBuf[i] = 0xFF - fileBuf[i]; }    // Write fp = fopen(argv[2], "wb"); if(!fp) { printf("Couldn't write to %s\n", argv[2]); return 3; }    fwrite(fileBuf, fileSize, 1, fp); fclose(fp); // Done printf("Done\n"); return 0; } /* Load a file */ int loadFile(char *filename) { FILE *fp; // Open fp = fopen(filename, "rb"); if(!fp) return 0; // Fail // Get size fseek(fp, 0, SEEK_END); fileSize = ftell(fp); fseek(fp, 0, SEEK_SET); // Allocate fileBuf = (unsigned char *)malloc(fileSize); // Read fread(fileBuf, fileSize, 1, fp); // Close fclose(fp); // Done return 1; }
 * 1) include 
 * 2) include 
 * 3) include 

GFX subdirectory contains all graphics, and they are stored in BMP format.

TPF subdirectory contains "TPF" files for all four modes. This game uses TPF file to define some game mechanisms. TPF resembles to "TWS" (Tetris Worlds Script) file, but it comes in almost already-compiled format so only runtime-scripts are in raw text.