-#if 0
- sceGuSync(0,0); // sync with prev
- sceGuStart(GU_DIRECT, guCmdList);
-// sceGuDispBuffer(480, 272, psp_screen == VRAM_FB0 ? VRAMOFFS_FB1 : VRAMOFFS_FB0, 512);
- sceGuDrawBuffer(GU_PSM_5650, psp_screen == VRAM_FB0 ? VRAMOFFS_FB0 : VRAMOFFS_FB1, 512); // point to back fb?
- sceGuFinish();
-#endif
+ if (fbimg_width >= 480) {
+ g_vertices[0].u = (fbimg_width-480)/2;
+ g_vertices[1].u = src_width - (fbimg_width-480)/2;
+ fbimg_width = 480;
+ fbimg_xoffs = 0;
+ } else {
+ g_vertices[0].u = 0;
+ g_vertices[1].u = src_width;
+ fbimg_xoffs = 240 - fbimg_width/2;
+ }
+
+ if (fbimg_height >= 272) {
+ g_vertices[0].v = (fbimg_height-272)/2;
+ g_vertices[1].v = 240 - (fbimg_height-272)/2;
+ fbimg_height = 272;
+ fbimg_yoffs = 0;
+ } else {
+ g_vertices[0].v = 0;
+ g_vertices[1].v = 240;
+ fbimg_yoffs = 136 - fbimg_height/2;
+ }
+
+ g_vertices[1].x = fbimg_width;
+ g_vertices[1].y = fbimg_height;
+ if (fbimg_xoffs < 0) fbimg_xoffs = 0;
+ if (fbimg_yoffs < 0) fbimg_yoffs = 0;
+ fbimg_offs = (fbimg_yoffs*512 + fbimg_xoffs) * 2; // dst is always 16bit
+
+ lprintf("set_scaling_params:\n");
+ lprintf("offs: %i, %i\n", fbimg_xoffs, fbimg_yoffs);
+ lprintf("xy0, xy1: %i, %i; %i, %i\n", g_vertices[0].x, g_vertices[0].y, g_vertices[1].x, g_vertices[1].y);
+ lprintf("uv0, uv1: %i, %i; %i, %i\n", g_vertices[0].u, g_vertices[0].v, g_vertices[1].u, g_vertices[1].v);