Rpg maker xp MODE 7 RGSS aka 3D ruby script. RPG MAKER XP allows you to encrypt your completed game data. Since all of your individual pieces of data are combined into a single file, you'll be able to keep your source data safe from prying eyes. Open RPG Maker is a free and open source clone of features from the RPG Maker series (i.e. Rpgmaker200, rpgmaker2003, rpgmakerxp), as well as many other features. All of the data files are in XML format and are easily editable with any text editor.
Display by: Relevance | Downloads | Name
Added: August 31, 2008 | Visits: 3.347
Create your own role-playing games in Windows XP thanks to RPG Maker XP. It is a game editor with every type of element and utility, script functions, graphics capabilities and other options so you will never reach the limits when you come to create your won 2D role-playing game.RPG Maker XP is...
Platforms: Windows
License: Shareware | Cost: $0.00 USD | Size: 3 KB | Download (1008): RPG Maker XP Download |
Released: December 24, 2012 | Added: December 24, 2012 | Visits: 417
The RPG Maker Collegial project aims to offer a set of tools and standards to help unite developers using Sphere, RPGMaker200, Game Maker, OHRRPGCE, and other engines by identifying common development trends in each domain and uniting common elements.
Platforms: Windows, Mac, Linux
License: Freeware | Size: 458.33 KB | Download (42): RPG Maker Collegial Project Download |
Added: August 17, 2008 | Visits: 2.128
Engine001 Action/RPG Maker, under this complicated title, is a powerful engine to create RPGs, that lets you give life to your fantasies and imagination. Who hasn+t wanted to create the game of their dreams? Would you like to create your own, completely personalized RPG, with your characters,...
Platforms: Windows
Platforms: Windows
License: Freeware | Size: 8 KB | Download (253): Engine001 Action/RPG Maker Download |
Released: August 21, 2012 | Added: August 21, 2012 | Visits: 566
Mallard is a graphical game design package, akin to many applications for Windows such as The Games Factory, RPG Maker, Game Maker, etc. It is written in Python with wxWidgets and PyGame, and therefore should support any OS which supports Python and SDL.
Platforms: Windows, Mac, Linux
Platforms: Windows, Mac, Linux
License: Freeware | Size: 335.95 KB | Download (35): Mallard Games Designer Download |
Released: September 18, 2012 | Added: September 18, 2012 | Visits: 940
Windows Movie Maker is a video creating/editing software application, included in Microsoft Windows Me, XP, and Vista,Win7. It contains features such as effects, transitions, titles/credits, audio track, timeline narration, and Auto Movie. New effects and transitions can be made and existing ones...
Platforms: Windows, Other
Platforms: Windows, Other
License: Freeware | Size: 8.43 MB | Download (324): Any Movie Maker 2.8 Download |
Released: December 15, 2012 | Added: December 15, 2012 | Visits: 523
Windows DVD Maker Convert Videos to DVD format, burn the Videos to DVD disc. Then your videos can be played on home/portbale DVD players. Support up to 60 Video formats. Compatible with Windows XP, Windows 7, Windows Vista. Windows DVD Maker is designed to enable the creation of DVD movies that...
Platforms: Windows
Platforms: Windows
License: Shareware | Cost: $29.95 USD | Size: 5.77 MB | Download (427): Windows DVD Maker Download |
Released: December 04, 2012 | Added: December 04, 2012 | Visits: 479
MediaSanta ISO Maker is an easy-to-use and powerful ISO Maker to Create and Burn ISO, You Can Burn MP3, DATA, ISO, AUDIOS, VIDEOS, and IMAGES to high-quality CDs or DVDs, Powerful features, Full Drag and Drop support, Easy-to-Use and Highly Customizable interface, Supports virtually all SCSI,...
Platforms: Windows
Platforms: Windows
License: Shareware | Cost: $29.95 USD | Size: 2.31 MB | Download (29): MediaSanta ISO Maker Download |
Released: August 03, 2012 | Added: August 03, 2012 | Visits: 485
MediaSanta CD Maker is an easy-to-use and powerful CD Maker to Create and Burn ISO, You Can Burn MP3, DATA, ISO, AUDIOS, VIDEOS, and IMAGES to high-quality CDs or DVDs, Powerful features, Full Drag and Drop support, Easy-to-Use and Highly Customizable interface, Supports virtually all SCSI, IDE,...
Platforms: Windows
Platforms: Windows
License: Shareware | Cost: $29.95 USD | Size: 2.31 MB | Download (28): MediaSanta CD Maker Download |
Released: August 06, 2012 | Added: August 06, 2012 | Visits: 521
MediaSanta DVD Maker is an easy-to-use and powerful DVD Maker to Create and Burn ISO, You Can Burn MP3, DATA, ISO, AUDIOS, VIDEOS, and IMAGES to high-quality CDs or DVDs, Powerful features, Full Drag and Drop support, Easy-to-Use and Highly Customizable interface, Supports virtually all SCSI,...
Platforms: Windows
Platforms: Windows
License: Shareware | Cost: $29.95 USD | Size: 2.31 MB | Download (29): MediaSanta DVD Maker Download |
Released: July 06, 2012 | Added: July 06, 2012 | Visits: 671
Microsoft Windows Movie Maker is a video editing application by Microsoft available to Windows XP and Windows Vista users. Windows Movie Maker Installer allows you to install Microsoft Windows Movie Maker 6.0 in a fresh installation of Windows 7. You can then enjoy again DV export and a true...
Platforms: Windows
Platforms: Windows
License: Freeware | Size: 12.97 MB | Download (47): Windows Movie Maker Installer Download |
Added: March 19, 2006 | Visits: 2.770
AltoMP3 Maker is an excellent CD-ripper for Windows 9x/Me/NT/2000/XP. If you want to make your own MP3 from audio CD , this is exactly what you are looking for. With full CD audio playback control function, AltoMP3 Maker can work as a freedb-aware CD player.-Perfect output quality with high...
Platforms: Windows
Platforms: Windows
License: Shareware | Cost: $19.95 USD | Size: 1.45 MB | Download (230): All to MP3 Maker Download |
Added: April 05, 2006 | Visits: 5.892
123 screensaver maker is a professional screen saver maker lets you make your own screen savers based on: Image slide shows screensaver; AVI/Mpeg video screensaver; Macromedia Shockwave Flash screensaver . 123 screensaver maker is a powerful screen saver maker to create, compile and...
Platforms: Windows
Platforms: Windows
License: Shareware | Cost: $24.95 USD | Size: 1.79 MB | Download (1010): 123 Screensaver Maker Download |
Released: August 10, 2002 | Added: January 09, 2006 | Visits: 3.681
ES Screensaver maker allows you to create and distribute your own high-quality slideshow image screensaver, shockwave flash screensaver and movie screensavers easily and quickly. It offers an easy to use step-by-step interface and supports 27 of the most popular graphics and media...
Platforms: Windows
Platforms: Windows
License: Shareware | Cost: $29.95 USD | Size: 2.92 MB | Download (153): ES Screensaver maker Download |
Released: December 12, 2003 | Added: May 05, 2006 | Visits: 3.067
Pretty Icon Maker is a powerful icon editor that will enable you to create beautiful, professional looking icons with ease. The program can create, extract, and convert all icons from black-white to 32-bit color depth. A comprehensive collection of drawing tools and effects are included. All...
Platforms: Windows
Platforms: Windows
License: Shareware | Cost: $29.95 USD | Size: 742 KB | Download (164): Pretty Icon Maker Download |
Released: November 04, 2006 | Added: November 10, 2006 | Visits: 2.617
Advanced Screensaver Maker is a flexible authoring tool that makes it possible to create many different types of screen savers. This tool lets you create screen savers based on Shockwave Flash, Image Slide Show, animations (FLC), Webpage and Movie (Quick Time, Mpeg, AVI...). You can make screen...
Platforms: Windows
Platforms: Windows
License: Shareware | Cost: $24.95 USD | Size: 3.03 MB | Download (108): Advanced Screensaver Maker Download |
Released: June 03, 2010 | Added: June 11, 2010 | Visits: 4.658
Wise Icon Maker can create icons, extract, and convert all graphics to 32-bit color depth Icon.Include comprehensive collection of drawing tools and effects.Have anti-alias and smoothness functions and excellent 3D gradient effects. Key feature: -Supports all icon formats: with Alpha Channel....
Platforms: Windows, Windows CE
Platforms: Windows, Windows CE
License: Shareware | Cost: $23.90 USD | Size: 842 KB | Download (244): Wise Icon Maker Download |
Added: February 24, 2006 | Visits: 3.535
Professional Screensaver Maker has a fully integrated workspace that permits you to work efficiently and create professional screen savers in minutes.This application can create screen savers based on state-of-the-art and popular multimedia file formats: images ( BMP , JPG , PNG , GIF ) , sounds...
Platforms: Windows
Platforms: Windows
License: Shareware | Cost: $24.95 USD | Size: 3.06 MB | Download (195): Professional Screensaver Maker Download |
Added: August 16, 2006 | Visits: 2.417
MP3 CD Maker was first released back in 1999 and continues to get better. Over that time the dedication of the developers has now made this program even more accessible with multilingual support for 42 languages and compatability with over 1200 CD-RW drives. Drag and drop features makes this...
Platforms: Windows, Windows CE
Platforms: Windows, Windows CE
License: Shareware | Cost: $24.95 USD | Size: 1.25 MB | Download (273): MP3-CD-Maker Download |
Released: May 29, 2007 | Added: June 04, 2007 | Visits: 2.083
Audio MP3 Maker is an extremely easy to use powerful CD ripper and WAV to MP3 encoder for Windows 9X/NT/Me/2000/XP. If you want to make your own MP3 from audio CD , this is exactly what you are looking for. With full CD audio playback control function, Audio MP3 Maker can work as a freedb-aware...
Platforms: Windows
Platforms: Windows
License: Shareware | Cost: $29.95 USD | Size: 1007.72 KB | Download (272): Audio MP3 Maker Deluxe Download |
Released: December 02, 2007 | Added: December 09, 2007 | Visits: 4.072
Presentation is everything, enhance your website with elegant buttons created with Web Button Maker Deluxe! Easily create Vista and XP themed buttons, Mac and Aqua style buttons, colorful and shining web buttons, animated buttons and more! Choose between over 150 premade button designs and 50...
Platforms: Windows
Platforms: Windows
License: Shareware | Cost: $29.95 USD | Size: 5.15 MB | Download (701): Web Button Maker Deluxe Download |
11-23-2010, 07:46 PM
RMXP : Add-on for the Neo Mode 7 Engine : Neo Mode 7 +
Version: 1.0
Version: 1.0
Introduction
This add-on for the Neo Mode 7 script was designed to increase a little the performances. Results may vary depending on the machine.
Features
- global performances slightly increased when rendering mode 7.
- mode 7 drawing only when moving -> lag is strongly reduced at stop.
- resolutions [R2]&[R3] applied only when moving -> not so ugly at stop (you can disable this feature by replacing 'false' by 'true' line 34.
Installation
Paste this script below the Neo Mode 7 script (compatible with the latest version on this board - 29/03/2010, or here), and copy the DLL at the root of your project.
Script :
#
# Add-on : Neo Mode 7 +
# V.1.0 - 15/09/10
# Author : MGC
#
# This script increases (a little) the performances of the Neo Mode 7 engine.
# It is compliant with the 29/03/10 version that can be found on rmvxp.com.
# It requires the file 'MGCmode7+.dll'.
#
# Paste this script below the last part of the Neo Mode 7 script.
#
#
# ** Game_System
#
class Game_System
#--------------------------------------------------------------------------
# * Aliased methods (F12 compatibility)
#--------------------------------------------------------------------------
unless @already_aliased_neoM7Plus
alias initialize_neoM7Plus_game_system initialize
@already_aliased_neoM7Plus = true
end
#--------------------------------------------------------------------------
# * Public Instance Variables
# fple_always_same_res (boolean): true = same quality when moving or not
#--------------------------------------------------------------------------
attr_accessor :neoM7Plus_always_same_res
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
initialize_neoM7Plus_game_system
self.neoM7Plus_always_same_res = false
end
end
#
# ** Sprite
#
class Sprite
#--------------------------------------------------------------------------
# calculate x and y coordinates in mode 7 for a vertical sprite
#--------------------------------------------------------------------------
def neoM7(x_map, y_map)
x_map = 32 * x_map
y_map = 32 * y_map
y_init = $game_temp.zoom_sprites * (y_map - $game_temp.pivot - $game_map.display_y.to_i / 4)
x_init = $game_temp.zoom_sprites * (x_map - 320 - $game_map.display_x.to_i / 4)
y_intermediate = (y_init * $game_temp.cos_theta -
x_init * $game_temp.sin_theta).to_i >> 11
x_intermediate = (x_init * $game_temp.cos_theta +
y_init * $game_temp.sin_theta).to_i >> 11
self.y = $game_temp.pivot + ($game_temp.distance_h * y_intermediate *
$game_temp.cos_alpha) / (($game_temp.distance_h << 11) - y_intermediate *
$game_temp.sin_alpha)
self.x = 320 + ($game_temp.slope_value * y +
$game_temp.corrective_value) * x_intermediate
end
#--------------------------------------------------------------------------
# calculate x and y coordinates in mode 7 for a character sprite
#--------------------------------------------------------------------------
def neoM7_character(x_screen, y_screen)
y_init = $game_temp.zoom_sprites * (y_screen - $game_temp.pivot)
x_init = $game_temp.zoom_sprites * (x_screen - 320)
y_intermediate = (y_init * $game_temp.cos_theta -
x_init * $game_temp.sin_theta).to_i >> 11
x_intermediate = (x_init * $game_temp.cos_theta +
y_init * $game_temp.sin_theta).to_i >> 11
self.y = $game_temp.pivot + ($game_temp.distance_h * y_intermediate *
$game_temp.cos_alpha) / (($game_temp.distance_h << 11) - y_intermediate *
$game_temp.sin_alpha)
self.x = (320 + ($game_temp.slope_value * y +
$game_temp.corrective_value) * x_intermediate)
end
end
#
# ** Bitmap
#
class Bitmap
NeoMode7Plus = Win32API.new('MGCmode7+.dll', 'NeoMode7Plus', 'lllllll', 'l')
CHLP = Win32API.new('MGCmode7+.dll', 'CleanHeightLimitPlus', 'lll', 'l')
#--------------------------------------------------------------------------
# mode 7 transformation
#--------------------------------------------------------------------------
def neoM7(tileset, data, map_width, map_height, off_x, off_y, options)
raise RGSSError.new('Disposed bitmap') if disposed?
NeoMode7Plus.call(self.__id__, tileset.__id__, data.__id__, off_x, off_y,
[$game_temp.cos_alpha, $game_temp.sin_alpha, $game_temp.distance_h,
$game_temp.pivot_map.to_i, $game_temp.slope_value_map,
$game_temp.corrective_value_map, $game_temp.neoM7_height_limit,
$game_temp.cos_theta, $game_temp.sin_theta, $game_temp.distance_p.to_i,
$game_temp.zoom_map].__id__, options.__id__)
end
#--------------------------------------------------------------------------
def neoM7_screen(tileset, data, map_width, map_height, off_x, off_y, options)
raise RGSSError.new('Disposed bitmap') if disposed?
NeoMode7Plus.call(self.__id__, tileset.__id__, data.__id__, off_x, off_y,
[$game_temp.cos_alpha, $game_temp.sin_alpha, $game_temp.distance_h,
$game_temp.pivot.to_i, $game_temp.slope_value_map,
(131072 * $game_temp.corrective_value).to_i, $game_temp.height_limit_sprites.to_i,
$game_temp.cos_theta, $game_temp.sin_theta, 0,
$game_temp.zoom_map].__id__, options.__id__)
end
#--------------------------------------------------------------------------
# delete pixels beyond the horizon
#--------------------------------------------------------------------------
def clean_limit(old_limit, new_limit)
raise RGSSError.new('Disposed bitmap') if disposed?
CHLP.call(self.__id__, old_limit, new_limit)
end
end
#
# ** Tilemap_neoM7
#
class Tilemap_neoM7
#--------------------------------------------------------------------------
# * Alias : F12 compatibility
#--------------------------------------------------------------------------
unless @already_aliased_neoM7Plus
alias increase_zoom_neoM7Plus_tilemap increase_zoom
alias set_zoom_neoM7Plus_tilemap set_zoom
alias update_animated_neoM7Plus_tilemap update_animated
@already_aliased_neoM7Plus = true
end
#--------------------------------------------------------------------------
# * Attributes
#--------------------------------------------------------------------------
attr_accessor :sprite_screen # sprite used to contain the map's drawing when not moving
#--------------------------------------------------------------------------
# * Object Initialization
# viewport : viewport
#--------------------------------------------------------------------------
def initialize(viewport, spriteset)
@even = true
@viewport = viewport
@spriteset = spriteset
@id = $game_map.map_id # map's ID : used to load or save the map in Cache
self.tilesets_list = [] # contains tilesets (Bitmap)
@height = $game_map.height << 5 # @height : map's height (in pixel)
@width = $game_map.width << 5 # @width : map's width (in pixel)
@options = [0, 0, 0]
@options[0] = $game_system.neoM7_loop ? 1 : 0
@zoom = $game_system.neoM7_zoom # zoom level of the map
$game_temp.zoom_sprites = @zoom.to_f / 100
$game_temp.zoom_map = (4096 * (1.0 / $game_temp.zoom_sprites)).to_i
# tilesets graphics and data map are loaded if already in Cache
if RPG::Cache_Datamap.in_cache(@id)
@bitmap_data = RPG::Cache_Datamap.load(@id)
@map_tileset = RPG::Cache_Tileset.load(@id)
tilesets_list.push(@map_tileset)
if $game_system.neoM7_animated
@map_tileset_2 = RPG::Cache_Tileset.load(@id, 1)
@map_tileset_3 = RPG::Cache_Tileset.load(@id, 2)
@map_tileset_4 = RPG::Cache_Tileset.load(@id, 3)
tilesets_list.push(@map_tileset_2)
tilesets_list.push(@map_tileset_3)
tilesets_list.push(@map_tileset_4)
end
else # draw the data map and the tileset and save them in the Cache
draw_map
end
# create vertical elements from tiles
data_V = Data_Vertical_Sprites.new(viewport)
# @vertical_sprites : list of vertical sprites (Sprite_V)
@vertical_sprites = data_V.list_sprites_V
# @vertical_sprites_animated : list of animated vertical sprites (Sprite_V)
@vertical_sprites_animated = data_V.list_sprites_V_animated
# angle of rotation (theta)
self.theta = $game_system.neoM7_theta
theta_rad = (Math::PI * theta) / 180
# easier to work with integer value than floats ('>>' and '<<' operations)
$game_temp.cos_theta = (2048 * Math.cos(theta_rad)).to_i
$game_temp.sin_theta = (2048 * Math.sin(theta_rad)).to_i
# offsets : equivalent to display_x and display_y
@offset_x = 0
@offset_y = 0
$game_temp.distance_h = 480 # distance between the center of the map (halfwidth, pivot) and the point of view
# screenline's number of the slant's pivot = y-coordinate of the rotation center
$game_temp.pivot = $game_system.neoM7_pivot # character sprites
$game_temp.pivot_map = $game_temp.pivot /
($game_system.neoM7_resolution 1 ? 1 :
($game_system.neoM7_resolution 2 ? 1.33 : 2)) # map sprite
# distance between the center of the map (halfwidth, pivot) and the projection plane surface
$game_temp.distance_p = $game_temp.distance_h - $game_temp.distance_h /
($game_system.neoM7_resolution 1 ? 1 :
($game_system.neoM7_resolution 2 ? 1.334 : 2))
# zoom value of the map sprite
@coeff_resolution = ($game_system.neoM7_resolution 1 ? 1 :
($game_system.neoM7_resolution 2 ? 1.334 : 2))
# x-offset for the 3 resolutions
@offset_x_res = ($game_system.neoM7_resolution 1 ? 0 :
($game_system.neoM7_resolution 2 ? 80 : 160))
# y-offset for the 3 resolutions
@offset_y_res = $game_temp.pivot - $game_temp.pivot_map
@index_animated = 0 # 0..3 : index of animated tiles pattern
# map sprite
self.sprite = Sprite.new(@viewport)
sprite.x = 0
sprite.y = 0
sprite.z = - 99999 # map must not mask vertical elements
self.sprite_screen = Sprite.new(viewport)
sprite_screen.x = 0
sprite_screen.y = 0
sprite_screen.z = - 99999
if $game_system.neoM7_resolution != 1
sprite.bitmap = ($game_system.neoM7_resolution 2 ?
Bitmap.new(480, 360) : Bitmap.new(320, 240))
else
sprite.bitmap = Bitmap.new(640, 480) # screen dimensions
end
sprite.zoom_x = @coeff_resolution
sprite.zoom_y = @coeff_resolution
if $game_system.neoM7Plus_always_same_res
sprite_screen.bitmap = sprite.bitmap
sprite_screen.zoom_x = @coeff_resolution
sprite_screen.zoom_y = @coeff_resolution
else
sprite_screen.bitmap = Bitmap.new(640, 480)
end
# angle of slant (alpha)
self.alpha = $game_system.neoM7_alpha
refresh_alpha
end
#--------------------------------------------------------------------------
# * Refresh all the parameters dependent on the angle of slant
#--------------------------------------------------------------------------
def refresh_alpha
# angle of slant
alpha_rad = (Math::PI * alpha) / 180
$game_temp.cos_alpha = (2048 * Math.cos(alpha_rad)).to_i
$game_temp.sin_alpha = (2048 * Math.sin(alpha_rad)).to_i
$game_system.neoM7_alpha = alpha
$game_system.neoM7_pivot = $game_temp.pivot
# h0, z0 : intermediate values used to calculate the slope
h0 = (- ($game_temp.distance_h) * $game_temp.pivot *
$game_temp.cos_alpha) / (($game_temp.distance_h << 11) +
$game_temp.pivot * $game_temp.sin_alpha) + $game_temp.pivot
z0 = ($game_temp.distance_h << 11).to_f /
(($game_temp.distance_h << 11) + $game_temp.pivot * $game_temp.sin_alpha)
# slope
$game_temp.slope_value = (1.0 - z0) / ($game_temp.pivot - h0)
$game_temp.slope_value_map = (131072 * $game_temp.slope_value).to_i
$game_temp.corrective_value = 1.0 - $game_temp.pivot * $game_temp.slope_value
$game_temp.corrective_value_map = (131072 * $game_temp.corrective_value / @coeff_resolution).to_i
last_line = - $game_temp.pivot_map - $game_system.neoM7_horizon
old_limit = $game_temp.neoM7_height_limit
$game_temp.neoM7_height_limit = (($game_temp.distance_h - $game_temp.distance_p) *
last_line * $game_temp.cos_alpha) / (($game_temp.distance_h << 11) -
last_line * $game_temp.sin_alpha) + $game_temp.pivot_map
if $game_system.neoM7_white_horizon
@options[1] = $game_temp.neoM7_height_limit > 0 ? 1 : 0
end
$game_temp.neoM7_height_limit = [$game_temp.neoM7_height_limit.to_i, 0].max
$game_temp.height_limit_sprites = $game_temp.neoM7_height_limit * @coeff_resolution
@even = ((old_limit - $game_temp.neoM7_height_limit) & 1 0 ? @even : !@even)
# delete lines beyond the new horizon
sprite.bitmap.clean_limit(old_limit,
$game_temp.neoM7_height_limit) if old_limit < $game_temp.neoM7_height_limit
@need_update = true
end
#--------------------------------------------------------------------------
# * Increase (or decrease) the angle of rotation
#--------------------------------------------------------------------------
def increase_theta(value)
self.theta += value
self.theta %= 360
theta_rad = (Math::PI * theta) / 180
$game_temp.cos_theta = (2048 * Math.cos(theta_rad)).to_i
$game_temp.sin_theta = (2048 * Math.sin(theta_rad)).to_i
$game_system.neoM7_theta = theta
@need_update = true
end
#--------------------------------------------------------------------------
# * Set the angle of rotation
#--------------------------------------------------------------------------
def set_theta(value)
self.theta = value % 360
theta_rad = (Math::PI * theta) / 180
$game_temp.cos_theta = (2048 * Math.cos(theta_rad)).to_i
$game_temp.sin_theta = (2048 * Math.sin(theta_rad)).to_i
$game_system.neoM7_theta = theta
@need_update = true
end
#--------------------------------------------------------------------------
# * Increase (or decrease) the zoom level
#--------------------------------------------------------------------------
def increase_zoom(value)
increase_zoom_neoM7Plus_tilemap(value)
@need_update = true
end
#--------------------------------------------------------------------------
# * Set the zoom level
#--------------------------------------------------------------------------
def set_zoom(value)
set_zoom_neoM7Plus_tilemap(value)
@need_update = true
end
#--------------------------------------------------------------------------
# * Update the map sprite and the vertical sprites
#--------------------------------------------------------------------------
def update
@offset_x = $game_map.display_x / 4 + @offset_x_res
@offset_y = $game_map.display_y / 4 + @offset_y_res
if !@need_update && (@offset_x != @offset_x_old || @offset_y != @offset_y_old)
@offset_x_old = @offset_x
@offset_y_old = @offset_y
@need_update = true
end
if @need_update
@need_update_anim = false
sprite_screen.visible = false
sprite.visible = true
# update map sprite
if $game_system.neoM7_filter
@even = !@even
@need_update = @even
@options[2] = @even ? 1 : 2
else
@need_update = false
end
sprite.bitmap.neoM7(@map_tileset, @bitmap_data, @width, @height, @offset_x, @offset_y, @options)
# update vertical sprites
for vertical_sprite in @vertical_sprites
vertical_sprite.update
end
@need_update_screen = true
elsif @need_update_screen || @need_update_anim
sprite_screen.visible = true
sprite.visible = false
@options[2] = 0
sprite_screen.bitmap.clear
if $game_system.neoM7Plus_always_same_res
sprite_screen.bitmap.neoM7(@map_tileset, @bitmap_data, @width, @height, @offset_x, @offset_y, @options)
else
sprite_screen.bitmap.neoM7_screen(@map_tileset, @bitmap_data, @width, @height,
$game_map.display_x / 4, $game_map.display_y / 4, @options)
end
@need_update_screen = false
@need_update_anim = false
end
end
#--------------------------------------------------------------------------
# * Update animation for animated tiles
#--------------------------------------------------------------------------
def update_animated
update_animated_neoM7Plus_tilemap
@need_update_anim = true
end
end
DLL : MGCmode7+.dll