| 300 | } |
| 301 | |
| 302 | int GetDirection16(int x1, int y1, int x2, int y2) |
| 303 | { |
| 304 | BYTE Dirs[16][16] = { |
| 305 | { 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, |
| 306 | { 4, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, |
| 307 | { 4, 3, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, |
| 308 | { 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, |
| 309 | { 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, |
| 310 | { 4, 4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, |
| 311 | { 4, 4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1 }, |
| 312 | { 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1 }, |
| 313 | { 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1 }, |
| 314 | { 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1 }, |
| 315 | { 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1 }, |
| 316 | { 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1 }, |
| 317 | { 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 }, |
| 318 | { 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 }, |
| 319 | { 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2 }, |
| 320 | { 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2 } |
| 321 | }; |
| 322 | BYTE urtoll[5] = { 6, 7, 8, 9, 10 }; |
| 323 | BYTE ultolr[5] = { 6, 5, 4, 3, 2 }; |
| 324 | BYTE lltour[5] = { 14, 13, 12, 11, 10 }; |
| 325 | BYTE lrtoul[5] = { 14, 15, 0, 1, 2 }; |
| 326 | int mx, my, md; |
| 327 | |
| 328 | mx = abs(x2 - x1); |
| 329 | if (mx > 15) |
| 330 | mx = 15; |
| 331 | my = abs(y2 - y1); |
| 332 | if (my > 15) |
| 333 | my = 15; |
| 334 | md = Dirs[my][mx]; |
| 335 | if (x1 > x2) { |
| 336 | if (y1 > y2) |
| 337 | md = urtoll[md]; |
| 338 | else |
| 339 | md = ultolr[md]; |
| 340 | } else if (y1 > y2) { |
| 341 | md = lltour[md]; |
| 342 | } else { |
| 343 | md = lrtoul[md]; |
| 344 | } |
| 345 | return md; |
| 346 | } |
| 347 | |
| 348 | void DeleteMissile(int mi, int i) |
| 349 | { |
no outgoing calls
no test coverage detected