ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/plugin_common.h
Revision: 1.1
Committed: Mon Mar 5 20:07:04 2007 UTC (17 years, 2 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: STABLE, rel-2_0, rel-2_1
Log Message:
more cleanups for dist

File Contents

# Content
1 /*****************************************************************************/
2 /* Crossfire Plugin Interface Common Parts */
3 /* Version: 2.0beta8 (also known as "Alexander") */
4 /* Contact: yann.chachkoff@myrealbox.com */
5 /*****************************************************************************/
6 /* That code is placed under the GNU General Public Licence (GPL) */
7 /* (C)2001-2005 by Chachkoff Yann (Feel free to deliver your complaints) */
8 /*****************************************************************************/
9 /* CrossFire, A Multiplayer game for X-windows */
10 /* */
11 /* Copyright (C) 2000 Mark Wedel */
12 /* Copyright (C) 1992 Frank Tore Johansen */
13 /* */
14 /* This program is free software; you can redistribute it and/or modify */
15 /* it under the terms of the GNU General Public License as published by */
16 /* the Free Software Foundation; either version 2 of the License, or */
17 /* (at your option) any later version. */
18 /* */
19 /* This program is distributed in the hope that it will be useful, */
20 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
21 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
22 /* GNU General Public License for more details. */
23 /* */
24 /* You should have received a copy of the GNU General Public License */
25 /* along with this program; if not, write to the Free Software */
26 /* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
27 /* */
28 /*****************************************************************************/
29 #ifndef PLUGIN_COMMON_H
30 #define PLUGIN_COMMON_H
31
32 #ifdef WIN32
33 #define CF_PLUGIN __declspec(dllexport)
34 #else
35 #define CF_PLUGIN
36 #endif
37
38 #include <plugin.h>
39
40 #define PLUGIN_ERROR_INT 0x0FFFFF
41
42 extern int cf_init_plugin( f_plug_api getHooks );
43 extern void cf_system_register_global_event( int event, const char* name, f_plug_api hook );
44
45 /* General functions */
46 extern char* cf_add_string( char* str );
47 extern void cf_free_string( char* str );
48 extern char* cf_strdup_local(char* txt);
49 extern char* cf_get_maps_directory( char* str );
50 extern int cf_find_animation(char* txt);
51
52 /* Objects */
53 extern void* cf_object_set_int_property(object* op, int propcode, int value);
54 extern void* cf_object_get_property(object* op, int propcode);
55 extern void cf_free_object( object* ob );
56 extern void cf_fix_object( object* pl );
57 extern char* cf_query_name( object* ob );
58 extern char* cf_query_name_pl( object* ob );
59 extern char* cf_query_base_name( object* ob, int plural );
60 extern object* cf_insert_ob_in_ob( object* ob, object* where );
61 extern const char* cf_object_get_msg( object* );
62 extern void cf_object_set_weight( object* ob, int weight );
63 extern int cf_object_get_weight( object* ob );
64 extern void cf_object_set_weight_limit( object* ob, int weight );
65 extern int cf_object_get_weight_limit( object* ob );
66 extern int cf_object_set_nrof( object*, int nrof );
67 extern int cf_object_get_nrof( object* );
68 extern int cf_object_get_flag( object* ob, int flag );
69 extern void cf_object_set_flag( object* ob, int flag, int value );
70 extern object* cf_object_insert_in_ob( object* ob, object* where );
71 extern void* cf_object_set_string_property(object* op, int propcode, char* value);
72 extern void cf_object_activate_rune( object* op , object* victim);
73 extern int cf_object_check_trigger( object* op, object* cause );
74 extern int cf_object_query_money( object* op);
75 extern int cf_object_query_cost( object* op, object* who, int flags);
76 extern void* cf_object_set_string_property(object* op, int propcode, char* value);
77 extern int cf_object_cast_spell(object* caster, object* ctoo, int dir, object* sp, char* flags);
78 extern void cf_object_learn_spell(object* op, object* sp);
79 extern void cf_object_forget_spell(object* op, object* sp);
80 extern object* cf_object_check_for_spell(object* op, char* spellname);
81 extern int cf_object_cast_ability(object* caster, object* ctoo, int dir, object* sp, char* flags);
82 extern int cf_object_pay_amount(object* op, uint64 amount);
83 extern int cf_object_pay_item(object* op, object* buyer);
84 extern void* cf_object_set_long_property(object* op, int propcode, long value);
85 extern int cf_object_transfer(object* op,int x,int y,int r,object* orig);
86 extern int cf_object_out_of_map( object* op, int x, int y);
87 extern void cf_object_drop( object* op, object* author);
88 extern void cf_object_take( object* op, object* author);
89 extern void cf_object_say( object* op, char* msg);
90 extern void cf_object_speak( object* op, char* msg);
91 extern object* cf_object_insert_object(object* op, object* container);
92 extern object* cf_object_present_archname_inside(object* op, char* whatstr);
93 extern void cf_object_apply(object* op, object* author, int flags);
94 extern void cf_object_remove(object* op);
95 extern void cf_object_free(object* op);
96 extern object* cf_create_object(void);
97 extern object* cf_create_object_by_name( const char* name );
98 extern int cf_object_change_map(object* op, int x, int y, maptile* map);
99 extern int cf_object_teleport( object* ob, maptile* map, int x, int y );
100 extern void cf_object_update( object* op, int flags);
101 extern void cf_object_pickup( object* op, object* what);
102 extern char* cf_object_get_key(object* op, char* keyname);
103 extern void cf_object_set_key(object* op, char* keyname, char* value);
104 extern sint16 cf_object_get_resistance(object* op, int rtype);
105 extern void cf_object_move(object* op, int dir, object*originator);
106 extern void cf_object_apply_below(object* op);
107 extern object* cf_object_clone(object* op, int clonetype);
108
109 /* Maps */
110 extern void* cf_map_get_property(maptile* map, int propcode);
111 extern void* cf_map_set_int_property(maptile* map, int propcode, int value);
112 extern maptile* cf_map_get_map( char* name );
113 extern maptile* cf_map_get_first(void);
114 extern void cf_map_message(maptile* m, char* msg, int color);
115 extern object* cf_map_get_object_at(maptile* m, int x, int y);
116 extern object* cf_map_insert_object(maptile* where, object* op, int x, int y);
117 extern object* cf_map_present_arch_by_name(const char* str, maptile* map, int nx, int ny);
118 extern int cf_map_get_flags( maptile* map, maptile** nmap, sint16 x, sint16 y, sint16* nx, sint16* ny );
119 extern object* cf_map_insert_object_there(maptile* where, object* op, object* originator, int flags);
120 extern int cf_map_get_difficulty(maptile* map);
121 extern int cf_map_get_reset_time(maptile* map);
122 extern int cf_map_get_reset_timeout(maptile* map);
123 extern int cf_map_get_players(maptile* map);
124 extern int cf_map_get_darkness(maptile* map);
125 extern int cf_map_get_width(maptile* map);
126 extern int cf_map_get_height(maptile* map);
127 extern int cf_map_get_enter_x(maptile* map);
128 extern int cf_map_get_enter_y(maptile* map);
129 extern int cf_map_get_temperature(maptile* map);
130 extern int cf_map_get_pressure(maptile* map);
131 extern int cf_map_get_humidity(maptile* map);
132 extern int cf_map_get_windspeed(maptile* map);
133 extern int cf_map_get_winddir(maptile* map);
134 extern int cf_map_get_sky(maptile* map);
135 extern int cf_map_get_wpartx(maptile* map);
136 extern int cf_map_get_wparty(maptile* map);
137
138 /* Players */
139 extern char* cf_player_get_ip(object* op);
140 extern object* cf_player_get_marked_item(object* op);
141 extern void cf_player_set_marked_item(object* op, object* ob);
142 extern player* cf_player_find(char* txt);
143 extern void cf_player_message(object* op, char* txt, int flags);
144 extern object* cf_player_send_inventory(object* op);
145 extern void cf_player_move(player* pl, int dir);
146 extern partylist* cf_player_get_party(object* op);
147 extern void cf_player_set_party(object* op, partylist* party);
148
149 /* Archetypes */
150 extern archetype* cf_archetype_get_first(void);
151 extern const char* cf_archetype_get_name(archetype* arch);
152 extern archetype* cf_archetype_get_next(archetype* arch);
153 extern archetype* cf_archetype_get_more(archetype* arch);
154 extern archetype* cf_archetype_get_head(archetype* arch);
155 extern object* cf_archetype_get_clone(archetype* arch);
156
157 /* Parties */
158 extern partylist* cf_party_get_first(void);
159 extern const char* cf_party_get_name(partylist* party);
160 extern partylist* cf_party_get_next(partylist* party);
161 extern const char* cf_party_get_password(partylist* party);
162 extern player* cf_party_get_first_player(partylist* party);
163 extern player* cf_party_get_next_player(partylist* party, player* op);
164
165 /* Regions */
166 extern region* cf_region_get_first(void);
167 extern const char* cf_region_get_name(region* reg);
168 extern region* cf_region_get_next(region* reg);
169 extern region* cf_region_get_parent(region* reg);
170 extern const char* cf_region_get_longname(region* reg);
171 extern const char* cf_region_get_message(region* reg);
172
173 /* temp */
174 //extern f_plug_api cfapi_object_get_property;
175 //extern f_plug_api cfapi_object_set_property;
176 //extern f_plug_api cfapi_object_apply;
177 //extern f_plug_api cfapi_object_remove;
178
179 #ifdef WIN32
180
181 struct timezone {
182 int tz_minuteswest;
183 int tz_dsttime;
184 };
185 int gettimeofday(struct timeval *time_Info, struct timezone *timezone_Info);
186
187 #endif
188
189 #endif /* PLUGIN_COMMON_H */