'sprites '0 = boat '1 = boatwave '10-19 = thrust waves 'bg '0 '1 - ui btn '2 - ui slide '3 - land global trackindex global numtracks global pagewc global pagew global sidesmarginc global startbtnwc global startbtnhc global startbtnxc global startbtnyc global centerx global centery global landblocksize global boatx global boaty trackindex = 0 numtracks = 5 pagewc = floor(shown.w * 0.7 / 8) pagew = (pagewc * 8) centerx = shown.w / 2 centery = shown.h / 2 landblocksize = 4 sidesmarginc = 3 startbtnwc = 7 startbtnhc = 3 startbtnxc = (centerx / 8) - (startbtnwc / 2) startbtnyc = ((shown.h - safe.b) / 8) - (startbtnhc) - sidesmarginc boatx = 0 boaty = 0 'data boatframes: data $10,$12,$14,$16,$18,$1a,$1c,$1e data $30,$32,$34,$36,$38,$3a,$3c,$3e thrustwavedata: data $50,$51,$52,$53 tracksdata: 'qtty of data per track data 5 'name data "Pond" 'origin & size in bg source data 0,0,16,19 data "River" data 17,0,55,39 data "Rapids" data $0,$0,$11,$5 data "Laguna" data $0,$0,$4,$3 data "Waterfall" data $0,$0,$11,$12 tilesdata: data $0, $0,$4 'data $1, sub drawtitle pal 1 text (centerx / 8) - 4, (centerx / 8), "fair boat" end sub sub indexbyscroll(scrollvalue, index) 'get track index when scroll crosses the middle of the screen index = floor((scrollvalue + (pagew / 2)) / pagew) end sub sub scrollbyindex(scrollvalue, index) scrollvalue = index * pagew end sub sub drawtrackpreview(index, preview) 'trace "drawtrackpreview", index restore tracksdata read numdata if index < 0 then exit sub else if index >= numtracks then exit sub end if skip index * numdata 'level name read trackname$ 'level preview read datal read datat read datar read datab pagecenterxc = (pagewc * index) + floor(shown.w / 8 / 2) bg 2 'description text pagecenterxc - floor(len(trackname$) / 2), 10, trackname$ number pagecenterxc, 11, datar - datal, 2 number pagecenterxc, 12, datab - datat, 2 'preview if preview then bg source rom(3) bg copy datal, datat, datar-datal, datab-datat to pagecenterxc - floor((datar-datal)/2), 18 end if end sub sub drawlevelselect(index) selectory = (shown.h * 0.4) / 8 title$ = "select your track" start$ = "start" cls 1 cls 2 'global ui bg 1 text ((shown.w / 8) - len(title$)) / 2, 6, title$ 'dynamic ui 'trace "drawlevelselect", index call drawtrackpreview(index - 1, 0) call drawtrackpreview(index, 1) call drawtrackpreview(index + 1, 0) 'center view targetscroll = 0 call scrollbyindex(targetscroll, index) scroll 2, targetscroll, 0 'start btn bg 1 bg source rom(5) bg copy 0,0,startbtnwc,startbtnhc to startbtnxc,startbtnyc text (centerx / 8) - (len(start$) / 2), startbtnyc + 1, start$ end sub sub drawboat sprite 0,,, $10 sprite 0 size 1 sprite 1,,, $50 sprite 1 pal 0 sprite 1 pal 1 'put boat at start restore tracksdata read numdata skip trackindex * numdata 'level name read trackname$ 'level bounds read infl, inft, infr, infb bg source rom(3) for i = infl to infr for j = inft to infb trace mcell.c(i, j) if mcell.c(i,j) = $2 then boatx = i * landblocksize * 8 boaty = j * landblocksize * 8 end if next j next i end sub goto title title: trace "title" cls call drawtitle do 'ui if tap then wait 10 goto levelselect end if wait vbl loop levelselect: trace "level select" cls call drawlevelselect(trackindex) isswiping = 0 swipestart = 0 swipedelta = 0 bgstart = 0 do 'swipe selector if tap then 'start if touch.x > startbtnxc*8 and touch.x < (startbtnxc + startbtnwc)*8 and touch.y > startbtnyc*8 and touch.y < (startbtnyc+startbtnhc)*8 then goto game end if 'start drag isswiping = 1 swipestart = touch.x bgstart = scroll.x(2) end if if touch then 'drag swipevalue = bgstart - (touch.x - swipestart) scroll 2, swipevalue, 0 else 'release if isswiping = 1 then bg 0 isswiping = 0 targetscroll = clamp(swipevalue, 0, ((numtracks - 1) * pagew)) call indexbyscroll(targetscroll, trackindex) call drawlevelselect(trackindex) end if end if wait vbl loop game: trace "game" cls gosub inf_init touchstartx = 0 boatsteerstart = 0.25 boatsteer = 0 boatthrust = 0 boatthrustmax = 1 boatacceleration = 0.08 boatvelocity = 0 boatvelocitymax = 3 boatvelocityx = 0 boatvelocityy = 0 steerstep = 0.005 thruststep = 0.02 brakestep = 0.1 wateracceleration = 0.08 waterfriction = 0.97 boatwavecycle = 0 call drawboat do if tap then touchstartx = touch.x end if if touch then 'touch ON 'steer boatsteer = boatsteerstart + ((touchstartx - touch.x) * steerstep) if boatsteer < 0 then boatsteer = boatsteer + 1 else if boatsteer > 1 then boatsteer = boatsteer - 1 end if frameindex = floor((boatsteer + 0.03) * 16) mod 16 restore boatframes skip frameindex read bchar 'sprite 0,,,bchar 'thrust boatthrust = boatthrust + thruststep else 'touch OFF 'steer boatsteerstart = boatsteer 'thrust boatthrust = boatthrust - brakestep end if 'physics boatthrust = clamp(boatthrust, 0, boatthrustmax) 'boat force boatvecx = cos(boatsteer) * boatthrust boatvecy = sin(boatsteer) * boatthrust 'boat projected force boatvelocityx = (boatvelocityx * waterfriction) + (boatvecx * boatacceleration) boatvelocityy = (boatvelocityy * waterfriction) + (boatvecy * boatacceleration) prevboatx = boatx prevboaty = boaty boatx = prevboatx + boatvelocityx boaty = prevboaty + boatvelocityy boatangle = atan(boatx - prevboatx, boaty - prevboaty) boatvelocity = clamp(len(boatx - prevboatx, boaty - prevboaty), 0, boatvelocitymax) boatvelocityx = cos(boatangle) * boatvelocity boatvelocityy = sin(boatangle) * boatvelocity landx = prevboatx + cos(boatangle) * boatvelocity landy = prevboaty + sin(boatangle) * boatvelocity 'waves boatwavecycle = boatwavecycle + max((boatvelocity * 0.1), 0.05) if boatwavecycle > 1 then boatwavecycle = 0 end if wavedistance = -(boatvelocity * 10) wavex = cos(boatangle) * (boatwavecycle * wavedistance) + 4 wavey = sin(boatangle) * (boatwavecycle * wavedistance) + 4 wchar = $50 + (boatwavecycle * 4) 'sprite 1, wavex, wavey, wchar 'camera position in the world in pixel-coords infx = boatx-centerx infy = boaty-centery gosub inf_position gosub inf_draw 'infinite scroll scroll 3, infx, infy 'move boat & wave using boatx diff with infx sprite 0, boatx - infx, boaty - infy, bchar sprite 1, boatx - infx + wavex, boaty - infy + wavey, wchar 'debug cls 0 bg 0 pal 5 text 0,4, "str:" + str$(boatsteer) text 0,5, "thr:" + str$(boatthrust) text 0,6, "spd:" + str$(boatvelocity) text 0,7, "ang:" + str$(boatangle) number 10,9,infpl,3 number 10,10,infpt,3 number 10,11,infpr,3 number 10,12,infpb,3 number 14,9,boatx,3 number 14,10,boaty,3 number 14,11,infx,3 number 14,12,infy,3 wait vbl loop gameover: do wait vbl loop '=================================== 'inf scroll section sub inf_world(l,t,w,h) if w=0 or h=0 then exit sub bg 3 pal 0 'drawing an horizontal line if w>h then world_y=t for i=0 to w-1 world_x=l+i call inf_world_draw(world_x, world_y) next i exit sub 'drawing a vertical line else world_x=l for i=0 to h-1 world_y=t+i call inf_world_draw(world_x, world_y) next i exit sub end if end sub sub inf_world_draw(world_x, world_y) restore tracksdata read numdata skip trackindex * numdata 'level name read trackname$ 'level bounds read datal read datat read datar read datab 'trace datar - datal, datab - datat 'select tile type bg source rom(3) dbcellc = mcell.c(world_x, world_y) 'trace world_x, world_y, dbcellc db_x = 0 db_y = 0 '0 - land '1 - water '2 - start L '6- finish '7- bush '8- hill if dbcellc = 0 then db_x = 0 db_y = 0 else if dbcellc = 1 then db_x = 0 db_y = 4 else if dbcellc = 7 then db_x = 4 db_y = 0 else if dbcellc = 8 then db_x = 8 db_y = 0 end if bg source rom(4) bg 3 bg copy db_x, db_y, landblocksize, landblocksize to world_x*landblocksize, world_y*landblocksize end sub inf_init: restore tracksdata read numdata skip trackindex * numdata 'level name read trackname$ 'level bounds read infl, inft, infr, infb 'camera dimension in pixel-coords infw=shown.w infh=shown.h 'world cell size in pixel-coord infs=8*landblocksize 'convert bg layer size 64x64 to world-meta-cell-coord infg=64/(infs\8) 'number of cells to draw out of the view, max value=7 with infs=8 infco=0 'space occupied by the whole world in pixel-coords infpw=(infr-infl+1)*infs infph=(infb-inft+1)*infs 'camera position in the world in pixel-coords infx=0 infy=0 'rectangle of what portion of the world is drawn 'a.k.a.: view drawing cursor in world-cell-coords 'initial rectangel start from the center of the view 'p position infpl=int(infx/infs)-infco infpt=int(infy/infs)-infco infpr=int((infx+infw)/infs)+infco infpb=int((infy+infh)/infs)+infco 'c is cursor , it grows infcl=(infpl+infpr)\2 infct=(infpt+infpb)\2 infcr=infcl-1 infcb=infct-1 return 'make sure the camera position allow to see the world and some of the out-of-bound characters around it. inf_position: infnl=0 'in x axis if infpw>infw then 'world is bigger than the view l=infl*infs r=(infr+1)*infs-infw 'prevent to past beyond if infxr then infx=r else 'world is small than the view, center it infx=-(infw-infpw)/2 end if 'in y axis if infph>infh then 'world is bigger than the view t=inft*infs b=(infb+1)*infs-infh if infyb then infy=b else 'world is small than the view, center it infy=-(infh-infph)/2 end if 'p position infpl=int(infx/infs)-infco infpt=int(infy/infs)-infco infpr=int((infx+infw)/infs)+infco infpb=int((infy+infh)/infs)+infco inf_draw: 'render missing world cells at left if infplinfl then dec infcl if infcr-infcl>=infg then dec infcr call inf_world(infcl,infct,1,infcb-infct+1) end if 'render missing cells at right if infpr>infcr and infcr=infg then inc infcl call inf_world(infcr,infct,1,infcb-infct+1) end if 'render missing cells at top if infptinft then dec infct if infcb-infct>=infg then dec infcb call inf_world(infcl,infct,infcr-infcl+1,1) end if 'render missing cells at bottom if infpb>infcb and infcb=infg then inc infct call inf_world(infcl,infcb,infcr-infcl+1,1) end if return #1:DEFAULT PALETTES 16032E373C023B3C16153C163B151617 0022201F00363534001E190200060504 #2:DEFAULT CHARACTERS 00000000000000000000000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFEFC7ABEFEFEFFF FFFFFFFFFFFFFFFFFFABD5ABD5ABD5FF FFC7BBEDD5DDE3FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFB7DBEDDBB7FF FFFFFFFFFFFFFFFFFFE7E3EFEFEFEFFF 000103070F1F3F7F000103070F1F3F7F 0080C0E0F0F8FCFE0080C0E0F0F8FCFE 7F3F1F0F070301007F3F1F0F07030100 FEFCF8F0E0C08000FEFCF8F0E0C08000 000000000000000000387C7C38101000 00000000000000000000020420100000 00000000000000000000003C42000000 00000000000000000010387C387C1000 000000000000000000183C7E3C3C0000 0000000000000F1C0000000000000003 000000000040E03E00000000004060E0 00000000000000010000000000000000 00000000000CF870000000000010C4E8 00000000000000010000000000000000 000000083070E060000000100800D0C0 00000000000000010000000000000100 0000206060E0E040000000008000C0E0 00000000000101010000000000000001 0000808080C0C0C000000000000080C0 00000406060707020000000001000307 00000000000000800000000000000000 000000100C0E07060000000810000B03 00000000000000800000000000000000 0000000000301F0E0000000000082317 00000000000000800000000000000000 0F000000000000000007000000000000 F80000000000000004E0000000000000 060F0E00000000000100010600000000 4080000000000000A040800000000000 02040300000000000103040300000000 40800000000000008040800000000000 01010100000000000002020100000000 40C08000000000008000408000000000 01010100000000000100000100000000 4040C08000000000C080004080000000 02030100000000000100020100000000 80808000000000000040408000000000 02010000000000000102010000000000 4020C0000000000080C020C000000000 02010000000000000502010000000000 60F07000000000008000806000000000 000000000002077C0000000000020607 000000000000F03800000000000000C0 00000000000000030000000000000002 000000000030D83000000000000020C8 00000000000000010000000000000001 000000002070902000000000000060C0 00000000010102020000000000020103 0000000080C040800000000040008040 00000000000101010000000000000001 0000000080C0404000000000000080C0 00000000010302010000000002000102 000000008080404000000000004080C0 00000000040E09040000000000000603 00000000000000800000000000000080 00000000000C1B0C0000000000000413 00000000000000C00000000000000040 1F000000000000002007000000000000 F00000000000000000E0000000000000 071F3800000000000300040000000000 C0000000000000002080000000000000 03070F1C000000000100000218000000 C080000000000000A040800000000000 0707060E0C00000003000900000C0000 00000000000000008000000000000000 01010000000000000100010000000000 40C0808080000000C080400000800000 00000000000000000100000000000000 E0E0607030000000C000900000300000 03010000000000000502010000000000 C0E0F038000000008000004018000000 03000000000000000401000000000000 E0F81C0000000000C000200000000000 00000000000000000000000018000000 00000000000000000000001824180000 00000000000000000000003C423C0000 00000000000000000000006681660000 00000000000000000000000081000000 00000000200000000000001008000000 00001000000000000000002800000000 00000008000000000000003000000000 00000008000000000000002010000000 00000000080000000000000020100000 00000000001000000000000000280000 00000000002000000000000010080000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 3F408080808080800000000000000000 FC020101010101010000000000000000 80808080808080800000000000000000 FF000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 808080808080403F0000000000000000 01010101010102FC0000000000000000 01010101010101010000000000000000 00000000000000FF0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000002050000000FFFFFFDFAFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 FFFFFFFFFFFFFFFFFFFFFFD7EFFFFFFF #3:BACKGROUND 000040400D00000200020E000E000000 0C00000200020E0000000E0000020002 0002B10200020002B002000200020002 00020002000200020002000200020002 00020002000200020002000200020002 00020002000200020002000200020002 00020002000200020002000200020002 00020002000200020002000200020002 00020002B10207000100010001000100 01000100010001000100010008000C00 A102A102A10200000000000000000000 00000000000200020002000200020002 00020002000200020002000200020000 00000000000000000000000200020002 00020002000200020002000200020002 00020002000200020002000200020002 00020002000201000100010001000100 01000100010001000100010001000000 A1020D00A10200000000000000000000 01000100010001000100010001000100 01000100010001000100010001000100 01000000000000000000000000000000 01000100010001000100010000020002 00020002000200020002000200020002 000200020D0001000100010001000100 01000100010001000100010001000C00 A102A1020000A1020000000000000100 01000100010001000100010001000100 01000100010001000100010001000100 01000100000000000000000000000100 01000100010001000100010001000000 00000000000000000002000200000002 0002000200020100010001000A00A000 A0000000B0020900010001000100B002 00000C00A102A1020000000001000100 01000100010001000000000000000000 00000000000000000000000000000100 01000100010001000100010001000100 01000100010001000100010001000100 00000000000000000000000000000000 00020002000001000100010000020000 00000E0000000700010001000100A000 0000A102A102A1020000010001000100 01000100010000000000000000000000 00000000000000000000000000000000 01000100010001000100010001000100 01000000000000000100010001000100 00000000000000000000000000000000 000000020C00010001000100B0020700 0100010001000100010001000100A102 0C000000A102A1020000010001000100 01000100000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000010001000100 00000000000000000000000000000000 000000020002030003000300A0000100 0100010001000100010001000100A102 A102A1020D00A1020000010001000100 01000000000000000000000200020000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000010001000100 00000000000000000000000000000000 00000002000201000100010000000100 0100010001000100010001000A00A102 0E000000A10200000000010001000100 00000000000000000000000000020000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000010001000100 00000000000000000000000000000000 0000000200020100020001000C000100 010001000A00A000A000A000A0000000 A000A000A0000000B002010001000100 00000000000000000000000000000000 00000000000000020000000000000000 00000000000000000000000000000000 00000000000000000000010001000100 00000000000000000000000000000000 00020002B00201000100010000000100 01000100080000000E00000000000C00 00000000B00200000000010001000100 00000000000001000100010000000000 00000000000000020002000000000000 00000000000000000000000000000000 00000000000000000000010001000100 00000000000000000000000000000000 000200020002010001000100A0000100 01000100010001000100010001000100 0100080000000000B102010001000100 00000000010001000100010001000000 00000000000000020002000000000000 00000000000000000000000000000000 00000000000000000000010001000100 00000002000200020000000000000000 000000020C00010001000100A0000100 01000100010001000100010001000100 01000100A102A1020002010001000100 01000100010001000100010001000100 00000000000000000002000200000000 00000000000000000000000000000000 00000000000000000000010001000100 00000002000200020000000000000000 0002000200020100010001000D000900 01000100010001000100010001000100 01000100A102A1020000010001000100 01000100010000000000010001000100 00000000000000000002000200000000 00000000000000000000000000000000 00000000000000000000010001000100 00000000000000000000000000000000 00000002000201000100010000000C00 B0020000000000000000000009000100 01000100A10200000000000001000100 01000100000000000000010001000100 00000000000000000002000200020000 00000000000000000000000000000000 00000000000000000000010001000100 00000000000000000000000000000000 000000020E0001000100010008000000 000000000C00000000000C0007000100 010001000D0000000000000000000000 00000000000000000100010001000000 00000000000000000002000200020000 00000000000000000000000000000000 00000000000000000000010001000100 00000000000000000000000000000000 00000002000201000100010001000100 01000100010001000100010001000100 01000100000000000000000000000000 00000000000001000100010000000000 00000000000000000002000200020000 00000000000000000000000000000000 00000000000000000100010001000100 01000000000000000000000000000000 00000002B10201000100010001000100 01000100010001000100010001000100 010001000000A1020000000000000000 00000000010001000100000000020000 00000000000000020002000200020000 00000000000000000000000000000000 00000000000000000100010001000100 01000000000000000000000000000000 00000002000209000100010001000100 01000100010001000100010001000100 01000A00A1020000B002000000000000 00000000010001000000000000000000 00000000000300020002000200000000 00000000000000000000000000000000 00000000000000000100010001000100 01000000000000000000000000000000 000000000002B002000000000C000000 00000E000000B00200000C000000B002 0C0000000C0000000000000000000000 00000000010001000000000000000000 00000000000300020002000200030000 00000000000000000000000000000000 00000000000000000100010001000100 01000000000000000000000000000000 00000000000200020000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000010001000100000000000000 00000000000300020002000200000003 00000000000000000000000000000000 00000000000000000100010001000100 01000000000000000000000000000000 00000000000200020000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000010001000100010001000100 01000100010000000002000000000003 00000000000000000000000000000000 00000000000000000300030003000300 03000000000000000000000000000000 00000000000200020000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000001000100010001000100 01000100010001000002000000000000 00000000000000000000000000000000 00000000000000000100010001000100 01000000000000000000000000000000 00000000000200020000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000100010001000002000000000000 00000000000000000000000000000000 00000000000000000100010002000100 01000000000000000000000000000000 00000000000200020000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000010001000100000000000000 00000000000000000000000000000000 00000000000000000100010001000100 01000000000000000000000000000000 00000000000200020000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000010001000100010000000000 00000000000000000000000000000000 00000000000000000100010001000100 01000000000000000000000000000000 00000000000200020002000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000201000100010000000002 00000000000000000000000000000000 00000000000000000100010001000100 01000000000000000000000000000000 00000000000200020002000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000201000100010000020002 00000000000000000000000000000000 00000000000000000100010001000100 01000000000000000000000000000000 00000000000200020002000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000010001000100 01000100010001000100000000000000 01000100010001000100010000000000 00000000000000000100010001000100 01000000000000000000000000000000 00000000000200020002000200000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000100010001000100 01000100010001000000000201000100 01000100010001000100010001000000 00000000000000000100010001000100 01000000000000000000000000000000 00000000000200020002000200020000 00000000000200020002000200020002 00020002000200020002000200000000 00000000010001000100010001000002 00020000000200020000010001000100 01000100010001000100010001000000 00000000000000000100010001000100 01000000000000000000000000000000 00000000000200020002000200020002 00020002000200020002000200020002 00020002000200020002000200020002 00020100010001000100010000020002 00020000000200020100010001000100 01000100010001000100010001000000 00000000000001000100010001000100 00000000000000000000000000000000 00000000000200020002000200020002 00020002000200020002000200020002 00020002000200020002000200020002 00020100010001000002000200020002 00020002000201000100010001000100 01000100010000020002010001000100 01000100010001000100010001000000 00000000000000000000000000000000 00000000000200020002000200020002 00000000000000000000000000000000 00000000000000000000000000020002 00020100010001000002000200020002 00020000010001000100010001000100 00000000000000000000000001000100 01000100010001000100010000000000 00000000000000000000000000000000 00000000000000020000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000100010001000002000200020002 00020100010001000100010000000000 00000000000000000000000001000100 01000100010001000100000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000010001000100000000000000 01000100010001000100000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000010001000100010001000100 01000100010000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000010001000100010001000100 01000100000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000001000100010001000100 01000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000 #4:BACKGROUND 00001E1E000200020002000290020002 00020002000200000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00020002000200020002000290020002 00029002900200000000000000000000 00000000000000000000000000000000 00000000000000000000000000020002 00020000000000020000000090020000 00009002000000000000000000000000 00000000000000000000000000000000 00000000000000000002000200020002 00000000000200020000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000008001800180018001D002D002 D101D101D10100000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 80018001800180010002D002D101D101 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000080018001 80018001000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000008001800180018001 000000000000A002A002000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000A002A002A002A002000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000A002A00200000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 A002A002A00200000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000000000000000000 #5:BACKGROUND 0000140A600063006300630063006300 61000000000000000000000000000000 00000000000000000000000062000000 00000000000000007200000000000000 00000000000000000000000000000000 00000000700073007300730073007300 71000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000