… | |
… | |
1195 | middle = 0; |
1195 | middle = 0; |
1196 | |
1196 | |
1197 | if (top == middle) |
1197 | if (top == middle) |
1198 | middle = 0; |
1198 | middle = 0; |
1199 | |
1199 | |
|
|
1200 | // dire hack to handle "transparent" floors - currently only open_space |
|
|
1201 | if (floor && floor->arch->archname == shstr_quad_open_space |
|
|
1202 | && !middle) |
|
|
1203 | { |
|
|
1204 | floor->set_anim_frame (0); |
|
|
1205 | |
|
|
1206 | if (maptile *m = floor->map->tile_map [TILE_DOWN]) |
|
|
1207 | { |
|
|
1208 | // mirror the floor - very unreliable because usually outdated, |
|
|
1209 | // but somewhta works because floors do not change often :/ |
|
|
1210 | middle = floor; |
|
|
1211 | |
|
|
1212 | mapspace &ms = m->at (floor->x, floor->y); |
|
|
1213 | |
|
|
1214 | ms.update (); |
|
|
1215 | |
|
|
1216 | if (object *floor2 = ms.faces_obj [2]) |
|
|
1217 | if (floor2->arch->archname != shstr_quad_open_space) |
|
|
1218 | { |
|
|
1219 | floor->set_anim_frame (1); |
|
|
1220 | middle = floor; |
|
|
1221 | floor = floor2; |
|
|
1222 | } |
|
|
1223 | } |
|
|
1224 | } |
|
|
1225 | |
1200 | #if 0 |
1226 | #if 0 |
1201 | faces_obj [0] = top; |
1227 | faces_obj [0] = top; |
1202 | faces_obj [1] = middle; |
1228 | faces_obj [1] = middle; |
1203 | faces_obj [2] = floor; |
1229 | faces_obj [2] = floor; |
1204 | #endif |
1230 | #endif |