/** Sets the kart position and controls to the recorded history value. * \param dt Time step size. */ void History::updateReplay(float dt) { m_current++; if(m_current>=(int)m_all_deltas.size()) { printf("Replay finished.\n"); exit(2); } World *world = World::getWorld(); unsigned int num_karts = world->getNumKarts(); for(unsigned k=0; k<num_karts; k++) { Kart *kart = world->getKart(k); unsigned int index=m_current*num_karts+k; if(m_replay_mode==HISTORY_POSITION) { kart->setXYZ(m_all_xyz[index]); kart->setRotation(m_all_rotations[index]); } else { kart->setControls(m_all_controls[index]); } } } // updateReplay
// ---------------------------------------------------------------------------- KartUpdateMessage::KartUpdateMessage(ENetPacket* pkt) : Message(pkt, MT_KART_INFO) { World *world = World::getWorld(); unsigned int num_karts = getInt(); for(unsigned int i=0; i<num_karts; i++) { // Currently not used KartControl kc(this); Vec3 xyz = getVec3(); btQuaternion q = getQuaternion(); Kart *kart = world->getKart(i); kart->setXYZ(xyz); kart->setRotation(q); } // for i }; // KartUpdateMessage