Commit fa0f59b8 authored by Donald Haase's avatar Donald Haase
Browse files

Remove the list/scene finish in the A-button case of songmenu. Main presumes...

Remove the list/scene finish in the A-button case of songmenu. Main presumes that songmenu leaves the TR list unfinished. Rest is whitespace changes only
parent 2ef76cd7
...@@ -144,136 +144,118 @@ extern char fpsout[138]; ...@@ -144,136 +144,118 @@ extern char fpsout[138];
static int gdc_change_data_type(void *param) { MAKE_SYSCALL(return, param, 0, 10); } static int gdc_change_data_type(void *param) { MAKE_SYSCALL(return, param, 0, 10); }
/* Program entry */ /* Program entry */
int main(int argc, char **argv) { int main(int argc, char **argv) {
int disc_status, last_disc_status, disc_type, checkvcd, isvcd; int disc_status, last_disc_status, disc_type, checkvcd, isvcd;
uint32 params[4]; uint32 params[4];
checkvcd = 0; isvcd = 0; checkvcd = 0; isvcd = 0;
/* dh - Make it easier to just quit out */ /* dh - Make it easier to just quit out */
cont_btn_callback(0, CONT_START | CONT_A | CONT_B | CONT_X | CONT_Y, cont_btn_callback(0, CONT_START | CONT_A | CONT_B | CONT_X | CONT_Y,
(cont_btn_callback_t)arch_exit); (cont_btn_callback_t)arch_exit);
/* Do basic setup */ /* Do basic setup */
pvr_init_defaults(); pvr_init_defaults();
/* Setup the mouse/font texture */ /* Setup the mouse/font texture */
setup_util_texture(); setup_util_texture();
/* Setup background display */ /* Setup background display */
bkg_setup(); bkg_setup();
while (1) { while (1) {
scenestart: scenestart:
pvr_wait_ready(); pvr_wait_ready();
pvr_scene_begin(); pvr_scene_begin();
pvr_list_begin(PVR_LIST_OP_POLY); pvr_list_begin(PVR_LIST_OP_POLY);
/* Opaque list *************************************/ /* Opaque list *************************************/
bkg_render(); bkg_render();
/* End of opaque list */ /* End of opaque list */
pvr_list_finish(); pvr_list_finish();
pvr_list_begin(PVR_LIST_TR_POLY); pvr_list_begin(PVR_LIST_TR_POLY);
/* Translucent list ********************************/ /* Translucent list ********************************/
draw_poly_strf(5.0f, 60.0f, 100.0f, 1.0f, 1.0f, 1.0f, 1.0f, draw_poly_strf(5.0f, 60.0f, 100.0f, 1.0f, 1.0f, 1.0f, 1.0f,
//" VC/DC Pre-0.2 Alpha (C)2006-2008 "); //" VC/DC Pre-0.2 Alpha (C)2006-2008 ");
//" VC/DC 0.2 (C)2006-2009 "); //" VC/DC 0.2 (C)2006-2009 ");
VCDC_VERSION); VCDC_VERSION);
/* Song menu */ /* Song menu */
switch (menu){ switch (menu) {
case 0: case 0:
song_menu_render(); song_menu_render();
if (disc_type==0x20 && checkvcd==0){ if (disc_type==0x20 && checkvcd==0) {
checkvcd = 1; checkvcd = 1;
isvcd = open_vcd(); isvcd = open_vcd();
if (isvcd) if (isvcd) {
{ vmu_set_icon(vcdcontrols_xpm);
vmu_set_icon(vcdcontrols_xpm); /* End of translucent list */
pvr_list_finish();
/* End of translucent list */
pvr_list_finish(); /* Finish the frame *******************************/
pvr_scene_finish();
/* Finish the frame *******************************/
pvr_scene_finish(); strcpy(curdir, "/vcd");
num_entries = 0;
strcpy(curdir, "/vcd"); load_queued = 0;
num_entries = 0;
load_queued = 0; Start_Pbc();
goto scenestart;
Start_Pbc(); }
goto scenestart; }
} break;
case 1:
break;
}
}
break; /* Allow the user to replay a VCD without opening the lid */
case 1: if (isvcd==1) {
break; if (check_start()) {
vmu_set_icon(vcdcontrols_xpm);
}
/* End of translucent list */
pvr_list_finish();
/* Allow the user to replay a VCD without opening the lid */
if (isvcd==1) /* Finish the frame *******************************/
{ pvr_scene_finish();
if (check_start())
{ Start_Pbc();
vmu_set_icon(vcdcontrols_xpm); goto scenestart;
}
/* End of translucent list */ }
pvr_list_finish();
/* End of translucent list */
/* Finish the frame *******************************/ pvr_list_finish();
pvr_scene_finish();
/* Finish the frame *******************************/
Start_Pbc(); pvr_scene_finish();
goto scenestart;
} /* Update the VMU LCD */
} vmu_lcd_update();
cdrom_get_status(&disc_status, &disc_type);
/* End of translucent list */ if( (disc_status == 6) || (disc_status == 7)) {
pvr_list_finish(); strcpy(curdir, "/cd");
menu = 1;
/* Finish the frame *******************************/ num_entries = 0; checkvcd = 0; load_queued = 0; isvcd = 0;
pvr_scene_finish(); lst_size = 0; selected = 0; top = 0;
if (!(disc_status == last_disc_status))
/* Update the VMU LCD */ close_vcd();
vmu_lcd_update(); last_disc_status = disc_status;
} else if (disc_status == 1) {
cdrom_get_status(&disc_status, &disc_type); last_disc_status = disc_status;
if( (disc_status == 6) || (disc_status == 7) ) menu = 0;
{ }
strcpy(curdir, "/cd"); }
menu = 1;
num_entries = 0; checkvcd = 0; load_queued = 0; isvcd = 0; /* Stop the sound */
lst_size = 0; selected = 0; top = 0; spu_disable();
if (!(disc_status == last_disc_status)) close_vcd();
last_disc_status = disc_status; return 0;
} else if (disc_status == 1){
last_disc_status = disc_status;
menu = 0;
}
}
/* Stop the sound */
spu_disable();
return 0;
} }
...@@ -175,8 +175,8 @@ static void stop() { ...@@ -175,8 +175,8 @@ static void stop() {
/* Handle controller input */ /* Handle controller input */
/* static uint8 mcont = 0; */ /* static uint8 mcont = 0; */
static void set_eq_menu() /* Set our 32-band graphic equalizer */ /* Set our 32-band graphic equalizer */
{ static void set_eq_menu() {
int i, in_menu = 1, band = 0, up_moved = 0, down_moved = 0, left_moved = 0, right_moved = 0, int i, in_menu = 1, band = 0, up_moved = 0, down_moved = 0, left_moved = 0, right_moved = 0,
a_pressed = 0; a_pressed = 0;
static int band_value[32] = { static int band_value[32] = {
...@@ -300,8 +300,7 @@ static void set_eq_menu() /* Set our 32-band graphic equalizer */ ...@@ -300,8 +300,7 @@ static void set_eq_menu() /* Set our 32-band graphic equalizer */
#define TOTAL_MENU_ITEMS 4 #define TOTAL_MENU_ITEMS 4
extern int pbc_switch; extern int pbc_switch;
/* This would probably make more sense with some sort of a struct for the menu items, but whatever. */ /* This would probably make more sense with some sort of a struct for the menu items, but whatever. */
static void settings_menu() static void settings_menu() {
{
static int up_moved = 0, down_moved = 0, left_moved = 0, right_moved = 0, static int up_moved = 0, down_moved = 0, left_moved = 0, right_moved = 0,
a_pressed = 0, in_menu = 1, selection = 0, menu_item = 0; a_pressed = 0, in_menu = 1, selection = 0, menu_item = 0;
static int last_selection[TOTAL_MENU_ITEMS]; static int last_selection[TOTAL_MENU_ITEMS];
...@@ -425,204 +424,191 @@ static void settings_menu() ...@@ -425,204 +424,191 @@ static void settings_menu()
} }
if(menu_item==2 && selection==2)set_eq_menu(); if(menu_item==2 && selection==2)set_eq_menu();
} }
void check_controller() { void check_controller() {
static int up_moved = 0, down_moved = 0, a_pressed = 0, y_pressed = 0, x_pressed = 0; static int up_moved = 0, down_moved = 0, a_pressed = 0, y_pressed = 0, x_pressed = 0;
static maple_device_t * mcont = NULL; static maple_device_t * mcont = NULL;
static cont_state_t * state = NULL; static cont_state_t * state = NULL;
if (!mcont) mcont = maple_enum_type(0, MAPLE_FUNC_CONTROLLER); if (!mcont) mcont = maple_enum_type(0, MAPLE_FUNC_CONTROLLER);
state = (cont_state_t *)maple_dev_status(mcont); state = (cont_state_t *)maple_dev_status(mcont);
if (!state) return; if (!state) return;
if ((state->buttons & CONT_DPAD_UP)) { if ((state->buttons & CONT_DPAD_UP)) {
if ((framecnt - up_moved) > 10) { if ((framecnt - up_moved) > 10) {
if (selected > 0) { if (selected > 0) {
selected--; selected--;
if (selected < top) { if (selected < top) {
top = selected; top = selected;
} }
} }
up_moved = framecnt; up_moved = framecnt;
} }
} }
if ((state->buttons & CONT_DPAD_DOWN)) { if ((state->buttons & CONT_DPAD_DOWN)) {
if ((framecnt - down_moved) > 10) { if ((framecnt - down_moved) > 10) {
if (selected < (num_entries - 1)) { if (selected < (num_entries - 1)) {
selected++; selected++;
// if (selected >= (top+14)) { // if (selected >= (top+14)) {
if (selected >= (top+10)) { if (selected >= (top+10)) {
top++; top++;
} }
} }
down_moved = framecnt; down_moved = framecnt;
} }
} }
if (state->ltrig > 0) { if (state->ltrig > 0) {
if ((framecnt - up_moved) > 10) { if ((framecnt - up_moved) > 10) {
// selected -= 14; // selected -= 14;
selected -= 10; selected -= 10;
if (selected < 0) selected = 0;
if (selected < top) top = selected;
up_moved = framecnt;
}
}
if (state->rtrig > 0) {
if ((framecnt - down_moved) > 10) {
// selected += 14;
selected += 10;
if (selected > (num_entries - 1))
selected = num_entries - 1;
// if (selected >= (top+14))
if (selected >= (top+10))
top = selected;
down_moved = framecnt;
}
}
if (selected < 0) selected = 0; if ((state->buttons & CONT_Y)) {
if (selected < top) top = selected; if ((framecnt - y_pressed) > 10) {
up_moved = framecnt; strcat(workstring,curdir);
} strcat(workstring,"/");
} strcat(workstring,entries[selected].fn);
if (state->rtrig > 0) { strcpy(lst_entries[lst_size].fn,workstring);
if ((framecnt - down_moved) > 10) {
// selected += 14;
selected += 10;
if (selected > (num_entries - 1))
selected = num_entries - 1;
// if (selected >= (top+14))
if (selected >= (top+10))
top = selected;
down_moved = framecnt;
}
}
if ((state->buttons & CONT_Y)) { lst_entries[lst_size].size = entries[selected].size;
if ((framecnt - y_pressed) > 10) printf("DEBUG: Entry %d : %s\r\n",lst_size,lst_entries[lst_size].fn);
{
strcat(workstring,curdir);
strcat(workstring,"/");
strcat(workstring,entries[selected].fn);
strcpy(lst_entries[lst_size].fn,workstring);
lst_entries[lst_size].size = entries[selected].size;
printf("DEBUG: Entry %d : %s\r\n",lst_size,lst_entries[lst_size].fn);
workstring[0]=0; workstring[0]=0;
lst_size++;
} lst_size++;
y_pressed=framecnt;
}
if ((state->buttons & CONT_X) ) {
if ((framecnt - x_pressed) > 10){
/* End of translucent list */
pvr_list_finish();
/* Finish the frame *******************************/
pvr_scene_finish();
settings_menu();
a_pressed = framecnt;
x_pressed = framecnt;
/* Restart a scene--we're in the middle of one before here, so we should set one back up. */
pvr_wait_ready();
pvr_scene_begin();
pvr_list_begin(PVR_LIST_OP_POLY);
/* Opaque list *************************************/ }
bkg_render(); y_pressed=framecnt;
}
/* End of opaque list */ if ((state->buttons & CONT_X) ) {
pvr_list_finish(); if ((framecnt - x_pressed) > 10) {
pvr_list_begin(PVR_LIST_TR_POLY); /* End of translucent list */
pvr_list_finish();
}
}
if ((state->buttons & CONT_A) && !load_queued) {
if ((framecnt - a_pressed) > 10)
{
/* End of translucent list */
pvr_list_finish();
/* Finish the frame *******************************/ /* Finish the frame *******************************/
pvr_scene_finish(); pvr_scene_finish();
settings_menu();
if (!strcmp(entries[selected].fn, "Error!")) a_pressed = framecnt;
{ x_pressed = framecnt;
num_entries = 0;
}
else if (lst_size > 0)
{
printf("DEBUG: Playing playlist...\r\n");
lst_playing=0;
stop();
for (lst_playing=0;lst_playing < lst_size; lst_playing++)
{
if (lst_entries[lst_playing].size > 0)
start(lst_entries[lst_playing].fn);
thd_sleep(100);
}
lst_size = lst_playing = 0;
y_pressed=framecnt; /* We do this because in-movie, 'Y' is stop. */
x_pressed=framecnt;
}
else if (entries[selected].size >= 0)
{
char *ext;
stop();
strcpy(playdir,curdir);
strcat(loadme,curdir);
strcat(loadme,"/");
strcat(loadme,entries[selected].fn);
ext = (char *)(strchr(entries[selected].fn, '.')+1);
if(!strcasecmp(ext,"bin"))
{
vmu_set_icon(vcdcontrols_xpm);
play_vcd_image(loadme);
}else{
start(loadme);
}
loadme[0]=0;
iplaying=selected;
y_pressed=framecnt; /* We do this because in-movie, 'Y' is stop. */
x_pressed=framecnt;
}
else
{
if (!strcmp(entries[selected].fn, "<..>"))
{
int i;
for (i=strlen(curdir); i>0; i--)
{
if (curdir[i] == '/')
{
curdir[i] = 0;
break;
}
else
{
curdir[i] = 0;
}
}
}
else
{
if (strcmp(curdir, "/"))
strcat(curdir, "/");
strcat(curdir, entries[selected].fn);
}
mutex_lock(&mut);
selected = top = num_entries = 0;
mutex_unlock(&mut);
printf("current directory is now '%s'\n", curdir);
}
pvr_wait_ready();
pvr_scene_begin();
pvr_list_begin(PVR_LIST_OP_POLY);
/* Opaque list *************************************/ /* Restart a scene--we're in the middle of one before here, so we should set one back up. */
bkg_render(); pvr_wait_ready();
pvr_scene_begin();
pvr_list_begin(PVR_LIST_OP_POLY);
/* End of opaque list */ /* Opaque list *************************************/
pvr_list_finish(); bkg_render();
pvr_list_begin(PVR_LIST_TR_POLY);
/* Translucent list ********************************/ /* End of opaque list */
draw_listing(); pvr_list_finish();
pvr_list_finish(); pvr_list_begin(PVR_LIST_TR_POLY);
pvr_scene_finish();
}
} }
a_pressed = framecnt;
} if ((state->buttons & CONT_A) && !load_queued) {
if ((framecnt - a_pressed) > 10) {
/* End of translucent list */
pvr_list_finish();
/* Finish the frame *******************************/
pvr_scene_finish();
if (!strcmp(entries[selected].fn, "Error!")) {
num_entries = 0;
}
else if (lst_size > 0) {
printf("DEBUG: Playing playlist...\r\n");
lst_playing=0;
stop();
for (lst_playing=0;lst_playing < lst_size; lst_playing++) {
if (lst_entries[lst_playing].size > 0)
start(lst_entries[lst_playing].fn);
thd_sleep(100);
}
lst_size = lst_playing = 0;
y_pressed=framecnt; /* We do this because in-movie, 'Y' is stop. */
x_pressed=framecnt;
}
else if (entries[selected].size >= 0) {
char *ext;
stop();
strcpy(playdir,curdir);
strcat(loadme,curdir);
strcat(loadme,"/");
strcat(loadme,entries[selected].fn);
ext = (char *)(strchr(entries[selected].fn, '.')+1);
if(!strcasecmp(ext,"bin")) {
vmu_set_icon(vcdcontrols_xpm);
play_vcd_image(loadme);
}
else {
start(loadme);
}
loadme[0]=0;
iplaying=selected;
y_pressed=framecnt; /* We do this because in-movie, 'Y' is stop. */
x_pressed=framecnt;
}
else {
if (!strcmp(entries[selected].fn, "<..>")) {
int i;
for (i=strlen(curdir); i>0; i--) {
if (curdir[i] == '/') {
curdir[i] = 0;
break;
}
else {
curdir[i] = 0;
}
}
}
else {
if (strcmp(curdir, "/"))
strcat(curdir, "/");
strcat(curdir, entries[selected].fn);
}
mutex_lock(&mut);
selected = top = num_entries = 0;
mutex_unlock(&mut);
printf("current directory is now '%s'\n", curdir);
}
pvr_wait_ready();
pvr_scene_begin();
pvr_list_begin(PVR_LIST_OP_POLY);
/* Opaque list *************************************/
bkg_render();
/* End of opaque list */
pvr_list_finish();
pvr_list_begin(PVR_LIST_TR_POLY);
/* Translucent list ********************************/
draw_listing();
}
a_pressed = framecnt;
}
} }
/* Check maple bus inputs */ /* Check maple bus inputs */
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment