… | |
… | |
104 | } |
104 | } |
105 | |
105 | |
106 | if (i >= 0) |
106 | if (i >= 0) |
107 | { |
107 | { |
108 | maptile *m = newmap; |
108 | maptile *m = newmap; |
109 | sint16 nx = x + freearr_x[i]; |
109 | sint16 nx = x + DIRX (i); |
110 | sint16 ny = y + freearr_y[i]; |
110 | sint16 ny = y + DIRY (i); |
111 | |
111 | |
112 | if (xy_normalise (m, nx, ny)) |
112 | if (xy_normalise (m, nx, ny)) |
113 | { |
113 | { |
114 | newmap = m; |
114 | newmap = m; |
115 | x = nx; |
115 | x = nx; |
… | |
… | |
151 | |
151 | |
152 | if (i < 0) |
152 | if (i < 0) |
153 | golem->drop_and_destroy (); |
153 | golem->drop_and_destroy (); |
154 | else |
154 | else |
155 | { |
155 | { |
156 | newmap->insert (golem, x + freearr_x[i], y + freearr_y[i]); |
156 | newmap->insert (golem, x + DIRX (i), y + DIRY (i)); |
157 | golem->direction = find_dir_2 (golem->x - x, golem->y - y); |
157 | golem->direction = find_dir_2 (golem->x - x, golem->y - y); |
158 | } |
158 | } |
159 | } |
159 | } |
160 | } |
160 | } |
161 | |
161 | |
… | |
… | |
237 | // used for the inner loop |
237 | // used for the inner loop |
238 | if (_i < actives.size ()) // HACK, rely on _i :/ |
238 | if (_i < actives.size ()) // HACK, rely on _i :/ |
239 | { |
239 | { |
240 | object *next = actives [_i + 1]; |
240 | object *next = actives [_i + 1]; |
241 | |
241 | |
242 | prefetch (&next->flag , 0, 1); |
242 | ecb_prefetch (&next->flag , 0, 1); |
243 | prefetch (&next->speed , 0, 1); |
243 | ecb_prefetch (&next->speed , 0, 1); |
244 | prefetch (&next->anim_speed, 0, 1); |
244 | ecb_prefetch (&next->anim_speed, 0, 1); |
245 | prefetch (&next->contr , 0, 1); |
245 | ecb_prefetch (&next->contr , 0, 1); |
246 | } |
246 | } |
247 | |
247 | |
248 | /* Now process op */ |
248 | /* Now process op */ |
249 | if (expect_false (op->flag [FLAG_FREED])) |
249 | if (expect_false (op->flag [FLAG_FREED])) |
250 | { |
250 | { |