theory's Advanced Windowskins
Version: 1.1
Platform: XP
Introduction
XP default windowskins are an unattractive thing. Lifeless, stretched and skewed, and near worthless for cosmetic appeal. So the only logical solution was to breath new life into them. And that is what this script does.
Features
Screenshots
Demo
Click to Download...
Script
Instructions
Drop the script in, and look over the beginning of the script in the settings part. Adjust these to use an existing graphic in the windowskins folder (this image should roughly resemble a fog of sorts). Set your default speed for x and y and you're good to go. To change these ingame, look at the girl in the demo for examples.
Compatibility
No known issues.
Credits and Thanks
A lot of credit goes to Glitchfinder- he helped out a lot getting the scrolling working, fixing a few other bugs, and showing me how to not use global variables... now I know.
Author's Notes
It doesn't fade in and out as smooth as I'd like- I'll try to fix that in the future. If you know how, give it a shot. If you succeed and share, I will make sure you get the credit you deserve. Any other suggestions? I'm all open.
Terms and Conditions
Free to use for any purposes you deem appropriate, be they commercial, private, or otherwise. However, if this script is used, you must credit theory and (changed by his own request) may credit glitchfinder if you would like to show him some respect..
Version: 1.1
Platform: XP
Introduction
XP default windowskins are an unattractive thing. Lifeless, stretched and skewed, and near worthless for cosmetic appeal. So the only logical solution was to breath new life into them. And that is what this script does.
Features
- "Underskin" second layer for Window_Base
- Automatic transparency for windows allowing the underskin to show
- new - Scrolling underskins (thanks Glitchfinder)
- new - Safer & more efficient script (thanks again Glitchfinder)
Screenshots
http://hosting07.imagecross.com/image-hosting-06/2776screenie.jpg[/img]
Demo
Click to Download...
Script
Code:
=begin
â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•—
â•‘ theory's Advanced Windowskin â•‘
â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
Version 1.1
I always hated the dull look of the stock windowskins-
When VX came out, I realized what it was missing. That
stretching shit was annoying- and it really needed a second
layer.
It doesn't fade in and out correctly, and lags if you use
too small of an image... but other than that- here you go.
=end
###############################################################################
#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
# This class handles data surrounding the system. Backround music, etc.
# is managed here as well. Refer to "$game_system" for the instance of
# this class.
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias theory_adv_windowskin_game_system_initialize initialize
def initialize
theory_adv_windowskin_game_system_initialize
@underskin_name = 'xptile'
@underskin_sx = 5
@underskin_sy = 3
end
#--------------------------------------------------------------------------
# * Set Windowskin File Name
# windowskin_name : new windowskin file name
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
# * Get Underskin File Name
#--------------------------------------------------------------------------
def us_name
return @underskin_name
end
#--------------------------------------------------------------------------
# * Set Underskin File Name
# underskin_name : new underskin file name
#--------------------------------------------------------------------------
def us_name=(underskin_name)
@underskin_name = (underskin_name)
end
#--------------------------------------------------------------------------
# * Get Underskin X Scroll
#--------------------------------------------------------------------------
def underskin_sx
return @underskin_sx
end
#--------------------------------------------------------------------------
# * Get Underskin Y Scroll
#--------------------------------------------------------------------------
def underskin_sy
return @underskin_sy
end
#--------------------------------------------------------------------------
# * Set Underskin Scroll Direction
# underskin_sx : new underskin x speed
# underskin_sy : new underskin y speed
#--------------------------------------------------------------------------
def us_scroll(underskin_sx,underskin_sy)
@underskin_sx = (underskin_sx)
@underskin_sy = (underskin_sy)
end
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
# This class is for all in-game windows.
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :@underskin # second window layer
attr_accessor :@underskin_sx # second window layer x scroll speed
attr_accessor :@underskin_sy # second window layer y scroll speed
#--------------------------------------------------------------------------
# * Object Initialization
# x : window x-coordinate
# y : window y-coordinate
# width : window width
# height : window height
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
super()
@override_opacity = 100
@underskin_ox = 0
@underskin_oy = 0
@windowskin_name = $game_system.windowskin_name
self.windowskin = RPG::Cache.windowskin(@windowskin_name)
self.opacity = @override_opacity
self.x = x
self.y = y
self.width = width
self.height = height
self.z = 100
@skinlayer = Viewport.new((x + 1), (y + 1), (width - 2), (height - 2))
@underskin = Plane.new(@skinlayer)
@underskin.z = 101
end
#--------------------------------------------------------------------------
# * Dispose
#--------------------------------------------------------------------------
def dispose
# Dispose if window contents bit map is set
if self.contents != nil
self.contents.dispose
@skinlayer.dispose
end
super
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
# Reset if windowskin was changed
if $game_system.windowskin_name != @windowskin_name
@windowskin_name = $game_system.windowskin_name
self.windowskin = RPG::Cache.windowskin(@windowskin_name)
end
if self.visible == false
@skinlayer.dispose
else
@skinlayer.dispose
@skinlayer = Viewport.new((self.x + 1), (self.y + 1), (self.width - 2), (self.height - 2))
@underskin = Plane.new(@skinlayer) #
@underskin.z = 99
@underskin.bitmap = RPG::Cache.windowskin($game_system.us_name) #
@underskin_ox -= $game_system.underskin_sx / 8.0
@underskin_oy -= $game_system.underskin_sy / 8.0
@underskin.ox = @underskin.ox / 4 + @underskin_ox
@underskin.oy = @underskin.oy / 4 + @underskin_oy
end
end
end
Instructions
Drop the script in, and look over the beginning of the script in the settings part. Adjust these to use an existing graphic in the windowskins folder (this image should roughly resemble a fog of sorts). Set your default speed for x and y and you're good to go. To change these ingame, look at the girl in the demo for examples.
Compatibility
No known issues.
Credits and Thanks
A lot of credit goes to Glitchfinder- he helped out a lot getting the scrolling working, fixing a few other bugs, and showing me how to not use global variables... now I know.
Author's Notes
It doesn't fade in and out as smooth as I'd like- I'll try to fix that in the future. If you know how, give it a shot. If you succeed and share, I will make sure you get the credit you deserve. Any other suggestions? I'm all open.
Terms and Conditions
Free to use for any purposes you deem appropriate, be they commercial, private, or otherwise. However, if this script is used, you must credit theory and (changed by his own request) may credit glitchfinder if you would like to show him some respect..