merge of 0.9.14 changes into default - hopefully I successfully avoided the parts we don't want
--- a/CMakeLists.txt Sat Nov 13 14:40:06 2010 +0100
+++ b/CMakeLists.txt Sat Nov 13 09:36:26 2010 -0500
@@ -214,6 +214,7 @@
set(CPACK_SOURCE_IGNORE_FILES
"~"
+ "\\\\.hg"
"\\\\.svn"
"\\\\.exe$"
"\\\\.a$"
@@ -229,7 +230,11 @@
"\\\\.tmp$"
"\\\\.core$"
"\\\\.sh$"
+ "\\\\.sifz$"
+ "\\\\.svg$"
+ "\\\\.svgz$"
"\\\\.ppu$"
+ "\\\\.psd$"
"\\\\.o$"
"Makefile"
"Doxyfile"
@@ -242,7 +247,10 @@
"hwconsts.cpp$"
"playlist.inc$"
"CPack"
-# "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge"
+ "cmake_install.cmake$"
+ "config.inc$"
+ "hwengine.desktop$"
+# "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge"
"^${CMAKE_CURRENT_SOURCE_DIR}/project_files/HedgewarsMobile/"
"^${CMAKE_CURRENT_SOURCE_DIR}/bin/[a-z]"
"^${CMAKE_CURRENT_SOURCE_DIR}/tools/templates"
--- a/INSTALL Sat Nov 13 14:40:06 2010 +0100
+++ b/INSTALL Sat Nov 13 09:36:26 2010 -0500
@@ -23,7 +23,7 @@
$ cmake -DCMAKE_BUILD_TYPE="Release" -DBUNDLE=1 .
-if you have QT installed but it is not found you can set it up with -DQT_QMAKE_EXECUTABLE="path_to_qmake"
+if you have Qt installed but it is not found you can set it up with -DQT_QMAKE_EXECUTABLE="path_to_qmake"
2. Compile:
$ make
--- a/README Sat Nov 13 14:40:06 2010 +0100
+++ b/README Sat Nov 13 09:36:26 2010 -0500
@@ -3,5 +3,5 @@
Images and sounds are distributed under the terms of the GNU FDL licence.
Source:
-Copyright 2004-2009 Andrey Korotaev <unC0Rr@gmail.com>
-Copyright 2006-2008 Igor Ulyanov aka Displacer <iulyanov@gmail.com>
\ No newline at end of file
+Copyright 2004-2010 Andrey Korotaev <unC0Rr@gmail.com>
+Portions copyright 2006-2008 Igor Ulyanov aka Displacer <iulyanov@gmail.com>
--- a/gameServer/Utils.hs Sat Nov 13 14:40:06 2010 +0100
+++ b/gameServer/Utils.hs Sat Nov 13 09:36:26 2010 -0500
@@ -95,6 +95,8 @@
protoNumber2ver 30 = "0.9.13-dev"
protoNumber2ver 31 = "0.9.13"
protoNumber2ver 32 = "0.9.14-dev"
+protoNumber2ver 33 = "0.9.14"
+protoNumber2ver 34 = "0.9.15-dev"
protoNumber2ver _ = "Unknown"
askFromConsole :: String -> IO String
--- a/misc/uSHA.pas Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-(*
- * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2010 Andrey Korotaev <unC0Rr@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *)
-
-{$INCLUDE "options.inc"}
-
-unit uSHA;
-interface
-uses SDLh;
-
-type TSHA1Context = packed record
- H: array[0..4] of LongWord;
- Length, CurrLength: Int64;
- Buf: array[0..63] of byte;
- end;
- TSHA1Digest = array[0..4] of LongWord;
-
-procedure SHA1Init(var Context: TSHA1Context);
-procedure SHA1Update(var Context: TSHA1Context; Buf: PByteArray; Length: LongWord);
-procedure SHA1UpdateLongwords(var Context: TSHA1Context; Buf: PLongwordArray; Length: LongWord);
-function SHA1Final(Context: TSHA1Context): TSHA1Digest;
-
-implementation
-
-function rol(x: LongWord; y: Byte): LongWord;
-begin
- rol:= (X shl y) or (X shr (32 - y))
-end;
-
-function Ft(t, b, c, d: LongWord): LongWord;
-begin
-case t of
- 0..19: Ft := (b and c) or ((not b) and d);
- 20..39: Ft := b xor c xor d;
- 40..59: Ft := (b and c) or (b and d) or (c and d);
- else Ft := b xor c xor d;
- end;
-end;
-
-function Kt(t: Byte): LongWord;
-begin
- case t of
- 0..19: Kt := $5A827999;
- 20..39: Kt := $6ED9EBA1;
- 40..59: Kt := $8F1BBCDC;
- else
- Kt := $CA62C1D6
- end;
-end;
-
-
-procedure SHA1Hash(var Context: TSHA1Context);
-var S: array[0..4 ] of LongWord;
- W: array[0..79] of LongWord;
- i, t: LongWord;
-begin
-{$HINTS OFF}
-move(Context.H, S, sizeof(S));
-{$HINTS ON}
-for i:= 0 to 15 do
- SDLNet_Write32(PLongWordArray(@Context.Buf)^[i], @W[i]);
-
-for i := 16 to 79 do
- W[i] := rol(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1);
-
-for i := 0 to 79 do
- begin
- t:= rol(S[0], 5) + Ft(i, S[1], S[2], S[3]) + S[4] + W[i] + Kt(i);
- S[4]:= S[3];
- S[3]:= S[2];
- S[2]:= rol(S[1], 30);
- S[1]:= S[0];
- S[0]:= t
- end;
-
-for i := 0 to 4 do
- Context.H[i]:= Context.H[i] + S[i]
-end;
-
-procedure SHA1Init(var Context: TSHA1Context);
-begin
- with Context do
- begin
- Length := 0;
- CurrLength:= 0;
- H[0]:= $67452301;
- H[1]:= $EFCDAB89;
- H[2]:= $98BADCFE;
- H[3]:= $10325476;
- H[4]:= $C3D2E1F0
- end
-end;
-
-procedure SHA1Update(var Context: TSHA1Context; Buf: PByteArray; Length: LongWord);
-var i: Longword;
-begin
-for i:= 0 to Pred(Length) do
- begin
- Context.Buf[Context.CurrLength]:= Buf^[i];
- inc(Context.CurrLength);
- if Context.CurrLength = 64 then
- begin
- SHA1Hash(Context);
- inc(Context.Length, 512);
- Context.CurrLength:= 0
- end
- end
-end;
-
-procedure SHA1UpdateLongwords(var Context: TSHA1Context; Buf: PLongwordArray; Length: LongWord);
-var i: Longword;
-begin
- for i:= 0 to Pred(Length div 4) do
- begin
- SDLNet_Write32(Buf^[i], @Context.Buf[Context.CurrLength]);
- inc(Context.CurrLength, 4);
- if Context.CurrLength = 64 then
- begin
- SHA1Hash(Context);
- inc(Context.Length, 512);
- Context.CurrLength:= 0
- end
- end
-end;
-
-function SHA1Final(Context: TSHA1Context): TSHA1Digest;
-var i: LongWord;
-begin
- Context.Length:= Context.Length + Context.CurrLength shl 3;
- Context.Buf[Context.CurrLength]:= $80;
- inc(Context.CurrLength);
-
- if Context.CurrLength > 56 then
- begin
- FillChar(Context.Buf[Context.CurrLength], 64 - Context.CurrLength, 0);
- Context.CurrLength:= 64;
- SHA1Hash(Context);
- Context.CurrLength:=0
- end;
-
- FillChar(Context.Buf[Context.CurrLength], 56 - Context.CurrLength, 0);
-
- for i:= 56 to 63 do
- Context.Buf[i] := (Context.Length shr ((63 - i) * 8)) and $FF;
- SHA1Hash(Context);
- for i:= 0 to 4 do
- SHA1Final[i]:= Context.H[i];
-
- FillChar(Context, sizeof(Context), 0)
-end;
-
-end.
--- a/share/hedgewars/Data/Locale/hedgewars_en.ts Sat Nov 13 14:40:06 2010 +0100
+++ b/share/hedgewars/Data/Locale/hedgewars_en.ts Sat Nov 13 09:36:26 2010 -0500
@@ -42,7 +42,7 @@
</message>
<message>
<source>When this option is enabled selecting a game scheme will auto-select a weapon (and viceversa)</source>
- <translation type="unfinished"></translation>
+ <translation>When this option is enabled selecting a game scheme will auto-select a weapon (and vice versa)</translation>
</message>
</context>
<context>
@@ -92,17 +92,17 @@
</message>
<message>
<source>DefaultTeam</source>
- <translation type="unfinished"></translation>
+ <translation>Default Team</translation>
</message>
<message>
<source>Hedgewars Demo File</source>
<comment>File Types</comment>
- <translation type="unfinished"></translation>
+ <translation>Hedgewars Demo File</translation>
</message>
<message>
<source>Hedgewars Save File</source>
<comment>File Types</comment>
- <translation type="unfinished"></translation>
+ <translation>Hedgewars Save File</translation>
</message>
</context>
<context>
@@ -156,7 +156,7 @@
</message>
<message>
<source>Type</source>
- <translation type="unfinished">Type</translation>
+ <translation>Type</translation>
</message>
<message>
<source>Small tunnels</source>
@@ -347,19 +347,19 @@
</message>
<message>
<source>Details</source>
- <translation type="unfinished"></translation>
+ <translation>Details</translation>
</message>
<message>
<source>Health graph</source>
- <translation type="unfinished"></translation>
+ <translation>Health graph</translation>
</message>
<message>
<source>Ranking</source>
- <translation type="unfinished"></translation>
+ <translation>Ranking</translation>
</message>
<message>
<source>The best shot award was won by <b>%1</b> with <b>%2</b> pts.</source>
- <translation type="unfinished"></translation>
+ <translation>The best shot award was won by <b>%1</b> with <b>%2</b> pts.</translation>
</message>
<message numerus="yes">
<source>The best killer is <b>%1</b> with <b>%2</b> kills in a turn.</source>
@@ -377,30 +377,28 @@
</message>
<message numerus="yes">
<source>(%1 kill)</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
+ <translation>
+ <numerusform>(%1 kill)</numerusform>
+ <numerusform>(%1 kills)</numerusform>
</translation>
</message>
<message numerus="yes">
<source><b>%1</b> thought it's good to shoot his own hedgehogs with <b>%2</b> pts.</source>
<translation type="unfinished">
<numerusform></numerusform>
- <numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
<source><b>%1</b> killed <b>%2</b> of his own hedgehogs.</source>
<translation type="unfinished">
<numerusform></numerusform>
- <numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
<source><b>%1</b> was scared and skipped turn <b>%2</b> times.</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
+ <translation>
+ <numerusform><b>%1</b> was scared and skipped turn <b>%2</b> time.</numerusform>
+ <numerusform><b>%1</b> was scared and skipped turn <b>%2</b> times.</numerusform>
</translation>
</message>
</context>
@@ -724,7 +722,7 @@
</message>
<message>
<source>You can't edit teams from team selection. Go back to main menu to add, edit or delete teams.</source>
- <translation type="unfinished"></translation>
+ <translation>You can't edit teams from team selection. Go back to main menu to add, edit or delete teams.</translation>
</message>
</context>
<context>
@@ -1549,7 +1547,7 @@
</message>
<message>
<source>Associate file extensions</source>
- <translation type="unfinished"></translation>
+ <translation>Associate file extensions</translation>
</message>
</context>
<context>
@@ -1870,7 +1868,7 @@
</message>
<message>
<source>slot 10</source>
- <translation type="unfinished">slot 10</translation>
+ <translation>slot 10</translation>
</message>
</context>
<context>
--- a/share/hedgewars/Data/Locale/hedgewars_es.ts Sat Nov 13 14:40:06 2010 +0100
+++ b/share/hedgewars/Data/Locale/hedgewars_es.ts Sat Nov 13 09:36:26 2010 -0500
@@ -42,7 +42,7 @@
</message>
<message>
<source>When this option is enabled selecting a game scheme will auto-select a weapon (and viceversa)</source>
- <translation type="unfinished"></translation>
+ <translation>Cuando esta opción esté activada escoger un modo de juego escogerá el set de armas correspondiente (y viceversa)</translation>
</message>
</context>
<context>
@@ -670,12 +670,12 @@
<message>
<source>You can find your Hedgewars configuration files under "Library/Application Support/Hedgewars" in your home directory. Create backups or take the files with you, but don't edit them by hand.</source>
<comment>Tips</comment>
- <translation type="unfinished"></translation>
+ <translation>Puedes encontrar los archivos de configuración del juego en la carpeta "Library/Application Support/Hedgewars" dentro de tu directorio personal. Puedes hacer copias de seguridad de los mismos o copiarlos a otro ordenador si lo deseas, pero no intentes editarlos a mano para evitar posibles pérdidas de datos.</translation>
</message>
<message>
<source>You can find your Hedgewars configuration files under ".hedgewars" in your home directory. Create backups or take the files with you, but don't edit them by hand.</source>
<comment>Tips</comment>
- <translation type="unfinished"></translation>
+ <translation>Puedes encontrar los archivos de configuración del juego en la carpeta ".hedgewars" dentro de tu directorio personal. Puedes hacer copias de seguridad de los mismos o copiarlos a otro ordenador si lo deseas, pero no intentes editarlos a mano para evitar posibles pérdidas de datos.</translation>
</message>
</context>
<context>
@@ -1415,7 +1415,7 @@
</message>
<message>
<source>Tip: </source>
- <translation>Consejo:</translation>
+ <translation>Consejo: </translation>
</message>
<message>
<source>This development build is 'work in progress' and may not be compatible with other versions of the game. Some features might be broken or incomplete. Use at your own risk!</source>
@@ -1441,11 +1441,11 @@
</message>
<message>
<source>Sudden Death Health Decrease</source>
- <translation>Decremento de vida en muerte súbita</translation>
+ <translation>Disminución de vida por turno en muerte súbita</translation>
</message>
<message>
<source>Bind schemes and weapons</source>
- <translation type="unfinished"></translation>
+ <translation>Enlazar modos y sets</translation>
</message>
</context>
<context>
--- a/share/hedgewars/Data/Locale/hedgewars_pl.ts Sat Nov 13 14:40:06 2010 +0100
+++ b/share/hedgewars/Data/Locale/hedgewars_pl.ts Sat Nov 13 09:36:26 2010 -0500
@@ -43,7 +43,7 @@
</message>
<message>
<source>When this option is enabled selecting a game scheme will auto-select a weapon (and viceversa)</source>
- <translation type="unfinished"></translation>
+ <translation>Kiedy ta opcja jest włączona, wybór ustawnień gry zmienia uzbrojenie na odpowiadające (i vice versa)</translation>
</message>
</context>
<context>
@@ -674,7 +674,7 @@
<message>
<source>You can find your Hedgewars configuration files under "My Documents\Hedgewars". Create backups or take the files with you, but don't edit them by hand.</source>
<comment>Tips</comment>
- <translation>Swoje zespoły i konfigurację gry znajdzie4sz w folderze "Moje Dokumenty\Hedgewars". Twórz regularnie kopie zapasowe ale nie edytuj tych plików własnoręcznie.</translation>
+ <translation>Swoje zespoły i konfigurację gry znajdziesz w folderze "Moje Dokumenty\Hedgewars". Twórz regularnie kopie zapasowe, ale nie edytuj tych plików własnoręcznie.</translation>
</message>
<message>
<source>You can find your Hedgewars configuration files under "Hedgewars" in your home directory. Create backups or take the files with you, but don't edit them by hand.</source>
@@ -694,12 +694,12 @@
<message>
<source>You can find your Hedgewars configuration files under "Library/Application Support/Hedgewars" in your home directory. Create backups or take the files with you, but don't edit them by hand.</source>
<comment>Tips</comment>
- <translation type="unfinished"></translation>
+ <translation>Swoje zespoły i konfigurację gry znajdziesz w folderze "Biblioteka/Wsparcie aplikacji/Hedgewars" w towim katalogu domowym. Twórz regularnie kopie zapasowe, ale nie edytuj tych plików własnoręcznie.</translation>
</message>
<message>
<source>You can find your Hedgewars configuration files under ".hedgewars" in your home directory. Create backups or take the files with you, but don't edit them by hand.</source>
<comment>Tips</comment>
- <translation type="unfinished"></translation>
+ <translation>Swoje zespoły i konfigurację gry znajdziesz w folderze ".hedgewars" w twoim katalogu domowym. Twórz regularnie kopie zapasowe, ale nie edytuj tych plików własnoręcznie.</translation>
</message>
</context>
<context>
@@ -1474,7 +1474,7 @@
</message>
<message>
<source>Bind schemes and weapons</source>
- <translation type="unfinished"></translation>
+ <translation>Połącz ustawienia gry z uzbrojeniem</translation>
</message>
</context>
<context>
--- a/share/hedgewars/Data/Locale/hedgewars_ru.ts Sat Nov 13 14:40:06 2010 +0100
+++ b/share/hedgewars/Data/Locale/hedgewars_ru.ts Sat Nov 13 09:36:26 2010 -0500
@@ -376,8 +376,8 @@
<source>A total of <b>%1</b> hedgehog(s) were killed during this round.</source>
<translation>
<numerusform>Всего <b>%1</b> ёж был убит в течение игры.</numerusform>
- <numerusform>Всего <b>%1</b> ёжа был убит в течение игры.</numerusform>
- <numerusform>Всего <b>%1</b> ёжей был убит в течение игры.</numerusform>
+ <numerusform>Всего <b>%1</b> ежа были убиты в течение игры.</numerusform>
+ <numerusform>Всего <b>%1</b> ежей были убиты в течение игры.</numerusform>
</translation>
</message>
<message numerus="yes">
--- a/share/hedgewars/Data/Maps/Basketball/map.lua Sat Nov 13 14:40:06 2010 +0100
+++ b/share/hedgewars/Data/Maps/Basketball/map.lua Sat Nov 13 09:36:26 2010 -0500
@@ -15,7 +15,7 @@
["en"] = "Not So Friendly Match",
["de"] = "Kein-so-Freundschaftsspiel",
["es"] = "Partido no-tan-amistoso",
- ["pl"] = "Mecz Nie-Taki-Towarzyski",
+ ["pl"] = "Mecz Nie-Do-Końca Towarzyski",
["pt_PT"] = "Partida não muito amigável",
["sk"] = "Nie tak celkom priateľský zápas",
["sv"] = "En inte så vänlig match",
--- a/share/hedgewars/Data/Maps/Knockball/map.lua Sat Nov 13 14:40:06 2010 +0100
+++ b/share/hedgewars/Data/Maps/Knockball/map.lua Sat Nov 13 09:36:26 2010 -0500
@@ -15,7 +15,7 @@
["en"] = "Not So Friendly Match",
["de"] = "Kein-so-Freundschaftsspiel",
["es"] = "Partido no-tan-amistoso",
- ["pl"] = "Mecz Nie-Taki-Towarzyski",
+ ["pl"] = "Mecz Nie-Do-Końca Towarzyski",
["pt_PT"] = "Partida não muito amigável",
["sk"] = "Nie tak celkom priateľký zápas",
["sv"] = "En inte så vänlig match",
--- a/tools/MissionsEditor/MissionsEditor.pro Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-# -------------------------------------------------
-# Project created by QtCreator 2009-10-21T19:51:57
-# -------------------------------------------------
-TARGET = MissionsEditor
-TEMPLATE = app
-SOURCES += main.cpp \
- editor.cpp \
- teamedit.cpp \
- hedgehogedit.cpp
-HEADERS += editor.h \
- teamedit.h \
- hedgehogedit.h
-FORMS += editor.ui \
- teamedit.ui \
- hedgehogedit.ui
--- a/tools/MissionsEditor/editor.cpp Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-#include <QtGui>
-#include <QObject>
-#include "editor.h"
-#include "ui_editor.h"
-
-editor::editor(QWidget *parent)
- : QMainWindow(parent), ui(new Ui::editor)
-{
- ui->setupUi(this);
-
- reset();
-
- cbFlags
- << ui->cbForts
- << ui->cbMultiWeapon
- << ui->cbSolidLand
- << ui->cbBorder
- << ui->cbDivideTeams
- << ui->cbLowGravity
- << ui->cbLaserSight
- << ui->cbInvulnerable
- << ui->cbMines
- << ui->cbVampiric
- << ui->cbKarma
- << ui->cbArtillery
- << ui->cbOneClanMode
- ;
-}
-
-editor::~editor()
-{
- delete ui;
-}
-
-void editor::reset()
-{
- for(int i = 0; i < 6; ++i)
- {
- ui->twTeams->setTabEnabled(i, false);
- ui->twTeams->widget(i)->setEnabled(false);
- }
-}
-
-void editor::on_actionLoad_triggered()
-{
- QString fileName = QFileDialog::getOpenFileName(this, QString(), QString(), "Missions (*.txt)");
-
- if(!fileName.isEmpty())
- load(fileName);
-}
-
-void editor::load(const QString & fileName)
-{
- int currTeam = -1;
-
- QFile file(fileName);
-
- if(!file.open(QIODevice::ReadOnly))
- {
- QMessageBox::warning(this, "File error", "No such file");
- return ;
- }
-
- QTextStream stream(&file);
-
- while(!stream.atEnd())
- {
- QString line = stream.readLine();
- if (line.startsWith("seed"))
- ui->leSeed->setText(line.mid(5));
- else
- if (line.startsWith("map"))
- ui->leMap->setText(line.mid(4));
- else
- if (line.startsWith("theme"))
- ui->leTheme->setText(line.mid(6));
- else
- if (line.startsWith("$turntime"))
- ui->sbTurnTime->setValue(line.mid(10).toInt());
- else
- if (line.startsWith("$casefreq"))
- ui->sbCrateDrops->setValue(line.mid(10).toInt());
- else
- if (line.startsWith("$damagepct"))
- ui->sbDamageModifier->setValue(line.mid(11).toInt());
- else
- if (line.startsWith("$gmflags"))
- {
- quint32 flags = line.mid(9).toInt();
- foreach(QCheckBox * cb, cbFlags)
- {
- cb->setChecked(flags & 1);
- flags >>= 1;
- }
- }
- else
- if (line.startsWith("addteam") && (currTeam < 5))
- {
- ++currTeam;
- ui->twTeams->setTabEnabled(currTeam, true);
- ui->twTeams->widget(currTeam)->setEnabled(true);
-
- line = line.mid(8);
- int spacePos = line.indexOf('\x20');
- quint32 teamColor = line.left(spacePos).toUInt();
- QString teamName = line.mid(spacePos + 1);
-
- TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
- te->setTeam(teamName, teamColor);
- }
- else
- if (line.startsWith("addhh") && (currTeam >= 0))
- {
- line = line.mid(6);
- quint32 level = line.left(1).toUInt();
- line = line.mid(2);
- int spacePos = line.indexOf('\x20');
- quint32 health = line.left(spacePos).toUInt();
- QString hhName = line.mid(spacePos + 1);
-
- TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
- te->addHedgehog(level, health, hhName);
- }
- else
- if (line.startsWith("fort") && (currTeam >= 0))
- {
- TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
- te->setFort(line.mid(5));
- }
- else
- if (line.startsWith("hat") && (currTeam >= 0))
- {
- TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
- te->setLastHHHat(line.mid(4));
- }
- else
- if (line.startsWith("hhcoords") && (currTeam >= 0))
- {
- line = line.mid(9);
- int spacePos = line.indexOf('\x20');
- int x = line.left(spacePos).toUInt();
- int y = line.mid(spacePos + 1).toInt();
-
- TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
- te->setLastHHCoords(x, y);
- }
- else
- if (line.startsWith("grave") && (currTeam >= 0))
- {
- TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
- te->setGrave(line.mid(6));
- }
- else
- if (line.startsWith("voicepack") && (currTeam >= 0))
- {
- TeamEdit * te = qobject_cast<TeamEdit *>(ui->twTeams->widget(currTeam));
- te->setVoicepack(line.mid(10));
- }
- }
-}
--- a/tools/MissionsEditor/editor.h Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-#ifndef EDITOR_H
-#define EDITOR_H
-
-#include <QtGui/QMainWindow>
-
-namespace Ui
-{
- class editor;
-}
-
-class QCheckBox;
-
-class editor : public QMainWindow
-{
- Q_OBJECT
-
-public:
- editor(QWidget *parent = 0);
- ~editor();
-
-private:
- Ui::editor *ui;
- QList<QCheckBox *> cbFlags;
-
- void load(const QString & fileName);
- void reset();
-
-private slots:
- void on_actionLoad_triggered();
-};
-
-#endif // EDITOR_H
--- a/tools/MissionsEditor/editor.ui Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,406 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>editor</class>
- <widget class="QMainWindow" name="editor">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>419</width>
- <height>476</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>editor</string>
- </property>
- <widget class="QWidget" name="centralWidget">
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QTabWidget" name="tabWidget">
- <property name="currentIndex">
- <number>2</number>
- </property>
- <widget class="QWidget" name="tab_4">
- <attribute name="title">
- <string>Mission</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_3">
- <item row="0" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Name</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="leName"/>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>Description</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QTextEdit" name="teDescription"/>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string>Map</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>Theme</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="leMap"/>
- </item>
- <item row="3" column="1">
- <widget class="QLineEdit" name="leTheme"/>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab">
- <attribute name="title">
- <string>Options</string>
- </attribute>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <widget class="QCheckBox" name="cbInvulnerable">
- <property name="text">
- <string>Invulnerable</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbArtillery">
- <property name="text">
- <string>Artillery</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbSolidLand">
- <property name="text">
- <string>SolidLand</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbVampiric">
- <property name="text">
- <string>Vampiric</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbOneClanMode">
- <property name="text">
- <string>OneClanMode</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbKarma">
- <property name="text">
- <string>Karma</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbLaserSight">
- <property name="text">
- <string>LaserSight</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbBorder">
- <property name="text">
- <string>Border</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbLowGravity">
- <property name="text">
- <string>LowGravity</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbMines">
- <property name="text">
- <string>Mines</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbDivideTeams">
- <property name="text">
- <string>DivideTeams</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbMultiWeapon">
- <property name="text">
- <string>MultiWeapon</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbForts">
- <property name="text">
- <string>Forts</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="0" column="0">
- <widget class="QLabel" name="labelSeed">
- <property name="text">
- <string>Seed</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="leSeed">
- <property name="text">
- <string>foobar</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Damage Modifier</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Turn Time</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Crate Drops</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="1" column="1">
- <widget class="QSpinBox" name="sbDamageModifier">
- <property name="minimum">
- <number>10</number>
- </property>
- <property name="maximum">
- <number>300</number>
- </property>
- <property name="singleStep">
- <number>15</number>
- </property>
- <property name="value">
- <number>100</number>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QSpinBox" name="sbTurnTime">
- <property name="minimum">
- <number>1000</number>
- </property>
- <property name="maximum">
- <number>100000</number>
- </property>
- <property name="singleStep">
- <number>5000</number>
- </property>
- <property name="value">
- <number>45000</number>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QSpinBox" name="sbCrateDrops">
- <property name="maximum">
- <number>3</number>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_3">
- <attribute name="title">
- <string>Teams</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_4">
- <item row="0" column="0">
- <widget class="QPushButton" name="pbAddTeam">
- <property name="text">
- <string>Add Team</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="1" column="0" colspan="2">
- <widget class="QTabWidget" name="twTeams">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="currentIndex">
- <number>0</number>
- </property>
- <widget class="TeamEdit" name="tab_5">
- <attribute name="title">
- <string>Team 1</string>
- </attribute>
- </widget>
- <widget class="TeamEdit" name="tab_6">
- <attribute name="title">
- <string>Team 2</string>
- </attribute>
- </widget>
- <widget class="TeamEdit" name="tab_7">
- <attribute name="title">
- <string>Team 3</string>
- </attribute>
- </widget>
- <widget class="TeamEdit" name="tab_8">
- <attribute name="title">
- <string>Team 4</string>
- </attribute>
- </widget>
- <widget class="TeamEdit" name="tab_9">
- <attribute name="title">
- <string>Team 5</string>
- </attribute>
- </widget>
- <widget class="TeamEdit" name="tab_10">
- <attribute name="title">
- <string>Team 6</string>
- </attribute>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_2">
- <attribute name="title">
- <string>Triggers</string>
- </attribute>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QMenuBar" name="menuBar">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>419</width>
- <height>28</height>
- </rect>
- </property>
- <widget class="QMenu" name="menuFile">
- <property name="title">
- <string>&File</string>
- </property>
- <addaction name="actionLoad"/>
- <addaction name="actionSave"/>
- <addaction name="separator"/>
- <addaction name="actionQuit"/>
- </widget>
- <addaction name="menuFile"/>
- </widget>
- <widget class="QStatusBar" name="statusBar"/>
- <action name="actionLoad">
- <property name="text">
- <string>&Load...</string>
- </property>
- </action>
- <action name="actionSave">
- <property name="text">
- <string>&Save</string>
- </property>
- </action>
- <action name="actionQuit">
- <property name="text">
- <string>&Quit</string>
- </property>
- </action>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <customwidgets>
- <customwidget>
- <class>TeamEdit</class>
- <extends>QWidget</extends>
- <header>teamedit.h</header>
- <container>1</container>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
--- a/tools/MissionsEditor/hedgehogedit.cpp Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#include "hedgehogedit.h"
-#include "ui_hedgehogedit.h"
-
-HedgehogEdit::HedgehogEdit(QWidget *parent) :
- QFrame(parent),
- m_ui(new Ui::HedgehogEdit)
-{
- m_ui->setupUi(this);
-}
-
-HedgehogEdit::~HedgehogEdit()
-{
- delete m_ui;
-}
-
-void HedgehogEdit::changeEvent(QEvent *e)
-{
- QWidget::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- m_ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
-void HedgehogEdit::setHedgehog(quint32 level, quint32 health, const QString & name)
-{
- m_ui->cbLevel->setCurrentIndex(level);
- m_ui->sbHealth->setValue(health);
- m_ui->leName->setText(name);
-}
-
-void HedgehogEdit::setHat(const QString & name)
-{
- m_ui->leHat->setText(name);
-}
-
-void HedgehogEdit::setCoordinates(int x, int y)
-{
- m_ui->pbCoordinates->setText(QString("%1x%2").arg(x).arg(y));
-}
--- a/tools/MissionsEditor/hedgehogedit.h Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-#ifndef HEDGEHOGEDIT_H
-#define HEDGEHOGEDIT_H
-
-#include <QtGui/QFrame>
-
-namespace Ui {
- class HedgehogEdit;
-}
-
-class HedgehogEdit : public QFrame {
- Q_OBJECT
-public:
- HedgehogEdit(QWidget *parent = 0);
- ~HedgehogEdit();
-
- void setHedgehog(quint32 level = 0, quint32 health = 100, const QString & name = QString());
- void setHat(const QString & name);
- void setCoordinates(int x, int y);
-
-protected:
- void changeEvent(QEvent *e);
-
-private:
- Ui::HedgehogEdit *m_ui;
-};
-
-#endif // HEDGEHOGEDIT_H
--- a/tools/MissionsEditor/hedgehogedit.ui Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>HedgehogEdit</class>
- <widget class="QFrame" name="HedgehogEdit">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>300</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <property name="margin">
- <number>3</number>
- </property>
- <property name="spacing">
- <number>3</number>
- </property>
- <item row="0" column="1" colspan="2">
- <widget class="QLineEdit" name="leName"/>
- </item>
- <item row="0" column="3">
- <widget class="QToolButton" name="toolButton">
- <property name="text">
- <string>X</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="cbLevel">
- <property name="currentIndex">
- <number>0</number>
- </property>
- <item>
- <property name="text">
- <string>Human</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Level 5</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Level 4</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Level 3</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Level 2</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Level 1</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QLineEdit" name="leHat"/>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Name</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Level</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QSpinBox" name="sbHealth">
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="maximum">
- <number>300</number>
- </property>
- <property name="value">
- <number>100</number>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Health</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Hat</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QPushButton" name="pbCoordinates">
- <property name="text">
- <string>Random</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>Place</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
--- a/tools/MissionsEditor/main.cpp Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-#include <QtGui/QApplication>
-#include "editor.h"
-
-int main(int argc, char *argv[])
-{
- QApplication a(argc, argv);
- editor w;
- w.show();
- return a.exec();
-}
--- a/tools/MissionsEditor/teamedit.cpp Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-#include "teamedit.h"
-#include "ui_teamedit.h"
-
-TeamEdit::TeamEdit(QWidget *parent) :
- QWidget(parent),
- m_ui(new Ui::TeamEdit)
-{
- m_ui->setupUi(this);
-
- reset();
-}
-
-TeamEdit::~TeamEdit()
-{
- delete m_ui;
-}
-
-void TeamEdit::changeEvent(QEvent *e)
-{
- QWidget::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- m_ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
-void TeamEdit::reset()
-{
- QLayout * l = m_ui->scrollArea->widget()->layout();
-
- for(int i = 0; i < 8; ++i)
- l->itemAt(i)->widget()->setVisible(false);
-}
-
-void TeamEdit::setTeam(const QString & teamName, quint32 color)
-{
- m_ui->leTeamName->setText(teamName);
-}
-
-void TeamEdit::setFort(const QString & name)
-{
- m_ui->leFort->setText(name);
-}
-
-void TeamEdit::setGrave(const QString & name)
-{
- m_ui->leGrave->setText(name);
-}
-
-void TeamEdit::setVoicepack(const QString & name)
-{
- m_ui->leVoicepack->setText(name);
-}
-
-void TeamEdit::addHedgehog(quint32 level, quint32 health, const QString & name)
-{
- QLayout * l = m_ui->scrollArea->widget()->layout();
-
- int i = 0;
- while((i < 8) && (l->itemAt(i)->widget()->isVisible())) ++i;
-
- if(i < 8)
- {
- HedgehogEdit * he = qobject_cast<HedgehogEdit *>(l->itemAt(i)->widget());
- he->setHedgehog(level, health, name);
- l->itemAt(i)->widget()->setVisible(true);
- }
-}
-
-void TeamEdit::setLastHHHat(const QString & name)
-{
- QLayout * l = m_ui->scrollArea->widget()->layout();
-
- int i = 0;
- while((i < 8) && (l->itemAt(i)->widget()->isVisible())) ++i;
-
- --i;
-
- HedgehogEdit * he = qobject_cast<HedgehogEdit *>(l->itemAt(i)->widget());
- he->setHat(name);
-}
-
-void TeamEdit::setLastHHCoords(int x, int y)
-{
- QLayout * l = m_ui->scrollArea->widget()->layout();
-
- int i = 0;
- while((i < 8) && (l->itemAt(i)->widget()->isVisible())) ++i;
-
- --i;
-
- HedgehogEdit * he = qobject_cast<HedgehogEdit *>(l->itemAt(i)->widget());
- he->setCoordinates(x ,y);
-}
-
--- a/tools/MissionsEditor/teamedit.h Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-#ifndef TEAMEDIT_H
-#define TEAMEDIT_H
-
-#include <QtGui/QWidget>
-
-namespace Ui {
- class TeamEdit;
-}
-
-class TeamEdit : public QWidget {
- Q_OBJECT
-public:
- TeamEdit(QWidget *parent = 0);
- ~TeamEdit();
-
- void reset();
- void setTeam(const QString & teamName = QString(), quint32 color = 0xdd0000);
- void addHedgehog(quint32 level = 0, quint32 health = 100, const QString & name = QString());
- void setFort(const QString & name);
- void setGrave(const QString & name);
- void setLastHHHat(const QString & name);
- void setLastHHCoords(int x, int y);
- void setVoicepack(const QString & name);
-protected:
- void changeEvent(QEvent *e);
-
-private:
- Ui::TeamEdit *m_ui;
-};
-
-#endif // TEAMEDIT_H
--- a/tools/MissionsEditor/teamedit.ui Sat Nov 13 14:40:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>TeamEdit</class>
- <widget class="QWidget" name="TeamEdit">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>450</width>
- <height>414</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="0" column="0" colspan="2">
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Team name</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="leTeamName"/>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="cbColor"/>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Colour</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Fort</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Grave</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="leFort"/>
- </item>
- <item row="3" column="1">
- <widget class="QLineEdit" name="leGrave"/>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>Voicepack</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QLineEdit" name="leVoicepack"/>
- </item>
- </layout>
- </item>
- <item row="1" column="0" rowspan="3">
- <widget class="QScrollArea" name="scrollArea">
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>301</width>
- <height>235</height>
- </rect>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>3</number>
- </property>
- <property name="margin">
- <number>4</number>
- </property>
- <item>
- <widget class="HedgehogEdit" name="widget" native="true"/>
- </item>
- <item>
- <widget class="HedgehogEdit" name="widget_3" native="true"/>
- </item>
- <item>
- <widget class="HedgehogEdit" name="widget_4" native="true"/>
- </item>
- <item>
- <widget class="HedgehogEdit" name="widget_5" native="true"/>
- </item>
- <item>
- <widget class="HedgehogEdit" name="widget_6" native="true"/>
- </item>
- <item>
- <widget class="HedgehogEdit" name="widget_7" native="true"/>
- </item>
- <item>
- <widget class="HedgehogEdit" name="widget_8" native="true"/>
- </item>
- <item>
- <widget class="HedgehogEdit" name="widget_2" native="true"/>
- </item>
- <item>
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>120</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QPushButton" name="pbAddHedgehog">
- <property name="text">
- <string>Add hedgehog</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>117</width>
- <height>125</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="3" column="1">
- <widget class="QPushButton" name="pbDeleteTeam">
- <property name="text">
- <string>Delete team</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>HedgehogEdit</class>
- <extends>QWidget</extends>
- <header>hedgehogedit.h</header>
- <container>1</container>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>