ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/plugins.C
(Generate patch)

Comparing deliantra/server/server/plugins.C (file contents):
Revision 1.42 by root, Mon Feb 5 01:47:23 2007 UTC vs.
Revision 1.45 by root, Sat Apr 21 16:56:32 2007 UTC

122/* NEW PLUGIN STUFF STARTS HERE */ 122/* NEW PLUGIN STUFF STARTS HERE */
123 123
124/*****************************************************************************/ 124/*****************************************************************************/
125 125
126/** 126/**
127 * Notify clients about a changed object.
128 *
129 * @param op the object that has changed
130 */
131static void
132send_changed_object (object *op)
133{
134 object *tmp;
135
136 if (op->env)
137 {
138 tmp = op->in_player ();
139
140 if (!tmp)
141 {
142 for_all_players (pl)
143 if (pl->ob->container == op->env)
144 {
145 tmp = pl->ob;
146 break;
147 }
148 }
149
150 if (tmp)
151 esrv_send_item (tmp, op);
152 }
153 else
154 {
155 for (tmp = op->above; tmp != NULL; tmp = tmp->above)
156 if (tmp->type == PLAYER)
157 esrv_send_item (tmp, op);
158 }
159}
160
161/**
162 * Notify clients about a removed object. 127 * Notify clients about a removed object.
163 * 128 *
164 * @param op the object about to be removed from its environment; it must still 129 * @param op the object about to be removed from its environment; it must still
165 * be present in its environment 130 * be present in its environment
166 */ 131 */
571 *type = CFAPI_STRING; 536 *type = CFAPI_STRING;
572 537
573 switch (dirtype) 538 switch (dirtype)
574 { 539 {
575 case 0: 540 case 0:
576 return settings.mapdir; 541 return (char *)settings.mapdir;
577 break; 542 break;
578 543
579 case 1: 544 case 1:
580 return settings.uniquedir; 545 return (char *)settings.uniquedir;
581 break; 546 break;
582 547
583 case 2: 548 case 2:
584 return settings.tmpdir; 549 return (char *)settings.tmpdir;
585 break; 550 break;
586 551
587 case 3: 552 case 3:
588 return settings.confdir; 553 return (char *)settings.confdir;
589 break; 554 break;
590 555
591 case 4: 556 case 4:
592 return settings.localdir; 557 return (char *)settings.localdir;
593 break; 558 break;
594 559
595 case 5: 560 case 5:
596 return settings.playerdir; 561 return (char *)settings.playerdir;
597 break; 562 break;
598 563
599 case 6: 564 case 6:
600 return settings.datadir; 565 return (char *)settings.datadir;
601 break; 566 break;
602 } 567 }
603 568
604 *type = CFAPI_NONE; 569 *type = CFAPI_NONE;
605 return NULL; 570 return NULL;
919 owner = va_arg (args, object *); 884 owner = va_arg (args, object *);
920 885
921 va_end (args); 886 va_end (args);
922 887
923 *type = CFAPI_STRING; 888 *type = CFAPI_STRING;
924 return describe_item (op, owner); 889 return (char *)describe_item (op, owner);
925} 890}
926 891
927void * 892void *
928cfapi_object_drain (int *type, ...) 893cfapi_object_drain (int *type, ...)
929{ 894{
1127 object *op; 1092 object *op;
1128 sval = va_arg (args, char *); 1093 sval = va_arg (args, char *);
1129 1094
1130 op = get_archetype_by_object_name (sval); 1095 op = get_archetype_by_object_name (sval);
1131 1096
1132 if (strncmp (query_name (op), ARCH_SINGULARITY, ARCH_SINGULARITY_LEN) == 0) 1097 if (strcmp (query_name (op), ARCH_SINGULARITY) == 0)
1133 { 1098 {
1134 op->destroy (); 1099 op->destroy ();
1135 /* Try with archetype names... */ 1100 /* Try with archetype names... */
1136 op = get_archetype (sval); 1101 op = get_archetype (sval);
1137 if (strncmp (query_name (op), ARCH_SINGULARITY, ARCH_SINGULARITY_LEN) == 0) 1102 if (strcmp (query_name (op), ARCH_SINGULARITY) == 0)
1138 { 1103 {
1139 op->destroy (); 1104 op->destroy ();
1140 *type = CFAPI_NONE; 1105 *type = CFAPI_NONE;
1141 va_end (args); 1106 va_end (args);
1142 return NULL; 1107 return NULL;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines