563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
|
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
|
-
+
+
+
+
+
|
typedef struct {
Uint8 a,h;
Uint16 w;
} PopLine;
static void pop_bar(int x,int y,PopLine*li,int w) {
Uint8*p=screen->pixels;
Uint16 pitch=screen->pitch;
if(x+w>=screen->w || y+8>screen->h) return;
p+=(y+3)*pitch+x;
while(w--) *p++=w&1?7:5;
}
static void pop_char(int x,int y,PopLine*li,Uint8 c,Uint8 v) {
Uint8*p=screen->pixels;
Uint16 pitch=screen->pitch;
int xx,yy;
const unsigned char*f=fontdata+(v<<3);
|
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
|
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
|
-
+
|
pop_image(x,y,li+ln,p);
x+=picture_size;
p=strchr(p,'\\')?:"";
if(*p) p++;
break;
case 15:
y+=li[ln++].h;
pop_bar(bx,y,li+ln,tw);
pop_bar(bx-8,y,li+ln,tw+22);
y+=8;
if(ln<64) x=li[ln].a?bx+(tw-li[ln].w)/2:bx;
break;
case 16:
pop_quiz(x,y,li+ln,c,*p);
if(*p) p++;
x+=24;
|