So, it has been long overdue, but I finally got around to including an XCode project in the CVS repository. I have done my best to be thorough, but I may have left some stuff out. Some programming knowledge is useful.
This is an XCode 2.4+ project file, so you will need OS 10.4 or greater to use it. You will need to install the Developer Tools, which should have come on a CD/DVD with your computer.
You will also need my compiled client in order to get the proper framework files and data files for EL.
You also need to get an updated glext.h. Modify the new glext.h around line 3369 to read as follows:
/* GL types for handling large vertex buffer objects */
/* following commented out by 0ctane since OS X's gl.h has its own definition */
//typedef ptrdiff_t GLintptr;
//typedef ptrdiff_t GLsizeiptr;
This modification is required to prevent a redefinition problem,which is likely due to Apple's gl.h being so old compared to the new glext.h. You will have to replace your computer's glext.h with this one. Look in /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/OpenGL.framework/Headers
Getting necessary frameworks and data directory
Download my 1.5.x client from here.
Open the disk image, and right click on the game. Select "Show Package Contents" to see the game's internal directory structure. Go to Contents/Frameworks. Copy ALL the frameworks to YOUR ~/Library/Frameworks directory (you might need to create the Frameworks directory). Next, navigate to Contents/Resources. Copy the "data" directory to somewhere on your computer.
Setting up Xcode preferences
Open up the Preferences dialog (under the Xcode menu). Select the "Source Trees" icon in the dialog. Add the following entry:
Setting Name = EL_FRAMEWORKS_DIR
Display Name = EL Frameworks
Path = $(HOME)/Library/Frameworks
If you placed your frameworks somewhere else, then alter the Path accordingly.
Get EL CVS
First, read this thead.
In XCode 3 (maybe 2.4, but I am not sure) you can use the SCM system to obtain the CVS source. Under the SCM menu, choose Repositories. Then click on the Configure icon. The XCode Preferences dialog should appear. Click the little "+" to add a new repository. Call the Repository EternalLands, and select CVS as the SCM System.
Your CVS settings should be setup as follows:
(the rest should automatically fill in, but if not)
Port: (leave blank)
User: anonymous (or your user name if you have an account)
Password: (leave blank unless you have an account)
Click on Apply and OK.
Now, back in the Repositories dialog, you should have a EternalLands CVS repository listed. Click on it, and XCode will start retrieving the repository (structure, not the actual files yet). Once the repository has been downloaded, select the "elc" folder on the right side. Then, click on the Checkout icon at the top of the dialog. You will be prompted to save the "elc" directory somewhere on your hard drive.
Setting up your local project
In the Finder, go to the elc directory that you "checked out" onto your hard drive. Then, go into the "macosx" directory. In there, you will find a EternalLands.xcodeproj file. Double-click on it. The XCode project should open. Now, go back up to the SCM menu, and select "Configure SCM for this project...". In the General Tab of the resulting Project Info dialog, you should see a SCM Repository: pulldown list. From that list, select your EternalLands repository.
Back in XCode, click on the Build icon. Simple, right? Note, Build and Go will not work since you need to add in the data files.
Finalizing the build
The Build process copies all the frameworks from ~/Library/Frameworks (see above) into the game. You just need to copy that "data" directory into the game. But, where is the game? elc/macosx/build/Release. I suggest you first copy your EternalLands game to a new location (such as the Desktop). Then, right-click on it, and "Show Package Contents". Navigate to Contents/Resources. Now, copy your saved "data" directory to here. Close the Contents window. Double-click on EternalLands to run!
Updating to latest CVS code
Open up your XCode project again. On the left side of the project window you have Groups & Files. Select the very top EternalLands item. Now, look at the right side. If you right-click on one of the column headers (File Name for example) you will get a pulldown list. Select SCM so that there is a little checkbox next to it. The column headers should expand by one to include a SCM flag (looks like a disk or birthday cake).
Periodically, XCode will then check the repository to see if any code has changed, and this column will then have a "U" which means you need to update. (A "M" means that you modified something.) Clicking on the SCM column header will allow you to sort by modification. Select all the files that need to be updated. Now, in the main menu, select the SCM menu -> Update To -> Latest. CVS will then pull down all the new files, and you are all set with the latest code. Or, you can update the entire project.
Thanks to rmiles for testing this out and catching a glext.h problem.[/edit]
More changes. Need to setup Source Trees as listed above.[/edit]