00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef ADIKT_OBJCOLDEF_H
00021 #define ADIKT_OBJCOLDEF_H
00022
00023 #include "globals.h"
00024
00025
00026 #define COLUMN_WIB_STATIC 0x00
00027 #define COLUMN_WIB_SKEW 0x01
00028 #define COLUMN_WIB_ANIMATE 0x02
00029
00030
00031 #define TILE_WLB_SOLID 0x00
00032 #define TILE_WLB_LAVA 0x01
00033 #define TILE_WLB_WATER 0x02
00034
00035 struct COLUMN_REC {
00036 unsigned int use;
00037 short permanent;
00038 unsigned short lintel;
00039 unsigned short height;
00040
00041
00042 unsigned int solid;
00043
00044 unsigned int base;
00045
00046 short orientation;
00047
00048 unsigned int c[8];
00049 };
00050
00051
00052
00053 DLLIMPORT struct COLUMN_REC *create_column_rec(void);
00054 DLLIMPORT struct COLUMN_REC *create_column_recp(void);
00055 DLLIMPORT void free_column_rec(struct COLUMN_REC *clm_rec);
00056 DLLIMPORT void clear_clm_entry(unsigned char *clmentry);
00057 DLLIMPORT void fill_column_rec_simp(struct COLUMN_REC *clm_rec, unsigned int use, int base,
00058 int c0, int c1, int c2, int c3, int c4, int c5, int c6, int c7);
00059 DLLIMPORT void fill_column_rec_sim(struct COLUMN_REC *clm_rec, unsigned int use, int base,
00060 int c0, int c1, int c2, int c3, int c4, int c5, int c6, int c7);
00061 DLLIMPORT void fill_column_rec_autosh(struct COLUMN_REC *clm_rec, const unsigned int use,
00062 const int permanent, const int lintel, const int base,
00063 const int c0, const int c1, const int c2, const int c3,
00064 const int c4, const int c5, const int c6, const int c7);
00065 DLLIMPORT void fill_column_rec(struct COLUMN_REC *clm_rec, const unsigned int use,
00066 const int permanent, const int lintel, const int height,
00067 const unsigned int solid, const int base, const int orientation,
00068 const int c0, const int c1, const int c2, const int c3,
00069 const int c4, const int c5, const int c6, const int c7);
00070 DLLIMPORT unsigned short compute_clm_rec_height(const struct COLUMN_REC *clm_rec);
00071 DLLIMPORT unsigned short compute_clm_rec_solid(const struct COLUMN_REC *clm_rec);
00072 DLLIMPORT short compare_column_recs(struct COLUMN_REC *clm_rec1, struct COLUMN_REC *clm_rec2);
00073 DLLIMPORT short clm_rec_copy(struct COLUMN_REC *dest_rec,const struct COLUMN_REC *src_rec);
00074
00075
00076
00077 DLLIMPORT void set_clm_entry(unsigned char *clmentry, struct COLUMN_REC *clm_rec);
00078 DLLIMPORT void get_clm_entry(struct COLUMN_REC *clm_rec, const unsigned char *clmentry);
00079
00080
00081
00082 DLLIMPORT short compare_column_entries(const unsigned char *clmentry1, const unsigned char *clmentry2);
00083 DLLIMPORT unsigned int get_clm_entry_use(const unsigned char *clmentry);
00084 DLLIMPORT unsigned int clm_entry_use_inc(unsigned char *clmentry);
00085 DLLIMPORT unsigned int clm_entry_use_dec(unsigned char *clmentry);
00086 DLLIMPORT short get_clm_entry_permanent(const unsigned char *clmentry);
00087 DLLIMPORT void set_clm_entry_permanent(unsigned char *clmentry,short nperm);
00088 DLLIMPORT unsigned short get_clm_entry_height(const unsigned char *clmentry);
00089 DLLIMPORT unsigned short get_clm_entry_solid(const unsigned char *clmentry);
00090 DLLIMPORT unsigned short get_clm_entry_base(const unsigned char *clmentry);
00091 DLLIMPORT unsigned short get_clm_entry_topcube(const unsigned char *clmentry);
00092
00093
00094 short clm_verify_entry(const unsigned char *clmentry, char *err_msg);
00095 DLLIMPORT short cube_wib_animate(unsigned int cube);
00096 DLLIMPORT short is_animated_cube(unsigned int cube);
00097 unsigned short column_wib_entry(struct COLUMN_REC *clm_rec,
00098 struct COLUMN_REC *clm_rec_n,struct COLUMN_REC *clm_rec_w,struct COLUMN_REC *clm_rec_nw);
00099 DLLIMPORT char *get_cube_fullname(unsigned short idx);
00100
00101
00102
00103 void fill_column_path(struct COLUMN_REC *clm_rec, unsigned char owner);
00104 void fill_column_claimedgnd_centr(struct COLUMN_REC *clm_rec, unsigned char owner);
00105 void fill_column_claimedgnd_surr(struct COLUMN_REC *clm_rec, unsigned char owner);
00106 void fill_column_claimedgnd_nearwater(struct COLUMN_REC *clm_rec, unsigned char owner);
00107 void fill_column_claimedgnd_nearlava(struct COLUMN_REC *clm_rec, unsigned char owner);
00108 void fill_column_lava(struct COLUMN_REC *clm_rec, unsigned char owner);
00109 void fill_column_water(struct COLUMN_REC *clm_rec, unsigned char owner);
00110 void fill_column_earthground(struct COLUMN_REC *clm_rec, unsigned char owner);
00111 void fill_column_rockground(struct COLUMN_REC *clm_rec, unsigned char owner);
00112 void fill_column_rock_gndlev(struct COLUMN_REC *clm_rec, unsigned char owner);
00113 void fill_column_wallground_nearwater(struct COLUMN_REC *clm_rec, unsigned char owner);
00114 void fill_column_wallground_nearlava(struct COLUMN_REC *clm_rec, unsigned char owner);
00115
00116
00117
00118 void place_column_doorwood_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00119 void place_column_doorwood_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00120 void place_column_doorwood_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00121 void place_column_doorbrace_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00122 void place_column_doorbrace_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00123 void place_column_doorbrace_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00124 void place_column_dooriron_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00125 void place_column_dooriron_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00126 void place_column_dooriron_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00127 void place_column_doormagic_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00128 void place_column_doormagic_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00129 void place_column_doormagic_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00130
00131
00132
00133 void fill_column_rock(struct COLUMN_REC *clm_rec, unsigned char owner);
00134 void place_column_rock(struct COLUMN_REC *clm_rec, unsigned char owner);
00135 void fill_column_gold(struct COLUMN_REC *clm_rec, unsigned char owner);
00136 void fill_column_gold_nearwater(struct COLUMN_REC *clm_rec, unsigned char owner);
00137 void fill_column_gold_nearlava(struct COLUMN_REC *clm_rec, unsigned char owner);
00138 void fill_column_earth(struct COLUMN_REC *clm_rec, unsigned char owner);
00139 void fill_column_earth_nearwater(struct COLUMN_REC *clm_rec, unsigned char owner);
00140 void fill_column_earth_nearlava(struct COLUMN_REC *clm_rec, unsigned char owner);
00141 void fill_column_gem(struct COLUMN_REC *clm_rec, unsigned char owner);
00142
00143
00144
00145 void fill_column_wall_centr(struct COLUMN_REC *clm_rec, unsigned char owner);
00146 void fill_column_wall_cobblestones(struct COLUMN_REC *clm_rec, unsigned char owner);
00147 void place_column_wall_cobblestones(struct COLUMN_REC *clm_rec, unsigned char owner);
00148 void place_column_wall_cobblestones_mk(struct COLUMN_REC *clm_rec, unsigned char owner);
00149 void place_column_wall_redsmbrick_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00150 void place_column_wall_redsmbrick_dkbtm(struct COLUMN_REC *clm_rec, unsigned char owner);
00151 void place_column_wall_redsmbrick_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00152 void place_column_wall_redsmbrick(struct COLUMN_REC *clm_rec, unsigned char owner);
00153 void fill_column_wall_redsmbrick_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00154 void fill_column_wall_redsmbrick_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00155 void fill_column_wall_redsmbrick_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00156 void fill_column_wall_redsmbrick_a_nearwater(struct COLUMN_REC *clm_rec, unsigned char owner);
00157 void fill_column_wall_redsmbrick_a_nearlava(struct COLUMN_REC *clm_rec, unsigned char owner);
00158 void fill_column_wall_redsmbrick_c_nearwater(struct COLUMN_REC *clm_rec, unsigned char owner);
00159 void fill_column_wall_redsmbrick_c_nearlava(struct COLUMN_REC *clm_rec, unsigned char owner);
00160
00161 void fill_column_wall_drapebrick_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00162 void fill_column_wall_drapebrick_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00163 void fill_column_wall_drapebrick_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00164 void fill_column_wall_twinsbrick_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00165 void fill_column_wall_twinsbrick_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00166 void fill_column_wall_twinsbrick_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00167 void fill_column_wall_womanbrick_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00168 void fill_column_wall_womanbrick_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00169 void fill_column_wall_womanbrick_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00170 void fill_column_wall_pairshrbrick_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00171 void fill_column_wall_pairshrbrick_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00172 void fill_column_wall_pairshrbrick_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00173
00174 void place_column_wall_drape_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00175 void place_column_wall_drape_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00176 void place_column_wall_drape_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00177
00178
00179
00180 void fill_column_library_pillar(struct COLUMN_REC *clm_rec, unsigned char owner);
00181 void place_column_library_bookcase_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00182 void place_column_library_bookcase_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00183 void place_column_library_bookcase_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00184 void place_column_temple_pillar(struct COLUMN_REC *clm_rec, unsigned char owner);
00185 void fill_column_temple_floor(struct COLUMN_REC *clm_rec, unsigned char owner);
00186 void place_column_temple_corner(struct COLUMN_REC *clm_rec, unsigned char owner);
00187 void place_column_temple_edge(struct COLUMN_REC *clm_rec, unsigned char owner);
00188 void fill_column_dungheart_floor(struct COLUMN_REC *clm_rec, unsigned char owner);
00189 void fill_column_dungheart_pillar(struct COLUMN_REC *clm_rec, unsigned char owner);
00190 void fill_column_dungheart_inside(struct COLUMN_REC *clm_rec, unsigned char owner);
00191 void place_column_univ_stair(struct COLUMN_REC *clm_rec, unsigned char owner);
00192 void place_column_dungheart_raise(struct COLUMN_REC *clm_rec, unsigned char owner);
00193 void fill_column_portal_edge(struct COLUMN_REC *clm_rec, unsigned char owner);
00194 void fill_column_portal_floor(struct COLUMN_REC *clm_rec, unsigned char owner);
00195 void fill_column_portal_pillar(struct COLUMN_REC *clm_rec, unsigned char owner);
00196 void fill_column_portal_step(struct COLUMN_REC *clm_rec, unsigned char owner);
00197 void fill_column_portal_inside_cntr(struct COLUMN_REC *clm_rec, unsigned char owner);
00198 void fill_column_hatchery_inside(struct COLUMN_REC *clm_rec, unsigned char owner);
00199 void fill_column_hatchery_edge(struct COLUMN_REC *clm_rec, unsigned char owner);
00200 void fill_column_hatchery_pillar(struct COLUMN_REC *clm_rec, unsigned char owner);
00201 void fill_column_lair_inside(struct COLUMN_REC *clm_rec, unsigned char owner);
00202 void fill_column_graveyard_inside(struct COLUMN_REC *clm_rec, unsigned char owner);
00203 void place_column_barracks_raise(struct COLUMN_REC *clm_rec, unsigned char owner);
00204 void fill_column_barracks_floor(struct COLUMN_REC *clm_rec, unsigned char owner);
00205 void fill_column_barracks_pillar(struct COLUMN_REC *clm_rec, unsigned char owner);
00206 void fill_column_training_floor(struct COLUMN_REC *clm_rec, unsigned char owner);
00207 void fill_column_training_pillar(struct COLUMN_REC *clm_rec, unsigned char owner);
00208 void fill_column_treasure_floor(struct COLUMN_REC *clm_rec, unsigned char owner);
00209 void fill_column_treasure_pillar(struct COLUMN_REC *clm_rec, unsigned char owner);
00210 void fill_column_workshop_floor(struct COLUMN_REC *clm_rec, unsigned char owner);
00211 void fill_column_workshop_pillar(struct COLUMN_REC *clm_rec, unsigned char owner);
00212 void fill_column_scavenger_floor(struct COLUMN_REC *clm_rec, unsigned char owner);
00213 void fill_column_scavenger_pillar(struct COLUMN_REC *clm_rec, unsigned char owner);
00214 void fill_column_scavenger_inside_cntr(struct COLUMN_REC *clm_rec, unsigned char owner);
00215 void fill_column_prison_inside(struct COLUMN_REC *clm_rec, unsigned char owner);
00216 void fill_column_guardpost_floor_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00217 void fill_column_guardpost_floor_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00218 void fill_column_guardpost_floor_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00219 void fill_column_bridge_inside(struct COLUMN_REC *clm_rec, unsigned char owner);
00220
00221
00222
00223 void place_column_wall_portal_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00224 void place_column_wall_portal_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00225 void place_column_wall_treasure_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00226 void place_column_wall_treasure_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00227 void place_column_wall_treasure_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00228 void place_column_wall_training_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00229 void place_column_wall_training_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00230 void place_column_wall_training_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00231 void place_column_wall_library_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00232 void place_column_wall_library_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00233 void place_column_wall_library_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00234 void place_column_wall_scavenger_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00235 void place_column_wall_scavenger_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00236 void place_column_wall_scavenger_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00237 void place_column_wall_graveyard_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00238 void place_column_wall_graveyard_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00239 void place_column_wall_graveyard_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00240 void place_column_wall_lair_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00241 void place_column_wall_lair_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00242 void place_column_wall_lair_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00243 void place_column_wall_laircrnr_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00244 void place_column_wall_laircrnr_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00245 void place_column_wall_laircrnr_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00246 void place_column_wall_workshop_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00247 void place_column_wall_workshop_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00248 void place_column_wall_workshop_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00249 void place_column_wall_prison_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00250 void place_column_wall_prison_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00251 void place_column_wall_prison_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00252 void place_column_wall_torture_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00253 void place_column_wall_torture_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00254 void place_column_wall_torture_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00255 void place_column_wall_barracks_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00256 void place_column_wall_barracks_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00257 void place_column_wall_barracks_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00258 void place_column_wall_temple_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00259 void place_column_wall_temple_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00260 void place_column_wall_temple_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00261 void place_column_wall_hatchery_a(struct COLUMN_REC *clm_rec, unsigned char owner);
00262 void place_column_wall_hatchery_b(struct COLUMN_REC *clm_rec, unsigned char owner);
00263 void place_column_wall_hatchery_c(struct COLUMN_REC *clm_rec, unsigned char owner);
00264
00265 #endif // ADIKT_OBJCOLDEF_H