2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
6 // $Header: r:/t2repos/thief2/src/sim/objtool.cpp,v 1.4 1999/05/23 01:33:00 mahk Exp $
18 // Must be last header
24 // Refugees from objedit that were needed for stand-alone game.
27 #define UNKNOWN_NAME "UNKNOWN"
30 static char* indef_article(const char* word
)
32 static char vowels
[] = "AEIOU";
34 if (strchr(vowels
,toupper(word
[0])) != NULL
)
40 const char* ObjEditName(ObjID obj
)
42 static char namebuf
[1024];
47 AutoAppIPtr_(ObjectSystem
,objsys
);
49 const char* name
= UNKNOWN_NAME
;
50 if (objsys
->Exists(obj
))
51 name
= objsys
->GetName(obj
);
55 AutoAppIPtr_(TraitManager
,traitman
);
57 ObjID arch
= traitman
->GetArchetype(obj
);
58 name
= objsys
->GetName(arch
);
61 sprintf(namebuf
,"%s %s",indef_article(name
),name
);
63 strcpy(namebuf
,UNKNOWN_NAME
);
70 sprintf(namebuf
+strlen(namebuf
)," (%d)",obj
);
75 ////////////////////////////////////////
77 static char wildcard
[] = "*";
79 ObjID
EditGetObjNamed(const char* name
)
82 ObjID obj
= atoi(name
);
83 if (obj
!= OBJ_NULL
) return obj
;
86 AutoAppIPtr_(ObjectSystem
,ObjSys
);
87 obj
= ObjSys
->GetObjectNamed(name
);
88 if (obj
!= OBJ_NULL
) return obj
;
91 if (strncmp(name
,wildcard
,strlen(wildcard
)) == 0)
92 return LINKOBJ_WILDCARD
;
95 char* r
= strchr(name
,'(');
100 if (ObjSys
->Exists(obj
))