| 1590 | } |
| 1591 | |
| 1592 | void zNPCDutchman::update_fade(F32 delay) |
| 1593 | { |
| 1594 | F32 frac; |
| 1595 | if (flag.fade != FADE_TELEPORT) |
| 1596 | { |
| 1597 | if (flag.fade < 1) |
| 1598 | { |
| 1599 | if (flag.fade < 4) |
| 1600 | { |
| 1601 | fade.time = fade.time + delay; |
| 1602 | if (fade.time >= fade.duration) |
| 1603 | { |
| 1604 | flag.fade = FADE_TELEPORT; |
| 1605 | disable_emitter(*fadeout_emitter); |
| 1606 | set_alpha(0.0f); |
| 1607 | vanish(); |
| 1608 | set_volume(2, fade.sound_handle, 1.0f); |
| 1609 | } |
| 1610 | else |
| 1611 | { |
| 1612 | frac = fade.time * fade.iduration; |
| 1613 | set_alpha(1.0f - frac); |
| 1614 | set_volume(2, fade.sound_handle, frac); |
| 1615 | } |
| 1616 | } |
| 1617 | } |
| 1618 | else if (flag.fade < 4) |
| 1619 | { |
| 1620 | fade.time = fade.time + delay; |
| 1621 | if (fade.time >= fade.duration) |
| 1622 | { |
| 1623 | flag.fade = FADE_NONE; |
| 1624 | disable_emitter(*fadein_emitter); |
| 1625 | disable_emitter(*dissolve_emitter); |
| 1626 | set_alpha(1.0f); |
| 1627 | stop_eye_glow(); |
| 1628 | stop_hand_trail(); |
| 1629 | reappear(); |
| 1630 | kill_sound(2, fade.sound_handle); |
| 1631 | fade.sound_handle = 0; |
| 1632 | } |
| 1633 | else |
| 1634 | { |
| 1635 | frac = fade.time * fade.iduration; |
| 1636 | set_alpha(frac); |
| 1637 | set_volume(2, fade.sound_handle, 1.0f - frac); |
| 1638 | } |
| 1639 | } |
| 1640 | } |
| 1641 | } |
| 1642 | |
| 1643 | void zNPCDutchman::add_splash(const xVec3&, float) |
| 1644 | { |
nothing calls this directly
no test coverage detected