[RGD] DirectX implementation of RGSS3

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
2,402
Reaction score
499
First Language
English
Primarily Uses
RMVXA
trashed. Made mistake of replying to an old post.

But at the same time it doesn't work for me.
 

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
2,402
Reaction score
499
First Language
English
Primarily Uses
RMVXA
What doesn't work
It actually just crashes. and if I run it in compatibility mode the mouse icon changes and crashes when starting on the first map.

Original file
1590597441267.png

RGD
1590597495862.png
 

BCj

Veteran
Veteran
Joined
Jun 19, 2014
Messages
1,725
Reaction score
923
First Language
Dutch
Primarily Uses
N/A
I found a bug :(

I'm using Woratana's Multiple Fog script, and there's something weird with the blending going on:


Doesn't matter if I try 0, 1 or 2, the screen turns really dark with the rain (but other fogs have problems too)

Is there something happening in the script that could cause it?


Code:
#===============================================================
# ● [VX] ◦ Multiple Fogs ◦ □
# * Use unlimited layers of fog *
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Released on: 13/05/2008
# ◦ Version: 1.0
# ◦ ported to VX Ace by Necromus 17/03/2012
#--------------------------------------------------------------
#==================================================================
# ** HOW TO USE **
# * use event command 'Script...' for the any script line below~
#-----------------------------------------------------------------
#
#---------------------------------------------------------------
# ** SETUP FOG PROPERTIES & SHOW FOG **
# * You have to setup fog properties, before show fog~
#-------------------------------------------------------------
# * There are 3 ways to setup fog properties:
# >> Setup Fog [Custom]:
# $fog.name = 'image_name' # Image file name, must be in fog image path (setup path below).
# $fog.hue = (integer) # Fog's hue. 0 - 360, 0 for no hue.
# $fog.tone = [red, green, blue, gray] # Fog's tone color.
# $fog.opacity = (integer) # Fog's opacity. 0 - 255, you will not see fog in 0.
# $fog.blend = (0, 1, or 2) # Fog's blend type. 0 for Normal, 1 for Add, 2 for Subtract.
# $fog.zoom = (integer) # Fog's size (in %). 100 for normal size.
# $fog.sx = (+ or - integer) # Fog's horizontal move speed.
# $fog.sy = (+ or - integer) # Fog's vertical move speed.
#
# >> Setup Fog [From Preset]:
# (You can setup fog presets, in part FOG PRESET SETUP below)
# $fog.load_preset(preset_id)
#
# >> Setup Fog [From Fog that showing]:
# $fog.load_fog(fog_id)
#
#--------------------------------------------------------------
# ** SHOW FOG **
#-------------------------------------------------------------
# After setup the fog, show fog by call script:
# $fog.show(fog_id)
#
# In case you want to show new fog on same ox, oy, tone as old fog. Call Script:
# $fog.show(old_fog_id, false)
#
# * fog_id: the ID number you want to put this fog in.
# (It can be any positive number or zero)
#
# After you show fog, the fog properties you've set will replace with default setting.
# (You can setup default setting, in part FOG DEFAULT SETTING below)
#
#--------------------------------------------------------------
# ** DELETE FOG **
#-------------------------------------------------------------
# You can delete 1 or more fog(s) at a time by call script:
# $fog.delete(fog_id, fog_id, fog_id, ...)
#
#---------------------------------------------------------------
# ** OLD FOG CONTROL EVENT COMMANDS **
#-------------------------------------------------------------
# Change Fog Tone:
# $game_map.fogtone(fog_id, [red, green, blue, gray], duration)
# e.g. $game_map.fogtone(1, [100,200,-100,0], 10)
# Change Fog Opacity:
# $game_map.fogopac(fog_id, new_opacity, duration)
# e.g. $game_map.fogopac(2, 200, 10)
#
#---------------------------------------------------------------
# ** ADDITIONAL SETTINGS **
#-------------------------------------------------------------
# Change Fog Image's Path:
# $game_map.fog_path = 'image_path'
# e.g. $game_map.fog_path = 'Graphics/Pictures/'
# Turn ON/OFF [Automatically clear all fogs when transfer player]:
# $game_map.fog_reset = (true / false)
#
#===============================================================
#==================================================================
# START ** MULTIPLE FOG SETUP **
#==================================================================
class Game_Map
alias wora_mulfog_gammap_ini initialize
def initialize
    wora_mulfog_gammap_ini

    #==================================================================
    # ** MULTIPLE FOG SETUP ** SETTINGS
    #--------------------------------------------------------------
    @fog_path = 'Graphics/Pictures/'
    # Fog image's path
    @fog_reset = true # (true or false)
    # Automatically clear all multiple fogs when transfer player
    #==================================================================

    @mulfog_name = []
    @mulfog_hue = []
    @mulfog_opacity = []
    @mulfog_blend_type = []
    @mulfog_zoom = []
    @mulfog_sx = []
    @mulfog_sy = []
    @mulfog_ox = []
    @mulfog_oy = []
    @mulfog_tone = []
    @mulfog_tone_target = []
    @mulfog_tone_duration = []
    @mulfog_opacity_duration = []
    @mulfog_opacity_target = []
end
end
class Wora_Multiple_Fog
def set_default
    #==================================================================
    # ** MULTIPLE FOG SETUP ** FOG DEFAULT SETTING
    #--------------------------------------------------------------
    @name = ''
    @hue = 0
    @opacity = 64
    @blend = 0
    @zoom = 200
    @sx = 0
    @sy = 0
    @tone = [0,0,0,0]
    #==================================================================
end

def load_preset(preset_id)
    case preset_id
#==================================================================
# ** MULTIPLE FOG SETUP ** FOG PRESET SETUP
#--------------------------------------------------------------
    when 1 # Preset ID 1
     @name = 'Cloud3'
     @hue = 0
     @tone = [0,0,20,0]
     @opacity = 100
     @blend = 0
     @zoom = 150
     @sx = 3
     @sy = 3
    when 2 # Preset ID 2
     @name = '002-Clouds01'
     @hue = 0
     @tone = [0,0,0,0]
     @opacity = 200
     @blend = 1
     @zoom = 200
     @sx = -2
     @sy = -2
    #==================================================================
end
end
#==================================================================
# END ** MULTIPLE FOG SETUP **
# * Don't change anything below unless you know what you're doing.
#==================================================================
attr_accessor :name, :hue, :opacity, :blend, :zoom, :sx, :sy, :tone
def initialize
    set_default
end

def load_fog(id)
    @name = $game_map.mulfog_name[id].sub($game_map.fog_path, '')
    @hue = $game_map.mulfog_hue[id]
    @opacity = $game_map.mulfog_opacity[id]
    @blend = $game_map.mulfog_blend_type[id]
    @zoom = $game_map.mulfog_zoom[id]
    @sx = $game_map.mulfog_sx[id]
    @sy = $game_map.mulfog_sy[id]
    tn = $game_map.mulfog_tone[id]
    @tone = [tn.red, tn.blue, tn.green, tn.gray]
end
def show(id, reset_all = true)
    $game_map.mulfog_name[id] = $game_map.fog_path + @name
    $game_map.mulfog_hue[id] = @hue
    $game_map.mulfog_opacity[id] = @opacity
    $game_map.mulfog_blend_type[id] = @blend
    $game_map.mulfog_zoom[id] = @zoom
    $game_map.mulfog_sx[id] = @sx
    $game_map.mulfog_sy[id] = @sy
    $game_map.mulfog_tone[id] = Tone.new(@tone[0], @tone[1], @tone[2], @tone[3])
    if $game_map.mulfog_ox[id].nil? or reset_all
     $game_map.mulfog_ox[id] = 0
     $game_map.mulfog_oy[id] = 0
     $game_map.mulfog_tone_target[id] = Tone.new(0, 0, 0, 0)
     $game_map.mulfog_tone_duration[id] = 0
     $game_map.mulfog_opacity_duration[id] = 0
     $game_map.mulfog_opacity_target[id] = 0
    end
    set_default
end

def delete(*args)
    args.each do |id|
     $game_map.mulfog_name[id] = ''
    end
end
end
class Game_Interpreter
alias wora_mulfog_interpret_com201 command_201
#--------------------------------------------------------------------------
# * Transfer Player
#--------------------------------------------------------------------------
def command_201
    if $game_map.fog_reset
     if @params[0] == 0; id_map = @params[1]
     else; id_map = $game_variables[@params[1]]
     end
     $game_map.clear_mulfog if id_map != @map_id
    end
    wora_mulfog_interpret_com201
end
end
class Game_Map
attr_accessor :mulfog_name, :mulfog_hue, :mulfog_opacity, :mulfog_blend_type,
:mulfog_zoom, :mulfog_sx, :mulfog_sy, :mulfog_ox, :mulfog_oy, :mulfog_tone,
:mulfog_tone_target, :mulfog_tone_duration, :mulfog_opacity_duration,
:mulfog_opacity_target, :fog_reset, :fog_path
alias wora_mulfog_gammap_upd update
def update(main)
    wora_mulfog_gammap_upd(main)
    @mulfog_name.each_index do |i|
     next if @mulfog_name[i].nil? or @mulfog_name[i] == ''
     # Manage fog scrolling
     @mulfog_ox[i] -= @mulfog_sx[i] / 8.0
     @mulfog_oy[i] -= @mulfog_sy[i] / 8.0
     # Manage change in fog color tone
     if @mulfog_tone_duration[i] >= 1
        d = @mulfog_tone_duration[i]
        target = @mulfog_tone_target[i]
        @mulfog_tone[i].red = (@mulfog_tone[i].red * (d - 1) + target.red) / d
        @mulfog_tone[i].green = (@mulfog_tone[i].green * (d - 1) + target.green) / d
        @mulfog_tone[i].blue = (@mulfog_tone[i].blue * (d - 1) + target.blue) / d
        @mulfog_tone[i].gray = (@mulfog_tone[i].gray * (d - 1) + target.gray) / d
        @mulfog_tone_duration[i] -= 1
     end
     # Manage change in fog opacity level
     if @mulfog_opacity_duration[i] >= 1
        d = @mulfog_opacity_duration[i]
        @mulfog_opacity[i] = (@mulfog_opacity[i] * (d - 1) + @mulfog_opacity_target[i]) / d
        @mulfog_opacity_duration[i] -= 1
     end
    end
end
#--------------------------------------------------------------------------
# * Start Changing Fog Color Tone
#--------------------------------------------------------------------------
def fogtone(i, tone, duration)
    duration = duration * 2
    tone = Tone.new(tone[0], tone[1], tone[2], tone[3])
    @mulfog_tone_target[i] = tone.clone
    @mulfog_tone_duration[i] = duration
    if @mulfog_tone_duration[i] == 0
     @mulfog_tone[i] = @mulfog_tone_target[i].clone
    end
end
#--------------------------------------------------------------------------
# * Start Changing Fog Opacity Level
#--------------------------------------------------------------------------
def fogopac(i, opacity, duration)
    duration = duration * 2
    @mulfog_opacity_target[i] = opacity * 1.0
    @mulfog_opacity_duration[i] = duration
    if @mulfog_opacity_duration[i] == 0
     @mulfog_opacity[i] = @mulfog_opacity_target[i]
    end
end

def clear_mulfog
    @mulfog_name.each_index {|i| @mulfog_name[i] = '' }
end
end
$worale = {} if !$worale
$worale['MutipleFog'] = true
$fog = Wora_Multiple_Fog.new
class Spriteset_Map
alias wora_mulfog_sprmap_crepal create_parallax
alias wora_mulfog_sprmap_updpal update_parallax
alias wora_mulfog_sprmap_dispal dispose_parallax

def create_parallax
    @mulfog = []
    @mulfog_name = []
    @mulfog_hue = []
    wora_mulfog_sprmap_crepal
end

def update_parallax
     wora_mulfog_sprmap_updpal
    $game_map.mulfog_name.each_index do |i|
     next if $game_map.mulfog_name[i].nil?
     # If fog is different than current fog
     if @mulfog_name[i] != $game_map.mulfog_name[i] or @mulfog_hue[i] != $game_map.mulfog_hue[i]
        @mulfog_name[i] = $game_map.mulfog_name[i]
        @mulfog_hue[i] = $game_map.mulfog_hue[i]
        if @mulfog[i].nil?
         @mulfog[i] = Plane.new(@viewport3)
         @mulfog[i].z = 3000
        end
        if @mulfog[i].bitmap != nil
         @mulfog[i].bitmap.dispose
         @mulfog[i].bitmap = nil
        end
        if @mulfog_name[i] != ''
         @mulfog[i].bitmap = Cache.load_bitmap('', @mulfog_name[i], @mulfog_hue[i])
        end
        Graphics.frame_reset
     end
     next if @mulfog[i].bitmap.nil?
     # Update fog plane
     @mulfog[i].zoom_x = ($game_map.mulfog_zoom[i] / 100.0) if @mulfog[i].zoom_x != ($game_map.mulfog_zoom[i] / 100.0)
     @mulfog[i].zoom_y = ($game_map.mulfog_zoom[i] / 100.0) if @mulfog[i].zoom_y != ($game_map.mulfog_zoom[i] / 100.0)
     @mulfog[i].opacity = $game_map.mulfog_opacity[i] if @mulfog[i].opacity != $game_map.mulfog_opacity[i]
     @mulfog[i].blend_type = $game_map.mulfog_blend_type[i] if @mulfog[i].blend_type != $game_map.mulfog_blend_type[i]
     @mulfog[i].ox = $game_map.mulfog_ox[i] + $game_map.display_x * 32 if @mulfog[i].ox != $game_map.mulfog_ox[i] + $game_map.display_x * 32
     @mulfog[i].oy = $game_map.mulfog_oy[i] + $game_map.display_y * 32 if @mulfog[i].oy != $game_map.mulfog_oy[i] + $game_map.display_y * 32
     @mulfog[i].tone = $game_map.mulfog_tone[i] if @mulfog[i].tone != $game_map.mulfog_tone[i]
    end
end

def dispose_parallax
    @mulfog.each_index do |i|
     next if @mulfog[i].nil?
     @mulfog[i].bitmap.dispose if !@mulfog[i].bitmap.nil?
     @mulfog[i].dispose
    end
    wora_mulfog_sprmap_dispal
end
end
#==================================================================
# [END] VX Multiple Fog by Woratana [woratana@hotmail.com]
#==================================================================
 

invwindy

Ice Fairy
Veteran
Joined
Apr 9, 2016
Messages
85
Reaction score
87
First Language
Chinese
Primarily Uses
RMVXA
It actually just crashes. and if I run it in compatibility mode the mouse icon changes and crashes when starting on the first map.

Original file
View attachment 145473

RGD
View attachment 145474
Are you using RGD on a virtual machine, and do your system supports directX 9?
These two are most common reasons for RGD crashes.

I found a bug :(

I'm using Woratana's Multiple Fog script, and there's something weird with the blending going on:


Doesn't matter if I try 0, 1 or 2, the screen turns really dark with the rain (but other fogs have problems too)

Is there something happening in the script that could cause it?


Code:
#===============================================================
# ● [VX] ◦ Multiple Fogs ◦ □
# * Use unlimited layers of fog *
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Released on: 13/05/2008
# ◦ Version: 1.0
# ◦ ported to VX Ace by Necromus 17/03/2012
#--------------------------------------------------------------
#==================================================================
# ** HOW TO USE **
# * use event command 'Script...' for the any script line below~
#-----------------------------------------------------------------
#
#---------------------------------------------------------------
# ** SETUP FOG PROPERTIES & SHOW FOG **
# * You have to setup fog properties, before show fog~
#-------------------------------------------------------------
# * There are 3 ways to setup fog properties:
# >> Setup Fog [Custom]:
# $fog.name = 'image_name' # Image file name, must be in fog image path (setup path below).
# $fog.hue = (integer) # Fog's hue. 0 - 360, 0 for no hue.
# $fog.tone = [red, green, blue, gray] # Fog's tone color.
# $fog.opacity = (integer) # Fog's opacity. 0 - 255, you will not see fog in 0.
# $fog.blend = (0, 1, or 2) # Fog's blend type. 0 for Normal, 1 for Add, 2 for Subtract.
# $fog.zoom = (integer) # Fog's size (in %). 100 for normal size.
# $fog.sx = (+ or - integer) # Fog's horizontal move speed.
# $fog.sy = (+ or - integer) # Fog's vertical move speed.
#
# >> Setup Fog [From Preset]:
# (You can setup fog presets, in part FOG PRESET SETUP below)
# $fog.load_preset(preset_id)
#
# >> Setup Fog [From Fog that showing]:
# $fog.load_fog(fog_id)
#
#--------------------------------------------------------------
# ** SHOW FOG **
#-------------------------------------------------------------
# After setup the fog, show fog by call script:
# $fog.show(fog_id)
#
# In case you want to show new fog on same ox, oy, tone as old fog. Call Script:
# $fog.show(old_fog_id, false)
#
# * fog_id: the ID number you want to put this fog in.
# (It can be any positive number or zero)
#
# After you show fog, the fog properties you've set will replace with default setting.
# (You can setup default setting, in part FOG DEFAULT SETTING below)
#
#--------------------------------------------------------------
# ** DELETE FOG **
#-------------------------------------------------------------
# You can delete 1 or more fog(s) at a time by call script:
# $fog.delete(fog_id, fog_id, fog_id, ...)
#
#---------------------------------------------------------------
# ** OLD FOG CONTROL EVENT COMMANDS **
#-------------------------------------------------------------
# Change Fog Tone:
# $game_map.fogtone(fog_id, [red, green, blue, gray], duration)
# e.g. $game_map.fogtone(1, [100,200,-100,0], 10)
# Change Fog Opacity:
# $game_map.fogopac(fog_id, new_opacity, duration)
# e.g. $game_map.fogopac(2, 200, 10)
#
#---------------------------------------------------------------
# ** ADDITIONAL SETTINGS **
#-------------------------------------------------------------
# Change Fog Image's Path:
# $game_map.fog_path = 'image_path'
# e.g. $game_map.fog_path = 'Graphics/Pictures/'
# Turn ON/OFF [Automatically clear all fogs when transfer player]:
# $game_map.fog_reset = (true / false)
#
#===============================================================
#==================================================================
# START ** MULTIPLE FOG SETUP **
#==================================================================
class Game_Map
alias wora_mulfog_gammap_ini initialize
def initialize
    wora_mulfog_gammap_ini

    #==================================================================
    # ** MULTIPLE FOG SETUP ** SETTINGS
    #--------------------------------------------------------------
    @fog_path = 'Graphics/Pictures/'
    # Fog image's path
    @fog_reset = true # (true or false)
    # Automatically clear all multiple fogs when transfer player
    #==================================================================

    @mulfog_name = []
    @mulfog_hue = []
    @mulfog_opacity = []
    @mulfog_blend_type = []
    @mulfog_zoom = []
    @mulfog_sx = []
    @mulfog_sy = []
    @mulfog_ox = []
    @mulfog_oy = []
    @mulfog_tone = []
    @mulfog_tone_target = []
    @mulfog_tone_duration = []
    @mulfog_opacity_duration = []
    @mulfog_opacity_target = []
end
end
class Wora_Multiple_Fog
def set_default
    #==================================================================
    # ** MULTIPLE FOG SETUP ** FOG DEFAULT SETTING
    #--------------------------------------------------------------
    @name = ''
    @hue = 0
    @opacity = 64
    @blend = 0
    @zoom = 200
    @sx = 0
    @sy = 0
    @tone = [0,0,0,0]
    #==================================================================
end

def load_preset(preset_id)
    case preset_id
#==================================================================
# ** MULTIPLE FOG SETUP ** FOG PRESET SETUP
#--------------------------------------------------------------
    when 1 # Preset ID 1
     @name = 'Cloud3'
     @hue = 0
     @tone = [0,0,20,0]
     @opacity = 100
     @blend = 0
     @zoom = 150
     @sx = 3
     @sy = 3
    when 2 # Preset ID 2
     @name = '002-Clouds01'
     @hue = 0
     @tone = [0,0,0,0]
     @opacity = 200
     @blend = 1
     @zoom = 200
     @sx = -2
     @sy = -2
    #==================================================================
end
end
#==================================================================
# END ** MULTIPLE FOG SETUP **
# * Don't change anything below unless you know what you're doing.
#==================================================================
attr_accessor :name, :hue, :opacity, :blend, :zoom, :sx, :sy, :tone
def initialize
    set_default
end

def load_fog(id)
    @name = $game_map.mulfog_name[id].sub($game_map.fog_path, '')
    @hue = $game_map.mulfog_hue[id]
    @opacity = $game_map.mulfog_opacity[id]
    @blend = $game_map.mulfog_blend_type[id]
    @zoom = $game_map.mulfog_zoom[id]
    @sx = $game_map.mulfog_sx[id]
    @sy = $game_map.mulfog_sy[id]
    tn = $game_map.mulfog_tone[id]
    @tone = [tn.red, tn.blue, tn.green, tn.gray]
end
def show(id, reset_all = true)
    $game_map.mulfog_name[id] = $game_map.fog_path + @name
    $game_map.mulfog_hue[id] = @hue
    $game_map.mulfog_opacity[id] = @opacity
    $game_map.mulfog_blend_type[id] = @blend
    $game_map.mulfog_zoom[id] = @zoom
    $game_map.mulfog_sx[id] = @sx
    $game_map.mulfog_sy[id] = @sy
    $game_map.mulfog_tone[id] = Tone.new(@tone[0], @tone[1], @tone[2], @tone[3])
    if $game_map.mulfog_ox[id].nil? or reset_all
     $game_map.mulfog_ox[id] = 0
     $game_map.mulfog_oy[id] = 0
     $game_map.mulfog_tone_target[id] = Tone.new(0, 0, 0, 0)
     $game_map.mulfog_tone_duration[id] = 0
     $game_map.mulfog_opacity_duration[id] = 0
     $game_map.mulfog_opacity_target[id] = 0
    end
    set_default
end

def delete(*args)
    args.each do |id|
     $game_map.mulfog_name[id] = ''
    end
end
end
class Game_Interpreter
alias wora_mulfog_interpret_com201 command_201
#--------------------------------------------------------------------------
# * Transfer Player
#--------------------------------------------------------------------------
def command_201
    if $game_map.fog_reset
     if @params[0] == 0; id_map = @params[1]
     else; id_map = $game_variables[@params[1]]
     end
     $game_map.clear_mulfog if id_map != @map_id
    end
    wora_mulfog_interpret_com201
end
end
class Game_Map
attr_accessor :mulfog_name, :mulfog_hue, :mulfog_opacity, :mulfog_blend_type,
:mulfog_zoom, :mulfog_sx, :mulfog_sy, :mulfog_ox, :mulfog_oy, :mulfog_tone,
:mulfog_tone_target, :mulfog_tone_duration, :mulfog_opacity_duration,
:mulfog_opacity_target, :fog_reset, :fog_path
alias wora_mulfog_gammap_upd update
def update(main)
    wora_mulfog_gammap_upd(main)
    @mulfog_name.each_index do |i|
     next if @mulfog_name[i].nil? or @mulfog_name[i] == ''
     # Manage fog scrolling
     @mulfog_ox[i] -= @mulfog_sx[i] / 8.0
     @mulfog_oy[i] -= @mulfog_sy[i] / 8.0
     # Manage change in fog color tone
     if @mulfog_tone_duration[i] >= 1
        d = @mulfog_tone_duration[i]
        target = @mulfog_tone_target[i]
        @mulfog_tone[i].red = (@mulfog_tone[i].red * (d - 1) + target.red) / d
        @mulfog_tone[i].green = (@mulfog_tone[i].green * (d - 1) + target.green) / d
        @mulfog_tone[i].blue = (@mulfog_tone[i].blue * (d - 1) + target.blue) / d
        @mulfog_tone[i].gray = (@mulfog_tone[i].gray * (d - 1) + target.gray) / d
        @mulfog_tone_duration[i] -= 1
     end
     # Manage change in fog opacity level
     if @mulfog_opacity_duration[i] >= 1
        d = @mulfog_opacity_duration[i]
        @mulfog_opacity[i] = (@mulfog_opacity[i] * (d - 1) + @mulfog_opacity_target[i]) / d
        @mulfog_opacity_duration[i] -= 1
     end
    end
end
#--------------------------------------------------------------------------
# * Start Changing Fog Color Tone
#--------------------------------------------------------------------------
def fogtone(i, tone, duration)
    duration = duration * 2
    tone = Tone.new(tone[0], tone[1], tone[2], tone[3])
    @mulfog_tone_target[i] = tone.clone
    @mulfog_tone_duration[i] = duration
    if @mulfog_tone_duration[i] == 0
     @mulfog_tone[i] = @mulfog_tone_target[i].clone
    end
end
#--------------------------------------------------------------------------
# * Start Changing Fog Opacity Level
#--------------------------------------------------------------------------
def fogopac(i, opacity, duration)
    duration = duration * 2
    @mulfog_opacity_target[i] = opacity * 1.0
    @mulfog_opacity_duration[i] = duration
    if @mulfog_opacity_duration[i] == 0
     @mulfog_opacity[i] = @mulfog_opacity_target[i]
    end
end

def clear_mulfog
    @mulfog_name.each_index {|i| @mulfog_name[i] = '' }
end
end
$worale = {} if !$worale
$worale['MutipleFog'] = true
$fog = Wora_Multiple_Fog.new
class Spriteset_Map
alias wora_mulfog_sprmap_crepal create_parallax
alias wora_mulfog_sprmap_updpal update_parallax
alias wora_mulfog_sprmap_dispal dispose_parallax

def create_parallax
    @mulfog = []
    @mulfog_name = []
    @mulfog_hue = []
    wora_mulfog_sprmap_crepal
end

def update_parallax
     wora_mulfog_sprmap_updpal
    $game_map.mulfog_name.each_index do |i|
     next if $game_map.mulfog_name[i].nil?
     # If fog is different than current fog
     if @mulfog_name[i] != $game_map.mulfog_name[i] or @mulfog_hue[i] != $game_map.mulfog_hue[i]
        @mulfog_name[i] = $game_map.mulfog_name[i]
        @mulfog_hue[i] = $game_map.mulfog_hue[i]
        if @mulfog[i].nil?
         @mulfog[i] = Plane.new(@viewport3)
         @mulfog[i].z = 3000
        end
        if @mulfog[i].bitmap != nil
         @mulfog[i].bitmap.dispose
         @mulfog[i].bitmap = nil
        end
        if @mulfog_name[i] != ''
         @mulfog[i].bitmap = Cache.load_bitmap('', @mulfog_name[i], @mulfog_hue[i])
        end
        Graphics.frame_reset
     end
     next if @mulfog[i].bitmap.nil?
     # Update fog plane
     @mulfog[i].zoom_x = ($game_map.mulfog_zoom[i] / 100.0) if @mulfog[i].zoom_x != ($game_map.mulfog_zoom[i] / 100.0)
     @mulfog[i].zoom_y = ($game_map.mulfog_zoom[i] / 100.0) if @mulfog[i].zoom_y != ($game_map.mulfog_zoom[i] / 100.0)
     @mulfog[i].opacity = $game_map.mulfog_opacity[i] if @mulfog[i].opacity != $game_map.mulfog_opacity[i]
     @mulfog[i].blend_type = $game_map.mulfog_blend_type[i] if @mulfog[i].blend_type != $game_map.mulfog_blend_type[i]
     @mulfog[i].ox = $game_map.mulfog_ox[i] + $game_map.display_x * 32 if @mulfog[i].ox != $game_map.mulfog_ox[i] + $game_map.display_x * 32
     @mulfog[i].oy = $game_map.mulfog_oy[i] + $game_map.display_y * 32 if @mulfog[i].oy != $game_map.mulfog_oy[i] + $game_map.display_y * 32
     @mulfog[i].tone = $game_map.mulfog_tone[i] if @mulfog[i].tone != $game_map.mulfog_tone[i]
    end
end

def dispose_parallax
    @mulfog.each_index do |i|
     next if @mulfog[i].nil?
     @mulfog[i].bitmap.dispose if !@mulfog[i].bitmap.nil?
     @mulfog[i].dispose
    end
    wora_mulfog_sprmap_dispal
end
end
#==================================================================
# [END] VX Multiple Fog by Woratana [woratana@hotmail.com]
#==================================================================
Viewport blending in RGD is different from RGSS. If you use additive or subtractive blending, the result may be different.
 

invwindy

Ice Fairy
Veteran
Joined
Apr 9, 2016
Messages
85
Reaction score
87
First Language
Chinese
Primarily Uses
RMVXA
quick update on the shadow bug: it still happens.
I'll post some screenshots later, but I was able to tie it to Group-2 Autotiles, specifically Block A, sections 3 & 4

from my testing, sections 3 & 4 always render without shadows.

I came to this conclusion also by accident, so further testing is required.

@sawworm , @BCj , I can render fullscreen with alt-enter just fine, and I heavily modified it.
I'm using a partial plugin for a submenu on the title screen, and part of that code runs the fullscreen change, so it might be my doing making that happen..... but alt-enter, widescreen AND, various resolutions, can definitely happen.

EDIT: uploaded pic.
I accidentally modified the tileset for another map and it screwed up this one, but fortunately that evidenced the tiles that were overlapped.
you can see how this screenshot compares to the video, and where the shadows appear or not.
these tiles are a vanilla Outside_A2, so you can use that as reference.

View attachment 143981

View attachment 143982

@sawworm , @BCj
that game window is 640x512, so you can see widescreen is possible, as well as full screen.

EDIT2:
@sawworm @BCj
I did a quick check and the results are inconclusive. I disabled the plugin I'm running and it switches fine to fullscreen AND widescreen. RGD should run just fine on it's own.
I left the plugin running until now, for this very reason. I was unsure RGD would render resolutions above 800x600 but I guess it does.
This is really strange. The tileset rendering method in original RGSS is also not clear to me. Please let me know if you have other test results.
 

BCj

Veteran
Veteran
Joined
Jun 19, 2014
Messages
1,725
Reaction score
923
First Language
Dutch
Primarily Uses
N/A
Are you using RGD on a virtual machine, and do your system supports directX 9?
These two are most common reasons for RGD crashes.



Viewport blending in RGD is different from RGSS. If you use additive or subtractive blending, the result may be different.
Is there any way to fix it so it looks like it's supposed to?
 

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
2,402
Reaction score
499
First Language
English
Primarily Uses
RMVXA
Are you using RGD on a virtual machine, and do your system supports directX 9?
These two are most common reasons for RGD crashes.
While I can't say for sure that my Geforce GTX 770 video card supports directx 9, it does support direct x 11 & 12. I installed the directx 9 package just to be sure.
There seems to be issues with having multiple graphic modifiers. Luna engine, Khas Ultra Lighting.
I did a test where I removed several chunks of my scripts and with luna engine and khas out it ran better.
It's been a few weeks now so I can;t remember exactly what I did.
And no not a virtual machine, that would be silly.
Specs in my signature block
 

Valentine90

Veteran
Veteran
Joined
Oct 5, 2017
Messages
48
Reaction score
15
First Language
Português
Primarily Uses
RMVXA
1) A small "mistake" that I am reporting if someone has not yet spoken or noticed. The texts are not exactly in the center, they are always a little more to the left:


The code I'm using to draw the text is:
Code:
self.bitmap.draw_text(self.bitmap.rect, 'Inventário (I)', 1)

2) Is there a way to check that the middle mouse button is being pressed down and up? This would be useful for scroll bars.
 
Last edited:

BCj

Veteran
Veteran
Joined
Jun 19, 2014
Messages
1,725
Reaction score
923
First Language
Dutch
Primarily Uses
N/A
Actually, I found another.. thing :(

I'm using 2 scripts that utilize bitmaps/images. They work fine in VX Ace, but when using RGD, the game just shuts down.
Is there a way to fix that?
 

Valentine90

Veteran
Veteran
Joined
Oct 5, 2017
Messages
48
Reaction score
15
First Language
Português
Primarily Uses
RMVXA
If possible, it would be interesting to be able to draw text and images directly in the scene update, without having to create a Sprite, the way that DirectX 9 normally works, for those who want better FPS performance. There would be 2 extra functions: one for text and one for images.
 

Creta_Park

Villager
Member
Joined
Apr 29, 2020
Messages
21
Reaction score
19
First Language
Korean
Primarily Uses
RMMV
Hey my friend reported to me recently this modified program contains Trojan virus.

After the Steam build review with this has been completed and approved for deployment on Steam, my friend has experienced multiple weird behaviours of Windows.

1593664000971.png

- Chrome browser is keep changing font size repeatedly.
- Discord's screen started not stable to running. (since Discord is Chromium based program)
- Resolution changed automatically.
- Unintall and reinstalled some program in Control panel, but actually installed outdated program.
- Steam community and my profile page is not stable and when using Chinese characters will makes incorrect glyph to display(like )
- Tried Google drive backup, this changes file name into real name.
- Even after formatted Windows, it's still have weird behaviours such as can't right click and unknown processes.
 
Last edited:

BCj

Veteran
Veteran
Joined
Jun 19, 2014
Messages
1,725
Reaction score
923
First Language
Dutch
Primarily Uses
N/A
Are you sure it's RGD? My antivirus doens't respond to it at all.
 

Creta_Park

Villager
Member
Joined
Apr 29, 2020
Messages
21
Reaction score
19
First Language
Korean
Primarily Uses
RMMV
Are you sure it's RGD? My antivirus doens't respond to it at all.
My friend said : It's fine at first of all, but when Steam approved for deployment then it's comes out.
He had been to a reseller for the repair of his computer cause by this problem.
 

gstv87

Veteran
Veteran
Joined
Oct 20, 2015
Messages
2,187
Reaction score
1,164
First Language
Spanish
Primarily Uses
RMVXA
when Steam approved for deployment
so, to clarify:
when using RGD on it's own, it doesn't have any issues.... but when packing it with a deployment through the Steam version then the problems begin?

do the problems still come up with a normal packing uploaded to Steam? like, packed from a non-Steam version?
do the problems still come up through a Steam packing, deployed normally?

those are the variables to sort out: the involvement of Steam, the method of packing, and the method of uploading.
because, if Steam (the website) takes a normal upload and modifies it in any way, that could cause problems.
 

Creta_Park

Villager
Member
Joined
Apr 29, 2020
Messages
21
Reaction score
19
First Language
Korean
Primarily Uses
RMMV
so, to clarify:
when using RGD on it's own, it doesn't have any issues.... but when packing it with a deployment through the Steam version then the problems begin?

do the problems still come up with a normal packing uploaded to Steam? like, packed from a non-Steam version?
do the problems still come up through a Steam packing, deployed normally?

those are the variables to sort out: the involvement of Steam, the method of packing, and the method of uploading.
because, if Steam (the website) takes a normal upload and modifies it in any way, that could cause problems.
He said it has occurred since the approval of Steam, so first one is may correct.
 

BCj

Veteran
Veteran
Joined
Jun 19, 2014
Messages
1,725
Reaction score
923
First Language
Dutch
Primarily Uses
N/A
It says it's zpevdo.b trojan. A quick Google check says it started showing up in steam and gog (gwent) in 2018. And it's most likely a false positive.
So are you sure it's nothing else?
If your windows is formatted, shouldn't the trojan or virus be gone.
 

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,384
Reaction score
2,599
First Language
Binary
Primarily Uses
RMMV
I ran the exe through virustotal.com a couple of times. Both times it has returned 2/72 antivirus programs saying its malicious. could be a false positive, could be something more.
 

Creta_Park

Villager
Member
Joined
Apr 29, 2020
Messages
21
Reaction score
19
First Language
Korean
Primarily Uses
RMMV
If your windows is formatted, shouldn't the trojan or virus be gone.
As he said to me above :
- Even after formatted Windows, it's still have weird behaviours such as can't right click and unknown processes.

This is might can be a clue.
 

BCj

Veteran
Veteran
Joined
Jun 19, 2014
Messages
1,725
Reaction score
923
First Language
Dutch
Primarily Uses
N/A
I ran the exe through virustotal.com a couple of times. Both times it has returned 2/72 antivirus programs saying its malicious. could be a false positive, could be something more.
They say 2/72 is false positives most likely though.
I just find it strange, since I have no issues whatsoever and I have been using RGD.

Hell, for the heck of it, I ran the normal(!) rpg vx ace game.exe through virustotal, and it said it was malicious too. Ehm?

 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

And back. Trying to work online with no internet for 1.5 days was...interesting. I felt like a character in a old Sierra game trying to find internet due to all the hoops I had to jump through just to get online for work.
grief... if MV didn't have certain plugins already, I think I'd upgrade to MZ. seeing like 10 MV plugins in 1 MZ one is hilariously convenient lol.
Have you already checkes out my mapping tutorial on the blog? I would love to hear your feedback and things you'd like to see in the future!

one of character for my upcoming game idk how to design o_O

Designing patches that can 'augmented' to clothing based armor. Such good fun. A bit time consuming due to the need to create image displays, but the patches are limited so it's not too tiring.
Note: lol, posting this made me find a couple mistakes.

Forum statistics

Threads
100,736
Messages
978,936
Members
132,357
Latest member
Versitax
Top