summaryrefslogtreecommitdiffstats
path: root/games/vegastrike/patches/patch-0.5.1.r1_2
diff options
context:
space:
mode:
Diffstat (limited to 'games/vegastrike/patches/patch-0.5.1.r1_2')
-rw-r--r--games/vegastrike/patches/patch-0.5.1.r1_2616
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;
- }