commit
da4c25597e
24 changed files with 127 additions and 81 deletions
|
@ -50,15 +50,21 @@ elseif(WIN32)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Define proper compilation flags
|
# Define proper compilation flags
|
||||||
IF (CMAKE_COMPILER_IS_GNUCC)
|
IF(MSVC)
|
||||||
|
# Visual Studio:
|
||||||
|
# Maximum optimization
|
||||||
|
set(CMAKE_CXX_FLAGS_RELEASE "/Ox")
|
||||||
|
# Generate complete debugging information
|
||||||
|
#set(CMAKE_CXX_FLAGS_DEBUG "/Zi")
|
||||||
|
ELSEIF (CMAKE_COMPILER_IS_GNUCXX)
|
||||||
# linux/gcc, bsd/gcc, windows/mingw
|
# linux/gcc, bsd/gcc, windows/mingw
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-s -O2")
|
set(CMAKE_CXX_FLAGS_RELEASE "-s -O2")
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -O0")
|
set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -O0")
|
||||||
else()
|
ELSE()
|
||||||
# other: osx/llvm, bsd/llvm
|
# other: osx/llvm, bsd/llvm
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
|
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
|
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
|
||||||
ENDIF (CMAKE_COMPILER_IS_GNUCC)
|
ENDIF()
|
||||||
|
|
||||||
# GNU systems need to define the Mersenne exponent for the RNG to compile w/o warning
|
# GNU systems need to define the Mersenne exponent for the RNG to compile w/o warning
|
||||||
IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
||||||
|
|
|
@ -154,8 +154,11 @@ INCLUDE_DIRECTORIES(${QT_MOBILITY_MULTIMEDIAKIT_INCLUDE_DIR})
|
||||||
|
|
||||||
# Build cockatrice binary and link it
|
# Build cockatrice binary and link it
|
||||||
ADD_EXECUTABLE(cockatrice WIN32 MACOSX_BUNDLE ${cockatrice_SOURCES} ${cockatrice_QM} ${cockatrice_RESOURCES_RCC} ${cockatrice_MOC_SRCS})
|
ADD_EXECUTABLE(cockatrice WIN32 MACOSX_BUNDLE ${cockatrice_SOURCES} ${cockatrice_QM} ${cockatrice_RESOURCES_RCC} ${cockatrice_MOC_SRCS})
|
||||||
TARGET_LINK_LIBRARIES(cockatrice cockatrice_common ${QT_LIBRARIES} ${QT_MOBILITY_MULTIMEDIAKIT_LIBRARY})
|
TARGET_LINK_LIBRARIES(cockatrice cockatrice_common ${QT_QTMAIN_LIBRARY} ${QT_LIBRARIES} ${QT_MOBILITY_MULTIMEDIAKIT_LIBRARY})
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
set_target_properties(cockatrice PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS")
|
||||||
|
endif(MSVC)
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
|
|
|
@ -2,7 +2,10 @@
|
||||||
#include <QGraphicsScene>
|
#include <QGraphicsScene>
|
||||||
#include <QCursor>
|
#include <QCursor>
|
||||||
#include <QGraphicsSceneMouseEvent>
|
#include <QGraphicsSceneMouseEvent>
|
||||||
#include <math.h>
|
#include <cmath>
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include "round.h"
|
||||||
|
#endif /* _WIN32 */
|
||||||
#include "carddatabase.h"
|
#include "carddatabase.h"
|
||||||
#include "cardinfowidget.h"
|
#include "cardinfowidget.h"
|
||||||
#include "abstractcarditem.h"
|
#include "abstractcarditem.h"
|
||||||
|
@ -143,7 +146,7 @@ void AbstractCardItem::paintPicture(QPainter *painter, const QSizeF &translatedS
|
||||||
painter->restore();
|
painter->restore();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AbstractCardItem::paint(QPainter *painter, const QStyleOptionGraphicsItem */*option*/, QWidget */*widget*/)
|
void AbstractCardItem::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||||
{
|
{
|
||||||
painter->save();
|
painter->save();
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
|
#define _USE_MATH_DEFINES
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
#include "arrowitem.h"
|
#include "arrowitem.h"
|
||||||
#include "playertarget.h"
|
#include "playertarget.h"
|
||||||
#include "carditem.h"
|
#include "carditem.h"
|
||||||
#include "cardzone.h"
|
#include "cardzone.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
#include "math.h"
|
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QGraphicsSceneMouseEvent>
|
#include <QGraphicsSceneMouseEvent>
|
||||||
#include <QGraphicsScene>
|
#include <QGraphicsScene>
|
||||||
|
@ -64,7 +66,7 @@ void ArrowItem::updatePath(const QPointF &endPoint)
|
||||||
{
|
{
|
||||||
const double arrowWidth = 15.0;
|
const double arrowWidth = 15.0;
|
||||||
const double headWidth = 40.0;
|
const double headWidth = 40.0;
|
||||||
const double headLength = headWidth / sqrt(2);
|
const double headLength = headWidth / pow(2, 0.5); // aka headWidth / sqrt (2) but this produces a compile error with MSVC++
|
||||||
const double phi = 15;
|
const double phi = 15;
|
||||||
|
|
||||||
if (!startItem)
|
if (!startItem)
|
||||||
|
|
|
@ -148,7 +148,7 @@ QString CardZone::getTranslatedName(bool hisOwn, GrammaticalCase gc) const
|
||||||
return QString();
|
return QString();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CardZone::mouseDoubleClickEvent(QGraphicsSceneMouseEvent */*event*/)
|
void CardZone::mouseDoubleClickEvent(QGraphicsSceneMouseEvent * /*event*/)
|
||||||
{
|
{
|
||||||
if (doubleClickAction)
|
if (doubleClickAction)
|
||||||
doubleClickAction->trigger();
|
doubleClickAction->trigger();
|
||||||
|
|
|
@ -13,7 +13,7 @@ QRectF GeneralCounter::boundingRect() const
|
||||||
return QRectF(0, 0, radius * 2, radius * 2);
|
return QRectF(0, 0, radius * 2, radius * 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GeneralCounter::paint(QPainter *painter, const QStyleOptionGraphicsItem */*option*/, QWidget */*widget*/)
|
void GeneralCounter::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||||
{
|
{
|
||||||
QRectF mapRect = painter->combinedTransform().mapRect(boundingRect());
|
QRectF mapRect = painter->combinedTransform().mapRect(boundingRect());
|
||||||
int translatedHeight = mapRect.size().height();
|
int translatedHeight = mapRect.size().height();
|
||||||
|
|
|
@ -19,7 +19,7 @@ public:
|
||||||
int getNumber() const { return dataNode->getNumber(); }
|
int getNumber() const { return dataNode->getNumber(); }
|
||||||
void setNumber(int _number) { dataNode->setNumber(_number); }
|
void setNumber(int _number) { dataNode->setNumber(_number); }
|
||||||
float getPrice() const { return dataNode->getPrice(); }
|
float getPrice() const { return dataNode->getPrice(); }
|
||||||
void setPrice(float _price) { dataNode->setPrice(_price); }
|
void setPrice(const float _price) { dataNode->setPrice(_price); }
|
||||||
QString getName() const { return dataNode->getName(); }
|
QString getName() const { return dataNode->getName(); }
|
||||||
void setName(const QString &_name) { dataNode->setName(_name); }
|
void setName(const QString &_name) { dataNode->setName(_name); }
|
||||||
DecklistCardNode *getDataNode() const { return dataNode; }
|
DecklistCardNode *getDataNode() const { return dataNode; }
|
||||||
|
|
|
@ -266,7 +266,7 @@ FilterItemList *FilterTree::attrTypeList(CardFilter::Attr attr,
|
||||||
int FilterTree::findTermIndex(CardFilter::Attr attr, CardFilter::Type type,
|
int FilterTree::findTermIndex(CardFilter::Attr attr, CardFilter::Type type,
|
||||||
const QString &term)
|
const QString &term)
|
||||||
{
|
{
|
||||||
attrTypeList(attr, type)->termIndex(term);
|
return attrTypeList(attr, type)->termIndex(term);
|
||||||
}
|
}
|
||||||
|
|
||||||
int FilterTree::findTermIndex(const CardFilter *f)
|
int FilterTree::findTermIndex(const CardFilter *f)
|
||||||
|
|
|
@ -180,9 +180,9 @@ bool GamesProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &/*sourc
|
||||||
if (!gameTypeFilter.isEmpty() && gameTypes.intersect(gameTypeFilter).isEmpty())
|
if (!gameTypeFilter.isEmpty() && gameTypes.intersect(gameTypeFilter).isEmpty())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if ((maxPlayersFilterMin != -1) && (game.max_players() < maxPlayersFilterMin))
|
if ((maxPlayersFilterMin != -1) && ((int)game.max_players() < maxPlayersFilterMin))
|
||||||
return false;
|
return false;
|
||||||
if ((maxPlayersFilterMax != -1) && (game.max_players() > maxPlayersFilterMax))
|
if ((maxPlayersFilterMax != -1) && ((int)game.max_players() > maxPlayersFilterMax))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -75,7 +75,7 @@ QRectF HandZone::boundingRect() const
|
||||||
return QRectF(0, 0, 100, zoneHeight);
|
return QRectF(0, 0, 100, zoneHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandZone::paint(QPainter *painter, const QStyleOptionGraphicsItem */*option*/, QWidget */*widget*/)
|
void HandZone::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||||
{
|
{
|
||||||
if (bgPixmap.isNull())
|
if (bgPixmap.isNull())
|
||||||
painter->fillRect(boundingRect(), Qt::darkGreen);
|
painter->fillRect(boundingRect(), Qt::darkGreen);
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
#include <QFile>
|
||||||
|
#include <QTextStream>
|
||||||
#include <QTextCodec>
|
#include <QTextCodec>
|
||||||
#include <QtPlugin>
|
#include <QtPlugin>
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
|
@ -28,7 +30,6 @@
|
||||||
#include <QIcon>
|
#include <QIcon>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QDesktopServices>
|
#include <QDesktopServices>
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "window_main.h"
|
#include "window_main.h"
|
||||||
|
@ -56,11 +57,11 @@ QString translationPath = QString();
|
||||||
|
|
||||||
void myMessageOutput(QtMsgType /*type*/, const char *msg)
|
void myMessageOutput(QtMsgType /*type*/, const char *msg)
|
||||||
{
|
{
|
||||||
static FILE *f = NULL;
|
QFile file("qdebug.txt");
|
||||||
if (!f)
|
file.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text);
|
||||||
f = fopen("qdebug.txt", "w");
|
QTextStream out(&file);
|
||||||
fprintf(f, "%s\n", msg);
|
out << msg << endl;
|
||||||
fflush(f);
|
file.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
void installNewTranslator()
|
void installNewTranslator()
|
||||||
|
|
|
@ -3,7 +3,10 @@
|
||||||
#include <QPen>
|
#include <QPen>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <math.h>
|
#include <cmath>
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include "round.h"
|
||||||
|
#endif /* _WIN32 */
|
||||||
#include "phasestoolbar.h"
|
#include "phasestoolbar.h"
|
||||||
#include "pixmapgenerator.h"
|
#include "pixmapgenerator.h"
|
||||||
|
|
||||||
|
@ -85,7 +88,7 @@ void PhaseButton::mousePressEvent(QGraphicsSceneMouseEvent * /*event*/)
|
||||||
emit clicked();
|
emit clicked();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PhaseButton::mouseDoubleClickEvent(QGraphicsSceneMouseEvent */*event*/)
|
void PhaseButton::mouseDoubleClickEvent(QGraphicsSceneMouseEvent * /*event*/)
|
||||||
{
|
{
|
||||||
triggerDoubleClickAction();
|
triggerDoubleClickAction();
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,7 +105,7 @@ void PileZone::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
||||||
setCursor(Qt::OpenHandCursor);
|
setCursor(Qt::OpenHandCursor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PileZone::mouseReleaseEvent(QGraphicsSceneMouseEvent */*event*/)
|
void PileZone::mouseReleaseEvent(QGraphicsSceneMouseEvent * /*event*/)
|
||||||
{
|
{
|
||||||
setCursor(Qt::OpenHandCursor);
|
setCursor(Qt::OpenHandCursor);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,10 @@
|
||||||
#include "pb/serverinfo_user.pb.h"
|
#include "pb/serverinfo_user.pb.h"
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QSvgRenderer>
|
#include <QSvgRenderer>
|
||||||
#include <math.h>
|
#include <cmath>
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include "round.h"
|
||||||
|
#endif /* _WIN32 */
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
QMap<QString, QPixmap> PhasePixmapGenerator::pmCache;
|
QMap<QString, QPixmap> PhasePixmapGenerator::pmCache;
|
||||||
|
|
|
@ -85,7 +85,7 @@ void PlayerArea::updateBgPixmap()
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayerArea::paint(QPainter *painter, const QStyleOptionGraphicsItem */*option*/, QWidget */*widget*/)
|
void PlayerArea::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||||
{
|
{
|
||||||
painter->fillRect(bRect, bgPixmapBrush);
|
painter->fillRect(bRect, bgPixmapBrush);
|
||||||
}
|
}
|
||||||
|
@ -1430,7 +1430,7 @@ QRectF Player::boundingRect() const
|
||||||
return bRect;
|
return bRect;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::paint(QPainter * /*painter*/, const QStyleOptionGraphicsItem */*option*/, QWidget */*widget*/)
|
void Player::paint(QPainter * /*painter*/, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,10 @@
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QPixmapCache>
|
#include <QPixmapCache>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <math.h>
|
#include <cmath>
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include "round.h"
|
||||||
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
PlayerCounter::PlayerCounter(Player *_player, int _id, const QString &_name, int _value, QGraphicsItem *parent)
|
PlayerCounter::PlayerCounter(Player *_player, int _id, const QString &_name, int _value, QGraphicsItem *parent)
|
||||||
: AbstractCounter(_player, _id, _name, false, _value, parent)
|
: AbstractCounter(_player, _id, _name, false, _value, parent)
|
||||||
|
@ -87,7 +90,8 @@ void PlayerTarget::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*o
|
||||||
cachedPixmap = QPixmap(translatedSize.width(), translatedSize.height());
|
cachedPixmap = QPixmap(translatedSize.width(), translatedSize.height());
|
||||||
|
|
||||||
QPainter tempPainter(&cachedPixmap);
|
QPainter tempPainter(&cachedPixmap);
|
||||||
QRadialGradient grad(translatedRect.center(), sqrt(translatedSize.width() * translatedSize.width() + translatedSize.height() * translatedSize.height()) / 2);
|
// pow(foo, 0.5) equals to sqrt(foo), but using sqrt(foo) in this context will produce a compile error with MSVC++
|
||||||
|
QRadialGradient grad(translatedRect.center(), pow(translatedSize.width() * translatedSize.width() + translatedSize.height() * translatedSize.height(), 0.5) / 2);
|
||||||
grad.setColorAt(1, Qt::black);
|
grad.setColorAt(1, Qt::black);
|
||||||
grad.setColorAt(0, QColor(180, 180, 180));
|
grad.setColorAt(0, QColor(180, 180, 180));
|
||||||
tempPainter.fillRect(QRectF(0, 0, translatedSize.width(), translatedSize.height()), grad);
|
tempPainter.fillRect(QRectF(0, 0, translatedSize.width(), translatedSize.height()), grad);
|
||||||
|
|
|
@ -2,7 +2,10 @@
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QPalette>
|
#include <QPalette>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <math.h>
|
#include <cmath>
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include "round.h"
|
||||||
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
ReplayTimelineWidget::ReplayTimelineWidget(QWidget *parent)
|
ReplayTimelineWidget::ReplayTimelineWidget(QWidget *parent)
|
||||||
: QWidget(parent), maxBinValue(1), maxTime(1), timeScaleFactor(1.0), currentTime(0), currentEvent(0)
|
: QWidget(parent), maxBinValue(1), maxTime(1), timeScaleFactor(1.0), currentTime(0), currentEvent(0)
|
||||||
|
|
12
cockatrice/src/round.h
Normal file
12
cockatrice/src/round.h
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#ifndef MSVC_ROUND_FIX
|
||||||
|
#define MSVC_ROUND_FIX
|
||||||
|
/**
|
||||||
|
* This helper function exists only because MS VC++ 2010 does not support round() in
|
||||||
|
* <cmath>. round() works with g++ and clang++ but is formally a C++11 extension.
|
||||||
|
* So this file exists for MS VC++ only.
|
||||||
|
*/
|
||||||
|
inline double round(double val) {
|
||||||
|
return floor(val + 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* MSVC_ROUND_FIX */
|
|
@ -46,7 +46,7 @@ QRectF StackZone::boundingRect() const
|
||||||
return QRectF(0, 0, 100, zoneHeight);
|
return QRectF(0, 0, 100, zoneHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StackZone::paint(QPainter *painter, const QStyleOptionGraphicsItem */*option*/, QWidget */*widget*/)
|
void StackZone::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||||
{
|
{
|
||||||
if (bgPixmap.isNull())
|
if (bgPixmap.isNull())
|
||||||
painter->fillRect(boundingRect(), QColor(113, 43, 43));
|
painter->fillRect(boundingRect(), QColor(113, 43, 43));
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QSet>
|
#include <QSet>
|
||||||
#include <QGraphicsScene>
|
#include <QGraphicsScene>
|
||||||
#include <math.h>
|
#include <cmath>
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include "round.h"
|
||||||
|
#endif /* _WIN32 */
|
||||||
#include "tablezone.h"
|
#include "tablezone.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
|
@ -46,7 +49,7 @@ bool TableZone::isInverted() const
|
||||||
return ((player->getMirrored() && !settingsCache->getInvertVerticalCoordinate()) || (!player->getMirrored() && settingsCache->getInvertVerticalCoordinate()));
|
return ((player->getMirrored() && !settingsCache->getInvertVerticalCoordinate()) || (!player->getMirrored() && settingsCache->getInvertVerticalCoordinate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void TableZone::paint(QPainter *painter, const QStyleOptionGraphicsItem */*option*/, QWidget */*widget*/)
|
void TableZone::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||||
{
|
{
|
||||||
if (bgPixmap.isNull())
|
if (bgPixmap.isNull())
|
||||||
painter->fillRect(boundingRect(), QColor(0, 0, 100));
|
painter->fillRect(boundingRect(), QColor(0, 0, 100));
|
||||||
|
|
|
@ -31,7 +31,7 @@ QRectF ZoneViewZone::boundingRect() const
|
||||||
return bRect;
|
return bRect;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZoneViewZone::paint(QPainter */*painter*/, const QStyleOptionGraphicsItem */*option*/, QWidget */*widget*/)
|
void ZoneViewZone::paint(QPainter * /*painter*/, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,7 @@ public:
|
||||||
virtual QString getName() const = 0;
|
virtual QString getName() const = 0;
|
||||||
virtual void setName(const QString &_name) = 0;
|
virtual void setName(const QString &_name) = 0;
|
||||||
virtual float getPrice() const = 0;
|
virtual float getPrice() const = 0;
|
||||||
virtual void setPrice(float _price) = 0;
|
virtual void setPrice(const float _price) = 0;
|
||||||
float getTotalPrice() const { return getNumber() * getPrice(); }
|
float getTotalPrice() const { return getNumber() * getPrice(); }
|
||||||
int height() const { return 0; }
|
int height() const { return 0; }
|
||||||
bool compare(AbstractDecklistNode *other) const;
|
bool compare(AbstractDecklistNode *other) const;
|
||||||
|
|
|
@ -9,6 +9,9 @@ OutFile "cockatrice_win32_${TIMESTAMP}_git-${VERSION}.exe"
|
||||||
SetCompressor /SOLID lzma
|
SetCompressor /SOLID lzma
|
||||||
InstallDir "$PROGRAMFILES\Cockatrice"
|
InstallDir "$PROGRAMFILES\Cockatrice"
|
||||||
|
|
||||||
|
; set the Qt install dir here (and make sure you use the latest 4.8 version for packaging)
|
||||||
|
!define QTDIR "C:\Qt\4.8.6"
|
||||||
|
|
||||||
!define MUI_ABORTWARNING
|
!define MUI_ABORTWARNING
|
||||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "leftimage.bmp"
|
!define MUI_WELCOMEFINISHPAGE_BITMAP "leftimage.bmp"
|
||||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "leftimage.bmp"
|
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "leftimage.bmp"
|
||||||
|
@ -34,35 +37,33 @@ InstallDir "$PROGRAMFILES\Cockatrice"
|
||||||
!insertmacro MUI_LANGUAGE "English"
|
!insertmacro MUI_LANGUAGE "English"
|
||||||
|
|
||||||
Section "Application" SecApplication
|
Section "Application" SecApplication
|
||||||
|
SetShellVarContext all
|
||||||
SetOutPath "$INSTDIR"
|
SetOutPath "$INSTDIR"
|
||||||
File ..\build\cockatrice\cockatrice.exe
|
File ..\build\cockatrice\Release\cockatrice.exe
|
||||||
File ..\build\oracle\oracle.exe
|
File ..\build\oracle\Release\oracle.exe
|
||||||
File ..\doc\usermanual\Usermanual.pdf
|
File ..\doc\usermanual\Usermanual.pdf
|
||||||
File C:\MinGW\bin\libstdc++-6.dll
|
File ..\build\protobuf-2.5.0\protobuf-2.5.0\vsprojects\Release\libprotobuf.lib
|
||||||
File C:\MinGW\bin\libgcc_s_dw2-1.dll
|
File "${QTDIR}\bin\QtCore4.dll"
|
||||||
File C:\MinGW\bin\mingwm10.dll
|
File "${QTDIR}\bin\QtGui4.dll"
|
||||||
File C:\MinGW\bin\libprotobuf-8.dll
|
File "${QTDIR}\bin\QtNetwork4.dll"
|
||||||
File C:\Qt\4.8.4\bin\QtCore4.dll
|
File "${QTDIR}\bin\QtSvg4.dll"
|
||||||
File C:\Qt\4.8.4\bin\QtGui4.dll
|
File "${QTDIR}\bin\QtXml4.dll"
|
||||||
File C:\Qt\4.8.4\bin\QtNetwork4.dll
|
File "${QTDIR}\bin\QtMultimedia4.dll"
|
||||||
File C:\Qt\4.8.4\bin\QtSvg4.dll
|
|
||||||
File C:\Qt\4.8.4\bin\QtXml4.dll
|
|
||||||
File C:\Qt\4.8.4\bin\QtMultimedia4.dll
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\zonebg"
|
SetOutPath "$INSTDIR\zonebg"
|
||||||
File /r ..\zonebg\*.*
|
File /r ..\zonebg\*.*
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\plugins"
|
SetOutPath "$INSTDIR\plugins"
|
||||||
SetOutPath "$INSTDIR\plugins\codecs"
|
SetOutPath "$INSTDIR\plugins\codecs"
|
||||||
File C:\Qt\4.8.4\plugins\codecs\qcncodecs4.dll
|
File "${QTDIR}\plugins\codecs\qcncodecs4.dll"
|
||||||
File C:\Qt\4.8.4\plugins\codecs\qjpcodecs4.dll
|
File "${QTDIR}\plugins\codecs\qjpcodecs4.dll"
|
||||||
File C:\Qt\4.8.4\plugins\codecs\qkrcodecs4.dll
|
File "${QTDIR}\plugins\codecs\qkrcodecs4.dll"
|
||||||
File C:\Qt\4.8.4\plugins\codecs\qtwcodecs4.dll
|
File "${QTDIR}\plugins\codecs\qtwcodecs4.dll"
|
||||||
SetOutPath "$INSTDIR\plugins\iconengines"
|
SetOutPath "$INSTDIR\plugins\iconengines"
|
||||||
File C:\Qt\4.8.4\plugins\iconengines\qsvgicon4.dll
|
File "${QTDIR}\plugins\iconengines\qsvgicon4.dll"
|
||||||
SetOutPath "$INSTDIR\plugins\imageformats"
|
SetOutPath "$INSTDIR\plugins\imageformats"
|
||||||
File C:\Qt\4.8.4\plugins\imageformats\qjpeg4.dll
|
File "${QTDIR}\plugins\imageformats\qjpeg4.dll"
|
||||||
File C:\Qt\4.8.4\plugins\imageformats\qsvg4.dll
|
File "${QTDIR}\plugins\imageformats\qsvg4.dll"
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\sounds"
|
SetOutPath "$INSTDIR\sounds"
|
||||||
File /r ..\sounds\*.*
|
File /r ..\sounds\*.*
|
||||||
|
@ -70,9 +71,9 @@ Section "Application" SecApplication
|
||||||
SetOutPath "$INSTDIR\translations"
|
SetOutPath "$INSTDIR\translations"
|
||||||
File /r ..\build\cockatrice\*.qm
|
File /r ..\build\cockatrice\*.qm
|
||||||
|
|
||||||
WriteUninstaller "$INSTDIR\uninstall.exe"
|
WriteUninstaller "$INSTDIR\uninstall.exe"
|
||||||
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
|
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
|
||||||
IntFmt $0 "0x%08X" $0
|
IntFmt $0 "0x%08X" $0
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "DisplayName" "Cockatrice"
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "DisplayName" "Cockatrice"
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
|
||||||
|
@ -96,38 +97,36 @@ Section "Start menu item" SecStartMenu
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
Section Uninstall
|
Section Uninstall
|
||||||
RMDir /r "$INSTDIR\zonebg"
|
SetShellVarContext all
|
||||||
RMDir /r "$INSTDIR\plugins"
|
RMDir /r "$INSTDIR\zonebg"
|
||||||
RMDir /r "$INSTDIR\sounds"
|
RMDir /r "$INSTDIR\plugins"
|
||||||
|
RMDir /r "$INSTDIR\sounds"
|
||||||
RMDir /r "$INSTDIR\translations"
|
RMDir /r "$INSTDIR\translations"
|
||||||
Delete "$INSTDIR\uninstall.exe"
|
Delete "$INSTDIR\uninstall.exe"
|
||||||
Delete "$INSTDIR\cockatrice.exe"
|
Delete "$INSTDIR\cockatrice.exe"
|
||||||
Delete "$INSTDIR\oracle.exe"
|
Delete "$INSTDIR\oracle.exe"
|
||||||
Delete "$INSTDIR\Usermanual.pdf"
|
Delete "$INSTDIR\Usermanual.pdf"
|
||||||
Delete "$INSTDIR\libstdc++-6.dll"
|
Delete "$INSTDIR\libprotobuf.lib"
|
||||||
Delete "$INSTDIR\libprotobuf-8.dll"
|
Delete "$INSTDIR\QtCore4.dll"
|
||||||
Delete "$INSTDIR\libgcc_s_dw2-1.dll"
|
Delete "$INSTDIR\QtGui4.dll"
|
||||||
Delete "$INSTDIR\mingwm10.dll"
|
Delete "$INSTDIR\QtNetwork4.dll"
|
||||||
Delete "$INSTDIR\QtCore4.dll"
|
Delete "$INSTDIR\QtSvg4.dll"
|
||||||
Delete "$INSTDIR\QtGui4.dll"
|
Delete "$INSTDIR\QtXml4.dll"
|
||||||
Delete "$INSTDIR\QtNetwork4.dll"
|
|
||||||
Delete "$INSTDIR\QtSvg4.dll"
|
|
||||||
Delete "$INSTDIR\QtXml4.dll"
|
|
||||||
Delete "$INSTDIR\QtMultimedia4.dll"
|
Delete "$INSTDIR\QtMultimedia4.dll"
|
||||||
RMDir "$INSTDIR"
|
RMDir "$INSTDIR"
|
||||||
|
|
||||||
RMDir /r "$SMPROGRAMS\Cockatrice"
|
RMDir /r "$SMPROGRAMS\Cockatrice"
|
||||||
|
|
||||||
DeleteRegKey HKCU "Software\Cockatrice"
|
DeleteRegKey HKCU "Software\Cockatrice"
|
||||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice"
|
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cockatrice"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
LangString DESC_SecApplication ${LANG_ENGLISH} "Cockatrice program files"
|
LangString DESC_SecApplication ${LANG_ENGLISH} "Cockatrice program files"
|
||||||
LangString DESC_SecUpdateConfig ${LANG_ENGLISH} "Update the paths in the application settings according to the installation paths."
|
LangString DESC_SecUpdateConfig ${LANG_ENGLISH} "Update the paths in the application settings according to the installation paths."
|
||||||
LangString DESC_SecStartMenu ${LANG_ENGLISH} "Create start menu items for Cockatrice and Oracle."
|
LangString DESC_SecStartMenu ${LANG_ENGLISH} "Create start menu items for Cockatrice and Oracle."
|
||||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecApplication} $(DESC_SecApplication)
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecApplication} $(DESC_SecApplication)
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecUpdateConfig} $(DESC_SecUpdateConfig)
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecUpdateConfig} $(DESC_SecUpdateConfig)
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} $(DESC_SecStartMenu)
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} $(DESC_SecStartMenu)
|
||||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,11 @@ INCLUDE_DIRECTORIES(../cockatrice/src)
|
||||||
|
|
||||||
# Build oracle binary and link it
|
# Build oracle binary and link it
|
||||||
ADD_EXECUTABLE(oracle WIN32 MACOSX_BUNDLE ${oracle_SOURCES} ${oracle_MOC_SRCS})
|
ADD_EXECUTABLE(oracle WIN32 MACOSX_BUNDLE ${oracle_SOURCES} ${oracle_MOC_SRCS})
|
||||||
TARGET_LINK_LIBRARIES(oracle ${QT_LIBRARIES})
|
TARGET_LINK_LIBRARIES(oracle ${QT_QTMAIN_LIBRARY} ${QT_LIBRARIES})
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
set_target_properties(oracle PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS")
|
||||||
|
endif(MSVC)
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
|
|
Loading…
Reference in a new issue