05-09-2024, 03:59 PM
(This post was last modified: 05-09-2024, 08:00 PM by DerVVulfman.)
(05-09-2024, 12:00 PM)kyonides Wrote: Yes, HiddenChest DOES include pretty much all keys. The main post lists all of them. Does it mean it has full keyboard support? That depends on your definition.I was told that the version I had did not have full keyboard support. I have to acquiesce and say that the information I was given was incorrect. A simple replacement of an Input::C with Input::KeyP indeed functioned properly.
As to receiving player input from a keyboard to allow them to simply 'type text' such as entering a character name or cheat command would be a wholly different script.
(05-09-2024, 12:00 PM)kyonides Wrote: Can HiddenChest go beyond the 640x480 limit?
Go ask Melana about that! She has been using a custom resolution based on her own monitor's for quite some time now.
Here is some interesting good news that you may appreciate...
It turns out that having the statement Graphics.resize_screen(1280, 736) will actually resize the game window. Not only that, the built-in Tileset class will properly adjust and draw all the requisite tiles. You may have forgotten that since your github states "Expand RGSS1 tilesets to fill the enlarged screen and adapts the Window_Message settings to the increased screen resolutions". And on top of that, the fog class itself properly adjusts. It is possible that it receives values from the Graphics.width and Graphics.height properties themselves (added from RMVX on up) so the only thing need adjusting is the Spriteset_Map/Battle viewport settings and adjust values in the Game_Player class to control centering and scrolling options.
Ah, but the Weather system does NOT adjust by itself. Yes, the above screenshot shows weather covering the entire window, but this after I applied a simple 'edit' to the Weather class to cover the defined area:
Code:
#===============================================================================
# The Update section of the hidden default Weather class.
# Altered to fit desired window sizes - by DerVVulfmabn
#===============================================================================
#==============================================================================
# ** RPG
#------------------------------------------------------------------------------
# A module containing RPGXP's data structures and more.
#==============================================================================
module RPG
#============================================================================
# ** Weather
#----------------------------------------------------------------------------
# Class for weather effects (rain, storm, snow) displayed via RPGXP's
# Event command.
#============================================================================
class Weather
#------------------------------------------------------------------------
# * Frame update
#------------------------------------------------------------------------
def update
#Alteration notes:
#--------------------------------------------------------------------
# Original placement code
#if sprite.opacity < 64 or
# x < -50 or x > 750 or
# y < -300 or y > 500
#sprite.x = rand(800) - 50 + @ox
#sprite.y = rand(800) - 200 + @oy
#--------------------------------------------------------------------
#--------------------------------------------------------------------
# Clean Design (Original values)
# Temporary creation of 4 values used at end ot the update method
# This allows for edge overlap when scrolling fast or slow.
# xrand = 640 + 160 # 800
# yrand = 480 + 320 # 800
# xstop = xrand - 50 # 750
# ystop = yrand - 300 # 500
#--------------------------------------------------------------------
#--------------------------------------------------------------------
# NEW:
# Generates screen values based upon defined screen dimensions/size
#--------------------------------------------------------------------
xrand = Graphics.width + 160
yrand = Graphics.height + 320
xstop = xrand - 50
ystop = yrand - 300
#--------------------------------------------------------------------
return if @type == 0
# Cycle through sprite quantity
for i in 1..@max
# Sprite creation
sprite = @sprites[i]
# Exit loop if no defined sprite
break if sprite.nil?
# Rain
if @type == 1
sprite.x -= 2
sprite.y += 16
sprite.opacity -= 8
end
# Storm
if @type == 2
sprite.x -= 8
sprite.y += 16
sprite.opacity -= 12
end
# Snow
if @type == 3
sprite.x -= 2
sprite.y += 8
sprite.opacity -= 8
end
# Complete sprite origin
x = sprite.x - @ox
y = sprite.y - @oy
#------------------------------------------------------------------
# Edited / Altered content to accommodate new window dimensions
#
# Where sprites vanish/reappear
# Ara now altered for screen resolution
if sprite.opacity < 64 or
x < -50 or x > xstop or
y < -300 or y > ystop
sprite.x = rand(xrand) + 50 + @ox
sprite.y = rand(yrand) - 200 + @oy
sprite.opacity = 255
end
#------------------------------------------------------------------
end
end
end
end
Once you put this script, it reads the Graphics.width and Graphics.height values from the Graphics class itself, you're set.
I will say that the first time you use Alt+Enter to switch the game from a windowed resolution into a fullscreen resolution, there may be a momentary 2-second pause for the game engine to properly display the screen. But only the first couple of times performed. Subsequent use of Alt+Enter to switch between windowed and fullscreen suffers no delay.
All this at least with the HIRES edition I have mentioned. And it appears that I need inform Melana that no resolution script appears to be needed for her HiddenChest project. Just readjust the Spriteset_ classes, menus and a few methods to adapt.
(11-22-2018, 06:33 AM)kyonides Wrote: Audio.bgm_pos and Audio.bgs_pos
useful for setting up a new song or background sound at a different position.
Why did I not see this? *sigh* Unfortunately, it only says the second/millisecond position of the audio as it plays and does not allow one to set or advance the playback position of the audio. If you could have Audio.bgm_pos= (and optionally Audio.bgs_pos=), one could make a system to set custom start/end loop points for audio in a a music track.
If an Audio.bgm_loop(loop_return, loop_end) could be crafted.... that'd be awesome. Not sure how fluent you are in DirectSound or what language is used for MKXP/HiddenChest's audio playback routines.