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

No, but you can make one:
(These are not meant to be used seperately.) (Height needs to be adjusted when switching small/big windows.)

Some patches (VisuCommands.ips and VertiCommands.ips) are in the way (code-wise), so this won't work in those cases (someone is going to stumble into that problem).

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

Dercreasing the value to 254 or below and the width gets:
#256 = 256px
#255 = 511px
Those # and % are acting up again.
The numbers @ 4C9026 are 40 01 00 00 (= 320, little endian). For some reason the # overwrites only the first byte FF 01 00 00 (= 511)

Replace the QuickPatch with this line in some plugin:
*reinterpret_cast<int *>(0x4C9026) = winWidth;

This works:
Yes, but doing that with every little thing would be a pain. Trashing the QuickPatch feature from the dynloader.dll and replacing it with a working quickpatcher plugin is a pain, too. I can try to brush up on necessary C++ knowledge...

Oh, that was you!
Oh, that was me! Thought I was paranoid when the dynloader.dll changed itself by itself.

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

Is there any way to make it so when I use Item[...]
Sounds like the entire battle engine would need to be ripped out and replaced to get most things done that you and other people want. I thought the battle sequence lists all actions done / to-be-done in battle in a list that fills up consecutively when someone / the enemy decides their turn? Shifting the order around might cause problems, or at least I do not know how that thing is structured. Yet.

Skill(Entries per row, battle)=4A0E92,%2
Sorry, a typo, I was tired I guess. It needs to be:
Skill(Entries per row, battle)=4A0E93,%2

Offset 0xC8431 (1 Byte, signed): Skillmenuheight.

An appropriate callback might have caused less of a mess than this Visu-something did. Might have spared me that all-nighter, too. Sigh...
Remind me to do that. Somehow. Someday.

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

Question:But how would you detect that it was drawn that frame?
RollOn1 and RollOn2 don't really do anything. Probably because most windows are not shown with an inflateRect().
[...]window->image->width or [...]window->image->height are both zero when an RPG::Window is not present or was deleted.

bool winPresent;
if (scene == RPG::SCENE_MENU)
if (RPG::menu->winSkills->image->width != 0)
{winPresent = true;} else {winPresent = false;}
} else {
if (RPG::battleData->winSkill->image->width != 0)
{winPresent = true;} else {winPresent = false;}

Question 2:What is that tooltipp window with the item/skill-description on top called and is there a pointer to it?
In battle the winSkill has the same structure as RPG::menu->winSkills but doesn't use the pointer stemming from RPG::SceneMenu. The RPG::menu->winSkills and (->winItems) is not initialized / used in battle (or BattleTest, at least).
It is probably just linked to the basic RPG::Window structure in the headers.

Open BattleData.h and go to line 70. Replace
Window *winSkill; with WindowMenuSkill *winSkill;
And in line 71 replace
Window *winItem; with WindowMenuItem *winItem;

Access with RPG::battleData->winSkill->winInfo->image->height or other stuff.

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

If you know what's been modified or can still find those patches on the interwebs...

If not:
Do you still have a back-up of the previous RPG_RT.exe? (patched with an older version of DynRPG, all pre-patched old mods intact)

If so: download LunarIPS
(use RPG_RT back-ups in the following steps, in case something goes wrong)

[1] Create a new 2k3 project (shouldn't have dyn on), take its RPG_RT.exe (name it 'RPG_RT - native' or something)
[2] Copy&Paste RPG_RT - native and apply the old DynRPG patch to it (name it 'RPG_RT - dyn(old)' or something)
[3] Start up Lunar IPS, select "create IPS patch"
[4] When it asks for "ORIGINAL UNMODIFIED" file, select "all files" in the bottom right and open RPG_RT - dyn(old)
[5] Then it asks for "NEW MODIFIED" file, "all files" and open RPG_RT - native
[6] Save as RPG_RT - deDyn (or whatever, it's just for navigation)
[7] The newly created .ips file gets rid of file modifications (only the old DynRPG)
[8] Apply RPG_RT - deDyn.ips to a copy of your game's RPG_RT
[9] Patch the newer version of DynRPG (Dyn.20) on top of it.

Selecting a patched file as "ORIGINAL UNMODIFIED" and an unpatched file as "NEW MODIFIED" in Lunar IPS results in an UnPatch/DePatch/whatever.

Or just patch a native RPG_RT with an old version of dyn, start Lunar IPS, "create IPS patch".
Now, "ORIGINAL UNMODIFIED": select a native RPG_RT patched with old dyn.
"NEW MODIFIED": select your game's RPG_RT.exe (the one patched with the old dyn).
The resulting ips. file should contain all your previous patches (there will be problems if one of those specifically modifies DynRPG related things)
Take another native RPG_RT, patch the newer DynRPG and the .ips file (containing previous patches) onto it.

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

Huh, I thought it worked (the last time I checked)

; Paste quickpatches here


If something's acting up again, try those instead:

If it's still not working, you can PM me the contents of the folders DynPatches and DynPlugins as well as the DynRPG.ini, I'll take a look.

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

Is there some listing somewhere of DynRPG plugins and such
The last time someone tried to do this, it just... stagnated.
Most of those listings are in RMN's utility section anyways.
Corti made several plugins, but the instructions are mostly in german at the moment.

Here's some old stuff I made.
Also, there's hundreds of QuickPatches floating about.

You're better off just shouting if you need something.

int getSelectedMonster() { 
if (RPG::battleData->winMonTarget->choiceActive) {
return RPG::battleData->winMonTarget->currentChoice;
} else return -1;
Just bear in mind that it only returns the cursor position in the target window.
Let's say Monster#1 is at the top of the target choices and gets killed off. Now Monster#2 is the top choice. RPG::battleData->winMonTarget->currentChoice; would still return 0 and would require you to check which monsters are still in battle every time.

I posted the getMonTarget() thing since it's faster. And, apparently, what's where in the target list is tracked in RPG::Window of winMonTarget.

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

New plugin alert! DynBattleDisplay

Why are the HP/MP/ATB gauges displayed briefly at the start of battle?

Also (as the screen would be too stuffed if the gauges were shown all the time) when people use that 'show for x frames when a change occurs' it would be nice to see HP/MP/ATB when targetting an enemy:

#include <DynRPG/DynRPG.h>
//Dyn.30 is required

bool WindowOpen;
asm volatile("call *%%esi"
:"=a" (WindowOpen)
: "S" (0x4C6748), "a" (RPG::battleData->winMonTarget)
: "cc", "memory");
//calls isWindowOpen()
//Built-in RM2k3 function that returns whether or not a RPG::Window is currently open

if (WindowOpen == true)
int monPartySlot;
asm volatile("call *%%esi"
: "=a" (monPartySlot)
: "S" (0x4953E4), "a" (RPG::battleData->winMonTarget)
: "cc", "memory");
//calls getMonTarget()
//Built-in RM2k3 function that returns the enemy's partySlot (0..7) selected by the cursor in target window

//monPartySlot +1 is the enemy's ID in the monster group (it includes dead/escaped/invisible enemies) not on the target menu
//works for all battle layouts (Gauge layout has the target window open off-screen)

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

Anyone know how to mod RPS[+]?

... I do. When I find the hours to redo that patchwork.
Didn't want to mess up things for whoever will be in charge of adding callbacks on to DynRPG.
I kind of hoped that at least some other things would have updated since then.

i have a question regarding the battle info disloc patch (i think this was the name)

You mean Visu Something?

Try this:
download VisuGauge(BigDigits)

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


I kinda remember this one.

Make sure the contents of ..\rpgss-0.9.0\bin are copy pasted into the game's folder (where stuff like the RPG_RT.exe is located);
the rpgss.dll is then cut and pasted into the DynPlugins folder;
and the 3 folders in ..\rpgss-0.9.0\assets are copy pasted into the game's folder as well.

... or maybe a script is defective.