ico.c

来自「redboy for gba 是BPNS为GBA编写的一个小软件。软件的邹形是B」· C语言 代码 · 共 140 行

C
140
字号
#include <csagb.h>
#include <rbasic.h>
extern void load_scr(u16 *sav,u8 xp,u8 yp,u8 xsp,u8 ysp);

const u16 scup[]={
32667,32634,32633,32633,32633,32600,32600,32600,32599,32666,32633,32633,32633,
32601,32599,32567,32567,32567,32633,32633,32601,32601,16777,32567,32567,32567,
32567,32633,32633,32633,16777,16777,16777,32567,32566,32567,32601,32601,16777,
16777,16777,16777,16777,32566,32566,32600,16777,16777,16777,32600,16777,16777,
16777,32566,32600,32600,16777,32600,32600,32566,16777,32566,32566,32599,32600,
32600,32600,32600,32598,32598,32565,32565,32567,32599,32600,32599,32600,32598,
32566,32565,32565};//滚动条向上按钮 9X9
const u16 scdw[]={
32666,32666,32633,32633,32601,32567,32567,32567,32567,32634,32633,32633,32601,
32567,32567,32567,32567,32567,32633,32633,16777,32633,32600,32567,16777,32567,
32567,32633,16777,16777,16777,32600,16777,16777,16777,32567,32601,32601,16777,
16777,16777,16777,16777,32566,32566,32600,32600,32600,16777,16777,16777,32566,
32566,32566,32600,32600,32600,32600,16777,32599,32598,32598,32565,32599,32600,
32599,32599,32599,32598,32598,32566,32565,32567,32567,32567,32567,32567,32566,
32566,32566,32565};//向下按钮 9X9

const u16  sctp[]={
32700,32634,32633,31576,31576,31543,31510,31509,32667,32634,32700,32667,32666,
32666,32633,32600,32567,31543};//滚动条上部 9X2

const u16 scbt[]={
31543,32633,32633,32633,32600,32599,32566,32567,31543,32667,31510,31543,31543,
31543,31542,31510,31510,31643};//滚动条下部 9x2

const u16 scmd[]={
31542,32600,32733,32733,32733,32733,32566,32566,31542,31542,32600,32601,32465,
32465,32465,32465,32566,31542,31542,32600,32733,32733,32733,32733,32566,32566,
31542,31542,32600,32601,32465,32465,32465,32465,32566,31542,31542,32600,32733,
32733,32733,32733,32566,32566,31542,31542,32600,32601,32465,32465,32465,32465,
32566,31542};//滚动条中部 9X6

const u16 scbg[]={
31542,32600,32601,32601,32600,32599,32566,32566,31542};//填充 9X1

const u16 scbb[]={
31643,31643,31643,31643,31643,31643,31643,31643,31643};//背景色

const u16 ico_pic[]={
32767,22367,6618,26527,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,7641,3382,6618,18993,26425,30653,31710,31710,30653,24145,
28539,30620,31710,32767,32767,32767,12789,2258,4370,16878,23288,12063,29563,30620,
29563,25202,19884,25335,29596,32734,32767,32767,32767,17873,16781,15789,22231,
21310,24310,27449,28506,27283,19882,21074,27481,31710,32767,32767,32767,29427,
28234,15788,18135,10938,21106,24278,24347,22136,15788,20017,27449,31710,32767,
32767,32767,26291,28235,17902,7929,2615,21073,20118,3455,8535,15790,22164,28539,
31710,32767,32767,30653,26291,27116,21041,2878,5652,28402,17084,254,8434,16847,24279,
30653,32767,32767,32767,30653,25363,18985,11721,1789,6675,29358,10748,1244,15826,
16879,25368,30653,32767,32767,32767,30652,25527,7913,1444,667,7665,26155,7547,
12764,18992,18960,26425,31710,32767,32767,32767,30653,28538,21299,13964,9976,
15029,26356,8701,19133,14731,20050,28506,31710,32767,32767,32767,32767,28538,21267,
10826,3702,14037,17115,4575,26426,13674,23220,29595,32766,32767,32767,32767,32767,
28538,25330,10826,3602,13939,10811,9691,24243,15788,24278,30653,32767,32767,
32767,32767,32767,29563,25296,11883,4623,10870,5598,17941,20015,17902,26392,31709,
32767,32767,32767,32767,32767,30652,26390,13931,8748,13943,5565,23187,14731,21074,
28506,31710,32767,32767,32767,32767,32767,32767,28505,19121,22223,28439,20088,
17901,16845,24278,30620,32767,32767,32767,32767,32767,32767,32767,30620,25335,
20049,16845,15788,17902,23188,28506,31710,32767,32767,32767,32767};//BMP
const u16 ico_txt[]={
32767,22096,12950,17970,13941,17970,13908,18994,14965,24179,12818,22231,32767,
32767,32767,32767,32767,28273,19093,28471,20183,28471,20148,29493,24310,31573,
18990,20084,32767,32767,32767,32767,32767,28337,30614,31672,31638,29556,29554,
31602,31601,31567,29323,19026,32767,32767,32767,32767,32767,28336,30578,29555,
30578,28496,29519,29487,29486,29452,32492,18958,32767,32767,32767,32767,32767,
27347,30544,30546,30544,28462,29485,30477,30476,29417,32458,24173,23287,32767,
32767,32767,32767,26358,29520,30510,30510,28427,28394,30443,30442,29384,31401,
30414,19026,32767,32767,32767,32767,26390,28531,30444,30476,28393,29417,29385,
29385,28328,29289,32494,18958,25402,32767,32767,32767,26390,26550,30443,30442,
28360,28328,29353,28329,27272,28233,30414,23117,23287,32767,32767,32767,26358,
27609,29421,28329,27304,26248,27273,27273,26184,26153,28269,28301,19059,32767,
32767,32767,26357,25562,28464,28297,25192,26217,26217,25161,25128,25065,26157,
29326,17934,32767,32767,32767,26357,26619,27508,27274,24136,24104,25129,25128,
26152,27178,28270,28301,16843,24345,32767,32767,26357,25561,27575,28332,25193,
26283,28397,28463,27471,18889,15821,16912,19059,25401,32767,32767,26390,26619,
25560,27541,24466,25523,28564,27474,27343,13673,24345,32767,32767,32767,32767,
32767,27348,28533,28467,26288,24141,20939,16779,15755,15822,19026,25402,32767,
32767,32767,32767,32767,16813,16811,15788,15822,18002,20117,23288,25401,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767};//TXT


void new_scroll(u32 lc,u32 len)//显示滚动条
{
   u32 loc;
   int add;
   int i;
   u32 ploc=240*26+230;
   if (len<1) len=1;
   add=57/len;
   loc=114*lc/len;
   for (i=26;i<150;i++)
   {
      DmaCopy(3,scbb,mVRAM+ploc,18,16);
      ploc+=240;
   }
   load_scr(scup,230,17,238,25);
   load_scr(scdw,230,150,238,158);
   load_scr(sctp,230,26+loc,238,loc+27);
   for (i=0;i<add;i++) load_scr(scbg,230,loc+28+i,238,loc+28+i);
   load_scr(scmd,230,26+loc+add,238,loc+add+31);
   for (i=0;i<add;i++) load_scr(scbg,230,loc+26+6+i+add,238,loc+26+6+i+add);
   load_scr(scbt,230,26+6+loc+add+add,238,loc+add+add+27+6);
}
void new_scroll1(u32 lc,u32 len)
{
   u32 loc;
   int add;
   int i;
   u32 ploc=240*10+230;
   if (len<1) len=1;
   add=65/len;
   loc=130*lc/len;
   for (i=10;i<150;i++)
   {
      DmaCopy(3,scbb,mVRAM+ploc,18,16);
      ploc+=240;
   }
   load_scr(scup,230,1,238,9);
   load_scr(scdw,230,150,238,158);
   load_scr(sctp,230,10+loc,238,loc+11);
   for (i=0;i<add;i++) load_scr(scbg,230,loc+12+i,238,loc+12+i);
   load_scr(scmd,230,10+loc+add,238,loc+add+15);
   for (i=0;i<add;i++) load_scr(scbg,230,loc+10+6+i+add,238,loc+10+6+i+add);
   load_scr(scbt,230,10+6+loc+add+add,238,loc+add+add+11+6);
}
void show_ico(u8 id,u8 xp,u8 yp)
{
   u16 *icos[]={ico_txt,ico_pic};
   load_scr(icos[id],xp,yp,xp+15,yp+15);
}
/*void sctest()
{
   new_scroll(2,4);
   RBprint("AUTO RUN END\n");
}*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?