Only in newsrc: *.0
Only in newsrc: .accepted
diff -c -r oldsrc/Makefile newsrc/Makefile
*** oldsrc/Makefile	Mon Apr  8 18:13:55 1996
--- newsrc/Makefile	Mon Apr  8 19:35:53 1996
***************
*** 29,35 ****
  	castle.o class.o config.o constants.o db.o fight.o graph.o handler.o \
  	house.o interpreter.o limits.o magic.o mail.o mobact.o modify.o \
  	objsave.o olc.o shop.o spec_assign.o spec_procs.o spell_parser.o \
! 	spells.o utils.o weather.o 
  
  default: .accepted
  	$(MAKE) ../bin/circle
--- 29,35 ----
  	castle.o class.o config.o constants.o db.o fight.o graph.o handler.o \
  	house.o interpreter.o limits.o magic.o mail.o mobact.o modify.o \
  	objsave.o olc.o shop.o spec_assign.o spec_procs.o spell_parser.o \
! 	spells.o utils.o weather.o redit.o oedit.o zedit.o medit.o sedit.o
  
  default: .accepted
  	$(MAKE) ../bin/circle
***************
*** 146,152 ****
  class.o: class.c conf.h sysdep.h structs.h db.h utils.h spells.h interpreter.h
  	$(CC) -c $(CFLAGS) class.c
  comm.o: comm.c conf.h sysdep.h structs.h utils.h comm.h interpreter.h handler.h \
!   db.h house.h
  	$(CC) -c $(CFLAGS) comm.c
  config.o: config.c conf.h sysdep.h structs.h
  	$(CC) -c $(CFLAGS) config.c
--- 146,152 ----
  class.o: class.c conf.h sysdep.h structs.h db.h utils.h spells.h interpreter.h
  	$(CC) -c $(CFLAGS) class.c
  comm.o: comm.c conf.h sysdep.h structs.h utils.h comm.h interpreter.h handler.h \
!   db.h house.h olc.h
  	$(CC) -c $(CFLAGS) comm.c
  config.o: config.c conf.h sysdep.h structs.h
  	$(CC) -c $(CFLAGS) config.c
***************
*** 182,194 ****
    handler.h spells.h
  	$(CC) -c $(CFLAGS) mobact.c
  modify.o: modify.c conf.h sysdep.h structs.h utils.h interpreter.h handler.h db.h \
!   comm.h spells.h mail.h boards.h
  	$(CC) -c $(CFLAGS) modify.c
  objsave.o: objsave.c conf.h sysdep.h structs.h comm.h handler.h db.h \
    interpreter.h utils.h spells.h
  	$(CC) -c $(CFLAGS) objsave.c
  olc.o: olc.c conf.h sysdep.h structs.h utils.h comm.h interpreter.h handler.h db.h \
!   olc.h
  	$(CC) -c $(CFLAGS) olc.c
  random.o: random.c
  	$(CC) -c $(CFLAGS) random.c
--- 182,194 ----
    handler.h spells.h
  	$(CC) -c $(CFLAGS) mobact.c
  modify.o: modify.c conf.h sysdep.h structs.h utils.h interpreter.h handler.h db.h \
!   comm.h spells.h mail.h boards.h olc.h
  	$(CC) -c $(CFLAGS) modify.c
  objsave.o: objsave.c conf.h sysdep.h structs.h comm.h handler.h db.h \
    interpreter.h utils.h spells.h
  	$(CC) -c $(CFLAGS) objsave.c
  olc.o: olc.c conf.h sysdep.h structs.h utils.h comm.h interpreter.h handler.h db.h \
!   olc.h screen.h
  	$(CC) -c $(CFLAGS) olc.c
  random.o: random.c
  	$(CC) -c $(CFLAGS) random.c
***************
*** 213,215 ****
--- 213,228 ----
  weather.o: weather.c conf.h sysdep.h structs.h utils.h comm.h handler.h \
    interpreter.h db.h
  	$(CC) -c $(CFLAGS) weather.c
+ redit.o: redit.c conf.h sysdep.h structs.h utils.h comm.h boards.h \
+   db.c olc.h
+ 	$(CC) -c $(CFLAGS) redit.c
+ oedit.o: oedit.c conf.h sysdep.h structs.h utils.h comm.h boards.h spells.h \
+   db.c olc.h shop.h
+ 	$(CC) -c $(CFLAGS) oedit.c
+ zedit.o: zedit.c conf.h sysdep.h structs.h utils.h comm.h db.c olc.h
+ 	$(CC) -c $(CFLAGS) zedit.c 
+ medit.o: medit.c conf.h sysdep.h structs.h utils.h comm.h spells.h shop.h \
+   db.c olc.h
+ 	$(CC) -c $(CFLAGS) medit.c 
+ sedit.o: sedit.c conf.h sysdep.h structs.h utils.h comm.h db.c olc.h shop.h
+ 	$(CC) -c $(CFLAGS) sedit.c 
diff -c -r oldsrc/act.wizard.c newsrc/act.wizard.c
*** oldsrc/act.wizard.c	Mon Apr  8 18:13:52 1996
--- newsrc/act.wizard.c	Mon Apr  8 20:26:16 1996
***************
*** 21,26 ****
--- 21,27 ----
  #include "spells.h"
  #include "house.h"
  #include "screen.h"
+ #include "olc.h"
  
  /*   external vars  */
  extern FILE *player_fl;
***************
*** 656,665 ****
  	    ((k->player.time.played / 3600) % 60), age(k).year);
      send_to_char(buf, ch);
  
!     sprintf(buf, "Hometown: [%d], Speaks: [%d/%d/%d], (STL[%d]/per[%d]/NSTL[%d])\r\n",
  	 k->player.hometown, GET_TALK(k, 0), GET_TALK(k, 1), GET_TALK(k, 2),
  	    GET_PRACTICES(k), int_app[GET_INT(k)].learn,
  	    wis_app[GET_WIS(k)].bonus);
      send_to_char(buf, ch);
    }
    sprintf(buf, "Str: [%s%d/%d%s]  Int: [%s%d%s]  Wis: [%s%d%s]  "
--- 657,670 ----
  	    ((k->player.time.played / 3600) % 60), age(k).year);
      send_to_char(buf, ch);
  
!     sprintf(buf, "Hometown: [%d], Speaks: [%d/%d/%d], (STL[%d]/per[%d]/NSTL[%d])",
  	 k->player.hometown, GET_TALK(k, 0), GET_TALK(k, 1), GET_TALK(k, 2),
  	    GET_PRACTICES(k), int_app[GET_INT(k)].learn,
  	    wis_app[GET_WIS(k)].bonus);
+     /*. Display OLC zone for immorts .*/
+     if(GET_LEVEL(k) >= LVL_IMMORT)
+       sprintf(buf, "%s, OLC[%d]", buf, GET_OLC_ZONE(k));
+     strcat(buf, "\r\n");
      send_to_char(buf, ch);
    }
    sprintf(buf, "Str: [%s%d/%d%s]  Int: [%s%d%s]  Wis: [%s%d%s]  "
***************
*** 2073,2078 ****
--- 2078,2084 ----
     { "passwd",		LVL_IMPL, 	PC, 	MISC },    /* 45 */
     { "nodelete", 	LVL_GOD, 	PC, 	BINARY },
     { "cha",		LVL_GRGOD, 	BOTH, 	NUMBER },
+    { "olc",		LVL_IMPL, 	PC, 	NUMBER }, 
     { "\n", 0, BOTH, MISC }
    };
  
***************
*** 2417,2422 ****
--- 2423,2431 ----
        RANGE(3, 18);
      vict->real_abils.cha = value;
      affect_total(vict);
+     break;
+   case 48:
+     GET_OLC_ZONE(vict) = value;
      break;
  
    default:
diff -c -r oldsrc/comm.c newsrc/comm.c
*** oldsrc/comm.c	Mon Apr  8 18:13:52 1996
--- newsrc/comm.c	Mon Apr  8 18:26:47 1996
***************
*** 27,32 ****
--- 27,33 ----
  #include "handler.h"
  #include "db.h"
  #include "house.h"
+ #include "olc.h"
  
  /* externs */
  extern int restrict;
***************
*** 1231,1236 ****
--- 1232,1250 ----
      SEND_TO_Q("Your victim is no longer among us.\r\n", d->snoop_by);
      d->snoop_by->snooping = NULL;
    }
+ 
+   /*. Kill any OLC stuff .*/
+   switch(d->connected)
+   { case CON_OEDIT:
+     case CON_REDIT:
+     case CON_ZEDIT:
+     case CON_MEDIT:
+     case CON_SEDIT:
+       cleanup_olc(d, CLEANUP_ALL);
+     default:
+       break;
+   }
+ 
    if (d->character) {
      target_idnum = GET_IDNUM(d->character);
      if (d->connected == CON_PLAYING) {
diff -c -r oldsrc/constants.c newsrc/constants.c
*** oldsrc/constants.c	Mon Apr  8 18:13:53 1996
--- newsrc/constants.c	Mon Apr  8 20:56:12 1996
***************
*** 230,235 ****
--- 230,240 ----
    "Changing PW 3",
    "Self-Delete 1",
    "Self-Delete 2",
+   "Object edit",
+   "Room edit",
+   "Zone edit",
+   "Mobile edit",
+   "Shop edit",
    "\n"
  };
  
diff -c -r oldsrc/interpreter.c newsrc/interpreter.c
*** oldsrc/interpreter.c	Mon Apr  8 18:13:53 1996
--- newsrc/interpreter.c	Mon Apr  8 20:25:30 1996
***************
*** 50,55 ****
--- 50,60 ----
  int special(struct char_data *ch, int cmd, char *arg);
  int isbanned(char *hostname);
  int Valid_Name(char *newname);
+ void oedit_parse(struct descriptor_data *d, char *arg);
+ void redit_parse(struct descriptor_data *d, char *arg);
+ void zedit_parse(struct descriptor_data *d, char *arg);
+ void medit_parse(struct descriptor_data *d, char *arg);
+ void sedit_parse(struct descriptor_data *d, char *arg);
  
  
  /* prototypes for all do_x functions. */
***************
*** 347,352 ****
--- 352,358 ----
    { "love"     , POS_RESTING , do_action   , 0, 0 },
  
    { "moan"     , POS_RESTING , do_action   , 0, 0 },
+   { "medit"    , POS_DEAD    , do_olc      , LVL_GOD, SCMD_OLC_MEDIT},
    { "motd"     , POS_DEAD    , do_gen_ps   , 0, SCMD_MOTD },
    { "mail"     , POS_STANDING, do_not_here , 1, 0 },
    { "massage"  , POS_RESTING , do_action   , 0, 0 },
***************
*** 369,378 ****
    { "nudge"    , POS_RESTING , do_action   , 0, 0 },
    { "nuzzle"   , POS_RESTING , do_action   , 0, 0 },
  
-   { "olc"      , POS_DEAD    , do_olc      , LVL_IMPL, 0 },
    { "order"    , POS_RESTING , do_order    , 1, 0 },
    { "offer"    , POS_STANDING, do_not_here , 1, 0 },
    { "open"     , POS_SITTING , do_gen_door , 0, SCMD_OPEN },
  
    { "put"      , POS_RESTING , do_put      , 0, 0 },
    { "pat"      , POS_RESTING , do_action   , 0, 0 },
--- 375,385 ----
    { "nudge"    , POS_RESTING , do_action   , 0, 0 },
    { "nuzzle"   , POS_RESTING , do_action   , 0, 0 },
  
    { "order"    , POS_RESTING , do_order    , 1, 0 },
    { "offer"    , POS_STANDING, do_not_here , 1, 0 },
    { "open"     , POS_SITTING , do_gen_door , 0, SCMD_OPEN },
+   { "olc"      , POS_DEAD    , do_olc      , LVL_GOD, SCMD_OLC_SAVEINFO },
+   { "oedit"    , POS_DEAD    , do_olc      , LVL_GOD, SCMD_OLC_OEDIT},
  
    { "put"      , POS_RESTING , do_put      , 0, 0 },
    { "pat"      , POS_RESTING , do_action   , 0, 0 },
***************
*** 416,421 ****
--- 423,429 ----
    { "rescue"   , POS_FIGHTING, do_rescue   , 1, 0 },
    { "restore"  , POS_DEAD    , do_restore  , LVL_GOD, 0 },
    { "return"   , POS_DEAD    , do_return   , 0, 0 },
+   { "redit"    , POS_DEAD    , do_olc      , LVL_GOD, SCMD_OLC_REDIT},
    { "roll"     , POS_RESTING , do_action   , 0, 0 },
    { "roomflags", POS_DEAD    , do_gen_tog  , LVL_IMMORT, SCMD_ROOMFLAGS },
    { "ruffle"   , POS_STANDING, do_action   , 0, 0 },
***************
*** 428,433 ****
--- 436,442 ----
    { "sell"     , POS_STANDING, do_not_here , 0, 0 },
    { "send"     , POS_SLEEPING, do_send     , LVL_GOD, 0 },
    { "set"      , POS_DEAD    , do_set      , LVL_GOD, 0 },
+   { "sedit"    , POS_DEAD    , do_olc      , LVL_GOD, SCMD_OLC_SEDIT},
    { "shout"    , POS_RESTING , do_gen_comm , 0, SCMD_SHOUT },
    { "shake"    , POS_RESTING , do_action   , 0, 0 },
    { "shiver"   , POS_RESTING , do_action   , 0, 0 },
***************
*** 530,535 ****
--- 539,545 ----
    { "yawn"     , POS_RESTING , do_action   , 0, 0 },
    { "yodel"    , POS_RESTING , do_action   , 0, 0 },
  
+   { "zedit"    , POS_DEAD    , do_olc      , LVL_GOD, SCMD_OLC_ZEDIT},
    { "zreset"   , POS_DEAD    , do_zreset   , LVL_GRGOD, 0 },
  
    { "\n", 0, 0, 0, 0 } };	/* this must be last */
***************
*** 1255,1260 ****
--- 1265,1289 ----
    skip_spaces(&arg);
  
    switch (STATE(d)) {
+ 
+   /*. OLC states .*/
+   case CON_OEDIT: 
+     oedit_parse(d, arg);
+     break;
+   case CON_REDIT: 
+     redit_parse(d, arg);
+     break;
+   case CON_ZEDIT: 
+     zedit_parse(d, arg);
+     break;
+   case CON_MEDIT: 
+     medit_parse(d, arg);
+     break;
+   case CON_SEDIT: 
+     sedit_parse(d, arg);
+     break;
+   /*. End of OLC states .*/
+ 
    case CON_GET_NAME:		/* wait for input of name */
      if (d->character == NULL) {
        CREATE(d->character, struct char_data, 1);
diff -c -r oldsrc/interpreter.h newsrc/interpreter.h
*** oldsrc/interpreter.h	Mon Apr  8 18:13:53 1996
--- newsrc/interpreter.h	Mon Apr  8 18:22:40 1996
***************
*** 198,200 ****
--- 198,209 ----
  #define SCMD_UNLOCK     2
  #define SCMD_LOCK       3
  #define SCMD_PICK       4
+ 
+ /*. do_olc .*/
+ #define SCMD_OLC_REDIT  0
+ #define SCMD_OLC_OEDIT  1
+ #define SCMD_OLC_ZEDIT  2
+ #define SCMD_OLC_MEDIT  3
+ #define SCMD_OLC_SEDIT  4
+ #define SCMD_OLC_SAVEINFO  5
+ 
diff -c -r oldsrc/modify.c newsrc/modify.c
*** oldsrc/modify.c	Mon Apr  8 18:13:54 1996
--- newsrc/modify.c	Mon Apr  8 18:32:50 1996
***************
*** 21,26 ****
--- 21,27 ----
  #include "spells.h"
  #include "mail.h"
  #include "boards.h"
+ #include "olc.h"
  
  void show_string(struct descriptor_data *d, char *input);
  
***************
*** 89,94 ****
--- 90,158 ----
    }
  
    if (terminator) {
+     /*. OLC Edits .*/
+     extern void oedit_disp_menu(struct descriptor_data *d);
+     extern void oedit_disp_extradesc_menu(struct descriptor_data *d);
+     extern void redit_disp_menu(struct descriptor_data *d);
+     extern void redit_disp_extradesc_menu(struct descriptor_data *d);
+     extern void redit_disp_exit_menu(struct descriptor_data *d);
+     extern void medit_disp_menu(struct descriptor_data *d);
+     if (STATE(d) == CON_MEDIT) 
+     {  if (OLC_MOB(d)->player.description)
+          free(OLC_MOB(d)->player.description);
+        OLC_MOB(d)->player.description = str_dup(*d->str);
+        free (*d->str);
+        free (d->str);
+        medit_disp_menu(d);
+     }
+     if (STATE(d) == CON_OEDIT) {
+       switch(OLC_MODE(d)) {
+       case OEDIT_ACTDESC:
+ 	if (OLC_OBJ(d)->action_description)
+ 	  free(OLC_OBJ(d)->action_description);
+         OLC_OBJ(d)->action_description = str_dup(*d->str);
+  	free (*d->str);
+  	free (d->str);
+  	oedit_disp_menu(d);
+  	break;
+       case OEDIT_EXTRADESC_DESCRIPTION:
+  	if (OLC_DESC(d)->description)
+  	  free(OLC_DESC(d)->description);
+  	OLC_DESC(d)->description = str_dup(*d->str);
+  	free(*d->str);
+  	free(d->str);
+  	oedit_disp_extradesc_menu(d);
+       }
+     }
+     if (STATE(d) == CON_REDIT) {
+       switch(OLC_MODE(d)) {
+       case REDIT_DESC:
+ 	if (OLC_ROOM(d)->description)
+  	  free(OLC_ROOM(d)->description);
+  	OLC_ROOM(d)->description = str_dup(*d->str);
+  	free (*d->str);
+  	free (d->str);
+  	redit_disp_menu(d);
+  	break;
+       case REDIT_EXTRADESC_DESCRIPTION:
+  	if (OLC_DESC(d)->description)
+  	  free (OLC_DESC(d)->description);
+  	OLC_DESC(d)->description = str_dup(*d->str);
+  	free(*d->str);
+  	free(d->str);
+  	redit_disp_extradesc_menu(d);
+  	break;
+       case REDIT_EXIT_DESCRIPTION:
+  	if (OLC_EXIT(d)->general_description)
+  	  free(OLC_EXIT(d)->general_description);
+  	OLC_EXIT(d)->general_description = str_dup(*d->str);
+  	free (*d->str);
+  	free(d->str);
+  	redit_disp_exit_menu(d);
+  	break;
+       }
+     } /*. End OLC edits .*/
+ 
      if (!d->connected && (PLR_FLAGGED(d->character, PLR_MAILING))) {
        store_mail(d->mail_to, GET_IDNUM(d->character), *d->str);
        d->mail_to = 0;
diff -c -r oldsrc/shop.c newsrc/shop.c
*** oldsrc/shop.c	Mon Apr  8 18:13:54 1996
--- newsrc/shop.c	Mon Apr  8 18:51:51 1996
***************
*** 12,17 ****
--- 12,19 ----
   * The entire shop rewrite for Circle 3.0 was done by Jeff Fink.  Thanks Jeff!
   ***/
  
+ #define __SHOP_C__
+ 
  #include "conf.h"
  #include "sysdep.h"
  
diff -c -r oldsrc/shop.h newsrc/shop.h
*** oldsrc/shop.h	Mon Apr  8 18:13:55 1996
--- newsrc/shop.h	Mon Apr  8 18:51:34 1996
***************
*** 95,101 ****
  #define OPER_NOT		4
  #define MAX_OPER		4
  
! 
  const char *operator_str[] = {
  	"[({",
  	"])}",
--- 95,101 ----
  #define OPER_NOT		4
  #define MAX_OPER		4
  
! #ifdef __SHOP_C__
  const char *operator_str[] = {
  	"[({",
  	"])}",
***************
*** 103,109 ****
  	"&*",
  	"^'"
  } ;
! 
  
  #define SHOP_NUM(i)		(shop_index[(i)].virtual)
  #define SHOP_KEEPER(i)		(shop_index[(i)].keeper)
--- 103,109 ----
  	"&*",
  	"^'"
  } ;
! #endif
  
  #define SHOP_NUM(i)		(shop_index[(i)].virtual)
  #define SHOP_KEEPER(i)		(shop_index[(i)].keeper)
***************
*** 134,139 ****
--- 134,140 ----
  
  
  /* Constant list for printing out who we sell to */
+ #ifdef __SHOP_C__
  const char *trade_letters[] = {
  	"Good",			/* First, the alignment based ones */
  	"Evil",
***************
*** 144,149 ****
--- 145,151 ----
  	"Warrior",
  	"\n"
  } ;
+ #endif
  
  
  #define	WILL_START_FIGHT	1
***************
*** 152,162 ****
--- 154,166 ----
  #define SHOP_KILL_CHARS(i)	(IS_SET(SHOP_BITVECTOR(i), WILL_START_FIGHT))
  #define SHOP_USES_BANK(i)	(IS_SET(SHOP_BITVECTOR(i), WILL_BANK_MONEY))
  
+ #ifdef __SHOP_C__
  char *shop_bits[] = {
  	"WILL_FIGHT",
  	"USES_BANK",
  	"\n"
  } ;
+ #endif
  
  #define MIN_OUTSIDE_BANK	5000
  #define MAX_OUTSIDE_BANK	15000
diff -c -r oldsrc/structs.h newsrc/structs.h
*** oldsrc/structs.h	Mon Apr  8 18:13:54 1996
--- newsrc/structs.h	Mon Apr  8 20:13:25 1996
***************
*** 219,224 ****
--- 219,229 ----
  #define CON_CHPWD_VRFY   14		/* Verify new password		*/
  #define CON_DELCNF1	 15		/* Delete confirmation 1	*/
  #define CON_DELCNF2	 16		/* Delete confirmation 2	*/
+ #define CON_OEDIT	 17		/*. OLC mode - object edit     .*/
+ #define CON_REDIT	 18		/*. OLC mode - room edit       .*/
+ #define CON_ZEDIT	 19		/*. OLC mode - zone info edit  .*/
+ #define CON_MEDIT	 20		/*. OLC mode - mobile edit     .*/
+ #define CON_SEDIT	 21		/*. OLC mode - shop edit       .*/
  
  
  /* Character equipment positions: used as index for char_data.equipment[] */
***************
*** 725,731 ****
     ubyte spare4;
     ubyte spare5;
     int spells_to_learn;		/* How many can you learn yet this level*/
!    int spare7;
     int spare8;
     int spare9;
     int spare10;
--- 730,736 ----
     ubyte spare4;
     ubyte spare5;
     int spells_to_learn;		/* How many can you learn yet this level*/
!    int olc_zone;
     int spare8;
     int spare9;
     int spare10;
***************
*** 899,904 ****
--- 904,910 ----
     struct descriptor_data *snooping; /* Who is this char snooping	*/
     struct descriptor_data *snoop_by; /* And who is snooping this char	*/
     struct descriptor_data *next; /* link to next descriptor		*/
+    struct olc_data *olc;	     /*. OLC info - defined in olc.h   .*/
  };
  
  
Only in newsrc: tmp