… | |
… | |
243 | case DT_MAP: |
243 | case DT_MAP: |
244 | // va_arg (object *) when void * is passed is an XSI extension |
244 | // va_arg (object *) when void * is passed is an XSI extension |
245 | sv = to_sv (va_arg (ap, maptile *)); |
245 | sv = to_sv (va_arg (ap, maptile *)); |
246 | break; |
246 | break; |
247 | |
247 | |
248 | case DT_SOCKET: |
248 | case DT_CLIENT: |
249 | sv = to_sv (va_arg (ap, client *)); |
249 | sv = to_sv (va_arg (ap, client *)); |
250 | break; |
250 | break; |
251 | |
251 | |
252 | case DT_PLAYER: |
252 | case DT_PLAYER: |
253 | sv = to_sv (va_arg (ap, player *)); |
253 | sv = to_sv (va_arg (ap, player *)); |
… | |
… | |
1887 | |
1887 | |
1888 | void remove (object *op) |
1888 | void remove (object *op) |
1889 | CODE: |
1889 | CODE: |
1890 | op->remove (); |
1890 | op->remove (); |
1891 | |
1891 | |
1892 | void destroy (object *op, int recursive = 0) |
1892 | void |
1893 | CODE: |
1893 | object::destroy (int recursive = 0) |
1894 | op->destroy (recursive); |
|
|
1895 | |
1894 | |
1896 | object *cf_object_present_archname_inside (object *op, char *whatstr) |
1895 | object *cf_object_present_archname_inside (object *op, char *whatstr) |
1897 | |
1896 | |
1898 | int cf_object_transfer (object *op, int x, int y, int r = 0, object_ornull *orig = 0) |
1897 | int cf_object_transfer (object *op, int x, int y, int r = 0, object_ornull *orig = 0) |
1899 | |
1898 | |
… | |
… | |
2440 | |
2439 | |
2441 | INCLUDE: $PERL genacc client ../include/client.h | |
2440 | INCLUDE: $PERL genacc client ../include/client.h | |
2442 | |
2441 | |
2443 | int invoke (client *ns, int event, ...) |
2442 | int invoke (client *ns, int event, ...) |
2444 | CODE: |
2443 | CODE: |
2445 | if (KLASS_OF (event) != KLASS_SOCKET) croak ("event class must be SOCKET"); |
2444 | if (KLASS_OF (event) != KLASS_CLIENT) croak ("event class must be CLIENT"); |
2446 | AV *av = (AV *)sv_2mortal ((SV *)newAV ()); |
2445 | AV *av = (AV *)sv_2mortal ((SV *)newAV ()); |
2447 | for (int i = 2; i < items; i++) av_push (av, SvREFCNT_inc (ST (i))); |
2446 | for (int i = 2; i < items; i++) av_push (av, SvREFCNT_inc (ST (i))); |
2448 | RETVAL = INVOKE_((event_type)event, ARG_SOCKET (ns), ARG_AV (av)); |
2447 | RETVAL = INVOKE_((event_type)event, ARG_CLIENT (ns), ARG_AV (av)); |
2449 | OUTPUT: RETVAL |
2448 | OUTPUT: RETVAL |
2450 | |
2449 | |
2451 | SV *registry (client *ns) |
2450 | SV *registry (client *ns) |
2452 | |
2451 | |
|
|
2452 | void |
|
|
2453 | client::destroy () |
|
|
2454 | |