Remove any old/partially modded U4 installs.
Do a clean install of U4 from the DMG. Copy to $HOME/Desktop
. Portable Ultima Patches
Download Portable Ultima Patches: Ultima 1-6
Download PDAR Source Code (ZIP)
to $HOME/Downloads (alternatively the repo is on GitHub)
to e.g. $HOME/code
or the like.
Change line 38 (spaces not +)
++++PDAR_MAGIC, int(parse_version(PDAR_VERSION)._version), 0)
GOG forum butchers whitespace. Replace the four '+' with four spaces. Whitespace is significant in Python.
Add a '#' to the start of line 253, near the end of the file. I.E.:
That's actually four spaces, but the whole line is commented so it doesn't matter either way.
In Terminal run the following to install PDAR:
python setup.py sdist
pip install dist/pdar-0.9.5b0.tar.gz
You may need python2/pip2 instead if you have both Python 2 & 3 installed. You will need some version of Python 2.7.x as the script is for Python 2. The pip
command should also install the bsdiff
dependency. The pdar
command should now be available from Terminal.
Read the $HOME/Downloads/Ultima_PDAR_Patches/patches.txt
file. It has brief descriptions of the patches. Now go back and read it again to be sure which patches you want. Ultima4.U4-1.01.U4Upgrade-1.3.Hythloth_Fix.pdar
is the all-in-one patch for U4. To apply it in Terminal run, all on one line:
pdar apply $HOME/Downloads/Ultima_PDAR_Patches/Ultima4.U4-1.01.U4Upgrade-1.3.Hythloth_Fix.pdar $HOME/Desktop/Ultima\ 4.app/Contents/Resources/Ultima\ IV-\ Quest\ of\ the\ Avatar.boxer/C.harddisk
Adjust for different paths if you used them. The game is now modded and will run as such with the normal GOG launcher.
The other Ultima patches, e.g. the one for Ultima 5, can be applied similarly via pdar apply
; just with different paths.
Your solution is a pretty big one if you can make it available to the community for Mac users. I thank you for taking the time to work on this and am looking forward to see your final results!
Actually, that would be Xarton Dragon and those who made the actual mods.
Woah, this is awesome. Just trying to figure out what lines to edit here. So, what line is line 38? When I look at the code and count 38 lines, it doesn't look like something I should change... Do I start counting right from the top (seems like some comments are at the top of the file) or somewhere else?