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