SHARE
TWEET

Q-Engine Animated Title Add-On (RMVX)

CompanionWulf Mar 14th, 2015 224 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. =begin
  2. ╔══════════════════════════════════════════════════════════════════════════════╗
  3. ║ Q-Engine Animated Title Add-On Version 2.0a (QES-ATA)                        ║
  4. ╟──────────────────────────────────────────────────────────────────────────────╢
  5. ║   Version         : 2.0.0a                                                   ║
  6. ║   Author          : Companion Wulf                                           ║
  7. ║   Platform        : RMVX                                                     ║
  8. ║   Inception Date  : 18 December 2013                                         ║
  9. ║   Release Date    : 10 March 2015                                            ║
  10. ║   Last Update     : 29 September 2014                                        ║
  11. ║   Demo Version    : N/A                                                      ║
  12. ║   Demo Date       : N/A                                                      ║
  13. ║   Website         : http://rpgmakertimes.info                                ║
  14. ║   Blog            : http://blog.rpgmakertimes.info                           ║
  15. ║                                                                              ║
  16. ╠══════════════════════════════════════════════════════════════════════════════╣
  17. ║ ◄ DESCRIPTION ►                                                              ║
  18. ╟──────────────────────────────────────────────────────────────────────────────╢
  19. ║     The Q-Engine  incorporates all of the  scripts from the former           ║
  20. ║     Scripts/Add-Ons Compendium,  but with  additional options,  as           ║
  21. ║     well as extra functions and features.                                    ║
  22. ║                                                                              ║
  23. ║     The Q-Engine  Animated Title Add-On  adds a fully customizable           ║
  24. ║     animated  multi-layered title screen. This was originally part           ║
  25. ║     of the Q-Engine, but it was extracted as a separate add-on for           ║
  26. ║     easier expansion.                                                        ║
  27. ║                                                                              ║
  28. ╠══════════════════════════════════════════════════════════════════════════════╣
  29. ║ ◄ INSTALLATION ►                                                             ║
  30. ╟──────────────────────────────────────────────────────────────────────────────╢
  31. ║     Place after the "Q-Engine" main script.                                  ║
  32. ║                                                                              ║
  33. ║     NOTE:  See "Required Scripts" section for  additional install-           ║
  34. ║     ation notes.                                                             ║
  35. ║                                                                              ║
  36. ╠══════════════════════════════════════════════════════════════════════════════╣
  37. ║ ◄ KNOWN COMPATABILITY ISSUES ►                                               ║
  38. ╟──────────────────────────────────────────────────────────────────────────────╢
  39. ║     There may only be compatability issues for  other scripts that           ║
  40. ║     overwrite or modify the Scene_Title class.                               ║
  41. ║                                                                              ║
  42. ╠══════════════════════════════════════════════════════════════════════════════╣
  43. ║ ◄ REQUIRED SCRIPTS ►                                                         ║
  44. ╟──────────────────────────────────────────────────────────────────────────────╢
  45. ║     The following  scripts/modules are required  for the  Q-Engine           ║
  46. ║     script to work properly (in this order):                                 ║
  47. ║                                                                              ║
  48. ║     ● Global Colors Module                                                   ║
  49. ║     ● Q-Engine Script                                                        ║
  50. ║     ● Bitmap Add-On                                                          ║
  51. ║                                                                              ║
  52. ║     Optional Q-Engine add-ons should be added after these scripts.           ║
  53. ║                                                                              ║
  54. ║     NOTE:  The current manual  is out of date  and doesn't reflect           ║
  55. ║     the changes in version 4.0. When he manual has been completely           ║
  56. ║     updated,  it will also  include the  settings for  the various           ║
  57. ║     add-ons. This will be fully updated when it's complete.                  ║
  58. ║                                                                              ║
  59. ╠══════════════════════════════════════════════════════════════════════════════╣
  60. ║ ◄ MANUAL ►                                                                   ║
  61. ╟──────────────────────────────────────────────────────────────────────────────╢
  62. ║     The complete  Q-Engine manual is now  available in  DOC or PDF           ║
  63. ║     formats,  downloadable from  RPG Maker Times Companion,  along           ║
  64. ║     with a  demo showcasing  its features.                                   ║
  65. ║                                                                              ║
  66. ║     Note:  The current manual  is out of date  and doesn't reflect           ║
  67. ║     the changes in version 4.0. When he manual has been completely           ║
  68. ║     updated,  it will also  include the  settings for  the various           ║
  69. ║     add-ons. This will be fully updated when it's complete.                  ║
  70. ║                                                                              ║
  71. ╠══════════════════════════════════════════════════════════════════════════════╣
  72. ║ ◄ Q-ENGINE ANIMATED TITLE ADD-ON VERSION HISTORY ►                           ║
  73. ╟──────────────────────────────────────────────────────────────────────────────╢
  74. ║     The version history tracking will be changing to the following           ║
  75. ║     format:                                                                  ║
  76. ║                                                                              ║
  77. ║         Release.Updates.Developmental                                        ║
  78. ║                                                                              ║
  79. ║     Release numbers indicate public release versions.                        ║
  80. ║                                                                              ║
  81. ║     Updates refers to new scripts/scriptlets (both major and minor           ║
  82. ║     updates).                                                                ║
  83. ║                                                                              ║
  84. ║     Developmental updates  are for  tweaks or  bug fixes,  and new           ║
  85. ║     added methods.                                                           ║
  86. ║                                                                              ║
  87. ╟──────────────────────────────────────────────────────────────────────────────╢
  88. ║     NOTE: The QES-ATA was  originally part of the Q-Engine,  but it          ║
  89. ║     has since  become a  separate add-on to  make future  expansion          ║
  90. ║     easier.  The version history up  until version 1.0  is based on          ║
  91. ║     the original Q-Engine integration.                                       ║
  92. ║                                                                              ║
  93. ╠══════════════════════════════════════════════════════════════════════════════╣
  94. ║ * Updates Version History *                                                  ║
  95. ╟──────────────────────────────────────────────────────────────────────────────╢
  96. ║ v2.0.0a (10-Mar-2015)                                                        ║
  97. ║   ● Release: Version 2.0a (Alpha)                                            ║
  98. ╟──────────────────────────────────────────────────────────────────────────────╢
  99. ║ v2.0.0b (08-Oct-2014)                                                        ║
  100. ║   ● Release: Version 2.0b (Beta)                                             ║
  101. ╟──────────────────────────────────────────────────────────────────────────────╢
  102. ║ v1.0.2 (29-Sep-2014)                                                         ║
  103. ║   ● Tweak: Rework requirements structure, including version checker          ║
  104. ╟──────────────────────────────────────────────────────────────────────────────╢
  105. ║ v1.0.1 (18-Jul-2014)                                                         ║
  106. ║   ● Bug Fix: Issue with animated screen if Animated Title turned off         ║
  107. ╟──────────────────────────────────────────────────────────────────────────────╢
  108. ║ v1.0.0 (01-Mar-2014)                                                         ║
  109. ║   ● Update: Animated Title extracted as a separate add-on                    ║
  110. ╟──────────────────────────────────────────────────────────────────────────────╢
  111. ║ V0.4.5 (18-Nov-2013)                                                         ║
  112. ║   ● Bug Fix: -X/+X coordination animation problems on Animated Title Screen  ║
  113. ╟──────────────────────────────────────────────────────────────────────────────╢
  114. ║ v0.4.4 (15-Aug-2013)                                                         ║
  115. ║   ● Add: Version display on Title screen                                     ║
  116. ╟──────────────────────────────────────────────────────────────────────────────╢
  117. ║ v0.3.4 (10-Apr-2013)                                                         ║
  118. ║   ● Tweak: Moved Title/Game Over folders to Pictures for easier importation  ║
  119. ║   ● Tweak: Disable random title if Animated Title is enabled                 ║
  120. ╟──────────────────────────────────────────────────────────────────────────────╢
  121. ║ v0.3.2 (04-Mar-2013)                                                         ║
  122. ║   ● Add: Title & Author Logo speeds                                          ║
  123. ║   ● Bug Fix: Several inconcruities in Animation Title script                 ║
  124. ╟──────────────────────────────────────────────────────────────────────────────╢
  125. ║ v0.2.1 (03-Mar-2013)                                                         ║
  126. ║   ● Add: Author Logo to Animated Title script                                ║
  127. ╟──────────────────────────────────────────────────────────────────────────────╢
  128. ║ v0.1.1 (18-Dec-2013)                                                         ║
  129. ║   ● Tweak: Animated Title on/off for other animated title scripts            ║
  130. ║   ● Add: Full Animated Title script                                          ║
  131. ║                                                                              ║
  132. ╚══════════════════════════════════════════════════════════════════════════════╝
  133. =end
  134.  
  135. $imported = {} if $imported == nil; $imported["CW-QESATA"] = true
  136.  
  137. #===============================================================================
  138. # ** Q-Engine Animated Title Add-On Settings **
  139. #===============================================================================
  140. module QESATA_SETTINGS
  141.   #=============================================================================
  142.   # * ANIMATED TITLE OPTIONS *
  143.   #     These  options  are to  change the  settings for  the Animated
  144.   #     Title add-on.
  145.   #----------------------------------------------------------------------------
  146.   TOGGLE_ATA_ADDON = true             # Enable/disable QES Animated Title Add-On
  147.  
  148.   #----------------------------------------------------------------------------
  149.   # * Animated Title Screen
  150.   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  151.   ANIMATED_TITLE = true               # Toggle animated title screen on/off
  152.     # Images for title animations. Place in "Graphics/Pictures/Titles/".
  153.     LAYER_IMAGES_TTL = [
  154.       "Q-Engine",                     # Logo or game title
  155.       "Author",                       # Author logo
  156.       "TitleMain",                    # Primary title background
  157.       "TitleMain",                    # First background layer for animation
  158.       "TitleMain",                    # Second background layer for animation
  159.       "TitleMain"                     # Third background layer for animation
  160.     ]
  161.     # Main Title/Logo
  162.     LOGO_START_COORDS = [105, -100]   # Logo starting coordinates
  163.     LOGO_END_COORDS = [105, 150]      # Logo ending coordinates
  164.     LOGO_SPEED = 2                    # Logo movement speed
  165.     # Author
  166.     AUTHOR_START_COORDS = [220, -100] # Author starting coordinates
  167.     AUTHOR_END_COORDS = [220, 199]    # Author ending coordinates
  168.     AUTHOR_SPEED = 3                  # Author movement speed
  169.     # Layers Effects/Movement
  170.     LAYER_OPACITIES = [120, 100, 110] # Opacities for animation layers
  171.     LAYER_BLENDS = [0, 1, 0]          # Animation layers blending modes
  172.     LAYER1_MOVE_COORDS = [2, 0]       # XY movement coordinates for first layer
  173.     LAYER2_MOVE_COORDS = [-2, 0]      # XY movement coordinates for second layer
  174.     LAYER3_MOVE_COORDS = [0, 0]       # XY movement coordinates for third layer
  175.   #=============================================================================
  176. end
  177.  
  178. #==============================================================================
  179. # ** DO NOT EDIT BEYOND THIS POINT **                                         #
  180. #==============================================================================
  181.  
  182. class QesAta
  183.   include QESATA_SETTINGS
  184.  
  185.   module Required
  186.   QESATA_VERSION = "4.0"
  187.   p("Q-Engine Animated Title Add-On - "+
  188.     "It appears that you have an older version of the Q-Engine script, which"+
  189.     " might not be compatible with this version of the Q-Engine Animated Title"+
  190.     " Add-On. If you receive any errors, please upgrade the Q-Engine"+
  191.     " to the latest version from the RPG Maker Times & Companion blogsite:"+
  192.     " http://blog.rpgmakertimes.info.") if $imported["CWQesVX"] && QEngine::QES_VERSION < QESATA_VERSION
  193.   #============================================================================
  194.   # ** REQUIRED MODULES SETTINGS **
  195.   #----------------------------------------------------------------------------
  196.   REQ_MODULES_QESATA = {
  197.       #----------------------------------------------------------------------------
  198.       #     Note: The "Universal Configuration Module" (UCSM) is no longer
  199.       #     required to run the Q-Engine, as most of the relevant settings
  200.       #     have now been integrated into the Q-Engines for better ease of
  201.       #     use.  The "Global Colors Module"  and the "Bitmap Addons"  ARE
  202.       #     required, so they need to be set to "Yes" or "True" to prevent
  203.       #     an error from occurring (the case does not matter).
  204.       #
  205.       #     You can add your own  required scripts  to the list,  but make
  206.       #     sure you follow the sequence precisely.
  207.       #
  208.       #     * "Module Name" - The name of the required script.
  209.       #     * "Import Name" - The $import hash  (like a unique identifying
  210.       #       name) for  the script.  If set to "false",  then the  entire
  211.       #       script  relating to the  $import is considered  as disabled.
  212.       #       When it's set to "true" or contains either a string or digit
  213.       #       (such as for a version number), it's considered as enabled.
  214.       #     * "Type" - The type of  script the requirement is:  "M" is for
  215.       #       "Module", "A" is for "Add-On" and "S" is for "Script".  This
  216.       #       will then be displayed in the resulting error message.
  217.       #     * "Required" - This determines whether  the script is required
  218.       #       in order for  the game to run properly.  Values can be "Yes"
  219.       #       or "No" and "True" or "False" (the case doesn't matter).  If
  220.       #       set to "Yes" or "True",  an error message will  occur giving
  221.       #       details of the missing or uninstalled script type.
  222.       #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  223.       #                                                            Required
  224.       #         Module Name         Import Name      Type     Yes/No/True/False
  225.       #---------------------------------------------------------------------------
  226.       0 => ["Global Colors",      "CWColors",       "M",    "Yes"], # Required
  227.       1 => ["Q-Engine",           "CWQesVX",        "S",    "Yes"], # Required
  228.       2 => ["Bitmap Addons",      "CWBitmapAddons", "A",    "Yes"],  # Required
  229.     }
  230.     #--------------------------------------------------------------------------
  231.     # * Check Required Modules
  232.     #     Displays the  current  project version  in the  top right-hand
  233.     #     This routine will check through  the requirements  (predefined
  234.     #     in REQ_MODULES_QESATA)  and  determine  if they  are required.
  235.     #     Non-required modules  will be  skipped,  but an  error message
  236.     #     dialog will  display  each one  either not  installed  or  not
  237.     #     turned on.
  238.     #--------------------------------------------------------------------------
  239.     module_mssg = " is disabled, missing or not properly implemented."
  240.     body_mssg = " Please ensure that it is enabled or installed correctly."
  241.     req_modules = REQ_MODULES_QESATA
  242.     for i in 0...req_modules.size
  243.       import = $imported[req_modules[i][1]] unless $imported == nil
  244.       case req_modules[i][2]
  245.       when "M"; type = " Module"; when "A"; type = " Add-On"; when "S"; type = " Script"
  246.       end
  247.       unless import || req_modules[i][3].downcase == "no" || req_modules[i][3].downcase == "false"
  248.         p ["QES Error: The required ", req_modules[i][0], type, module_mssg, body_mssg].join
  249.         ok = false; next
  250.       end
  251.     end
  252.     exit if ok == false
  253.   end
  254. end
  255.  
  256. #==============================================================================
  257. # ** Scene_Title (QES-ATA)
  258. #------------------------------------------------------------------------------
  259. # Aliased Methods
  260. #   * create_title_graphic
  261. #   * dispose_command_window
  262. #   * update
  263. #==============================================================================
  264.  
  265. class Scene_Title < Scene_Base
  266.   include QESATA_SETTINGS
  267.   #--------------------------------------------------------------------------
  268.   # * Create Title Graphic                                      |--ALIASED--|
  269.   #--------------------------------------------------------------------------
  270.   alias cwqeata_scnttl_create_title_graphic create_title_graphic
  271.   def create_title_graphic
  272.     cwqeata_scnttl_create_title_graphic
  273.     if TOGGLE_ATA_ADDON && ANIMATED_TITLE
  274.       @sprite.bitmap = Cache.title("") # Disable default
  275.       # Main Background
  276.       @sprite_title = Sprite.new
  277.       @sprite_title.bitmap = Cache.title(LAYER_IMAGES_TTL[2])
  278.       @sprite_title.opacity = 100
  279.       # Logo
  280.       @sprite_logo = Sprite.new
  281.       @sprite_logo.bitmap = Cache.title(LAYER_IMAGES_TTL[0])
  282.       @sprite_logo.x, @sprite_logo.y = LOGO_START_COORDS[0], LOGO_START_COORDS[1]
  283.       #Author
  284.       @sprite_author = Sprite.new
  285.       @sprite_author.bitmap = Cache.title(LAYER_IMAGES_TTL[1])
  286.       @sprite_author.x, @sprite_author.y = AUTHOR_START_COORDS[0], AUTHOR_START_COORDS[1]
  287.       # Layer 1
  288.       @sprite_bg1 = Plane.new
  289.       @sprite_bg1.bitmap = Cache.title(LAYER_IMAGES_TTL[3])
  290.       @sprite_bg1.opacity = LAYER_OPACITIES[0]
  291.       @sprite_bg1.blend_type = LAYER_BLENDS[0]
  292.       # Layer 2
  293.       @sprite_bg2 = Plane.new
  294.       @sprite_bg2.bitmap = Cache.title(LAYER_IMAGES_TTL[4])
  295.       @sprite_bg2.opacity = LAYER_OPACITIES[1]
  296.       @sprite_bg2.blend_type = LAYER_BLENDS[1]
  297.       # Layer 3
  298.       @sprite_bg3 = Plane.new
  299.       @sprite_bg3.bitmap = Cache.title(LAYER_IMAGES_TTL[5])
  300.       @sprite_bg3.opacity = LAYER_OPACITIES[2]
  301.       @sprite_bg3.blend_type = LAYER_BLENDS[2]
  302.       # Priorities
  303.       @sprite_title.z = 4
  304.       @sprite_logo.z = 5
  305.       @sprite_author.z = 5
  306.       @sprite_bg1.z = 1
  307.       @sprite_bg2.z = 2
  308.       @sprite_bg3.z = 3
  309.     end
  310.   end
  311.   #--------------------------------------------------------------------------
  312.   # * Dispose of Command Window                                 |--ALIASED--|
  313.   #--------------------------------------------------------------------------
  314.   alias cwqeata_scnttl_dispose dispose_command_window
  315.   def dispose_command_window
  316.     cwqeata_scnttl_dispose
  317.     if TOGGLE_ATA_ADDON && ANIMATED_TITLE
  318.       @sprite_title.dispose
  319.       @sprite_author.dispose
  320.       @sprite_logo.dispose
  321.       @sprite_bg1.dispose
  322.       @sprite_bg2.dispose
  323.       @sprite_bg3.dispose
  324.     end
  325.   end
  326.   #--------------------------------------------------------------------------
  327.   # * Frame Update                                              |--ALIASED--|
  328.   #--------------------------------------------------------------------------
  329.   alias cwqeata_scnttl_update update
  330.   def update
  331.     cwqeata_scnttl_update
  332.     if TOGGLE_ATA_ADDON && ANIMATED_TITLE
  333.       @sprite_title.opacity += 1 unless @sprite_title.opacity = 160
  334.       if @sprite_logo.x != LOGO_END_COORDS[0]
  335.         @sprite_logo.x += LOGO_SPEED
  336.       end
  337.       if @sprite_author.x != AUTHOR_END_COORDS[0]
  338.         @sprite_author.x += AUTHOR_SPEED
  339.       end
  340.       @sprite_logo.y += LOGO_SPEED unless @sprite_logo.y >= LOGO_END_COORDS[1]
  341.       @sprite_author.y += AUTHOR_SPEED unless @sprite_author.y >= AUTHOR_END_COORDS[1]
  342.       @sprite_bg1.ox += LAYER1_MOVE_COORDS[0]
  343.       @sprite_bg1.oy += LAYER1_MOVE_COORDS[1]
  344.       @sprite_bg2.ox += LAYER2_MOVE_COORDS[0]
  345.       @sprite_bg2.oy += LAYER2_MOVE_COORDS[1]
  346.       @sprite_bg3.ox += LAYER3_MOVE_COORDS[0]
  347.       @sprite_bg3.oy += LAYER3_MOVE_COORDS[1]
  348.     end
  349.   end
  350. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top