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

Comparing deliantra/server/server/plugins.C (file contents):
Revision 1.21 by root, Tue Dec 12 21:39:57 2006 UTC vs.
Revision 1.25 by root, Thu Dec 14 22:45:41 2006 UTC

43static const hook_entry plug_hooks[NR_OF_HOOKS] = { 43static const hook_entry plug_hooks[NR_OF_HOOKS] = {
44 {cfapi_system_register_global_event, 1, "cfapi_system_register_global_event"}, 44 {cfapi_system_register_global_event, 1, "cfapi_system_register_global_event"},
45 {cfapi_system_unregister_global_event, 3, "cfapi_system_unregister_global_event"}, 45 {cfapi_system_unregister_global_event, 3, "cfapi_system_unregister_global_event"},
46 {cfapi_system_check_path, 4, "cfapi_system_check_path"}, 46 {cfapi_system_check_path, 4, "cfapi_system_check_path"},
47 {NULL, 5, "cfapi_system_re_cmp"}, 47 {NULL, 5, "cfapi_system_re_cmp"},
48 {cfapi_system_strdup_local, 6, "cfapi_system_strdup_local"}, 48 {cfapi_system_strdup, 6, "cfapi_system_strdup"},
49 {cfapi_system_directory, 7, "cfapi_system_directory"}, 49 {cfapi_system_directory, 7, "cfapi_system_directory"},
50 {cfapi_system_find_animation, 8, "cfapi_system_find_animation"}, 50 {cfapi_system_find_animation, 8, "cfapi_system_find_animation"},
51 {cfapi_object_clean_object, 9, "cfapi_object_clean_object"}, 51 {cfapi_object_clean_object, 9, "cfapi_object_clean_object"},
52 {cfapi_object_on_same_map, 10, "cfapi_object_on_same_map"}, 52 {cfapi_object_on_same_map, 10, "cfapi_object_on_same_map"},
53 {cfapi_object_get_key, 11, "cfapi_object_get_key"}, 53 {cfapi_object_get_key, 11, "cfapi_object_get_key"},
482 *type = CFAPI_INT; 482 *type = CFAPI_INT;
483 return &rv; 483 return &rv;
484} 484}
485 485
486void * 486void *
487cfapi_system_strdup_local (int *type, ...) 487cfapi_system_strdup (int *type, ...)
488{ 488{
489 va_list args; 489 va_list args;
490 char *txt; 490 char *txt;
491 491
492 va_start (args, type); 492 va_start (args, type);
493 txt = va_arg (args, char *); 493 txt = va_arg (args, char *);
494 494
495 va_end (args); 495 va_end (args);
496 *type = CFAPI_STRING; 496 *type = CFAPI_STRING;
497 return strdup_local (txt); 497 return strdup (txt);
498} 498}
499 499
500void * 500void *
501cfapi_system_register_global_event (int *type, ...) 501cfapi_system_register_global_event (int *type, ...)
502{ 502{
1637 rv = &op->stats.exp; 1637 rv = &op->stats.exp;
1638 *type = CFAPI_LONG; 1638 *type = CFAPI_LONG;
1639 break; 1639 break;
1640 1640
1641 case CFAPI_OBJECT_PROP_OWNER: 1641 case CFAPI_OBJECT_PROP_OWNER:
1642 rv = get_owner (op); 1642 rv = op->owner;
1643 *type = CFAPI_POBJECT; 1643 *type = CFAPI_POBJECT;
1644 break; 1644 break;
1645 1645
1646 case CFAPI_OBJECT_PROP_PRESENT: 1646 case CFAPI_OBJECT_PROP_PRESENT:
1647 { 1647 {
1689 case CFAPI_OBJECT_PROP_MERGEABLE: 1689 case CFAPI_OBJECT_PROP_MERGEABLE:
1690 { 1690 {
1691 object *op2; 1691 object *op2;
1692 op2 = va_arg (args, object *); 1692 op2 = va_arg (args, object *);
1693 1693
1694 ri = CAN_MERGE (op, op2); 1694 ri = object::can_merge_slow (op, op2);
1695 rv = &ri; 1695 rv = &ri;
1696 } 1696 }
1697 *type = CFAPI_INT; 1697 *type = CFAPI_INT;
1698 break; 1698 break;
1699 1699
1846 rv = &ri; 1846 rv = &ri;
1847 *type = CFAPI_INT; 1847 *type = CFAPI_INT;
1848 break; 1848 break;
1849 1849
1850 case CFAPI_PLAYER_PROP_IP: 1850 case CFAPI_PLAYER_PROP_IP:
1851 rv = op->contr->socket.host; 1851 rv = op->contr->socket->host;
1852 *type = CFAPI_STRING; 1852 *type = CFAPI_STRING;
1853 break; 1853 break;
1854 1854
1855 case CFAPI_PLAYER_PROP_MARKED_ITEM: 1855 case CFAPI_PLAYER_PROP_MARKED_ITEM:
1856 rv = find_marked_object (op); 1856 rv = find_marked_object (op);
2271 break; 2271 break;
2272 2272
2273 case CFAPI_OBJECT_PROP_OWNER: 2273 case CFAPI_OBJECT_PROP_OWNER:
2274 oparg = va_arg (args, object *); 2274 oparg = va_arg (args, object *);
2275 2275
2276 set_owner (op, oparg); 2276 op->set_owner (oparg);
2277 break; 2277 break;
2278 2278
2279 case CFAPI_OBJECT_PROP_CHEATER: 2279 case CFAPI_OBJECT_PROP_CHEATER:
2280 set_cheat (op); 2280 set_cheat (op);
2281 break; 2281 break;
2648 *type = CFAPI_POBJECT; 2648 *type = CFAPI_POBJECT;
2649 return object_create_clone (op); 2649 return object_create_clone (op);
2650 } 2650 }
2651 else 2651 else
2652 { 2652 {
2653 object *tmp; 2653 object *tmp = op->clone ();
2654
2655 tmp = object::create ();
2656 op->copy_to (tmp);
2657 *type = CFAPI_POBJECT; 2654 *type = CFAPI_POBJECT;
2658 return tmp; 2655 return tmp;
2659 } 2656 }
2660} 2657}
2661void * 2658void *
2912 2909
2913 op = va_arg (args, object *); 2910 op = va_arg (args, object *);
2914 2911
2915 va_end (args); 2912 va_end (args);
2916 2913
2917 clear_object (op); 2914 op->clear ();
2918 *type = CFAPI_NONE; 2915 *type = CFAPI_NONE;
2919 return NULL; 2916 return NULL;
2920} 2917}
2921 2918
2922void * 2919void *
3313 drop (author, op); 3310 drop (author, op);
3314 3311
3315 if (author->type == PLAYER) 3312 if (author->type == PLAYER)
3316 { 3313 {
3317 author->contr->count = 0; 3314 author->contr->count = 0;
3318 author->contr->socket.update_look = 1; 3315 author->contr->socket->update_look = 1;
3319 } 3316 }
3320 3317
3321 *type = CFAPI_NONE; 3318 *type = CFAPI_NONE;
3322 return NULL; 3319 return NULL;
3323} 3320}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines