void GameServer::InitializePuppet(u8 playerType) { ComposeIntroMessage(ms_networkIdCounter); s8 playerClass[32]; strcpy(playerClass, m_playerTypes[(PlayerType)playerType].c_str()); PlayerController* puppet = new PlayerController(&m_gc, m_resources, m_spawnPoint.x, m_spawnPoint.y, playerClass, (PlayerType)playerType); puppet->ConnectSlots(m_drawSignal, m_updateSignal); puppet->SetEnvList(m_level->GetCollidableObjects()); puppet->SetEnemyList(m_level->GetHostiles()); puppet->SetDestructiblesList(m_level->GetDestructibles()); //Add puppet to the list of networkPlayets m_networkIds.push_back(ms_networkIdCounter); m_networkPlayers.insert(std::pair<u8, PlayerController*>(ms_networkIdCounter, puppet)); //Add puppet to the list of players m_players->push_back(puppet); m_level->GetHostiles()->push_back(puppet); ComposeNewClientMessage(ms_networkIdCounter, playerType); ms_networkIdCounter++; }