Revision | 135 (tree) |
---|---|
Time | 2008-07-10 10:27:02 |
Author | bird_may_nike |
ちらつきを改善
@@ -359,11 +359,11 @@ | ||
359 | 359 | psp2chDrawFavorite(); |
360 | 360 | } |
361 | 361 | pgPrintMenuBar(menuStr); |
362 | + pgCopy(s2ch.viewX, 0); | |
363 | + pgCopyMenuBar(); | |
364 | + sceDisplayWaitVblankStart(); | |
365 | + framebuffer = sceGuSwapBuffers(); | |
362 | 366 | } |
363 | - pgCopy(s2ch.viewX, 0); | |
364 | - pgCopyMenuBar(); | |
365 | - sceDisplayWaitVblankStart(); | |
366 | - framebuffer = sceGuSwapBuffers(); | |
367 | 367 | } |
368 | 368 | return 0; |
369 | 369 | } |
@@ -101,7 +101,9 @@ | ||
101 | 101 | s2ch.pgCursorX = 450; |
102 | 102 | s2ch.pgCursorY = 260; |
103 | 103 | pgPrint(ver, BLUE, WHITE, SCR_WIDTH); |
104 | - pgWaitVn(20); | |
104 | + pgCopy(0, 0); | |
105 | + sceDisplayWaitVblankStart(); | |
106 | + framebuffer = sceGuSwapBuffers(); | |
105 | 107 | start = 1; |
106 | 108 | } |
107 | 109 | if(sceCtrlPeekBufferPositive(&s2ch.pad, 1)) |
@@ -128,9 +130,6 @@ | ||
128 | 130 | return; |
129 | 131 | } |
130 | 132 | } |
131 | - pgCopy(0, 0); | |
132 | - sceDisplayWaitVblankStart(); | |
133 | - framebuffer = sceGuSwapBuffers(); | |
134 | 133 | } |
135 | 134 | } |
136 | 135 |
@@ -269,14 +269,14 @@ | ||
269 | 269 | if (change) |
270 | 270 | { |
271 | 271 | psp2chDrawResAnchor(a, anchor, lineFlag); |
272 | + pgCopyWindow(anchor.start * LINE_PITCH, startX, startY, scrX, scrY); | |
273 | + pgWindowFrame(startX, startY, startX + scrX + barW, startY + scrY); | |
274 | + bar.start = anchor.start * LINE_PITCH; | |
275 | + pgScrollbar(&bar, s2ch.resABarColor); | |
276 | + pgCopyMenuBar(); | |
277 | + sceDisplayWaitVblankStart(); | |
278 | + framebuffer = sceGuSwapBuffers(); | |
272 | 279 | } |
273 | - pgCopyWindow(anchor.start * LINE_PITCH, startX, startY, scrX, scrY); | |
274 | - pgWindowFrame(startX, startY, startX + scrX + barW, startY + scrY); | |
275 | - bar.start = anchor.start * LINE_PITCH; | |
276 | - pgScrollbar(&bar, s2ch.resABarColor); | |
277 | - pgCopyMenuBar(); | |
278 | - sceDisplayWaitVblankStart(); | |
279 | - framebuffer = sceGuSwapBuffers(); | |
280 | 280 | } |
281 | 281 | } |
282 | 282 | return; |
@@ -213,7 +213,6 @@ | ||
213 | 213 | |
214 | 214 | sprintf(buf, " %s のアドレスを解決しています", host); |
215 | 215 | pgPrintMenuBar(buf); |
216 | - pgWaitVn(10); | |
217 | 216 | pgCopyMenuBar(); |
218 | 217 | sceDisplayWaitVblankStart(); |
219 | 218 | framebuffer = sceGuSwapBuffers(); |
@@ -242,7 +241,6 @@ | ||
242 | 241 | { |
243 | 242 | pgPrintMenuBar(" Cat_ResolverURL error"); |
244 | 243 | sceNetApctlDisconnect(); |
245 | - pgWaitVn(10); | |
246 | 244 | pgCopyMenuBar(); |
247 | 245 | sceDisplayWaitVblankStart(); |
248 | 246 | framebuffer = sceGuSwapBuffers(); |
@@ -375,7 +373,6 @@ | ||
375 | 373 | } |
376 | 374 | sprintf(buf, " %s (%s)", host, inet_ntoa(addr)); |
377 | 375 | pgPrintMenuBar(buf); |
378 | - pgWaitVn(10); | |
379 | 376 | pgCopyMenuBar(); |
380 | 377 | sceDisplayWaitVblankStart(); |
381 | 378 | framebuffer = sceGuSwapBuffers(); |
@@ -385,7 +382,6 @@ | ||
385 | 382 | sain.sin_addr.s_addr = addr.s_addr; |
386 | 383 | sprintf(buf, " http://%s/%s に接続しています", host, path); |
387 | 384 | pgPrintMenuBar(buf); |
388 | - pgWaitVn(10); | |
389 | 385 | pgCopyMenuBar(); |
390 | 386 | sceDisplayWaitVblankStart(); |
391 | 387 | framebuffer = sceGuSwapBuffers(); |
@@ -409,7 +405,6 @@ | ||
409 | 405 | sceKernelDelayThread(1000); |
410 | 406 | } |
411 | 407 | pgPrintMenuBar("接続しました"); |
412 | - pgWaitVn(10); | |
413 | 408 | pgCopyMenuBar(); |
414 | 409 | sceDisplayWaitVblankStart(); |
415 | 410 | framebuffer = sceGuSwapBuffers(); |
@@ -427,7 +422,6 @@ | ||
427 | 422 | |
428 | 423 | sprintf(buf, "http://%s/%s からデータを転送しています...", host, path); |
429 | 424 | pgPrintMenuBar(buf); |
430 | - pgWaitVn(10); | |
431 | 425 | pgCopyMenuBar(); |
432 | 426 | sceDisplayWaitVblankStart(); |
433 | 427 | framebuffer = sceGuSwapBuffers(); |
@@ -482,11 +476,9 @@ | ||
482 | 476 | recvSize -= 2; |
483 | 477 | net->length = recvSize; |
484 | 478 | recvBody += 2; |
485 | - pgWaitVn(10); | |
486 | 479 | pgCopyMenuBar(); |
487 | 480 | sceDisplayWaitVblankStart(); |
488 | 481 | framebuffer = sceGuSwapBuffers(); |
489 | - pgWaitVn(10); | |
490 | 482 | return 0; |
491 | 483 | } |
492 | 484 |
@@ -502,7 +494,6 @@ | ||
502 | 494 | char phrase[256]; |
503 | 495 | |
504 | 496 | pgPrintMenuBar(recvBuf); |
505 | - pgWaitVn(10); | |
506 | 497 | pgCopyMenuBar(); |
507 | 498 | sceDisplayWaitVblankStart(); |
508 | 499 | framebuffer = sceGuSwapBuffers(); |
@@ -614,7 +605,6 @@ | ||
614 | 605 | } |
615 | 606 | |
616 | 607 | pgPrintMenuBar(" Connecting..."); |
617 | - pgWaitVn(10); | |
618 | 608 | pgCopyMenuBar(); |
619 | 609 | sceDisplayWaitVblankStart(); |
620 | 610 | framebuffer = sceGuSwapBuffers(); |
@@ -642,7 +632,6 @@ | ||
642 | 632 | break; // connected with static IP |
643 | 633 | } |
644 | 634 | pgPrintMenuBar(buf); |
645 | - pgWaitVn(10); | |
646 | 635 | pgCopyMenuBar(); |
647 | 636 | sceDisplayWaitVblankStart(); |
648 | 637 | framebuffer = sceGuSwapBuffers(); |
@@ -660,7 +649,6 @@ | ||
660 | 649 | pgPrintMenuBar(" 接続しました。"); |
661 | 650 | Cat_ResolverInitEngine(); |
662 | 651 | } |
663 | - pgWaitVn(10); | |
664 | 652 | pgCopyMenuBar(); |
665 | 653 | sceDisplayWaitVblankStart(); |
666 | 654 | framebuffer = sceGuSwapBuffers(); |
@@ -702,7 +690,6 @@ | ||
702 | 690 | return 0; |
703 | 691 | } |
704 | 692 | pgPrintMenuBar("接続の設定を検索しています..."); |
705 | - pgWaitVn(10); | |
706 | 693 | pgCopyMenuBar(); |
707 | 694 | sceDisplayWaitVblankStart(); |
708 | 695 | framebuffer = sceGuSwapBuffers(); |
@@ -300,11 +300,11 @@ | ||
300 | 300 | psp2chDrawCategory(s2ch.category.start, s2ch.category.select, s2ch.cateOnColor); |
301 | 301 | psp2chDrawIta(s2ch.ita.start, s2ch.ita.select, s2ch.cateOnColor); |
302 | 302 | } |
303 | + pgCopy(0, 0); | |
304 | + pgCopyMenuBar(); | |
305 | + sceDisplayWaitVblankStart(); | |
306 | + framebuffer = sceGuSwapBuffers(); | |
303 | 307 | } |
304 | - pgCopy(0, 0); | |
305 | - pgCopyMenuBar(); | |
306 | - sceDisplayWaitVblankStart(); | |
307 | - framebuffer = sceGuSwapBuffers(); | |
308 | 308 | } |
309 | 309 | return 0; |
310 | 310 | } |
@@ -218,15 +218,6 @@ | ||
218 | 218 | sceGuDepthBuffer((void*)0x110000,BUF_WIDTH); |
219 | 219 | sceGuOffset(2048 - (SCR_WIDTH/2), 2048 - (SCR_HEIGHT/2)); |
220 | 220 | sceGuViewport(2048, 2048, SCR_WIDTH, SCR_HEIGHT); |
221 | - /* | |
222 | - sceGuFrontFace(GU_CW); | |
223 | - sceGuShadeModel(GU_SMOOTH); | |
224 | - sceGuDisable(GU_DEPTH_TEST); | |
225 | - sceGuDepthRange(65535, 0); | |
226 | - sceGuDepthFunc(GU_GEQUAL); | |
227 | - sceGuEnable(GU_CULL_FACE); | |
228 | - sceGuEnable(GU_CLIP_PLANES); | |
229 | - */ | |
230 | 221 | sceGuEnable(GU_SCISSOR_TEST); |
231 | 222 | sceGuScissor(0, 0, SCR_WIDTH, SCR_HEIGHT); |
232 | 223 | sceGuEnable(GU_BLEND); |
@@ -250,7 +241,6 @@ | ||
250 | 241 | } |
251 | 242 | pgFillvram(WHITE, 0, 0, SCR_WIDTH, SCR_HEIGHT, 2); |
252 | 243 | pgPrintMonaWait(); |
253 | - pgWaitVn(20); | |
254 | 244 | pgCopy(0, 0); |
255 | 245 | sceDisplayWaitVblankStart(); |
256 | 246 | framebuffer = sceGuSwapBuffers(); |
@@ -359,6 +349,7 @@ | ||
359 | 349 | vertices[1].y = dst_rect->bottom; |
360 | 350 | sceGuDrawArray(GU_SPRITES, GU_TEXTURE_16BIT | GU_COLOR_4444 | GU_VERTEX_16BIT | GU_TRANSFORM_2D, 2, NULL, vertices); |
361 | 351 | } |
352 | + sceKernelDcacheWritebackAll(); | |
362 | 353 | sceGuFinish(); |
363 | 354 | sceGuSync(0, GU_SYNC_FINISH); |
364 | 355 | } |
@@ -414,6 +405,7 @@ | ||
414 | 405 | vertices[1].y = dst_rect->bottom; |
415 | 406 | sceGuDrawArray(GU_SPRITES, GU_TEXTURE_16BIT | GU_COLOR_4444 | GU_VERTEX_16BIT | GU_TRANSFORM_2D, 2, NULL, vertices); |
416 | 407 | } |
408 | + sceKernelDcacheWritebackAll(); | |
417 | 409 | sceGuFinish(); |
418 | 410 | sceGuSync(0, GU_SYNC_FINISH); |
419 | 411 | } |
@@ -496,7 +488,6 @@ | ||
496 | 488 | pgPrint(date, s2ch.formColor.title, s2ch.formColor.title_bg, SCR_WIDTH); |
497 | 489 | } |
498 | 490 | printBuf = temp; |
499 | - pgWaitVn(6); | |
500 | 491 | } |
501 | 492 | /***************************** |
502 | 493 | タイトルバーを表示 |
@@ -105,6 +105,18 @@ | ||
105 | 105 | } |
106 | 106 | psp2chDrawMenu((char**)menuList, menu, startX, startY, scrX, scrY); |
107 | 107 | pgPrintMenuBar(menuStr); |
108 | + printBuf = pixels; | |
109 | + pgCopy(s2ch.viewX, s2ch.viewY); | |
110 | + if (bar) | |
111 | + { | |
112 | + pgScrollbar(bar, s2ch.resBarColor); | |
113 | + } | |
114 | + printBuf = winPixels; | |
115 | + pgCopyWindow(0, startX, startY, scrX, scrY); | |
116 | + pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
117 | + pgCopyMenuBar(); | |
118 | + sceDisplayWaitVblankStart(); | |
119 | + framebuffer = sceGuSwapBuffers(); | |
108 | 120 | while (s2ch.running) |
109 | 121 | { |
110 | 122 | if(sceCtrlPeekBufferPositive(&s2ch.pad, 1)) |
@@ -142,20 +154,20 @@ | ||
142 | 154 | if (change) |
143 | 155 | { |
144 | 156 | psp2chDrawMenu((char**)menuList, menu, startX, startY, scrX, scrY); |
157 | + printBuf = pixels; | |
158 | + pgCopy(s2ch.viewX, s2ch.viewY); | |
159 | + if (bar) | |
160 | + { | |
161 | + pgScrollbar(bar, s2ch.resBarColor); | |
162 | + } | |
163 | + printBuf = winPixels; | |
164 | + pgCopyWindow(0, startX, startY, scrX, scrY); | |
165 | + pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
166 | + pgCopyMenuBar(); | |
167 | + sceDisplayWaitVblankStart(); | |
168 | + framebuffer = sceGuSwapBuffers(); | |
145 | 169 | } |
146 | 170 | } |
147 | - printBuf = pixels; | |
148 | - pgCopy(s2ch.viewX, s2ch.viewY); | |
149 | - if (bar) | |
150 | - { | |
151 | - pgScrollbar(bar, s2ch.resBarColor); | |
152 | - } | |
153 | - printBuf = winPixels; | |
154 | - pgCopyWindow(0, startX, startY, scrX, scrY); | |
155 | - pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
156 | - pgCopyMenuBar(); | |
157 | - sceDisplayWaitVblankStart(); | |
158 | - framebuffer = sceGuSwapBuffers(); | |
159 | 171 | } |
160 | 172 | return 0; |
161 | 173 | } |
@@ -201,6 +213,18 @@ | ||
201 | 213 | } |
202 | 214 | psp2chDrawMenu((char**)menuList, menu, startX, startY, scrX, scrY); |
203 | 215 | pgPrintMenuBar(menuStr); |
216 | + printBuf = pixels; | |
217 | + pgCopy(s2ch.viewX, s2ch.viewY); | |
218 | + if (bar) | |
219 | + { | |
220 | + pgScrollbar(bar, s2ch.resBarColor); | |
221 | + } | |
222 | + printBuf = winPixels; | |
223 | + pgCopyWindow(0, startX, startY, scrX, scrY); | |
224 | + pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
225 | + pgCopyMenuBar(); | |
226 | + sceDisplayWaitVblankStart(); | |
227 | + framebuffer = sceGuSwapBuffers(); | |
204 | 228 | while (s2ch.running) |
205 | 229 | { |
206 | 230 | if(sceCtrlPeekBufferPositive(&s2ch.pad, 1)) |
@@ -214,13 +238,11 @@ | ||
214 | 238 | switch (menu.select) |
215 | 239 | { |
216 | 240 | case 0: // NG name add |
217 | - pgFillvram(s2ch.menuWinColor.bg, 0, 0, BUF_WIDTH, BUF_HEIGHT, 2); | |
218 | - pgCopy(0,0); | |
219 | - framebuffer = sceGuSwapBuffers(); | |
220 | 241 | if (psp2chInputDialog(title1, text) == 0 && keyWords[0]) |
221 | 242 | { |
222 | 243 | psp2chNGAdd(ngNameFile, keyWords); |
223 | 244 | } |
245 | + printBuf = winPixels; | |
224 | 246 | break; |
225 | 247 | case 1: // NG name del |
226 | 248 | psp2chNGDel(ngNameFile, bar); |
@@ -229,25 +251,21 @@ | ||
229 | 251 | psp2chNGDel(ngIDFile, bar); |
230 | 252 | break; |
231 | 253 | case 3: // NG word add |
232 | - pgFillvram(s2ch.menuWinColor.bg, 0, 0, BUF_WIDTH, BUF_HEIGHT, 2); | |
233 | - pgCopy(0,0); | |
234 | - framebuffer = sceGuSwapBuffers(); | |
235 | 254 | if (psp2chInputDialog(title2, text) == 0 && keyWords[0]) |
236 | 255 | { |
237 | 256 | psp2chNGAdd(ngWordFile, keyWords); |
238 | 257 | } |
258 | + printBuf = winPixels; | |
239 | 259 | break; |
240 | 260 | case 4: // NG word del |
241 | 261 | psp2chNGDel(ngWordFile, bar); |
242 | 262 | break; |
243 | 263 | case 5: // NG mail add |
244 | - pgFillvram(s2ch.menuWinColor.bg, 0, 0, BUF_WIDTH, BUF_HEIGHT, 2); | |
245 | - pgCopy(0,0); | |
246 | - framebuffer = sceGuSwapBuffers(); | |
247 | 264 | if (psp2chInputDialog(title3, text) == 0 && keyWords[0]) |
248 | 265 | { |
249 | 266 | psp2chNGAdd(ngMailFile, keyWords); |
250 | 267 | } |
268 | + printBuf = winPixels; | |
251 | 269 | break; |
252 | 270 | case 6: // NG mail del |
253 | 271 | psp2chNGDel(ngMailFile, bar); |
@@ -263,20 +281,20 @@ | ||
263 | 281 | if (change) |
264 | 282 | { |
265 | 283 | psp2chDrawMenu((char**)menuList, menu, startX, startY, scrX, scrY); |
284 | + printBuf = pixels; | |
285 | + pgCopy(s2ch.viewX, s2ch.viewY); | |
286 | + if (bar) | |
287 | + { | |
288 | + pgScrollbar(bar, s2ch.resBarColor); | |
289 | + } | |
290 | + printBuf = winPixels; | |
291 | + pgCopyWindow(0, startX, startY, scrX, scrY); | |
292 | + pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
293 | + pgCopyMenuBar(); | |
294 | + sceDisplayWaitVblankStart(); | |
295 | + framebuffer = sceGuSwapBuffers(); | |
266 | 296 | } |
267 | 297 | } |
268 | - printBuf = pixels; | |
269 | - pgCopy(s2ch.viewX, s2ch.viewY); | |
270 | - if (bar) | |
271 | - { | |
272 | - pgScrollbar(bar, s2ch.resBarColor); | |
273 | - } | |
274 | - printBuf = winPixels; | |
275 | - pgCopyWindow(0, startX, startY, scrX, scrY); | |
276 | - pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
277 | - pgCopyMenuBar(); | |
278 | - sceDisplayWaitVblankStart(); | |
279 | - framebuffer = sceGuSwapBuffers(); | |
280 | 298 | } |
281 | 299 | } |
282 | 300 |
@@ -390,6 +408,18 @@ | ||
390 | 408 | } |
391 | 409 | psp2chDrawMenu(list, menu, startX, startY, scrX, scrY); |
392 | 410 | pgPrintMenuBar(menuStr); |
411 | + printBuf = pixels; | |
412 | + pgCopy(s2ch.viewX, s2ch.viewY); | |
413 | + if (bar) | |
414 | + { | |
415 | + pgScrollbar(bar, s2ch.resBarColor); | |
416 | + } | |
417 | + printBuf = winPixels; | |
418 | + pgCopyWindow(0, startX, startY, scrX, scrY); | |
419 | + pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
420 | + pgCopyMenuBar(); | |
421 | + sceDisplayWaitVblankStart(); | |
422 | + framebuffer = sceGuSwapBuffers(); | |
393 | 423 | while (s2ch.running) |
394 | 424 | { |
395 | 425 | if(sceCtrlPeekBufferPositive(&s2ch.pad, 1)) |
@@ -431,20 +461,20 @@ | ||
431 | 461 | if (change) |
432 | 462 | { |
433 | 463 | psp2chDrawMenu(list, menu, startX, startY, scrX, scrY); |
464 | + printBuf = pixels; | |
465 | + pgCopy(s2ch.viewX, s2ch.viewY); | |
466 | + if (bar) | |
467 | + { | |
468 | + pgScrollbar(bar, s2ch.resBarColor); | |
469 | + } | |
470 | + printBuf = winPixels; | |
471 | + pgCopyWindow(0, startX, startY, scrX, scrY); | |
472 | + pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
473 | + pgCopyMenuBar(); | |
474 | + sceDisplayWaitVblankStart(); | |
475 | + framebuffer = sceGuSwapBuffers(); | |
434 | 476 | } |
435 | 477 | } |
436 | - printBuf = pixels; | |
437 | - pgCopy(s2ch.viewX, s2ch.viewY); | |
438 | - if (bar) | |
439 | - { | |
440 | - pgScrollbar(bar, s2ch.resBarColor); | |
441 | - } | |
442 | - printBuf = winPixels; | |
443 | - pgCopyWindow(0, startX, startY, scrX, scrY); | |
444 | - pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
445 | - pgCopyMenuBar(); | |
446 | - sceDisplayWaitVblankStart(); | |
447 | - framebuffer = sceGuSwapBuffers(); | |
448 | 478 | } |
449 | 479 | free(list); |
450 | 480 | free(buf); |
@@ -470,7 +500,6 @@ | ||
470 | 500 | sceIoWrite(fd, "\n", 1); |
471 | 501 | sceIoClose(fd); |
472 | 502 | pgPrintMenuBar("登録しました"); |
473 | - pgWaitVn(10); | |
474 | 503 | pgCopyMenuBar(); |
475 | 504 | sceDisplayWaitVblankStart(); |
476 | 505 | framebuffer = sceGuSwapBuffers(); |
@@ -551,6 +580,18 @@ | ||
551 | 580 | } |
552 | 581 | psp2chDrawMenu((char**)menuList, menu, startX, startY, scrX, scrY); |
553 | 582 | pgPrintMenuBar(menuStr); |
583 | + printBuf = pixels; | |
584 | + pgCopy(s2ch.viewX, s2ch.viewY); | |
585 | + if (bar) | |
586 | + { | |
587 | + pgScrollbar(bar, s2ch.resBarColor); | |
588 | + } | |
589 | + printBuf = winPixels; | |
590 | + pgCopyWindow(0, startX, startY, scrX, scrY); | |
591 | + pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
592 | + pgCopyMenuBar(); | |
593 | + sceDisplayWaitVblankStart(); | |
594 | + framebuffer = sceGuSwapBuffers(); | |
554 | 595 | while (s2ch.running) |
555 | 596 | { |
556 | 597 | if(sceCtrlPeekBufferPositive(&s2ch.pad, 1)) |
@@ -577,19 +618,19 @@ | ||
577 | 618 | if (change) |
578 | 619 | { |
579 | 620 | psp2chDrawMenu((char**)menuList, menu, startX, startY, scrX, scrY); |
621 | + printBuf = pixels; | |
622 | + pgCopy(s2ch.viewX, s2ch.viewY); | |
623 | + if (bar) | |
624 | + { | |
625 | + pgScrollbar(bar, s2ch.resBarColor); | |
626 | + } | |
627 | + printBuf = winPixels; | |
628 | + pgCopyWindow(0, startX, startY, scrX, scrY); | |
629 | + pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
630 | + pgCopyMenuBar(); | |
631 | + sceDisplayWaitVblankStart(); | |
632 | + framebuffer = sceGuSwapBuffers(); | |
580 | 633 | } |
581 | - printBuf = pixels; | |
582 | - pgCopy(s2ch.viewX, s2ch.viewY); | |
583 | - if (bar) | |
584 | - { | |
585 | - pgScrollbar(bar, s2ch.resBarColor); | |
586 | - } | |
587 | - printBuf = winPixels; | |
588 | - pgCopyWindow(0, startX, startY, scrX, scrY); | |
589 | - pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
590 | - pgCopyMenuBar(); | |
591 | - sceDisplayWaitVblankStart(); | |
592 | - framebuffer = sceGuSwapBuffers(); | |
593 | 634 | } |
594 | 635 | } |
595 | 636 | for (i = 0; i < s2ch.font.count; i++) |
@@ -690,6 +731,12 @@ | ||
690 | 731 | } |
691 | 732 | psp2chDrawMenu((char**)menuList, menu, startX, startY, scrX, scrY); |
692 | 733 | pgPrintMenuBar(menuStr); |
734 | + printBuf = winPixels; | |
735 | + pgCopyWindow(0, startX, startY, scrX, scrY); | |
736 | + pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
737 | + pgCopyMenuBar(); | |
738 | + sceDisplayWaitVblankStart(); | |
739 | + framebuffer = sceGuSwapBuffers(); | |
693 | 740 | while (s2ch.running) |
694 | 741 | { |
695 | 742 | if(sceCtrlPeekBufferPositive(&s2ch.pad, 1)) |
@@ -718,20 +765,20 @@ | ||
718 | 765 | if (change) |
719 | 766 | { |
720 | 767 | psp2chDrawMenu((char**)menuList, menu, startX, startY, scrX, scrY); |
768 | + printBuf = pixels; | |
769 | + pgCopy(s2ch.viewX, s2ch.viewY); | |
770 | + if (bar) | |
771 | + { | |
772 | + pgScrollbar(bar, s2ch.resBarColor); | |
773 | + } | |
774 | + printBuf = winPixels; | |
775 | + pgCopyWindow(0, startX, startY, scrX, scrY); | |
776 | + pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
777 | + pgCopyMenuBar(); | |
778 | + sceDisplayWaitVblankStart(); | |
779 | + framebuffer = sceGuSwapBuffers(); | |
721 | 780 | } |
722 | 781 | } |
723 | - printBuf = pixels; | |
724 | - pgCopy(s2ch.viewX, s2ch.viewY); | |
725 | - if (bar) | |
726 | - { | |
727 | - pgScrollbar(bar, s2ch.resBarColor); | |
728 | - } | |
729 | - printBuf = winPixels; | |
730 | - pgCopyWindow(0, startX, startY, scrX, scrY); | |
731 | - pgWindowFrame(startX, startY, startX + scrX, startY + scrY); | |
732 | - pgCopyMenuBar(); | |
733 | - sceDisplayWaitVblankStart(); | |
734 | - framebuffer = sceGuSwapBuffers(); | |
735 | 782 | } |
736 | 783 | for (i = 1; i < menu.count; i++) |
737 | 784 | { |
@@ -80,34 +80,16 @@ | ||
80 | 80 | static int ret = 0; |
81 | 81 | int lineEnd, rMenu, change, res; |
82 | 82 | |
83 | - if (s2ch.findList == NULL) | |
84 | - { | |
85 | - if (psp2chSearchList() < 0) | |
86 | - { | |
87 | - s2ch.sel = retSel; | |
88 | - return 0; | |
89 | - } | |
90 | - ret = retSel; | |
91 | - s2ch.find.start = 0; | |
92 | - s2ch.find.select = 0; | |
93 | - psp2chDrawSearch(); | |
94 | - } | |
95 | - if (s2ch.tateFlag) | |
96 | - { | |
97 | - lineEnd = DRAW_LINE_V; | |
98 | - } | |
99 | - else | |
100 | - { | |
101 | - lineEnd = DRAW_LINE_H; | |
102 | - } | |
103 | 83 | if(sceCtrlPeekBufferPositive(&s2ch.pad, 1)) |
104 | 84 | { |
105 | 85 | if (s2ch.tateFlag) |
106 | 86 | { |
87 | + lineEnd = DRAW_LINE_V; | |
107 | 88 | rMenu = psp2chCursorSet(&s2ch.find, lineEnd, s2ch.findV.shift, &change); |
108 | 89 | } |
109 | 90 | else |
110 | 91 | { |
92 | + lineEnd = DRAW_LINE_H; | |
111 | 93 | rMenu = psp2chCursorSet(&s2ch.find, lineEnd, s2ch.findH.shift, &change); |
112 | 94 | } |
113 | 95 | if (rMenu) |
@@ -132,6 +114,19 @@ | ||
132 | 114 | menuStr = s2ch.menuSearchH.main; |
133 | 115 | } |
134 | 116 | } |
117 | + if (s2ch.findList == NULL) | |
118 | + { | |
119 | + if (psp2chSearchList() < 0) | |
120 | + { | |
121 | + s2ch.sel = retSel; | |
122 | + return 0; | |
123 | + } | |
124 | + ret = retSel; | |
125 | + s2ch.find.start = 0; | |
126 | + s2ch.find.select = 0; | |
127 | + pgPrintMenuBar(menuStr); | |
128 | + change = 1; | |
129 | + } | |
135 | 130 | if (s2ch.pad.Buttons != s2ch.oldPad.Buttons) |
136 | 131 | { |
137 | 132 | s2ch.oldPad = s2ch.pad; |
@@ -186,11 +181,11 @@ | ||
186 | 181 | { |
187 | 182 | s2ch.viewX = res; |
188 | 183 | psp2chDrawSearch(); |
184 | + pgCopy(s2ch.viewX, 0); | |
185 | + pgCopyMenuBar(); | |
186 | + sceDisplayWaitVblankStart(); | |
187 | + framebuffer = sceGuSwapBuffers(); | |
189 | 188 | } |
190 | - pgCopy(s2ch.viewX, 0); | |
191 | - pgCopyMenuBar(); | |
192 | - sceDisplayWaitVblankStart(); | |
193 | - framebuffer = sceGuSwapBuffers(); | |
194 | 189 | } |
195 | 190 | return 0; |
196 | 191 | } |
@@ -204,11 +204,11 @@ | ||
204 | 204 | { |
205 | 205 | s2ch.viewX = res; |
206 | 206 | psp2chDrawThread(); |
207 | + pgCopy(s2ch.viewX, 0); | |
208 | + pgCopyMenuBar(); | |
209 | + sceDisplayWaitVblankStart(); | |
210 | + framebuffer = sceGuSwapBuffers(); | |
207 | 211 | } |
208 | - pgCopy(s2ch.viewX, 0); | |
209 | - pgCopyMenuBar(); | |
210 | - sceDisplayWaitVblankStart(); | |
211 | - framebuffer = sceGuSwapBuffers(); | |
212 | 212 | } |
213 | 213 | return 0; |
214 | 214 | } |