• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

RGSS FmodEx extension

Mellan

Pokémon Chion Developer
85
Posts
9
Years
Spoiler:

It is 29 lines long if you count also comments. xD
You were correct. I forgot to add fmodex to my game folder, I feel so stupid now. :P
Thank you for replying so fast. I'm sorry for making you download PE 16. >.<" I checked my folder many times, I swear, but I really didn't notice that a dll was missing.
Thanks.
 

MysteriousUser94

Guest
0
Posts
Oh, on my system it says this : http://puu.sh/lQxhb/65d85fd487.png so I know I forgot something :d
I forgot the comments when I copied the script from my first post so I got the wrong number of line xD (Np for the download of PE16, it tooks me 2 minutes so :p)
 

WriterRaven

I Illustrate Through Words
54
Posts
9
Years
Hi there,

I've been keeping these scripts on hand for a while now, but I only just got around to implementing it. I keep getting a no method error in the second script (placed above the Linker as per instructions):

"undefined method 'load_module' for Kernel:Module"

What's even more strange is that 'Kernel:Module' doesn't appear in any scripts. Using Essentials 15.1 (because I think I'm too far in to upgrade to 16).
 
Last edited:
199
Posts
8
Years
  • Age 29
  • Seen Mar 21, 2024
Hi there,

I've been keeping these scripts on hand for a while now, but I only just got around to implementing it. I keep getting a no method error in the second script (placed above the Linker as per instructions):

"undefined method 'load_module' for Kernel:Module"

What's even more strange is that 'Kernel:Module' doesn't appear in any scripts. Using Essentials 15.1 (because I think I'm too far in to upgrade to 16).

You misinterpreted the instructions. The second script needs to be placed below the linker script in the script list, not above.
 
129
Posts
7
Years
  • Age 35
  • Seen Mar 23, 2023
I was wondering if you guys could add a fade up on the resumed BGM when it gets interrupted by a ME playing. It's a little jarring when an item jingle plays and then the background music just starts up again right where it left off, even mid-note. I think the built-in ME support does this already (or at least it feels like it), so it was a little jarring when the RGSS FmodEx dll didn't do so.

(Barring that, if you could point me to the source code of the dll so I could try it myself, that would be nice. :) )
 

PokeVec40

Pokémon Exile Developer
64
Posts
8
Years
  • Age 24
  • USA
  • Seen May 20, 2020
I really hope this thread isn't totally dead.

I just tried installing these scripts, and had to add in the RGSS104E.dll, but I still get an error message stating
"This isn't the RGSS104 library !" followed by the programmatically thrown exception "Failed to load RGSS Linker." Does this mean I need to install the .dll in my OS folder? and if so does that mean everyone playing the game must do so as well?

Help would be greatly appreciated- It's probably something really obvious that I'm overlooking.
** EDIT **

Ok, so I figured out the issue- I opened Game.ini with text edit and changed the default library to RGSS104E. It works, but when RPGMaker XP saves data, I have to change it back every time from RGSS102E. Any advice as to how to change the default library in RPGMaker XP?
Thanks.
 
Last edited:

MysteriousUser94

Guest
0
Posts
Sorry I was going to this forum lately '^'

You can take the RGSS104E.dll and rename it RGSS102E.dll, it should work, otherwise use the Steam Version of RPG Maker (I think there's no problem with this version '^').

Spoiler:
: I should add this function but if you want to try the source won't help a lot. The FmodEx.me_play only do the following thing :
-> pausing the BGM
-> starting the ME
-> starting a Thread that resume the BGM if the ME ended

You'll have to rewrite the whole function so you need to use a RGSS Linker thing to rb_define_module("FmodEx") in order to get the FmodEx module Object and rb_define_singleton_method in order to redefine the me_play, me_stop and me_fade function to manage your fadeup thread.

I give you the structure of a FmodEx::Sound object :
Code:
//---
//Structure de données d'un son
//---
struct RGSSSoundData {
	FMOD::Sound* sound;
	FMOD::Channel* channel;
	HANDLE AdditionalThread;
	bool freed_by_ruby; //Indique si l'objet a été détruit par Ruby
};

//---
//Structure de l'objet Ruby d'un son
//---
struct RGSSSOUND {
    struct RBasic basic;
    void (*dmark)(void*);
    void (*dfree)(void*);
    RGSSSoundData *data;
};

(My source is written on VS 2012 Ultimate, I doubt it can be compiled on something else, especialy GNU compilers ^^)
 
Last edited by a moderator:
129
Posts
7
Years
  • Age 35
  • Seen Mar 23, 2023
I'm sorry, I saw that this thread was almost a year old at this point and figured you had moved on with other things, and I certainly can't find the source code of the dll anywhere online. My asking for the source was if you didn't want to add it yourself for whatever reason. By all means, if you want to add my request, don't let me stop you. ^_^;
 

MysteriousUser94

Guest
0
Posts
I'm still working on it :p
RGSS FmodEx is a part of Pokémon SDK and I'm still working on Pokémon SDK so :3
 

Arkadious

Developer of Fragmentum
50
Posts
8
Years
Hi, I'm sort of new to all this (sound looping) and I know the forum has been dead of a little while, but I've got a question that I hope you could answer.

I want to make the music of (let's say) Gym battles loop and I'm using my own music for it. I find the sections that I want it to start looping from and end at, and put it in like this:
Capture_zpsiw6ndvds.png

What do I need to do next to get it to loop because at the moment it's just getting to the full end of the song and then starting from the beginning. The music files are in ogg format.
 

MysteriousUser94

Guest
0
Posts
Try to remove the ".ogg" in the loop table.
You can also not use the loop table and take a software like Audacity to put the "LOOPSTART" and "LOOPLENGTH" tags (in PCM unit and not ms). I made something inside the library that load the loop information inside the file. (Works also for MP3.)
 
2
Posts
7
Years
  • Age 21
  • Seen Jan 4, 2023
It would be cool if somebody could help me!
I used this Script and it works perfectly, but the loop only works if I play the BGM by myself, that means it dont works in Wild Battles or in Cities.
Can somebody please tell me how I can get it work in Wild battles, etc. ?

Sry for my bad English im german.
 

Arkadious

Developer of Fragmentum
50
Posts
8
Years
Hi everyone,

I don't know why this has started to happen but after a while using this script, the pitch and speed of the BGM in the Indigo Plateau increases beyond RPG XP's normal limit. However, if you look at the settings of the BGM music for that map, it's fine. It also doesn't decrease if you manually decrease it. I have yet to notice this on other maps. I can confirm it's the scripts as I've back into the map after commenting those two out and it's gone back to normal. I don't want to have to go back to the other method of looping music as this one is so convenient and easy. I really like it.

Is there anywhere in particular the two scripts need to be in Essentials to work perfectly or is just the RGSS Linker before FmodEx after the Debug-Compiler scripts section?

Edit (31/12/2016 at 5:28pm): I'll test this out a little more and make another post if anything happens. I have a hunch as to why its doing what it's doing.
Edit (31/12/2016 at 5:49pm): Just tried it with two clean copies of Essentials 16.2 and it only happens when the RGSS Linker and FmodEx scripts are in.
 
Last edited:

MysteriousUser94

Guest
0
Posts
It's weird '^'
I don't know how to reproduce the bug (I only saw that it ignore the pitch setting of the map in an RMXP project)...
I give you the last update if it's a bug of the version : http://www.mediafire.com/file/rgy7arkf7ok6266/RGSS+FmodEx+LastUpdate.7z

I don't know where the script should be in Essentials to work perfectly, I can only tell you that in PSDK it's like one of the first script to be loaded (before the RMXP scripts).

Can you give a little exemple project with the bug ? (I'll try to patch this if I can ^^)

PS : You can get me on Discord : Nuri Yuri#0158, it'll be much faster to get an answer x)
 

Arkadious

Developer of Fragmentum
50
Posts
8
Years
It's weird '^'
I don't know how to reproduce the bug (I only saw that it ignore the pitch setting of the map in an RMXP project)...
I give you the last update if it's a bug of the version : http://www.mediafire.com/file/rgy7arkf7ok6266/RGSS+FmodEx+LastUpdate.7z

I don't know where the script should be in Essentials to work perfectly, I can only tell you that in PSDK it's like one of the first script to be loaded (before the RMXP scripts).

Can you give a little example project with the bug ? (I'll try to patch this if I can ^^)

PS : You can get me on Discord : Nuri Yuri#0158, it'll be much faster to get an answer x)

No worries :) Honestly it's fine. I'll try to get a video recording of it and I'll give you the link to it once it's done so you can see what I mean. Thanks a bunch.
Edit (06/01/2017): Here's the link https://www.youtube.com/watch?v=GKeWcHUuppM&feature=youtu.be
And when you put in the new .dll's, Essentials gives an error on line 28 of the FmodEx script saying it expected version FmodEx version 4.68.97 instead of 4.68.80
 
Last edited:

MysteriousUser94

Guest
0
Posts
Ohw, I forgot the FmodEx DLL x)
Here's a link : https://download.psdk.communityscriptproject.com/downloads/fmodex.dll (I don't know if it's the good version since the link is old but it's the same size of the dll from my project ^^)

I've done a test it looks like the second time the music is play (if you do bgm_play two time in a row) it's played the square of the speed needed. In my test it plays 1.4 faster than RMXP plays it (tempo = 140%)
I'll make a patch ^^

Edit : In fact RMXP is doing shit with Midi... I tested the music battle1.mid (from RMVX RTP), it's 1m12s long according to LMMS (1:14 without the blank). I tested the music on RMXP at 150%, it's 1m15s long according to Camtasia Studio 8... The music is just more shrill (aigu in French).
51 second is 1.4 faster than 1m12s.

To see if there's a real bug on your project, test the music at 150% if the duration beetween two blanks is 48s you have no problem with the pitch ^^

I just give a patch for the more than 100% pitch bug of RGSS FmodEx :
https://download.psdk.communityscriptproject.com/downloads/RGSS FmodEx.dll
 
Last edited:
Back
Top