[XP] Screen Test

Started by ForeverZer0, March 24, 2010, 04:08:13 pm

Previous topic - Next topic

ForeverZer0

March 24, 2010, 04:08:13 pm Last Edit: February 28, 2011, 12:26:56 am by ForeverZer0
Screen Test
Authors: ForeverZer0
Version: 2.1
Type: Screen Effect Tester
Key Term: Game Utility



Introduction

Basically just a Debug Menu for screen effects. Allows player to change/test an assortment of different screen effects in real-time to help find one that looks good.


Features


  • User-friendly interface.
  • No configuration need for files. Automatically reads all files and RTPs for images.
  • Change the screen tone (R, G, B, Gr)
  • Change weather (Type, Power, Duration, Variation)
  • Test screen shakes (Power, Speed, Duration)
  • Change fog (Type, Opacity, Blend-Type, Zoom, Hue, Scroll)
  • Change panorama (Name, Hue)
  • Test animations (Name, X, Y)
  • Test pictures (Name, X, Y, Opacity, Zoom, Blend Type, Angle)
  • Configurable call button.
  • Hide button to make windows invisible while held to get better view of game screen.



Screenshots




Demo

Demo Link


Script

Click here for the script.
Spoiler: ShowHide

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
# Zer0 ScreenTest
# Author: ForeverZer0
# Version: 2.1
# Date: 10.3.2010
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
# Version History
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
#   v.1.0 (3.20.2010)
#     - Original write and release
#
#   v.1.1 (3.31.2010)
#     - Added extra feature if using Zer0 Advanced Weather System
#
#   v.1.2. (5.14.2010)
#     - Improved coding. Shortened.
#
#   v.2.0 (10.3.2010)
#     - Totally re-written. Code has been vastly improved.
#     - No need to configure any filenames anymore. Searches through the game
#       folders and RTPs (even custom ones) and adds all the images for each.        
#     - Improved look/layout.
#     - Added "Hide" button to make windows invisible while held to better
#       view the effect you are testing.
#     - Configurable call button to bring up the menu.
#     - Compatible with Zer0 Advanced Weather 2.0 (not available at release)
#     - Added the following features to test:
#        - Test animations on the map. (All)
#        - Test pictures on the map. (All)
#        - Blend type for fog
#        - Duration for screen shakes and weather.
#
#   v.2.1 (2.13.2011)
#     - Fixed a bug that would prevent the fog scroll values from going below 100. (Thanks Taiine)
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
#
# Compatibility:
#   - No known script compatibility issues.
#
# Explanation:
#   Basically just a Debug Menu for screen effects. Allows player to change/test
#   an assortment of different screen effects in real-time to help find one that
#   looks good.
#
# Features:
#   - All of effects below can be altered while test playing:
#     - Change the screen tone (R, G, B, Gr)
#     - Change weather (Type, Power, Duration, Variation)
#     - Test screen shakes (Power, Speed, Duration)
#     - Change fog (Type, Opacity, Blend-Type, Zoom, Hue, Scroll)
#     - Change panorama (Name, Hue)
#     - Test animations (Name, X, Y)
#     - Test pictures (Name, X, Y, Opacity, Zoom, Blend Type, Angle)
#
# Instructions:
#  - Place script above Main and below other default scripts.
#  - During test play, press F8 (default) to bring up the menu.
#
# Notes:
#  - None of the changes will be saved, this is merely a tool to help make
#    life easier when trying to find a good screen effect.
#
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:

#===============================================================================
# ** Scene_ScreenTest
#===============================================================================

class Scene_ScreenTest
#=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
#                         BEGIN CONFIGURATION
#=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

 WEATHER_TYPES = 32
 # Number of weather types used in your game. If using Zer0 Advanced Weather
 # version 2.0 or higher, you do not need to configure this.
 
 WINDOW = ['Candara', 20, 160] # [FONTNAME, FONTSIZE, OPACITY]
 # Settings for the window. Purely aesthetic. No one else should ever see it.
 
 CALL_BUTTON = Input::F8
 # Button used to call scene from Scene_Map.
 
 HIDE_BUTTON = Input::SHIFT
 # Button used to hide the windows. Windows will not be visible while held.
 
#=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
#                         END CONFIGURATION
#=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

 def main
   # Make map sprite.
   @map = Spriteset_Map.new
   # Set current screen tone.
   @tone = [$game_screen.tone.red, $game_screen.tone.green,
     $game_screen.tone.blue, $game_screen.tone.gray]
   # Set current weather type, power, and duration.
   @weather = [$game_screen.weather_type, $game_screen.weather_max, 0]
   # Set name, hue, opacity, zoom, blend type, sx, and sy of current fog.
   @fog = [$game_map.fog_name, $game_map.fog_hue, $game_map.fog_opacity,
     $game_map.fog_zoom, $game_map.fog_blend_type, $game_map.fog_sx, $game_map.fog_sy]
   # Set name and hue of current panorama.
   @panorama = [$game_map.panorama_name, $game_map.panorama_hue]
   # Set shake.
   @shake = [0, 0, 0]
   # Set animation.
   @animation = ['None', 0, 0]
   # Set picture.
   @picture = ['None', 0, 0, 255, 1.0, 0, 0]
   # Find all filenames of panoramas, fogs, and pictures in the game.
   find_graphics
   # Create the main window.
   commands = %w{ Tone Weather Fog Panorama Shake Animation Picture }
   @main_window = Window_Command.new(128, commands)
   # Set strings for the menu options.
   @commands = [
     ['Red', 'Green', 'Blue', 'Gray'],
     ['Type', 'Power', 'Duration'],
     ['Name', 'Hue', 'Opacity', 'Zoom', 'Blend Type', 'Scroll-X', 'Scroll-Y'],
     ['Name', 'Hue'],
     ['Power', 'Speed', 'Duration'],
     ['Name', 'Map-X', 'Map-Y', 'Play Animation'],
     ['Name', 'X', 'Y', 'Opacity', 'Zoom', 'Blend Type', 'Angle']
   ]
   # Check for variable used in Zer0 Advanced Weather and MAWS.
   if defined?($game_screen.weather_variation)
     @weather.push($game_screen.weather_variation)
     @commands[1].push('Variation')
   end
   # Create window array. Holds all created windows for easy handling.
   @windows = [@main_window]
   # Set font name, font size, and opacity of main window.
   set_window_info(@main_window)
   # Transition graphics and begin main loop.
   Graphics.transition
   loop { Graphics.update; Input.update; update; break if $scene != self }
   # Dispose of the sprites.
   (@windows + [@map]).each {|sprite| sprite.dispose }
 end
#-------------------------------------------------------------------------------
 def update
   
   if Input.trigger?(Input::Z)
     p 'Fogs', "", @fogs, '',
     'Panoramas', "", @panoramas, '',
     'Pictures', "Index: #{@pic_index}", @pictures
   end
   # Update window and map sprites.
   (@windows + [@map, $game_screen, $game_map]).each {|object| object.update }
   # Check for input.
   if Input.trigger?(Input::B)
     # Play cancel SE
     $game_system.se_play($data_system.cancel_se)
     if @main_window.active
       # Return to map if main window is active.
       $scene = Scene_Map.new
     else
       # Else find active window, deactivate it, and return to main window.
       active_window = @windows.find {|window| window.active }
       active_window.active = active_window.visible = false
       @main_window.active = true
     end
     return
   elsif Input.trigger?(Input::LEFT) || Input.repeat?(Input::LEFT)
     $game_system.se_play($data_system.cursor_se)
     @value = Input.trigger?(Input::LEFT) ? -1 : -5
   elsif Input.trigger?(Input::RIGHT) || Input.repeat?(Input::RIGHT)
     $game_system.se_play($data_system.cursor_se)
     @value = Input.trigger?(Input::RIGHT) ? 1 : 5
   elsif Input.press?(HIDE_BUTTON)
     memory = @windows.collect {|window| window.visible }
     @windows.each {|window| window.visible = false }
     while Input.press?(HIDE_BUTTON)
       Graphics.update; Input.update; update
     end
     @windows.each_index {|i| @windows[i].visible = memory[i] }
   end
   # Branch update method by what window is active.
   if @main_window.active
     update_main
   elsif @tone_window != nil && @tone_window.active
     update_tone
   elsif @weather_window != nil && @weather_window.active
     update_weather
   elsif @fog_window != nil && @fog_window.active
     update_fog
   elsif @panorama_window != nil && @panorama_window.active
     update_panorama
   elsif @shake_window != nil && @shake_window.active
     update_shake
   elsif @animation_window != nil && @animation_window.active
     update_animation
   elsif @picture_window != nil && @picture_window.active
     update_picture
   end
   # Reset @value variable at end of every update
   @value = nil
 end
#-------------------------------------------------------------------------------
 def update_main
   if Input.trigger?(Input::C)
     # Play SE and deactivate main window.
     $game_system.se_play($data_system.decision_se)
     @main_window.active = false      
     # Branch by main window index, creating new windows when needed.
     case @main_window.index
     when 0 # Tone
       if @tone_window == nil
         @tone_window = Window_Command.new(160, @commands[0])
         set_window_info(@tone_window)
         @windows.push(@tone_window)
       end
       @tone_window.active = @tone_window.visible = true
     when 1 # Weather
       if @weather_window == nil
         @weather_window = Window_Command.new(160, @commands[1])
         set_window_info(@weather_window)
         @windows.push(@weather_window)
         @weather_index = @weather[0]
         # Create an array of possible weather types.
         if $zer0_adv_weather != nil && $zer0_adv_weather >= 2.0
           @weather_types = $weather_cache.bitmaps.keys.sort
         else
           @weather_types = []
           (0..WEATHER_TYPES).each {|i| @weather_types.push(i) }
         end
       end
       @weather_window.active = @weather_window.visible = true
     when 2 # Fog
       if @fog_window == nil
         @fog[0] = 'None' if @fog[0] == ''
         @fog_index = @fogs.index(@fog[0])
         @fog_window = Window_Command.new(256, @commands[2])
         set_window_info(@fog_window)
         @windows.push(@fog_window)
       end
       @fog_window.active = @fog_window.visible = true
     when 3 # Panorama
       if @panorama_window == nil
         @panorama[0] = 'None' if @fog[0] == ''
         @panorama_index = @panoramas.index(@panorama[0])
         @panorama_window = Window_Command.new(256, @commands[3])
         set_window_info(@panorama_window)
         @windows.push(@panorama_window)
       end
       @panorama_window.active = @panorama_window.visible = true
     when 4 # Shake
       if @shake_window == nil
         @shake_window = Window_Command.new(160, @commands[4])
         set_window_info(@shake_window)
         @windows.push(@shake_window)
       end
       @shake_window.active = @shake_window.visible = true
     when 5 # Animation
       if @animation_window == nil
         @animation_index = 0
         @animation_window = Window_Command.new(256, @commands[5])
         set_window_info(@animation_window)
         @windows.push(@animation_window)
       end
       @animation_window.active = @animation_window.visible = true
     when 6 # Picture
       if @picture_window == nil
         @pic_index = 0
         @picture_window = Window_Command.new(256, @commands[6])
         set_window_info(@picture_window)
         @windows.push(@picture_window)
       end
       @picture_window.active = @picture_window.visible = true
     end
     # Set value to nil and refresh the activated window
     @value = nil
     refresh_window
   end
 end
#-------------------------------------------------------------------------------
 def refresh_window
   # Refresh active window.
   case @main_window.index
   when 0 # Tone
     @tone_window.contents.clear
     @tone.each_index {|i|
       @tone_window.contents.draw_text(4, i*32, 128, 32, @commands[0][i])
       @tone_window.contents.draw_text(-4, i*32, 128, 32, @tone[i].to_i.to_s, 2) \
     }
   when 1 # Weather
     @weather_window.contents.clear
     @weather.each_index {|i|
       @weather_window.contents.draw_text(4, i*32, 128, 32, @commands[1][i])
       @weather_window.contents.draw_text(-4, i*32, 128, 32, @weather[i].to_i.to_s, 2)
     }
   when 2 # Fog
     @fog_window.contents.clear
     @fog.each_index {|i|
       @fog_window.contents.draw_text(4, i*32, 224, 32, @commands[2][i])
       @fog_window.contents.draw_text(-4, i*32, 224, 32, @fog[i].to_s, 2)
     }
   when 3 # Panorama
     @panorama_window.contents.clear
     @panorama.each_index {|i|
       @panorama_window.contents.draw_text(4, i*32, 224, 32, @commands[3][i])
       @panorama_window.contents.draw_text(-4, i*32, 224, 32, @panorama[i].to_s, 2)
     }
   when 4 # Shake
     @shake_window.contents.clear
     @shake.each_index {|i|
       @shake_window.contents.draw_text(4, i*32, 128, 32, @commands[4][i])
       @shake_window.contents.draw_text(-4, i*32, 128, 32, @shake[i].to_s, 2)
     }
   when 5 # Animation
     @animation_window.contents.clear
     @commands[5].each_index {|i|
       @animation_window.contents.draw_text(4, i*32, 224, 32, @commands[5][i])
       @animation_window.contents.draw_text(-4, i*32, 224, 32, @animation[i].to_s, 2)
     }
   when 6 # Picture
     @picture_window.contents.clear
     @picture.each_index {|i|
       @picture_window.contents.draw_text(4, i*32, 224, 32, @commands[6][i])
       @picture_window.contents.draw_text(-4, i*32, 224, 32, @picture[i].to_s, 2)
     }
   end
 end
#-------------------------------------------------------------------------------
 def update_tone
   if @value != nil
     index = @tone_window.index
     @tone[index] += @value
     if index == 3
       @tone[index] %= 256
     else
       @tone[index] = 255 if @tone[index] < -255
       @tone[index] = -255 if @tone[index] > 255
     end
     tone = Tone.new(@tone[0], @tone[1], @tone[2], @tone[3])
     @tone[3] = 0 if @tone[3] < 0
     $game_screen.start_tone_change(tone, 0)
     refresh_window
   end
 end
#-------------------------------------------------------------------------------
 def update_weather
   if @value != nil
     index = @weather_window.index
     case index
     when 0
       @weather_index = (@weather_index + @value) % @weather_types.size
       @weather[0] = @weather_types[@weather_index]
     when 1
       @weather[1] = (@weather[1] + @value) % 51
     when 2, 3
       @weather[index] = (@weather[index] + @value) % 1000
     end
     # Apply weather effect to screen.
     if @weather.size == 4
       $game_screen.weather(@weather[0], @weather[1], @weather[2], @weather[3])
     else
       $game_screen.weather(@weather[0], @weather[1], @weather[2])
     end
     refresh_window
   end
 end
#-------------------------------------------------------------------------------
 def update_fog
   if @value != nil
     index = @fog_window.index
     if index == 0
       @fog_index = (@fog_index + @value) % @fogs.size
       @fog[0] = @fogs[@fog_index]
     else
       @fog[index] += @value
     end
     @fog[1] %= 360
     @fog [2] %= 256
     @fog[3] = [[@fog[3], 100].max, 800].min
     @fog[4] %= 3
     $game_map.fog_name = @fog[0] == 'None' ? '' : @fog[0]
     $game_map.fog_opacity, $game_map.fog_zoom = @fog[2], @fog[3]
     $game_map.fog_blend_type, $game_map.fog_hue = @fog[4], @fog[1]
     $game_map.fog_sx, $game_map.fog_sy = @fog[5], @fog[6]
     refresh_window
   end
 end
#-------------------------------------------------------------------------------
 def update_panorama
   if @value != nil
     if @panorama_window.index == 0
       @panorama_index = (@value + @panorama_index) % @panoramas.size
       @panorama[0] = @panoramas[@panorama_index]
     else
       @panorama[1] += @value
     end
     @panorama[1] %= 360
     $game_map.panorama_name = @panorama[0] == 'None' ? '' : @panorama[0]
     $game_map.panorama_hue = @panorama[1]
     refresh_window
   end
 end
#-------------------------------------------------------------------------------
 def update_shake
   if @value != nil
     $game_system.se_play($data_system.cursor_se)
     index = @shake_window.index
     @shake[index] += @value
     [0, 1].each {|i| @shake[i] %= 30 }
     @shake[2] %= 1000
     $game_screen.start_shake(@shake[0], @shake[1], @shake[2])
     refresh_window
   end
 end
#-------------------------------------------------------------------------------
 def update_animation
   if Input.trigger?(Input::C) && @animation_window.index == 3
     animation = $data_animations[@animation_index]
     return if animation == nil
     @map.make_animation(@animation_index, @animation[1], @animation[2])
   end
   if @value != nil
     case @animation_window.index
     when 0
       @animation_index = (@animation_index + @value) % $data_animations.size
       if $data_animations[@animation_index] == nil
         @animation[0] = 'None'
       else
         name = $data_animations[@animation_index].name
         @animation[0] = name == '' ? "(#{@animation_index})" : name
       end
     when 1
       @animation[1] = (@animation[1] + @value) % $game_map.width
     when 2
       @animation[2] = (@animation[2] + @value) % $game_map.height
     end
     refresh_window
   end
 end
#-------------------------------------------------------------------------------
 def update_picture
   if @value != nil
     index = @picture_window.index
     if index == 0
       @pic_index = (@pic_index + @value) % @pictures.size
     elsif index == 4
       @picture[4] += (@value / 10.0)
     else
       @picture[index] += @value
     end
     @picture[0] = @pic_index == 0 ? 'None' : @pictures[@pic_index]
     @picture[3] %= 256
     @picture[4] = [[@picture[4], 1.0].max, 10.0].min
     @picture[5] %= 3
     @picture[6] %= 360
     # Draw sprite.
     @map.make_picture(@picture)
     refresh_window
   end
 end
#-------------------------------------------------------------------------------
 def set_window_info(window)
   # Set the configured look to all the windows as they are made.
   window.contents.font.name = WINDOW[0]
   window.contents.font.size = WINDOW[1]
   window.back_opacity = WINDOW[2]
   window.x = window == @main_window ? 0 : 128
   window.refresh
 end
#-------------------------------------------------------------------------------
 def find_graphics
   # Search "Fogs", "Panoramas", and "Pictures" folder for files.
   @fogs = Dir.entries('Graphics/Fogs')
   @panoramas = Dir.entries('Graphics/Panoramas')
   @pictures = Dir.entries('Graphics/Pictures')
   # Add all files from RTP into their respective arrays.
   rtp_paths.each {|path|
     @fogs += Dir.entries(path + '\Graphics\Fogs')
     @panoramas += Dir.entries(path + '\Graphics\Panoramas')
   }
   # Iterate through combined folders, and omit all non-image files.
   [@fogs, @panoramas, @pictures].each {|folder|
     folder.collect! {|file|
      if ['.png', '.jpg'].include?(File.extname(file))
        # Remove file extension.
        file.gsub!(/.png|.jpg/) {''}
      end
     }
     # Remove nil elements and add 'None' string to each array.
     folder.unshift('None').compact!
   }
 end
#-------------------------------------------------------------------------------
 def rtp_paths    
   paths = []
   [1, 2, 3].each {|id|
     paths.push(RGSSGetPathWithRTP.call(RGSSGetRTPPath.call(id))) }
   return paths.find_all {|path| path != '' }
 end
#-------------------------------------------------------------------------------
end

 # DO NOT edit any of these lines. They are used to gather the RTP data.

 # Get the dll used for the game.
 GPPSA = Win32API.new('kernel32', 'GetPrivateProfileStringA', 'PPPPLP', 'L')
 dll = "\0" * 255
 GPPSA.call('Game', 'Library', '', dll, 255, '.\\Game.ini')
 dll.delete!("\0")
 # Set constants to call path with.
 RGSSGetRTPPath = Win32API.new(dll, 'RGSSGetRTPPath', 'L', 'L')
 RGSSGetPathWithRTP = Win32API.new(dll, 'RGSSGetPathWithRTP', 'L', 'P')
 
#===============================================================================
# ** Scene_Map
#===============================================================================

class Scene_Map
 
 # Add call button to Scene_Map
 alias zer0_screentest_map_upd update
 def update
   zer0_screentest_map_upd
   if $DEBUG && Input.trigger?(Scene_ScreenTest::CALL_BUTTON)
     $scene = Scene_ScreenTest.new
   end
 end
end

#===============================================================================
# ** Spriteset_Map
#===============================================================================

class Spriteset_Map
 
 # Creates an event on the fly, plays the animation, then disposes it.
 def make_animation(animation_id, x, y)
   event = Game_Event.new($game_map.map_id, RPG::Event.new(x, y))
   event.animation_id = animation_id
   sprite = Sprite_Character.new(@viewport1, event)
   # Loop Graphics and sprite update as long as animation is occurring.
   while sprite.effect?
     sprite.update
     Graphics.update
   end
   sprite.dispose
 end
 
 def make_picture(data)
   # Create sprite if it does not exist.
   if @pic == nil
     @pic = Sprite.new(@viewport2)
     # Add to picture array, so it automatically updates and disposes.
     @picture_sprites.push(@pic)
   end
   # Clear bitmap and end method if no bitmap is defined.
   if data[0] == 'None'
     @pic.bitmap.clear if @pic.bitmap != nil
     return
   end
   # Set the configured data to the picture.
   @pic.bitmap = RPG::Cache.picture(data[0]).clone
   @pic.x, @pic.y, @pic.opacity, @pic.angle = data[1], data[2], data[3], data[6]
   @pic.zoom_x, @pic.zoom_y, @pic.blend_type = data[4], data[4], data[5]
 end
end  



Instructions

Place script below default scripts, and above "Main".
Call scene with F8 (default) during test play.
See script for instructions if needed.


Compatibility

No known script compatibility issues.


Credits and Thanks


  • ForeverZer0, for the script.



Author's Notes

Please report any bugs/issues/suggestions. I will be happy to fix them.
Enjoy!
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

ForeverZer0

I upgraded it to Version 1.1.

It has added compatibility for my Advanced Weather script, so now the weather variation can be changed as well.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Jek

This is a neat script. Youve done good. *pets back*

G_G


ForeverZer0

Thanks for the feed-back!
I'm glad you all like it. I just got sick and tired of having to go back and forth between the editor and test play to try out different effects...
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Tyril132

Another exceptionally useful script. I make extensive use of color change and customized fog settings, and this has already proven to be an invaluable part of my testing process.

I'll rate you again tommorrow morning when I can.
Lv. 7 Writer | Lv. 7 Composer | Lv. 7 Mapper | Lv. 4 Eventer | Lv. 0 Scripter | Lv. 1 Spriter
DSC Project Soundtrack
Personality Index:: ShowHide

ForeverZer0

* Totally re-writes script and updates to 2.0 *

Script is totally new. Added a bunch of new features (see "Features" header).
Waaaaaaaaay better coding. The original was one of my first scripts, so needless to say I have improved my scripting knowledge a little. I highly suggest that if you used/liked the original, you scrap it and use this one. It is better in virtually every way, and looks better, too.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

stripe103

Just a little question, why is the Demo link liked to your Advanced Title 2.0?

Taiine

I love this script of yours. It has removed nearly all the guesswork when it came to my games settings.

ForeverZer0

Quote from: stripe103 on October 09, 2010, 06:21:50 am
Just a little question, why is the Demo link liked to your Advanced Title 2.0?


Because I am an idiot.

* Fixed *
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

stripe103

Then I hate to tell you that when trying to open the Screen Test scene on the demo(both from the F8 button and the crystal) it is giving me an error which say:
Unable to find Graphics/Panoramas

ForeverZer0

October 13, 2010, 12:02:29 pm #11 Last Edit: October 13, 2010, 12:27:53 pm by ForeverZer0
Quote from: stripe103 on October 13, 2010, 02:20:33 am
Then I hate to tell you that when trying to open the Screen Test scene on the demo(both from the F8 button and the crystal) it is giving me an error which say:
Unable to find Graphics/Panoramas



I'll check it out. I don't remember ever getting that error when testing. I may have messed something up when trimming down the game for the demo. Did I erase the Panoramas folder from the Graphics folder. I don't have the game with me at the moment.

EDIT: Another thing I though of that may cause a problem is where you define your RTPs. Make sure that there are none there that do not exist, else the script will attempt to load the graphics from them, causing that error. Not sure if that is the problem or not, just a possibility I thought of.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

stripe103

I think I would have got another error then, but anyway. It works now. You have removed the Panoramas folder. I don't know why I didn't see that, but that doesn't matter. Thank anyway. :D

ForeverZer0

Sorry to bump the script needlessly.
I went to test the download for another project I'm working on, found that it was removed, and updated the link.
No changes have been made to the script at this time.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Taiine

Hey I found a small bug. The fog test, the scrolling can't be made lower then 100 for both x and y.

ForeverZer0

Quote from: Taiine on February 13, 2011, 01:08:26 pm
Hey I found a small bug. The fog test, the scrolling can't be made lower then 100 for both x and y.


Oops, you are correct. I apparently was attempting to keep the parameters within a range as if it were a zoom level.
The script has been updated, I'll update the demo shortly. If anyone simply wants to fix it themselves, go to line 374 in the script and replace this line:

[5, 6].each {|i| @fog[i] = [[@fog[i], 100].max, 800].min }


...with this one:

[5, 6].each {|i| @fog[i] = [[@fog[i], -800].max, 800].min }


The values of 800 and -800 are actually rather arbitrary, you can set them as high and low as you like.
In fact, on second look, I don't even see why I even was trying to limit the values. You can even delete/comment out this line entirely, which will take away the limiter on how high the scroll values can be set.

Anyways, thank you very much Taiine for pointing it out.  ;)
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

EZ Destroyer

very cool stuff but if it have more options, it could be better

ForeverZer0

I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

EZ Destroyer

put those stuff that you've tested immediately without having 2 close the test play or Game.exe into any selected place in any selected events.

ForeverZer0

I don't even know what you mean by that.

You want the values to be set in the editor to the ones that are being shown on the screen?
If so, a rebuild of RMXP's engine would be required. You're more than welcome to try. I did hear about someone trying to do that. "ARC" or something like that I think is what they were calling it. They are all a bunch of degenerates, though, so don't hold out any hope.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

EZ Destroyer

yeah. i knew you wouldn't understand what im saying. well, nvm. it's already very good.

G_G

He wants the options you selected and changed to be the same when the game is closed then re-opened.
e.g.
You set weather to rain. He wants rain to be selected when the game starts up again.

ForeverZer0

Well, that wouldn't be too difficult. The settings could easily be serialized and dumped to an .rxdata file, but to be honest, I doubt I will ever make it. I got some other projects going on, and aren't really scripting for RMXP anymore.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

EZ Destroyer

something like that but it's on the spot without closing the test play.

the script lets u put the changes anywhere in any events and after you're done, there's a reload button in the test play.