void fade_and_wait() { //vbFXFadeIn(3); vbDisplayShow(); while(!vbPadKeyDown()); vbDisplayHide(); //vbFXFadeOut(3); }
/* The first thing that the user will see. */ void focus_screen_mainproc() { timer_handle_t wait_timer; volatile int two_seconds_passed = 0; /* I wonder if this is undefined behavior... as long as the variable doesn't go out of scope while the timer's in effect, I should be okay... */ //setmem((void*)BGMap(0), 0x00, 0x2000); /* Just use the zeroth char for all tiles */ //copymem((void*)CharSeg0, (void*)char_line, 16); /* Only need to use 1 char! */ /* Give time for mirrors to adjust... */ load_warning_scr(); vbDisplayShow(); /* Failure of this function is grounds for halting the program! */ wait_timer = request_timer(200, set_true, &two_seconds_passed); //while(!(two_seconds_passed && vbPadKeyDown())); fade_and_wait(); vbDisplayHide(); remove_timer(wait_timer); load_ipdfoc_scr(); fade_and_wait(); //vbDisplayOn(); //curr_game_ //vbPadKeyDown(); //while(vbPadKeyDown() != K_BTNS); /* jump_to_reset(); */ /* return TRI_DEMO; */ }
void triangle_mainproc() { WA[31].head = WRLD_END; vbDisplayShow(); int poly_count; /* Bind vector to routine */ vpu_vector = (unsigned long) vpu_int; frame_begin = 0; VIP_REGS[INTENB] = 0; VIP_REGS[INTENB] |= XPEND; while(!(vbPadKeyDown())) { //int i; /* for(i = 0; i < 384; i++) { plot_point(i, i, i/12); } */ //Synchronize with display while(!frame_has_begun()); //Draw lines until VIP says that "need to draw" //Worst case performance test /* draw_line(create_point(0, 0, 0), create_point(383, 223, 0)); draw_line(create_point(0, 0, 0), create_point(383, 223, 0)); draw_line(create_point(0, 0, 0), create_point(383, 223, 0)); */ /* Bresenham test pattern */ /* abs(tan(x/y)) = 0.26 (15 degrees) */ draw_line(create_point(192, 112, 0), create_point(383, 62, 0)); draw_line(create_point(192, 112, 0), create_point(0, 62, 0)); draw_line(create_point(192, 112, 0), create_point(0, 162, 0)); draw_line(create_point(192, 112, 0), create_point(383, 162, 0)); /* abs(tan(x/y)) = sqrt(3) */ draw_line(create_point(192, 112, 0), create_point(258, 0, 0)); draw_line(create_point(192, 112, 0), create_point(126, 0, 0)); draw_line(create_point(192, 112, 0), create_point(126, 223, 0)); draw_line(create_point(192, 112, 0), create_point(258, 223, 0)); /* abs(tan(x/y)) = 1/sqrt(3) (About equal to aspect ratio) */ draw_line(create_point(192, 112, 0), create_point(383, 0, 0)); draw_line(create_point(192, 112, 0), create_point(0, 0, 0)); draw_line(create_point(192, 112, 0), create_point(0, 223, 0)); draw_line(create_point(192, 112, 0), create_point(383, 223, 0)); /* Vertical/horizontal */ draw_line(create_point(192, 112, 0), create_point(383, 112, 0)); draw_line(create_point(192, 112, 0), create_point(192, 0, 0)); draw_line(create_point(192, 112, 0), create_point(0, 112, 0)); draw_line(create_point(192, 112, 0), create_point(192, 223, 0)); /* Bresenham test pattern */ /* abs(tan(x/y)) = 0.26 (15 degrees) */ //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {383, 62, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {0, 62, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {0, 162, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {383, 162, 0}); // ///* abs(tan(x/y)) = sqrt{3} */ //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {258, 0, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {126, 0, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {126, 223, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {258, 223, 0}); // ///* abs(tan(x/y)) = 1/sqrt{3} (About equal to aspect ratio) */ //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {383, 0, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {0, 0, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {0, 223, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {383, 223, 0}); // ///* Vertical/horizontal */ //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {383, 112, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {192, 0, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {0, 112, 0}); //draw_line((VB_POINT) {192, 112, 0}, (VB_POINT) {192, 223, 0}); //draw_line(create_point(0, 0, 0), create_point(383, 223, 0)); //draw_line(create_point(0, 0, 0), create_point(383, 223, 0)); //poly_count++; } vbDisplayHide(); jump_to_reset(); }