Ejemplo n.º 1
0
/*
 * Function
 *	main
 *
 * Description
 *	LINUX entry point of TORCS
 *
 * Parameters
 *
 *
 * Return
 *
 *
 * Remarks
 *
 */
int
main(int argc, char *argv[])
{
	const char *raceconfig = "";

	init_args(argc, argv, &raceconfig);
	LinuxSpecInit();			/* init specific linux functions */

	if(strlen(raceconfig) == 0) {
		GfScrInit(argc, argv);	/* init screen */
		TorcsEntry();			/* launch TORCS */
		glutMainLoop();			/* event loop of glut */
	} else {
		// Run race from console, no Window, no OpenGL/OpenAL etc.
		// Thought for blind scripted AI training
		ReRunRaceOnConsole(raceconfig);
	}

	return 0;					/* just for the compiler, never reached */
}
Ejemplo n.º 2
0
int
main(int argc, char *argv[])
{

//////////////////////////////////////////// by Chenyi 
    struct shared_use_st *shared = NULL;
    int shmid;  
    // establish memory sharing 
    shmid = shmget((key_t)4567, sizeof(struct shared_use_st), 0666|IPC_CREAT);  
    if(shmid == -1)  
    {  
        fprintf(stderr, "shmget failed\n");  
        exit(EXIT_FAILURE);  
    }  
  
    shm = shmat(shmid, 0, 0);  
    if(shm == (void*)-1)  
    {  
        fprintf(stderr, "shmat failed\n");  
        exit(EXIT_FAILURE);  
    }  
    printf("\n********** Memory sharing started, attached at %X **********\n \n", shm);  
    // set up shared memory 
    shared = (struct shared_use_st*)shm;  
    shared->written = 0;
    shared->control = 0;
    shared->pause = 0;
    shared->fast = 0.0;

    shared->dist_L = 0.0;
    shared->dist_R = 0.0;

    shared->toMarking_L = 0.0;
    shared->toMarking_M = 0.0;
    shared->toMarking_R = 0.0;

    shared->dist_LL = 0.0;
    shared->dist_MM = 0.0;
    shared->dist_RR = 0.0;

    shared->toMarking_LL = 0.0;
    shared->toMarking_ML = 0.0;
    shared->toMarking_MR = 0.0;
    shared->toMarking_RR = 0.0;

    shared->toMiddle = 0.0;
    shared->angle = 0.0;
    shared->speed = 0.0;

    shared->steerCmd = 0.0;
    shared->accelCmd = 0.0;
    shared->brakeCmd = 0.0;

    pwritten=&shared->written;
    pdata=shared->data;
    pcontrol=&shared->control;
    ppause=&shared->pause;

    psteerCmd_ghost=&shared->steerCmd;
    paccelCmd_ghost=&shared->accelCmd;
    pbrakeCmd_ghost=&shared->brakeCmd;

    pspeed_ghost=&shared->speed;
    ptoMiddle_ghost=&shared->toMiddle;
    pangle_ghost=&shared->angle;

    pfast_ghost=&shared->fast;

    pdist_L_ghost=&shared->dist_L;
    pdist_R_ghost=&shared->dist_R;

    ptoMarking_L_ghost=&shared->toMarking_L;
    ptoMarking_M_ghost=&shared->toMarking_M;
    ptoMarking_R_ghost=&shared->toMarking_R;

    pdist_LL_ghost=&shared->dist_LL;
    pdist_MM_ghost=&shared->dist_MM;
    pdist_RR_ghost=&shared->dist_RR;

    ptoMarking_LL_ghost=&shared->toMarking_LL;
    ptoMarking_ML_ghost=&shared->toMarking_ML;
    ptoMarking_MR_ghost=&shared->toMarking_MR;
    ptoMarking_RR_ghost=&shared->toMarking_RR;
/////////////////////////////////////////// by Chenyi

	const char *raceconfig = "";

	init_args(argc, argv, &raceconfig);
	LinuxSpecInit();			/* init specific linux functions */

	if(strlen(raceconfig) == 0) {
		GfScrInit(argc, argv);	/* init screen */
		TorcsEntry();			/* launch TORCS */
		glutMainLoop();			/* event loop of glut */
	} else {
		// Run race from console, no Window, no OpenGL/OpenAL etc.
		// Thought for blind scripted AI training
		ReRunRaceOnConsole(raceconfig);
	}

	return 0;					/* just for the compiler, never reached */
}