/*---------------------------------------------------------------------------* * Setting of the Object structure. *---------------------------------------------------------------------------*/ void setObject(void) { s32 Sin, Cos; u8 flags = ((aMenu[MENU_OBJ_FLIPS] ? G_OBJ_FLAG_FLIPS : 0)| (aMenu[MENU_OBJ_FLIPT] ? G_OBJ_FLAG_FLIPT : 0)); objRect[0].s.objX = Ac.objX; objRect[0].s.objY = Ac.objY; objRect[0].s.scaleW = Ac.scaleW; objRect[0].s.scaleH = Ac.scaleH; objRect[0].s.imageFlags = flags; objMtx[0].m.X = objMtx[1].m.X = Ac.objX + (64<<2); objMtx[0].m.Y = objMtx[1].m.Y = Ac.objY; objRect[1].s.scaleW = Ac.scaleW; objRect[1].s.scaleH = Ac.scaleH; objRect[1].s.imageFlags = flags; Cos = (s32)coss(Ac.theta)*2; Sin = (s32)sins(Ac.theta)*2; if (Cos == 0xfffe) Cos = 0x10000; if (Sin == 0xfffe) Sin = 0x10000; if (Cos ==-0xfffe) Cos =-0x10000; if (Sin ==-0xfffe) Sin =-0x10000; objMtx[0].m.A = objMtx[0].m.D = Cos; objMtx[0].m.B = - (objMtx[0].m.C = Sin); objMtx[1].m.A = Cos * 1024 / Ac.scaleW; objMtx[1].m.B = -Sin * 1024 / Ac.scaleH; objMtx[1].m.C = Sin * 1024 / Ac.scaleW; objMtx[1].m.D = Cos * 1024 / Ac.scaleH; objMtx[2].m.X = Ac.objX; objMtx[2].m.Y = Ac.objY; objMtx[2].m.BaseScaleX = Ac.scaleW; objMtx[2].m.BaseScaleY = Ac.scaleH; if (!aMenu[MENU_OBJ_TX_TYPE]){ objRect[0].s.imageFmt = objRect[1].s.imageFmt = G_IM_FMT_RGBA; objRect[0].s.imageSiz = objRect[1].s.imageSiz = G_IM_SIZ_16b; objRect[0].s.imageStride = objRect[1].s.imageStride = GS_PIX2TMEM(32, G_IM_SIZ_16b); } else { objRect[0].s.imageFmt = objRect[1].s.imageFmt = G_IM_FMT_CI; objRect[0].s.imageSiz = objRect[1].s.imageSiz = G_IM_SIZ_4b; objRect[0].s.imageStride = objRect[1].s.imageStride = GS_PIX2TMEM(32, G_IM_SIZ_4b); } osWritebackDCache(objRect, sizeof(uObjSprite)*2); osWritebackDCache(objMtx, sizeof(uObjMtx)*3); return; }
int main() { char as[80], bs[80]; int n; while(1) { printf("\n"); printf("A string ? "); scanf("%s", as); printf("B string ? "); scanf("%s", bs); printf("Insert point ? "); scanf("%d", &n); sins(as, bs, n); printf("A : [%s]\n", as); printf("B : [%s]\n", bs); } }