bool GameLayer::init() { CCLayer::init(); CCSize size = CCDirector::sharedDirector()->getWinSize(); screenW = size.width; screenH = size.height; createBox2DWorld(); generateBackground(); setTerrain(Terrain::terrainWithWorld(world)); addChild(getTerrain()); setHero(Hero::heroWithWorld(world)); getTerrain()->addChild(getHero()); setTouchEnabled(true); tapDown = false; scheduleUpdate(); return true; }
void SakuraMatrix::paint(Graphics &g) { if(!_pBackImage) generateBackground(); g.drawImageAt(_pBackImage, 0, 0, false); }
int main(int argc, char* argv[]) { checkOptions(options, argc, argv); Array<PixelRow> picturedata; Array<PixelRow> background; HumdrumFile infile; int numinputs = options.getArgCount(); if (numinputs > 0) { const char* filenameIn = options.getArg(1).data(); infile.read(filenameIn); } else { infile.read(cin); } if (infile.getFilename().size() == 0) { infile.setFilename(optionfilename); } if (jsonQ) { createJsonProll(infile); } else { int rfactor = generatePicture(infile, picturedata, style); generateBackground(infile, rfactor, picturedata, background); printPicture(picturedata, background, rfactor, cfactor, gminpitch, gmaxpitch, infile); } return 0; }
void ValueBar::setPoints(Vector2f start, Vector2f end) { this->start = start; this->end = end; generateBackground(); generateForeground(); }
int GradientStopEditor::moveStop( int stop, int newStopValue, qreal newStopPosition ) { if( ( stop < 0 ) || ( stop >= values.size() ) ) return -1; if( newStopValue < 0 ) newStopValue = 0; if( newStopValue > 255 ) newStopValue = 255; if( stop != 0 && stop != ( values.size() - 1 ) ) { if( newStopPosition < 0 ) newStopPosition = 0; if( newStopPosition > 1.0 ) newStopPosition = 1.0; } else newStopPosition = positions[ stop ]; if( ( stop == 0 ) || ( stop == ( values.size() - 1 ) ) ) { values[ stop ] = newStopValue; if( stopChannel == composite ) generateBackground( true ); update(); emit stopMoved( stop, newStopValue, newStopPosition, stop ); return stop; } values.remove( stop ); positions.remove( stop ); int newIndex = addStop( newStopValue, newStopPosition, false ); if( currentMovedStop == stop ) currentMovedStop = newIndex; emit stopMoved( stop, newStopValue, newStopPosition, newIndex ); if( stopChannel == composite ) generateBackground( true ); update(); return newIndex; }
int GradientStopEditor::addStop( int newStopValue, qreal newStopPosition, bool emitSignalsAndUpdate ) { if( newStopValue < 0 ) newStopValue = 0; if( newStopValue > 255 ) newStopValue = 255; if( newStopPosition < 0 ) newStopPosition = 0; if( newStopPosition > 1.0 ) newStopPosition = 1.0; int countStops = values.size(); for( int i = 1; i < countStops - 1; i++ ) { if( positions[i] < newStopPosition ) continue; values.insert( i, newStopValue ); positions.insert( i, newStopPosition ); if( emitSignalsAndUpdate ) { emit stopAdded( newStopValue, newStopPosition, i ); if( stopChannel == composite ) generateBackground( true ); update(); } return i; break; } values.insert( values.size() - 1, newStopValue ); positions.insert( positions.size() - 1, newStopPosition ); if( emitSignalsAndUpdate ) { emit stopAdded( newStopValue, newStopPosition, values.size() - 2 ); if( stopChannel == composite ) generateBackground( true ); update(); } return ( values.size() - 2 ); }
bool GradientStopEditor::setStops( const QGradientStops &s ) { int countStops = s.size(); if( countStops < 2 ) return false; values.clear(); positions.clear(); switch( stopChannel ) { case redChannel: for( int i = 0; i < countStops; i++ ) { positions << s[ i ].first; values << s[ i ].second.red(); } break; case greenChannel: for( int i = 0; i < countStops; i++ ) { positions << s[ i ].first; values << s[ i ].second.green(); } break; case blueChannel: for( int i = 0; i < countStops; i++ ) { positions << s[ i ].first; values << s[ i ].second.blue(); } break; case composite: for( int i = 0; i < countStops; i++ ) { positions << s[ i ].first; values << s[ i ].second.alpha(); } break; } if( positions[ 0 ] != 0.0 ) positions[ 0 ] = 0.0; if( positions[ countStops - 1 ] != 1.0 ) positions[ countStops - 1 ] = 1.0; generateBackground( true ); update(); return true; }
void ValueBar::update(Vector2f point) { if (containsPoint(point)) { Vector2f bar = end - start; Vector2f progress = point - start; value = min + (max - min) * (Vector2fMath::length(progress) / Vector2fMath::length(bar)); } generateBackground(); generateForeground(); }
ValueBar::ValueBar(Vector2f start, Vector2f end, float margin, float size, float min, float max, float value) { this->start = start; this->end = end; this->margin = margin; this->size = size; this->min = min; this->max = max; this->value = value; generateBackground(); generateForeground(); }
void GradientStopEditor::paintEvent( QPaintEvent * event ) { QPainter p( this ); generateBackground( false ); p.drawImage( 0, 0, bg ); p.setPen( QColor( 146, 146, 146 ) ); p.drawRect( 0, 0, width() - 1, height() - 1 ); int countStops = values.size(); if( countStops <= 0 ) return; p.setRenderHints( QPainter::Antialiasing | QPainter::TextAntialiasing | QPainter::SmoothPixmapTransform ); p.setPen( connectionPen ); QPainterPath path; path.moveTo( getStopPosition( 0 ) ); for( int i = 1; i < countStops; i++ ) { QPointF p1 = getStopPosition( i-1 ); QPointF p2 = getStopPosition( i ); double distance = p2.x() - p1.x(); path.cubicTo( p1.x() + distance / 2, p1.y(), p1.x() + distance / 2, p2.y(), p2.x(), p2.y() ); } p.drawPath( path ); QPointF stopPosition; p.setBrush( pointBrush ); for( int i = 0; i < countStops; i++ ) { stopPosition = getStopPosition( i ); QRectF cirleRect = QRectF( stopPosition - QPointF( 6, 6 ), QSizeF( 12, 12 ) ); p.setPen( linesPen ); p.drawLine( (int)(stopPosition.x()), 0, (int)(stopPosition.x()), height() - 1 ); p.setPen( pointPen ); p.drawEllipse( cirleRect ); } }
bool GradientStopEditor::deleteStop( int stop ) { if( ( stop <= 0 ) || ( stop >= ( values.size() - 1 ) ) ) return false; values.remove( stop ); positions.remove( stop ); emit stopDeleted( stop ); if( stopChannel == composite ) generateBackground( true ); update(); return true; }
void TilemapRender::SetTileset(const char* setName) { if(m_SetID == setName) return; m_SetID = setName; for(int i=0;i<m_MapWidth;i++) { for(int j=0;j<m_MapHeight;j++) { if(!m_MatrixAB[i][j]) continue; ostringstream texturePath; texturePath<<"resources.pak/terrain/"; texturePath<<m_SetID<<"-"<<m_MatrixID[i][j]<<".png"; m_MatrixAB[i][j]->setTexture( CCTextureCache::sharedTextureCache()->addImage(texturePath.str().c_str()) ); } } generateBackground(); }
bool GameLayer::init() { CCLayer::init(); CCSize size = CCDirector::sharedDirector()->getWinSize(); screenW = size.width; screenH = size.height; createBox2DWorld(); //setBackground(CCSprite::spriteWithFile("background.png")); //setBackground(generateBackground()); //getBackground()->setPosition(ccp(screenW/2, screenH/2)); //getBackground()->setScaleX(screenW/getBackground()->getTextureRect().size.width); //getBackground()->setScaleY(screenH/getBackground()->getTextureRect().size.height); //CCLog("sw = %f, sh = %f, bw = %f, bh = %f", screenW, screenH, getBackground()->getTextureRect().size.width, getBackground()->getTextureRect().size.height); //ccTexParams tp = {GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT}; //getBackground()->getTexture()->setTexParameters(&tp); //addChild(getBackground()); generateBackground(); setTerrain(Terrain::terrainWithWorld(world)); addChild(getTerrain()); setHero(Hero::heroWithWorld(world)); getTerrain()->addChild(getHero()); setIsTouchEnabled(true); tapDown = false; scheduleUpdate(); return true; }
void GradientStopEditor::setCompositeGradientStops( const QGradientStops &s ) { if( stopChannel == composite ) { compositeGradient = QLinearGradient( 0, 0, width(), 0 ); QGradientStops newStops; int countStops = s.size(); for( int i = 0; i < countStops; i++ ) { QColor c( s[ i ].second ); c.setAlpha( 255 ); newStops << QGradientStop( s[ i ].first, c ); } //newStops << compositeGradient.stops(); compositeGradient.setStops( newStops ); generateBackground( true ); update(); } }
int main() { initializeCrap(); install_int_ex(increment_speed_counter,BPS_TO_TIMER(120)); int screenMode = 0; //0 for windowed, 1 for fullscreen srand((unsigned)time(NULL)); BITMAP *buffer = create_bitmap(800,600); BITMAP *titleimg = load_bitmap("quiximgTitle.bmp",NULL); BITMAP *imgPlayers = load_bitmap("quiximgPlayerSet.bmp",NULL); MIDI *song = load_midi("quixsong.mid"); PlayerObject poPlayer[4]; LaserObject loLaser[4]; LevelObject Level; MenuObject Menu; float scrollerX = -150.0, scrollerY = 5.0; int winner; poPlayer[0].setControlScheme(0); poPlayer[1].setControlScheme(1); poPlayer[2].setControlScheme(2); poPlayer[3].setControlScheme(3); poPlayer[0].samSound = load_sample("quixp1Death.wav"); poPlayer[1].samSound = load_sample("quixp2Death.wav"); poPlayer[2].samSound = load_sample("quixp3Death.wav"); poPlayer[3].samSound = load_sample("quixp4Death.wav"); poPlayer[0].setX(32); poPlayer[0].setY(32); poPlayer[0].setDir('l'); poPlayer[1].setX(32); poPlayer[1].setY(544); poPlayer[1].setDir('l'); poPlayer[2].setX(736); poPlayer[2].setY(544); poPlayer[2].setDir('r'); poPlayer[3].setX(736); poPlayer[3].setY(32); poPlayer[3].setDir('r'); int mouseDown[21]; //Kind of a crappy array --- Each button is a # //and it's set to true if that button was clicked. for (int i = 0; i < 20; i++) { mouseDown[i] = false; } while ( !Menu.isDone() ) { while (speed_counter > 0) { /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /* ~~~~~~~~~~~~~~~~~~~~~ MENU SCREEN ~~~~~~~~~~~~~~~~~~~~~ */ /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ if ( Menu.getEnabled() == true ) { if (key[KEY_Z]) { if (Menu.getFullscreen() == true) { Menu.changeScreenSize(0); Menu.setFullscreen(false); } else { Menu.changeScreenSize(1); Menu.setFullscreen(true); } } if (mouse_b & 1) { mouseDownClick(&Menu, mouseDown); } else { mouseUp(&Menu, mouseDown, poPlayer, &Level, song); } } /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /* ~~~~~~~~~~~~~~~~~~~~~~~ IN-GAME ~~~~~~~~~~~~~~~~~~~~~~~ */ /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ else { //Player Input1 if (key[KEY_ESC]) { play_midi(NULL, false); if (Menu.fragLimitHit == true) { Menu.fragLimitHit == false; for (int i=0; i<4; i++) { poPlayer[i].resetScore(); poPlayer[i].resetDeaths(); } poPlayer[0].setX(32); poPlayer[0].setY(32); poPlayer[0].setDir('l'); poPlayer[1].setX(32); poPlayer[1].setY(544); poPlayer[1].setDir('l'); poPlayer[2].setX(736); poPlayer[2].setY(544); poPlayer[2].setDir('r'); poPlayer[3].setX(736); poPlayer[3].setY(32); poPlayer[3].setDir('r'); Menu.fragLimitHit = false; Menu.resetPressed = false; mouseDown[19] = false; } Level.setEnabled(false); Menu.setEnabled(true); } for (int i=0; i<4; i++) { if (poPlayer[i].getControlScheme() == 0) { if (key[KEY_W]) { moveCharacter(Level, &poPlayer[i], i, 'u'); } if (key[KEY_A]) { moveCharacter(Level, &poPlayer[i], i, 'l'); } if (key[KEY_S]) { moveCharacter(Level, &poPlayer[i], i, 'd'); } if (key[KEY_D]) { moveCharacter(Level, &poPlayer[i], i, 'r'); } if (key[KEY_F]) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } } } else if (poPlayer[i].getControlScheme() == 1) { if (key[KEY_I]) { moveCharacter(Level, &poPlayer[i], i, 'u'); } if (key[KEY_J]) { moveCharacter(Level, &poPlayer[i], i, 'l'); } if (key[KEY_K]) { moveCharacter(Level, &poPlayer[i], i, 'd'); } if (key[KEY_L]) { moveCharacter(Level, &poPlayer[i], i, 'r'); } if (key[KEY_H]) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } } } else if (poPlayer[i].getControlScheme() == 2) { if (key[KEY_UP]) { moveCharacter(Level, &poPlayer[i], i, 'u'); } if (key[KEY_LEFT]) { moveCharacter(Level, &poPlayer[i], i, 'l'); } if (key[KEY_DOWN]) { moveCharacter(Level, &poPlayer[i], i, 'd'); } if (key[KEY_RIGHT]) { moveCharacter(Level, &poPlayer[i], i, 'r'); } if (key[KEY_RCONTROL]) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } } } else if (poPlayer[i].getControlScheme() == 3) { if (key[KEY_8_PAD]) { moveCharacter(Level, &poPlayer[i], i, 'u'); } if (key[KEY_4_PAD]) { moveCharacter(Level, &poPlayer[i], i, 'l'); } if (key[KEY_2_PAD]) { moveCharacter(Level, &poPlayer[i], i, 'd'); } if (key[KEY_6_PAD]) { moveCharacter(Level, &poPlayer[i], i, 'r'); } if (key[KEY_PLUS_PAD]) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } } } else if(poPlayer[i].getControlScheme() == 4) { //Joystick #1 poll_joystick(); if (joy[0].stick[0].axis[1].d1) { moveCharacter(Level, &poPlayer[i], i, 'u'); } //Up if (joy[0].stick[0].axis[0].d1) { moveCharacter(Level, &poPlayer[i], i, 'l'); } //Left if (joy[0].stick[0].axis[1].d2) { moveCharacter(Level, &poPlayer[i], i, 'd'); } //Down if (joy[0].stick[0].axis[0].d2) { moveCharacter(Level, &poPlayer[i], i, 'r'); } //Right if (joy[0].button[0].b || joy[0].button[1].b || joy[0].button[2].b) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } } } else if(poPlayer[i].getControlScheme() == 5) { //Joystick #2 poll_joystick(); if (joy[1].stick[0].axis[1].d1) { moveCharacter(Level, &poPlayer[i], i, 'u'); } //Up if (joy[1].stick[0].axis[0].d1) { moveCharacter(Level, &poPlayer[i], i, 'l'); } //Left if (joy[1].stick[0].axis[1].d2) { moveCharacter(Level, &poPlayer[i], i, 'd'); } //Down if (joy[1].stick[0].axis[0].d2) {moveCharacter(Level, &poPlayer[i], i, 'r'); } //Right if (joy[1].button[0].b || joy[0].button[1].b || joy[0].button[2].b) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } } } else if(poPlayer[i].getControlScheme() == 6) { //Joystick #3 poll_joystick(); if (joy[2].stick[0].axis[1].d1) { moveCharacter(Level, &poPlayer[i], i, 'u'); } //Up if (joy[2].stick[0].axis[0].d1) { moveCharacter(Level, &poPlayer[i], i, 'l'); } //Left if (joy[2].stick[0].axis[1].d2) {moveCharacter(Level, &poPlayer[i], i, 'd'); } //Down if (joy[2].stick[0].axis[0].d2) { moveCharacter(Level, &poPlayer[i], i, 'r'); } //Right if (joy[2].button[0].b || joy[0].button[1].b || joy[0].button[2].b) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } } } else if(poPlayer[i].getControlScheme() == 7) { //Joystick #4 poll_joystick(); if (joy[3].stick[0].axis[1].d1) { moveCharacter(Level, &poPlayer[i], i, 'u'); } //Up if (joy[3].stick[0].axis[0].d1) { moveCharacter(Level, &poPlayer[i], i, 'l'); } //Left if (joy[3].stick[0].axis[1].d2) { moveCharacter(Level, &poPlayer[i], i, 'd'); } //Down if (joy[3].stick[0].axis[0].d2) { moveCharacter(Level, &poPlayer[i], i, 'r'); } //Right if (joy[3].button[0].b || joy[0].button[1].b || joy[0].button[2].b) { if ( loLaser[i].getEnabled() == false ) { shootLaser( &loLaser[i], poPlayer[i]); } } } } if (Level.timeForAPowerupTimer >= 60) { Level.timeForAPowerupTimer = 0; } else { Level.timeForAPowerupTimer++; } } if ( Level.getFrame() < 32 ) { Level.setFrame( Level.getFrame() + 1 ); } else { Level.setFrame(0); } //Score Bar if (Level.getFragLimit() != 0 && Level.getEnabled() == true) { scrollerX += 0.5; if (scrollerX >= 1200.0) { scrollerX = -150.0; } } for (int i=0; i<4; i++) { //Res circle if (poPlayer[i].getRespawnCounter() >= 0) { poPlayer[i].setRespawnCounter( poPlayer[i].getRespawnCounter() + 1); } //"Laser" movement if (loLaser[i].getEnabled() == true) { if (loLaser[i].getDir() == 'u') { loLaser[i].moveUp('l'); } else if (loLaser[i].getDir() == 'd') { loLaser[i].moveDown('l'); } else if (loLaser[i].getDir() == 'l') { loLaser[i].moveLeft('l'); } else if (loLaser[i].getDir() == 'r') { loLaser[i].moveRight('l'); } checkCollision(&loLaser[i], poPlayer, i, Level); } if ((poPlayer[i].returnScore() == Level.getFragLimit()) && (Level.getFragLimit() > 0)) { //Frag Limit hit Menu.fragLimitHit = true; winner = i; } } speed_counter--; }//while (speed_counter > 0) if ( Menu.getEnabled() == true ) { drawMenuStuff(buffer, Menu, titleimg, imgPlayers, Level); } else if (Menu.fragLimitHit == true) { //Show win window! floodfill (buffer, 0, 0, makecol(0,0,0)); textprintf(buffer,font,348,203,makecol(100,0,0), "Player %i Wins!", winner+1 ); textprintf(buffer,font,347,202,makecol(150,0,0), "Player %i Wins!", winner+1 ); textprintf(buffer,font,346,201,makecol(200,0,0), "Player %i Wins!", winner+1 ); textprintf(buffer,font,345,200,makecol(255,0,0), "Player %i Wins!", winner+1 ); textprintf(buffer,font,330,250,makecol(255,0,0), "Player 1 score: %i", poPlayer[0].returnScore() ); textprintf(buffer,font,330,260,makecol(255,0,0), "Player 2 score: %i", poPlayer[1].returnScore() ); textprintf(buffer,font,330,270,makecol(255,0,0), "Player 3 score: %i", poPlayer[2].returnScore() ); textprintf(buffer,font,330,280,makecol(255,0,0), "Player 4 score: %i", poPlayer[3].returnScore() ); textprintf(buffer,font,330,249,makecol(255,255,255), "Player 1 score: %i", poPlayer[0].returnScore() ); textprintf(buffer,font,330,259,makecol(255,255,255), "Player 2 score: %i", poPlayer[1].returnScore() ); textprintf(buffer,font,330,269,makecol(255,255,255), "Player 3 score: %i", poPlayer[2].returnScore() ); textprintf(buffer,font,330,279,makecol(255,255,255), "Player 4 score: %i", poPlayer[3].returnScore() ); textout_centre(buffer, font, "Hit esc to continue", 400, 300, makecol(255,255,255)); } else { generateBackground(buffer, Level); drawCharacters(poPlayer, Level, buffer); drawScoreBar(buffer, poPlayer, scrollerX, scrollerY, Level); if (loLaser[0].getEnabled() == true) { drawLaser(loLaser[0], buffer, Level, 0); } if (loLaser[1].getEnabled() == true) { drawLaser(loLaser[1], buffer, Level, 1); } if (loLaser[2].getEnabled() == true) { drawLaser(loLaser[2], buffer, Level, 2); } if (loLaser[3].getEnabled() == true) { drawLaser(loLaser[3], buffer, Level, 3); } } acquire_screen(); blit(buffer, screen, 0, 0, 0, 0, 800, 600); clear_bitmap(buffer); release_screen(); }//while ( !Menu.isDone() ) return 0; return 0; }