HiddenChest RGSS Player Executable
Another Stable Version is Available!
Release 1.1.78

Recent Changes
  • Added New Methods to Audio Module:
    • default_bgm_loop & default_bgm_loop=
    • default_bgs_loop & default_bgs_loop=
    • bgs_playing? & bgs_stopped? & bgs_paused? & bgs_loop? & bgs_loop=
    • bgm_paused? & bgm_loop? & bgm_loop=
  • Splash Screen can now be as small as 320x240 or as big as your final game window!
  • Removed Audio's bgm_loop & bgm_no_loop methods
  • Removed Default Splash Screen, keeping the window invisible until it is time to display the title screen
    This prevents the engine from displaying 2 splash screens in a row
  • Removed Terms module that nobody used
  • Updated BGMNoLoopXP Ruby Script
  • Updated README & LEEME Files

Here is a sample script you can use as your custom splash screen. Winking
Don't forget to read the notes embedded in the script! Shocked

Game::SplashScene Script
(Using this module & its nested class is mandatory indeed.)

Code:
# * Game::SplashScene * #
# - Just A Custom Version - #
#  Scripter : Kyonides Arkanthes
#  2024-06-05

# The game developer is not supposed to redefine the scene's main method.
# You need to take care of both start & terminate contents only.
# You better call Graphics.resize_screen or Graphics.resize to ensure that
# the whole splash backdrop will be properly displayed on screen.

module Game
  class SplashScene
    def start
      Graphics.hide_window
      filename = "Graphics/Splash/screen"
      splash = Bitmap.new(filename)
      w = splash.width
      h = splash.height
      @backdrop = Sprite.new
      @backdrop.bitmap = splash
      @title = Sprite.new
      b = Bitmap.new(w, h)
      font = b.font
      font.size = 52
      font.outline = true
      font.outline_size = 6
      text = "Loading..."
      b.draw_text(0, 0, b.width, b.height, text, 1)
      @title.bitmap = b
      Graphics.resize(w, h)
      Graphics.center_window
      Graphics.show_window
    end

    def terminate
      @title.bitmap.dispose
      @title.dispose
      @backdrop.bitmap.dispose
      @backdrop.dispose
    end
  end
end
"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 }
A New Draggable Edition is Available Now!
Release 1.1.79

Recent Changes
  • Created Mouse Module
    Moved most of the mouse related methods and properties from the Input module except for click-oriented methods
  • New Mouse Methods: no_target? & target?(object) & target=
  • Added Input.press_left_click? & press_right_click? & Improved Input.press?(Input::MouseLeft) or MouseRight response
  • Added Window#draggable? & draggable= & mouse_target? methods for all RGSS-based engines
  • Updated ClickableWindowXP Ruby Script
  • Removed Boost Program Options Library

The Explanation

What this update accomplishes is to replicate the usual Windows or Plasma or GTK mouse + widget behavior that allows you to move that widget everywhere until you stop pressing the Mouse mouse button. Well, now you can do something like that by dragging Window objects all around the game screen. Grinning It won't lose the link until you stop pressing Input::MouseLeft... or Input::MouseRight if the latter is your favorite button. Happy with a sweat

By default all windows are NOT draggable BUT you can change that by calling:

Code:
self.draggable = true
@my_window.draggable = true

...depending on where you want to trigger it, namely inside or outside that specific window.
The internal window's areas won't matter as long as that window remains as the current Mouse mouse's target.

The previous system depending just on specific areas and that could let to a serious disappointment Sad once the Mouse mouse moved faster than the target window. Happy with a sweat

Now the ClickableWindowXP script lets you experience all that freedom at the tip of your index finger. Winking
"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 }
Don't Let Your Evil Sprites Drag You Under! Tongue sticking out
Release 1.1.80

Recent Changes
  • New Feature: Draggable Sprites!
    New Methods:
    • mouse_target?
    • drag_condition
    • drag_condition=
    • drag_always?
    • drag_color?
    • draggable?
    • draggable=
  • ClickableWIndow XP has now become ClickableWidget XP
    • Mouse Hover Implemented!
      There are a couple of rules that you must follow to make this work natively:
    • @base_name should have been defined
    • @hover_name should be defined
    • @hover_filetype is also needed
    • @hover_hue is 0 by default

Screenshot
"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 }
MIDI based error report:

Current state of test project:  RGSS1 scripts, no custom scripts in play.  Merely events as defined.
Version: hiddenchest win64 20240608 - 1.1.80 with DLLs supplied within.
Sound Fonts individually tested: GMGSx.SF2, GM4_Orch.SF2, Final_Fantasy_7_PSX_SF


THE SETUP:
I have a simple demo that obviously begins playing ye classic "064-Slow07" Title music that is the default. When selecting a new game, it enters a map with AutoChange off and no music selected for the map.  But after displaying a little startup message with a 60-frame pause, I use a contemporary PlayBGM Event command to begin another RTP classic: "058-Slow01".

THE REACTION:
After leaving the title screen and entering the map, the game does perform the 60 frame pause as defined. However, a final split-second 'blast' from the Title Screen music plays before switching over to the map music.

TEST 2:
I remove the title music from the Title screen.  After the 60-frame delay, the map music from the map event played without an issue.

TEST 3:
After returning the default Midi Title Music, I replaced the music launched in the field map to an MP3 file.  There was no  split-second 'blast' from the Title Screen music before the mp3 music played.

TEST 4:
Reversed Test 3, replacing the Midi Title Music with an MP3, but returned the Midi Map Music. There was no split-second 'blast' before playback.

TEST 5:
I decided to keep the Midi Theme at start.  But I removed the event and set the map properties to play "058-Slow01" on autoplay.  The split-second 'blast' returned.

TEST 6:
With the Midi Theme in place, I removed the autoplay music and created two map events the player needs to trigger:
   @>Fade Out BGM: 1 sec.
   @>Wait: 60 frame(s)
   @>Play BGM "{SELECTION}"
Each event had a different Midi file, but after the 60 second wait, each had a resulting 'pop' from the previously played Midi file, even when going back and forth between each event.

TEST 7:
Using the same events, I switched one of the events to play MP3 music. The MP3 music, on start, had no split-second 'blast. But when the other event that began midi playback was triggered, it played a blast from the title screen, the midi music from the title screen apparently still in memory and not cleared by the mp3 playback.


OPINION:
In layman's terms, it appears that past midi-music is not being properly cleared before the next midi piece actively begins playback. It is Midi to Midi exclusive, regardless of any other audio played between.


Laughing Yes, I have a Final Fantasy VII sound font. The default title music sounds funny with it.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply }
Relevant Maintenance Update Available!
Release 1.1.81

Recent Changes
  • Quick Fix: Stop or Close Stream if it is Not Looped
  • Removed Audio.default_bgm_loop & #default_bgs_loop
    It was duplicating code for no good reason
  • Renamed Audio.bgm_loop? as #bgm_loop to make it compatible with the bitwise or assignment |= operator

Note on the Quick Fix

I will not claim it is a perfect solution for the issue Wulfo reported this week. In the worst case scenario, you would still be able to notice a minimal, almost imperceptible beep before the internal player starts playing the next MIDI stream. Happy with a sweat
"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 }
The after-effect midi-music 'pop' still appears, playing arguably LESS than the previous pop.  I think you cut the previous pop effect in half.  Still, it is present.

I have a bit of an event code that does work at eliminating the pop...

AGAIN, ONLY IF THERE ARE STILL USERS OF MIDI OUT THERE!!!
What I did
Again, only if you are using midi.  And this won't really work with auto-changing BGM in the Map Properties for Midi users.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply }
Maintenance Update
Version 1.1.83 Released!

Changes since my last post:
  • Fixed the contents of the XXD files the engine needs for evaluating the RGSS2 and RGSS3 modules during the MRI setup process.
    This happened AFTER the custom game had been configured via parsing the Game.ini file.
    The RGSS1 module has been working fine for the last couple of releases, thus remaining intact.
  • Widened the error screen area to fully display long game titles there.
  • Fixed Window#height= method / Window#set_height function.
  • Fixed same ME not playing more than once that caused RGSS3 games to crash.
    Other games would simply mute or ignore the Midi ME and keep processing the rest of the given commands.
  • Fixed Audio.bgm_play Argument Type Checks for RGSS1 and RGSS3
  • Added RPG::BGM Missing Methods & pos 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 }


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



Users browsing this thread: 2 Guest(s)