Esempio n. 1
0
int Environment::askQuestion(char *fTitle, char *fText)
{
  Element *fQuestionBackground;
  Element *fQuestionText;
  Element *fQuestionTitle;

  FontResource *tFont;

  fQuestionBackground = mElements->getElementByContent(CONTENT_QUESTIONBACKGROUND, mMenu->getSkinID());
  fQuestionText = mElements->getElementByContent(CONTENT_QUESTIONTEXT, mMenu->getSkinID());
  fQuestionTitle = mElements->getElementByContent(CONTENT_QUESTIONTITLE, mMenu->getSkinID());

  if (fQuestionBackground) {
    fQuestionBackground->drawImage(mScreen);
  }

  if (fQuestionTitle) {
    fQuestionTitle->drawText(fTitle, mScreen);
  }

  if (fQuestionText) {
    fQuestionText->drawText(fText, mScreen);
  }

  SDL_Flip(mScreen);

  mController->setState(Ctrl_A, Button_Released);
  mController->setState(Ctrl_B, Button_Released);
  mController->setState(Ctrl_Y, Button_Released);

  SDL_Event event;

  while (mController->getState(Ctrl_A) == Button_Released &&
      mController->getState(Ctrl_B) == Button_Released &&
      mController->getState(Ctrl_Y) == Button_Released) {
#ifdef WINDOWS
    while (SDL_PollEvent(&event)) {
      mController->update(&event);
    }
#endif

#ifdef ENABLE_XBOX
    XSleep(30);
#else       
    SDL_Delay(30);
#endif
  }
  if (mController->getState(Ctrl_A) == Button_Pressed) {
    return 1;
  } else {
    return 0;
  }

}
Esempio n. 2
0
int Controller::threadStart(void *cptr)
{
	SDL_Event event;
	Controller *fController = (Controller *) cptr;
	while (1) {
	  while (SDL_PollEvent(&event)) {
            fController->update(&event);
          }
	  XSleep(45);
        }
}
Esempio n. 3
0
extern "C" void XBoxStartup()
{
   XboxInfo *t = new XboxInfo();
   List<XboxInfo> *o = new List<XboxInfo> (t, 0x00);
   t->readState();
   debugPrint("\n\n\nCPU Temp is %d\n", t->getCPUTemp());
   if (typeid(*t) == typeid(XboxInfo)) {
      
   }
   debugPrint("\n\n\n    Am I here?\n\n");
   XSleep(100000);
   XReboot();
}
Esempio n. 4
0
/*:::::*/
static void __stdcall /* FIXME */ driver_update(void *param1, void *param2)
{
	while (!quitting) {
		/* !!!FIXME!!! */
		if (blitter) {
			//blitter(framebuffer, __fb_gfx->w);
		} else {
			memcpy(framebuffer, __fb_gfx->framebuffer, __fb_gfx->pitch * __fb_gfx->h);
		}

		 /* !!!FIXME!!! */
		XSleep(10);
	}
}
Esempio n. 5
0
bool CNetSever::StartSever()
{
	if(run_state != 0 || port == 0 || net_data_agent == NULL)
	{
		return false;
	}
	if(InitNet()==false)
	{
		return false;
	}
	//////////////////////////////////////////////////////////////

	if(thread_net_svr.XCreateThread((void *)NetSeverThread,this)==false)
	{
		return false;
	}

	//////////////////////////////////////////////////////////////
	while(run_state != 1)
	{////////////////////////////////wait  NetSeverThread

		XSleep(77);
	}
	run_state = 2;
	while((run_state != 8 ) && (run_state != 9))
	{
		XSleep(77);
	}

	if( run_state == 8)
	{//////ok result in NetSeverThread
		return true;
	}
	run_state =0;
	return false;

}
Esempio n. 6
0
void Environment::drawMessage(char *fTitle, char *fText)
{
  Element *fMessageBackground;
  Element *fMessageText;
  Element *fMessageTitle;

  fMessageBackground = mElements->getElementByContent(CONTENT_MESSAGEBACKGROUND, mMenu->getSkinID());
  fMessageText = mElements->getElementByContent(CONTENT_MESSAGETEXT, mMenu->getSkinID());
  fMessageTitle = mElements->getElementByContent(CONTENT_MESSAGETITLE, mMenu->getSkinID());

  // render background
  if (fMessageBackground) {
    fMessageBackground->drawImage(mScreen);
  }

  // render the text's
  if (fMessageText) {
    fMessageText->drawText(fText, mScreen);
  }

  if (fMessageTitle) {
    fMessageTitle->drawText(fTitle, mScreen);
  }

  SDL_Flip(mScreen);

  mController->setState(Ctrl_A, Button_Released);
  mController->setState(Ctrl_B, Button_Released);
  mController->setState(Ctrl_Y, Button_Released);

  SDL_Event event;

  while (mController->getState(Ctrl_A) == Button_Released &&
      mController->getState(Ctrl_B) == Button_Released &&
      mController->getState(Ctrl_Y) == Button_Released) {
#ifdef WINDOWS
    while (SDL_PollEvent(&event)) {
      mController->update(&event);
    }
#endif

#ifdef ENABLE_XBOX
    XSleep(30);
#else       
    SDL_Delay(30);
#endif
  }

}
Esempio n. 7
0
	void Game::Exit()
	{
		XSleep(1000);
		XReboot();
	}
Esempio n. 8
0
int Environment::askTimedQuestion(char *fTitle, char *fText, int fTimeout, int fDefault)
{
  Element *fQuestionBackground;
  Element *fQuestionText;
  Element *fQuestionTitle;
  Element *fQuestionTimer;

  char buf[255];
  char *fTimerText;

  FontResource *tFont;

  if (fDefault == -1 || fTimeout <= 0) {
    return askQuestion(fTitle, fText);
  }

  fQuestionBackground = mElements->getElementByContent(CONTENT_QUESTIONBACKGROUND, mMenu->getSkinID());
  fQuestionText = mElements->getElementByContent(CONTENT_QUESTIONTEXT, mMenu->getSkinID());
  fQuestionTitle = mElements->getElementByContent(CONTENT_QUESTIONTITLE, mMenu->getSkinID());
  fQuestionTimer = mElements->getElementByContent(CONTENT_QUESTIONTIMER, mMenu->getSkinID());

  fTimerText = mDialog->getValue("TimerText");


  mController->setState(Ctrl_A, Button_Released);
  mController->setState(Ctrl_B, Button_Released);
  mController->setState(Ctrl_Y, Button_Released);

  SDL_Event event;
#ifdef ENABLE_XBOX
  int start = XGetTickCount();
#else
  int start = SDL_GetTicks();
#endif
  int now;

  while (mController->getState(Ctrl_A) == Button_Released &&
      mController->getState(Ctrl_B) == Button_Released &&
      mController->getState(Ctrl_Y) == Button_Released) {
#ifdef WINDOWS
    while (SDL_PollEvent(&event)) {
      mController->update(&event);
    }
#endif

#ifdef ENABLE_XBOX    
    now = XGetTickCount();
#else
    now = SDL_GetTicks();
#endif

    if (now - start > (fTimeout*1000)) {
      return fDefault;
    }

    renderScreen();

    if (fQuestionBackground) {
      fQuestionBackground->drawImage(mScreen);
    }

    if (fQuestionTitle) {
      fQuestionTitle->drawText(fTitle, mScreen);
    }

    if (fQuestionText) {
      fQuestionText->drawText(fText, mScreen);
    }

    if (fQuestionTimer && fTimerText) {
      sprintf(buf, fTimerText, fTimeout - ((int) (now - start) / 1000));
      fQuestionTimer->drawText(buf, mScreen);
    }

    SDL_Flip(mScreen);

#ifdef ENABLE_XBOX
    XSleep(30);
#else       
    SDL_Delay(30);
#endif
  }
  if (mController->getState(Ctrl_A) == Button_Pressed) {
    return 1;
  } else {
    return 0;
  }

}
Esempio n. 9
0
XSTDCALL NetSeverThread(void * para)
{
	if(para == NULL)
	{
		return ;
	}
	CNetSever * host = (CNetSever *)para;
	host->run_state = 1;

	while(host->run_state != 2)
	{
		XSleep(100);
	}
	if(1)
	{/////udp server
			int port = host->port;
			int fdmax;
			fd_set read_fds;
			fd_set master;
			//////////////////////////////////////////
			FD_ZERO(&master);

			SOCKET socket1;
			struct sockaddr from;
			struct sockaddr_in local;
			socklen_t fromlen =sizeof(struct sockaddr);
			local.sin_family=AF_INET;
			local.sin_port=htons(port);
			local.sin_addr.s_addr=INADDR_ANY;
			fromlen = sizeof(struct sockaddr);



			socket1=socket(AF_INET,SOCK_DGRAM,0);
			bind(socket1,(struct sockaddr*)&local,sizeof local);
			FD_SET(socket1,&master);
			fdmax=socket1;
			host->run_state = 8;

			while(1)
			{
				read_fds=master;
				if(select(fdmax+1,&read_fds,NULL,NULL,NULL)==-1)
				{
					host->run_state = 9;
					return;
				}

				if (FD_ISSET(socket1,&read_fds))
				{
					host->data_size = recvfrom(socket1,(char *)host->data_buf,MAXNETSVRBUFSIZE,0,&from,&fromlen);
					memcpy(&(host->clnaddr),&(from.sa_data[2]),sizeof(struct in_addr));
					if (host->data_size>0)
					{
						host->OnDataRecv();
					}
				}
			}
			return ;
	}

	return ;

}
Esempio n. 10
0
void XBOX_InitOSKeymap(_THIS)
{
	int i;

	XInput_Init();
	XSleep(200);

	lastMouseX = 0;
	lastMouseY = 0;
	prevMouseButtons = 0;

	/* Map the DIK scancodes to SDL keysyms */
	for ( i=0; i<256/*SDL_TABLESIZE(DIK_keymap)*/; i++ )
		DIK_keymap[i] = 0;

	/* Defined DIK_* constants */
	DIK_keymap[XKEY_ESCAPE] = SDLK_ESCAPE;
	DIK_keymap[XKEY_1] = SDLK_1;
	DIK_keymap[XKEY_2] = SDLK_2;
	DIK_keymap[XKEY_3] = SDLK_3;
	DIK_keymap[XKEY_4] = SDLK_4;
	DIK_keymap[XKEY_5] = SDLK_5;
	DIK_keymap[XKEY_6] = SDLK_6;
	DIK_keymap[XKEY_7] = SDLK_7;
	DIK_keymap[XKEY_8] = SDLK_8;
	DIK_keymap[XKEY_9] = SDLK_9;
	DIK_keymap[XKEY_0] = SDLK_0;
	DIK_keymap[XKEY_SUBTRACT] = SDLK_MINUS;
	DIK_keymap[XKEY_EQUALS] = SDLK_EQUALS;
	DIK_keymap[XKEY_BACKSPACE] = SDLK_BACKSPACE;
	DIK_keymap[XKEY_TAB] = SDLK_TAB;
	DIK_keymap[XKEY_Q] = SDLK_q;
	DIK_keymap[XKEY_W] = SDLK_w;
	DIK_keymap[XKEY_E] = SDLK_e;
	DIK_keymap[XKEY_R] = SDLK_r;
	DIK_keymap[XKEY_T] = SDLK_t;
	DIK_keymap[XKEY_Y] = SDLK_y;
	DIK_keymap[XKEY_U] = SDLK_u;
	DIK_keymap[XKEY_I] = SDLK_i;
	DIK_keymap[XKEY_O] = SDLK_o;
	DIK_keymap[XKEY_P] = SDLK_p;
	DIK_keymap[XKEY_LBRACE] = SDLK_LEFTBRACKET;
	DIK_keymap[XKEY_RBRACE] = SDLK_RIGHTBRACKET;
	DIK_keymap[XKEY_RETURN] = SDLK_RETURN;
	DIK_keymap[XKEY_LCONTROL] = SDLK_LCTRL;
	DIK_keymap[XKEY_A] = SDLK_a;
	DIK_keymap[XKEY_S] = SDLK_s;
	DIK_keymap[XKEY_D] = SDLK_d;
	DIK_keymap[XKEY_F] = SDLK_f;
	DIK_keymap[XKEY_G] = SDLK_g;
	DIK_keymap[XKEY_H] = SDLK_h;
	DIK_keymap[XKEY_J] = SDLK_j;
	DIK_keymap[XKEY_K] = SDLK_k;
	DIK_keymap[XKEY_L] = SDLK_l;
	DIK_keymap[XKEY_SEMICOLON] = SDLK_SEMICOLON;
	DIK_keymap[XKEY_QUOTE] = SDLK_QUOTE;
	DIK_keymap[XKEY_GRAVE] = SDLK_BACKQUOTE;
	DIK_keymap[XKEY_LSHIFT] = SDLK_LSHIFT;
	DIK_keymap[XKEY_BACKSLASH] = SDLK_BACKSLASH;
	DIK_keymap[XKEY_Z] = SDLK_z;
	DIK_keymap[XKEY_X] = SDLK_x;
	DIK_keymap[XKEY_C] = SDLK_c;
	DIK_keymap[XKEY_V] = SDLK_v;
	DIK_keymap[XKEY_B] = SDLK_b;
	DIK_keymap[XKEY_N] = SDLK_n;
	DIK_keymap[XKEY_M] = SDLK_m;
	DIK_keymap[XKEY_COMMA] = SDLK_COMMA;
	DIK_keymap[XKEY_PERIOD] = SDLK_PERIOD;
	DIK_keymap[XKEY_EQUALS] = SDLK_PLUS;
	DIK_keymap[XKEY_MINUS] = SDLK_MINUS;
	DIK_keymap[XKEY_SLASH] = SDLK_SLASH;
	DIK_keymap[XKEY_RSHIFT] = SDLK_RSHIFT;
	DIK_keymap[XKEY_MULTIPLY] = SDLK_KP_MULTIPLY;
	DIK_keymap[XKEY_LMENU] = SDLK_LALT;
	DIK_keymap[XKEY_SPACE] = SDLK_SPACE;
	DIK_keymap[XKEY_CAPSLOCK] = SDLK_CAPSLOCK;
	DIK_keymap[XKEY_F1] = SDLK_F1;
	DIK_keymap[XKEY_F2] = SDLK_F2;
	DIK_keymap[XKEY_F3] = SDLK_F3;
	DIK_keymap[XKEY_F4] = SDLK_F4;
	DIK_keymap[XKEY_F5] = SDLK_F5;
	DIK_keymap[XKEY_F6] = SDLK_F6;
	DIK_keymap[XKEY_F7] = SDLK_F7;
	DIK_keymap[XKEY_F8] = SDLK_F8;
	DIK_keymap[XKEY_F9] = SDLK_F9;
	DIK_keymap[XKEY_F10] = SDLK_F10;
	DIK_keymap[XKEY_NUMLOCK] = SDLK_NUMLOCK;
	DIK_keymap[XKEY_SCROLL_LOCK] = SDLK_SCROLLOCK;
	DIK_keymap[XKEY_NUMPAD7] = SDLK_KP7;
	DIK_keymap[XKEY_NUMPAD8] = SDLK_KP8;
	DIK_keymap[XKEY_NUMPAD9] = SDLK_KP9;
	DIK_keymap[XKEY_ADD]	   = SDLK_KP_PLUS;
	DIK_keymap[XKEY_SUBTRACT] = SDLK_KP_MINUS;
	DIK_keymap[XKEY_NUMPAD4] = SDLK_KP4;
	DIK_keymap[XKEY_NUMPAD5] = SDLK_KP5;
	DIK_keymap[XKEY_NUMPAD6] = SDLK_KP6;
	DIK_keymap[XKEY_NUMPAD1] = SDLK_KP1;
	DIK_keymap[XKEY_NUMPAD2] = SDLK_KP2;
	DIK_keymap[XKEY_NUMPAD3] = SDLK_KP3;
	DIK_keymap[XKEY_NUMPAD0] = SDLK_KP0;
	DIK_keymap[XKEY_DECIMAL] = SDLK_KP_PERIOD;
	DIK_keymap[XKEY_F11] = SDLK_F11;
	DIK_keymap[XKEY_F12] = SDLK_F12;

	DIK_keymap[XKEY_F13] = SDLK_F13;
	DIK_keymap[XKEY_F14] = SDLK_F14;
	DIK_keymap[XKEY_F15] = SDLK_F15;

	DIK_keymap[XKEY_NUMPADEQUALS] = SDLK_EQUALS;
	DIK_keymap[XKEY_RCONTROL] = SDLK_RCTRL;
	DIK_keymap[XKEY_DIVIDE] = SDLK_KP_DIVIDE;
	DIK_keymap[XKEY_RMENU] = SDLK_RALT;
	DIK_keymap[XKEY_PAUSE] = SDLK_PAUSE;
	DIK_keymap[XKEY_HOME] = SDLK_HOME;
	DIK_keymap[XKEY_UP] = SDLK_UP;
	DIK_keymap[XKEY_PRIOR] = SDLK_PAGEUP;
	DIK_keymap[XKEY_LEFT] = SDLK_LEFT;
	DIK_keymap[XKEY_RIGHT] = SDLK_RIGHT;
	DIK_keymap[XKEY_END] = SDLK_END;
	DIK_keymap[XKEY_DOWN] = SDLK_DOWN;
	DIK_keymap[XKEY_NEXT] = SDLK_PAGEDOWN;
	DIK_keymap[XKEY_INSERT] = SDLK_INSERT;
	DIK_keymap[XKEY_DELETE] = SDLK_DELETE;
	DIK_keymap[XKEY_LWIN] = SDLK_LMETA;
	DIK_keymap[XKEY_RWIN] = SDLK_RMETA;
	DIK_keymap[XKEY_APPS] = SDLK_MENU;
}