38 va_start(
args, eventcode);
43 op = va_arg(
args,
object *);
45 (*(*gh).second)(&rt, eventcode,
op);
52 (*(*gh).second)(&rt, eventcode);
58 (*(*gh).second)(&rt, eventcode);
64 op = va_arg(
args,
object *);
65 op2 = va_arg(
args,
object *);
67 (*(*gh).second)(&rt, eventcode,
op, op2);
73 op = va_arg(
args,
object *);
74 op2 = va_arg(
args,
object *);
76 (*(*gh).second)(&rt, eventcode,
op, op2);
85 (*(*gh).second)(&rt, eventcode,
pl,
buf);
94 (*(*gh).second)(&rt, eventcode,
pl,
buf);
100 op = va_arg(
args,
object *);
103 (*(*gh).second)(&rt, eventcode,
op,
map);
109 op = va_arg(
args,
object *);
112 (*(*gh).second)(&rt, eventcode,
op,
map);
120 (*(*gh).second)(&rt, eventcode,
map);
126 op = va_arg(
args,
object *);
128 (*(*gh).second)(&rt, eventcode,
op);
134 op = va_arg(
args,
object *);
136 i = va_arg(
args,
int);
138 (*(*gh).second)(&rt, eventcode,
op,
buf, i);
144 op = va_arg(
args,
object *);
145 buf = va_arg(
args,
const char *);
146 op2 = va_arg(
args,
object *);
148 (*(*gh).second)(&rt, eventcode,
op,
buf, op2);
154 op = va_arg(
args,
object *);
157 (*(*gh).second)(&rt, eventcode,
op,
buf);
163 op = va_arg(
args,
object *);
166 (*(*gh).second)(&rt, eventcode,
op,
buf);
174 (*(*gh).second)(&rt, eventcode,
map);
182 (*(*gh).second)(&rt, eventcode,
map);
190 (*(*gh).second)(&rt, eventcode,
map);
199 bool debug_events = (getenv(
"CF_DEBUG_EVENTS") != NULL);
204 LOG(
llevDebug,
"********** EVENT HANDLER **********\n");
211 if (
tmp->title != NULL)
213 if (
tmp->slaying != NULL)
215 if (
tmp->name != NULL)
219 if (
tmp->title == NULL) {
221 LOG(
llevError,
"Event object without title at %d/%d in map %s\n",
env->x,
env->y,
env->map ?
env->map->name :
"(null map)");
224 }
else if (
tmp->slaying == NULL) {
226 LOG(
llevError,
"Event object without slaying at %d/%d in map %s\n",
env->x,
env->y,
env->map ?
env->map->name :
"(null map)");
233 LOG(
llevError,
"The requested handler doesn't exist: %s at %d/%d in map %s\n",
tmp->title,
env->x,
env->y,
env->map ?
env->map->name :
"(null map)");
266 LOG(
llevDebug,
"events: registered object handler %s\n",
id);
271 LOG(
llevDebug,
"events: unregistered object handler %s\n",
id);