-rw-r--r-- | noncore/games/qasteroids/toplevel.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/noncore/games/qasteroids/toplevel.cpp b/noncore/games/qasteroids/toplevel.cpp index 57242a0..090099f 100644 --- a/noncore/games/qasteroids/toplevel.cpp +++ b/noncore/games/qasteroids/toplevel.cpp @@ -14,48 +14,50 @@ ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************//* * KAsteroids - Copyright (c) Martin R. Jones 1997 * * Part of the KDE project */ // --- toplevel.cpp --- #include "toplevel.h" #include "ledmeter.h" #include <qpe/qpeapplication.h> #include <qpe/resource.h> #include <qaccel.h> #include <qlabel.h> #include <qlayout.h> #include <qlcdnumber.h> #include <qpushbutton.h> +#include <sys/utsname.h> + #define SB_SCORE 1 #define SB_LEVEL 2 #define SB_SHIPS 3 struct SLevel { int nrocks; double rockSpeed; }; #define MAX_LEVELS 16 SLevel levels[MAX_LEVELS] = { { 1, 0.4 }, { 1, 0.6 }, { 2, 0.5 }, { 2, 0.7 }, { 2, 0.8 }, { 3, 0.6 }, { 3, 0.7 }, { 3, 0.8 }, { 4, 0.6 }, @@ -232,51 +234,67 @@ KAstTopLevel::KAstTopLevel( QWidget *parent, const char *name ) label->setPalette( pal ); hbd->addWidget( label ); powerMeter = new KALedMeter( mainWin ); powerMeter->setFrameStyle( QFrame::Box | QFrame::Plain ); powerMeter->setRange( MAX_POWER_LEVEL ); powerMeter->addColorRange( 10, darkRed ); powerMeter->addColorRange( 20, QColor(160, 96, 0) ); powerMeter->addColorRange( 70, darkGreen ); powerMeter->setCount( 15 ); powerMeter->setPalette( pal ); powerMeter->setFixedSize( 60, 12 ); hbd->addWidget( powerMeter ); shipsRemain = 3; showHiscores = FALSE; actions.insert( Qt::Key_Up, Thrust ); actions.insert( Qt::Key_Left, RotateLeft ); actions.insert( Qt::Key_Right, RotateRight ); actions.insert( Qt::Key_Enter, Shoot ); actions.insert( Qt::Key_Z, Teleport ); actions.insert( Qt::Key_Down, Brake ); actions.insert( Qt::Key_P, Pause ); - actions.insert( Key_F12, Launch ); - actions.insert( Key_F11, Shield ); - actions.insert( Key_F9, NewGame ); + + + struct utsname name; /* check for embedix kernel running on the zaurus, if + lineo change string, this break + */ + if (uname(&name) != -1) { + QString release=name.release; + if(release.find("embedix",0,TRUE) !=-1) { + actions.insert( Key_F12, Launch ); + actions.insert( Key_F11, Shield ); + actions.insert( Key_F9, NewGame ); + } else { + // ipaq + actions.insert( Key_F12, Shoot ); + actions.insert( Key_F11, Shield ); + actions.insert( Key_F10, Launch ); + actions.insert( Key_F9, NewGame ); + } + } // actions.insert( Qt::Key_S, Shield ); // actions.insert( Qt::Key_X, Brake ); // actions.insert( Qt::Key_L, Launch ); actions.insert( Qt::Key_Space, Shoot ); view->showText( tr( "Press Calendar to start playing" ), yellow ); setFocusPolicy( StrongFocus ); slotNewGame(); } KAstTopLevel::~KAstTopLevel() { } void KAstTopLevel::playSound( const char * ) { } void KAstTopLevel::keyPressEvent( QKeyEvent *event ) { if ( event->isAutoRepeat() || !actions.contains( event->key() ) ) @@ -430,49 +448,49 @@ void KAstTopLevel::slotNewGame() score = 0; scoreLCD->display( 0 ); level = 0; levelLCD->display( level+1 ); shipsLCD->display( shipsRemain-1 ); view->newGame(); view->setRockSpeed( levels[0].rockSpeed ); view->addRocks( levels[0].nrocks ); view->newShip(); waitShip = FALSE; view->hideText(); isPaused = FALSE; } void KAstTopLevel::slotShipKilled() { shipsRemain--; shipsLCD->display( shipsRemain-1 ); playSound( "ShipDestroyed" ); if ( shipsRemain > 0 ) { waitShip = TRUE; - view->showText( tr( "Ship Destroyed.\nPress Launch/Home key."), yellow ); + view->showText( tr( "Ship Destroyed.\nPress Contacts/Home key."), yellow ); } else { view->endGame(); doStats(); } } void KAstTopLevel::slotRockHit( int size ) { switch ( size ) { case 0: score += 10; break; case 1: score += 20; break; default: score += 40; } |