| 7 | #include <types.h> |
| 8 | |
| 9 | void zRumbleStart(S32 pad_id, _tagSDRumbleType rumble_type, xEnt* ent) |
| 10 | { |
| 11 | if (globals.option_vibration == 0) |
| 12 | { |
| 13 | return; |
| 14 | } |
| 15 | |
| 16 | switch (rumble_type) |
| 17 | { |
| 18 | case SDR_Damage: |
| 19 | xPadAddRumble(pad_id, eRumble_Medium, 0.2f, 1, 0); |
| 20 | break; |
| 21 | case SDR_BounceHit: |
| 22 | xPadAddRumble(pad_id, eRumble_Medium, 0.1f, 0, 0); |
| 23 | break; |
| 24 | case SDR_Bounce: |
| 25 | xPadAddRumble(pad_id, eRumble_Heavy, 0.06f, 0, 0); |
| 26 | break; |
| 27 | case SDR_Tiki: |
| 28 | zRumbleStartEntDistance(ent, 5.0f, eRumble_Medium, 0.2f); |
| 29 | break; |
| 30 | case SDR_LassoDestroy: |
| 31 | xPadAddRumble(pad_id, eRumble_Heavy, 0.06f, 0, 0); |
| 32 | break; |
| 33 | case SDR_CruiseBubbleLaunch: |
| 34 | xPadAddRumble(pad_id, eRumble_VeryLight, 0.5f, 1, 1); |
| 35 | break; |
| 36 | case SDR_CruiseBubbleExplode: |
| 37 | xPadAddRumble(pad_id, eRumble_VeryLightHi, 0.1f, 1, 0); |
| 38 | xPadAddRumble(pad_id, eRumble_VeryHeavy, 0.3f, 0, 1); |
| 39 | break; |
| 40 | case SDR_DamageByEGen: |
| 41 | xPadAddRumble(pad_id, eRumble_MediumHi, 0.1f, 1, 0); |
| 42 | break; |
| 43 | case SDR_WebDestroyed: |
| 44 | xPadAddRumble(pad_id, eRumble_VeryLight, 0.1f, 1, 0); |
| 45 | break; |
| 46 | case SDR_XploDestroyedObj: |
| 47 | xPadAddRumble(pad_id, eRumble_Medium, 0.1f, 1, 0); |
| 48 | xPadAddRumble(pad_id, eRumble_Heavy, 0.1f, 0, 1); |
| 49 | break; |
| 50 | case SDR_DustDestroyedObj: |
| 51 | xPadAddRumble(pad_id, eRumble_Light, 0.05f, 1, 0); |
| 52 | xPadAddRumble(pad_id, eRumble_Medium, 0.15f, 0, 1); |
| 53 | break; |
| 54 | case SDR_Test: |
| 55 | xPadAddRumble(pad_id, eRumble_VeryLightHi, 0.5f, 1, 1); |
| 56 | break; |
| 57 | case SDR_EventLight: |
| 58 | xPadAddRumble(pad_id, eRumble_Light, 0.35f, 1, 1); |
| 59 | break; |
| 60 | case SDR_EventMedium: |
| 61 | xPadAddRumble(pad_id, eRumble_Medium, 0.35f, 1, 1); |
| 62 | break; |
| 63 | case SDR_EventHeavy: |
| 64 | xPadAddRumble(pad_id, eRumble_Heavy, 0.35f, 1, 1); |
| 65 | break; |
| 66 | case SDR_TeleportStart: |
no test coverage detected