summaryrefslogtreecommitdiff
authorzecke <zecke>2004-02-06 14:32:10 (UTC)
committer zecke <zecke>2004-02-06 14:32:10 (UTC)
commitb033733924e5d3454bb0a810c6a70d4ff0531d2b (patch) (unidiff)
treecafe130296468840db062af4a3335572804ee1f3
parentf60cbb888e72b3eaf49af6f72fa183e6d44ae389 (diff)
downloadopie-b033733924e5d3454bb0a810c6a70d4ff0531d2b.zip
opie-b033733924e5d3454bb0a810c6a70d4ff0531d2b.tar.gz
opie-b033733924e5d3454bb0a810c6a70d4ff0531d2b.tar.bz2
Funny how much bugs one can introduce when importing Qtopia stuff.
Fixed a couple of possible sigsegv, uninitialized variables
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/games/parashoot/base.cpp12
-rw-r--r--noncore/games/parashoot/base.h8
-rw-r--r--noncore/games/parashoot/cannon.cpp24
-rw-r--r--noncore/games/parashoot/cannon.h6
-rw-r--r--noncore/games/parashoot/helicopter.cpp22
-rw-r--r--noncore/games/parashoot/helicopter.h6
-rw-r--r--noncore/games/parashoot/interface.cpp66
-rw-r--r--noncore/games/parashoot/interface.h14
-rw-r--r--noncore/games/parashoot/man.cpp27
9 files changed, 131 insertions, 54 deletions
diff --git a/noncore/games/parashoot/base.cpp b/noncore/games/parashoot/base.cpp
index c03802f..cdf1dfa 100644
--- a/noncore/games/parashoot/base.cpp
+++ b/noncore/games/parashoot/base.cpp
@@ -1,5 +1,5 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
@@ -23,3 +23,3 @@
23 23
24#include <qpe/resource.h> 24#include <qtopia/resource.h>
25 25
@@ -71 +71,7 @@ int Base::rtti() const
71} 71}
72
73void
74Base::reposition(void)
75{
76 move(2, canvas()->height()-50);
77}
diff --git a/noncore/games/parashoot/base.h b/noncore/games/parashoot/base.h
index ee7f166..a4c69cc 100644
--- a/noncore/games/parashoot/base.h
+++ b/noncore/games/parashoot/base.h
@@ -1,5 +1,5 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
@@ -20,3 +20,3 @@
20 20
21#include <qpe/sound.h> 21#include <qtopia/sound.h>
22 22
@@ -34,2 +34,4 @@ public:
34 34
35 void reposition(void);
36
35private: 37private:
diff --git a/noncore/games/parashoot/cannon.cpp b/noncore/games/parashoot/cannon.cpp
index 3c0a5fe..5671351 100644
--- a/noncore/games/parashoot/cannon.cpp
+++ b/noncore/games/parashoot/cannon.cpp
@@ -1,5 +1,5 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
@@ -20,3 +20,3 @@
20 20
21#include <qpe/resource.h> 21#include <qtopia/resource.h>
22 22
@@ -40,6 +40,5 @@ shotsfired=0;
40 setFrame(index); 40 setFrame(index);
41 move(canvas->width()/2-20, canvas->height()-32); 41
42 // co ords for barrel of cannon when upright 42 reposition();
43 barrelypos = canvas->height()-32; 43
44 barrelxpos = canvas->width()/2;
45 movedir = NoDir; 44 movedir = NoDir;
@@ -140 +139,12 @@ int Cannon::rtti() const
140} 139}
140
141void Cannon::reposition(void)
142{
143 move(canvas()->width()/2-20, canvas()->height()-32);
144 // co ords for barrel of cannon when upright
145 barrelypos = canvas()->height()-32;
146 barrelxpos = canvas()->width()/2;
147
148 setFrame(index);
149 setCoords();
150}
diff --git a/noncore/games/parashoot/cannon.h b/noncore/games/parashoot/cannon.h
index 44d0c65..51b1247 100644
--- a/noncore/games/parashoot/cannon.h
+++ b/noncore/games/parashoot/cannon.h
@@ -1,5 +1,5 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
@@ -41,2 +41,4 @@ int shotsFired() { return shotsfired; };
41 41
42 void reposition(void);
43
42protected: 44protected:
diff --git a/noncore/games/parashoot/helicopter.cpp b/noncore/games/parashoot/helicopter.cpp
index 0923124..036b21e 100644
--- a/noncore/games/parashoot/helicopter.cpp
+++ b/noncore/games/parashoot/helicopter.cpp
@@ -1,5 +1,5 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
@@ -24,3 +24,3 @@
24 24
25#include <qpe/resource.h> 25#include <qtopia/resource.h>
26 26
@@ -39,3 +39,4 @@ Helicopter::Helicopter(QCanvas* canvas) :
39 h0.replace(QRegExp("0001"),"%1"); 39 h0.replace(QRegExp("0001"),"%1");
40 helicopterarray->readPixmaps(h0,3 ); 40 helicopterarray->readPixmaps(h0,4 );
41
41 setSequence(helicopterarray); 42 setSequence(helicopterarray);
@@ -59,2 +60,10 @@ void Helicopter::advance(int phase)
59 if (phase == 0) { 60 if (phase == 0) {
61 if (frame() == 3) {
62 delete this;
63 return;
64 }
65
66 if (hits >= 2) {
67 setFrame(3);
68 } else {
60 setFrame(fr%3); 69 setFrame(fr%3);
@@ -64,2 +73,3 @@ void Helicopter::advance(int phase)
64} 73}
74}
65 75
@@ -85,6 +95,2 @@ void Helicopter::done()
85 hits++; 95 hits++;
86 if (hits >= 2) {
87 setAnimated(false);
88 delete this;
89 }
90} 96}
diff --git a/noncore/games/parashoot/helicopter.h b/noncore/games/parashoot/helicopter.h
index 5cb92de..954c651 100644
--- a/noncore/games/parashoot/helicopter.h
+++ b/noncore/games/parashoot/helicopter.h
@@ -1,5 +1,5 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
@@ -20,3 +20,3 @@
20 20
21#include <qpe/sound.h> 21#include <qtopia/sound.h>
22 22
diff --git a/noncore/games/parashoot/interface.cpp b/noncore/games/parashoot/interface.cpp
index a40426d..948b92c 100644
--- a/noncore/games/parashoot/interface.cpp
+++ b/noncore/games/parashoot/interface.cpp
@@ -1,5 +1,5 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
@@ -23,4 +23,4 @@
23 23
24#include <qpe/resource.h> 24#include <qtopia/qpeapplication.h>
25#include <qpe/qpeapplication.h> 25#include <qtopia/resource.h>
26 26
@@ -30,3 +30,3 @@
30#include <qstyle.h> 30#include <qstyle.h>
31#include <qpe/qpetoolbar.h> 31#include <qtoolbar.h>
32#include <qtoolbutton.h> 32#include <qtoolbutton.h>
@@ -36,2 +36,6 @@ ParaShoot::ParaShoot(QWidget* parent, const char* name, WFlags f) :
36 canvas(232, 258), 36 canvas(232, 258),
37 cannon(NULL),
38 base(NULL),
39 gamestopped( true ),
40 waitover( false ),
37 fanfare("level_up"), 41 fanfare("level_up"),
@@ -41,5 +45,5 @@ ParaShoot::ParaShoot(QWidget* parent, const char* name, WFlags f) :
41 QPEApplication::setInputMethodHint(this, QPEApplication::AlwaysOff ); 45 QPEApplication::setInputMethodHint(this, QPEApplication::AlwaysOff );
46
47 updatespeed = 80;
42 canvas.setAdvancePeriod(80); 48 canvas.setAdvancePeriod(80);
43 QPixmap bg = Resource::loadPixmap("parashoot/sky");
44 canvas.setBackgroundPixmap(bg);
45 49
@@ -54,5 +58,3 @@ ParaShoot::ParaShoot(QWidget* parent, const char* name, WFlags f) :
54 setCaption( tr("ParaShoot") ); 58 setCaption( tr("ParaShoot") );
55 QPixmap newicon = Resource::loadPixmap("parashoot/manicon"); 59 new QToolButton( Resource::loadIconSet("new"), tr("New Game"), 0,
56 setIcon(newicon);
57 new QToolButton(newicon, tr("New Game"), 0,
58 this, SLOT(newGame()), toolbar, "New Game"); 60 this, SLOT(newGame()), toolbar, "New Game");
@@ -74,4 +76,2 @@ ParaShoot::ParaShoot(QWidget* parent, const char* name, WFlags f) :
74 setFocusPolicy(StrongFocus); 76 setFocusPolicy(StrongFocus);
75
76 newGame();
77} 77}
@@ -84,4 +84,30 @@ void ParaShoot::resizeEvent(QResizeEvent *)
84 canvas.resize( s.width() - fw - 2, s.height() - fw - 2); 84 canvas.resize( s.width() - fw - 2, s.height() - fw - 2);
85
86 QImage bgimage = Resource::loadImage("parashoot/sky");
87 QPixmap bgpixmap;
88
89 bgpixmap.convertFromImage(bgimage.smoothScale(canvas.width(),
90 canvas.height()), QPixmap::Auto);
91 canvas.setBackgroundPixmap(bgpixmap);
92
93 if (base) {
94 base->reposition();
95 }
96
97 if (cannon) {
98 cannon->reposition();
99 }
85} 100}
86 101
102void ParaShoot::focusOutEvent (QFocusEvent *)
103{
104 if (!gamestopped)
105 canvas.setAdvancePeriod(-1);
106}
107
108void ParaShoot::focusInEvent (QFocusEvent *)
109{
110 if (!gamestopped)
111 canvas.setAdvancePeriod(updatespeed);
112}
87 113
@@ -152,4 +178,5 @@ void ParaShoot::gameOver()
152 gameover->setColor(red); 178 gameover->setColor(red);
153 gameover->setFont( QFont("times", 18, QFont::Bold) ); 179 gameover->setFont( QFont("times", 16, QFont::Bold) );
154 gameover->move(canvas.width()/2 -110, canvas.height()/2 -50); 180 gameover->move((canvas.width() - gameover->boundingRect().width()) / 2,
181 (canvas.height() - gameover->boundingRect().height()) / 2);
155 gameover->setZ(500); 182 gameover->setZ(500);
@@ -229,5 +256,7 @@ void ParaShoot::keyPressEvent(QKeyEvent* event)
229 case Key_Space: 256 case Key_Space:
257 if ( cannon )
230 cannon->shoot(); 258 cannon->shoot();
231 break; 259 break;
232 case Key_Left: 260 case Key_Left:{
261 if (cannon )
233 cannon->pointCannon(Cannon::Left); 262 cannon->pointCannon(Cannon::Left);
@@ -235,3 +264,5 @@ void ParaShoot::keyPressEvent(QKeyEvent* event)
235 break; 264 break;
236 case Key_Right: 265 }
266 case Key_Right:{
267 if ( cannon )
237 cannon->pointCannon(Cannon::Right); 268 cannon->pointCannon(Cannon::Right);
@@ -239,2 +270,3 @@ void ParaShoot::keyPressEvent(QKeyEvent* event)
239 break; 270 break;
271 }
240 default: 272 default:
@@ -247,3 +279,3 @@ void ParaShoot::keyReleaseEvent(QKeyEvent* event)
247{ 279{
248 if ( lastcannonkey == event->key() ) 280 if ( cannon && lastcannonkey == event->key() )
249 cannon->pointCannon(Cannon::NoDir); 281 cannon->pointCannon(Cannon::NoDir);
diff --git a/noncore/games/parashoot/interface.h b/noncore/games/parashoot/interface.h
index 5abbe0b..dd73f53 100644
--- a/noncore/games/parashoot/interface.h
+++ b/noncore/games/parashoot/interface.h
@@ -1,5 +1,5 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
@@ -24,3 +24,3 @@
24 24
25#include <qpe/sound.h> 25#include <qtopia/sound.h>
26 26
@@ -40,5 +40,6 @@ class ParaShoot : public QMainWindow {
40public: 40public:
41 static QString appName() { return QString::fromLatin1("parashoot"); }
42 ParaShoot(QWidget* parent=0, const char* name=0, WFlags f=0); 41 ParaShoot(QWidget* parent=0, const char* name=0, WFlags f=0);
43 42 static QString appName() {
43 return QString::fromLatin1("parashoot");
44 }
44 void clear(); 45 void clear();
@@ -53,2 +54,4 @@ protected:
53 virtual void resizeEvent(QResizeEvent *e); 54 virtual void resizeEvent(QResizeEvent *e);
55 virtual void focusOutEvent(QFocusEvent *);
56 virtual void focusInEvent(QFocusEvent *);
54 57
@@ -66,3 +69,2 @@ private:
66 Base* base; 69 Base* base;
67 QCanvasText* gameover;
68 QLabel* levelscore; 70 QLabel* levelscore;
diff --git a/noncore/games/parashoot/man.cpp b/noncore/games/parashoot/man.cpp
index 8435572..94807c2 100644
--- a/noncore/games/parashoot/man.cpp
+++ b/noncore/games/parashoot/man.cpp
@@ -1,5 +1,5 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
@@ -24,3 +24,3 @@
24 24
25#include <qpe/resource.h> 25#include <qtopia/resource.h>
26 26
@@ -32,3 +32,3 @@ Man::Man(QCanvas* canvas) :
32 QCanvasSprite(0, canvas), 32 QCanvasSprite(0, canvas),
33 splat("lose") 33 splat("lose") // No tr
34{ 34{
@@ -47,3 +47,3 @@ Man::Man(QCanvas* canvas, int x, int y) :
47 QCanvasSprite(0, canvas), 47 QCanvasSprite(0, canvas),
48 splat("bang") 48 splat("bang") // No tr
49{ 49{
@@ -94,2 +94,9 @@ void Man::advance(int phase)
94 setVelocity(-2, 0); 94 setVelocity(-2, 0);
95 } else if (xVelocity() == -2) {
96 //
97 // There's been a resize event while this Man has
98 // been on the ground. Move the man back to the
99 // new ground location. This is not neat.
100 //
101 move(x(), canvas()->height()-26);
95 } 102 }
@@ -125,2 +132,12 @@ void Man::checkCollision()
125 } 132 }
133
134 //
135 // resize events may cause Man objects to appear
136 // outside the screen. Get rid of them if this
137 // is the case.
138 //
139 if ((x() < 0) || (x() > canvas()->width())) {
140 delete this;
141 return;
142 }
126} 143}