SimSprite *sprite = (SimSprite *) clientData;
Tcl_HashEntry *ent;
int result = TCL_OK;
- int (*cmd)();
+ int (*cmd)(SimSprite*, Tcl_Interp*, int, char**);
if (argc < 2) {
return TCL_ERROR;
}
if ((ent = Tcl_FindHashEntry(&SpriteCmds, argv[1]))) {
- cmd = (int (*)())ent->clientData;
+ cmd = (int (*)(SimSprite*, Tcl_Interp*, int, char**))ent->clientData;
Tk_Preserve((ClientData) sprite);
result = cmd(sprite, interp, argc, argv);
Tk_Release((ClientData) sprite);
sprite->frame = 0;
Tcl_CreateCommand(interp, sprite->name,
- DoSpriteCmd, (ClientData) sprite, (void (*)()) NULL);
+ DoSpriteCmd, (ClientData) sprite, (void (*)(int *)) NULL);
interp->result = sprite->name;
return TCL_OK;
int i;
Tcl_CreateCommand(tk_mainInterp, "sprite", SpriteCmd,
- (ClientData)NULL, (void (*)()) NULL);
+ (ClientData)NULL, (void (*)(int *)) NULL);
Tcl_InitHashTable(&SpriteCmds, TCL_STRING_KEYS);
if (sprite->count > 0) sprite->count--;
c = GetChar(sprite->x + sprite->x_hot, sprite->y + sprite->y_hot);
- if ((c == -1) ||
- ((c == RIVER) &&
+ if ((c == -1)
+#ifndef ORIGINAL_MONSTER_BEHAVIOUR
+ || ((c == RIVER) &&
(sprite->count != 0) &&
(sprite->count < 900) &&
- (sprite->control == -1))) {
+ (sprite->control == -1))
+#endif
+ ) {
sprite->frame = 0; /* kill zilla */
}