step-frame added to debug
authornotaz <notasas@gmail.com>
Tue, 15 Jul 2008 16:00:54 +0000 (16:00 +0000)
committernotaz <notasas@gmail.com>
Tue, 15 Jul 2008 16:00:54 +0000 (16:00 +0000)
git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@548 be3aeb3a-fb24-0410-a615-afba39da0efa

common/common.h
common/menu.c

index 9653db1..1bef02c 100644 (file)
@@ -26,6 +26,8 @@ void menu_flip(void);
 
 #define read_buttons(which) \
        wait_for_input(which)
+#define read_buttons_async(which) \
+       (gp2x_joystick_read(0) & (which))
 #define menu_draw_begin() \
        gp2x_pd_clone_buffer2()
 #define clear_screen() \
@@ -67,6 +69,8 @@ void menu_draw_end(void);
 
 #define read_buttons(which) \
        wait_for_input(which, 0)
+#define read_buttons_async(which) \
+       (psp_pad_read(0) & (which))
 #define clear_screen() \
        memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
 #define darken_screen() \
index 2775859..b3dc27a 100644 (file)
@@ -439,6 +439,7 @@ void debug_menu_loop(void)
                                if ((inp & (BTN_WEST|BTN_LEFT)) == (BTN_WEST|BTN_LEFT)) {\r
                                        mkdir("dumps", 0777);\r
                                        PDebugDumpMem();\r
+                                       while (inp & BTN_WEST) inp = read_buttons_async(BTN_WEST);\r
                                        dumped = 1;\r
                                }\r
                                break;\r
@@ -447,6 +448,13 @@ void debug_menu_loop(void)
                                if (inp & BTN_RIGHT) PicoDrawMask ^= PDRAW_LAYERA_ON;\r
                                if (inp & BTN_DOWN)  PicoDrawMask ^= PDRAW_SPRITES_LOW_ON;\r
                                if (inp & BTN_UP)    PicoDrawMask ^= PDRAW_SPRITES_HI_ON;\r
+                               if (inp & BTN_EAST) {\r
+                                       PsndOut = NULL; // just in case\r
+                                       PicoSkipFrame = 1;\r
+                                       PicoFrame();\r
+                                       PicoSkipFrame = 0;\r
+                                       while (inp & BTN_EAST) inp = read_buttons_async(BTN_EAST);\r
+                               }\r
                                break;\r
                        case 3:\r
                                if (inp & BTN_DOWN)  spr_offs++;\r