summaryrefslogtreecommitdiff
path: root/noncore/games/sfcave
authorzecke <zecke>2004-11-15 14:45:23 (UTC)
committer zecke <zecke>2004-11-15 14:45:23 (UTC)
commit74febba2749d3a8eefc13c1f46a0f7f5fc095d5a (patch) (unidiff)
tree421efd9b22184e94bf4dfdcd02e83fd567cece8f /noncore/games/sfcave
parent2423fe1ba41caf6977afaf7df3156522b54db819 (diff)
downloadopie-74febba2749d3a8eefc13c1f46a0f7f5fc095d5a.zip
opie-74febba2749d3a8eefc13c1f46a0f7f5fc095d5a.tar.gz
opie-74febba2749d3a8eefc13c1f46a0f7f5fc095d5a.tar.bz2
-Make HELP_TEXT translatable
-Make HelpWindow a QWidget
Diffstat (limited to 'noncore/games/sfcave') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/sfcave/helpwindow.cpp77
-rw-r--r--noncore/games/sfcave/helpwindow.h4
-rw-r--r--noncore/games/sfcave/sfcave.cpp7
3 files changed, 42 insertions, 46 deletions
diff --git a/noncore/games/sfcave/helpwindow.cpp b/noncore/games/sfcave/helpwindow.cpp
index 8a5d034..bd6035a 100644
--- a/noncore/games/sfcave/helpwindow.cpp
+++ b/noncore/games/sfcave/helpwindow.cpp
@@ -1,79 +1,76 @@
1/*************************************************************************** 1/***************************************************************************
2 helpwindow.cpp - description 2 helpwindow.cpp - description
3 ------------------- 3 -------------------
4 begin : Sun Sep 8 2002 4 begin : Sun Sep 8 2002
5 copyright : (C) 2002 by Andy Qua 5 copyright : (C) 2002 by Andy Qua
6 email : andy.qua@blueyonder.co.uk 6 email : andy.qua@blueyonder.co.uk
7 ***************************************************************************/ 7 ***************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. * 14 * (at your option) any later version. *
15 * * 15 * *
16 ***************************************************************************/ 16 ***************************************************************************/
17 17
18#include <qlayout.h> 18#include <qlayout.h>
19#include <qtextview.h> 19#include <qtextview.h>
20 20
21#include <qpe/qpeapplication.h> 21#include <qpe/qpeapplication.h>
22 22
23#include "helpwindow.h" 23#include "helpwindow.h"
24 24
25 25
26#define HELP_TEXT \ 26static QString HELP_TEXT() {
27"<qt><h1>SFCave Help</h1><p> " \ 27return QObject::tr("<qt><h1>SFCave Help</h1><p> "
28"SFCave is a flying game for the Zaurus.<br><br> " \ 28 "SFCave is a flying game for the Zaurus.<br><br> "
29"The aim is to stay alive for as long as possible and get the highest score " \ 29 "The aim is to stay alive for as long as possible and get the highest score "
30"you can.<br><br>" \ 30 "you can.<br><br>"
31"There are three game types currently - SFCave, Gates, and Fly.<br>" \ 31 "There are three game types currently - SFCave, Gates, and Fly.<br>"
32"<b>SFCave</b> is a remake of the classic SFCave game - fly through the " \ 32 "<b>SFCave</b> is a remake of the classic SFCave game - fly through the "
33"cavern avoiding all the blocks that just happen to be hanging in " \ 33 "cavern avoiding all the blocks that just happen to be hanging in "
34"midair<br><br>" \ 34 "midair<br><br>"
35"<b>Gates</b> is similar to SFCave but instead you must fly through the " \ 35 "<b>Gates</b> is similar to SFCave but instead you must fly through the "
36"without crashing.<br><br>" \ 36 "without crashing.<br><br>"
37"<b>Fly</b> is somewhat different to SFCave and above. Instead, you have " \ 37 "<b>Fly</b> is somewhat different to SFCave and above. Instead, you have "
38"are flying in the open air above a scrolling landscape, and the aim is to " \ 38 "are flying in the open air above a scrolling landscape, and the aim is to "
39"hug the ground - the closer to the land you fly the more points " \ 39 "hug the ground - the closer to the land you fly the more points "
40"scored.<br><br><br>" \ 40 "scored.<br><br><br>"
41"Basic instruction - Press <b>Up</B> or <b>Down</b> on the circle pad to " \ 41 "Basic instruction - Press <b>Up</B> or <b>Down</b> on the circle pad to "
42"start a new game, press the middle of the pad to apply thrust (makes you " \ 42 "start a new game, press the middle of the pad to apply thrust (makes you "
43"go up), and release the pad to remove thrust and drop down.<br><br>" \ 43 "go up), and release the pad to remove thrust and drop down.<br><br>"
44"Also, if playing the Fly game, you can press z to toggle the display " \ 44 "Also, if playing the Fly game, you can press z to toggle the display "
45"of the scoring zones. This will display 4 red lines at varying heights " \ 45 "of the scoring zones. This will display 4 red lines at varying heights "
46"above the landscape - if your ship falls into this zone, point are scored. " \ 46 "above the landscape - if your ship falls into this zone, point are scored. "
47"The closer to the landscape you get the more points you get.<br><br>" \ 47 "The closer to the landscape you get the more points you get.<br><br>"
48"In addition, SFCave has replays - save and load too so you can show off to all " \ 48 "In addition, SFCave has replays - save and load too so you can show off to all "
49"your friends (or vice versa). Currently, this is in its infancy but will improve.<br>" \ 49 "your friends (or vice versa). Currently, this is in its infancy but will improve.<br>"
50"To use, once you have crashed, press 'r' to replay the last game.<br>" \ 50 "To use, once you have crashed, press 'r' to replay the last game.<br>"
51"To save the replay press 's'.<br>" \ 51 "To save the replay press 's'.<br>"
52"To load a saved replay press 'l' (after you've crashed at least once).<br><br>" \ 52 "To load a saved replay press 'l' (after you've crashed at least once).<br><br>"
53"Replays are currently saved to your home directory in a file called sfcave.replay." \ 53 "Replays are currently saved to your home directory in a file called sfcave.replay."
54"This file can be copied and given to others as long as it it put in their home directory.<br><br>" \ 54 "This file can be copied and given to others as long as it it put in their home directory.<br><br>"
55"Have lots of fun.<br>" \ 55 "Have lots of fun.<br>"
56"Andy" \ 56 "Andy"
57"</p></qt>" 57 "</p></qt>");
58}
58 59
59 60
60HelpWindow::HelpWindow( QWidget *parent, const char *name, bool modal, WFlags flags ) 61HelpWindow::HelpWindow( QWidget *parent, const char *name)
61 : QDialog( parent, name, modal, flags ) 62 : QWidget( parent, name, WDestructiveClose )
62{ 63{
63// resize( 230, 280 ); 64 setCaption( tr("Help for SFCave") );
64
65 setCaption( "Help for SFCave" );
66 65
67 QVBoxLayout *layout = new QVBoxLayout( this ); 66 QVBoxLayout *layout = new QVBoxLayout( this );
68 QString text = HELP_TEXT;; 67 QString text = HELP_TEXT();;
69 QTextView *view = new QTextView( text, 0, this, "view" ); 68 QTextView *view = new QTextView( text, 0, this, "view" );
70 layout->insertSpacing( -1, 5 ); 69 layout->insertSpacing( -1, 5 );
71 layout->insertWidget( -1, view ); 70 layout->insertWidget( -1, view );
72 layout->insertSpacing( -1, 5 ); 71 layout->insertSpacing( -1, 5 );
73
74 QPEApplication::showDialog( this );
75} 72}
76 73
77HelpWindow::~HelpWindow() 74HelpWindow::~HelpWindow()
78{ 75{
79} 76}
diff --git a/noncore/games/sfcave/helpwindow.h b/noncore/games/sfcave/helpwindow.h
index edc1b6e..0aaba7e 100644
--- a/noncore/games/sfcave/helpwindow.h
+++ b/noncore/games/sfcave/helpwindow.h
@@ -1,34 +1,34 @@
1/*************************************************************************** 1/***************************************************************************
2 helpwindow.h - description 2 helpwindow.h - description
3 ------------------- 3 -------------------
4 begin : Sun Sep 8 2002 4 begin : Sun Sep 8 2002
5 copyright : (C) 2002 by Andy Qua 5 copyright : (C) 2002 by Andy Qua
6 email : andy.qua@blueyonder.co.uk 6 email : andy.qua@blueyonder.co.uk
7 ***************************************************************************/ 7 ***************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. * 14 * (at your option) any later version. *
15 * * 15 * *
16 ***************************************************************************/ 16 ***************************************************************************/
17 17
18#ifndef HELPWINDOW_H 18#ifndef HELPWINDOW_H
19#define HELPWINDOW_H 19#define HELPWINDOW_H
20 20
21#include <qdialog.h> 21#include <qdialog.h>
22 22
23/** 23/**
24 *@author Andy Qua 24 *@author Andy Qua
25 */ 25 */
26 26
27class HelpWindow : public QDialog 27class HelpWindow : public QWidget
28{ 28{
29public: 29public:
30 HelpWindow( QWidget *parent = 0, const char *name = 0, bool modal = true, WFlags flags = 0 ); 30 HelpWindow( QWidget *parent = 0, const char *name = 0);
31 ~HelpWindow(); 31 ~HelpWindow();
32}; 32};
33 33
34#endif 34#endif
diff --git a/noncore/games/sfcave/sfcave.cpp b/noncore/games/sfcave/sfcave.cpp
index d5aa38a..a6c92a0 100644
--- a/noncore/games/sfcave/sfcave.cpp
+++ b/noncore/games/sfcave/sfcave.cpp
@@ -1,58 +1,58 @@
1#include <stdio.h> 1#include <stdio.h>
2#include <stdlib.h> 2#include <stdlib.h>
3#include <math.h> 3#include <math.h>
4#include <time.h> 4#include <time.h>
5 5
6#include <opie2/oapplicationfactory.h> 6#include <opie2/oapplicationfactory.h>
7#include <qpe/qpeapplication.h>
7#include <qpe/config.h> 8#include <qpe/config.h>
8#include <qpe/global.h> 9#include <qpe/global.h>
9 10
10#include <qapplication.h>
11#include <qdir.h> 11#include <qdir.h>
12 12
13#include "helpwindow.h" 13#include "helpwindow.h"
14#include "sfcave.h" 14#include "sfcave.h"
15 15
16#define CAPTION "SFCave 1.13 by AndyQ" 16#define CAPTION "SFCave 1.13 by AndyQ"
17 17
18#define UP_THRUST 0.6 18#define UP_THRUST 0.6
19#define NO_THRUST 0.8 19#define NO_THRUST 0.8
20#define MAX_DOWN_THRUST 4.0 20#define MAX_DOWN_THRUST 4.0
21#define MAX_UP_THRUST -3.5 21#define MAX_UP_THRUST -3.5
22 22
23// States 23// States
24#define STATE_BOSS 0 24#define STATE_BOSS 0
25#define STATE_RUNNING 1 25#define STATE_RUNNING 1
26#define STATE_CRASHING 2 26#define STATE_CRASHING 2
27#define STATE_CRASHED 3 27#define STATE_CRASHED 3
28#define STATE_NEWGAME 4 28#define STATE_NEWGAME 4
29#define STATE_MENU 5 29#define STATE_MENU 5
30#define STATE_REPLAY 6 30#define STATE_REPLAY 6
31 31
32// Menus 32// Menus
33#define MENU_MAIN_MENU 0 33#define MENU_MAIN_MENU 0
34#define MENU_OPTIONS_MENU 1 34#define MENU_OPTIONS_MENU 1
35#define MENU_REPLAY_MENU 2 35#define MENU_REPLAY_MENU 2
36 36
37// Main Menu Options 37// Main Menu Options
38#define MENU_START_GAME 0 38#define MENU_START_GAME 0
39#define MENU_REPLAY 1 39#define MENU_REPLAY 1
40#define MENU_OPTIONS 2 40#define MENU_OPTIONS 2
41#define MENU_HELP 3 41#define MENU_HELP 3
42#define MENU_QUIT 4 42#define MENU_QUIT 4
43 43
44// Option Menu Options 44// Option Menu Options
45#define MENU_GAME_TYPE 0 45#define MENU_GAME_TYPE 0
46#define MENU_GAME_DIFFICULTY 1 46#define MENU_GAME_DIFFICULTY 1
47#define MENU_CLEAR_HIGHSCORES 2 47#define MENU_CLEAR_HIGHSCORES 2
48#define MENU_BACK 3 48#define MENU_BACK 3
49 49
50// Replay Menu Options 50// Replay Menu Options
51#define MENU_REPLAY_START 0 51#define MENU_REPLAY_START 0
52#define MENU_REPLAY_LOAD 1 52#define MENU_REPLAY_LOAD 1
53#define MENU_REPLAY_SAVE 2 53#define MENU_REPLAY_SAVE 2
54#define MENU_REPLAY_BACK 3 54#define MENU_REPLAY_BACK 3
55 55
56 56
57#define NR_GAME_DIFFICULTIES 3 57#define NR_GAME_DIFFICULTIES 3
58#define NR_GAME_TYPES 3 58#define NR_GAME_TYPES 3
@@ -1094,99 +1094,98 @@ void SFCave :: displayMenu()
1094 p.setPen( Qt::white ); 1094 p.setPen( Qt::white );
1095 1095
1096 QString text; 1096 QString text;
1097 if ( menuOptions[currentMenuNr][i].find( "%s" ) != -1 ) 1097 if ( menuOptions[currentMenuNr][i].find( "%s" ) != -1 )
1098 { 1098 {
1099 QString val; 1099 QString val;
1100 if ( i == MENU_GAME_TYPE ) 1100 if ( i == MENU_GAME_TYPE )
1101 val = gameTypes[currentGameType]; 1101 val = gameTypes[currentGameType];
1102 else 1102 else
1103 val = dificultyOption[currentGameDifficulty]; 1103 val = dificultyOption[currentGameDifficulty];
1104 1104
1105 text.sprintf( (const char *)menuOptions[currentMenuNr][i], (const char *)val ); 1105 text.sprintf( (const char *)menuOptions[currentMenuNr][i], (const char *)val );
1106 } 1106 }
1107 else 1107 else
1108 text = menuOptions[currentMenuNr][i]; 1108 text = menuOptions[currentMenuNr][i];
1109 1109
1110 p.drawText( (sWidth/2) - (fm.width( text )/2), pos, text ); 1110 p.drawText( (sWidth/2) - (fm.width( text )/2), pos, text );
1111 } 1111 }
1112 1112
1113 p.end(); 1113 p.end();
1114 bitBlt( this, 0, 0, offscreen, 0, 0, sWidth, sHeight, Qt::CopyROP, true ); 1114 bitBlt( this, 0, 0, offscreen, 0, 0, sWidth, sHeight, Qt::CopyROP, true );
1115} 1115}
1116 1116
1117void SFCave :: dealWithMenuSelection() 1117void SFCave :: dealWithMenuSelection()
1118{ 1118{
1119 switch( currentMenuNr ) 1119 switch( currentMenuNr )
1120 { 1120 {
1121 case MENU_MAIN_MENU: 1121 case MENU_MAIN_MENU:
1122 { 1122 {
1123 switch( currentMenuOption[currentMenuNr] ) 1123 switch( currentMenuOption[currentMenuNr] )
1124 { 1124 {
1125 case MENU_START_GAME: 1125 case MENU_START_GAME:
1126 state = STATE_NEWGAME; 1126 state = STATE_NEWGAME;
1127 break; 1127 break;
1128 1128
1129 case MENU_REPLAY: 1129 case MENU_REPLAY:
1130 currentMenuNr = MENU_REPLAY_MENU; 1130 currentMenuNr = MENU_REPLAY_MENU;
1131 currentMenuOption[currentMenuNr] = 0; 1131 currentMenuOption[currentMenuNr] = 0;
1132 break; 1132 break;
1133 1133
1134 case MENU_OPTIONS: 1134 case MENU_OPTIONS:
1135 currentMenuNr = MENU_OPTIONS_MENU; 1135 currentMenuNr = MENU_OPTIONS_MENU;
1136 currentMenuOption[currentMenuNr] = 0; 1136 currentMenuOption[currentMenuNr] = 0;
1137 break; 1137 break;
1138 1138
1139 case MENU_HELP: 1139 case MENU_HELP:
1140 { 1140 {
1141 // Display Help Menu 1141 // Display Help Menu
1142 HelpWindow *dlg = new HelpWindow( this ); 1142 HelpWindow *win = new HelpWindow( );
1143 dlg->exec(); 1143 QPEApplication::showWidget( win );
1144 delete dlg;
1145 break; 1144 break;
1146 } 1145 }
1147 1146
1148 case MENU_QUIT: 1147 case MENU_QUIT:
1149 QApplication::exit(); 1148 QApplication::exit();
1150 break; 1149 break;
1151 } 1150 }
1152 1151
1153 break; 1152 break;
1154 } 1153 }
1155 1154
1156 case MENU_OPTIONS_MENU: 1155 case MENU_OPTIONS_MENU:
1157 { 1156 {
1158 switch( currentMenuOption[currentMenuNr] ) 1157 switch( currentMenuOption[currentMenuNr] )
1159 { 1158 {
1160 case MENU_GAME_TYPE: 1159 case MENU_GAME_TYPE:
1161 break; 1160 break;
1162 1161
1163 case MENU_GAME_DIFFICULTY: 1162 case MENU_GAME_DIFFICULTY:
1164 break; 1163 break;
1165 1164
1166 case MENU_CLEAR_HIGHSCORES: 1165 case MENU_CLEAR_HIGHSCORES:
1167 for ( int i = 0 ; i < 3 ; ++i ) 1166 for ( int i = 0 ; i < 3 ; ++i )
1168 highestScore[currentGameType][i] = 0; 1167 highestScore[currentGameType][i] = 0;
1169 break; 1168 break;
1170 1169
1171 case MENU_BACK: 1170 case MENU_BACK:
1172 currentMenuNr = MENU_MAIN_MENU; 1171 currentMenuNr = MENU_MAIN_MENU;
1173 1172
1174#ifdef QWS 1173#ifdef QWS
1175 Config cfg( "sfcave" ); 1174 Config cfg( "sfcave" );
1176 cfg.setGroup( "settings" ); 1175 cfg.setGroup( "settings" );
1177 cfg.writeEntry( "difficulty", currentGameDifficulty ); 1176 cfg.writeEntry( "difficulty", currentGameDifficulty );
1178 cfg.writeEntry( "gameType", currentGameType ); 1177 cfg.writeEntry( "gameType", currentGameType );
1179#endif 1178#endif
1180 break; 1179 break;
1181 } 1180 }
1182 1181
1183 break; 1182 break;
1184 } 1183 }
1185 1184
1186 case MENU_REPLAY_MENU: 1185 case MENU_REPLAY_MENU:
1187 { 1186 {
1188 switch( currentMenuOption[currentMenuNr] ) 1187 switch( currentMenuOption[currentMenuNr] )
1189 { 1188 {
1190 case MENU_REPLAY_START: 1189 case MENU_REPLAY_START:
1191 if ( currentSeed != 0 ) 1190 if ( currentSeed != 0 )
1192 state = STATE_REPLAY; 1191 state = STATE_REPLAY;