QTfrontend/ui/widget/mapContainer.cpp
author sheepluva
Wed, 25 Apr 2012 08:23:48 +0200
changeset 6928 9562ace15141
parent 6700 e04da46ee43c
child 6933 78d194a30520
permissions -rw-r--r--
nemo said I was boring for removing the "hello" randomizer on room join. That was actually an accident, fixed by this commit. Now find an actual reason to call me boring (there are many to choose from :P) nemo!
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: 883
diff changeset
     2
 * Hedgewars, a free turn based strategy game
6700
e04da46ee43c the most important commit of the year
koda
parents: 6616
diff changeset
     3
 * Copyright (c) 2006-2012 Igor Ulyanov <iulyanov@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
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
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
#include <QPushButton>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    20
#include <QBuffer>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    21
#include <QUuid>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    22
#include <QBitmap>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    23
#include <QPainter>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    24
#include <QLinearGradient>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    25
#include <QColor>
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
    26
#include <QTextStream>
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    27
#include <QLabel>
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
    28
#include <QListView>
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    29
#include <QVBoxLayout>
1224
0b9fbee5ceda - Add icons for each theme
unc0rr
parents: 1215
diff changeset
    30
#include <QIcon>
4519
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
    31
#include <QLineEdit>
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
    32
#include <QMessageBox>
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
    33
#include <QStringListModel>
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
    34
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
    35
#include "hwconsts.h"
788
00720357601f - Get rid of PageSimpleGame, now pressing 'quick game' just starts round
unc0rr
parents: 682
diff changeset
    36
#include "mapContainer.h"
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    37
#include "igbox.h"
5252
ded882439548 file association for mac!
koda
parents: 5238
diff changeset
    38
#include "HWApplication.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    39
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    40
HWMapContainer::HWMapContainer(QWidget * parent) :
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    41
    QWidget(parent),
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    42
    mainLayout(this),
3133
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
    43
    pMap(0),
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
    44
    mapgen(MAPGEN_REGULAR)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    45
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    46
    hhSmall.load(":/res/hh_small.png");
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    47
    hhLimit = 18;
1797
fedd8649fdd9 Templates filter by nemo
unc0rr
parents: 1790
diff changeset
    48
    templateFilter = 0;
2377
f3fab2b09e0c And in frontend
nemo
parents: 2021
diff changeset
    49
5252
ded882439548 file association for mac!
koda
parents: 5238
diff changeset
    50
    mainLayout.setContentsMargins(HWApplication::style()->pixelMetric(QStyle::PM_LayoutLeftMargin),
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    51
                                  1,
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    52
                                  HWApplication::style()->pixelMetric(QStyle::PM_LayoutRightMargin),
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    53
                                  HWApplication::style()->pixelMetric(QStyle::PM_LayoutBottomMargin));
2377
f3fab2b09e0c And in frontend
nemo
parents: 2021
diff changeset
    54
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
    55
    QWidget* mapWidget = new QWidget(this);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
    56
    mainLayout.addWidget(mapWidget, 0, 0, Qt::AlignHCenter);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
    57
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
    58
    QGridLayout* mapLayout = new QGridLayout(mapWidget);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
    59
    mapLayout->setMargin(0);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
    60
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
    61
    imageButt = new QPushButton(mapWidget);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    62
    imageButt->setObjectName("imageButt");
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    63
    imageButt->setFixedSize(256 + 6, 128 + 6);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    64
    imageButt->setFlat(true);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    65
    imageButt->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);//QSizePolicy::Minimum, QSizePolicy::Minimum);
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
    66
    mapLayout->addWidget(imageButt, 0, 0, 1, 2);
4337
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
    67
    connect(imageButt, SIGNAL(clicked()), this, SLOT(setRandomMap()));
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
    68
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
    69
    chooseMap = new QComboBox(mapWidget);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    70
    chooseMap->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
4125
877ecc9d9d82 Disable icons on maps/generated terrain dropdowns since they haven't been drawn yet. Add per-hog-ammo button
nemo
parents: 3951
diff changeset
    71
    chooseMap->addItem(
877ecc9d9d82 Disable icons on maps/generated terrain dropdowns since they haven't been drawn yet. Add per-hog-ammo button
nemo
parents: 3951
diff changeset
    72
// FIXME - need real icons. Disabling until then
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    73
//QIcon(":/res/mapRandom.png"),
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    74
        QComboBox::tr("generated map..."));
4125
877ecc9d9d82 Disable icons on maps/generated terrain dropdowns since they haven't been drawn yet. Add per-hog-ammo button
nemo
parents: 3951
diff changeset
    75
    chooseMap->addItem(
877ecc9d9d82 Disable icons on maps/generated terrain dropdowns since they haven't been drawn yet. Add per-hog-ammo button
nemo
parents: 3951
diff changeset
    76
// FIXME - need real icons. Disabling until then
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    77
//QIcon(":/res/mapMaze.png"),
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    78
        QComboBox::tr("generated maze..."));
4487
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
    79
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
    80
    chooseMap->addItem(QComboBox::tr("hand drawn map..."));
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
    81
    chooseMap->insertSeparator(chooseMap->count()); // separator between generators and missions
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
    82
3185
19d84448835f Frontend:
smxx
parents: 3181
diff changeset
    83
    chooseMap->insertSeparator(chooseMap->count()); // separator between generators and missions
19d84448835f Frontend:
smxx
parents: 3181
diff changeset
    84
19d84448835f Frontend:
smxx
parents: 3181
diff changeset
    85
    int missionindex = chooseMap->count();
4337
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
    86
    numMissions = 0;
5238
46ddaf14509d Enable ~/.hedgewars/Data (or platform equivalent) to override/extend pretty much everything in system Data dir. Obviously desyncing can occur, so this is at user's own risk. Should simplify map etc install. Needs testing.
nemo
parents: 4976
diff changeset
    87
    QFile mapLuaFile;
46ddaf14509d Enable ~/.hedgewars/Data (or platform equivalent) to override/extend pretty much everything in system Data dir. Obviously desyncing can occur, so this is at user's own risk. Should simplify map etc install. Needs testing.
nemo
parents: 4976
diff changeset
    88
    QFile mapCfgFile;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    89
    for (int i = 0; i < mapList->size(); ++i)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    90
    {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    91
        QString map = (*mapList)[i];
5238
46ddaf14509d Enable ~/.hedgewars/Data (or platform equivalent) to override/extend pretty much everything in system Data dir. Obviously desyncing can occur, so this is at user's own risk. Should simplify map etc install. Needs testing.
nemo
parents: 4976
diff changeset
    92
        mapCfgFile.setFileName(
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    93
            QString("%1/Data/Maps/%2/map.cfg")
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    94
            .arg(cfgdir->absolutePath())
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    95
            .arg(map));
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    96
        if (mapCfgFile.exists())
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    97
        {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    98
            mapLuaFile.setFileName(
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    99
                QString("%1/Data/Maps/%2/map.lua")
5238
46ddaf14509d Enable ~/.hedgewars/Data (or platform equivalent) to override/extend pretty much everything in system Data dir. Obviously desyncing can occur, so this is at user's own risk. Should simplify map etc install. Needs testing.
nemo
parents: 4976
diff changeset
   100
                .arg(cfgdir->absolutePath())
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   101
                .arg(map));
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   102
        }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   103
        else
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   104
        {
5238
46ddaf14509d Enable ~/.hedgewars/Data (or platform equivalent) to override/extend pretty much everything in system Data dir. Obviously desyncing can occur, so this is at user's own risk. Should simplify map etc install. Needs testing.
nemo
parents: 4976
diff changeset
   105
            mapCfgFile.setFileName(
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   106
                QString("%1/Maps/%2/map.cfg")
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   107
                .arg(datadir->absolutePath())
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   108
                .arg(map));
5238
46ddaf14509d Enable ~/.hedgewars/Data (or platform equivalent) to override/extend pretty much everything in system Data dir. Obviously desyncing can occur, so this is at user's own risk. Should simplify map etc install. Needs testing.
nemo
parents: 4976
diff changeset
   109
            mapLuaFile.setFileName(
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   110
                QString("%1/Maps/%2/map.lua")
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   111
                .arg(datadir->absolutePath())
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   112
                .arg(map));
5238
46ddaf14509d Enable ~/.hedgewars/Data (or platform equivalent) to override/extend pretty much everything in system Data dir. Obviously desyncing can occur, so this is at user's own risk. Should simplify map etc install. Needs testing.
nemo
parents: 4976
diff changeset
   113
        }
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   114
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   115
        if (mapCfgFile.open(QFile::ReadOnly))
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   116
        {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   117
            QString theme;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   118
            quint32 limit = 0;
4513
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   119
            QString scheme;
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   120
            QString weapons;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   121
            QList<QVariant> mapInfo;
6087
6e422ea250a1 Tiny cleanup
unc0rr
parents: 5993
diff changeset
   122
            bool isMission = mapLuaFile.exists();
6e422ea250a1 Tiny cleanup
unc0rr
parents: 5993
diff changeset
   123
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   124
            QTextStream input(&mapCfgFile);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   125
            input >> theme;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   126
            input >> limit;
4513
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   127
            input >> scheme;
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   128
            input >> weapons;
3008
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   129
            mapInfo.push_back(map);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   130
            mapInfo.push_back(theme);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   131
            if (limit)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   132
                mapInfo.push_back(limit);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   133
            else
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   134
                mapInfo.push_back(18);
6087
6e422ea250a1 Tiny cleanup
unc0rr
parents: 5993
diff changeset
   135
6e422ea250a1 Tiny cleanup
unc0rr
parents: 5993
diff changeset
   136
6e422ea250a1 Tiny cleanup
unc0rr
parents: 5993
diff changeset
   137
            mapInfo.push_back(isMission);
6e422ea250a1 Tiny cleanup
unc0rr
parents: 5993
diff changeset
   138
4513
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   139
            if (scheme.isEmpty())
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   140
                scheme = "locked";
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   141
            scheme.replace("_", " ");
6087
6e422ea250a1 Tiny cleanup
unc0rr
parents: 5993
diff changeset
   142
4513
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   143
            if (weapons.isEmpty())
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   144
                weapons = "locked";
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   145
            weapons.replace("_", " ");
6087
6e422ea250a1 Tiny cleanup
unc0rr
parents: 5993
diff changeset
   146
4513
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   147
            mapInfo.push_back(scheme);
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   148
            mapInfo.push_back(weapons);
6087
6e422ea250a1 Tiny cleanup
unc0rr
parents: 5993
diff changeset
   149
6e422ea250a1 Tiny cleanup
unc0rr
parents: 5993
diff changeset
   150
            if(isMission)
4337
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   151
            {
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   152
                chooseMap->insertItem(missionindex++,
4125
877ecc9d9d82 Disable icons on maps/generated terrain dropdowns since they haven't been drawn yet. Add per-hog-ammo button
nemo
parents: 3951
diff changeset
   153
// FIXME - need real icons. Disabling until then
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   154
//QIcon(":/res/mapMission.png"),
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   155
                                      QComboBox::tr("Mission") + ": " + map, mapInfo);
4337
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   156
                numMissions++;
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   157
            }
3185
19d84448835f Frontend:
smxx
parents: 3181
diff changeset
   158
            else
4125
877ecc9d9d82 Disable icons on maps/generated terrain dropdowns since they haven't been drawn yet. Add per-hog-ammo button
nemo
parents: 3951
diff changeset
   159
                chooseMap->addItem(
877ecc9d9d82 Disable icons on maps/generated terrain dropdowns since they haven't been drawn yet. Add per-hog-ammo button
nemo
parents: 3951
diff changeset
   160
// FIXME - need real icons. Disabling until then
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   161
//QIcon(":/res/mapCustom.png"),
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   162
                    map, mapInfo);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   163
            mapCfgFile.close();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   164
        }
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   165
    }
3185
19d84448835f Frontend:
smxx
parents: 3181
diff changeset
   166
    chooseMap->insertSeparator(missionindex); // separator between missions and maps
2377
f3fab2b09e0c And in frontend
nemo
parents: 2021
diff changeset
   167
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   168
    connect(chooseMap, SIGNAL(activated(int)), this, SLOT(mapChanged(int)));
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   169
    mapLayout->addWidget(chooseMap, 1, 1);
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   170
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   171
    QLabel * lblMap = new QLabel(tr("Map"), mapWidget);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   172
    mapLayout->addWidget(lblMap, 1, 0);
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
   173
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   174
    lblFilter = new QLabel(tr("Filter"), mapWidget);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   175
    mapLayout->addWidget(lblFilter, 2, 0);
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   176
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   177
    cbTemplateFilter = new QComboBox(mapWidget);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   178
    cbTemplateFilter->addItem(tr("All"), 0);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   179
    cbTemplateFilter->addItem(tr("Small"), 1);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   180
    cbTemplateFilter->addItem(tr("Medium"), 2);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   181
    cbTemplateFilter->addItem(tr("Large"), 3);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   182
    cbTemplateFilter->addItem(tr("Cavern"), 4);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   183
    cbTemplateFilter->addItem(tr("Wacky"), 5);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   184
    mapLayout->addWidget(cbTemplateFilter, 2, 1);
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   185
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   186
    connect(cbTemplateFilter, SIGNAL(activated(int)), this, SLOT(setTemplateFilter(int)));
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   187
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   188
    maze_size_label = new QLabel(tr("Type"), mapWidget);
5434
99078dea3a8f fix wrong location of "Type"-label in map-selection
sheepluva
parents: 5289
diff changeset
   189
    mapLayout->addWidget(maze_size_label, 2, 0);
3133
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   190
    maze_size_label->hide();
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   191
    cbMazeSize = new QComboBox(mapWidget);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   192
    cbMazeSize->addItem(tr("Small tunnels"), 0);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   193
    cbMazeSize->addItem(tr("Medium tunnels"), 1);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   194
    cbMazeSize->addItem(tr("Large tunnels"), 2);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   195
    cbMazeSize->addItem(tr("Small floating islands"), 3);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   196
    cbMazeSize->addItem(tr("Medium floating islands"), 4);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   197
    cbMazeSize->addItem(tr("Large floating islands"), 5);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   198
    cbMazeSize->setCurrentIndex(1);
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   199
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   200
    mapLayout->addWidget(cbMazeSize, 2, 1);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   201
    cbMazeSize->hide();
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   202
    connect(cbMazeSize, SIGNAL(activated(int)), this, SLOT(setMazeSize(int)));
3133
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   203
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   204
    gbThemes = new IconedGroupBox(mapWidget);
4701
7ed88cfc99b1 restore showing a bigger icon for themes
koda
parents: 4699
diff changeset
   205
    gbThemes->setTitleTextPadding(80);
7ed88cfc99b1 restore showing a bigger icon for themes
koda
parents: 4699
diff changeset
   206
    gbThemes->setContentTopPadding(15);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   207
    gbThemes->setTitle(tr("Themes"));
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1228
diff changeset
   208
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   209
    //gbThemes->setStyleSheet("padding: 0px"); // doesn't work - stylesheet is set with icon
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   210
    mapLayout->addWidget(gbThemes, 0, 2, 3, 1);
2377
f3fab2b09e0c And in frontend
nemo
parents: 2021
diff changeset
   211
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   212
    QVBoxLayout * gbTLayout = new QVBoxLayout(gbThemes);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   213
    gbTLayout->setContentsMargins(0, 0, 0 ,0);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   214
    gbTLayout->setSpacing(0);
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   215
    lvThemes = new QListView(mapWidget);
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   216
    lvThemes->setMinimumHeight(30);
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   217
    lvThemes->setFixedWidth(140);
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   218
    lvThemes->setModel(themesModel);
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   219
    lvThemes->setIconSize(QSize(16, 16));
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   220
    lvThemes->setEditTriggers(QListView::NoEditTriggers);
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   221
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   222
    connect(lvThemes->selectionModel(), SIGNAL(currentRowChanged( const QModelIndex &, const QModelIndex &)), this, SLOT(themeSelected( const QModelIndex &, const QModelIndex &)));
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   223
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   224
    // override default style to tighten up theme scroller
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   225
    lvThemes->setStyleSheet(QString(
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   226
                                "QListView{"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   227
                                "border: solid;"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   228
                                "border-width: 0px;"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   229
                                "border-radius: 0px;"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   230
                                "border-color: transparent;"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   231
                                "background-color: #0d0544;"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   232
                                "color: #ffcc00;"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   233
                                "font: bold 13px;"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   234
                                "}"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   235
                            )
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   236
                           );
2377
f3fab2b09e0c And in frontend
nemo
parents: 2021
diff changeset
   237
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   238
    gbTLayout->addWidget(lvThemes);
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   239
    lvThemes->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Minimum);
2377
f3fab2b09e0c And in frontend
nemo
parents: 2021
diff changeset
   240
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   241
    mapLayout->setSizeConstraint(QLayout::SetFixedSize);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   242
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   243
    QWidget* seedWidget = new QWidget(this);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   244
    mainLayout.addWidget(seedWidget, 1, 0);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   245
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   246
    QGridLayout* seedLayout = new QGridLayout(seedWidget);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   247
    seedLayout->setMargin(0);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   248
4699
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   249
    seedLabel = new QLabel(tr("Seed"), seedWidget);
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   250
    seedLayout->addWidget(seedLabel, 3, 0);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   251
    seedEdit = new QLineEdit(seedWidget);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   252
    seedEdit->setMaxLength(54);
4550
d300ea498486 added set button to seed edit so maps won't regenerate as often
Henek
parents: 4537
diff changeset
   253
    connect(seedEdit, SIGNAL(returnPressed()), this, SLOT(seedEdited()));
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   254
    seedLayout->addWidget(seedEdit, 3, 1);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   255
    seedLayout->setColumnStretch(1, 5);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   256
    seedSet = new QPushButton(seedWidget);
4699
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   257
    seedSet->setText(QPushButton::tr("more"));
4550
d300ea498486 added set button to seed edit so maps won't regenerate as often
Henek
parents: 4537
diff changeset
   258
    connect(seedSet, SIGNAL(clicked()), this, SLOT(seedEdited()));
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   259
    seedLayout->setColumnStretch(2, 1);
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   260
    seedLayout->addWidget(seedSet, 3, 2);
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   261
4699
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   262
    seedLabel->setVisible(false);
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   263
    seedEdit->setVisible(false);
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   264
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   265
    setRandomSeed();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   266
    setRandomTheme();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   267
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   268
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   269
void HWMapContainer::setImage(const QImage newImage)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   270
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   271
    QPixmap px(256, 128);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   272
    QPixmap pxres(256, 128);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   273
    QPainter p(&pxres);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   274
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   275
    px.fill(Qt::yellow);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   276
    QBitmap bm = QBitmap::fromImage(newImage);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   277
    px.setMask(bm);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   278
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   279
    QLinearGradient linearGrad(QPoint(128, 0), QPoint(128, 128));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   280
    linearGrad.setColorAt(1, QColor(0, 0, 192));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   281
    linearGrad.setColorAt(0, QColor(66, 115, 225));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   282
    p.fillRect(QRect(0, 0, 256, 128), linearGrad);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   283
    p.drawPixmap(QPoint(0, 0), px);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   284
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   285
    addInfoToPreview(pxres);
4561
da9d27bc6ea6 Seems like just a source of bugs
unc0rr
parents: 4560
diff changeset
   286
    //chooseMap->setCurrentIndex(mapgen);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   287
    pMap = 0;
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   288
}
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   289
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   290
void HWMapContainer::setHHLimit(int newHHLimit)
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   291
{
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   292
    hhLimit = newHHLimit;
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   293
}
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   294
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   295
void HWMapContainer::mapChanged(int index)
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   296
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   297
    switch(index)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   298
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   299
        case MAPGEN_REGULAR:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   300
            mapgen = MAPGEN_REGULAR;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   301
            updatePreview();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   302
            gbThemes->show();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   303
            lblFilter->show();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   304
            cbTemplateFilter->show();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   305
            maze_size_label->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   306
            cbMazeSize->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   307
            emit mapChanged("+rnd+");
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   308
            emit themeChanged(chooseMap->itemData(index).toList()[1].toString());
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   309
            break;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   310
        case MAPGEN_MAZE:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   311
            mapgen = MAPGEN_MAZE;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   312
            updatePreview();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   313
            gbThemes->show();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   314
            lblFilter->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   315
            cbTemplateFilter->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   316
            maze_size_label->show();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   317
            cbMazeSize->show();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   318
            emit mapChanged("+maze+");
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   319
            emit themeChanged(chooseMap->itemData(index).toList()[1].toString());
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   320
            break;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   321
        case MAPGEN_DRAWN:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   322
            mapgen = MAPGEN_DRAWN;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   323
            updatePreview();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   324
            gbThemes->show();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   325
            lblFilter->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   326
            cbTemplateFilter->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   327
            maze_size_label->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   328
            cbMazeSize->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   329
            emit mapChanged("+drawn+");
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   330
            emit themeChanged(chooseMap->itemData(index).toList()[1].toString());
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   331
            break;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   332
        default:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   333
            mapgen = MAPGEN_MAP;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   334
            updatePreview();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   335
            gbThemes->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   336
            lblFilter->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   337
            cbTemplateFilter->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   338
            maze_size_label->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   339
            cbMazeSize->hide();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   340
            emit mapChanged(chooseMap->itemData(index).toList()[0].toString());
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   341
    }
5794
cc6e8403664d Send mapgen for static maps
unc0rr
parents: 5793
diff changeset
   342
cc6e8403664d Send mapgen for static maps
unc0rr
parents: 5793
diff changeset
   343
    emit mapgenChanged(mapgen);
331
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   344
}
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   345
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   346
// Should this add text to identify map size?
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   347
void HWMapContainer::addInfoToPreview(QPixmap image)
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   348
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   349
    QPixmap finalImage = QPixmap(image.size());
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   350
    finalImage.fill(QColor(0, 0, 0, 0));
2377
f3fab2b09e0c And in frontend
nemo
parents: 2021
diff changeset
   351
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   352
    QPainter p(&finalImage);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   353
    p.drawPixmap(image.rect(), image);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   354
    //p.setPen(QColor(0xf4,0x9e,0xe9));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   355
    p.setPen(QColor(0xff,0xcc,0x00));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   356
    p.setBrush(QColor(0, 0, 0));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   357
    p.drawRect(image.rect().width() - hhSmall.rect().width() - 28, 3, 40, 20);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   358
    p.setFont(QFont("MS Shell Dlg", 10));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   359
    p.drawText(image.rect().width() - hhSmall.rect().width() - 14 - (hhLimit > 9 ? 10 : 0), 18, QString::number(hhLimit));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   360
    p.drawPixmap(image.rect().width() - hhSmall.rect().width() - 5, 5, hhSmall.rect().width(), hhSmall.rect().height(), hhSmall);
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   361
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   362
    imageButt->setIcon(finalImage);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   363
    imageButt->setIconSize(image.size());
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   364
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   365
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   366
void HWMapContainer::askForGeneratedPreview()
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   367
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   368
    if (pMap)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   369
    {
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   370
        disconnect(pMap, 0, this, SLOT(setImage(const QImage)));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   371
        disconnect(pMap, 0, this, SLOT(setHHLimit(int)));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   372
        pMap = 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   373
    }
2021
a591afb43768 Some changes in try to fix issue when you enter
unc0rr
parents: 1874
diff changeset
   374
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   375
    pMap = new HWMap();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   376
    connect(pMap, SIGNAL(ImageReceived(const QImage)), this, SLOT(setImage(const QImage)));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   377
    connect(pMap, SIGNAL(HHLimitReceived(int)), this, SLOT(setHHLimit(int)));
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   378
    pMap->getImage(m_seed,
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   379
                   getTemplateFilter(),
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   380
                   get_mapgen(),
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   381
                   getMazeSize(),
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   382
                   getDrawnMapData()
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   383
                  );
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   384
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   385
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   386
void HWMapContainer::themeSelected(const QModelIndex & current, const QModelIndex &)
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   387
{
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   388
    QString theme = current.data().toString();
4487
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
   389
    QList<QVariant> mapInfo;
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
   390
    mapInfo.push_back(QString("+rnd+"));
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
   391
    mapInfo.push_back(theme);
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
   392
    mapInfo.push_back(18);
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
   393
    mapInfo.push_back(false);
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
   394
    chooseMap->setItemData(0, mapInfo);
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
   395
    mapInfo[0] = QString("+maze+");
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
   396
    chooseMap->setItemData(1, mapInfo);
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
   397
    mapInfo[0] = QString("+drawn+");
dbf69c7c5e00 Add drawn map into the list of map generators
unc0rr
parents: 4419
diff changeset
   398
    chooseMap->setItemData(2, mapInfo);
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   399
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   400
    gbThemes->setIcon(qVariantValue<QIcon>(current.data(Qt::UserRole)));
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   401
    emit themeChanged(theme);
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   402
}
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   403
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   404
QString HWMapContainer::getCurrentSeed() const
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   405
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   406
    return m_seed;
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   407
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   408
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   409
QString HWMapContainer::getCurrentMap() const
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   410
{
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   411
    if(chooseMap->currentIndex() < MAPGEN_MAP) return QString();
3008
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   412
    return chooseMap->itemData(chooseMap->currentIndex()).toList()[0].toString();
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   413
}
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   414
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   415
QString HWMapContainer::getCurrentTheme() const
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   416
{
3008
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   417
    return chooseMap->itemData(chooseMap->currentIndex()).toList()[1].toString();
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   418
}
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   419
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   420
bool HWMapContainer::getCurrentIsMission() const
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   421
{
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   422
    if(!chooseMap->currentIndex()) return false;
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   423
    return chooseMap->itemData(chooseMap->currentIndex()).toList()[3].toBool();
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   424
}
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   425
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   426
int HWMapContainer::getCurrentHHLimit() const
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   427
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   428
    return hhLimit;
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   429
}
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   430
4513
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   431
QString HWMapContainer::getCurrentScheme() const
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   432
{
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   433
    return chooseMap->itemData(chooseMap->currentIndex()).toList()[4].toString();
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   434
}
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   435
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   436
QString HWMapContainer::getCurrentWeapons() const
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   437
{
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   438
    return chooseMap->itemData(chooseMap->currentIndex()).toList()[5].toString();
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   439
}
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   440
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   441
quint32 HWMapContainer::getTemplateFilter() const
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   442
{
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   443
    return cbTemplateFilter->itemData(cbTemplateFilter->currentIndex()).toInt();
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   444
}
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   445
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   446
void HWMapContainer::resizeEvent ( QResizeEvent * event )
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   447
{
4560
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4557
diff changeset
   448
    Q_UNUSED(event);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   449
    //imageButt->setIconSize(imageButt->size());
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   450
}
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   451
4936
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   452
void HWMapContainer::intSetSeed(const QString & seed)
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   453
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   454
    m_seed = seed;
4519
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
   455
    if (seed != seedEdit->text())
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
   456
        seedEdit->setText(seed);
4936
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   457
}
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   458
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   459
void HWMapContainer::setSeed(const QString & seed)
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   460
{
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   461
    intSetSeed(seed);
5794
cc6e8403664d Send mapgen for static maps
unc0rr
parents: 5793
diff changeset
   462
    if (chooseMap->currentIndex() < MAPGEN_DRAWN)
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   463
        updatePreview();
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   464
}
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   465
4936
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   466
void HWMapContainer::intSetMap(const QString & map)
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   467
{
3008
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   468
    int id = 0;
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   469
    for(int i = 0; i < chooseMap->count(); i++)
3195
c6f58cff5ffc Frontend:
smxx
parents: 3185
diff changeset
   470
        if(!chooseMap->itemData(i).isNull() && chooseMap->itemData(i).toList()[0].toString() == map)
3008
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   471
        {
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   472
            id = i;
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   473
            break;
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   474
        }
e57cafce4227 Frontend:
smxx
parents: 2948
diff changeset
   475
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   476
    if(id > 0)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   477
    {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   478
        if (pMap)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   479
        {
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   480
            disconnect(pMap, 0, this, SLOT(setImage(const QImage)));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   481
            disconnect(pMap, 0, this, SLOT(setHHLimit(int)));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   482
            pMap = 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   483
        }
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   484
        chooseMap->setCurrentIndex(id);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   485
    }
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   486
}
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   487
4936
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   488
void HWMapContainer::setMap(const QString &map)
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   489
{
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   490
    intSetMap(map);
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   491
    updatePreview();
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   492
}
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   493
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   494
void HWMapContainer::setTheme(const QString & theme)
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   495
{
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   496
    QModelIndexList mdl = themesModel->match(themesModel->index(0), Qt::DisplayRole, theme);
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   497
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   498
    if(mdl.size())
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   499
        lvThemes->setCurrentIndex(mdl.at(0));
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   500
}
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   501
4337
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   502
void HWMapContainer::setRandomMap()
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   503
{
4419
3d99c2c806ec fix for frontend desync
prg
parents: 4337
diff changeset
   504
    setRandomSeed();
4337
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   505
    switch(chooseMap->currentIndex())
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   506
    {
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   507
        case MAPGEN_REGULAR:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   508
        case MAPGEN_MAZE:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   509
            setRandomTheme();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   510
            break;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   511
        case MAPGEN_DRAWN:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   512
            emit drawMapRequested();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   513
            break;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   514
        default:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   515
            if(chooseMap->currentIndex() <= numMissions + MAPGEN_MAP + 1)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   516
                setRandomMission();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   517
            else
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   518
                setRandomStatic();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   519
            break;
4337
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   520
    }
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   521
}
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   522
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   523
void HWMapContainer::setRandomStatic()
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   524
{
4566
87ee1be17d27 Adjust magic consts
unc0rr
parents: 4565
diff changeset
   525
    int i = MAPGEN_MAP + 3 + numMissions + rand() % (chooseMap->count() - MAPGEN_MAP - 3 - numMissions);
87ee1be17d27 Adjust magic consts
unc0rr
parents: 4565
diff changeset
   526
    chooseMap->setCurrentIndex(i);
5993
412ada3d2041 randomly selected static/mission maps weren't properly reported to others in room (only new seed was)
sheepluva
parents: 5795
diff changeset
   527
    mapChanged(i);
4337
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   528
}
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   529
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   530
void HWMapContainer::setRandomMission()
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   531
{
4566
87ee1be17d27 Adjust magic consts
unc0rr
parents: 4565
diff changeset
   532
    int i = MAPGEN_MAP + 2 + rand() % numMissions;
87ee1be17d27 Adjust magic consts
unc0rr
parents: 4565
diff changeset
   533
    chooseMap->setCurrentIndex(i);
5993
412ada3d2041 randomly selected static/mission maps weren't properly reported to others in room (only new seed was)
sheepluva
parents: 5795
diff changeset
   534
    mapChanged(i);
4337
85e02b1a8e8f merge 0.9.14.1 to trunk
nemo
parents: 4322
diff changeset
   535
}
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   536
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   537
void HWMapContainer::setRandomSeed()
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   538
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   539
    m_seed = QUuid::createUuid().toString();
4519
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
   540
    seedEdit->setText(m_seed);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   541
    emit seedChanged(m_seed);
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   542
    if (chooseMap->currentIndex() < MAPGEN_MAP)
4563
b09f4a52aca4 Some debug info
unc0rr
parents: 4562
diff changeset
   543
        updatePreview();
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   544
}
1318
18da1c5e960d - Shut the client's tries to configure server up
unc0rr
parents: 1248
diff changeset
   545
18da1c5e960d - Shut the client's tries to configure server up
unc0rr
parents: 1248
diff changeset
   546
void HWMapContainer::setRandomTheme()
18da1c5e960d - Shut the client's tries to configure server up
unc0rr
parents: 1248
diff changeset
   547
{
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   548
    if(!themesModel->rowCount()) return;
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   549
    quint32 themeNum = rand() % themesModel->rowCount();
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5252
diff changeset
   550
    lvThemes->setCurrentIndex(themesModel->index(themeNum));
1318
18da1c5e960d - Shut the client's tries to configure server up
unc0rr
parents: 1248
diff changeset
   551
}
1797
fedd8649fdd9 Templates filter by nemo
unc0rr
parents: 1790
diff changeset
   552
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   553
void HWMapContainer::intSetTemplateFilter(int filter)
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   554
{
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   555
    cbTemplateFilter->setCurrentIndex(filter);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   556
    emit newTemplateFilter(filter);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   557
}
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   558
1797
fedd8649fdd9 Templates filter by nemo
unc0rr
parents: 1790
diff changeset
   559
void HWMapContainer::setTemplateFilter(int filter)
fedd8649fdd9 Templates filter by nemo
unc0rr
parents: 1790
diff changeset
   560
{
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   561
    intSetTemplateFilter(filter);
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   562
    updatePreview();
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   563
}
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   564
3133
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   565
MapGenerator HWMapContainer::get_mapgen(void) const
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   566
{
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   567
    return mapgen;
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   568
}
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   569
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   570
int HWMapContainer::getMazeSize(void) const
3133
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   571
{
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   572
    return cbMazeSize->currentIndex();
3133
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   573
}
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   574
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   575
void HWMapContainer::intSetMazeSize(int size)
3133
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   576
{
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   577
    cbMazeSize->setCurrentIndex(size);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   578
    emit mazeSizeChanged(size);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   579
}
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   580
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   581
void HWMapContainer::setMazeSize(int size)
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   582
{
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   583
    intSetMazeSize(size);
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   584
    updatePreview();
3133
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   585
}
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   586
4936
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   587
void HWMapContainer::intSetMapgen(MapGenerator m)
3133
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   588
{
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   589
    mapgen = m;
5793
401ab167bd9f This should be a real fix (7643cbb88f09 reverted). Not tested.
unc0rr
parents: 5789
diff changeset
   590
401ab167bd9f This should be a real fix (7643cbb88f09 reverted). Not tested.
unc0rr
parents: 5789
diff changeset
   591
    if(m != MAPGEN_MAP)
401ab167bd9f This should be a real fix (7643cbb88f09 reverted). Not tested.
unc0rr
parents: 5789
diff changeset
   592
        chooseMap->setCurrentIndex(m);
401ab167bd9f This should be a real fix (7643cbb88f09 reverted). Not tested.
unc0rr
parents: 5789
diff changeset
   593
3133
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   594
    emit mapgenChanged(m);
4936
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   595
}
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   596
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   597
void HWMapContainer::setMapgen(MapGenerator m)
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   598
{
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   599
    intSetMapgen(m);
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   600
    updatePreview();
3133
1ab5f18f4df8 prg's maze generator
nemo
parents: 3009
diff changeset
   601
}
4489
c4ca9ced258b - Pass map drawing data to engine
unc0rr
parents: 4487
diff changeset
   602
4537
f95f7218531a Recieve and parse DRAWNMAP config
unc0rr
parents: 4534
diff changeset
   603
void HWMapContainer::setDrawnMapData(const QByteArray & ar)
f95f7218531a Recieve and parse DRAWNMAP config
unc0rr
parents: 4534
diff changeset
   604
{
f95f7218531a Recieve and parse DRAWNMAP config
unc0rr
parents: 4534
diff changeset
   605
    drawMapScene.decode(ar);
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   606
    updatePreview();
4537
f95f7218531a Recieve and parse DRAWNMAP config
unc0rr
parents: 4534
diff changeset
   607
}
f95f7218531a Recieve and parse DRAWNMAP config
unc0rr
parents: 4534
diff changeset
   608
4489
c4ca9ced258b - Pass map drawing data to engine
unc0rr
parents: 4487
diff changeset
   609
QByteArray HWMapContainer::getDrawnMapData()
c4ca9ced258b - Pass map drawing data to engine
unc0rr
parents: 4487
diff changeset
   610
{
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4519
diff changeset
   611
    return drawMapScene.encode();
4513
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 4511
diff changeset
   612
}
4519
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
   613
4550
d300ea498486 added set button to seed edit so maps won't regenerate as often
Henek
parents: 4537
diff changeset
   614
void HWMapContainer::seedEdited()
4519
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
   615
{
4699
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   616
    if (seedLabel->isVisible() == false )
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   617
    {
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   618
        seedLabel->setVisible(true);
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   619
        seedEdit->setVisible(true);
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   620
        seedSet->setText(tr("Set"));
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   621
        return;
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   622
    }
47d8a524780a hide seed...
koda
parents: 4566
diff changeset
   623
4557
4004bef2aa9d fix layout in game config widget as per nemo's request
Henek
parents: 4550
diff changeset
   624
    if (seedEdit->text().isEmpty())
4519
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
   625
        seedEdit->setText(m_seed);
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
   626
    else
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
   627
    {
4550
d300ea498486 added set button to seed edit so maps won't regenerate as often
Henek
parents: 4537
diff changeset
   628
        setSeed(seedEdit->text());
d300ea498486 added set button to seed edit so maps won't regenerate as often
Henek
parents: 4537
diff changeset
   629
        emit seedChanged(seedEdit->text());
4519
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
   630
    }
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
   631
}
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4519
diff changeset
   632
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4519
diff changeset
   633
DrawMapScene * HWMapContainer::getDrawMapScene()
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4519
diff changeset
   634
{
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4519
diff changeset
   635
    return &drawMapScene;
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4519
diff changeset
   636
}
4525
0a81be113e21 Try to send drawn map data to net server
unc0rr
parents: 4520
diff changeset
   637
0a81be113e21 Try to send drawn map data to net server
unc0rr
parents: 4520
diff changeset
   638
void HWMapContainer::mapDrawingFinished()
0a81be113e21 Try to send drawn map data to net server
unc0rr
parents: 4520
diff changeset
   639
{
4526
38afca1e4248 Debug messages
unc0rr
parents: 4525
diff changeset
   640
    emit drawnMapChanged(getDrawnMapData());
4525
0a81be113e21 Try to send drawn map data to net server
unc0rr
parents: 4520
diff changeset
   641
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   642
    updatePreview();
4550
d300ea498486 added set button to seed edit so maps won't regenerate as often
Henek
parents: 4537
diff changeset
   643
}
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   644
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   645
void HWMapContainer::updatePreview()
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   646
{
4563
b09f4a52aca4 Some debug info
unc0rr
parents: 4562
diff changeset
   647
    int curIndex = chooseMap->currentIndex();
b09f4a52aca4 Some debug info
unc0rr
parents: 4562
diff changeset
   648
b09f4a52aca4 Some debug info
unc0rr
parents: 4562
diff changeset
   649
    switch(curIndex)
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   650
    {
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   651
        case MAPGEN_REGULAR:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   652
            askForGeneratedPreview();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   653
            break;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   654
        case MAPGEN_MAZE:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   655
            askForGeneratedPreview();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   656
            break;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   657
        case MAPGEN_DRAWN:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   658
            askForGeneratedPreview();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   659
            break;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   660
        default:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   661
            QPixmap mapImage;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   662
            QFile tmpfile;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   663
            tmpfile.setFileName(cfgdir->absolutePath() + "/Data/Maps/" + chooseMap->itemData(curIndex).toList()[0].toString() + "/preview.png");
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   664
            if (!tmpfile.exists()) tmpfile.setFileName(datadir->absolutePath() + "/Maps/" + chooseMap->itemData(curIndex).toList()[0].toString() + "/preview.png");
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   665
            if(!mapImage.load(QFileInfo(tmpfile).absoluteFilePath()))
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   666
            {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   667
                imageButt->setIcon(QIcon());
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   668
                return;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   669
            }
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   670
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   671
            hhLimit = chooseMap->itemData(curIndex).toList()[2].toInt();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   672
            addInfoToPreview(mapImage);
4562
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   673
    }
b55f78fd2bf6 - Simplify map container code a bit
unc0rr
parents: 4561
diff changeset
   674
}
4936
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   675
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   676
void HWMapContainer::setAllMapParameters(const QString &map, MapGenerator m, int mazesize, const QString &seed, int tmpl)
4936
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   677
{
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   678
    intSetMap(map);
5793
401ab167bd9f This should be a real fix (7643cbb88f09 reverted). Not tested.
unc0rr
parents: 5789
diff changeset
   679
    intSetMapgen(m);
4941
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   680
    intSetMazeSize(mazesize);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   681
    intSetSeed(seed);
90572c338e60 Fix for my last commit (which was all nonsense)
unc0rr
parents: 4936
diff changeset
   682
    intSetTemplateFilter(tmpl);
4936
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   683
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   684
    updatePreview();
d65d438acd23 Merge MAP, MAPGEN and SEED params into one on room join, so engine isn't spawned three times for a preview. Not tested as I'm unable to see my rooms (why?)
unc0rr
parents: 4701
diff changeset
   685
}