+++ DYNRPG - THE RM2K3 PLUGIN SDK +++

Posts

What exactly is behind the 30 plugin limit? Is it actual operating limits, or is it arbitrary "I set the number of plugins allowed to 30." As in, would it be possible for you to later raise it to 50 or something (being that suddenly a bunch of them are coming out).
It's an arbitrary number as a compromise between speed and possibilities. The more plugins I support, the slower every internal callback becomes (making this number dynamic would make the interoperability of dynloader.dll and rpg_rt.exe more complicated).
So a bit of both. Someone could probably make a "wish for more wishes" style plugin then, if they wanna be real idiots and waste a plugin. But it sounds like we should make more merged plugins, like stringing together animated_monsters and health_bar.
Ok, so I found out that RPG Maker uses Direct X7 (wow, that's old). So I tried recording it today with Dxtory, and...well, it lists it being recorded but it records nothing. However, if I use one of my other 2 exe files I have (the default ones), then it picks it up and records fine it seems from what I'm told. The one that it's NOT recording from is the one that is using DynRPG. Would you happen to know why that would be Cherry? o.O

In addition, if I don't give anyone the RPG_RT that's using DynRPG, would anyone be able to use what it's using? And if I were to use the RPG_RT that isn't using DynRPG, would I be able to still access anything used by it at all?

I don't know if the David/Goliath patch also applies to this as well so...
In addition, if I don't give anyone the RPG_RT that's using DynRPG, would anyone be able to use what it's using? And if I were to use the RPG_RT that isn't using DynRPG, would I be able to still access anything used by it at all?


Sorry, I lost you there.
Basically, the RPG_RT that I use is the one that runs off of DynRPG. I made 2 older ones (for some reason) that don't use DynRPG.

So the question should be, if I don't give anyone the RPG_RT that has DynRPG attached to it, would their games have access to whatever DynRPG stuff I MAY have used?
I still don't understand what you mean. Why "their" games?

DynRPG consists of the patch (i.e. the patched RPG_RT.exe), the loader (dynloader.dll) and the plugins. The patch, together with the loader, is communicating with the plugins and integrating them into the RPG Maker system.

You (and everybody else) need all three "parts" (patch, loader and the plugins themselves) to use DynRPG plugins. Without the patched RPG_RT.exe, DynRPG won't work anymore, of course.
David/Goliath patch does work with DynRPG. But you should just patch over the RPG2003 not the RPG_RT. The reason? If you later want BetterAEP, you'll need to replace it. Also, while DynRPG does work, I had trouble using HyperPatcher until I replaced the RT file.

In general, you have to actually patch the file. I copy/pasted my RT that was prepatched (my old RT got messed up when I first tested Better AEP, before I figured out how to run it, and I needed a quick fix). It errored, because it was looking for the dynloader.dll along with the DynPlugins folder. So I had to patch it before it would run.

Has anyone tried to work with the Public Member getMaxHp()?

I'm trying a fairly simple line, and I get an error popping up. The line:

max_HP[id] = battler->getMaxHp();


The error:

"Access violation in module "plugin_name.dll" with address 6AB81464 and offset 00000060 of type Read occurred"
Large, maybe you are using the newest gcc... I've got the same problem (some pages above) with the loadConfiguration - it was fixed when I compiled the plugin with previous version of gcc.
Well, I have 4.6.1, which is the one recommended...
I guess your battler pointer is NULL.
But that's... why? If I remove the line, the rest of the code works, and I'm doing stuff with the battler. Like, I can do battler->hp += 1;, no problem.
is the "id" of your battler actually getting defined before that line of code? I think that's what's returning null.

Can you send me your DLL over (or even your test project), so I can quickly debug the issue?

I checked the RPG Maker's code behind getMaxHp and nowhere is ever offset 0x60 of something accessed, so I am puzzled where the error could happen.

@PepsiOtaku: The id shouldn't matter, actually you should never change the "id" member of anything because the RPG Maker might go insane afterwards.
I'll send it over in an hour or so, Cherry.

I was also thinking that the "id" had nothing to do with it, since basically, from what I've observed (And I don't know a lot about coding), the method assigns an id to each battler automatically, and you don't need to access it from an actors array or anything.
I thought it might be interesting for others too (there was a PM conversation between me and Large):

getMaxHp problem: For me it worked fine. Maybe it's another compiler issue, it looks like the Compiler I got with CodeBlocks here is way outdated (I used the same CodeBlocks as I used when I created DynRPG), it's version 3.4.5. You could try installing GCC 3.4.5 too: http://ftp.gnu.org/gnu/gcc/gcc-3.4.5/gcc-3.4.5.tar.gz

Conditions problem: I found the issue. You remove the last condition, but the animationId is still 9 (which means "condition"). The RPG Maker then tries to get the first active condition ID and gets 0 and in turn tries to draw the animation for condition #0 which causes the error.

Solution:

if(battler->animationId == 9) battler->animationId = 0;

0 stands for the idle animation.


I forgot to mention that before setting animationId to 0 you would need to loop through the whole conditions array and check if any other conditions are active. Only if all values are zero, change the animationId. Otherwise the hero would be displayed with the idle animation even though there might still some other condition than Healing Breeze be active.
Hate to be pushy about this, but can we get a fix for the sprite transparency issues?

-Event Graphic "Transparent" flag (seems to only affect charset graphics?
-Move Event "Increase/Decrease Transparency" commands
-Database/Terrain "Sprite Display" options

First and third one always shows the graphic as opaque, and the 2nd one only decreases transparency about 25% (no matter how many commands you put in).

They're probably all tied to the same problem. I've got some stuff I'm working on that require the Event Graphic's transparent flag, and I have a lot of existing events that use it too. I can provide a video or some screens if need be.

Some notes on the "Transparent" flag. If it's a chipset graphic, it works fine, but if it's a charset, then it appears opaque until the hero graphic walks behind it. When that happens, the hero graphic becomes about 25% transparent instead of the event's graphic. It's weird.
1/3 transp, 1/2 transp, and semi-transparent on tile types doesn't work either.

I'd like to see an update in general for DynRpg with a few new perks (some way of storing the skill/item the battler/actor used to Rpg::variables would be great). But transparency is a biggie.
I've been wondering about something... would it be possible to create a plugin that allowed the game to use two different databases?