00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef ADIKT_OBJTHINGS_H
00022 #define ADIKT_OBJTHINGS_H
00023
00024 #include "globals.h"
00025
00026
00027 #define THING_TYPE_NONE 0x00
00028 #define THING_TYPE_ITEM 0x01 // called "object" in the game
00029 #define THING_TYPE_SHOT 0x02
00030 #define THING_TYPE_EFFCTELEM 0x03 // "effect element" (?)
00031 #define THING_TYPE_DEADCRTR 0x04 // dead creature
00032 #define THING_TYPE_CREATURE 0x05
00033 #define THING_TYPE_EFFECTGEN 0x07 // called "effect generator" in the game
00034 #define THING_TYPE_TRAP 0x08
00035 #define THING_TYPE_DOOR 0x09
00036 #define THING_TYPE_AMBNITSND 0x0c // ambient sound
00037 #define THING_TYPE_CAVEIN 0x0d
00038
00039
00040 #define ITEM_STYPES_COUNT 0x87
00041 #define CREATR_STYPES_COUNT 0x22
00042 #define TRAP_STYPES_COUNT 0x0d
00043 #define DOOR_STYPES_COUNT 0x05
00044
00045
00046 #define ITEM_SUBTYPE_NULL 0x00
00047 #define ITEM_SUBTYPE_BARREL 0x01
00048 #define ITEM_SUBTYPE_TORCH 0x02
00049 #define ITEM_SUBTYPE_GOLDCHEST 0x03
00050 #define ITEM_SUBTYPE_TEMPLESTA 0x04
00051 #define ITEM_SUBTYPE_DNHEART 0x05
00052 #define ITEM_SUBTYPE_GOLD 0x06
00053 #define ITEM_SUBTYPE_TORCHUN 0x07
00054 #define ITEM_SUBTYPE_STATUEWO 0x08
00055 #define ITEM_SUBTYPE_CHICKNGRW 0x09
00056 #define ITEM_SUBTYPE_CHICKN 0x0a
00057 #define ITEM_SUBTYPE_SPELLHOE 0x0b
00058 #define ITEM_SUBTYPE_SPELLIMP 0x0c
00059 #define ITEM_SUBTYPE_SPELLMUST 0x0d
00060 #define ITEM_SUBTYPE_SPELLSLAP 0x0e
00061 #define ITEM_SUBTYPE_SPELLSOE 0x0f
00062 #define ITEM_SUBTYPE_SPELLCTA 0x10
00063 #define ITEM_SUBTYPE_SPELLCAVI 0x11
00064 #define ITEM_SUBTYPE_SPELLHEAL 0x12
00065 #define ITEM_SUBTYPE_SPELLHLDA 0x13
00066 #define ITEM_SUBTYPE_SPELLLIGH 0x14
00067 #define ITEM_SUBTYPE_SPELLSPDC 0x15
00068 #define ITEM_SUBTYPE_SPELLPROT 0x16
00069 #define ITEM_SUBTYPE_SPELLCONC 0x17
00070
00071 #define ITEM_SUBTYPE_NULL1 0x18
00072 #define ITEM_SUBTYPE_NULL2 0x19
00073
00074 #define ITEM_SUBTYPE_ANVIL 0x1a
00075 #define ITEM_SUBTYPE_PRISONBAR 0x1b
00076 #define ITEM_SUBTYPE_CANDLSTCK 0x1c //candle with candlestick
00077 #define ITEM_SUBTYPE_GRAVSTONE 0x1d
00078 #define ITEM_SUBTYPE_STATUHORN 0x1e
00079 #define ITEM_SUBTYPE_TRAINPOST 0x1f
00080 #define ITEM_SUBTYPE_TORTSPIKE 0x20
00081 #define ITEM_SUBTYPE_TEMPLESPN 0x21 //Temple Spangle
00082
00083 #define ITEM_SUBTYPE_POTION1 0x22
00084 #define ITEM_SUBTYPE_POTION2 0x23
00085 #define ITEM_SUBTYPE_POTION3 0x24
00086 #define ITEM_SUBTYPE_PWHAND 0x25
00087 #define ITEM_SUBTYPE_PWHANDGRB 0x26
00088 #define ITEM_SUBTYPE_PWHANDWHP 0x27
00089 #define ITEM_SUBTYPE_CHICKNSTB 0x28
00090 #define ITEM_SUBTYPE_CHICKNWOB 0x29
00091 #define ITEM_SUBTYPE_CHICKNCRK 0x2a
00092 #define ITEM_SUBTYPE_GOLDL 0x2b
00093 #define ITEM_SUBTYPE_SPINNKEY 0x2c
00094 #define ITEM_SUBTYPE_SPELLDISE 0x2d
00095 #define ITEM_SUBTYPE_SPELLCHKN 0x2e
00096 #define ITEM_SUBTYPE_SPELLDWAL 0x2f
00097 #define ITEM_SUBTYPE_SPELLTBMB 0x30
00098 #define ITEM_SUBTYPE_HEROGATE 0x31
00099 #define ITEM_SUBTYPE_SPINNKEY2 0x32
00100
00101 #define ITEM_SUBTYPE_ARMOUR 0x33
00102 #define ITEM_SUBTYPE_GLDHOARD1 0x34
00103 #define ITEM_SUBTYPE_GLDHOARD2 0x35
00104 #define ITEM_SUBTYPE_GLDHOARD3 0x36
00105 #define ITEM_SUBTYPE_GLDHOARD4 0x37
00106 #define ITEM_SUBTYPE_GLDHOARD5 0x38
00107
00108 #define ITEM_SUBTYPE_LAIRWIZRD 0x39
00109 #define ITEM_SUBTYPE_LAIRBARBR 0x3a
00110 #define ITEM_SUBTYPE_LAIRARCHR 0x3b
00111 #define ITEM_SUBTYPE_LAIRMONK 0x3c
00112 #define ITEM_SUBTYPE_LAIRDWRFA 0x3d
00113 #define ITEM_SUBTYPE_LAIRKNGHT 0x3e
00114 #define ITEM_SUBTYPE_LAIRAVATR 0x3f
00115 #define ITEM_SUBTYPE_LAIRTUNLR 0x40
00116 #define ITEM_SUBTYPE_LAIRWITCH 0x41
00117 #define ITEM_SUBTYPE_LAIRGIANT 0x42
00118 #define ITEM_SUBTYPE_LAIRFAIRY 0x43
00119 #define ITEM_SUBTYPE_LAIRTHEFT 0x44
00120 #define ITEM_SUBTYPE_LAIRSAMUR 0x45
00121 #define ITEM_SUBTYPE_LAIRHORNY 0x46
00122 #define ITEM_SUBTYPE_LAIRSKELT 0x47
00123 #define ITEM_SUBTYPE_LAIRGOBLN 0x48
00124 #define ITEM_SUBTYPE_LAIRDRAGN 0x49
00125 #define ITEM_SUBTYPE_LAIRDEMSP 0x4a
00126 #define ITEM_SUBTYPE_LAIRFLY 0x4b
00127 #define ITEM_SUBTYPE_LAIRDKMIS 0x4c
00128 #define ITEM_SUBTYPE_LAIRSORCR 0x4d
00129 #define ITEM_SUBTYPE_LAIRBILDM 0x4e
00130 #define ITEM_SUBTYPE_LAIRIMP 0x4f
00131 #define ITEM_SUBTYPE_LAIRBUG 0x50
00132 #define ITEM_SUBTYPE_LAIRVAMP 0x51
00133 #define ITEM_SUBTYPE_LAIRSPIDR 0x52
00134 #define ITEM_SUBTYPE_LAIRHLHND 0x53
00135 #define ITEM_SUBTYPE_LAIRGHOST 0x54
00136 #define ITEM_SUBTYPE_LAIRTENTC 0x55
00137
00138 #define ITEM_SUBTYPE_SPREVMAP 0x56
00139 #define ITEM_SUBTYPE_SPRESURCT 0x57
00140 #define ITEM_SUBTYPE_SPTRANSFR 0x58
00141 #define ITEM_SUBTYPE_SPSTEALHR 0x59
00142 #define ITEM_SUBTYPE_SPMULTPLY 0x5a
00143 #define ITEM_SUBTYPE_SPINCLEV 0x5b
00144 #define ITEM_SUBTYPE_SPMKSAFE 0x5c
00145 #define ITEM_SUBTYPE_SPHIDNWRL 0x5d
00146 #define ITEM_SUBTYPE_TBBOULDER 0x5e
00147 #define ITEM_SUBTYPE_TBALARM 0x5f
00148 #define ITEM_SUBTYPE_TBPOISONG 0x60
00149 #define ITEM_SUBTYPE_TBLIGHTNG 0x61
00150 #define ITEM_SUBTYPE_TBWRDOFPW 0x62
00151 #define ITEM_SUBTYPE_TBLAVA 0x63
00152 #define ITEM_SUBTYPE_TBDUMMY2 0x64
00153 #define ITEM_SUBTYPE_TBDUMMY3 0x65
00154 #define ITEM_SUBTYPE_TBDUMMY4 0x66
00155 #define ITEM_SUBTYPE_TBDUMMY5 0x67
00156 #define ITEM_SUBTYPE_TBDUMMY6 0x68
00157 #define ITEM_SUBTYPE_TBDUMMY7 0x69
00158 #define ITEM_SUBTYPE_DBWOOD 0x6a
00159 #define ITEM_SUBTYPE_DBBRACE 0x6b
00160 #define ITEM_SUBTYPE_DBSTEEL 0x6c
00161 #define ITEM_SUBTYPE_DBMAGIC 0x6d
00162 #define ITEM_SUBTYPE_WBITEM 0x6e
00163 #define ITEM_SUBTYPE_HEARTFLMR 0x6f
00164
00165 #define ITEM_SUBTYPE_DISEASE 0x70
00166 #define ITEM_SUBTYPE_SCAVNGEYE 0x71
00167 #define ITEM_SUBTYPE_WRKSHPMCH 0x72
00168 #define ITEM_SUBTYPE_GURDFLAGR 0x73
00169 #define ITEM_SUBTYPE_GURDFLAGB 0x74
00170 #define ITEM_SUBTYPE_GURDFLAGG 0x75
00171 #define ITEM_SUBTYPE_GURDFLAGY 0x76
00172 #define ITEM_SUBTYPE_FLAGPOST 0x77
00173 #define ITEM_SUBTYPE_HEARTFLMB 0x78
00174 #define ITEM_SUBTYPE_HEARTFLMG 0x79
00175 #define ITEM_SUBTYPE_HEARTFLMY 0x7a
00176 #define ITEM_SUBTYPE_PWSIGHT 0x7b
00177 #define ITEM_SUBTYPE_PWLIGHTNG 0x7c
00178 #define ITEM_SUBTYPE_TORTURER 0x7d
00179 #define ITEM_SUBTYPE_LAIRORC 0x7e
00180 #define ITEM_SUBTYPE_PWHANDGLD 0x7f
00181 #define ITEM_SUBTYPE_SPINNCOIN 0x80
00182 #define ITEM_SUBTYPE_STATUE2 0x81
00183 #define ITEM_SUBTYPE_STATUE3 0x82
00184 #define ITEM_SUBTYPE_STATUE4 0x83
00185 #define ITEM_SUBTYPE_STATUE5 0x84
00186 #define ITEM_SUBTYPE_STATUE6 0x85
00187 #define ITEM_SUBTYPE_SPELLARMG 0x86
00188
00189
00190 #define EFCTGEN_SUBTP_LAVA 0x01
00191 #define EFCTGEN_SUBTP_DRIPWTR 0x02
00192 #define EFCTGEN_SUBTP_ROCKFAL 0x03
00193 #define EFCTGEN_SUBTP_ENTRICE 0x04
00194 #define EFCTGEN_SUBTP_DRYICE 0x05
00195
00196
00197 #define CREATR_SUBTP_WIZRD 0x01
00198 #define CREATR_SUBTP_BARBARIN 0x02
00199 #define CREATR_SUBTP_ARCHER 0x03
00200 #define CREATR_SUBTP_MONK 0x04
00201 #define CREATR_SUBTP_DWAFT 0x05
00202 #define CREATR_SUBTP_KNIGHT 0x06
00203 #define CREATR_SUBTP_AVATAR 0x07
00204 #define CREATR_SUBTP_TUNELER 0x08
00205 #define CREATR_SUBTP_WITCH 0x09
00206 #define CREATR_SUBTP_GIANT 0x0A
00207 #define CREATR_SUBTP_FAIRY 0x0B
00208 #define CREATR_SUBTP_THEFT 0x0C
00209 #define CREATR_SUBTP_SMURI 0x0D
00210 #define CREATR_SUBTP_HORNY 0x0E
00211 #define CREATR_SUBTP_SKELETON 0x0F
00212 #define CREATR_SUBTP_TROLL 0x10
00213 #define CREATR_SUBTP_DRAGON 0x11
00214 #define CREATR_SUBTP_SPAWN 0x12
00215 #define CREATR_SUBTP_FLY 0x13
00216 #define CREATR_SUBTP_MISTRESS 0x14
00217 #define CREATR_SUBTP_WARLOCK 0x15
00218 #define CREATR_SUBTP_BILEDEMN 0x16
00219 #define CREATR_SUBTP_IMP 0x17
00220 #define CREATR_SUBTP_BEETLE 0x18
00221 #define CREATR_SUBTP_VAMPIRE 0x19
00222 #define CREATR_SUBTP_SPIDER 0x1A
00223 #define CREATR_SUBTP_HOUND 0x1B
00224 #define CREATR_SUBTP_GHOST 0x1C
00225 #define CREATR_SUBTP_TENTCL 0x1D
00226 #define CREATR_SUBTP_ORC 0x1E
00227 #define CREATR_SUBTP_FLOAT 0x1F
00228
00229 #define CREATR_SUBTP_NEWA 0x20
00230 #define CREATR_SUBTP_NEWB 0x21
00231
00232 #define DOOR_SUBTYPE_WOOD 0x01
00233 #define DOOR_SUBTYPE_BRACED 0x02
00234 #define DOOR_SUBTYPE_IRON 0x03
00235 #define DOOR_SUBTYPE_MAGIC 0x04
00236
00237
00238 #define TRAP_SUBTYPE_BOULDER 0x01
00239 #define TRAP_SUBTYPE_ALARM 0x02
00240 #define TRAP_SUBTYPE_GAS 0x03
00241 #define TRAP_SUBTYPE_LIGHTNG 0x04
00242 #define TRAP_SUBTYPE_WORDPWR 0x05
00243 #define TRAP_SUBTYPE_LAVA 0x06
00244 #define TRAP_SUBTYPE_DUMMY2 0x07
00245 #define TRAP_SUBTYPE_DUMMY3 0x08
00246 #define TRAP_SUBTYPE_DUMMY4 0x09
00247 #define TRAP_SUBTYPE_DUMMY5 0x0A
00248 #define TRAP_SUBTYPE_DUMMY6 0x0B
00249 #define TRAP_SUBTYPE_DUMMY7 0x0C
00250
00251 #define DOOR_ORIENT_NSPASS 0x00
00252 #define DOOR_ORIENT_EWPASS 0x01
00253 #define DOOR_PASS_UNLOCKED 0x00
00254 #define DOOR_PASS_LOCKED 0x01
00255
00256
00257
00258
00259 #define THING_CATEGR_NULL 0x00
00260 #define THING_CATEGR_EFFCTGEN 0x01
00261 #define THING_CATEGR_ITEMEFFCT 0x02
00262 #define THING_CATEGR_CREATR 0x03
00263 #define THING_CATEGR_CREATLAIR 0x04
00264 #define THING_CATEGR_TRAP 0x05
00265 #define THING_CATEGR_DOOR 0x06
00266 #define THING_CATEGR_SPECIALBOX 0x07
00267 #define THING_CATEGR_SPELLBOOK 0x08
00268 #define THING_CATEGR_WRKSHOPBOX 0x09
00269 #define THING_CATEGR_SPINNTNG 0x0a
00270 #define THING_CATEGR_FOOD 0x0b
00271 #define THING_CATEGR_GOLD 0x0c
00272 #define THING_CATEGR_TORCHCNDL 0x0d
00273 #define THING_CATEGR_HEARTFLAME 0x0e
00274 #define THING_CATEGR_POLEBAR 0x0f
00275 #define THING_CATEGR_STATUE 0x10
00276 #define THING_CATEGR_FURNITURE 0x11
00277 #define THING_CATEGR_ROOMEQUIP 0x12
00278 #define THING_CATEGR_PWHAND 0x13
00279 #define THING_CATEGR_DNCRUCIAL 0x14
00280 #define THING_CATEGR_UNKNOWN 0x15
00281
00282
00283 #define THING_SENSITILE_NONE 0x0ffff
00284
00285 struct LEVEL;
00286 struct IPOINT_2D;
00287
00288 DLLIMPORT unsigned char get_thing_type(const unsigned char *thing);
00289 DLLIMPORT short set_thing_type(unsigned char *thing,unsigned char type_idx);
00290 DLLIMPORT unsigned char get_thing_subtype(const unsigned char *thing);
00291 DLLIMPORT short set_thing_subtype(unsigned char *thing,const unsigned char stype_idx);
00292 DLLIMPORT unsigned char get_thing_owner(const unsigned char *thing);
00293 DLLIMPORT short set_thing_owner(unsigned char *thing,unsigned char plyr_idx);
00294
00295 DLLIMPORT unsigned char get_thing_subtile_x(const unsigned char *thing);
00296 DLLIMPORT unsigned short get_thing_pos_x_adv(const unsigned char *thing);
00297 DLLIMPORT short set_thing_subtile_x(unsigned char *thing,unsigned char pos_x);
00298 DLLIMPORT unsigned char get_thing_subtile_y(const unsigned char *thing);
00299 DLLIMPORT unsigned short get_thing_pos_y_adv(const unsigned char *thing);
00300 DLLIMPORT short set_thing_subtile_y(unsigned char *thing,unsigned char pos_y);
00301 DLLIMPORT unsigned char get_thing_subtile_h(const unsigned char *thing);
00302 DLLIMPORT short set_thing_subtile_h(unsigned char *thing,unsigned char pos_h);
00303 DLLIMPORT short set_thing_subtile(unsigned char *thing,unsigned char pos_x,unsigned char pos_y);
00304 DLLIMPORT unsigned char get_thing_subtpos_x(const unsigned char *thing);
00305 DLLIMPORT short set_thing_subtpos_x(unsigned char *thing,unsigned char pos_x);
00306 DLLIMPORT unsigned char get_thing_subtpos_y(const unsigned char *thing);
00307 DLLIMPORT short set_thing_subtpos_y(unsigned char *thing,unsigned char pos_y);
00308 DLLIMPORT unsigned char get_thing_subtpos_h(const unsigned char *thing);
00309 DLLIMPORT short set_thing_subtpos_h(unsigned char *thing,unsigned char pos_h);
00310 DLLIMPORT short set_thing_subtpos(unsigned char *thing,unsigned char pos_x,unsigned char pos_y);
00311 DLLIMPORT unsigned char get_thing_level(const unsigned char *thing);
00312 DLLIMPORT short set_thing_level(unsigned char *thing,unsigned char lev_num);
00313 DLLIMPORT unsigned short get_thing_sensitile(const unsigned char *thing);
00314 DLLIMPORT short set_thing_sensitile(unsigned char *thing,unsigned short til_num);
00315
00316 DLLIMPORT unsigned char get_door_orientation(const unsigned char *thing);
00317 DLLIMPORT short set_door_orientation(unsigned char *thing,unsigned char orient);
00318 DLLIMPORT unsigned char get_thing_range_subtpos(const unsigned char *thing);
00319 DLLIMPORT short set_thing_range_subtpos(unsigned char *thing,unsigned char rng);
00320 DLLIMPORT unsigned char get_thing_range_subtile(const unsigned char *thing);
00321 DLLIMPORT short set_thing_range_subtile(unsigned char *thing,unsigned char rng);
00322 DLLIMPORT unsigned int get_thing_range_adv(const unsigned char *thing);
00323
00324 DLLIMPORT unsigned char *create_thing_empty(void);
00325 DLLIMPORT unsigned char *create_thing(unsigned int sx, unsigned int sy);
00326 DLLIMPORT unsigned char *create_thing_copy(const struct LEVEL *lvl,unsigned int sx, unsigned int sy,unsigned char *src);
00327 DLLIMPORT unsigned char *create_item(const struct LEVEL *lvl,unsigned int sx, unsigned int sy, unsigned char stype_idx);
00328
00329
00330 DLLIMPORT short is_nulltng(const unsigned char *thing);
00331 DLLIMPORT short is_nulltng_stype(const unsigned char stype_idx);
00332 DLLIMPORT int get_nulltng_arridx(const unsigned char stype_idx);
00333 DLLIMPORT unsigned char get_nulltng_arritm(const int arr_itm);
00334 DLLIMPORT unsigned int get_nulltng_count(void);
00335 DLLIMPORT short is_effectgen(const unsigned char *thing);
00336 DLLIMPORT int get_effectgen_arridx(const unsigned char stype_idx);
00337 DLLIMPORT unsigned char get_effectgen_arritm(const int arr_itm);
00338 DLLIMPORT unsigned int get_effectgen_count(void);
00339 DLLIMPORT short is_itemeffect(const unsigned char *thing);
00340 DLLIMPORT short is_itemeffect_stype(const unsigned char stype_idx);
00341 DLLIMPORT int get_itemeffect_arridx(const unsigned char stype_idx);
00342 DLLIMPORT unsigned char get_itemeffect_arritm(const int arr_itm);
00343 DLLIMPORT unsigned int get_itemeffect_count(void);
00344 DLLIMPORT short is_creature(const unsigned char *thing);
00345 DLLIMPORT int get_creature_arridx(const unsigned char stype_idx);
00346 DLLIMPORT unsigned char get_creature_arritm(const int arr_itm);
00347 DLLIMPORT unsigned int get_creature_count(void);
00348 DLLIMPORT short is_crtrlair(const unsigned char *thing);
00349 DLLIMPORT short is_crtrlair_stype(const unsigned char stype_idx);
00350 DLLIMPORT int get_crtrlair_arridx(const unsigned char stype_idx);
00351 DLLIMPORT unsigned char get_crtrlair_arritm(const int arr_itm);
00352 DLLIMPORT unsigned int get_crtrlair_count(void);
00353 DLLIMPORT short is_trap(const unsigned char *thing);
00354 DLLIMPORT int get_trap_arridx(const unsigned char stype_idx);
00355 DLLIMPORT unsigned char get_trap_arritm(const int arr_itm);
00356 DLLIMPORT unsigned int get_trap_count(void);
00357 DLLIMPORT short is_door(const unsigned char *thing);
00358 DLLIMPORT int get_door_arridx(const unsigned char stype_idx);
00359 DLLIMPORT unsigned char get_door_arritm(const int arr_itm);
00360 DLLIMPORT unsigned int get_door_count(void);
00361 DLLIMPORT short is_dngspecbox(const unsigned char *thing);
00362 DLLIMPORT short is_dngspecbox_stype(const unsigned char stype_idx);
00363 DLLIMPORT int get_dngspecbox_arridx(const unsigned char stype_idx);
00364 DLLIMPORT unsigned char get_dngspecbox_arritm(const int arr_itm);
00365 DLLIMPORT unsigned int get_dngspecbox_count(void);
00366 DLLIMPORT short is_spellbook(const unsigned char *thing);
00367 DLLIMPORT short is_spellbook_stype(const unsigned char stype_idx);
00368 DLLIMPORT int get_spellbook_arridx(const unsigned char stype_idx);
00369 DLLIMPORT unsigned char get_spellbook_arritm(const int arr_itm);
00370 DLLIMPORT unsigned int get_spellbook_count(void);
00371 DLLIMPORT short is_wrkshopbox(const unsigned char *thing);
00372 DLLIMPORT short is_wrkshopbox_stype(const unsigned char stype_idx);
00373 DLLIMPORT int get_wrkshopbox_arridx(const unsigned char stype_idx);
00374 DLLIMPORT unsigned char get_wrkshopbox_arritm(const int arr_itm);
00375 DLLIMPORT unsigned int get_wrkshopbox_count(void);
00376 DLLIMPORT short is_spinningtng(const unsigned char *thing);
00377 DLLIMPORT short is_spinningtng_stype(const unsigned char stype_idx);
00378 DLLIMPORT int get_spinningtng_arridx(const unsigned char stype_idx);
00379 DLLIMPORT unsigned char get_spinningtng_arritm(const int arr_itm);
00380 DLLIMPORT unsigned int get_spinningtng_count(void);
00381 DLLIMPORT short is_food(const unsigned char *thing);
00382 DLLIMPORT short is_food_stype(const unsigned char stype_idx);
00383 DLLIMPORT int get_food_arridx(const unsigned char stype_idx);
00384 DLLIMPORT unsigned char get_food_arritm(const int arr_itm);
00385 DLLIMPORT unsigned int get_food_count(void);
00386 DLLIMPORT short is_gold(const unsigned char *thing);
00387 DLLIMPORT short is_gold_stype(const unsigned char stype_idx);
00388 DLLIMPORT int get_gold_arridx(const unsigned char stype_idx);
00389 DLLIMPORT unsigned char get_gold_arritm(const int arr_itm);
00390 DLLIMPORT unsigned int get_gold_count(void);
00391 DLLIMPORT short is_torchcndl(const unsigned char *thing);
00392 DLLIMPORT short is_torchcndl_stype(const unsigned char stype_idx);
00393 DLLIMPORT int get_torchcndl_arridx(const unsigned char stype_idx);
00394 DLLIMPORT unsigned char get_torchcndl_arritm(const int arr_itm);
00395 DLLIMPORT unsigned int get_torchcndl_count(void);
00396 DLLIMPORT short is_heartflame(const unsigned char *thing);
00397 DLLIMPORT short is_heartflame_stype(const unsigned char stype_idx);
00398 DLLIMPORT int get_heartflame_arridx(const unsigned char stype_idx);
00399 DLLIMPORT unsigned char get_heartflame_arritm(const int arr_itm);
00400 DLLIMPORT unsigned char get_heartflame_next(const unsigned char stype_idx);
00401 DLLIMPORT unsigned char get_heartflame_prev(const unsigned char stype_idx);
00402 DLLIMPORT unsigned int get_heartflame_count(void);
00403 DLLIMPORT short is_polebar(const unsigned char *thing);
00404 DLLIMPORT short is_polebar_stype(const unsigned char stype_idx);
00405 DLLIMPORT int get_polebar_arridx(const unsigned char stype_idx);
00406 DLLIMPORT unsigned char get_polebar_arritm(const int arr_itm);
00407 DLLIMPORT unsigned int get_polebar_count(void);
00408 DLLIMPORT short is_statue(const unsigned char *thing);
00409 DLLIMPORT short is_statue_stype(const unsigned char stype_idx);
00410 DLLIMPORT int get_statue_arridx(const unsigned char stype_idx);
00411 DLLIMPORT unsigned char get_statue_arritm(const int arr_itm);
00412 DLLIMPORT unsigned int get_statue_count(void);
00413 DLLIMPORT short is_furniture(const unsigned char *thing);
00414 DLLIMPORT short is_furniture_stype(const unsigned char stype_idx);
00415 DLLIMPORT int get_furniture_arridx(const unsigned char stype_idx);
00416 DLLIMPORT unsigned char get_furniture_arritm(const int arr_itm);
00417 DLLIMPORT unsigned int get_furniture_count(void);
00418 DLLIMPORT short is_roomequip(const unsigned char *thing);
00419 DLLIMPORT short is_roomequip_stype(const unsigned char stype_idx);
00420 DLLIMPORT int get_roomequip_arridx(const unsigned char stype_idx);
00421 DLLIMPORT unsigned char get_roomequip_arritm(const int arr_itm);
00422 DLLIMPORT unsigned int get_roomequip_count(void);
00423 DLLIMPORT short is_pwhand(const unsigned char *thing);
00424 DLLIMPORT short is_pwhand_stype(const unsigned char stype_idx);
00425 DLLIMPORT int get_pwhand_arridx(const unsigned char stype_idx);
00426 DLLIMPORT unsigned char get_pwhand_arritm(const int arr_itm);
00427 DLLIMPORT unsigned int get_pwhand_count(void);
00428 DLLIMPORT short is_dncrucial(const unsigned char *thing);
00429 DLLIMPORT short is_dncrucial_stype(const unsigned char stype_idx);
00430 DLLIMPORT int get_dncrucial_arridx(const unsigned char stype_idx);
00431 DLLIMPORT unsigned char get_dncrucial_arritm(const int arr_itm);
00432 DLLIMPORT unsigned int get_dncrucial_count(void);
00433
00434 DLLIMPORT short is_false_stype(const unsigned char stype_idx);
00435
00436
00437 DLLIMPORT short is_trapbox(const unsigned char *thing);
00438 DLLIMPORT short is_trapbox_stype(const unsigned char stype_idx);
00439 DLLIMPORT int get_trapbox_arridx(const unsigned char stype_idx);
00440 DLLIMPORT unsigned char get_trapbox_arritm(const int arr_itm);
00441 DLLIMPORT unsigned int get_trapbox_count(void);
00442 DLLIMPORT short is_doorbox(const unsigned char *thing);
00443 DLLIMPORT short is_doorbox_stype(const unsigned char stype_idx);
00444 DLLIMPORT int get_doorbox_arridx(const unsigned char stype_idx);
00445 DLLIMPORT unsigned char get_doorbox_arritm(const int arr_itm);
00446 DLLIMPORT unsigned int get_doorbox_count(void);
00447 DLLIMPORT short is_torch(const unsigned char *thing);
00448 DLLIMPORT short is_torch_stype(const unsigned char stype_idx);
00449 DLLIMPORT int get_torch_arridx(const unsigned char stype_idx);
00450 DLLIMPORT unsigned char get_torch_arritm(const int arr_itm);
00451 DLLIMPORT unsigned int get_torch_count(void);
00452 DLLIMPORT short is_lit_thing(const unsigned char *thing);
00453 DLLIMPORT short is_lit_thing_stype(const unsigned char stype_idx);
00454 DLLIMPORT int get_lit_thing_arridx(const unsigned char stype_idx);
00455 DLLIMPORT unsigned char get_lit_thing_arritm(const int arr_itm);
00456 DLLIMPORT unsigned int get_lit_thing_count(void);
00457
00458 DLLIMPORT short is_herogate(const unsigned char *thing);
00459 DLLIMPORT short is_dnheart(const unsigned char *thing);
00460 DLLIMPORT short is_doorkey(const unsigned char *thing);
00461 DLLIMPORT short is_trainpost(const unsigned char *thing);
00462 DLLIMPORT short is_room_inventory(const unsigned char *thing);
00463 DLLIMPORT short is_clmaffective_thing(const unsigned char *thing);
00464
00465 DLLIMPORT int get_item_category(unsigned char stype_idx);
00466 DLLIMPORT unsigned char get_usual_item_slab(unsigned char stype_idx);
00467 DLLIMPORT unsigned char get_usual_thing_slab(unsigned char *thing);
00468 DLLIMPORT short subtl_in_thing_range(const unsigned char *thing,unsigned int sx,unsigned int sy);
00469 unsigned long get_thing_distance_sqr_adv(const unsigned char *thing,const int ssx,const int ssy);
00470 unsigned long get_thing_distance_adv(const unsigned char *thing,const int ssx,const int ssy);
00471
00472 DLLIMPORT char *get_thing_type_fullname(const unsigned short type_idx);
00473 DLLIMPORT char *get_thing_type_shortname(const unsigned short type_idx);
00474 DLLIMPORT char *get_item_subtype_fullname(const unsigned short stype_idx);
00475 DLLIMPORT char *get_item_subtype_shortname(const unsigned short stype_idx);
00476 DLLIMPORT char *get_creature_subtype_fullname(const unsigned short stype_idx);
00477 DLLIMPORT char *get_creature_subtype_shortname(const unsigned short stype_idx);
00478 DLLIMPORT char *get_trap_subtype_fullname(const unsigned short stype_idx);
00479 DLLIMPORT char *get_door_subtype_fullname(const unsigned short stype_idx);
00480 DLLIMPORT char *get_thing_category_fullname(const unsigned short arr_idx);
00481 DLLIMPORT char *get_thing_category_shortname(const unsigned short arr_idx);
00482 DLLIMPORT char *get_effectgen_subtype_fullname(const unsigned short stype_idx);
00483 DLLIMPORT char *get_thing_subtype_fullname(const unsigned short type_idx,const unsigned short stype_idx);
00484
00485 DLLIMPORT int get_thing_subtypes_arridx(const unsigned char *thing);
00486 DLLIMPORT unsigned int get_thing_subtypes_count(const unsigned short arr_idx);
00487 DLLIMPORT unsigned int get_thing_subtypes_arritem(const unsigned short arr_idx,const int arr_itm);
00488 DLLIMPORT int get_thing_subtypes_arritmidx(const unsigned short arr_idx,const unsigned short stype_idx);
00489 DLLIMPORT thing_subtype_arrayitem get_thing_subtypes_arritem_func(const unsigned short arr_idx);
00490 DLLIMPORT unsigned short get_thing_subtypes_next(const unsigned short arr_idx,const unsigned short stype_idx);
00491 DLLIMPORT unsigned short get_thing_subtypes_prev(const unsigned short arr_idx,const unsigned short stype_idx);
00492 DLLIMPORT short switch_thing_subtype(unsigned char *thing,const short forward);
00493
00494 short thing_verify(unsigned char *thing, struct VERIFY_OPTIONS *verif_opt);
00495
00496 #endif // ADIKT_OBJTHINGS_H