HiddenChest RGSS Player Executable - Printable Version

+- Save-Point (
+-- Forum: Material Development (
+--- Forum: Tools (
+--- Thread: HiddenChest RGSS Player Executable (/thread-7370.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12

HiddenChest RGSS Player Executable - kyonides - 11-21-2018

[Image: app-logo.png]
v 1.1.54 or 1.1.55

a C++ and Ruby 2.6 based project
formerly known as mkxpplus

Ancurio (MKXP developer)
Other main contributors like Kyonides-Arkanthes  Laughing

HiddenChest Source Code
(In case you want to compile it on Linux for starters...)
Visit the HiddenChest GitHub page


As you may have read anywhere else, there has been an open reimplementation of the RGSS (1,2 & 3) player called mkxp, initially developed by Ancurio and improved by a few contributors as well. Now it is my time to contribute as well by publishing a fork, namely HiddenChest!

The original author thought it should mainly be a reimplementation or some sort of emulation of features already available on those RGSS based maker games. The only things that break that illusion were the mouse support, native shader support and the fact you only needed a single binary executable (a single file to click on) in order to play them as long as your eyes would let you do that.

From a couple of weeks or months you have read my comments on increasing its number of features by adding other possibilities like flipping any image vertically in game just like we were already capable of doing it horizontally, increase the window resolution to any decent size below 5000 pixels. Well, now that is possible!


You might need to compile it yourself from source code to set a custom resolution other than 800*608 that is built in the binary executables I have uploaded so far. Keep in mind you can still go back to 544*416 or 640*480 in game if you add a custom script that lets you do that by hitting a button or entering a specific scene or map, etc. Obviously the window size will noticeable change in a second or two o even more if your PC is rather slow... Confused

Actually, you should be aware of the fact that the map minimum dimensions should changed depending on the maximum width and height, a 640*480 game would only need like 20 * 15 tiles while a 800*608 one requires it to have 25 * 19 tiles.

Installation on Windows

Well, since it's just a player executable, meaning you only will use it as a replacement for Game.exe, you only need to unzip the executable file and its dll's right where the Game.exe file itself is located.

If you've got a 64 bit Windows OS, then you'd need to download:
  • hiddenchestwin64 ZIP file - binary executables aka exe
  • hiddenchest64dlls ZIP file

Then just extract them in your game folder's root directory, i.e. C:/KDC/Memorie in case that's where you've placed the Game.exe file.
MapCustomResFixesXP or MapCustomResFixesVX RGSS1/2 script are included in one of the ZIP files, but it doesn't seem to be necessary for ACE games.

  • Run your games with Ruby 2.5 2.6 instead of 1.8 or 1.9!
  • If using compiled binaries, the default resolution gets increased to 800*608 or even 1280*800.
  • Custom Resolution (800*608 for binary executables for they have to be compiled with a maximum resolution) can be changed in game as well.
  • Vertical Flip by calling @any_sprite.flip_y = true or @any_sprite.mirror_y = true # Use false or nil for disabling it
  • Use some RGSS 3 features in RGSS 1 as well like gradient bars, temporary snapshots for backdrops, outlined text (kind of experimental)
  • Game Portability to other platforms like Windows, Linux distributions, and MacOS!
  • A new hidden module named Backdrop that will let you use Graphics.snap_to_bitmap advantages with ease.
To be honest with you, guys, there is another little scripting tool. It is called the Scripts module and its purpose is to store script names or symbols in an array to let you take control over what scripts you have included in your game project. Normally you would not feel the need to keep such a feature. Even so whenever you use a Constant to store a value like a boolean testing for a defined Constant or method, RGSS might not find it or will tell you it is not there just because it has not been loaded. It could happen if a script is placed below the other one, even if there is not supposed to be a specifc order to make them work together. In such cases you could use the Scripts module methods to make sure RGSS will always be right about another script's good or evil presence. Laughing It is way better than using a $global variable for the same purposes. Grinning

Scripts Module Script Calls

Scripts << :script_name
It lets you store the script name or symbol. You can place it anywhere in your script editor except below the Main script.

print Scripts.all
You print all of the script names at once.

You double check if the script name has been included. It should be especially useful as part of any if statement (a condition preceded by an if keyword).


Currently the mkxp project runs on:
  • some versions of Windows
  • and MacOS via appbundle.

Currently HiddenChest project runs on:
  • Windows 7, 8.1 and 10 64 bit
  • Linux distros like Ubuntu, Kubuntu and Fedora 31

VOTES: Pro - Con
  • SavingInn 1 - 0
  • Rubyokan 2 - 1
  • RubyShark 1 - 0
  • HiddenChest 1 - 0

Download Section

If you are going to play midi files, you got to download any soundfont sf2 file as well.

HiddenChest Source Code
(In case you want to compile it on Linux for starters...)
Visit the HiddenChest GitHub page

For HiddenChest

For Both HiddenChest and Old MkxpPlus
Featured Soundfont

The RAR or ZIP files that offer two different binary executables include one application that will open a console alias command window while playing the game just like it happened on RMVXACE and another one that will just let you play the game without such nuisance. Laughing

By the way, one of the RAR files includes a Ruby script with rb extension. Just go open it with Notepad or Notepad++ or SublimeText or KWrite or Kate since it's just a text file. It contains the scripts that had to be modified in RGSS 1 aka XP to allow you to extend the map tileset to cover the whole window and scroll properly. Other scripts like scenes would need to be customized as well... Confused

List of Available Buttons
  • DOWN
  • LEFT
  • UP
  • A
  • B
  • C
  • X
  • Y
  • Z
  • L
  • R
  • CTRL
  • ALT
  • KeyA
  • KeyB
  • KeyC
  • KeyD
  • KeyE
  • KeyF
  • KeyG
  • KeyH
  • KeyI
  • KeyJ
  • KeyK
  • KeyL
  • KeyM
  • KeyN
  • KeyO
  • KeyP
  • KeyQ
  • KeyR
  • KeyS
  • KeyT
  • KeyU
  • KeyV
  • KeyW
  • KeyX
  • KeyY
  • KeyZ
  • N1
  • N2
  • N3
  • N4
  • N5
  • N6
  • N7
  • N8
  • N9
  • N0
  • Return
  • Escape
  • Backspace
  • Space
  • Minus
  • Equals
  • LeftBracket
  • RightBracket
  • BackSlash
  • Semicolon
  • Apostrophe
  • Grave
  • Comma
  • Period
  • Slash
  • Tab
  • F3
  • F4
  • F5
  • F6
  • F7
  • F8
  • F9
  • F10
  • F11
  • F12
  • ScrollLock
  • PrintScreen
  • CapsLock
  • Pause
  • Insert
  • Home
  • PageUp
  • Delete
  • End
  • PageDown
  • NumPadDivide
  • NumPadMultiply
  • NumPadMinus
  • NumPadPlus
  • Enter
  • NumPad1
  • NumPad2
  • NumPad3
  • NumPad4
  • NumPad5
  • NumPad6
  • NumPad7
  • NumPad8
  • NumPad9
  • NumPad0
  • NumPadDot
  • LessOrGreater
  • APP
  • NumPadEquals
  • LeftCtrl
  • LeftShift
  • LeftAlt
  • LeftMeta
  • RightCtrl
  • RightShift
  • RightAlt
  • RightMeta
  • Web
  • Mail
  • Calculator
  • Computer

RE: MKXPPLUS RGSS Player Executable - kyonides - 11-22-2018

A Quite MIDI-atic BUMP

Well, I had to update this thread because I noticed that MIDI could not be played by the binary executables on Windows due to the lack of a few DLL's. I looked for them and packed them as a single RAR file so you can download it now and uncompress those DLL's in your game folder to enable MIDI playback. Don't forget to get a soundfont before you click on the executable file or else it will ignore all MIDI's you might have collected so far!

By the way, there is a site where a guy uploaded tons of Final Fantasy games MIDI's... How crazy, don't you think? Laughing + Tongue sticking out


There are both 32 and 64 bit versions of the binary executables and dll's for Windows. In Linux case I guess people would prefer to run 64 bit based systems only.

List of All New Features

You may get up to 200 400 weather sprites!

Now scripters should be able to use the module_accessor feature like this:

module MyModule
 @my_instance_variable = 100
 module_accessor :my_instance_variable

Then you should be able to access the instance variable by calling:


or sets its value with the script call

MyModule.my_instance_variable = 2450

The module_reader and module_writer methods are also available!

Most of the so called new features actually belong to RGSS3, but I preferred to make them available for RGSS1 (XP games) as well. Others are exclusive to HiddenChest!

I should have explained this earlier but it is never too late to provide the following instructions:


i.e. my_sprite.mirror_y = true



Sprite#width and Sprite#height
Sprite#wave_amp and Sprite#wave_amp=
Sprite#wave_length and Sprite#wave_length=
Sprite#wave_speed and Sprite#wave_speed=
Sprite#wave_phase and Sprite#wave_phase=

Bitmap#blur and Bitmap#radial_blur

Font#out_color and Font#out_color=
Font#outline and Font#outline=
Font#default_out_color and Font#default_out_color=
Font#default_outline and Font#default_outline=


Graphics.width and Graphics.height
Graphics.resize_screen(new_width, new_height)
Graphics.fullscreen and Graphics.fullscreen=


* Exclusive Features *


Bitmap#text_height("string") # Usually the same as Bitmap#height...

Sprite#flip and Sprite#flip= (aliases of Sprite#mirror and Sprite#mirror=)
Sprite#mirror_y or Sprite#flip_y
Sprite#mirror_y= or Sprite#flip_y=

Font#outline_color and Font#outline_color=
Font#default_outline_color and Font#default_outline_color=
Font#underline and Font#underline=
Font#strikethru and Font#strikethru=
Font#strikethrough and Font#strikethrough=
Font#default_underline and Font#default_underline=
Font#default_strikethru and Font#default_strikethru=
Font#default_strikethrough and Font#default_strikethrough=

RPG::Weather#sprite_max and RPG::Weather#sprite_max=


Graphics.dimensions #=> [width, height]
Saves a snapshot in the Screenshots directory located in your game project folder even if it doesn't exist.

Audio.bgm_pos and Audio.bgs_pos
useful for setting up a new song or background sound at a different position.

Terms.critical_hit and Terms.critical_hit=
(critical_hit will be used by RPG::Sprite during animations, especifically battle animations.)

Backdrop.keep_bitmap # Makes a copy of the game screen
Backdrop.blur_bitmap # Makes a blurred copy of the game screen
Backdrop.bitmap # Access to the bitmap created with any of the previous script calls
Backdrop.clear_bitmap # Clear that bitmap

Audio.play_se(filename_no_extension_no_folder, optional_volume, optional_pitch)
Audio.play_ok or Audio.play_decision

Scripts module to let you keep track of your custom scripts and the order in which they were loaded.

RE: MKXPPLUS RGSS Player Executable - kyonides - 11-25-2018

A Key-Addict BUMP

Well, I bring great news to all testers today! (Yeah, the four cats and a wolf hybrid... Confused ) mkxpplus now includes extra keys for you to use in your game projects! Shocked 

I have added lots of them but no character like A or B or N because I fear I might break the maker's input somehow, except with N that isn't used by the strange input system implemented in RGSSx. Very happy + Tongue sticking out

Anyway, you're now allowed to test it if you dare! Shocked 

By the way, now you can also use LeftShift or RightCtrl or LeftAlt separately! Laughing 

Searching for download links? Go to the main post then!  Tongue sticking out

RE: MKXPPLUS RGSS Player Executable - kyonides - 11-25-2018

A Caffeinated / Hamburger-filled BUMP!

Guess what? After a break and some soft drink full of caffeine, I decided I had to implement all of the ANSI characters like A through Z. Since it was just some rinse and repeat process, it didn't take long to finish the code and compile it. In case you need to ask if J was triggered by the player, you would only need to ask a simple question in RGSPLUS (?):

def update
  if Input.trigger?(Input::KeyJ)
  # some code

Isn't it as easy as promised, guys? Very happy + Tongue sticking out

Have fun testing the binary executables! Laughing

RE: MKXPPLUS RGSS Player Executable - kyonides - 11-26-2018

A small but Useful BUMP!

Melana had reported a bug in mkxpplus that was inherited from mkxp itself, the mysterious disappearance of the elusive windowskin! Shocked

If you were battling a couple of friendly ghosts that only want to hug you to a cold death, you would notice the windows turned almost invisible except for strings like HP, SP and so on. Nope, the truth is the windowskin was more elusive than an Easter Bunny! Laughing 

After breaking my head to find out what was going wrong with it, I recall a workaround I used on any bitmap, the dup(licate) method. Then I wondered if CRuby could avoid the average player like BountyHunterLani (your adorable simple Lani) from looking for a place to type the tiresome four characters ever needed to fix it once for all. Yeah, it was possible! Shocked If I fool the Cache module by telling it to copy the windowskin instead of accepting it as an universal maker-ish truth, it would never again bother you by munching the windowskin and never even returning it even as a spittle. Now you can safely dispose or hide windows without fearing Cache or GC will ever take their windowskins away from you! Shocked 

By the way, I have uploaded new binary executables for Linux distros and several Windows versions. Laughing 

Happy game testing! Tongue sticking out

RE: MKXPPLUS RGSS Player Executable - DerVVulfman - 11-26-2018

I hate to burst your bubble, but in two years of working on an MKXP system we didn't have any windowskin issues needing any XP script fixes. This mysterious disappearing Windowskin issue inherited from MKXP is something that I have never seen in two years.

HOWEVER!!!! Full keyboard input is schweet!

RE: MKXPPLUS RGSS Player Executable - kyonides - 11-26-2018

Well, that's what happens when you use a general purpose function defining macro that oversees details like how the Cache is supposed to work and you let it delete the only copy in memory of your beloved bitmap. Just go and duplicate it at creation time and the problem is solved magically! So I wrote the functions myself and added a CRuby dup method to make it possible and prevent your average player and tester and game developer from doing it themselves.

RE: MKXPPLUS RGSS Player Executable - kyonides - 11-27-2018

A Missing Bump!

I come back again because I added a few extra buttons to mkxpplus like the Web or the Calculator buttons, yeah they DO exist, and even the missing Escape button Laughing I also added some sort of fix for the mouse clicks (or my mouse is slightly defective and I didn't notice it before Laughing + Tongue sticking out )

Even if it is unnecessary I added the Graphics.dimensions method to query the current screen size, e.g. [800, 608]

I dropped the binary that would only feature the very same buttons as in any RGSS player, I found it unsuitable for a project that aims to include full keyboard support and a higher screen or window resolution.

RE: MKXPPLUS RGSS Player Executable - kyonides - 11-28-2018

Aluxes Bumped After Taking a Selfie!

Yeah, we always knew that ye old Aluxes was nuts, but he couldn't resist the need to steal a camera! Laughing

[Image: shot2018-11-280335001.png][Image: shot2018-11-280335002.png]

Nope, you're eyes aren't fooling you, guys! mkxpplus now allows you to take screenshots and save them in the well known PNG format! Shocked

Those snapshots will be automatically saved in the local Screenshots directory! Tongue sticking out

The script call you can use is Graphics.save_screenshot.

What can I say now? Happy Game Testing, forumers! Laughing + Tongue sticking out

RE: MKXPPLUS RGSS Player Executable - DerVVulfman - 11-29-2018

Gotcha an idea better, Kyo. With the Full Keyboard control, why not key the PRTSCRN key to generate the screenshots automatically? Laughing