You are on page 1of 10

Welcome to the tutorial for making mac Ports of Windows games and applications

with CXZ.

Here i will demonstrate how to install Windows games and applications inside the CXZ Wrapper, and how to configure the Wrapper to
look like a normal mac application.

I will use the Game 'Guilty Gear X2 #RELOAD' for a demonstration here.

First, right-click on the CXZ application and select 'Show Package Contents'

We get to this window:

Now let's install the Guilty Gear X2 Game.

Open the CXInstaller.app and navigate to the Windows Installer of the Game.
From here on it should be simple to install the Game. Just follow the Instructions for installing it from the Windows Installer that opens.

Note:
Deselect any 'Run Game/application now!' and 'Show Readme' options if you run into them at the end of the Installation.

After the Installation has finished we're back to the Contents Folder of the CXZ Wrapper.

Now we need to know where the Game was installed to.


Open the 'root' Folder insider the Wrapper and then to the 'drive_c' Folder.

Let's find out where the Installer has put our game executable in the virtual c: drive Folder, and write down the full path to it.
In this case Guilty Gear X2 was installed to

/Program Files/GUILTY GEAR X2/ggx2.exe

This is your executable String, note that down somewhere.

(Optional)
Notice that the Guilty Gear X2 installer also made a 'config.exe' application, some Games and Applications create separate
executables for the configuration of the main application, but not all Games and Applications do this.

/Program Files/GUILTY GEAR X2/config.exe

This would be the Setup application for configuring Guilty Gear X2, so we'll need to note the path to it down as well, as we'll need it
later.

Let's move on to the customization of the CXZ Wrapper.

The first thing we'll do here is renaming the whole CXZ Wrapper with the name of our Game or Application.

Here i will rename the CXZ Wrapper to 'Guilty Gear X2 #RELOAD'


We will need the exact name somewhere else, so let's go into the MacOS Folder of the Wrapper and rename the only mac app that's
in there with the same name.

Moving on to configure the Info.plist file for the Game.


This step is important, because the Info.plist file is basically the control center of the whole Wrapper.

Open the Info.Plist file with a Plist Editor (Property List Editor form XCode Tools or the shareware PlistEdit Pro)

Here are a few lines we have to change for each Port we make, and i've highlighted them here.

First we'll change the CXOEMCmdLine Entry to the main executable of the Game.
This would be
/Program Files/GUILTY GEAR X2/ggx2.exe

Now edit the Entry for the CXOEMWorkdir Line and paste in the same path without the executable in it.
His would be
/Program Files/GUILTY GEAR X2/
Next we move on to the Bundle identifier String.

Here should be a short string for correctly identifying the application to the mac and giving it a good Preferences file.
so the identifier Tag for Guilty Gear X2 should be a short version of the Game name.
Lets go here with
com.portingteam.GuiltyGearX2

IMPORTANT: DO NOT PUT SPACES INTO THE IDENTIFIER TAG!


so:
com.portingteam.GuiltyGearX2 - good
com.portingteam.Guilty Gear X2 - bad

Next we modify the Bundle name Line.


Here we will write in the whole name of the Game.

GUILTY GEAR X2 #RELOAD - The Midnight Carnival


(optional)

Executable flags:

the 'CXOEMCmdLineFlags' String is used for the executable flags (only some Games and Applications require it.)

What is a executable flag?


Typical executable flags for games would be:
-nosteam -windowmode -dxlevel81 -novid -console and so on.

We're done with modifying the Info.plist file, and we're also almost finished.

All that's left is making a nice Icon for the Game and putting it in the Wrapper.
If you found a Icon that suits the Port, make a mac native Icon from it (.icns file)
I recommend Img2icns for makeing quick and easy Icons of Images.
(Img2icns Link: http://www.macupdate.com/info.php/id/18369/img2icns )

Once you have your icon.ins file, rename it to


CXZicon.icns

and put it into the 'Resources' Folder of the Wrapper, replacing the old CXZicon.

The Application will change it's Icon shortly after that.


(in some cases you have to move the whole Game Wrapper temporary to another Folder to make it show up.)
Let's make a Quick Look action on our newly Ported Game.

Isn't that nice?

Basically the Port of Guilty Gear X2 is done now, but remember the optional Setup executable?

(Optional)
So let's get to that Setup Application.

Configuring the optional Setup File:

Inside the CXZ Wrapper are a few more utilities for Porting, the one that we're going to use now is the 'CXCustomEXEMaker.app'
If we launch it we're being greeted by the following Dialogue:

Here are a five options to choose from for making a Custom Exe Launcher, useful for various things like extra a Setup Application for
example.

The Functions are self explaining, but we're in a Tutorial, so we'll go over these as well.

1. Step:

Choose what to name the launcher:

We'll go with 'Setup' here

2. Step:

Choose what Windows Executable it runs.

remember the path to the optional config.exe file?

Now we can simply navigate to it via a pop-up Window, so choose the config.exe file in the Game folder.
3. Step: (optional)

Set Executable flags:

Here we can add in some executable flags if the app requires it.

What is a executable flag?


Typical executable flags for games would be:
-nosteam -windowmode -dxlevel81 -novid -console and so on.

Some Games and Applications require these for launching correctly.

4. Step: (optional)

Choose what icon it uses:

We can also make a nice Icon for the Custom EXE Launcher, and this option lets you navigate to a icon.icns file

5. Final Step:

Settings done - Make the launcher

This will create the Setup File besides the Contents Folder.

This ends the Tutorial for making mac Ports of Games and Applications with the CXZ Wrapper.
Now let's go out there and make some great Ports

-devilhunter
portingteam.com

Tips and Tricks


-coming soon

Note:
English is not my native language, so i hope everything was understandable (even if i butchered some sentences :P )

You might also like