… | |
… | |
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 | */ |
|
|
131 | static void |
|
|
132 | send_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 | |
927 | void * |
892 | void * |
928 | cfapi_object_drain (int *type, ...) |
893 | cfapi_object_drain (int *type, ...) |
929 | { |
894 | { |