Resets a player's control type back to it's default setting
| 2577 | |
| 2578 | // Resets a player's control type back to it's default setting |
| 2579 | void ResetPlayerControlType(int slot) { |
| 2580 | ASSERT(slot >= 0 && slot < MAX_PLAYERS); |
| 2581 | |
| 2582 | // Init physics |
| 2583 | object *playobj = &Objects[Players[slot].objnum]; |
| 2584 | ship *ship = &Ships[Players[slot].ship_index]; |
| 2585 | |
| 2586 | playobj->mtype.phys_info = Ships[Players[slot].ship_index].phys_info; |
| 2587 | |
| 2588 | vm_MakeZero(&playobj->mtype.phys_info.velocity); |
| 2589 | vm_MakeZero(&playobj->mtype.phys_info.thrust); |
| 2590 | vm_MakeZero(&playobj->mtype.phys_info.rotvel); |
| 2591 | vm_MakeZero(&playobj->mtype.phys_info.rotthrust); |
| 2592 | |
| 2593 | playobj->mtype.phys_info.turnroll = 0; |
| 2594 | |
| 2595 | if (slot == Player_num) { |
| 2596 | SetObjectControlType(playobj, CT_FLYING); |
| 2597 | playobj->movement_type = MT_PHYSICS; |
| 2598 | } else { |
| 2599 | SetObjectControlType(playobj, CT_NONE); |
| 2600 | playobj->movement_type = MT_PHYSICS; |
| 2601 | playobj->mtype.phys_info.flags = PF_FIXED_VELOCITY; |
| 2602 | } |
| 2603 | } |
| 2604 | |
| 2605 | // Makes the player into an AI controlled physics object |
| 2606 | void PlayerSetControlToAI(int slot, float velocity) { |
no test coverage detected