#include #include "dirlist.h" #include "console.h" #include "screen.h" #include "tools.h" #include "charmap.h" #include "touchpad.h" #define ICON_HEIGHT 16 #define MAX_ICONLGN 11 char ofoldimg[16*15*3]={0xA5,0x96,0x7B,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x94,0x82,0x6B,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x7B,0x94,0x86,0x6B,0xE6,0xCE,0xB5,0xEF,0xDB,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xEF,0xDF,0xC5,0xA5,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x7B,0x9C,0x86,0x6B,0xDE,0xCE,0xB5,0xDE,0xD7,0xBD,0xDE,0xD2,0xBD,0xDE,0xD2,0xBD,0xDE,0xD2,0xBD,0xDE,0xD2,0xBD,0xE6,0xD7,0xBD,0xE6,0xDB,0xC5,0xEF,0xDB,0xBD,0xDE,0xD7,0xBD,0xE6,0xDB,0xC5,0xA5,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x7B,0x9C,0x86,0x6B,0xDE,0xC6,0xAD,0xDE,0xCE,0xB5,0xDE,0xCA,0xB5,0xDE,0xCA,0xB5,0xDE,0xCA,0xB5,0xDE,0xCE,0xBD,0xF7,0xE7,0xDE,0x10,0x9E,0x52,0xC5,0xDB,0xC5,0xE6,0xD2,0xC5,0xE6,0xCE,0xBD,0xA5,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x92,0x7B,0xD6,0xC2,0xAD,0x9C,0x8E,0x73,0xCE,0xC2,0xA5,0xD6,0xC6,0xAD,0xD6,0xC6,0xAD,0xD6,0xCA,0xB5,0xF7,0xE3,0xDE,0x19,0xA2,0x5A,0x00,0x96,0x4A,0x00,0x92,0x42,0xC5,0xD7,0xC5,0xDE,0xCE,0xBD,0xDE,0xCA,0xB5,0x9C,0x8E,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xCE,0xBA,0xAD,0x9C,0x8E,0x73,0xCE,0xBA,0xA5,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xE6,0xCE,0xC5,0x19,0x9E,0x5A,0x00,0x96,0x4A,0x00,0x96,0x4A,0x00,0x96,0x4A,0x00,0x92,0x42,0xB5,0xC6,0xAD,0xD6,0xC6,0xB5,0x9C,0x8A,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xCE,0xB6,0xA5,0x9C,0x8E,0x73,0xCE,0xB6,0x9C,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xC2,0xAD,0xD6,0xCE,0xBD,0xDE,0xD7,0xC5,0xDE,0xD7,0xC5,0xDE,0xDB,0xC5,0xDE,0xD2,0xBD,0xCE,0xC6,0xB5,0xD6,0xBE,0xAD,0x9C,0x8A,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xCE,0xB6,0x9C,0xD6,0xBE,0xAD,0x9C,0x8E,0x73,0xCE,0xB6,0x9C,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xD6,0xBE,0xAD,0x9C,0x8A,0x73,0xA5,0x92,0x7B,0xCE,0xBA,0xA5,0xD6,0xC2,0xB5,0x9C,0x8E,0x73,0xCE,0xBA,0xA5,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xD6,0xC2,0xB5,0x9C,0x8A,0x73,0xA5,0x92,0x7B,0xD6,0xBE,0xA5,0xD6,0xC2,0xAD,0xDE,0xC6,0xB5,0xA5,0x92,0x7B,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x94,0x82,0x6B,0xA5,0x92,0x7B,0xD6,0xC6,0xB5,0xDE,0xCE,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xE6,0xCE,0xC5,0xA5,0x8E,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xDE,0xCE,0xBD,0xEF,0xDB,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xEF,0xDF,0xCE,0xA5,0x8E,0x7B,0x00,0x00,0x00,0xA5,0x92,0x7B,0xE6,0xDB,0xCE,0xF7,0xE7,0xD6,0xEF,0xE3,0xD6,0xEF,0xE3,0xD6,0xEF,0xE3,0xD6,0xF7,0xEB,0xDE,0xA5,0x96,0x7B,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x94,0x82,0x6B,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x92,0x7B,0xEF,0xE7,0xD6,0xFF,0xF3,0xDE,0xFF,0xF7,0xE6,0xA5,0x96,0x7B,0x94,0x82,0x6B,0x21,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x84,0x9C,0x8A,0x73,0x94,0x86,0x6B,0x21,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; char cfoldimg[16*15*3]={0xA5,0x96,0x7B,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x94,0x82,0x6B,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x7B,0x94,0x86,0x6B,0xE6,0xCE,0xB5,0xEF,0xDB,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xEF,0xDF,0xC5,0xA5,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x7B,0x9C,0x86,0x6B,0xDE,0xCE,0xB5,0xDE,0xD7,0xBD,0xDE,0xD2,0xBD,0xDE,0xD2,0xBD,0xDE,0xD2,0xBD,0xDE,0xD2,0xBD,0xE6,0xD7,0xBD,0xE6,0xDB,0xC5,0xEF,0xDB,0xBD,0xDE,0xD7,0xBD,0xE6,0xDB,0xC5,0xA5,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x7B,0x9C,0x86,0x6B,0xDE,0xC6,0xAD,0xDE,0xCE,0xB5,0xDE,0xCA,0xB5,0xDE,0xCA,0xB5,0xDE,0xCA,0xB5,0xDE,0xCA,0xB5,0xF7,0xDF,0xD6,0x10,0x9A,0x52,0xC5,0xDB,0xC5,0xE6,0xD2,0xC5,0xE6,0xCE,0xBD,0xA5,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x92,0x7B,0xD6,0xC2,0xAD,0x9C,0x8E,0x73,0xCE,0xC2,0xA5,0xD6,0xC6,0xAD,0xD6,0xC6,0xAD,0xD6,0xC6,0xAD,0xD6,0xC6,0xAD,0xF7,0xDF,0xD6,0x21,0xA2,0x5A,0x00,0x92,0x42,0xC5,0xD7,0xC5,0xDE,0xCE,0xBD,0xDE,0xCA,0xB5,0x9C,0x8E,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xCE,0xBA,0xAD,0x9C,0x8E,0x73,0xCE,0xBA,0xA5,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xEF,0xD7,0xD6,0x19,0x9E,0x5A,0x00,0x96,0x4A,0x00,0x92,0x42,0xB5,0xC6,0xAD,0xD6,0xC6,0xB5,0x9C,0x8A,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xCE,0xB6,0xA5,0x9C,0x8E,0x73,0xCE,0xB6,0x9C,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xEF,0xD7,0xCE,0x19,0x9E,0x5A,0x00,0x92,0x42,0xBD,0xD2,0xBD,0xD6,0xCA,0xB5,0xD6,0xBE,0xAD,0x9C,0x8A,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xCE,0xB6,0x9C,0xD6,0xBE,0xAD,0x9C,0x8E,0x73,0xCE,0xB6,0x9C,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xE6,0xD2,0xC5,0x10,0x9A,0x52,0xBD,0xD2,0xBD,0xD6,0xCA,0xB5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xD6,0xBE,0xAD,0x9C,0x8A,0x73,0xA5,0x92,0x7B,0xCE,0xBA,0xA5,0xD6,0xC2,0xB5,0x9C,0x8E,0x73,0xCE,0xBA,0xA5,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xC2,0xB5,0xD6,0xCA,0xBD,0xCE,0xC6,0xB5,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xD6,0xC2,0xB5,0x9C,0x8A,0x73,0xA5,0x92,0x7B,0xD6,0xBE,0xA5,0xD6,0xC2,0xAD,0xDE,0xC6,0xB5,0xA5,0x92,0x7B,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x94,0x82,0x6B,0xA5,0x92,0x7B,0xD6,0xC6,0xB5,0xDE,0xCE,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xE6,0xCE,0xC5,0xA5,0x8E,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xDE,0xCE,0xBD,0xEF,0xDB,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xEF,0xDF,0xCE,0xA5,0x8E,0x7B,0x00,0x00,0x00,0xA5,0x92,0x7B,0xE6,0xDB,0xCE,0xF7,0xE7,0xD6,0xEF,0xE3,0xD6,0xEF,0xE3,0xD6,0xEF,0xE3,0xD6,0xF7,0xEB,0xDE,0xA5,0x96,0x7B,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x94,0x82,0x6B,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x92,0x7B,0xEF,0xE7,0xD6,0xFF,0xF3,0xDE,0xFF,0xF7,0xE6,0xA5,0x96,0x7B,0x94,0x82,0x6B,0x21,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x84,0x9C,0x8A,0x73,0x94,0x86,0x6B,0x21,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; char fileimg[12*13*3]={0x9C,0x92,0x7B,0x84,0x71,0x52,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x7B,0x69,0x4A,0x94,0x86,0x6B,0xE6,0xE7,0xDE,0xE6,0xDF,0xCE,0xD6,0xCE,0xBD,0xD6,0xCE,0xBD,0xD6,0xCE,0xBD,0xD6,0xCE,0xBD,0xD6,0xCE,0xBD,0xD6,0xCE,0xBD,0xD6,0xCE,0xBD,0xDE,0xD7,0xC5,0x94,0x82,0x6B,0x94,0x86,0x6B,0xE6,0xE7,0xDE,0xE6,0xDF,0xD6,0xD6,0xCE,0xC5,0xD6,0xCE,0xC5,0xD6,0xCE,0xC5,0xD6,0xCE,0xC5,0xD6,0xCE,0xC5,0xD6,0xCE,0xC5,0xD6,0xCE,0xC5,0xDE,0xD7,0xCE,0x94,0x82,0x6B,0x94,0x86,0x6B,0xE6,0xE7,0xDE,0xEF,0xDF,0xD6,0xDE,0xD2,0xC5,0xDE,0xD2,0xC5,0xDE,0xD2,0xC5,0xDE,0xD2,0xC5,0xDE,0xD2,0xC5,0xDE,0xD2,0xC5,0xDE,0xD2,0xC5,0xE6,0xDB,0xCE,0x94,0x86,0x6B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xEF,0xE3,0xDE,0xDE,0xD7,0xCE,0xDE,0xD7,0xCE,0xDE,0xD7,0xCE,0xDE,0xD7,0xCE,0xDE,0xD7,0xCE,0xDE,0xD7,0xCE,0xDE,0xD7,0xCE,0xE6,0xDF,0xD6,0x94,0x86,0x6B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xEF,0xE7,0xDE,0xDE,0xDB,0xCE,0xDE,0xDB,0xCE,0xDE,0xDB,0xCE,0xDE,0xDB,0xCE,0xDE,0xDB,0xCE,0xDE,0xDB,0xCE,0xDE,0xDB,0xCE,0xE6,0xE3,0xD6,0x94,0x86,0x6B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xEF,0xE7,0xE6,0xE6,0xDB,0xD6,0xE6,0xDB,0xD6,0xE6,0xDB,0xD6,0xE6,0xDB,0xD6,0xE6,0xDB,0xD6,0xE6,0xDB,0xD6,0xE6,0xDB,0xD6,0xEF,0xE3,0xDE,0x94,0x86,0x6B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xEF,0xEB,0xE6,0xE6,0xDF,0xD6,0xE6,0xDF,0xD6,0xE6,0xDF,0xD6,0xE6,0xDF,0xD6,0xE6,0xDF,0xD6,0xE6,0xDF,0xD6,0xE6,0xDF,0xD6,0xEF,0xE7,0xDE,0x94,0x86,0x6B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xEF,0xEF,0xEF,0xE6,0xE3,0xDE,0xE6,0xE3,0xDE,0xE6,0xE3,0xDE,0xE6,0xE3,0xDE,0xE6,0xE3,0xDE,0xE6,0xE3,0xDE,0xFF,0xFB,0xF7,0xFF,0xFF,0xFF,0x9C,0x92,0x7B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xF7,0xEF,0xEF,0xEF,0xE7,0xDE,0xEF,0xE7,0xDE,0xEF,0xE7,0xDE,0xEF,0xE7,0xDE,0xF7,0xEF,0xE6,0x9C,0x92,0x7B,0x84,0x71,0x52,0x84,0x75,0x5A,0x7B,0x69,0x4A,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xF7,0xEF,0xF7,0xEF,0xE7,0xE6,0xEF,0xE7,0xE6,0xEF,0xE7,0xE6,0xEF,0xE7,0xE6,0xF7,0xEF,0xF7,0x94,0x86,0x73,0xDE,0xDB,0xD6,0xFF,0xFF,0xFF,0x9C,0x92,0x7B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9C,0x8E,0x73,0xE6,0xE3,0xDE,0x9C,0x96,0x7B,0x00,0x00,0x00,0x9C,0x92,0x7B,0x84,0x71,0x52,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x7B,0x69,0x4A,0x00,0x00,0x00,0x00,0x00,0x00}; char wadimg[15*7*3]={ 0x38,0x8E,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x8E,0xFF,0x2E,0x52,0x82,0x38,0x8E,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x8E,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x8E,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x8E,0xFF,0x15,0x32,0x62,0x72,0xAD,0xDD,0x00,0x00,0x00,0x38,0x8E,0xFF,0x00,0x00,0x00,0x38,0x8E,0xFF,0x00,0x00,0x00,0x66,0x9C,0xCC,0x00,0x00,0x00,0x66,0x9C,0xCC,0x00,0x00,0x00,0x38,0x8E,0xFF,0x00,0x00,0x00,0x38,0x8E,0xFF,0x15,0x32,0x62,0x63,0x99,0xC9,0xF8,0xF7,0xF9,0x00,0x00,0x00,0x2E,0x52,0x83,0x00,0x00,0x00,0x1F,0x3E,0x6F,0x00,0x00,0x00,0xF9,0xF7,0xF9,0x00,0x00,0x00,0xF9,0xF7,0xF9,0x00,0x00,0x00,0x1F,0x3E,0x6F,0x00,0x00,0x00,0x15,0x32,0x62,0x63,0x99,0xC9,0xF5,0xF2,0xF1,0xC2,0xA5,0x7B,0x00,0x00,0x00,0x72,0xAC,0xDC,0x00,0x00,0x00,0x66,0x9C,0xCC,0x00,0x00,0x00,0xC4,0xA8,0x80,0x00,0x00,0x00,0xC4,0xA8,0x80,0x00,0x00,0x00,0x66,0x9C,0xCC,0x00,0x00,0x00,0x63,0x99,0xC9,0xF5,0xF2,0xF1,0xC0,0xA1,0x75,0xA7,0x7B,0x3C,0x00,0x00,0x00,0xF8,0xF7,0xF9,0x00,0x00,0x00,0xF8,0xF7,0xF9,0x00,0x00,0x00,0xA8,0x7D,0x3E,0x00,0x00,0x00,0xA8,0x7D,0x3E,0x00,0x00,0x00,0xF8,0xF7,0xF9,0x00,0x00,0x00,0xF5,0xF2,0xF1,0xC0,0xA1,0x75,0xA8,0x7D,0x3E,0x92,0x5C,0x0C,0xA6,0x7B,0x3B,0xC2,0xA4,0x7B,0x00,0x00,0x00,0xC4,0xA8,0x80,0xA8,0x7D,0x3D,0x92,0x5C,0x0C,0x00,0x00,0x00,0x92,0x5C,0x0C,0xA8,0x7D,0x3D,0xC4,0xA8,0x80,0x00,0x00,0x00,0xC0,0xA1,0x75,0x00,0x00,0x00,0x92,0x5C,0x0C}; unsigned char sscreen[SCREEN_SIZE]; int chooseFile(char* path, char* initpath, char* title) { int j,i,li,s, refresh, shouldwait, t, cancelled=0, parent=0, validated=0, si=0; FILE* tmp; int touchedzone=0; char ext[5], dext[9]; initTP(); strcpy(path,initpath); char* p = strrchr(path,'/'); if(p) *(p+1)=0; char* filenames[1024]; int fileselected=0; while(!fileselected && !cancelled) { int numfiles = dirlist(path, "*.*", filenames); refresh=1; li=-1; si=0; if(!strcmp(filenames[0],".")) si+=2; s=si; i=s; shouldwait=0; validated=0; while (!validated && !cancelled) { parent=0; if( refresh ) { //clrBuf(getScreen()); // I_DispHeader(); memcpy(getScreen(),sscreen,SCREEN_SIZE); clrBufBox(getScreen(),0,5*ICON_HEIGHT+3,320,240-5*ICON_HEIGHT-3); resetConsole(); drwBufStr(getScreen(),0,4.5*ICON_HEIGHT,title,0,1); // drwBufFullHoriz(getScreen(),3*ICON_HEIGHT-2); // drwBufFullHoriz(getScreen(),3*ICON_HEIGHT-3); drwBufStr(getScreen(),20,5*ICON_HEIGHT+4,path,0,0); dispBufImgRGB(getScreen(),0,5*ICON_HEIGHT+3,ofoldimg,16,15,1); for (j = s; j < numfiles && j-s=4) strcpy(ext,filenames[j]+t-4); *dext=0; if(t>=4) strcpy(dext,filenames[j]+t-8); if(!tmp) dispBufImgRGB(getScreen(),20,(j-s+6)*ICON_HEIGHT+1,cfoldimg,16,15,1); else { if(!strcmp(dext,".wad.tns") || !strcmp(dext,".WAD.tns")) dispBufImgRGB(getScreen(),20,(j-s+6)*ICON_HEIGHT+4,wadimg,15,7,1); else dispBufImgRGB(getScreen(),22,(j-s+6)*ICON_HEIGHT,fileimg,12,13,1); fclose(tmp); } drwBufStr(getScreen(),40,ICON_HEIGHT*(j-s+6)+2,filenames[j],0,0); } drwBufBox(getScreen(),38,ICON_HEIGHT*(i-s+6),SCREEN_WIDTH-1,ICON_HEIGHT*(i-s+7)-1,has_colors); if(s>si) putBufChar(getScreen(),0,ICON_HEIGHT*6+2,24, 0); if(s+MAX_ICONLGN-20 ) { if (isKeyPressed(KEY_NSPIRE_UP) || isKeyPressed(KEY_NSPIRE_8) || touchedzone==8) { i--; if (i < si) i = numfiles-1; } if (isKeyPressed(KEY_NSPIRE_DOWN) || isKeyPressed(KEY_NSPIRE_2) || touchedzone==2) { i++; if (i >= numfiles) i = si; } if (i!=li) { while(i=MAX_ICONLGN-2) { s+=MAX_ICONLGN-2; refresh=1; if(s>numfiles-MAX_ICONLGN+1) s=numfiles-MAX_ICONLGN+2; } if(!refresh) { if(li>=0) { setCurColorRGB(255,255,255); drwBufBox(getScreen(),38,ICON_HEIGHT*(li-s+6),SCREEN_WIDTH-1,ICON_HEIGHT*(li-s+7)-1); setCurColorRGB(0,0,0); } drwBufBox(getScreen(),38,ICON_HEIGHT*(i-s+6),SCREEN_WIDTH-1,ICON_HEIGHT*(i-s+7)-1); } li=i; wait(250); } } if(isKeyPressed(KEY_NSPIRE_ESC)) cancelled=1; if((isKeyPressed(KEY_NSPIRE_LEFT) && !isKeyPressed(KEY_NSPIRE_UP) && !isKeyPressed(KEY_NSPIRE_DOWN)) || isKeyPressed(KEY_NSPIRE_4) || touchedzone==4) { parent=1; validated=1; } if(numfiles-si>0 && (isKeyPressed(KEY_NSPIRE_ENTER) || isKeyPressed(KEY_NSPIRE_RET) || isKeyPressed(KEY_NSPIRE_CLICK) || isKeyPressed(KEY_NSPIRE_5) || isKeyPressed(KEY_NSPIRE_6) || (isKeyPressed(KEY_NSPIRE_RIGHT) && !isKeyPressed(KEY_NSPIRE_UP) && !isKeyPressed(KEY_NSPIRE_DOWN))) || touchedzone==6) validated=1; wait(10); } if(!cancelled) { char* selected = filenames[i]; if(strcmp(selected,".") || parent) { if(!strcmp(selected,"..") || parent) { t=strlen(path); if(t>1) { path[t-1]=0; p = strrchr(path,'/'); if(p) *(p+1)=0; } shouldwait=1; } else { strcat(path,selected); FILE* f=fopen(path,"rb"); if(f) { fileselected=1; fclose(f); } else { strcat(path,"/"); shouldwait=1; } } if(shouldwait) { wait(250); shouldwait=0; } } } for(i=0;i