It is still not perfect Vsync, but I have made some improvement to the .pb file from Deth good.
Code: Select all
Define.w
Dim Lev.w(1600,10)
Dim Scr.w(41,10)
Dim Obj.w(20,3)
Dim Sco.w(9,1)
Dim Ani.w(255,2)
bitplanes.b=32
Global SCREENWIDTH.l=GetSystemMetrics_(#SM_CXSCREEN),SCREENHEIGHT.l=GetSystemMetrics_(#SM_CYSCREEN)
If InitMouse()=0 Or InitSprite()=0 Or InitSprite3D()=0 Or InitKeyboard()=0 Or InitSound()=0
MessageRequester("Error","Can't access DirectX",0):End
EndIf
Repeat
scr.l=OpenScreen(SCREENWIDTH,SCREENHEIGHT,bitplanes.b,"")
If scr.l:Break:EndIf
If bitplanes.b>16:bitplanes.b-8
ElseIf SCREENHEIGHT>600:SCREENWIDTH=800:SCREENHEIGHT=600
ElseIf SCREENHEIGHT>480:SCREENWIDTH=640:SCREENHEIGHT=480
ElseIf SCREENHEIGHT>400:SCREENWIDTH=640:SCREENHEIGHT=400
ElseIf SCREENHEIGHT>240:SCREENWIDTH=320:SCREENHEIGHT=240
ElseIf SCREENHEIGHT>200:SCREENWIDTH=320:SCREENHEIGHT=200
Else:MessageRequester("Listen:","Can't open Screen!",0):End
EndIf
Until bitplanes.b<=8
SetFrameRate(60)
;
;The stretch will be from (w,h) to (SCREENWIDTH,SCREENHEIGHT)
w.l=320:h.l=240
b3.l=CreateSprite(#PB_Any,w,h)
Global *buf3.l=SpriteID(b3)
UseBuffer(b3)
!push eax
!mov eax,dword[v_w]
!mov dword[SrcRight],eax
!mov eax,dword[v_h]
!mov dword[SrcBottom],eax
!mov eax,dword[v_SCREENWIDTH]
!mov dword[DestRight],eax
!mov eax,dword[v_SCREENHEIGHT]
!mov dword[DestBottom],eax
!pop eax
;
!extrn _PB_DirectX_PrimaryBuffer
!extrn _PB_DirectX_BackBuffer
!DDBLT_WAIT equ $1000000
;
Procedure PrimaryBufferInit()
!mov eax,dword[_PB_DirectX_PrimaryBuffer]
!test eax,eax
!jz @f
!mov dword[PrimaryBuffer],eax
ProcedureReturn
!@@:
!;PrimaryBufferInit:
!push DDrawBase
!mov eax,dword[_PB_DirectX_BackBuffer]
!push eax
!mov eax,dword[eax]
!call dword[eax+144]
!push PrimaryBuffer
!mov eax,dword[DDrawBase]
!push eax
!mov eax,dword[eax]
!call dword[eax+56]
!mov eax,dword[PrimaryBuffer]
!;EndPrimaryBufferInit
EndProcedure
Procedure MyCopyBufferEx()
!mov eax,dword[_PB_DirectX_BackBuffer]
!push dword dwSize dword DDBLT_WAIT dword SrcLeft dword[p_buf3] dword DestLeft eax
!mov eax,dword[eax]
!call dword[eax+20]
EndProcedure
DataSection
!DDrawBase:dd 0
!PrimaryBuffer:dd 0
!SrcLeft:dd 0
!SrcTop:dd 0
!SrcRight:dd 0
!SrcBottom:dd 0
!DestLeft:dd 0
!DestTop:dd 0
!DestRight:dd 0
!DestBottom:dd 0
!dwSize:dd 100
EndDataSection
PrimaryBufferInit()
;*** load sound ***
CatchSound(0, ?Scra_0_wav)
CatchSound(1, ?Scra_1_wav)
CatchSound(2, ?Scra_2_wav)
CatchSound(3, ?Scra_3_wav)
CatchSound(4, ?Scra_4_wav)
CatchSound(5, ?Scra_5_wav)
CatchSound(6, ?Scra_6_wav)
CatchSound(7, ?Scra_7_wav)
CatchSound(8, ?Scra_8_wav)
CatchSound(9, ?Scra_9_wav)
CatchSound(10, ?Scra_10_wav)
;*** load sprites ***
CatchSprite(0, ?Scra_0_bmp)
CatchSprite(1, ?Scra_1_bmp)
CatchSprite(2, ?Scra_2_bmp)
CatchSprite(3, ?Scra_3_bmp)
CatchSprite(4, ?Scra_4_bmp)
CatchSprite(5, ?Scra_5_bmp)
CatchSprite(6, ?Scra_6_bmp)
CatchSprite(7, ?Scra_7_bmp)
CatchSprite(8, ?Scra_8_bmp)
CatchSprite(9, ?Scra_9_bmp)
CatchSprite(10, ?Scra_10_bmp)
CatchSprite(11, ?Scra_11_bmp)
CatchSprite(12, ?Scra_12_bmp)
CatchSprite(13, ?Scra_13_bmp)
CatchSprite(14, ?Scra_14_bmp)
CatchSprite(15, ?Scra_15_bmp)
CatchSprite(16, ?Scra_16_bmp)
CatchSprite(17, ?Scra_17_bmp)
CatchSprite(18, ?Scra_18_bmp)
CatchSprite(19, ?Scra_19_bmp)
CatchSprite(20, ?Scra_20_bmp)
CatchSprite(21, ?Scra_21_bmp)
CatchSprite(22, ?Scra_22_bmp)
CatchSprite(23, ?Scra_23_bmp)
CatchSprite(24, ?Scra_24_bmp)
CatchSprite(25, ?Scra_25_bmp)
CatchSprite(26, ?Scra_26_bmp)
CatchSprite(27, ?Scra_27_bmp)
CatchSprite(28, ?Scra_28_bmp)
CatchSprite(29, ?Scra_29_bmp)
CatchSprite(30, ?Scra_30_bmp)
CatchSprite(31, ?Scra_31_bmp)
CatchSprite(32, ?Scra_32_bmp)
CatchSprite(33, ?Scra_33_bmp)
CatchSprite(34, ?Scra_34_bmp)
CatchSprite(35, ?Scra_35_bmp)
CatchSprite(36, ?Scra_36_bmp)
CatchSprite(37, ?Scra_37_bmp)
CatchSprite(38, ?Scra_38_bmp)
CatchSprite(39, ?Scra_39_bmp)
CatchSprite(40, ?Scra_40_bmp)
CatchSprite(41, ?Scra_41_bmp)
CatchSprite(42, ?Scra_42_bmp)
CatchSprite(43, ?Scra_43_bmp)
CatchSprite(44, ?Scra_44_bmp)
CatchSprite(45, ?Scra_45_bmp)
CatchSprite(46, ?Scra_46_bmp)
CatchSprite(47, ?Scra_47_bmp)
CatchSprite(48, ?Scra_48_bmp)
CatchSprite(49, ?Scra_49_bmp)
CatchSprite(50, ?Scra_50_bmp)
CatchSprite(51, ?Scra_51_bmp)
CatchSprite(52, ?Scra_52_bmp)
CatchSprite(53, ?Scra_53_bmp)
CatchSprite(54, ?Scra_54_bmp)
CatchSprite(55, ?Scra_55_bmp)
CatchSprite(56, ?Scra_56_bmp)
CatchSprite(57, ?Scra_57_bmp)
CatchSprite(58, ?Scra_58_bmp)
CatchSprite(59, ?Scra_59_bmp)
CatchSprite(60, ?Scra_60_bmp)
CatchSprite(61, ?Scra_61_bmp)
CatchSprite(62, ?Scra_62_bmp)
CatchSprite(92, ?Scra_92_bmp)
CatchSprite(93, ?Scra_93_bmp)
CatchSprite(94, ?Scra_94_bmp)
CatchSprite(95, ?Scra_95_bmp)
CatchSprite(96, ?Scra_96_bmp)
CatchSprite(97, ?Scra_97_bmp)
CatchSprite(98, ?Scra_98_bmp)
CatchSprite(99, ?Scra_99_bmp)
CatchSprite(100, ?Scra_100_bmp)
CatchSprite(101, ?Scra_101_bmp)
CatchSprite(102, ?Scra_102_bmp)
CatchSprite(103, ?Scra_103_bmp)
CatchSprite(104, ?Scra_104_bmp)
CatchSprite(105, ?Scra_105_bmp)
CatchSprite(106, ?Scra_106_bmp)
CatchSprite(107, ?Scra_107_bmp)
CatchSprite(108, ?Scra_108_bmp)
CatchSprite(109, ?Scra_109_bmp)
CatchSprite(110, ?Scra_110_bmp)
CatchSprite(111, ?Scra_111_bmp)
CatchSprite(112, ?Scra_112_bmp)
CatchSprite(113, ?Scra_113_bmp)
CatchSprite(114, ?Scra_114_bmp)
CatchSprite(115, ?Scra_115_bmp)
CatchSprite(116, ?Scra_116_bmp)
CatchSprite(117, ?Scra_117_bmp)
CatchSprite(118, ?Scra_118_bmp)
CatchSprite(119, ?Scra_119_bmp)
CatchSprite(120, ?Scra_120_bmp)
CatchSprite(121, ?Scra_121_bmp)
CatchSprite(122, ?Scra_122_bmp)
CatchSprite(123, ?Scra_123_bmp)
CatchSprite(124, ?Scra_124_bmp)
CatchSprite(125, ?Scra_125_bmp)
CatchSprite(126, ?Scra_126_bmp)
CatchSprite(127, ?Scra_127_bmp)
CatchSprite(128, ?Scra_128_bmp)
CatchSprite(129, ?Scra_129_bmp)
CatchSprite(130, ?Scra_130_bmp)
CatchSprite(131, ?Scra_131_bmp)
CatchSprite(132, ?Scra_132_bmp)
CatchSprite(133, ?Scra_133_bmp)
CatchSprite(134, ?Scra_134_bmp)
CatchSprite(135, ?Scra_135_bmp)
CatchSprite(136, ?Scra_136_bmp)
CatchSprite(137, ?Scra_137_bmp)
CatchSprite(138, ?Scra_138_bmp)
CatchSprite(139, ?Scra_139_bmp)
CatchSprite(140, ?Scra_140_bmp)
CatchSprite(141, ?Scra_141_bmp)
CatchSprite(142, ?Scra_142_bmp)
CatchSprite(143, ?Scra_143_bmp)
CatchSprite(144, ?Scra_144_bmp)
CatchSprite(145, ?Scra_145_bmp)
CatchSprite(146, ?Scra_146_bmp)
CatchSprite(147, ?Scra_147_bmp)
CatchSprite(148, ?Scra_148_bmp)
CatchSprite(149, ?Scra_149_bmp)
CatchSprite(150, ?Scra_150_bmp)
CatchSprite(151, ?Scra_151_bmp)
CatchSprite(152, ?Scra_152_bmp)
CatchSprite(153, ?Scra_153_bmp)
CatchSprite(154, ?Scra_154_bmp)
CatchSprite(155, ?Scra_155_bmp)
CatchSprite(156, ?Scra_156_bmp)
CatchSprite(157, ?Scra_157_bmp)
CatchSprite(158, ?Scra_158_bmp)
CatchSprite(159, ?Scra_159_bmp)
CatchSprite(160, ?Scra_160_bmp)
CatchSprite(161, ?Scra_161_bmp)
CatchSprite(162, ?Scra_162_bmp)
CatchSprite(163, ?Scra_163_bmp)
CatchSprite(164, ?Scra_164_bmp)
CatchSprite(165, ?Scra_165_bmp)
CatchSprite(166, ?Scra_166_bmp)
CatchSprite(167, ?Scra_167_bmp)
CatchSprite(168, ?Scra_168_bmp)
CatchSprite(169, ?Scra_169_bmp)
CatchSprite(170, ?Scra_170_bmp)
CatchSprite(171, ?Scra_171_bmp)
CatchSprite(172, ?Scra_172_bmp)
CatchSprite(173, ?Scra_173_bmp)
CatchSprite(174, ?Scra_174_bmp)
CatchSprite(175, ?Scra_175_bmp)
CatchSprite(176, ?Scra_176_bmp)
CatchSprite(177, ?Scra_177_bmp)
CatchSprite(178, ?Scra_178_bmp)
CatchSprite(179, ?Scra_179_bmp)
CatchSprite(180, ?Scra_180_bmp)
CatchSprite(181, ?Scra_181_bmp)
CatchSprite(182, ?Scra_182_bmp)
CatchSprite(183, ?Scra_183_bmp)
CatchSprite(184, ?Scra_184_bmp)
CatchSprite(185, ?Scra_185_bmp)
CatchSprite(186, ?Scra_186_bmp)
CatchSprite(187, ?Scra_187_bmp)
CatchSprite(188, ?Scra_188_bmp)
CatchSprite(189, ?Scra_189_bmp)
CatchSprite(190, ?Scra_190_bmp)
CatchSprite(191, ?Scra_191_bmp)
CatchSprite(192, ?Scra_192_bmp)
CatchSprite(193, ?Scra_193_bmp)
CatchSprite(194, ?Scra_194_bmp)
CatchSprite(195, ?Scra_195_bmp)
CatchSprite(196, ?Scra_196_bmp)
CatchSprite(197, ?Scra_197_bmp)
CatchSprite(198, ?Scra_198_bmp)
CatchSprite(199, ?Scra_199_bmp)
CatchSprite(200, ?Scra_200_bmp)
CatchSprite(201, ?Scra_201_bmp)
CatchSprite(202, ?Scra_202_bmp)
CatchSprite(203, ?Scra_203_bmp)
CatchSprite(204, ?Scra_204_bmp)
CatchSprite(205, ?Scra_205_bmp)
CatchSprite(206, ?Scra_206_bmp)
CatchSprite(207, ?Scra_207_bmp)
CatchSprite(208, ?Scra_208_bmp)
CatchSprite(209, ?Scra_209_bmp)
CatchSprite(210, ?Scra_210_bmp)
CatchSprite(211, ?Scra_211_bmp)
CatchSprite(212, ?Scra_212_bmp)
CatchSprite(213, ?Scra_213_bmp)
CatchSprite(214, ?Scra_214_bmp)
CatchSprite(215, ?Scra_215_bmp)
CatchSprite(216, ?Scra_216_bmp)
CatchSprite(217, ?Scra_217_bmp)
CatchSprite(218, ?Scra_218_bmp)
CatchSprite(219, ?Scra_219_bmp)
CatchSprite(220, ?Scra_220_bmp)
CatchSprite(221, ?Scra_221_bmp)
CatchSprite(222, ?Scra_222_bmp)
CatchSprite(223, ?Scra_223_bmp)
CatchSprite(224, ?Scra_224_bmp)
CatchSprite(225, ?Scra_225_bmp)
CatchSprite(226, ?Scra_226_bmp)
CatchSprite(227, ?Scra_227_bmp)
CatchSprite(228, ?Scra_228_bmp)
;*** Lev 0=groundsprite1 1=height1 2=ceilingsprite2 3=height2 4=blocksprite1 5=height 6=blocksprite2 7=height 8=enemysprite 9=height ***
;*** Obj 0=ship 1-4=lasers 5-6=bombs 7-12=saucers/fireballs/rockets 13=fuelmeter 15=Lives 16=Flags 17=levelmeter 18=title screen 19=fuel 20=backgr.
;*** load Leveldata ***
For X = 1 To 1600
For X1 = 0 To 10
Dat.b = PeekB(?Scra_0_dat + X2)
Lev(X,X1) = Dat.b & 255
X2 + 1
Next X1
Next X
;*** read Animationdata into array ***
For T = 0 To 255
For T1 = 0 To 2
Dat.b = PeekB(?Scra_1_dat + T2)
Ani(T,T1) = Dat.b & 255
T2 + 1
Next T1
Next T
Obj(19,0) = 107 : Obj(19,1) = 0 : Obj(19,2) = 232 : Obj(19,3) = 0
Obj(20,0) = 164 : Obj(20,1) = 0 : Obj(20,2) = 0 : Obj(20,3) = 0
Repeat
;*** Display Title screen ***
Repeat
Obj(20,3) + 1
If obj(20,3) > 49
obj(20,0) + 1
If obj(20,0) = 168
obj(20,0) = 164
EndIf
Obj(20,3) = 0
EndIf
DisplaySprite(obj(20,0),0,0)
DisplaySprite(Sco(1,0),48,0)
DisplaySprite(Sco(2,0),56,0)
DisplaySprite(Sco(3,0),64,0)
DisplaySprite(Sco(4,0),72,0)
DisplaySprite(Sco(6,0),192,0)
DisplaySprite(Sco(7,0),200,0)
DisplaySprite(Sco(8,0),208,0)
DisplaySprite(Sco(9,0),216,0)
T1 + 1
If Obj(15,1) = 336
If T1 < 180
DisplayTransparentSprite(112,120,120)
Else
Obj(15,1) = 0
T1 = 0
EndIf
Else
If T1 < 61
For T = 119 To T1 + 118
DisplayTransparentSprite(Ani(T,0),Ani(T,1),Ani(T,2))
Next T
ElseIf T1 < 361
For T = 119 To 178
DisplayTransparentSprite(Ani(T,0),Ani(T,1),Ani(T,2))
Next T
ElseIf T1 < 438
For T = 179 To T1 - 361 + 178
DisplayTransparentSprite(Ani(T,0),Ani(T,1),Ani(T,2))
Next T
ElseIf T1 < 738
For T = 179 To 255
DisplayTransparentSprite(Ani(T,0),Ani(T,1),Ani(T,2))
Next T
ElseIf T1 < 858
ElseIf T1 < 1158
DisplayTransparentSprite(142,80,68)
Else
T1 = 0
EndIf
EndIf
MyCopyBufferEx():FlipBuffers():Delay(16):UseBuffer(b3)
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Escape)
End
EndIf
Until KeyboardPushed(#PB_Key_Return)
Obj(15,0) = 108 : Obj(15,1) = 256 : Obj(15,2) = 0 : Obj(15,3) = 0
Obj(16,0) = 60 : Obj(16,1) = 312 : Obj(16,2) = 232 : Obj(16,3) = 32
Obj(17,0) = 100 : Obj(17,1) = 0 : Obj(17,2) = 16 : Obj(17,3) = 1
Sco(0,1) = 0
Repeat
;*** fill screen/objects/variables ***
For T = 0 To 41
Scr(T,0) = 54 : Scr(T,1) = 192 : Scr(T,2) = 0 : Scr(T,3) = 0 : Scr(T,4) = 171 : Scr(T,5) = 200
Scr(T,6) = 0 : Scr(T,7) = 0 : Scr(T,8) = 0 : Scr(T,9) = 0 : Scr(T,10) = 0
Next T
For T = 0 To 13
Obj(T,0) = 0 : Obj(T,1) = 0 : Obj(T,2) = 0 : Obj(T,3) = 0
Next T
Obj(0,0) = 160 : Obj(0,1) = 7 : Obj(0,2) = 74
Obj(13,0) = 62 : Obj(13,1) = 96 : Obj(13,2) = 232
X = Obj(17,3)
Repeat
;*** Set levelmeter and background sound ***
Select X
Case 1
Obj(17,0) = 100 : Obj(17,3) = 1
StopSound(8)
PlaySound(7,1)
Case 337
Obj(17,0) = 101 : Obj(17,3) = 337
StopSound(7)
PlaySound(8,1)
Case 562
Obj(17,0) = 102 : Obj(17,3) = 562
StopSound(8)
PlaySound(7,1)
Case 785
Obj(17,0) = 103 : Obj(17,3) = 785
PlaySound(7,1)
Case 1121
Obj(17,0) = 104 : Obj(17,3) = 1121
PlaySound(7,1)
Case 1345
Obj(17,0) = 105 : Obj(17,3) = 1345
PlaySound(7,1)
Case 1421
Obj(17,0) = 106 : Obj(17,3) = 1421
StopSound(7)
PlaySound(8,1)
EndSelect
For X1 = 0 To -7 Step -1
;*** Display background stars ***
Obj(20,3) + 1
If obj(20,3) = 50
obj(20,0) + 1
If obj(20,0) = 168
obj(20,0) = 164
EndIf
obj(20,3) = 0
EndIf
DisplaySprite(obj(20,0),0,0)
;*** Copy screen one tile to the left and get new leveldata ***
If X1 = 0
For T2 = 0 To 40
For T3 = 0 To 10
Scr(T2,T3) = Scr(T2+1,T3)
Next T3
Next T2
For T3 = 0 To 9
Scr(41,T3) = Lev(X,T3)
Next T3
EndIf
;*** Calculating and drawing the level (ground,ceiling And enemies on ground) ***
For X2 = 0 To 40
X3 = X2<<3 + X1
Y1 = Scr(X2,1) >> 3 << 3
Y2 = Scr(X2,3) >> 3 << 3
DisplayTransparentSprite(Scr(X2,0),X3,Y1)
If scr(X2,2) > 0
DisplayTransparentSprite(scr(X2,2),X3,Y2)
EndIf
If Scr(X2,4) > 0
DisplayTransparentSprite(Scr(X2,4),X3,Scr(X2,5))
EndIf
If scr(X2,6) > 0
DisplayTransparentSprite(Scr(X2,6),X3,Scr(X2,7))
EndIf
If Scr(X2,8) > 116 And Scr(X2,8) < 120
Scr(X2,10) + 1
If Scr(X2,10) > 63
Scr(X2,8) = 0
EndIf
ElseIf Scr(X2,8) > 119 And Scr(X2,8) < 124
Scr(X2,10) + 1
If Scr(X2,10) > 13
Scr(X2,8) + 1
If Scr(X2,8) = 124
Scr(X2,8) = 0
EndIf
Scr(X2,10) = 0
EndIf
EndIf
If Scr(X2,8) > 0
DisplayTransparentSprite(Scr(X2,8),X3,Scr(X2,9))
EndIf
Next X2
;*** Ship control, lasers launch, bombs launch ***
ExamineKeyboard()
If Obj(0,0) > 159
If Obj(13,1) > -32
If KeyboardPushed(#PB_Key_Up)
If Obj(0,2) > 42
Obj(0,2) - 1
EndIf
ElseIf KeyboardPushed(#PB_Key_Down)
If Obj(0,2) < 201
Obj(0,2) + 1
EndIf
EndIf
If KeyboardPushed(#PB_Key_Left)
If Obj(0,1) > 7
Obj(0,1) - 1
EndIf
ElseIf KeyboardPushed(#PB_Key_Right)
If Obj(0,1) < 86
Obj(0,1) + 1
EndIf
EndIf
Else
If Obj(0,2) < 201
Obj(0,2) + 1
EndIf
EndIf
If KeyboardPushed(#PB_Key_LeftShift)
If Ctrl_rel
If Obj(1,0) = 0
Obj(1,0) = 168
Obj(1,1) = Obj(0,1) + 32
Obj(1,2) = Obj(0,2)
PlaySound(0)
ElseIf Obj(2,0) = 0
Obj(2,0) = 168
Obj(2,1) = Obj(0,1) + 32
Obj(2,2) = Obj(0,2)
PlaySound(0)
ElseIf Obj(3,0) = 0
Obj(3,0) = 168
Obj(3,1) = Obj(0,1) + 32
Obj(3,2) = Obj(0,2)
PlaySound(0)
ElseIf Obj(4,0) = 0
Obj(4,0) = 168
Obj(4,1) = Obj(0,1) + 32
Obj(4,2) = Obj(0,2)
PlaySound(0)
EndIf
EndIf
Ctrl_rel = 0
Else
Ctrl_rel = 1
EndIf
If KeyboardPushed(#PB_Key_X)
If Alt_rel
If Obj(5,0) = 0
Obj(5,0) = 128
Obj(5,1) = Obj(0,1) + 8
Obj(5,2) = Obj(0,2) + 3
PlaySound(6)
ElseIf Obj(6,0) = 0
Obj(6,0) = 128
Obj(6,1) = Obj(0,1) + 8
Obj(6,2) = Obj(0,2) + 3
PlaySound(6)
EndIf
EndIf
Alt_rel = 0
Else
Alt_rel = 1
EndIf
EndIf
If KeyboardPushed(#PB_Key_P)
Delay(100)
EndIf
If KeyboardPushed(#PB_Key_Escape)
End
EndIf
;*** Calculate shape of ship ***
If Obj(0,0) > 159
Obj(0,3) + 1
If Obj(0,3) = 6
Obj(0,0) + 1
If Obj(0,0) = 163
Obj(0,0) = 160
EndIf
Obj(0,3) = 0
EndIf
Else
Obj(0,3) + 1
If Obj(0,3) = 16
Obj(0,0) + 1
If Obj(0,0) = 160
Obj(15,1) + 16
Break 2
EndIf
Obj(0,3) = 0
EndIf
If X1 < 0
X1 + 1
EndIf
EndIf
;*** Calculate lasers ***
For T2 = 1 To 4
If Obj(T2,0) = 168
If Obj(T2,1) < 205
Obj(T2,1) + 3
Else
Obj(T2,0) = 0
EndIf
EndIf
Next T2
;*** Calculate bombs ***
For T2 = 5 To 6
If Obj(T2,0) > 127
If Obj(T2,3) > 43
Obj(T2,2) + 1
Else
Obj(T2,0) = Ani(Obj(T2,3),0)
Obj(T2,1) + Ani(Obj(T2,3),1)
Obj(T2,2) + Ani(Obj(T2,3),2)
Obj(T2,3) + 1
EndIf
ElseIf Obj(T2,0) > 123
Obj(T2,3) + 1
If Obj(T2,3) > 7
Obj(T2,3) = 0
Obj(T2,0) + 1
If Obj(T2,0) = 128
Obj(T2,0) = 0
EndIf
EndIf
If Obj(0,0) > 159
Obj(T2,1) - 1
EndIf
EndIf
Next T2
;******************************************************************************************************************
If X = 336 Or X = 561 Or X = 784 Or X = 1120 Or X = 1440 Or X = 1600
For T2 = 7 To 12
Obj(T2,0) = 0
Obj(T2,1) = 0
Obj(T2,2) = 0
Obj(T2,3) = 0
Next T2
;*** rockets ***
ElseIf X < 336 Or (X >= 785 And X < 1120)
For T2 = 7 To 10
If Obj(T2,0) > 123
If Obj(0,0) > 159
Obj(T2,1) - 1
EndIf
Obj(T2,2) - 1
If Obj(T2,1) < 0 Or Obj(T2,2) < 24
Obj(T2,0) = 0
EndIf
ElseIf Obj(T2,0) > 119
If Obj(0,0) > 159
Obj(T2,1) - 1
EndIf
Obj(T2,3) + 1
If Obj(T2,3) = 8
Obj(T2,0) + 1
If Obj(T2,0) = 124
Obj(T2,0) = 0
EndIf
Obj(T2,3) = 0
EndIf
EndIf
Next T2
If Y3 > 0
Y3 - 1
Else
For T2 = 7 To 10
If Obj(T2,0) = 0
X2 = Random(10) + obj(0,1) >> 3
If scr(X2,8) = 134 And X1 = 0
scr(X2,8) = 0
Obj(T2,0) = 135
Obj(T2,1) = X2 << 3
Obj(T2,2) = Scr(X2,9) - 1
Obj(T2,3) = - 32
Y3 = 32
Break
EndIf
EndIf
Next T2
EndIf
;*** saucers ***
ElseIf X >= 337 And X < 561
If Lev(X,10) > 0 And X1 = 0
Obj(Lev(X,10) + 6,0) = 146
Obj(Lev(X,10) + 6,1) = 304 + Random(16)
Obj(Lev(X,10) + 6,3) = 44
EndIf
For T2 = 7 To 12
If Obj(T2,0) > 123
Obj(T2,3) + 1
If Obj(T2,3) = 119
Obj(T2,3) = 44
EndIf
Obj(T2,0) = Ani(Obj(T2,3),0)
Obj(T2,1) - Ani(Obj(T2,3),1)
Obj(T2,2) = Ani(Obj(T2,3),2)
ElseIf Obj(T2,0) > 112
Obj(T2,1) - 1
Obj(T2,3) + 1
If Obj(T2,3) = 6
Obj(T2,0) + 1
If Obj(T2,0) = 117
Obj(T2,0) = 0
EndIf
Obj(T2,3) = 0
EndIf
EndIf
Next T2
;*** fireballs ***
ElseIf X >= 562 And X < 784
If Lev(X,10) > 0 And X1 = 0 ;Fout herstellen
Obj(Lev(X,10) + 6,0) = 149
Obj(Lev(X,10) + 6,1) = 312
Obj(Lev(X,10) + 6,2) = Random(120) + 40
Obj(Lev(X,10) + 6,3) = 0
EndIf
For T2 = 7 To 12
If Obj(T2,0) > 123
Obj(T2,3) + 1
If Obj(T2,3) = 6
Obj(T2,0) + 1
If Obj(T2,0) = 153
Obj(T2,0) = 149
EndIf
Obj(T2,3) = 0
EndIf
Obj(T2,1) - 4
ElseIf Obj(T2,0) > 119
Obj(T2,1) - 1
Obj(T2,3) + 1
If Obj(T2,3) = 6
Obj(T2,0) + 1
If Obj(T2,0) = 124
Obj(T2,0) = 0
EndIf
Obj(T2,3) = 0
EndIf
EndIf
Next T2
;*** base ***
ElseIf X >= 1345 And X < 1440
If Lev(X,10) = 1 And X1 = 0
Obj(7,0) = 137
Obj(7,1) = 321
Obj(7,2) = 176
Obj(7,3) = 0
EndIf
If Obj(7,0) > 123
If Obj(0,0) > 159
Obj(7,1) - 1
EndIf
Obj(7,3) + 1
If Obj(7,3) = 8
Obj(7,0) + 1
If Obj(7,0) = 140
Obj(7,0) = 137
EndIf
Obj(7,3) = 0
EndIf
ElseIf Obj(7,0) > 119
If Obj(0,0) > 159
Obj(T2,1) - 1
EndIf
Obj(7,3) + 1
If Obj(7,3) = 14
Obj(7,0) + 1
If Obj(7,0) = 124
Obj(7,0) = 0
EndIf
Obj(7,3) = 0
EndIf
EndIf
;*** Invader ***
ElseIf X >= 1441 And X < 1600
If Lev(X,10) = 1 And X1 = 0
Obj(7,0) = 140: Obj(7,1) = 320: Obj(7,2) = 80
EndIf
If Obj(7,0) = 140
Obj(7,3) + 1
If Obj(7,3) = 4
Obj(7,0) = 141
Obj(7,1) + 2
Obj(7,3) = 0
EndIf
ElseIf Obj(7,0) = 141
Obj(7,3) + 1
If Obj(7,3) = 4
Obj(7,0) = 140
Obj(7,1) + 2
Obj(7,3) = 0
EndIf
ElseIf Obj(7,0) = 61
Obj(7,3) + 1
If Obj(7,3) = 16
Obj(7,0) = 0
EndIf
EndIf
Obj(7,1) - 1
EndIf
;*** Collision detection ship - ground/ceiling ***
If Obj(0,0) > 159
X2 = (Obj(0,1) - X1 + 13) >> 3
For X3 = X2 To X2 + 2
If Obj(0,2) + 8 >= Scr(X3,1) Or Obj(0,2) + 3 <= Scr(X3,3)
Obj(0,0) = 153
PlaySound(4)
EndIf
Next X3
EndIf
;*** Collision detection laser - ground/ceiling ***
For T2 = 1 To 4
If Obj(T2,0) = 168
X2 = (Obj(T2,1) - X1) >> 3
If Obj(T2,2) + 7 >= Scr(X2,1) Or Obj(T2,2) + 7 <= Scr(X2,3)
Obj(T2,0) = 0
EndIf
EndIf
Next T2
;*** collision detection bombs - ground/ceiling ***
For T2 = 5 To 6
If Obj(T2,0) > 127
X2 = (Obj(T2,1) - X1 + 8) >> 3
If Obj(T2,2) + 6 >= scr(X2,1) Or Obj(T2,2) + 6 <= Scr(X2,3)
Obj(T2,0) = 124
Obj(T2,3) = 0
PlaySound(2)
StopSound(6)
EndIf
EndIf
Next T2
;*** Collision detection ship - enemy ***
If Obj(0,0) > 159
For T2 = 0 To 15
If Scr(T2,8) > 132
If SpritePixelCollision(163,Obj(0,1) + 14,Obj(0,2) + 4,Scr(T2,8),T2 << 3 + X1,Scr(T2,9))
If Scr(T2,8) = 144
Scr(T2,8) = Random(2) + 117
Else
Scr(T2,8) = 120
EndIf
Scr(T2,10) = 0
Obj(0,0) = 153
PlaySound(4)
EndIf
EndIf
Next T2
EndIf
;*** Collision detection laser - enemy ***
For T1 = 1 To 4
If Obj(T1,0) = 168
For T2 = 0 To 27
If Scr(T2,8) > 132
If SpritePixelCollision(Obj(T1,0),Obj(T1,1),Obj(T1,2),Scr(T2,8),T2 << 3 + X1,Scr(T2,9))
If Scr(T2,8) = 144
Scr(T2,8) = Random(2) + 117
Sco(0,1) + (Scr(T2,8) - 116) * 10
PlaySound(4)
ElseIf Scr(T2,8) = 133
Scr(T2,8) = 120
Sco(0,1) + 15
Obj(13,1) + 24
If Obj(13,1) > 96
Obj(13,1) = 96
EndIf
PlaySound(4)
Else
Scr(T2,8) = 120
Sco(0,1) + 5
PlaySound(1)
EndIf
Scr(T2,10) = 0
Obj(T1,0) = 0
EndIf
EndIf
Next T2
EndIf
Next T1
;*** Collision detection bombs - enemy ***
For T1 = 5 To 6
If Obj(T1,0) > 127
For T2 = 0 To 27
If Scr(T2,8) > 132
If SpritePixelCollision(Obj(T1,0),Obj(T1,1),Obj(T1,2),Scr(T2,8),T2 << 3 + X1,Scr(T2,9))
If Scr(T2,8) = 144
Scr(T2,8) = Random(2) + 117
Sco(0,1) + (Scr(T2,8) - 116) * 10
PlaySound(4)
ElseIf Scr(T2,8) = 133
Scr(T2,8) = 120
Sco(0,1) + 15
Obj(13,1) + 24
If Obj(13,1) > 96
Obj(13,1) = 96
EndIf
PlaySound(4)
Else
Scr(T2,8) = 120
Sco(0,1) + 5
PlaySound(1)
EndIf
Scr(T2,10) = 0
Obj(T1,0) = 124
Obj(T1,3) = 0
StopSound(6)
EndIf
EndIf
Next T2
EndIf
Next T1
;*** Collision detection ship - moving enemy ***
If Obj(0,0) > 159
For T2 = 7 To 12
If Obj(T2,0) > 132
If SpritePixelCollision(163,Obj(0,1) + 14,Obj(0,2) + 4,Obj(T2,0),Obj(T2,1),Obj(T2,2))
If Obj(T2,0) > 145 And Obj(T2,0) < 149
Obj(T2,0) = 113
ElseIf Obj(T2,0) > 139 And Obj(T2,0) < 144
Obj(T2,0) = 61
Else
Obj(T2,0) = 120
EndIf
Obj(T2,3) = 0
Obj(0,0) = 153
PlaySound(4)
EndIf
EndIf
Next T2
EndIf
;*** Collision detection laser - moving enemy ***
For T1 = 1 To 4
If Obj(T1,0) = 168
For T2 = 7 To 12
If Obj(T2,0) > 132 And Obj(T2,0) < 149
If SpritePixelCollision(168,Obj(T1,1),Obj(T1,2),Obj(T2,0),Obj(T2,1),Obj(T2,2))
If Obj(T2,0) > 145
Obj(T2,0) = 113
Sco(0,1) + 10
PlaySound(3)
ElseIf Obj(T2,0) > 139
Obj(T2,0) = 61
Sco(0,1) + 10
PlaySound(5)
ElseIf Obj(T2,0) > 136
Obj(T2,0) = 120
Sco(0,1) + 80
PlaySound(4)
Else
Obj(T2,0) = 120
Sco(0,1) + 8
PlaySound(1)
EndIf
Obj(T2,3) = 0
Obj(T1,0) = 0
EndIf
EndIf
Next T2
EndIf
Next T1
;*** Collision detection bombs - moving enemy ***
For T1 = 5 To 6
If Obj(T1,0) > 127
For T2 = 7 To 12
If Obj(T2,0) > 132 And Obj(T2,0) < 149
If SpritePixelCollision(Obj(T1,0),Obj(T1,1),Obj(T1,2),Obj(T2,0),Obj(T2,1),Obj(T2,2))
If Obj(T2,0) > 145
Obj(T2,0) = 113
Sco(0,1) + 10
PlaySound(3)
ElseIf Obj(T2,0) > 139
Obj(T2,0) = 61
Sco(0,1) + 10
PlaySound(5)
ElseIf Obj(T2,0) > 136
Obj(T2,0) = 120
Sco(0,1) + 80
PlaySound(4)
Else
Obj(T2,0) = 120
Sco(0,1) + 8
PlaySound(1)
EndIf
Obj(T2,3) = 0
Obj(T1,0) = 124
Obj(T1,3) = 0
StopSound(6)
EndIf
EndIf
Next T2
EndIf
Next T1
;*** Calculate fuel-meter ***
Obj(13,3) + 1
If Obj(13,3) = Obj(16,3)
If Obj(13,1) > 8
If Warn_snd = 1
StopSound(9)
Warn_snd = 0
EndIf
Obj(13,1) - 2
ElseIf Obj(13,1) > -32
If Warn_snd = 0
PlaySound(9,1)
Warn_snd = 1
EndIf
Obj(13,1) - 2
EndIf
Obj(13,3) = 0
EndIf
;*** Calculate points for every second ***
C1 = C1 + 1
If C1 = 60
Sco(0,1) + 1
C1 = 0
EndIf
;*** Calculate bonusship ***
If Sco(0,1) > 999 And Obj(15,3) = 0
Obj(15,1) - 16
Obj(15,3) = 1
PlaySound(10)
EndIf
;*** Show object sprites ***
For T2 = 0 To 17
If Obj(T2,0)
DisplayTransparentSprite(Obj(T2,0),Obj(T2,1),Obj(T2,2))
EndIf
Next T2
DisplaySprite(Obj(19,0),Obj(19,1),Obj(19,2))
;*** Calculate and show score-sprites ***
If Sco(0,1) > 9999
Sco(0,1) - 10000
EndIf
Sco(4,1) = Sco(0,1) / 10
Sco(4,0) = Sco(0,1) % 10
Sco(3,1) = Sco(4,1) / 10
Sco(3,0) = Sco(4,1) % 10
Sco(2,1) = Sco(3,1) / 10
Sco(2,0) = Sco(3,1) % 10
Sco(1,1) = Sco(2,1) / 10
Sco(1,0) = Sco(2,1) % 10
If Sco(0,1) > Sco(5,1)
Sco(5,0) = Sco(0,0)
Sco(9,0) = Sco(4,0)
Sco(8,0) = Sco(3,0)
Sco(7,0) = Sco(2,0)
Sco(6,0) = Sco(1,0)
EndIf
DisplaySprite(Sco(1,0),48,0)
DisplaySprite(Sco(2,0),56,0)
DisplaySprite(Sco(3,0),64,0)
DisplaySprite(Sco(4,0),72,0)
DisplaySprite(Sco(6,0),192,0)
DisplaySprite(Sco(7,0),200,0)
DisplaySprite(Sco(8,0),208,0)
DisplaySprite(Sco(9,0),216,0)
;*** make a screenshot when F12 is pressed ***
If KeyboardPushed(#PB_Key_F12)
GrabSprite(255,0,0,320,240):SaveSprite(255,"screen.bmp")
EndIf
;A trick (By Psychophanta):
MyCopyBufferEx():FlipBuffers():Delay(15):UseBuffer(b3)
Next X1
X + 1
If X = 1601
If Obj(16,1) > 280
Obj(16,3) = 20
Obj(16,1) - 8
EndIf
X = 1
ElseIf X = 1421 And Obj(7,0) > 136
X = 1365
EndIf
ForEver
StopSound(7)
StopSound(8)
StopSound(9)
Delay(1000)
Until Obj(15,1) = 336
ForEver
DataSection
Scra_0_dat:IncludeBinary "Data/Scra_0.dat"
Scra_1_dat:IncludeBinary "Data/Scra_1.dat"
Scra_0_wav:IncludeBinary "Data/Scra_0.wav"
Scra_1_wav:IncludeBinary "Data/Scra_1.wav"
Scra_2_wav:IncludeBinary "Data/Scra_2.wav"
Scra_3_wav:IncludeBinary "Data/Scra_3.wav"
Scra_4_wav:IncludeBinary "Data/Scra_4.wav"
Scra_5_wav:IncludeBinary "Data/Scra_5.wav"
Scra_6_wav:IncludeBinary "Data/Scra_6.wav"
Scra_7_wav:IncludeBinary "Data/Scra_7.wav"
Scra_8_wav:IncludeBinary "Data/Scra_8.wav"
Scra_9_wav:IncludeBinary "Data/Scra_9.wav"
Scra_10_wav:IncludeBinary "Data/Scra_10.wav"
Scra_0_bmp:IncludeBinary "Data/Scra_0.bmp"
Scra_1_bmp:IncludeBinary "Data/Scra_1.bmp"
Scra_2_bmp:IncludeBinary "Data/Scra_2.bmp"
Scra_3_bmp:IncludeBinary "Data/Scra_3.bmp"
Scra_4_bmp:IncludeBinary "Data/Scra_4.bmp"
Scra_5_bmp:IncludeBinary "Data/Scra_5.bmp"
Scra_6_bmp:IncludeBinary "Data/Scra_6.bmp"
Scra_7_bmp:IncludeBinary "Data/Scra_7.bmp"
Scra_8_bmp:IncludeBinary "Data/Scra_8.bmp"
Scra_9_bmp:IncludeBinary "Data/Scra_9.bmp"
Scra_10_bmp:IncludeBinary "Data/Scra_10.bmp"
Scra_11_bmp:IncludeBinary "Data/Scra_11.bmp"
Scra_12_bmp:IncludeBinary "Data/Scra_12.bmp"
Scra_13_bmp:IncludeBinary "Data/Scra_13.bmp"
Scra_14_bmp:IncludeBinary "Data/Scra_14.bmp"
Scra_15_bmp:IncludeBinary "Data/Scra_15.bmp"
Scra_16_bmp:IncludeBinary "Data/Scra_16.bmp"
Scra_17_bmp:IncludeBinary "Data/Scra_17.bmp"
Scra_18_bmp:IncludeBinary "Data/Scra_18.bmp"
Scra_19_bmp:IncludeBinary "Data/Scra_19.bmp"
Scra_20_bmp:IncludeBinary "Data/Scra_20.bmp"
Scra_21_bmp:IncludeBinary "Data/Scra_21.bmp"
Scra_22_bmp:IncludeBinary "Data/Scra_22.bmp"
Scra_23_bmp:IncludeBinary "Data/Scra_23.bmp"
Scra_24_bmp:IncludeBinary "Data/Scra_24.bmp"
Scra_25_bmp:IncludeBinary "Data/Scra_25.bmp"
Scra_26_bmp:IncludeBinary "Data/Scra_26.bmp"
Scra_27_bmp:IncludeBinary "Data/Scra_27.bmp"
Scra_28_bmp:IncludeBinary "Data/Scra_28.bmp"
Scra_29_bmp:IncludeBinary "Data/Scra_29.bmp"
Scra_30_bmp:IncludeBinary "Data/Scra_30.bmp"
Scra_31_bmp:IncludeBinary "Data/Scra_31.bmp"
Scra_32_bmp:IncludeBinary "Data/Scra_32.bmp"
Scra_33_bmp:IncludeBinary "Data/Scra_33.bmp"
Scra_34_bmp:IncludeBinary "Data/Scra_34.bmp"
Scra_35_bmp:IncludeBinary "Data/Scra_35.bmp"
Scra_36_bmp:IncludeBinary "Data/Scra_36.bmp"
Scra_37_bmp:IncludeBinary "Data/Scra_37.bmp"
Scra_38_bmp:IncludeBinary "Data/Scra_38.bmp"
Scra_39_bmp:IncludeBinary "Data/Scra_39.bmp"
Scra_40_bmp:IncludeBinary "Data/Scra_40.bmp"
Scra_41_bmp:IncludeBinary "Data/Scra_41.bmp"
Scra_42_bmp:IncludeBinary "Data/Scra_42.bmp"
Scra_43_bmp:IncludeBinary "Data/Scra_43.bmp"
Scra_44_bmp:IncludeBinary "Data/Scra_44.bmp"
Scra_45_bmp:IncludeBinary "Data/Scra_45.bmp"
Scra_46_bmp:IncludeBinary "Data/Scra_46.bmp"
Scra_47_bmp:IncludeBinary "Data/Scra_47.bmp"
Scra_48_bmp:IncludeBinary "Data/Scra_48.bmp"
Scra_49_bmp:IncludeBinary "Data/Scra_49.bmp"
Scra_50_bmp:IncludeBinary "Data/Scra_50.bmp"
Scra_51_bmp:IncludeBinary "Data/Scra_51.bmp"
Scra_52_bmp:IncludeBinary "Data/Scra_52.bmp"
Scra_53_bmp:IncludeBinary "Data/Scra_53.bmp"
Scra_54_bmp:IncludeBinary "Data/Scra_54.bmp"
Scra_55_bmp:IncludeBinary "Data/Scra_55.bmp"
Scra_56_bmp:IncludeBinary "Data/Scra_56.bmp"
Scra_57_bmp:IncludeBinary "Data/Scra_57.bmp"
Scra_58_bmp:IncludeBinary "Data/Scra_58.bmp"
Scra_59_bmp:IncludeBinary "Data/Scra_59.bmp"
Scra_60_bmp:IncludeBinary "Data/Scra_60.bmp"
Scra_61_bmp:IncludeBinary "Data/Scra_61.bmp"
Scra_62_bmp:IncludeBinary "Data/Scra_62.bmp"
Scra_92_bmp:IncludeBinary "Data/Scra_92.bmp"
Scra_93_bmp:IncludeBinary "Data/Scra_93.bmp"
Scra_94_bmp:IncludeBinary "Data/Scra_94.bmp"
Scra_95_bmp:IncludeBinary "Data/Scra_95.bmp"
Scra_96_bmp:IncludeBinary "Data/Scra_96.bmp"
Scra_97_bmp:IncludeBinary "Data/Scra_97.bmp"
Scra_98_bmp:IncludeBinary "Data/Scra_98.bmp"
Scra_99_bmp:IncludeBinary "Data/Scra_99.bmp"
Scra_100_bmp:IncludeBinary "Data/Scra_100.bmp"
Scra_101_bmp:IncludeBinary "Data/Scra_101.bmp"
Scra_102_bmp:IncludeBinary "Data/Scra_102.bmp"
Scra_103_bmp:IncludeBinary "Data/Scra_103.bmp"
Scra_104_bmp:IncludeBinary "Data/Scra_104.bmp"
Scra_105_bmp:IncludeBinary "Data/Scra_105.bmp"
Scra_106_bmp:IncludeBinary "Data/Scra_106.bmp"
Scra_107_bmp:IncludeBinary "Data/Scra_107.bmp"
Scra_108_bmp:IncludeBinary "Data/Scra_108.bmp"
Scra_109_bmp:IncludeBinary "Data/Scra_109.bmp"
Scra_110_bmp:IncludeBinary "Data/Scra_110.bmp"
Scra_111_bmp:IncludeBinary "Data/Scra_111.bmp"
Scra_112_bmp:IncludeBinary "Data/Scra_112.bmp"
Scra_113_bmp:IncludeBinary "Data/Scra_113.bmp"
Scra_114_bmp:IncludeBinary "Data/Scra_114.bmp"
Scra_115_bmp:IncludeBinary "Data/Scra_115.bmp"
Scra_116_bmp:IncludeBinary "Data/Scra_116.bmp"
Scra_117_bmp:IncludeBinary "Data/Scra_117.bmp"
Scra_118_bmp:IncludeBinary "Data/Scra_118.bmp"
Scra_119_bmp:IncludeBinary "Data/Scra_119.bmp"
Scra_120_bmp:IncludeBinary "Data/Scra_120.bmp"
Scra_121_bmp:IncludeBinary "Data/Scra_121.bmp"
Scra_122_bmp:IncludeBinary "Data/Scra_122.bmp"
Scra_123_bmp:IncludeBinary "Data/Scra_123.bmp"
Scra_124_bmp:IncludeBinary "Data/Scra_124.bmp"
Scra_125_bmp:IncludeBinary "Data/Scra_125.bmp"
Scra_126_bmp:IncludeBinary "Data/Scra_126.bmp"
Scra_127_bmp:IncludeBinary "Data/Scra_127.bmp"
Scra_128_bmp:IncludeBinary "Data/Scra_128.bmp"
Scra_129_bmp:IncludeBinary "Data/Scra_129.bmp"
Scra_130_bmp:IncludeBinary "Data/Scra_130.bmp"
Scra_131_bmp:IncludeBinary "Data/Scra_131.bmp"
Scra_132_bmp:IncludeBinary "Data/Scra_132.bmp"
Scra_133_bmp:IncludeBinary "Data/Scra_133.bmp"
Scra_134_bmp:IncludeBinary "Data/Scra_134.bmp"
Scra_135_bmp:IncludeBinary "Data/Scra_135.bmp"
Scra_136_bmp:IncludeBinary "Data/Scra_136.bmp"
Scra_137_bmp:IncludeBinary "Data/Scra_137.bmp"
Scra_138_bmp:IncludeBinary "Data/Scra_138.bmp"
Scra_139_bmp:IncludeBinary "Data/Scra_139.bmp"
Scra_140_bmp:IncludeBinary "Data/Scra_140.bmp"
Scra_141_bmp:IncludeBinary "Data/Scra_141.bmp"
Scra_142_bmp:IncludeBinary "Data/Scra_142.bmp"
Scra_143_bmp:IncludeBinary "Data/Scra_143.bmp"
Scra_144_bmp:IncludeBinary "Data/Scra_144.bmp"
Scra_145_bmp:IncludeBinary "Data/Scra_145.bmp"
Scra_146_bmp:IncludeBinary "Data/Scra_146.bmp"
Scra_147_bmp:IncludeBinary "Data/Scra_147.bmp"
Scra_148_bmp:IncludeBinary "Data/Scra_148.bmp"
Scra_149_bmp:IncludeBinary "Data/Scra_149.bmp"
Scra_150_bmp:IncludeBinary "Data/Scra_150.bmp"
Scra_151_bmp:IncludeBinary "Data/Scra_151.bmp"
Scra_152_bmp:IncludeBinary "Data/Scra_152.bmp"
Scra_153_bmp:IncludeBinary "Data/Scra_153.bmp"
Scra_154_bmp:IncludeBinary "Data/Scra_154.bmp"
Scra_155_bmp:IncludeBinary "Data/Scra_155.bmp"
Scra_156_bmp:IncludeBinary "Data/Scra_156.bmp"
Scra_157_bmp:IncludeBinary "Data/Scra_157.bmp"
Scra_158_bmp:IncludeBinary "Data/Scra_158.bmp"
Scra_159_bmp:IncludeBinary "Data/Scra_159.bmp"
Scra_160_bmp:IncludeBinary "Data/Scra_160.bmp"
Scra_161_bmp:IncludeBinary "Data/Scra_161.bmp"
Scra_162_bmp:IncludeBinary "Data/Scra_162.bmp"
Scra_163_bmp:IncludeBinary "Data/Scra_163.bmp"
Scra_164_bmp:IncludeBinary "Data/Scra_164.bmp"
Scra_165_bmp:IncludeBinary "Data/Scra_165.bmp"
Scra_166_bmp:IncludeBinary "Data/Scra_166.bmp"
Scra_167_bmp:IncludeBinary "Data/Scra_167.bmp"
Scra_168_bmp:IncludeBinary "Data/Scra_168.bmp"
Scra_169_bmp:IncludeBinary "Data/Scra_169.bmp"
Scra_170_bmp:IncludeBinary "Data/Scra_170.bmp"
Scra_171_bmp:IncludeBinary "Data/Scra_171.bmp"
Scra_172_bmp:IncludeBinary "Data/Scra_172.bmp"
Scra_173_bmp:IncludeBinary "Data/Scra_173.bmp"
Scra_174_bmp:IncludeBinary "Data/Scra_174.bmp"
Scra_175_bmp:IncludeBinary "Data/Scra_175.bmp"
Scra_176_bmp:IncludeBinary "Data/Scra_176.bmp"
Scra_177_bmp:IncludeBinary "Data/Scra_177.bmp"
Scra_178_bmp:IncludeBinary "Data/Scra_178.bmp"
Scra_179_bmp:IncludeBinary "Data/Scra_179.bmp"
Scra_180_bmp:IncludeBinary "Data/Scra_180.bmp"
Scra_181_bmp:IncludeBinary "Data/Scra_181.bmp"
Scra_182_bmp:IncludeBinary "Data/Scra_182.bmp"
Scra_183_bmp:IncludeBinary "Data/Scra_183.bmp"
Scra_184_bmp:IncludeBinary "Data/Scra_184.bmp"
Scra_185_bmp:IncludeBinary "Data/Scra_185.bmp"
Scra_186_bmp:IncludeBinary "Data/Scra_186.bmp"
Scra_187_bmp:IncludeBinary "Data/Scra_187.bmp"
Scra_188_bmp:IncludeBinary "Data/Scra_188.bmp"
Scra_189_bmp:IncludeBinary "Data/Scra_189.bmp"
Scra_190_bmp:IncludeBinary "Data/Scra_190.bmp"
Scra_191_bmp:IncludeBinary "Data/Scra_191.bmp"
Scra_192_bmp:IncludeBinary "Data/Scra_192.bmp"
Scra_193_bmp:IncludeBinary "Data/Scra_193.bmp"
Scra_194_bmp:IncludeBinary "Data/Scra_194.bmp"
Scra_195_bmp:IncludeBinary "Data/Scra_195.bmp"
Scra_196_bmp:IncludeBinary "Data/Scra_196.bmp"
Scra_197_bmp:IncludeBinary "Data/Scra_197.bmp"
Scra_198_bmp:IncludeBinary "Data/Scra_198.bmp"
Scra_199_bmp:IncludeBinary "Data/Scra_199.bmp"
Scra_200_bmp:IncludeBinary "Data/Scra_200.bmp"
Scra_201_bmp:IncludeBinary "Data/Scra_201.bmp"
Scra_202_bmp:IncludeBinary "Data/Scra_202.bmp"
Scra_203_bmp:IncludeBinary "Data/Scra_203.bmp"
Scra_204_bmp:IncludeBinary "Data/Scra_204.bmp"
Scra_205_bmp:IncludeBinary "Data/Scra_205.bmp"
Scra_206_bmp:IncludeBinary "Data/Scra_206.bmp"
Scra_207_bmp:IncludeBinary "Data/Scra_207.bmp"
Scra_208_bmp:IncludeBinary "Data/Scra_208.bmp"
Scra_209_bmp:IncludeBinary "Data/Scra_209.bmp"
Scra_210_bmp:IncludeBinary "Data/Scra_210.bmp"
Scra_211_bmp:IncludeBinary "Data/Scra_211.bmp"
Scra_212_bmp:IncludeBinary "Data/Scra_212.bmp"
Scra_213_bmp:IncludeBinary "Data/Scra_213.bmp"
Scra_214_bmp:IncludeBinary "Data/Scra_214.bmp"
Scra_215_bmp:IncludeBinary "Data/Scra_215.bmp"
Scra_216_bmp:IncludeBinary "Data/Scra_216.bmp"
Scra_217_bmp:IncludeBinary "Data/Scra_217.bmp"
Scra_218_bmp:IncludeBinary "Data/Scra_218.bmp"
Scra_219_bmp:IncludeBinary "Data/Scra_219.bmp"
Scra_220_bmp:IncludeBinary "Data/Scra_220.bmp"
Scra_221_bmp:IncludeBinary "Data/Scra_221.bmp"
Scra_222_bmp:IncludeBinary "Data/Scra_222.bmp"
Scra_223_bmp:IncludeBinary "Data/Scra_223.bmp"
Scra_224_bmp:IncludeBinary "Data/Scra_224.bmp"
Scra_225_bmp:IncludeBinary "Data/Scra_225.bmp"
Scra_226_bmp:IncludeBinary "Data/Scra_226.bmp"
Scra_227_bmp:IncludeBinary "Data/Scra_227.bmp"
Scra_228_bmp:IncludeBinary "Data/Scra_228.bmp"