Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV

Apprendre
RPG Maker

Guides
Tutoriels
Making-of

Dans le
Forum

Section Entraide

Jeux: Beetle Ninja / Jeux: Le Miroir de Philéas / Tutos: Améliorer les rencontres (...) / Tutos: Quelques tests géométriques (...) / Programmes: LiceCAP / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

91 connectés actuellement

10795642 visiteurs
depuis l'ouverture

7 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Hellsoft

Planète Glutko

Lumen

Leo-Games

Offgame

Le Studio du Chat Vert

RPG Maker VX

Tous nos partenaires

Devenir
partenaire



Fullscreen++
Script pour RPG Maker VX Ace
Ecrit par Zeus81
Publié par zeus81 (lui envoyer un message privé)
Signaler un script cassé

Petit script vite fait pour VX et VX Ace.

Version 2.2 (recommandée)

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# Fullscreen++ v2.2 for VX and VXace by Zeus81
# Free for non commercial and commercial use
# Licence : https://creativecommons.org/licenses/by-sa/3.0/
# Contact : zeusex81@gmail.com
# (fr) Manuel d'utilisation : https://pastebin.com/raw.php?i=1TQfMnVJ
# (en) User Guide           : https://pastebin.com/raw.php?i=EgnWt9ur
 
$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
  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



Spoiler (cliquez pour afficher)



Mis à jour le 4/7/2020.





FoxFiesta - posté le 05/02/2012 à 16:35:02 (443 messages postés)

❤ 0

OMG c'est génial ! Merci !
Par contre j'aimerais savoir :
- comment faire en sorte que l'ancien mode soit impossible à activer
- ce que je dois écrire à la ligne 36 pour que ce nouveau mode soit activable avec Alt+Entrée s'il vous plaît.

Game Dev Alliance


Zeus81 - posté le 05/02/2012 à 16:53:59 (11071 messages postés)

❤ 0

Y'a rien à faire pour désactiver l'ancien mode.


Itemporel - posté le 09/02/2012 à 21:17:42 (211 messages postés)

❤ 0

Plus les scripts sont simples, plus ils sont intéressant...


Zeus81 - posté le 14/06/2013 à 17:14:22 (11071 messages postés)

❤ 0

Mise à jour.
Log Change :
- fonctionne mieux par rapport au mode plein écran par défaut.
- on peut désactiver le mode plein écran par défaut.
- on peut changer le ratio de la fenêtre en appuyant sur F6.
- la configuration est sauvegardée dans le Game.ini.
Script : https://pastebin.com/kc1hzBek


yulemath - posté le 22/08/2013 à 22:20:27 (1 messages postés)

❤ 0

Où doit-on mettre ce script svp? merci d'avance :sourit


Zeus81 - posté le 23/08/2013 à 16:13:19 (11071 messages postés)

❤ 0

Celui là tu peux le mettre où tu veux mais d'habitude on les met au dessus du Main dans Materials à l'endroit où y'a écrit "Insert here".


Roi of the Suisse - posté le 23/08/2013 à 22:59:54 (24126 messages postés) - admin

❤ 0

mon sac plein de sucre

yulemath a dit:

Où doit-on mettre ce script svp? :sourit



image

Plante 300 arbres et tu ne pollues plus ! | Es-tu une star ? | Kujira no Hara | Polaris 03 | Planète Glutko


Avalon - posté le 02/05/2015 à 16:56:51 (2 messages postés)

❤ 0

Master's Slayer

c'est génial ce script.. mais peux tu m'aider.les bandes noir en fullscreen sont toujours présent pour moi.


zeus81 - posté le 04/05/2015 à 14:37:29 (11071 messages postés)

❤ 0

Ce script n'enlève pas les bords du plein écran Alt+Entrée, il rajoute un nouveau mode plein écran sans bordure en appuyant sur F5/F6.


MarcLewis666 - posté le 28/11/2015 à 21:50:57 (46 messages postés)

❤ 0

deux lettres sur une tache d'encre #bestlogoever

Je comprend pas, j'ai plus les bandes noir en haut et en bas mais j'ai toujours ceux sur les côtés, pourtant j'ai jouer à un jeu qui lui, le plein écran marchait correctement, comment ça se fait?:help

(Les Trésors De Nilo 10%) (Life Sim 4%)


Mrludo - posté le 13/01/2016 à 20:14:54 (1 messages postés)

❤ 0

bonjour tout le monde .


je viens demander conseil ,je suis nouveaux est débutant en RPG est j'utilise RPG Maker Vx Ace est je souligne que ce code ne fonctionne pas chez moi.

quand je clic F5 l'écran clignote est je vois mon bureau derrière le jeux (c'est pas beau) :(

y a t'il une solution ou pas ?

merci a vous


Athanazya - posté le 25/03/2016 à 20:35:06 (9 messages postés)

❤ 0

MarcLewis666 a dit:


Je comprend pas, j'ai plus les bandes noir en haut et en bas mais j'ai toujours ceux sur les côtés, pourtant j'ai jouer à un jeu qui lui, le plein écran marchait correctement, comment ça se fait?:help



meme chose pour moi ...


ray-yami2 - posté le 15/10/2019 à 22:05:02 (24 messages postés)

❤ 0

Existe t'il sous XP ? Merci d'avance


Ichiro - posté le 10/10/2020 à 21:10:26 (12 messages postés)

❤ 0

Celeste Best Game ever

Mrludo a dit:


bonjour tout le monde .


je viens demander conseil ,je suis nouveaux est débutant en RPG est j'utilise RPG Maker Vx Ace est je souligne que ce code ne fonctionne pas chez moi.

quand je clic F5 l'écran clignote est je vois mon bureau derrière le jeux (c'est pas beau) :(

y a t'il une solution ou pas ?

merci a vous


Probablement un problème avec ta carte graphique mon ami !
Met à jour ton pilote Nvidia
https://www.nvidia.fr/Download/index.aspx?lang=fr

Pour AMD je sais pas comment faut faire (peut être acheter une Nvidia du coup vu que c'est meilleur)

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Articles perso | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Jeux complets | Tous les jeux | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers