Suporte no desenvolvimento de jogos


    [VXA-OS] Widescreen_Solution

    Komuro Takashi
    Komuro Takashi
    Colaborador
    Colaborador

    Mensagens : 1034
    Créditos : 131
    Cash : 0

    [VXA-OS] Widescreen_Solution Empty [VXA-OS] Widescreen_Solution

    Mensagem por Komuro Takashi em Qui Abr 26, 2018 4:08 am

    Olá pessoal, trago a vocês esse script de Autor desconhecido, esbarrei com esse script pelos github da vida e decidi testar e funcionou.

    O que ele faz?

    Resolve o problema de bordas pretas sem preenchimento do tileset ou mapa por inteiro em monitores Widescreen.

    Vá até o Modulo Configs e no final dele adicione:

    Código:
     
    # Compatibilidade Widescreen
    Widscreen = true # false


    Cole Acima do Main e abaixo de todos os Scripts.
    Código:

    if Configs::Widscreen == true
    # doorstuck adjustable fullscreen script
    CreateWindowEx            = Win32API.new('user32'  , 'CreateWindowEx'           , 'ippiiiiiiiii', 'i')
    GetDC                     = Win32API.new('user32'  , 'GetDC'                    , 'i'           , 'i')
    GetSystemMetrics          = Win32API.new('user32'  , 'GetSystemMetrics'         , 'i'           , 'i')
    FillRect                  = Win32API.new('user32'  , 'FillRect'                 , 'ipi'         , 'i')
    FindWindow                = Win32API.new('user32'  , 'FindWindow'               , 'pp'          , 'i')
    ReleaseDC                 = Win32API.new('user32'  , 'ReleaseDC'                , 'ii'          , 'i')
    SetWindowLong             = Win32API.new('user32'  , 'SetWindowLong'            , 'iii'         , 'i')
    SetWindowPos              = Win32API.new('user32'  , 'SetWindowPos'             , 'iiiiiii'     , 'i')
    ShowWindow                = Win32API.new('user32'  , 'ShowWindow'               , 'ii'          , 'i')
    UpdateWindow              = Win32API.new('user32'  , 'UpdateWindow'             , 'i'           , 'i')
    CreateSolidBrush          = Win32API.new('gdi32'   , 'CreateSolidBrush'         , 'i'           , 'i')
    DeleteObject              = Win32API.new('gdi32'   , 'DeleteObject'             , 'i'           , 'i')
     
    screenRect = Rect.new(0, 0, GetSystemMetrics.call(0), GetSystemMetrics.call(1))
     
    #universal constant
    rpgMakerX = 720#640
    #height that we would render if rpg maker would render non 32 tiles
    wishfulY = rpgMakerX * screenRect.height / screenRect.width
     
    #divide by 32 and multiply by 32 to get the actual number of pixels that
    #could be rendered by RPG maker without glitches
    rpgMakerY = (wishfulY / 16) * 16             #Default (wishfulY / 32) * 32
     
    rpgMakerRaimander = wishfulY - rpgMakerY
     
    Graphics.resize_screen(rpgMakerX, rpgMakerY)
     
    #now we need to calculate the actual screen margin from top and bottom
    actualScreenMargin = screenRect.height * rpgMakerRaimander / wishfulY
    mainHeight = screenRect.height - actualScreenMargin
    upperMargin = actualScreenMargin / 2
     
    #draw black background on all the screen
    BackgroundHandler = CreateWindowEx.call(0x08000008, 'Static', '', 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0)
    ShowWindow.call(BackgroundHandler, 3)
    UpdateWindow.call(BackgroundHandler)
    dc    = GetDC.call(BackgroundHandler)
    rect  = [0, 0, screenRect.width, screenRect.height].pack('l4')
    brush = CreateSolidBrush.call(0)
    FillRect.call(dc, rect, brush)
    ReleaseDC.call(BackgroundHandler, dc)
    DeleteObject.call(brush)
     
    mainWindowHandler = FindWindow.call('RGSS Player', 0)
    SetWindowLong.call(mainWindowHandler, -16, 0x14000000)
    SetWindowPos.call(mainWindowHandler, -1, 0, upperMargin, screenRect.width, mainHeight, 0)
    end

    A Imagem fica cheia e não fica esticada ou distorcida.


    _________________
    [VXA-OS] Widescreen_Solution Takashi_komuro_by_minato8-d51g9o4
    Valentine
    Valentine
    Administrador
    Administrador

    Medalhas : [VXA-OS] Widescreen_Solution 94Jxv[VXA-OS] Widescreen_Solution ZgLkiRU
    Mensagens : 5023
    Créditos : 1114
    Cash : 0

    [VXA-OS] Widescreen_Solution Empty Re: [VXA-OS] Widescreen_Solution

    Mensagem por Valentine em Qui Abr 26, 2018 8:04 am

    Show.

    + 1.


    _________________
    [VXA-OS] Widescreen_Solution AIymW
    avatar
    zedy br
    Novato
    Novato

    Mensagens : 1
    Créditos : 0
    Cash : 0

    [VXA-OS] Widescreen_Solution Empty telacheia

    Mensagem por zedy br em Qui Abr 26, 2018 5:50 pm

    o meu fico esticado

    Conteúdo patrocinado

    [VXA-OS] Widescreen_Solution Empty Re: [VXA-OS] Widescreen_Solution

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Seg Dez 09, 2019 11:27 am