From ef9c2f44579543d2fa83632106343ba8b730f734 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Wed, 16 Aug 2017 11:38:04 -0400 Subject: [PATCH] puzzles: fix polygon drawing in Inertia Yet another hack to accommodate our polygon algorithm... Change-Id: Ic5d304be23d30c380b19771ab68cf01c416261b4 --- apps/plugins/puzzles/src/inertia.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/plugins/puzzles/src/inertia.c b/apps/plugins/puzzles/src/inertia.c index c22d2e17d4..918f9797e5 100644 --- a/apps/plugins/puzzles/src/inertia.c +++ b/apps/plugins/puzzles/src/inertia.c @@ -1871,6 +1871,11 @@ static void draw_player(drawing *dr, game_drawstate *ds, int x, int y, coords[d*4+2] = x + TILESIZE/2 + (int)((TILESIZE*3/7) * x2); coords[d*4+3] = y + TILESIZE/2 + (int)((TILESIZE*3/7) * y2); } + /* rockbox hack */ + int tmp[2] = { coords[0], coords[1] }; + memmove(coords, coords + 2, sizeof(int) * DIRECTIONS * 4 - 2); + memcpy(coords + DIRECTIONS * 4 - 2, tmp, 2 * sizeof(int)); + draw_polygon(dr, coords, DIRECTIONS*2, COL_DEAD_PLAYER, COL_OUTLINE); } else { draw_circle(dr, x + TILESIZE/2, y + TILESIZE/2, @@ -1886,8 +1891,6 @@ static void draw_player(drawing *dr, game_drawstate *ds, int x, int y, int coords[14], *c; c = coords; - *c++ = ox + px/9; - *c++ = oy + py/9; *c++ = ox + px/9 + ax*2/3; *c++ = oy + py/9 + ay*2/3; *c++ = ox + px/3 + ax*2/3; @@ -1900,6 +1903,8 @@ static void draw_player(drawing *dr, game_drawstate *ds, int x, int y, *c++ = oy - py/9 + ay*2/3; *c++ = ox - px/9; *c++ = oy - py/9; + *c++ = ox + px/9; + *c++ = oy + py/9; draw_polygon(dr, coords, 7, COL_HINT, COL_OUTLINE); }