Files
TempleOS-Rijn/TempleOS/Apps/AfterEgypt/Battle.CPP
T
2018-09-08 21:45:52 +02:00

214 lines
3.3 KiB
C++

$BG,14$
$SP,"<1>",1$
$SP,"<2>",2$
$SP,"<3>",3$
$SP,"<4>",4$
$BG$
F64 t0,xx,t_last;
Bool held_up;
#define HACK_PERIOD 0.25
#define SPACING 45
U0 DrawBattle(CTask *task,CDC *dc)
{
I64 cx=task->win_pixel_width>>1,
cy=task->win_pixel_height>>1;
U8 *temps;
F64 tt;
if (held_up)
tt=0;
else {
tt=(tT-t0)/2;
tt*=tt;
tt*=tt;
if (tt>1.0) tt=1.0;
}
temps=SpriteInterpolate($IB,"<3>",3$,$IB,"<4>",4$,tt);
SpritePlot3(dc,cx,cy+SPACING,0,temps);
Free(temps);
if (t_last) {
if (tt<0.5)
xx-=50.0*(tT-t_last);
else
xx+=50.0*(tT-t_last);
}
tt=Saw(tT+0.0*HACK_PERIOD,HACK_PERIOD);
tt*=2; if (tt>1.0) tt=2.0-tt;
temps=SpriteInterpolate($IB,"<1>",1$,$IB,"<2>",2$,tt);
SpritePlot3(dc,xx+cx+SPACING,cy-SPACING,0,temps);
Free(temps);
tt=Saw(tT+0.333*HACK_PERIOD,HACK_PERIOD);
tt*=2; if (tt>1.0) tt=2.0-tt;
temps=SpriteInterpolate($IB,"<1>",1$,$IB,"<2>",2$,tt);
SpritePlot3(dc,xx+cx+2*SPACING,cy-SPACING,0,temps);
Free(temps);
tt=Saw(tT+0.666*HACK_PERIOD,HACK_PERIOD);
tt*=2; if (tt>1.0) tt=2.0-tt;
temps=SpriteInterpolate($IB,"<1>",1$,$IB,"<2>",2$,tt);
SpritePlot3(dc,xx+cx+SPACING,cy-2*SPACING,0,temps);
Free(temps);
t_last=tT;
}
U0 Battle()
{
I64 msg_code,ch,sc;
SettingsPush(Fs,TSF_SAME_SONG); //See $LK,"SettingsPush","MN:SettingsPush"$
try {
Fs->text_attr=YELLOW<<4+BLUE;
DocClear;
"$$BG,YELLOW$$";
PutBibleVerse("Exodus,17:11",8);
"\n$$BK,1$$Hold <SPACE BAR>$$BK,0$$\n";
held_up=FALSE;
t0=tT;
t_last=0;
xx=0;
Fs->draw_it=&DrawBattle;
do {
msg_code=GetMsg(&ch,&sc,1<<MSG_KEY_DOWN|1<<MSG_KEY_UP);
if (ch==CH_SPACE) {
if (msg_code==MSG_KEY_DOWN)
held_up=TRUE;
else if (msg_code==MSG_KEY_UP) {
held_up=FALSE;
t0=tT;
}
}
} while (msg_code!=MSG_KEY_DOWN || ch!=CH_SHIFT_ESC && ch!=CH_ESC);
GetMsg(,,1<<MSG_KEY_UP);
} catch
CatchAll;
DocClear;
SettingsPop(Fs,TSF_SAME_SONG);
}
ç
ýÿÿÿÿÿÿÿ
ÿÿÿÿ 


üÿÿÿúÿÿÿ
ðÿÿÿ
ÿÿÿÿþÿÿÿüÿÿÿïÿÿÿ
êÿÿÿãÿÿÿ
ðÿÿÿéÿÿÿ
èÿÿÿÙÿÿÿ
ûÿÿÿîÿÿÿóÿÿÿèÿÿÿ
òÿÿÿçÿÿÿíÿÿÿÚÿÿÿ
Èÿÿÿ&øÿÿÿç
ýÿÿÿÿÿÿÿ
ÿÿÿÿ 


üÿÿÿúÿÿÿ
ðÿÿÿ
ÿÿÿÿþÿÿÿüÿÿÿïÿÿÿ
êÿÿÿãÿÿÿ
ðÿÿÿ ûÿÿÿ
ûÿÿÿúÿÿÿ
ûÿÿÿîÿÿÿóÿÿÿýÿÿÿ
óÿÿÿüÿÿÿïÿÿÿ÷ÿÿÿ
Ýÿÿÿ µ
-#3!
3!0
02ÿÿÿÿ
2ÿÿÿÿ.äÿÿÿ
1üÿÿÿ9åÿÿÿ
3Þÿÿÿ1Õÿÿÿ
8çÿÿÿ:ôÿÿÿ
3üÿÿÿ5
59"
-äÿÿÿ(òÿÿÿ
(òÿÿÿ ãÿÿÿ
9ôÿÿÿ,ôÿÿÿ
,ëÿÿÿ6ìÿÿÿ
6ìÿÿÿ:øÿÿÿ
:øÿÿÿ7
7-
-)õÿÿÿ
)õÿÿÿ-ìÿÿÿ
*öÿÿÿ6÷ÿÿÿ
3ïÿÿÿ.ïÿÿÿ
,úÿÿÿ6úÿÿÿ
0þÿÿÿ4þÿÿÿ
/4
ãÿÿÿãÿÿÿ
ãÿÿÿ)Òÿÿÿµ
'#.
-*
)2
0'àÿÿÿ
1üÿÿÿ4ãÿÿÿ
.Þÿÿÿ+Õÿÿÿ
6åÿÿÿ5öÿÿÿ
3üÿÿÿ9
9B
(âÿÿÿ%ðÿÿÿ
%ôÿÿÿöÿÿÿ
3ôÿÿÿ'ùÿÿÿ
+æÿÿÿ2äÿÿÿ
2æÿÿÿ6ôÿÿÿ
6õÿÿÿ2
1'
'%õÿÿÿ
)õÿÿÿ(æÿÿÿ
*öÿÿÿ3øÿÿÿ
3ïÿÿÿ)îÿÿÿ
&ûÿÿÿ3øÿÿÿ
&ýÿÿÿ4þÿÿÿ
'3
÷ÿÿÿ÷ÿÿÿ
÷ÿÿÿýÿÿÿãÿÿÿ