void DRAW_BOX(short x, char y, unsigned char HEIGHT, unsigned char width) { unsigned char a; GrayDBufSetHiddenAMSPlane (DARK_PLANE); ScrRectFill (&(SCR_RECT){{x, y, x+width+7, y+HEIGHT+7}}, &(SCR_RECT){{0, 0, 159, 99}}, A_REVERSE); GrayDBufSetHiddenAMSPlane (LIGHT_PLANE); ScrRectFill (&(SCR_RECT){{x, y, x+width+7, y+HEIGHT+7}}, &(SCR_RECT){{0, 0, 159, 99}}, A_REVERSE); for(a = 0; a < 3; a++) { LINE(x+a, y+a, x+width+7-a, y+a, BLACK-a, A_NORMAL); LINE(x+width+7-a, y+a, x+width+7-a, y+HEIGHT+7-a, BLACK-a, A_NORMAL); LINE(x+a, y+HEIGHT+7-a, x+width+7-a, y+HEIGHT+7-a, BLACK-a, A_NORMAL); LINE(x+a, y+a, x+a, y+HEIGHT+7-a, BLACK-a, A_NORMAL); } /*width = width + 7; HEIGHT = HEIGHT + 7; DrawGrayRect2B(x, y, x+width, y + HEIGHT, COLOR_WHITE, RECT_FILLED, Hiddenl, Hiddend); DrawGrayRect2B(x, y, x+width, y + HEIGHT, COLOR_BLACK, RECT_EMPTY, Hiddenl, Hiddend); DrawGrayRect2B(x + 1, y + 1, x+width-1, y+HEIGHT-1, COLOR_DARKGRAY, RECT_EMPTY, Hiddenl, Hiddend); DrawGrayRect2B(x + 2, y + 2, x+width-2, y+HEIGHT-2, COLOR_LIGHTGRAY, RECT_EMPTY, Hiddenl, Hiddend);*/ }
/*warning, only set amount up to the number of tile movements you have specified in frame, otherwise you might get garbled stuff on the screen*/ void playFrame(MOVE frame[], char direction, char amount){ char id, currentFrame; WIN_RECT boxes[amount]; for(currentFrame = 0; currentFrame <= directionShift[direction]; currentFrame++){ for(id = 0; id< amount; id++){ WIN_RECT s = mkBox(frame[id].yFrom,frame[id].xFrom, direction, currentFrame); boxes[id] = s; drawBox(s,frame[id].beforeValue); } for(id = 0; id< amount; id++){ ScrRectFill(&(SCR_RECT){{boxes[id].x0,boxes[id].y0,boxes[id].x1,boxes[id].y1}},ScrRect,A_REVERSE); } } }