# HG changeset patch # User Xeli # Date 1308902079 -7200 # Node ID 479b4108789ad471d73a9f799e720f4d13c95353 # Parent bc8560452143ba0f50d706b446134335c2b029ff# Parent 0bb518ad2da8a30ce487f26cae767b6cd6c1b64b merge diff -r bc8560452143 -r 479b4108789a QTfrontend/CMakeLists.txt --- a/QTfrontend/CMakeLists.txt Fri Jun 24 09:36:59 2011 +0200 +++ b/QTfrontend/CMakeLists.txt Fri Jun 24 09:54:39 2011 +0200 @@ -114,6 +114,7 @@ qaspectratiolayout.cpp drawmapwidget.cpp drawmapscene.cpp + themesmodel.cpp ) #xfire integration @@ -195,6 +196,7 @@ qaspectratiolayout.h drawmapwidget.h drawmapscene.h + themesmodel.h ) set(hwfr_hdrs diff -r bc8560452143 -r 479b4108789a QTfrontend/game.cpp --- a/QTfrontend/game.cpp Fri Jun 24 09:36:59 2011 +0200 +++ b/QTfrontend/game.cpp Fri Jun 24 09:54:39 2011 +0200 @@ -20,6 +20,7 @@ #include #include #include +#include #include "game.h" #include "hwconsts.h" @@ -110,7 +111,7 @@ HWProto::addStringToBuffer(teamscfg, "TL"); HWProto::addStringToBuffer(teamscfg, QString("etheme %1") - .arg((Themes->size() > 0) ? Themes->at(rand() % Themes->size()) : "steel")); + .arg((themesModel->rowCount() > 0) ? themesModel->index(rand() % themesModel->rowCount()).data().toString() : "steel")); HWProto::addStringToBuffer(teamscfg, "eseed " + QUuid::createUuid().toString()); HWNamegen namegen; diff -r bc8560452143 -r 479b4108789a QTfrontend/hwconsts.cpp.in --- a/QTfrontend/hwconsts.cpp.in Fri Jun 24 09:36:59 2011 +0200 +++ b/QTfrontend/hwconsts.cpp.in Fri Jun 24 09:54:39 2011 +0200 @@ -27,7 +27,7 @@ QDir * cfgdir = new QDir(); QDir * datadir = new QDir(); -QStringList * Themes; +ThemesModel * themesModel; QStringList * mapList; QStringList * scriptList; diff -r bc8560452143 -r 479b4108789a QTfrontend/hwconsts.h --- a/QTfrontend/hwconsts.h Fri Jun 24 09:36:59 2011 +0200 +++ b/QTfrontend/hwconsts.h Fri Jun 24 09:54:39 2011 +0200 @@ -22,6 +22,8 @@ #include #include +#include "themesmodel.h" + extern QString * cProtoVer; extern QString * cVersionString; extern QString * cDataDir; @@ -37,7 +39,9 @@ extern int cMaxTeams; extern int cMinServerVersion; -extern QStringList * Themes; +class QStringListModel; + +extern ThemesModel * themesModel; extern QStringList * mapList; extern QStringList * scriptList; diff -r bc8560452143 -r 479b4108789a QTfrontend/main.cpp --- a/QTfrontend/main.cpp Fri Jun 24 09:36:59 2011 +0200 +++ b/QTfrontend/main.cpp Fri Jun 24 09:54:39 2011 +0200 @@ -25,6 +25,7 @@ #include #include #include +#include #include "hwform.h" #include "hwconsts.h" @@ -387,23 +388,49 @@ { QDir dir; dir.setPath(cfgdir->absolutePath() + "/Data/Themes"); - Themes = new QStringList(); - Themes->append(dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot)); + + QStringList themes; + themes.append(dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot)); dir.setPath(datadir->absolutePath() + "/Themes"); - Themes->append(dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot)); -qDebug() << *Themes; - for(int i = Themes->size() - 1; i >= 0; --i) + themes.append(dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot)); + + QList > icons; + + for(int i = themes.size() - 1; i >= 0; --i) { QFile tmpfile; - tmpfile.setFileName(QString("%1/Data/Themes/%2/icon.png").arg(cfgdir->absolutePath()).arg(Themes->at(i))); + tmpfile.setFileName(QString("%1/Data/Themes/%2/icon.png").arg(cfgdir->absolutePath()).arg(themes.at(i))); if (!tmpfile.exists()) { - tmpfile.setFileName(QString("%1/Themes/%2/icon.png").arg(datadir->absolutePath()).arg(Themes->at(i))); - if(!tmpfile.exists()) - Themes->removeAt(i); + tmpfile.setFileName(QString("%1/Themes/%2/icon.png").arg(datadir->absolutePath()).arg(themes.at(i))); + if(tmpfile.exists()) + { // load icon + QPair ic; + ic.first = QIcon(QFileInfo(tmpfile).absoluteFilePath()); + + QFile previewIconFile; + previewIconFile.setFileName(QString("%1/Data/Themes/%2/icon@2x.png").arg(cfgdir->absolutePath()).arg(themes.at(i))); + if (previewIconFile.exists()) ic.second = QIcon(QFileInfo(previewIconFile).absoluteFilePath()); + else ic.second = QIcon(QString("%1/Themes/%2/icon@2x.png").arg(datadir->absolutePath()).arg(themes.at(i))); + + icons.prepend(ic); + } + else + { + themes.removeAt(i); + } } } + + themesModel = new ThemesModel(themes); + for(int i = 0; i < icons.size(); ++i) + { + themesModel->setData(themesModel->index(i), icons[i].first, Qt::DecorationRole); + themesModel->setData(themesModel->index(i), icons[i].second, Qt::UserRole); + + qDebug() << "icon test" << themesModel->index(i).data(Qt::UserRole).toString(); + } } QDir tmpdir; @@ -434,8 +461,8 @@ QTranslator Translator; { QSettings settings(cfgdir->absolutePath() + "/hedgewars.ini", QSettings::IniFormat); - QString cc = settings.value("misc/locale", "").toString(); - if(!cc.compare("")) + QString cc = settings.value("misc/locale", QString()).toString(); + if(cc.isEmpty()) cc = QLocale::system().name(); QFile tmpfile; tmpfile.setFileName(cfgdir->absolutePath() + "Data/Locale/hedgewars_" + cc); diff -r bc8560452143 -r 479b4108789a QTfrontend/mapContainer.cpp --- a/QTfrontend/mapContainer.cpp Fri Jun 24 09:36:59 2011 +0200 +++ b/QTfrontend/mapContainer.cpp Fri Jun 24 09:54:39 2011 +0200 @@ -25,11 +25,12 @@ #include #include #include -#include +#include #include #include #include #include +#include #include "hwconsts.h" #include "mapContainer.h" @@ -200,24 +201,18 @@ QVBoxLayout * gbTLayout = new QVBoxLayout(gbThemes); gbTLayout->setContentsMargins(0, 0, 0 ,0); gbTLayout->setSpacing(0); - lwThemes = new QListWidget(mapWidget); - lwThemes->setMinimumHeight(30); - lwThemes->setFixedWidth(140); - QFile tmpfile; - for (int i = 0; i < Themes->size(); ++i) { - QListWidgetItem * lwi = new QListWidgetItem(); - lwi->setText(Themes->at(i)); - tmpfile.setFileName(QString("%1/Data/Themes/%2/icon.png").arg(cfgdir->absolutePath()).arg(Themes->at(i))); - if (tmpfile.exists()) lwi->setIcon(QIcon(QFileInfo(tmpfile).absoluteFilePath())); - else lwi->setIcon(QIcon(QString("%1/Themes/%2/icon.png").arg(datadir->absolutePath()).arg(Themes->at(i)))); - //lwi->setTextAlignment(Qt::AlignHCenter); - lwThemes->addItem(lwi); - } - connect(lwThemes, SIGNAL(currentRowChanged(int)), this, SLOT(themeSelected(int))); + lvThemes = new QListView(mapWidget); + lvThemes->setMinimumHeight(30); + lvThemes->setFixedWidth(140); + lvThemes->setModel(themesModel); + lvThemes->setIconSize(QSize(16, 16)); + lvThemes->setEditTriggers(QListView::NoEditTriggers); + + connect(lvThemes->selectionModel(), SIGNAL(currentRowChanged( const QModelIndex &, const QModelIndex &)), this, SLOT(themeSelected( const QModelIndex &, const QModelIndex &))); // override default style to tighten up theme scroller - lwThemes->setStyleSheet(QString( - "QListWidget{" + lvThemes->setStyleSheet(QString( + "QListView{" "border: solid;" "border-width: 0px;" "border-radius: 0px;" @@ -229,8 +224,8 @@ ) ); - gbTLayout->addWidget(lwThemes); - lwThemes->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Minimum); + gbTLayout->addWidget(lvThemes); + lvThemes->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Minimum); mapLayout->setSizeConstraint(QLayout::SetFixedSize); @@ -376,9 +371,9 @@ ); } -void HWMapContainer::themeSelected(int currentRow) +void HWMapContainer::themeSelected(const QModelIndex & current, const QModelIndex &) { - QString theme = Themes->at(currentRow); + QString theme = current.data().toString(); QList mapInfo; mapInfo.push_back(QString("+rnd+")); mapInfo.push_back(theme); @@ -389,10 +384,8 @@ chooseMap->setItemData(1, mapInfo); mapInfo[0] = QString("+drawn+"); chooseMap->setItemData(2, mapInfo); - QFile tmpfile; - tmpfile.setFileName(QString("%1/Data/Themes/%2/icon@2x.png").arg(cfgdir->absolutePath()).arg(theme)); - if (tmpfile.exists()) gbThemes->setIcon(QIcon(QFileInfo(tmpfile).absoluteFilePath())); - else gbThemes->setIcon(QIcon(QString("%1/Themes/%2/icon@2x.png").arg(datadir->absolutePath()).arg(theme))); + + gbThemes->setIcon(qVariantValue(current.data(Qt::UserRole))); emit themeChanged(theme); } @@ -487,9 +480,10 @@ void HWMapContainer::setTheme(const QString & theme) { - QList items = lwThemes->findItems(theme, Qt::MatchExactly); - if(items.size()) - lwThemes->setCurrentItem(items.at(0)); + QModelIndexList mdl = themesModel->match(themesModel->index(0), Qt::DisplayRole, theme); + + if(mdl.size()) + lvThemes->setCurrentIndex(mdl.at(0)); } void HWMapContainer::setRandomMap() @@ -539,9 +533,9 @@ void HWMapContainer::setRandomTheme() { - if(!Themes->size()) return; - quint32 themeNum = rand() % Themes->size(); - lwThemes->setCurrentRow(themeNum); + if(!themesModel->rowCount()) return; + quint32 themeNum = rand() % themesModel->rowCount(); + lvThemes->setCurrentIndex(themesModel->index(themeNum)); } void HWMapContainer::intSetTemplateFilter(int filter) diff -r bc8560452143 -r 479b4108789a QTfrontend/mapContainer.h --- a/QTfrontend/mapContainer.h Fri Jun 24 09:36:59 2011 +0200 +++ b/QTfrontend/mapContainer.h Fri Jun 24 09:54:39 2011 +0200 @@ -32,7 +32,7 @@ class QPushButton; class IconedGroupBox; -class QListWidget; +class QListView; class MapFileErrorException { @@ -89,7 +89,7 @@ void setRandomMap(); void setRandomStatic(); void setRandomMission(); - void themeSelected(int currentRow); + void themeSelected(const QModelIndex & current, const QModelIndex &); void addInfoToPreview(QPixmap image); void seedEdited(); @@ -101,7 +101,7 @@ QPushButton* imageButt; QComboBox* chooseMap; IconedGroupBox* gbThemes; - QListWidget* lwThemes; + QListView* lvThemes; HWMap* pMap; QString m_seed; QPushButton* seedSet; diff -r bc8560452143 -r 479b4108789a QTfrontend/themesmodel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QTfrontend/themesmodel.cpp Fri Jun 24 09:54:39 2011 +0200 @@ -0,0 +1,47 @@ + +#include "themesmodel.h" + +ThemesModel::ThemesModel(QStringList themes, QObject *parent) : + QAbstractListModel(parent) +{ + m_data.reserve(themes.size()); + + foreach(QString theme, themes) + { + m_data.append(QHash()); + m_data.last().insert(Qt::DisplayRole, theme); + } +} + +int ThemesModel::rowCount(const QModelIndex &parent) const +{ + if(parent.isValid()) + return 0; + else + return m_data.size(); +} + +QVariant ThemesModel::data(const QModelIndex &index, int role) const +{ + if(index.column() > 0 || index.row() >= m_data.size()) + return QVariant(); + else + return m_data.at(index.row()).value(role); +} + +bool ThemesModel::setData(const QModelIndex &index, const QVariant &value, int role) +{ + if(index.column() > 0 || index.row() >= m_data.size()) + return false; + else + { + m_data[index.row()].insert(role, value); + + return true; + } + +} + + + + diff -r bc8560452143 -r 479b4108789a QTfrontend/themesmodel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QTfrontend/themesmodel.h Fri Jun 24 09:54:39 2011 +0200 @@ -0,0 +1,28 @@ +#ifndef THEMESMODEL_H +#define THEMESMODEL_H + +#include +#include +#include + +class ThemesModel : public QAbstractListModel +{ + Q_OBJECT +public: + explicit ThemesModel(QStringList themes, QObject *parent = 0); + + int rowCount(const QModelIndex &parent = QModelIndex()) const; + QVariant data(const QModelIndex &index, int role) const; + bool setData(const QModelIndex &index, const QVariant &value, + int role = Qt::EditRole); + +signals: + +public slots: + +private: + + QList > m_data; +}; + +#endif // THEMESMODEL_H diff -r bc8560452143 -r 479b4108789a hedgewars/HHHandlers.inc --- a/hedgewars/HHHandlers.inc Fri Jun 24 09:36:59 2011 +0200 +++ b/hedgewars/HHHandlers.inc Fri Jun 24 09:54:39 2011 +0200 @@ -380,7 +380,7 @@ else begin OnUsedAmmo(CurrentHedgehog^); - if ((Ammoz[a].Ammo.Propz and ammoprop_NoRoundEnd) = 0) and ((GameFlags and gfInfAttack) = 0) then + if ((Ammoz[a].Ammo.Propz and ammoprop_NoRoundEnd) = 0) and (((GameFlags and gfInfAttack) = 0) or PlacingHogs) then begin if TagTurnTimeLeft = 0 then TagTurnTimeLeft:= TurnTimeLeft; TurnTimeLeft:=(Ammoz[a].TimeAfterTurn * cGetAwayTime) div 100; diff -r bc8560452143 -r 479b4108789a hedgewars/uAIMisc.pas --- a/hedgewars/uAIMisc.pas Fri Jun 24 09:36:59 2011 +0200 +++ b/hedgewars/uAIMisc.pas Fri Jun 24 09:54:39 2011 +0200 @@ -134,7 +134,7 @@ Gear:= GearsList; while Gear <> nil do begin - if (filter = []) or (Gear^.Kind in filter) then + if (filter = []) or (Gear^.Kind in filter) then case Gear^.Kind of gtCase: AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 33, 25); gtFlame: if (Gear^.State and gsttmpFlag) <> 0 then @@ -152,7 +152,7 @@ AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 60, -25) else if isAfterAttack and (ThinkingHH^.Hedgehog <> Gear^.Hedgehog) then - if (MyClan = Gear^.Hedgehog^.Team^.Clan) then + if (ClansCount > 2) or (MyClan = Gear^.Hedgehog^.Team^.Clan) then AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 150, -3) // hedgehog-friend else AddBonus(hwRound(Gear^.X), hwRound(Gear^.Y), 100, 3) diff -r bc8560452143 -r 479b4108789a hedgewars/uCollisions.pas --- a/hedgewars/uCollisions.pas Fri Jun 24 09:36:59 2011 +0200 +++ b/hedgewars/uCollisions.pas Fri Jun 24 09:54:39 2011 +0200 @@ -22,7 +22,7 @@ interface uses uFloat, uTypes; -const cMaxGearArrayInd = 255; +const cMaxGearArrayInd = 1023; type PGearArray = ^TGearArray; TGearArray = record diff -r bc8560452143 -r 479b4108789a hedgewars/uCommandHandlers.pas --- a/hedgewars/uCommandHandlers.pas Fri Jun 24 09:36:59 2011 +0200 +++ b/hedgewars/uCommandHandlers.pas Fri Jun 24 09:54:39 2011 +0200 @@ -26,7 +26,7 @@ procedure freeModule; implementation -uses uCommands, uTypes, uVariables, uIO, uDebug, uConsts, uScript, uUtils, SDLh, uRandom; +uses uCommands, uTypes, uVariables, uIO, uDebug, uConsts, uScript, uUtils, SDLh, uRandom, uCaptions; procedure chGenCmd(var s: shortstring); begin @@ -331,7 +331,7 @@ FollowGear:= CurrentHedgehog^.Gear; if not CurrentTeam^.ExtDriven then SendIPC('A'); Message:= Message or (gmAttack and InputMask); - ScriptCall('onAttack'); + ScriptCall('onAttack'); end end end; @@ -411,7 +411,7 @@ begin Message:= Message or (gmWeapon and InputMask); MsgParam:= byte(s[1]); - ScriptCall('onSetWeapon'); + ScriptCall('onSetWeapon'); end; end; @@ -510,8 +510,18 @@ begin s:= s; // avoid compiler hint if CheckNoTeamOrHH or isPaused then exit; -bShowFinger:= true; -FollowGear:= CurrentHedgehog^.Gear + +if FollowGear <> nil then + begin + AddCaption('Auto Camera Off', $CCCCCC, capgrpVolume); + autoCameraOn:= false + end + else begin + AddCaption('Auto Camera On', $CCCCCC, capgrpVolume); + bShowFinger:= true; + FollowGear:= CurrentHedgehog^.Gear; + autoCameraOn:= true + end end; procedure chPause(var s: shortstring); diff -r bc8560452143 -r 479b4108789a hedgewars/uGears.pas --- a/hedgewars/uGears.pas Fri Jun 24 09:36:59 2011 +0200 +++ b/hedgewars/uGears.pas Fri Jun 24 09:54:39 2011 +0200 @@ -902,7 +902,7 @@ else if ((GameFlags and gfInfAttack) <> 0) then begin if delay2 = 0 then - delay2:= cInactDelay * 4 + delay2:= cInactDelay * 50 else begin dec(delay2); diff -r bc8560452143 -r 479b4108789a hedgewars/uStore.pas --- a/hedgewars/uStore.pas Fri Jun 24 09:36:59 2011 +0200 +++ b/hedgewars/uStore.pas Fri Jun 24 09:54:39 2011 +0200 @@ -283,10 +283,12 @@ if (((cReducedQuality and (rqNoBackground or rqLowRes)) = 0) or // why rqLowRes? (not (ii in [sprSky, sprSkyL, sprSkyR, sprHorizont, sprHorizontL, sprHorizontR]))) and (((cReducedQuality and rqPlainSplash) = 0) or ((not (ii in [sprSplash, sprDroplet, sprSDSplash, sprSDDroplet])))) and - (((cReducedQuality and rqKillFlakes) = 0) or (Theme = 'Snow') or (Theme = 'Christmas') or ((not (ii in [sprFlake, sprSDFlake])))) then + (((cReducedQuality and rqKillFlakes) = 0) or (Theme = 'Snow') or (Theme = 'Christmas') or ((not (ii in [sprFlake, sprSDFlake])))) and + ((cCloudsNumber > 0) or (ii <> sprCloud)) and + ((vobCount > 0) or (ii <> sprFlake)) then begin if AltPath = ptNone then - if ii in [sprHorizontL, sprHorizontR, sprSkyL, sprSkyR, sprChunk] then // FIXME: hack + if ii in [sprHorizont, sprHorizontL, sprHorizontR, sprSky, sprSkyL, sprSkyR, sprChunk] then // FIXME: hack begin tmpsurf:= LoadImage(UserPathz[Path] + '/' + FileName, ifAlpha or ifTransparent); if tmpsurf = nil then tmpsurf:= LoadImage(Pathz[Path] + '/' + FileName, ifAlpha or ifTransparent) diff -r bc8560452143 -r 479b4108789a hedgewars/uVariables.pas --- a/hedgewars/uVariables.pas Fri Jun 24 09:36:59 2011 +0200 +++ b/hedgewars/uVariables.pas Fri Jun 24 09:54:39 2011 +0200 @@ -62,6 +62,7 @@ isFirstFrame : boolean; fastUntilLag : boolean; + autoCameraOn : boolean; GameState : TGameState; GameType : TGameType; @@ -2355,10 +2356,11 @@ fastUntilLag := false; isFirstFrame := true; isSEBackup := true; + autoCameraOn := true; cSeed := ''; cVolumeDelta := 0; cHasFocus := true; - cInactDelay := 1250; + cInactDelay := 100; ReadyTimeLeft := 0; disableLandBack := false; diff -r bc8560452143 -r 479b4108789a hedgewars/uWorld.pas --- a/hedgewars/uWorld.pas Fri Jun 24 09:36:59 2011 +0200 +++ b/hedgewars/uWorld.pas Fri Jun 24 09:54:39 2011 +0200 @@ -1165,7 +1165,7 @@ {$ENDIF} if (not PlacingHogs) and (FollowGear <> nil) and (not isCursorVisible) and (not fastUntilLag) then - if abs(CursorPoint.X - prevPoint.X) + abs(CursorPoint.Y - prevpoint.Y) > 4 then + if (not autoCameraOn) or (abs(CursorPoint.X - prevPoint.X) + abs(CursorPoint.Y - prevpoint.Y) > 4) then begin FollowGear:= nil; prevPoint:= CursorPoint; diff -r bc8560452143 -r 479b4108789a project_files/hedgewars.pro --- a/project_files/hedgewars.pro Fri Jun 24 09:36:59 2011 +0200 +++ b/project_files/hedgewars.pro Fri Jun 24 09:54:39 2011 +0200 @@ -59,7 +59,12 @@ ../QTfrontend/pagedrawmap.h \ ../QTfrontend/pageconnecting.h \ ../QTfrontend/pagecampaign.h \ - ../QTfrontend/pageadmin.h + ../QTfrontend/pageadmin.h \ + ../QTfrontend/pageplayrecord.h \ + ../QTfrontend/pagegamestats.h \ + ../QTfrontend/HWApplication.h \ + ../QTfrontend/AbstractPage.h \ + ../QTfrontend/themesmodel.h SOURCES += ../QTfrontend/SDLs.cpp ../QTfrontend/SquareLabel.cpp \ ../QTfrontend/about.cpp ../QTfrontend/ammoSchemeModel.cpp \ @@ -106,7 +111,11 @@ ../QTfrontend/pagedrawmap.cpp \ ../QTfrontend/pageconnecting.cpp \ ../QTfrontend/pagecampaign.cpp \ - ../QTfrontend/pageadmin.cpp + ../QTfrontend/pageadmin.cpp \ + ../QTfrontend/pagegamestats.cpp \ + ../QTfrontend/pageplayrecord.cpp \ + ../QTfrontend/HWApplication.cpp \ + ../QTfrontend/themesmodel.cpp win32 { SOURCES += ../QTfrontend/xfire.cpp diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Art/Clouds.png Binary file share/hedgewars/Data/Themes/Art/Clouds.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Art/Flake.png Binary file share/hedgewars/Data/Themes/Art/Flake.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Bamboo/SkyL.png Binary file share/hedgewars/Data/Themes/Bamboo/SkyL.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Bamboo/SkyR.png Binary file share/hedgewars/Data/Themes/Bamboo/SkyR.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Blox/Flake.png Binary file share/hedgewars/Data/Themes/Blox/Flake.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Blox/Sky.png Binary file share/hedgewars/Data/Themes/Blox/Sky.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Blox/plant1.png Binary file share/hedgewars/Data/Themes/Blox/plant1.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Blox/plant2.png Binary file share/hedgewars/Data/Themes/Blox/plant2.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Blox/plant3.png Binary file share/hedgewars/Data/Themes/Blox/plant3.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Blox/plant4.png Binary file share/hedgewars/Data/Themes/Blox/plant4.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Cake/Clouds.png Binary file share/hedgewars/Data/Themes/Cake/Clouds.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Cake/plant4.png Binary file share/hedgewars/Data/Themes/Cake/plant4.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Cake/theme.cfg --- a/share/hedgewars/Data/Themes/Cake/theme.cfg Fri Jun 24 09:36:59 2011 +0200 +++ b/share/hedgewars/Data/Themes/Cake/theme.cfg Fri Jun 24 09:54:39 2011 +0200 @@ -8,5 +8,4 @@ object = plant1, 3, 83, 215, 92, 35, 1, 0, 0, 250, 190 object = plant2, 3, 118, 115, 41, 20, 1, 0, 0, 159, 110 object = plant3, 3, 0, 115, 70, 40, 1, 8, 0, 60, 100 -object = plant4, 3, 20, 200, 25, 5, 1, 0, 0, 70, 150 flakes = 20, 100, 0, 30, 250 diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Cheese/Flake.png Binary file share/hedgewars/Data/Themes/Cheese/Flake.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/CrazyMission/Flake.png Binary file share/hedgewars/Data/Themes/CrazyMission/Flake.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/CrazyMission/horizont.png Binary file share/hedgewars/Data/Themes/CrazyMission/horizont.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Deepspace/Clouds.png Binary file share/hedgewars/Data/Themes/Deepspace/Clouds.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Deepspace/horizont.png Binary file share/hedgewars/Data/Themes/Deepspace/horizont.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/EarthRise/Clouds.png Binary file share/hedgewars/Data/Themes/EarthRise/Clouds.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/EarthRise/horizontL.png Binary file share/hedgewars/Data/Themes/EarthRise/horizontL.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/EarthRise/horizontR.png Binary file share/hedgewars/Data/Themes/EarthRise/horizontR.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Halloween/SkyL.png Binary file share/hedgewars/Data/Themes/Halloween/SkyL.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Halloween/SkyR.png Binary file share/hedgewars/Data/Themes/Halloween/SkyR.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Jungle/SkyL.png Binary file share/hedgewars/Data/Themes/Jungle/SkyL.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Jungle/SkyR.png Binary file share/hedgewars/Data/Themes/Jungle/SkyR.png has changed diff -r bc8560452143 -r 479b4108789a share/hedgewars/Data/Themes/Planes/Flake.png Binary file share/hedgewars/Data/Themes/Planes/Flake.png has changed