0 Members and 1 Guest are viewing this topic.
You'll need the media files from the DBF bubbles Intro, you can get that from the main site.. This uses Blitz 3D;Code: [Select] ;; Dark Bit Factory Introid Coded By Shockwave; Music By R0LY; GFX By Shockwave; Meshes By Wham;;------------------------------------------------------------------------------------------------------- Const XRES = 800 Const YRES = 600 Const ESCAPE = 1 Graphics3D XRES,YRES,0,1 SetBuffer BackBuffer() Global CAM = CreateCamera(); CameraViewport CAM,0,150,XRES,450 CameraClsMode CAM,0,True Const file$ = "media/font.png"; Highlight Font filename. Const FWidth = 16; Width of letters Const FHeight = 16; Height Of letters Const Fchars = 60; Number of letters in font Global graphicfont graphic_text_setup(file$,fwidth,fheight,0,fchars) Global lggy=LoadImage ("media/lggy.png"); MaskImage lggy,4,2,4 Global AUDIO=PlayMusic("media/DistantCry.xm");--------------------------------------------------------------------; Message Writer Initialisation;;--------------------------------------------------------------------;--------------------------------------------------------------------; Set width and height of text to type (number of chars) ;;;-------------------------------------------------------------------- Global TW_LINE_W = 48; How wide? Global TW_LINE_H = 4; How Tall? Global TW_LETTERS = (TW_LINE_W * TW_LINE_H)+1; How many Letters? Global TW_ORIGIN_X; Floating X Origin For New Letters. Global TW_ORIGIN_Y; Floating Y Origin For New Letters. Global TW_ACTIVE = 0;--------------------------------------------------------------------; Set Spacing For Letters ;;;-------------------------------------------------------------------- Global TW_X_GAP = 16; X Spacing. Global TW_Y_GAP = 18; Y Spacing.;--------------------------------------------------------------------; Set delay before text clearence in seconds ;;;-------------------------------------------------------------------- Global TW_DELAY ; Time between screens once full. ;--------------------------------------------------------------------; Target X and Y positions (these are constant once defined) ;;;-------------------------------------------------------------------- Dim TW_GRID_X ( TW_LINE_W , TW_LINE_H ); X target Dim TW_GRID_Y ( TW_LINE_W , TW_LINE_H ); Y target;--------------------------------------------------------------------; Control Arrays For Letters (reset each frame) ;;;-------------------------------------------------------------------- Dim TW_X_POS# ( TW_LINE_W , TW_LINE_H ); X current Dim TW_Y_POS# ( TW_LINE_W , TW_LINE_H ); Y current Dim TW_ASCII ( TW_LINE_W , TW_LINE_H ); Letter Reference Dim TW_STATE ( TW_LINE_W , TW_LINE_H ); (0:off) (1:moving) (2:in position) (3:clearing) Dim TW_GRAVITY# ( TW_LINE_W , TW_LINE_H ) Dim TW_EXPLODE# ( TW_LINE_W , TW_LINE_H ) ;--------------------------------------------------------------------; Prepare Target Positions ;;;-------------------------------------------------------------------- INIT_TW() Global TW_GA#=0 Global TW$="" Global TW_READ$ Global TP=1 Restore typetext Repeat Read TW_READ$ If TW_READ$ <> "END-TEXT" TW$=TW$+TW_READ$ Until TW_READ$="END-TEXT";--------------------------------------------------------------------; Reset Current Letters ;;;-------------------------------------------------------------------- RESET_TW() ;-------------------------------------------------------------------------------------------------------; Environment Map;------------------------------------------------------------------------------------------------------- Global EMSM = LoadTexture("media/TEXT1.JPG",64) Global ENVM = LoadMesh("media/sabre.3DS") FlipMesh ENVM PositionEntity ENVM,0,0,0 EntityAlpha ENVM,.05 EntityBlend envm,1 EntityTexture ENVM,EMSM EntityShininess ENVM,1 ScaleEntity ENVM,10,10,10;-------------------------------------------------------------------------------------------------------; Light Variables;;------------------------------------------------------------------------------------------------------- Global AR=0; Ambient red Global AG=0; Ambient Green Global AB=0; Ambient Blue Global LR=0; Light Red Global LG=0; Light Green Global LB=0; Light Blue Global LIGHT1 = CreateLight(1) PositionEntity CAM,0,0,0 Global LIGHT2 = CreateLight(1) PositionEntity CAM,0,0,0 Global GA1#,GA2#,GA3#;-------------------------------------------------------------------------------------------------------; Motion Blurr;;------------------------------------------------------------------------------------------------------- Global BLUR = CreateCube() ScaleEntity BLUR,50,50,2 FlipMesh blur EntityAlpha blur,.2 EntityBlend blur,1;-------------------------------------------------------------------------------------------------------; Bubbles;;------------------------------------------------------------------------------------------------------- Global bubs = 200 Dim BBE (BUBS) Dim BBE2(BUBS) Dim BBX#(BUBS) Dim BBY#(BUBS) Dim BBZ#(BUBS) BBE (1)=LoadSprite ("media/BUB.PNG",4) BBE2(1)=LoadSprite ("media/BUB2.PNG",4) BBX#(1) = Rnd(-15,15) BBY#(1) = Rnd(-20,20) BBZ#(1) = Rnd( 1,12) EntityAlpha BBE(1),.1 EntityBlend BBE(1),3 SpriteViewMode BBE(1),2 EntityAutoFade BBE(1),5,50 EntityAlpha BBE2(1),.2 EntityBlend BBE2(1),1 SpriteViewMode BBE2(1),2 EntityAutoFade BBE2(1),5,50 For a = 2 To bubs BBE(A) = CopyEntity (BBE (1)) BBE2(A)= CopyEntity (BBE2(1)) BBX#(A) = Rnd(-20,20) BBY#(A) = Rnd(-20,20) BBZ#(A) = Rnd( 1,12) Next ;-------------------------------------------------------------------------------------------------------; Main Loop;;------------------------------------------------------------------------------------------------------- PositionEntity cam,0,0,-5While Not KeyDown(ESCAPE) GA1#=GA1#+2.5 GA2#=GA2#+1.2 GA3#=GA3#-1.3 LIGHTING() ROTATE_ENVM() BUBBLES() UpdateWorld() RenderWorld() HYPER_TYPER() TWODEENESS() If KeyDown(2) SaveBuffer (BackBuffer(),"bubshot.bmp") FlipWendEndFunction TWODEENESS()DrawImage lggy,140+5*Sin(GA1#*7),5*Sin(GA1#*5)End FunctionFunction BUBBLES() For A=1 To bubs PositionEntity BBE (A),BBX#(A),BBY#(A),BBZ#(A) PositionEntity BBE2(A),BBX#(A),BBY#(A),BBZ#(A)-.002 bby#(a)=bby#(a)+.05+(.1*Sin(GA1#+(a Shl 2))) bbx#(a)=bbx#(a)+(.07*Sin(GA2#+(a Shl 2))) bbz#(a)=bbz#(a)+(.09*Sin(GA3#+(a Shl 10))) If bby#(a)>20 bby#(a)=-20 TurnEntity BBE(a),0,0,(2*Sin(GA2#+(a Shl 2))) NextEnd FunctionFunction LIGHTING() If AR<10 AR=AR+1 If AG<20 AG=AG+1 If AB<50 AB=AB+1 If LR<10 LR=LR+1 If LG<20 LG=LG+1 If LB<30 LB=LB+1 AmbientLight AR,AG,AB LightColor LIGHT1,LR/2,LG/2,LB/2 LightColor LIGHT2,LR/3,LG/2,LB TurnEntity light1,1,1,3 TurnEntity light2,5,1,2End FunctionFunction ROTATE_ENVM() TurnEntity ENVM,.1,.3*Sin(GA1#),1 ScaleEntity ENVM,.1+.01*Sin(GA1#),.1+.05*Cos(GA2#),.1+.05*Cos(GA2#)End Function;-------------------------------------------------------------------------------------------; Do The Text Typer ;;;-------------------------------------------------------------------------------------------Function HYPER_TYPER() Local POSFLAG=0 TW_GA# = TW_GA# + 4.5 TW_ORIGIN_X = (XRES/2)+((XRES/2)*Sin(TW_GA#/1.3)) TW_ORIGIN_Y = (YRES/2)+((YRES/4)*Cos(TW_GA#/1.2)) Local LOOPX,LOOPY Local DRAWCOUNT = 0 For LOOPY = 1 To TW_LINE_H For LOOPX = 1 To TW_LINE_W DRAWCOUNT=DRAWCOUNT+1;------------------------------------------------------------------------------------------- If TW_STATE( LOOPX, LOOPY ) < 2 POSFLAG = 1;-------------------------------------------------------------------------------------------If DRAWCOUNT<TW_ACTIVE Then;------------------------------------------------------------------------------------------- If TW_STATE ( LOOPX , LOOPY ) = 0 Then;------------------------------------------------------------------------------------------- TW_STATE ( LOOPX , LOOPY ) = 1 TW_X_POS# ( LOOPX , LOOPY ) = Float (TW_ORIGIN_X) TW_Y_POS# ( LOOPX , LOOPY ) = Float (TW_ORIGIN_Y);------------------------------------------------------------------------------------------- End If If TW_STATE (LOOPX , LOOPY ) > 0 And TW_ASCII(LOOPX , LOOPY)>0 Then DrawImage GRAPHICFONT,TW_X_POS# (LOOPX , LOOPY ), TW_Y_POS# (LOOPX , LOOPY ) , TW_ASCII (LOOPX , LOOPY) End If;------------------------------------------------------------------------------------------- If TW_STATE( LOOPX, LOOPY ) =1 Then;------------------------------------------------------------------------------------------- If (Int(TW_X_POS#( LOOPX,LOOPY))) <> TW_GRID_X( LOOPX,LOOPY ) Then TW_X_POS#( LOOPX,LOOPY) = TW_X_POS#( LOOPX,LOOPY) - ((TW_X_POS#( LOOPX,LOOPY) - TW_GRID_X (LOOPX,LOOPY))/20 ) End If;------------------------------------------------------------------------------------------- If (Int(TW_Y_POS#( LOOPX,LOOPY))) <> TW_GRID_Y( LOOPX,LOOPY ) Then TW_Y_POS#( LOOPX,LOOPY) = TW_Y_POS#( LOOPX,LOOPY) - ((TW_Y_POS#( LOOPX,LOOPY) - TW_GRID_Y (LOOPX,LOOPY))/20 ) End If;------------------------------------------------------------------------------------------- If (Int(TW_X_POS(LOOPX,LOOPY))=TW_GRID_X( LOOPX, LOOPY )) And (Int(TW_Y_POS(LOOPX,LOOPY))=TW_GRID_Y( LOOPX, LOOPY )) Then TW_STATE( LOOPX, LOOPY ) =2 End If;------------------------------------------------------------------------------------------- End If;-------------------------------------------------------------------------------------------End If;------------------------------------------------------------------------------------------- If ((POSFLAG=0) And (TW_DELAY>0) And (TW_ACTIVE >= TW_LETTERS) ) TW_DELAY=TW_DELAY-1 If ((TW_DELAY<=0) And (POSFLAG = 0) ) Then If TW_STATE (LOOPX , LOOPY ) = 2 TW_STATE (LOOPX , LOOPY) = 3 TW_Y_POS ( LOOPX , LOOPY )= TW_Y_POS (LOOPX , LOOPY)+ TW_GRAVITY ( LOOPX,LOOPY ) TW_X_POS ( LOOPX , LOOPY )= TW_X_POS (LOOPX , LOOPY)+ TW_EXPLODE ( LOOPX,LOOPY )If TW_X_POS( LOOPX , LOOPY )<0 Or TW_X_POS (LOOPX, LOOPY ) >XRES-16 And TW_Y_POS (LOOPX, LOOPY ) <YRES-16 Then TW_EXPLODE (LOOPX,LOOPY ) = - TW_EXPLODE (LOOPX, LOOPY) End IfTW_GRAVITY ( LOOPX,LOOPY ) = TW_GRAVITY ( LOOPX,LOOPY ) + .2End If Next Next If TW_ACTIVE < TW_LETTERS TW_ACTIVE=TW_ACTIVE+1 POSFLAG = 0If TW_DELAY<=0 Then For LOOPY = 1 To TW_LINE_H For LOOPX = 1 To TW_LINE_W If TW_Y_POS ( LOOPX , LOOPY ) < YRES POSFLAG=1 Next Next If posflag=0 Then RESET_TW() End IfEnd IfEnd FunctionFunction RESET_TW() TW_ACTIVE = 0 TW_DELAY = 100000 Local LOOPX,LOOPY For LOOPY = 1 To TW_LINE_H For LOOPX = 1 To TW_LINE_W TW_STATE ( LOOPX,LOOPY ) = 0 TW_ASCII ( LOOPX,LOOPY ) = (Asc( Mid$ (TW$,TP,1))) - 32 TW_GRAVITY( LOOPX,LOOPY ) = Rnd ( -8,2 ) TW_EXPLODE( LOOPX,LOOPY ) = Rnd ( -6,6 ) TP=TP+1 If TP>Len(TW$) TP=1 Next Next TW_ACTIVE = 0 End Function;-------------------------------------------------------------------------------------------; Calculate Target Positions For Letters ;;;-------------------------------------------------------------------------------------------Function INIT_TW();--------------------------------------------------------------------; Loop Counters ;;;-------------------------------------------------------------------- Local LOOPX,LOOPY;--------------------------------------------------------------------; Change below to set starting X+Y (top left) ;;;-------------------------------------------------------------------- Local GX_RESET = 16 ; Left Start Local GY_RESET = 290; Top Start;--------------------------------------------------------------------; Grid Spacing Variables ;;;-------------------------------------------------------------------- Local GX_NOW = GX_RESET Local GY_NOW = GY_RESET;------------------------------------------------------------------------------------------- For LOOPY = 1 To TW_LINE_H GX_NOW = GX_RESET;------------------------------------------------------------------------------------------- For LOOPX = 1 To TW_LINE_W TW_GRID_X( LOOPX, LOOPY ) = GX_NOW TW_GRID_Y( LOOPX, LOOPY ) = GY_NOW GX_NOW = GX_NOW + TW_X_GAP Next;------------------------------------------------------------------------------------------- GY_NOW = GY_NOW + TW_Y_GAP Next;-------------------------------------------------------------------------------------------End FunctionFunction graphic_text_setup(font$,gtwidth,gtheight,gtstart,gtlength)graphicfont=LoadAnimImage (font$,gtwidth,gtheight,gtstart,gtlength)MaskImage graphicfont,4,2,4End Function.typetext;-------------------------------------------------------------------------------------------; Page 0;;;-------------------------------------------------------------------------------------------Data " "Data " DARK BIT FACTORY "Data " PRESENT BUBBLES INTRO! "Data " ";-------------------------------------------------------------------------------------------; Page 1;;;-------------------------------------------------------------------------------------------Data "------------------------------------------------"Data "- BECAUSE BUBBLES SEEM TO BE IN VOGUE WE MADE -"Data "- SOME OF OUR OWN!! -"Data "------------------------------------------------";-------------------------------------------------------------------------------------------; Page 2;;;-------------------------------------------------------------------------------------------Data " CODING AND SOME GFX BY SHOCKWAVE / DBF "Data " OTHER GFX BY WHAM / DBF "Data " MUSIC BY R0LY / DBF "Data " RELEASED IN MARCH 2005 JUST FOR FUN! ";-------------------------------------------------------------------------------------------; Page 3;;;-------------------------------------------------------------------------------------------Data " IF YOU WANT TO CONTACT US FOR ANYTHING GO HERE "Data " "Data " "Data " WWW.DBFINTERACTIVE.COM ";-------------------------------------------------------------------------------------------; Page 3;;;-------------------------------------------------------------------------------------------Data " DBF ARE: "Data " SHOCKWAVE (CODE/GFX) , WHAM (GFX/CODE) "Data " R0LY (MUSIC) , TETRA (CODE) ,TETRA (CODE) "Data " BLITZ AMATEUR (CODE) , THYGRION (CODE) ";-------------------------------------------------------------------------------------------; Page 4a;;;-------------------------------------------------------------------------------------------Data " GREETINGS TO ALL OUR FRIENDS, INCLUDING "Data " JIM SHAW, RBRAZ/GVY, CLYDE / GVY , CODEMAN/ESD "Data "FRYER, LONESTAR/HUGI, YALOOPY, NINO, GRIMREAPER"Data " SPECIS, KRYLAR, ROBLEONG, BLUNDER, FASH/GVY ";-------------------------------------------------------------------------------------------; Page 4b;;;-------------------------------------------------------------------------------------------Data " AND EVERYONE ELSE WE FORGOT! PRESS ESCAPE TO "Data " EXIT! HOPE YOU ENJOYED IT. "Data " "Data " SHOCKWAVE / DBF 2005 ";Data "END-TEXT"
;; Dark Bit Factory Introid Coded By Shockwave; Music By R0LY; GFX By Shockwave; Meshes By Wham;;------------------------------------------------------------------------------------------------------- Const XRES = 800 Const YRES = 600 Const ESCAPE = 1 Graphics3D XRES,YRES,0,1 SetBuffer BackBuffer() Global CAM = CreateCamera(); CameraViewport CAM,0,150,XRES,450 CameraClsMode CAM,0,True Const file$ = "media/font.png"; Highlight Font filename. Const FWidth = 16; Width of letters Const FHeight = 16; Height Of letters Const Fchars = 60; Number of letters in font Global graphicfont graphic_text_setup(file$,fwidth,fheight,0,fchars) Global lggy=LoadImage ("media/lggy.png"); MaskImage lggy,4,2,4 Global AUDIO=PlayMusic("media/DistantCry.xm");--------------------------------------------------------------------; Message Writer Initialisation;;--------------------------------------------------------------------;--------------------------------------------------------------------; Set width and height of text to type (number of chars) ;;;-------------------------------------------------------------------- Global TW_LINE_W = 48; How wide? Global TW_LINE_H = 4; How Tall? Global TW_LETTERS = (TW_LINE_W * TW_LINE_H)+1; How many Letters? Global TW_ORIGIN_X; Floating X Origin For New Letters. Global TW_ORIGIN_Y; Floating Y Origin For New Letters. Global TW_ACTIVE = 0;--------------------------------------------------------------------; Set Spacing For Letters ;;;-------------------------------------------------------------------- Global TW_X_GAP = 16; X Spacing. Global TW_Y_GAP = 18; Y Spacing.;--------------------------------------------------------------------; Set delay before text clearence in seconds ;;;-------------------------------------------------------------------- Global TW_DELAY ; Time between screens once full. ;--------------------------------------------------------------------; Target X and Y positions (these are constant once defined) ;;;-------------------------------------------------------------------- Dim TW_GRID_X ( TW_LINE_W , TW_LINE_H ); X target Dim TW_GRID_Y ( TW_LINE_W , TW_LINE_H ); Y target;--------------------------------------------------------------------; Control Arrays For Letters (reset each frame) ;;;-------------------------------------------------------------------- Dim TW_X_POS# ( TW_LINE_W , TW_LINE_H ); X current Dim TW_Y_POS# ( TW_LINE_W , TW_LINE_H ); Y current Dim TW_ASCII ( TW_LINE_W , TW_LINE_H ); Letter Reference Dim TW_STATE ( TW_LINE_W , TW_LINE_H ); (0:off) (1:moving) (2:in position) (3:clearing) Dim TW_GRAVITY# ( TW_LINE_W , TW_LINE_H ) Dim TW_EXPLODE# ( TW_LINE_W , TW_LINE_H ) ;--------------------------------------------------------------------; Prepare Target Positions ;;;-------------------------------------------------------------------- INIT_TW() Global TW_GA#=0 Global TW$="" Global TW_READ$ Global TP=1 Restore typetext Repeat Read TW_READ$ If TW_READ$ <> "END-TEXT" TW$=TW$+TW_READ$ Until TW_READ$="END-TEXT";--------------------------------------------------------------------; Reset Current Letters ;;;-------------------------------------------------------------------- RESET_TW() ;-------------------------------------------------------------------------------------------------------; Environment Map;------------------------------------------------------------------------------------------------------- Global EMSM = LoadTexture("media/TEXT1.JPG",64) Global ENVM = LoadMesh("media/sabre.3DS") FlipMesh ENVM PositionEntity ENVM,0,0,0 EntityAlpha ENVM,.05 EntityBlend envm,1 EntityTexture ENVM,EMSM EntityShininess ENVM,1 ScaleEntity ENVM,10,10,10;-------------------------------------------------------------------------------------------------------; Light Variables;;------------------------------------------------------------------------------------------------------- Global AR=0; Ambient red Global AG=0; Ambient Green Global AB=0; Ambient Blue Global LR=0; Light Red Global LG=0; Light Green Global LB=0; Light Blue Global LIGHT1 = CreateLight(1) PositionEntity CAM,0,0,0 Global LIGHT2 = CreateLight(1) PositionEntity CAM,0,0,0 Global GA1#,GA2#,GA3#;-------------------------------------------------------------------------------------------------------; Motion Blurr;;------------------------------------------------------------------------------------------------------- Global BLUR = CreateCube() ScaleEntity BLUR,50,50,2 FlipMesh blur EntityAlpha blur,.2 EntityBlend blur,1;-------------------------------------------------------------------------------------------------------; Bubbles;;------------------------------------------------------------------------------------------------------- Global bubs = 200 Dim BBE (BUBS) Dim BBE2(BUBS) Dim BBX#(BUBS) Dim BBY#(BUBS) Dim BBZ#(BUBS) BBE (1)=LoadSprite ("media/BUB.PNG",4) BBE2(1)=LoadSprite ("media/BUB2.PNG",4) BBX#(1) = Rnd(-15,15) BBY#(1) = Rnd(-20,20) BBZ#(1) = Rnd( 1,12) EntityAlpha BBE(1),.1 EntityBlend BBE(1),3 SpriteViewMode BBE(1),2 EntityAutoFade BBE(1),5,50 EntityAlpha BBE2(1),.2 EntityBlend BBE2(1),1 SpriteViewMode BBE2(1),2 EntityAutoFade BBE2(1),5,50 For a = 2 To bubs BBE(A) = CopyEntity (BBE (1)) BBE2(A)= CopyEntity (BBE2(1)) BBX#(A) = Rnd(-20,20) BBY#(A) = Rnd(-20,20) BBZ#(A) = Rnd( 1,12) Next ;-------------------------------------------------------------------------------------------------------; Main Loop;;------------------------------------------------------------------------------------------------------- PositionEntity cam,0,0,-5While Not KeyDown(ESCAPE) GA1#=GA1#+2.5 GA2#=GA2#+1.2 GA3#=GA3#-1.3 LIGHTING() ROTATE_ENVM() BUBBLES() UpdateWorld() RenderWorld() HYPER_TYPER() TWODEENESS() If KeyDown(2) SaveBuffer (BackBuffer(),"bubshot.bmp") FlipWendEndFunction TWODEENESS()DrawImage lggy,140+5*Sin(GA1#*7),5*Sin(GA1#*5)End FunctionFunction BUBBLES() For A=1 To bubs PositionEntity BBE (A),BBX#(A),BBY#(A),BBZ#(A) PositionEntity BBE2(A),BBX#(A),BBY#(A),BBZ#(A)-.002 bby#(a)=bby#(a)+.05+(.1*Sin(GA1#+(a Shl 2))) bbx#(a)=bbx#(a)+(.07*Sin(GA2#+(a Shl 2))) bbz#(a)=bbz#(a)+(.09*Sin(GA3#+(a Shl 10))) If bby#(a)>20 bby#(a)=-20 TurnEntity BBE(a),0,0,(2*Sin(GA2#+(a Shl 2))) NextEnd FunctionFunction LIGHTING() If AR<10 AR=AR+1 If AG<20 AG=AG+1 If AB<50 AB=AB+1 If LR<10 LR=LR+1 If LG<20 LG=LG+1 If LB<30 LB=LB+1 AmbientLight AR,AG,AB LightColor LIGHT1,LR/2,LG/2,LB/2 LightColor LIGHT2,LR/3,LG/2,LB TurnEntity light1,1,1,3 TurnEntity light2,5,1,2End FunctionFunction ROTATE_ENVM() TurnEntity ENVM,.1,.3*Sin(GA1#),1 ScaleEntity ENVM,.1+.01*Sin(GA1#),.1+.05*Cos(GA2#),.1+.05*Cos(GA2#)End Function;-------------------------------------------------------------------------------------------; Do The Text Typer ;;;-------------------------------------------------------------------------------------------Function HYPER_TYPER() Local POSFLAG=0 TW_GA# = TW_GA# + 4.5 TW_ORIGIN_X = (XRES/2)+((XRES/2)*Sin(TW_GA#/1.3)) TW_ORIGIN_Y = (YRES/2)+((YRES/4)*Cos(TW_GA#/1.2)) Local LOOPX,LOOPY Local DRAWCOUNT = 0 For LOOPY = 1 To TW_LINE_H For LOOPX = 1 To TW_LINE_W DRAWCOUNT=DRAWCOUNT+1;------------------------------------------------------------------------------------------- If TW_STATE( LOOPX, LOOPY ) < 2 POSFLAG = 1;-------------------------------------------------------------------------------------------If DRAWCOUNT<TW_ACTIVE Then;------------------------------------------------------------------------------------------- If TW_STATE ( LOOPX , LOOPY ) = 0 Then;------------------------------------------------------------------------------------------- TW_STATE ( LOOPX , LOOPY ) = 1 TW_X_POS# ( LOOPX , LOOPY ) = Float (TW_ORIGIN_X) TW_Y_POS# ( LOOPX , LOOPY ) = Float (TW_ORIGIN_Y);------------------------------------------------------------------------------------------- End If If TW_STATE (LOOPX , LOOPY ) > 0 And TW_ASCII(LOOPX , LOOPY)>0 Then DrawImage GRAPHICFONT,TW_X_POS# (LOOPX , LOOPY ), TW_Y_POS# (LOOPX , LOOPY ) , TW_ASCII (LOOPX , LOOPY) End If;------------------------------------------------------------------------------------------- If TW_STATE( LOOPX, LOOPY ) =1 Then;------------------------------------------------------------------------------------------- If (Int(TW_X_POS#( LOOPX,LOOPY))) <> TW_GRID_X( LOOPX,LOOPY ) Then TW_X_POS#( LOOPX,LOOPY) = TW_X_POS#( LOOPX,LOOPY) - ((TW_X_POS#( LOOPX,LOOPY) - TW_GRID_X (LOOPX,LOOPY))/20 ) End If;------------------------------------------------------------------------------------------- If (Int(TW_Y_POS#( LOOPX,LOOPY))) <> TW_GRID_Y( LOOPX,LOOPY ) Then TW_Y_POS#( LOOPX,LOOPY) = TW_Y_POS#( LOOPX,LOOPY) - ((TW_Y_POS#( LOOPX,LOOPY) - TW_GRID_Y (LOOPX,LOOPY))/20 ) End If;------------------------------------------------------------------------------------------- If (Int(TW_X_POS(LOOPX,LOOPY))=TW_GRID_X( LOOPX, LOOPY )) And (Int(TW_Y_POS(LOOPX,LOOPY))=TW_GRID_Y( LOOPX, LOOPY )) Then TW_STATE( LOOPX, LOOPY ) =2 End If;------------------------------------------------------------------------------------------- End If;-------------------------------------------------------------------------------------------End If;------------------------------------------------------------------------------------------- If ((POSFLAG=0) And (TW_DELAY>0) And (TW_ACTIVE >= TW_LETTERS) ) TW_DELAY=TW_DELAY-1 If ((TW_DELAY<=0) And (POSFLAG = 0) ) Then If TW_STATE (LOOPX , LOOPY ) = 2 TW_STATE (LOOPX , LOOPY) = 3 TW_Y_POS ( LOOPX , LOOPY )= TW_Y_POS (LOOPX , LOOPY)+ TW_GRAVITY ( LOOPX,LOOPY ) TW_X_POS ( LOOPX , LOOPY )= TW_X_POS (LOOPX , LOOPY)+ TW_EXPLODE ( LOOPX,LOOPY )If TW_X_POS( LOOPX , LOOPY )<0 Or TW_X_POS (LOOPX, LOOPY ) >XRES-16 And TW_Y_POS (LOOPX, LOOPY ) <YRES-16 Then TW_EXPLODE (LOOPX,LOOPY ) = - TW_EXPLODE (LOOPX, LOOPY) End IfTW_GRAVITY ( LOOPX,LOOPY ) = TW_GRAVITY ( LOOPX,LOOPY ) + .2End If Next Next If TW_ACTIVE < TW_LETTERS TW_ACTIVE=TW_ACTIVE+1 POSFLAG = 0If TW_DELAY<=0 Then For LOOPY = 1 To TW_LINE_H For LOOPX = 1 To TW_LINE_W If TW_Y_POS ( LOOPX , LOOPY ) < YRES POSFLAG=1 Next Next If posflag=0 Then RESET_TW() End IfEnd IfEnd FunctionFunction RESET_TW() TW_ACTIVE = 0 TW_DELAY = 100000 Local LOOPX,LOOPY For LOOPY = 1 To TW_LINE_H For LOOPX = 1 To TW_LINE_W TW_STATE ( LOOPX,LOOPY ) = 0 TW_ASCII ( LOOPX,LOOPY ) = (Asc( Mid$ (TW$,TP,1))) - 32 TW_GRAVITY( LOOPX,LOOPY ) = Rnd ( -8,2 ) TW_EXPLODE( LOOPX,LOOPY ) = Rnd ( -6,6 ) TP=TP+1 If TP>Len(TW$) TP=1 Next Next TW_ACTIVE = 0 End Function;-------------------------------------------------------------------------------------------; Calculate Target Positions For Letters ;;;-------------------------------------------------------------------------------------------Function INIT_TW();--------------------------------------------------------------------; Loop Counters ;;;-------------------------------------------------------------------- Local LOOPX,LOOPY;--------------------------------------------------------------------; Change below to set starting X+Y (top left) ;;;-------------------------------------------------------------------- Local GX_RESET = 16 ; Left Start Local GY_RESET = 290; Top Start;--------------------------------------------------------------------; Grid Spacing Variables ;;;-------------------------------------------------------------------- Local GX_NOW = GX_RESET Local GY_NOW = GY_RESET;------------------------------------------------------------------------------------------- For LOOPY = 1 To TW_LINE_H GX_NOW = GX_RESET;------------------------------------------------------------------------------------------- For LOOPX = 1 To TW_LINE_W TW_GRID_X( LOOPX, LOOPY ) = GX_NOW TW_GRID_Y( LOOPX, LOOPY ) = GY_NOW GX_NOW = GX_NOW + TW_X_GAP Next;------------------------------------------------------------------------------------------- GY_NOW = GY_NOW + TW_Y_GAP Next;-------------------------------------------------------------------------------------------End FunctionFunction graphic_text_setup(font$,gtwidth,gtheight,gtstart,gtlength)graphicfont=LoadAnimImage (font$,gtwidth,gtheight,gtstart,gtlength)MaskImage graphicfont,4,2,4End Function.typetext;-------------------------------------------------------------------------------------------; Page 0;;;-------------------------------------------------------------------------------------------Data " "Data " DARK BIT FACTORY "Data " PRESENT BUBBLES INTRO! "Data " ";-------------------------------------------------------------------------------------------; Page 1;;;-------------------------------------------------------------------------------------------Data "------------------------------------------------"Data "- BECAUSE BUBBLES SEEM TO BE IN VOGUE WE MADE -"Data "- SOME OF OUR OWN!! -"Data "------------------------------------------------";-------------------------------------------------------------------------------------------; Page 2;;;-------------------------------------------------------------------------------------------Data " CODING AND SOME GFX BY SHOCKWAVE / DBF "Data " OTHER GFX BY WHAM / DBF "Data " MUSIC BY R0LY / DBF "Data " RELEASED IN MARCH 2005 JUST FOR FUN! ";-------------------------------------------------------------------------------------------; Page 3;;;-------------------------------------------------------------------------------------------Data " IF YOU WANT TO CONTACT US FOR ANYTHING GO HERE "Data " "Data " "Data " WWW.DBFINTERACTIVE.COM ";-------------------------------------------------------------------------------------------; Page 3;;;-------------------------------------------------------------------------------------------Data " DBF ARE: "Data " SHOCKWAVE (CODE/GFX) , WHAM (GFX/CODE) "Data " R0LY (MUSIC) , TETRA (CODE) ,TETRA (CODE) "Data " BLITZ AMATEUR (CODE) , THYGRION (CODE) ";-------------------------------------------------------------------------------------------; Page 4a;;;-------------------------------------------------------------------------------------------Data " GREETINGS TO ALL OUR FRIENDS, INCLUDING "Data " JIM SHAW, RBRAZ/GVY, CLYDE / GVY , CODEMAN/ESD "Data "FRYER, LONESTAR/HUGI, YALOOPY, NINO, GRIMREAPER"Data " SPECIS, KRYLAR, ROBLEONG, BLUNDER, FASH/GVY ";-------------------------------------------------------------------------------------------; Page 4b;;;-------------------------------------------------------------------------------------------Data " AND EVERYONE ELSE WE FORGOT! PRESS ESCAPE TO "Data " EXIT! HOPE YOU ENJOYED IT. "Data " "Data " SHOCKWAVE / DBF 2005 ";Data "END-TEXT"