Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
0

[RMMZ] Free QoL, WordWrap, and Map/Event Plugins

A topic by TomazellaGames created 22 days ago Views: 72 Replies: 3
Viewing posts 1 to 2

I'm sharing my new 2 main free plugins for RPG Maker MZ. Within those plugins, you'll find:

TomazellaMZ_0_Core
  • Quality of Life stuff (like playtesting help)
  • Player Benefits (like always escape)
  • In-game speed control (no more annoying grinding)
  • Escape Codes (like \LastGainedObj, \i[N} for icons in messages and other places)
  • Auto Word Wrap (no more clipped messages)
  • Lots of plugin commands
TomazellaMZ_2_MapCore
  • Sliding Tiles (Pokemon Yellow feelings)
  • Floating Text AND Icons on Events
  • Event Helper (easier check for repeated events)

Grab the plugins for free here: https://tomazellagames.itch.io/mz-expo

Nice set, and word wrap plus escape codes in the free tier is generous. One trap from our own MZ work, since you ship a numbered suite and MapCore depends on Core. The numbering is a recommendation, not a guarantee: the load order is whatever the user drags it into in Plugin Manager, so any check like typeof TomazellaCore that runs while the file is being evaluated can be false purely because the user reordered two rows. It fails silently and only for them. What fixed it for us was resolving siblings at first use instead of at load, or deferring the whole hookup into Scene_Boot.prototype.start, by which point every plugin has evaluated no matter the order. The other one, if you are touching the message window for word wrap: Window_Message has no windowHeight. Its size comes from Scene_Message.prototype.messageWindowRect, in rmmz_scenes.js. Easy to patch the wrong seam and see nothing happen.

Thank you for your words. Actually MapCore doesn't depend on Core, the numbering is just a suggestion.

The whole suite resolves cross-plugin references lazily at first use rather than caching anything at load time, so it's position-safe across the board, not just Core/MapCore, but all my plugins — reordering rows in Plugin Manager won't break it.

On the message window: already handled to avoid problems — the word-wrap width comes from this.innerWidth on Window_Message, not a patched windowHeight, so it's downstream of whatever Scene_Message.messageWindowRect sets rather than fighting it.

Thanks again for taking the time to write that up.

Good, that is the right call on both counts and you are further along than I guessed. Resolving at first use is the version that survives a user reordering rows, and taking the wrap width from innerWidth on Window_Message rather than patching a height is the seam that also survives another plugin resizing that window, which is the case that usually breaks wrapping quietly. Thanks for the correction.