[CF-Devel] Patch: Windows compilation

crossfire-devel-admin at archives.real-time.com crossfire-devel-admin at archives.real-time.com
Fri Aug 1 08:39:26 CDT 2003


Hi.

Having tried to compile CF server under Win32 (MSCV), I had to change 
some things...
So here are some patches enabling successful compilation.

The first, global.patch, fixes bad u/sint46 for Win32 in include/global.h
There was no SIZEOF_LONG defined, so it would error...
Also, the Python includes define SIZEOF_LONG_LONG as 8, so it's better 
to have some coherence somewhere :-)

The second is for common/map.c
It fixes broken check_path which would simply ignore the prepend_dir 
argument, resulting in broken map links in big maps... (would try to 
find map in world/world_xxx_xxx instead of share/maps/world/world_xxx_xxx).

I think they don't change anything for other platforms.

I successfully compiled & ran the server under Win32. I may be missing 
some changes, I'll check that tonight. Also Python things seem to be 
slightly broken right now, I'll try to fix & submit patches as required.

And please, if I shouldn't submit patches directly to the list, or if 
the format is wrong, just tell me so i fix that too :-)

Nicolas 'Ryo'
-------------- next part --------------
RCS file: /cvsroot/crossfire/crossfire/include/global.h,v
retrieving revision 1.41
diff -r1.41 global.h
60a61,70
>
     
     
     >
     
      #ifdef WIN32
     
     >
     
      // Python plugin stuff defines SIZEOF_LONG_LONG as 8, and besides __int64 is a 64b type on MSVC...
     
     >
     
      // So let's force the typedef
     
     >
     
      typedef unsigned __int64	uint64;
     
     >
     
      typedef signed __int64		sint64;
     
     >
     
      // Needed for experience
     
     >
     
      #define atoll	_atoi64
     
     >
     
     
     >
     
      #else // WIN32
     
     73c83
< 
---
>
     
      #endif // WIN32
     
     
-------------- next part --------------
RCS file: /cvsroot/crossfire/crossfire/common/map.c,v
retrieving revision 1.55
diff -r1.55 map.c
182,184d181
< #ifdef WIN32 /* ***win32: check this sucker in windows style. */
< 	return(_access(name,0));
< #else
192a190,193
>
     
     
     >
     
      #ifdef WIN32 /* ***win32: check this sucker in windows style. */
     
     >
     
      	return(_access(buf,0));
     
     >
     
      #else
     
     
    


More information about the crossfire mailing list