¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3390 miembros registrados.
El último usuario registrado es Byakuya88.

Nuestros miembros han publicado un total de 79775 mensajes en 11251 argumentos.
Navega con Google Chrome
[DESCARGA]

SoG - Resolution Changer

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

SoG - Resolution Changer

Mensaje por Chronno el 2011-01-02, 03:52

Hola de nuevo

se que quizas paresca medio raro que postee esto pero les cuento, estaba intentando darme mas espacio para la interfaz de SoG - Scene Maker. Pero soy un desastre total con las Win32API y sin querer cree un script que permite cambiar la resolucion del maker la parte buena es que no requiere nada mas para funcionar(no he testeado del todo) son solo algunas lineas.

Funciones para la utilizacion:
SoG.window_size(ancho, alto) # si si el que quieran
SoG.fullscreen # detecta automaticamente la configuracion de windows

y eso es todo xDD no necesitan cambiar nada mas.

Datos:
Tamaño maximo de ventana: Totalmente desconcido comprobado 1360x1024
Tamaño maximo fullscreen: Totalmente desconcido comprobado 1360x1024

Codigo:

Código:

module SoG
  #----------------------------------------------------------------------
  # * API Definitions
  #----------------------------------------------------------------------
  GPPS = Win32API.new('kernel32','GetPrivateProfileString','PPPPLP', 'L')
  SetWindowLong    = Win32API.new('user32', 'SetWindowLong', 'LIL', 'L')
  SetWindowPos    = Win32API.new('user32', 'SetWindowPos', 'LLIIIII', 'I')
  GetClientRect    = Win32API.new('user32', 'GetClientRect', 'LP', 'I')
  FindWindow      = Win32API.new('user32', 'FindWindow', 'PP', 'I')
  GetSystemMetrics = Win32API.new('user32', 'GetSystemMetrics', 'L', 'L')
  #----------------------------------------------------------------------
  # * Get RGSS Player Window
  #----------------------------------------------------------------------
  def self.rgss_player
    title = "\0" * 256
    GPPS.call("Game", "Title", "", title, 256, ".\\Game.ini")
    title.delete!("\0")
    FindWindow.call("RGSS Player", title)
  end
  #----------------------------------------------------------------------
  # * Windows Screen Resolution
  #----------------------------------------------------------------------
  def self.windows_resolution
    width = GetSystemMetrics.call(0)
    height = GetSystemMetrics.call(1)
    return width, height
  end
  #----------------------------------------------------------------------
  # * Get Client size
  #----------------------------------------------------------------------
  def self.client_size
    rect = [0, 0, 0, 0].pack('l4')
    Win32API.new('user32','GetClientRect','LP','i').call(rgss_player,rect)
    width, height = rect.unpack('l4')[2..3]
    return width, height
  end
  #----------------------------------------------------------------------
  # * RGSS Player Resolution(Window Mode)
  #----------------------------------------------------------------------
  def self.window_size(w,h)
    default_size = windows_resolution
    x = default_size[0] / 2 - 403
    y = default_size[1] / 2 - 316
    SetWindowLong.call(rgss_player, -16, 0x14CA0000)
    SetWindowPos.call(rgss_player, 0, x, y, w, h, 0)
  end
  #----------------------------------------------------------------------
  # * RGSS Player Resolution(Window Mode)
  #----------------------------------------------------------------------
  def self.fullscreen
    reso = windows_resolution
    SetWindowLong.call(rgss_player, -16, 0x14000000)
    SetWindowPos.call(rgss_player,-1,0,0,reso[0] ,reso[1] ,64)
  end
end

Como usar:
1- Ponen esto encima de Main
2- Abren Main y justo debajo de "begin"
a) para iniciar fullscreen ponen "SoG.fullscreen" recuerden copiar bien las mayusculas y minusculas
b) para iniciar ventana ponen "SoG.window_size(ancho,alto)" ancho y alto que ustedes quieran
y listo xDDD

no hay instrucciones incluidas en el script porque en realidad para mi es un acto fallido solo lo publico antes de romperlo quizas a alguien le es util XD

Creditos:
Manuel Quinteros (Chronno)

Chronno
Soñador
Soñador

0/3

Créditos 158

Gracias : 2

Volver arriba Ir abajo

Re: SoG - Resolution Changer

Mensaje por Ronin_89 el 2011-01-02, 12:26

Eyy!!
Me interesa enormemente este script, suelo hacer graficos a lo grande, por lo que un poco mas de espacio en la pantalla no me vendría mal xD
Durante mucho tiempo he estado buscando algun script que hiciera esto, pero el unico que encontré hacía la pantalla más pequeña, asi que...

Pero bueno a lo que iba, acabo de probarlo, lo he colocado todo tal y como has dicho y el resultado ha sido este:


En lugar de rellenar la pantalla al completo, se ha quedado con su resolucón de siempre aunque la ventana esté a 1360x1024
Alguna idea de como solucionar esto?
Muchas gracias!!

Ronin_89
Novato
Novato

0/3

Créditos 94

Gracias : 2

Volver arriba Ir abajo

Re: SoG - Resolution Changer

Mensaje por Dweller el 2011-01-02, 15:20

Ronin si te interesa yo esoty probando un script de custom resolution que va bastante bien. Lo tengo funcionando con un sistema ABS (Blizz-ABS) y me va bastante bien (un poco de lag si sobrecargas de eventos los mapas). Es para Xp por cierto.
Si estas interesado dimelo y te lo paso.

un saludo,

Dweller
Novato
Novato

0/3

Créditos 101

Gracias : 2

http://subirdenivel.blogspot.com/

Volver arriba Ir abajo

Re: SoG - Resolution Changer

Mensaje por Wecoc el 2011-01-02, 17:23

Me pasa como a Ronin y me da mucho lag.
Yo para fullscreen utilizo esto (no pongo en Main):
Código:
  unless $keybd
    $keybd = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v' #Recognizes keyboard
    $keybd.call 0xA4, 0, 0, 0
    $keybd.call 13, 0, 0, 0
    $keybd.call 13, 0, 2, 0
    $keybd.call 0xA4, 0, 2, 0
  end
Lo bueno es que funca para RMXP y para RMVX.
Lo malo es que solo hace fullscreen, no puedes elegir todo eso (yo no llego a tanto).

EDIT: Con el SoG puesto y dimensiones 640x640 intenté cambiar las viewport por (0, 0, 640, 640) y fue una catástrofe xDDDDDD

Wecoc
Administrador
Administrador



Créditos 8265

Gracias : 372

Volver arriba Ir abajo

Re: SoG - Resolution Changer

Mensaje por Chronno el 2011-01-02, 18:38

Como dije antes Ese script solo cambia el tamaño de la ventana, a que me refiero con esto en vx supongamos:

la ventana standard contiene 544 x 416 pixels
si expanden a una ventana de 1024 x 768
la ventana continuara teniendo 544x416 pixels

la verdad es que no da mas espacio por eso dije uqe era un script fallido, ya que no me deja mas espacio.

Por cierto los que estan buscando resoluciones grandes en XP pueden intentar con ARGSS si mal no recuerdo Ale habia posteado Argss aca.

en vx seguire intentando con las API a ver que puedo lograr, pero estoy algo desconcertado porque no pasa como en xp que se expande la ventana y queda pequeño lo que se usa en el maker, sino que queda todo relleno o.0 aun no entiendo por que pasa eso, creo que Enterbrain se ha esforzado en molestarme xDDD

Chronno
Soñador
Soñador

0/3

Créditos 158

Gracias : 2

Volver arriba Ir abajo

Re: SoG - Resolution Changer

Mensaje por Metalero el 2011-01-02, 19:36

Si el unico que realmente funciona es el ARGSS, ahi le pones la resolucion que quieras (desde C++) complilas el exe, y sale andando, pero todavia faltan varias cosas (lo mas importante que se que faltaba son las transiciones, que a decir verdad es algo bastate complicado de hacer)

Yo recuerdo haber intentado hacer lo mismo por mi parte (con un desensamblador y un editor hexadecimal, si un asco ya lo se) y habia logrado hacer que la ventana arrancara en la resolucion que yo le ponia, pero a los pocos segundos, se volvia a poner en la resolucion standar.

El problema basico que tenes vos, es que aunque le puedas cambiar la resolucion desde el WinApi, el maker internamente va a seguir dibujando y "clipiando" en la resolucion standar.

_________________

Metalero
Administrador
Administrador



Créditos 1715

Gracias : 98

Volver arriba Ir abajo

Re: SoG - Resolution Changer

Mensaje por Chronno el 2011-01-02, 20:03

Si lo se, pero veamosle el lado positivo Metalero ahora los que usaban los resolution changer que ampliaban a 640x480 y despues editaban todo para centrar las imagenes no necesitan tanto codigo con esto XD

Chronno
Soñador
Soñador

0/3

Créditos 158

Gracias : 2

Volver arriba Ir abajo

Re: SoG - Resolution Changer

Mensaje por Dweller el 2011-01-04, 22:54

Ronin_89 pongo aquí el script de cambio de resolución que estoy usando por si alguien más lo quiere probar.

Este script es de ForeverZero y permite utilizar la configuración que queramos para nuestros proyectos de RPGmaker XP. Según mi propia experiencia mientras más eventos pongamos en el mapa más problemas de lag tendremos.
El script se pega encima del Main y además es necesario utilizar la biblioteca screenchot.dll de Fantasist colocándola en la carpeta del projecto (se puede bajar en el enlace donde está el script).

- Enlace a Script de Cambio de Resolución
- Enlace a plug-ins para compatibilidad con algunos scripts (ejemplo: UMS de ccoa)

De momento me va bastante bien y estoy contento con el resultado que se obtiene, espero que me comentes como te va a ti cuando lo uses (o a cualquiera que lo pruebe).

Dweller
Novato
Novato

0/3

Créditos 101

Gracias : 2

http://subirdenivel.blogspot.com/

Volver arriba Ir abajo

Re: SoG - Resolution Changer

Mensaje por Contenido patrocinado Hoy a las 18:12


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

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