Exemple #1
0
int SRand(int seed)
{
	switch(dxpGeneralData.randmode)
	{
	case DXP_RANDMODE_MT:
		if(!dxpGeneralData.mt19937context)
		{
			ChangeRandMode(DXP_RANDMODE_MT);
			return SRand(seed);
		}
		sceKernelUtilsMt19937Init(dxpGeneralData.mt19937context,(u32)seed);
		return 0;
	case DXP_RANDMODE_HW:
		__asm__ volatile
		(
			"mtv		%0,	S000\n"
			"vrnds.s	S000	\n"
			:: "r"(seed)
		);
		return 0;
	default:
		ChangeRandMode(DXP_RANDMODE_MT);
		return SRand(seed);
	}
}
int Load_Title_Rand(){//乱数でタイトル背景を起動するたびに変える

  SRand(GetRand(100));//乱数シードを変える
  int BG = GetRand(3);//乱数で背景を決める
  int BG_jpg;//画像ハンドル保存用の変数

  switch (BG + 1){//乱数の値によって分岐
  case 1:
    BG_jpg = LoadGraph("Pics/BG_Title_01.jpg");
    break;

  case 2:
    BG_jpg = LoadGraph("Pics/BG_Title_02.jpg");
    break;

  case 3:
    BG_jpg = LoadGraph("Pics/BG_Title_03.jpg");
    break;

  case 4:
    BG_jpg = LoadGraph("Pics/BG_Title_04.jpg");
    break;

  default://1~4以外が出た場合1の画像(保険)
    BG_jpg = LoadGraph("Pics/BG_Title_01.jpg");
    break;
  }
  return BG_jpg;
}
Exemple #3
0
int DxLib_Init()
{
	if(dxpGeneralData.initialized)return 0;

	if(dxpMutexInit() < 0)return -1;
	if(dxpMemoryInit() < 0)return -1;
	if(!dxpGeneralData.homebutton_callback_initialized)
	{
		dxpGeneralData.homebutton_callback_threadid = SetExitCallback();
		dxpGeneralData.homebutton_callback_initialized = 1;
	}
	dxpInputInit();
    if(dxpFileioInit() < 0)return -1;
	if(dxpGraphicsInit() < 0)return -1;
	if(dxpSoundInit() < 0)return -1;

	SRand(time(NULL));
	
	dxpGeneralData.initialized = 1;
	return 0;
	/*
err:
	return -1;
	*/
}
void CompleteBoxPruningTest::Init()
{
    m_firstTime = true;

    SRand(0);
    mBoxes = new AABB[mNbBoxes];
    mBoxPtrs = new const AABB*[mNbBoxes];
    mBoxTime = new float[mNbBoxes];
    for(udword i=0; i<mNbBoxes; i++)
    {
        Point Center, Extents;

        Center.x = (UnitRandomFloat()-0.5f) * 100.0f;
        Center.y = (UnitRandomFloat()-0.5f) * 10.0f;
        Center.z = (UnitRandomFloat()-0.5f) * 100.0f;
        Extents.x = 2.0f + UnitRandomFloat() * 2.0f;
        Extents.y = 2.0f + UnitRandomFloat() * 2.0f;
        Extents.z = 2.0f + UnitRandomFloat() * 2.0f;

        mBoxes[i].SetCenterExtents(Center, Extents);
        mBoxPtrs[i] = &mBoxes[i];

        mBoxTime[i] = 2000.0f*UnitRandomFloat();
    }
}
	// always produces the same pseudo-random sequence
NoiseSource::NoiseSource(const unsigned int InputSize)
{
  int i;

  NoiseArray = new int[InputSize];
  ArraySize = InputSize;
  SRand(2542);
  for(i=0; i < ArraySize; i++)
    NoiseArray[i] = i;
  for(i=0; i < 20; i++)
    RandomizeArray();
}
Exemple #6
0
int main(int argc, char **argv) {
#ifdef DXPORTLIB
    SetUseCharSet(DX_CHARSET_EXT_UTF8);
#endif
    
    SetWindowText(_T("DxPortLib Test App"));
    SetWindowSizeChangeEnableFlag(TRUE);
    
    SetGraphMode(640, 480, 32);
    ChangeWindowMode(TRUE);
    
    if (DxLib_Init() == -1) {
        return -1;
    }
    
    SRand(0);
    InitBounceThings();
    
    int isWindowed = TRUE;
    int wasPressed = 0;
    int timerDelta = 0;
    int timeLast = GetNowCount();
    int screenshotWasPressed = 0;
    int drawScreen = MakeScreen(640, 480, FALSE);
    
    while (ProcessMessage() == 0
#ifndef DX_NON_INPUT
        && CheckHitKey(KEY_INPUT_ESCAPE) == 0
#endif
    ) {
        /* If Alt+Enter is pressed, flip to fullscreen mode. */
        if (CheckHitKey(KEY_INPUT_RETURN)
            && (CheckHitKey(KEY_INPUT_LALT) || CheckHitKey(KEY_INPUT_RALT))
        ) {
            if (wasPressed == 0) {
                isWindowed = 1 - isWindowed;
                ChangeWindowMode(isWindowed);
            }
            wasPressed = 1;
        } else {
            wasPressed = 0;
        }
        
        /* Game logic here */
        MoveBounceThings();
        
        /* Draw logic here */
        SetDrawScreen(drawScreen);
        SetDrawBright(255, 255, 255);
        SetDrawBlendMode(DX_BLENDMODE_NOBLEND, 255);
        DrawFillBox(0, 0, 640, 480, 0xFF000000);
        DrawLineBox(10, 10, 630, 470, 0xFFFFFFFF);
        SetDrawBlendMode(DX_BLENDMODE_ALPHA, 128);
        DrawFillBox(20, 20, 620, 460, GetColor(0x90, 0x80, 0x70));
        
        DrawBounceThings();
        
        if (CheckHitKey(KEY_INPUT_S)) {
            if (screenshotWasPressed == 0) {
                SaveDrawScreenToPNG(0, 0, 640, 480, _T("test_draw_screenshot.png"));
                screenshotWasPressed = 1;
            }
        } else {
            screenshotWasPressed = 0;
        }
        
        SetDrawScreen(DX_SCREEN_BACK);
        DrawGraph(0, 0, drawScreen, FALSE);
        
        ScreenFlip();

        /* Time to next frame automatically... */
        int newTime = GetNowCount();
        timerDelta += newTime - timeLast;
        timeLast = newTime;

        int n = timerDelta;
        if (n > 16) {
            n = 16;
        }
        timerDelta -= n;

        WaitTimer(16 - n);
    }
    
    DxLib_End();
    
    return 0;
}