Make user interface much more responsive
things werent being cleared correctly or displayed correctly. Mempack menu is still laggy but it pops up first try
This commit is contained in:
parent
7f472a3266
commit
aa1af6a8cc
129
src/main.c
129
src/main.c
@ -49,6 +49,9 @@
|
||||
#include "menu.h"
|
||||
#include "cic.h"
|
||||
|
||||
#define ED64PLUS
|
||||
#define USE_TRUETYPE
|
||||
|
||||
#ifdef ED64PLUS
|
||||
#define ED64_FIRMWARE_PATH "ED64P"
|
||||
#else
|
||||
@ -1135,7 +1138,6 @@ void loadgbrom(display_context_t disp, TCHAR *rom_path)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void loadmsx2rom(display_context_t disp, TCHAR *rom_path)
|
||||
{
|
||||
|
||||
@ -1319,7 +1321,7 @@ void loadnesrom(display_context_t disp, TCHAR *rom_path)
|
||||
f_close(&romfile);
|
||||
|
||||
boot_cic = CIC_6102;
|
||||
boot_save = 2; //For new neon64
|
||||
boot_save = 2; //SRAM
|
||||
force_tv = 0; //no force
|
||||
cheats_on = 0; //cheats off
|
||||
checksum_fix_on = 0;
|
||||
@ -2340,7 +2342,11 @@ void drawTextInput(display_context_t disp, char *msg)
|
||||
}
|
||||
|
||||
void drawConfirmBox(display_context_t disp)
|
||||
{
|
||||
{ while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
drawBoxNumber(disp, 5);
|
||||
display_show(disp);
|
||||
|
||||
@ -2361,8 +2367,14 @@ void drawConfirmBox(display_context_t disp)
|
||||
}
|
||||
|
||||
void drawShortInfoBox(display_context_t disp, char *text, u8 mode)
|
||||
{
|
||||
{ while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
|
||||
if (mode == 0)
|
||||
|
||||
drawBoxNumber(disp, 7);
|
||||
else if (mode == 1)
|
||||
drawBoxNumber(disp, 8);
|
||||
@ -2787,7 +2799,7 @@ void drawRomConfigBox(display_context_t disp, int line)
|
||||
rom_config[0]--;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
drawBoxNumber(disp, 6);
|
||||
|
||||
drawConfigSelection(disp, rom_config[0]);
|
||||
@ -3025,6 +3037,11 @@ void drawSet4(display_context_t disp)
|
||||
|
||||
void showAboutScreen(display_context_t disp)
|
||||
{
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
drawBoxNumber(disp, 2);
|
||||
display_show(disp);
|
||||
|
||||
@ -3266,7 +3283,7 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (keys.c[0].down || keys_held.c[0].down || keys_held.c[0].y < -25)
|
||||
{
|
||||
switch (input_mapping)
|
||||
@ -3522,7 +3539,11 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
printText(" ", 9, -1, disp);
|
||||
printText("search...", 9, -1, disp);
|
||||
mpk_to_file(disp, input_text, 0);
|
||||
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
drawShortInfoBox(disp, " done", 0);
|
||||
sleep(1000);
|
||||
|
||||
@ -3556,6 +3577,12 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
|
||||
input_mapping = mempak_menu;
|
||||
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
|
||||
drawBoxNumber(disp, 2);
|
||||
|
||||
display_show(disp);
|
||||
@ -3606,9 +3633,14 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
case mempak_menu:
|
||||
|
||||
//c-up or A
|
||||
drawConfirmBox(disp);
|
||||
//confirm format mpk
|
||||
input_mapping = mpk_format;
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
drawConfirmBox(disp);
|
||||
//confirm format mpk
|
||||
input_mapping = mpk_format;
|
||||
break;
|
||||
|
||||
case char_input:
|
||||
@ -3641,21 +3673,26 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
switch (input_mapping)
|
||||
{
|
||||
case file_manager:
|
||||
|
||||
|
||||
if (list[cursor].type != DT_DIR && empty == 0)
|
||||
{
|
||||
{
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
drawBoxNumber(disp, 11);
|
||||
|
||||
display_show(disp);
|
||||
char *part;
|
||||
|
||||
part = malloc(slen(list[cursor].filename));
|
||||
sprintf(part, "%s", list[cursor].filename);
|
||||
part[31] = '\0';
|
||||
|
||||
|
||||
printText(part, 4, 14, disp);
|
||||
|
||||
if (slen(list[cursor].filename) > 31)
|
||||
{
|
||||
{
|
||||
sprintf(part, "%s", list[cursor].filename + 31);
|
||||
part[31] = '\0';
|
||||
printText(part, 4, -1, disp);
|
||||
@ -3694,6 +3731,11 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
|
||||
case mpk_format:
|
||||
// format mpk
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
drawBoxNumber(disp, 2);
|
||||
display_show(disp);
|
||||
|
||||
@ -3717,6 +3759,11 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
}
|
||||
else
|
||||
{
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
drawShortInfoBox(disp, " done", 0);
|
||||
input_mapping = abort_screen;
|
||||
}
|
||||
@ -3734,6 +3781,11 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
|
||||
case mpk_restore:
|
||||
//restore mpk
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
drawBoxNumber(disp, 2);
|
||||
display_show(disp);
|
||||
|
||||
@ -3741,7 +3793,11 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
printText(" ", 9, -1, disp);
|
||||
|
||||
file_to_mpk(disp, rom_filename);
|
||||
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
drawShortInfoBox(disp, " done", 0);
|
||||
sleep(1000);
|
||||
|
||||
@ -3752,6 +3808,11 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
|
||||
case mpk_quick_backup:
|
||||
//quick-backup
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
drawBoxNumber(disp, 2);
|
||||
display_show(disp);
|
||||
|
||||
@ -3760,7 +3821,11 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
printText("search...", 9, -1, disp);
|
||||
|
||||
mpk_to_file(disp, list[cursor].filename, 1); //quick
|
||||
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
drawShortInfoBox(disp, " done", 0);
|
||||
sleep(1000);
|
||||
input_mapping = abort_screen;
|
||||
@ -3812,6 +3877,12 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
|
||||
//preload config or file header
|
||||
readRomConfig(disp, rom_filename, name_file);
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
|
||||
|
||||
drawRomConfigBox(disp, 0);
|
||||
display_show(disp);
|
||||
@ -3919,7 +3990,14 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
if (!strcmp(extension, "Z64") || !strcmp(extension, "V64") || !strcmp(extension, "N64"))
|
||||
{ //rom
|
||||
//load rom
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
|
||||
drawBoxNumber(disp, 3); //rominfo
|
||||
display_show(disp);
|
||||
|
||||
u16 msg = 0;
|
||||
evd_ulockRegs();
|
||||
@ -3981,6 +4059,11 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
case mempak_menu:
|
||||
if (sound_on)
|
||||
playSound(2);
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
display_dir(list, cursor, page, MAX_LIST, count, disp);
|
||||
|
||||
drawBoxNumber(disp, 4);
|
||||
display_show(disp);
|
||||
@ -4047,9 +4130,14 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
case mempak_menu:
|
||||
{
|
||||
//open up charinput screen
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp); //part clear?
|
||||
input_mapping = char_input;
|
||||
input_text[0] = '\0';
|
||||
graphics_draw_sprite(disp, 0, 0, contr);
|
||||
display_show(disp);
|
||||
break;
|
||||
}
|
||||
case char_input:
|
||||
@ -4112,7 +4200,11 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
);
|
||||
|
||||
f_close(&file);
|
||||
|
||||
|
||||
while (!(disp = display_lock()))
|
||||
;
|
||||
drawRomConfigBox(disp, 0);
|
||||
display_show(disp);
|
||||
drawShortInfoBox(disp, " done", 0);
|
||||
toplist_reload = 1;
|
||||
}
|
||||
@ -4233,6 +4325,7 @@ void handleInput(display_context_t disp, sprite_t *contr)
|
||||
;
|
||||
|
||||
graphics_set_color(graphics_make_color(0xFF, 0xFF, 0xFF, 0xFF), graphics_make_color(0x00, 0x00, 0x00, 0x00));
|
||||
new_scroll_pos(&cursor, &page, MAX_LIST, count);
|
||||
clearScreen(disp);
|
||||
display_show(disp);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user