HiddenChest RGSS Player Executable
Version 1.2.04 Has Been Uploaded!
Codename: KeyMaster
Avaiable Platforms
  • Linux
  • Windows

Highlights
  • Support for mapping keys from Ruby has been improved.
  • KChangeKeys HC scripts for All RGSS-based Engines have been uploaded.
  • Added Input.trigger_exclude? singleton method.

The Main Section

This release came into existence when I finally noticed that it was not very easy to implement a GUI for remapping keys via Ruby / RGSS scriptas in RM XP or VX ACE. The previous release only allowed you to change a button via changing its current name, and this is excellent for parsing scripts like the one incorporated by HiddenChest. Yet, it would be pretty much impossible to ever get data like the virtual button's value (like C or L) or its SDL counterpart.

Now the engine is capable of communicating such data between C / C++ to Ruby as well, enabling us to quickly define any sort of key mapping scene like I did for RM XP an VX or VX ACE. You can find them in the extras directory.

The KeyBindings related MD help files have been updated with some minor changes those classes have endured to make this possible. Most of the changes are internal and they should remain so. Otherwise, people would keep breaking the system for any reason they can come up with.

Input Module's New Methods
  • trigger_exclude?
  • save_key_bindings
  • text_input=
  • trigger_type
  • trigger_gp_value
  • trigger_gp_dir
  • trigger_gp_clear


Input.trigger_exclude? accepts 1+ arguments at any given call. It makes it easy to ask the module if any group of buttons have not been triggered so far. Additionally, it returns false if no key or button of any kind has been triggered.

Input.text_input= accepts 1 out of 3 values, namely 0, 1 or 2.
  • 0 - Normal Key Bindings Behavior
  • 1 - Enter Text Behavior
  • 2 - Map Your Custom Keys at Will

Input.trigger_type returns the key's class value based on SDL's and the KeyBinding's specifications.

Input.trigger_gp_value returns the real Gamer gamepad's button's or axis's or hat's internal values. The keyboard bindings do not rely on this but on Input.trigger_last introduced some time ago to get the actual SDL scan codes it needs.

The last 2 functions are used internally whenever you set a new key or button by value.
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply
Version 1.2.05 Has Been Uploaded!
Codename: KeyMaster
Avaiable Platforms
  • Linux
  • Windows

Recent Changes:
  • Modified the way Input.text_input's value can be modified by RGSS scripts.
  • Added new methods to the Input module.
  • Updated the KChangeKeys HC scripts.
  • Updated the KEnterText HC scripts.
    - Bitmap#draw_text and #fill_rect can now accept a :rect symbol as first parameter.
    It will use the bitmap's own rect object by default.
  • Added some basic documentation for the Input module to the extras/help directory.
  • Fixed a very uncommon issue that happened on Linux only that prevented the game window from being displayed after resizing the window or by calling the Game.show_window method.

The Main Section

While testing HiddenChest's gamepad support, I soon noticed that it did not recognize all of the buttons as expected. That need forced me to add new "Default Buttons" to the usual RM game engine's own list. By doing this, I was able to rewrite the C++ Input class and Ruby's Input module to let it ALWAYS find such buttons at any given time while in the Key Mapping Mode.
I won't list the new methods I added to the Input module in this release because you can find a large list of methods explained in the Input module's MD help file.
Concerning the game window issue, I will only add the strange fact that the OS windowing system just need some extra milliseconds to adapt the game window's display before showing us the final result, namely your game's title scene on screen.
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply
Version 1.2.06 Has Been Uploaded!
Codename: KeyMaster
Stable Version?
Avaiable Platforms
  • Linux
  • Windows

Recent Changes:
  • Rewrote several lines of code related to Key Bindings processes, eliminating bloat code and variable duplication.
    The data files obtained after parsing the gamepad profile INI files will be moved to the user's profile + saved games directory. [Cleanup]
  • Fixed Windows builds not loading Key Mapping files even if the engine had parsed the INI files multiple times. [Bug Fix]
  • Fixed some key mappings not being recognized by the F1 menu after being parsed by Ruby or set via the KChangeKeys HC script. [Bug Fix]
  • SHIFT, CTRL & ALT buttons can now be repeated and caught by the Input.repeat? method. [Bug Fix]
  • Bitmap's methods draw_text, text_size, text_width, & text_height now let you pass a numeric value as a string.
    It will internally convert the value into a string. [New Feature for RMXP-based Games]
  • Reintroduced default key bindings for players using just their keyboard to play RM games without depending on gamepad profiles. [Restored Feature]
    This feature had to be removed in prior releases after moving code from C / C++ to Ruby / CRuby. Input::KeyBindings now handles this under the hood.

Notes

The reason why the key bindings already stored in Ruby files were not loaded properly was that the USERPROFILE environmental variable contained \ backslashes. Ruby can only handle / forward slashes as file paths, so they had to be temporarily **sub*stituted by the parser to let it use some of DIr class's methods with ease.

The F1 menu's key mapping issues were caused by some of its mkxp's old code that treats SHIFT as LeftShift internally. The keypad could also cause some problems there from time to time, but this has been corrected in this release.

HiddenChest's philosophy has always been to add as many features as possible and make them available for all 3 RGSS versions. That is why I removed the limitation it had in place for strings in RMXP games when passed to certain Bitmap's methods. There is no need to alter old XP scripts at all, they will still work normally. Only new scripts for the HiddenChest engine can benefit from it.
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply
Version 1.2.07 Has Been Published!
Stable Release
Codename: KeyMaster

Avaiable Platforms
  • Linux
  • Windows

Recent Changes:
  • Converted KChangeKeys HC script into a hidden script with default graphics included except for the backdrop.
  • Introduced the KChangeKeys::Style class to let you easily define new custom GUI styles for the KChangeKeys::Scene script.
  • Removed the old mkxp's F1 settings menu completely!
  • Graphics.block_f1 and block_f1= methods are now Ruby-exclusive, the C++ methods have been removed.
  • Triggering the F1 key will automatically open the KChangeKeys menu at once.
    There is no need to adapt old scripts to make it work.
    NOTE: It makes use of Graphics.block_f1 to prevent you from reloading the scene the wrong way. Winking
  • Plugging in or unplugging any gamepad while the KChangeKeys scene is running will force the engine to reload the scene with the corresponding key bindings available almost immediately.
    Certain gamepads like PlayStation ones might take a few milliseconds longer than others because of its internal code expecting to connect to a PS console at some point. This seems to happen randomly. Happy with a sweat

Screenshots

There are 2 new links to ZIP files like one with the Graphics directory containing all of the folders that the engine will use either for running RMXP or VX or even VX ACE games. Most of them are already included in the engine itself, except for the backdrop that is simply too large as to be embedded into it.

If you need the SO or DLL files, please go to the GitHub release page to get the latest release in a TAR GZIP file for Linux and a ZIP file for Windows. You can find the link at the top of this post.

  • A ZIP file with the Graphics it uses by default plus the default backdrop, namely kb_backdrop.
  • Another ZIP file with the Linux & Windows executables, no SOurce libraries nor DLL's included, the Input directory with HiddenChest's default INI files for gamepad profiles, which are 100% cross-platform. Additionally, there is a kchangekeys_style.rb script that shows you how easy it is to setup your own custom key mapping GUI for KChangeKeys HC. The game files themselves belong to an extremely simple RMXP project.

It is up to you if you prefer to distribute these new INI files or their RXDATA (XP) or RVDATA (VX) or RVDATA2 (VX ACE) counterparts. The engine will work with any of them based on the game's RGSS version. Just make sure the files are stored in the new Input directory, and that's it! Two Thumbs Up! 

Just in case you prefer to take a look at the custom style script right now, here's the code:

Code:
module KChangeKeys
  @style = :custom
  st = Style.new
  st.backdrop = "kb_backdrop"
  st.gamepad  = "gamepad_black_add"
  st.keyboard = "keyboard_black"
  st.help     = "kb_help_bar"
  st.target   = "kb_target"
  st.cursor   = "kb_cursor"
  STYLES[:custom] = st
end

Of course, you are not expected to pay attention to the naming convention here. It should be a Sculptor custom style after all. Laughing
The default style is nil, because that is the default value for any Ruby Ruby Hash. Laughing

If for any reason you would like to create a menu to change how your GUI in general looks like, and you want to include the KChangeKeys HC script as well, you can simply add a call like these ones:

Code:
KChangeKeys.style = :new_style
KChangeKeys.style = "My Custom Style"

And that would be enough to update the scene's GUI at once. Next time you press the F1 button, you should be able to notice all the changes it has applied to it.
NOTE: I would recommend to use these calls in that GUI-altering menu:

Code:
Graphics.block_f1 = true
Graphics.block_f1 = false

The first call will prevent the player from opening the F1 menu while still configuring your GUI stuff.
Don't forget to unblock it by including the second call at the end of your main, dispose or terminate method.
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
   Neko RMXP Player for Android JayRay 2 11,612 10-05-2014, 03:46 AM
Last Post: DerVVulfman
   ARGSS - Remaking RGSS/2 Player vgvgf 13 32,338 04-21-2010, 04:34 AM
Last Post: vgvgf



Users browsing this thread: