| 2185 | if (!vehicle) |
| 2186 | { |
| 2187 | return; |
| 2188 | } |
| 2189 | |
| 2190 | int dir = where / N_MOVE_DIST; |
| 2191 | int dist = where - dir * N_MOVE_DIST; |
| 2192 | float angle = (2 * H_PI / N_MOVE_DIR) * dir; |
| 2193 | float distance = 0; |
| 2194 | switch (dist) |
| 2195 | { |
| 2196 | case 0: |
| 2197 | distance = 50; |
| 2198 | break; |
| 2199 | case 1: |
| 2200 | distance = 100; |
| 2201 | break; |
| 2202 | case 2: |
| 2203 | distance = 200; |
| 2204 | break; |
| 2205 | case 3: |
| 2206 | distance = 500; |
| 2207 | break; |
| 2208 | case 4: |
| 2209 | distance = 1000; |
| 2210 | break; |
| 2211 | case 5: |
| 2212 | distance = 2000; |
| 2213 | break; |
| 2214 | } |
| 2215 | Matrix3 rotY(MRotationY, angle); |
| 2216 | Vector3 move = Vector3(0, 0, distance) * rotY; |
| 2217 | Vector3 pos = vehicle->Position() + move; |
| 2218 | |
| 2219 | if (vehicle->IsLocal()) |
no test coverage detected