Moved all screen transition classes into module Transitions

This commit is contained in:
Maruno17
2020-10-16 21:30:01 +01:00
parent d860b703b1
commit 71a4d09224

View File

@@ -12,17 +12,17 @@ module Graphics
end end
end end
def self.transition(duration=8,filename="",vague=20) def self.transition(duration = 8, filename = "", vague = 20)
duration = duration.floor duration = duration.floor
if judge_special_transition(duration,filename) if judge_special_transition(duration, filename)
duration = 0 duration = 0
filename = "" filename = ""
end end
begin begin
transition_KGC_SpecialTransition(duration,filename,vague) transition_KGC_SpecialTransition(duration, filename, vague)
rescue Exception rescue Exception
if filename!="" if filename != ""
transition_KGC_SpecialTransition(duration,"",vague) transition_KGC_SpecialTransition(duration, "", vague)
end end
end end
if STOP_WHILE_TRANSITION && !@_interrupt_transition if STOP_WHILE_TRANSITION && !@_interrupt_transition
@@ -35,8 +35,8 @@ module Graphics
def self.update def self.update
update_KGC_SpecialTransition update_KGC_SpecialTransition
=begin =begin
if Graphics.frame_count%40==0 if Graphics.frame_count % 40 == 0
count=0 count = 0
ObjectSpace.each_object(Object) { |o| count += 1 } ObjectSpace.each_object(Object) { |o| count += 1 }
echo("Objects: #{count}\r\n") echo("Objects: #{count}\r\n")
end end
@@ -55,39 +55,39 @@ module Graphics
dc = File.basename(filename).downcase dc = File.basename(filename).downcase
case dc case dc
# Other coded transitions # Other coded transitions
when "breakingglass"; @@transition = BreakingGlass.new(duration) when "breakingglass"; @@transition = Transitions::BreakingGlass.new(duration)
when "rotatingpieces"; @@transition = ShrinkingPieces.new(duration,true) when "rotatingpieces"; @@transition = Transitions::ShrinkingPieces.new(duration, true)
when "shrinkingpieces"; @@transition = ShrinkingPieces.new(duration,false) when "shrinkingpieces"; @@transition = Transitions::ShrinkingPieces.new(duration, false)
when "splash"; @@transition = SplashTransition.new(duration) when "splash"; @@transition = Transitions::SplashTransition.new(duration)
when "random_stripe_v"; @@transition = RandomStripeTransition.new(duration,0) when "random_stripe_v"; @@transition = Transitions::RandomStripeTransition.new(duration, 0)
when "random_stripe_h"; @@transition = RandomStripeTransition.new(duration,1) when "random_stripe_h"; @@transition = Transitions::RandomStripeTransition.new(duration, 1)
when "zoomin"; @@transition = ZoomInTransition.new(duration) when "zoomin"; @@transition = Transitions::ZoomInTransition.new(duration)
when "scrolldown"; @@transition = ScrollScreen.new(duration,2) when "scrolldown"; @@transition = Transitions::ScrollScreen.new(duration, 2)
when "scrollleft"; @@transition = ScrollScreen.new(duration,4) when "scrollleft"; @@transition = Transitions::ScrollScreen.new(duration, 4)
when "scrollright"; @@transition = ScrollScreen.new(duration,6) when "scrollright"; @@transition = Transitions::ScrollScreen.new(duration, 6)
when "scrollup"; @@transition = ScrollScreen.new(duration,8) when "scrollup"; @@transition = Transitions::ScrollScreen.new(duration, 8)
when "scrolldownleft"; @@transition = ScrollScreen.new(duration,1) when "scrolldownleft"; @@transition = Transitions::ScrollScreen.new(duration, 1)
when "scrolldownright"; @@transition = ScrollScreen.new(duration,3) when "scrolldownright"; @@transition = Transitions::ScrollScreen.new(duration, 3)
when "scrollupleft"; @@transition = ScrollScreen.new(duration,7) when "scrollupleft"; @@transition = Transitions::ScrollScreen.new(duration, 7)
when "scrollupright"; @@transition = ScrollScreen.new(duration,9) when "scrollupright"; @@transition = Transitions::ScrollScreen.new(duration, 9)
when "mosaic"; @@transition = MosaicTransition.new(duration) when "mosaic"; @@transition = Transitions::MosaicTransition.new(duration)
# HGSS transitions # HGSS transitions
when "snakesquares"; @@transition = SnakeSquares.new(duration) when "snakesquares"; @@transition = Transitions::SnakeSquares.new(duration)
when "diagonalbubbletl"; @@transition = DiagonalBubble.new(duration,0) when "diagonalbubbletl"; @@transition = Transitions::DiagonalBubble.new(duration, 0)
when "diagonalbubbletr"; @@transition = DiagonalBubble.new(duration,1) when "diagonalbubbletr"; @@transition = Transitions::DiagonalBubble.new(duration, 1)
when "diagonalbubblebl"; @@transition = DiagonalBubble.new(duration,2) when "diagonalbubblebl"; @@transition = Transitions::DiagonalBubble.new(duration, 2)
when "diagonalbubblebr"; @@transition = DiagonalBubble.new(duration,3) when "diagonalbubblebr"; @@transition = Transitions::DiagonalBubble.new(duration, 3)
when "risingsplash"; @@transition = RisingSplash.new(duration) when "risingsplash"; @@transition = Transitions::RisingSplash.new(duration)
when "twoballpass"; @@transition = TwoBallPass.new(duration) when "twoballpass"; @@transition = Transitions::TwoBallPass.new(duration)
when "spinballsplit"; @@transition = SpinBallSplit.new(duration) when "spinballsplit"; @@transition = Transitions::SpinBallSplit.new(duration)
when "threeballdown"; @@transition = ThreeBallDown.new(duration) when "threeballdown"; @@transition = Transitions::ThreeBallDown.new(duration)
when "balldown"; @@transition = BallDown.new(duration) when "balldown"; @@transition = Transitions::BallDown.new(duration)
when "wavythreeballup"; @@transition = WavyThreeBallUp.new(duration) when "wavythreeballup"; @@transition = Transitions::WavyThreeBallUp.new(duration)
when "wavyspinball"; @@transition = WavySpinBall.new(duration) when "wavyspinball"; @@transition = Transitions::WavySpinBall.new(duration)
when "fourballburst"; @@transition = FourBallBurst.new(duration) when "fourballburst"; @@transition = Transitions::FourBallBurst.new(duration)
# Graphic transitions # Graphic transitions
when ""; @@transition = FadeTransition.new(duration) when ""; @@transition = Transitions::FadeTransition.new(duration)
else; ret=false else; ret = false
end end
Graphics.frame_reset if ret Graphics.frame_reset if ret
return ret return ret
@@ -97,9 +97,13 @@ end
#=============================================================================== #===============================================================================
# # Screen transition classes
#=============================================================================== #===============================================================================
class BreakingGlass module Transitions
#=============================================================================
#
#=============================================================================
class BreakingGlass
def initialize(numframes) def initialize(numframes)
@disposed = false @disposed = false
@numframes = numframes @numframes = numframes
@@ -156,14 +160,12 @@ class BreakingGlass
end end
self.dispose if !continue self.dispose if !continue
end end
end end
#=============================================================================
#
#=============================================================================== #=============================================================================
# class ShrinkingPieces
#===============================================================================
class ShrinkingPieces
def initialize(numframes,rotation) def initialize(numframes,rotation)
@disposed = false @disposed = false
@rotation = rotation @rotation = rotation
@@ -223,14 +225,12 @@ class ShrinkingPieces
end end
self.dispose if !continue self.dispose if !continue
end end
end end
#=============================================================================
#
#=============================================================================== #=============================================================================
# class SplashTransition
#===============================================================================
class SplashTransition
SPLASH_SIZE = 32 SPLASH_SIZE = 32
def initialize(numframes,vague=9.6) def initialize(numframes,vague=9.6)
@@ -322,14 +322,12 @@ class SplashTransition
def pmrand def pmrand
return (rand(2)==0) ? 1 : -1 return (rand(2)==0) ? 1 : -1
end end
end end
#=============================================================================
#
#=============================================================================== #=============================================================================
# class RandomStripeTransition
#===============================================================================
class RandomStripeTransition
RAND_STRIPE_SIZE = 2 RAND_STRIPE_SIZE = 2
def initialize(numframes,direction) def initialize(numframes,direction)
@@ -406,14 +404,12 @@ class RandomStripeTransition
@duration -= 1 @duration -= 1
end end
end end
end end
#=============================================================================
#
#=============================================================================== #=============================================================================
# class ZoomInTransition
#===============================================================================
class ZoomInTransition
def initialize(numframes) def initialize(numframes)
@duration = numframes @duration = numframes
@numframes = numframes @numframes = numframes
@@ -461,14 +457,12 @@ class ZoomInTransition
@duration -= 1 @duration -= 1
end end
end end
end end
#=============================================================================
#
#=============================================================================== #=============================================================================
# class ScrollScreen
#===============================================================================
class ScrollScreen
def initialize(numframes,direction) def initialize(numframes,direction)
@numframes = numframes @numframes = numframes
@duration = numframes @duration = numframes
@@ -532,14 +526,12 @@ class ScrollScreen
@duration -= 1 @duration -= 1
end end
end end
end end
#=============================================================================
#
#=============================================================================== #=============================================================================
# class MosaicTransition
#===============================================================================
class MosaicTransition
def initialize(numframes) def initialize(numframes)
@duration = numframes @duration = numframes
@numframes = numframes @numframes = numframes
@@ -588,14 +580,12 @@ class MosaicTransition
@duration -= 1 @duration -= 1
end end
end end
end end
#=============================================================================
#
#=============================================================================== #=============================================================================
# class FadeTransition
#===============================================================================
class FadeTransition
def initialize(numframes) def initialize(numframes)
@duration = numframes @duration = numframes
@numframes = numframes @numframes = numframes
@@ -629,14 +619,12 @@ class FadeTransition
@duration -= 1 @duration -= 1
end end
end end
end end
#=============================================================================
# HGSS wild outdoor
#=============================================================================== #=============================================================================
# HGSS wild outdoor class SnakeSquares
#===============================================================================
class SnakeSquares
def initialize(numframes) def initialize(numframes)
@numframes = numframes @numframes = numframes
@duration = numframes @duration = numframes
@@ -709,16 +697,14 @@ class SnakeSquares
end end
@duration -= 1 @duration -= 1
end end
end end
#=============================================================================
# HGSS wild indoor day (origin=0)
#=============================================================================== # HGSS wild indoor night (origin=3)
# HGSS wild indoor day (origin=0) # HGSS wild cave (origin=3)
# HGSS wild indoor night (origin=3) #=============================================================================
# HGSS wild cave (origin=3) class DiagonalBubble
#===============================================================================
class DiagonalBubble
def initialize(numframes,origin=0) def initialize(numframes,origin=0)
@numframes = numframes @numframes = numframes
@duration = numframes @duration = numframes
@@ -794,14 +780,12 @@ class DiagonalBubble
end end
@duration -= 1 @duration -= 1
end end
end end
#=============================================================================
# HGSS wild water
#=============================================================================== #=============================================================================
# HGSS wild water class RisingSplash
#===============================================================================
class RisingSplash
def initialize(numframes) def initialize(numframes)
@numframes = numframes @numframes = numframes
@duration = numframes @duration = numframes
@@ -900,14 +884,12 @@ class RisingSplash
end end
@duration -= 1 @duration -= 1
end end
end end
#=============================================================================
# HGSS trainer outdoor day
#=============================================================================== #=============================================================================
# HGSS trainer outdoor day class TwoBallPass
#===============================================================================
class TwoBallPass
def initialize(numframes) def initialize(numframes)
@numframes = numframes @numframes = numframes
@duration = numframes @duration = numframes
@@ -1000,14 +982,12 @@ class TwoBallPass
end end
@duration -= 1 @duration -= 1
end end
end end
#=============================================================================
# HGSS trainer outdoor night
#=============================================================================== #=============================================================================
# HGSS trainer outdoor night class SpinBallSplit
#===============================================================================
class SpinBallSplit
def initialize(numframes) def initialize(numframes)
@numframes = numframes @numframes = numframes
@duration = numframes @duration = numframes
@@ -1110,14 +1090,12 @@ class SpinBallSplit
end end
@duration -= 1 @duration -= 1
end end
end end
#=============================================================================
# HGSS trainer indoor day
#=============================================================================== #=============================================================================
# HGSS trainer indoor day class ThreeBallDown
#===============================================================================
class ThreeBallDown
def initialize(numframes) def initialize(numframes)
@numframes = numframes @numframes = numframes
@duration = numframes @duration = numframes
@@ -1212,15 +1190,13 @@ class ThreeBallDown
end end
@duration -= 1 @duration -= 1
end end
end end
#=============================================================================
# HGSS trainer indoor night
#=============================================================================== # HGSS trainer cave
# HGSS trainer indoor night #=============================================================================
# HGSS trainer cave class BallDown
#===============================================================================
class BallDown
def initialize(numframes) def initialize(numframes)
@numframes = numframes @numframes = numframes
@duration = numframes @duration = numframes
@@ -1311,14 +1287,12 @@ class BallDown
end end
@duration -= 1 @duration -= 1
end end
end end
#=============================================================================
# HGSS trainer water day
#=============================================================================== #=============================================================================
# HGSS trainer water day class WavyThreeBallUp
#===============================================================================
class WavyThreeBallUp
def initialize(numframes) def initialize(numframes)
@numframes = numframes @numframes = numframes
@duration = numframes @duration = numframes
@@ -1415,14 +1389,12 @@ class WavyThreeBallUp
end end
@duration -= 1 @duration -= 1
end end
end end
#=============================================================================
# HGSS trainer water night
#=============================================================================== #=============================================================================
# HGSS trainer water night class WavySpinBall
#===============================================================================
class WavySpinBall
def initialize(numframes) def initialize(numframes)
@numframes = numframes @numframes = numframes
@duration = numframes @duration = numframes
@@ -1516,14 +1488,12 @@ class WavySpinBall
end end
@duration -= 1 @duration -= 1
end end
end end
#=============================================================================
# HGSS double trainers
#=============================================================================== #=============================================================================
# HGSS double trainers class FourBallBurst
#===============================================================================
class FourBallBurst
def initialize(numframes) def initialize(numframes)
@numframes = numframes @numframes = numframes
@duration = numframes @duration = numframes
@@ -1613,4 +1583,5 @@ class FourBallBurst
end end
@duration -= 1 @duration -= 1
end end
end
end end