A fix that adds custom internal resolutions (IE native 4K support), analog input, mod support and more to the original Metal Gear Solid within the Master Collection.
Requirements
This mod does not have any known dependencies other than the base game.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
File credits
MGSM2Fix is made by nuggslet, thank you so much for your contributions to the community! I (Afevis/ShizCalev) am simply reuploading this in a clean way without any other mods/modifications made to the original files so people can easily add it with their preferred mod loader with proper version numbers / change logs / ect.
Many thanks to @Lyall and co. for MGSHDFix, from which this project derives its general structure. Ultimate ASI Loader for ASI loading. inipp for ini reading. Loguru for logging. length-disassembler for length disassembly. Squirrel for one at least two virtual machines this project tinkers with. Psy-X for PSX GTE implementation and an all-round nifty project.
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
MGS 1: Disassociated USE_ANALOG flag from the MGSM2Fix.ini Analog option - USE_ANALOG is now always set for best compatibility with all versions of the game. Retired the Analog option in MGSM2Fix.ini as there is no need to enable it unless running below Ver. 1.5.0.
MGS 1: Fixed NTSC vertical alignment when internal resolution is boosted.
Version 2.1.0
MGS 1: Inverted sense of patch options in MGSM2Fix.ini. The newer options should be more understandable.
MGS 1: Adjusted mysterious resolution parameters for hopefully better compatibility & added hidden options in MGSM2Fix.ini (LayerWidth/LayerHeight) if these values do not work for everyone.
Version 2.0.0
MGS 1: Added an option to increase the internal render resolution, and a separate option to toggle a widescreen hack as a bonus. This is configured by specifying the render height (rows) in pixels in MGSM2Fix.ini (and can even be used to reduce the resolution further if the bit-crushed aesthetic is your thing). Render width is controlled using the in-game screen settings, allowing switching between 4:3 or widescreen while the game is running. A lot has gone on behind the scenes to make this possible - many thanks if you contributed to discussion (and suffered my rambling) while it was in the works!
Version 1.2.0
MGS 1: Added an option to enable/disable the mosaic blur effect on Johnny in the Holding Cell. By default, the underpants will be removed and the blur applied as in the original releases (except the Japanese releases which always had underpants and are unchanged).
Lots of backend (ha) work to hook and interact with the emulator modules. The CPU is fully understood, work is ongoing for other parts of the system.
A new logging option has been added for the PSX kernel, and various reorganisation / renaming so that things are grouped better and generally look better in the log file.
Version 1.1.0
MGS 1: Added advanced options to disable all* Master Collection patches to RAM and CD-ROM images. This is intended to facilitate testing of Ketchup mods where certain mods clash with MC patches.
The only patch left enabled even with these options set to disabled is for the RAM code cave at offset 0x200000. This should not conflict with any mods, and disabling this one causes all of the Steam achievements to instantly unlock.
Version 1.0.0
MGS 1: Added 'Ketchup' mod loader. This currently supports PPF3 format patches to each ISO in the Master Collection under the following folders in the "steamapps\common\MGS1" directory:
Version 0.8.0
Fixes for Ver.1.4.0 compatibility. Screen options (e.g. smoothing) are now commented out in the configuration file - this means that the fix will not set them, allowing the game's new built-in options to handle it. Uncommenting them restores the original fix behaviour.
MGS 1: Option to revert the Master Collection medicine item texture swap (red cross).
Version 0.7.0
MGS 1: Option to inject the dev menu (stage select) at game startup. This replaces the title screen but it can still be accessed by selecting 'title' from the dev menu.
MGS 1: Options to revert changes made in the Master Collection via patches to the exorcism pictures and Johnny's underpants. (Be warned, there is no mosaic blur at this time!)
Other minor fixes / fix attempts / adjustments. Built with different compiler flags in the hope that it will trick Windows Defender for those affected, let me know how it goes.
Version 0.6.0
Now also supports the Vol.1 Bonus Content (Metal Gear / Snake's Revenge NES).
MGS 1: Ability to skip the launcher and boot directly to the last launched game version. To return to the launcher simply pause and exit to main menu, which will allow changing the default game version.
MGS 1 / MG | SR : Added intro logo skip, enabled by default.
Debug: Squirrel debugger can now coexist with the rest of the fixes. Enabling it will not turn off other features unless "exclusive" mode is enabled.
Debug: Added a new SQDbg "eval" command which provides a simple way to inject Squirrel code for experiments.
Version 0.5.0
MGS 1: Fix for player 2 input when using analog (commander room).
Version 0.4.0
MGS 1: Adds an option to enable analog input. This requires Steam controller layout changes to work. Some experimental configurations are available on Steam under community layouts and are working well.
MGS 1: Additional logging of game/emulator prints. (Where Is Snake ????)
Version 0.3.0
Custom resolution options added, including borderless. These control the window/fullscreen resolution, not the PSX internal render resolution. Borrows heavily from MGSHDFix - many thanks to Lyall and emoose!
Tracing feature added for Squirrel and native function calls. Higher tracing level means more recursion into arguments (and will slow things down a lot!)
More behind the scenes improvements: Squirrel VM hooking is now very robust, should solve cases where the fix doesn't start up properly.
MGS 1: Adds an option to enable the dot matrix filter.
Version 0.2.0
Various behind the scenes improvements, injection delay removed.
MGS 1: Adds an option to enable scanlines.
Version 0.1.0
Initial release!
Cool stuff for nerds - play with the script VM!
MGS 1: Adds an option to disable the bilinear filtering.
Adds SQDbg for debugging .nut scripts.
Features
Custom internal render resolution & widescreen support (MGS1).
Borderless/windowed mode.
Control over built-in filters and Master Collection game patches.
Launcher skip (MGS1, boots last launched game version).
Skip intro logos.
Modding support (MGS1, via Ketchup - see below).
Debug features (including stage select menu in MGS1).
Make sure to download the correct zip for the game. A separate fix is required for Bonus Content as it's 64 bit, while MGS1 is 32 bit.
Extract the contents of the release zip in to the the game folder. (e.g. "steamapps\common\MGS1" or "steamapps\common\MGS Master Collection Bonus Content" for Steam).
Steam Deck/Linux additional instructions
Open up the Steam properties of MGS1 and put the following command in the launch options: WINEDLLOVERRIDES="d3d11=n,b" %command%
Configuration
See MGSM2Fix.ini to adjust settings for the fix.
Modding Support (MGS 1; Ketchup) 'Ketchup' is a mod loader for MGS1 in the Master Collection.
It currently supports PPF3 format mods to each ISO under the following folders in the "steamapps\common\MGS1" directory: mods\INTEGRAL\INTEGRAL\0\ mods\INTEGRAL\INTEGRAL\1\ mods\INTEGRAL\VR-DISK\ mods\VR-DISK_US\ mods\VR-DISK_EU\ mods\MGS1_JP\0\ mods\MGS1_JP\1\ mods\MGS1_US\0\ mods\MGS1_US\1\ mods\MGS1_UK\0\ mods\MGS1_UK\1\ mods\MGS1_DE\0\ mods\MGS1_DE\1\ mods\MGS1_FR\0\ mods\MGS1_FR\1\ mods\MGS1_IT\0\ mods\MGS1_IT\1\ mods\MGS1_ES\0\ mods\MGS1_ES\1\
Where 0 and 1 refer to disk 1 and disk 2 respectively.
See makeppf for creating PPF3 patches/mods. PPF3 mods derived from original PSX CD releases should work correctly with Master Collection.
If your mods conflict with the built-in Master Collection patches, for the time being it may be useful to enable the DisableRAM and DisableCDROM settings in MGSM2Fix.ini. Once all of the Master Collection patches have been identified and grouped (please help, there are lots!) this heavy-handed approach should no longer be necessary.
Additional mod formats may be supported in future.
Known Issues Please report any issues you find on the GitHub page located here: https://github.com/nuggslet/MGSM2Fix/issues This list will contain bugs which may or may not be fixed.
Loading Screen Location Names, Codec Numbers, and VOX bars do not display properly when resolution is increased from the default value.
Snake is not visible when underwater when the resolution is increased from the default value.
The above link is a tracker cataloging all the issues (both ones that have been fixed, and ones that are still present) in the MGS Master Collection. It is updated regularly with every patch (and as new bugfix mods come out.)
Anyone is welcome to submit any additional bugs/issues that you may be aware of, both fixed or unfixed, using the following form. Community Tracker Issue Submission Form
As the name suggests, this is supposed to be a community driven tracker, and community input is key. ♥
Konami has stated (as recently as 01JULY2024) that they're still fixing issues with the Master Collection, so be sure to report bugs via their support page here so they get fixed officially too!