mirror of
https://github.com/nippur72/apple1-videocard-lib.git
synced 2024-09-27 06:54:25 +00:00
use flicker free drawing piece technique
This commit is contained in:
parent
07906ea3c1
commit
b8bf064b18
@ -206,13 +206,13 @@ void gr_erasepiece_unmarked(sprite *p) {
|
||||
|
||||
px += STARTBOARD_X;
|
||||
py += STARTBOARD_Y;
|
||||
|
||||
|
||||
for(byte t=0; t<4; t++) {
|
||||
int x = px + data->offset_x;
|
||||
int y = py + data->offset_y;
|
||||
int x = px; byte x1 = data->offset_x; x+= (int) x1;
|
||||
int y = py; byte y1 = data->offset_y; y+= (int) y1;
|
||||
|
||||
int cx = zx + data->offset_x;
|
||||
int cy = zy + data->offset_y;
|
||||
int cx = p->x; cx += (int) x1;
|
||||
int cy = p->y; cy += (int) y1;
|
||||
|
||||
data++;
|
||||
|
||||
|
@ -152,13 +152,13 @@ void handle_player_input() {
|
||||
if(collides(&new_pos)) {
|
||||
break;
|
||||
}
|
||||
gr_erasepiece(&player);
|
||||
gr_drawpiece(&new_pos);
|
||||
// gr_erasepiece(&player);
|
||||
// gr_drawpiece(&new_pos);
|
||||
|
||||
// flicker-free version
|
||||
// ck_markpiece(&new_pos);
|
||||
// gr_erasepiece_unmarked(&player);
|
||||
// gr_drawpiece(&new_pos);
|
||||
ck_markpiece(&new_pos);
|
||||
gr_erasepiece_unmarked(&player);
|
||||
gr_drawpiece(&new_pos);
|
||||
|
||||
ck_drawpiece(&new_pos);
|
||||
sprite_copy(&player,&new_pos);
|
||||
@ -168,13 +168,13 @@ void handle_player_input() {
|
||||
}
|
||||
|
||||
if(allowed == 1) {
|
||||
gr_erasepiece(&player);
|
||||
gr_drawpiece(&new_pos);
|
||||
// gr_erasepiece(&player);
|
||||
// gr_drawpiece(&new_pos);
|
||||
|
||||
// flicker-free version
|
||||
// ck_markpiece(&new_pos);
|
||||
// gr_erasepiece_unmarked(&player);
|
||||
// gr_drawpiece(&new_pos);
|
||||
ck_markpiece(&new_pos);
|
||||
gr_erasepiece_unmarked(&player);
|
||||
gr_drawpiece(&new_pos);
|
||||
|
||||
sprite_copy(&player, &new_pos);
|
||||
}
|
||||
@ -207,13 +207,13 @@ void gameLoop() {
|
||||
}
|
||||
else {
|
||||
// automatic drop does not collide, simply draw it
|
||||
gr_erasepiece(&player); // erase and draw are as close as possible
|
||||
gr_drawpiece(&new_pos);
|
||||
// gr_erasepiece(&player); // erase and draw are as close as possible
|
||||
// gr_drawpiece(&new_pos);
|
||||
|
||||
// flicker-free version
|
||||
// ck_markpiece(&new_pos);
|
||||
// gr_erasepiece_unmarked(&player);
|
||||
// gr_drawpiece(&new_pos);
|
||||
ck_markpiece(&new_pos);
|
||||
gr_erasepiece_unmarked(&player);
|
||||
gr_drawpiece(&new_pos);
|
||||
|
||||
sprite_copy(&player, &new_pos);
|
||||
ck_drawpiece(&player);
|
||||
|
Loading…
Reference in New Issue
Block a user