| 1341 | } |
| 1342 | |
| 1343 | void update_hud(F32 dt) |
| 1344 | { |
| 1345 | if (hud.gizmos_used == 0) |
| 1346 | { |
| 1347 | return; |
| 1348 | } |
| 1349 | |
| 1350 | hud.alpha = range_limit<F32>(hud.alpha_vel * dt + hud.alpha, 0.0f, 1.0f); |
| 1351 | hud.glow = range_limit<F32>(hud.glow_vel * dt + hud.glow, 0.0f, 1.0f); |
| 1352 | |
| 1353 | // scheduling off |
| 1354 | F32 vel_frac = ((state_missle_fly*)shared.states[STATE_MISSLE_FLY])->vel / |
| 1355 | current_tweak->missle.fly.max_vel; |
| 1356 | |
| 1357 | hud.uv_wind.offset_vel.assign(current_tweak->hud.wind.du, current_tweak->hud.wind.dv); |
| 1358 | hud.uv_wind.offset_vel *= vel_frac; |
| 1359 | hud.model.wind->Alpha = vel_frac; |
| 1360 | hud.uv_wind.update(dt); |
| 1361 | |
| 1362 | // sheduling off for i and zEntCruiseBubble_f_n1_0 |
| 1363 | for (S32 i = 1; i < hud.gizmos_used; ++i) |
| 1364 | { |
| 1365 | if (!(hud.gizmo[i].flags & 0x1)) |
| 1366 | { |
| 1367 | hud.gizmo[i].alpha_vel = -1.0f / current_tweak->hud.time_fade; |
| 1368 | } |
| 1369 | } |
| 1370 | |
| 1371 | S32 i = 0; |
| 1372 | while (i < hud.gizmos_used) |
| 1373 | { |
| 1374 | update_gizmo(hud.gizmo[i], dt); |
| 1375 | if (hud.gizmo[i].alpha <= 0.0f) |
| 1376 | { |
| 1377 | hud.gizmos_used -= 1; |
| 1378 | hud.gizmo[i] = hud.gizmo[hud.gizmos_used]; |
| 1379 | } |
| 1380 | else |
| 1381 | { |
| 1382 | ++i; |
| 1383 | } |
| 1384 | } |
| 1385 | |
| 1386 | for (S32 i = 1; i < hud.gizmos_used; ++i) |
| 1387 | { |
| 1388 | hud.gizmo[i].flags &= 0xfffffffe; |
| 1389 | } |
| 1390 | } |
| 1391 | |
| 1392 | void uv_animated_model::update(F32 dt) |
| 1393 | { |
no test coverage detected