Unlike Links LS
2000, the Links Championship Edition code was brand
new to us. it was a windows application, but it was
far more complex than previous versions we had
converted (especially the rendering code which we
converted to use OpenGL).
We used NetSprocket
again for the DirectPlay replacement and we
replaced all the sound code with OpenAL.
for a more detailed description of the porting
process for Links
Links LS 2000 had
evolved from the code we ported a few years ago. In
addition to an improved rendering system, it also
was a Windows application this time instead of a
DOS application. In addition, the source code was
designed to use 2 byte characters to support
languages other than English.
We started with the
original Links LS source code, the Macintosh
version of Links LS and the PC source code for
Links LS 2000 and went to work. We used what we
could from our original conversion and we wrote new
code as well.
The fact that the
new source code was for a windows application made
some things easier (the new source actually had an
update mechanism in it, so we didn't have to do an
end run around the MacOS to update the screen
properly) and it made other things harder (the new
source relied on windows to save and load data from
the registry as well as load some resources for
The networking code
in Links LS 2000 was much improved over Links LS
98, but it used DirectPlay. Since there are no
DirectPlay libraries for Macintosh we had to rip
out the lower levels of the network code and
replace them with NetSprocket. We left as much of
the original networking UI intact as possible. Our
networking code supported both AppleTalk and
the LS 2000 1.0.4 patch
2000 1.0.4 patch ReadMe
first pressing of CD #1 for Links LS 2000 is
missing some files. These files are needed to
install some older courses. Click here
to learn how to use the Links
LS Vintage disk
to install these old courses for Links LS
Links LS was a
conversion from the PC to the Macintosh. The PC
code base was a combination of C++ and Intel
assembler. A generic system for rendering scenes at
any resolution was implemented as Links LS will
support resolutions from 800 x 600 to 1600 x 1200
and runs in either thousands or millions of
As with previous
projects, Links LS had to be able to read from the
original PC data files. This was especially
important because add-on course packs are released
periodically. The Mac version is also capable of
reading Links 386 and Links Pro course data
The PC version
supported Modem and IPX networking. The Mac version
supported these modes as well as direct serial,
appletalk, and IP.
Links LS allows the
sounds for various game events to be customized
using WAV files. We supported this as well as
Macintosh sound files.
LS 1.1.1 updater
is now available. This version includes minor bug
fixes and works in 640x480!
this project we also localized it for Japan,
accelerated it for QuickDraw 3d RAVE, and added
MechWarrior 2 was a
conversion from the PC version to the Macintosh.
This project involved converting the C and C++ code
in the project to compile and run on the Macintosh.
The bulk of the time critical code was written in
Intel assembler. This code was rewritten in C and
then optimized into PowerPC assembler where the
speed was needed. The end result read all of the
original data files, and, was able to write saved
game files which are compatible with the PC version
of the game.
How can I get the RAVE update for MW2.
You can't. Activision has made this version
available only in various hardware bundles. We have
tried to get them to release this version in some
form, but so far we have failed. Please contact
Activision and let them know that you want it.
Perhaps,with enough requests, they will release
The conversion of
NetMech was done using both Communications Toolbox,
Open Transport, and Novell's IPX. This version
supports play over AppleTalk networks, the Internet
(using IP), Novell IPX networks, direct serial
connections, and modem connections.
The Modem and IPX
connections allow Mac NetMech to be played against
Do you want to be
notified when someone wants to play NetMech?
the listening posts and you will be! They are
applications that watch for NetMech traffic on
either AppleTalk, the Internet, or IPX and then
notify you if any is found.
WARNING! These were
written in about a day and have had only minimal
We first converted
all math to use floating point throughout the
codebase. The original MechWarrior 2 codebase was
done in fixed point math. We then updated our code
to read the new PC data files used for the 3D
accelerated PC version. This mainly consisted of
code to handle loading 16 bit per pixel textures
(instead of the 8 bit per pixel textures used in
Since one of the
texture formats used in the PC version was not
supported by RAVE, we then had to convert this
texture to a RAVE supported format before sending
the texture to RAVE. We also had to write a last
recently used caching system to determine which
textures should be deleted when there was no more
room in VRAM for any new textures.
During the course
of this project we also added support for
InputSprocket (in addition to the manufacturer APIs
for talking to input devices). We also used
DrawSprocket to allow us to automatically change
resolutions for the best possible game
In order to
complete the Mac Localization we needed to change
all code to handle mulibyte character sets. Some of
the codebase uses an internal font system, while
some code brings up Macintosh Dialogs with Mac
Fonts in then, We needed to handle both cases. We
also had to work with a translator to create the
Kanji text needed for this version.
localization project was to combine what we had
done to localize MechWarrior 2 with the changes we
had made to accelerate it for RAVE. This was
complicated by the fact the PC accelerated Kanji
version used a slightly different format for some
of the textures. In the end we have a Kanji RAVE
accelerated version of MechWarrior 2.
a Killing Moon
Although Under a
Killing Moon was a conversion from the PC to the
Macintosh, all the original code was written in
Intel assembler. This meant that the entire code
base had to be rewritten on the Mac to follow the
same architecture as the PC version. This was vital
to the project since we wanted to use all the
existing data files on the four CDs that this game
ships on. Since all the video was in proprietary
format, we had to write custom playback code to
play this video instead of simply using QuickTime.
We also had to write code to parse the WAV format
sound effects and play them. For more information,
Blown Away was a
conversion from the PC to the Macintosh. We wrote
custom drawing code in C which was called by the
existing C code from the PC version. Blown Away is
a game which involves a great deal of Quicktime,
MIDI music, and sound effects. This project was
written as a FAT application (it runs native on
both 68k Macintoshes and PowerMacs).
These 3 titles are
all based on the original code base for Spectre.
Spectre was originally written in Pascal and 680x0
assembly language. The changes we made were in
Pascal, C, C++, and assembly language. Since we
were modifying the original code in ways the
original authors had not intended, this code has
grown to be very complex.