Esempio n. 1
0
void DrawStars() {
	for (int iStarRow = 0; iStarRow < 9; ++iStarRow) {
		float fY = 6.0/13.0 + (iStarRow + 1)*((7.0/13.0)/10);
		// Alternate between rows of five or six stars
		if (iStarRow % 2 == 0) {
			for (int iStarCol = 0; iStarCol < 6; ++iStarCol) {
				DrawStar(iStarCol*((0.76/1.9)/6.0) + (0.76/1.9)/12.0, fY);
			}
		} else {
			for (int iStarCol = 0; iStarCol < 5; ++iStarCol) {
				DrawStar((iStarCol + 1)*((0.76/1.9)/6.0), fY);
			}
		}
	}
}
Esempio n. 2
0
void Render(HDC * hDC) //increment and display
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glPushMatrix();
    glRotated(UpdateTrigger(_spin_triggers[0]), 1.0, 0.0, 0.0);
    glRotated(UpdateTrigger(_spin_triggers[1]), 0.0, 1.0, 0.0);
    glRotated(UpdateTrigger(_spin_triggers[2]), 0.0, 0.0, 1.0);
    glEnable(GL_TEXTURE_2D);

    int i;
    _lp_vertex _curr = 0;

    if (_display_nebulae)
    {
        _curr = _nebulae;

        for (i = 0; i < _num_neb; i++)
        {
            DrawNebula(_curr);
            CheckNebula(_curr, i);
            _curr++;
        }
    }

    _curr = _stars;

    for (i = 0; i < _num_stars; i++)
    {
        DrawStar(_curr);
        CheckStar(_curr, i);
        _curr++;
    }
/*
    _curr = _stars;
    for (i = 0; i < _num_stars; i++)
    {
        DrawPlanet(_curr);
        _curr++;
    }
*/
    if (_display_rings)
    {
        _curr = _rings;
        SortRings(0);
        for (i = 0; i < _num_rings; i++)
        {
            //DrawRing(_curr);
            DrawRing(_sringidx[i]);
            CheckRing(_curr, i, 0);
            _curr++;
        }
    }

    glDisable(GL_TEXTURE_2D);
    SwapBuffers(*hDC);
    glPopMatrix();
}
void
sstSequence::Draw( vsRenderQueue *queue )
{
	vsDisplayList *list = queue->GetGenericList();

	float musicTime = m_mode->GetMusicTime();
//	vsColor baseColor = vsColor::Blue;
//	vsColor c = vsColor::Blue;
	for ( int i = 0; i < m_beatCount; i++ )
		m_segment[i].m_color = vsColor::Blue * GetBrightnessForTimeDelta( musicTime - m_segment[i].m_time );

	float starBrightness = 0.5f;

	float starFadeInTime = 2.0f;
	float starFadeOutTime = 2.0f;

	if ( musicTime < m_start + starFadeInTime )
	{
		starBrightness = vsInterpolate( (musicTime-m_start) / starFadeInTime, 0.f, starBrightness );
	}
	else if ( musicTime < m_end - starFadeOutTime )
	{
		starBrightness = 0.5f;
	}
	else
	{
		float startFadingOutTime = m_end - starFadeOutTime;

		starBrightness = vsInterpolate( (musicTime-startFadingOutTime) / starFadeOutTime, starBrightness, 0.f );
	}

	list->SetColor( vsColor(1.0f, 1.0f, 1.0f, starBrightness) );
	for ( int i = 0; i < m_beatCount; i++ )
	{
		DrawStar( list, i );
	}

	for ( int i = 0; i < m_beatCount; i++ )
	{
		DrawTarget( list, i );

		if ( i < m_beatCount-1 )
		{
			DrawConnectingLine( list, i, i+1 );
		}
	}
}
Esempio n. 4
0
main()
{
  int size;
  int i=0;
  int key;
  int station;
  InstallGraph();
  setbkcolor(BLACK);
  cleardevice();
  setcolor(BLUE);
  outtextxy(80,100,"Ready!...Any key to SET OFF!!!");
  DrawGun();
  getch();
  cleardevice();
  DrawGun();
  DrawPlan();
  DrawStar();
  setcolor(LIGHTRED);
  do
  {
     putimage(x0-width2,y0-height-3*width1-i,buf,XOR_PUT);
     i+=2;
     putimage(x0-width2,y0-height-3*width1-i,buf,XOR_PUT);
     key=getch();
     if(y0-height-3*width1-i==0)
        outtextxy(60,100,"Successfullly!!!Press ESC to quit");
     if(key==ESC)
     {
        if(y0-height-3*width1-i>0)
        {
           cleardevice();
           outtextxy(100,100,"Failure.What did you do?");
           outtextxy(130,130,"Press any key to quit.");
           getch();
        }
     }
  }
  while(key!=ESC);
  free(buf);
  closegraph();
  return 0;
}
Esempio n. 5
0
void Ending(void)
{
    char stuff[][2][32] = 
    {
    {"XSoldier staff",      ""},
    {"Producer",            "Y.Hashimoto"},
    {"Program",             "R.Masuda"},
    {"",                    "Y.Hashimoto"},
    {"Character Algorithm", "K.Inomata"},
    {"",                    "H.Yokobori"},
    {"",                    "M.Nakayama"},
    {"",                    "Y.Hashimoto"},
    {"Character Design",    "H.Hayakawa"},
    {"",                    "Y.Hashimoto"},
    {"1.x Series Developer", "Oohara Yuuma"},
    {"Special Thanks",      "N.Oohashi"},
    {"",                    "T.Yamada"},
    {"",                    "T.Igari"},
    {"",                    "RAKI all members"},
    {"",                    ".... and YOU."},
    };

    char msg[][30] = 
    {
	"Try Next Stage!!",
	"You are a great soldier!!!",
	"crazy ........"
    };

    /* number of staffs */
    int stfnumber = 16;
    int count = 0;
    int time = (stfnumber + 6) * 100;
    int len;
    int i;

    while (1)
    {
        if (waittime && (signal_delivered==0))
	    pause();
        signal_delivered = 0;

	if (count < time)
        {
            count++;
        }

        if (event_handle_ending() == 0)
          return;

        clear_window();
	DrawStar(StarPtn1);
	DrawStar(StarPtn2);

	for (i=0; i<stfnumber; i++)
	{
	    if (i == 0)
	    {
		draw_string(210, FieldH - count + 100 * i,
                            stuff[i][0], strlen(stuff[i][0]));
		draw_string(450, FieldH - count + 100 * i,
                            stuff[i][1], strlen(stuff[i][1]));
	    }
	    else
	    {
		draw_string(100, FieldH - count + 100 * i,
                            stuff[i][0], strlen(stuff[i][0]));
		draw_string(300, FieldH - count + 100 * i + 30,
                            stuff[i][1], strlen(stuff[i][1]));
	    }
	}
	
	if (count > time-30)
	{
	    len = count - (time-30);

	    if (manage->Loop < 3)
	    {
		if (len >= strlen(msg[manage->Loop-1]))
                {
                  draw_string(200, 440, "Press space key",
                              strlen("Press space key"));
                  len = strlen(msg[manage->Loop-1]);
                }
                
		draw_string(200, 400, msg[manage->Loop-1], len);
	    }
	    else
	    {
		if (len >= strlen(msg[2]))
                {
                  draw_string(200, 440, "Press space key",
                              strlen("Press space key"));
                  len = strlen(msg[2]);
                }
	    }
	}

        redraw_window();
    }
}
Esempio n. 6
0
VOID DrawBarriers(int i)
{
	DOUBLE trackTop = i * 0.25 + (i % 2) * 0.01;
	DOUBLE trackBottom = (i + 1) * 0.25 + ((i + 1) % 2) * 0.01;

	HGDIOBJ backBrush;

	SelectObject(hdcBuffer, GetStockObject(GRAY_BRUSH));

	for (UINT j = 0; j < global.barriers[i].size(); j++)
	{
		double lastBarrierX = -1.;
		double lastBarrierHeight = 0.;

		barrierX = stickmanX +  //  Position of Stickman
			(global.barriers[i][j].msecs - gameTimePass) / global.currSong().msPerBeat / beatPerScreen;
		if (barrierX < -0.2 && j < global.barriers[i].size() - 1)
			continue;
		if (j >= 1)
		{
			lastBarrierX = stickmanX +  //  Position of Stickman
				(global.barriers[i][j - 1].msecs - gameTimePass) / global.currSong().msPerBeat / beatPerScreen;
			lastBarrierHeight = global.barriers[i][j - 1].height;
		}

		if (lastBarrierX >= 1.)
			break;

		if (i & 1)
			backBrush = GetStockObject(BLACK_BRUSH);
		else
			backBrush = GetStockObject(WHITE_BRUSH);

		//  Draw the Floor before this Barrier
		SelectObject(hdcBuffer, GetStockObject(GRAY_BRUSH));
		Rectangle(hdcBuffer,
			ToWindowX(lastBarrierX + 0.4 / beatPerScreen), ToWindowY(trackBottom - 0.05 * (lastBarrierHeight + 1.)) - 1,
			ToWindowX(barrierX), ToWindowY(trackBottom) + 1);

		//  Draw Judge Line
		if (!settings.hideJudgeLine)
		{
			SelectObject(hdcBuffer, GetStockObject(GRAY_BRUSH));
			Rectangle(hdcBuffer, ToWindowX(barrierX) - 2, ToWindowY(trackTop) - 1,
				ToWindowX(barrierX) + 2, ToWindowY(trackBottom) + 1);
		}

		//  Clear Barrier Area
		SelectObject(hdcBuffer, backBrush);
		Rectangle(hdcBuffer, ToWindowX(barrierX) + global.heroWidth / 2, ToWindowY(trackTop),
			ToWindowX(barrierX + 0.4 / beatPerScreen) - global.heroWidth / 2, ToWindowY(trackBottom) + 1);

		//  Draw Barrier
		SelectObject(hdcBuffer, GetStockObject(GRAY_BRUSH));
		switch (global.barriers[i][j].type)
		{
		case 0:
			DrawSpikes(i, j);
			break;
		case 1:
			DrawCliff(i, j);
			break;
		case 2:
			DrawBonus(i, j);
			break;
		case 3:
			DrawStar(i, j);
			break;
		case 4:
			DrawNoise(i, j);
			break;
		case INT_MAX:
			DrawNoBarrier(i, j);
			break;
		default:
			DrawSpikes(i, j);
			break;
		}

		SelectObject(hdcBuffer, GetStockObject(GRAY_BRUSH));
		if (j == global.barriers[i].size() - 1)
		{
			Rectangle(hdcBuffer,
				ToWindowX(barrierX + 0.4 / beatPerScreen), ToWindowY(trackBottom - 0.05 * (global.barriers[i][j].height + 1.)) - 1,
				ToWindowX(1) + 1, ToWindowY(trackBottom) + 1);
		}
	}
}
Esempio n. 7
0
void DrawMenuPieces(struct MainMenu* pMenu, Gc* pgc)
{
   const int nDimensionSize = 6;

   int nPieceWidth = SCREEN_WIDTH/nDimensionSize;
   int nPieceHeight = (SCREEN_HEIGHT-60)/nDimensionSize;
   int nMinPieceDim = nPieceWidth > nPieceHeight ? nPieceHeight : nPieceWidth;

   int nWidthNeeded = nDimensionSize*nMinPieceDim;
   int nHeightNeeded = nDimensionSize*nMinPieceDim;
   int x = (SCREEN_WIDTH - nWidthNeeded)/2;
   int y = (SCREEN_HEIGHT - nHeightNeeded)/2;

   for(int nX=0; nX<nDimensionSize; nX++) {
      for(int nY=0; nY<nDimensionSize; nY++) {
         int nPieceX = x + nX*nMinPieceDim;
         int nPieceY = y + nY*nMinPieceDim;

         int nLevelNum = nY*nDimensionSize + nX + 1/*0-based to 1-based*/;

         int bCurrentRow = 0;
         int nColorIndex = 0;
         if( pMenu->m_eChoice == Play ) {
            if( pMenu->m_nLevelNum >= 1 && pMenu->m_nLevelNum <= 6 && nLevelNum >= 1 && nLevelNum <= 6 ) {
               nColorIndex = 0;
               bCurrentRow = 1;
            } else if( pMenu->m_nLevelNum >= 7 && pMenu->m_nLevelNum <= 12 && nLevelNum >= 7 && nLevelNum <= 12 ) {
               nColorIndex = 1;
               bCurrentRow = 1;
            } else if( pMenu->m_nLevelNum >= 13 && pMenu->m_nLevelNum <= 18 && nLevelNum >= 13 && nLevelNum <= 18 ) {
               nColorIndex = 2;
               bCurrentRow = 1;
            } else if( pMenu->m_nLevelNum >= 19 && pMenu->m_nLevelNum <= 24 && nLevelNum >= 19 && nLevelNum <= 24 ) {
               nColorIndex = 3;
               bCurrentRow = 1;
            } else if( pMenu->m_nLevelNum >= 25 && pMenu->m_nLevelNum <= 30 && nLevelNum >= 25 && nLevelNum <= 30 ) {
               nColorIndex = 4;
               bCurrentRow = 1;
            } else if( pMenu->m_nLevelNum >= 31 && nLevelNum >= 31 ) {
               nColorIndex = 5;
               bCurrentRow = 1;
            }
         }
         if( bCurrentRow == 1 ) {
            LevelColors clr = g_Colors[nColorIndex];
            gui_gc_setColorRGB(*pgc, clr.r, clr.g, clr.b);
            //gui_gc_setColorRGB(*pgc, 0, 220, 0);
         } else {
            gui_gc_setColorRGB(*pgc, 0x59, 0x59, 0x59);
         }
         gui_gc_fillRect(*pgc, nPieceX + 2, nPieceY + 2, nMinPieceDim-3, nMinPieceDim-3);

         if( pMenu->m_eChoice == Play && pMenu->m_nLevelNum == nLevelNum ) {
            gui_gc_setColorRGB(*pgc, 255, 0, 0);

            gui_gc_drawRect(*pgc, nPieceX, nPieceY, nMinPieceDim, nMinPieceDim);
         }

         gui_gc_setColorRGB(*pgc, 255, 255, 255);
         char buf[8];
         sprintf(buf, "%d", nLevelNum);
         char buffer[16];
         ascii2utf16(buffer, buf, 16);

         int nHeightSpaceDesired = gui_gc_getStringSmallHeight(*pgc, gui_gc_getFont(*pgc), buf, 0, 1);
      int nWidthSpaceDesired = gui_gc_getStringWidth(*pgc, gui_gc_getFont(*pgc), buf, 0, 1);

         int nXOffset = nMinPieceDim/2 - nWidthSpaceDesired/2;
         int nYOffset = 2;

         int nPosX = nPieceX + nXOffset;
         int nPosY = nPieceY + nYOffset;

         gui_gc_drawString(*pgc, buffer, nPosX, nPosY, GC_SM_TOP);

         int nStars = 0;
         GetBeatLevel(pMenu->m_pConfig, nLevelNum-1, &nStars);
         int a = nMinPieceDim/3;
         for(int nStarsToDraw=0; nStarsToDraw<nStars; nStarsToDraw++) {
            DrawStar(pgc, nPieceX+nStarsToDraw*a+a/2+1, nPosY+nMinPieceDim-a, a);
         }
      }
   }
}