diff options
author | Ian D. Scott | 2015-07-14 09:05:48 -0700 |
---|---|---|
committer | Ian D. Scott | 2015-07-14 09:05:48 -0700 |
commit | dc5df75590c54b51b56c61819bdcd2107ffe235e (patch) | |
tree | 5936d72e3434d5f2407d06ba94872cd80fb4ffd1 | |
download | aur-dc5df75590c54b51b56c61819bdcd2107ffe235e.tar.gz |
Import into git
-rw-r--r-- | .SRCINFO | 25 | ||||
-rw-r--r-- | blackpenguin-qt5.patch | 912 | ||||
-rw-r--r-- | blackpenguin.desktop | 9 | ||||
-rw-r--r-- | blackpenguin.patch | 250 | ||||
-rw-r--r-- | blackpenguin.png | bin | 0 -> 2631 bytes | |||
-rw-r--r-- | qt2to4.patch | 1043 |
6 files changed, 2239 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..3e75e3126135 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,25 @@ +pkgbase = blackpenguin + pkgdesc = An arcade style jump-on-cubes game with Penguin and Evil Window + pkgver = 0.2 + pkgrel = 4 + url = http://www.ibiblio.org/pub/linux/games/arcade/ + arch = i686 + arch = x86_64 + license = GPL + depends = libxext + depends = qt5-base + source = http://www.ibiblio.org/pub/linux/games/arcade/blackpenguin-0.2.tar.gz + source = blackpenguin.patch + source = blackpenguin.png + source = blackpenguin.desktop + source = qt2to4.patch + source = blackpenguin-qt5.patch + md5sums = 91ac8ac0f5588122c469e3f65b98c3df + md5sums = f3ca77928e512e263fbf9e769d614260 + md5sums = 9204e564d47ea7ce9592232e2bd31c92 + md5sums = 55d2533c522dae44e9ac739a6fb287c0 + md5sums = 5705ea4929b6eea8b4d39a4052ff5743 + md5sums = e9f73a47936e2eaeafe1f492cac53427 + +pkgname = blackpenguin + diff --git a/blackpenguin-qt5.patch b/blackpenguin-qt5.patch new file mode 100644 index 000000000000..c54286734220 --- /dev/null +++ b/blackpenguin-qt5.patch @@ -0,0 +1,912 @@ +diff -upr blackpenguin-0.2-old/src/appwindow.cpp blackpenguin-0.2/src/appwindow.cpp +--- blackpenguin-0.2-old/src/appwindow.cpp 2014-08-16 10:10:39.695271909 -0700 ++++ blackpenguin-0.2/src/appwindow.cpp 2014-08-16 16:36:21.780011811 -0700 +@@ -23,12 +23,17 @@ + #include <qmessagebox.h> + //Added by qt3to4: + #include <QPixmap> +-#include <Q3PopupMenu> ++#include <QMenu> + #include "CRulesDialog.h" + #include "newgame.xpm" + #include "rules.xpm" + #include "load.xpm" + #include "save.xpm" ++#include "config.xpm" ++// -------- ++// added by Olaf Hartig (9 Nov 1999) ++#include "CConfigDialog.h" ++// -------- + + const char* newGameText = "Start a new game. Beware of the Evil Window!"; + const char* rulesGameText = "Show a short description of the game's rules."; +@@ -36,69 +41,58 @@ const char* loadGameText = "Load a previ + const char* saveGameText = "Save a game. Only one game can be saved at a time; any previously saved game will be overwritten."; + + ApplicationWindow::ApplicationWindow() +- : Q3MainWindow( 0, "Black Penguin Main Window" ) ++ : QMainWindow( 0 ) + { + e = new BlackPenguinData( this, "blackpenguin" ); + e->setFocus(); +- // reduce screen flickering +- e->setUpdatesEnabled(FALSE); + setCentralWidget( e ); + +- fileTools = new Q3ToolBar( this, "file operations" ); ++ fileTools = addToolBar("file operations"); + + newGameIcon = QPixmap( newgame_xpm ); + rulesIcon = QPixmap( rules_xpm ); + loadIcon = QPixmap( load_xpm ); + saveIcon = QPixmap( save_xpm ); ++ configIcon = QPixmap( config_xpm ); + +- QToolButton * newGame = new QToolButton( newGameIcon, "New Game", 0, +- this, SLOT(reset()), +- fileTools, "new game" ); +- +- QToolButton* rulesGame = new QToolButton( rulesIcon, "Rules of the Game", 0, +- this, SLOT(rules()), +- fileTools, "rules game" ); +- +- QToolButton* loadGame = new QToolButton( loadIcon, "Load Game", 0, +- this, SLOT(load()), +- fileTools, "load game" ); +- +- QToolButton* saveGame = new QToolButton( saveIcon, "Save Game", 0, +- this, SLOT(save()), +- fileTools, "save game" ); +- +- Q3PopupMenu* file = new Q3PopupMenu(); +- Q3PopupMenu* help = new Q3PopupMenu(); +- menuBar()->insertItem( "&File", file ); +- menuBar()->insertItem( "&Help", help ); +- +- file->insertItem( newGameIcon, "New Game", this, SLOT(reset()), Qt::Key_F2 ); +- file->insertSeparator(); +- file->insertItem( loadIcon, "Load Game", this, SLOT(load()), Qt::Key_F3 ); +- file->insertItem( saveIcon, "Save Game", this, SLOT(save()), Qt::Key_F4 ); +- file->insertSeparator(); +- file->insertItem( "Quit", this, SLOT(quit()), Qt::CTRL+Qt::Key_C ); +- +- help->insertItem( rulesIcon, "Rules of the Game", this, SLOT( rules() ), Qt::Key_F1 ); +- help->insertSeparator(); +- help->insertItem( "About &Black Penguin", this, SLOT( aboutp() ), Qt::Key_F5 ); +- help->insertItem( "No &Warranty", this, SLOT( aboutw() ), Qt::Key_F6 ); +- help->insertItem( "&Redistribution", this, SLOT( aboutc() ), Qt::Key_F7 ); ++ QAction* newGame = fileTools->addAction( newGameIcon, "New Game", this, SLOT(reset())); ++ QAction* rulesGame = fileTools->addAction( rulesIcon, "Rules of the Game", this, SLOT(rules())); ++ QAction* loadGame = fileTools->addAction( loadIcon, "Load Game", this, SLOT(load())); ++ QAction* saveGame = fileTools->addAction( saveIcon, "Save Game", this, SLOT(save())); ++ ++ ++ QMenu* file = menuBar()->addMenu(tr("&File")); ++ QMenu* help = menuBar()->addMenu(tr("&Help")); ++ ++ file->addAction( newGameIcon, "New Game", this, SLOT(reset()), Qt::Key_F2 ); ++ file->addSeparator(); ++ file->addAction( loadIcon, "Load Game", this, SLOT(load()), Qt::Key_F3 ); ++ file->addAction( saveIcon, "Save Game", this, SLOT(save()), Qt::Key_F4 ); ++ file->addSeparator(); +++ file->addAction( configIcon, "Configure Keys", this, SLOT(config()), Qt::CTRL+Qt::Key_C ); ++ file->addSeparator(); ++ file->addAction( "Quit", this, SLOT(quit()), Qt::CTRL+Qt::Key_Q ); ++ ++ help->addAction( rulesIcon, "Rules of the Game", this, SLOT( rules() ), Qt::Key_F1 ); ++ help->addSeparator(); ++ help->addAction( "About &Black Penguin", this, SLOT( aboutp() ), Qt::Key_F5 ); ++ help->addAction( "No &Warranty", this, SLOT( aboutw() ), Qt::Key_F6 ); ++ help->addAction( "&Redistribution", this, SLOT( aboutc() ), Qt::Key_F7 ); + + +- (void)Q3WhatsThis::whatsThisButton( fileTools ); +- Q3WhatsThis::add( newGame, newGameText ); +- Q3WhatsThis::add( rulesGame, rulesGameText ); +- Q3WhatsThis::add( loadGame, loadGameText ); +- Q3WhatsThis::add( saveGame, saveGameText ); ++ fileTools->addAction( QWhatsThis::createAction() ); ++ newGame->setWhatsThis( newGameText ); ++ rulesGame->setWhatsThis( rulesGameText ); ++ loadGame->setWhatsThis( loadGameText ); ++ saveGame->setWhatsThis( saveGameText ); + +- statusBar()->message( "Hit F2 to start a new Game", 5000 ); ++ statusBar()->showMessage( "Hit F2 to start a new Game", 5000 ); + + } + + void ApplicationWindow::reset() { + e->reset(); +- statusBar()->message( "Game started.", 2000 ); ++ statusBar()->showMessage( "Game started.", 2000 ); + } + + void ApplicationWindow::save() { +@@ -106,13 +100,13 @@ void ApplicationWindow::save() { + + retval = e->savegame(); + switch (retval) { +- case 0: statusBar()->message( "Game successfully saved.", 3000 ); ++ case 0: statusBar()->showMessage( "Game successfully saved.", 3000 ); + break; +- case 1: statusBar()->message( "You cannot save a Game that is over.", 3000 ); ++ case 1: statusBar()->showMessage( "You cannot save a Game that is over.", 3000 ); + break; +- case 2: statusBar()->message( "Could not save Game.", 3000 ); ++ case 2: statusBar()->showMessage( "Could not save Game.", 3000 ); + break; +- default: statusBar()->message( "Unknown error.", 3000 ); ++ default: statusBar()->showMessage( "Unknown error.", 3000 ); + } + } + +@@ -122,17 +116,24 @@ void ApplicationWindow::load() { + + retval = e->loadgame(); + switch (retval) { +- case 0: statusBar()->message( "Recently saved Game successfully loaded.", 3000 ); ++ case 0: statusBar()->showMessage( "Recently saved Game successfully loaded.", 3000 ); + break; +- case 1: statusBar()->message( "Could not load Game.", 3000 ); ++ case 1: statusBar()->showMessage( "Could not load Game.", 3000 ); + break; +- default: statusBar()->message( "Unknown error.", 3000 ); ++ default: statusBar()->showMessage( "Unknown error.", 3000 ); + } + } + ++void ApplicationWindow::config() ++{ ++ CConfigDialog dlgConfig(e->getKeyNW(), e->getKeyNE(), e->getKeySW(), e->getKeySE(), this); ++ connect(&dlgConfig, SIGNAL(newKeys(int,int,int,int)), e, SLOT(newKeys(int,int,int,int)) ); ++ dlgConfig.exec(); ++} ++ + + void ApplicationWindow::aboutp() { +- QMessageBox::message( "About Black Penguin", "Black Penguin 0.1b\nCopyright (C) \ ++ QMessageBox::information(this, "About Black Penguin", "Black Penguin 0.1b\nCopyright (C) \ + 1999 Holger Priebs pengu@priebs.de\n\n\ + Black Penguin comes with ABSOLUTE NO WARRANTY: \n\ + for details hit F6.\n\ +@@ -141,7 +142,7 @@ under certain conditions, hit F7 for det + } + + void ApplicationWindow::aboutc() { +- QMessageBox::message( "Redistribution", "Black Penguin 0.1b\nCopyright (C) \ ++ QMessageBox::information(this, "Redistribution", "Black Penguin 0.1b\nCopyright (C) \ + 1999 Holger Priebs, pengu@priebs.de\n\n\ + This program is free software; you can redistribute it and/or modify it\n\ + under the terms of the GNU General Public Licence as published by the\n\ +@@ -154,7 +155,7 @@ Inc., 675 Mass Ave, Cambridge, MA 02139, + } + + void ApplicationWindow::aboutw() { +- QMessageBox::message( "No Warranty", "Black Penguin 0.1b\nCopyright (C) \ ++ QMessageBox::information(this, "No Warranty", "Black Penguin 0.1b\nCopyright (C) \ + 1999 Holger Priebs, pengu@priebs.de\n\n\ + This program is distributed in the hope that it will be useful, but\n\ + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY\n\ +@@ -174,7 +175,7 @@ void ApplicationWindow::rules() { + }; + + void ApplicationWindow::quit() { +- close(TRUE); ++ close(); + } + + +diff -upr blackpenguin-0.2-old/src/appwindow.h blackpenguin-0.2/src/appwindow.h +--- blackpenguin-0.2-old/src/appwindow.h 2014-08-16 10:10:39.695271909 -0700 ++++ blackpenguin-0.2/src/appwindow.h 2014-08-16 16:37:04.209011334 -0700 +@@ -19,19 +19,19 @@ + // along with this program; if not, write to the Free Software + // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +-#include <q3mainwindow.h> +-#include <q3toolbar.h> ++#include <qmainwindow.h> ++#include <qtoolbar.h> + #include <qtoolbutton.h> +-#include <q3popupmenu.h> ++#include <qmenu.h> + #include <qmenubar.h> + #include <qnamespace.h> + #include <qpixmap.h> + #include <qstatusbar.h> +-#include <q3whatsthis.h> ++#include <qwhatsthis.h> + + #include "BlackPenguinData.h" + +-class ApplicationWindow: public Q3MainWindow ++class ApplicationWindow: public QMainWindow + { + Q_OBJECT + public: +@@ -42,6 +42,7 @@ private slots: + void reset(); + void save(); + void load(); ++ void config(); + + public slots: + void aboutp(); +@@ -52,8 +53,8 @@ public slots: + + private: + BlackPenguinData* e; +- Q3ToolBar *fileTools; +- Q3PopupMenu *controls; ++ QToolBar *fileTools; ++ QMenu *controls; + + // Pixmaps for toolbar + QPixmap newGameIcon; +diff -upr blackpenguin-0.2-old/src/BlackPenguinData.cpp blackpenguin-0.2/src/BlackPenguinData.cpp +--- blackpenguin-0.2-old/src/BlackPenguinData.cpp 2014-08-16 10:10:39.695271909 -0700 ++++ blackpenguin-0.2/src/BlackPenguinData.cpp 2014-08-16 16:57:38.805997458 -0700 +@@ -23,7 +23,8 @@ + #include <qfile.h> + //Added by qt3to4: + #include <QPaintEvent> +-#include <Q3Frame> ++#include <QPainter> ++#include <QFrame> + #include <QLabel> + #include <QKeyEvent> + #include <QEvent> +@@ -576,8 +577,8 @@ int Foe::current_pos() { + void Foe::show( QPaintDevice* qpd ) { + + // show foe only on legal positions of the playing field +- if (legal[m_position]) bitBlt(qpd, sc[m_position].x - foeoffsx, +- sc[m_position].y - foeoffsy, m_foeBP ); ++ if (legal[m_position])QPainter(qpd).drawPixmap(sc[m_position].x - foeoffsx, ++ sc[m_position].y - foeoffsy, *m_foeBP ); + + } + +@@ -792,10 +793,10 @@ void Goodies::show( QPaintDevice* qpd ) + + for (int n=0; n<81; n++) { + if (available[n] != 0) { +- bitBlt(qpd, ++ QPainter(qpd).drawPixmap( + sc[n].x - goffsx, + sc[n].y - goffsy, +- m_goodiesBP[available[n] - 1] ); ++ *m_goodiesBP[available[n] - 1] ); + } + }; + } +@@ -825,8 +826,8 @@ void BP::show( QPaintDevice* qpd ) { + foeactive = 0; + if (lives == 0) GameOver = 1; + } +- if (!round_over)bitBlt(qpd, sc[m_position].x - penguoffsetx, +- sc[m_position].y - penguoffsety, m_penguBP ); ++ if (!round_over)QPainter(qpd).drawPixmap( sc[m_position].x - penguoffsetx, ++ sc[m_position].y - penguoffsety, *m_penguBP ); + + } + +@@ -892,9 +893,8 @@ BlackPenguinData::BlackPenguinData + const char* name + ) + : +- Inherited( parent, name, 0 ) ++ Inherited( parent, 0 ) + { +- setAttribute(Qt::WA_PaintOutsidePaintEvent, true); + // load a previously stored keyboard assignment if available, else use defaults + if (!loadkeys()) { + m_nKeyNW = Qt::Key_Left; +@@ -930,75 +930,77 @@ BlackPenguinData::BlackPenguinData + + // first create a common palette for all labels a.s.f. + +- QColorGroup normal_all( QColor( QRgb(0) ), QColor( QRgb(16296080) ), QColor( QRgb(16310472) ), QColor( QRgb(8412240) ), QColor( QRgb(16287864) ), QColor( QRgb(0) ), QColor( QRgb(16777215) ) ); +- QColorGroup disabled_all( QColor( QRgb(8421504) ), QColor( QRgb(12632256) ), QColor( QRgb(16777215) ), QColor( QRgb(8421504) ), QColor( QRgb(10789024) ), QColor( QRgb(8421504) ), QColor( QRgb(12632256) ) ); +- QColorGroup active_all( QColor( QRgb(0) ), QColor( QRgb(12632256) ), QColor( QRgb(16777215) ), QColor( QRgb(8421504) ), QColor( QRgb(10789024) ), QColor( QRgb(0) ), QColor( QRgb(16777215) ) ); +- QPalette palette_forall( normal_all, disabled_all, active_all ); ++ QPalette* palette_forall = new QPalette(); ++ ++ palette_forall->setColorGroup( QPalette::Active, QColor( QRgb(0) ), QColor( QRgb(16296080) ), QColor( QRgb(16310472) ), QColor( QRgb(8412240) ), QColor( QRgb(16287864) ), QColor( QRgb(0) ), Qt::white, QColor( QRgb(16777215) ), QColor( QRgb(16296080) ) ); ++ palette_forall->setColorGroup( QPalette::Disabled, QColor( QRgb(8421504) ), QColor( QRgb(12632256) ), QColor( QRgb(16777215) ), QColor( QRgb(8421504) ), QColor( QRgb(10789024) ), QColor( QRgb(8421504) ), Qt:: white, QColor( QRgb(12632256) ), QColor( QRgb(12632256) )); ++ palette_forall->setColorGroup( QPalette::Inactive, QColor( QRgb(0) ), QColor( QRgb(12632256) ), QColor( QRgb(16777215) ), QColor( QRgb(8421504) ), QColor( QRgb(10789024) ), QColor( QRgb(0) ), Qt::white, QColor( QRgb(16777215) ), QColor( QRgb(12632256) )); ++ + + // create LCD counter for credits + +- LCDcounter = new QLCDNumber( this, "LCDNumber_1" ); ++ LCDcounter = new QLCDNumber( this ); + LCDcounter->setGeometry( 540, 20, 100, 40 ); //20,100,100,30 + LCDcounter->setMinimumSize( 10, 10 ); + LCDcounter->setMaximumSize( 32767, 32767 ); +- LCDcounter->setPalette( palette_forall ); ++ LCDcounter->setPalette( *palette_forall ); + LCDcounter->setFrameStyle( 50 ) ; //( 33 ); +- LCDcounter->setSmallDecimalPoint( FALSE ); +- LCDcounter->setNumDigits( 5 ); +- LCDcounter->setMode( QLCDNumber::DEC ); ++ LCDcounter->setSmallDecimalPoint( false ); ++ LCDcounter->setDigitCount( 5 ); ++ LCDcounter->setMode( QLCDNumber::Dec ); + LCDcounter->setSegmentStyle( QLCDNumber::Outline ); + + // create label to explain the LCD + + QPixmap* creditpixmap = new QPixmap( pingucoinsmall_xpm ); + QLabel * creditlabel = new QLabel(this); +- creditlabel->setFrameStyle( Q3Frame::Panel | Q3Frame::Sunken ); ++ creditlabel->setFrameStyle( QFrame::Panel | QFrame::Sunken ); + creditlabel->setGeometry( 505, 20, 30, 30 ); +- creditlabel->setPalette( palette_forall ); ++ creditlabel->setPalette( *palette_forall ); + creditlabel->setPixmap( *creditpixmap ); + + // create second LCD counter for # of lives + +- LCDcounter2 = new QLCDNumber( this, "LCDNumber_2" ); ++ LCDcounter2 = new QLCDNumber( this ); + LCDcounter2->setGeometry( 540, 65, 100, 40 ); //20,100,100,30 + LCDcounter2->setMinimumSize( 10, 10 ); + LCDcounter2->setMaximumSize( 32767, 32767 ); +- LCDcounter2->setPalette( palette_forall ); ++ LCDcounter2->setPalette( *palette_forall ); + LCDcounter2->setFrameStyle( 50 ); +- LCDcounter2->setSmallDecimalPoint( FALSE ); +- LCDcounter2->setNumDigits( 5 ); +- LCDcounter2->setMode( QLCDNumber::DEC ); ++ LCDcounter2->setSmallDecimalPoint( false ); ++ LCDcounter2->setDigitCount( 5 ); ++ LCDcounter2->setMode( QLCDNumber::Dec ); + LCDcounter2->setSegmentStyle( QLCDNumber::Outline ); + + // create second label to explain the LCD + + QPixmap* creditpixmap2 = new QPixmap( lives_xpm ); + QLabel * creditlabel2 = new QLabel(this); +- creditlabel2->setFrameStyle( Q3Frame::Panel | Q3Frame::Sunken ); ++ creditlabel2->setFrameStyle( QFrame::Panel | QFrame::Sunken ); + creditlabel2->setGeometry( 505, 65, 30, 30 ); +- creditlabel2->setPalette( palette_forall ); ++ creditlabel2->setPalette( *palette_forall ); + creditlabel2->setPixmap( *creditpixmap2 ); + + // create third LCD counter for # of level + +- LCDcounter3 = new QLCDNumber( this, "LCDNumber_2" ); ++ LCDcounter3 = new QLCDNumber( this ); + LCDcounter3->setGeometry( 540, 100 +10, 100, 40 ); //20,100,100,30 + LCDcounter3->setMinimumSize( 10, 10 ); + LCDcounter3->setMaximumSize( 32767, 32767 ); +- LCDcounter3->setPalette( palette_forall ); ++ LCDcounter3->setPalette( *palette_forall ); + LCDcounter3->setFrameStyle( 50 ); +- LCDcounter3->setSmallDecimalPoint( FALSE ); +- LCDcounter3->setNumDigits( 5 ); +- LCDcounter3->setMode( QLCDNumber::DEC ); ++ LCDcounter3->setSmallDecimalPoint( false ); ++ LCDcounter3->setDigitCount( 5 ); ++ LCDcounter3->setMode( QLCDNumber::Dec ); + LCDcounter3->setSegmentStyle( QLCDNumber::Outline ); + + // create third label to explain the LCD + + QPixmap* creditpixmap3 = new QPixmap( levelicon_xpm ); + QLabel * creditlabel3 = new QLabel(this); +- creditlabel3->setFrameStyle( Q3Frame::Panel | Q3Frame::Sunken ); ++ creditlabel3->setFrameStyle( QFrame::Panel | QFrame::Sunken ); + creditlabel3->setGeometry( 505, 110, 30, 30 ); +- creditlabel3->setPalette( palette_forall ); ++ creditlabel3->setPalette( *palette_forall ); + creditlabel3->setPixmap( *creditpixmap3 ); + + // initialize background +@@ -1075,7 +1077,7 @@ void BlackPenguinData::paintEvent( QPain + { + // we do nothing but blitting the elsewhere painted picture to the + // physical screen +- bitBlt(this, 0, 0, m_visible_bg ); ++ QPainter(this).drawPixmap( 0, 0, *m_visible_bg ); + } + + int BlackPenguinData::savekeys() { +@@ -1086,10 +1088,10 @@ int BlackPenguinData::savekeys() { + QFile f(filename); + if ( f.open( QIODevice::WriteOnly ) ) { + // writeBlock() expects char*. Cast looks ugly, but it works +- f.writeBlock((char*)&m_nKeyNW, sizeof(int)); +- f.writeBlock((char*)&m_nKeySW, sizeof(int)); +- f.writeBlock((char*)&m_nKeyNE, sizeof(int)); +- f.writeBlock((char*)&m_nKeySE, sizeof(int)); ++ f.write((char*)&m_nKeyNW, sizeof(int)); ++ f.write((char*)&m_nKeySW, sizeof(int)); ++ f.write((char*)&m_nKeyNE, sizeof(int)); ++ f.write((char*)&m_nKeySE, sizeof(int)); + f.close(); + return 0; + } +@@ -1104,14 +1106,14 @@ int BlackPenguinData::loadkeys() { + QFile f(filename); + if ( f.open( QIODevice::ReadOnly ) ) { + // writeBlock() expects char*. Cast looks ugly, but it works +- f.readBlock((char*)&m_nKeyNW, sizeof(int)); +- f.readBlock((char*)&m_nKeySW, sizeof(int)); +- f.readBlock((char*)&m_nKeyNE, sizeof(int)); +- f.readBlock((char*)&m_nKeySE, sizeof(int)); ++ f.read((char*)&m_nKeyNW, sizeof(int)); ++ f.read((char*)&m_nKeySW, sizeof(int)); ++ f.read((char*)&m_nKeyNE, sizeof(int)); ++ f.read((char*)&m_nKeySE, sizeof(int)); + f.close(); +- return TRUE; ++ return true; + } +- return FALSE; ++ return false; + } + + int BlackPenguinData::savegame() { +@@ -1123,9 +1125,9 @@ int BlackPenguinData::savegame() { + if (GameOver) return 1; // you cannot save a game that's over + if ( f.open( QIODevice::WriteOnly ) ) { + // writeBlock() expects char*. Cast looks ugly, but it works +- f.writeBlock((char*)&credit, sizeof(int)); +- f.writeBlock((char*)&lives, sizeof(int)); +- f.writeBlock((char*)&level, sizeof(int)); ++ f.write((char*)&credit, sizeof(int)); ++ f.write((char*)&lives, sizeof(int)); ++ f.write((char*)&level, sizeof(int)); + f.close(); + return 0; + } +@@ -1140,9 +1142,9 @@ int BlackPenguinData::loadgame() { + QFile f(filename); + if ( f.open( QIODevice::ReadOnly ) ) { + // readBlock() expects char*. Cast looks ugly, but it works +- f.readBlock((char*)&credit, sizeof(int)); +- f.readBlock((char*)&lives, sizeof(int)); +- f.readBlock((char*)&level, sizeof(int)); ++ f.read((char*)&credit, sizeof(int)); ++ f.read((char*)&lives, sizeof(int)); ++ f.read((char*)&level, sizeof(int)); + f.close(); + // we did not store some variables which are essential for game control + GameOver = 0; +@@ -1172,7 +1174,7 @@ void BlackPenguinData::increaselevel() { + // display lives + LCDcounter2->display(lives); + // first delete the background by overwriting it with the new one +- bitBlt( m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); ++ QPainter(m_visible_bg).drawPixmap( 0, 0, *m_invisible_bg[ ld[level].backgroundcolor ] ); + // then put the goodies on all the places + memcpy(available, level_pattern[ld[level].pattern], sizeof(level_pattern[ld[level].pattern])); + // put the little penguin on the top field +@@ -1182,9 +1184,10 @@ void BlackPenguinData::increaselevel() { + // finally blit the little penguin on the pixmap + pbp->show( m_visible_bg ); + // blit the whole thing on the physical screen +- bitBlt(this, 0, 0, m_visible_bg ); ++ update(); + // start the timer +- ptimer->start( ld[level].timer, FALSE); ++ ptimer->setSingleShot(false); ++ ptimer->start( ld[level].timer); + // reset the foe + pfoe->reset(); + // we're still free +@@ -1227,7 +1230,7 @@ void BlackPenguinData::reset() { + // game has been started + GameStarted = 1; + // first delete the background by overwriting it with the original +- bitBlt( m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); ++ QPainter(m_visible_bg).drawPixmap( 0, 0, *m_invisible_bg[ ld[level].backgroundcolor ] ); + // then put the goodies on all the places + memcpy(available, level_pattern[ld[level].pattern], sizeof(level_pattern[ld[level].pattern])); + // put the little penguin on the top field +@@ -1237,9 +1240,10 @@ void BlackPenguinData::reset() { + // finally blit the little penguin on the pixmap + pbp->show( m_visible_bg ); + // blit the whole thing on the physical screen +- bitBlt(this, 0, 0, m_visible_bg ); ++ update(); + // start the timer +- ptimer->start( ld[level].timer , FALSE); ++ ptimer->setSingleShot( false ); ++ ptimer->start( ld[level].timer ); + // reset the foe + pfoe->reset(); + // we're still free +@@ -1268,7 +1272,7 @@ void BlackPenguinData::resetround() { + LCDcounter3->display(level+1); + if ( GameOver ) return; + // first delete the background by overwriting it with the original +- bitBlt( m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor] ); ++ QPainter(m_visible_bg).drawPixmap( 0, 0, *m_invisible_bg[ ld[level].backgroundcolor] ); + // then put the goodies on all the places + memcpy(available, level_pattern[ld[level].pattern], sizeof(level_pattern[ld[level].pattern])); + // put the little penguin on the top field +@@ -1278,9 +1282,10 @@ void BlackPenguinData::resetround() { + // finally blit the little penguin on the pixmap + pbp->show( m_visible_bg ); + // blit the whole thing on the physical screen +- bitBlt(this, 0, 0, m_visible_bg ); ++ update(); + // start the timer +- ptimer->start( ld[level].timer , FALSE); ++ ptimer->setSingleShot( false ); ++ ptimer->start( ld[level].timer ); + // reset the foe + pfoe->reset(); + // we're still free +@@ -1312,12 +1317,12 @@ void BlackPenguinData::keyPressEvent( QK + if ( GameOver ) { + e->ignore(); + +- bitBlt(m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); ++ QPainter(m_visible_bg).drawPixmap( 0, 0, *m_invisible_bg[ ld[level].backgroundcolor ] ); + pg->show( m_visible_bg ); // copy goodies to bg2 + pbp->show( m_visible_bg ); // show the penguin + pfoe->show( m_visible_bg ); // copy the evil foe to bm2 +- bitBlt( m_visible_bg , 190, 140, m_gameover ); +- bitBlt(this, 0, 0, m_visible_bg ); // blit to physical screen ++ QPainter(m_visible_bg).drawPixmap( 190, 140, *m_gameover ); ++ update(); + return; + } + +@@ -1337,13 +1342,12 @@ void BlackPenguinData::keyPressEvent( QK + } + countdown--; + +- bitBlt(m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); ++ QPainter(m_visible_bg).drawPixmap( 0, 0, *m_invisible_bg[ ld[level].backgroundcolor ] ); + pg->show( m_visible_bg ); // copy goodies to bg2 + pbp->show( m_visible_bg ); + // make the foe jump on poor penguin + pfoe->show( m_visible_bg ); // copy the evil foe to bm2 +- bitBlt( m_visible_bg , 190, 140, m_gotcha ); +- bitBlt(this, 0, 0, m_visible_bg ); // blit to physical screen ++ QPainter(m_visible_bg).drawPixmap( 190, 140, *m_gotcha ); + return; + } + +@@ -1357,11 +1361,11 @@ void BlackPenguinData::keyPressEvent( QK + return; + } + countdown--; +- bitBlt(m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); ++ QPainter(m_visible_bg).drawPixmap( 0, 0, *m_invisible_bg[ ld[level].backgroundcolor ] ); + pg->show( m_visible_bg ); // copy goodies to bg2 + pfoe->show( m_visible_bg ); // copy the evil foe to bm2 +- bitBlt( m_visible_bg , 190, 140, m_minusone ); +- bitBlt(this, 0, 0, m_visible_bg ); // blit to physical screen ++ QPainter(m_visible_bg).drawPixmap( 190, 140, *m_minusone ); ++ update(); + return; + } + +@@ -1375,17 +1379,17 @@ void BlackPenguinData::keyPressEvent( QK + return; + } + countdown--; +- bitBlt(m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); ++ QPainter(m_visible_bg).drawPixmap( 0, 0, *m_invisible_bg[ ld[level].backgroundcolor ] ); + pg->show( m_visible_bg ); // copy goodies to bg2 + pfoe->show( m_visible_bg ); // copy the evil foe to bm2 + + if ( !ld[level].lastlevel ) +- bitBlt( m_visible_bg , 190, 140, m_nextlevel ); ++ QPainter(m_visible_bg).drawPixmap( 190, 140, *m_nextlevel ); + else + { +- bitBlt( m_visible_bg , 190, 140, m_youwin ); ++ QPainter(m_visible_bg).drawPixmap( 190, 140, *m_youwin ); + } +- bitBlt(this, 0, 0, m_visible_bg ); // blit to physical screen ++ update(); + return; + + } +@@ -1399,13 +1403,13 @@ void BlackPenguinData::keyPressEvent( QK + + if ((GameStarted)&&(e->key() == m_nKeySW)) + { +- bitBlt(m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); ++ QPainter(m_visible_bg).drawPixmap( 0, 0, *m_invisible_bg[ ld[level].backgroundcolor ] ); + pbp->down(); // change state of penguin + pg->show( m_visible_bg ); // change & copy goodies to bg2 + pbp->show( m_visible_bg ); // actually copy penguin, i.e. + pfoe->show( m_visible_bg ); // copy the evil foe to bm2 + // change and copy penguin in two steps to ensure it's always on top +- bitBlt(this, 0, 0, m_visible_bg ); // blit to physical screen ++ update(); + LCDcounter->display(credit); + // break; + } +@@ -1414,12 +1418,12 @@ void BlackPenguinData::keyPressEvent( QK + // if (!GameStarted) break; + else if ((GameStarted)&&(e->key() == m_nKeyNE)) + { +- bitBlt(m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); ++ QPainter(m_visible_bg).drawPixmap( 0, 0, *m_invisible_bg[ ld[level].backgroundcolor ] ); + pbp->up(); + pg->show( m_visible_bg ); + pbp->show( m_visible_bg ); + pfoe->show( m_visible_bg ); +- bitBlt(this, 0, 0, m_visible_bg ); ++ update(); + LCDcounter->display(credit); + // break; + } +@@ -1428,12 +1432,12 @@ void BlackPenguinData::keyPressEvent( QK + // if (!GameStarted) break; + else if ((GameStarted)&&(e->key() == m_nKeySE)) + { +- bitBlt(m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); ++ QPainter(m_visible_bg).drawPixmap( 0, 0, *m_invisible_bg[ ld[level].backgroundcolor ] ); + pbp->right(); + pg->show( m_visible_bg ); + pbp->show( m_visible_bg ); + pfoe->show( m_visible_bg ); +- bitBlt(this, 0, 0, m_visible_bg ); ++ update(); + LCDcounter->display(credit); + // break; + } +@@ -1442,12 +1446,12 @@ void BlackPenguinData::keyPressEvent( QK + // if (!GameStarted) break; + else if ((GameStarted)&&(e->key() == m_nKeyNW)) + { +- bitBlt(m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); ++ QPainter(m_visible_bg).drawPixmap( 0, 0, *m_invisible_bg[ ld[level].backgroundcolor ] ); + pbp->left(); + pg->show( m_visible_bg ); + pbp->show( m_visible_bg ); + pfoe->show( m_visible_bg ); +- bitBlt(this, 0, 0, m_visible_bg ); ++ update(); + LCDcounter->display(credit); + // break; + } +@@ -1458,11 +1462,11 @@ void BlackPenguinData::keyPressEvent( QK + // keys not relevant for the application are handled here, i.e. + // ignored. We use a dummy key event to handle all screen updates + // (incl. those triggered by the timer) in one function +- bitBlt(m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); ++ QPainter(m_visible_bg).drawPixmap( 0, 0, *m_invisible_bg[ ld[level].backgroundcolor ] ); + pg->show( m_visible_bg ); + if (GameStarted)pbp->show( m_visible_bg ); + pfoe->show( m_visible_bg ); +- bitBlt(this, 0, 0, m_visible_bg ); ++ update(); + LCDcounter->display(credit); // ununcommented H.Priebs 16 Nov 99 + e->ignore(); + return; +diff -upr blackpenguin-0.2-old/src/BlackPenguinData.h blackpenguin-0.2/src/BlackPenguinData.h +--- blackpenguin-0.2-old/src/BlackPenguinData.h 2014-08-16 10:10:39.695271909 -0700 ++++ blackpenguin-0.2/src/BlackPenguinData.h 2014-08-16 15:35:08.043053101 -0700 +@@ -22,7 +22,7 @@ + #ifndef BlackPenguinData_included + #define BlackPenguinData_included + +-#include <q3frame.h> ++#include <qframe.h> + #include <qlabel.h> + #include <qpushbutton.h> + #include <qlcdnumber.h> +diff -upr blackpenguin-0.2-old/src/blackpenguin.pro blackpenguin-0.2/src/blackpenguin.pro +--- blackpenguin-0.2-old/src/blackpenguin.pro 2014-08-16 10:10:39.695271909 -0700 ++++ blackpenguin-0.2/src/blackpenguin.pro 2014-08-16 14:41:10.222089491 -0700 +@@ -2,4 +2,4 @@ HEADERS = appwindow.h BlackPenguinData.h + SOURCES = main.cpp appwindow.cpp BlackPenguinData.cpp CRulesDialog.cpp CRulesDialogData.cpp CConfigDialog.cpp + TARGET = blackpenguin + #The following line was inserted by qt3to4 +-QT += qt3support ++QT += widgets +Only in blackpenguin-0.2/src: blackpenguin.pro.user +diff -upr blackpenguin-0.2-old/src/CConfigDialog.cpp blackpenguin-0.2/src/CConfigDialog.cpp +--- blackpenguin-0.2-old/src/CConfigDialog.cpp 2014-08-16 10:10:39.695271909 -0700 ++++ blackpenguin-0.2/src/CConfigDialog.cpp 2014-08-16 16:46:08.862005213 -0700 +@@ -22,6 +22,7 @@ + #include <qnamespace.h> + //Added by qt3to4: + #include <QPaintEvent> ++#include <QPainter> + #include <QPixmap> + #include <QKeyEvent> + #include <QEvent> +@@ -48,13 +49,13 @@ QString getKeycodeName(int nKeycode); + + + CConfigDialog::CConfigDialog(int nKeyNW, int nKeyNE, int nKeySW, int nKeySE, QWidget * pParent, const char * pszName) +- : QDialog(pParent, pszName, true), ++ : QDialog(pParent), + m_fWaitingForKey(false) + { + + // added by Holger Priebs ( 18 Nov 99 ) + +- setCaption("Configure Keys"); ++ setWindowTitle("Configure Keys"); + + configpix = new QPixmap( configback_xpm ); + button_nw = new QPixmap( nw_xpm ); +@@ -62,11 +63,12 @@ CConfigDialog::CConfigDialog(int nKeyNW, + button_sw = new QPixmap( sw_xpm ); + button_se = new QPixmap( se_xpm ); + +- QColorGroup normal( QColor( QRgb(0) ), QColor( QRgb(16296080) ), QColor( QRgb(16310472) ), QColor( QRgb(8412240) ), QColor( QRgb(16287864) ), QColor( QRgb(0) ), QColor( QRgb(16777215) ) ); +- QColorGroup disabled( QColor( QRgb(0) ), QColor( QRgb(16769987) ), QColor( QRgb(16310472) ), QColor( QRgb(8412240) ), QColor( QRgb(16287864) ), QColor( QRgb(8421504) ), QColor( QRgb(16777215) ) ); +- QColorGroup active( QColor( QRgb(0) ), QColor( QRgb(12632256) ), QColor( QRgb(16777215) ), QColor( QRgb(8421504) ), QColor( QRgb(10789024) ), QColor( QRgb(0) ), QColor( QRgb(16777215) ) ); ++ QPalette* palette = new QPalette(); ++ ++ palette->setColorGroup( QPalette::Active, QColor( QRgb(0) ), QColor( QRgb(16296080) ), QColor( QRgb(16310472) ), QColor( QRgb(8412240) ), QColor( QRgb(16287864) ), QColor( QRgb(0) ), Qt::white, QColor( QRgb(16777215) ), QColor( QRgb(0) ) ); ++ palette->setColorGroup( QPalette::Disabled, QColor( QRgb(0) ), QColor( QRgb(16769987) ), QColor( QRgb(16310472) ), QColor( QRgb(8412240) ), QColor( QRgb(16287864) ), QColor( QRgb(8421504) ), Qt::white, QColor( QRgb(16777215) ), QColor( QRgb(16769987) ) ); ++ palette->setColorGroup( QPalette::Inactive, QColor( QRgb(0) ), QColor( QRgb(12632256) ), QColor( QRgb(16777215) ), QColor( QRgb(8421504) ), QColor( QRgb(10789024) ), QColor( QRgb(0) ), Qt::white, QColor( QRgb(16777215) ), QColor( QRgb(12632256) ) ); + +- QPalette palette( normal, disabled, active ); + // -------- + + m_nActKeys[0] = nKeyNW; +@@ -80,7 +82,7 @@ CConfigDialog::CConfigDialog(int nKeyNW, + + // - initialize the editlines + for (int i=0; i<4; i++) +- { //m_pLineEdits[i]->setPalette( palette ); // Absturz!! ++ { //m_pLineEdits[i]->setPalette( *palette ); // Absturz!! + m_pLineEdits[i] = new QLineEdit(this); + m_pLineEdits[i]->setEnabled(false); + m_pLineEdits[i]->setText(getKeycodeName(m_nActKeys[i])); +@@ -90,10 +92,10 @@ CConfigDialog::CConfigDialog(int nKeyNW, + + // added by Holger Priebs (16 Nov 99) ---- + +- m_pLineEdits[0]->setPalette( palette ); +- m_pLineEdits[1]->setPalette( palette ); +- m_pLineEdits[2]->setPalette( palette ); +- m_pLineEdits[3]->setPalette( palette ); ++ m_pLineEdits[0]->setPalette( *palette ); ++ m_pLineEdits[1]->setPalette( *palette ); ++ m_pLineEdits[2]->setPalette( *palette ); ++ m_pLineEdits[3]->setPalette( *palette ); + // --------------------------------------- + + m_pLineEdits[0]->setGeometry( DISTANCE, DISTANCE, LINEEDIT_WIDTH, LINEEDIT_HEIGHT ); +@@ -124,10 +126,10 @@ CConfigDialog::CConfigDialog(int nKeyNW, + + // added by Holger Priebs (16 Nov 99) ---- + +- m_pDirButtons[0]->setPalette( palette ); +- m_pDirButtons[1]->setPalette( palette ); +- m_pDirButtons[2]->setPalette( palette ); +- m_pDirButtons[3]->setPalette( palette ); ++ m_pDirButtons[0]->setPalette( *palette ); ++ m_pDirButtons[1]->setPalette( *palette ); ++ m_pDirButtons[2]->setPalette( *palette ); ++ m_pDirButtons[3]->setPalette( *palette ); + + // --------------------------------------- + +@@ -138,10 +140,10 @@ CConfigDialog::CConfigDialog(int nKeyNW, + + // added by Holger Priebs ( 18 Nov 99 ) + +- m_pDirButtons[0]->setPixmap( *button_nw ); +- m_pDirButtons[1]->setPixmap( *button_ne ); +- m_pDirButtons[2]->setPixmap( *button_sw ); +- m_pDirButtons[3]->setPixmap( *button_se ); ++ m_pDirButtons[0]->setIcon( *button_nw ); ++ m_pDirButtons[1]->setIcon( *button_ne ); ++ m_pDirButtons[2]->setIcon( *button_sw ); ++ m_pDirButtons[3]->setIcon( *button_se ); + + // ------------------------------------ + +@@ -155,8 +157,8 @@ CConfigDialog::CConfigDialog(int nKeyNW, + pButtonOK->setGeometry( DISTANCE + LINEEDIT_WIDTH + DISTANCE + DIRBUTTON_WIDTH - STDBUTTON_WIDTH, DISTANCE + LINEEDIT_HEIGHT + DISTANCE + LINEEDIT_HEIGHT + DISTANCE, STDBUTTON_WIDTH, STDBUTTON_HEIGHT); + pButtonCancel->setGeometry( DISTANCE + LINEEDIT_WIDTH + DISTANCE + DIRBUTTON_WIDTH + DISTANCE, DISTANCE + LINEEDIT_HEIGHT + DISTANCE + LINEEDIT_HEIGHT + DISTANCE, STDBUTTON_WIDTH, STDBUTTON_HEIGHT); + +- pButtonOK->setPalette( palette ); +- pButtonCancel->setPalette( palette ); ++ pButtonOK->setPalette( *palette ); ++ pButtonCancel->setPalette( *palette ); + + pButtonOK->show(); + pButtonCancel->show(); +@@ -169,7 +171,7 @@ CConfigDialog::CConfigDialog(int nKeyNW, + + void CConfigDialog::paintEvent( QPaintEvent * ) + { +- bitBlt(this, 0, 0, configpix ); ++ QPainter(this).drawPixmap( 0, 0, *configpix ); + } + + void CConfigDialog::pressedDirButton(int nDir) +diff -upr blackpenguin-0.2-old/src/CRulesDialog.cpp blackpenguin-0.2/src/CRulesDialog.cpp +--- blackpenguin-0.2-old/src/CRulesDialog.cpp 2014-08-16 10:10:39.694271909 -0700 ++++ blackpenguin-0.2/src/CRulesDialog.cpp 2014-08-16 14:41:10.227089491 -0700 +@@ -31,7 +31,7 @@ CRulesDialog::CRulesDialog + : + Inherited( parent, name ) + { +- setCaption( "Rules of the Game" ); ++ setWindowTitle( "Rules of the Game" ); + } + + +diff -upr blackpenguin-0.2-old/src/CRulesDialogData.cpp blackpenguin-0.2/src/CRulesDialogData.cpp +--- blackpenguin-0.2-old/src/CRulesDialogData.cpp 2014-08-16 10:10:39.695271909 -0700 ++++ blackpenguin-0.2/src/CRulesDialogData.cpp 2014-08-16 16:19:05.240023461 -0700 +@@ -27,6 +27,7 @@ + #include <qpushbutton.h> + #include <qpixmap.h> + //Added by qt3to4: ++#include <QPainter> + #include <QPaintEvent> + #include "howtoplay.xpm" + +@@ -36,26 +37,28 @@ CRulesDialogData::CRulesDialogData + const char* name + ) + : +- Inherited( parent, name, TRUE, (Qt::WindowFlags) 53248 ) ++ Inherited( parent, (Qt::WindowFlags) 53248 ) + { + // ------- added by Holger Priebs 22 Nov 99 +- setCaption("Black Penguin - Rules of the Game"); ++ setWindowTitle("Black Penguin - Rules of the Game"); + + QPushButton* dlgedit_PushButton_1; +- dlgedit_PushButton_1 = new QPushButton( this, "PushButton_1" ); ++ dlgedit_PushButton_1 = new QPushButton( this ); ++ dlgedit_PushButton_1->setObjectName( "PushButton_1" ); + dlgedit_PushButton_1->setGeometry( 150, 260, 100, 30 ); + dlgedit_PushButton_1->setMinimumSize( 10, 10 ); + dlgedit_PushButton_1->setMaximumSize( 32767, 32767 ); + { +- QColorGroup normal( QColor( QRgb(0) ), QColor( QRgb(16296080) ), QColor( QRgb(16310472) ), QColor( QRgb(8412240) ), QColor( QRgb(16287864) ), QColor( QRgb(0) ), QColor( QRgb(16777215) ) ); +- QColorGroup disabled( QColor( QRgb(8421504) ), QColor( QRgb(12632256) ), QColor( QRgb(16777215) ), QColor( QRgb(8421504) ), QColor( QRgb(10789024) ), QColor( QRgb(8421504) ), QColor( QRgb(12632256) ) ); +- QColorGroup active( QColor( QRgb(0) ), QColor( QRgb(12632256) ), QColor( QRgb(16777215) ), QColor( QRgb(8421504) ), QColor( QRgb(10789024) ), QColor( QRgb(0) ), QColor( QRgb(16777215) ) ); +- QPalette palette( normal, disabled, active ); +- dlgedit_PushButton_1->setPalette( palette ); ++ QPalette* palette = new QPalette(); ++ ++ palette->setColorGroup( QPalette::Active, QColor( QRgb(0) ), QColor( QRgb(16296080) ), QColor( QRgb(16310472) ), QColor( QRgb(8412240) ), QColor( QRgb(16287864) ), QColor( QRgb(0) ), Qt::white, QColor( QRgb(16777215) ), QColor( QRgb(16296080) )); ++ palette->setColorGroup( QPalette::Disabled, QColor( QRgb(8421504) ), QColor( QRgb(12632256) ), QColor( QRgb(16777215) ), QColor( QRgb(8421504) ), QColor( QRgb(10789024) ), QColor( QRgb(8421504) ), Qt::white, QColor( QRgb(12632256) ), QColor( QRgb(12632256) )); ++ palette->setColorGroup( QPalette::Inactive, QColor( QRgb(0) ), QColor( QRgb(12632256) ), QColor( QRgb(16777215) ), QColor( QRgb(8421504) ), QColor( QRgb(10789024) ), QColor( QRgb(0) ), Qt::white, QColor( QRgb(16777215) ), QColor( QRgb(12632256) ) ); ++ dlgedit_PushButton_1->setPalette( *palette ); + } + connect( dlgedit_PushButton_1, SIGNAL(clicked()), SLOT(accept()) ); + dlgedit_PushButton_1->setText( "Dismiss" ); +- dlgedit_PushButton_1->setAutoRepeat( FALSE ); ++ dlgedit_PushButton_1->setAutoRepeat( false ); + // need to figure out how the syntax looks for porting from Qt3 setAutoResize() + // dlgedit_PushButton_1->setFixedSize(QWidget::sizeHint()); + +@@ -71,7 +74,7 @@ CRulesDialogData::CRulesDialogData + void CRulesDialogData::paintEvent( QPaintEvent * ) + { + // QPixmap* howpix; +- bitBlt(this, 0, 0, howpix ); ++ QPainter(this).drawPixmap( 0, 0, *howpix ); + } + + CRulesDialogData::~CRulesDialogData() +diff -upr blackpenguin-0.2-old/src/main.cpp blackpenguin-0.2/src/main.cpp +--- blackpenguin-0.2-old/src/main.cpp 2014-08-16 10:10:39.694271909 -0700 ++++ blackpenguin-0.2/src/main.cpp 2014-08-16 14:41:10.233089491 -0700 +@@ -29,8 +29,7 @@ int main( int argc, char **argv ) + { + QApplication a(argc, argv ); + ApplicationWindow * mw = new ApplicationWindow(); +- a.setMainWidget(mw); +- mw->setCaption( "Black Penguin 0.2 GPL" ); ++ mw->setWindowTitle( "Black Penguin 0.2 GPL" ); + mw->show(); + return a.exec(); + }
\ No newline at end of file diff --git a/blackpenguin.desktop b/blackpenguin.desktop new file mode 100644 index 000000000000..3a065e20b29c --- /dev/null +++ b/blackpenguin.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Version=1.0 +Name=Black Penguin +Comment=An arcade style jump-on-cubes game with Penguin and Evil Window +Exec=blackpenguin +Icon=blackpenguin +Terminal=false +Categories=Game;ArcadeGame; diff --git a/blackpenguin.patch b/blackpenguin.patch new file mode 100644 index 000000000000..638a9248c2d8 --- /dev/null +++ b/blackpenguin.patch @@ -0,0 +1,250 @@ +diff -aur blackpenguin-0.2.orig/src/appwindow.cpp.alt blackpenguin-0.2/src/appwindow.cpp.alt +--- blackpenguin-0.2.orig/src/appwindow.cpp.alt 1999-11-23 22:50:14.000000000 +0500 ++++ blackpenguin-0.2/src/appwindow.cpp.alt 2012-05-21 17:17:19.962632028 +0600 +@@ -84,10 +84,10 @@ + + + (void)QWhatsThis::whatsThisButton( fileTools ); +- QWhatsThis::add( newGame, newGameText, FALSE ); +- QWhatsThis::add( rulesGame, rulesGameText, FALSE ); +- QWhatsThis::add( loadGame, loadGameText, FALSE ); +- QWhatsThis::add( saveGame, saveGameText, FALSE ); ++ QWhatsThis::add( newGame, newGameText ); ++ QWhatsThis::add( rulesGame, rulesGameText ); ++ QWhatsThis::add( loadGame, loadGameText ); ++ QWhatsThis::add( saveGame, saveGameText ); + + statusBar()->message( "Hit F2 to start a new Game", 5000 ); + +diff -aur blackpenguin-0.2.orig/src/appwindow.h blackpenguin-0.2/src/appwindow.h +--- blackpenguin-0.2.orig/src/appwindow.h 1999-11-23 22:50:14.000000000 +0500 ++++ blackpenguin-0.2/src/appwindow.h 2012-05-21 17:17:19.965965362 +0600 +@@ -42,10 +42,6 @@ + void reset(); + void save(); + void load(); +-// -------- +-// added by Olaf Hartig (9 Nov 1999) +- void config(); +-// -------- + + public slots: + void aboutp(); +diff -aur blackpenguin-0.2.orig/src/BlackPenguinData.cpp blackpenguin-0.2/src/BlackPenguinData.cpp +--- blackpenguin-0.2.orig/src/BlackPenguinData.cpp 1999-11-23 22:50:14.000000000 +0500 ++++ blackpenguin-0.2/src/BlackPenguinData.cpp 2012-05-21 17:17:19.965965362 +0600 +@@ -900,7 +900,7 @@ + calculate_credits(); + + // dummy kbd event +- m_keydummy = new QKeyEvent(Event_KeyPress,0,0,0); ++ m_keydummy = new QKeyEvent(QEvent::KeyPress,0,0,0); + + // usr has to start game first + +@@ -1167,7 +1167,7 @@ + // first delete the background by overwriting it with the new one + bitBlt( m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); + // then put the goodies on all the places +- available = level_pattern[ld[level].pattern]; ++ memcpy(available, level_pattern[ld[level].pattern], sizeof(level_pattern[ld[level].pattern])); + // put the little penguin on the top field + pbp->m_position = 10; + // blit the goodies on the 'visible' screen +@@ -1222,7 +1222,7 @@ + // first delete the background by overwriting it with the original + bitBlt( m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor ] ); + // then put the goodies on all the places +- available = level_pattern[ld[level].pattern]; ++ memcpy(available, level_pattern[ld[level].pattern], sizeof(level_pattern[ld[level].pattern])); + // put the little penguin on the top field + pbp->m_position = 10; + // blit the goodies on the 'visible' screen +@@ -1263,7 +1263,7 @@ + // first delete the background by overwriting it with the original + bitBlt( m_visible_bg, 0, 0, m_invisible_bg[ ld[level].backgroundcolor] ); + // then put the goodies on all the places +- available = level_pattern[ld[level].pattern]; ++ memcpy(available, level_pattern[ld[level].pattern], sizeof(level_pattern[ld[level].pattern])); + // put the little penguin on the top field + pbp->m_position = 10; + // blit the goodies on the 'visible' screen +diff -aur blackpenguin-0.2.orig/src/CConfigDialog.cpp blackpenguin-0.2/src/CConfigDialog.cpp +--- blackpenguin-0.2.orig/src/CConfigDialog.cpp 1999-11-23 22:50:14.000000000 +0500 ++++ blackpenguin-0.2/src/CConfigDialog.cpp 2012-05-21 17:17:19.965965362 +0600 +@@ -225,84 +225,84 @@ + { + switch(nKeycode) + { +- case Key_Home: return "Home"; break; +- case Key_End: return "End"; break; +- case Key_Left: return "Left"; break; +- case Key_Up: return "Up"; break; +- case Key_Right: return "Right"; break; +- case Key_Down: return "Down"; break; +- case Key_PageUp: return "PageUp"; break; +- case Key_PageDown: return "PageDown"; break; ++ case QEvent::Key_Home: return "Home"; break; ++ case QEvent::Key_End: return "End"; break; ++ case QEvent::Key_Left: return "Left"; break; ++ case QEvent::Key_Up: return "Up"; break; ++ case QEvent::Key_Right: return "Right"; break; ++ case QEvent::Key_Down: return "Down"; break; ++ case QEvent::Key_PageUp: return "PageUp"; break; ++ case QEvent::Key_PageDown: return "PageDown"; break; + +- case Key_Space: return "Space"; break; +- case Key_Exclam: return "!"; break; +- case Key_QuoteDbl: return "\""; break; +- case Key_NumberSign: return "#"; break; +- case Key_Dollar: return "$"; break; +- case Key_Percent: return "%"; break; +- case Key_Ampersand: return "&"; break; +- case Key_Apostrophe: return "'"; break; +- case Key_ParenLeft: return "("; break; +- case Key_ParenRight: return ")"; break; +- case Key_Asterisk: return "*"; break; +- case Key_Plus: return "+"; break; +- case Key_Comma: return ","; break; +- case Key_Minus: return "-"; break; +- case Key_Period: return "."; break; +- case Key_Slash: return "/"; break; +- case Key_0: return "0"; break; +- case Key_1: return "1"; break; +- case Key_2: return "2"; break; +- case Key_3: return "3"; break; +- case Key_4: return "4"; break; +- case Key_5: return "5"; break; +- case Key_6: return "6"; break; +- case Key_7: return "7"; break; +- case Key_8: return "8"; break; +- case Key_9: return "9"; break; +- case Key_Colon: return ","; break; +- case Key_Semicolon: return ";"; break; +- case Key_Less: return "<"; break; +- case Key_Equal: return "="; break; +- case Key_Greater: return ">"; break; +- case Key_Question: return "?"; break; +- case Key_At: return ""; break; +- case Key_A: return "a"; break; +- case Key_B: return "b"; break; +- case Key_C: return "c"; break; +- case Key_D: return "d"; break; +- case Key_E: return "e"; break; +- case Key_F: return "f"; break; +- case Key_G: return "g"; break; +- case Key_H: return "h"; break; +- case Key_I: return "i"; break; +- case Key_J: return "j"; break; +- case Key_K: return "k"; break; +- case Key_L: return "l"; break; +- case Key_M: return "m"; break; +- case Key_N: return "n"; break; +- case Key_O: return "o"; break; +- case Key_P: return "p"; break; +- case Key_Q: return "q"; break; +- case Key_R: return "r"; break; +- case Key_S: return "s"; break; +- case Key_T: return "t"; break; +- case Key_U: return "u"; break; +- case Key_V: return "v"; break; +- case Key_W: return "w"; break; +- case Key_X: return "x"; break; +- case Key_Y: return "y"; break; +- case Key_Z: return "z"; break; +- case Key_BracketLeft: return "["; break; +- case Key_Backslash: return "\\"; break; +- case Key_BracketRight: return "]"; break; +- case Key_AsciiCircum: return "Circum"; break; +- case Key_Underscore: return "_"; break; +- case Key_QuoteLeft: return "`"; break; +- case Key_BraceLeft: return "{"; break; +- case Key_Bar: return "|"; break; +- case Key_BraceRight: return "}"; break; +- case Key_AsciiTilde: return "~"; break; ++ case QEvent::Key_Space: return "Space"; break; ++ case QEvent::Key_Exclam: return "!"; break; ++ case QEvent::Key_QuoteDbl: return "\""; break; ++ case QEvent::Key_NumberSign: return "#"; break; ++ case QEvent::Key_Dollar: return "$"; break; ++ case QEvent::Key_Percent: return "%"; break; ++ case QEvent::Key_Ampersand: return "&"; break; ++ case QEvent::Key_Apostrophe: return "'"; break; ++ case QEvent::Key_ParenLeft: return "("; break; ++ case QEvent::Key_ParenRight: return ")"; break; ++ case QEvent::Key_Asterisk: return "*"; break; ++ case QEvent::Key_Plus: return "+"; break; ++ case QEvent::Key_Comma: return ","; break; ++ case QEvent::Key_Minus: return "-"; break; ++ case QEvent::Key_Period: return "."; break; ++ case QEvent::Key_Slash: return "/"; break; ++ case QEvent::Key_0: return "0"; break; ++ case QEvent::Key_1: return "1"; break; ++ case QEvent::Key_2: return "2"; break; ++ case QEvent::Key_3: return "3"; break; ++ case QEvent::Key_4: return "4"; break; ++ case QEvent::Key_5: return "5"; break; ++ case QEvent::Key_6: return "6"; break; ++ case QEvent::Key_7: return "7"; break; ++ case QEvent::Key_8: return "8"; break; ++ case QEvent::Key_9: return "9"; break; ++ case QEvent::Key_Colon: return ","; break; ++ case QEvent::Key_Semicolon: return ";"; break; ++ case QEvent::Key_Less: return "<"; break; ++ case QEvent::Key_Equal: return "="; break; ++ case QEvent::Key_Greater: return ">"; break; ++ case QEvent::Key_Question: return "?"; break; ++ case QEvent::Key_At: return ""; break; ++ case QEvent::Key_A: return "a"; break; ++ case QEvent::Key_B: return "b"; break; ++ case QEvent::Key_C: return "c"; break; ++ case QEvent::Key_D: return "d"; break; ++ case QEvent::Key_E: return "e"; break; ++ case QEvent::Key_F: return "f"; break; ++ case QEvent::Key_G: return "g"; break; ++ case QEvent::Key_H: return "h"; break; ++ case QEvent::Key_I: return "i"; break; ++ case QEvent::Key_J: return "j"; break; ++ case QEvent::Key_K: return "k"; break; ++ case QEvent::Key_L: return "l"; break; ++ case QEvent::Key_M: return "m"; break; ++ case QEvent::Key_N: return "n"; break; ++ case QEvent::Key_O: return "o"; break; ++ case QEvent::Key_P: return "p"; break; ++ case QEvent::Key_Q: return "q"; break; ++ case QEvent::Key_R: return "r"; break; ++ case QEvent::Key_S: return "s"; break; ++ case QEvent::Key_T: return "t"; break; ++ case QEvent::Key_U: return "u"; break; ++ case QEvent::Key_V: return "v"; break; ++ case QEvent::Key_W: return "w"; break; ++ case QEvent::Key_X: return "x"; break; ++ case QEvent::Key_Y: return "y"; break; ++ case QEvent::Key_Z: return "z"; break; ++ case QEvent::Key_BracketLeft: return "["; break; ++ case QEvent::Key_Backslash: return "\\"; break; ++ case QEvent::Key_BracketRight: return "]"; break; ++ case QEvent::Key_AsciiCircum: return "Circum"; break; ++ case QEvent::Key_Underscore: return "_"; break; ++ case QEvent::Key_QuoteLeft: return "`"; break; ++ case QEvent::Key_BraceLeft: return "{"; break; ++ case QEvent::Key_Bar: return "|"; break; ++ case QEvent::Key_BraceRight: return "}"; break; ++ case QEvent::Key_AsciiTilde: return "~"; break; + default: return "unknown"; + } + return "w"; +diff -aur blackpenguin-0.2.orig/src/Makefile blackpenguin-0.2/src/Makefile +--- blackpenguin-0.2.orig/src/Makefile 1999-11-23 22:50:14.000000000 +0500 ++++ blackpenguin-0.2/src/Makefile 2012-05-21 17:19:11.472628234 +0600 +@@ -14,8 +14,8 @@ + INCPATH = -I$(QTDIR)/include + LINK = g++ + LFLAGS = +-LIBS = -L$(QTDIR)/lib -lqt -L/usr/X11R6/lib -lX11 -lXext +-MOC = moc ++LIBS = -L$(QTDIR)/lib -lqt -L/usr/lib -lX11 -lXext ++MOC = /opt/qt2/bin/moc + + TAR = tar -cf + GZIP = gzip -9f diff --git a/blackpenguin.png b/blackpenguin.png Binary files differnew file mode 100644 index 000000000000..8d6aa6be7742 --- /dev/null +++ b/blackpenguin.png diff --git a/qt2to4.patch b/qt2to4.patch new file mode 100644 index 000000000000..9453c1569069 --- /dev/null +++ b/qt2to4.patch @@ -0,0 +1,1043 @@ +diff -ruN blackpenguin-0.2/src/apple_mask.xpm blackpenguin-qt2to4/src/apple_mask.xpm +--- blackpenguin-0.2/src/apple_mask.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/apple_mask.xpm 2014-08-04 09:41:00.890983314 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * apple_mask_xpm[] = { ++static const char * apple_mask_xpm[] = { + "42 55 8 1", + " c #FFFFFFFFFFFF", + ". c #000000000000", +diff -ruN blackpenguin-0.2/src/apple.xpm blackpenguin-qt2to4/src/apple.xpm +--- blackpenguin-0.2/src/apple.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/apple.xpm 2014-08-04 09:41:00.904983314 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * apple_xpm[] = { ++static const char * apple_xpm[] = { + "42 55 65 1", + " c #FFFFFBEEFFFF", + ". c #FFFFFFFFFFFF", +diff -ruN blackpenguin-0.2/src/appwindow.cpp blackpenguin-qt2to4/src/appwindow.cpp +--- blackpenguin-0.2/src/appwindow.cpp 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/appwindow.cpp 2014-08-04 09:41:23.806983623 +0200 +@@ -21,6 +21,9 @@ + + #include "appwindow.h" + #include <qmessagebox.h> ++//Added by qt3to4: ++#include <QPixmap> ++#include <Q3PopupMenu> + #include "CRulesDialog.h" + #include "newgame.xpm" + #include "rules.xpm" +@@ -38,7 +41,7 @@ + const char* saveGameText = "Save a game. Only one game can be saved at a time; any previously saved game will be overwritten."; + + ApplicationWindow::ApplicationWindow() +- : QMainWindow( 0, "Black Penguin Main Window" ) ++ : Q3MainWindow( 0, "Black Penguin Main Window" ) + { + e = new BlackPenguinData( this, "blackpenguin" ); + e->setFocus(); +@@ -46,7 +49,7 @@ + e->setUpdatesEnabled(FALSE); + setCentralWidget( e ); + +- fileTools = new QToolBar( this, "file operations" ); ++ fileTools = new Q3ToolBar( this, "file operations" ); + + newGameIcon = QPixmap( newgame_xpm ); + rulesIcon = QPixmap( rules_xpm ); +@@ -70,35 +73,35 @@ + this, SLOT(save()), + fileTools, "save game" ); + +- QPopupMenu* file = new QPopupMenu(); +- QPopupMenu* help = new QPopupMenu(); ++ Q3PopupMenu* file = new Q3PopupMenu(); ++ Q3PopupMenu* help = new Q3PopupMenu(); + menuBar()->insertItem( "&File", file ); + menuBar()->insertItem( "&Help", help ); + +- file->insertItem( newGameIcon, "New Game", this, SLOT(reset()), Key_F2 ); ++ file->insertItem( newGameIcon, "New Game", this, SLOT(reset()), Qt::Key_F2 ); + file->insertSeparator(); +- file->insertItem( loadIcon, "Load Game", this, SLOT(load()), Key_F3 ); +- file->insertItem( saveIcon, "Save Game", this, SLOT(save()), Key_F4 ); ++ file->insertItem( loadIcon, "Load Game", this, SLOT(load()), Qt::Key_F3 ); ++ file->insertItem( saveIcon, "Save Game", this, SLOT(save()), Qt::Key_F4 ); + file->insertSeparator(); + // -------- + // added by Olaf Hartig (9 Nov 1999) changed by Holger Priebs (16 Nov 1999) +- file->insertItem( configIcon, "Configure Keys", this, SLOT(config()), CTRL+Key_C ); ++ file->insertItem( configIcon, "Configure Keys", this, SLOT(config()), Qt::CTRL+Qt::Key_C ); + file->insertSeparator(); + // -------- +- file->insertItem( "Quit", this, SLOT(quit()), CTRL+Key_Q ); ++ file->insertItem( "Quit", this, SLOT(quit()), Qt::CTRL+Qt::Key_Q ); + +- help->insertItem( rulesIcon, "Rules of the Game", this, SLOT( rules() ), Key_F1 ); ++ help->insertItem( rulesIcon, "Rules of the Game", this, SLOT( rules() ), Qt::Key_F1 ); + help->insertSeparator(); +- help->insertItem( "About &Black Penguin", this, SLOT( aboutp() ), Key_F5 ); +- help->insertItem( "No &Warranty", this, SLOT( aboutw() ), Key_F6 ); +- help->insertItem( "&Redistribution", this, SLOT( aboutc() ), Key_F7 ); ++ help->insertItem( "About &Black Penguin", this, SLOT( aboutp() ), Qt::Key_F5 ); ++ help->insertItem( "No &Warranty", this, SLOT( aboutw() ), Qt::Key_F6 ); ++ help->insertItem( "&Redistribution", this, SLOT( aboutc() ), Qt::Key_F7 ); + + +- (void)QWhatsThis::whatsThisButton( fileTools ); +- QWhatsThis::add( newGame, newGameText, FALSE ); +- QWhatsThis::add( rulesGame, rulesGameText, FALSE ); +- QWhatsThis::add( loadGame, loadGameText, FALSE ); +- QWhatsThis::add( saveGame, saveGameText, FALSE ); ++ (void)Q3WhatsThis::whatsThisButton( fileTools ); ++ Q3WhatsThis::add( newGame, newGameText, FALSE ); ++ Q3WhatsThis::add( rulesGame, rulesGameText, FALSE ); ++ Q3WhatsThis::add( loadGame, loadGameText, FALSE ); ++ Q3WhatsThis::add( saveGame, saveGameText, FALSE ); + + statusBar()->message( "Hit F2 to start a new Game", 5000 ); + +@@ -152,7 +155,7 @@ + QMessageBox::message( "About Black Penguin", "Black Penguin 0.2b\nCopyright (C) \ + 1999 Holger Priebs <pengu@priebs.de>\n\n\ + Thanks to:\n +-Olaf Hartig <O.Hartig@keh-berlin.de> - Key Configuration\n\n ++Olaf Hartig <O.Hartig@keh-berlin.de> - Qt::Key Configuration\n\n + Black Penguin comes with ABSOLUTE NO WARRANTY: \n\ + for details hit F6.\n\ + This is free software, and you are welcome to redistribute it\n\ +diff -ruN blackpenguin-0.2/src/appwindow.cpp.alt blackpenguin-qt2to4/src/appwindow.cpp.alt +--- blackpenguin-0.2/src/appwindow.cpp.alt 2014-08-03 07:02:21.004996736 +0200 ++++ blackpenguin-qt2to4/src/appwindow.cpp.alt 2014-08-03 08:32:28.835069783 +0200 +@@ -21,6 +21,9 @@ + + #include "appwindow.h" + #include <qmessagebox.h> ++//Added by qt3to4: ++#include <QPixmap> ++#include <Q3PopupMenu> + #include "CRulesDialog.h" + #include "newgame.xpm" + #include "rules.xpm" +@@ -33,7 +36,7 @@ + const char* saveGameText = "Save a game. Only one game can be saved at a time; any previously saved game will be overwritten."; + + ApplicationWindow::ApplicationWindow() +- : QMainWindow( 0, "Black Penguin Main Window" ) ++ : Q3MainWindow( 0, "Black Penguin Main Window" ) + { + e = new BlackPenguinData( this, "blackpenguin" ); + e->setFocus(); +@@ -41,7 +44,7 @@ + e->setUpdatesEnabled(FALSE); + setCentralWidget( e ); + +- fileTools = new QToolBar( this, "file operations" ); ++ fileTools = new Q3ToolBar( this, "file operations" ); + + newGameIcon = QPixmap( newgame_xpm ); + rulesIcon = QPixmap( rules_xpm ); +@@ -64,30 +67,30 @@ + this, SLOT(save()), + fileTools, "save game" ); + +- QPopupMenu* file = new QPopupMenu(); +- QPopupMenu* help = new QPopupMenu(); ++ Q3PopupMenu* file = new Q3PopupMenu(); ++ Q3PopupMenu* help = new Q3PopupMenu(); + menuBar()->insertItem( "&File", file ); + menuBar()->insertItem( "&Help", help ); + +- file->insertItem( newGameIcon, "New Game", this, SLOT(reset()), Key_F2 ); ++ file->insertItem( newGameIcon, "New Game", this, SLOT(reset()), Qt::Key_F2 ); + file->insertSeparator(); +- file->insertItem( loadIcon, "Load Game", this, SLOT(load()), Key_F3 ); +- file->insertItem( saveIcon, "Save Game", this, SLOT(save()), Key_F4 ); ++ file->insertItem( loadIcon, "Load Game", this, SLOT(load()), Qt::Key_F3 ); ++ file->insertItem( saveIcon, "Save Game", this, SLOT(save()), Qt::Key_F4 ); + file->insertSeparator(); +- file->insertItem( "Quit", this, SLOT(quit()), CTRL+Key_Q ); ++ file->insertItem( "Quit", this, SLOT(quit()), Qt::CTRL+Qt::Key_C ); + +- help->insertItem( rulesIcon, "Rules of the Game", this, SLOT( rules() ), Key_F1 ); ++ help->insertItem( rulesIcon, "Rules of the Game", this, SLOT( rules() ), Qt::Key_F1 ); + help->insertSeparator(); +- help->insertItem( "About &Black Penguin", this, SLOT( aboutp() ), Key_F5 ); +- help->insertItem( "No &Warranty", this, SLOT( aboutw() ), Key_F6 ); +- help->insertItem( "&Redistribution", this, SLOT( aboutc() ), Key_F7 ); ++ help->insertItem( "About &Black Penguin", this, SLOT( aboutp() ), Qt::Key_F5 ); ++ help->insertItem( "No &Warranty", this, SLOT( aboutw() ), Qt::Key_F6 ); ++ help->insertItem( "&Redistribution", this, SLOT( aboutc() ), Qt::Key_F7 ); + + +- (void)QWhatsThis::whatsThisButton( fileTools ); +- QWhatsThis::add( newGame, newGameText ); +- QWhatsThis::add( rulesGame, rulesGameText ); +- QWhatsThis::add( loadGame, loadGameText ); +- QWhatsThis::add( saveGame, saveGameText ); ++ (void)Q3WhatsThis::whatsThisButton( fileTools ); ++ Q3WhatsThis::add( newGame, newGameText ); ++ Q3WhatsThis::add( rulesGame, rulesGameText ); ++ Q3WhatsThis::add( loadGame, loadGameText ); ++ Q3WhatsThis::add( saveGame, saveGameText ); + + statusBar()->message( "Hit F2 to start a new Game", 5000 ); + +diff -ruN blackpenguin-0.2/src/appwindow.h blackpenguin-qt2to4/src/appwindow.h +--- blackpenguin-0.2/src/appwindow.h 2014-08-03 07:02:21.005996736 +0200 ++++ blackpenguin-qt2to4/src/appwindow.h 2014-08-04 09:41:32.961983747 +0200 +@@ -19,19 +19,19 @@ + // along with this program; if not, write to the Free Software + // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +-#include <qmainwindow.h> +-#include <qtoolbar.h> ++#include <q3mainwindow.h> ++#include <q3toolbar.h> + #include <qtoolbutton.h> +-#include <qpopupmenu.h> ++#include <q3popupmenu.h> + #include <qmenubar.h> +-#include <qkeycode.h> ++#include <qnamespace.h> + #include <qpixmap.h> + #include <qstatusbar.h> +-#include <qwhatsthis.h> ++#include <q3whatsthis.h> + + #include "BlackPenguinData.h" + +-class ApplicationWindow: public QMainWindow ++class ApplicationWindow: public Q3MainWindow + { + Q_OBJECT + public: +@@ -52,8 +52,8 @@ + + private: + BlackPenguinData* e; +- QToolBar *fileTools; +- QPopupMenu *controls; ++ Q3ToolBar *fileTools; ++ Q3PopupMenu *controls; + + // Pixmaps for toolbar + QPixmap newGameIcon; +diff -ruN blackpenguin-0.2/src/background2.xpm blackpenguin-qt2to4/src/background2.xpm +--- blackpenguin-0.2/src/background2.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/background2.xpm 2014-08-04 09:41:00.938983315 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * background2_xpm[] = { ++static const char * background2_xpm[] = { + "665 390 64 1", + " c #FFFFFBEEFFFF", + ". c #FFFFFFFFFFFF", +diff -ruN blackpenguin-0.2/src/background3.xpm blackpenguin-qt2to4/src/background3.xpm +--- blackpenguin-0.2/src/background3.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/background3.xpm 2014-08-04 09:41:00.973983315 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * background3_xpm[] = { ++static const char * background3_xpm[] = { + "665 390 61 1", + " c #FFFFFFFFFFFF", + ". c #514459658617", +diff -ruN blackpenguin-0.2/src/background4.xpm blackpenguin-qt2to4/src/background4.xpm +--- blackpenguin-0.2/src/background4.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/background4.xpm 2014-08-04 09:41:01.002983315 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * background4_xpm[] = { ++static const char * background4_xpm[] = { + "680 391 66 1", + " c #FFFFFFFFFFFF", + ". c #514459658617", +diff -ruN blackpenguin-0.2/src/background.xpm blackpenguin-qt2to4/src/background.xpm +--- blackpenguin-0.2/src/background.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/background.xpm 2014-08-04 09:41:01.043983316 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * background_xpm[] = { ++static const char * background_xpm[] = { + "665 390 63 1", + " c #FFFFFFFFFFFF", + ". c #514459658617", +diff -ruN blackpenguin-0.2/src/BlackPenguinData.cpp blackpenguin-qt2to4/src/BlackPenguinData.cpp +--- blackpenguin-0.2/src/BlackPenguinData.cpp 2014-08-03 07:02:21.007996736 +0200 ++++ blackpenguin-qt2to4/src/BlackPenguinData.cpp 2014-08-11 14:27:44.773471967 +0200 +@@ -21,10 +21,16 @@ + + + #include <qfile.h> ++//Added by qt3to4: ++#include <QPaintEvent> ++#include <Q3Frame> ++#include <QLabel> ++#include <QKeyEvent> ++#include <QEvent> + #include <stdlib.h> + #include <qpixmap.h> + #include <qbitmap.h> +-#include <qkeycode.h> ++#include <qnamespace.h> + #include <qtimer.h> + #include <qmenubar.h> + #include "apple.xpm" +@@ -888,12 +894,13 @@ + : + Inherited( parent, name, 0 ) + { ++ setAttribute(Qt::WA_PaintOutsidePaintEvent, true); + // load a previously stored keyboard assignment if available, else use defaults + if (!loadkeys()) { +- m_nKeyNW = Key_Left; +- m_nKeyNE = Key_Up; +- m_nKeySW = Key_Down; +- m_nKeySE = Key_Right; ++ m_nKeyNW = Qt::Key_Left; ++ m_nKeyNE = Qt::Key_Up; ++ m_nKeySW = Qt::Key_Down; ++ m_nKeySE = Qt::Key_Right; + } + + // calculate the values for max credits of each level so we need not hard code the values +@@ -912,7 +919,7 @@ + + // handle keyboard events + +- setFocusPolicy( StrongFocus ); ++ setFocusPolicy( Qt::StrongFocus ); + + // pointers to the penguin's and the goodies' classes and to the foe + +@@ -945,7 +952,7 @@ + + QPixmap* creditpixmap = new QPixmap( pingucoinsmall_xpm ); + QLabel * creditlabel = new QLabel(this); +- creditlabel->setFrameStyle( QFrame::Panel | QFrame::Sunken ); ++ creditlabel->setFrameStyle( Q3Frame::Panel | Q3Frame::Sunken ); + creditlabel->setGeometry( 505, 20, 30, 30 ); + creditlabel->setPalette( palette_forall ); + creditlabel->setPixmap( *creditpixmap ); +@@ -967,7 +974,7 @@ + + QPixmap* creditpixmap2 = new QPixmap( lives_xpm ); + QLabel * creditlabel2 = new QLabel(this); +- creditlabel2->setFrameStyle( QFrame::Panel | QFrame::Sunken ); ++ creditlabel2->setFrameStyle( Q3Frame::Panel | Q3Frame::Sunken ); + creditlabel2->setGeometry( 505, 65, 30, 30 ); + creditlabel2->setPalette( palette_forall ); + creditlabel2->setPixmap( *creditpixmap2 ); +@@ -989,7 +996,7 @@ + + QPixmap* creditpixmap3 = new QPixmap( levelicon_xpm ); + QLabel * creditlabel3 = new QLabel(this); +- creditlabel3->setFrameStyle( QFrame::Panel | QFrame::Sunken ); ++ creditlabel3->setFrameStyle( Q3Frame::Panel | Q3Frame::Sunken ); + creditlabel3->setGeometry( 505, 110, 30, 30 ); + creditlabel3->setPalette( palette_forall ); + creditlabel3->setPixmap( *creditpixmap3 ); +@@ -1077,7 +1084,7 @@ + strcpy( filename, getenv("HOME")); + strcat( filename, "/.blackpenguinkeys"); + QFile f(filename); +- if ( f.open( IO_WriteOnly ) ) { ++ if ( f.open( QIODevice::WriteOnly ) ) { + // writeBlock() expects char*. Cast looks ugly, but it works + f.writeBlock((char*)&m_nKeyNW, sizeof(int)); + f.writeBlock((char*)&m_nKeySW, sizeof(int)); +@@ -1095,7 +1102,7 @@ + strcpy( filename, getenv("HOME")); + strcat( filename, "/.blackpenguinkeys"); + QFile f(filename); +- if ( f.open( IO_ReadOnly ) ) { ++ if ( f.open( QIODevice::ReadOnly ) ) { + // writeBlock() expects char*. Cast looks ugly, but it works + f.readBlock((char*)&m_nKeyNW, sizeof(int)); + f.readBlock((char*)&m_nKeySW, sizeof(int)); +@@ -1114,7 +1121,7 @@ + strcat( filename, "/.blackpenguin"); + QFile f(filename); + if (GameOver) return 1; // you cannot save a game that's over +- if ( f.open( IO_WriteOnly ) ) { ++ if ( f.open( QIODevice::WriteOnly ) ) { + // writeBlock() expects char*. Cast looks ugly, but it works + f.writeBlock((char*)&credit, sizeof(int)); + f.writeBlock((char*)&lives, sizeof(int)); +@@ -1131,7 +1138,7 @@ + strcpy( filename, getenv("HOME")); + strcat( filename, "/.blackpenguin"); + QFile f(filename); +- if ( f.open( IO_ReadOnly ) ) { ++ if ( f.open( QIODevice::ReadOnly ) ) { + // readBlock() expects char*. Cast looks ugly, but it works + f.readBlock((char*)&credit, sizeof(int)); + f.readBlock((char*)&lives, sizeof(int)); +diff -ruN blackpenguin-0.2/src/BlackPenguinData.h blackpenguin-qt2to4/src/BlackPenguinData.h +--- blackpenguin-0.2/src/BlackPenguinData.h 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/BlackPenguinData.h 2014-08-04 09:41:32.965983747 +0200 +@@ -22,11 +22,15 @@ + #ifndef BlackPenguinData_included + #define BlackPenguinData_included + +-#include <qframe.h> ++#include <q3frame.h> + #include <qlabel.h> +-#include <qpushbt.h> +-#include <qlcdnum.h> ++#include <qpushbutton.h> ++#include <qlcdnumber.h> + #include <qevent.h> ++//Added by qt3to4: ++#include <QPixmap> ++#include <QKeyEvent> ++#include <QPaintEvent> + + #define maxbackgrounds 4 + #define maxlevels 16 +diff -ruN blackpenguin-0.2/src/blackpenguin.pro blackpenguin-qt2to4/src/blackpenguin.pro +--- blackpenguin-0.2/src/blackpenguin.pro 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/blackpenguin.pro 2014-08-03 07:03:13.200997441 +0200 +@@ -1,3 +1,5 @@ + HEADERS = appwindow.h BlackPenguinData.h CRulesDialog.h CRulesDialogData.h CConfigDialog.h + SOURCES = main.cpp appwindow.cpp BlackPenguinData.cpp CRulesDialog.cpp CRulesDialogData.cpp CConfigDialog.cpp + TARGET = blackpenguin ++#The following line was inserted by qt3to4 ++QT += qt3support +diff -ruN blackpenguin-0.2/src/bomb_mask.xpm blackpenguin-qt2to4/src/bomb_mask.xpm +--- blackpenguin-0.2/src/bomb_mask.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/bomb_mask.xpm 2014-08-04 09:41:01.052983316 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * bomb_mask_xpm[] = { ++static const char * bomb_mask_xpm[] = { + "42 55 2 1", + " c #FFFFFFFFFFFF", + ". c #000000000000", +diff -ruN blackpenguin-0.2/src/bomb.xpm blackpenguin-qt2to4/src/bomb.xpm +--- blackpenguin-0.2/src/bomb.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/bomb.xpm 2014-08-04 09:41:01.055983316 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * bomb_xpm[] = { ++static const char * bomb_xpm[] = { + "42 55 56 1", + " c #FFFF00000000", + ". c #492449244924", +diff -ruN blackpenguin-0.2/src/CConfigDialog.cpp blackpenguin-qt2to4/src/CConfigDialog.cpp +--- blackpenguin-0.2/src/CConfigDialog.cpp 2014-08-03 07:02:21.009996736 +0200 ++++ blackpenguin-qt2to4/src/CConfigDialog.cpp 2014-08-04 09:41:23.871983624 +0200 +@@ -17,9 +17,14 @@ + // + + #include "CConfigDialog.h" +-#include <qpushbt.h> ++#include <qpushbutton.h> + #include <qlineedit.h> +-#include <qkeycode.h> ++#include <qnamespace.h> ++//Added by qt3to4: ++#include <QPaintEvent> ++#include <QPixmap> ++#include <QKeyEvent> ++#include <QEvent> + + // added by Holger Priebs ( 18 Nov 99 ) + #include "configback.xpm" +@@ -198,8 +203,8 @@ + if (m_fWaitingForKey) + { + int nKey = e->key(); +- if ( ((nKey>=Key_Home)&&(nKey<=Key_PageDown)) || +- ((nKey>=Key_Space)&&(nKey<=Key_AsciiTilde)) ) ++ if ( ((nKey>=Qt::Key_Home)&&(nKey<=Qt::Key_PageDown)) || ++ ((nKey>=Qt::Key_Space)&&(nKey<=Qt::Key_AsciiTilde)) ) + { + //checking for double occurence: + bool fFirstOccurence = true; +@@ -225,84 +230,83 @@ + { + switch(nKeycode) + { +- case QEvent::Key_Home: return "Home"; break; +- case QEvent::Key_End: return "End"; break; +- case QEvent::Key_Left: return "Left"; break; +- case QEvent::Key_Up: return "Up"; break; +- case QEvent::Key_Right: return "Right"; break; +- case QEvent::Key_Down: return "Down"; break; +- case QEvent::Key_PageUp: return "PageUp"; break; +- case QEvent::Key_PageDown: return "PageDown"; break; +- +- case QEvent::Key_Space: return "Space"; break; +- case QEvent::Key_Exclam: return "!"; break; +- case QEvent::Key_QuoteDbl: return "\""; break; +- case QEvent::Key_NumberSign: return "#"; break; +- case QEvent::Key_Dollar: return "$"; break; +- case QEvent::Key_Percent: return "%"; break; +- case QEvent::Key_Ampersand: return "&"; break; +- case QEvent::Key_Apostrophe: return "'"; break; +- case QEvent::Key_ParenLeft: return "("; break; +- case QEvent::Key_ParenRight: return ")"; break; +- case QEvent::Key_Asterisk: return "*"; break; +- case QEvent::Key_Plus: return "+"; break; +- case QEvent::Key_Comma: return ","; break; +- case QEvent::Key_Minus: return "-"; break; +- case QEvent::Key_Period: return "."; break; +- case QEvent::Key_Slash: return "/"; break; +- case QEvent::Key_0: return "0"; break; +- case QEvent::Key_1: return "1"; break; +- case QEvent::Key_2: return "2"; break; +- case QEvent::Key_3: return "3"; break; +- case QEvent::Key_4: return "4"; break; +- case QEvent::Key_5: return "5"; break; +- case QEvent::Key_6: return "6"; break; +- case QEvent::Key_7: return "7"; break; +- case QEvent::Key_8: return "8"; break; +- case QEvent::Key_9: return "9"; break; +- case QEvent::Key_Colon: return ","; break; +- case QEvent::Key_Semicolon: return ";"; break; +- case QEvent::Key_Less: return "<"; break; +- case QEvent::Key_Equal: return "="; break; +- case QEvent::Key_Greater: return ">"; break; +- case QEvent::Key_Question: return "?"; break; +- case QEvent::Key_At: return ""; break; +- case QEvent::Key_A: return "a"; break; +- case QEvent::Key_B: return "b"; break; +- case QEvent::Key_C: return "c"; break; +- case QEvent::Key_D: return "d"; break; +- case QEvent::Key_E: return "e"; break; +- case QEvent::Key_F: return "f"; break; +- case QEvent::Key_G: return "g"; break; +- case QEvent::Key_H: return "h"; break; +- case QEvent::Key_I: return "i"; break; +- case QEvent::Key_J: return "j"; break; +- case QEvent::Key_K: return "k"; break; +- case QEvent::Key_L: return "l"; break; +- case QEvent::Key_M: return "m"; break; +- case QEvent::Key_N: return "n"; break; +- case QEvent::Key_O: return "o"; break; +- case QEvent::Key_P: return "p"; break; +- case QEvent::Key_Q: return "q"; break; +- case QEvent::Key_R: return "r"; break; +- case QEvent::Key_S: return "s"; break; +- case QEvent::Key_T: return "t"; break; +- case QEvent::Key_U: return "u"; break; +- case QEvent::Key_V: return "v"; break; +- case QEvent::Key_W: return "w"; break; +- case QEvent::Key_X: return "x"; break; +- case QEvent::Key_Y: return "y"; break; +- case QEvent::Key_Z: return "z"; break; +- case QEvent::Key_BracketLeft: return "["; break; +- case QEvent::Key_Backslash: return "\\"; break; +- case QEvent::Key_BracketRight: return "]"; break; +- case QEvent::Key_AsciiCircum: return "Circum"; break; +- case QEvent::Key_Underscore: return "_"; break; +- case QEvent::Key_QuoteLeft: return "`"; break; +- case QEvent::Key_BraceLeft: return "{"; break; +- case QEvent::Key_Bar: return "|"; break; +- case QEvent::Key_BraceRight: return "}"; break; +- case QEvent::Key_AsciiTilde: return "~"; break; ++ case Qt::Key_Home: return "Home"; break; ++ case Qt::Key_End: return "End"; break; ++ case Qt::Key_Left: return "Left"; break; ++ case Qt::Key_Up: return "Up"; break; ++ case Qt::Key_Right: return "Right"; break; ++ case Qt::Key_Down: return "Down"; break; ++ case Qt::Key_PageUp: return "PageUp"; break; ++ case Qt::Key_PageDown: return "PageDown"; break; ++ case Qt::Key_Space: return "Space"; break; ++ case Qt::Key_Exclam: return "!"; break; ++ case Qt::Key_QuoteDbl: return "\""; break; ++ case Qt::Key_NumberSign: return "#"; break; ++ case Qt::Key_Dollar: return "$"; break; ++ case Qt::Key_Percent: return "%"; break; ++ case Qt::Key_Ampersand: return "&"; break; ++ case Qt::Key_Apostrophe: return "'"; break; ++ case Qt::Key_ParenLeft: return "("; break; ++ case Qt::Key_ParenRight: return ")"; break; ++ case Qt::Key_Asterisk: return "*"; break; ++ case Qt::Key_Plus: return "+"; break; ++ case Qt::Key_Comma: return ","; break; ++ case Qt::Key_Minus: return "-"; break; ++ case Qt::Key_Period: return "."; break; ++ case Qt::Key_Slash: return "/"; break; ++ case Qt::Key_0: return "0"; break; ++ case Qt::Key_1: return "1"; break; ++ case Qt::Key_2: return "2"; break; ++ case Qt::Key_3: return "3"; break; ++ case Qt::Key_4: return "4"; break; ++ case Qt::Key_5: return "5"; break; ++ case Qt::Key_6: return "6"; break; ++ case Qt::Key_7: return "7"; break; ++ case Qt::Key_8: return "8"; break; ++ case Qt::Key_9: return "9"; break; ++ case Qt::Key_Colon: return ","; break; ++ case Qt::Key_Semicolon: return ";"; break; ++ case Qt::Key_Less: return "<"; break; ++ case Qt::Key_Equal: return "="; break; ++ case Qt::Key_Greater: return ">"; break; ++ case Qt::Key_Question: return "?"; break; ++ case Qt::Key_At: return ""; break; ++ case Qt::Key_A: return "a"; break; ++ case Qt::Key_B: return "b"; break; ++ case Qt::Key_C: return "c"; break; ++ case Qt::Key_D: return "d"; break; ++ case Qt::Key_E: return "e"; break; ++ case Qt::Key_F: return "f"; break; ++ case Qt::Key_G: return "g"; break; ++ case Qt::Key_H: return "h"; break; ++ case Qt::Key_I: return "i"; break; ++ case Qt::Key_J: return "j"; break; ++ case Qt::Key_K: return "k"; break; ++ case Qt::Key_L: return "l"; break; ++ case Qt::Key_M: return "m"; break; ++ case Qt::Key_N: return "n"; break; ++ case Qt::Key_O: return "o"; break; ++ case Qt::Key_P: return "p"; break; ++ case Qt::Key_Q: return "q"; break; ++ case Qt::Key_R: return "r"; break; ++ case Qt::Key_S: return "s"; break; ++ case Qt::Key_T: return "t"; break; ++ case Qt::Key_U: return "u"; break; ++ case Qt::Key_V: return "v"; break; ++ case Qt::Key_W: return "w"; break; ++ case Qt::Key_X: return "x"; break; ++ case Qt::Key_Y: return "y"; break; ++ case Qt::Key_Z: return "z"; break; ++ case Qt::Key_BracketLeft: return "["; break; ++ case Qt::Key_Backslash: return "\\"; break; ++ case Qt::Key_BracketRight: return "]"; break; ++ case Qt::Key_AsciiCircum: return "Circum"; break; ++ case Qt::Key_Underscore: return "_"; break; ++ case Qt::Key_QuoteLeft: return "`"; break; ++ case Qt::Key_BraceLeft: return "{"; break; ++ case Qt::Key_Bar: return "|"; break; ++ case Qt::Key_BraceRight: return "}"; break; ++ case Qt::Key_AsciiTilde: return "~"; break; + default: return "unknown"; + } + return "w"; +diff -ruN blackpenguin-0.2/src/CConfigDialog.h blackpenguin-qt2to4/src/CConfigDialog.h +--- blackpenguin-0.2/src/CConfigDialog.h 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/CConfigDialog.h 2014-08-04 09:41:32.968983747 +0200 +@@ -22,6 +22,9 @@ + #include <qdialog.h> + #include <qevent.h> + #include <qpixmap.h> ++//Added by qt3to4: ++#include <QPaintEvent> ++#include <QKeyEvent> + + class QLineEdit; + class QPushButton; +diff -ruN blackpenguin-0.2/src/chessblue.xpm blackpenguin-qt2to4/src/chessblue.xpm +--- blackpenguin-0.2/src/chessblue.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/chessblue.xpm 2014-08-04 09:41:01.057983316 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * chessblue_xpm[] = { ++static const char * chessblue_xpm[] = { + "42 55 61 1", + " c #00000000FFFF", + ". c #49245144E79D", +diff -ruN blackpenguin-0.2/src/chessred_mask.xpm blackpenguin-qt2to4/src/chessred_mask.xpm +--- blackpenguin-0.2/src/chessred_mask.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/chessred_mask.xpm 2014-08-04 09:41:01.064983316 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * chessred_mask_xpm[] = { ++static const char * chessred_mask_xpm[] = { + "42 55 2 1", + " c #FFFFFFFFFFFF", + ". c #000000000000", +diff -ruN blackpenguin-0.2/src/chessred.xpm blackpenguin-qt2to4/src/chessred.xpm +--- blackpenguin-0.2/src/chessred.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/chessred.xpm 2014-08-04 09:41:01.067983316 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * chessred_xpm[] = { ++static const char * chessred_xpm[] = { + "42 55 49 1", + " c #0000FFFF0000", + ". c #FFFF00000000", +diff -ruN blackpenguin-0.2/src/choco.xpm blackpenguin-qt2to4/src/choco.xpm +--- blackpenguin-0.2/src/choco.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/choco.xpm 2014-08-04 09:41:01.069983316 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * choco_xpm[] = { ++static const char * choco_xpm[] = { + "42 55 61 1", + " c #FFFFFBEEFFFF", + ". c #AEBA82076185", +diff -ruN blackpenguin-0.2/src/configback.xpm blackpenguin-qt2to4/src/configback.xpm +--- blackpenguin-0.2/src/configback.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/configback.xpm 2014-08-04 09:41:01.091983317 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char *configback_xpm[] = { ++static const char *configback_xpm[] = { + /* width height num_colors chars_per_pixel */ + " 198 134 53 1", + /* colors */ +diff -ruN blackpenguin-0.2/src/config.xpm blackpenguin-qt2to4/src/config.xpm +--- blackpenguin-0.2/src/config.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/config.xpm 2014-08-04 09:41:01.092983317 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * config_xpm[] = { ++static const char * config_xpm[] = { + "26 26 5 1", + " c #9658A289FFFF", + ". c #FFFFFFFFFFFF", +diff -ruN blackpenguin-0.2/src/CRulesDialogData.cpp blackpenguin-qt2to4/src/CRulesDialogData.cpp +--- blackpenguin-0.2/src/CRulesDialogData.cpp 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/CRulesDialogData.cpp 2014-08-12 18:17:16.333668950 +0200 +@@ -15,7 +15,7 @@ + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + // +-// You should have received a copy of the GNU General Public License ++// You should have received a copy of the GNU General Public Licenseđ + // along with this program; if not, write to the Free Software + // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +@@ -24,8 +24,10 @@ + #define Inherited QDialog + + #include <qlabel.h> +-#include <qpushbt.h> ++#include <qpushbutton.h> + #include <qpixmap.h> ++//Added by qt3to4: ++#include <QPaintEvent> + #include "howtoplay.xpm" + + CRulesDialogData::CRulesDialogData +@@ -34,7 +36,7 @@ + const char* name + ) + : +- Inherited( parent, name, TRUE, 53248 ) ++ Inherited( parent, name, TRUE, (Qt::WindowFlags) 53248 ) + { + // ------- added by Holger Priebs 22 Nov 99 + setCaption("Black Penguin - Rules of the Game"); +@@ -54,7 +56,8 @@ + connect( dlgedit_PushButton_1, SIGNAL(clicked()), SLOT(accept()) ); + dlgedit_PushButton_1->setText( "Dismiss" ); + dlgedit_PushButton_1->setAutoRepeat( FALSE ); +- dlgedit_PushButton_1->setAutoResize( FALSE ); ++// need to figure out how the syntax looks for porting from Qt3 setAutoResize() ++// dlgedit_PushButton_1->setFixedSize(QWidget::sizeHint()); + + howpix = new QPixmap( howtoplay_xpm ); + +diff -ruN blackpenguin-0.2/src/CRulesDialogData.h blackpenguin-qt2to4/src/CRulesDialogData.h +--- blackpenguin-0.2/src/CRulesDialogData.h 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/CRulesDialogData.h 2014-08-04 09:41:32.970983747 +0200 +@@ -23,6 +23,9 @@ + #define CRulesDialogData_included + + #include <qdialog.h> ++//Added by qt3to4: ++#include <QPixmap> ++#include <QPaintEvent> + + class CRulesDialogData : public QDialog + { +diff -ruN blackpenguin-0.2/src/gameover.xpm blackpenguin-qt2to4/src/gameover.xpm +--- blackpenguin-0.2/src/gameover.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/gameover.xpm 2014-08-04 09:41:01.127983317 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * gameover_xpm[] = { ++static const char * gameover_xpm[] = { + "285 136 66 1", + " c #FFFFFBEEFFFF", + ". c #79E78A28FFFF", +diff -ruN blackpenguin-0.2/src/glas2.xpm blackpenguin-qt2to4/src/glas2.xpm +--- blackpenguin-0.2/src/glas2.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/glas2.xpm 2014-08-04 09:41:01.132983317 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * glas2_xpm[] = { ++static const char * glas2_xpm[] = { + "42 55 60 1", + " c #DF7DFBEEFFFF", + ". c #D75CF3CEFFFF", +diff -ruN blackpenguin-0.2/src/glas_mask.xpm blackpenguin-qt2to4/src/glas_mask.xpm +--- blackpenguin-0.2/src/glas_mask.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/glas_mask.xpm 2014-08-04 09:41:01.133983317 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * glas_mask_xpm[] = { ++static const char * glas_mask_xpm[] = { + "42 55 2 1", + " c #FFFFFFFFFFFF", + ". c #000000000000", +diff -ruN blackpenguin-0.2/src/glas.xpm blackpenguin-qt2to4/src/glas.xpm +--- blackpenguin-0.2/src/glas.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/glas.xpm 2014-08-04 09:41:01.136983317 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * glas_xpm[] = { ++static const char * glas_xpm[] = { + "42 55 59 1", + " c #FFFF0000FFFF", + ". c #61858617A699", +diff -ruN blackpenguin-0.2/src/gotcha_mask.xpm blackpenguin-qt2to4/src/gotcha_mask.xpm +--- blackpenguin-0.2/src/gotcha_mask.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/gotcha_mask.xpm 2014-08-04 09:41:01.149983317 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * gotcha_mask_xpm[] = { ++static const char * gotcha_mask_xpm[] = { + "285 136 4 1", + " c #000000000000", + ". c #FFFFFFFFFFFF", +diff -ruN blackpenguin-0.2/src/gotcha.xpm blackpenguin-qt2to4/src/gotcha.xpm +--- blackpenguin-0.2/src/gotcha.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/gotcha.xpm 2014-08-04 09:41:01.196983318 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * gotcha_xpm[] = { ++static const char * gotcha_xpm[] = { + "285 136 62 1", + " c #FFFFFBEEFFFF", + ". c #79E78A28FFFF", +diff -ruN blackpenguin-0.2/src/howtoplay.xpm blackpenguin-qt2to4/src/howtoplay.xpm +--- blackpenguin-0.2/src/howtoplay.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/howtoplay.xpm 2014-08-04 09:41:01.238983319 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * howtoplay_xpm[] = { ++static const char * howtoplay_xpm[] = { + "403 303 63 1", + " c #A699B2CAFFFF", + ". c #9E79AAAAFFFF", +diff -ruN blackpenguin-0.2/src/levelicon.xpm blackpenguin-qt2to4/src/levelicon.xpm +--- blackpenguin-0.2/src/levelicon.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/levelicon.xpm 2014-08-04 09:41:01.261983319 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char *levelicon_xpm[] = { ++static const char *levelicon_xpm[] = { + /* width height num_colors chars_per_pixel */ + " 23 25 237 2", + /* colors */ +diff -ruN blackpenguin-0.2/src/lives.xpm blackpenguin-qt2to4/src/lives.xpm +--- blackpenguin-0.2/src/lives.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/lives.xpm 2014-08-04 09:41:01.302983319 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char *lives_xpm[] = { ++static const char *lives_xpm[] = { + /* width height num_colors chars_per_pixel */ + " 23 25 189 2", + /* colors */ +diff -ruN blackpenguin-0.2/src/load.xpm blackpenguin-qt2to4/src/load.xpm +--- blackpenguin-0.2/src/load.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/load.xpm 2014-08-04 09:41:01.303983319 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * load_xpm[] = { ++static const char * load_xpm[] = { + "26 26 7 1", + " c #9658A289FFFF", + ". c #FFFF00000000", +diff -ruN blackpenguin-0.2/src/mask_pengu.xpm blackpenguin-qt2to4/src/mask_pengu.xpm +--- blackpenguin-0.2/src/mask_pengu.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/mask_pengu.xpm 2014-08-04 09:41:01.311983320 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * mask_pengu_xpm[] = { ++static const char * mask_pengu_xpm[] = { + "44 77 3 1", + " c #FFFFFFFFFFFF", + ". c #000000000000", +diff -ruN blackpenguin-0.2/src/minusone.xpm blackpenguin-qt2to4/src/minusone.xpm +--- blackpenguin-0.2/src/minusone.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/minusone.xpm 2014-08-04 09:41:01.327983320 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * minusone_xpm[] = { ++static const char * minusone_xpm[] = { + "285 136 64 1", + " c #FFFFFBEEFFFF", + ". c #79E78A28FFFF", +diff -ruN blackpenguin-0.2/src/newgame.xpm blackpenguin-qt2to4/src/newgame.xpm +--- blackpenguin-0.2/src/newgame.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/newgame.xpm 2014-08-04 09:41:01.328983320 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * newgame_xpm[] = { ++static const char * newgame_xpm[] = { + "26 26 16 1", + " c #41039248FFFF", + ". c #FFFFFFFFFFFF", +diff -ruN blackpenguin-0.2/src/ne.xpm blackpenguin-qt2to4/src/ne.xpm +--- blackpenguin-0.2/src/ne.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/ne.xpm 2014-08-04 09:41:01.330983320 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * ne_xpm[] = { ++static const char * ne_xpm[] = { + "21 21 3 1", + " c #9658AAAAFFFF", + ". c #FFFFFFFFFFFF", +diff -ruN blackpenguin-0.2/src/nextlevel.xpm blackpenguin-qt2to4/src/nextlevel.xpm +--- blackpenguin-0.2/src/nextlevel.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/nextlevel.xpm 2014-08-04 09:41:01.372983320 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * nextlevel_xpm[] = { ++static const char * nextlevel_xpm[] = { + "285 136 63 1", + " c #FFFFFBEEFFFF", + ". c #79E78A28FFFF", +diff -ruN blackpenguin-0.2/src/nw.xpm blackpenguin-qt2to4/src/nw.xpm +--- blackpenguin-0.2/src/nw.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/nw.xpm 2014-08-04 09:41:01.373983320 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * nw_xpm[] = { ++static const char * nw_xpm[] = { + "21 21 3 1", + " c #9658AAAAFFFF", + ". c #FFFFFFFFFFFF", +diff -ruN blackpenguin-0.2/src/orange_mask.xpm blackpenguin-qt2to4/src/orange_mask.xpm +--- blackpenguin-0.2/src/orange_mask.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/orange_mask.xpm 2014-08-04 09:41:01.382983321 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * orange_mask_xpm[] = { ++static const char * orange_mask_xpm[] = { + "42 55 2 1", + " c #FFFFFFFFFFFF", + ". c #000000000000", +diff -ruN blackpenguin-0.2/src/orange.xpm blackpenguin-qt2to4/src/orange.xpm +--- blackpenguin-0.2/src/orange.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/orange.xpm 2014-08-04 09:41:01.385983321 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * orange_xpm[] = { ++static const char * orange_xpm[] = { + "42 55 62 1", + " c #FFFF00000000", + ". c #514438E31040", +diff -ruN blackpenguin-0.2/src/pengu.xpm blackpenguin-qt2to4/src/pengu.xpm +--- blackpenguin-0.2/src/pengu.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/pengu.xpm 2014-08-04 09:41:01.393983321 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * pengu[] = { ++static const char * pengu[] = { + "44 77 64 1", + " c #FFFFFBEEFFFF", + ". c #618561859E79", +diff -ruN blackpenguin-0.2/src/pingucoin_mask.xpm blackpenguin-qt2to4/src/pingucoin_mask.xpm +--- blackpenguin-0.2/src/pingucoin_mask.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/pingucoin_mask.xpm 2014-08-04 09:41:01.395983321 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * pingucoin_mask_xpm[] = { ++static const char * pingucoin_mask_xpm[] = { + "42 55 2 1", + " c #FFFFFFFFFFFF", + ". c #000000000000", +diff -ruN blackpenguin-0.2/src/pingucoinsmall.xpm blackpenguin-qt2to4/src/pingucoinsmall.xpm +--- blackpenguin-0.2/src/pingucoinsmall.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/pingucoinsmall.xpm 2014-08-04 09:41:01.404983321 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char *pingucoinsmall_xpm[] = { ++static const char *pingucoinsmall_xpm[] = { + /* width height num_colors chars_per_pixel */ + " 23 25 141 2", + /* colors */ +diff -ruN blackpenguin-0.2/src/pingucoin.xpm blackpenguin-qt2to4/src/pingucoin.xpm +--- blackpenguin-0.2/src/pingucoin.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/pingucoin.xpm 2014-08-04 09:41:01.407983321 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * pingucoin_xpm[] = { ++static const char * pingucoin_xpm[] = { + "42 55 60 1", + " c #FFFFFFFFFFFF", + ". c #D75CC30BAEBA", +diff -ruN blackpenguin-0.2/src/rules.xpm blackpenguin-qt2to4/src/rules.xpm +--- blackpenguin-0.2/src/rules.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/rules.xpm 2014-08-04 09:41:01.409983321 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * rules_xpm[] = { ++static const char * rules_xpm[] = { + "26 26 46 1", + " c #AEBAC30BFFFF", + ". c #B6DAC30BFFFF", +diff -ruN blackpenguin-0.2/src/save.xpm blackpenguin-qt2to4/src/save.xpm +--- blackpenguin-0.2/src/save.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/save.xpm 2014-08-04 09:41:01.413983321 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * save_xpm[] = { ++static const char * save_xpm[] = { + "26 26 7 1", + " c #9658A289FFFF", + ". c #FFFF00000000", +diff -ruN blackpenguin-0.2/src/se.xpm blackpenguin-qt2to4/src/se.xpm +--- blackpenguin-0.2/src/se.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/se.xpm 2014-08-04 09:41:01.416983321 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * se_xpm[] = { ++static const char * se_xpm[] = { + "21 21 3 1", + " c #9658AAAAFFFF", + ". c #FFFFFFFFFFFF", +diff -ruN blackpenguin-0.2/src/sw.xpm blackpenguin-qt2to4/src/sw.xpm +--- blackpenguin-0.2/src/sw.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/sw.xpm 2014-08-04 09:41:01.418983321 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * sw_xpm[] = { ++static const char * sw_xpm[] = { + "21 21 3 1", + " c #9658AAAAFFFF", + ". c #FFFFFFFFFFFF", +diff -ruN blackpenguin-0.2/src/window_mask.xpm blackpenguin-qt2to4/src/window_mask.xpm +--- blackpenguin-0.2/src/window_mask.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/window_mask.xpm 2014-08-04 09:41:01.436983321 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * window_mask_xpm[] = { ++static const char * window_mask_xpm[] = { + "48 67 6 1", + " c #FFFFFFFFFFFF", + ". c #000000000000", +diff -ruN blackpenguin-0.2/src/window.xpm blackpenguin-qt2to4/src/window.xpm +--- blackpenguin-0.2/src/window.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/window.xpm 2014-08-04 09:41:01.443983321 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * window_xpm[] = { ++static const char * window_xpm[] = { + "48 67 63 1", + " c #FFFFFFFFFFFF", + ". c #A69975D65965", +diff -ruN blackpenguin-0.2/src/youwin.xpm blackpenguin-qt2to4/src/youwin.xpm +--- blackpenguin-0.2/src/youwin.xpm 1999-11-23 18:50:14.000000000 +0100 ++++ blackpenguin-qt2to4/src/youwin.xpm 2014-08-04 09:41:01.469983322 +0200 +@@ -1,5 +1,5 @@ + /* XPM */ +-static char * youwin_xpm[] = { ++static const char * youwin_xpm[] = { + "285 136 68 1", + " c #FFFFFBEEFFFF", + ". c #79E78A28FFFF", |