DynRPG v0.32 Unofficial
Plugin SDK
Changelog

Version 0.32 Unofficial (2017/02)

Version 0.31 Unofficial (2016/05)

Version 0.30 Unofficial (2015/01)

(Not including enumerations. Review them in the classes as needed)

Version 0.20 (2013/12/31)

  • On-the-fly patching using IPS files or quick patches in DynRPG.ini added. See the corresponding On-the-fly IPS patches and Quickpatches sections.
  • Partial Hyper Patcher 2 picture limit changing support removed, it never worked correctly in the first place.
  • AUTO_DLLMAIN define removed, now a DllMain function is always inserted by default, use #define CUSTOM_DLLMAIN to prevent this behaviour.
  • The automatic DllMain function now stores the plugin's instance handle in the global variable hInstance (only if CUSTOM_DLLMAIN is not defined).
  • Critical bug fixed: Game could hang when loading a game after a new plugin has been added due to an infinite loop bug during Save??.dyn file parsing.
  • Critical bug fixed: Transparency of events (including the hero) behaved weirdly (changed depending on Y position) and was thus unusable. This bug also slowed down the event rendering a lot.
  • Bug fixed: Class RPG::DList had members count and items swapped. Because DynRPG classes need to have the same memory layout as the RPG Maker's internal Delphi counterparts, all accesses of RPG::DList classes (most notably RPG::monsters) crashed the game.
  • Bug fixed: RPG::Catalog::count didn't work (tried to access list.count where it should have been list.list->count, causing a compiler error.)
  • Bug fixed: RPG::Image::copy was broken (didn't set the new image size but silently leaked an RPG::Image instance instead).
  • Bug fixed: RPG::Actor and RPG::System methods sometimes returned wrong strings (i.e. for RPG::Actor::getName) if they encountered a default value in the database.
  • Bug fixed: Due to missing string termination, the RPG::ParsedCommentParameter::text member of a comment command's last parameter often had garbage appended at the end.
  • Bug fixed: Negative numbers in comment command parameters were incorrectly parsed as RPG::PARAM_TOKEN instead of RPG::PARAM_NUMBER.
  • Bug fixed: RPG::Event::doesEventPageExist was broken.
  • Bug fixed: RPG::transparentWindowsEverywhere was broken.
  • Modified library to work with newer GCC compilers. Now GCC version 4.7.1 is required. (For tech-guys: Why the hell can GCC now use the ESP register for an inline asm parameter with the "g" constraint?!)
  • Bug fixed: The "cross-map" pictures #1001 to #2000 were not erased when a new game was started.
  • Fixed an RPG Maker bug which caused the HP display in the save menu to be misaligned when the HP had 4 digits.
  • Removed the longer skill/item window visibility "improvement" for most scenarious because it turned out to disrupt battle event processing. Only the info window shown when a monster executes a skill is still shown longer, but now only for 50 frames (old DynRPG used 90 frames which turned out to be annoyingly long, original RPG Maker used 30 frames which I think is too short to be readable).
  • Fixed an RPG Maker bug which would cause the game to crash when a "Link to Event" battle command was used right after the item menu has been opened and then closed with ESC.
  • Added RPG::Actor::twoWeapons, RPG::Actor::lockEquipment, RPG::Actor::autoBattle and RPG::Actor::mightyGuard fields.
  • RPG::System::pedestrianBGM added. Funny name, I know.
  • The maximum number of plugins has been raised from 30 to 50.
  • Bug fixed: Under some circumstances, the game would crash during event command execution. It's hard to describe the exact triggers, but they included "Erase event" commands in common events, loading a game which was saved while a "Wait until key press" was active and some other, rarer situations.
  • Fixed two RPG Maker bugs with "Small window" mode in battle: The action, item and skill selection windows had an empty line at the bottom even though there would have been enough space. This was especially confusing for the battle action window because it looked like the actor had only 3 commands available. Also, the selection cursor for "Show choice" windows in battle was not correctly aligned with the choice texts.
  • Removed the "higher action window" workaround for the small battle window mode because a real fix has been implemented now.
  • Bug fixed: DynRPG would sometimes refuse to load a plugin with no valid reason, depending on the constellation of files in the DynPlugins directory.
  • Fixed an RPG Maker bug which would crash the game with a "Division by zero" error on certain edge cases of picture operations (especially pictures with small zoom level partially outside the screen). This bug also affected RPG::Canvas::drawCenteredZoomed.
  • Bug fixed: The enemy attack sound was also played if the enemy wasn't doing anything at all. Additionally, sometimes sleeping or paralyzed enemies would even flash white and the "Punch A" sound would play.
  • Fixed an RPG Maker bug which caused enemies to be flashed even when they executed the "Do nothing" action.
  • The onDoBattlerAction callback has now a second parameter firstTry which will be true only at the first attempt of executing the action. This allows plugins to execute code only once per action. Before, the onDoBattlerAction callback could be called multiple times without a way to distinguish between a new action and a new attempt to execute the same action. Because the information about an action's success has to be stored somewhere, the RPG::Action::userData2 member has been repurposed and is now called RPG::Action::retrying. Old plugin DLLs which are unaware of the new firstTry parameter will still work, but if any old plugin tries to use the RPG::Action::userData2 member it will cause problems. However I've got the impression that it's unlikely that there is such a plugin out there.
  • The member RPG::Action::userData1 has been removed from public access because I realized it's not a good idea to have generic fields without defined purpose, as this could easily cause conflicts between different plugins.

Version 0.14a (2012/02/15)

Only the SDK was updated. The patch still shows version 0.13b.

  • RPG::Character::mapID was renamed to RPG::Character::mapId to follow the naming convention used at all other places.
  • The documentation now doesn't show inherited members anymore unless you click List of all members.
  • Bug fixed: RPG::Map::getWidth and RPG::Map::getHeight were returning nonsense due to a typo (again).

Version 0.14 (2012/02/15)

Only the SDK was updated. The patch still shows version 0.13b.

  • RPG::isBattleTest and RPG::showTitle added.
  • Critical bug fixed: The big bugfix done in version 0.13 created new bugs because I forgot to update a few things in the changed asm statements. Sorry for that.
  • Bug fixed: I had confused the parameters of RPG::Character::move.
  • Bug fixed: Nasty typo in RPG::encode caused it to produce garbage.
  • Type of message parameter of RPG::showError changed from char * to std::string.
  • Type of data parameter of RPG::Character::move changed from char * to const char*.

Version 0.13b (2012/02/15)

  • Bug fixed: If version 0.13a was patched over version 0.13, the game wouldn't start anymore. Patching 0.13b over 0.13a should fix the problem.

Version 0.13a (2012/02/13)

  • Bug fixed: Due to a silly typo the game crashed as soon as you would try to buy something in a shop.

Version 0.13 (2012/02/11)

  • Critical bug fixed: The asm statements in the SDK didn't properly tell the compiler that the eax, edx and ecx registers may be changed even though they often aren't used as output registers. This could randomly lead to faulty code (depending on the surrounding code and the compiler options) which would then result in strange crashes. Please recompile all modules of your plugin with the new version of the header files and the library!
  • Bug fixed: The RPG::ParsedCommentData::command string wasn't terminated properly.
  • I realized that Code::Blocks is far better than Dev-C++ and changed the Getting Started page accordingly.
  • The RPG::showError function was added.

Version 0.12 (2012/02/07)

  • RPG::Canvas::drawStretched and RPG::Canvas::drawCenteredZoomed added.
  • Bug fixed: The DynRPG Patch caused the battle status window to be always fully opaque in battle layout "alternative", even if "transparent" was enabled. If the latter was the case, additionally the ATB bar wasn't shown.
  • Added "Powered by" on top of the DynRPG logo.

Version 0.11 (2012/02/06)

Only the SDK was updated. The patch still shows version 0.10.

Version 0.10 (2012/02/05)

This is the first release. I started this project on 2012/01/23, by the way. Just in case somebody wants to know.