diff -ruN work.orig/dev/archive.cpp work/dev/archive.cpp
--- work.orig/dev/archive.cpp	Mon Feb  8 22:14:28 1999
+++ work/dev/archive.cpp	Fri Sep 10 17:43:23 1999
@@ -44,6 +44,11 @@
 //
 #include "uox3.h"
 
+void _itoa(char *a, int b, int c)
+{
+	sprintf(a, "%d", b);
+}
+
 void fileArchive(char *pFile2Archive, char *pArchiveDir)
 {
 	char ext[255] = "";
diff -ruN work.orig/dev/combat.cpp work/dev/combat.cpp
--- work.orig/dev/combat.cpp	Mon Feb  8 22:14:28 1999
+++ work/dev/combat.cpp	Fri Sep 10 17:31:40 1999
@@ -960,7 +960,7 @@
 		chars[c].targ = s;
     chars[c].npcWander=2;  //set wander mode Tauriel
 		npcToggleCombat(c);
-		chars[c].npcmovetime=(int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
+		chars[c].npcmovetime=(unsigned long int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
 		
 			soundeffect2(c, 0x01, 0xFE);  //Tauriel 1-9-99 changed to stop crashing used to call soundeffect (expeted socket)
 			staticeffect(c, 0x37, 0x2A, 0x09, 0x06);
diff -ruN work.orig/dev/globals.cpp work/dev/globals.cpp
--- work.orig/dev/globals.cpp	Mon Feb  8 22:14:28 1999
+++ work/dev/globals.cpp	Fri Sep 10 17:29:52 1999
@@ -87,7 +87,7 @@
 #ifdef _MSVC
 long int oldtime, newtime;
 #else
-unsigned long int oldtime, newtime;      //for autosaving
+time_t oldtime, newtime;      //for autosaving
 #endif
 int autosaved, saveinterval, heartbeat;
 char saveintervalstr[4];
diff -ruN work.orig/dev/makefile work/dev/makefile
--- work.orig/dev/makefile	Fri Nov 27 23:34:50 1998
+++ work/dev/makefile	Fri Sep 10 17:29:52 1999
@@ -27,7 +27,7 @@
 # Objects
 OBJS := $(patsubst %.cpp, %.o, $(SRC))
 
-C_FLAGS = $(WARN) $(OTHER) $(OPT) $(DEBUG)
+C_FLAGS = $(CFLAGS) $(WARN) $(OTHER) $(OPT) $(DEBUG)
 
 all:
 	@echo Please specify one of the following:
diff -ruN work.orig/dev/skills.cpp work/dev/skills.cpp
--- work.orig/dev/skills.cpp	Mon Feb  8 22:14:30 1999
+++ work/dev/skills.cpp	Fri Sep 10 17:32:02 1999
@@ -1302,12 +1302,12 @@
    if (chars[target].npc)
    {
     if (!(chars[target].war)) npcToggleCombat(target);
-    chars[target].npcmovetime=(int)((getclock()+(NPCSPEED*CLOCKS_PER_SEC)));
+    chars[target].npcmovetime=(unsigned long int)((getclock()+(NPCSPEED*CLOCKS_PER_SEC)));
    }
    if (chars[target2].npc)
    {
     if (!(chars[target2].war)) npcToggleCombat(target2);
-    chars[target2].npcmovetime=(int)((getclock()+(NPCSPEED*CLOCKS_PER_SEC)));
+    chars[target2].npcmovetime=(unsigned long int)((getclock()+(NPCSPEED*CLOCKS_PER_SEC)));
    }
    sprintf(temp, "* You see %s attacking %s *", chars[target].name, chars[target2].name);
    for (i=0;i<now;i++)
@@ -1342,12 +1342,12 @@
    if (chars[target].npc)
    {
     if (!(chars[target].war)) npcToggleCombat(target);
-    chars[target].npcmovetime=(int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
+    chars[target].npcmovetime=(unsigned long int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
    }
    if (chars[target2].npc)
    {
     if (!(chars[target2].war)) npcToggleCombat(target2);
-    chars[target2].npcmovetime=(int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
+    chars[target2].npcmovetime=(unsigned long int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
    }
    sprintf(temp, "* You see %s attacking %s *", chars[target].name, chars[target2].name);
    for (i=0;i<now;i++)
diff -ruN work.orig/dev/uox3.cpp work/dev/uox3.cpp
--- work.orig/dev/uox3.cpp	Sun Feb 14 00:14:34 1999
+++ work/dev/uox3.cpp	Fri Sep 10 17:34:01 1999
@@ -5228,7 +5228,7 @@
           chars[t].summontimer=(getclock()+(CLOCKS_PER_SEC*20));    
           chars[t].npcWander=2;
           chars[t].npcaitype=0x04;
-          chars[t].npcmovetime=(int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
+          chars[t].npcmovetime=(unsigned long int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
           npctalkall(t,"Thou have suffered thy punishment, scoundrel.");
         }
         chars[t].targ=-1;
@@ -8186,7 +8186,7 @@
     chars[s].hidden=0;
    }
 
-   if (chars[s].npc) chars[s].npcmovetime=(int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC)); //reset move timer
+   if (chars[s].npc) chars[s].npcmovetime=(unsigned long int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC)); //reset move timer
 
    switch(dir&0x0F)
    {
@@ -12857,7 +12857,7 @@
      if ((chars[i].npc)&&!(chars[i].npcaitype==0x40))
        {
         if (!(chars[i].war)) npcToggleCombat(i);
-        chars[i].npcmovetime=(int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
+        chars[i].npcmovetime=(unsigned long int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
        }
        break;
       }
@@ -13411,7 +13411,7 @@
   {
    chars[i].oldnpcWander=chars[i].npcWander;
    chars[i].npcWander=5;
-   chars[i].npcmovetime=(int)(currenttime+(NPCSPEED*CLOCKS_PER_SEC));
+   chars[i].npcmovetime=(unsigned long int)(currenttime+(NPCSPEED*CLOCKS_PER_SEC));
   }
 
   if ((chars[i].npc)&&
@@ -13419,7 +13419,7 @@
           (chars[i].hp>chars[i].st*chars[i].reattackat/100))
   {
    chars[i].npcWander=chars[i].oldnpcWander;
-   chars[i].npcmovetime=(int)(currenttime+(NPCSPEED*CLOCKS_PER_SEC));
+   chars[i].npcmovetime=(unsigned long int)(currenttime+(NPCSPEED*CLOCKS_PER_SEC));
    chars[i].oldnpcWander=0; // so it won't save this at the wsc file
   }
   // end of flee code
@@ -14614,7 +14614,7 @@
                 //near the player character:
 
           dnpctime=0;
-          if (chars[i].npc && (chars[i].npcmovetime<=currenttime||(overflow)))
+          if (chars[i].npc && (chars[i].npcmovetime<=(unsigned long int)currenttime||(overflow)))
           {
 //kolours***************************************(09/19/98)
 //fix for monsters to wander when within player's sphere
@@ -14737,7 +14737,7 @@
                          } break;
                 }
            }
-           chars[i].npcmovetime=(int)(currenttime+(NPCSPEED*CLOCKS_PER_SEC*(1+dnpctime))); //reset move timer
+           chars[i].npcmovetime=(unsigned long int)(currenttime+(NPCSPEED*CLOCKS_PER_SEC*(1+dnpctime))); //reset move timer
           }
          }
         }
@@ -17537,12 +17537,12 @@
  if (chars[target].npc)
  {
   if (!(chars[target].war)) npcToggleCombat(target);
-  chars[target].npcmovetime=(int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
+  chars[target].npcmovetime=(unsigned long int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
  }
  if ((chars[target2].npc)&&!(chars[target2].npcaitype==0x40))
  {
   if (!(chars[target2].war)) npcToggleCombat(target2);
-  chars[target2].npcmovetime=(int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
+  chars[target2].npcmovetime=(unsigned long int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
  }
  sprintf(temp, "* You see %s attacking %s *", chars[target].name, chars[target2].name);
  for (i=0;i<now;i++)
@@ -17586,12 +17586,12 @@
  if (chars[target].npc)
  {
   if (!(chars[target].war)) npcToggleCombat(target);
-  chars[target].npcmovetime=(int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
+  chars[target].npcmovetime=(unsigned long int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
  }
  if ((chars[target2].npc)&&!(chars[target2].npcaitype==0x40))
  {
   if (!(chars[target2].war)) npcToggleCombat(target2);
-  chars[target2].npcmovetime=(int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
+  chars[target2].npcmovetime=(unsigned long int)(getclock()+(NPCSPEED*CLOCKS_PER_SEC));
  }
 }
 
diff -ruN work.orig/dev/uox3.h work/dev/uox3.h
--- work.orig/dev/uox3.h	Sun Feb 14 16:56:03 1999
+++ work/dev/uox3.h	Fri Sep 10 17:30:33 1999
@@ -3,10 +3,10 @@
 //#define VER "0.69.02 (Test Build 03)"  //Increment to 01 when putting out official test build
 #define PRODUCT "Ultima Offline eXperiment 3"
 // Your timezone
-#define TIMEZONE "GMT-7"
+#define TIMEZONE "GMT-8"
 // Information about the person who compiled this (Put your info here!)
-#define NAME "UOX3 Dev Team"
-#define EMAIL "crwth@home.com"
+#define NAME "UOX3 FreeBSD Port User"
+#define EMAIL "ports@FreeBSD.ORG"
 #ifdef _WIN32
 #define __NT__
 #define _MSVC
@@ -16,7 +16,7 @@
 #define _WIN32
 #endif
 #endif
-#if defined _WIN32 && (!__MINGW32__)
+#if (defined _WIN32 && (!__MINGW32__)) || defined(__FreeBSD__)
 #define PACK_NEEDED
 #else
 #define PACK_NEEDED __attribute__ ((packed))
@@ -38,6 +38,9 @@
 #include <sys/timeb.h>
 #else
 #include <ctype.h>
+#ifdef __FreeBSD__
+#include <sys/types.h>
+#endif	// __FreeBSD__
 #include <netinet/in.h>
 #include <sys/socket.h>
 #include <sys/types.h>
@@ -349,7 +352,7 @@
  unsigned long int regen, regen2, regen3;
  int runenumb; // Used for naming runes
  int attacker; // Character who attacked this character
- int npcmovetime; // Next time npc will walk
+ unsigned long int npcmovetime; // Next time npc will walk
  char npcWander; // NPC Wander Mode
  char oldnpcWander;
  int ftarg; // NPC Follow Target
@@ -800,7 +803,7 @@
 #ifdef _MSVC
 extern long int oldtime, newtime;
 #else
-extern unsigned long int oldtime, newtime;      //for autosaving
+extern time_t oldtime, newtime;      //for autosaving
 #endif
 extern int autosaved, saveinterval, heartbeat;
 extern char saveintervalstr[4];
diff -ruN work.orig/uox/uox3.ini work/uox/uox3.ini
--- work.orig/uox/uox3.ini	Thu Jan 14 19:19:52 1999
+++ work/uox/uox3.ini	Fri Sep 10 17:29:52 1999
@@ -1,5 +1,5 @@
-UOXScript 24
-ip here
+Your Shard's Name
+Your Shard's IP Address
 ###
 Britain
 Castle Britannia
@@ -92,18 +92,15 @@
 501
 30
 ###
-c:\uo\map0.mul
-c:\uo\staidx0.mul
-c:\uo\statics0.mul
-c:\uo\verdata.mul
-c:\uo\tiledata.mul
-c:\uo\multi.mul
-c:\uo\multi.idx
+map0.mul
+staidx0.mul
+statics0.mul
+verdata.mul
+tiledata.mul
+multi.mul
+multi.idx
 600
 0 Heartbeat, 1=on 0=off
 100
 0
 0
-
-
-
