MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / ResetPlayerControlType

Function ResetPlayerControlType

Descent3/Player.cpp:2579–2603  ·  view source on GitHub ↗

Resets a player's control type back to it's default setting

Source from the content-addressed store, hash-verified

2577
2578// Resets a player's control type back to it's default setting
2579void 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
2606void PlayerSetControlToAI(int slot, float velocity) {

Callers 3

Calls 2

vm_MakeZeroFunction · 0.85
SetObjectControlTypeFunction · 0.85

Tested by

no test coverage detected