rpms/boswars/devel boswars-2.4.1-SConstruct.patch, NONE, 1.1 boswars-2.4.1-guichan26.patch, NONE, 1.1 boswars.desktop, NONE, 1.1 boswars.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
Hans de Goede (jwrdegoede)
fedora-extras-commits at redhat.com
Tue Sep 11 07:23:02 UTC 2007
Author: jwrdegoede
Update of /cvs/extras/rpms/boswars/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11166/devel
Modified Files:
.cvsignore sources
Added Files:
boswars-2.4.1-SConstruct.patch boswars-2.4.1-guichan26.patch
boswars.desktop boswars.spec
Log Message:
initial boswars import
boswars-2.4.1-SConstruct.patch:
--- NEW FILE boswars-2.4.1-SConstruct.patch ---
diff -up boswars-2.4.1-src/SConstruct.hdg boswars-2.4.1-src/SConstruct
--- boswars-2.4.1-src/SConstruct.hdg 2007-09-02 21:44:44.000000000 +0200
+++ boswars-2.4.1-src/SConstruct 2007-09-07 19:32:04.000000000 +0200
@@ -279,7 +278,8 @@ AutoConfigureIfNeeded(env, '')
# define the different build environments (variants)
release = env.Copy()
-release.Append(CCFLAGS = Split('-O2 -pipe -fomit-frame-pointer -fexpensive-optimizations -ffast-math'))
+release.Append(CCFLAGS = Split('-ffast-math'))
+release.Append(LIBS = '-ltolua++')
if mingw['extrapath']:
mingw.Tool('crossmingw', toolpath = ['tools/scons/'])
boswars-2.4.1-guichan26.patch:
--- NEW FILE boswars-2.4.1-guichan26.patch ---
diff -up boswars-2.4.1-src/SConstruct.hdg boswars-2.4.1-src/SConstruct
--- boswars-2.4.1-src/SConstruct.hdg 2007-09-02 21:44:44.000000000 +0200
+++ boswars-2.4.1-src/SConstruct 2007-09-07 19:32:04.000000000 +0200
@@ -75,7 +75,6 @@ def globSources(sourceDirs, builddir):
def buildSourcesList(builddir):
sources = globSources("action ai editor game map network pathfinder sound stratagus ui unit video tolua", builddir)
- sources.append(globSources("guichan guichan/sdl guichan/widgets", builddir))
return sources
sourcesEngine = buildSourcesList('build')
@@ -274,7 +273,6 @@ AutoConfigureIfNeeded(env, '')
def addBosWarsPaths(env):
# Stratagus build specifics
env.Append(CPPPATH=engineSourceDir+'/include')
- env.Append(CPPPATH=engineSourceDir+'/guichan/include')
addBosWarsPaths(env)
# define the different build environments (variants)
diff -up boswars-2.4.1-src/engine/include/widgets.h.hdg boswars-2.4.1-src/engine/include/widgets.h
--- boswars-2.4.1-src/engine/include/widgets.h.hdg 2007-09-07 19:32:04.000000000 +0200
+++ boswars-2.4.1-src/engine/include/widgets.h 2007-09-07 20:35:09.000000000 +0200
@@ -111,9 +111,9 @@ public:
virtual void drawBox(gcn::Graphics *graphics);
virtual void draw(gcn::Graphics *graphics);
- virtual void mousePress(int x, int y, int button);
- virtual void mouseRelease(int x, int y, int button);
- virtual void mouseClick(int x, int y, int button, int count);
+ virtual void mousePressed(gcn::MouseEvent &mouseEvent);
+ virtual void mouseReleased(gcn::MouseEvent &mouseEvent);
+ virtual void mouseClicked(gcn::MouseEvent &mouseEvent);
virtual void adjustSize();
void setUncheckedNormalImage(gcn::Image *image) { uncheckedNormalImage = image; }
@@ -137,9 +137,9 @@ public:
virtual void draw(gcn::Graphics *graphics);
virtual void drawBox(gcn::Graphics *graphics);
- virtual void mousePress(int x, int y, int button);
- virtual void mouseRelease(int x, int y, int button);
- virtual void mouseClick(int x, int y, int button, int count);
+ virtual void mousePressed(gcn::MouseEvent &mouseEvent);
+ virtual void mouseReleased(gcn::MouseEvent &mouseEvent);
+ virtual void mouseClicked(gcn::MouseEvent &mouseEvent);
virtual void adjustSize();
void setUncheckedNormalImage(gcn::Image *image) { uncheckedNormalImage = image; }
@@ -229,7 +229,7 @@ public:
Windows(const std::string &text, int width, int height);
void add(gcn::Widget *widget, int x, int y);
private:
- virtual void mouseMotion(int x, int y);
+ virtual void mouseDragged (gcn::MouseEvent &mouseEvent);
virtual void setBackgroundColor(const gcn::Color &color);
virtual void setBaseColor(const gcn::Color &color);
private:
diff -up boswars-2.4.1-src/engine/include/font.h.hdg boswars-2.4.1-src/engine/include/font.h
--- boswars-2.4.1-src/engine/include/font.h.hdg 2007-09-02 21:44:40.000000000 +0200
+++ boswars-2.4.1-src/engine/include/font.h 2007-09-07 19:32:04.000000000 +0200
@@ -58,7 +58,7 @@
----------------------------------------------------------------------------*/
#include "video.h"
-#include "guichan/font.h"
+#include "guichan/font.hpp"
/*----------------------------------------------------------------------------
-- Declarations
diff -up boswars-2.4.1-src/engine/include/video.h.hdg boswars-2.4.1-src/engine/include/video.h
--- boswars-2.4.1-src/engine/include/video.h.hdg 2007-09-02 21:44:40.000000000 +0200
+++ boswars-2.4.1-src/engine/include/video.h 2007-09-07 19:32:04.000000000 +0200
@@ -32,7 +32,7 @@
#include "SDL.h"
#include "SDL_opengl.h"
-#include "guichan/image.h"
+#include "guichan/image.hpp"
class CFont;
diff -up boswars-2.4.1-src/engine/editor/editloop.cpp.hdg boswars-2.4.1-src/engine/editor/editloop.cpp
--- boswars-2.4.1-src/engine/editor/editloop.cpp.hdg 2007-07-03 23:57:45.000000000 +0200
+++ boswars-2.4.1-src/engine/editor/editloop.cpp 2007-09-07 19:32:04.000000000 +0200
@@ -56,7 +56,7 @@
#include "iolib.h"
#include "iocompat.h"
#include "commands.h"
-#include "guichan.h"
+#include "guichan.hpp"
#include "script.h"
@@ -109,7 +109,7 @@ static int CalculateUnitIcons(void);
class EditorSliderListener : public gcn::ActionListener
{
public:
- virtual void action(const std::string &eventId) {
+ virtual void action(const gcn::ActionEvent& actionEvent) {
int iconsPerStep = CalculateUnitIcons();
int steps = (Editor.ShownUnitTypes.size() + iconsPerStep - 1) / iconsPerStep;
double value = editorSlider->getValue();
@@ -464,7 +464,7 @@ static void CleanEditResource()
class CEditResourceOKActionListener : public gcn::ActionListener
{
public:
- virtual void action(const std::string &eventId) {
+ virtual void action(const gcn::ActionEvent& actionEvent) {
int amount = atoi(editResourceTextField->getText().c_str());
for (int i = 0; i < MaxCosts; ++i) {
UnitUnderCursor->ResourcesHeld[i] = amount * CYCLES_PER_SECOND;
@@ -477,7 +477,7 @@ static CEditResourceOKActionListener Edi
class CEditResourceCancelActionListener : public gcn::ActionListener
{
public:
- virtual void action(const std::string &eventId) {
+ virtual void action(const gcn::ActionEvent& actionEvent) {
editResourceMenu->stop();
}
};
@@ -514,7 +514,6 @@ static void EditorEditResource(void)
editResourceMenu->add(editResourceTextField, 40, 46);
editResourceOKButton = new gcn::Button(_("~!OK"));
- editResourceOKButton->setHotKey("o");
editResourceOKButton->setSize(106, 28);
editResourceOKButton->setBackgroundColor(gcn::Color(38, 38, 78, 130));
editResourceOKButton->setBaseColor(gcn::Color(38, 38, 78, 130));
@@ -522,7 +521,6 @@ static void EditorEditResource(void)
editResourceMenu->add(editResourceOKButton, 24, 88);
editResourceCancelButton = new gcn::Button(_("~!Cancel"));
- editResourceCancelButton->setHotKey("c");
editResourceCancelButton->setSize(106, 28);
editResourceCancelButton->setBackgroundColor(gcn::Color(38, 38, 78, 130));
editResourceCancelButton->setBaseColor(gcn::Color(38, 38, 78, 130));
diff -up boswars-2.4.1-src/engine/ui/widgets.cpp.hdg boswars-2.4.1-src/engine/ui/widgets.cpp
--- boswars-2.4.1-src/engine/ui/widgets.cpp.hdg 2007-09-02 21:44:42.000000000 +0200
+++ boswars-2.4.1-src/engine/ui/widgets.cpp 2007-09-07 22:32:09.000000000 +0200
@@ -361,7 +361,7 @@ void ImageButton::draw(gcn::Graphics *gr
img = disabledImage ? disabledImage : normalImage;
} else if (isPressed()) {
img = pressedImage ? pressedImage : normalImage;
- } else if (0 && hasMouse()) {
+ } else if (0 && mHasMouse) {
// FIXME: add mouse-over image
img = NULL;
} else {
@@ -396,7 +396,7 @@ void ImageButton::draw(gcn::Graphics *gr
graphics->drawText(getCaption(), textX + 2, textY + 2, getAlignment());
}
- if (hasFocus()) {
+ if (isFocused()) {
graphics->drawRectangle(gcn::Rectangle(0, 0, getWidth(), getHeight()));
}
}
@@ -491,7 +491,7 @@ void ImageRadioButton::draw(gcn::Graphic
graphics->drawText(getCaption(), width - 2, 0);
- if (hasFocus()) {
+ if (isFocused()) {
graphics->drawRectangle(gcn::Rectangle(width - 4, 0, getWidth() - width + 3, getHeight()));
}
}
@@ -499,9 +499,9 @@ void ImageRadioButton::draw(gcn::Graphic
/**
** Mouse button pressed callback
*/
-void ImageRadioButton::mousePress(int x, int y, int button)
+void ImageRadioButton::mousePressed(gcn::MouseEvent &mouseEvent)
{
- if (button == gcn::MouseInput::LEFT && hasMouse()) {
+ if (mouseEvent.getButton() == gcn::MouseInput::LEFT) {
mMouseDown = true;
}
}
@@ -509,9 +509,9 @@ void ImageRadioButton::mousePress(int x,
/**
** Mouse button released callback
*/
-void ImageRadioButton::mouseRelease(int x, int y, int button)
+void ImageRadioButton::mouseReleased(gcn::MouseEvent &mouseEvent)
{
- if (button == gcn::MouseInput::LEFT) {
+ if (mouseEvent.getButton() == gcn::MouseInput::LEFT) {
mMouseDown = false;
}
}
@@ -519,9 +519,9 @@ void ImageRadioButton::mouseRelease(int
/**
** Mouse clicked callback
*/
-void ImageRadioButton::mouseClick(int x, int y, int button, int count)
+void ImageRadioButton::mouseClicked(gcn::MouseEvent &mouseEvent)
{
- if (button == gcn::MouseInput::LEFT) {
+ if (mouseEvent.getButton() == gcn::MouseInput::LEFT) {
setMarked(true);
generateAction();
}
@@ -598,7 +598,7 @@ void ImageCheckBox::draw(gcn::Graphics *
graphics->drawText(getCaption(), width - 2, 0);
- if (hasFocus()) {
+ if (isFocused()) {
graphics->drawRectangle(gcn::Rectangle(width - 4, 0, getWidth() - width + 3, getHeight()));
}
}
@@ -635,9 +635,9 @@ void ImageCheckBox::drawBox(gcn::Graphic
/**
** Mouse button pressed callback
*/
-void ImageCheckBox::mousePress(int x, int y, int button)
+void ImageCheckBox::mousePressed(gcn::MouseEvent &mouseEvent)
{
- if (button == gcn::MouseInput::LEFT && hasMouse()) {
+ if (mouseEvent.getButton() == gcn::MouseInput::LEFT) {
mMouseDown = true;
}
}
@@ -645,9 +645,9 @@ void ImageCheckBox::mousePress(int x, in
/**
** Mouse button released callback
*/
-void ImageCheckBox::mouseRelease(int x, int y, int button)
+void ImageCheckBox::mouseReleased(gcn::MouseEvent &mouseEvent)
{
- if (button == gcn::MouseInput::LEFT) {
+ if (mouseEvent.getButton() == gcn::MouseInput::LEFT) {
mMouseDown = false;
}
}
@@ -655,9 +655,9 @@ void ImageCheckBox::mouseRelease(int x,
/**
** Mouse clicked callback
*/
-void ImageCheckBox::mouseClick(int x, int y, int button, int count)
+void ImageCheckBox::mouseClicked(gcn::MouseEvent &mouseEvent)
{
- if (button == gcn::MouseInput::LEFT) {
+ if (mouseEvent.getButton() == gcn::MouseInput::LEFT) {
toggle();
}
}
@@ -1109,7 +1109,7 @@ Windows::Windows(const std::string &titl
{
container.setDimension(gcn::Rectangle(0, 0, width, height));
scroll.setDimension(gcn::Rectangle(0, 0, width, height));
- this->setContent(&scroll);
+ this->add((gcn::Widget *)&scroll, 0, 0);
scroll.setContent(&container);
this->resizeToContent();
}
@@ -1146,9 +1146,9 @@ void Windows::add(gcn::Widget *widget, i
** when the container is a "scrollable" ScrollArea with the cursor.
** The cursor can go outside the visual area.
*/
-void Windows::mouseMotion(int x, int y)
+void Windows::mouseDragged (gcn::MouseEvent &mouseEvent)
{
- gcn::BasicContainer *bcontainer = getParent();
+ gcn::Widget *bcontainer = getParent();
int diffx;
int diffy;
int criticalx;
@@ -1156,18 +1156,18 @@ void Windows::mouseMotion(int x, int y)
int absx;
int absy;
- if (!mMouseDrag || !isMovable()) {
+ if (!isMovable()) {
return;
}
- diffx = x - mMouseXOffset;
- diffy = y - mMouseYOffset;
+ diffx = mouseEvent.getX() - mDragOffsetX;
+ diffy = mouseEvent.getY() - mDragOffsetY;
if (blockwholewindow) {
criticalx = getX();
criticaly = getY();
} else {
- criticalx = getX() + mMouseXOffset;
- criticaly = getY() + mMouseYOffset;
+ criticalx = getX() + mDragOffsetX;
+ criticaly = getY() + mDragOffsetY;
}
@@ -1190,15 +1190,13 @@ void Windows::mouseMotion(int x, int y)
}
// Place the window.
- x = getX() + diffx;
- y = getY() + diffy;
- setPosition(x, y);
+ setPosition(getX() + diffx, getY() + diffy);
// Move the cursor.
// Usefull only when window reachs the limit.
getAbsolutePosition(absx, absy);
- CursorX = absx + mMouseXOffset;
- CursorY = absy + mMouseYOffset;
+ CursorX = absx + mDragOffsetX;
+ CursorY = absy + mDragOffsetY;
}
/**
@@ -1377,7 +1375,7 @@ void DropDownWidget::setList(lua_State *
void DropDownWidget::setSize(int width, int height)
{
DropDown::setSize(width, height);
- this->getListBox()->setSize(width, height);
+ this->mListBox->setSize(width, height);
}
/*----------------------------------------------------------------------------
@@ -1571,7 +1569,7 @@ void MenuScreen::draw(gcn::Graphics *gra
Gui->getGraphics()->popClipArea();
Gui->draw();
Gui->setTop(w);
- w->_getFocusHandler()->setFocus(f);
+ f->requestFocus();
Gui->getGraphics()->pushClipArea(r);
}
gcn::Container::draw(graphics);
diff -up boswars-2.4.1-src/engine/ui/interface.cpp.hdg boswars-2.4.1-src/engine/ui/interface.cpp
--- boswars-2.4.1-src/engine/ui/interface.cpp.hdg 2007-07-03 23:57:47.000000000 +0200
+++ boswars-2.4.1-src/engine/ui/interface.cpp 2007-09-07 19:32:04.000000000 +0200
@@ -836,8 +836,6 @@ static int InputKey(int key)
default:
if (key >= ' ') {
- gcn::Key k(key);
- std::string kstr = k.toString();
if (key == '~') {
if (InputIndex < (int)sizeof(Input) - 2) {
Input[InputIndex++] = key;
@@ -845,10 +843,8 @@ static int InputKey(int key)
Input[InputIndex] = '\0';
ShowInput();
}
- } else if (InputIndex < (int)(sizeof(Input) - kstr.size())) {
- for (size_t i = 0; i < kstr.size(); ++i) {
- Input[InputIndex++] = kstr[i];
- }
+ } else if (InputIndex < (int)sizeof(Input) - 1) {
+ Input[InputIndex++] = key;
Input[InputIndex] = '\0';
ShowInput();
}
diff -up boswars-2.4.1-src/engine/stratagus/mainloop.cpp.hdg boswars-2.4.1-src/engine/stratagus/mainloop.cpp
--- boswars-2.4.1-src/engine/stratagus/mainloop.cpp.hdg 2007-07-03 23:57:48.000000000 +0200
+++ boswars-2.4.1-src/engine/stratagus/mainloop.cpp 2007-09-07 19:32:04.000000000 +0200
@@ -68,7 +68,7 @@
#include "editor.h"
#include "sound.h"
-#include <guichan.h>
+#include <guichan.hpp>
void DrawGuichanWidgets();
//----------------------------------------------------------------------------
diff -up boswars-2.4.1-src/engine/stratagus/stratagus.cpp.hdg boswars-2.4.1-src/engine/stratagus/stratagus.cpp
--- boswars-2.4.1-src/engine/stratagus/stratagus.cpp.hdg 2007-09-02 21:44:43.000000000 +0200
+++ boswars-2.4.1-src/engine/stratagus/stratagus.cpp 2007-09-07 19:32:04.000000000 +0200
@@ -205,7 +205,7 @@ extern int getopt(int argc, char *const
#include "widgets.h"
#include "iolib.h"
#include "util.h"
-#include "guichan.h"
+#include "guichan.hpp"
extern void CreateUserDirectories(void);
diff -up boswars-2.4.1-src/engine/include/widgets.h~ boswars-2.4.1-src/engine/include/widgets.h
--- boswars-2.4.1-src/engine/include/widgets.h~ 2007-09-09 09:44:18.000000000 +0200
+++ boswars-2.4.1-src/engine/include/widgets.h 2007-09-09 09:44:18.000000000 +0200
@@ -28,8 +28,8 @@
#ifndef __WIDGETS_H__
#define __WIDGETS_H__
-#include <guichan.h>
-#include <guichan/gsdl.h>
+#include <guichan.hpp>
+#include <guichan/sdl.hpp>
typedef int lua_Object; // from tolua++.h
--- NEW FILE boswars.desktop ---
[Desktop Entry]
Encoding=UTF-8
Name=Bos Wars
Comment=Bos Wars is a futuristic real-time strategy game
Exec=boswars -d /usr/share/boswars
Icon=boswars.png
Terminal=false
StartupNotify=false
Type=Application
Categories=Game;StrategyGame;
--- NEW FILE boswars.spec ---
Name: boswars
Version: 2.4.1
Release: 2%{?dist}
Summary: Bos Wars is a futuristic real-time strategy game
Group: Amusements/Games
License: GPLv2
URL: http://www.boswars.org/
Source0: http://www.boswars.org/dist/releases/%{name}-%{version}-src.tar.gz
Source1: %{name}.desktop
Patch0: boswars-2.4.1-SConstruct.patch
# incomplete patch to port boswars to the sysytem guichan-0.6 instead of
# using the included guichan-0.4. Incomplete, NOT finished and NOT working!
Patch1: boswars-2.4.1-guichan26.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libtheora-devel libvorbis-devel lua-devel SDL-devel libGL-devel
BuildRequires: tolua++-devel libpng-devel scons desktop-file-utils
%description
Bos Wars is a futuristic real-time strategy game. It is possible to play
against human opponents over LAN, internet, or against the computer.
Bos Wars aims to create a completly original and fun open source RTS game.
%prep
%setup -q -n %{name}-%{version}-src
%patch0 -p1
chmod -x engine/guichan/include/guichan/sdl/sdlgraphics.h \
engine/include/animation.h engine/guichan/sdl/gsdl.cpp
# we want to use the system version of these
rm engine/tolua/*.h engine/tolua/tolua_*.cpp
%build
scons %{?_smp_mflags} opengl=1 CC="gcc $RPM_OPT_FLAGS" CXX="g++ $RPM_OPT_FLAGS"
%install
rm -fr $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/languages
install -m 755 %{name} $RPM_BUILD_ROOT%{_bindir}
install -p -m 644 languages/*.po languages/*.pot \
$RPM_BUILD_ROOT%{_datadir}/%{name}/languages
cp -a campaigns graphics maps scripts sounds units video \
$RPM_BUILD_ROOT%{_datadir}/%{name}
# below is the desktop file and icon stuff.
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
desktop-file-install --vendor fedora \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE1}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
install -p -m 644 graphics/elites/ui/elites_claw.png \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
%clean
rm -rf $RPM_BUILD_ROOT
%post
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
%postun
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
%files
%defattr(-,root,root,-)
%doc *.txt CHANGELOG doc/*.html doc/guichan-copyright.txt
%{_bindir}/%{name}
%{_datadir}/%{name}
%{_datadir}/applications/fedora-%{name}.desktop
%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
%changelog
* Mon Sep 10 2007 Hans de Goede <j.w.r.degoede at hhs.nl> 2.4.1-2
- Add missing BuildRequires libpng-devel
* Sun Sep 9 2007 Hans de Goede <j.w.r.degoede at hhs.nl> 2.4.1-1
- Initial Fedora package
Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/boswars/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore 10 Sep 2007 19:48:56 -0000 1.1
+++ .cvsignore 11 Sep 2007 07:22:03 -0000 1.2
@@ -0,0 +1 @@
+boswars-2.4.1-src.tar.gz
Index: sources
===================================================================
RCS file: /cvs/extras/rpms/boswars/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources 10 Sep 2007 19:48:56 -0000 1.1
+++ sources 11 Sep 2007 07:22:03 -0000 1.2
@@ -0,0 +1 @@
+ad4fe087da5697e920c746c75c20b07f boswars-2.4.1-src.tar.gz
More information about the fedora-extras-commits
mailing list