CHERRY'S PROFILE

Search

Filter

+++ DynRPG - The RM2k3 Plugin SDK +++

@Cerberus:

author=Kazesui
If you followed the instructions in great detail, given on the DynRPG site and still can't get it to work, it could be that you're using the wrong compiler. If you recently downloaded Code::Blocks, compiler included, you probably got the new gcc compiler, which doesn't work with this patch.

You'll have to use a sufficently old version of gcc for it to work.
I'm not entirely sure how old is old enough, but I THINK version 3.8.5 will work (I'm not entirely sure about this though)

This might be the issue. Probably I should check it and update the manual...

EDIT: Could you upload your DLL? I am interested in what's going wrong (from the technical side).

+++ DynRPG - The RM2k3 Plugin SDK +++

It shouldn't make any difference whether it's called "conf" or "configuration". That's only a variable name.

Of course, names within the RPG namespace can't be changed, but I don't think you are trying to do that anyway.

+++ DynRPG - The RM2k3 Plugin SDK +++

Actually, it should work fine. That's weird. What's the exact crash address? And have a look at the demo plugin, it uses RPG::loadConfiguration too, does this one work for you?

+++ DynRPG - The RM2k3 Plugin SDK +++

@MP: Yes, you could check for MP changes in onFrame and use RPG::Battler::damagePopup (either as colored number or as string like "+10MP" or so, unfortunately the RPG Maker doesn't provide a function to show a colored string) to visualize the change. However you would somehow need to "filter" the normal MP usage caused by skills because that's probably unwanted... Maybe by ignoring MP change done between onDoBattlerAction and onBattlerActionDone, but I am not sure about that. Maybe RPG::Battler::actionStatus might be helpful there...

@EDIT: Shouldn't be too difficult, I think.

DynScript?

Actually, one of my very early creations was the so-called "Power Patch", which allowed very limited scripting using Lua.

Later I started creating CGSS (http://cherrytree.at/cgss) which is actually something like DynRPG, but using Lua. I stopped it in a very early stage though (you can download a demo on my page) because I noticed that the performance was terrible. And even with optimizations (which would have made the system less transparent, on the other hand) it would never have been worth the effort because most "exciting" things would just slow down everything so much that it wouldn't have any real-world usage.

That's partly to poor design of the RPG Maker system itself and partly due to all the marshalling which is necessary to interface Lua with the RPG Maker, mostly when callbacks come into play (and be honest - without callbacks, DynRPG would be far less powerful!).

The fact that DynRPG uses compiled C++ allows for much better results. Firstly because it's using compiled code, no interpreting is needed there. Secondly because accessing the RPG Maker system is mostly "direct". For example, writing RPG::system->scene = RPG::SCENE_MENU; produces about the same machine code as if the RPG Maker would do the same thing natively! That's because the DynRPG classes have been designed in a way that their memory layout matches the layout of the internal classes of the RPG Maker so that the C++ compiler can generate the optimal code. Even most method calls (like RPG::Character::move, for example) are only very thin wrappers around the corresponding interal functions of the RPG Maker, mostly in order to translate C++'s calling convention (using stack only) to Delphi's (using the eax, edx and ecx registers), so that the overhead is minimal. This means that DynRPG code is at least 90% as fast as the native code of the RPG Maker.

This also means that exposing the full DynRPG API via Lua or Ruby or anything else would probably need many times more effort than creating DynRPG itself needed! It's like building an adapter cable for DVI>HDMI versus building an active converter for VGA>HDMI. The first one just needs the right wiring and the right plugs (and doesn't need any actual curcuitry apart from the connections), while the second one is a complex device which needs to actually "translate" an analog signal to a digital one!

[DynRPG Plugin]Blending Mode

Algorithm the RPG Maker uses for transparency:

R = R (picture) * (alpha + 1) + R (screen) * (256 - alpha)
Same for G and B

If you do this, you could store the second image in the image2 buffer of the RPG::Picture after calling merge(). Set the transparency2 to 100 to prevent the second image from being drawn.

[2K3][Help] An...even MORE stranger bug o_O

Probably a temporary error with DirectX in general.

[Headset] Rm2k3 Sound and BGM split?

Note: MIDI is played in a different way than Wave. Have a look at the MIDI specific settings in your control panel!

DirectItemMenu Patch for RM2k/RM2k3

No problem, since neither of these trigger the main game menu.

[2k3] Locating the save data on Win 7