Last active
August 20, 2018 02:17
-
-
Save kuyuri-iroha/7e9f965d8bb5e8125c06bc0ce588aef8 to your computer and use it in GitHub Desktop.
https://www.youtube.com/watch?v=ahCOEWezUOk 大学の課題で発表した作品のソースコードです。実行にはHMM.DLLのダウンロードとファイルディレクトリの設定が必要です。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "d3m.hsp" | |
#include "hmm.as" | |
#include "gdi32.as" | |
//__________________________________ | |
//定数 | |
#define global TITLE_STR "Phantomizer" | |
#define global SONG_FILE "Phantomizer.wav" | |
#const global SC_SIZE_X 1280 | |
#const global SC_SIZE_Y 720 | |
#const global SC_CENTER_X 1.0*SC_SIZE_X / 2.0 | |
#const global SC_CENTER_Y 1.0*SC_SIZE_Y / 2.0 | |
#const global BUF_INTRO_TITLE_SIZE_X 651.0 * 1.6 / 1.5 | |
#const global BUF_INTRO_TITLE_SIZE_Y 115.0 * 1.6 / 1.5 | |
#const global CAMERA_DEF_X 0.0 | |
#const global CAMERA_DEF_Y -500.0 | |
#const global CAMERA_DEF_Z 0.0 | |
#const global CAMERA_AT_DEF_X 0.0 | |
#const global CAMERA_AT_DEF_Y 0.0 | |
#const global CAMERA_AT_DEF_Z 0.0 | |
#const global BUF_SCREEN 0 | |
#const global BUF_SONG 1 | |
#const global BUF_INTRO 2 | |
#const global BUF_INTRO_0 3 | |
#const global BUF_INTRO_TITLE 4 | |
#const global BUF_FIRST 5 | |
#const global BUF_SECOND 6 | |
#const global BUF_SECOND_0 7 | |
#const global BUF_SECOND_1 67 | |
#const global BUF_THIRD 8 | |
#const global BUF_THIRD_0 9 | |
#const global BUF_FOURTH 10 | |
#const global BUF_FIFTH 11 | |
#const global BUF_SIXTH 12 | |
#const global BUF_SIXTH_0 13 | |
#const global BUF_SEVENTH 14 | |
#const global BUF_EIGHTH 15 | |
#const global BUF_EIGHTH_0 16 | |
#const global BUF_INFO 17 | |
#const global BUF_FLASHBACK_B 30 | |
#const global BUF_FLASHBACK_E 66 | |
//__________________________________ | |
//変数 | |
frame = 0 | |
offsetTime = 0 | |
time = 0 | |
camX = CAMERA_DEF_X | |
camY = CAMERA_DEF_Y | |
camZ = CAMERA_DEF_Z | |
camAtX = CAMERA_AT_DEF_X | |
camAtY = CAMERA_AT_DEF_Y | |
camAtZ = CAMERA_AT_DEF_Z | |
ddim cubeVertices, 3, 8 //(0, x), (1, y), (3, z) | |
// | |
// 4 ________ 5 | |
// /_______/| | |
// 0 | 1 | | | |
// | 7 | | 6 | |
// |______|/ | |
// 3 2 | |
// | |
cubeVertices(0, 0) = -1.0 | |
cubeVertices(1, 0) = -1.0 | |
cubeVertices(2, 0) = 1.0 | |
cubeVertices(0, 1) = 1.0 | |
cubeVertices(1, 1) = -1.0 | |
cubeVertices(2, 1) = 1.0 | |
cubeVertices(0, 2) = 1.0 | |
cubeVertices(1, 2) = -1.0 | |
cubeVertices(2, 2) = -1.0 | |
cubeVertices(0, 3) = -1.0 | |
cubeVertices(1, 3) = -1.0 | |
cubeVertices(2, 3) = -1.0 | |
cubeVertices(0, 4) = -1.0 | |
cubeVertices(1, 4) = 1.0 | |
cubeVertices(2, 4) = 1.0 | |
cubeVertices(0, 5) = 1.0 | |
cubeVertices(1, 5) = 1.0 | |
cubeVertices(2, 5) = 1.0 | |
cubeVertices(0, 6) = 1.0 | |
cubeVertices(1, 6) = 1.0 | |
cubeVertices(2, 6) = -1.0 | |
cubeVertices(0, 7) = -1.0 | |
cubeVertices(1, 7) = 1.0 | |
cubeVertices(2, 7) = -1.0 | |
//INTRO | |
introFrame = 0 | |
introNodes = 0 | |
introTickNodeWidth = 120.0 / 1.5 | |
introTickNodeX = 360.0 / 1.5 | |
introTickNodeY = 443.0 / 1.5 | |
introSnareNodeWidth = 50.0 / 1.5 | |
introSnareNodeLX = 360.0 / 1.5 | |
introSnareNodeLY = 443.0 / 1.5 | |
introSnareNodeRX = 1320.0 / 1.5 | |
introSnareNodeRY = 443.0 / 1.5 | |
introTileSize = 80 | |
introTileSizeH = introTileSize / 2 | |
introTileDivNumX = SC_SIZE_X / introTileSize | |
introTileDivNumY = SC_SIZE_Y / introTileSize | |
//FIRST | |
firstCubeScale = 255.0 | |
ddim firstCube, 3, 8 | |
firstCubeScaleFreq = 31.8 | |
//SECOND | |
ddim secondCubeX, 4 | |
ddim secondCubeY, 4 | |
ddim secondCubeZ, 4 | |
ddim secondCubeS, 4 | |
tempCircleRadius = 250.0 | |
tempCircleHeight = 256.0 | |
tempCircleDist = tempCircleRadius - tempCircleHeight / 2.0 | |
tempCircleCRadius = 80.0 | |
tempCircleC2Radius = 30.0 | |
secondDrew = 0 | |
//THIRD | |
ddim thirdTunnelRectVert, 2, 4 | |
dimtype thirdTunnelRects, vartype("struct"), 0 | |
//FOURTH | |
//FIFTH | |
fifthPWaveOffsetX = -150.0 | |
fifthPWaveOffsetY = -1000.0 | |
ddim fifthPWaveDelays, 20 | |
repeat 20 | |
fifthPWaveDelays(cnt) = rnd(abs(fifthPWaveOffsetY) * 2.0 / 20.0) | |
loop | |
//SIXTH | |
sixthSphereSize = 150.0 | |
sixthSatelSize = 30.0 | |
//SEVENTH | |
seventhRoadWidth = 1000.0 | |
seventhRoadLength = 20000.0 | |
seventhStructBSize = 200.0 | |
seventhStructB2Size = 150.0 | |
seventhStructCSize = 100.0 | |
seventhStructTSize = 200.0 | |
seventhStructT2Size = 150.0 | |
ddim seventhStructAxis, 3 | |
seventhStructAxis(0) = 1.0 | |
seventhStructAxis(1) = 0.0 | |
seventhStructAxis(2) = 0.0 | |
ddim seventhStructAxis2, 3 | |
seventhStructAxis2(0) = 0.0 | |
seventhStructAxis2(1) = 1.0 | |
seventhStructAxis2(2) = 0.0 | |
//EIGHTH | |
ddim eighthCube, 3, 8 | |
ddim eighthCubeAxises, 3, 3 | |
eighthFlashbackCnt = 0 | |
eighthFlashbackBlack = 0 | |
//__________________________________ | |
//モジュール | |
//フォントファイルの読み込み | |
#ifdef __GDI32__ | |
#module | |
#deffunc loadFont str dir | |
if dir == "" : return | |
exist dir : if strsize == -1 : return | |
ft = dir : pft = varptr(ft) | |
AddFontResourceA pft : ft = "" | |
return | |
#deffunc deleteFont onexit | |
if pft : RemoveFontResourceA pft | |
return | |
#global | |
#endif | |
//INTROのぴょんぴょんする線 | |
#module IntroLine x, y, wi, alpha, black, lifeTime, lines, fall | |
#modinit double _x, double _y, double _wi, int _alpha, int _black, int _fall | |
x = _x : y = _y : wi = _wi : alpha = _alpha : black = _black : fall = _fall | |
return | |
//for master | |
#modfunc fallen | |
if(fall == 0) { | |
y += 50 | |
} | |
if lifeTime \ 1 == 0 : newmod lines, IntroLine@, x, y, wi, alpha / 2 | |
foreach lines | |
attenuation(lines(cnt)) | |
loop | |
lifeTime++ | |
return | |
//for sub | |
#modfunc attenuation | |
alpha -= 10 | |
if alpha <= 1 : alpha = 0 | |
return | |
//for sub | |
#modfunc drawInstances | |
if(black == 0) { | |
color alpha, alpha, alpha | |
} else { | |
color 255 - alpha, 255 - alpha, 255 - alpha | |
} | |
if alpha != 0 : line x - wi, y, x + wi, y | |
return | |
//for master | |
#modfunc draw | |
if(fall == 0) { | |
foreach lines | |
drawInstances(lines(cnt)) | |
loop | |
} | |
color alpha, alpha, alpha | |
if y <= SC_SIZE_Y + 50 : line x - wi, y, x + wi, y | |
return | |
#modfunc local introSetY double _y | |
y = _y | |
return | |
#global | |
//THIRDのRectunnel | |
#module ThirdTunnelRect y, scale, rota, spawnFrame | |
#modinit int _frame, double _scale, double _rota | |
spawnFrame = _frame | |
scale = _scale | |
rota = _rota | |
return | |
#modfunc thirdTunnelRectUpdate | |
setease 0.0, 6000.0, ease_quad_inout | |
y = geteasef(frame@ - spawnFrame, 100) | |
setease 0.0, 2 * M_PI, ease_quartic_in | ease_loop | |
rota = geteasef(frame@ - spawnFrame, 50) | |
setease 400.0, 0.0, ease_quartic_in | |
scale = geteasef(frame@ - spawnFrame - 50, 25) | |
return | |
#modfunc thirdTunnelRectDraw | |
repeat 4 | |
thirdTunnelRectVert(0, cnt \ 4) = scale * cubeVertices@(0, cnt \ 4) | |
thirdTunnelRectVert(1, cnt \ 4) = scale * cubeVertices@(2, cnt \ 4) | |
loop | |
repeat 4 | |
d3rotate thirdTunnelRectVert(0, cnt \ 4), thirdTunnelRectVert(1, cnt \ 4), thirdTunnelRectVert(0, cnt \ 4), thirdTunnelRectVert(1, cnt \ 4), rota | |
loop | |
d3initlineto | |
d3lineto thirdTunnelRectVert(0, 0), y, thirdTunnelRectVert(1, 0) | |
d3lineto thirdTunnelRectVert(0, 1), y, thirdTunnelRectVert(1, 1) | |
d3lineto thirdTunnelRectVert(0, 2), y, thirdTunnelRectVert(1, 2) | |
d3lineto thirdTunnelRectVert(0, 3), y, thirdTunnelRectVert(1, 3) | |
d3lineto thirdTunnelRectVert(0, 0), y, thirdTunnelRectVert(1, 0) | |
return | |
#global | |
//__________________________________ | |
//Main | |
gosub *INITIALIZE | |
wait 200 | |
gosub *FIRST_STEP | |
onexit gosub *FINALIZE | |
*MAIN | |
redraw 0 | |
; title "" + d3getfps() | |
d3setcam camX, camY, camZ, camAtX, camAtY, camAtZ, | |
pos 0, 0 | |
if(frame < 27) { | |
} else : if(frame < 1036) { | |
gosub *INTRO | |
} else : if(frame < 1625) { | |
gosub *FIRST | |
} else : if(frame < 2161) { | |
gosub *SECOND | |
} else : if(frame < 2427) { | |
gosub *THIRD | |
} else : if(frame < 2692) { | |
gosub *FOURTH | |
} else : if(frame < 2962) { | |
gosub *FIFTH | |
} else : if(frame < 3223) { | |
gosub *SIXTH | |
} else : if(frame < 3760) { | |
gosub *SEVENTH | |
} else { | |
gosub *EIGHTH | |
} | |
redraw 1 | |
frame++ | |
time = d3timer() - offsetTime | |
if(frame \ 20 == 0) { | |
tempCorrectedFrame = time / 20 | |
if(frame <= tempCorrectedFrame - 5 || tempCorrectedFrame + 5 <= frame) { | |
frame = tempCorrectedFrame | |
} | |
} | |
await 20 | |
goto *MAIN | |
//_________________________________ | |
//Sub | |
*INITIALIZE | |
hmminit 1 | |
DSLOADFNAME SONG_FILE, BUF_SONG, 0 | |
title TITLE_STR | |
; screen BUF_SCREEN, SC_SIZE_X, SC_SIZE_Y, 2|4, 0, 0 | |
chgdisp 1, SC_SIZE_X, SC_SIZE_Y | |
bgscr BUF_SCREEN, SC_SIZE_X, SC_SIZE_Y, 2, 0, 0 | |
mouse -1 | |
buffer BUF_INTRO, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_INTRO_0, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_INTRO_TITLE, BUF_INTRO_TITLE_SIZE_X, BUF_INTRO_TITLE_SIZE_Y | |
loadFont "EBGaramond-Regular.ttf" | |
font "EB Garamond", 192.0 / 1.5, 16 | |
buffer BUF_FIRST, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_SECOND, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_SECOND_0, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_SECOND_1, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_THIRD, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_THIRD_0, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_FOURTH, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_FIFTH, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_SIXTH, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_SIXTH_0, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_SEVENTH, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_EIGHTH, SC_SIZE_X, SC_SIZE_Y | |
buffer BUF_EIGHTH_0, SC_SIZE_X, SC_SIZE_Y | |
pos 0, 0 | |
buffer BUF_INFO, 1280, 720 | |
picload "image/info.png", 1 | |
repeat 36 | |
buffer BUF_FLASHBACK_B + cnt, 1280, 720 | |
picload "image/flashback/flashback" + cnt + ".png", 1 | |
loop | |
gsel BUF_SCREEN, 1 | |
color 255, 255, 255 | |
boxf | |
return | |
*FIRST_STEP | |
DSPLAY BUF_SONG | |
offsetTime = d3timer() | |
pos 0, 0 | |
gsel BUF_SECOND_1 | |
color 0, 0, 0 | |
boxf | |
return | |
*FINALIZE | |
chgdisp | |
end | |
return | |
//_________________________________ | |
//Scenes | |
*INTRO | |
gsel BUF_INTRO | |
pos 0, 0 | |
color 255, 255, 255 | |
boxf | |
gsel BUF_INTRO_0 | |
color 0, 0, 0 | |
boxf | |
//Tick | |
if(frame == 27) { | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 44) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 60) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 77) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 94) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 111) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 127) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 144) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 161) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 177) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 194) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 210) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 227) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 244) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 261) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 276) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 294) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 311) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 327) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 344) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 361) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 377) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 394) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 411) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 427) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 444) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 461) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 477) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 494) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 511) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 528) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} else : if(frame == 544) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introTickNodeX, introTickNodeY, introTickNodeWidth, 255 | |
} | |
//Snare | |
if(frame == 561) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 586) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 594) { | |
delmod introNodes(1) | |
newmod introNodes, IntroLine, introSnareNodeLX, introSnareNodeLY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 561) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 611) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeLY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 644) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 661) { | |
delmod introNodes(1) | |
newmod introNodes, IntroLine, introSnareNodeLX, introSnareNodeLY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 694) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 719) { | |
delmod introNodes(1) | |
newmod introNodes, IntroLine, introSnareNodeLX, introSnareNodeLY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 727) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 744) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 777) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 802) { | |
delmod introNodes(0) | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 819) { | |
newmod introNodes, IntroLine, introSnareNodeLX - 20, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 821) { | |
newmod introNodes, IntroLine, introSnareNodeLX + 450, introSnareNodeRY + 100, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 823) { | |
newmod introNodes, IntroLine, introSnareNodeLX + 930, introSnareNodeRY + 200, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 852) { | |
newmod introNodes, IntroLine, introSnareNodeLX, introSnareNodeLY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 861) { | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 877) { | |
newmod introNodes, IntroLine, introSnareNodeLX, introSnareNodeLY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 911) { | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 927) { | |
newmod introNodes, IntroLine, introSnareNodeLX, introSnareNodeLY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 961) { | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 986) { | |
newmod introNodes, IntroLine, introSnareNodeLX, introSnareNodeLY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 994) { | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 986) { | |
newmod introNodes, IntroLine, introSnareNodeLX, introSnareNodeLY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 994) { | |
newmod introNodes, IntroLine, introSnareNodeRX, introSnareNodeRY, introSnareNodeWidth, 255, 1 | |
} else : if(frame == 995) { | |
foreach introNodes | |
delmod introNodes(cnt) | |
loop | |
newmod introNodes, IntroLine, SC_CENTER_X, SC_SIZE_Y, introTickNodeWidth, 255, 0, 1 | |
} | |
if(995 <= frame) { | |
//introLastNode | |
setease SC_SIZE_Y, SC_CENTER_Y, ease_cubic_out | |
tempIntroFinalPosY = getease(frame - 1011, 16) | |
introSetY@IntroLine introNodes(0), tempIntroFinalPosY | |
} | |
foreach introNodes | |
fallen(introNodes(cnt)) | |
draw(introNodes(cnt)) | |
loop | |
gsel BUF_INTRO | |
gmode 6, SC_SIZE_X, SC_SIZE_Y, 255 | |
gcopy BUF_INTRO_0 | |
//Title | |
if(294 <= frame && frame < 561) { | |
gsel BUF_INTRO_TITLE | |
pos 0, 0 | |
color 255, 255, 255 | |
boxf 0, 0, BUF_INTRO_TITLE_SIZE_X, BUF_INTRO_TITLE_SIZE_Y | |
setease 0.0, 20.0 / 1.5, ease_quartic_out | |
tempIntroShadowPos = getease(frame - 294, 50) | |
setease 1.0, 0.0, ease_quartic_out | |
tempIntroAlpha = geteasef(double(frame) - 433.0, 15.0) | |
pos tempIntroShadowPos, double(tempIntroShadowPos) * 0.8 -40 | |
color 255.0 - 35.0 * tempIntroAlpha, 255.0 - 35.0 * tempIntroAlpha, 255.0 - 35.0 * tempIntroAlpha | |
mes "Phantomizer" | |
color 255.0 - 255.0 * tempIntroAlpha, 255.0 - 255.0 * tempIntroAlpha, 255.0 - 255.0 * tempIntroAlpha | |
pos 0, -40 | |
mes "Phantmizer" | |
gsel BUF_INTRO | |
setease 0.0, 200.0, ease_quartic_out | |
tempIntroTDivNum = 2 | |
repeat tempIntroTDivNum | |
tempIntroDivTPos = geteasef(double(frame) - 430.0, 5.0) | |
if(cnt \ 2 == 0) { | |
tempIntroDivTX = tempIntroDivTPos | |
} else { | |
tempIntroDivTX = -tempIntroDivTPos | |
} | |
color 255, 255, 255 | |
gmode 4, BUF_INTRO_TITLE_SIZE_X, BUF_INTRO_TITLE_SIZE_Y / tempIntroTDivNum, 255 | |
pos 322 + tempIntroDivTX, 110 + BUF_INTRO_TITLE_SIZE_Y / tempIntroTDivNum * cnt | |
gcopy BUF_INTRO_TITLE, 0, BUF_INTRO_TITLE_SIZE_Y / tempIntroTDivNum * cnt | |
loop | |
} | |
introFrame++ | |
gsel BUF_SCREEN | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
gcopy BUF_INTRO | |
return | |
*FIRST | |
gsel BUF_FIRST | |
pos 0, 0 | |
if(frame < 1095) { | |
color 255, 255, 255 | |
} else { | |
color 0, 0, 0 | |
} | |
boxf | |
if(1036 <= frame && frame <= 1040) { | |
foreach introNodes | |
delmod introNodes(cnt) | |
loop | |
} | |
if(frame < 1095) { | |
setease 55.0, 450.0, ease_linear | |
tempFirstLineSize = getease(frame - 1036, 1094 - 1036) | |
setease 0.0, -M_PI / 2.0, ease_linear | |
tempFirstLineRota = geteasef(frame - 1036, 1094 - 1036) | |
d3rotate tempFirstLineX, tempFirstLineY, tempFirstLineSize, 0.0, tempFirstLineRota | |
color 0, 0, 0 | |
d3line -tempFirstLineX, 0.0, -tempFirstLineY, tempFirstLineX, 0.0, tempFirstLineY | |
} else : if(frame < 2000) { | |
setease -500.0, -2000.0, ease_quartic_out | |
camY = geteasef(frame - 1095, 50) | |
setease 0.0, 700.0, ease_quartic_out | |
camZ = geteasef(frame - 1095, 50) | |
//Cube | |
if(0 <= 1.0 * frame - 1127.0 - tempFirstCubeScaleCnt * firstCubeScaleFreq - firstCubeScaleFreq) { | |
tempFirstCubeScaleCnt++ | |
} | |
if(tempFirstCubeScaleCnt \ 2 == 0) { | |
setease 255.0, 270.0, ease_quartic_out | |
} else { | |
setease 270.0, 255.0, ease_quartic_in | |
} | |
firstCubeScale = geteasef(1.0 * frame - 1127.0 - tempFirstCubeScaleCnt * firstCubeScaleFreq, firstCubeScaleFreq) | |
repeat 3 * 8 | |
firstCube(cnt / 8, cnt \ 8) = firstCubeScale * cubeVertices(cnt / 8, cnt \ 8) | |
loop | |
repeat 8 | |
d3vrotate firstCube(0, cnt), firstCube(1, cnt), firstCube(2, cnt), firstCube(0, cnt), firstCube(1, cnt), firstCube(2, cnt), 0.0, 0.0, 1.0, M_PI / 4.0 | |
loop | |
if(tempFirstCubeRota <= -M_PI / 2.0) { | |
tempFirstCubeRotaCnt++ | |
} | |
setease 0.0, -M_PI / 2.0, ease_linear | |
tempFirstCubeRota = geteasef(frame - 1100 - tempFirstCubeRotaCnt * 100, 100) | |
repeat 8 | |
d3vrotate firstCube(0, cnt), firstCube(1, cnt), firstCube(2, cnt), firstCube(0, cnt), firstCube(1, cnt), firstCube(2, cnt), 0.0, 0.0, 1.0, tempFirstCubeRota | |
loop | |
color 255, 255, 255 | |
d3initlineto | |
d3lineto firstCube(0, 0), firstCube(1, 0), firstCube(2, 0) | |
d3lineto firstCube(0, 1), firstCube(1, 1), firstCube(2, 1) | |
d3lineto firstCube(0, 2), firstCube(1, 2), firstCube(2, 2) | |
d3lineto firstCube(0, 3), firstCube(1, 3), firstCube(2, 3) | |
d3lineto firstCube(0, 0), firstCube(1, 0), firstCube(2, 0) | |
d3lineto firstCube(0, 4), firstCube(1, 4), firstCube(2, 4) | |
d3lineto firstCube(0, 5), firstCube(1, 5), firstCube(2, 5) | |
d3lineto firstCube(0, 6), firstCube(1, 6), firstCube(2, 6) | |
d3lineto firstCube(0, 7), firstCube(1, 7), firstCube(2, 7) | |
d3lineto firstCube(0, 4), firstCube(1, 4), firstCube(2, 4) | |
d3initlineto | |
d3lineto firstCube(0, 1), firstCube(1, 1), firstCube(2, 1) | |
d3lineto firstCube(0, 5), firstCube(1, 5), firstCube(2, 5) | |
d3initlineto | |
d3lineto firstCube(0, 2), firstCube(1, 2), firstCube(2, 2) | |
d3lineto firstCube(0, 6), firstCube(1, 6), firstCube(2, 6) | |
d3initlineto | |
d3lineto firstCube(0, 3), firstCube(1, 3), firstCube(2, 3) | |
d3lineto firstCube(0, 7), firstCube(1, 7), firstCube(2, 7) | |
} | |
gsel BUF_SCREEN | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
gcopy BUF_FIRST | |
return | |
*SECOND | |
gsel BUF_SECOND_0 | |
color 0, 0, 0 | |
boxf | |
if(frame < 2093) { | |
//Cube | |
if(0 <= 1.0 * frame - 1127.0 - tempFirstCubeScaleCnt * firstCubeScaleFreq - firstCubeScaleFreq) { | |
tempFirstCubeScaleCnt++ | |
} | |
if(tempFirstCubeScaleCnt \ 2 == 0 && frame < 2027) { | |
setease 255.0, 270.0, ease_quartic_out | |
} else { | |
setease 270.0, 255.0, ease_quartic_in | |
} | |
firstCubeScale = geteasef(1.0 * frame - 1127.0 - tempFirstCubeScaleCnt * firstCubeScaleFreq, firstCubeScaleFreq) | |
repeat 3 * 8 | |
firstCube(cnt / 8, cnt \ 8) = firstCubeScale * cubeVertices(cnt / 8, cnt \ 8) | |
loop | |
repeat 8 | |
d3vrotate firstCube(0, cnt), firstCube(1, cnt), firstCube(2, cnt), firstCube(0, cnt), firstCube(1, cnt), firstCube(2, cnt), 0.0, 0.0, 1.0, M_PI / 4.0 | |
loop | |
if(tempFirstCubeRota <= -M_PI / 2.0) { | |
tempFirstCubeRotaCnt++ | |
} | |
setease 0.0, -M_PI / 2.0, ease_linear | |
tempFirstCubeRota = geteasef(frame - 1100 - tempFirstCubeRotaCnt * 100, 100) | |
repeat 8 | |
d3vrotate firstCube(0, cnt), firstCube(1, cnt), firstCube(2, cnt), firstCube(0, cnt), firstCube(1, cnt), firstCube(2, cnt), 0.0, 0.0, 1.0, tempFirstCubeRota | |
loop | |
color 255, 255, 255 | |
d3initlineto | |
d3lineto firstCube(0, 0), firstCube(1, 0), firstCube(2, 0) | |
d3lineto firstCube(0, 1), firstCube(1, 1), firstCube(2, 1) | |
d3lineto firstCube(0, 2), firstCube(1, 2), firstCube(2, 2) | |
d3lineto firstCube(0, 3), firstCube(1, 3), firstCube(2, 3) | |
d3lineto firstCube(0, 0), firstCube(1, 0), firstCube(2, 0) | |
d3lineto firstCube(0, 4), firstCube(1, 4), firstCube(2, 4) | |
d3lineto firstCube(0, 5), firstCube(1, 5), firstCube(2, 5) | |
d3lineto firstCube(0, 6), firstCube(1, 6), firstCube(2, 6) | |
d3lineto firstCube(0, 7), firstCube(1, 7), firstCube(2, 7) | |
d3lineto firstCube(0, 4), firstCube(1, 4), firstCube(2, 4) | |
d3initlineto | |
d3lineto firstCube(0, 1), firstCube(1, 1), firstCube(2, 1) | |
d3lineto firstCube(0, 5), firstCube(1, 5), firstCube(2, 5) | |
d3initlineto | |
d3lineto firstCube(0, 2), firstCube(1, 2), firstCube(2, 2) | |
d3lineto firstCube(0, 6), firstCube(1, 6), firstCube(2, 6) | |
d3initlineto | |
d3lineto firstCube(0, 3), firstCube(1, 3), firstCube(2, 3) | |
d3lineto firstCube(0, 7), firstCube(1, 7), firstCube(2, 7) | |
} | |
if(2027 <= frame && frame < 2093) { | |
if((2027 - frame) \ 6 == 0) { | |
camX = double(camX) * -0.5 | |
if(camX == 0) { | |
camX = (frame - 2093) * -20 | |
} | |
camAtX = camX | |
} | |
setease -2000.0, -500.0, ease_quad_in | |
camY = geteasef(frame - 2027, 2093 - 2027) | |
setease 700.0, 0.0, ease_quad_in | |
camZ = geteasef(frame - 2027, 2093 - 2027) | |
if(frame \ 5 == 0) { | |
color 0, 0, 0 | |
boxf | |
} | |
} else : if(2093 <= frame) { | |
//Eye | |
gsel BUF_SECOND_1 | |
color 0, 0, 0 | |
boxf | |
color 255, 255, 255 | |
circle SC_CENTER_X - 300.0, SC_CENTER_Y - 300.0, SC_CENTER_X + 300.0, SC_CENTER_Y + 300.0 | |
setease 1000.0, 250.0, ease_quartic_out | |
tempCircleRadius = geteasef(frame - 2093, 30) | |
setease 0.0, 256.0, ease_quartic_out | |
tempCircleHeight = geteasef(frame - 2093, 30) | |
setease tempCircleRadius, tempCircleRadius - tempCircleHeight / 2.0, ease_quartic_in | |
tempCircleDist = geteasef(frame - 2093, 30) | |
setease 0.0, 9.5, ease_quartic_out | |
tempSecondBias = geteasef(frame - 2093, 30) | |
setease 0.0, tempCircleHeight / 2.0, ease_cubic_out | |
tempSecondEyeHeight = geteasef(frame - 2093, 120) | |
color 0, 0, 0 | |
//Eyelid | |
repeat 500 | |
tempCircleY = sin(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleRadius - tempCircleDist | |
if(0.0 <= tempCircleY) { | |
line cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleRadius + SC_CENTER_X, tempCircleY + SC_CENTER_Y | |
} else { | |
pos cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleRadius + SC_CENTER_X, tempCircleY + SC_CENTER_Y | |
} | |
loop | |
//Eyelid | |
repeat 500 | |
tempCircleY = sin(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleRadius + tempCircleDist | |
if(tempCircleY <= 0.0) { | |
line cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleRadius + SC_CENTER_X, tempCircleY + SC_CENTER_Y | |
} else { | |
pos cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleRadius + SC_CENTER_X, tempCircleY + SC_CENTER_Y | |
} | |
loop | |
//Eye | |
pos cos(0.0) * tempCircleCRadius + SC_CENTER_X, sin(0.0) * tempCircleCRadius + SC_CENTER_Y | |
repeat 500 | |
tempCircleY = sin(2.0 * M_PI / 100.0 * (cnt + 1)) * tempSecondEyeHeight | |
tempCircleCY = sin(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleCRadius | |
if(tempCircleCY < 0) { | |
if(tempCircleY - tempSecondBias <= tempCircleCY) { | |
line cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleCRadius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} else { | |
pos cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleCRadius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} | |
} else { | |
if(tempCircleCY <= tempCircleY + tempSecondBias) { | |
line cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleCRadius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} else { | |
pos cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleCRadius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} | |
} | |
loop | |
pos cos(0.0) * tempCircleC2Radius + SC_CENTER_X, sin(0.0) * tempCircleC2Radius + SC_CENTER_Y | |
repeat 500 | |
tempCircleY = sin(2.0 * M_PI / 100.0 * (cnt + 1)) * tempSecondEyeHeight | |
tempCircleCY = sin(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleC2Radius | |
if(tempCircleCY < 0) { | |
if(tempCircleY - tempSecondBias <= tempCircleCY) { | |
line cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleC2Radius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} else { | |
pos cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleC2Radius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} | |
} else { | |
if(tempCircleCY <= tempCircleY + tempSecondBias) { | |
line cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleC2Radius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} else { | |
pos cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleC2Radius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} | |
} | |
loop | |
gsel BUF_SECOND_0 | |
pos 160, 90 | |
gzoom 960, 540, BUF_SECOND_1, 0, 0, SC_SIZE_X, SC_SIZE_Y, 1 | |
} | |
gsel BUF_SECOND | |
if(2027 <= frame && frame < 2093) { | |
if(frame \ 6 <= 2) { | |
color 0, 0, 0 | |
} else { | |
color 255, 255, 255 | |
} | |
} else { | |
color 0, 0, 0 | |
} | |
boxf | |
if(2027 <= frame && frame < 2093) { | |
if(frame \ 6 <= 2) { | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
} else { | |
gmode 6, SC_SIZE_X, SC_SIZE_Y | |
} | |
} else { | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
} | |
gcopy BUF_SECOND_0 | |
gsel BUF_SCREEN | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
gcopy BUF_SECOND | |
return | |
*THIRD | |
gsel BUF_THIRD | |
if(frame < 2250) { | |
color 0, 0, 0 | |
boxf | |
//Down the Eye | |
setease 0.0, SC_SIZE_Y, ease_quartic_in | |
tempThirdDownDivNum = 200 | |
repeat tempThirdDownDivNum + 50 | |
tempThirdDownEase = geteasef(frame - 2161 - abs(cnt - 5 - tempThirdDownDivNum / 2) / 5, 10) | |
gmode 2, SC_SIZE_X / tempThirdDownDivNum, SC_SIZE_Y, 255 | |
pos SC_SIZE_X / tempThirdDownDivNum * cnt, tempThirdDownEase | |
gcopy BUF_SECOND, SC_SIZE_X / tempThirdDownDivNum * cnt, 0 | |
loop | |
//Down the black | |
gsel BUF_THIRD_0 | |
color 250, 250, 250 | |
boxf | |
gsel BUF_THIRD | |
setease -SC_SIZE_Y, 0.0, ease_quartic_in | |
repeat tempThirdDownDivNum + 50 | |
tempThirdDownEase = geteasef(frame - 2171 - abs(cnt - 5 - tempThirdDownDivNum / 2) / 5, 10) | |
gmode 2, SC_SIZE_X / tempThirdDownDivNum, SC_SIZE_Y, 255 | |
pos SC_SIZE_X / tempThirdDownDivNum * cnt, tempThirdDownEase | |
gcopy BUF_THIRD_0, SC_SIZE_X / tempThirdDownDivNum * cnt, 0 | |
loop | |
} else : if(frame < 2400) { | |
color 250, 250, 250 | |
boxf | |
camX = 0.0 | |
camY = -500.0 | |
camZ = 0.0 | |
camAtX = 0.0 | |
if(length(thirdTunnelRects) < 70) { | |
newmod thirdTunnelRects, ThirdTunnelRect, frame, 0.0, 0.0 | |
} | |
} | |
foreach thirdTunnelRects | |
thirdTunnelRectUpdate(thirdTunnelRects(cnt)) | |
color 15, 15, 15 | |
thirdTunnelRectDraw(thirdTunnelRects(cnt)) | |
loop | |
gsel BUF_SCREEN | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
gcopy BUF_THIRD | |
return | |
*FOURTH | |
gsel BUF_FOURTH | |
color 15, 15, 15 | |
boxf | |
if(frame < 2482) { | |
//Down the THIRD | |
setease 0.0, SC_SIZE_Y, ease_quartic_inout | |
tempFourthDownDivNum = 200 | |
repeat tempFourthDownDivNum + 50 | |
tempFourthDownEase = geteasef(frame - 2427 - abs(cnt - 5 - tempFourthDownDivNum / 2) / 5, 10) | |
gmode 2, SC_SIZE_X / tempFourthDownDivNum, SC_SIZE_Y, 255 | |
pos SC_SIZE_X / tempFourthDownDivNum * cnt, tempFourthDownEase | |
gcopy BUF_THIRD, SC_SIZE_X / tempFourthDownDivNum * cnt, 0 | |
loop | |
} else : if(frame < 2682){ | |
setease CAMERA_DEF_X, -500, ease_quartic_out | |
camX = geteasef(frame - 2532, 100) | |
setease CAMERA_DEF_Z, -200, ease_quartic_out | |
camZ = geteasef(frame - 2532, 100) | |
setease CAMERA_DEF_Y, -250, ease_quartic_out | |
camY = geteasef(frame - 2532, 100) | |
//Impact circles | |
setease 0.0, SC_CENTER_Y / 2.0, ease_quartic_inout | ease_loop | |
for tempFourthI, 0, 10, 1 | |
tempFourthCircleSize = geteasef(frame - 2482 - tempFourthI, 50) | |
color 250, 250, 250 | |
d3initlineto | |
repeat 101 | |
d3lineto cos(2.0 * M_PI / 100.0 * cnt) * tempFourthCircleSize, 0.0, sin(2.0 * M_PI / 100.0 * cnt) * tempFourthCircleSize | |
loop | |
next | |
} | |
gsel BUF_SCREEN | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
gcopy BUF_FOURTH | |
return | |
*FIFTH | |
gsel BUF_FIFTH | |
color 250, 250, 250 | |
boxf | |
if(frame < 2960) { | |
//Points Wave | |
; setease 100.0, 100.0, ease_quartic_in | |
camX = 100.0 ;geteasef(frame - 2732, 50) | |
setease CAMERA_DEF_Z, 100, ease_quartic_out | |
camZ = geteasef(frame - 2817, 50) | |
setease 0.0, -170.0, ease_quartic_out | |
camY = geteasef(frame - 2817, 50) | |
d3setcam camX, camY, camZ, camAtX, 0, 0 | |
for tempFifthI, 0, 200, 1 | |
repeat 20 | |
tempFifthPWaveY = fifthPWaveOffsetY + (-fifthPWaveOffsetY / 100) * tempFifthI - (((double(frame) - 2732.0 - fifthPWaveDelays(cnt)) * 3.0) \ abs(fifthPWaveOffsetY) * 2.0 / 20.0 * 2.0) | |
tempFifthPWaveZ = sin(M_PI / (400.0 / 20.0) * tempFifthPWaveY) | |
setease 170.0, 0.0, ease_quartic_in | |
tempFifthPWaveCol = geteasef(tempFifthPWaveZ + 1.0, 2.0) | |
color tempFifthPWaveCol, tempFifthPWaveCol, tempFifthPWaveCol | |
d3circle fifthPWaveOffsetX + (-fifthPWaveOffsetX / 10) * cnt, tempFifthPWaveY, tempFifthPWaveZ * 20.0, 0.5, 1 | |
loop | |
next | |
} | |
if(frame < 2732) { | |
camX = CAMERA_DEF_X | |
camY = CAMERA_DEF_Y | |
camZ = CAMERA_DEF_Z | |
camAtX = CAMERA_AT_DEF_X | |
d3setcam camX, camY, camZ, camAtX, 0, 0 | |
//Slide the FOURTH | |
setease 0.0, -SC_SIZE_X, ease_quartic_out | |
tempFifthSlideDivNum = 50 | |
repeat tempFifthSlideDivNum + 50 | |
tempFifthSlideEase = geteasef(double(frame) - 2692.0 - (double(cnt) / 5.0), 20) | |
gmode 0, SC_SIZE_X, SC_SIZE_Y / tempFifthSlideDivNum, 255 | |
pos tempFifthSlideEase, SC_SIZE_Y / tempFifthSlideDivNum * cnt | |
gcopy BUF_FOURTH, 0, SC_SIZE_Y / tempFifthSlideDivNum * cnt | |
loop | |
} | |
gsel BUF_SCREEN | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
gcopy BUF_FIFTH | |
return | |
*SIXTH | |
gsel BUF_SIXTH | |
color 15, 15, 15 | |
boxf | |
camX = CAMERA_DEF_X | |
camY = CAMERA_DEF_Y | |
camZ = CAMERA_DEF_Z | |
camAtX = CAMERA_AT_DEF_X | |
if(frame < 3002) { | |
//Points Wave | |
gsel BUF_FIFTH | |
color 250, 250, 250 | |
boxf | |
; setease 100.0, 100.0, ease_quartic_in | |
camX = 100.0 ;geteasef(frame - 2732, 50) | |
setease CAMERA_DEF_Z, 100, ease_quartic_in | |
camZ = geteasef(frame - 2732, 50) | |
setease 0.0, -170.0, ease_quartic_in | |
camY = geteasef(frame - 2732, 50) | |
d3setcam camX, camY, camZ, camAtX, 0, 0 | |
for tempFifthI, 0, 200, 1 | |
repeat 20 | |
tempFifthPWaveY = fifthPWaveOffsetY + (-fifthPWaveOffsetY / 100) * tempFifthI - (((double(frame) - 2732.0 - fifthPWaveDelays(cnt)) * 3.0) \ abs(fifthPWaveOffsetY) * 2.0 / 20.0 * 2.0) | |
tempFifthPWaveZ = sin(M_PI / (400.0 / 20.0) * tempFifthPWaveY) | |
setease 170.0, 0.0, ease_quartic_in | |
tempFifthPWaveCol = geteasef(tempFifthPWaveZ + 1.0, 2.0) | |
color tempFifthPWaveCol, tempFifthPWaveCol, tempFifthPWaveCol | |
d3circle fifthPWaveOffsetX + (-fifthPWaveOffsetX / 10) * cnt, tempFifthPWaveY, tempFifthPWaveZ * 20.0, 0.5, 1 | |
loop | |
next | |
gsel BUF_SIXTH | |
camX = CAMERA_DEF_X | |
camY = CAMERA_DEF_Y | |
camZ = CAMERA_DEF_Z | |
camAtX = CAMERA_AT_DEF_X | |
d3setcam camX, camY, camZ, camAtX, 0, 0 | |
//Slide the FIFTH | |
setease 0.0, SC_SIZE_X, ease_quartic_out | |
tempSixthSlideDivNum = 50 | |
repeat tempSixthSlideDivNum + 50 | |
tempSixthSlideEase = geteasef(double(frame) - 2962.0 - (double(cnt) / 5.0), 20) | |
gmode 0, SC_SIZE_X, SC_SIZE_Y / tempSixthSlideDivNum, 255 | |
pos tempSixthSlideEase, SC_SIZE_Y / tempSixthSlideDivNum * cnt | |
gcopy BUF_FIFTH, 0, SC_SIZE_Y / tempSixthSlideDivNum * cnt | |
loop | |
} else : if(frame < 3223) { | |
//Planet | |
setease -500.0, 0.0, ease_quartic_out | |
tempSixthSphereZ = geteasef(frame - 3002, 50) | |
if(frame < 3072) { | |
setease CAMERA_DEF_Y, -300.0, ease_quartic_out | |
camY = geteasef(frame - 3062, 10) | |
} else : if(frame < 3223) { | |
setease -400.0, -1000.0, ease_quartic_out | |
camY = geteasef(frame - 3072, 100) | |
} | |
d3setcam camX, camY, camZ, camAtX, 0, 0 | |
color 250, 250, 250 | |
d3circle 0.0, 0.0, tempSixthSphereZ, sixthSphereSize, 1 | |
//Satellite orbit | |
gsel BUF_SIXTH_0 | |
color 0, 0, 0 | |
boxf | |
setease 0.0, 250.0, ease_quartic_out | |
tempSixthSatelCol = geteasef(frame - 3072, 200) | |
ddim tempSixthSatel, 3 | |
ddim tempSixthSatelAxises, 3, 3 | |
ddim tempSixthSatelTaile, 4, 3, 100 | |
repeat 4 | |
//Satellite | |
tempSixthSatel(0) = 0.0 | |
tempSixthSatel(1) = 0.0 | |
tempSixthSatel(2) = 0.0 | |
tempSixthSatelAxises(0, 0) = 1.0 | |
tempSixthSatelAxises(0, 1) = 0.0 | |
tempSixthSatelAxises(0, 2) = 0.0 | |
tempSixthSatelAxises(1, 0) = 0.0 | |
tempSixthSatelAxises(1, 1) = 1.0 | |
tempSixthSatelAxises(1, 2) = 0.0 | |
tempSixthSatelAxises(2, 0) = 0.0 | |
tempSixthSatelAxises(2, 1) = 0.0 | |
tempSixthSatelAxises(2, 2) = 1.0 | |
setease 0.0, 6.0 * M_PI, ease_linear | |
tempSixthOrbitRota = geteasef(frame - 3072, 300) | |
if(cnt == 0) { | |
tempSixthSatel(0) = 300.0 | |
d3vrotate tempSixthSatel(0), tempSixthSatel(1), tempSixthSatel(2), tempSixthSatel(0), tempSixthSatel(1), tempSixthSatel(2), 0.0, 0.0, 1.0, tempSixthOrbitRota | |
d3vrotate tempSixthSatelAxises(0, 0), tempSixthSatelAxises(0, 1), tempSixthSatelAxises(0, 2), tempSixthSatelAxises(0, 0), tempSixthSatelAxises(0, 1), tempSixthSatelAxises(0, 2), tempSixthSatelAxises(2, 0), tempSixthSatelAxises(2, 1), tempSixthSatelAxises(2, 2), tempSixthOrbitRota * 3.0 | |
} else : if(cnt == 1) { | |
tempSixthSatel(0) = -300.0 | |
d3vrotate tempSixthSatel(0), tempSixthSatel(1), tempSixthSatel(2), tempSixthSatel(0), tempSixthSatel(1), tempSixthSatel(2), 0.0, 0.0, 1.0, tempSixthOrbitRota | |
d3vrotate tempSixthSatelAxises(0, 0), tempSixthSatelAxises(0, 1), tempSixthSatelAxises(0, 2), tempSixthSatelAxises(0, 0), tempSixthSatelAxises(0, 1), tempSixthSatelAxises(0, 2), tempSixthSatelAxises(2, 0), tempSixthSatelAxises(2, 1), tempSixthSatelAxises(2, 2), tempSixthOrbitRota * 3.0 | |
} else : if(cnt == 2) { | |
tempSixthSatel(2) = 300.0 | |
d3vrotate tempSixthSatel(0), tempSixthSatel(1), tempSixthSatel(2), tempSixthSatel(0), tempSixthSatel(1), tempSixthSatel(2 ), 1.0, 0.0, 0.0, tempSixthOrbitRota | |
d3vrotate tempSixthSatelAxises(2, 0), tempSixthSatelAxises(2, 1), tempSixthSatelAxises(2, 2), tempSixthSatelAxises(2, 0), tempSixthSatelAxises(2, 1), tempSixthSatelAxises(2, 2), tempSixthSatelAxises(0, 0), tempSixthSatelAxises(0, 1), tempSixthSatelAxises(0, 2), tempSixthOrbitRota * 3.0 | |
} else : if(cnt == 3) { | |
tempSixthSatel(2) = -300.0 | |
d3vrotate tempSixthSatel(0), tempSixthSatel(1), tempSixthSatel(2), tempSixthSatel(0), tempSixthSatel(1), tempSixthSatel(2 ), -1.0, 0.0, 0.0, tempSixthOrbitRota | |
d3vrotate tempSixthSatelAxises(2, 0), tempSixthSatelAxises(2, 1), tempSixthSatelAxises(2, 2), tempSixthSatelAxises(2, 0), tempSixthSatelAxises(2, 1), tempSixthSatelAxises(2, 2), tempSixthSatelAxises(0, 0), tempSixthSatelAxises(0, 1), tempSixthSatelAxises(0, 2), tempSixthOrbitRota * 3.0 | |
} | |
d3setlocal tempSixthSatel(0), tempSixthSatel(1), tempSixthSatel(2), tempSixthSatelAxises(0, 0), tempSixthSatelAxises(0, 1), tempSixthSatelAxises(0, 2), tempSixthSatelAxises(1, 0), tempSixthSatelAxises(1, 1), tempSixthSatelAxises(1, 2), tempSixthSatelAxises(2, 0), tempSixthSatelAxises(2, 1), tempSixthSatelAxises(2, 2) | |
color tempSixthSatelCol, tempSixthSatelCol, tempSixthSatelCol | |
d3box sixthSatelSize, sixthSatelSize, sixthSatelSize, -sixthSatelSize, -sixthSatelSize, -sixthSatelSize | |
d3setlocal | |
loop | |
gsel BUF_SIXTH | |
gmode 2, SC_SIZE_X, SC_SIZE_Y | |
pos 0, 0 | |
gcopy BUF_SIXTH_0 | |
} | |
gsel BUF_SCREEN | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
gcopy BUF_SIXTH | |
return | |
*SEVENTH | |
gsel BUF_SEVENTH | |
color 15, 15, 15 | |
boxf | |
camX = CAMERA_DEF_X | |
camY = CAMERA_DEF_Y - 500.0 | |
camZ = CAMERA_DEF_Z | |
camAtX = CAMERA_AT_DEF_X | |
camAtY = CAMERA_AT_DEF_Y | |
camAtZ = CAMERA_AT_DEF_Z | |
//Camera | |
setease CAMERA_DEF_Y - 500.0, 20000.0, ease_linear | |
camY = geteasef(frame - 3293, 467) | |
setease CAMERA_AT_DEF_Y, 20000.0 + CAMERA_DEF_Y + 500.0, ease_linear | |
camAtY = geteasef(frame - 3293, 467) | |
//Road | |
setease 100000.0, -500.0, ease_quartic_out | |
tempSeventhRoadZ = geteasef(frame - 3223, 70) | |
d3initlineto | |
repeat 100 | |
color 250, 250, 250 | |
d3ribbonto -seventhRoadWidth, -100.0 + cnt * (seventhRoadLength / 100), tempSeventhRoadZ, seventhRoadWidth, -100.0 + cnt * (seventhRoadLength / 100), tempSeventhRoadZ | |
loop | |
//Structres | |
repeat 10 | |
//Bottom | |
seventhStructAxis(0) = 1.0 | |
seventhStructAxis(1) = 0.0 | |
seventhStructAxis(2) = 0.0 | |
seventhStructAxis2(0) = 0.0 | |
seventhStructAxis2(1) = 1.0 | |
seventhStructAxis2(2) = 0.0 | |
setease 0.0, 20.0 * M_PI, ease_cubic_out | |
tempSeventhStructRota = geteasef(frame - 3248 - cnt * 10, 70) | |
d3vrotate seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), 0.0, 0.0, 1.0, tempSeventhStructRota | |
d3vrotate seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0, tempSeventhStructRota | |
setease 100000.0, -500.0 , ease_quartic_out | |
tempSeventhStructZ = geteasef(frame - 3248 - cnt * 10, 70) | |
d3setlocal -seventhRoadWidth - seventhStructBSize - 150.0, -100.0 + cnt * (seventhRoadLength / 10), tempSeventhStructZ, seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0 | |
d3box seventhStructBSize, seventhStructBSize, seventhStructBSize * 2.0, -seventhStructBSize, -seventhStructBSize, 0.0 | |
d3setlocal | |
d3setlocal seventhRoadWidth + seventhStructBSize + 150.0, -100.0 + cnt * (seventhRoadLength / 10), tempSeventhStructZ, seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0 | |
d3box seventhStructBSize, seventhStructBSize, seventhStructBSize * 2.0, -seventhStructBSize, -seventhStructBSize, 0.0 | |
d3setlocal | |
//Bottom2 | |
seventhStructAxis(0) = 1.0 | |
seventhStructAxis(1) = 0.0 | |
seventhStructAxis(2) = 0.0 | |
seventhStructAxis2(0) = 0.0 | |
seventhStructAxis2(1) = 1.0 | |
seventhStructAxis2(2) = 0.0 | |
setease 0.0, 20.0 * M_PI, ease_cubic_out | |
tempSeventhStructRota = geteasef(frame - 3248 - cnt * 10 - 10, 70) | |
d3vrotate seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), 0.0, 0.0, 1.0, tempSeventhStructRota | |
d3vrotate seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0, tempSeventhStructRota | |
setease 100000.0, -500.0 , ease_quartic_out | |
tempSeventhStructZ = geteasef(frame - 3248 - cnt * 10 - 10, 70) | |
d3setlocal -seventhRoadWidth - seventhStructBSize - 150.0, -100.0 + cnt * (seventhRoadLength / 10), tempSeventhStructZ + seventhStructBSize * 2.0, seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0 | |
d3box seventhStructB2Size, seventhStructB2Size, seventhStructB2Size * 2.0, -seventhStructB2Size, -seventhStructB2Size, 0.0 | |
d3setlocal | |
d3setlocal seventhRoadWidth + seventhStructBSize + 150.0, -100.0 + cnt * (seventhRoadLength / 10), tempSeventhStructZ + seventhStructBSize * 2.0, seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0 | |
d3box seventhStructB2Size, seventhStructB2Size, seventhStructB2Size * 2.0, -seventhStructB2Size, -seventhStructB2Size, 0.0 | |
d3setlocal | |
//Center | |
seventhStructAxis(0) = 1.0 | |
seventhStructAxis(1) = 0.0 | |
seventhStructAxis(2) = 0.0 | |
seventhStructAxis2(0) = 0.0 | |
seventhStructAxis2(1) = 1.0 | |
seventhStructAxis2(2) = 0.0 | |
setease 0.0, 20.0 * M_PI, ease_cubic_out | |
tempSeventhStructRota = geteasef(frame - 3248 - cnt * 10 - 20, 70) | |
d3vrotate seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), 0.0, 0.0, 1.0, tempSeventhStructRota | |
d3vrotate seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0, tempSeventhStructRota | |
setease 100000.0, -500.0 , ease_quartic_out | |
tempSeventhStructZ = geteasef(frame - 3248 - cnt * 10 - 20, 70) | |
d3setlocal -seventhRoadWidth - seventhStructBSize - 150.0, -100.0 + cnt * (seventhRoadLength / 10), tempSeventhStructZ + seventhStructBSize * 2.0 + seventhStructB2Size * 2.0, seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0 | |
d3box seventhStructCSize, seventhStructCSize, seventhStructCSize * 2.0, -seventhStructCSize, -seventhStructCSize, 0.0 | |
d3setlocal | |
d3setlocal seventhRoadWidth + seventhStructBSize + 150.0, -100.0 + cnt * (seventhRoadLength / 10), tempSeventhStructZ + seventhStructBSize * 2.0 + seventhStructB2Size * 2.0, seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0 | |
d3box seventhStructCSize, seventhStructCSize, seventhStructCSize * 2.0, -seventhStructCSize, -seventhStructCSize, 0.0 | |
d3setlocal | |
//Top2 | |
seventhStructAxis(0) = 1.0 | |
seventhStructAxis(1) = 0.0 | |
seventhStructAxis(2) = 0.0 | |
seventhStructAxis2(0) = 0.0 | |
seventhStructAxis2(1) = 1.0 | |
seventhStructAxis2(2) = 0.0 | |
setease 0.0, 20.0 * M_PI, ease_cubic_out | |
tempSeventhStructRota = geteasef(frame - 3248 - cnt * 10 - 30, 70) | |
d3vrotate seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), 0.0, 0.0, 1.0, tempSeventhStructRota | |
d3vrotate seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0, tempSeventhStructRota | |
setease 100000.0, -500.0 , ease_quartic_out | |
tempSeventhStructZ = geteasef(frame - 3248 - cnt * 10 - 30, 70) | |
d3setlocal -seventhRoadWidth - seventhStructBSize - 150.0, -100.0 + cnt * (seventhRoadLength / 10), tempSeventhStructZ + seventhStructBSize * 2.0 + seventhStructB2Size * 2.0 + seventhStructCSize * 2.0, seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0 | |
d3box seventhStructT2Size, seventhStructT2Size, seventhStructT2Size * 2.0, -seventhStructT2Size, -seventhStructT2Size, 0.0 | |
d3setlocal | |
d3setlocal seventhRoadWidth + seventhStructBSize + 150.0, -100.0 + cnt * (seventhRoadLength / 10), tempSeventhStructZ + seventhStructBSize * 2.0 + seventhStructB2Size * 2.0 + seventhStructCSize * 2.0, seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0 | |
d3box seventhStructT2Size, seventhStructT2Size, seventhStructT2Size * 2.0, -seventhStructT2Size, -seventhStructT2Size, 0.0 | |
d3setlocal | |
//Top | |
seventhStructI = 1.0 | |
for seventhI, 1, 11, 1 | |
seventhStructAxis(0) = 1.0 | |
seventhStructAxis(1) = 0.0 | |
seventhStructAxis(2) = 0.0 | |
seventhStructAxis2(0) = 0.0 | |
seventhStructAxis2(1) = 1.0 | |
seventhStructAxis2(2) = 0.0 | |
setease 0.0, 20.0 * M_PI, ease_cubic_out | |
tempSeventhStructRota = geteasef(frame - 3248 - cnt * 10 - 40 - (seventhI - 1) * 5, 70) | |
d3vrotate seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), 0.0, 0.0, 1.0, tempSeventhStructRota | |
d3vrotate seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0, tempSeventhStructRota | |
setease 100000.0, -500.0 , ease_quartic_out | |
tempSeventhStructZ = geteasef(frame - 3248 - cnt * 10 - 40 - (seventhI - 1) * 5, 70) | |
d3setlocal -seventhRoadWidth - seventhStructBSize - 150.0, -100.0 + cnt * (seventhRoadLength / 10), (seventhStructI - 1.0) * (seventhStructTSize / 2.0) + tempSeventhStructZ + seventhStructBSize * 2.0 + seventhStructB2Size * 2.0 + seventhStructCSize * 2.0 + seventhStructT2Size * 2.0, seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0 | |
d3box seventhStructTSize / seventhStructI, seventhStructTSize / seventhStructI, (seventhStructTSize * 2.0) / seventhStructI, -seventhStructTSize / seventhStructI, -seventhStructTSize / seventhStructI, 0.0 | |
d3setlocal | |
d3setlocal seventhRoadWidth + seventhStructBSize + 150.0, -100.0 + cnt * (seventhRoadLength / 10), (seventhStructI - 1.0) * (seventhStructTSize / 2.0) + tempSeventhStructZ + seventhStructBSize * 2.0 + seventhStructB2Size * 2.0 + seventhStructCSize * 2.0 + seventhStructT2Size * 2.0, seventhStructAxis(0), seventhStructAxis(1), seventhStructAxis(2), seventhStructAxis2(0), seventhStructAxis2(1), seventhStructAxis2(2), 0.0, 0.0, 1.0 | |
d3box seventhStructTSize / seventhStructI, seventhStructTSize / seventhStructI, (seventhStructTSize * 2.0) / seventhStructI, -seventhStructTSize / seventhStructI, -seventhStructTSize / seventhStructI, 0.0 | |
d3setlocal | |
seventhStructI += 0.2 | |
next | |
loop | |
gsel BUF_SCREEN | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
gcopy BUF_SEVENTH | |
return | |
*EIGHTH | |
gsel BUF_EIGHTH | |
color 15, 15, 15 | |
boxf | |
camX = CAMERA_DEF_X | |
camY = CAMERA_DEF_Y | |
camZ = CAMERA_DEF_Z | |
camAtX = CAMERA_AT_DEF_X | |
camAtY = CAMERA_AT_DEF_Y | |
camAtZ = CAMERA_AT_DEF_Z | |
if(frame < 4292) { | |
//Cube | |
eighthCubeAxises(0, 0) = 1.0 | |
eighthCubeAxises(0, 1) = 0.0 | |
eighthCubeAxises(0, 2) = 0.0 | |
eighthCubeAxises(1, 0) = 0.0 | |
eighthCubeAxises(1, 1) = 1.0 | |
eighthCubeAxises(1, 2) = 0.0 | |
eighthCubeAxises(2, 0) = 0.0 | |
eighthCubeAxises(2, 1) = 0.0 | |
eighthCubeAxises(2, 2) = 1.0 | |
repeat 3 * 8 | |
eighthCube(cnt / 8, cnt \ 8) = 30.0 * cubeVertices(cnt / 8, cnt \ 8) | |
loop | |
setease 500.0, 0.0, ease_quartic_out | |
tempEighthCubeX = geteasef(frame - 3760, 80) | |
setease 0.0, -400.0, ease_cubic_out | |
tempEighthCubeY = geteasef(frame - 3760, 980) | |
setease -500.0, 0.0, ease_quartic_out | |
tempEighthCubeZ = geteasef(frame - 3760, 80) | |
setease 0.0, 8.0 * M_PI, ease_linear | |
tempEighthCubeRota = geteasef(frame - 3760, 980) | |
d3vrotate eighthCubeAxises(0, 0), eighthCubeAxises(0, 1), eighthCubeAxises(0, 2), eighthCubeAxises(0, 0), eighthCubeAxises(0, 1), eighthCubeAxises(0, 2), eighthCubeAxises(2, 0), eighthCubeAxises(2, 1), eighthCubeAxises(2, 2), tempEighthCubeRota | |
d3vrotate eighthCubeAxises(1, 0), eighthCubeAxises(1, 1), eighthCubeAxises(1, 2), eighthCubeAxises(1, 0), eighthCubeAxises(1, 1), eighthCubeAxises(1, 2), eighthCubeAxises(2, 0), eighthCubeAxises(2, 1), eighthCubeAxises(2, 2), tempEighthCubeRota | |
d3vrotate eighthCubeAxises(1, 0), eighthCubeAxises(1, 1), eighthCubeAxises(1, 2), eighthCubeAxises(1, 0), eighthCubeAxises(1, 1), eighthCubeAxises(1, 2), eighthCubeAxises(0, 0), eighthCubeAxises(0, 1), eighthCubeAxises(0, 2), tempEighthCubeRota | |
d3vrotate eighthCubeAxises(2, 0), eighthCubeAxises(2, 1), eighthCubeAxises(2, 2), eighthCubeAxises(2, 0), eighthCubeAxises(2, 1), eighthCubeAxises(2, 2), eighthCubeAxises(0, 0), eighthCubeAxises(0, 1), eighthCubeAxises(0, 2), tempEighthCubeRota | |
d3setlocal tempEighthCubeX, tempEighthCubeY, tempEighthCubeZ, eighthCubeAxises(0, 0), eighthCubeAxises(0, 1), eighthCubeAxises(0, 2), eighthCubeAxises(1, 0), eighthCubeAxises(1, 1), eighthCubeAxises(1, 2), eighthCubeAxises(2, 0), eighthCubeAxises(2, 1), eighthCubeAxises(2, 2) | |
color 250, 250, 250 | |
d3initlineto | |
d3lineto eighthCube(0, 0), eighthCube(1, 0), eighthCube(2, 0) | |
d3lineto eighthCube(0, 1), eighthCube(1, 1), eighthCube(2, 1) | |
d3lineto eighthCube(0, 2), eighthCube(1, 2), eighthCube(2, 2) | |
d3lineto eighthCube(0, 3), eighthCube(1, 3), eighthCube(2, 3) | |
d3lineto eighthCube(0, 0), eighthCube(1, 0), eighthCube(2, 0) | |
d3lineto eighthCube(0, 4), eighthCube(1, 4), eighthCube(2, 4) | |
d3lineto eighthCube(0, 5), eighthCube(1, 5), eighthCube(2, 5) | |
d3lineto eighthCube(0, 6), eighthCube(1, 6), eighthCube(2, 6) | |
d3lineto eighthCube(0, 7), eighthCube(1, 7), eighthCube(2, 7) | |
d3lineto eighthCube(0, 4), eighthCube(1, 4), eighthCube(2, 4) | |
d3initlineto | |
d3lineto eighthCube(0, 1), eighthCube(1, 1), eighthCube(2, 1) | |
d3lineto eighthCube(0, 5), eighthCube(1, 5), eighthCube(2, 5) | |
d3initlineto | |
d3lineto eighthCube(0, 2), eighthCube(1, 2), eighthCube(2, 2) | |
d3lineto eighthCube(0, 6), eighthCube(1, 6), eighthCube(2, 6) | |
d3initlineto | |
d3lineto eighthCube(0, 3), eighthCube(1, 3), eighthCube(2, 3) | |
d3lineto eighthCube(0, 7), eighthCube(1, 7), eighthCube(2, 7) | |
} else { | |
pos 0, 0 | |
gsel BUF_EIGHTH_0 | |
setease 15, 250, ease_quad_in | |
tempEighthEyeLineCol = geteasef(frame - 4360, 4489 - 4360) | |
color tempEighthEyeLineCol, tempEighthEyeLineCol, tempEighthEyeLineCol | |
boxf | |
//Eye | |
color 250, 250, 250 | |
circle SC_CENTER_X - 300.0, SC_CENTER_Y - 300.0, SC_CENTER_X + 300.0, SC_CENTER_Y + 300.0 | |
setease 1000.0, 250.0, ease_quartic_out | |
tempCircleRadius = geteasef(frame - 2093, 30) | |
setease 0.0, 256.0, ease_quartic_out | |
tempCircleHeight = geteasef(frame - 2093, 30) | |
setease tempCircleRadius, tempCircleRadius - tempCircleHeight / 2.0, ease_quartic_in | |
tempCircleDist = geteasef(frame - 2093, 30) | |
color tempEighthEyeLineCol, tempEighthEyeLineCol, tempEighthEyeLineCol | |
repeat 500 | |
tempCircleY = sin(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleRadius - tempCircleDist | |
if(0 <= tempCircleY) { | |
line cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleRadius + SC_CENTER_X, tempCircleY + SC_CENTER_Y | |
} else { | |
pos cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleRadius + SC_CENTER_X, tempCircleY + SC_CENTER_Y | |
} | |
loop | |
repeat 500 | |
tempCircleY = sin(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleRadius + tempCircleDist | |
if(tempCircleY <= 0) { | |
line cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleRadius + SC_CENTER_X, tempCircleY + SC_CENTER_Y | |
} else { | |
pos cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleRadius + SC_CENTER_X, tempCircleY + SC_CENTER_Y | |
} | |
loop | |
pos cos(0.0) * tempCircleCRadius + SC_CENTER_X, sin(0.0) * tempCircleCRadius + SC_CENTER_Y | |
repeat 500 | |
tempCircleY = sin(2.0 * M_PI / 100.0 * (cnt + 1)) * (tempCircleHeight / 2.0) | |
tempCircleCY = sin(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleCRadius | |
if(tempCircleCY < 0) { | |
if(tempCircleY - 9.5 <= tempCircleCY) { | |
line cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleCRadius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} else { | |
pos cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleCRadius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} | |
} else { | |
if(tempCircleCY <= tempCircleY + 9.5) { | |
line cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleCRadius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} else { | |
pos cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleCRadius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} | |
} | |
loop | |
pos cos(0.0) * tempCircleC2Radius + SC_CENTER_X, sin(0.0) * tempCircleC2Radius + SC_CENTER_Y | |
repeat 500 | |
tempCircleY = sin(2.0 * M_PI / 100.0 * (cnt + 1)) * (tempCircleHeight / 2.0) | |
tempCircleCY = sin(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleC2Radius | |
if(tempCircleCY < 0) { | |
if(tempCircleY - 9.5 <= tempCircleCY) { | |
line cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleC2Radius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} else { | |
pos cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleC2Radius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} | |
} else { | |
if(tempCircleCY <= tempCircleY + 9.5) { | |
line cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleC2Radius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} else { | |
pos cos(2.0 * M_PI / 100.0 * (cnt + 1)) * tempCircleC2Radius + SC_CENTER_X, tempCircleCY + SC_CENTER_Y | |
} | |
} | |
loop | |
//White out | |
gsel BUF_EIGHTH | |
color tempEighthEyeLineCol, tempEighthEyeLineCol, tempEighthEyeLineCol | |
boxf | |
setease -2.0, 2.0, ease_cubic_inout | ease_loop | |
tempEighthSwingX = geteasef(frame - 4292, 40) | |
setease SC_CENTER_X, 320, ease_cubic_in | |
tempEighthSizeX = geteasef(frame - 4292, 4544 - 4292) | |
setease SC_CENTER_Y, 180, ease_cubic_in | |
tempEighthSizeY = geteasef(frame - 4292, 4544 - 4292) | |
pos double((SC_SIZE_X - tempEighthSizeX) / 2) + tempEighthSwingX, double((SC_SIZE_Y - tempEighthSizeY) / 2) | |
gzoom tempEighthSizeX, tempEighthSizeY, BUF_EIGHTH_0, 0, 0, SC_SIZE_X, SC_SIZE_Y, 1 | |
//Info | |
if(4544 <= frame) { | |
gsel BUF_EIGHTH | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
pos 0, 0 | |
gcopy BUF_INFO | |
} | |
} | |
//Flashback | |
gsel BUF_EIGHTH | |
if((3811 <= frame && frame < 3861) || (3948 <= frame && frame < 3996) || (4086 <= frame && frame < 4128) || (4215 <= frame && frame < 4292)) { | |
if(frame \ 4 <= 1) { | |
if(eighthFlashbackBlack != 0) { | |
eighthFlashbackCnt++ | |
eighthFlashbackBlack = 0 | |
} | |
} else { | |
if(eighthFlashbackBlack != 1) { | |
eighthFlashbackCnt++ | |
eighthFlashbackBlack = 1 | |
} | |
} | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
pos 0, 0 | |
gcopy (eighthFlashbackCnt \ (BUF_FLASHBACK_E - BUF_FLASHBACK_B)) + BUF_FLASHBACK_B | |
} | |
gsel BUF_SCREEN | |
gmode 0, SC_SIZE_X, SC_SIZE_Y | |
gcopy BUF_EIGHTH | |
return |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment