diff options
Diffstat (limited to 'games/vegastrike/patches/patch-0.5.1.r1_2')
-rw-r--r-- | games/vegastrike/patches/patch-0.5.1.r1_2 | 616 |
1 files changed, 0 insertions, 616 deletions
diff --git a/games/vegastrike/patches/patch-0.5.1.r1_2 b/games/vegastrike/patches/patch-0.5.1.r1_2 deleted file mode 100644 index 7780674c0c..0000000000 --- a/games/vegastrike/patches/patch-0.5.1.r1_2 +++ /dev/null @@ -1,616 +0,0 @@ -diff -ruN ./CMakeLists.txt ../c/CMakeLists.txt ---- ./CMakeLists.txt 2012-03-26 02:50:49.000000000 +0200 -+++ ../c/CMakeLists.txt 2020-09-03 16:25:55.870086658 +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 ../c/objconv/basemaker/base_maker_texture.cpp ---- ./objconv/basemaker/base_maker_texture.cpp 2010-03-10 03:56:23.000000000 +0100 -+++ ../c/objconv/basemaker/base_maker_texture.cpp 2020-09-03 16:25:55.871086646 +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 ../c/objconv/mesher/to_OgreMesh.cpp ---- ./objconv/mesher/to_OgreMesh.cpp 2011-06-02 01:47:36.000000000 +0200 -+++ ../c/objconv/mesher/to_OgreMesh.cpp 2020-09-03 16:25:55.872086633 +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 ../c/objconv/mesher/to_OgreMesh.h ---- ./objconv/mesher/to_OgreMesh.h 2010-02-25 16:22:25.000000000 +0100 -+++ ../c/objconv/mesher/to_OgreMesh.h 2020-09-03 16:25:55.873086621 +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 ../c/setup/src/c/setup.cpp ---- ./setup/src/c/setup.cpp 2011-03-15 01:28:47.000000000 +0100 -+++ ../c/setup/src/c/setup.cpp 2020-09-03 16:25:55.873086621 +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 ./setup/src/include/central.cpp ../c/setup/src/include/central.cpp ---- ./setup/src/include/central.cpp 2004-10-25 04:27:13.000000000 +0200 -+++ ../c/setup/src/include/central.cpp 2020-09-03 17:45:35.786329482 +0200 -@@ -20,6 +20,8 @@ - struct group GROUPS; - struct global_settings CONFIG; - -+static char EMPTY_STR[] = ""; -+ - // Primary initialization function. Sets everything up and takes care of the program - void Start(int * argc, char ***argv) { - LoadMainConfig(); -@@ -65,7 +67,7 @@ - if (CUR->name == NULL) { continue; } - if (strcmp(CUR->name, group) == 0) { return CUR->setting; } - } while ((CUR = CUR->next) > 0); -- return '\0'; -+ return EMPTY_STR; - } - - struct catagory *GetCatStruct(char *name) { -diff -ruN ./src/cmd/music.cpp ../c/src/cmd/music.cpp ---- ./src/cmd/music.cpp 2012-03-19 09:20:14.000000000 +0100 -+++ ../c/src/cmd/music.cpp 2020-09-03 16:25:55.874086608 +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.cpp ../c/src/cmd/unit.cpp ---- ./src/cmd/unit.cpp 2012-03-19 09:20:14.000000000 +0100 -+++ ../c/src/cmd/unit.cpp 2020-09-03 16:25:55.875086596 +0200 -@@ -80,6 +80,7 @@ - template < class UnitType >GameUnit< UnitType >::GameUnit( int ) : sparkle_accum( 0 ) - , phalos( new HaloSystem() ) - { -+ VSFileSystem::vs_dprintf(3, "Unit created by Constructor: template < class UnitType >GameUnit< UnitType >::GameUnit( int ) : sparkle_accum( 0 ), phalos( new HaloSystem() )\n"); - this->Unit::Init(); - } - -@@ -99,6 +100,14 @@ - , phalos( new HaloSystem() ) - { - Unit::Init( filename, SubU, faction, unitModifications, flightgrp, fg_subnumber, netxml ); -+ -+ std::string fn = string(filename); -+ std::string str_faction = string(FactionUtil::GetFaction(faction)); -+ std::string objtype = UniverseUtil::LookupUnitStat( fn, str_faction, "Object_Type"); -+ if (objtype.compare("Vessel") == 0) { -+ VSFileSystem::vs_dprintf(3, "Recomputing upgrades for (units.csv) Object_Type: %s\n", objtype.c_str()); -+ UnitUtil::RecomputeUnitUpgrades(this); -+ } - } - - template < class UnitType >GameUnit< UnitType >::~GameUnit() -diff -ruN ./src/cmd/unit_collide.h ../c/src/cmd/unit_collide.h ---- ./src/cmd/unit_collide.h 2012-03-19 09:20:14.000000000 +0100 -+++ ../c/src/cmd/unit_collide.h 2020-09-03 17:34:09.178913256 +0200 -@@ -94,9 +94,9 @@ - { - if ( !hugeobjects.empty() ) - hugeobjects.clear(); -- if ( this->active_huge.size() ) -+ if ( this->active_huge->size() ) - ha.clear(); -- if ( this->accum_huge.size() ) -+ if ( this->accum_huge->size() ) - hb.clear(); - acc_huge.clear(); - act_huge.clear(); -diff -ruN ./src/cmd/unit_generic.cpp ../c/src/cmd/unit_generic.cpp ---- ./src/cmd/unit_generic.cpp 2012-03-19 09:20:14.000000000 +0100 -+++ ../c/src/cmd/unit_generic.cpp 2020-09-03 16:25:55.879086546 +0200 -@@ -4903,16 +4903,26 @@ - - static const string LOAD_FAILED = "LOAD_FAILED"; - -+//const Unit * makeFinalBlankUpgrade( string name, int faction ) -+//{ -+// char *unitdir = GetUnitDir( name.c_str() ); -+// string limiternam = name; -+// if (unitdir != name) -+// limiternam = string( unitdir )+string( ".blank" ); -+// free( unitdir ); -+// const Unit *lim = UnitConstCache::getCachedConst( StringIntKey( limiternam, faction ) ); -+// if (!lim) -+// lim = UnitConstCache::setCachedConst( StringIntKey( limiternam, faction ), makeBlankUpgrade( limiternam, faction ) ); -+// if (lim->name == LOAD_FAILED) -+// lim = NULL; -+// return lim; -+//} -+ - const Unit * makeFinalBlankUpgrade( string name, int faction ) - { -- char *unitdir = GetUnitDir( name.c_str() ); -- string limiternam = name; -- if (unitdir != name) -- limiternam = string( unitdir )+string( ".blank" ); -- free( unitdir ); -- const Unit *lim = UnitConstCache::getCachedConst( StringIntKey( limiternam, faction ) ); -+ const Unit *lim = UnitConstCache::getCachedConst( StringIntKey( name, faction ) ); - if (!lim) -- lim = UnitConstCache::setCachedConst( StringIntKey( limiternam, faction ), makeBlankUpgrade( limiternam, faction ) ); -+ lim = UnitConstCache::setCachedConst( StringIntKey( name, faction ), makeBlankUpgrade( name, faction ) ); - if (lim->name == LOAD_FAILED) - lim = NULL; - return lim; -@@ -6387,21 +6397,48 @@ - int tmpammo = mounts[jmod].ammo; - if (mounts[jmod].ammo != -1 && up->mounts[i].ammo != -1) { - tmpammo += up->mounts[i].ammo; -- if (templ) { -- if (templ->GetNumMounts() > jmod) { -- if (templ->mounts[jmod].volume != -1) { -- if (templ->mounts[jmod].volume < mounts[jmod].type->volume*tmpammo) { -- tmpammo = -- (int) floor( .125 -- +( (0 -- +templ->mounts[jmod].volume) -- /mounts[jmod].type->volume ) ); -+ if (ismissiletype) { -+ if (templ) { -+ if (templ->GetNumMounts() > jmod) { -+ if (templ->mounts[jmod].volume != -1) { -+ if (templ->mounts[jmod].volume < mounts[jmod].type->volume*tmpammo) { -+ tmpammo = -+ (int) floor( .125 -+ +( (0 -+ +templ->mounts[jmod].volume) -+ /mounts[jmod].type->volume ) ); -+ } - } - } - } -+ if (tmpammo*mounts[jmod].type->volume > mounts[jmod].volume) -+ tmpammo = (int) floor( .125+( (0+mounts[jmod].volume)/mounts[jmod].type->volume ) ); -+ } else { -+ std::string ammoname = up->name.get(); -+ std::size_t ammopos = ammoname.find("_ammo"); -+ std::string weaponname = ammoname.substr(0, ammopos); -+ -+ /* Do NOT delete this Unit because it will be either fetched -+ * from a cache or - if it has to be created - it will -+ * be automatically put in a cache. -+ * Deletion will corrupt the cache! -+ */ -+ const Unit * weapon = getUnitFromUpgradeName(weaponname); -+ -+ if (weapon == NULL || weapon->name == LOAD_FAILED) { -+ // this should not happen -+ VSFileSystem::vs_dprintf(1, "UpgradeMount(): FAILED to obtain weapon: %s\n", weaponname.c_str()); -+ cancompletefully = false; -+ break; -+ } -+ -+ int maxammo = weapon->mounts[0].ammo; -+ -+ if (tmpammo > maxammo) { -+ tmpammo = maxammo; -+ } - } -- if (tmpammo*mounts[jmod].type->volume > mounts[jmod].volume) -- tmpammo = (int) floor( .125+( (0+mounts[jmod].volume)/mounts[jmod].type->volume ) ); -+ - if (tmpammo > mounts[jmod].ammo) { - cancompletefully = true; - if (touchme) -diff -ruN ./src/cmd/unit_jump.h ../c/src/cmd/unit_jump.h ---- ./src/cmd/unit_jump.h 2012-03-19 09:20:14.000000000 +0100 -+++ ../c/src/cmd/unit_jump.h 2020-09-03 16:25:55.880086533 +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/cockpit_xml.cpp ../c/src/gfx/cockpit_xml.cpp ---- ./src/gfx/cockpit_xml.cpp 2010-12-15 09:53:40.000000000 +0100 -+++ ../c/src/gfx/cockpit_xml.cpp 2020-09-03 16:30:00.313030701 +0200 -@@ -315,7 +315,7 @@ - for (counter = 0; counter < 4; ++counter) - if (!replaced[counter]) { - delete Pit[counter]; -- Pit[counter] = false; -+ Pit[counter] = NULL; - } - break; - case UnitImages< void >::SHIELD4: -diff -ruN ./src/gfx/quadsquare.cpp ../c/src/gfx/quadsquare.cpp ---- ./src/gfx/quadsquare.cpp 2010-03-10 06:27:01.000000000 +0100 -+++ ../c/src/gfx/quadsquare.cpp 2020-09-03 16:25:55.881086521 +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/gui/text_area.cpp ../c/src/gui/text_area.cpp ---- ./src/gui/text_area.cpp 2010-02-25 15:26:53.000000000 +0100 -+++ ../c/src/gui/text_area.cpp 2020-09-03 17:46:51.883378138 +0200 -@@ -32,6 +32,8 @@ - * }; - */ - -+static char EMPTY_STR[] = ""; -+ - TextArea::~TextArea() {} - - TextArea::TextArea() -@@ -316,7 +318,7 @@ - { - TextAreaItem *search; - search = ItemList->FindCount( cur_selected, 0 ); -- if (search == 0) return '\0'; -+ if (search == 0) return EMPTY_STR; - if (type == 1) return search->name; - - else return search->description; -diff -ruN ./src/networking/lowlevel/packetmem.cpp ../c/src/networking/lowlevel/packetmem.cpp ---- ./src/networking/lowlevel/packetmem.cpp 2008-03-31 10:20:19.000000000 +0200 -+++ ../c/src/networking/lowlevel/packetmem.cpp 2020-09-03 16:25:55.881086521 +0200 -@@ -102,7 +102,7 @@ - } - else - { -- _buffer.reset( 0 ); -+ _buffer.reset(); - _len = 0; - } - } -diff -ruN ./src/pk3.cpp ../c/src/pk3.cpp ---- ./src/pk3.cpp 2012-03-19 09:20:14.000000000 +0100 -+++ ../c/src/pk3.cpp 2020-09-03 16:31:12.819124250 +0200 -@@ -356,7 +356,7 @@ - } - //if the file isn't in the archive - if (index == -1) -- return false; -+ return NULL; - int flength = GetFileLen( index ); - - buffer = new char[flength]; -diff -ruN ./src/vsfilesystem.cpp ../c/src/vsfilesystem.cpp ---- ./src/vsfilesystem.cpp 2012-03-19 09:20:14.000000000 +0100 -+++ ../c/src/vsfilesystem.cpp 2020-09-03 16:25:55.882086508 +0200 -@@ -460,13 +460,15 @@ - - int vs_fprintf( FILE *fp, const char *format, ... ) - { -+ int ret = 0; - if (!use_volumes) { - va_list ap; - va_start( ap, format ); - -- return vfprintf( fp, format, ap ); -- } else {} -- return 0; -+ ret = vfprintf( fp, format, ap ); -+ va_end(ap); -+ } -+ return ret; - } - - void vs_dprintf( char level, const char *format, ... ) -@@ -475,19 +477,22 @@ - va_list ap; - va_start( ap, format ); - vfprintf( stderr, format, ap ); -+ va_end(ap); - } - } - - #if 0 - int vs_fscanf( FILE *fp, const char *format, ... ) - { -+ int ret = 0; - if (!use_volumes) { - va_list arglist; - va_start( arglist, format ); - //return _input(fp,(unsigned char*)format,arglist); -- return vfscanf( fp, format, arglist ); -- } else {} -- return 0; -+ ret = vfscanf( fp, format, arglist ); -+ va_end(arglist); -+ } -+ return ret; - } - #endif - -@@ -563,6 +568,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" ); -@@ -1713,16 +1730,18 @@ - - int VSFile::Fprintf( const char *format, ... ) - { -+ int ret = 0; - if (!UseVolumes[alt_type] || this->volume_type == VSFSNone) { - va_list ap; - va_start( ap, format ); - -- return vfprintf( this->fp, format, ap ); -+ ret = vfprintf( this->fp, format, ap ); -+ va_end(ap); - } else { - cerr<<"!!! ERROR : Writing is not supported within resource/volume files"<<endl; - VSExit( 1 ); - } -- return 0; -+ return ret; - } - - #if 0 -@@ -1742,18 +1761,17 @@ - if (!UseVolumes[alt_type] || this->volume_type == VSFSNone) { - //return _input(fp,(unsigned char*)format,arglist); - ret = vfscanf( this->fp, newformat, arglist ); -- va_end( arglist ); - } else { - if (q_volume_format == vfmtVSR) {} else if (q_volume_format == vfmtPK3) { - //If the file has not been extracted yet we do now - checkExtracted(); - ret = vsscanf( pk3_extracted_file+offset, newformat, arglist ); - readbytes = GetReadBytes( newformat, arglist ); -- va_end( arglist ); - cerr<<" SSCANF : Read "<<readbytes<<" bytes"<<endl; - this->offset += readbytes; - } - } -+ va_end( arglist ); - delete[] newformat; - return ret; - } |