diff --git a/.abf.yml b/.abf.yml index 5a2ffe8..4b420bb 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,3 +1,4 @@ sources: openastromenace-src-1.3.0.tar.bz2: 4ebc9d80f05d158dff8f189dc0819f7322de8ec3 --- + astromenace-src-1.3.1.tar.bz2: 29db7b84410e3bcf0c7f8ce5a1a52cbb75745eb1 diff --git a/astromenace-1.3.0-config.patch b/astromenace-1.3.0-config.patch deleted file mode 100644 index 6c7889e..0000000 --- a/astromenace-1.3.0-config.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN AstroMenace/AstroMenaceSource/config.h AstroMenace-patched/AstroMenaceSource/config.h ---- AstroMenace/AstroMenaceSource/config.h 2012-10-21 22:45:10.000000000 +1100 -+++ AstroMenace-patched/AstroMenaceSource/config.h 2012-10-23 02:46:58.884054328 +1100 -@@ -64,7 +64,7 @@ - // #define compression - - // define DATADIR with gamedata.vfs file location if you don't put it together in the same directory with binary file --// #define DATADIR "/usr/share/astromenace" -+#define DATADIR "/usr/share/astromenace" - - - diff --git a/astromenace-1.3.1.patch b/astromenace-1.3.1.patch new file mode 100644 index 0000000..3d10682 --- /dev/null +++ b/astromenace-1.3.1.patch @@ -0,0 +1,150 @@ +--- AstroMenaceSource/Object3D/GroundObject/GroundObject.cpp.orig ++++ AstroMenaceSource/Object3D/GroundObject/GroundObject.cpp +@@ -47,6 +47,7 @@ + MaxWheelRotateAngle = 20.0f; + TrackObjectNum = -1; + TrackRotationDirection = 1; ++ WheelTrackSpeed = 0.0f; + + TargetHorizObjectQuantity = 0; + TargetHorizObject = 0; + +--- AstroMenaceSource/Menu/Menu_ConfControl.cpp.orig ++++ AstroMenaceSource/Menu/Menu_ConfControl.cpp +@@ -136,6 +136,7 @@ + break; + } + ++ vw_SetKeys(i, false); + NeedCheck = 0; + } + } + +--- AstroMenaceSource/Core/VirtualFileSystem/VFS.cpp.orig ++++ AstroMenaceSource/Core/VirtualFileSystem/VFS.cpp +@@ -554,7 +554,7 @@ + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + // Проверяем сигнатуру "VFS_" - 4 байт + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +- char Sign[4]; Sign[4] = 0; ++ char Sign[5]; Sign[4] = 0; + if(SDL_RWread(TempVFS->File, &Sign, 4, 1) == -1) + { + // если файл меньше, значит ошибка +@@ -572,7 +572,7 @@ + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + // Bерсия - 4 байт + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +- char Version[4]; Version[4] = 0; ++ char Version[5]; Version[4] = 0; + if(SDL_RWread(TempVFS->File, &Version, 4, 1) == -1) + { + fprintf(stderr, "VFS file corrupted: %s\n", Name); + +--- AstroMenaceSource/Loading.cpp.orig ++++ AstroMenaceSource/Loading.cpp +@@ -1548,7 +1548,7 @@ + vw_SetTextureProp(CurrentList[i].TextFiltr, CurrentList[i].TextWrap, + CurrentList[i].Alpha, CurrentList[i].AlphaMode, CurrentList[i].MipMap); + +- vw_LoadTexture(CurrentList[i].FileName, NULL, CurrentList[i].NeedCompression); ++ vw_LoadTexture(CurrentList[i].FileName, NULL, CurrentList[i].NeedCompression && Setup.TexturesCompression); + } + break; + +@@ -1566,51 +1566,63 @@ + vw_SetTextureProp(CurrentList[i].TextFiltr, CurrentList[i].TextWrap, + CurrentList[i].Alpha, CurrentList[i].AlphaMode, CurrentList[i].MipMap); + ++ // мы можем принудительно менять размер текстур через настройки, но надо учитывать их размеры ++ // базовый размер почти всех текстур моделей - 512х512 пикселей, небольшая часть текстур 256х256 (мины, турели) ++ // текстуры всех планет - 1024х512 ++ // "неформатные" текстуры - track.VW2D и asteroid-01.tga, им вообще не надо менять размеры ++ + if (Setup.TexturesQuality == 1) + { ++ // только для текстур в папке MODELS (скайбоксы никогда не трогаем) + if (!strncmp("DATA/MODELS/", CurrentList[i].FileName, strlen("DATA/MODELS/")) && ++ // не меняем размеры небольших текстур вообще + strcmp("DATA/MODELS/track.VW2D", CurrentList[i].FileName) && +- // не ставим низкое для текстур-подсветки файтеров землян - плохо... ++ strcmp("DATA/MODELS/SPACE/asteroid-01.tga", CurrentList[i].FileName) && ++ // не меняем размер или ставим спец размер ++ strncmp("DATA/MODELS/SPACEBASE/", CurrentList[i].FileName, strlen("DATA/MODELS/SPACEBASE/")) && ++ strncmp("DATA/MODELS/PLANET/", CurrentList[i].FileName, strlen("DATA/MODELS/PLANET/")) && ++ strncmp("DATA/MODELS/NORMALMAP/", CurrentList[i].FileName, strlen("DATA/MODELS/NORMALMAP/")) && ++ // не ставим маленький размер для текстур-подсветки файтеров землян - плохо смотрится + strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum01.VW2D", CurrentList[i].FileName) && + strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum02.VW2D", CurrentList[i].FileName) && + strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum03.VW2D", CurrentList[i].FileName) && +- strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum04.VW2D", CurrentList[i].FileName) && +- strncmp("DATA/MODELS/SPACE/", CurrentList[i].FileName, strlen("DATA/MODELS/SPACE/")) && +- strncmp("DATA/MODELS/SPACEBASE/", CurrentList[i].FileName, strlen("DATA/MODELS/SPACEBASE/")) && +- strncmp("DATA/MODELS/PLANET/", CurrentList[i].FileName, strlen("DATA/MODELS/PLANET/"))) ++ strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum04.VW2D", CurrentList[i].FileName)) + { + H = W = 128; + } + else + { +- if (!strncmp("DATA/SKYBOX/", CurrentList[i].FileName, strlen("DATA/SKYBOX/"))) ++ // для подсветки файтеров землян и частей баз (с решетками на альфа канале) - ставим больше размер ++ if (!strncmp("DATA/MODELS/SPACEBASE/", CurrentList[i].FileName, strlen("DATA/MODELS/SPACEBASE/")) || ++ !strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum01.VW2D", CurrentList[i].FileName) || ++ !strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum02.VW2D", CurrentList[i].FileName) || ++ !strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum03.VW2D", CurrentList[i].FileName) || ++ !strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum04.VW2D", CurrentList[i].FileName)) + { +- H = W = 512; ++ H = W = 256; + } +- else// не ставим низкое для текстур-подсветки файтеров землян - плохо... +- if (!strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum01.VW2D", CurrentList[i].FileName) || +- !strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum02.VW2D", CurrentList[i].FileName) || +- !strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum03.VW2D", CurrentList[i].FileName) || +- !strcmp("DATA/MODELS/EARTHFIGHTER/sf-illum04.VW2D", CurrentList[i].FileName) || +- !strncmp("DATA/MODELS/SPACEBASE/", CurrentList[i].FileName, strlen("DATA/MODELS/SPACEBASE/")) || +- !strncmp("DATA/MODELS/PLANET/", CurrentList[i].FileName, strlen("DATA/MODELS/PLANET/"))) +- { +- H = W = 256; +- } +- ++ // текстуры планет не квадратные, учитываем это ++ if (!strncmp("DATA/MODELS/PLANET/", CurrentList[i].FileName, strlen("DATA/MODELS/PLANET/")) && ++ strcmp("DATA/MODELS/PLANET/asteroid.tga", CurrentList[i].FileName)) ++ { ++ W = 512; H = 256; ++ } + } + } + if (Setup.TexturesQuality == 2) + { ++ // только для текстур в папке MODELS (скайбоксы никогда не трогаем) + if (!strncmp("DATA/MODELS/", CurrentList[i].FileName, strlen("DATA/MODELS/")) && ++ // не меняем размеры небольших текстур вообще + strcmp("DATA/MODELS/track.VW2D", CurrentList[i].FileName) && +- strncmp("DATA/MODELS/SPACE/", CurrentList[i].FileName, strlen("DATA/MODELS/SPACE/")) && ++ strcmp("DATA/MODELS/SPACE/asteroid-01.tga", CurrentList[i].FileName) && ++ // не меняем размер + strncmp("DATA/MODELS/SPACEBASE/", CurrentList[i].FileName, strlen("DATA/MODELS/SPACEBASE/")) && +- strncmp("DATA/MODELS/PLANET/", CurrentList[i].FileName, strlen("DATA/MODELS/PLANET/"))) ++ strncmp("DATA/MODELS/PLANET/", CurrentList[i].FileName, strlen("DATA/MODELS/PLANET/")) && ++ strncmp("DATA/MODELS/NORMALMAP/", CurrentList[i].FileName, strlen("DATA/MODELS/NORMALMAP/"))) + { + H = W = 256; + } +- + } + + // если это карта нормалей, но у нас не включены шейдеры - пропускаем + +--- AstroMenaceSource/Core/RendererInterface/OGL_Texture.cpp.orig ++++ AstroMenaceSource/Core/RendererInterface/OGL_Texture.cpp +@@ -440,6 +440,7 @@ + { + glDisable(GL_BLEND); + glBlendFunc(GL_ONE, GL_ZERO); ++ return; + } + + int tmpSRC,tmpDST; diff --git a/astromenace-system-glext.patch b/astromenace-system-glext.patch deleted file mode 100644 index 669c832..0000000 --- a/astromenace-system-glext.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up AstroMenaceSourceCode/AstroMenaceSource/Core/Base.h~ AstroMenaceSourceCode/AstroMenaceSource/Core/Base.h ---- AstroMenaceSourceCode/AstroMenaceSource/Core/Base.h~ 2007-09-03 12:42:03.000000000 +0200 -+++ AstroMenaceSourceCode/AstroMenaceSource/Core/Base.h 2009-08-18 09:22:10.000000000 +0200 -@@ -50,13 +50,15 @@ - #include // Header File For The OpenGL32 Library - #include // Header File For The GLu32 Library - #undef __glext_h_ -+ /* We want / need the OpenGL 1.3 function pointer typedefs */ -+ #undef GL_VERSION_1_3 -+ #include - #endif - - #include // rand, ... - #include // math for core Math - - --#include "RendererInterface/GLext.h" - #include "SDL/SDL.h" - #include "SDL/SDL_thread.h" - #include "SDL/SDL_syswm.h" diff --git a/astromenace.desktop b/astromenace.desktop index 6fab463..1047423 100644 --- a/astromenace.desktop +++ b/astromenace.desktop @@ -1,6 +1,5 @@ [Desktop Entry] Type=Application -Encoding=UTF-8 Name=Astromenace Exec=astromenace Comment=3D Space Shooter diff --git a/astromenace.spec b/astromenace.spec index 02dd9bc..0dbf836 100644 --- a/astromenace.spec +++ b/astromenace.spec @@ -1,16 +1,16 @@ %define oname openastromenace Name: astromenace -Version: 1.3.0 +Version: 1.3.1 Release: 1 Summary: Hardcore 3D space shooter with spaceship upgrade possibilities Group: Games/Arcade License: GPLv3 URL: http://www.viewizard.com/ -Source0: http://sourceforge.net/projects/openastromenace/files/%{version}/%{oname}-src-%{version}.tar.bz2 +Source0: http://sourceforge.net/projects/openastromenace/files/%{version}/%{name}-src-%{version}.tar.bz2 Source1: astromenace.desktop -Patch0: astromenace-system-glext.patch -Patch1: astromenace-1.3.0-config.patch +#upstream patch +Patch0: astromenace-1.3.1.patch BuildRequires: cmake BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glu) @@ -39,9 +39,9 @@ Go ahead and make alien aggressors regret their insolence. %package data Summary: Game data for AstroMenace game Requires: %{name} = %{version} -Obsoletes: astromenace-data < 1.3.0 -Obsoletes: astromenace-data-ru < 1.3.0 -Obsoletes: astromenace-data-de < 1.3.0 +Obsoletes: astromenace-data < 1.3.1 +Obsoletes: astromenace-data-ru < 1.3.1 +Obsoletes: astromenace-data-de < 1.3.1 %description data This package provides game data for AstroMenace. @@ -50,17 +50,25 @@ This package provides game data for AstroMenace. %setup -qn AstroMenace sed -i 's/\r//' License.txt sed -i 's/\r//' gpl-3.0.txt +sed -i 's/\r//' ReadMe.txt + chmod -x License.txt chmod -x ReadMe.txt chmod -x gpl-3.0.txt -%patch0 -p1 -%patch1 -p1 + +%patch0 -p0 %build -%cmake +[[ -d build ]] && rm -r build +mkdir build && cd build + +cmake .. \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DDATADIR=/usr/share/astromenace %make ./AstroMenace --pack --rawdata=../RAW_VFS_DATA --dir=. + %install mkdir -p %{buildroot}%{_bindir} install -m 755 build/AstroMenace %{buildroot}%{_bindir}/%{name} @@ -77,23 +85,13 @@ install -p -m 644 %{name}_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/app install -p -m 644 %{name}_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png %files -%doc ReadMe.txt License.txt gpl-3.0.txt +%doc ReadMe.txt License.txt %{_bindir}/%{name} %{_datadir}/applications/astromenace.desktop %{_iconsdir}/hicolor/*/apps/%{name}.png %files data +%doc gpl-3.0.txt %{_datadir}/%{name} -%changelog -* Mon Sep 26 2011 Andrey Bondrov 1.2-1 -+ Revision: 701334 -- imported package astromenace - -* Mon Sep 26 2011 Andrey Bondrov 1.2-1mdv2010.2 -- Spec clean up - -* Sat Nov 21 2009 Andrey Bondrov 1.2-1mib2009.1 -- Added Patch3 -- First build for MIB users