MPak v6.0 Release
After months of work, I'm proud to present this MASSIVE update! This is easily the biggest update I've ever done, as it borderline re-does the entire mod itself. Not only is this update a game-changer for modders, but it's also fully documented here!
Have fun~! :D
Additions:
- Added full documentation for MPak over on the Shrek 2 (PC) Wiki that fully describes/explains every single aspect of MPak so that developers can learn how to use MPak for themselves
- Added 27 new AIScript actions ("OnEvent", "IfSaveGameExists", "IfCurrentMusic", "DeleteSaveGame", "IfObjectDetail", "IfGameLanguage", "WaitForEventSimple", "IfTodayIsWithinDateRange", "IfCurrentLevelTime", "ManageTimer", "AddNotify", "IfCanSeeActor", "SetPawnGroundFriction", "WaitForCutscene", "ChangeSkin", "ChangeState", "AttachActorToBone", "ManageHUDItem", "ManageGamePausing", "PopupText", "CameraFlyTo", "PawnTurnTo", "DeliverLocalizedDialog", "AddHUDTexture", "AddAnimatedHUDTexture", "PawnLookAt", "ManageCameraEffects")
- Added 4 new infos ("MSMCollisionManager", "MBenchmarker", "MCutsceneCreator", "MMusicManager")
- Added 2 new triggers ("MScriptedTrigger", "MDirectorTrigger")
- Added 3 new volumes ("MDisableAbilityVolume", "MConditionVolume", "MUseVolume")
- Added 6 new pickups ("MCoin", "MCoinStack", "MMoneyBag", "MEnergyBar", "MEnergyKeg", "MShamrock")
- Added 5 new miscellaneous actors ("MFakeShadow", "MEmitter", "MRadiusLight", "MMaterialPlane", "MStaticMeshActor")
- Added 6 new variants of MController that enforce custom states ("MController_PlayerAlwaysTripleJump", "MController_PlayerCanAirJump", "MController_PlayerCanAirJumpLimited", "MController_PlayerCannotDoubleJump", "MController_PlayerCannotPunch", "MController_PlayerCanWaterJump")
- Added 5 new patches into MPatcher ("GameState Exclusions Destroy Actors", "Swinging Ball Hitbox Fix", "Projector Break Fix", "Default Emitter Opacity Fix", "Assign Default Material Types For Materials")
Changes:
- Renamed mod from Master's Editor Utility Pack (MEUP or MGame) to Master Pack (MPak)
- DestroyActors can now softly destroy actors, and can also destroy controllers tied to the actor
- Added randomness to SwitchControlTo
- Renamed MasterController to MController
- Using the Summon console command with MController and attempting to spawn an enemy will now make the enemy able to move around
- Fixed an error in LerpToPoint where providing a time of 0.0 seconds would cause the action to never end
- Replaced OverrideCutsceneMessage with PopupText and re-coded the entire action to be more useful
- Fixed DropCarryingActor so that it actually works properly with any pawns specified, not just the current player
- Fixed an error with IfActorInRange and IfActorTouching where using the keyword 'CurrentPlayer' wouldn't work without providing a class to search for, which is irrelevant when using this keyword
- Fixed an error with WaitForTimer where using the keyword 'CurrentPlayer' when using a random timer value from a TransferProp wouldn't properly work without providing a class to search for, which is irrelevant when using this keyword
- Fixed an error with PlaySound where specifying multiple actors to play a sound would only make one of the actors play a sound
- Re-did how the 'CurrentPlayer' keyword system is implemented, which makes it so that not only is it more simple to process, but it also fixes a bug where having multiple actors with the tag being the same as the current player would originally cause the action to only find the correct current player at random
- Fixed a potentially fatal error with RoundRobin
- Cleaned up various redundant code throughout everything
- Made all warnings and logs consistent
- Corrected the punctuation on multiple function and variable declarations
- Fixed a bug with MConversationManager where if bPlaySound3D was enabled and the current player spoke, their mouth would never lip-sync, and a bug where subtitle text wouldn't appear on screen
- IfCurrentMap no longer requires having ".unr" specified at the end of every map name
- Added a check that should've already been in LerpToPoint and LocalizeData that confirms that all actors were found for the action, because without doing that check, it can cause major errors to occur
- Fixed a potential error with a few classes that should've been an extension of a MInfo but were not for an unknown reason
- Added 4 new checks to MMapChecker (floating triggers, unlinked bounce pads, high density of StaticMeshActors, and PhysicsVolumes with bDestructive=true)
- Renamed MComplexRandomTrigger to MRandomTrigger and simplified code massively
- Re-coded MTriggerVolume's to emulate triggers, instead of using a less-powerful system
- Bridged a gap in code in MController to unlock the PlayerTick() event function (you can now properly access ticking events within this PlayerController)
- ManageAntiCheat no longer requires having the anti-cheat info (M.A.C.) already in the level
- Fixed a bug with Teleport where the current player would always turn to the point an actor teleported to, when it should only do that if the current player was teleported
- Fixed many different accessed none errors (more stability)
- Made MTimer's <fTimeElapsed> variable public so that you can now figure out which variable contains the amount of time elapsed relative to its timer
- Added a toggle to MLifeDrainVolume to determine whether the player should take damage while in a cutscene or not
- Fixed a bug where MTriggerLight would be visible by default
- MConversationManager no longer abruptly ends when disabled mid-way through a conversation, and instead lets the current dialog finish being said
- Fixed an issue where certain properties failed to be modified on certain custom actors in the editor
- Fixed an issue with saving to the current save slot from within any actor or action where skipping the main menu would cause a current slot save to fail
- Removed potentially hacky initialization code in many actors
- Removed 4 obsolete triggers, that being MConsoleCommandTrigger, MCustomPopupTrigger, MDestroyTrigger and MIfGetTrigger, due to their functionality being much more fitting for scripts which are now much easier to access thanks to MScriptedTrigger
Files
Master Pack [v6.0] 384 kB
Oct 28, 2023
Get Master Pack (MPak) [v11.0] -- Shrek 2 (PC) Mod/Library
Master Pack (MPak) [v11.0] -- Shrek 2 (PC) Mod/Library
A complex, yet intuitive and fully-documented library of code that provides a lot of convenient features for modders!
More posts
- MPak v11.0 ReleaseApr 12, 2024
- MPak v10.1 ReleaseFeb 19, 2024
- MPak v10.0 ReleaseFeb 12, 2024
- MPak v9.0 ReleaseJan 30, 2024
- MPak v8.0 ReleaseJan 13, 2024
- MPak v7.1.1 ReleaseJan 01, 2024
- MPak v7.1 ReleaseDec 25, 2023
- MPak v7.0 ReleaseNov 27, 2023
- MPak v6.0.4 ReleaseNov 12, 2023
- MPak v6.0.3 ReleaseNov 06, 2023
Leave a comment
Log in with itch.io to leave a comment.