402 lines
No EOL
30 KiB
C++
402 lines
No EOL
30 KiB
C++
#include "TRACK.h"
|
||
//#pragma optimize( "", off )
|
||
/*
|
||
Fizedsys =
|
||
|
||
!"#$%&'()*+,-./0123456789:;<=>?
|
||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||
`abcdefghijklmnopqrstuvwxyz{|}~
|
||
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
嵗╯丰戍貝物洎悖停眾斯須號獄播噶
|
||
擱藏霰匸<E99CB0>帊昅恘倳眑婭笫崷窙嗲睧
|
||
颬睼麧緗鴇膹擨闀貘覷鏷禴矙𡜍𦶠<F0A19C8D>
|
||
*/
|
||
|
||
unsigned char FONT_FixedSys[256][16] = {
|
||
{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,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,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, 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,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,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, 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,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,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,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,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,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,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,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x18,0x3c,0x3c, 0x3c,0x18,0x18,0x00,0x18, 0x18,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x66,0x66,0x66, 0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x6c,0x6c,0xfe, 0x6c,0x6c,0x6c,0xfe,0x6c, 0x6c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x18,0x18,0x3c,0x66,0x06, 0x0c,0x18,0x30,0x60,0x66, 0x3c,0x18,0x18,0x00,0x00,0x00}, {0x00,0x0e,0x1b,0x5b,0x6e, 0x30,0x18,0x0c,0x76,0xda, 0xd8,0x70,0x00,0x00,0x00,0x00}, {0x00,0x00,0x1c,0x36,0x36, 0x1c,0x06,0xf6,0x66,0x66, 0xdc,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x18,0x18,0x18, 0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x30,0x18,0x18, 0x0c,0x0c,0x0c,0x0c,0x0c, 0x18,0x18,0x30,0x00,0x00,0x00}, {0x00,0x00,0x0c,0x18,0x18, 0x30,0x30,0x30,0x30,0x30, 0x18,0x18,0x0c,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x6c, 0x38,0xfe,0x38,0x6c,0x00, 0x00,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x18, 0x18,0x7e,0x18,0x18,0x00, 0x00,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x38, 0x38,0x30,0x18,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x00, 0x00,0x7e,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x38, 0x38,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x60,0x60,0x30, 0x30,0x18,0x18,0x0c,0x0c, 0x06,0x06,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x78,0xcc,0xec, 0xec,0xcc,0xdc,0xdc,0xcc, 0x78,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x30,0x38,0x3e, 0x30,0x30,0x30,0x30,0x30, 0x30,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x66,0x66, 0x60,0x30,0x18,0x0c,0x06, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x66,0x66, 0x60,0x38,0x60,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x0c,0x0c,0x6c, 0x6c,0x6c,0x66,0xfe,0x60, 0x60,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x06,0x06, 0x06,0x3e,0x60,0x60,0x30, 0x1e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x38,0x18,0x0c, 0x3e,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x60,0x30, 0x30,0x18,0x18,0x0c,0x0c, 0x0c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x3c,0x66,0x66, 0x6e,0x3c,0x76,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x66,0x66, 0x66,0x66,0x7c,0x30,0x18, 0x1c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x38, 0x38,0x00,0x00,0x00,0x38, 0x38,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x38, 0x38,0x00,0x00,0x00,0x38, 0x38,0x30,0x18,0x00,0x00,0x00},
|
||
{0x00,0x00,0x60,0x30,0x18, 0x0c,0x06,0x0c,0x18,0x30, 0x60,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x00, 0x7e,0x00,0x7e,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x06,0x0c,0x18, 0x30,0x60,0x30,0x18,0x0c, 0x06,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x66,0x66, 0x30,0x18,0x18,0x00,0x18, 0x18,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x7e,0xc3,0xc3, 0xf3,0xdb,0xdb,0xf3,0x03, 0xfe,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x18,0x3c,0x66, 0x66,0x66,0x7e,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3e,0x66,0x66, 0x66,0x3e,0x66,0x66,0x66, 0x3e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x66,0x66, 0x06,0x06,0x06,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x1e,0x36,0x66, 0x66,0x66,0x66,0x66,0x36, 0x1e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x06,0x06, 0x06,0x3e,0x06,0x06,0x06, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x06,0x06, 0x06,0x3e,0x06,0x06,0x06, 0x06,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x66,0x66, 0x06,0x06,0x76,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x66,0x66,0x66, 0x66,0x7e,0x66,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x18,0x18, 0x18,0x18,0x18,0x18,0x18, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x60,0x60,0x60, 0x60,0x60,0x60,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x66,0x66,0x36, 0x36,0x1e,0x36,0x36,0x66, 0x66,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x06,0x06,0x06, 0x06,0x06,0x06,0x06,0x06, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0xc6,0xc6,0xee, 0xd6,0xd6,0xd6,0xc6,0xc6, 0xc6,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0xc6,0xc6,0xce, 0xde,0xf6,0xe6,0xc6,0xc6, 0xc6,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x66,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x3e,0x66,0x66, 0x66,0x3e,0x06,0x06,0x06, 0x06,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x66,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x30,0x60,0x00,0x00,0x00}, {0x00,0x00,0x3e,0x66,0x66, 0x66,0x3e,0x36,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x66,0x06, 0x0c,0x18,0x30,0x60,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x7e,0x18,0x18, 0x18,0x18,0x18,0x18,0x18, 0x18,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x66,0x66,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x66,0x66,0x66, 0x66,0x66,0x66,0x66,0x3c, 0x18,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0xc6,0xc6,0xc6, 0xd6,0xd6,0xd6,0x6c,0x6c, 0x6c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x66,0x66,0x2c, 0x18,0x18,0x34,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x66,0x66,0x66, 0x66,0x3c,0x18,0x18,0x18, 0x18,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x60,0x60, 0x30,0x18,0x0c,0x06,0x06, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x0c,0x0c, 0x0c,0x0c,0x0c,0x0c,0x0c, 0x0c,0x0c,0x0c,0x3c,0x00,0x00},
|
||
{0x00,0x00,0x06,0x06,0x0c, 0x0c,0x18,0x18,0x30,0x30, 0x60,0x60,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x30,0x30, 0x30,0x30,0x30,0x30,0x30, 0x30,0x30,0x30,0x3c,0x00,0x00}, {0x18,0x3c,0x66,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,0xff,0x00,0x00},
|
||
{0x1c,0x18,0x30,0x00,0x00, 0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x3c, 0x60,0x60,0x7c,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x06,0x06,0x3e, 0x66,0x66,0x66,0x66,0x66, 0x3e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x3c, 0x66,0x06,0x06,0x06,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x60,0x60,0x7c, 0x66,0x66,0x66,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x3c, 0x66,0x66,0x7e,0x06,0x06, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x78,0x0c,0x0c, 0x0c,0x7e,0x0c,0x0c,0x0c, 0x0c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x7c, 0x66,0x66,0x66,0x66,0x66, 0x7c,0x60,0x60,0x3e,0x00,0x00},
|
||
{0x00,0x00,0x06,0x06,0x3e, 0x66,0x66,0x66,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x00,0x18,0x18,0x00,0x1e, 0x18,0x18,0x18,0x18,0x18, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x30,0x30,0x00,0x3c, 0x30,0x30,0x30,0x30,0x30, 0x30,0x30,0x30,0x1e,0x00,0x00}, {0x00,0x00,0x06,0x06,0x66, 0x66,0x36,0x1e,0x36,0x66, 0x66,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x1e,0x18,0x18, 0x18,0x18,0x18,0x18,0x18, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x7e, 0xd6,0xd6,0xd6,0xd6,0xd6, 0xc6,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x3e, 0x66,0x66,0x66,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x3c, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x00,0x00,0x3e, 0x66,0x66,0x66,0x66,0x66, 0x3e,0x06,0x06,0x06,0x00,0x00}, {0x00,0x00,0x00,0x00,0x7c, 0x66,0x66,0x66,0x66,0x66, 0x7c,0x60,0x60,0x60,0x00,0x00}, {0x00,0x00,0x00,0x00,0x66, 0x76,0x0e,0x06,0x06,0x06, 0x06,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x7c, 0x06,0x06,0x3c,0x60,0x60, 0x3e,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x0c,0x0c,0x7e, 0x0c,0x0c,0x0c,0x0c,0x0c, 0x78,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x66, 0x66,0x66,0x66,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x66, 0x66,0x66,0x66,0x66,0x3c, 0x18,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0xc6, 0xd6,0xd6,0xd6,0xd6,0x6c, 0x6c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x00,0x00,0x66, 0x66,0x3c,0x18,0x3c,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x30,0x18,0x0f,0x00,0x00}, {0x00,0x00,0x00,0x00,0x7e, 0x60,0x30,0x18,0x0c,0x06, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x30,0x18,0x18, 0x18,0x0c,0x06,0x0c,0x18, 0x18,0x18,0x30,0x00,0x00,0x00},
|
||
{0x00,0x00,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x00,0x00}, {0x00,0x00,0x0c,0x18,0x18, 0x18,0x30,0x60,0x30,0x18, 0x18,0x18,0x0c,0x00,0x00,0x00}, {0x00,0x00,0x8e,0xdb,0x71, 0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0xff,0x00},
|
||
{0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x30,0x18,0x38, 0x38,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x38,0x38,0x30, 0x18,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x7e,0x7e,0x7e, 0x7e,0x7e,0x7e,0x7e,0x7e, 0x7e,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x0c,0x00}, {0x00,0x00,0x00,0x00,0x00, 0x18,0x18,0x00,0x18,0x18, 0x3c,0x3c,0x3c,0x18,0x30,0x00}, {0x00,0x00,0x18,0x18,0x3c, 0x66,0x06,0x06,0x66,0x3c, 0x18,0x18,0x00,0x00,0x3c,0x00}, {0x00,0x00,0x3c,0x66,0x06, 0x06,0x3f,0x06,0x06,0x03, 0x7f,0x00,0x00,0x00,0xdc,0x00},
|
||
{0x00,0x00,0x00,0x66,0x3c, 0x66,0x66,0x3c,0x66,0x00, 0x00,0x00,0x00,0x00,0x66,0x00}, {0x00,0x00,0x66,0x66,0x66, 0x3c,0x7e,0x18,0x7e,0x18, 0x18,0x00,0x00,0x00,0x3c,0x00}, {0x00,0x00,0x18,0x18,0x18, 0x18,0x18,0x00,0x00,0x18, 0x18,0x18,0x18,0x18,0x00,0x00}, {0x00,0x00,0x3c,0x66,0x06, 0x1c,0x3c,0x66,0x66,0x3c, 0x38,0x60,0x66,0x3c,0x00,0x00},
|
||
{0x00,0x66,0x66,0x00,0x00, 0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x0c,0x00}, {0x00,0x00,0x7e,0xc3,0x99, 0xa5,0x85,0xa5,0x99,0xc3, 0x7e,0x00,0x00,0x00,0x30,0x00}, {0x00,0x00,0x3c,0x60,0x7c, 0x66,0x7c,0x00,0x7e,0x00, 0x00,0x00,0x00,0x00,0x3c,0x00}, {0x00,0x00,0x00,0x00,0x00, 0x00,0xcc,0x66,0x33,0x66, 0xcc,0x00,0x00,0x00,0x66,0x00},
|
||
{0x00,0x00,0x00,0x00,0x00, 0x00,0x7e,0x60,0x60,0x00, 0x00,0x00,0x00,0x00,0x0c,0x00}, {0x00,0x00,0x00,0x00,0x00, 0x00,0x7e,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x30,0x00}, {0x00,0x00,0x7e,0xc3,0x9d, 0xa5,0xa5,0x9d,0xa5,0xc3, 0x7e,0x00,0x00,0x00,0x3c,0x00}, {0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x66,0x00},
|
||
{0x00,0x3c,0x66,0x66,0x3c, 0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x18, 0x18,0x7e,0x18,0x18,0x00, 0x7e,0x00,0x00,0x00,0xdc,0x00}, {0x00,0x00,0x1c,0x30,0x18, 0x0c,0x3c,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x0c,0x00}, {0x00,0x00,0x1c,0x30,0x18, 0x30,0x1c,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x30,0x00},
|
||
{0x38,0x18,0x0c,0x00,0x00, 0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x3c,0x00}, {0x00,0x00,0x00,0x00,0x66, 0x66,0x66,0x66,0x66,0x66, 0xde,0x06,0x06,0x03,0xdc,0x00}, {0x00,0x00,0xf8,0x7c,0x7e, 0x7e,0x7e,0x7c,0x78,0x60, 0x60,0x60,0x60,0x60,0x66,0x00}, {0x00,0x00,0x00,0x00,0x00, 0x38,0x38,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00, 0x00,0x18,0x30,0x1c,0x00,0x00}, {0x00,0x00,0x18,0x1c,0x18, 0x18,0x18,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x0c,0x00}, {0x00,0x00,0x3c,0x66,0x66, 0x66,0x3c,0x00,0x7e,0x00, 0x00,0x00,0x00,0x00,0x30,0x00}, {0x00,0x00,0x00,0x00,0x00, 0x00,0x33,0x66,0xcc,0x66, 0x33,0x00,0x00,0x00,0x3c,0x00},
|
||
{0x00,0x06,0x07,0xc6,0x66, 0x36,0x18,0xec,0xf6,0xdb, 0xf8,0xc0,0x00,0x00,0x66,0x00}, {0x00,0x06,0x07,0xc6,0x66, 0x36,0x18,0x7c,0xc6,0x63, 0x30,0xf0,0x00,0x00,0x30,0x00}, {0x00,0x07,0x0c,0xc6,0x6c, 0x37,0x18,0xec,0xf6,0xdb, 0xf8,0xc0,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x00, 0x18,0x18,0x00,0x18,0x18, 0x0c,0x66,0x66,0x3c,0x00,0x00},
|
||
{0x18,0x00,0x18,0x3c,0x66, 0x66,0x66,0x7e,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x18,0x00,0x18,0x3c,0x66, 0x66,0x66,0x7e,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x66,0x00,0x18,0x3c,0x66, 0x66,0x66,0x7e,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x76,0x00,0x18,0x3c,0x66, 0x66,0x66,0x7e,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00},
|
||
{0x66,0x00,0x18,0x3c,0x66, 0x66,0x66,0x7e,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x66,0x3c,0x18,0x3c,0x66, 0x66,0x66,0x7e,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0xf0,0x38,0x3c, 0x36,0xf6,0x3e,0x36,0x36, 0xf6,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3c,0x66,0x66, 0x06,0x06,0x06,0x66,0x66, 0x3c,0x18,0x30,0x1c,0x00,0x00},
|
||
{0x18,0x00,0x7e,0x06,0x06, 0x06,0x3e,0x06,0x06,0x06, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x18,0x00,0x7e,0x06,0x06, 0x06,0x3e,0x06,0x06,0x06, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x66,0x00,0x7e,0x06,0x06, 0x06,0x3e,0x06,0x06,0x06, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x66,0x00,0x7e,0x06,0x06, 0x06,0x3e,0x06,0x06,0x06, 0x7e,0x00,0x00,0x00,0x00,0x00},
|
||
{0x18,0x00,0x3c,0x18,0x18, 0x18,0x18,0x18,0x18,0x18, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x18,0x00,0x3c,0x18,0x18, 0x18,0x18,0x18,0x18,0x18, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x66,0x00,0x3c,0x18,0x18, 0x18,0x18,0x18,0x18,0x18, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x66,0x00,0x3c,0x18,0x18, 0x18,0x18,0x18,0x18,0x18, 0x3c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x1e,0x36,0x66, 0x66,0x6f,0x66,0x66,0x36, 0x1e,0x00,0x00,0x00,0x00,0x00}, {0x76,0x00,0xc6,0xc6,0xce, 0xde,0xf6,0xe6,0xc6,0xc6, 0xc6,0x00,0x00,0x00,0x00,0x00}, {0x18,0x00,0x3c,0x66,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x18,0x00,0x3c,0x66,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x66,0x00,0x3c,0x66,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x76,0x00,0x3c,0x66,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x66,0x00,0x3c,0x66,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x42,0x66, 0x3c,0x18,0x3c,0x66,0x42, 0x00,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x7c,0x66,0x76, 0x76,0x7e,0x6e,0x6e,0x66, 0x3e,0x00,0x00,0x00,0x00,0x00}, {0x18,0x00,0x66,0x66,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x18,0x00,0x66,0x66,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x66,0x00,0x66,0x66,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x66,0x00,0x66,0x66,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x18,0x00,0x66,0x66,0x66, 0x66,0x3c,0x18,0x18,0x18, 0x18,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x06,0x06,0x3e, 0x66,0x66,0x66,0x3e,0x06, 0x06,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x1c,0x36,0x36, 0x36,0x66,0x66,0x66,0x66, 0x36,0x00,0x00,0x00,0x00,0x00},
|
||
{0x0e,0x0c,0x18,0x00,0x3c, 0x60,0x60,0x7c,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00}, {0x70,0x30,0x18,0x00,0x3c, 0x60,0x60,0x7c,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00}, {0x18,0x3c,0x66,0x00,0x3c, 0x60,0x60,0x7c,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00}, {0x8e,0xdb,0x71,0x00,0x3c, 0x60,0x60,0x7c,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x66,0x66,0x00,0x3c, 0x60,0x60,0x7c,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00}, {0x3c,0x66,0x3c,0x00,0x3c, 0x60,0x60,0x7c,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x76, 0xd8,0xd8,0xfe,0x1b,0x1b, 0xee,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x3c, 0x66,0x06,0x06,0x06,0x66, 0x3c,0x18,0x30,0x1c,0x00,0x00},
|
||
{0x0e,0x0c,0x18,0x00,0x3c, 0x66,0x66,0x7e,0x06,0x06, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x70,0x30,0x18,0x00,0x3c, 0x66,0x66,0x7e,0x06,0x06, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x18,0x3c,0x66,0x00,0x3c, 0x66,0x66,0x7e,0x06,0x06, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x66,0x66,0x00,0x3c, 0x66,0x66,0x7e,0x06,0x06, 0x3c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x0e,0x0c,0x18,0x00,0x1e, 0x18,0x18,0x18,0x18,0x18, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x70,0x30,0x18,0x00,0x1e, 0x18,0x18,0x18,0x18,0x18, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x18,0x3c,0x66,0x00,0x1e, 0x18,0x18,0x18,0x18,0x18, 0x7e,0x00,0x00,0x00,0x00,0x00}, {0x00,0x66,0x66,0x00,0x1e, 0x18,0x18,0x18,0x18,0x18, 0x7e,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x6c,0x18,0x36, 0x78,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x8e,0xdb,0x71,0x00,0x3e, 0x66,0x66,0x66,0x66,0x66, 0x66,0x00,0x00,0x00,0x00,0x00}, {0x0e,0x0c,0x18,0x00,0x3c, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x70,0x30,0x18,0x00,0x3c, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x18,0x3c,0x66,0x00,0x3c, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x8e,0xdb,0x71,0x00,0x3c, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x66,0x66,0x00,0x3c, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x00,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x18,0x18, 0x00,0x7e,0x00,0x18,0x18, 0x00,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x00,0x00,0x00,0x7c, 0x66,0x76,0x7e,0x6e,0x66, 0x3e,0x00,0x00,0x00,0x00,0x00}, {0x0e,0x0c,0x18,0x00,0x66, 0x66,0x66,0x66,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00}, {0x70,0x30,0x18,0x00,0x66, 0x66,0x66,0x66,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00}, {0x18,0x3c,0x66,0x00,0x66, 0x66,0x66,0x66,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00},
|
||
{0x00,0x66,0x66,0x00,0x66, 0x66,0x66,0x66,0x66,0x66, 0x7c,0x00,0x00,0x00,0x00,0x00}, {0x70,0x30,0x18,0x00,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x30,0x18,0x0f,0x00,0x00}, {0x00,0x00,0x06,0x06,0x06, 0x3e,0x66,0x66,0x66,0x66, 0x3e,0x06,0x06,0x06,0x00,0x00}, {0x00,0x66,0x66,0x00,0x66, 0x66,0x66,0x66,0x66,0x66, 0x3c,0x30,0x18,0x0f,0x00,0x00}
|
||
};
|
||
|
||
void FONT_FixedSysCorrect(unsigned char *FONT)
|
||
{
|
||
u32 Counter,Counter2;
|
||
Counter = 255;
|
||
while (Counter > 32)
|
||
{
|
||
Counter2 = 15;
|
||
while (Counter2--) FONT_FixedSys[Counter][Counter2 + 1] = FONT_FixedSys[Counter][Counter2];
|
||
FONT_FixedSys[Counter][0] = FONT_FixedSys[Counter - 32][14];
|
||
FONT_FixedSys[Counter][15]= 0;
|
||
Counter--;
|
||
}
|
||
}
|
||
|
||
inline u8 *GSP_GetCharPtr(unsigned char C)
|
||
{
|
||
return (unsigned char *)FONT_FixedSys + (((u32)C) << 4);
|
||
}
|
||
|
||
void DRawTEXT_Soft2(u8 *pTEXT,u32 *pBase,s32 X, s32 Y, s32 Pitch , u32 Height , u32 Color , u32 X2 , u32 Y2 , u32 BackColor = 0 , DrwTEXT_UI *DTI = NULL)
|
||
{
|
||
u32 *pDEST,*pBaseEnd;
|
||
s32 XEnd,YEnd;
|
||
s32 ImgWidth = 16;
|
||
|
||
pDEST = pBase;
|
||
XEnd = X;YEnd = Y;
|
||
|
||
if (DTI && DTI->FONT_Image)
|
||
ImgWidth = DTI->FONT_Metrix->tmHeight;
|
||
|
||
|
||
if (!DTI)
|
||
{
|
||
if (Y < -ImgWidth) return;
|
||
if (Y > Height + ImgWidth) return;
|
||
}
|
||
pBaseEnd = pBase + Pitch*Height;
|
||
if (X2) X2=1;
|
||
if (Y2) Y2=1;
|
||
if (FONT_FixedSys[0][0] != 0) FONT_FixedSysCorrect((unsigned char *)FONT_FixedSys);
|
||
if (pBase > pBaseEnd)
|
||
{
|
||
pBase = pBaseEnd;
|
||
pBaseEnd = pDEST;
|
||
}
|
||
|
||
pDEST += (Y-1 + ImgWidth) * (Pitch << Y2) + X;
|
||
while (*pTEXT )
|
||
{
|
||
u8 Value,ValueOr,ValueXOr,*pValue;
|
||
u32 CounterX,CounterY;
|
||
u32 *pDESTSave;
|
||
ValueXOr = ValueOr = 0;
|
||
pDESTSave = pDEST;
|
||
if (DTI)
|
||
{
|
||
if (((DTI->CurrentCursorPos == DTI->CursorPos) ) /*|| ((DTI->CurrentCursorPos == DTI->CursorPos-1) && !(*(pTEXT+1)))*/)
|
||
{
|
||
DTI->CursorPosX = XEnd;
|
||
DTI->CursorPosY = YEnd;
|
||
if ( (!(DTI->Age & 256)))
|
||
{
|
||
if (DTI->InsertMode)
|
||
ValueOr = 0xff;
|
||
else
|
||
if (DTI->CurrentCursorPos == DTI->CursorPos-1)
|
||
ValueOr = 3<<6;
|
||
else
|
||
ValueOr = 3;
|
||
}
|
||
}
|
||
if (((DTI->CurrentCursorPos >= DTI->SelStart) && (DTI->CurrentCursorPos < DTI->SelEnd)) ||
|
||
((DTI->CurrentCursorPos >= DTI->SelEnd) && (DTI->CurrentCursorPos < DTI->SelStart)))
|
||
ValueXOr = 0xff;
|
||
}
|
||
|
||
pValue = GSP_GetCharPtr(*(pTEXT));
|
||
if (DTI && DTI->ModePassword)
|
||
{
|
||
if (pTEXT[1] == 0)
|
||
pValue = GSP_GetCharPtr(' ');
|
||
else
|
||
pValue = GSP_GetCharPtr('*');
|
||
}
|
||
|
||
unsigned char CurrentChar;
|
||
CurrentChar = *pTEXT;
|
||
|
||
/* Draw Standar char 8x16 */
|
||
if (!DTI || (DTI->FONT_Image == NULL))
|
||
{
|
||
CounterY = ImgWidth;
|
||
while (CounterY--)
|
||
{
|
||
Value = *(pValue++) | ValueOr;
|
||
Value ^= ValueXOr;
|
||
CounterX = 8;
|
||
while (CounterX--)
|
||
{
|
||
u32 Draw = (pDEST > pBase) && (pDEST < pBaseEnd) && (XEnd <= Pitch - 8 ) && (XEnd >= 0);
|
||
if (DTI && DTI->DontDraw) Draw = 0;
|
||
if (Draw)
|
||
{
|
||
if (Value & 1)
|
||
{
|
||
*pDEST = Color;
|
||
*(pDEST+X2) = Color;
|
||
if (Y2)
|
||
{
|
||
*(pDEST + Pitch) = Color;
|
||
*(pDEST + Pitch + X2) = Color;
|
||
}
|
||
} else if (DTI)
|
||
{
|
||
*pDEST = BackColor;
|
||
*(pDEST+X2) = BackColor;
|
||
if (Y2)
|
||
{
|
||
*(pDEST + Pitch) = BackColor;
|
||
*(pDEST + Pitch + X2) = BackColor;
|
||
}//*/
|
||
}
|
||
}
|
||
pDEST += 1 << X2;
|
||
Value >>= 1;
|
||
}
|
||
pDEST = pDEST - (8<<X2) - (Pitch << Y2);
|
||
}
|
||
} else
|
||
{
|
||
// We use a specific font
|
||
if (*pTEXT > 31)
|
||
{
|
||
u32 CF,CB;
|
||
CF = Color;
|
||
CB = BackColor;
|
||
if (ValueXOr)
|
||
{
|
||
CF = BackColor;
|
||
CB = Color;
|
||
}
|
||
if (ValueOr == 0xff) CB = CF;
|
||
u32 Draw = 1;
|
||
if (DTI && DTI->DontDraw) Draw = 0;
|
||
|
||
if (DTI && DTI->ModePassword)
|
||
{
|
||
CurrentChar = '*';
|
||
if (pTEXT[1] == 0)
|
||
CurrentChar = ' ';
|
||
else
|
||
CurrentChar = '*';
|
||
|
||
}
|
||
|
||
s32 *pFontBASE = DTI->FONT_Image->GetBase();
|
||
if (Draw)
|
||
for (int CX = 0 ; CX < DTI->FONT_CharBounds[CurrentChar].cx ; CX ++)
|
||
{
|
||
if ((XEnd + CX > 0) && (XEnd + CX < Pitch))
|
||
{
|
||
for (int CY = 0 ; CY < DTI->FONT_CharBounds[CurrentChar].cy ; CY ++)
|
||
{
|
||
if (((pDEST - CY*Pitch > pBase) && (pDEST < pBaseEnd)) &&
|
||
(pDEST + CX - CY * Pitch > pBase) && (pDEST + CX - CY * Pitch < pBaseEnd))
|
||
{
|
||
if (DTI->FONT_AlphaMode)
|
||
{
|
||
u32 Alpha;
|
||
|
||
Alpha = ((u32)pFontBASE[DTI->FONT_CharPos[CurrentChar].cx+CX + (DTI->FONT_Image->SY - DTI->FONT_CharPos[CurrentChar].cy-CY-1) * DTI->FONT_Image->PITCH])>>24;
|
||
if (Alpha)
|
||
{
|
||
u32 BlenddedCF,BlenddedCB;
|
||
BlenddedCF = ((((CF & 0xff00ff) * Alpha)>>8) & 0xff00ff) + (((((CF & 0xff00ff00)>>8) * Alpha)) & 0xff00ff00);
|
||
Alpha ^= 255;
|
||
BlenddedCB = ((((CB & 0xff00ff) * Alpha)>>8) & 0xff00ff) + (((((CB & 0xff00ff00)>>8) * Alpha)) & 0xff00ff00);
|
||
pDEST[CX - CY * Pitch] = BlenddedCF + BlenddedCB ;
|
||
} else
|
||
pDEST[CX - CY * Pitch] = CB;
|
||
|
||
} else
|
||
if (pFontBASE[DTI->FONT_CharPos[CurrentChar].cx+CX + (DTI->FONT_Image->SY - DTI->FONT_CharPos[CurrentChar].cy-CY - 1) * DTI->FONT_Image->PITCH])
|
||
{
|
||
pDEST[CX - CY * Pitch] = CF;
|
||
} else
|
||
pDEST[CX - CY * Pitch] = CB;
|
||
if ((ValueOr == 3<<6) && (CX>=(DTI->FONT_CharBounds[CurrentChar].cx-2))) pDEST[CX - CY * Pitch] = CF;
|
||
if ((ValueOr == 3) && (CX<=2)) pDEST[CX - CY * Pitch] = CF;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
|
||
if (DTI)
|
||
{
|
||
if ((DTI->MouseY < Y + ImgWidth))
|
||
{
|
||
if (DTI->MouseX >= XEnd)
|
||
DTI->MouseToCursor = DTI->CurrentCursorPos;
|
||
}
|
||
|
||
DTI->CurrentCursorPos++;
|
||
}
|
||
|
||
if (!DTI || (DTI->FONT_Image == NULL))
|
||
{
|
||
XEnd += 8 << X2;
|
||
pDEST = pDESTSave + (8<<X2);
|
||
} else
|
||
{
|
||
XEnd += (DTI->FONT_CharBounds[CurrentChar].cx) << X2;
|
||
pDEST = pDESTSave + ((DTI->FONT_CharBounds[CurrentChar].cx)<<X2);
|
||
}
|
||
|
||
|
||
pTEXT++;
|
||
|
||
|
||
if ((*(pTEXT-1) == '\n'))
|
||
break;
|
||
|
||
}
|
||
|
||
if (DTI)
|
||
{
|
||
//DTI->CurrentCursorPos++;
|
||
DTI->XEnd = XEnd;
|
||
}
|
||
}
|
||
|
||
void DRawTEXT_Soft(u8 *pTEXT,u32 *pBase,u32 X, u32 Y, s32 Pitch , u32 Height , u32 Color , u32 X2 , u32 Y2)
|
||
{
|
||
u8 *PtextBase;
|
||
PtextBase = pTEXT;
|
||
while (*pTEXT)
|
||
{
|
||
if (*pTEXT == '\n')
|
||
{
|
||
DRawTEXT_Soft2(PtextBase,pBase,X, Y, Pitch , Height , Color , X2 , Y2);
|
||
Y -= 16;
|
||
PtextBase = pTEXT+1;
|
||
}
|
||
pTEXT++;
|
||
}
|
||
DRawTEXT_Soft2(PtextBase,pBase,X, Y, Pitch , Height , Color , X2 , Y2);
|
||
}
|
||
u32 GetNumberOfLines(u8 *pTEXT)
|
||
{
|
||
u32 Ret;
|
||
Ret = 0;
|
||
while (*pTEXT++)
|
||
{
|
||
if (*pTEXT == '\n') Ret++;
|
||
}
|
||
return Ret + 1;
|
||
}
|
||
|
||
u32 GetLenght(u8 *pTEXT)
|
||
{
|
||
u32 Ret;
|
||
Ret = 0;
|
||
while (*pTEXT && (*pTEXT != '\n'))
|
||
{
|
||
Ret++;
|
||
pTEXT++;
|
||
}
|
||
return Ret;
|
||
}
|
||
|
||
void DRawTEXT_Soft_B_Centered(u8 *pTEXT,u32 *pBase,s32 Pitch , u32 Height , u32 Color)
|
||
{
|
||
u32 ulNumberOfLine;
|
||
s32 Y,X,L;
|
||
ulNumberOfLine = GetNumberOfLines(pTEXT);
|
||
Y = (Height>>1) + (ulNumberOfLine * 16)/2 - 16;
|
||
while (ulNumberOfLine--)
|
||
{
|
||
L = GetLenght(pTEXT);
|
||
X = (Pitch >> 1) - 4 * L ;
|
||
if (L & 1) X -= 4;
|
||
DRawTEXT_Soft2(pTEXT,pBase,X, Y, Pitch , Height , Color , 0, 0);
|
||
Y-=16;
|
||
pTEXT+=L + 1;
|
||
}
|
||
}
|
||
void DRawTEXT_UserInterface(unsigned char *pTEXT,u32 *pBase,s32 Pitch , u32 Height , DrwTEXT_UI *D_UI)
|
||
{
|
||
u8 *PtextBase,*PtextBaseCursor,*ptextBase00;
|
||
s32 X,Y;
|
||
X = D_UI->X;
|
||
Y = D_UI->Y;
|
||
D_UI->YEnd = Y;
|
||
ptextBase00 = PtextBase = pTEXT;
|
||
PtextBaseCursor = pTEXT + D_UI->CursorPos;
|
||
|
||
DRawTEXT_Soft2(PtextBase,pBase,X, Y, Pitch , Height , D_UI->ColorFront , 0 , 0 , D_UI->ColorBack,D_UI);
|
||
}
|
||
|
||
void DRawTEXT_Soft_B(u8 *pTEXT,u32 *pBase,u32 X, u32 Y, s32 Pitch , u32 Height , u32 Color)
|
||
{
|
||
DRawTEXT_Soft(pTEXT,pBase,X + 1, Y + 1, Pitch , Height , 0 , 0 , 0);
|
||
DRawTEXT_Soft(pTEXT,pBase,X + 1, Y - 1, Pitch , Height , 0 , 0 , 0);
|
||
DRawTEXT_Soft(pTEXT,pBase,X - 1, Y + 1, Pitch , Height , 0 , 0 , 0);
|
||
DRawTEXT_Soft(pTEXT,pBase,X - 1, Y - 1, Pitch , Height , 0 , 0 , 0);
|
||
DRawTEXT_Soft(pTEXT,pBase,X , Y , Pitch , Height , Color , 0 , 0);
|
||
}
|
||
void DRawTEXT_Soft_B2x(u8 *pTEXT,u32 *pBase,u32 X, u32 Y, s32 Pitch , u32 Height , u32 Color)
|
||
{
|
||
Y>>=1;
|
||
DRawTEXT_Soft(pTEXT,pBase,X + 1, Y + 1, Pitch , Height , 0 , 1 , 1);
|
||
DRawTEXT_Soft(pTEXT,pBase,X + 1, Y - 1, Pitch , Height , 0 , 1 , 1);
|
||
DRawTEXT_Soft(pTEXT,pBase,X - 1, Y + 1, Pitch , Height , 0 , 1 , 1);
|
||
DRawTEXT_Soft(pTEXT,pBase,X - 1, Y - 1, Pitch , Height , 0 , 1 , 1);
|
||
DRawTEXT_Soft(pTEXT,pBase,X , Y , Pitch , Height , Color , 1 , 1);
|
||
} |