/* * If you have full ANSI prototyping this file will help keep everything * as the right form of arguments. */ /* SYSTEM.C */ extern void noreturn ErrFunc(char *,char *,char *,int,char *); extern void Log(char *fmt, ...); extern char *AllocFunc(int,char *,char *,int,char *); extern TPTR AllocText(char *); extern TPTR AllocComment(char *); extern TPTR QuickAllocText(char *); extern long CountTexts(void); extern long TextSize(void); extern long TextNumber(TPTR); /* Wants speeding up */ extern char *TextOf(TPTR); extern void FreeText(TPTR); extern void FreeComment(TPTR); extern int UnlinkItem(ITEM *); extern int LinkItem(ITEM *,ITEM *); extern ITEM *ItemList; extern ITEM *CreateItem(char *,int,int); extern int FreeItem(ITEM *); extern void LockItem(ITEM *); extern void UnlockItem(ITEM *); extern void SetState(ITEM *,short); extern void SetVocab(ITEM *,short,short); extern int WordMatch(ITEM *,short,short); extern int CanSee(short,ITEM *); extern ITEM *FindMaster(short,short,short); extern ITEM *NextMaster(short,ITEM *,short,short); extern ITEM *FindIn(short,ITEM *,short,short); extern ITEM *NextIn(short,ITEM *,short,short); /* Items must not have moved */ extern SUB *FindSub(ITEM *,short); extern SUB *NextSub(SUB *,short); extern SUB *AllocSub(ITEM *,short,short); extern void FreeSub(ITEM *,SUB *); extern int Contains(ITEM *,ITEM *); extern ITEM *FindContains(short,ITEM *,short,short); extern ITEM *NextContains(short,ITEM *,ITEM *,short,short); extern long MasterNumber(ITEM *); extern int ValidItem(ITEM *); /* Used for a nasty hack in daemons (temporary function) */ extern long CountItems(void); extern ITEM *GetNextPointer(void); /* Hacks for DOCLASS */ extern void SetNextPointer(ITEM *); extern ITEM *FindInByClass(short,ITEM *,short); extern ITEM *NextInByClass(short,ITEM *,short); /* Hacked about for DOCLASS */ extern void LineDump(void); #ifdef CHECK_ITEM extern int ICheck(ITEM *,int,char *); #endif #ifdef CHECK_TXT extern int TCheck(TPTR,int,char *); #endif /* SYSSUPPORT.C */ extern PLAYER *PlayerOf(ITEM *); extern OBJECT *ObjectOf(ITEM *); extern ROOM *RoomOf(ITEM *); extern USERFLAG *UserFlagOf(ITEM *); extern USERFLAG *UserFlag2Of(ITEM *); extern CONTAINER *ContainerOf(ITEM *); extern int UserOf(ITEM *); extern int IsUser(ITEM *); extern int IsRoom(ITEM *); extern int IsPlayer(ITEM *); extern int IsObject(ITEM *); extern void SendItemDirect(ITEM *,char *); extern void SendItem(); /* VARARGS */ extern int IsCalled(ITEM *,char *); extern void SetName(ITEM *,char *); extern int ArchWizard(ITEM *); /* OPTION TO READ FROM CONFIG FILE DESIRABLE */ extern char *NameOf(ITEM *); extern char *CNameOf(ITEM *); /* 128 BYTE LIMIT */ extern short LevelOf(ITEM *); extern void Place(ITEM *,ITEM *); extern void XPlace(ITEM *,ITEM *); extern void RemoveUser(unsigned int); extern void ExitUser(unsigned int); extern int CountUsers(void); extern int IsBlind(ITEM *); extern int IsDeaf(ITEM *); extern void ByeBye(ITEM *,char *); extern void DescribeItem(ITEM *,ITEM *); extern void DoesAction(); /* VARARGS */ extern void DoesTo(); /* VARARGS */ extern void DoesToPlayer(); /* VARARGS */ /* * CMD_LOOK() and these three functions + Broadcast ought to work * on mobiles which are being snooped. */ extern ITEM *FindSomething(ITEM *,ITEM *); extern void SetPrompt(ITEM *,char *); extern ITEM *ExitOf(ITEM *,unsigned int); extern ITEM *DoorOf(ITEM *,unsigned int); extern void Broadcast(char *,int); extern void SendEdit(); /* VARARGS */ extern void TimeOut(int); /* UNUSED */ extern void SetUserTitle(); /* VARARG */ extern int IsLit(ITEM *); /* Belongs in DarkLight ? */ extern int IsUnique(short,short,short); extern int ItemNumber(short,ITEM *); /* SUBHANDLER.C */ extern int MakeRoom(ITEM *); extern int UnRoom(ITEM *); extern int MakeObject(ITEM *); extern int UnObject(ITEM *); extern int MakePlayer(ITEM *); extern int UnPlayer(ITEM *); extern int MakeGenExit(ITEM *); extern int UnGenExit(ITEM *); extern CONDEXIT *MakeCondExit(ITEM *,ITEM *,short,short); extern CONDEXIT *MakeNLCondExit(ITEM *,ITEM *,short,short); extern int UnCondExit(ITEM *,CONDEXIT *); extern CONDEXIT *FindCondExit(ITEM *,short); extern MSGEXIT *MakeMsgExit(ITEM *,ITEM *,short,char *); extern MSGEXIT *MakeNLMsgExit(ITEM *,ITEM *,short,char *); extern int UnMsgExit(ITEM *,MSGEXIT *); extern MSGEXIT *FindMsgExit(ITEM *,short); extern int AddChain(ITEM *,ITEM *); extern int AddNLChain(ITEM *,ITEM *); extern CHAIN *FindChain(ITEM *,ITEM *); extern int RemoveChain(ITEM *,ITEM *); extern void SynchChain(ITEM *); extern CONTAINER *BeContainer(ITEM *); extern int UnContainer(ITEM *); extern int GetUserFlag(ITEM *,int); extern ITEM *GetUserItem(ITEM *,int); extern void SetUserFlag(ITEM *,int,int); extern void SetUserItem(ITEM *,int,ITEM *); extern int UnUserFlag(ITEM *); extern int UnUserBlock(USERFLAG *,ITEM *); extern void InitUserFlag(USERFLAG *); extern int MakeInherit(ITEM *,ITEM *); extern int UnInherit(ITEM *); extern ITEM *Inheritor(ITEM *); extern void UnUserText(ITEM *); extern void SetUText(ITEM *,int,TPTR); extern TPTR GetUText(ITEM *,int); extern INOUTHERE *FindIOH(ITEM *); extern void KillIOH(ITEM *); extern INOUTHERE *GetIOH(ITEM *); extern void SetInMsg(ITEM *,char *); extern void SetOutMsg(ITEM *,char *); extern void SetHereMsg(ITEM *,char *); extern char *GetInMsg(ITEM *); extern char *GetOutMsg(ITEM *); extern char *GetHereMsg(ITEM *); /* ACTIONCODE.C */ extern short ClassMask; extern LINE *ClassLine; extern short ClassMode1,ClassMode2; extern void Act_Get(void); extern void Act_Drop(void); extern void Act_Wear(void); extern void Act_Remove(void); extern void Act_Create(void); extern void Act_Destroy(void); extern void Act_Swap(void); extern void Act_Place(void); extern void Act_PutIn(void); extern void Act_TakeOut(void); extern void Act_CopyOF(void); extern void Act_CopyFO(void); extern void Act_CopyFF(void); extern void Act_WhatO(void); extern void Act_GetO(void); extern void Act_Weigh(void); extern void Act_Set(void); extern void Act_Clear(void); extern void Act_PSet(void); extern void Act_PClear(void); extern void Act_Let(void); extern void Act_Add(void); extern void Act_Sub(void); extern void Act_Mul(void); extern void Act_Div(void); extern void Act_Mod(void); extern void Act_AddF(void); extern void Act_SubF(void); extern void Act_MulF(void); extern void Act_DivF(void); extern void Act_ModF(void); extern void Act_Random(void); extern void Act_Move(void); extern void Act_Goto(void); extern void Act_Weight(void); extern void Act_Size(void); extern void Act_OSet(void); extern void Act_OClear(void); extern void Act_RSet(void); extern void Act_RClear(void); extern void Act_CSet(void); extern void Act_CClear(void); extern void Act_PutBy(void); extern void Act_Inc(void); extern void Act_Dec(void); extern void Act_SetState(void); extern void Act_Prompt(void); extern void Act_Print(void); extern void Act_Score(void); extern void Act_Message(void); extern void Act_Msg(void); extern void Act_ListObj(void); extern void Act_ListAt(void); extern void Act_Inven(void); extern void Act_Desc(void); extern void Act_End(void); extern void Act_Done(void); extern void Act_NotDone(void); extern void Act_Ok(void); extern void Act_Abort(void); extern void Act_Save(void); extern void Act_NewText(void); extern void Act_Process(void); extern void Act_DoClass(void); extern void Act_Give(void); extern void Act_DoesAction(void); extern void Act_DoesTo(void); extern void Act_DoesToPlayer(void); extern void Act_PObj(void); extern void Act_PLoc(void); extern void Act_PName(void); extern void Act_PCName(void); extern void Act_Daemon(void); extern void Act_AllDaemon(void); extern void Act_HDaemon(void); extern void Act_When(void); extern void Act_SetName(void); extern void Act_Dup(void); extern void Act_Points(void); extern void Act_Hurt(void); extern void Act_Cured(void); extern void Act_KillOff(void); extern int Act_If1(void); /* Should be conditions !!! */ extern int Act_If2(void); extern void Act_Bug(void); extern void Act_Typo(void); extern int Act_IsMe(void); /* Should be condition */ extern void Act_Broadcast(void); extern int Cnd_IsCalled(void); /* Wrong file! */ extern void Act_SetMe(void); extern void Act_Pronouns(void); extern void Act_Exits(void); extern void Act_PWChange(void); extern void PWVerify(short,char *); extern void PWNew(short,char *); extern void PWNewVerify(short,char *); extern void Act_Snoop(void); extern void Act_UnSnoop(void); extern void Act_Debug(void); extern void Act_GetScore(void); extern void Act_GetStr(void); extern void Act_GetLev(void); extern void Act_SetScore(void); extern void Act_SetStr(void); extern void Act_SetLev(void); extern void Act_Shell(void); /* MACHINE DEPENDANT THROUGHOUT */ extern void Act_TreeDaemon(void); extern void Act_ChainDaemon(void); extern void Act_Means(void); extern void Act_CanGoto(void); extern void Act_CanGoBy(void); extern void Act_GetIFlag(void); extern void Act_SetIFlag(void); extern void Act_ClearIFlag(void); extern void Act_Parse(void); extern void Act_Comment(void); extern void Act_ComVocab(void); extern void Act_Command(void); extern void Act_AutoVerb(void); extern int Cnd_ClassAt(void); /* Some migrants who should be in condition */ extern int Cnd_DupOf(void); extern void Act_MasterOf(void); extern int Cnd_IfDark(void); /* More migrants */ extern void Act_Visibility(void); extern void Act_GetParent(void); extern void Act_GetNext(void); extern void Act_GetChild(void); extern void Act_PExit(void); extern void Act_SetDesc(void); extern void Act_SetLong(void); extern void Act_SetShort(void); extern void Act_GetLong(void); extern void Act_GetShort(void); extern void Act_GetDesc(void); extern void Act_GetName(void); extern void Act_Swat(void); extern void Act_Flat(void); extern void Act_SetIn(void); extern void Act_SetOut(void); extern void Act_SetHere(void); extern void Act_FindMaster(void); extern void Act_NextMaster(void); extern void Act_FindIn(void); extern void Act_NextIn(void); /* Same dangers of moving items as with system.c */ extern void Act_LenText(void); extern void Act_Field(void); extern void Act_GetUText(void); extern void Act_SetUText(void); extern void Act_Cat(void); extern void Act_Cls(void); extern void Act_Become(void); extern void Act_Alias(void); extern void Act_UnAlias(void); extern void Act_Unveil(void); extern int Cnd_SubStr(void); extern void Act_GetIn(void); extern void Act_GetOut(void); extern void Act_GetHere(void); extern void Act_Log(void); extern void Act_SetClass(void); extern void Act_UnSetClass(void); extern void Act_BitClear(void); extern void Act_BitSet(void); extern int Cnd_BitTest(void); extern void Act_SPrint(void); extern void Act_User(void); extern void Act_Cls(void); extern void Act_GetVis(void); /* * Unimplemented or Unused */ extern void Act_Distance(void); extern void Act_WhichWay(void); extern void Act_PutO(void); extern void Act_Frig(void); extern void Act_NArg(void); extern void Act_NeedField(void); extern void Act_Mobiles(void); extern void Act_Dir(void); extern void Act_Rooms(void); /* * Proposed Rope Logic */ extern void Act_TiedTo(void); extern void Act_PlaceRope(void); extern void Act_RopePrev(void); extern int Cnd_IsRope(void); extern int Cnd_IsTied(void); extern void Act_RopeNext(void); extern void Act_Tie(void); extern void Act_Untie(void); extern void Act_Join(void); extern void Act_CutRope(void); extern int Cnd_CanMoveRope(void); extern int Cnd_IsNotBy(void); extern void Act_MessageTo(void); extern void Act_MsgTo(void); /* BOOTDAEMON.C */ extern jmp_buf Oops; extern short SupercedeFlag; extern short SupercedeFlag; extern void IPCMain(void); /* BSX.c */ BSXImage *BSXAllocate(char *,int); BSXImage *BSXFindFirst(void); BSXImage *BSXFindNext(BSXImage *); BSXImage *BSXFind(char *); void BSXDelete(BSXImage *); int BSXEncodePair(char *); void BSXDecodePair(unsigned char,char *); BSXImage *BSXLoadImage(char *,char *); void Cmd_DeleteBSX(ITEM *); void Cmd_LoadBSX(ITEM *); void Cmd_ListBSX(ITEM *); void Cmd_ShowBSX(ITEM *); void BSXDecompSend(int, BSXImage *); void Handle_BSXPacket(int, char *); void Act_BSXScene(void); void Act_BSXObject(void); /* COMSERVER.C */ /* * This module is the machine specific IPC binding */ extern int Current_UserList; extern short LineFaults(void); extern void FixLineFaults(void); extern int WrapUp(int); extern int SendBlock(PORT *, COMTEXT *, int); /* * Sendblock is the machine specific IPC send function. It is a non-blocking * send passed the arguments defining the user by message PORT *, Where * a PORT * can be defined to suit the ipc. A char pointer to a block, and * its length to send. Errors when writing should cause a system failure * if serious. If a users buffer space is full the function TimeOut should * be called for the user in question. */ extern int SendTPacket(PORT *, short, char *); extern int SendNPacket(PORT *, short, short, short, short, short); extern int GetPacket(PORT *, COMTEXT *); /* * GetPacket is supplied with a PORT * and a packet to read the data into. * It should copy a complete packet into the buffer supplied, remembering * that packets are variable length (length is supplied in send call). * Serious errors should cause system failure. */ extern void Handle_Login(char *); extern void InterpretPacket(); extern void ProcessPackets(void); extern int Handle_Output(char *); extern int Handle_Command(int,char *); extern int Handle_CommForce(int,char *); /* * The module uses the remote functions OpenMPort() which should open * the specified port number/address for read/write, and CloseMPort to * close it. Note that the front end program needs to be able to sense * a CloseMPort. */ extern int CloseMPort(PORT *); /* COMMAND_DRIVER.C */ extern void Command_Driver(int,short,char *); extern void PermitInput(int); extern char *UserLastLine; extern void BufOut(int, char *); extern void SendUser(int, char *, ...); extern int Name_Got(int,char *); extern int Check_Password(int,char *,int); extern int SetPlayerSex(int,char *); extern int SetPlayerEmail(int, char *); extern int CreatePersona(int,char *); extern int Run_Command(int,char *); /* COMPILETABLE */ extern int RememberToLockItem(ITEM *); extern void LockLockList(void); extern void LoadLineBuffer(char *); extern int EncodeEntry(ITEM *,LINE *); extern int EncodeTable(ITEM *,TABLE *,FILE *); extern void WipeLine(LINE *); extern void DeleteTable(TABLE *); extern void FreeTableHeader(TABLE *); extern unsigned long PairArg(unsigned short *); extern char *NumText(int); extern void Decompress(LINE *,char *); /* CONDITIONCODE.C */ extern char *Cnd_Table[]; extern int FindCnd(char *); extern int Cnd_At(void); extern int Cnd_NotAt(void); extern int Cnd_Present(void); extern int Cnd_Absent(void); extern int Cnd_Worn(void); extern int Cnd_NotWorn(void); extern int Cnd_Carried(void); extern int Cnd_NotCarr(void); extern int Cnd_IsAt(void); extern int Cnd_IsNotAt(void); extern int Cnd_IsBy(void); extern int Cnd_Zero(void); extern int Cnd_NotZero(void); extern int Cnd_Eq(void); extern int Cnd_NotEq(void); extern int Cnd_Gt(void); extern int Cnd_Lt(void); extern int Cnd_EqF(void); extern int Cnd_NeF(void); extern int Cnd_LtF(void); extern int Cnd_GtF(void); extern int Cnd_IsIn(void); extern int Cnd_IsNotIn(void); extern int Cnd_Adj1(void); extern int Cnd_Adj2(void); extern int Cnd_Noun1(void); extern int Cnd_Noun2(void); extern int Cnd_Prep(void); extern int Cnd_Chance(void); extern int Cnd_IsPlayer(void); extern int Cnd_IsUser(void); extern int Cnd_IsRoom(void); extern int Cnd_IsObject(void); extern int Cnd_State(void); extern int Cnd_PFlag(void); extern int Cnd_OFlag(void); extern int Cnd_RFlag(void); extern int Cnd_CFlag(void); extern int Cnd_CanPut(void); extern int Cnd_Level(void); extern int Cnd_IfDeaf(void); extern int Cnd_IfBlind(void); extern int Cnd_Arch(void); extern int Cnd_Is(void); extern int Cnd_ChanceLev(void); extern int Cnd_CanSee(void); extern int Cnd_IsClass(void); /* CONTAINER.C */ extern int WeighUp(ITEM *); extern int WeightOf(ITEM *); extern int SizeContents(ITEM *); extern int SizeOfRec(ITEM *,int); extern int CanPlace(ITEM *,ITEM *); /* SEE COMMENTS FOR LIMITS */ /* CONTAINERCOMMANDS.C */ extern void Cmd_ContainerShow(ITEM *); extern void Cmd_SetCFlag(ITEM *); extern void Cmd_SetVolume(ITEM *); /* DAEMONS.C */ extern void RunDaemon(ITEM *,int,int,int); extern void AllDaemon(int,int,int); extern void HDaemon(ITEM *,int,int,int); extern void TreeDaemon(ITEM *,int,int,int); extern void ChainDaemon(ITEM *,int,int,int); extern void CDaemon(ITEM *,int,int,int); /* DARKLIGHT.C */ extern int IsDarkFor(ITEM *); extern int RecCheckDark(ITEM *,short); /* EDITING.C */ extern char CmdBuffer[512]; extern void Cmd_Exorcise(ITEM *); extern void Cmd_Abort(ITEM *); extern void Cmd_AddWord(ITEM *,short); extern int FindFreeWord(short); /* MUCH TOO SLOW */ extern void Cmd_AddVerb(ITEM *); extern void Cmd_AddNoun(ITEM *); extern void Cmd_AddAdj(ITEM *); extern void Cmd_AddPrep(ITEM *); extern void Cmd_AddPronoun(ITEM *); extern void Cmd_AddOrdinate(ITEM *); extern char *TabName(int); extern void Cmd_ItemInfo(ITEM *); extern void Cmd_ListItems(ITEM *); extern void Cmd_SetState(ITEM *); extern void Cmd_SetPerception(ITEM *); extern void Cmd_SetName(ITEM *); extern void Cmd_NewItem(ITEM *); extern void Cmd_DelItem(ITEM *); extern void Cmd_BeRoom(ITEM *); extern void Cmd_BeObject(ITEM *); extern void Cmd_BePlayer(ITEM *); extern void Cmd_BeContainer(ITEM *); extern void Cmd_UnRoom(ITEM *); extern void Cmd_UnObject(ITEM *); extern void Cmd_UnPlayer(ITEM *); extern void Cmd_UnContainer(ITEM *); extern void Cmd_SaveUniverse(ITEM *); extern void Cmd_StatMe(ITEM *); extern void Cmd_ListWord(ITEM *); extern void Cmd_DelWord(ITEM *,short); extern void Cmd_DelVerb(ITEM *); extern void Cmd_DelNoun(ITEM *); extern void Cmd_DelPronoun(ITEM *); extern void Cmd_DelAdj(ITEM *); extern void Cmd_DelPrep(ITEM *); extern void Cmd_DelOrdinate(ITEM *); extern void Cmd_Rename(ITEM *); extern void Cmd_Chain(ITEM *); extern void Cmd_UnChain(ITEM *); extern void Cmd_UFlagShow(ITEM *); extern void Cmd_SetUFlag(ITEM *); extern void Cmd_SetUItem(ITEM *); extern void Cmd_ShowFlag(ITEM *); extern void Cmd_SetFlag(ITEM *); extern void Cmd_Share(ITEM *); extern void Cmd_UnShare(ITEM *); extern void Cmd_TrackFlag(ITEM *); extern void Cmd_UnTrackFlag(ITEM *); extern void Cmd_ListTrack(ITEM *); extern void Cmd_Status(ITEM *); extern void Cmd_Which(ITEM *); extern void Cmd_Debugger(ITEM *); extern void Cmd_FindItem(ITEM *); extern void Cmd_FindFlag(ITEM *); extern void Cmd_Which(ITEM *); extern void Cmd_ShowSuperClass(ITEM *); extern void Cmd_SetSuperClass(ITEM *); /* EXITLOGIC.C */ extern int TestCondExit(CONDEXIT *); /* FLAGCONTROLLER.C */ extern char *FlagName[]; extern int GetFlagByName(char *); extern void SetFlagName(short,char *); extern char *GetFlagName(short); extern void Cmd_NameFlag(ITEM *); extern void Cmd_UnNameFlag(ITEM *); extern void Cmd_ListFlags(ITEM *); /* GENERALCOMMANDS.C */ extern void Cmd_Invisible(ITEM *); extern void Cmd_Visible(ITEM *); extern void Cmd_Say(ITEM *); extern void Cmd_Place(ITEM *); /* INSANDOUTS.C */ extern char *ExitName(int); extern void Cmd_NewExit(ITEM *); extern void Cmd_DelExit(ITEM *); extern void Cmd_MsgExit(ITEM *); extern void Cmd_CondExit(ITEM *); extern void Cmd_MoveDirn(ITEM *,int); extern void Cmd_Exits(ITEM *,ITEM *); extern int CanGoto(ITEM *,ITEM *); extern void Act_WhereTo(void); extern void Act_DoorExit(void); extern int BackExit(int); /* OBJECTCOMMANDS.C */ extern void Cmd_ObjectShow(ITEM *); extern void Cmd_SetOFlag(ITEM *); extern void Cmd_SetDesc(ITEM *); extern void Cmd_SetOSize(ITEM *); extern void Cmd_SetOWeight(ITEM *); extern void Cmd_SetActor(ITEM *); extern void Cmd_SetAction(ITEM *); /* OBJECTEDIT.C */ extern void Cmd_ObjEdit(ITEM *); extern void Objedit_1(short,char *); extern void Objedit_2(short,char *); extern void Objedit_3(short,char *); extern void Objedit_4(short,char *); extern void Objedit_5(short,char *); extern void Objedit_6(short,char *); extern void Objedit_7(short,char *); extern void Objedit_8(short,char *); /* PLAYERCOMMANDS.C */ extern void Cmd_PlayerShow(ITEM *); extern void Cmd_SetPFlag(ITEM *); extern void Cmd_SetPSize(ITEM *); extern void Cmd_SetPWeight(ITEM *); extern void Cmd_SetPStrength(ITEM *); extern void Cmd_SetPLevel(ITEM *); extern void Cmd_SetPScore(ITEM *); extern void Cmd_Users(ITEM *); /* ROOMCOMMANDS.C */ extern void Cmd_SetShort(ITEM *); extern void Cmd_ShowRoom(ITEM *); extern void Cmd_SetRFlag(ITEM *); extern void Cmd_SetLong(ITEM *); extern void Cmd_Look(ITEM *); extern void Cmd_Goto(ITEM *); extern void Cmd_Brief(ITEM *); extern void Cmd_Verbose(ITEM *); extern void Cmd_SetPicture(ITEM *); /* SAVELOAD.C */ extern void SaveAllTable(FILE *); extern int SaveSystem(char *); extern int LoadSystem(char *); /* SNOOP.C */ extern int StartSnoop(ITEM *,ITEM *,short); extern void StopSnoop(ITEM *,SNOOP *); extern void StopSnoopOn(ITEM *,ITEM *); extern void StopAllSnoops(ITEM *); extern void StopSnoopsOn(ITEM *); extern void SnoopCheckString(ITEM *,char *); extern int SnoopCheckRec(ITEM *,char *,short); /* TABLECOMMANDS.C */ extern void Cmd_ListTables(ITEM *); extern void Cmd_AddTable(ITEM *); extern void Cmd_DeleteTable(ITEM *); extern void Cmd_NewTable(ITEM *); extern void Cmd_ListTables(ITEM *); extern void Cmd_ListTables(ITEM *); extern void Cmd_NameTable(ITEM *); /* TABLEDRIVER.C */ extern TABLE *TableList; extern TPTR TxtArg; extern TPTR TxtArg2; extern char TxBuf[]; extern int System_Debug; extern short Traf[4]; extern LINE *CurrentLine; extern TXT DummyTxt; extern ITEM DummyItem; extern TABLE *CurrentTable; extern ITEM *Item1,*Item2,*Debugger; extern int Noun1,Adj1,Noun2,Adj2,Verb,Prep,Ord1,Ord2; extern short Traf[4]; extern void WipeFlags(void); extern int GetFlag(int); extern void SetFlag(int,int); extern void PCurrentLine(void); extern void FPCurrentLine(void); extern ITEM *Me(void); extern void SetMe(ITEM *); extern ITEM *Actor(void); extern int ArgNum(void); extern unsigned int UArgNum(void); extern int ArgWord(void); extern ITEM *ArgItem(void); extern TPTR ArgText(void); extern void ParseArgs(int); extern int ArgMatch(LINE *); extern int ExecBackground(TABLE *,ITEM *); extern int ExecTable(TABLE *); extern int RunLine(LINE *); extern ITEM *FindAnItem(int,int,int); extern int FindTableByName(char *); extern TABLE *FindTable(int); extern TABLE *NewTable(int,char *); extern LINE *NewLine(TABLE *,int); extern LINE *FindLine(TABLE *,int); extern int DeleteLine(TABLE *,int); extern int WipeDeleteLine(TABLE *,int); extern int UserAction(ITEM *,int); extern int UserDaemon(ITEM *); extern int RandPerc(void); /* TABLEEDITING.C */ extern char *EditingBuffers[]; extern void Cmd_EditTable(ITEM *); extern void Cmd_EditOTable(ITEM *); extern void Cmd_EditDTable(ITEM *); extern void Cmd_EditSTable(ITEM *); extern void Tbl_Quit(int,char *); extern void Tbl_Goto(int,char *); extern void Tbl_Find(int,char *); extern void Tbl_Top(int,char *); extern long CountEntries(TABLE *); extern void Tbl_Bottom(int,char *); extern void Tbl_Next(int,char *); extern void Tbl_Previous(int,char *); extern void Tbl_List(int,char *); extern void Tbl_Insert(int,char *); extern void Tbl_Edit(int,char *); extern void Tbl_EditLine(int,char *); extern void Tbl_DeleteLine(int,char *); extern void Tbl_Driver(int,char *); extern void OutLineBlock(FILE *,char *); extern void Cmd_SaveTable(ITEM *); /* TIMESCHEDULER.C */ extern short Sched_Lock; extern long CountSchedules(void); extern void AddEvent(unsigned long,short); extern void Scheduler(void); extern void KillEventQueue(ITEM *); extern void WipeEventQueue(void); /* USERFILE.C */ extern void SwapUFFToHost(UFF *); extern void SwapHostToNeutral(UFF *); extern int WriteRecord(FILE *,UFF *); extern int ReadRecord(FILE *,UFF *); extern int FindRecord(FILE *,int); extern FILE *OpenUAF(void); extern void CloseUAF(FILE *); extern int LoadPersona(char *,UFF *); extern int SavePersona(UFF *,int); extern int FindFreeRecord(void); extern int SaveNewPersona(UFF *); /* UTILCOMMAND.C */ extern void Cmd_DoorPair(ITEM *); extern void Cmd_ShowAllObjects(ITEM *); extern void Cmd_ShowAllRooms(ITEM *); extern void Cmd_ShowAllPlayers(ITEM *); extern int ShowItemData(ITEM *,ITEM *); /* CLASS.C */ extern void SetClassTxt(short,TXT *); extern void SetClassName(short,char *); extern TXT *GetClassTxt(short); extern char *GetClassName(short); extern short WhichClass(char *); extern void ClassDescStr(ITEM *,short); extern void Cmd_ListClass(ITEM *); extern void Cmd_NameClass(ITEM *); extern void Cmd_SetClass(ITEM *); extern void Cmd_UnsetClass(ITEM *); /* DUPLICATOR.C */ extern int Clone_Room(ITEM *,ITEM *); extern int Clone_Object(ITEM *,ITEM *); extern int Clone_Player(ITEM *,ITEM *); extern int Clone_GenExit(ITEM *,ITEM *); extern int Clone_MsgExit(ITEM *,MSGEXIT *); extern int Clone_Chain(ITEM *,CHAIN *); extern int Clone_Container(ITEM *,CONTAINER *); extern int Clone_UserFlag(ITEM *,USERFLAG *); extern int Clone_UserText(ITEM *,ITEM *); extern int Clone_Inherit(ITEM *,INHERIT *); extern ITEM *Clone_Item(ITEM *,short); extern int Duped(ITEM *); extern int Disintegrate(ITEM *); extern void DisintegrateAll(void); /* MAIN.C */ extern void SegV(); extern void Bus(); extern void Div0(); extern int main(int,char *[]); extern short post_boot; /* PARSER.C */ extern WLIST *WordList; extern PCONTEXT ParserData[]; extern short ParsingPersona; extern void SetPersona(int); extern PCONTEXT *GetContext(short); extern void ProLoad(short,int *,int *); extern void SetItData(short,ITEM *,short,short); extern void AddWord(char *,short,short); extern int FreeWord(char *,short); extern char *FindWText(int,short); extern WLIST *FindInList(WLIST *,char *,short); extern char *BreakWord(char *,char *,WLIST *,short); extern char *GetRestOfInput(char *,char *); extern char *FNxPhrs(char *); extern char *WordPtr; extern char WordBuffer[]; extern WLIST *GetWord(void); extern int GetOrd(void); extern char *GetParsedWord(void); extern void GetAll(void); extern int GetNumber(void); extern int GetThing(int *,int *); extern void SkipPrep(void); extern int GetPrep(void); extern int GetVerb(void); extern char *NextPhrase(void); /* FLAGNAME.C */ extern char *PBitNames[]; extern char *OBitNames[]; extern char *RBitNames[]; extern char *CBitNames[]; extern int FindRBit(char *); extern int FindPBit(char *); extern int FindOBit(char *); extern int FindCBit(char *); extern char *RBitName(int); extern char *OBitName(int); extern char *PBitName(int); extern char *CBitName(int); extern void Cmd_RBitName(ITEM *); extern void Cmd_OBitName(ITEM *); extern void Cmd_PBitName(ITEM *); extern void Cmd_CBitName(ITEM *); extern void Cmd_ListRBits(ITEM *); extern void Cmd_ListOBits(ITEM *); extern void Cmd_ListPBits(ITEM *); extern void Cmd_ListCBits(ITEM *); /* NewCmd.c */ extern void Act_SetI(void); extern void Act_CDaemon(void); extern int Cnd_Delete(void); extern int Cnd_ULoad(void); extern int Cnd_USave(void); extern int Cnd_FLoad(void); extern int Cnd_FSave(void); extern void Act_Getvis(void); extern void Act_ForkDump(void); extern void Act_SetExit(void); extern void Act_DelExit(void); extern int Cnd_ProcDaemon(void); extern int Cnd_ProcSubject(void); extern int Cnd_ProcObject(void); extern int Cnd_GetSuper(void); extern void Act_SetSuper(void); extern int Cnd_Member(void); /* AberRWho.c */ extern void Act_RwhoDeclareUp(void); extern void Act_RwhoDeclareDown(void); extern void Act_RwhoLogin(void); extern void Act_RwhoLogout(void); extern void Act_RwhoDeclareAlive(void); /* UserVector.c */ void UserVector(short,short,short,ITEM *,ITEM *,TPTR); /* LibRWho.c */ int rwhocli_setup(char *,char *,char *,char *); int rwhocli_shutdown(void); int rwhocli_pingalive(void); int rwhocli_userlogin(char *,char *,time_t); int rwhocli_userlogout(char *); /* AnsiBits.c */ extern int stricmp(const char *, const char *); extern char *strtok2(char *,char *,char *); /* LookFor.c */ extern void CheckLineFor(LINE *,ITEM *,int); extern void CheckTableFor(TABLE *,ITEM *,int); extern void CheckAllFor(ITEM *,ITEM *,int); /* IPCDirect.c */ extern int IsBSX(int); extern int FindUserFD(int); extern int IsUserFD(int); extern int ReadBlock(int, COMTEXT *); extern void SnoopPut(int, char); extern void SnoopFlush(int, int); extern void SnoopCharPut(int, char); extern void CharPut(int, char); extern void LinePut(int, char); extern void LineFlush(int, char); extern void FieldShift(int, int); extern PORT *Bind_Port(int, int); extern PORT *CreateMPort(int); extern PORT *OpenMPort(PORT *); extern int CloseMPort(PORT *); extern void BlockOn(PORT *); extern void BlockOff(PORT *); extern int WriteMPort(PORT *, COMTEXT *, int); extern int DeleteMPort(PORT *); extern int AssignService(char *, PORT *); extern int DeAssignService(char *); extern PORT *FindService(char *); extern int ReadMPort(PORT *, COMTEXT *); extern int Silo(PORT *, char *, int); extern int SiloFlush(PORT *); extern int WriteSocket(int, char *, int); extern int WriteSocketText(int, char *, int); extern void WriteFlush(int u); extern char *NetName(unsigned long); extern int can_play_now(void); extern int MakeConnection(int, COMTEXT *); /* LibSocket.c */ int Make_Socket(int); /* ValidLogic.c */ int MaxSlot(void); /* _THE END_ */