MPak v7.0 Release


Hey all, I have finally reworked the entire backend of MPak so that it relies on a very easy-to-modify utility I've made for not only myself, but for other developers too! By doing this, it'll make future updates to MPak a lot easier, as well as making it easier to solve newly-discovered issues by others.

Due to how massive MPak already was before doing this change, it's important to mention that not everything has been tested (because doing so would require testing all 200+ classes individually, which would take far too long for 1 person)! If you find out that any part of MPak no longer functions how it used to, please let me know in the Shrekciety Discord immediately, and I'll work as quickly as I can to fix it. Also due to this update mainly focusing on the backend, it's why there are not as many additions to MPak as you may expect from a major update.

If everything is done correctly, then we should all expect that MPak will be a lot more stable and user-friendly than it once was. Please enjoy the update~!



Changelogs

Additions:

  • Added 141 new functions into MUtils
  • Added 2 new actions ("IfMapExists", "IfPlayingAtXFPS")
  • Added 3 new miscellaneous actors ("MBlobShadow", "MTextPlane", "MMoviePlane")
  • Added 1 new volume ("MShrinkPassthroughVolume")
  • Added 2 new patches into MPatcher
  • Added 1 new custom console command ("PlayAMovie")
  • Added the variable bNonBlocking to all latent actions, which forces the action to not be latent. Depending on the action, this may break some of its functionality
  • Added the ability to not loop a song in PlayMusic


Changes:

  • Refactored all code to fully revolve around using MUtils for convenience for not only myself, but other developers. This not only heavily reduces redundancy throughout MPak (thereby improving file size), but it also simplifies the usage of MPak for not only developers, but the end user as well
  • Performed a general code cleanup and discarded multiple unused functions and variables
  • MFakeShadow is now unlit by default
  • Compressed internal textures to improve the file size of MPak (-42 KB)
  • MData now has 1 more of each variable type
  • MDataExtra now has 3 more of each variable type
  • Made MLevelLoadTime work more consistently
  • Renamed MUtils function MFancyDestroy() to FancyDestroy() since it's not a function override
  • Any part of MPak that destroys an actor now uses a smarter method of destroying actors
  • Adjusted the custom console command PlayAMusic so that it can properly stop playing all music
  • Fixed a bug in SaveLoadGame where the save game ID would not be properly clamped
  • Fixed a bug where AddHUDTexture and AddAnimatedHUDTexture were unable to properly identify whether it had initialized its own HUD item
  • Fixed a bug where Debug would fail to properly report its debug information
  • Fixed a major error where certain parts of MPak would fail to work on any non-English versions of the game
  • Fixed a bug where RegressionPlane property tab was shown in certain actors
  • Removed hacky logic from the custom console commands LockCamera, SetCoins and SetPotions
  • The 3 custom console commands that all Summon no longer require specifying its package name if it's from a stock package. For instance, summoning Shrek used to be done like "Summon SHGame.Shrek", but now "Summon Shrek" will work

Files

Master Pack [v7.0] 458 kB
Nov 27, 2023

Get Master Pack (MPak) [v11.0] -- Shrek 2 (PC) Mod/Library

Leave a comment

Log in with itch.io to leave a comment.