diff options
Diffstat (limited to 'games/vegastrike/patch-0.5.1.r1')
-rw-r--r-- | games/vegastrike/patch-0.5.1.r1 | 326 |
1 files changed, 326 insertions, 0 deletions
diff --git a/games/vegastrike/patch-0.5.1.r1 b/games/vegastrike/patch-0.5.1.r1 new file mode 100644 index 0000000000000..4077324d4c9b5 --- /dev/null +++ b/games/vegastrike/patch-0.5.1.r1 @@ -0,0 +1,326 @@ +diff -ruN ./CMakeLists.txt ../b/CMakeLists.txt +--- ./CMakeLists.txt 2012-03-26 02:50:49.000000000 +0200 ++++ ../b/CMakeLists.txt 2019-09-20 14:45:44.171890881 +0200 +@@ -10,7 +10,7 @@ + + project (vsUTCS) + +- ++include(GNUInstallDirs) + + include_directories(${vsUTCS_SOURCE_DIR}/src + ${vsUTCS_SOURCE_DIR}/src/cmd +@@ -828,33 +828,33 @@ + + #Find FFMpeg + +-find_package(FFMPEG) +-IF(FFMPEG_FOUND) +- SET(TST_INCLUDES ${TST_INCLUDES} ${FFMPEG_INCLUDE_DIRS}) +- SET(TST_LIBS ${TST_LIBS} ${FFMPEG_LIBRARIES}) +- add_definitions(${FFMPEG_DEFINITIONS}) +- SET(HAVE_FFMPEG 1 ) +- IF(swscale1_FOUND) +- message("++ FFmpeg's libswscale found.") +- ELSE(swscale1_FOUND) +- message("-- FFMpeg's libswscale not found... depending on your ffmpeg version, VS might not build.") +- ENDIF(swscale1_FOUND) +-ELSE(FFMPEG_FOUND) +- message("-- FFMPEG Not Found") +-ENDIF(FFMPEG_FOUND) ++#find_package(FFMPEG) ++#IF(FFMPEG_FOUND) ++# SET(TST_INCLUDES ${TST_INCLUDES} ${FFMPEG_INCLUDE_DIRS}) ++# SET(TST_LIBS ${TST_LIBS} ${FFMPEG_LIBRARIES}) ++# add_definitions(${FFMPEG_DEFINITIONS}) ++# SET(HAVE_FFMPEG 1 ) ++# IF(swscale1_FOUND) ++# message("++ FFmpeg's libswscale found.") ++# ELSE(swscale1_FOUND) ++# message("-- FFMpeg's libswscale not found... depending on your ffmpeg version, VS might not build.") ++# ENDIF(swscale1_FOUND) ++#ELSE(FFMPEG_FOUND) ++# message("-- FFMPEG Not Found") ++#ENDIF(FFMPEG_FOUND) + + #Find Ogre + +-find_package(OGRE) +-IF(OGRE_FOUND) +- SET(TST_INCLUDES ${TST_INCLUDES} ${OGRE_INCLUDE_DIR}) +- SET(TST_LIBS ${TST_LIBS} ${OGRE_LIBRARY}) +- add_definitions(${OGRE_DEFINITIONS}) +- SET(HAVE_OGRE 1) +- message("++ Found Ogre: ${OGRE_VERSION}") +-ELSE(OGRE_FOUND) +- message("-- Ogre Not Found: compiling without") +-ENDIF(OGRE_FOUND) ++#find_package(OGRE) ++#IF(OGRE_FOUND) ++# SET(TST_INCLUDES ${TST_INCLUDES} ${OGRE_INCLUDE_DIR}) ++# SET(TST_LIBS ${TST_LIBS} ${OGRE_LIBRARY}) ++# add_definitions(${OGRE_DEFINITIONS}) ++# SET(HAVE_OGRE 1) ++# message("++ Found Ogre: ${OGRE_VERSION}") ++#ELSE(OGRE_FOUND) ++# message("-- Ogre Not Found: compiling without") ++#ENDIF(OGRE_FOUND) + + IF(NOT BEOS) + FIND_LIBRARY(UTIL_LIB util) +@@ -977,12 +977,12 @@ + HAVE_AVFORMAT_H + HAVE_AVCODEC_H + HAVE_AVIO_H +- HAVE_FFMPEG_SWSCALE_H ++# HAVE_FFMPEG_SWSCALE_H + CMAKE_BACKWARDS_COMPATIBILITY +- FFMPEG_INCLUDE_DIR +- FFMPEG_FOUND +- FFMPEG_LIBRARIES +- FFMPEG_DEFINITIONS ++# FFMPEG_INCLUDE_DIR ++# FFMPEG_FOUND ++# FFMPEG_LIBRARIES ++# FFMPEG_DEFINITIONS + GTK2_ATK_INCLUDE_DIR + GTK2_ATK_LIBRARY + GTK2_CAIRO_INCLUDE_DIR +diff -ruN ./objconv/basemaker/base_maker_texture.cpp ../b/objconv/basemaker/base_maker_texture.cpp +--- ./objconv/basemaker/base_maker_texture.cpp 2010-03-10 03:56:23.000000000 +0100 ++++ ../b/objconv/basemaker/base_maker_texture.cpp 2019-09-20 14:45:44.174891262 +0200 +@@ -6,9 +6,12 @@ + #define XMD_H + #define HAVE_BOOLEAN + #endif ++ + extern "C" { + //YUCK it doesn't even have extern c in the headers! + #include <jpeglib.h> ++#include <string.h> ++ + } + + #define strip_16 true +diff -ruN ./objconv/mesher/to_OgreMesh.cpp ../b/objconv/mesher/to_OgreMesh.cpp +--- ./objconv/mesher/to_OgreMesh.cpp 2011-06-02 01:47:36.000000000 +0200 ++++ ../b/objconv/mesher/to_OgreMesh.cpp 2019-09-20 14:45:44.176891516 +0200 +@@ -1078,10 +1078,15 @@ + Ogre::VertexDeclaration *newDcl = + data->vertexDeclaration->getAutoOrganisedDeclaration( + mesh->hasSkeleton() ); +-#else ++#elif (OGRE_VERSION_MAJOR == 1) && (OGRE_VERSION_MINOR < 8) + Ogre::VertexDeclaration *newDcl = + data->vertexDeclaration->getAutoOrganisedDeclaration( + mesh->hasSkeleton(), mesh->hasVertexAnimation() || (mesh->getPoseCount() > 0) ); ++#else ++ Ogre::VertexDeclaration *newDcl = ++ data->vertexDeclaration->getAutoOrganisedDeclaration( ++ mesh->hasSkeleton(), mesh->hasVertexAnimation() || (mesh->getPoseCount() > 0), ++ mesh->getSharedVertexDataAnimationIncludesNormals()); // what about Pose objects? + #endif + if ( *newDcl != *(data->vertexDeclaration) ) { + //Usages don't matter here since we're onlly exporting +@@ -1109,35 +1114,35 @@ + } + } + +-void AutoLOD( void *outputcontext, bool force, int numLod, float reductionFactor, float refDistance ) +-{ +- struct outputContext *ctxt = (struct outputContext*) outputcontext; +- MeshPtr newMesh = ctxt->top; +- if ( force || (newMesh->getNumLodLevels() <= 1) ) { +- if (newMesh->getNumLodLevels() <= 1) +- newMesh->removeLodLevels(); +- const Ogre::ProgressiveMesh::VertexReductionQuota quota = Ogre::ProgressiveMesh::VRQ_PROPORTIONAL; +- const Real reduction = Real( 1-reductionFactor ); +- +- Real currDist = refDistance; +- +- #if (OGRE_VERSION >= 0x010700) +- Ogre::Mesh::LodValueList distanceList; +- +- // pixel area is squared length, and length is proportional to triangle count +- const Real distFactor = reductionFactor * reductionFactor; +- newMesh->setLodStrategy(Ogre::LodStrategyManager::getSingletonPtr()-> +- getStrategy( "PixelCount" ) ); +- #else +- Ogre::Mesh::LodDistanceList distanceList; +- const Real distFactor = ( (reduction > 0.00001) ? 1/reduction : 1 ); +- #endif +- +- for (int iLod = 0; iLod < numLod; ++iLod, currDist *= distFactor) +- distanceList.push_back( currDist ); +- newMesh->generateLodLevels( distanceList, quota, reduction ); +- } +-} ++//void AutoLOD( void *outputcontext, bool force, int numLod, float reductionFactor, float refDistance ) ++//{ ++// struct outputContext *ctxt = (struct outputContext*) outputcontext; ++// MeshPtr newMesh = ctxt->top; ++// if ( force || (newMesh->getNumLodLevels() <= 1) ) { ++// if (newMesh->getNumLodLevels() <= 1) ++// newMesh->removeLodLevels(); ++// const Ogre::ProgressiveMesh::VertexReductionQuota quota = Ogre::ProgressiveMesh::VRQ_PROPORTIONAL; ++// const Real reduction = Real( 1-reductionFactor ); ++// ++// Real currDist = refDistance; ++// ++// #if (OGRE_VERSION >= 0x010700) ++// Ogre::Mesh::LodValueList distanceList; ++// ++// // pixel area is squared length, and length is proportional to triangle count ++// const Real distFactor = reductionFactor * reductionFactor; ++// newMesh->setLodStrategy(Ogre::LodStrategyManager::getSingletonPtr()-> ++// getStrategy( "PixelCount" ) ); ++// #else ++// Ogre::Mesh::LodDistanceList distanceList; ++// const Real distFactor = ( (reduction > 0.00001) ? 1/reduction : 1 ); ++// #endif ++// ++// for (int iLod = 0; iLod < numLod; ++iLod, currDist *= distFactor) ++// distanceList.push_back( currDist ); ++// newMesh->generateLodLevels( distanceList, quota, reduction ); ++// } ++//} + + void DoneMeshes( void *outputcontext ) + { +diff -ruN ./objconv/mesher/to_OgreMesh.h ../b/objconv/mesher/to_OgreMesh.h +--- ./objconv/mesher/to_OgreMesh.h 2010-02-25 16:22:25.000000000 +0100 ++++ ../b/objconv/mesher/to_OgreMesh.h 2019-09-20 14:45:44.179891897 +0200 +@@ -20,7 +20,7 @@ + float RadialSize( void *outputcontext ); //returns the size of the resulting mesh (it's maximum distance from 0,0,0). Useful for LODding. + + void Optimize( void *outputcontext ); //a good idea - reorganizes internal buffers so that the output mesh is more efficient +-void AutoLOD( void *outputcontext, bool force, int numLod, float reductionFactor, float refDistance ); //autogenerates LOD levels - if force==true, will discard current LOD data ++//void AutoLOD( void *outputcontext, bool force, int numLod, float reductionFactor, float refDistance ); //autogenerates LOD levels - if force==true, will discard current LOD data + void AutoEdgeList( void *outputcontext ); //a good idea - prepares the mesh for stencil shadows + void AutoTangents( void *outputcontext ); //prepares the mesh for normal mapping (only needed if the material uses normal mapping) + } +diff -ruN ./setup/src/c/setup.cpp ../b/setup/src/c/setup.cpp +--- ./setup/src/c/setup.cpp 2011-03-15 01:28:47.000000000 +0100 ++++ ../b/setup/src/c/setup.cpp 2019-09-20 14:45:44.180892025 +0200 +@@ -110,10 +110,22 @@ + return 1; + } + } +- ++ + #ifdef DATA_DIR + data_paths.push_back( DATA_DIR ); + #endif ++ /* whatever the plan was, it does not work on Linux - at least ++ * not at this stage. Hence, use fixed absolute paths to ++ * find data directory ++ */ ++ data_paths.push_back( "/usr/share/games/vegastrike/data"); ++ data_paths.push_back( "/usr/share/vegastrike/data"); ++ data_paths.push_back( "/usr/games/vegastrike/data"); ++ data_paths.push_back( "/usr/local/share/games/vegastrike/data"); ++ data_paths.push_back( "/usr/local/share/vegastrike/data"); ++ data_paths.push_back( "/usr/local/games/vegastrike/data"); ++ data_paths.push_back( "/opt/vegastrike/data"); ++ + data_paths.push_back( origpath ); + data_paths.push_back( string( origpath )+"/.." ); + data_paths.push_back( string( origpath )+"/../data4.x" ); +@@ -133,22 +145,7 @@ + data_paths.push_back( "../Resources" ); + data_paths.push_back( "../Resources/data" ); + data_paths.push_back( "../Resources/data4.x" ); +-/* +- * data_paths.push_back( "/usr/share/local/vegastrike/data"); +- * data_paths.push_back( "/usr/local/share/vegastrike/data"); +- * data_paths.push_back( "/usr/local/vegastrike/data"); +- * data_paths.push_back( "/usr/share/vegastrike/data"); +- * data_paths.push_back( "/usr/local/games/vegastrike/data"); +- * data_paths.push_back( "/usr/games/vegastrike/data"); +- * data_paths.push_back( "/opt/share/vegastrike/data"); +- * data_paths.push_back( "/usr/share/local/vegastrike/data4.x"); +- * data_paths.push_back( "/usr/local/share/vegastrike/data4.x"); +- * data_paths.push_back( "/usr/local/vegastrike/data4.x"); +- * data_paths.push_back( "/usr/share/vegastrike/data4.x"); +- * data_paths.push_back( "/usr/local/games/vegastrike/data4.x"); +- * data_paths.push_back( "/usr/games/vegastrike/data4.x"); +- * data_paths.push_back( "/opt/share/vegastrike/data4.x"); +- */ ++ + //Win32 data should be "." + char tmppath[16384]; + for (vector< string >::iterator vsit = data_paths.begin(); vsit != data_paths.end(); vsit++) { +diff -ruN ./src/cmd/music.cpp ../b/src/cmd/music.cpp +--- ./src/cmd/music.cpp 2012-03-19 09:20:14.000000000 +0100 ++++ ../b/src/cmd/music.cpp 2019-09-20 14:45:44.182892279 +0200 +@@ -448,7 +448,9 @@ + if (foundcache) { + *me->music_load_info = wherecache->second; + me->freeWav = false; +- } ++ } else if ( ! AUDLoadSoundFile(songname, me->music_load_info, true)) { ++ VSFileSystem::vs_dprintf(1, "Failed to load music file \"%s\"", songname); ++ } + } + if (me->freeWav && docacheme) { + me->freeWav = false; +diff -ruN ./src/cmd/unit_jump.h ../b/src/cmd/unit_jump.h +--- ./src/cmd/unit_jump.h 2012-03-19 09:20:14.000000000 +0100 ++++ ../b/src/cmd/unit_jump.h 2019-09-20 14:45:44.184892533 +0200 +@@ -108,7 +108,7 @@ + (tester = *i) != NULL; ++i)
+ if (tester->isUnit() == UNITPTR && tester != this)
+ if ( ( this->LocalPosition()-tester->LocalPosition() ).Magnitude() < this->rSize()+tester->rSize() )
+- SetCurPosition( this->LocalPosition()+this->cumulative_transformation_matrix.getR()
++ this->SetCurPosition( this->LocalPosition()+this->cumulative_transformation_matrix.getR()
+ *( 4*( this->rSize()+tester->rSize() ) ) );
+ DealPossibleJumpDamage( this );
+ static int jumparrive = AUDCreateSound( vs_config->getVariable( "unitaudio", "jumparrive", "sfx43.wav" ), false );
+diff -ruN ./src/gfx/quadsquare.cpp ../b/src/gfx/quadsquare.cpp +--- ./src/gfx/quadsquare.cpp 2010-03-10 06:27:01.000000000 +0100 ++++ ../b/src/gfx/quadsquare.cpp 2019-09-20 14:45:44.186892787 +0200 +@@ -13,9 +13,9 @@ + #include <float.h> + #include <math.h> + #include <assert.h> +-#include "quadsquare.h" + #include "gfxlib.h" + #include "aux_texture.h" ++#include "quadsquare.h" + using std::vector; + + unsigned int*quadsquare::VertexAllocated; +diff -ruN ./src/networking/lowlevel/packetmem.cpp ../b/src/networking/lowlevel/packetmem.cpp +--- ./src/networking/lowlevel/packetmem.cpp 2008-03-31 10:20:19.000000000 +0200 ++++ ../b/src/networking/lowlevel/packetmem.cpp 2019-09-20 14:45:44.187892914 +0200 +@@ -102,7 +102,7 @@ + } + else + { +- _buffer.reset( 0 ); ++ _buffer.reset(); + _len = 0; + } + } +diff -ruN ./src/vsfilesystem.cpp ../b/src/vsfilesystem.cpp +--- ./src/vsfilesystem.cpp 2012-03-19 09:20:14.000000000 +0100 ++++ ../b/src/vsfilesystem.cpp 2019-09-20 14:45:44.190893296 +0200 +@@ -563,6 +563,18 @@ + data_paths.push_back( DATA_DIR ); + #endif + if ( !vegastrike_cwd.empty() ) { ++ /* whatever the plan was, it does not work on Linux - at least ++ * not at this stage. Hence, use fixed absolute paths to ++ * find data directory ++ */ ++ data_paths.push_back( "/usr/share/games/vegastrike/data"); ++ data_paths.push_back( "/usr/share/vegastrike/data"); ++ data_paths.push_back( "/usr/games/vegastrike/data"); ++ data_paths.push_back( "/usr/local/share/games/vegastrike/data"); ++ data_paths.push_back( "/usr/local/share/vegastrike/data"); ++ data_paths.push_back( "/usr/local/games/vegastrike/data"); ++ data_paths.push_back( "/opt/vegastrike/data"); ++ + data_paths.push_back( vegastrike_cwd ); + data_paths.push_back( vegastrike_cwd+"/.." ); + data_paths.push_back( vegastrike_cwd+"/../data4.x" ); |