1 | /* |
1 | /* |
2 | * static char *rcsid_plugins_c = |
2 | * static char *rcsid_plugins_c = |
3 | * "$Id: plugins.c,v 1.9 2006/03/17 02:35:08 root Exp $"; |
3 | * "$Id: plugins.c,v 1.11 2006/06/11 15:02:16 root Exp $"; |
4 | */ |
4 | */ |
5 | |
5 | |
6 | /*****************************************************************************/ |
6 | /*****************************************************************************/ |
7 | /* CrossFire, A Multiplayer game for X-windows */ |
7 | /* CrossFire, A Multiplayer game for X-windows */ |
8 | /* */ |
8 | /* */ |
… | |
… | |
272 | free_object(tmp); |
272 | free_object(tmp); |
273 | } else { |
273 | } else { |
274 | int rvt = 0; |
274 | int rvt = 0; |
275 | int *rv; |
275 | int *rv; |
276 | |
276 | |
277 | rv = plugin->eventfunc(&rvt, op, eventcode, activator, third, message, fix, tmp->slaying, tmp->name); |
277 | rv = plugin->eventfunc(&rvt, op, eventcode, activator, third, message, fix, tmp->slaying, tmp->name, tmp); |
278 | return *rv; |
278 | return *rv; |
279 | } |
279 | } |
280 | } |
280 | } |
281 | } |
281 | } |
282 | } |
282 | } |
… | |
… | |
412 | op = va_arg(args, object*); |
412 | op = va_arg(args, object*); |
413 | buf = va_arg(args, char*); |
413 | buf = va_arg(args, char*); |
414 | for (cp = plugins_list; cp != NULL; cp = cp->next) { |
414 | for (cp = plugins_list; cp != NULL; cp = cp->next) { |
415 | if (cp->gevent[eventcode] != NULL) |
415 | if (cp->gevent[eventcode] != NULL) |
416 | cp->gevent[eventcode](&rt, eventcode, op, buf); |
416 | cp->gevent[eventcode](&rt, eventcode, op, buf); |
|
|
417 | } |
|
|
418 | break; |
|
|
419 | |
|
|
420 | case EVENT_EXTCMD: |
|
|
421 | /*KICK: op, parms*/ |
|
|
422 | pl = va_arg (args, player *); |
|
|
423 | buf = va_arg (args, char *); |
|
|
424 | i = va_arg (args, int); |
|
|
425 | for (cp = plugins_list; cp != NULL; cp = cp->next) { |
|
|
426 | if (cp->gevent[eventcode] != NULL) |
|
|
427 | cp->gevent[eventcode](&rt, eventcode, pl, buf, i, buf); |
417 | } |
428 | } |
418 | break; |
429 | break; |
419 | } |
430 | } |
420 | va_end(args); |
431 | va_end(args); |
421 | return 0; |
432 | return 0; |