QTfrontend/hwform.h
author Wuzzy <Wuzzy2@mail.ru>
Fri, 09 Mar 2018 19:05:59 +0100
changeset 13150 5083fb0a2992
parent 13091 8d569c7b36a2
child 13202 0bc5f618ca7c
permissions -rw-r--r--
A Classic Fairytale: Harden all missions against missing campaign variables in team file and assume default values This assumes the worst case in which the team file is missing all campaign variables except Progress. This has been successfully tested with all 10 missions and still generates a logical storyline. By default, the game assumes: - The cyborg's offer in mission 2 was refused - The traitor in mission 5 was killed As a consequence, missions 8 and 10 use the princessScene cut scene.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     1
/*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 788
diff changeset
     2
 * Hedgewars, a free turn based strategy game
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10307
diff changeset
     3
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     4
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     8
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    12
 * GNU General Public License for more details.
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    13
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    14
 * You should have received a copy of the GNU General Public License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    15
 * along with this program; if not, write to the Free Software
10108
c68cf030eded update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents: 10017
diff changeset
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    17
 */
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    18
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    19
#ifndef HWFORM_H
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    20
#define HWFORM_H
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    21
471
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 461
diff changeset
    22
#include <QMainWindow>
289
604c4a779c20 Stacked walking trough pages
unc0rr
parents: 245
diff changeset
    23
#include <QStack>
530
f0b962214436 Easter egg (with stub image, will paint later)
unc0rr
parents: 496
diff changeset
    24
#include <QTime>
6223
cc3eb9b7230f It doesn't make much sense to make checks like 'if(game)' if you never set game to 0. Using smart pointers instead. Does it fix segfaults? Probably.
unc0rr
parents: 6205
diff changeset
    25
#include <QPointer>
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6225
diff changeset
    26
#include <QPropertyAnimation>
6561
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6477
diff changeset
    27
#include <QUrl>
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6477
diff changeset
    28
#include <QNetworkReply>
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6477
diff changeset
    29
#include <QNetworkRequest>
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6477
diff changeset
    30
#include <QNetworkAccessManager>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    31
314
83773ccf4f09 client/server net pre-alpha
displacer
parents: 311
diff changeset
    32
#include "netserver.h"
306
7b61834edcf6 - Better blowtorch
unc0rr
parents: 289
diff changeset
    33
#include "game.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    34
#include "ui_hwform.h"
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 6048
diff changeset
    35
#include "SDLInteraction.h"
2012
76fff564246b TheXception's patch:
unc0rr
parents: 2009
diff changeset
    36
#include "bgwidget.h"
9290
478aa681e702 this seems to work ok, but I have to clean up the code
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9284
diff changeset
    37
#include "campaign.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    38
2401
2a694ea2a437 fixes & co.
koda
parents: 2400
diff changeset
    39
#ifdef __APPLE__
2400
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
    40
#include "InstallController.h"
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
    41
#endif
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
    42
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    43
class HWGame;
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    44
class HWTeam;
1907
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents: 1905
diff changeset
    45
class HWNamegen;
314
83773ccf4f09 client/server net pre-alpha
displacer
parents: 311
diff changeset
    46
class HWNewNet;
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    47
class GameUIConfig;
634
b9db5ff5cfdb Fix some bugs
unc0rr
parents: 600
diff changeset
    48
class HWNetRegisterServer;
674
a15c8e3c69b3 Save and restore window size
unc0rr
parents: 666
diff changeset
    49
class QCloseEvent;
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1885
diff changeset
    50
class AmmoSchemeModel;
2773
e94f240a8a41 Have game beep when someone joins lobby/room. Controlled by Sound option
nemo
parents: 2515
diff changeset
    51
class QSettings;
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4500
diff changeset
    52
class QSignalMapper;
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    53
2098
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 2012
diff changeset
    54
extern bool frontendEffects;
2874
3c7c2bf1ba38 A simple hat reservation mechanism. Can be worked around with a little effort, but to make it useful, you'd have to get everyone you played with to work around it too. Quite a bit of effort for a small reward feature.
nemo
parents: 2821
diff changeset
    55
extern QString playerHash;
2098
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 2012
diff changeset
    56
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    57
class HWForm : public QMainWindow
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    58
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    59
        Q_OBJECT
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    60
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    61
    public:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    62
        HWForm(QWidget *parent = 0, QString styleSheet = "");
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    63
        Ui_HWForm ui;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    64
        static GameUIConfig * config;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    65
        void exit();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    66
        void setButtonDescription(QString desc);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    67
        void backDescription();
7353
0e55228e1303 When there are videos that are being encoded and user tries to quit display dialog with warning.
Stepan777 <stepik-777@mail.ru>
parents: 7235
diff changeset
    68
        void GoToVideos();
13091
8d569c7b36a2 Frontend: Lead first-time player to training page on start
Wuzzy <Wuzzy2@mail.ru>
parents: 12670
diff changeset
    69
        void GoToTraining();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    70
8716
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8434
diff changeset
    71
        void NetConnectQuick(const QString & host, quint16 port);
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8434
diff changeset
    72
        void PlayDemoQuick(const QString & demofilename);
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8434
diff changeset
    73
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    74
    private slots:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    75
        void GoToSaves();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    76
        void GoToDemos();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    77
        void GoToNet();
12670
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11973
diff changeset
    78
        void GoToEditWeapons();
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11973
diff changeset
    79
        void GoToNewWeapons();
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11973
diff changeset
    80
        void GoToWeapons(int index);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    81
        void GoToScheme(int index);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    82
        void GoToEditScheme();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    83
        void GoToNewScheme();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    84
        void GoToPage(int id);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    85
        void GoBack();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    86
        void OpenSnapshotFolder();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    87
        QString getDemoArguments();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    88
        void AssociateFiles();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    89
        void btnExitPressed();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    90
        void IntermediateSetup();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    91
        void NewTeam();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    92
        void EditTeam(const QString & teamName);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    93
        void AfterTeamEdit();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    94
        void DeleteTeam(const QString & teamName);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    95
        void DeleteScheme();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    96
        void DeleteWeaponSet();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    97
        void SimpleGame();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    98
        void PlayDemo();
11973
1de4d6b35748 Mission recategorization into trainings, challenges and scenarios.
Wuzzy <almikes@aol.com>
parents: 11955
diff changeset
    99
        void startTraining(const QString&, const QString&);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   100
        void StartCampaign();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   101
        void NetConnect();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   102
        void NetConnectServer(const QString & host, quint16 port);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   103
        void NetConnectOfficialServer();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   104
        void NetStartServer();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   105
        void NetDisconnect();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   106
        void NetConnected();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   107
        void NetError(const QString & errmsg);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   108
        void NetWarning(const QString & wrnmsg);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   109
        void NetGameEnter();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   110
        void NetPassword(const QString & nick);
8291
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8268
diff changeset
   111
        void NetNickRegistered(const QString & nick);
8299
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8294
diff changeset
   112
        void NetNickNotRegistered(const QString & nick);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   113
        void NetNickTaken(const QString & nick);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   114
        void NetAuthFailed();
9549
ac5c1f691ce2 Allow user to enter password for the room he joins
unc0rr
parents: 9184
diff changeset
   115
        void askRoomPassword();
8434
4821897a0f10 big indentation/whitespaces cleanup
sheepluva
parents: 8416
diff changeset
   116
        bool RetryDialog(const QString & title, const QString & label);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   117
        void NetTeamAccepted(const QString& team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   118
        void AddNetTeam(const HWTeam& team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   119
        void RemoveNetTeam(const HWTeam& team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   120
        void StartMPGame();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   121
        void GameStateChanged(GameState gameState);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   122
        void ForcedDisconnect(const QString & reason);
10307
e13d3147f15b do not get stuck on "in game..." page just because of game crash. output a message instead. could still need some tweaking, but a man gotta sleep. and sheep too...
sheepluva
parents: 10108
diff changeset
   123
        void ShowFatalErrorMessage(const QString &);
7180
53ffc8853008 here it is
Stepan777 <stepik-777@mail.ru>
parents: 7004
diff changeset
   124
        void GetRecord(RecordType type, const QByteArray & record);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   125
        void CreateNetGame();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   126
        void UpdateWeapons();
12670
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11973
diff changeset
   127
        void DeleteWeapons(QString weaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11973
diff changeset
   128
        void AddWeapons(QString weaponsName, QString ammo);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11973
diff changeset
   129
        void EditWeapons(QString oldWeaponsName, QString newWeaponsName, QString ammo);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   130
        void onFrontendFullscreen(bool value);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   131
        void onFrontendEffects(bool value);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   132
        void Music(bool checked);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   133
        void UpdateCampaignPage(int index);
11955
3792a9f9fa9c Update campaign victory status when changing selection
Wuzzy <almikes@aol.com>
parents: 11856
diff changeset
   134
        void UpdateCampaignPageTeam(int index);
7490
c422845b8d1f Fixed a typo, frontend is now working properly
belphegorr <szabibibi@gmail.com>
parents: 7245
diff changeset
   135
        void UpdateCampaignPageProgress(int index);
9182
f92e205bc167 issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9100
diff changeset
   136
        void UpdateCampaignPageMission(int index);
7201
dc17ffdf0702 The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents: 7004
diff changeset
   137
        void InitCampaignPage();
8385
9e8924ff9813 Convert feedback page to dialog (+some fixes from unC0Rr)
dag10
parents: 8364
diff changeset
   138
        void showFeedbackDialog();
8878
b03dc99f2f2e check for network for feedback dialog too
koda
parents: 8720
diff changeset
   139
        void showFeedbackDialogNetChecked();
2345
daf1785f2337 - Frontend: reorganize code controlling widgets state, fix problems getting room admin status
unc0rr
parents: 2098
diff changeset
   140
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   141
        void NetGameChangeStatus(bool isMaster);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   142
        void NetGameMaster();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   143
        void NetGameSlave();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   144
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   145
        void AsyncNetServerStart();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   146
        void NetLeftRoom(const QString & reason);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   147
        void selectFirstNetScheme();
2377
f3fab2b09e0c And in frontend
nemo
parents: 2345
diff changeset
   148
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   149
        void saveDemoWithCustomName();
8364
fbc9bcc6c39d Added "New account" button when connectiong to the official server
vitiv <nikita.utiu@gmail.com>
parents: 8353
diff changeset
   150
        void openRegistrationPage();
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   151
8416
e691acd778f5 It is now possible to start a game even if not all players are "ready"; a confirmation prompt is shown. This commit updates the server.
dag10
parents: 8385
diff changeset
   152
        void startGame();
8901
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8878
diff changeset
   153
        void restartGame();
8416
e691acd778f5 It is now possible to start a game even if not all players are "ready"; a confirmation prompt is shown. This commit updates the server.
dag10
parents: 8385
diff changeset
   154
9100
3f5e0280db4d Fix issue 652 and fix issue 645
unc0rr
parents: 9080
diff changeset
   155
        void FromNetProxySlot(const QByteArray &);
3f5e0280db4d Fix issue 652 and fix issue 645
unc0rr
parents: 9080
diff changeset
   156
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   157
    private:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   158
        void _NetConnect(const QString & hostName, quint16 port, QString nick);
8720
5603527f9803 this should prevent the password prompt from appearing on local games (issue 548)
koda
parents: 8716
diff changeset
   159
        int  AskForNickAndPwd(void);
8140
a098374b847b A bit of refactoring
unc0rr
parents: 7628
diff changeset
   160
        void UpdateTeamsLists();
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   161
        void CreateGame(GameCFGWidget * gamecfg, TeamSelWidget* pTeamSelWidget, QString ammo);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   162
        void closeEvent(QCloseEvent *event);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   163
        void CustomizePalettes();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   164
        void resizeEvent(QResizeEvent * event);
8353
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8328
diff changeset
   165
        QString stringifyPageId(quint32 id);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   166
        //void keyReleaseEvent(QKeyEvent *event);
660
7c155e849602 - Simplify net game objects relationship
unc0rr
parents: 646
diff changeset
   167
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   168
        enum PageIDs
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   169
        {
7004
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   170
            ID_PAGE_SETUP_TEAM     ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   171
            ID_PAGE_SETUP          ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   172
            ID_PAGE_MULTIPLAYER    ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   173
            ID_PAGE_DEMOS          ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   174
            ID_PAGE_NET            ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   175
            ID_PAGE_NETGAME        ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   176
            ID_PAGE_INFO           ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   177
            ID_PAGE_MAIN           ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   178
            ID_PAGE_GAMESTATS      ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   179
            ID_PAGE_SINGLEPLAYER   ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   180
            ID_PAGE_TRAINING       ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   181
            ID_PAGE_SELECTWEAPON   ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   182
            ID_PAGE_NETSERVER      ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   183
            ID_PAGE_INGAME         ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   184
            ID_PAGE_ROOMSLIST      ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   185
            ID_PAGE_CONNECTING     ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   186
            ID_PAGE_SCHEME         ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   187
            ID_PAGE_ADMIN          ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   188
            ID_PAGE_CAMPAIGN       ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   189
            ID_PAGE_DRAWMAP        ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   190
            ID_PAGE_DATADOWNLOAD   ,
8434
4821897a0f10 big indentation/whitespaces cleanup
sheepluva
parents: 8416
diff changeset
   191
            ID_PAGE_VIDEOS         ,
8205
921e63507bea GCI2012: Navigation Output
Ondrej
parents: 8179
diff changeset
   192
            MAX_PAGE
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   193
        };
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   194
        QPointer<HWGame> game;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   195
        QPointer<HWNetServer> pnetserver;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   196
        QPointer<HWNetRegisterServer> pRegisterServer;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   197
        QPointer<HWTeam> editedTeam;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   198
        QPointer<HWNewNet> hwnet;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   199
        HWNamegen * namegen;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   200
        AmmoSchemeModel * ammoSchemeModel;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   201
        QStack<int> PagesStack;
9182
f92e205bc167 issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9100
diff changeset
   202
        QString previousCampaignName;
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
   203
        QString previousTeamName;
9290
478aa681e702 this seems to work ok, but I have to clean up the code
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9284
diff changeset
   204
        QList<MissionInfo> campaignMissionInfo;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   205
        QTime eggTimer;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   206
        BGWidget * wBackground;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   207
        QSignalMapper * pageSwitchMapper;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   208
        QByteArray m_lastDemo;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3236
diff changeset
   209
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   210
        QPropertyAnimation *animationNewSlide;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   211
        QPropertyAnimation *animationOldSlide;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   212
        QPropertyAnimation *animationNewOpacity;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   213
        QPropertyAnimation *animationOldOpacity;
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6225
diff changeset
   214
2400
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
   215
#ifdef __APPLE__
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   216
        InstallController * panel;
2400
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
   217
#endif
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3236
diff changeset
   218
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   219
        void OnPageShown(quint8 id, quint8 lastid=0);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   220
};
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   221
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   222
#endif