RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
[RMVX] Full screen with resolution detection

0 Members and 1 Guest are viewing this topic.

***
Rep:
Level 81
Monster Hunter
i was looking for a script that displays the game in full screen and i found a lot of them , but i would like it to have a special feature that lets the script check the screens resolution, i found this http://www.ruby-forum.com/topic/92264 topic but i don't understand how that works, could someone help me or make this for me please?

EDIT:
i also found this one that already has the hight done but not the width , i would like it to find the width  by itself too.
Code: [Select]
# Fullscreen++ v1.0 by Zeus81
# Description :
#   Permet d'avoir un mode plein écran plus intelligent qui utilise un maximum
#   de la surface de l'écran tout en gardant le bon ratio.
#   Alt+Entreé utilise toujours l'ancien mode plein.
#   Pour utiliser ce nouveau mode plein écran appuyez sur F5.
#   Pour faire démarrer le jeu automatiquement en plein écran voir ligne 14.
# Méthodes :
#   Graphics.fullscreen?     : pour savoir si on est en mode plein écran ou pas.
#   Graphics.fullscreen_mode : passe en mode plein écran.
#   Graphics.windowed_mode   : passe en mode fenêtré.
#   Graphics.toggle_mode     : passe d'un mode à l'autre.
class << Graphics
  fullscreen_start = false # 'true' pour démarrer en plein écran sinon 'false'
 
  FindWindow       = Win32API.new('user32', 'FindWindow'      , 'pp'          , 'l')
  CreateWindowEx   = Win32API.new('user32', 'CreateWindowEx'  , 'lpplllllllll', 'l')
  UpdateWindow     = Win32API.new('user32', 'UpdateWindow'    , 'l'           , 'l')
  ShowWindow       = Win32API.new('user32', 'ShowWindow'      , 'll'          , 'l')
  SetWindowLong    = Win32API.new('user32', 'SetWindowLong'   , 'lll'         , 'l')
  SetWindowPos     = Win32API.new('user32', 'SetWindowPos'    , 'lllllll'     , 'l')
  GetSystemMetrics = Win32API.new('user32', 'GetSystemMetrics', 'l'           , 'l')
  GetDC            = Win32API.new('user32', 'GetDC'           , 'l'           , 'l')
  FillRect         = Win32API.new('user32', 'FillRect'        , 'lpl'         , 'l')
  CreateSolidBrush = Win32API.new('gdi32' , 'CreateSolidBrush', 'l'           , 'l')
  if first_start = !method_defined?(:zeus81_fullscreen_update)
    @@MainWindow = FindWindow.call('RGSS Player', 0)
    @@BackWindow = CreateWindowEx.call(0x08000008, 'Static', '', 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0)
    @@FillRectArgs = [GetDC.call(@@BackWindow), [0,0,0xFFFF,0xFFFF].pack('L4'), CreateSolidBrush.call(0)]
    @@fullscreen = false
    alias zeus81_fullscreen_resize_screen resize_screen
    alias zeus81_fullscreen_update        update
  end
  def update
    zeus81_fullscreen_update
    toggle_mode if Input.trigger?(Input::F5)
  end
  def resize_screen(width, height)
    zeus81_fullscreen_resize_screen(width, height)
    fullscreen_mode if fullscreen?
  end
  def fullscreen?() @@fullscreen end
  def toggle_mode() fullscreen? ? windowed_mode : fullscreen_mode end
  def fullscreen_mode
    client_w, client_h = GetSystemMetrics.call(0), GetSystemMetrics.call(1)
    w, h = client_w, client_w * height / width
    h, w = client_h, client_h * width / height if h > client_h
    ShowWindow.call(@@BackWindow, 3)
    UpdateWindow.call(@@BackWindow)
    FillRect.call(*@@FillRectArgs)
    SetWindowPos.call(@@MainWindow, -1, (client_w-w)/2, (client_h-h)/2, w, h, 0)
    SetWindowLong.call(@@MainWindow, -16, 0x14000000)
    @@fullscreen = true
  end
  def windowed_mode
    client_w, client_h = GetSystemMetrics.call(0), GetSystemMetrics.call(1)
    w = width + (GetSystemMetrics.call(5)+2)*2
    h = height + (GetSystemMetrics.call(6)+2)*2 + GetSystemMetrics.call(4)
    ShowWindow.call(@@BackWindow, 0)
    SetWindowPos.call(@@MainWindow, -2, (client_w-w)/2, (client_h-h)/2, w, h, 0)
    SetWindowLong.call(@@MainWindow, -16, 0x14CA0000)
    @@fullscreen = false
  end
  Graphics.fullscreen_mode if first_start and fullscreen_start
end

*
? ? ? ? ? ? ? ? ? The nice kind of alien~
Rep:
Level 92
Martian - Occasionally kind
I don't really understand. Wherever height is dealt with width is also dealt with either on the same line or the line above.

Either way GetSystemMetrics is the interesting one. Extract just those parts of the script and play around with them to see how they can be used to get what you want.

*hugs*

*
RMRK's dad
Rep:
Level 86
You know, I think its all gonna be okay.
For going the distance for a balanced breakfast.Project of the Month winner for June 2009For being a noted contributor to the RMRK Wiki2013 Best WriterSilver Writing ReviewerSecret Santa 2013 Participant
Zeriab doesn't tell you what to think, he tells you how to think. Love it!

When you get this script to work, please update; it sounds really groovy, Mitsarugi :)
:tinysmile: