Example #1
0
void NetClient::SetLocalDrivers()
{
    m_setLocalDrivers.clear();
    m_driverIdx = GetDriverIdx();
    m_setLocalDrivers.insert(m_driverIdx-1);
    GfLogTrace("Adding Human start rank: %i\n",m_driverIdx-1);
}
Example #2
0
void NetClient::SetDriverReady(bool bReady)
{
    // Get local driver index in the race driver list
    int idx = GetDriverIdx();

    NetMutexData *pNData = LockNetworkData();
    pNData->m_vecReadyStatus[idx-1] = bReady;
    UnlockNetworkData();

    PackedBuffer msg;

    try
    {
        msg.pack_ubyte(DRIVERREADY_PACKET);
        msg.pack_int(idx);
        msg.pack_int(bReady);
    }
//    catch (PackedBufferException &e)
    catch (PackedBufferException)
    {
        GfLogFatal("SetDriverReady: packed buffer error\n");
    }
    GfLogTrace("SetDriverReady: packed data length=%d\n", msg.length());

    ENetPacket *pPacket = enet_packet_create (msg.buffer(), 
            msg.length(), 
            ENET_PACKET_FLAG_RELIABLE);

    if (enet_peer_send (m_pServer, RELIABLECHANNEL, pPacket)==0)
        return;
}
Example #3
0
void NetServer::SetLocalDrivers()
{
	m_setLocalDrivers.clear();

	m_driverIdx = GetDriverIdx();
	GfLogTrace("Adding Human start rank: %i\n",m_driverIdx);
	m_setLocalDrivers.insert(m_driverIdx-1);

	assert(m_strRaceXMLFile!="");

	void *params = GfParmReadFileLocal(m_strRaceXMLFile.c_str(),GFPARM_RMODE_STD);
	assert(params);

	//const char *pName =GfParmGetStr(params, RM_SECT_HEADER, RM_ATTR_NAME, "");

    int nCars = GfParmGetEltNb(params, RM_SECT_DRIVERS);	
	//Gather vector of all non human drivers
	std::vector<NetDriver> vecRDrivers;
	for (int i=1;i<=nCars;i++)
	{
		NetDriver driver;
		ReadDriverData(driver,i,params);
		if ((strcmp(driver.module,NETWORKROBOT)!=0)
			&&(strcmp(driver.module,HUMANROBOT)!=0))
		{
			m_setLocalDrivers.insert(i-1);
			GfLogTrace("Adding driver start rank:%i\n",i);
		}
	}
}
Example #4
0
void NetServer::SetDriverReady(bool bReady)
{
	int idx = GetDriverIdx();

	NetMutexData *pNData = LockNetworkData();
	pNData->m_vecReadyStatus[idx-1] = bReady;
	UnlockNetworkData();

	Dump("NetServer::SetDriverReady");

	SendDriversReadyPacket();
}