/* * If you have full ANSI prototyping this file will help keep everything * as the right form of arguments. All the VARARG cases are identified here * to aid porting, as are any known bugs */ /* SYSTEM.C */ extern long TextMemory; extern long ItemMemory; extern long SubMemory; extern void ErrFunc(char *,char *,char *,int,char *); extern void Log(); extern char *AllocFunc(int,char *,char *,int,char *); extern TPTR TextList[2][75]; extern TPTR AllocText(char *); extern TPTR AllocComment(char *); extern TPTR QuickAllocText(char *); extern long CountTexts(void); extern long TextSize(void); extern long TextNumber(TPTR); 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); 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 */ #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(); extern OBJECT *ObjectOf(); extern ROOM *RoomOf(); extern USERFLAG *UserFlagOf(); extern CONTAINER *ContainerOf(); extern int UserOf(); extern int IsUser(); extern int IsRoom(); extern int IsPlayer(); extern int IsObject(); extern void SendItemDirect(); extern void SendItem(); /* VARARGS */ extern int IsCalled(); extern void SetName(); extern int ArchWizard(); /* OPTION TO READ FROM CONFIG FILE DESIRABLE */ extern char *NameOf(); extern char *CNameOf(); /* 128 BYTE LIMIT */ extern short LevelOf(); extern void Place(); extern void XPlace(); extern void RemoveUser(); extern void ExitUser(); extern int CountUsers(); extern int IsBlind(); extern int IsDeaf(); extern void ByeBye(); extern void DescribeItem(); 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(); extern void SetPrompt(); extern ITEM *ExitOf(); extern ITEM *DoorOf(); extern void Broadcast(); extern void SendEdit(); /* VARARGS */ extern void TimeOut(); /* UNUSED */ extern void SetUserTitle(); /* VARARG */ extern void SetUserPicture(); /* VARARG */ extern int IsLit(); /* Belongs in DarkLight ? */ extern void MemoryAlert(); /* Not dramatic enough */ extern int IsUnique(); extern int ItemNumber(); /* SUBHANDLER.C */ extern int MakeRoom(); extern int UnRoom(); extern int MakeObject(); extern int UnObject(); extern int MakePlayer(); extern int UnPlayer(); extern int MakeGenExit(); extern int UnGenExit(); extern CONDEXIT *MakeCondExit(); extern CONDEXIT *MakeNLCondExit(); extern int UnCondExit(); extern CONDEXIT *FindCondExit(); extern MSGEXIT *MakeMsgExit(); extern MSGEXIT *MakeNLMsgExit(); extern int UnMsgExit(); extern MSGEXIT *FindMsgExit(); extern int AddChain(); extern int AddNLChain(); extern CHAIN *FindChain(); extern int RemoveChain(); extern void SynchChain(); extern CONTAINER *BeContainer(); extern int UnContainer(); extern int GetUserFlag(); extern ITEM *GetUserItem(); extern void SetUserFlag(); extern void SetUserItem(); extern int UnUserFlag(); extern void InitUserFlag(); extern int MakeInherit(); extern int UnInherit(); extern ITEM *Inheritor(); extern INOUTHERE *FindIOH(); extern void KillIOH(); extern INOUTHERE *GetIOH(); extern void SetInMsg(); extern void SetOutMsg(); extern void SetHereMsg(); extern char *GetInMsg(); extern char *GetOutMsg(); extern char *GetHereMsg(); extern void SetUText(); extern TPTR GetUText(); /* ACTIONCODE.C */ extern short ClassMask; extern LINE *ClassLine; extern short ClassMode1,ClassMode2; extern void Act_Get(); extern void Act_Drop(); extern void Act_Wear(); extern void Act_Remove(); extern void Act_Create(); extern void Act_Destroy(); extern void Act_Swap(); extern void Act_Place(); extern void Act_PutIn(); extern void Act_TakeOut(); extern void Act_CopyOF(); extern void Act_CopyFO(); extern void Act_CopyFF(); extern void Act_WhatO(); extern void Act_GetO(); extern void Act_Weigh(); extern void Act_Set(); extern void Act_Clear(); extern void Act_PSet(); extern void Act_PClear(); extern void Act_Let(); extern void Act_Add(); extern void Act_Sub(); extern void Act_Mul(); extern void Act_Div(); extern void Act_Mod(); extern void Act_AddF(); extern void Act_SubF(); extern void Act_MulF(); extern void Act_DivF(); extern void Act_ModF(); extern void Act_Random(); extern void Act_Move(); extern void Act_Goto(); extern void Act_Weight(); extern void Act_Size(); extern void Act_OSet(); extern void Act_OClear(); extern void Act_RSet(); extern void Act_RClear(); extern void Act_CSet(); extern void Act_CClear(); extern void Act_PutBy(); extern void Act_Inc(); extern void Act_Dec(); extern void Act_SetState(); extern void Act_Prompt(); extern void Act_Print(); extern void Act_Score(); extern void Act_Message(); extern void Act_Msg(); extern void Act_ListObj(); extern void Act_ListAt(); extern void Act_Inven(); extern void Act_Desc(); extern void Act_End(); extern void Act_Done(); extern void Act_NotDone(); extern void Act_Ok(); extern void Act_Abort(); extern void Act_Save(); extern void Act_NewText(); extern void Act_Process(); extern void Act_DoClass(); extern void Act_Give(); extern void Act_DoesAction(); extern void Act_DoesTo(); extern void Act_DoesToPlayer(); extern void Act_PObj(); extern void Act_PLoc(); extern void Act_PName(); extern void Act_PCName(); extern void Act_Daemon(); extern void Act_AllDaemon(); extern void Act_HDaemon(); extern void Act_When(); extern void Act_SetName(); extern void Act_Dup(); extern void Act_Points(); extern void Act_Hurt(); extern void Act_Cured(); extern void Act_KillOff(); extern int Act_If1(); /* Should be conditions !!! */ extern int Act_If2(); extern void Act_Bug(); extern void Act_Typo(); extern int Act_IsMe(); /* Should be condition */ extern void Act_Broadcast(); extern int Cnd_IsCalled(); /* Wrong file! */ extern void Act_SetMe(); extern void Act_Pronouns(); extern void Act_Exits(); extern void Act_PWChange(); extern void PWVerify(); extern void PWNew(); extern void PWNewVerify(); extern void Act_Snoop(); extern void Act_UnSnoop(); extern void Act_Debug(); extern void Act_GetScore(); extern void Act_GetStr(); extern void Act_GetLev(); extern void Act_SetScore(); extern void Act_SetStr(); extern void Act_SetLev(); extern void Act_Shell(); /* MACHINE DEPENDANT THROUGHOUT */ extern void Act_TreeDaemon(); extern void Act_ChainDaemon(); extern void Act_Means(); extern void Act_CanGoto(); extern void Act_CanGoBy(); extern void Act_GetIFlag(); extern void Act_SetIFlag(); extern void Act_ClearIFlag(); extern void Act_Parse(); extern void Act_Comment(); extern void Act_ComVocab(); extern void Act_Command(); extern void Act_AutoVerb(); extern int Cnd_ClassAt(); /* Some migrants who should be in condition */ extern int Cnd_DupOf(); extern void Act_MasterOf(); extern int Cnd_IfDark(); /* More migrants */ extern void Act_Visibility(); extern void Act_GetParent(); extern void Act_GetNext(); extern void Act_GetChild(); extern void Act_PExit(); extern void Act_SetDesc(); extern void Act_SetLong(); extern void Act_SetShort(); extern void Act_GetLong(); extern void Act_GetShort(); extern void Act_GetDesc(); extern void Act_GetName(); extern void Act_Swat(); extern void Act_Flat(); extern void Act_SetIn(); extern void Act_SetOut(); extern void Act_SetHere(); extern void Act_FindMaster(); extern void Act_NextMaster(); extern void Act_FindIn(); extern void Act_NextIn(); /* Same dangers of moving items as with system.c */ extern void Act_LenText(); extern void Act_Field(); extern void Act_GetUText(); extern void Act_SetUText(); extern void Act_Cat(); extern void Act_Cls(); extern void Act_Become(); extern void Act_Alias(); extern void Act_UnAlias(); extern void Act_Unveil(); extern int Cnd_SubStr(); extern void Act_GetIn(); extern void Act_GetOut(); extern void Act_GetHere(); extern void Act_Log(); extern void Act_SetClass(); extern void Act_UnSetClass(); extern void Act_BitClear(); extern void Act_BitSet(); extern int Cnd_BitTest(); /* * Unimplemented or Unused */ extern void Act_Distance(); extern void Act_WhichWay(); extern void Act_PutO(); extern void Act_Frig(); extern void Act_NArg(); extern void Act_NeedField(); extern void Act_Mobiles(); extern void Act_Dir(); extern void Act_Rooms(); /* * Proposed Rope Logic */ extern void Act_TiedTo(); extern void Act_PlaceRope(); extern void Act_RopePrev(); extern int Cnd_IsRope(); extern int Cnd_IsTied(); extern void Act_RopeNext(); extern void Act_Tie(); extern void Act_Untie(); extern void Act_Join(); extern void Act_CutRope(); extern int Cnd_CanMoveRope(); /* BOOTDAEMON.C */ extern jmp_buf Oops; extern short SupercedeFlag; extern void IPCMain(); /* COMSERVER.C */ /* * This module is the machine specific IPC binding */ extern int Current_UserList; extern int WrapUp(); extern int SendBlock(); /* Needs IPC defs to specify args */ /* * 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(); extern int SendNPacket(); extern int GetPacket(); /* * 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(); extern void InterpretPacket(); extern void ProcessPackets(); extern int Handle_Output(); extern int Handle_Command(); extern int Handle_CommForce(); /* * 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. */ /* COMMAND_DRIVER.C */ extern void Command_Driver(); extern void PermitInput(); extern char *UserLastLine; extern void SendUser(); /* VARARGS */ extern int NameGot(); extern int Check_Password(); extern int SetPlayerSex(); extern int CreatePersona(); extern int Run_Command(); /* COMPILETABLE */ extern int RememberToLockItem(); extern void LockLockList(); extern void LoadLineBuffer(); extern int EncodeEntry(); extern int EncodeTable(); extern void WipeLine(); extern void DeleteTable(); extern long PairArg(); extern char *NumText(); extern void Decompress(); /* CONDITIONCODE.C */ extern char *Cnd_Table[]; extern int FindCnd(); extern int Cnd_At(); extern int Cnd_NotAt(); extern int Cnd_Present(); extern int Cnd_Absent(); extern int Cnd_Worn(); extern int Cnd_NotWorn(); extern int Cnd_Carried(); extern int Cnd_NotCarr(); extern int Cnd_IsAt(); extern int Cnd_IsNotAt(); extern int Cnd_IsBy(); extern int Cnd_Zero(); extern int Cnd_NotZero(); extern int Cnd_Eq(); extern int Cnd_NotEq(); extern int Cnd_Gt(); extern int Cnd_Lt(); extern int Cnd_EqF(); extern int Cnd_NeF(); extern int Cnd_LtF(); extern int Cnd_GtF(); extern int Cnd_IsIn(); extern int Cnd_IsNotIn(); extern int Cnd_Adj1(); extern int Cnd_Adj2(); extern int Cnd_Noun1(); extern int Cnd_Noun2(); extern int Cnd_Prep(); extern int Cnd_Chance(); extern int Cnd_IsPlayer(); extern int Cnd_IsUser(); extern int Cnd_IsRoom(); extern int Cnd_IsObject(); extern int Cnd_State(); extern int Cnd_PFlag(); extern int Cnd_OFlag(); extern int Cnd_RFlag(); extern int Cnd_CFlag(); extern int Cnd_CanPut(); extern int Cnd_Level(); extern int Cnd_IfDeaf(); extern int Cnd_IfBlind(); extern int Cnd_Arch(); extern int Cnd_Is(); extern int Cnd_ChanceLev(); extern int Cnd_CanSee(); extern int Cnd_IsClass(); /* CONTAINER.C */ extern int WeighUp(); extern int WeightOf(); extern int SizeContents(); extern int SizeOfRec(); extern int CanPlace(); /* SEE COMMENTS FOR LIMITS */ /* CONTAINERCOMMANDS.C */ extern void Cmd_ContainerShow(); extern void Cmd_SetCFlag(); extern void Cmd_SetVolume(); /* DAEMONS.C */ extern void RunDaemon(); extern void AllDaemon(); extern void HDaemon(); extern void TreeDaemon(); extern void ChainDaemon(); /* DARKLIGHT.C */ extern int IsDarkFor(); extern int RecCheckDark(); /* EDITING.C */ extern void Cmd_Exorcise(); extern void Cmd_Abort(); extern void Cmd_AddWord(); extern int FindFreeWord(); extern void Cmd_AddVerb(); extern void Cmd_AddNoun(); extern void Cmd_AddAdj(); extern void Cmd_AddPrep(); extern void Cmd_AddPronoun(); extern void Cmd_AddOrdinate(); extern void Cmd_ItemInfo(); extern void Cmd_ListItems(); extern void Cmd_SetState(); extern void Cmd_SetPerception(); extern void Cmd_SetName(); extern void Cmd_NewItem(); extern void Cmd_DelItem(); extern void Cmd_BeRoom(); extern void Cmd_BeObject(); extern void Cmd_BePlayer(); extern void Cmd_BeContainer(); extern void Cmd_UnRoom(); extern void Cmd_UnObject(); extern void Cmd_UnPlayer(); extern void Cmd_UnContainer(); extern void Cmd_SaveUniverse(); extern void Cmd_StatMe(); extern void Cmd_ListWord(); extern void Cmd_DelWord(); extern void Cmd_DelVerb(); extern void Cmd_DelNoun(); extern void Cmd_DelPronoun(); extern void Cmd_DelAdj(); extern void Cmd_DelPrep(); extern void Cmd_DelOrdinate(); extern void Cmd_Rename(); extern void Cmd_Chain(); extern void Cmd_UnChain(); extern void Cmd_UFlagShow(); extern void Cmd_SetUFlag(); extern void Cmd_SetUItem(); extern void Cmd_TestMode(); extern void Cmd_EditMode(); extern void Cmd_FreeMode(); extern void Cmd_ShowFlag(); extern void Cmd_SetFlag(); extern void Cmd_SaveGame(); extern void Cmd_LoadGame(); extern void Cmd_Share(); extern void Cmd_UnShare(); extern void Cmd_Status(); extern void Cmd_Which(); /* EXITLOGIC.C */ extern int TestCondExit(); /* FLAGCONTROLLER.C */ extern char *FlagName[]; extern int GetFlagByName(); extern void SetFlagName(); extern char *GetFlagName(); extern void Cmd_NameFlag(); extern void Cmd_UnNameFlag(); extern void Cmd_ListFlag(); /* GENERALCOMMANDS.C */ extern void Cmd_Invisible(); extern void Cmd_Visible(); extern void Cmd_Say(); extern void Cmd_Place(); /* INSANDOUTS.C */ extern char *ExitName(); extern void Cmd_NewExit(); extern void Cmd_DelExit(); extern void Cmd_MsgExit(); extern void Cmd_MoveDirn(); extern void Cmd_Exits(); extern int CanGoto(); extern void Act_WhereTo(); extern void Act_DoorExit(); extern int BackExit(); /* OBJECTCOMMANDS.C */ extern void Cmd_ObjectShow(); extern void Cmd_SetOFlag(); extern void Cmd_SetDesc(); extern void Cmd_SetOSize(); extern void Cmd_SetOWeight(); extern void Cmd_SetActor(); extern void Cmd_SetAction(); /* OBJECTEDIT.C */ extern void Cmd_ObjEdit(); extern void Objedit_1(); extern void Objedit_2(); extern void Objedit_3(); extern void Objedit_4(); extern void Objedit_5(); extern void Objedit_6(); extern void Objedit_7(); /* PLAYERCOMMANDS.C */ extern void Cmd_PlayerShow(); extern void Cmd_SetPFlag(); extern void Cmd_SetPSize(); extern void Cmd_SetPWeight(); extern void Cmd_SetPStrength(); extern void Cmd_SetPLevel(); extern void Cmd_SetPScore(); extern void Cmd_Users(); /* ROOMCOMMANDS.C */ extern void Cmd_SetShort(); extern void Cmd_ShowRoom(); extern void Cmd_SetRFlag(); extern void Cmd_SetLong(); extern void Cmd_Look(); extern void Cmd_Goto(); extern void Cmd_Brief(); extern void Cmd_Verbose(); extern void Cmd_SetPicture(); /* SAVELOAD.C */ extern short *SaveAction(); extern short *LoadAction(); extern void LoadLine(); extern void SaveLine(); extern void LoadTable(); extern void SaveTable(); extern void LoadAllTables(); extern void SaveAllTable(); extern int SaveSystem(); extern int LoadSystem(); extern ITEM *ItemFind(); /* SNOOP.C */ extern int StartSnoop(); extern void StopSnoop(); extern void StopSnoopOn(); extern void StopAllSnoops(); extern void StopSnoopsOn(); extern void SnoopCheckString(); extern int SnoopCheckRec(); /* TABLECOMMANDS.C */ extern void Cmd_ListTables(); extern void Cmd_AddTable(); extern void Cmd_DeleteTable(); extern void Cmd_NewTable(); extern void Cmd_ListTables(); /* TABLEDRIVER.C */ extern TABLE *TableList; extern TPTR TxtArg; extern TPTR TxtArg2; extern char TxBuf[]; extern int System_Debug; extern void WipeFlags(); extern int GetFlag(); extern void SetFlag(); extern TXT DummyTxt; extern ITEM DummyItem; extern LINE *CurrentLine; extern TABLE *CurrentTable; extern ITEM *Item1,*Item2,*Debugger; extern int Noun1,Adj1,Noun2,Adj2,Verb,Prep,Ord1,Ord2; extern short Traf[4]; extern ITEM *Me(); extern void SetMe(); extern ITEM *Actor(); extern int ArgNum(); extern int ArgWord(); extern ITEM *ArgItem(); extern TPTR ArgText(); extern void ParseArgs(); extern int ArgMatch(); extern int ExecBackground(); extern int ExecTable(); extern int RunLine(); extern ITEM *FindAnItem(); extern TABLE *FindTable(); extern TABLE *NewTable(); extern LINE *NewLine(); extern LINE *FindLine(); extern int DeleteLine(); extern int UserAction(); extern int UserDaemon(); extern int RandPerc(); /* TABLEEDITING.C */ extern void Cmd_EditTable(); extern void Tbl_Quit(); extern void Tbl_Goto(); extern void Tbl_Find(); extern void Tbl_Top(); extern long CountEntries(); extern void Tbl_Bottom(); extern void Tbl_Next(); extern void Tbl_Previous(); extern void Tbl_List(); extern void Tbl_Insert(); extern void Tbl_Edit(); extern void Tbl_EditLine(); extern void Tbl_DeleteLine(); extern void Tbl_Driver(); extern void OutLineBlock(); extern void Cmd_SaveTable(); /* TIMESCHEDULER.C */ extern void AddEvent(); extern void Scheduler(); extern void KillEventQueue(); extern void WipeEventQueue(); /* USERFILE.C */ extern int WriteRecord(); extern int ReadRecord(); extern int FindRecord(); extern FILE *OpenUAF(); extern void CloseUAF(); extern int LoadPersona(); extern int SavePersona(); extern int FindFreeRecord(); extern int SaveNewPersona(); /* UTILCOMMAND.C */ extern void Cmd_DoorPair(); extern void Cmd_ShowAllObjects(); extern void Cmd_ShowAllRooms(); extern void Cmd_ShowAllPlayers(); extern int ShowItemData(); /* CLASS.C */ extern void SetClassTxt(); extern void SetClassName(); extern TXT *GetClassTxt(); extern char *GetClassName(); extern short WhichClass(); extern void ClassDescStr(); extern void Cmd_ListClass(); extern void Cmd_NameClass(); extern void Cmd_SetClass(); extern void Cmd_UnsetClass(); /* DUPLICATOR.C */ extern int Clone_Room(); extern int Clone_Object(); extern int Clone_Player(); extern int Clone_GenExit(); extern int Clone_MsgExit(); extern int Clone_Chain(); extern int Clone_Container(); extern int Clone_UserFlag(); extern int Clone_Inherit(); extern ITEM *Clone_Item(); extern int Duped(); extern int Disintegrate(); extern void DisintegrateAll(); /* MAIN.C */ extern void main(); extern short post_boot; /* PARSER.C */ extern WLIST *WordList; extern PCONTEXT ParserData[]; extern short ParsingPersona; extern void SetPersona(); extern PCONTEXT *GetContext(); extern void ProLoad(); extern void SetItData(); extern long WordMemory; extern void AddWord(); extern int FreeWord(); extern char *FindWText(); extern WLIST *FindInList(); extern char *BreakWord(); extern char *GetRestOfInput(); extern char *FNxPhrs(); extern char *WordPtr; extern char WordBuffer[]; extern WLIST *GetWord(); extern int GetOrd(); extern char *GetParsedWord(); extern void GetAll(); extern int GetNumber(); extern int GetThing(); extern void SkipPrep(); extern int GetPrep(); extern int GetVerb(); extern char *NextPhrase(); /* FLAGNAME.C */ extern char *PBitNames[]; extern char *OBitNames[]; extern char *RBitNames[]; extern char *CBitNames[]; extern int FindRBit(); extern int FindPBit(); extern int FindOBit(); extern int FindCBit(); extern char *RBitName(); extern char *OBitName(); extern char *PBitName(); extern char *CBitName(); extern void Cmd_RBitName(); extern void Cmd_OBitName(); extern void Cmd_PBitName(); extern void Cmd_CBitName(); extern void Cmd_ListRBits(); extern void Cmd_ListOBits(); extern void Cmd_ListPBits(); extern void Cmd_ListCBits(); /* _THE END_ */