Últimos temas
» [Sugerencia]Limpieza de recursos viejos en el foro.
por Cuyo1786 Hoy a las 9:52 am

» Busco grupo para un inexperta pero con ganas
por BACA Hoy a las 1:41 am

» Buscando pixel artista, trabajo pagado.
por pixeloid Ayer a las 11:33 pm

» [MV]Butterfly Paradox
por DopellSerch Ayer a las 9:44 pm

» LMD - Lunas de Magia Divina
por Zaabos Ayer a las 12:46 am

» LA BRÚJULA DE ZAZA [VXACE]
por Pocari Dom Oct 20, 2019 1:29 pm

» [VXA]Resident Evil Menu
por DorFenn Dom Oct 20, 2019 1:42 am

» (RMMV) Precognition
por JapoZero Jue Oct 17, 2019 11:40 pm

» Ayuda, duda
por BACA Miér Oct 16, 2019 7:38 pm

» Duda con ventana de comandos en Script
por DorFenn Lun Oct 14, 2019 1:46 am

» Índice Scripts RGSS3
por ZororoWhite Dom Oct 13, 2019 12:24 am

» [VX Ace] Script para duplicar tamaño y escala de ventana del juego
por ZororoWhite Dom Oct 13, 2019 12:23 am


[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9)

Ir abajo

[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) Empty [ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9)

Mensaje por RikuZala el Jue Feb 27, 2014 1:57 am

Nombre del script: FullScreen++
Creador: Zeus81
Modificaciones: RikuZala
Instalación: Copiar debajo de materials. (Si tienes alguna duda, pregunta)

¿Qué hace este script?
Básicamente al pressionar F5 o F6, dependiendo de lo que quieras conseguir, escala el juego hasta la resolución de tu pantalla. Así, evitas la deformación en pantallas 16:9 o 16:10, que son muy clásicas hoy en día, ya que RpgMaker está pensado para ejecutarse a 4:3.

¿Qué cambios hay con respecto al original?
Normalmente, es un coñazo darle al botoncito cada vez que vas a jugar para hacer la pantalla completa.
Pues bien, ahora es automático, aunque puedes seguir cambiando la pantalla con F5 o F6 a tu antojo.

Código:

Código:
# Fullscreen++ v2.2 for VX and VXace by Zeus81
# Free for non commercial and commercial use
# Licence : http://creativecommons.org/licenses/by-sa/3.0/
# Contact : zeusex81@gmail.com
# (fr) Manuel d'utilisation : http://pastebin.com/raw.php?i=1TQfMnVJ
# (en) User Guide           : http://pastebin.com/raw.php?i=EgnWt9ur

# Changes to automatic full screen by RikuZala
# Visita http://rmakercom.foroactivo.com/

$imported ||= {}
$imported[:Zeus_Fullscreen] = __FILE__

class << Graphics
  Disable_VX_Fullscreen = false
  CreateWindowEx            = Win32API.new('user32'  , 'CreateWindowEx'           , 'ippiiiiiiiii', 'i')
  GetClientRect             = Win32API.new('user32'  , 'GetClientRect'            , 'ip'          , 'i')
  GetDC                     = Win32API.new('user32'  , 'GetDC'                    , 'i'           , 'i')
  GetSystemMetrics          = Win32API.new('user32'  , 'GetSystemMetrics'         , 'i'           , 'i')
  GetWindowRect             = Win32API.new('user32'  , 'GetWindowRect'            , 'ip'          , 'i')
  FillRect                  = Win32API.new('user32'  , 'FillRect'                 , 'ipi'         , 'i')
  FindWindow                = Win32API.new('user32'  , 'FindWindow'               , 'pp'          , 'i')
  ReleaseDC                 = Win32API.new('user32'  , 'ReleaseDC'                , 'ii'          , 'i')
  SendInput                 = Win32API.new('user32'  , 'SendInput'                , 'ipi'         , 'i')
  SetWindowLong             = Win32API.new('user32'  , 'SetWindowLong'            , 'iii'         , 'i')
  SetWindowPos              = Win32API.new('user32'  , 'SetWindowPos'             , 'iiiiiii'     , 'i')
  ShowWindow                = Win32API.new('user32'  , 'ShowWindow'               , 'ii'          , 'i')
  SystemParametersInfo      = Win32API.new('user32'  , 'SystemParametersInfo'     , 'iipi'        , 'i')
  UpdateWindow              = Win32API.new('user32'  , 'UpdateWindow'             , 'i'           , 'i')
  GetPrivateProfileString   = Win32API.new('kernel32', 'GetPrivateProfileString'  , 'ppppip'      , 'i')
  WritePrivateProfileString = Win32API.new('kernel32', 'WritePrivateProfileString', 'pppp'        , 'i')
  CreateSolidBrush          = Win32API.new('gdi32'   , 'CreateSolidBrush'         , 'i'           , 'i')
  DeleteObject              = Win32API.new('gdi32'   , 'DeleteObject'             , 'i'           , 'i')
 
  unless method_defined?(:zeus_fullscreen_update)
    HWND     = FindWindow.call('RGSS Player', 0)
    BackHWND = CreateWindowEx.call(0x08000008, 'Static', '', 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0)
    alias zeus_fullscreen_resize_screen resize_screen
    alias zeus_fullscreen_update        update
    
  end
  
private
  def initialize_fullscreen_rects
    @borders_size    ||= borders_size
    @fullscreen_rect ||= screen_rect
    @workarea_rect   ||= workarea_rect
  end
  def borders_size
    GetWindowRect.call(HWND, wrect = [0, 0, 0, 0].pack('l4'))
    GetClientRect.call(HWND, crect = [0, 0, 0, 0].pack('l4'))
    wrect, crect = wrect.unpack('l4'), crect.unpack('l4')
    Rect.new(0, 0, wrect[2]-wrect[0]-crect[2], wrect[3]-wrect[1]-crect[3])
  end
  def screen_rect
    Rect.new(0, 0, GetSystemMetrics.call(0), GetSystemMetrics.call(1))
  end
  def workarea_rect
    SystemParametersInfo.call(0x30, 0, rect = [0, 0, 0, 0].pack('l4'), 0)
    rect = rect.unpack('l4')
    Rect.new(rect[0], rect[1], rect[2]-rect[0], rect[3]-rect[1])
  end
  def hide_borders() SetWindowLong.call(HWND, -16, 0x14000000) end
  def show_borders() SetWindowLong.call(HWND, -16, 0x14CA0000) end
  def hide_back()    ShowWindow.call(BackHWND, 0)              end
  def show_back
    ShowWindow.call(BackHWND, 3)
    UpdateWindow.call(BackHWND)
    dc    = GetDC.call(BackHWND)
    rect  = [0, 0, @fullscreen_rect.width, @fullscreen_rect.height].pack('l4')
    brush = CreateSolidBrush.call(0)
    FillRect.call(dc, rect, brush)
    ReleaseDC.call(BackHWND, dc)
    DeleteObject.call(brush)
  end
  def resize_window(w, h)
    if @fullscreen
      x, y, z = (@fullscreen_rect.width-w)/2, (@fullscreen_rect.height-h)/2, -1
    else
      w += @borders_size.width
      h += @borders_size.height
      x = @workarea_rect.x + (@workarea_rect.width  - w) / 2
      y = @workarea_rect.y + (@workarea_rect.height - h) / 2
      z = -2
    end
    SetWindowPos.call(HWND, z, x, y, w, h, 0)
  end
  def release_alt
    inputs = [1,18,2, 1,164,2, 1,165,2].pack('LSx2Lx16'*3)
    SendInput.call(3, inputs, 28)
  end
  public
  def load_fullscreen_settings
    buffer = [].pack('x256')
    section = 'Fullscreen++'
    filename = './Game.ini'
    get_option = Proc.new do |key, default_value|
      l = GetPrivateProfileString.call(section, key, default_value, buffer, buffer.size, filename)
      buffer[0, l]
    end
    @fullscreen       = get_option.call('Fullscreen'     , '0') == '1'
    @fullscreen_ratio = get_option.call('FullscreenRatio', '0').to_i
    @windowed_ratio   = get_option.call('WindowedRatio'  , '1').to_i
    toggle_vx_fullscreen if Disable_VX_Fullscreen and vx_fullscreen?
    fullscreen? ? fullscreen_mode : windowed_mode
   Graphics.fullscreen_mode
  end
  def save_fullscreen_settings
    section = 'Fullscreen++'
    filename = './Game.ini'
    set_option = Proc.new do |key, value|
      WritePrivateProfileString.call(section, key, value.to_s, filename)
    end
    set_option.call('Fullscreen'     , @fullscreen ? '1' : '0')
    set_option.call('FullscreenRatio', @fullscreen_ratio)
    set_option.call('WindowedRatio'  , @windowed_ratio)
  end
  def fullscreen?
    @fullscreen or vx_fullscreen?
  end
  def vx_fullscreen?
    rect = screen_rect
    rect.width == 640 and rect.height == 480
  end
  def toggle_fullscreen
    fullscreen? ? windowed_mode : fullscreen_mode
  end
  def toggle_vx_fullscreen
    windowed_mode if @fullscreen and !vx_fullscreen?
    inputs = [1,18,0, 1,13,0, 1,13,2, 1,18,2].pack('LSx2Lx16'*4)
    SendInput.call(4, inputs, 28)
    zeus_fullscreen_update
    self.ratio += 0 # refresh window size
  end
  def vx_fullscreen_mode
    return if vx_fullscreen?
    toggle_vx_fullscreen
  end
  def fullscreen_mode
    return if vx_fullscreen?
    initialize_fullscreen_rects
    show_back
    hide_borders
    @fullscreen = true
    self.ratio += 0 # refresh window size
  end
  def windowed_mode
    toggle_vx_fullscreen if vx_fullscreen?
    initialize_fullscreen_rects
    hide_back
    show_borders
    @fullscreen = false
    self.ratio += 0 # refresh window size
  end
  def toggle_ratio
    return if vx_fullscreen?
    self.ratio += 1
  end
  def ratio
    return 1 if vx_fullscreen?
    @fullscreen ? @fullscreen_ratio : @windowed_ratio
  end
  def ratio=(r)
    return if vx_fullscreen?
    initialize_fullscreen_rects
    r = 0 if r < 0
    if @fullscreen
      @fullscreen_ratio = r
      w_max, h_max = @fullscreen_rect.width, @fullscreen_rect.height
    else
      @windowed_ratio = r
      w_max = @workarea_rect.width  - @borders_size.width
      h_max = @workarea_rect.height - @borders_size.height
    end
    if r == 0
      w, h = w_max, w_max * height / width
      h, w = h_max, h_max * width / height if h > h_max
    else
      w, h = width * r, height * r
      return self.ratio = 0 if w > w_max or h > h_max
    end
    resize_window(w, h)
    save_fullscreen_settings
  end
  def update
    release_alt if Disable_VX_Fullscreen and Input.trigger?(Input::ALT)
    zeus_fullscreen_update
    toggle_fullscreen if Input.trigger?(Input::F5)
    toggle_ratio      if Input.trigger?(Input::F6)
  end
  def resize_screen(width, height)
    zeus_fullscreen_resize_screen(width, height)
    self.ratio += 0 # refresh window size
  end
 end
Graphics.load_fullscreen_settings

[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) ZVZE7wk

Confirmado por Turbi que funciona en VX.


Última edición por RikuZala el Jue Feb 27, 2014 2:29 am, editado 2 veces
RikuZala
RikuZala
PJ de Relleno
PJ de Relleno

Masculino
RPG Maker : Ace
Mensajes : 28
Monedas : 73
Reputación : 14
Edad : 33
Localización : The end of time.

Volver arriba Ir abajo

[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) Empty Re: [ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9)

Mensaje por Turbiosoft.acho el Jue Feb 27, 2014 1:59 am

Aehaehaeh tengo el privilegio de tenerlo desde hace meses :'D

Y sí, funciona en VX porque es el mismo que me pasaste xD Te dejo mis dies doy un +1 por el aporte.

_________________

¡Apoya PCII colocando esta barrita en tu firma!
[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) JZxmSi
Turbiosoft.acho apoya a...:
[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) AvSsi3
[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) TpIA16
[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) VqJJJp
[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) BU4sOt

Y a los juegos de Zoro y Japo (?)


Turbiosoft.acho
Turbiosoft.acho
Admin
Admin

Femenino
Rmakercom
RPG Maker : Ace
Mensajes : 1288
Monedas : 4383
Reputación : 200
Localización : En el glorioso y magistral Zulo.

Volver arriba Ir abajo

[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) Empty Re: [ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9)

Mensaje por dovahzaan el Jue Feb 27, 2014 11:21 am

Lo acabo de probar y masmola. Como poseedor de una 16:10 me mejora muchísimo al hacer widescreen.

Funciona perfectamente, el único pero es que usando este script la combinación ALT+ENTER no funciona, supongo que ya lo sabeis.
dovahzaan
dovahzaan
PJ de Quest
PJ de Quest

RPG Maker : Ace
Mensajes : 40
Monedas : 136
Reputación : 5
Localización : Ahí, donde ya sabes

Volver arriba Ir abajo

[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) Empty Re: [ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9)

Mensaje por RikuZala el Jue Feb 27, 2014 3:21 pm

@dovahzaan escribió:Lo acabo de probar y masmola. Como poseedor de una 16:10 me mejora muchísimo al hacer widescreen.

Funciona perfectamente, el único pero es que usando este script la combinación ALT+ENTER no funciona, supongo que ya lo sabeis.

Realmente lo deshabilité para que nadie lo utilice y así se deforme la imagen. :p

RikuZala
RikuZala
PJ de Relleno
PJ de Relleno

Masculino
RPG Maker : Ace
Mensajes : 28
Monedas : 73
Reputación : 14
Edad : 33
Localización : The end of time.

Volver arriba Ir abajo

[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) Empty Re: [ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9)

Mensaje por Nikkura el Mar Mayo 20, 2014 10:58 pm

Wow, decidí probarlo a ver que tal. ¡Y me fascinan los resultados! ¡Está genial! :)
Y que sencillo. Toma +1 xD
Nikkura
Nikkura
PJ de Relleno
PJ de Relleno

Masculino
RPG Maker : Ace
Mensajes : 18
Monedas : 29
Reputación : 0
Edad : 28

Volver arriba Ir abajo

[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) Empty Epico no,legen....espera...dario!

Mensaje por Aytharu el Miér Mayo 21, 2014 12:44 am

Me la has puesto un poco dura  al ver los resultados de este aporte ,definitvamente es para mi xD gracias por el aporte y ese +1 que no te falte por mi parte.
Aytharu
Aytharu
PJ Secundario
PJ Secundario

Masculino
España
RPG Maker : Ace
Mensajes : 170
Monedas : 778
Reputación : 14
Edad : 22
Localización : En tu interior,no mires,que asco.

Volver arriba Ir abajo

[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) Empty Re: [ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9)

Mensaje por KRiZaLiD el Miér Mayo 21, 2014 2:32 am

Me funciona, en VX y en el Ace, pero en ambos me sucede lo mismo. Cuando camino, como que no es muy fluido el scroll de la pantalla. Eso me molesta un poco.
Pero el hecho de que se vea en toda la pantalla, está genial el script. Se agradece por compartirlo. Saludos
se despide KriZ

_________________
Mi Proyecto:
[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) VqJJJp

[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) AnrEWG[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) UqGVnKv

KRiZaLiD apoya:
[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) 3gqmui[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) GJ7qjn[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) ZhwnH1[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) NT6Pp7[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) WXmSrO[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) CKEALv
KRiZaLiD
KRiZaLiD
Moderador
Moderador

Masculino
Chile
RPG Maker : Vx
Mensajes : 858
Monedas : 4332
Reputación : 110
Edad : 34
Localización : Florida (pueblo fantasma), Chile

Volver arriba Ir abajo

[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) Empty Re: [ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9)

Mensaje por AsmodianCroft el Mar Oct 07, 2014 12:01 pm

Gracias por compartir este script, lo estaba nececitando xD
me molestaba ver las lineas negras a los costados de la
pantalla.
AsmodianCroft
AsmodianCroft
PJ de Relleno
PJ de Relleno

Masculino
Argentina
RPG Maker : Ace
Mensajes : 5
Monedas : 7
Reputación : 0
Edad : 28
Localización : Mendoza

Volver arriba Ir abajo

[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) Empty Re: [ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9)

Mensaje por Turbiosoft.acho el Mar Oct 07, 2014 12:17 pm

Wow, el necropost aquí es over 9000... y no me enteré. Bad Turbi.

Hola, Asmodian. Sé que estás agradecido por este script, pero fíjate cuál es la fecha del último post: mayo. Es decir, has cometido un necropost. Asegúrate de leerte mejor las normas para evitar este tipo de cosas, no haré nada porque es la primera vez que te pasa pero procura que no vuelva a ocurrir. Si quieres agradecerle algo al autor de algún post que tiene ya mucha antigüedad, con darle un +1 (botoncito verde) bastará.

Y mú mal pa los tres mendrugos de antes (Nikkura, que fue el que lo empezó tó e.e) pero como llego también MUY tarde os lo dejaré pasar xDDDD

_________________

¡Apoya PCII colocando esta barrita en tu firma!
[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) JZxmSi
Turbiosoft.acho apoya a...:
[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) AvSsi3
[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) TpIA16
[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) VqJJJp
[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) BU4sOt

Y a los juegos de Zoro y Japo (?)


Turbiosoft.acho
Turbiosoft.acho
Admin
Admin

Femenino
Rmakercom
RPG Maker : Ace
Mensajes : 1288
Monedas : 4383
Reputación : 200
Localización : En el glorioso y magistral Zulo.

Volver arriba Ir abajo

[ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9) Empty Re: [ACE y VX] FullScreen sin distorsión (Conserva 4:3 en pantallas 16:9)

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.