# HG changeset patch # User unc0rr # Date 1370595069 -14400 # Node ID 1b3014e53eeef78fb14f0b58075472c855d638e1 # Parent 878f06e9c4848ec907bc4e111c8652d88d33cc41# Parent e391e9a19b1cda8a7f3c3eb11780066dc22f866a Merge diff -r 878f06e9c484 -r 1b3014e53eee CMakeLists.txt --- a/CMakeLists.txt Thu Jun 06 00:28:30 2013 +0400 +++ b/CMakeLists.txt Fri Jun 07 12:51:09 2013 +0400 @@ -83,8 +83,8 @@ #versioning set(CPACK_PACKAGE_VERSION_MAJOR 0) set(CPACK_PACKAGE_VERSION_MINOR 9) -set(CPACK_PACKAGE_VERSION_PATCH 19) -set(HEDGEWARS_PROTO_VER 44) +set(CPACK_PACKAGE_VERSION_PATCH 20) +set(HEDGEWARS_PROTO_VER 46) set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") message(STATUS "Building ${HEDGEWARS_VERSION}-r${HEDGEWARS_REVISION} (${HEDGEWARS_HASH})") @@ -255,10 +255,10 @@ #parse additional parameters if(FPFLAGS OR GHFLAGS) if(${allow_parse_args}) - message(${WARNING} "FPFLAGS and GHFLAGS are available only when using CMake >= 2.8") - else() separate_arguments(fpflags_parsed UNIX_COMMAND ${FPFLAGS}) separate_arguments(ghflags_parsed UNIX_COMMAND ${GHFLAGS}) + else() + message(${WARNING} "FPFLAGS and GHFLAGS are available only when using CMake >= 2.8") endif() endif() diff -r 878f06e9c484 -r 1b3014e53eee ChangeLog.txt --- a/ChangeLog.txt Thu Jun 06 00:28:30 2013 +0400 +++ b/ChangeLog.txt Fri Jun 07 12:51:09 2013 +0400 @@ -32,7 +32,7 @@ * Forbid kicking on 1v1 matches * Desync fixes * Fixed fort mode - * Making very large maps now works properly with targetted weapons + * Making very large maps now works properly with targeted weapons * ParseCommand should be safe to use in Lua now, at any time * Fixes to many weapons. Mudball, blowtorch, explosives, cluster bomb spread, portal. diff -r 878f06e9c484 -r 1b3014e53eee QTfrontend/KB.h --- a/QTfrontend/KB.h Thu Jun 06 00:28:30 2013 +0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -/* - * Hedgewars, a free turn based strategy game - * Copyright (c) 2004-2013 Andrey Korotaev - * - * 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 - */ - -#ifndef KB_H -#define KB_H - -#include - -const ulong KBmsgsCount = 1; - -const QString KBMessages[KBmsgsCount] = -{ - QT_TRANSLATE_NOOP("KB", "SDL_ttf returned error while rendering text, " - "most propably it is related to the bug " - "in freetype2. It's recommended to update your " - "freetype lib.") -}; - -#endif // KB_H diff -r 878f06e9c484 -r 1b3014e53eee QTfrontend/res/Hedgehog.png Binary file QTfrontend/res/Hedgehog.png has changed diff -r 878f06e9c484 -r 1b3014e53eee QTfrontend/res/css/qt.css --- a/QTfrontend/res/css/qt.css Thu Jun 06 00:28:30 2013 +0400 +++ b/QTfrontend/res/css/qt.css Fri Jun 07 12:51:09 2013 +0400 @@ -176,15 +176,10 @@ height: 10px; } -QLabel { -overflow: hidden; -} - QComboBox { border-radius: 10px; padding: 3px; height: 18px; -overflow: hidden; } QComboBox:pressed{ border-color: white; diff -r 878f06e9c484 -r 1b3014e53eee QTfrontend/ui/page/pagemain.cpp --- a/QTfrontend/ui/page/pagemain.cpp Thu Jun 06 00:28:30 2013 +0400 +++ b/QTfrontend/ui/page/pagemain.cpp Fri Jun 07 12:51:09 2013 +0400 @@ -136,7 +136,7 @@ #ifdef DEBUG setDefaultDescription(QLabel::tr("This development build is 'work in progress' and may not be compatible with other versions of the game, while some features might be broken or incomplete!")); #else - setDefaultDescription(QLabel::tr("Tip: ") + randomTip()); + setDefaultDescription(QLabel::tr("Tip: %1").arg(randomTip())); #endif } diff -r 878f06e9c484 -r 1b3014e53eee QTfrontend/ui/qaspectratiolayout.cpp --- a/QTfrontend/ui/qaspectratiolayout.cpp Thu Jun 06 00:28:30 2013 +0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,244 +0,0 @@ -/* - * Copyright (c) 2009 Nokia Corporation. - */ - -#include "qaspectratiolayout.h" - -QAspectRatioLayout::QAspectRatioLayout(QWidget* parent, int spacing) : QLayout(parent) -{ - init(spacing); -} - -QAspectRatioLayout::QAspectRatioLayout(int spacing) -{ - init(spacing); -} - -QAspectRatioLayout::~QAspectRatioLayout() -{ - delete item; - delete lastReceivedRect; - delete _geometry; -} - -void QAspectRatioLayout::init(int spacing) -{ - item = 0; - lastReceivedRect = new QRect(0, 0, 0, 0); - _geometry = new QRect(0, 0, 0, 0); - setSpacing(spacing); -} - - -/* Adds item if place isn't already taken. */ -void QAspectRatioLayout::add(QLayoutItem* item) -{ - if(!hasItem()) - { - replaceItem(item); - } -} - -/* Adds item if place isn't already taken. */ -void QAspectRatioLayout::addItem(QLayoutItem* item) -{ - if(!hasItem()) - { - replaceItem(item); - } -} - -/* Adds widget if place isn't already taken. */ -void QAspectRatioLayout::addWidget(QWidget* widget) -{ - if(!hasItem()) - { - replaceItem(new QWidgetItem(widget)); - } -} - -/* Returns the item pointer and dereferences it here. */ -QLayoutItem* QAspectRatioLayout::take() -{ - QLayoutItem* item = 0; - if(this->hasItem()) - { - item = this->item; - this->item = 0; - } - return item; -} - -/* Returns the item pointer and dereferences it here. */ -QLayoutItem* QAspectRatioLayout::takeAt(int index) -{ - if(index != 0) - { - return 0; - } - return this->take(); -} - -/* Returns the item pointer. */ -QLayoutItem* QAspectRatioLayout::itemAt(int index) const -{ - if(index != 0) - { - return 0; - } - if(hasItem()) - { - return this->item; - } - return 0; -} - -/* Checks if we have an item. */ -bool QAspectRatioLayout::hasItem() const -{ - return this->item != 0; -} - -/* Returns the count of items which can be either 0 or 1. */ -int QAspectRatioLayout::count() const -{ - int returnValue = 0; - if(hasItem()) - { - returnValue = 1; - } - return returnValue; -} - -/* Replaces the item with the new and returns the old. */ -QLayoutItem* QAspectRatioLayout::replaceItem(QLayoutItem* item) -{ - QLayoutItem* old = 0; - if(this->hasItem()) - { - old = this->item; - } - this->item = item; - setGeometry(*this->_geometry); - return old; -} - -/* Tells which way layout expands. */ -Qt::Orientations QAspectRatioLayout::expandingDirections() const -{ - return Qt::Horizontal | Qt::Vertical; -} - -/* Tells which size is preferred. */ -QSize QAspectRatioLayout::sizeHint() const -{ - return this->item->minimumSize(); -} - -/* Tells minimum size. */ -QSize QAspectRatioLayout::minimumSize() const -{ - return this->item->minimumSize(); -} - -/* - * Tells if heightForWidth calculations is handled. - * It isn't since width isn't enough to calculate - * proper size. - */ -bool QAspectRatioLayout::hasHeightForWidth() const -{ - return false; -} - -/* Replaces lastReceivedRect. */ -void QAspectRatioLayout::setLastReceivedRect(const QRect& rect) -{ - QRect* oldRect = this->lastReceivedRect; - this->lastReceivedRect = new QRect(rect.topLeft(), rect.size()); - delete oldRect; -} - -/* Returns geometry */ -QRect QAspectRatioLayout::geometry() -{ - return QRect(*this->_geometry); -} - -/* Sets geometry to given size. */ -void QAspectRatioLayout::setGeometry(const QRect& rect) -{ - /* - * We check if the item is set and - * if size is the same previously received. - * If either is false nothing is done. - */ - if(!this->hasItem() || - areRectsEqual(*this->lastReceivedRect, rect)) - { - return; - } - /* Replace the last received rectangle. */ - setLastReceivedRect(rect); - /* Calculate proper size for the item relative to the received size. */ - QSize properSize = calculateProperSize(rect.size()); - /* Calculate center location in the rect and with item size. */ - QPoint properLocation = calculateCenterLocation(rect.size(), properSize); - /* Set items geometry */ - this->item->setGeometry(QRect(properLocation, properSize)); - QRect* oldRect = this->_geometry; - /* Cache the calculated geometry. */ - this->_geometry = new QRect(properLocation, properSize); - delete oldRect; - /* Super classes setGeometry */ - QLayout::setGeometry(*this->_geometry); -} - -/* Takes the shortest side and creates QSize - * with the shortest side as width and height. */ -QSize QAspectRatioLayout::calculateProperSize(QSize from) const -{ - QSize properSize; - if(from.height() * 2 < from.width()) - { - properSize.setHeight(from.height() - this->margin()); - properSize.setWidth(from.height() * 2 - this->margin()); - } - else - { - properSize.setWidth(from.width() - this->margin()); - properSize.setHeight(from.width() / 2 - this->margin()); - } - return properSize; -} - -/* Calculates center location from the given height and width for item size. */ -QPoint QAspectRatioLayout::calculateCenterLocation(QSize from, - QSize itemSize) const -{ - QPoint centerLocation; - if((from.width() - itemSize.width()) > 0) - { - centerLocation.setX((from.width() - itemSize.width())/2); - } - if((from.height() - itemSize.height()) > 0) - { - centerLocation.setY((from.height() - itemSize.height())/2); - } - return centerLocation; -} - -/* Compares if two QRects are equal. */ -bool QAspectRatioLayout::areRectsEqual(const QRect& a, - const QRect& b) const -{ - bool result = false; - if(a.x() == b.x() && - a.y() == b.y() && - a.height() == b.height() && - a.width() == b.width()) - { - result = true; - } - return result; -} diff -r 878f06e9c484 -r 1b3014e53eee QTfrontend/ui/qaspectratiolayout.h --- a/QTfrontend/ui/qaspectratiolayout.h Thu Jun 06 00:28:30 2013 +0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ -/* - * Copyright (c) 2009 Nokia Corporation. - */ - -#ifndef QASPECTRATIOLAYOUT_H_ -#define QASPECTRATIOLAYOUT_H_ - -#include -#include -#include -#include -#include - - -class QAspectRatioLayout : public QLayout -{ - Q_OBJECT - - public: - QAspectRatioLayout(QWidget* parent, int spacing =-1); - QAspectRatioLayout(int spacing = -1); - ~QAspectRatioLayout(); - - /* Convenience method */ - virtual void add(QLayoutItem* item); - - /* http://doc.trolltech.com/qlayout.html#addItem */ - virtual void addItem(QLayoutItem* item); - /* http://doc.trolltech.com/qlayout.html#addWidget */ - virtual void addWidget(QWidget* widget); - /* http://doc.trolltech.com/qlayout.html#takeAt */ - virtual QLayoutItem* takeAt(int index); - /* http://doc.trolltech.com/qlayout.html#itemAt */ - virtual QLayoutItem* itemAt(int index) const; - /* http://doc.trolltech.com/qlayout.html#count */ - virtual int count() const; - - /* - * These are ours since we do have only one item. - */ - virtual QLayoutItem* replaceItem(QLayoutItem* item); - virtual QLayoutItem* take(); - virtual bool hasItem() const; - - /* http://doc.trolltech.com/qlayout.html#expandingDirections */ - virtual Qt::Orientations expandingDirections() const; - - /* - * This method contains most of the juice of this article. - * http://doc.trolltech.com/qlayoutitem.html#setGeometry - */ - virtual void setGeometry(const QRect& rect); - /* http://doc.trolltech.com/qlayoutitem.html#geometry */ - virtual QRect geometry(); - - /* http://doc.trolltech.com/qlayoutitem.html#sizeHint */ - virtual QSize sizeHint() const; - /* http://doc.trolltech.com/qlayout.html#minimumSize */ - virtual QSize minimumSize() const; - /* http://doc.trolltech.com/qlayoutitem.html#hasHeightForWidth */ - virtual bool hasHeightForWidth() const; - - private: - /* Saves the last received rect. */ - void setLastReceivedRect(const QRect& rect); - /* Used to initialize the object. */ - void init(int spacing); - /* Calculates the maximum size for the item from the assigned size. */ - QSize calculateProperSize(QSize from) const; - /* Calculates the center location from the assigned size and - * the items size. */ - QPoint calculateCenterLocation(QSize from, QSize itemSize) const; - /* Check if two QRects are equal */ - bool areRectsEqual(const QRect& a, const QRect& b) const; - /* Contains item reference */ - QLayoutItem* item; - /* - * Used for caching so we won't do calculations every time - * setGeometry is called. - */ - QRect* lastReceivedRect; - /* Contains geometry */ - QRect* _geometry; - -}; - -#endif /* QASPECTRATIOLAYOUT_H_ */ diff -r 878f06e9c484 -r 1b3014e53eee QTfrontend/ui/widget/about.cpp --- a/QTfrontend/ui/widget/about.cpp Thu Jun 06 00:28:30 2013 +0400 +++ b/QTfrontend/ui/widget/about.cpp Fri Jun 07 12:51:09 2013 +0400 @@ -52,11 +52,8 @@ QLabel *imageLabel = new QLabel; QImage image(":/res/Hedgehog.png"); imageLabel->setPixmap(QPixmap::fromImage(image)); - imageLabel->setScaledContents(true); - imageLabel->setMinimumWidth(2.8); - imageLabel->setMaximumWidth(280); - imageLabel->setMinimumHeight(30); - imageLabel->setMaximumHeight(300); + imageLabel->setFixedWidth(273); + imageLabel->setFixedHeight(300); leftLayout->addWidget(imageLabel, 0, Qt::AlignHCenter); diff -r 878f06e9c484 -r 1b3014e53eee QTfrontend/ui/widget/chatwidget.cpp --- a/QTfrontend/ui/widget/chatwidget.cpp Thu Jun 06 00:28:30 2013 +0400 +++ b/QTfrontend/ui/widget/chatwidget.cpp Fri Jun 07 12:51:09 2013 +0400 @@ -176,7 +176,7 @@ QWidget(parent), mainLayout(this) { - this->gameSettings = gameSettings; + this->gameSettings = NULL; this->notify = notify; m_isAdmin = false; diff -r 878f06e9c484 -r 1b3014e53eee QTfrontend/ui/widget/drawmapwidget.cpp --- a/QTfrontend/ui/widget/drawmapwidget.cpp Thu Jun 06 00:28:30 2013 +0400 +++ b/QTfrontend/ui/widget/drawmapwidget.cpp Fri Jun 07 12:51:09 2013 +0400 @@ -62,8 +62,43 @@ { Q_UNUSED(event); + int height = this->height(); + int width = this->width(); + + if ((m_scene->height() > 0) && (m_scene->width() > 0) && (height > 0)) + { + qreal saspect = m_scene->width() / m_scene->height(); + + qreal h = height; + qreal w = width; + qreal waspect = w / h; + + if (waspect < saspect) + { + h = w / saspect; + } + else if (waspect > saspect) + { + w = saspect * h; + } + + int fixedh = (int)h; + int fixedw = (int)w; + + if (ui->graphicsView->width() != fixedw) + { + ui->graphicsView->setFixedWidth(fixedw); + } + + if (ui->graphicsView->height() != fixedh) + { + ui->graphicsView->setFixedHeight(fixedh); + } + + } + if(ui->graphicsView && ui->graphicsView->scene()) - ui->graphicsView->fitInView(ui->graphicsView->scene()->sceneRect(), Qt::KeepAspectRatio); + ui->graphicsView->fitInView(m_scene->sceneRect(), Qt::KeepAspectRatio); } void DrawMapWidget::showEvent(QShowEvent * event) diff -r 878f06e9c484 -r 1b3014e53eee QTfrontend/ui/widget/drawmapwidget.h --- a/QTfrontend/ui/widget/drawmapwidget.h Thu Jun 06 00:28:30 2013 +0400 +++ b/QTfrontend/ui/widget/drawmapwidget.h Fri Jun 07 12:51:09 2013 +0400 @@ -25,7 +25,6 @@ #include #include -#include "qaspectratiolayout.h" #include "drawmapscene.h" @@ -61,12 +60,13 @@ QVBoxLayout * vbox = new QVBoxLayout(drawMapWidget); vbox->setMargin(0); lblPoints = new QLabel("0", drawMapWidget); - vbox->addWidget(lblPoints); - QAspectRatioLayout * arLayout = new QAspectRatioLayout(); - arLayout->setMargin(0); + QLayout * arLayout = new QVBoxLayout(); + arLayout->setAlignment(Qt::AlignCenter); vbox->addLayout(arLayout); graphicsView = new DrawMapView(drawMapWidget); + graphicsView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + graphicsView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); arLayout->addWidget(graphicsView); retranslateUi(drawMapWidget); diff -r 878f06e9c484 -r 1b3014e53eee QTfrontend/ui_hwform.cpp --- a/QTfrontend/ui_hwform.cpp Thu Jun 06 00:28:30 2013 +0400 +++ b/QTfrontend/ui_hwform.cpp Fri Jun 07 12:51:09 2013 +0400 @@ -56,7 +56,7 @@ HWForm->setMinimumSize(QSize(720, 450)); QString title = QMainWindow::tr("Hedgewars %1").arg(*cVersionString); #ifdef DEBUG - title += QMainWindow::tr("-r%1 (%2)").arg(*cRevisionString, *cHashString); + title += QString("-r%1 (%2)").arg(*cRevisionString, *cHashString); #endif HWForm->setWindowTitle(title); centralWidget = new QWidget(HWForm); diff -r 878f06e9c484 -r 1b3014e53eee cmake_modules/cpackvars.cmake --- a/cmake_modules/cpackvars.cmake Thu Jun 06 00:28:30 2013 +0400 +++ b/cmake_modules/cpackvars.cmake Fri Jun 07 12:51:09 2013 +0400 @@ -35,6 +35,7 @@ ".swp" #version control "\\\\.hg" + "\\\\.orig$" #output binary/library "\\\\.exe$" "\\\\.a$" @@ -53,11 +54,10 @@ "\\\\.sifz$" #misc "\\\\.core$" - "\\\\.sh$" - "\\\\.orig$" "\\\\.layout$" "\\\\.db$" "\\\\.dof$" + "\\\\.or$" #archives "\\\\.zip$" "\\\\.gz$" @@ -68,8 +68,12 @@ "config\\\\.inc$" "hwengine\\\\.desktop$" "Info\\\\.plist$" + #qt extra files + "moc_.*\\\\.cxx_parameters" + "\\\\.qrc.depends$" + "\\\\.qm$" #other cmake generated files - "Makefile" + "Makefile$" "Doxyfile" "CMakeFiles" "[dD]ebug$" @@ -85,6 +89,7 @@ # "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/frontlib" # "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/cmdlineClient" "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge" + "^${CMAKE_CURRENT_SOURCE_DIR}/misc/winutils/bin" "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/promotional_art" "^${CMAKE_CURRENT_SOURCE_DIR}/tools/templates" "^${CMAKE_CURRENT_SOURCE_DIR}/tools/drawMapTest" diff -r 878f06e9c484 -r 1b3014e53eee hedgewars/GL.h --- a/hedgewars/GL.h Thu Jun 06 00:28:30 2013 +0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -#pragma once - -#include diff -r 878f06e9c484 -r 1b3014e53eee hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Thu Jun 06 00:28:30 2013 +0400 +++ b/hedgewars/GSHandlers.inc Fri Jun 07 12:51:09 2013 +0400 @@ -5135,7 +5135,7 @@ HHGear, iter: PGear; landRect: TSDL_Rect; ndX, ndY: hwFloat; - i, j, t, gX, gY: LongInt; + i, t, gX, gY: LongInt; hogs: PGearArrayS; vg: PVisualGear; begin diff -r 878f06e9c484 -r 1b3014e53eee hedgewars/Math.h --- a/hedgewars/Math.h Thu Jun 06 00:28:30 2013 +0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -#pragma once - diff -r 878f06e9c484 -r 1b3014e53eee hedgewars/SDLh.pas --- a/hedgewars/SDLh.pas Thu Jun 06 00:28:30 2013 +0400 +++ b/hedgewars/SDLh.pas Fri Jun 07 12:51:09 2013 +0400 @@ -35,12 +35,6 @@ {$ENDIF} {$IFDEF UNIX} - {$IFNDEF DARWIN} - {necessary for statically linking physfs (divdi3 undefined on 32 bit)} - {$IFDEF CPU32} - {$linklib stdc++} - {$ENDIF} - {$ENDIF} {$IFDEF HAIKU} {$linklib root} {$ELSE} diff -r 878f06e9c484 -r 1b3014e53eee hedgewars/SysUtils.h diff -r 878f06e9c484 -r 1b3014e53eee hedgewars/Types.h diff -r 878f06e9c484 -r 1b3014e53eee hedgewars/uAIAmmoTests.pas --- a/hedgewars/uAIAmmoTests.pas Thu Jun 06 00:28:30 2013 +0400 +++ b/hedgewars/uAIAmmoTests.pas Fri Jun 07 12:51:09 2013 +0400 @@ -20,7 +20,7 @@ unit uAIAmmoTests; interface -uses SDLh, uConsts, uFloat, uTypes, uAIMisc; +uses uConsts, uFloat, uTypes, uAIMisc; const amtest_Rare = $00000001; // check only several positions amtest_NoTarget = $00000002; // each pos, but no targetting @@ -681,7 +681,7 @@ function TestDesertEagle(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt; var Vx, Vy, x, y, t: real; d: Longword; - fallDmg, valueResult: LongInt; + {fallDmg, }valueResult: LongInt; begin if (Level > 4) or (Targ.Score < 0) or (Targ.Kind <> gtHedgehog) then exit(BadTurn); Level:= Level; // avoid compiler hint @@ -724,7 +724,7 @@ function TestSniperRifle(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams): LongInt; var Vx, Vy, x, y, t, dmg: real; d: Longword; - fallDmg: LongInt; + //fallDmg: LongInt; begin if (Level > 3) or (Targ.Score < 0) or (Targ.Kind <> gtHedgehog) then exit(BadTurn); Level:= Level; // avoid compiler hint diff -r 878f06e9c484 -r 1b3014e53eee hedgewars/uAIMisc.pas --- a/hedgewars/uAIMisc.pas Thu Jun 06 00:28:30 2013 +0400 +++ b/hedgewars/uAIMisc.pas Fri Jun 07 12:51:09 2013 +0400 @@ -113,7 +113,7 @@ Targets.reset:= false; end; procedure FillTargets; -var i, t: Longword; +var //i, t: Longword; f, e: LongInt; Gear: PGear; begin diff -r 878f06e9c484 -r 1b3014e53eee hedgewars/uGearsHedgehog.pas --- a/hedgewars/uGearsHedgehog.pas Thu Jun 06 00:28:30 2013 +0400 +++ b/hedgewars/uGearsHedgehog.pas Fri Jun 07 12:51:09 2013 +0400 @@ -808,7 +808,8 @@ var da: LongWord; begin with HHGear^.Hedgehog^ do - if ((CurAmmoGear <> nil) and (CurAmmoGear^.AmmoType = amRope) and ((HHGear^.State and (gstMoving or gstHHJumping)) = gstMoving)) + if (((CurAmmoType = amRope) or ((CurAmmoGear <> nil) and (CurAmmoGear^.AmmoType = amRope))) and + ((HHGear^.State and (gstMoving or gstHHJumping)) = gstMoving)) or ((CurAmmoType = amPortalGun) and ((HHGear^.State and gstMoving) <> 0)) then da:= 2 else da:= 1; diff -r 878f06e9c484 -r 1b3014e53eee hedgewars/uPhysFSLayer.pas --- a/hedgewars/uPhysFSLayer.pas Thu Jun 06 00:28:30 2013 +0400 +++ b/hedgewars/uPhysFSLayer.pas Fri Jun 07 12:51:09 2013 +0400 @@ -11,18 +11,8 @@ {$linklib physlayer} {statically linking physfs brings IOKit dependency on OSX} - {divdi3 is found in stdc++ on linux x86 and in gcc_s.1 on osx ppc32} - {$IFDEF PHYSFS_INTERNAL} - {$IFDEF DARWIN} - {$linkframework IOKit} - {$IFDEF CPU32} - {$linklib gcc_s.1} - {$ENDIF} - {$ELSE} - {$IFDEF CPU32} - {$linklib stdc++} - {$ENDIF} - {$ENDIF} + {$IFDEF DARWIN} + {$linkframework IOKit} {$ENDIF} {$ENDIF} diff -r 878f06e9c484 -r 1b3014e53eee hedgewars/uTeams.pas --- a/hedgewars/uTeams.pas Thu Jun 06 00:28:30 2013 +0400 +++ b/hedgewars/uTeams.pas Fri Jun 07 12:51:09 2013 +0400 @@ -110,7 +110,7 @@ end; procedure SwitchHedgehog; -var c, i, t, j: LongWord; +var c, i, t: LongWord; PrevHH, PrevTeam : LongWord; begin TargetPoint.X:= NoPointX; diff -r 878f06e9c484 -r 1b3014e53eee misc/libphysfs/CMakeLists.txt --- a/misc/libphysfs/CMakeLists.txt Thu Jun 06 00:28:30 2013 +0400 +++ b/misc/libphysfs/CMakeLists.txt Fri Jun 07 12:51:09 2013 +0400 @@ -35,6 +35,15 @@ include(CheckCSourceCompiles) +# 32bit platforms won't link unless this is set +# although Windows doesn't like it +if(NOT WINDOWS) + if(CMAKE_SIZEOF_VOID_P LESS 8) + add_definitions(-DPHYSFS_NO_64BIT_SUPPORT=1) + endif(CMAKE_SIZEOF_VOID_P LESS 8) +endif(NOT WINDOWS) + + if(MACOSX) # Fallback to older OS X on PowerPC to support wider range of systems... if(CMAKE_OSX_ARCHITECTURES MATCHES ppc) diff -r 878f06e9c484 -r 1b3014e53eee misc/libphysfs/physfs_internal.h --- a/misc/libphysfs/physfs_internal.h Thu Jun 06 00:28:30 2013 +0400 +++ b/misc/libphysfs/physfs_internal.h Fri Jun 07 12:51:09 2013 +0400 @@ -322,8 +322,13 @@ #define __PHYSFS_ARRAYLEN(x) ( (sizeof (x)) / (sizeof (x[0])) ) #ifdef PHYSFS_NO_64BIT_SUPPORT -#define __PHYSFS_SI64(x) ((PHYSFS_sint64) (x)) -#define __PHYSFS_UI64(x) ((PHYSFS_uint64) (x)) +/* if a 32bit compiler sees something with this many bits: 0xFFFFFFFFFFFFFFFF + * it doesn't know if it really means 64bit or if it's supposed to squeeze + * it into 32 bit, so without the ULL it squeezes the number to 32 bit, + * with it it forces it to be 64bits + */ +#define __PHYSFS_SI64(x) ((PHYSFS_sint64) (x##LL)) +#define __PHYSFS_UI64(x) ((PHYSFS_uint64) (x##ULL)) #elif (defined __GNUC__) #define __PHYSFS_SI64(x) x##LL #define __PHYSFS_UI64(x) x##ULL diff -r 878f06e9c484 -r 1b3014e53eee project_files/hedgewars.pro --- a/project_files/hedgewars.pro Thu Jun 06 00:28:30 2013 +0400 +++ b/project_files/hedgewars.pro Fri Jun 07 12:51:09 2013 +0400 @@ -44,7 +44,6 @@ ../QTfrontend/ui/page/pagenetserver.h \ ../QTfrontend/ui/page/pagegamestats.h \ ../QTfrontend/ui/dialog/input_ip.h \ - ../QTfrontend/ui/qaspectratiolayout.h \ ../QTfrontend/ui/widget/bgwidget.h \ ../QTfrontend/ui/widget/fpsedit.h \ ../QTfrontend/ui/widget/FreqSpinBox.h \ @@ -123,7 +122,6 @@ ../QTfrontend/model/MapModel.cpp \ ../QTfrontend/model/ThemeModel.cpp \ ../QTfrontend/model/netserverslist.cpp \ - ../QTfrontend/ui/qaspectratiolayout.cpp \ ../QTfrontend/ui/page/pagemain.cpp \ ../QTfrontend/ui/page/pagetraining.cpp \ ../QTfrontend/ui/page/pageroomslist.cpp \ diff -r 878f06e9c484 -r 1b3014e53eee share/hedgewars/Data/Locale/de.txt --- a/share/hedgewars/Data/Locale/de.txt Thu Jun 06 00:28:30 2013 +0400 +++ b/share/hedgewars/Data/Locale/de.txt Fri Jun 07 12:51:09 2013 +0400 @@ -120,22 +120,22 @@ 02:00=Schlecht, schlecht, %1 … 02:00=%1 sollte lieber WarMUX spielen 02:00=%1 hat versucht, die Kugeln mit den Zähnen zu fangen -02:00=%1 findet seinen Platz in der Walhall +02:00=%1 findet einen Platz in der Walhall 02:00=%1 geht den Weg der Dinosaurier 02:00=%1 bringt die Igelspezies einen Schritt näher zum Aussterben 02:00=%1 wird vermisst werden 02:00=%1 ist ab jetzt ein Ex-Igel 02:00=%1 sieht sich die Radieschen von unten an -02:00=%1 hat aufgehört, zu sein +02:00=%1 hat aufgehört zu existieren 02:00=Verabschieden Sie sich von %1 02:00=Für %1 gibt es keine Hoffnung mehr 02:00=%1 trat von der Lebensbühne ab 02:00=%1 erleidet ein spontanes multiples Organversagen 02:00=%1 ist mausetot -02:00=%1s Lebensuhr ist abgelaufen +02:00=Für %1 ist die Lebensuhr abgelaufen 02:00=Beraubt des Lebens, ruht %1 in Frieden 02:00=%1 hatte eine geringe Schadenstoleranz -02:00=%1 hat all seine Extraleben aufgebraucht +02:00=%1 hat alle Extraleben aufgebraucht 02:00=Ist ein Arzt im Haus?! 02:00=%1 ist tot 02:00=%1 ist hinüber @@ -143,6 +143,13 @@ 02:00=Schade um %1 02:00=Wir trauern um %1 02:00=%1 beißt ins Gras +02:00=%1 ist jetzt im Igel-Himmel +02:00=%1 spielt nicht mehr mit +02:00=%1 ist ausgeschieden +02:00=Hat %1 eigentlich ein Testament gemacht? +02:00=%1 spürt keinen Schmerz mehr +02:00=%1 muss nicht mehr leiden +02:00=%1 hat eine Abkürzung gefunden … ; Hog (%1) drowned 02:01=%1 geht auf Tauchstation! @@ -163,30 +170,29 @@ 02:01=%1 geht unter die Perlentaucher! 02:01=%1 über Bord! 02:01=%1 verlässt das sinkende Schiff -02:01=%1 überschätzt seinen Auftrieb! +02:01=%1 überschätzt den eigenen Auftrieb! 02:01=%1 erliegt dem Sog der Tiefe! 02:01=%1 geht der Sache auf den Grund! 02:01=%1 wäre fast verdurstet! 02:01=%1 macht »Gluck, gluck, gluck!« 02:01=%1 macht »Platsch!« -02:01=%1 vergaß seine Schwimmflügel +02:01=%1 hätte die Schwimmflügel diesmal nicht zu Hause lassen sollen 02:01=%1 hätte Schwimmunterricht nehmen sollen -02:01=%1 ließ sein Surfbrett zu Hause +02:01=%1 ließ das Surfbrett zu Hause 02:01=%1 wird gewaschen 02:01=%1 ist ein nasser Igel -02:01=%1 hat seine Schwimmweste vergessen +02:01=%1 hat die Schwimmweste vergessen 02:01=%1 macht »Plitsch-platsch!« 02:01=%1 sieht durstig aus 02:01=%1 ist auf dem Meer verschollen 02:01=%1 bekommt eine Seebestattung -02:01=%1 übt sein Rückenschwimmen -02:01=%1 geht auf der Suche nach der Titanic +02:01=%1 übt Rückenschwimmen 02:01=%1 ist nicht Jesus 02:01=%1 hat ein Leck 02:01=Wie viele Igel wohl da unten liegen? 02:01=%1 macht das Meer etwas höher 02:01=%1 ist absolut nicht Marinetauglich -02:01=%1 glaubt, er sei ein Fisch +02:01=%1 hält sich für einen Fisch 02:01=Wenigstens ging die Sache nicht ins Klo, %1! 02:01=Sonic konnte nicht schwimmen, %1 auch nicht 02:01=%1 spielt »Flipper der Delphin« @@ -203,6 +209,15 @@ 02:01=%1, Igel, der mit dem Blubb 02:01=Nächster Halt: Meeresgrund 02:01=%1 hätte den Schwimmkurs nicht schwänzen sollen +02:01=Fischers Fritze fischt frische ... Igel?! +02:01=Grüß die Fische von uns, %1! +02:01=%1 erkundet das Meer +02:01=%1 folgt dem Ruf der Meere +02:01=%1 ist jetzt ein Seeigel! +02:01=Igel haben keine Kiemen, %1! +02:01=%1 lässt sich diese einmalige Tauchgelegenheit nicht entgehen +02:01=Und wir dachten %1 könnte nicht noch tiefer sinken … +02:01=%1 zieht eine Etage tiefer ; Round starts 02:02=Auf in die Schlacht! @@ -272,6 +287,8 @@ 02:05=Vorräte! 02:05=Ein Erste-Hilfe-Koffer! 02:05=Ein Grund zur Hoffnung! +02:05=Frisch aus dem Jungbrunnen +02:05=Lebenszeit in Kisten ; New ammo crate 02:06=Nachschub! @@ -295,6 +312,10 @@ 02:06=Lassen Sie nicht zu, dass sich der Feind sie holt! 02:06=Schönes neues Spielzeug! 02:06=Eine geheimnisvolle Kiste! +02:06=Ein eckiges Ü-Ei! +02:06=Die Holzkiste der Pandora! +02:06=Willst du mit mir spielen? +02:06=Quadratisch, praktisch, … gefährlich? ; New utility crate 02:07=Nützliches? @@ -307,6 +328,7 @@ 02:07=Dies sollte gut sein! 02:07=Verwenden Sie diese mit Bedacht 02:07=Uff, diese Box ist schwer +02:07=Futter für Strategen ; Hog (%1) skips his turn 02:08=%1 ist so ein Langeweiler … @@ -346,6 +368,15 @@ 02:08=%1 hat sich fast zu Tode erschrocken 02:08=%1 ist eingeschlafen 02:08=%1 ist wohl nur aus Versehen hier +02:08=%1 steckt den Kopf in den Sand +02:08=%1 spielt lieber Skat +02:08=%1 guckt zu +02:08=%1 vertraut auf das Karma +02:08=%1 igelt sich ein +02:08=%1 zählt Schäfchen +02:08=%1 lässt sich die Sonne auf den Bauch scheinen +02:08=%1 genießt die Stille +02:08=%1 fragt sich ob es schon Zeit für den Winterschlaf ist ; Hog (%1) hurts himself only 02:09=%1 sollte lieber zielen üben! @@ -355,20 +386,17 @@ 02:09=%1 hat keinen Selbsterhaltungstrieb 02:09=%1 ist durcheinander 02:09=%1 vermasselt’s -02:09=Das war ein schlechter Schuss, %1 +02:09=Das hat wohl nicht ganz geklappt, %1 02:09=%1 geht ein wenig zu sorglos mit gefährlichen Waffen um 02:09=%1 sollte eine Änderung der Laufbahn betrachten -02:09=Das. War. Schlecht! 02:09=Nein, nein, nein, %1, Sie müssen auf den Feind schießen! 02:09=%1 bewegt sich einen Schritt näher zum Selbstmord 02:09=%1, Helfer des Feindes -02:09=Das war dumm, %1 +02:09=%1 hatte das anders geplant 02:09=%1 lebt nach dem Mantra des »Ohne Schmerz kein Sieg!« 02:09=%1 ist verwirrt -02:09=%1 ist geistig verwirrt 02:09=%1 verletzt sich selbst 02:09=%1 blamiert sich! -02:09=%1 ist ein Trottel! 02:09=%1 ist ungeschickt 02:09=%1 zeigt dem Feind, wozu er fähig ist 02:09=%1 ist nicht perfekt @@ -378,8 +406,15 @@ 02:09=Wie peinlich! 02:09=Ich hoffe, dass das niemand gesehen hat, %1 02:09=%1 sollte dringend die Gebrauchsanweisung noch einmal durchlesen -02:09=%1s hat eindeutig versagt 02:09=%1s Schuss ging nach hinten los! +02:09=%1 macht sich mit den Waffen vertraut +02:09=%1 schießt ein Eigentor +02:09=%1 kennt keinen Schmerz +02:09=%1 mag Bumerangs und Jo-Jos +02:09=Wer Anderen eine Grube gräbt … +02:09=%1 wird vom Pech verfolgt +02:09=Auch %1 macht mal Fehler +02:09=Hoppla?! ; Hog (%1) shot an home run (using the bat and another hog) 02:10=Home Run! @@ -389,6 +424,10 @@ 02:10=%1 vor, noch ein Tor! 02:10=Ausgezeichnet, %1! 02:10=Bravo, %1! +02:10=Sehr sportlich, %1! +02:10=Flieg, Iglein, flieg! +02:10=%1 lässt Igel fliegen +02:10=%1 ist Physikstudent ; Hog (%1) has to leave (team is gone) 02:11=%1 muss ins Bett! @@ -406,6 +445,10 @@ 02:11=%1 verschwindet 02:11=%1 ist futsch 02:11=%1 hat wohl besseres zu tun +02:11=%1 löst sich in Luft auf +02:11=%1 bringt den Müll raus +02:11=%1 flieht +02:11=%1 braucht Urlaub ; Weapon Categories 03:00=Zeitzünder-Granate diff -r 878f06e9c484 -r 1b3014e53eee share/hedgewars/Data/Locale/hedgewars_de.ts --- a/share/hedgewars/Data/Locale/hedgewars_de.ts Thu Jun 06 00:28:30 2013 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_de.ts Fri Jun 07 12:51:09 2013 +0400 @@ -939,7 +939,7 @@ Play a game across a network - Spiele über ein Netwerk + Spiele über ein Netzwerk Read about who is behind the Hedgewars Project @@ -2154,7 +2154,7 @@ Netgame - Error - Netwerkspiel - Fehler + Netzwerkspiel - Fehler Please select a server from the list diff -r 878f06e9c484 -r 1b3014e53eee share/hedgewars/Data/Locale/hedgewars_pt_PT.ts --- a/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts Thu Jun 06 00:28:30 2013 +0400 +++ b/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts Fri Jun 07 12:51:09 2013 +0400 @@ -100,19 +100,19 @@ We are always happy about suggestions, ideas, or bug reports. - + Estamos sempre abertos a novas sugestões, ideias, ou submissões de bugs encontrados. Send us feedback! - + Envia-nos feedback! If you found a bug, you can see if it's already been reported here: - + Se encontraste um bug, podes verificar se já foi submetido aqui: Your email address is optional, but necessary if you want us to get back at you. - + O teu e-mail é opcional, mas necessário se quiseres que te contactemos de volta. @@ -195,18 +195,18 @@ Scheme '%1' not supported - + Esquema '%1' não suportado Cannot create directory %1 - Não foi possível criar o diretório %1 + Não foi possível criar o diretório %1 Failed to open data directory: %1 Please check your installation! - Erro ao abrir o diretório: + Erro ao abrir o diretório: %1 Por favor verifica a tua instalação! @@ -263,15 +263,15 @@ %1 has joined - + %1 entrou %1 has left - + %1 saíu %1 has left (%2) - + %1 saíu (%2) @@ -384,7 +384,7 @@ This page requires an internet connection. - + Esta página requer ligação à internet @@ -526,7 +526,7 @@ Theme: %1 - + Tema: %1 @@ -606,15 +606,18 @@ If you don't have an account on www.hedgewars.org, just enter your nickname. - + Por favor faz login para aceder ao servidor. + +Se ainda não tens uma conta em www.hedgewars.org, +simplesmente insere o teu nome de utilizador. Nickname: - + Utilizador: Password: - + Password: @@ -770,11 +773,11 @@ PageDataDownload Loading, please wait. - + A carregar, aguarda por favor. This page requires an internet connection. - + Esta página requer ligação à internet. @@ -921,11 +924,11 @@ Play again - + Jogar novamente Save - Gravar + Gravar @@ -1035,11 +1038,11 @@ PageNetServer Click here for details - + Clica aqui para detalhes Insert your address here - + Insere aqui o teu endereço @@ -1996,7 +1999,7 @@ This setting will be effective at next restart. - + Esta opção entrará em efeito quando o jogo for reiniciado. @@ -2385,23 +2388,23 @@ Reset - + Repor Set the default server port for Hedgewars - + Define a porta por omisão do servidor Hedgewars Invite your friends to your server in just 1 click! - + Convida os teus amigos para o teu servidor com apenas 1 click! Click to copy your unique server URL in your clipboard. Send this link to your friends ands and they will be able to join you. - + Clica para copiar o URL do teu servidor. Partilha este link com os teus amigos para que se possam juntar a ti. Start private server - + Iniciar o servidor privado @@ -2516,19 +2519,20 @@ TCPBase Unable to start server at %1. - + Não foi possível iniciar o servidor em %1. Unable to run engine at %1 Error code: %2 - + Não foi possível iniciar o motor de jogo em %1 +Código de erro:: %2 TeamSelWidget At least two teams are required to play! - + São necessárias pelo menos 2 equipas (para jogar)! diff -r 878f06e9c484 -r 1b3014e53eee share/hedgewars/Data/Locale/missions_en.txt --- a/share/hedgewars/Data/Locale/missions_en.txt Thu Jun 06 00:28:30 2013 +0400 +++ b/share/hedgewars/Data/Locale/missions_en.txt Fri Jun 07 12:51:09 2013 +0400 @@ -49,5 +49,5 @@ User_Mission_-_RCPlane_Challenge.name=Challenge: RC Plane User_Mission_-_RCPlane_Challenge.desc="Feeling pretty confident, eh, flyboy?" -portal.name= Mission: Portal training mission +portal.name=Mission: Portal Mind Challenge portal.desc="Use the portal to move fast and far, use it to kill, use it with caution!" diff -r 878f06e9c484 -r 1b3014e53eee share/hedgewars/Data/Locale/missions_fr.txt --- a/share/hedgewars/Data/Locale/missions_fr.txt Thu Jun 06 00:28:30 2013 +0400 +++ b/share/hedgewars/Data/Locale/missions_fr.txt Fri Jun 07 12:51:09 2013 +0400 @@ -45,3 +45,6 @@ User_Mission_-_RCPlane_Challenge.name=Challenge: Avion télécommandé User_Mission_-_RCPlane_Challenge.desc="Plutôt confiant, hein, aviateur ?" + +portal.name=Portal Casse Tête +portal.desc="Utilisez le fusil à portail pour voyager loin et rapidemment ou pour tuer ! Utiliser avec prudence !" diff -r 878f06e9c484 -r 1b3014e53eee share/hedgewars/Data/Locale/pt_PT.lua --- a/share/hedgewars/Data/Locale/pt_PT.lua Thu Jun 06 00:28:30 2013 +0400 +++ b/share/hedgewars/Data/Locale/pt_PT.lua Fri Jun 07 12:51:09 2013 +0400 @@ -779,7 +779,7 @@ ["TIME: "] = "TEMPO: ", -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope ["Toggle Shield"] = "Ligar\Desligar Escudo", --- ["To help you, of course!"] = "", -- A_Classic_Fairytale:journey + ["To help you, of course!"] = "Para te ajudar claro!", -- A_Classic_Fairytale:journey -- ["To place a girder, select it, use [Left] and [Right] to select angle and length, place with [Left Click]"] = "", -- A_Classic_Fairytale:shadow -- ["Torn Muscle"] = "", -- A_Classic_Fairytale:journey -- [" to save the village."] = "", -- A_Classic_Fairytale:dragon @@ -848,14 +848,14 @@ -- ["We have to unite and defeat those cylergs!"] = "Temos de nos unir e derrotar estes ciber-pernudos!", -- A_Classic_Fairytale:enemy ["Welcome, Leaks A Lot!"] = "Bem vindo, Leaks a Lot!", -- A_Classic_Fairytale:journey ["Well done."] = "Bom trabalho.", --- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy + ["We'll give you a problem then!"] = "Nós arranjamos-te um problema então!", -- A_Classic_Fairytale:enemy -- ["We'll spare your life for now!"] = "Vamos poupar a tua vida para ja!", -- A_Classic_Fairytale:backstab -- ["Well, that was a waste of time."] = "Bem, isto foi um desperdicio de tempo.", -- A_Classic_Fairytale:dragon --- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey --- ["Well, yes. This was a cyborg television show."] = "Bem, claro. Isto era um programa de televisão para cyborgs.", -- A_Classic_Fairytale:enemy --- ["We made sure noone followed us!"] = "Certificamo-nos que ninguem nos seguiu!", -- A_Classic_Fairytale:backstab --- ["We need to move!"] = "Temos de nos mover!", -- A_Classic_Fairytale:united --- ["We need to prevent their arrival!"] = "Temos de prevenir que cheguem!", -- A_Classic_Fairytale:backstab +-- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "Bem, bem! Não isto é coisa mais fofa que já alguma vez viste?", -- A_Classic_Fairytale:journey + ["Well, yes. This was a cyborg television show."] = "Bem, claro. Isto era um programa de televisão para cyborgs.", -- A_Classic_Fairytale:enemy + ["We made sure noone followed us!"] = "Certificá-mo-nos que ninguém nos seguiu! que ninguem nos seguiu!", -- A_Classic_Fairytale:backstab + ["We need to move!"] = "Temos de ir!", -- A_Classic_Fairytale:united +-- ["We need to prevent their arrival!"] = "Temos de prevenir a sua chegada!", -- A_Classic_Fairytale:backstab ["We need to warn the village."] = "Temos de avisar a aldeia.", -- A_Classic_Fairytale:shadow -- ["We should head back to the village now."] = "", -- A_Classic_Fairytale:shadow -- ["We were trying to save her and we got lost."] = "Estavamos a tentar salva-la e acabamos por nos perder.", -- A_Classic_Fairytale:family @@ -863,18 +863,18 @@ -- ["What?! A cannibal? Here? There is no time to waste! Come, you are prepared."] = "O quê? Um canibal? Aqui? Não ha tempo a perder! Vem, estás preparado.", -- A_Classic_Fairytale:first_blood ["What a douche!"] = "Que otário!", -- A_Classic_Fairytale:enemy -- ["What am I gonna...eat, yo?"] = "", -- A_Classic_Fairytale:family --- ["What are you doing at a distance so great, young one?"] = "O que estás a tão grande distancia, jovem?", -- A_Classic_Fairytale:first_blood +-- ["What are you doing at a distance so great, young one?"] = "O que estás a fazer a tão grande distancia, jovem?", -- A_Classic_Fairytale:first_blood -- ["What are you doing? Let her go!"] = "Que estás a fazer? Larga-a!", -- A_Classic_Fairytale:journey ["What a ride!"] = "Que viagem!", -- A_Classic_Fairytale:shadow ["What a strange cave!"] = "Que caverna estranha!", -- A_Classic_Fairytale:dragon --- ["What a strange feeling!"] = "", -- A_Classic_Fairytale:backstab +-- ["What a strange feeling!"] = "Tenho um mau persentimento!", -- A_Classic_Fairytale:backstab ["What do my faulty eyes observe? A spy!"] = "O que vêm observam os meus defeituoso olhos? Um espião!", -- A_Classic_Fairytale:first_blood -- ["Whatever floats your boat..."] = "O que quer que seja que faz o teu barco flutuar... (preciso melhor expressão verdadeiramente portuguesa)", -- A_Classic_Fairytale:shadow [" What !! For all of this struggle i just win some ... TIME o0"] = " O quê !! Por todo este esforço tudo o que ganho é ... TEMPO o0", -- portal -- ["What has "] = "Foi aquilo ", -- A_Classic_Fairytale:backstab ["What? Here? How did they find us?!"] = "O quê? Aqui? Como raio nos encontraram?!", -- A_Classic_Fairytale:backstab -- ["What is this place?"] = "O que é este sitio?\Que (raio de) sitio é este?", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy --- ["What shall we do with the traitor?"] = "O que fazemos com o traidor?", -- A_Classic_Fairytale:backstab + ["What shall we do with the traitor?"] = "O que fazemos com o traidor?", -- A_Classic_Fairytale:backstab -- ["WHAT?! You're the ones attacking us!"] = "O QUÊ?! Voces é que nos atacaram\estão a atacar!", -- A_Classic_Fairytale:enemy ["When?"] = "Quando?", -- A_Classic_Fairytale:enemy ["When I find it..."] = "Quando o encontrar...", -- A_Classic_Fairytale:dragon diff -r 878f06e9c484 -r 1b3014e53eee share/hedgewars/Data/Locale/pt_PT.txt --- a/share/hedgewars/Data/Locale/pt_PT.txt Thu Jun 06 00:28:30 2013 +0400 +++ b/share/hedgewars/Data/Locale/pt_PT.txt Fri Jun 07 12:51:09 2013 +0400 @@ -78,7 +78,7 @@ 01:16=Pouco 01:17=Normal 01:18=Muito -01:19=Excessivo +01:19=Imenso 01:20=Ressalto: %1 01:21=Áudio Silenciado diff -r 878f06e9c484 -r 1b3014e53eee share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/dragon.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/dragon.lua Thu Jun 06 00:28:30 2013 +0400 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/dragon.lua Fri Jun 07 12:51:09 2013 +0400 @@ -402,7 +402,8 @@ if progress and progress<6 then SaveCampaignVar("Progress", "6") end - ParseCommand("teamgone " .. loc("011101001")) + RestoreHedge(cyborg) + DeleteGear(cyborg) TurnTimeLeft = 0 end @@ -421,8 +422,8 @@ end function EndMission() - ParseCommand("teamgone " .. loc("Natives")) - ParseCommand("teamgone " .. loc("011101001")) + RestoreHedge(cyborg) + DeleteGear(cyborg) TurnTimeLeft = 0 end diff -r 878f06e9c484 -r 1b3014e53eee share/hedgewars/Data/misc/hedgewars.desktop --- a/share/hedgewars/Data/misc/hedgewars.desktop Thu Jun 06 00:28:30 2013 +0400 +++ b/share/hedgewars/Data/misc/hedgewars.desktop Fri Jun 07 12:51:09 2013 +0400 @@ -1,7 +1,6 @@ [Desktop Entry] Type=Application Version=1.0 -Encoding=UTF-8 Name=Hedgewars GenericName=Fighting Hedgehogs GenericName[de]=Kämpfende Igel diff -r 878f06e9c484 -r 1b3014e53eee share/hedgewars/Data/misc/hwengine.desktop.in --- a/share/hedgewars/Data/misc/hwengine.desktop.in Thu Jun 06 00:28:30 2013 +0400 +++ b/share/hedgewars/Data/misc/hwengine.desktop.in Fri Jun 07 12:51:09 2013 +0400 @@ -1,7 +1,6 @@ [Desktop Entry] Type=Application Version=1.0 -Encoding=UTF-8 Name=Hedgewars Engine GenericName=Hedgewars engine, for playback of saves and demos GenericName[de]=Hedgewars engine, für die Wiedergabe von gespeicherten Spielen und Demos diff -r 878f06e9c484 -r 1b3014e53eee tools/build_windows.bat --- a/tools/build_windows.bat Thu Jun 06 00:28:30 2013 +0400 +++ b/tools/build_windows.bat Fri Jun 07 12:51:09 2013 +0400 @@ -40,7 +40,8 @@ echo Running cmake... set ERRORLEVEL= -cmake . -G "MinGW Makefiles" -DPNG_LIBRARY="%CD%\misc\winutils\bin\libpng13.dll" -DCMAKE_BUILD_TYPE="%BUILD_TYPE%" -DCMAKE_PREFIX_PATH="%CD%\misc\winutils\" ::prefix should be last +cmake . -G "MinGW Makefiles" -DPNG_LIBRARY="%CD%\misc\winutils\bin\libpng13.dll" -DCMAKE_BUILD_TYPE="%BUILD_TYPE%" -DCMAKE_PREFIX_PATH="%CD%\misc\winutils\\" +:: prefix should be last if %ERRORLEVEL% NEQ 0 goto exitpoint