# HG changeset patch # User e105711 # Date 1341760508 -32400 # Node ID 5da2afa45e41bbfed1681e95689500f173f5442d # Parent 5c22c9bfd0bd23cf775d4e2db613f78749253a4c beeeeeeeeeeeaaaaaaaaaaaaaaammmmmmmmmmmmmm diff -r 5c22c9bfd0bd -r 5da2afa45e41 webGL/src/f4notes.js --- a/webGL/src/f4notes.js Sun Jul 08 23:25:56 2012 +0900 +++ b/webGL/src/f4notes.js Mon Jul 09 00:15:08 2012 +0900 @@ -16,6 +16,26 @@ } } +function drawBeam(ctx){ + if(APressed) + PutSpriteF(ctx,58.984375,60,1,ctx.obj["beam"]); + if(SPressed) + PutSpriteF(ctx,58.984375+11.71875,60,1,ctx.obj["beam"]); + if(DPressed) + PutSpriteF(ctx,58.984375+11.71875*2,60,1,ctx.obj["beam"]); + if(FPressed) + PutSpriteF(ctx,58.984375+11.71875*3,60,1,ctx.obj["beam"]); + if(JPressed) + PutSpriteF(ctx,58.984375+11.71875*4,60,1,ctx.obj["beam"]); + if(KPressed) + PutSpriteF(ctx,58.984375+11.71875*5,60,1,ctx.obj["beam"]); + if(LPressed) + PutSpriteF(ctx,58.984375+11.71875*6,60,1,ctx.obj["beam"]); + if(SemicolonPressed) + PutSpriteF(ctx,58.984375+11.71875*7,60,1,ctx.obj["beam"]); + +} + /* updateNote() Update a note's locate and dead or alive. diff -r 5c22c9bfd0bd -r 5da2afa45e41 webGL/src/f4xml.js --- a/webGL/src/f4xml.js Sun Jul 08 23:25:56 2012 +0900 +++ b/webGL/src/f4xml.js Mon Jul 09 00:15:08 2012 +0900 @@ -3,6 +3,7 @@ loadObjXml(gl,"./xml/blue_notes.xml"); loadObjXml(gl,"./xml/pink_notes.xml"); loadObjXml(gl,"./xml/back.xml"); + loadObjXml(gl,"./xml/beam.xml"); drawText(gl,"title"," Drum Simulator ",60,"white","center",432,86); drawText(gl,"press"," Press Space ",60,"white","center",320,60); drawText(gl,"main_mode"," main mode ",60,"white","center",450,70); diff -r 5c22c9bfd0bd -r 5da2afa45e41 webGL/src/mainfunc.js --- a/webGL/src/mainfunc.js Sun Jul 08 23:25:56 2012 +0900 +++ b/webGL/src/mainfunc.js Mon Jul 09 00:15:08 2012 +0900 @@ -59,6 +59,7 @@ if(MODE==PLAY){ drawNote(ctx); PutSpriteF(ctx,100,105,1,ctx.obj["line"]); + drawBeam(ctx); } PutSpriteF(ctx,100,70,1,ctx.obj["back"]); ctx.flush(); diff -r 5c22c9bfd0bd -r 5da2afa45e41 webGL/xml/beam.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webGL/xml/beam.xml Mon Jul 09 00:15:08 2012 +0900 @@ -0,0 +1,174 @@ + + + + + -5.859375 -45.00000 0.000000 + 5.859375 -45.00000 0.000000 + 5.859375 45.00000 0.000000 + 5.859375 45.00000 0.000000 + -5.859375 45.00000 0.000000 + -5.859375 -45.00000 0.000000 + + + 0.000000 0.000000 1.000000 + 0.000000 0.000000 1.000000 + 0.000000 0.000000 1.000000 + 0.000000 0.000000 1.000000 + 0.000000 0.000000 1.000000 + 0.000000 0.000000 1.000000 + + + 0.000000 0.000000 0.000000 + + + 0.000000 0.000000 + 1.000000 0.000000 + 1.000000 1.000000 + 1.000000 1.000000 + 0.000000 1.000000 + 0.000000 0.000000 + + + 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 + HhasFxwRohJSF/IVyhXqEpoX5he2Ej4gXCv8RoRSRF3EXyRfpEfkh6iYqLPoCdEW + 0UkxDjGCWIJYrdiwOK24rniEeIX4SwmshLpEkMQ5iWeSKEkVSX/JYsmnUigpVakA + qXNS/dIYaQ3pUOkK6SEZGhl9mViZWplRWTZZS9nDsi2ys3LCcm5yZ+R65DbkVeSD + 5S/Iv1VgUjBXOKzQpvBVUVKRpFis+FKJVslEKVmpVWlBWUrZR7lU+ZUKs4qVygmV + LpWfqmqqkapXVafUhNU81UrUhtRZ1G3V09UfaGA0DDSSNW5qrGiqakZrXtec05LR + CtK6rDW5S2yXz64Lu8a0BbWJ2uXaZB28jqfOeR2yroAuUbdC94OekJ63XpXehL6E + fqB+nf6sgbxBpEGTwQ9DTcMkww4j2MjUKNWoz5jJeLdxkfE7E0ETP5Nak3lTFdNE + 0w4zjJmF2RmzIQIvgUSoIcybq5knmd+zoLFwsCiy+GApaRlp2WaFsjK3yrEathax + DrVusQE2BJscmxFbMdsI23Y7rJ2tXbHdJ3sF+wP2PQ7MDvscLjt8dzRwzHR8u1t8 + d8zuLid6pz1ONU4/nI2cs53JLnIuSS6PXblcA1xb3XBuTm5Vbkvuxu5n3cf3qOw5 + vmdwr9je+L0PPbg8gj1u7aPfR9zX6InxdPa87LlOtCFWEJe8CF4lXvMkQ1I+adpb + zzvXe8pH2yfbZ8JX2zfbd9JP2y/Hb8pf1z/PfybAMKAoYCHQLLAs8EeQTdCloM1g + 5+D6EIoQz5AboUyhQaH3wvjC4sP6w6XCj4eTIzQjzkbMR1pEVkVBUXujWqNZkEtu + b4x4zLGY0Vid2OLY5TinuMZ4xvjQ+N79kvtP7Z9IMEm4mIhOJCV2HRA4kHJgNEk/ + qfwgdNDrYFeyUPLR5PFDpoeqU6hSglKeHJY/nH342xHnI21HeY8eOjp2zPRY7XG6 + 45HHh05onSg7iT4ZcLLvlNKpwlMbqd6pj9Lk0/LS1tNJ6Y8yFDIKMjZP+57uy1TN + LM3CZoVmDZ7RPVOdzZidkD2WY5XTnIvPTc39dnbf2Yd5ynll+VT5MfnkAsuC1kLh + wqzC9SL/ooFig+L6Ep6SUyU/znmfe16qV3q1jLcsrWz1fMD5V+Wm5c0VohV5ldjK + 2MpPF5wu9FxUv1hTxVWVVvXzUuglcrV99b0atZqayzyXM2tRtTG1U3V76p5dMbrS + elXmank9W31aA2iIafh8zfPa4HWL612N6o1X/xL5q6SJuSm1GWre3zzf4t9CbnVt + 7b9hfqOrTautqV22/dJNgZvFt1hvZd6mun309uadhDtLHeEdM51+nWNd+7re3nW5 + +/Ke3b2++xb3H3SbdN/t0e+580D7wc2Hmg9vPFJ/1PJY9XFzr0pv0xOVJ019qn3N + T9Wetj7TeNbWv6v/9nPd550vjF50vyS8fDxgPdA/uHvw1dCeIfIr71eTr4NfL7yJ + fbP29tAwZjh1hGEk7x3Pu4r3Eu/ryarkW6NGo70fHD68HSONTX+M+rg+fvQT7ae8 + Cf6JmknFyZtTJlPPPrt/Hp8On16bOf6F8UvJrPjsX3N6c73zLvPjC5ELm1/TFzkX + L31T/ta1ZLv07nvI97Ufqcucy9Ur6is9q86rE2tx67j1gp8SP9s2LDaGN0M2N8OJ + kcTtqwCMdJSvLwBfLyF1iysAzM8AoKL7VRvtNBi5fKCQJy84AuGhKygC6jN8Bm2M + QWGuYeNwFhSClDDlDNUk9RjNDO1Peh4GNUYPptPMHSzLbCrsSRwdXBTcBJ5U3of8 + WPwugSDBs0ItwkMis2JAnEaCSZJdikOKLF0q4y7LLvtSLlveVoFB4ZniGSV7ZRbl + QZVC1T1qeLUx9QqNfZo8mq+1Cnft1RbSntG5qXtGL0jf3EDekMeIxhgYr5gsm66Z + /SRsWkCWsBXaGmODsUXbwfYoB+Cw6bjpROMs4WLpGux22v3Knsd7P3lserIRJb20 + SVbee3z8fWP8jvgXBFwL7AtaCOEKNQmLC6+NIEexRVvGpMQ2xg3GzyTAidwH1JKc + DiYklx96krJxROlo8LGa45MnOU+ppNqlBaefyrh0ujtz6gxNtlLO3txTZ1vzJgu0 + CpuLpUqKSlFlpPPtFbSVrhfKL45fEq8OrLly+X7tQN3ElfV69ga1a/uun27sacI1 + 27SUtM63ybVb3vS5deD26TvnOqo7r3W13G2/d/t+Z/f9nkcPXjx88ejx49be/CeB + fcp9S0/rnnn00/W3P0954f5Sb0BoEDM4PnT3VdnrxDdObxWGaYYnR568a3t/kZw5 + GvPBeUztI8vH2fHuT+cmoictp8Q/U3yemO6eqfxyaNZ9Tnmedv7jQtvXzMXQb25L + Vt9NfpgsW624r4atnViv/Nm5Qd7c3PE/D3QWJY5qgx3g7+hijB2WBduHy6EIoLSg + kqPmpqGjZaRjpMczKDFaMPkxp7I0s46z03Poc4ZyFXF38kzwUfEL4zUELASdhNyF + 3UScRC3FdMRlxD9J5EkaSH6RKpQ2ll6QOSdLkF2UK5U3l19SKFe0VlxRuqhsr7ys + UqZqpjqnlq+upz6pkaWpoUnWOrlLcddr7SM6MjqjuhV6EfqGBmwG04b3jEqNE0yc + TdXMOM3WCO/NuywuWWZYxVp72ljaatiJ2bM74BxWHGd2k50GnB+7dCLnwFX38j15 + e9M9ju1L9kwk7vfaT0r0PuRzzDfD76z/uYCLgdVBV4IbkazdEfYg/HnEcORk1FIM + OpYlTiReeb9egmWi6wHfpKiDKclZh86nNBzuOvLy6OSxnyeETnqcKkztT6fI0D4d + kVmZNZCNzVHN9T9blPc4f6GQsUix2LEk/lxpaXfZQjl/hW3lsQvtF5eQ+LCvSbpc + Vfu0bvmqQL1FQ8y1suuPGr83CTdbt0S25t9obyPfRN8Su024E9hxsvNiV8fd1/c+ + 35/oHut5/+DNw4FHfY97ejuetPZde3r52YX+q897Xoy+XB6kHcK/kn+t88b87e5h + z5GAd7Hv08l1o88+rHwUHXf+lDbROfnjs8y018zZL/1zwvNHF+YXA7/Nf09eZltp + WCOskzcitv3PilRI85AXtIDyR83Dh9C86AaMAxbG/oULoZClWKZ8SFVKnUTjTWtD + Z0yvyaDCqMKkyWzIYsPqwkZkD+QIRqIgiJvI48RrzCfNT88/i+8WKBEMF9IUeisc + LYIVKRCVEm0XsxJ7Jx4mASSyJAUlG6T0pJ5JeyIxkSxLK1soJy7XLG8s/0LBS2FB + 8ZASg1KZsrzybRVrlXeqoapraifVWZE8IafRrknQHNAiac3tStSm0D6rI6TTqGuq + +03vgv5uAwqDW4YxRrJGU8ZVJj6mIqbjZlWEAHNJ8ymLGstAK2mreetmmyRbUztm + O7J9g0OKoyNyh1hz6nMud4l2NXPjdpt179yTu9ffY9c+xn0TnreIBV7JJF9vSx9F + X07fTb9x/8dIFskPSgomhRBClcL4w2nDVyI+RvZFNUcXxxyM3RunFc8aP7u/N+FG + YuOBa0kNBxuT2w7dTxk4PHlk4xjHcZUTDicjTmWkXkq7nf48Y+z0XOb3rNUza9kr + OUu5C2d/5ssWEAtzirqK58/xlJqVRZ4vKe+p+HqB/6JjVf6lkRrBy/61V+q+XlWt + P9DQcR3TaP5XVtNgC1+r942attmb8rfCb9ff+dIp2eV7t+LeSDd9j+6DyIeXHo31 + ij2J7nvyTKG//AXPy/ODCkOvXhe8PTnSRjYfs/k08PnLXPa32lXJLf//+h/ZVsOq + AnBRCgBnBgAc6gGo1EPqTGoA6MMAsKUFwFEDoLTDAdTbCyCDzD/nBwwoAROSRSSB + JlJh7kFq5SMgH6kh74I3YAGigoQgbcgZioIyoTqk/ptA4VBiyFkTjMpCKrsRGAsr + wB5wBnwH/oqWQHuhS9EjGD6MF+Y2VgB7EruA88A9odClaKKUoaxGaqNqahnqdhpL + GjJtNB0lXSm9PH0ngx3De8ZgxmWmY8wMzEUsIiyNrIasA2wB7IC9kEOF4yVnNBc7 + 1y1ubx5anjpeY973fAf4ufjb8R4CaIGrgm7Inf+WcJSIjMiUaI1YkLis+JxEvWSo + lLTUpHSljIcsh+xzuQx5ggJOoVvxhJK5Mpvyokq/aoNapnqohqWmhBZGa3RXm3aO + TpCugR6n3rx+t0GrYYNRjfEFk/OmJWZFhHzzsxY5lllWGdapNidsj9ml2Fs78DnM + O3bvPu900JnoYuaq4ibmzreHcy+HB9c+vKcYUd5LkxTifdVnzk/WPyigMvBVMC5E + IdQpLDY8J+JK5L2o19EzsZpxafEfEnQTK5NoDyYn/0iJPvzjaNJx7ImsU1ypFenq + GeTM0jNJOclna/JXivxKPpUxnF+tmL4wVjVWPX159QpdvcQ1k0a/puiW8BvR7Ydv + Fd/p6vx2T6F7/4Oex1xPfJ9W98++1BxMf/XpLWGkkSzyoWycbyJsqm56ZBY1z/1V + /Jv0d4llwVWOdfoN7Hb+gAEVYAECQB7oAQfgBxLBGVANOsAr8BWigcQgQ8gTOgiV + QO3QW+gnih9liOSZTFQr6gNMB2vDoXA5PIRmQFui09BPMMwYd8xNrAS2CEePO0mB + pTiFVMrFVJJUt6l3U/+gKaE1of1Gd4l+HwMPwwhjJVMwswzzG5aTrGqsE2z57AT2 + dY4GTh8uHq4B7jM81rzUvI/4Uvkt8fT4FwKFgp5CEkLfhDtETot6iMmLU4iPStyU + zJeKkraRkZalkp2U65avUjiu6K9koaygwqtKrbqqNq0+otGveV+rfdd17cs6Fbol + evn62Qa5hoVG541rTP5Cqpw+woj5rCWwYrYWt9G2dbALsvdx8HB03e3i5Oq814Xk + GuK23/3EnoK9tR539r30nPZCkUS9HX2O+Db6fQxgDTQJigu+FDIUhglXitgXmY5U + Bx9jheK846v2TycqHTiQ1JPMfMgr5doR1FHHY5eOr560PnUljSk9LuNdpmnW9Wx8 + zpmz2Lzk/PXCg8XoktOl+LK35UWVey4KVs1Ut1/OqCNd1Wpgu7bY+Lwps0Wzdart + 3E3n22x3hjur7+6/b9Mj+RD3aLL3bt+pZ4TnmBe3B6KGRF4NvDkyrDjy4X3uqPkY + /LHjU9AkNJUxzTiT/mVzLnD+2VfFxaxvM8gdomJ5c9VjreOn2MaZbf+jAQ3gBOJA + C9gAH5AE8kAD6AWTEBYShowgH+gEdBnqgxZRXIjnQ1BFqIeoVVgO9oXPw+/RAmg/ + 9HUMwDhgurCG2Ic4J9wUxRFKIcrHVPHUUtRTNFdoY+lM6LnpfzC8ZuxiamC+zFLH + 2sR2n32YY41LgNuKJ5Y3hi+aPxofLRAjGCsUL5woclg0VaxA/IrEXclhqSUZOllx + OX15d4UYxSylOuU+lUU1bnUTjRjNaq132mw6drqn9foM6Ay1jUKNK03emLEQ7M1z + LIas+Kz9bZrsMPZ2DiWOn520nXNdvro5u9/bq+HR5KlJ7CZpeuf5LPhZ+FcGrARZ + BheHTIUphx+M6Imij3aJqYxdjDfdfz5h84B3Un+yyaG7h82OvDjmc3ztZO6pmTTt + 9OyMqUzjrAvZuJyQ3ME8/fz6Qt6ijOKNc2Gl/ecly49WkC/oXDxXtVFNrOmulanL + vbJRH9AweN2osbFJqDmnFXMjoe3rzeBbn+8Edcx1xd2D7mf28D1oeGT0+PWTpKei + z54+j3vJM3BryPnV1Juot99GQt+RyZaj18aYPoaN90wwTjpMpX1un345M/rl/ezD + uZr5+AXthZWvFxftF+e+nVjiX6r9rvi97Yf2j9ZlpeWrK4IruauY1bjVsTWrtdZ1 + wfXU9bmfDj9bN3g2Dm6829TZLNvyf5SvkuL28QHRGACAebe5uSgKAC4bgJ9IfKxV + bG7+rESSxDAAHcG/fnfZPmuQM6akdAt1Gx499M/fP/4HXlvRrmviHUUAAAHTSURB + VHic7dvBbQNBDEPR2WDKSQWpYa/uvxSnCwng469AA5E0tYCf932Pwf39+2zPMMTP + 9gBzQE+9z3m2ZxiC2up3e4Qp7mEEfJWHYl51BHycWFJ22gTOhErgr7JXaKvQU6EK + QW3VaUutEIFQXnUE3CMukCZwIlQC94jLA/IqlMCUgJ225AgYiiXKq46Ae8QF0gRO + xPKqslfrd1WBSmAmliSvSgLenmAMScD9DhwI5NUmcCI94hJpAidCJTATS5ZXFQFD + W4We2iMukVaIRKitMm2pFSIRyquMgHvEJdIETgTyKpTAlIC3JxgDEjAUS5ZXFQFb + W1W4h/kODG3V8qqyV2qrTFuiOvD2BGNIXpUEzMSSJOBWiECgH5secYlYXlX2Sm2V + aUtUB96eYAzJq5KAmViSBNwKEQjkVSqBtycYg/KqI2DqbwoKTeBEqARmvgNDW4We + ClUIaqtOW2qFCITyqiPgHnGBNIEToRK4R1wekFehBKYE7LQlR8BQLFFedQTcIy6Q + JnAilleVvVq/qwpUAjOxJHlVEvD2BGNIAu534EAgrzaBE+kRl0gTOBEqgZlYsryq + CBjaKvTUHnGJtEIkQm2VaUutEIlQXmUE3CMukSZwIv9GDCzA1dGegQAAAABJRU5E + rkJggg== + + +