int wipe_initMelt ( int width, int height, int ticks ) { int i, r; // copy start screen to main screen memcpy(wipe_scr, wipe_scr_start, width*height); // makes this wipe faster (in theory) // to have stuff in column-major format wipe_shittyColMajorXform((short*)wipe_scr_start, width/2, height); wipe_shittyColMajorXform((short*)wipe_scr_end, width/2, height); // setup initial column positions // (y<0 => not ready to scroll yet) y = (int *) Z_Malloc(width*sizeof(int), PU_STATIC, 0); y[0] = -(M_Random()%16); for (i=1;i<width;i++) { r = (M_Random()%3) - 1; y[i] = y[i-1] + r; if (y[i] > 0) y[i] = 0; else if (y[i] == -16) y[i] = -15; } return 0; }
boolean wipe_initMelt(int tics) { int i; speed = (SCREENHEIGHT - (SBARHEIGHT * widescreen)) / 16; // copy start screen to main screen memcpy(wipe_scr, wipe_scr_start, SCREENWIDTH * SCREENHEIGHT); // makes this wipe faster (in theory) // to have stuff in column-major format wipe_shittyColMajorXform((short *)wipe_scr_start); wipe_shittyColMajorXform((short *)wipe_scr_end); // setup initial column positions // (y < 0 => not ready to scroll yet) y = (int *)Z_Malloc(SCREENWIDTH * sizeof(int), PU_STATIC, 0); y[0] = y[1] = -(rand() % 16); for (i = 2; i < SCREENWIDTH - 1; i += 2) y[i] = y[i + 1] = MAX(-15, MIN(y[i - 1] + (rand() % 3) - 1, 0)); return false; }