From e12c1c0a62a9ffd3456146f16a497ee3e9d5e089 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Sun, 12 Jul 2009 11:56:38 +0000 Subject: [PATCH] Optimize chopper a bit by making a often used macro an inline function(which means its parameter expressions are evaluated before expanding) and removing a unecessary display clear. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21802 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/chopper.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c index 54a1ae0bfe..2c1132aacd 100644 --- a/apps/plugins/chopper.c +++ b/apps/plugins/chopper.c @@ -165,7 +165,10 @@ Still To do: #if LCD_HEIGHT <= 64 #define CYCLETIME 100 -#define SCALE(x) ((x)==1 ? (x) : ((x) >> 1)) +static inline int SCALE(int x) +{ + return x == 1 ? x : x >> 1; +} #define SIZE 2 #else #define CYCLETIME 60 @@ -657,8 +660,6 @@ static void chopDrawScene(void) #elif LCD_DEPTH == 2 rb->lcd_set_background(LCD_WHITE); #endif - rb->lcd_clear_display(); - chopDrawTheWorld(); chopDrawPlayer(iPlayerPosX - iCameraPosX, iPlayerPosY); @@ -801,6 +802,7 @@ static int chopGameLoop(void) mParticles[i].iWorldY += mParticles[i].iSpeedY; } + rb->lcd_clear_display(); /* Redraw the main window: */ chopDrawScene();