ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/plugins/cfperl/cfperl.xs
(Generate patch)

Comparing deliantra/server/plugins/cfperl/cfperl.xs (file contents):
Revision 1.37 by root, Fri Mar 17 01:23:48 2006 UTC vs.
Revision 1.40 by root, Sun Mar 26 15:52:03 2006 UTC

42#else 42#else
43#define MODULEAPI 43#define MODULEAPI
44#endif 44#endif
45 45
46#include <plugin_common.h> 46#include <plugin_common.h>
47#include <sounds.h>
47 48
48#include <stdarg.h> 49#include <stdarg.h>
49 50
50#include "perlxsi.c" 51#include "perlxsi.c"
51 52
216 case CFAPI_INT: 217 case CFAPI_INT:
217 sv = newSViv (*va_arg (args, int *)); 218 sv = newSViv (*va_arg (args, int *));
218 break; 219 break;
219 220
220 case CFAPI_LONG: 221 case CFAPI_LONG:
221 sv = newSViv (*va_arg (args, long *)); 222 sv = newSVnv ((double)*va_arg (args, sint64 *)); /* oh, the humanity! */
222 break; 223 break;
223 224
224 case CFAPI_DOUBLE: 225 case CFAPI_DOUBLE:
225 sv = newSViv (*va_arg (args, double *)); 226 sv = newSViv (*va_arg (args, double *));
226 break; 227 break;
1014 const_iv (M_LIQUID) 1015 const_iv (M_LIQUID)
1015 const_iv (M_SOFT_METAL) 1016 const_iv (M_SOFT_METAL)
1016 const_iv (M_BONE) 1017 const_iv (M_BONE)
1017 const_iv (M_ICE) 1018 const_iv (M_ICE)
1018 const_iv (M_SPECIAL) 1019 const_iv (M_SPECIAL)
1020
1021 const_iv (SK_EXP_ADD_SKILL)
1022 const_iv (SK_EXP_TOTAL)
1023 const_iv (SK_EXP_NONE)
1024 const_iv (SK_SUBTRACT_SKILL_EXP)
1025
1026 const_iv (SK_LOCKPICKING)
1027 const_iv (SK_HIDING)
1028 const_iv (SK_SMITHERY)
1029 const_iv (SK_BOWYER)
1030 const_iv (SK_JEWELER)
1031 const_iv (SK_ALCHEMY)
1032 const_iv (SK_STEALING)
1033 const_iv (SK_LITERACY)
1034 const_iv (SK_BARGAINING)
1035 const_iv (SK_JUMPING)
1036 const_iv (SK_DET_MAGIC)
1037 const_iv (SK_ORATORY)
1038 const_iv (SK_SINGING)
1039 const_iv (SK_DET_CURSE)
1040 const_iv (SK_FIND_TRAPS)
1041 const_iv (SK_MEDITATION)
1042 const_iv (SK_PUNCHING)
1043 const_iv (SK_FLAME_TOUCH)
1044 const_iv (SK_KARATE)
1045 const_iv (SK_CLIMBING)
1046 const_iv (SK_WOODSMAN)
1047 const_iv (SK_INSCRIPTION)
1048 const_iv (SK_ONE_HANDED_WEAPON)
1049 const_iv (SK_MISSILE_WEAPON)
1050 const_iv (SK_THROWING)
1051 const_iv (SK_USE_MAGIC_ITEM)
1052 const_iv (SK_DISARM_TRAPS)
1053 const_iv (SK_SET_TRAP)
1054 const_iv (SK_THAUMATURGY)
1055 const_iv (SK_PRAYING)
1056 const_iv (SK_CLAWING)
1057 const_iv (SK_LEVITATION)
1058 const_iv (SK_SUMMONING)
1059 const_iv (SK_PYROMANCY)
1060 const_iv (SK_EVOCATION)
1061 const_iv (SK_SORCERY)
1062 const_iv (SK_TWO_HANDED_WEAPON)
1063
1064 const_iv (SOUND_NEW_PLAYER)
1065 const_iv (SOUND_FIRE_ARROW)
1066 const_iv (SOUND_LEARN_SPELL)
1067 const_iv (SOUND_FUMBLE_SPELL)
1068 const_iv (SOUND_WAND_POOF)
1069 const_iv (SOUND_OPEN_DOOR)
1070 const_iv (SOUND_PUSH_PLAYER)
1071 const_iv (SOUND_PLAYER_HITS1)
1072 const_iv (SOUND_PLAYER_HITS2)
1073 const_iv (SOUND_PLAYER_HITS3)
1074 const_iv (SOUND_PLAYER_HITS4)
1075 const_iv (SOUND_PLAYER_IS_HIT1)
1076 const_iv (SOUND_PLAYER_IS_HIT2)
1077 const_iv (SOUND_PLAYER_IS_HIT3)
1078 const_iv (SOUND_PLAYER_KILLS)
1079 const_iv (SOUND_PET_IS_KILLED)
1080 const_iv (SOUND_PLAYER_DIES)
1081 const_iv (SOUND_OB_EVAPORATE)
1082 const_iv (SOUND_OB_EXPLODE)
1083 const_iv (SOUND_CLOCK)
1084 const_iv (SOUND_TURN_HANDLE)
1085 const_iv (SOUND_FALL_HOLE)
1086 const_iv (SOUND_DRINK_POISON)
1087 const_iv (SOUND_CAST_SPELL_0)
1019 }; 1088 };
1020 1089
1021 for (civ = const_iv + sizeof (const_iv) / sizeof (const_iv [0]); civ-- > const_iv; ) 1090 for (civ = const_iv + sizeof (const_iv) / sizeof (const_iv [0]); civ-- > const_iv; )
1022 newCONSTSUB (stash, (char *)civ->name, newSViv (civ->iv)); 1091 newCONSTSUB (stash, (char *)civ->name, newSViv (civ->iv));
1023 1092
1167 prop (CFAPI_INT, OBJECT_PROP_ANIM_SPEED) 1236 prop (CFAPI_INT, OBJECT_PROP_ANIM_SPEED)
1168 prop (CFAPI_INT, OBJECT_PROP_FRIENDLY) 1237 prop (CFAPI_INT, OBJECT_PROP_FRIENDLY)
1169 prop (CFAPI_STRING, OBJECT_PROP_SHORT_NAME) 1238 prop (CFAPI_STRING, OBJECT_PROP_SHORT_NAME)
1170 prop (CFAPI_INT, OBJECT_PROP_MAGICAL) 1239 prop (CFAPI_INT, OBJECT_PROP_MAGICAL)
1171 prop (CFAPI_INT, OBJECT_PROP_LUCK) 1240 prop (CFAPI_INT, OBJECT_PROP_LUCK)
1172 prop (CFAPI_LONG, OBJECT_PROP_EXP)
1173 prop (CFAPI_POBJECT, OBJECT_PROP_OWNER) 1241 prop (CFAPI_POBJECT, OBJECT_PROP_OWNER)
1174 prop (CFAPI_POBJECT, OBJECT_PROP_PRESENT) 1242 prop (CFAPI_POBJECT, OBJECT_PROP_PRESENT)
1175 prop (CFAPI_INT, OBJECT_PROP_CHEATER) 1243 prop (CFAPI_INT, OBJECT_PROP_CHEATER)
1176 prop (CFAPI_INT, OBJECT_PROP_MERGEABLE) 1244 prop (CFAPI_INT, OBJECT_PROP_MERGEABLE)
1177 prop (CFAPI_INT, OBJECT_PROP_PICKABLE) 1245 prop (CFAPI_INT, OBJECT_PROP_PICKABLE)
1395 1463
1396void cf_object_set_key (object *op, char *keyname, char *value) 1464void cf_object_set_key (object *op, char *keyname, char *value)
1397 1465
1398object *cf_create_object_by_name (const char *name) 1466object *cf_create_object_by_name (const char *name)
1399 1467
1468void change_exp (object *op, double exp, const char *skill_name = 0, int flag = 0)
1469
1470void player_lvl_adj (object *who, object *skill = 0)
1471
1472
1400MODULE = cf PACKAGE = cf::object PREFIX = cf_ 1473MODULE = cf PACKAGE = cf::object PREFIX = cf_
1401 1474
1402void cf_fix_object (object *pl) 1475void cf_fix_object (object *pl)
1403 ALIAS: fix = 0 1476 ALIAS: fix = 0
1404 1477
1419 CODE: 1492 CODE:
1420{ 1493{
1421 int unused_type; 1494 int unused_type;
1422 RETVAL = (object *)object_insert (&unused_type, ob, 0, where, orig, flag, x, y); 1495 RETVAL = (object *)object_insert (&unused_type, ob, 0, where, orig, flag, x, y);
1423} 1496}
1497
1498const char *get_ob_key_value (object *op, const char *key)
1499
1500bool set_ob_key_value (object *op, const char *key, const char *value = 0, int add_key = 1)
1424 1501
1425object *get_nearest_player (object *ob) 1502object *get_nearest_player (object *ob)
1426 ALIAS: nearest_player = 0 1503 ALIAS: nearest_player = 0
1427 PREINIT: 1504 PREINIT:
1428 extern object *get_nearest_player (object *); 1505 extern object *get_nearest_player (object *);
1486partylist *cf_player_get_party (object *op) 1563partylist *cf_player_get_party (object *op)
1487 ALIAS: party = 0 1564 ALIAS: party = 0
1488 1565
1489void cf_player_set_party (object *op, partylist *party) 1566void cf_player_set_party (object *op, partylist *party)
1490 1567
1568void change_skill (object *op, double exp, char *skill_name = 0, int flag = 0)
1491 1569
1492MODULE = cf PACKAGE = cf::object::map PREFIX = cf_ 1570MODULE = cf PACKAGE = cf::object::map PREFIX = cf_
1493 1571
1494MODULE = cf PACKAGE = cf::player PREFIX = cf_player_ 1572MODULE = cf PACKAGE = cf::player PREFIX = cf_player_
1495 1573
1497 PROTOTYPE: $ 1575 PROTOTYPE: $
1498 1576
1499void cf_player_move (player *pl, int dir) 1577void cf_player_move (player *pl, int dir)
1500 1578
1501void MapNewmapCmd (player *pl) 1579void MapNewmapCmd (player *pl)
1580
1581void play_sound_player_only (player *pl, int soundnum, int x = 0, int y = 0);
1502 1582
1503# nonstandard 1583# nonstandard
1504object *ob (player *pl) 1584object *ob (player *pl)
1505 CODE: 1585 CODE:
1506 RETVAL = pl->ob; 1586 RETVAL = pl->ob;
1580 int unused_type; 1660 int unused_type;
1581 RETVAL = map_get_map (&unused_type, 0, width, height); 1661 RETVAL = map_get_map (&unused_type, 0, width, height);
1582} 1662}
1583 OUTPUT: 1663 OUTPUT:
1584 RETVAL 1664 RETVAL
1665
1666void delete_map (mapstruct *map)
1667
1668void clean_tmp_map (mapstruct *map)
1669
1670void play_sound_map (mapstruct *map, int x, int y, int sound_num)
1585 1671
1586mapstruct *cf_map_get_map (char *name) 1672mapstruct *cf_map_get_map (char *name)
1587 PROTOTYPE: $ 1673 PROTOTYPE: $
1588 ALIAS: map = 0 1674 ALIAS: map = 0
1589 1675

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines