… | |
… | |
281 | char *propname; |
281 | char *propname; |
282 | int i; |
282 | int i; |
283 | va_start (args, type); |
283 | va_start (args, type); |
284 | propname = va_arg (args, char *); |
284 | propname = va_arg (args, char *); |
285 | //printf ("Property name: %s\n", propname); |
285 | //printf ("Property name: %s\n", propname); |
286 | |
286 | |
287 | if (!strcmp (propname, "command?")) |
287 | if (!strcmp (propname, "command?")) |
288 | { |
288 | { |
|
|
289 | if (!perl) |
|
|
290 | return NULL; |
|
|
291 | |
289 | const char *cmdname = va_arg (args, const char *); |
292 | const char *cmdname = va_arg (args, const char *); |
290 | HV *hv = get_hv ("cf::COMMAND", 1); |
293 | HV *hv = get_hv ("cf::COMMAND", 1); |
291 | SV **svp = hv_fetch (hv, cmdname, strlen (cmdname) + 1, 0); |
294 | SV **svp = hv_fetch (hv, cmdname, strlen (cmdname) + 1, 0); |
292 | |
295 | |
293 | va_end (args); |
296 | va_end (args); |
… | |
… | |
354 | char *argv[] = { |
357 | char *argv[] = { |
355 | "", |
358 | "", |
356 | "-e" |
359 | "-e" |
357 | "BEGIN {" |
360 | "BEGIN {" |
358 | " cf->bootstrap;" |
361 | " cf->bootstrap;" |
359 | " unshift @INC, cf::get_maps_directory ('perl');" |
362 | " unshift @INC, cf::maps_directory ('perl');" |
360 | "}" |
363 | "}" |
361 | "" |
364 | "" |
362 | "use cf;" |
365 | "use cf;" |
363 | }; |
366 | }; |
364 | |
367 | |
… | |
… | |
994 | LOG (int level, char *msg) |
997 | LOG (int level, char *msg) |
995 | C_ARGS: level, "%s", msg |
998 | C_ARGS: level, "%s", msg |
996 | |
999 | |
997 | char * |
1000 | char * |
998 | cf_get_maps_directory (char *path) |
1001 | cf_get_maps_directory (char *path) |
|
|
1002 | ALIAS: maps_directory = 0 |
999 | |
1003 | |
1000 | MODULE = cf PACKAGE = cf::object PREFIX = cf_object_ |
1004 | MODULE = cf PACKAGE = cf::object PREFIX = cf_object_ |
1001 | |
1005 | |
1002 | PROTOTYPES: DISABLE |
1006 | PROTOTYPES: DISABLE |
1003 | |
1007 | |
… | |
… | |
1007 | RETVAL = newSVcfapi (type, cf_object_get_property (obj, idx)); |
1011 | RETVAL = newSVcfapi (type, cf_object_get_property (obj, idx)); |
1008 | OUTPUT: |
1012 | OUTPUT: |
1009 | RETVAL |
1013 | RETVAL |
1010 | |
1014 | |
1011 | int cf_object_get_resistance (object *op, int rtype) |
1015 | int cf_object_get_resistance (object *op, int rtype) |
|
|
1016 | ALIAS: resistance = 0 |
1012 | |
1017 | |
1013 | int cf_object_get_flag (object *op, int flag) |
1018 | int cf_object_get_flag (object *op, int flag) |
1014 | ALIAS: flag = 0 |
1019 | ALIAS: flag = 0 |
1015 | |
1020 | |
1016 | void cf_object_set_flag (object *op, int flag, int value) |
1021 | void cf_object_set_flag (object *op, int flag, int value) |
… | |
… | |
1046 | void cf_object_forget_spell (object *op, object *sp) |
1051 | void cf_object_forget_spell (object *op, object *sp) |
1047 | |
1052 | |
1048 | object *cf_object_check_for_spell (object *op, char *spellname) |
1053 | object *cf_object_check_for_spell (object *op, char *spellname) |
1049 | |
1054 | |
1050 | int cf_object_query_money (object *op) |
1055 | int cf_object_query_money (object *op) |
|
|
1056 | ALIAS: money = 0 |
1051 | |
1057 | |
1052 | int cf_object_query_cost (object *op, object *who, int flags) |
1058 | int cf_object_query_cost (object *op, object *who, int flags) |
|
|
1059 | ALIAS: cost = 0 |
1053 | |
1060 | |
1054 | void cf_object_activate_rune (object *op , object *victim) |
1061 | void cf_object_activate_rune (object *op , object *victim) |
1055 | |
1062 | |
1056 | int cf_object_check_trigger (object *op, object *cause) |
1063 | int cf_object_check_trigger (object *op, object *cause) |
1057 | |
1064 | |
… | |
… | |
1066 | void cf_object_speak (object *op, char *msg) |
1073 | void cf_object_speak (object *op, char *msg) |
1067 | |
1074 | |
1068 | object *cf_object_insert_object (object *op, object *container) |
1075 | object *cf_object_insert_object (object *op, object *container) |
1069 | |
1076 | |
1070 | const char *cf_object_get_msg (object *ob) |
1077 | const char *cf_object_get_msg (object *ob) |
|
|
1078 | ALIAS: msg = 0 |
1071 | |
1079 | |
1072 | object *cf_object_insert_in_ob (object *ob, object *where) |
1080 | object *cf_object_insert_in_ob (object *ob, object *where) |
1073 | |
1081 | |
1074 | int cf_object_teleport (object *op, mapstruct *map, int x, int y) |
1082 | int cf_object_teleport (object *op, mapstruct *map, int x, int y) |
1075 | |
1083 | |
1076 | void cf_object_update (object *op, int flags) |
1084 | void cf_object_update (object *op, int flags) |
1077 | |
1085 | |
1078 | void cf_object_pickup (object *op, object *what) |
1086 | void cf_object_pickup (object *op, object *what) |
1079 | |
1087 | |
1080 | char *cf_object_get_key (object *op, char *keyname) |
1088 | char *cf_object_get_key (object *op, char *keyname) |
|
|
1089 | ALIAS: key = 0 |
1081 | |
1090 | |
1082 | void cf_object_set_key (object *op, char *keyname, char *value) |
1091 | void cf_object_set_key (object *op, char *keyname, char *value) |
1083 | |
1092 | |
1084 | char * |
1093 | char * |
1085 | base_name (object *ob, int plural) |
1094 | base_name (object *ob, int plural) |
… | |
… | |
1089 | RETVAL |
1098 | RETVAL |
1090 | |
1099 | |
1091 | MODULE = cf PACKAGE = cf::object PREFIX = cf_object_ |
1100 | MODULE = cf PACKAGE = cf::object PREFIX = cf_object_ |
1092 | |
1101 | |
1093 | object *cf_create_object () |
1102 | object *cf_create_object () |
|
|
1103 | ALIAS: new = 0 |
1094 | |
1104 | |
1095 | object *cf_create_object_by_name (const char *name) |
1105 | object *cf_create_object_by_name (const char *name) |
|
|
1106 | ALIAS: new_from_name = 0 |
1096 | |
1107 | |
1097 | void cf_free_object (object *ob) |
1108 | void cf_free_object (object *ob) |
1098 | |
1109 | |
1099 | void cf_fix_object (object *pl) |
1110 | void cf_fix_object (object *pl) |
1100 | |
1111 | |
… | |
… | |
1115 | |
1126 | |
1116 | |
1127 | |
1117 | MODULE = cf PACKAGE = cf::object::map PREFIX = cf_ |
1128 | MODULE = cf PACKAGE = cf::object::map PREFIX = cf_ |
1118 | |
1129 | |
1119 | mapstruct *cf_map_get_map (char *name) |
1130 | mapstruct *cf_map_get_map (char *name) |
|
|
1131 | ALIAS: map = 0 |
1120 | |
1132 | |
1121 | mapstruct *cf_map_get_first () |
1133 | mapstruct *cf_map_get_first () |
|
|
1134 | ALIAS: first = 0 |
1122 | |
1135 | |
1123 | object *cf_map_insert_object_there (mapstruct *where, object *op, object *originator, int flags) |
1136 | object *cf_map_insert_object_there (mapstruct *where, object *op, object *originator, int flags) |
1124 | |
1137 | |
1125 | object *cf_map_insert_object (mapstruct *where, object* op, int x, int y) |
1138 | object *cf_map_insert_object (mapstruct *where, object* op, int x, int y) |
1126 | |
1139 | |
… | |
… | |
1148 | |
1161 | |
1149 | |
1162 | |
1150 | MODULE = cf PACKAGE = cf::arch PREFIX = cf_archetype_ |
1163 | MODULE = cf PACKAGE = cf::arch PREFIX = cf_archetype_ |
1151 | |
1164 | |
1152 | archetype*cf_archetype_get_first() |
1165 | archetype*cf_archetype_get_first() |
|
|
1166 | ALIAS: first = 0 |
|
|
1167 | |
|
|
1168 | archetype *cf_archetype_get_next (archetype *arch) |
|
|
1169 | ALIAS: next = 0 |
|
|
1170 | |
|
|
1171 | archetype *cf_archetype_get_head (archetype *arch) |
|
|
1172 | ALIAS: head = 0 |
|
|
1173 | |
|
|
1174 | archetype *cf_archetype_get_more (archetype *arch) |
|
|
1175 | ALIAS: more = 0 |
1153 | |
1176 | |
1154 | const char *cf_archetype_get_name (archetype *arch) |
1177 | const char *cf_archetype_get_name (archetype *arch) |
1155 | |
1178 | ALIAS: name = 0 |
1156 | archetype *cf_archetype_get_next (archetype *arch) |
|
|
1157 | |
|
|
1158 | archetype *cf_archetype_get_more (archetype *arch) |
|
|
1159 | |
|
|
1160 | archetype *cf_archetype_get_head (archetype *arch) |
|
|
1161 | |
1179 | |
1162 | MODULE = cf PACKAGE = cf::party PREFIX = cf_party_ |
1180 | MODULE = cf PACKAGE = cf::party PREFIX = cf_party_ |
1163 | |
1181 | |
1164 | const char *cf_party_get_name (partylist *party) |
1182 | const char *cf_party_get_name (partylist *party) |
1165 | |
1183 | |