Master Pack Wiki [Version 11.0]
Created: July 20th, 2022
About
Master Pack (or MPak) is a library creation/modification created by Master_64, made for Shrek 2 (PC), which started development back in July of 2022, and was officially released to the public on July 20th, 2022. Its main purpose is to make modding as accessible and simple to others as possible, by providing functionality for simple and complex needs that are common-to-use for modders. Whether you need to create complex scripts, or you need a way to easily modify the game without having any sort of programming knowledge, MPak can easily do it!
MPak is a complex, yet intuitive and fully-documented library of code that provides a lot of convenient features for modders. More specifically, it helps with mappers a lot, but also helps programmers out. MPak is open-source, meaning you can easily view all the source code and recompile it yourself. Once you've installed this mod and want to release a project to the public that uses this mod, simply provide the file MPak.u in your download, or provide a link to MPak, and you're good to go! Any sort of custom map that uses MPak requires that the user loading the map has MPak installed (typically the same version of MPak the map was built with), otherwise, the user will fail to load into the custom map.
How to install -- For Users
Download the compatible version of MPak from here. It's very important that you as the user install a similar or same version of MPak that the modification author used! If the author of the modification did not specify the version of MPak they used or did not provide MPak with their project, ask them to know which version of MPak you should install.
In the download, you'll see a file named MPak.u. Copy MPak.u into the System folder inside the game's directory.
How to install -- For Modders
In the download, you'll see a file named MPak.u. Copy MPak.u into the System folder inside both your level editor's and game's directory. This allows both the game and the level editor to call this library of code whenever necessary, meaning it's not going to be automatically loaded.
In the level editor's directory, open UE2Runtime.ini with a text editor, seen in the System folder.
Find [Editor.EditorEngine], then add EditPackages=MPak at the bottom of that section. This tells the level editor to automatically load this mod.
Open the level editor, and MPak will be loaded and available for usage. You can verify that MPak loaded by looking through the MPak wiki's sections and looking for specific actors it adds.
Main Features
A complete expansion to the AIScript scripting language, allowing for complex, yet intuitive script creation
Many extensions to various classes that add much more customization to existing actors (including the pickups and the hero pawns)
Easy-to-use mapping tools, such as a map checker, a benchmarker, an anti-cheat, a patcher, a music manager, etc.
A custom cutscene creator, which allows a mapper to make temporary CutScript script files from within a map's data file
An overhauled PlayerController that adds in new console commands, fixes to existing console commands, and a cheat protection bypass
A custom mutator that allows you to easily replace any PlayerController in any map with your own custom one, which allows for easier modding
A way to easily save and load global data
And so, so much more for you to discover on your own!
Documentation
Below is a list of sections that explain every aspect of MPak. If in a level editor and you're needing to select a certain class so that you can place it down, click on the console in the bottom left of the editor's window and run the console command SetCurrentClass Class=MPatcher, and replace MPatcher with whichever class you wish to select. Doing this allows you to quickly find the actors in the editor.
Sections:
Cross-compatibility
This modification has received many updates over the course of time, so it should come as no surprise that certain versions of this modification are incompatible with other versions of this modification. Take for example building a new level with MPak. Under certain circumstances, an update to MPak may majorly break that custom level if it required an older version of MPak that is no longer available. Older versions of this modification can still be downloaded in order to support projects that used older versions of this modification.
For the most part, you should try to aim to have the most up-to-date version of MPak, or at least the most up-to-date version of MPak that is compatible with your project. Older versions of MPak that are considered cross-compatible mean that, for the most part, the version of MPak won't majorly break a level, but that does not mean it won't break a level in a minor way.
If you need to update to a different version of MPak, export your map into a .t3d format before updating. By doing this, you preserve any potential data that may be lost if you are updating to a higher or lower version of MPak, if it says it's not cross-compatible below. Then once you update MPak, open the .t3d file in a text editor, and from that point, you should be able to manually recover any potentially lost data. Refer to the modification's changelogs for each update if you are unsure about what data may have been lost across an update.
Here's a list of all versions that are compatible with each other. If the version is underlined, then the version can be currently downloaded from the archive. If the version has a line through it, then this version is lost to time and cannot be recovered without a version being provided to Master_64. If the version is in bold, this means it's the latest version of the mod, which can only be downloaded from the primary download (not from the archive).
v1.0
v1.1
v1.1.1
v2.0
v3.0, v3.0.1
v4.0, v4.0.1, v4.0.2
v4.1
v6.0
v6.0.1, v6.0.2, v6.0.3
v6.0.4
v7.0, 7.1, 7.1.1, 7.1.2
v8.0
v9.0, v10.0, v10.1
v11.0
Legal
This modification is made by modders, for modders. THIS MATERIAL IS NOT MADE OR SUPPORTED BY ACTIVISION.
This modification does not, in any way, decompile or modify the original Shrek 2 (PC) video game, and only uses provided/intended methods of modification creation. According to the Shrek 2 (PC) license agreement, this modification abides by all of the terms set in the document.
You are given full permission to redistribute this project IF YOU DO NOT MODIFY IT, even if you do not properly credit Master_64 for the usage of the library in your own project. However, if you do modify it in any way, you must follow the guidelines below:
Credit Master_64 as the original author of this modification with a link to the primary page for downloading the project, and credit yourself as the main author of the modification (Master_64 CANNOT be held liable for any modifications of his modification controlled by outside modders).
Follow Activision's original license agreement.
Not port this project to any other video game or project without Master_64's direct permission. If you cannot get a hold of Master_64, the default answer will be that you do not have Master_64's permission to port the project.
Not remove the credit to Master_64 seen in the source code for this modification.
Not modify this modification in any malicious or potentially unwanted manner.