Using Windows Civ3 Editors on an Intel Mac (or in Virtual PC on a PPC)

AlanH

Mac addict, php monkey
Moderator
Hall of Fame Staff
GOTM Staff
Supporter
Joined
Jan 9, 2003
Messages
29,663
Location
England
Yes!! You can install and run the Windows Civ3 Editors on your Intel Mac. Here's how.

The short version:

The Windows editors are included in the patch installers for the Windows version of vanilla, PtW and C3C. so you don't need to buy Civ3 for Windows. you *do* need copies of Parallels and Windows. I haven't found a way to get this to work with Crossover as the patch installer fails. Maybe someone can solve that mystery?

You can download a patch and install it in a Windows virtual machine running in Parallels. You then set up the Windows Registry so that the editor knows where to find all the files in your Mac Civ3 installation. I used an adaptation of my Civ3 Crash Dummy approach to help with this - see this thread for the previous implementation. Once you have this set up you can run the editor in your Windows VM to create maps, new civs, new units etc ....

Thanks go to Gyathaar for suggesting this option and providing the necessary registry key details.

More details:

You will need:

- A Mac with an Intel CPU
- Parallels Desktop for Mac
- A copy of a Windows OS.
- One or more of the Windows Civ3 Patches

Set up Parallels
Parallels Desktop for Mac is a new piece of software to allow you to run a copy of Windows - anything from Windows 3.1 to XP - in a window on your Intel Mac. Note that they are still ironing out some wrinkles in support for the new Core 2 Duo Macs. It seems to be flaky with more than 2 GBytes of RAM, but I'm sure they'll fix it real soon. I had no problems on my 2 GByte Mac Pro.

Install Parallels and create a Windows virtual machine. I used an old Windows 98se CD from a now-defunct old PC. See my previous thread for the gory details.

Get a Windows Civ3 Editor
The Windows Civ3 editors are available in the patch files listed here. Here are the versions I used for testing:

C3C: Conquests v1.22 Full Patch (All languages, 24.3 MB)

PtW: Play the World Patch US v1.27f(11.21 MB)

Vanilla (suitable for MacSoft v1.29b2): Civilization III Patch v1.29f (9.9 MB)

Run the installer in the Windows VM and tell it to install into a dummy folder created somewhere like My Documents. Repeat for each editor you want to be able to use.

Make a Civ3 file structure
I built a dummy folder containing links to the actual files and folders on my Mac system. It looks like this, where the aliases link according to the arrows:


Network Windows to your Mac
To avoid repetition, please see the details in this post and a subsequent one. I decided to map my Mac's Home directory as the Windows Z: drive this time around, to make it simple to define registry keys to link to the above Civ3 Dummy folder.

Edit the Windows Registry
The following script worked for me. Paste it into a text file and save it somewhere you can see it from Windows, in a file called Civ3.reg

Code:
REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Infogrames]

[HKEY_LOCAL_MACHINE\SOFTWARE\Infogrames\Civ3PTW]
"Install_Path"="Z:\\Documents\\Civ3Dummy\\Civ3PTW"

[HKEY_LOCAL_MACHINE\SOFTWARE\Infogrames\Conquests]
"Install_Path"="Z:\\Documents\\Civ3Dummy\\Conquests"

[HKEY_LOCAL_MACHINE\SOFTWARE\Infogrames Interactive]

[HKEY_LOCAL_MACHINE\SOFTWARE\Infogrames Interactive\Civilization III]
"Install_Path"="Z:\\Documents\\Civ3Dummy"
Make sure there are blank lines between the script lines, and one blank line at the end. Double click this file in Windows and it should ask for confirmation and then apply the edits to the registry.

You should now be able to launch the Civ3 Editor in Windows. It took a little while to start up on my system, so don't assume there's a problem if you don't see anything happen straight away.

Let me know if it works for you. Have fun.
 
I should have said that this would also work if you have Virtual PC on an IBM/Freescale (G3-G4-G5) CPU, with the added simplification of being able to use shared disks.

If you run XP or Win2K in a Parallels virtual machine you can also use a shared disk, which should speed up the editor a bit. [EDIT] This bit may or may not be true, based on reported experience below that shared folders in Virtual PC don't support aliases/symlinks.
 
AlanH said:
I should have said that this would also work if you have Virtual PC on an IBM/Freescale (G3-G4-G5) CPU, with the added simplification of being able to use shared disks.

If you run XP or Win2K in a Parallels virtual machine you can also use a shared disk, which should speed up the editor a bit.
Is this possible on my 450 MHz PowerPC G3 (B&W) (1 GB Memory, running OSX 10.3.9)? I'm used to slowness; it would be a blessing to be able to run the editor.
 
I've no idea, I've had very little to do with VirtualPC in the past, but it was never the most sparkling performer when I did try it. It's not even a supported product from M$ any more. It might be worth trying if you can get your hands on a copy to test, and there do seem to be some cheap copies on eBay.

Note that the Windows editor is pretty slow even on my system under Parallels, so be prepared for some coffee breaks under VPC :p.
 
Thanks for the instructions! I just got it up and running under VPC on my Powerbook G4. It's too slow for map editing, at least with my patience, but fine for editing the rules, which is what I was most interested in anyway. Sadly, I had to use the networking method, rather than a shared folder, because shared folders don't seem to follow aliases or symlinks. The linked folders just show up as small files on the Windows side. Windows shortcuts didn't work either, since it seems you can't follow them in the middle of a path.
 
Sorry I raised your hopes about shared folders. I can't use shared folders in Parallels, as they aren't supported for Win98, so maybe Parallels shared folders in XP don't support aliases/symlinks either.

I'm a little surprised that VPC shared folder access doesn't support aliases, but the network options of disk mapping or network file sharing should always work OK as they tunnel under VPC and don't depend on any of its file system remapping.
 
Ok, after a bit of tinkering, I found a solution that allows me to use shared folders. Which, by the way, speeds up startup by several times, and makes map drawing fast enough to be usable. What I did was recreate the entire directory structure under the various Game Files folders, and then hard link each individual file in place. That way they don't take up any extra space, but the links are indistinguishable from real files, so Windows can see them.

This takes some work in terminal.

First, open a new document in TextEdit, select "Make Plain Text" from the format menu, and paste the following python code into it.
Code:
import sys
import os
from os.path import join

def linkRecursive(src, dest):
    src = src.rstrip("/")
    dest = dest.rstrip("/")
    for srcpath, dirnames, filenames in os.walk(src):
        assert(srcpath.startswith(src))
        destpath = join(dest, srcpath[len(src):].lstrip("/"))
        os.mkdir(destpath)
        for f in filenames:
            os.link(join(srcpath, f), join(destpath, f))

linkRecursive("Civilization 3 Game Data", "WinProxy")
linkRecursive("Play the World Game Data", "WinProxy/Civ3PTW")
linkRecursive("Conquests Game Data", "WinProxy/Conquests")

Then save it as makeproxy.py in your Civ III Complete folder.
Now, open Terminal (It's in Applications/Utilities). Type or paste the following lines (if you didn't install Civ III in it's default location, adjust the first line accordingly):
Code:
cd '/Applications/Civ III Complete'
python makeproxy.py
After a bit of a wait, you'll have your entire game data tree mirrored under a folder called WinProxy. While it will look like the files have been copied, they are in fact hard links, and don't take up any extra space.

Now, in VPC, share the WinProxy folder as your V: drive (V for Civ[\B]), and use the following registry file, as in AlanH's original instructions

Code:
REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Infogrames]

[HKEY_LOCAL_MACHINE\SOFTWARE\Infogrames\Civ3PTW]
"Install_Path"="V:\\Civ3PTW"

[HKEY_LOCAL_MACHINE\SOFTWARE\Infogrames\Conquests]
"Install_Path"="V:\\Conquests"

[HKEY_LOCAL_MACHINE\SOFTWARE\Infogrames Interactive]

[HKEY_LOCAL_MACHINE\SOFTWARE\Infogrames Interactive\Civilization III]
"Install_Path"="V:\\"
 
I couldn't be bothered booting up a virtual machine (I'm way too lazy for that) so I made crossover work. You need to have the Civ3Edit.exe (or Civ3ConquestsEdit.exe) file already, which I just got from my windows version of civ3. I'm sure if you've already got a Virtual Machine handy, you can extract the file from there.

You'll need to run this shell script from your home folder. It take the presumption that you have your Civ installation in "/Applications/Civ III Complete" (The default I think). It'll also take the presumption that your bottle is called default. It'll tell you what to change on what line.

Close Crossover before doing this, otherwise the changes won't take:

Open up the terminal (don't be scared)
type "pico cross.sh" and paste the code below in.
Type "chmod 700 cross.sh"
To run the script type "./cross.sh"

Seems to be fairly slow, and not great for editing maps, but if you only ever edit rules like me you won't worry. I guess if you have both, you can try them both out. Maybe your machine is faster than mine.

Code:
#!/bin/bash
#CHANGE if your bottle isn't named Default!
bottle="Library/Application Support/CrossOver/Bottles/Default/"
mkdir civ3
cd civ3
#Rename your directory to "Civ III Complete" if it's different. It's easier than changing all these lines. 
ln -s /Applications/Civ\ III\ Complete/Conquests\ Game\ Data/ Conquests
ln -s /Applications/Civ\ III\ Complete/Civilization\ 3\ Game\ Data/civ3mod.bic civ3mod.bic
ln -s  /Applications/Civ\ III\ Complete/Civilization\ 3\ Game\ Data/Text/ Text
ln -s  /Applications/Civ\ III\ Complete/Civilization\ 3\ Game\ Data/Sounds/ Sounds
ln -s /Applications/Civ\ III\ Complete/Play\ the\ World\ Game\ Data/ Civ3PTW
ln -s  /Applications/Civ\ III\ Complete/Civilization\ 3\ Game\ Data/Art Art

mv ../civ3 "$bottle"drive_c/
echo "[Software\\Infogrames]" >> "$bottle"system.reg
echo "[Software\\Infogrames\\Civ3PTW]" >> "$bottle"system.reg
echo "\"Install_Path\"=\"C:\\\\civ3\\\\Civ3PTW\\\\\"" >> "$bottle"system.reg
echo "[Software\\Infogrames\\Conquests]" >> "$bottle"system.reg
echo "\"Install_Path\"=\"C:\\\\civ3\\\\Conquests\\\\\"" >> "$bottle"system.reg
echo "[Software\\Infogrames Interactive]" >> "$bottle"system.reg
echo "[Software\\Infogrames Interactive\\Civilization III]" >> "$bottle"system.reg
echo "\"Install_Path\"=\"C:\\\\civ3\\\\\"" >> "$bottle"system.reg
 
After a bit of a wait, you'll have your entire game data tree mirrored under a folder called WinProxy. While it will look like the files have been copied, they are in fact hard links, and don't take up any extra space.

Now, in VPC, share the WinProxy folder as your V: drive (V for Civ[\B]), and use the following registry file, as in AlanH's original instructions


With Leopard you get hard linked directories, so this would just involve typing ln -h directory1 directory2.

Not sure if civ3 works under leopard though?
 
Are there any prospects that the techniques you are using here would also work for using CivAssist 2 on a Mac? So run civ on a Mac as well as CivAssist 2 simulateneously in a virtual windows environment?
 
Absolutely. You have to go back to this thread for the details on the way I did it. There are no doubt better ways to skin this cat, but it worked for me way back when.
 
With Bootcamp you can only run OS X or Windows, selecting one or the other at startup time, so you would have to reboot each time you wanted run the editors, and reboot again to run Civ3. This would be necessary each time you want to test a scenario in Civ3 while developing it. I don't do any modding, but I can imagine there would be a lot of trial and error involved.

So, I recommend the simplest way to use Bootcamp to run the editors is simply to buy and install Civ3 Complete for Windows. It's available online from www.play.com in the UK for £12.99, for example, delivered free. That would allow you to run the games and the editors, all in Windows, with no other messing about. If you want to play a completed scenario in OS X, once you are done with the editors, you can then transfer it to a memory stick and copy it to the Mac.

If you don't want to spend the money then you *could* copy your Mac's Civ3 Complete folder to the Windows/Bootcamp partition using a memory stick, then create a set-up similar to the above so that the Windows editors see it as a Windows configuration. It would probably be simplest just to move the files and folders around to do this, rather than using a set of Windows shortcuts. You could then edit scenarios in Windows, but you would have to save them to a memory stick, reboot into OS X and copy them across to test-play them. I think it's worth spending a few dollars to avoid all that hassle!
 
Alan, do you have any information as to how the editors and game run if you are using Parellels on an Intel Mac where you have copies of Civ3Complete for both the Mac and PC?
 
I have both here. The editor runs fine in Parallels, of course, as that's what this thread is about. Civ3 Complete also works very well.

If you have the Civ3 software for Windows then you don't need to do any of the above to link the editor to the Mac's Civ3 data, as you simply install Civ3 in Parallels/Windows and it all just works. If you create a scenario in the Windows editor in this situation, and you want to play it on the Mac, then just drag the edited .biq file into the appropriate Mac Civ3 Scenarios folder .
 
Top Bottom