Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Crossfire 0.89.2 on the NeXT
I only discovered Crossfire a few days ago but am quite impressed if
doubtlessly ignorant about many of the fine points discussed here.
Considering that NeXTs don't run X natively I was quite impressed with the
relative ease with which it installed. However, there are a few changes which
would make it easier for non-technical users.
1. Change all the references to MACH to NeXT references. MACH does the right
thing for NeXTs (which leads me to believe that somebody already has done this
for earlier versions), but is not a standard macro defined by the
pre-processor. NeXT is.
2. Make all the remaining inclusions of "unistd.h" (there are a few) depend on
NeXT not being defined. NeXT doesn't have this file.
3. Please add a line like this close to the beginning of common/map.c. (If
necessary conditionalize it on NeXT).
extern char *tempnam(char *dir, char *pfx);
4. NeXT does not have snprintf instead of sprintf. Kill that code ?
5. Please add this definition just before 'create_savedir_if_needed' in
server/login.c.
#if defined(NeXT)
#ifndef S_ISDIR
#define S_ISDIR(x) (((x) & S_IFMT) == S_IFDIR)
#endif
#endif
6. In server/socket.c: Please added NeXT to the list of machines which need a
dummy variable for setsockopt SO_REUSEADDR.
7. In xtedit/dirty.c: Add this before check_level:
#if defined(NeXT)
#ifndef S_ISREG
#define S_ISREG(x) (((x) & S_IFMT) == S_IFREG)
#endif
#endif
The are only two problems which this leaves. Unfortunately NeXT uses a broken
version of GNU cpp which barfs on many comment lines in the Imakefiles. The
user still has to remove all comments from the Imakefiles by hand or grep -v.
Also there still seems to be a problem with properly recognizing the Shift or
Control keys as modifiers rather than as seperate command keys. I'm working on
that.
Thanks for writing this game !
Carl "also working on a NeXTstep port" Edman