-#if 0
- /* these defaults will be changed after reading a Supaplex level file */
- PlayField8 = REDIM_1D(sizeof(byte), 0, FieldMax);
- DisPlayField = REDIM_1D(sizeof(byte), 0, FieldMax);
- PlayField16 = REDIM_1D(sizeof(int), 0, FieldMax);
+ // add preceding playfield buffer (as large as preceding memory area)
+ PlayField16Mem = checked_calloc((game_sp.preceding_buffer_size +
+ SP_MAX_PLAYFIELD_SIZE +
+ SP_HEADER_SIZE) * sizeof(int));
+ PlayField16 = &PlayField16Mem[game_sp.preceding_buffer_size];
+
+ // add preceding playfield buffer (as large as one playfield row)
+ PlayField8Mem = checked_calloc((SP_MAX_PLAYFIELD_WIDTH +
+ SP_MAX_PLAYFIELD_SIZE +
+ SP_HEADER_SIZE) * sizeof(byte));
+ PlayField8 = &PlayField8Mem[SP_MAX_PLAYFIELD_WIDTH];
+}