--- 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()
--- 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.
--- 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 <unC0Rr@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- */
-
-#ifndef KB_H
-#define KB_H
-
-#include <QString>
-
-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
Binary file QTfrontend/res/Hedgehog.png has changed
--- 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;
--- 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
}
--- 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;
-}
--- 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 <QLayout>
-#include <QPointer>
-#include <QRect>
-#include <QWidgetItem>
-#include <QLayoutItem>
-
-
-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_ */
--- 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);
--- 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;
--- 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)
--- 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 <QGraphicsView>
#include <QLabel>
-#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);
--- 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);
--- 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"
--- 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 <GL/gl.h>
--- 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
--- 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
-
--- 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}
--- 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
--- 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
--- 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;
--- 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}
--- 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;
--- 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)
--- 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
--- 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 \
--- 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
--- 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 @@
</message>
<message>
<source>Play a game across a network</source>
- <translation>Spiele über ein Netwerk</translation>
+ <translation>Spiele über ein Netzwerk</translation>
</message>
<message>
<source>Read about who is behind the Hedgewars Project</source>
@@ -2154,7 +2154,7 @@
</message>
<message>
<source>Netgame - Error</source>
- <translation>Netwerkspiel - Fehler</translation>
+ <translation>Netzwerkspiel - Fehler</translation>
</message>
<message>
<source>Please select a server from the list</source>
--- 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 @@
</message>
<message>
<source>We are always happy about suggestions, ideas, or bug reports.</source>
- <translation type="unfinished"></translation>
+ <translation>Estamos sempre abertos a novas sugestões, ideias, ou submissões de bugs encontrados.</translation>
</message>
<message>
<source>Send us feedback!</source>
- <translation type="unfinished"></translation>
+ <translation>Envia-nos feedback!</translation>
</message>
<message>
<source>If you found a bug, you can see if it's already been reported here: </source>
- <translation type="unfinished"></translation>
+ <translation>Se encontraste um bug, podes verificar se já foi submetido aqui: </translation>
</message>
<message>
<source>Your email address is optional, but necessary if you want us to get back at you.</source>
- <translation type="unfinished"></translation>
+ <translation>O teu e-mail é opcional, mas necessário se quiseres que te contactemos de volta.</translation>
</message>
</context>
<context>
@@ -195,18 +195,18 @@
</message>
<message>
<source>Scheme '%1' not supported</source>
- <translation type="unfinished"></translation>
+ <translation>Esquema '%1' não suportado</translation>
</message>
<message>
<source>Cannot create directory %1</source>
- <translation type="unfinished">Não foi possível criar o diretório %1</translation>
+ <translation>Não foi possível criar o diretório %1</translation>
</message>
<message>
<source>Failed to open data directory:
%1
Please check your installation!</source>
- <translation type="unfinished">Erro ao abrir o diretório:
+ <translation>Erro ao abrir o diretório:
%1
Por favor verifica a tua instalação!</translation>
@@ -263,15 +263,15 @@
</message>
<message>
<source>%1 has joined</source>
- <translation type="unfinished"></translation>
+ <translation>%1 entrou</translation>
</message>
<message>
<source>%1 has left</source>
- <translation type="unfinished"></translation>
+ <translation>%1 saíu</translation>
</message>
<message>
<source>%1 has left (%2)</source>
- <translation type="unfinished"></translation>
+ <translation>%1 saíu (%2)</translation>
</message>
</context>
<context>
@@ -384,7 +384,7 @@
</message>
<message>
<source>This page requires an internet connection.</source>
- <translation type="unfinished"></translation>
+ <translation>Esta página requer ligação à internet</translation>
</message>
</context>
<context>
@@ -526,7 +526,7 @@
</message>
<message>
<source>Theme: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Tema: %1</translation>
</message>
</context>
<context>
@@ -606,15 +606,18 @@
If you don't have an account on www.hedgewars.org,
just enter your nickname.</source>
- <translation type="unfinished"></translation>
+ <translation>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.</translation>
</message>
<message>
<source>Nickname:</source>
- <translation type="unfinished"></translation>
+ <translation>Utilizador:</translation>
</message>
<message>
<source>Password:</source>
- <translation type="unfinished"></translation>
+ <translation>Password:</translation>
</message>
</context>
<context>
@@ -770,11 +773,11 @@
<name>PageDataDownload</name>
<message>
<source>Loading, please wait.</source>
- <translation type="unfinished"></translation>
+ <translation>A carregar, aguarda por favor.</translation>
</message>
<message>
<source>This page requires an internet connection.</source>
- <translation type="unfinished"></translation>
+ <translation>Esta página requer ligação à internet.</translation>
</message>
</context>
<context>
@@ -921,11 +924,11 @@
</message>
<message>
<source>Play again</source>
- <translation type="unfinished"></translation>
+ <translation>Jogar novamente</translation>
</message>
<message>
<source>Save</source>
- <translation type="unfinished">Gravar</translation>
+ <translation>Gravar</translation>
</message>
</context>
<context>
@@ -1035,11 +1038,11 @@
<name>PageNetServer</name>
<message>
<source>Click here for details</source>
- <translation type="unfinished"></translation>
+ <translation>Clica aqui para detalhes</translation>
</message>
<message>
<source>Insert your address here</source>
- <translation type="unfinished"></translation>
+ <translation>Insere aqui o teu endereço</translation>
</message>
</context>
<context>
@@ -1996,7 +1999,7 @@
</message>
<message>
<source>This setting will be effective at next restart.</source>
- <translation type="unfinished"></translation>
+ <translation>Esta opção entrará em efeito quando o jogo for reiniciado.</translation>
</message>
</context>
<context>
@@ -2385,23 +2388,23 @@
</message>
<message>
<source>Reset</source>
- <translation type="unfinished"></translation>
+ <translation>Repor</translation>
</message>
<message>
<source>Set the default server port for Hedgewars</source>
- <translation type="unfinished"></translation>
+ <translation>Define a porta por omisão do servidor Hedgewars</translation>
</message>
<message>
<source>Invite your friends to your server in just 1 click!</source>
- <translation type="unfinished"></translation>
+ <translation>Convida os teus amigos para o teu servidor com apenas 1 click!</translation>
</message>
<message>
<source>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.</source>
- <translation type="unfinished"></translation>
+ <translation>Clica para copiar o URL do teu servidor. Partilha este link com os teus amigos para que se possam juntar a ti.</translation>
</message>
<message>
<source>Start private server</source>
- <translation type="unfinished"></translation>
+ <translation>Iniciar o servidor privado</translation>
</message>
</context>
<context>
@@ -2516,19 +2519,20 @@
<name>TCPBase</name>
<message>
<source>Unable to start server at %1.</source>
- <translation type="unfinished"></translation>
+ <translation>Não foi possível iniciar o servidor em %1.</translation>
</message>
<message>
<source>Unable to run engine at %1
Error code: %2</source>
- <translation type="unfinished"></translation>
+ <translation>Não foi possível iniciar o motor de jogo em %1
+Código de erro:: %2</translation>
</message>
</context>
<context>
<name>TeamSelWidget</name>
<message>
<source>At least two teams are required to play!</source>
- <translation type="unfinished"></translation>
+ <translation>São necessárias pelo menos 2 equipas (para jogar)!</translation>
</message>
</context>
<context>
--- 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!"
--- 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 !"
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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