Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #===============================================================================
- # EBDX Trainer 1
- #===============================================================================
- class EBDXTrainer1
- def initialize(numframes)
- @numframes = numframes
- @duration = numframes
- @disposed = false
- @width = Graphics.width
- @height = Graphics.height
- @viewport = Viewport.new(0,0,@width,@height)
- @viewport.z = 99999
- if @numframes<=0
- @disposed = true
- return
- end
- # black background
- @black = Sprite.new(@viewport)
- @black.bitmap = Bitmap.new(@viewport.width,@viewport.height)
- @black.bitmap.fill_rect(0,0,@viewport.width,@viewport.height,Color.black)
- @black.visible = false
- # load ball sprite
- @ball = Sprite.new(@viewport)
- @ball.bitmap = pbBitmap("Graphics/Transitions/Common/ball")
- @ball.center!(true)
- @ball.zoom_x = 0
- @ball.zoom_y = 0
- end
- def disposed?; @disposed; end
- def dispose
- return if disposed?
- @ball.dispose if @ball
- @bmp.dispose if @bmp
- @black.dispose if @black
- @field1.dispose if @field1
- @field2.dispose if @field2
- @viewport.dispose if @viewport
- @disposed = true
- end
- def update
- return if disposed?
- if @duration==0
- dispose
- else
- # spin ball into place
- if @ball.angle < 360
- @ball.angle += 22.5
- @ball.zoom_x += 0.0625
- @ball.zoom_y += 0.0625
- else
- # take screenshot
- @bmp = Graphics.snap_to_bitmap
- # split screenshot into two halves
- @field1 = Sprite.new(@viewport)
- @field1.bitmap = Bitmap.new(@viewport.width, @viewport.height)
- @field1.bitmap.blt(0, 0, @bmp, @viewport.rect)
- @field1.src_rect.height = @viewport.height/2
- @field2 = Sprite.new(@viewport)
- @field2.bitmap = @field1.bitmap.clone
- @field2.y = @viewport.height/2
- @field2.src_rect.height = @viewport.height/2
- @field2.src_rect.y = @viewport.height/2
- # hide ball sprite
- @ball.visible = false
- # pbWait(8)
- @black.visible = true
- @field1.visible = true
- @field2.visible = true
- # move halves off screen
- if @field1.x< @viewport.width
- @field1.x -= @viewport.width/16
- @field2.x += @viewport.width/16
- else
- dispose
- end
- end
- end
- end
- end
- #===============================================================================
- # EBDX Trainer 2
- #===============================================================================
- class EBDXTrainer2
- def initialize(numframes)
- @numframes = numframes
- @duration = numframes
- @disposed = false
- @width = Graphics.width
- @height = Graphics.height
- @viewport = Viewport.new(0,0,@width,@height)
- @viewport.z = 99999
- if @numframes<=0
- @disposed = true
- return
- end
- # take screenshot and draw black background
- @bmp = Graphics.snap_to_bitmap
- @black = Sprite.new(@viewport)
- @black.bitmap = Bitmap.new(@viewport.width,@viewport.height)
- @black.bitmap.fill_rect(0,0,@viewport.width,@viewport.height,Color.black)
- # split screenshot into two halves
- @field1 = Sprite.new(@viewport)
- @field1.bitmap = Bitmap.new(@viewport.width, @viewport.height)
- @field1.bitmap.blt(0, 0, @bmp, @viewport.rect)
- @field1.src_rect.height = @viewport.height/2
- @field2 = Sprite.new(@viewport)
- @field2.bitmap = @field1.bitmap.clone
- @field2.y = @viewport.height/2
- @field2.src_rect.height = @viewport.height/2
- @field2.src_rect.y = @viewport.height/2
- # draw ballsprites for transition
- @ball1 = Sprite.new(@viewport)
- @ball1.bitmap = pbBitmap("Graphics/Transitions/Common/ball")
- @ball1.center!
- @ball1.x = @viewport.width + @ball1.ox
- @ball1.y = @viewport.height/4
- @ball1.zoom_x = 0.5
- @ball1.zoom_y = 0.5
- @ball2 = Sprite.new(@viewport)
- @ball2.bitmap = pbBitmap("Graphics/Transitions/Common/ball")
- @ball2.center!
- @ball2.y = (@viewport.height/4)*3
- @ball2.x = -@ball2.ox
- @ball2.zoom_x = 0.5
- @ball2.zoom_y = 0.5
- end
- def disposed?; @disposed; end
- def dispose
- return if disposed?
- @ball1.dispose if @ball1
- @ball2.dispose if @ball2
- @field1.dispose if @field1
- @field2.dispose if @field2
- @viewport.dispose if @viewport
- @disposed = true
- end
- def update
- return if disposed?
- if @duration==0
- dispose
- else
- # move ballsprites on screen
- if @ball2.x < 2 * @viewport.width
- # 16.times do
- @ball1.x -= (@viewport.width/8)
- @ball2.x += (@viewport.width/8)
- #pbWait(1)
- else
- # move screenshots
- if @field2.y < @viewport.height
- # 32.times do
- @field1.x -= (@viewport.width/16)
- @field1.y -= (@viewport.height/32)
- @field2.x += (@viewport.width/16)
- @field2.y += (@viewport.height/32)
- #pbWait(1)
- else
- @viewport.color = Color.new(0,0,0,255)
- dispose
- end
- end
- end
- end
- end
- #===============================================================================
- # EBDX Trainer 3
- #===============================================================================
- class EBDXTrainer3
- def initialize(numframes)
- @numframes = numframes
- @duration = numframes
- @disposed = false
- @width = Graphics.width
- @height = Graphics.height
- @viewport = Viewport.new(0,0,@width,@height)
- @viewport.z = 99999
- if @numframes<=0
- @disposed = true
- return
- end
- # hash to store all sprites
- @balls = {}
- @rects = {}
- # creates blank ball bitmap
- @ball = Bitmap.new(@viewport.height/6,@viewport.height/6)
- @bmp = pbBitmap("Graphics/Transitions/Common/ball")
- @ball.stretch_blt(Rect.new(0,0,@ball.width,@ball.height),@bmp,Rect.new(0,0,@bmp.width,@bmp.height))
- # creates necessary sprites
- for i in 0...6
- # black rectangles
- @rects["#{i}"] = Sprite.new(@viewport)
- @rects["#{i}"].bitmap = Bitmap.new(2,@viewport.height/6)
- @rects["#{i}"].bitmap.fill_rect(0,0,2,@viewport.height/6,Color.black)
- @rects["#{i}"].x = (i%2==0) ? -32 : @viewport.width+32
- @rects["#{i}"].ox = (i%2==0) ? 0 : 2
- @rects["#{i}"].y = (@viewport.height/6)*i
- @rects["#{i}"].zoom_x = 0
- # ballsprites
- @balls["#{i}"] = Sprite.new(@viewport)
- @balls["#{i}"].bitmap = @ball
- @balls["#{i}"].center!
- @balls["#{i}"].x = @rects["#{i}"].x
- @balls["#{i}"].y = @rects["#{i}"].y + @rects["#{i}"].bitmap.height/2
- end
- end
- def disposed?; @disposed; end
- def dispose
- return if disposed?
- # disposes unused sprites
- @viewport.dispose if @viewport
- pbDisposeSpriteHash(@balls)
- pbDisposeSpriteHash(@rects)
- @bmp.dispose if @bmp
- @disposed = true
- end
- def update
- return if disposed?
- if @duration==0
- dispose
- else
- if @balls["0"].x < Graphics.width + @balls["0"].bitmap.width
- for i in 0...6
- @balls["#{i}"].x += (i%2==0) ? 24 : -24
- @balls["#{i}"].angle -= (i%2==0) ? 32 : -32
- @rects["#{i}"].zoom_x += 12
- end
- else
- # @viewport.color = Color.new(0,0,0,255)
- dispose
- end
- end
- end
- end
- #===============================================================================
- # EBDX Rainbow Intro
- #===============================================================================
- class RainbowIntro
- def initialize(numframes)
- @numframes = numframes
- @duration = numframes
- @disposed = false
- @width = Graphics.width
- @height = Graphics.height
- @viewport = Viewport.new(0,0,@width,@height)
- @viewport.z = 99999
- if @numframes<=0
- @disposed = true
- return
- end
- @sprites = {} if !@sprites
- # takes screenshot
- bmp = Graphics.snap_to_bitmap
- # creates non-blurred overlay
- @sprites["bg1"] = Sprite.new(@viewport)
- @sprites["bg1"].bitmap = Bitmap.new(@viewport.width, @viewport.height)
- @sprites["bg1"].bitmap.blt(0, 0, bmp, @viewport.rect)
- @sprites["bg1"].center!(true)
- # creates blurred overlay
- @sprites["bg2"] = Sprite.new(@viewport)
- @sprites["bg2"].bitmap = @sprites["bg1"].bitmap.clone
- @sprites["bg2"].blur_sprite(3)
- @sprites["bg2"].center!(true)
- @sprites["bg2"].opacity = 0
- # creates rainbow rings
- for i in 1..2
- z = [0.35,0.1]
- @sprites["glow#{i}"] = Sprite.new(@viewport)
- @sprites["glow#{i}"].bitmap = pbBitmap("Graphics/Transitions/Common/glow")
- @sprites["glow#{i}"].ox = @sprites["glow#{i}"].bitmap.width/2
- @sprites["glow#{i}"].oy = @sprites["glow#{i}"].bitmap.height/2
- @sprites["glow#{i}"].x = @viewport.width/2
- @sprites["glow#{i}"].y = @viewport.height/2
- @sprites["glow#{i}"].zoom_x = z[i-1]
- @sprites["glow#{i}"].zoom_y = z[i-1]
- @sprites["glow#{i}"].opacity = 0
- end
- @viewport.color = Color.new(255,255,255,0)
- end
- def disposed?; @disposed; end
- def dispose
- return if disposed?
- pbDisposeSpriteHash(@sprites)
- @viewport.dispose if @viewport
- @disposed = true
- end
- def update
- return if disposed?
- if @duration==0
- dispose
- else
- # main animation
- if @sprites["bg1"].zoom_x < 1.64
- # zooms in the two screenshots
- @sprites["bg1"].zoom_x += 0.02
- @sprites["bg1"].zoom_y += 0.02
- @sprites["bg2"].zoom_x += 0.02
- @sprites["bg2"].zoom_y += 0.02
- # fades in the blurry screenshot
- @sprites["bg2"].opacity += 12
- # fades to white
- if @sprites["bg1"].zoom_x >= 0.32
- @sprites["bg2"].tone.red += 16
- @sprites["bg2"].tone.green += 16
- @sprites["bg2"].tone.blue += 16
- end
- # zooms in rainbow rings
- if @sprites["bg1"].zoom_x >= 0.48
- @sprites["glow1"].opacity += 64
- @sprites["glow1"].zoom_x += 0.02
- @sprites["glow1"].zoom_y += 0.02
- end
- else
- # second part of animation
- if @sprites["glow1"].zoom_x < 1.64
- # zooms in rainbow rings
- @sprites["glow1"].zoom_x += 0.02
- @sprites["glow1"].zoom_y += 0.02
- if @sprites["bg1"].zoom_x >= 1.8
- @sprites["glow2"].opacity += 64
- @sprites["glow2"].zoom_x += 0.02
- @sprites["glow2"].zoom_y += 0.02
- end
- # fades viewport to white
- if @sprites["bg1"].zoom_x >= 2.28
- @viewport.color.alpha += 16
- end
- else
- dispose
- # disposes of the elements
- #EliteBattle.set(:colorAlpha,255)
- # @viewport.color = Color.new(0,0,0,255)
- end
- end
- end
- end
- end
- #===============================================================================
- # EBDX Wild Indoor
- #===============================================================================
- class EBDXWildIndoor
- def initialize(numframes)
- @numframes = numframes
- @duration = numframes
- @disposed = false
- @viewport = Viewport.new(0,0,Graphics.width,Graphics.height)
- @viewport.z = 99999
- # draws blank bitmap upon which to draw snaking pattern
- @screen = Sprite.new(@viewport)
- @screen.bitmap = Bitmap.new(@viewport.width,@viewport.height)
- # gets screen size
- @width = @viewport.width
- @height = @viewport.height/16
- if @numframes<=0
- @disposed = true
- return
- end
- @done = 0
- end
- def disposed?; @disposed; end
- def dispose
- return if disposed?
- # disposes unused sprites
- @viewport.dispose if @viewport
- @screen.dispose if @screen
- @disposed = true
- end
- def update
- return if disposed?
- if @duration==0
- dispose
- else
- if @done < 16
- for j in 0...16
- x = (j%2 == 0) ? 0 : @viewport.width - @done*(@width/16)
- @screen.bitmap.fill_rect(x,j*@height,@done*(@width/16),@height,Color.black)
- end
- @done+=1
- else
- dispose
- end
- end
- end
- end
- #===============================================================================
- # EBDX Wild Overlevel (Pokemon is a higher level than party leader)
- #===============================================================================
- class EBDXOverlevel
- def initialize(numframes)
- @numframes = numframes
- @duration = numframes
- @disposed = false
- @viewport = Viewport.new(0,0,Graphics.width,Graphics.height)
- @viewport.z = 99999
- # gets screen size
- @height = @viewport.height/4
- @width = @viewport.width/10
- # creates a sprite of screen
- @backdrop = Sprite.new(@viewport)
- @backdrop.snap_screen
- # creates blank sprite
- @sprite = Sprite.new(@viewport)
- @sprite.bitmap = Bitmap.new(@viewport.width, @viewport.height)
- if @numframes<=0
- @disposed = true
- return
- end
- # animates gradient pattern
- for j in 0...4
- y = [0,2,1,3]
- for i in 1..10
- @sprite.bitmap.fill_rect(0,@height*y[j],@width*i,@height,Color.white)
- @backdrop.tone.red += 3
- @backdrop.tone.green += 3
- @backdrop.tone.blue += 3
- #pbWait(1)
- #Graphics.update
- end
- end
- # ensures viewport is black
- @viewport.color = Color.new(0,0,0,0)
- end
- def disposed?; @disposed; end
- def dispose
- return if disposed?
- # disposes unused sprites
- @backdrop.dispose if @backdrop
- @sprite.dispose if @sprite
- @viewport.dispose if @viewport
- @disposed = true
- end
- def update
- return if disposed?
- if @viewport.color.alpha < 255
- @viewport.color.alpha += 25.5
- else
- dispose
- end
- end
- end
Add Comment
Please, Sign In to add comment