From 87bfd8c17dffe434fee4249c3d8557ecb161e4ef Mon Sep 17 00:00:00 2001 From: onms Date: Tue, 1 Apr 2025 03:05:32 -0500 Subject: [PATCH] added 2 more resolution options for the F5 toggle --- Data/Scripts.rvdata2 | Bin 355011 -> 354604 bytes Scripts/_.20.rb | 65 +++++++++++++------------------------------ 2 files changed, 19 insertions(+), 46 deletions(-) diff --git a/Data/Scripts.rvdata2 b/Data/Scripts.rvdata2 index 96d05836d677c0b8cd94ccd039ddb5fb82591187..f5fb114bdd3e6b4db83cedce665186ba6c313216 100644 GIT binary patch delta 689 zcmV;i0#5zI)fKGL6@Y{RgaWh!3r&BF0(jcBR9|b;P!xYJ^gA3fgl1;3%`B6!p@Lm0 zwr;H8pN;$;+>klOO*f$zFe>+v+v6 z`;8~C1?qO4X1(}4PQJZQjz6i)z(Bp7osQOSJZ!YP6t!QIs}j`Yx&#UvDe}ev3p+nc zUVlu+-!D$iCNI7u$8UbWJuR1zXO>IllFQes8R~)U7!hN=bL9K3=6EI=Qr2o}ii{8; zPh%cxqluW6y(a2Igm7OjAeeuBHilW!go}f=Dxpr0$YWDyXhl(g^$`lS5Jk=rDkA0- zG0$a^nG_xxk`$$3bck>kJyT+(IK2)v5w7v(QPsi<%S=K+-mHMD`27Ow!QZvz6>{E3 zj<>Gd-EC3PgNhJGC|p+r350D*LVcz`V6z}#Uq=vSL&vxx>@~Yx*iCH3FA8_+@)Y3NWut^qsr!RbiI7%W7z$X&wFM5H^42y#1!gtXUq6}%Kq(GPW(sQ}8t z>3E47BCLV}MUZ_3bgKw5^nf_NM`5#|nwU~_Zk#Ov76BT%t7RO(tBn5-(5|EC?4&j5-zZgKk1@`9MibYm?Gg|{o& zdC0G^Y>Q#ZsRRf>=&|!;*t%yS6NnEh&!$R?C+@jGZ?=2rX>1c&j%R@%6Plf~WUZeU X{RglR!N7+wQ3HoCQ3SUzQ3aD3m-tO1 delta 1099 zcmV-R1ho6C(iOwi6@Y{RgaWh!3r&9`1bEuTS8H$6Rv7*sDgWVBvJWwHZtf~3i;C?- zsVc@r^uu5kiah5ew&d8B?a+p4QerD2Wk3O~EgRZawyx`7WZhL1DEt==PRhU7IX*VI zbnB^;ZcdjHF3Z@&57Z{F5kRN3Wc2F)U^3L9mZTbZ0VDUno+K6h)JDH0Hm{r_5^hBYHb-l4ao%3%XGHs7;<-YovMf39qj&!y@!9;Tf<(*-@fIy zf9!c}fBm-@%)X=PizQW;wR#zmIe+#!s1+D(oC00dMv?O(sR)yo$%rCJ%61F}!ZaUP0QkU`Erj&a zRl}%JMPkeTgZChRdDVY^u@-~zGOB=$v`TJhp0s^*=CmbP9RJVcgPb~|$xmf0$w3^` zAn3HJwry%s16d^t+3Hm^j2O!g+7rK6qf5_Q4$IynA{@(<%*U!eA$)j#mWxxifig^t z$Y@SS3z<~iM%ILo;vscP)yt%>Y%I{4Y0|fv;&QU2X_*u~)8T)7KtnnT+)?Y->e3B4 z+Q5!lxqr#2nsEh{7DzVzm!4+`V4$a_l1B?lsgR+HoRVETfMEtXa}C=;wKK@E$X3T9 z!otER$h{ESU~DlnBcx$9o(^-oK>YdmXwgyxYM=ulwfFJ=|Jh3=3-6QK$<+ zK*HLwU z`($~&d$Yewa`)NT;hP!5@ogVY RhnY_UhnY_Vx0z1`lNsitC_VrH diff --git a/Scripts/_.20.rb b/Scripts/_.20.rb index b709cb9..1cca370 100644 --- a/Scripts/_.20.rb +++ b/Scripts/_.20.rb @@ -1,81 +1,54 @@ -#============================================================================== -# ★ RGSS3-Extension -# LNX25_ゲーム画面倍率切替 -#  ゲーム中、F5 キーでゲーム画面の表示倍率を切り替えます。 -# -#  version : 1.00 (12/02/27) -#  author : ももまる -#  reference : [url]http://peachround.blog.fc2.com/blog-entry-20.html[/url] -# -#============================================================================== - module LNX25 #-------------------------------------------------------------------------- # ● 切替キー #-------------------------------------------------------------------------- RESIZE_KEY = :F5 # 規定値: :F5 + ZOOM_LEVELS = [1.0, 1.5, 2.0, 2.7] # 追加可能な倍率 end -#============================================================================== -# ■ LNXスクリプト導入情報 -#============================================================================== -$lnx_include = {} if $lnx_include == nil -$lnx_include[:lnx25] = 100 # version -p "OK:LNX25_ウィンドウサイズ変更" - -#============================================================================== -# ■ Graphics -#============================================================================== module Graphics - @screen_zoom = 1 - #-------------------------------------------------------------------------- - # ● ゲーム画面の表示倍率取得 - #-------------------------------------------------------------------------- + @zoom_index = 0 + @screen_zoom = 1.0 + def self.screen_zoom @screen_zoom end - #-------------------------------------------------------------------------- - # ● ゲーム画面の表示倍率変更 - #-------------------------------------------------------------------------- + def self.screen_zoom=(rate) self.rgssplayer_resize(rate) @screen_zoom = rate end - #-------------------------------------------------------------------------- - # ● ウィンドウハンドルの取得(Win32API) - #-------------------------------------------------------------------------- + + def self.next_zoom_level + @zoom_index = (@zoom_index + 1) % LNX25::ZOOM_LEVELS.size + self.screen_zoom = LNX25::ZOOM_LEVELS[@zoom_index] + end + def self.rgssplayer Win32API.new("user32", "FindWindow", "pp", "i").call("RGSS Player", 0) end - #-------------------------------------------------------------------------- - # ● ウィンドウのリサイズ(Win32API) - #-------------------------------------------------------------------------- + def self.rgssplayer_resize(rate) move_w = Win32API.new("user32", "MoveWindow", "liiiil", "l") get_sm = Win32API.new("user32", "GetSystemMetrics", "i", "i") - # サイズ計算 - frame_w = get_sm.call(7) * 2 # ウィンドウ枠(横方向) - frame_h = get_sm.call(8) * 2 # ウィンドウ枠(縦方向) - caption_h = get_sm.call(4) # タイトルバーの高さ + frame_w = get_sm.call(7) * 2 + frame_h = get_sm.call(8) * 2 + caption_h = get_sm.call(4) width = self.width * rate + frame_w height = self.height * rate + frame_h + caption_h x = (get_sm.call(0) - width ) / 2 y = (get_sm.call(1) - height) / 2 - # ウィンドウ位置・サイズ変更(ウィンドウ, X, Y, 幅, 高さ, 更新フラグ) move_w.call(self.rgssplayer, x, y, width, height, 1) end end + class << Graphics - #-------------------------------------------------------------------------- - # ● フレーム更新 - #-------------------------------------------------------------------------- alias :lnx25_update :update def update - # 元のメソッドを呼ぶ lnx25_update - # F5 キーが押されたらリサイズ if Input.trigger?(LNX25::RESIZE_KEY) - self.screen_zoom = (self.screen_zoom == 1 ? 1.5 : 1) + self.next_zoom_level + p "Zoom changed to #{Graphics.screen_zoom}" # Debugging output end end -end \ No newline at end of file +end