From 739f5687bfeacdd01acc9df081120cf7a50b590e Mon Sep 17 00:00:00 2001 From: yoshida_teruhisa Date: Wed, 30 Jan 2008 04:09:07 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=90=E3=83=8A=E3=83=BC=E8=A1=A8=E7=A4=BA?= =?UTF-8?q?=E3=82=92=E8=8B=A5=E5=B9=B2=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@546 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/systemMenu_RED/Launcher/ARM9/src/launcher.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/build/systemMenu_RED/Launcher/ARM9/src/launcher.c b/build/systemMenu_RED/Launcher/ARM9/src/launcher.c index b346cefd..8f8f151a 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/launcher.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/launcher.c @@ -209,6 +209,7 @@ static void SetAffineAnimation( BOOL (*flipparam)[4] ) MtxFx22 mtx; static double wav; fx32 param; + u32 x,y; if(s_csr%FRAME_PER_SELECT == 0){ // 適当に波打たせてみる double s = sin(wav); @@ -220,15 +221,24 @@ static void SetAffineAnimation( BOOL (*flipparam)[4] ) wav = 0; } + // 中央左のバナー mtx._00 = param * ( (*flipparam)[0] ? -1 : 1 ); mtx._01 = 0; mtx._10 = 0; mtx._11 = param * ( (*flipparam)[1] ? -1 : 1 ); - G2_SetOBJAffine((GXOamAffine *)(&banner_oam_attr[0]), &mtx);// 中央左のバナー + G2_SetOBJAffine((GXOamAffine *)(&banner_oam_attr[0]), &mtx); + // アフィンでの反転時はアルゴリズムの関係で位置補正が必要…… + G2_GetOBJPosition(&banner_oam_attr[2], &x, &y); + G2_SetOBJPosition(&banner_oam_attr[2], (int)x-( mtx._00==-FX32_ONE ? 1 : 0 ), (int)y-( mtx._11==-FX32_ONE ? 1 : 0 )); + + // 中央右のバナー param = FX32_ONE - FX32_HALF*(s_csr%FRAME_PER_SELECT)/FRAME_PER_SELECT; mtx._00 = param * ( (*flipparam)[2] ? -1 : 1 ); mtx._11 = param * ( (*flipparam)[3] ? -1 : 1 ); - G2_SetOBJAffine((GXOamAffine *)(&banner_oam_attr[4]), &mtx);// 中央右のバナー + G2_SetOBJAffine((GXOamAffine *)(&banner_oam_attr[4]), &mtx); + // アフィンでの反転時はアルゴリズムの関係で位置補正が必要…… + G2_GetOBJPosition(&banner_oam_attr[3], &x, &y); + G2_SetOBJPosition(&banner_oam_attr[3], (int)x-( mtx._00==-FX32_ONE ? 1 : 0 ), (int)y-( mtx._11==-FX32_ONE ? 1 : 0 )); } static void SetBannerCounter( TitleProperty *titleprop )