| 19 | void CRocketLauncher::Load(LPCSTR section) { m_fLaunchSpeed = pSettings->r_float(section, "launch_speed"); } |
| 20 | |
| 21 | void CRocketLauncher::SpawnRocket(LPCSTR rocket_section, CGameObject* parent_rocket_launcher) |
| 22 | { |
| 23 | CSE_Abstract* D = F_entity_Create(rocket_section); |
| 24 | R_ASSERT(D); |
| 25 | CSE_Temporary* l_tpTemporary = smart_cast<CSE_Temporary*>(D); |
| 26 | R_ASSERT(l_tpTemporary); |
| 27 | l_tpTemporary->m_tNodeID = parent_rocket_launcher->ai_location().level_vertex_id(); |
| 28 | // Fill |
| 29 | D->s_name = rocket_section; |
| 30 | D->set_name_replace(""); |
| 31 | |
| 32 | D->s_gameid = u8(GameID()); |
| 33 | D->s_RP = 0xff; |
| 34 | D->ID = 0xffff; |
| 35 | D->ID_Parent = parent_rocket_launcher->ID(); |
| 36 | D->ID_Phantom = 0xffff; |
| 37 | D->s_flags.assign(M_SPAWN_OBJECT_LOCAL); |
| 38 | D->RespawnTime = 0; |
| 39 | |
| 40 | // Send |
| 41 | NET_Packet P; |
| 42 | D->Spawn_Write(P, TRUE); |
| 43 | Level().Send(P, net_flags(TRUE)); |
| 44 | // Destroy |
| 45 | F_entity_Destroy(D); |
| 46 | } |
| 47 | |
| 48 | void CRocketLauncher::AttachRocket(u16 rocket_id, CGameObject* parent_rocket_launcher) |
| 49 | { |
nothing calls this directly
no test coverage detected