ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/object.h
(Generate patch)

Comparing deliantra/server/include/object.h (file contents):
Revision 1.153 by root, Thu Nov 8 19:43:24 2007 UTC vs.
Revision 1.156 by root, Fri Apr 11 13:59:06 2008 UTC

65 const char *nonuse_name; /* Name to describe objects we can't use */ 65 const char *nonuse_name; /* Name to describe objects we can't use */
66} Body_Locations; 66} Body_Locations;
67 67
68extern Body_Locations body_locations[NUM_BODY_LOCATIONS]; 68extern Body_Locations body_locations[NUM_BODY_LOCATIONS];
69 69
70#define NUM_COINS 4 /* number of coin types */
71extern const char *const coins[NUM_COINS + 1];
72
70/* 73/*
71 * Each object (this also means archetypes!) could have a few of these 74 * Each object (this also means archetypes!) could have a few of these
72 * "dangling" from it; this could also end up containing 'parse errors'. 75 * "dangling" from it; this could also end up containing 'parse errors'.
73 * 76 *
74 * key and value are shared-strings. 77 * key and value are shared-strings.
85 88
86struct UUID 89struct UUID
87{ 90{
88 uint64 seq; 91 uint64 seq;
89 92
93 static UUID cur; // last uuid generated
94 static void init ();
95 static UUID gen ();
96
90 UUID () { } 97 UUID () { }
91 UUID (uint64 seq) : seq(seq) { } 98 UUID (uint64 seq) : seq(seq) { }
92 operator uint64() { return seq; } 99 operator uint64() { return seq; }
93 void operator =(uint64 seq) { this->seq = seq; } 100 void operator =(uint64 seq) { this->seq = seq; }
94};
95 101
96extern void init_uuid (); 102 typedef char BUF [32];
97extern UUID gen_uuid (); 103
98extern const uint64 UUID_SKIP; 104 bool parse (const char *s)
105 {
106 return sscanf (s, "<1%*[,.]%" SCNx64 ">", &seq) == 1;
107 }
108
109 const char *c_str (char *buf, int len) const
110 {
111 snprintf (buf, len, "<1.%" PRIx64 ">", seq);
112
113 return buf;
114 }
115
116 const char *c_str () const
117 {
118 static BUF buf;
119
120 return c_str (buf, sizeof (buf));
121 }
122};
99 123
100/* Definition for WILL_APPLY values. Replaces having harcoded values 124/* Definition for WILL_APPLY values. Replaces having harcoded values
101 * sprinkled in the code. Note that some of these also replace fields 125 * sprinkled in the code. Note that some of these also replace fields
102 * that were in the can_apply area. What is the point of having both 126 * that were in the can_apply area. What is the point of having both
103 * can_apply and will_apply? 127 * can_apply and will_apply?

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines