- fixed observers to be able to see queued commands of all other players

- updated authors for tilesets that we replaced sounds for
- updated source code release archive building script with improvements from svenstaro
- added commondata folder to data and install scripts
This commit is contained in:
Mark Vejvoda 2011-05-06 08:44:50 +00:00
parent e34e70a0c8
commit 9c992ed353
6 changed files with 63 additions and 59 deletions

View File

@ -32,6 +32,7 @@ find glest.ini \( -name "*" \) -exec cp -p "{}" $RELEASEDIR/glest_linux.ini ';'
find glestkeys.ini \( -name "*" \) -exec cp -p --parents "{}" $RELEASEDIR ';' find glestkeys.ini \( -name "*" \) -exec cp -p --parents "{}" $RELEASEDIR ';'
find configuration.xml \( -name "*" \) -exec cp -p --parents "{}" $RELEASEDIR ';' find configuration.xml \( -name "*" \) -exec cp -p --parents "{}" $RELEASEDIR ';'
find commondata/ \( -name "*" \) -not \( -name .svn -prune \) -not \( -name "*~" -prune \) -not \( -name "*.bak" -prune \) -exec cp -p --parents "{}" $RELEASEDIR ';'
find data/ \( -name "*" \) -not \( -name .svn -prune \) -not \( -name "*~" -prune \) -not \( -name "*.bak" -prune \) -exec cp -p --parents "{}" $RELEASEDIR ';' find data/ \( -name "*" \) -not \( -name .svn -prune \) -not \( -name "*~" -prune \) -not \( -name "*.bak" -prune \) -exec cp -p --parents "{}" $RELEASEDIR ';'
find docs/ \( -name "*" \) -not \( -name .svn -prune \) -not \( -name "*~" -prune \) -not \( -name "*.bak" -prune \) -exec cp -p --parents "{}" $RELEASEDIR ';' find docs/ \( -name "*" \) -not \( -name .svn -prune \) -not \( -name "*~" -prune \) -not \( -name "*.bak" -prune \) -exec cp -p --parents "{}" $RELEASEDIR ';'
find maps/ \( -name "*" \) -not \( -name .svn -prune \) -not \( -name "*~" -prune \) -not \( -name "*.bak" -prune \) -exec cp -p --parents "{}" $RELEASEDIR ';' find maps/ \( -name "*" \) -not \( -name .svn -prune \) -not \( -name "*~" -prune \) -not \( -name "*.bak" -prune \) -exec cp -p --parents "{}" $RELEASEDIR ';'

View File

@ -1,50 +1,39 @@
#!/bin/bash #!/bin/bash
VERSION=`./mg-version.sh --version` VERSION=$(./mg-version.sh --version)
RELEASENAME=megaglest-source RELEASENAME=megaglest-source
#RELEASEDIR="`pwd`/release/$RELEASENAME-$VERSION" PACKAGE="$RELEASENAME-$VERSION.tar.xz"
RELEASEDIR="`pwd`/release/$RELEASENAME-$VERSION/megaglest-$VERSION" CURRENTDIR="$(dirname $(readlink -f $0))"
RELEASEDIR="$CURRENTDIR/release/$RELEASENAME-$VERSION/megaglest-$VERSION"
SOURCEDIR="$CURRENTDIR/../../source/"
echo "Creating source package in $RELEASEDIR" echo "Creating source package in $RELEASEDIR"
rm -rf $RELEASEDIR [[ -d "$RELEASEDIR" ]] && rm -rf "$RELEASEDIR"
mkdir -p $RELEASEDIR mkdir -p "$RELEASEDIR"
mkdir -p $RELEASEDIR/source
# copy sources
pushd "`pwd`/../../source"
find glest_game/ \( -name "*.cpp" -o -name "*.h" -o -name "*.c" -o -name "CMake*" \) -exec cp -p --parents "{}" $RELEASEDIR/source ';'
find shared_lib/ \( -name "*.cpp" -o -name "*.h" -o -name "*.c" -o -name "CMake*" \) -exec cp -p --parents "{}" $RELEASEDIR/source ';'
find glest_map_editor/ \( -name "*.cpp" -o -name "*.h" -o -name "*.xpm" -o -name "*.c" -o -name "CMake*" \) -exec cp -p --parents "{}" $RELEASEDIR/source ';'
find g3d_viewer/ \( -name "*.cpp" -o -name "*.h" -o -name "*.c" -o -name "CMake*" \) -exec cp -p --parents "{}" $RELEASEDIR/source ';'
find configurator/ \( -name "*.cpp" -o -name "*.h" -o -name "*.c" -o -name "CMake*" \) -exec cp -p --parents "{}" $RELEASEDIR/source ';'
find masterserver/ \( -name "*.php" -o -name "*.sql" -o -name "CMake*" \) -exec cp -p --parents "{}" $RELEASEDIR/source ';'
find tools/ \( -name "*.cpp" -o -name "*.h" -o -name "*.c" -o -name "*.pl" -o -name "*.sh" -o -name "*.css" -o -name "*.html" -o -name "*.ini" -o -name "*.ico" -o -name "*.txt" -o -name "*.dtd" -o -name "*.png" -o -name "*.py" -o -name "README" -o -name "INSTALL" -o -name "COPYING" -o -name "CMake*" \) -exec cp -p --parents "{}" $RELEASEDIR/source ';'
pushd "../" svn export --force "$SOURCEDIR" "$RELEASEDIR/source"
find mk/cmake/ \( -name "*.cmake" \) -exec cp -p --parents "{}" $RELEASEDIR ';'
find mk/macosx/ \( -name "*.txt" -o -name "*.plist" -o -name "*.icns" -o -name "PkgInfo" \) -exec cp -p --parents "{}" $RELEASEDIR ';'
popd
popd #cp -r "$CURRENTDIR/../cmake/" "$RELEASEDIR"
#cp -r "$CURRENTDIR/../macosx/" "$RELEASEDIR"
#cp -r "$CURRENTDIR/../../docs" $RELEASEDIR
#cp "$CURRENTDIR/"*.ini $RELEASEDIR
#cp "$CURRENTDIR/glest.ico" $RELEASEDIR
#cp "$CURRENTDIR/megaglest.png" $RELEASEDIR
#cp "$CURRENTDIR/megaglest.desktop" $RELEASEDIR
#cp "$CURRENTDIR/start_megaglest"* $RELEASEDIR
#cp "$CURRENTDIR/../../CMake"* $RELEASEDIR
mkdir -p "$RELEASEDIR/mk/cmake/"
svn export --force "$CURRENTDIR/../cmake/" "$RELEASEDIR/mk/cmake/"
mkdir -p "$RELEASEDIR/mk/macosx/"
svn export --force "$CURRENTDIR/../macosx/" "$RELEASEDIR/mk/macosx/"
svn export --force "$CURRENTDIR/../../docs" $RELEASEDIR
cp "$CURRENTDIR/"*.ini $RELEASEDIR
cp "$CURRENTDIR/glest.ico" $RELEASEDIR
cp "$CURRENTDIR/megaglest.png" $RELEASEDIR
cp "$CURRENTDIR/megaglest.desktop" $RELEASEDIR
cp "$CURRENTDIR/start_megaglest"* $RELEASEDIR
cp "$CURRENTDIR/../../CMake"* $RELEASEDIR
cp -p ../../docs/*.txt $RELEASEDIR echo "Creating $PACKAGE"
cp -p glest.ini $RELEASEDIR tar cJf "release/$PACKAGE" -C "$CURRENTDIR/release/" "$RELEASENAME-$VERSION"
cp -p glestkeys.ini $RELEASEDIR
cp -p servers.ini $RELEASEDIR
cp -p glest.ico $RELEASEDIR
cp -p megaglest.png $RELEASEDIR
cp -p megaglest.desktop $RELEASEDIR
cp -p start_megaglest $RELEASEDIR
cp -p start_megaglest_configurator $RELEASEDIR
cp -p start_megaglest_mapeditor $RELEASEDIR
cp -p start_megaglest_g3dviewer $RELEASEDIR
cp -p ../../CMake* $RELEASEDIR
pushd release
PACKAGE="$RELEASENAME-$VERSION.tar.bz2"
echo "creating $PACKAGE"
rm "$PACKAGE"
tar -c --bzip2 -f "$PACKAGE" "$RELEASENAME-$VERSION"
#7za a "$RELEASENAME-$VERSION.7z" "$RELEASENAME-$VERSION"
popd

View File

@ -201,6 +201,7 @@ Section "${APNAME} (required)"
File "..\..\..\source\tools\glexemel\g3d_logo.png" File "..\..\..\source\tools\glexemel\g3d_logo.png"
SetOutPath $INSTDIR SetOutPath $INSTDIR
File /r /x .svn /x mydata "..\..\..\data\glest_game\commondata"
File /r /x .svn /x mydata "..\..\..\data\glest_game\data" File /r /x .svn /x mydata "..\..\..\data\glest_game\data"
File /r /x .svn /x mydata "..\..\..\data\glest_game\docs" File /r /x .svn /x mydata "..\..\..\data\glest_game\docs"
File /r /x .svn /x mydata "..\..\..\data\glest_game\maps" File /r /x .svn /x mydata "..\..\..\data\glest_game\maps"
@ -278,6 +279,7 @@ Section "Uninstall"
Delete $INSTDIR\xerces-c_3_0.dll Delete $INSTDIR\xerces-c_3_0.dll
Delete $INSTDIR\*.log Delete $INSTDIR\*.log
Delete $INSTDIR\commondata\*.*
Delete $INSTDIR\data\*.* Delete $INSTDIR\data\*.*
Delete $INSTDIR\docs\*.* Delete $INSTDIR\docs\*.*
Delete $INSTDIR\maps\*.* Delete $INSTDIR\maps\*.*
@ -287,6 +289,7 @@ Section "Uninstall"
Delete $INSTDIR\tilesets\*.* Delete $INSTDIR\tilesets\*.*
Delete $INSTDIR\tutorials\*.* Delete $INSTDIR\tutorials\*.*
RMDir /r $INSTDIR\commondata
RMDir /r $INSTDIR\data RMDir /r $INSTDIR\data
RMDir /r $INSTDIR\docs RMDir /r $INSTDIR\docs
RMDir /r $INSTDIR\maps RMDir /r $INSTDIR\maps

View File

@ -120,7 +120,7 @@ void Gui::init(Game *game){
this->console= game->getConsole(); this->console= game->getConsole();
this->world= game->getWorld(); this->world= game->getWorld();
this->game=game; this->game=game;
selection.init(this, world->getThisFactionIndex()); selection.init(this, world->getThisFactionIndex(), world->getThisTeamIndex());
} }
void Gui::end(){ void Gui::end(){
@ -609,15 +609,17 @@ void Gui::mouseDownDisplayUnitBuild(int posDisplay){
} }
string Gui::computeDefaultInfoString(){ string Gui::computeDefaultInfoString() {
Lang &lang= Lang::getInstance(); Lang &lang= Lang::getInstance();
string result=""; string result="";
//printf("\n\n\n\n********* selection.isCommandable() [%d] selection.isUniform() [%d]\n\n",selection.isCommandable(),selection.isUniform());
if(selection.isCommandable() && selection.isUniform()){ if(selection.isUniform()) {
// default is the description extension if(selection.isObserver() || selection.isCommandable()) {
result=selection.getFrontUnit()->getDescExtension(); // default is the description extension
result = selection.getFrontUnit()->getDescExtension();
}
} }
return result; return result;
} }

View File

@ -26,8 +26,9 @@ namespace Glest{ namespace Game{
// class Selection // class Selection
// ===================================================== // =====================================================
void Selection::init(Gui *gui, int factionIndex){ void Selection::init(Gui *gui, int factionIndex, int teamIndex) {
this->factionIndex= factionIndex; this->factionIndex= factionIndex;
this->teamIndex = teamIndex;
this->gui= gui; this->gui= gui;
} }
@ -35,8 +36,7 @@ Selection::~Selection(){
clear(); clear();
} }
void Selection::select(Unit *unit){ void Selection::select(Unit *unit) {
//check size //check size
//if(selectedUnits.size() >= maxUnits){ //if(selectedUnits.size() >= maxUnits){
if(selectedUnits.size() >= Config::getInstance().getInt("MaxUnitSelectCount",intToStr(maxUnits).c_str())) { if(selectedUnits.size() >= Config::getInstance().getInt("MaxUnitSelectCount",intToStr(maxUnits).c_str())) {
@ -44,19 +44,19 @@ void Selection::select(Unit *unit){
} }
//check if already selected //check if already selected
for(int i=0; i<selectedUnits.size(); ++i){ for(int i=0; i < selectedUnits.size(); ++i) {
if(selectedUnits[i]==unit){ if(selectedUnits[i ]== unit) {
return; return;
} }
} }
//check if dead //check if dead
if(unit->isDead()){ if(unit->isDead()) {
return; return;
} }
//check if multisel //check if multisel
if(!unit->getType()->getMultiSelect() && !isEmpty()){ if(!unit->getType()->getMultiSelect() && !isEmpty()) {
return; return;
} }
@ -128,13 +128,19 @@ bool Selection::isUniform() const{
return true; return true;
} }
bool Selection::isEnemy() const{ bool Selection::isEnemy() const {
return selectedUnits.size() == 1 && return selectedUnits.size() == 1 &&
(selectedUnits.front()->getFactionIndex() != factionIndex || selectedUnits.front()->getFactionIndex() != factionIndex;
factionIndex == (GameConstants::maxPlayers -1 + fpt_Observer));
} }
bool Selection::isCommandable() const{ bool Selection::isObserver() const {
return selectedUnits.size() == 1 &&
(teamIndex == (GameConstants::maxPlayers -1 + fpt_Observer));
}
bool Selection::isCommandable() const {
//printf("\n\n\n\n********* selection.isCommandable() ---> isEmpty() [%d] isEnemy() [%d] selectedUnits.size() [%d]\n\n",isEmpty(),isEnemy(),(int)selectedUnits.size());
return return
!isEmpty() && !isEmpty() &&
!isEnemy() && !isEnemy() &&

View File

@ -39,12 +39,13 @@ public:
private: private:
int factionIndex; int factionIndex;
int teamIndex;
UnitContainer selectedUnits; UnitContainer selectedUnits;
UnitContainer groups[maxGroups]; UnitContainer groups[maxGroups];
Gui *gui; Gui *gui;
public: public:
void init(Gui *gui, int factionIndex); void init(Gui *gui, int factionIndex, int teamIndex);
virtual ~Selection(); virtual ~Selection();
void select(Unit *unit); void select(Unit *unit);
@ -56,6 +57,8 @@ public:
bool isEmpty() const {return selectedUnits.empty();} bool isEmpty() const {return selectedUnits.empty();}
bool isUniform() const; bool isUniform() const;
bool isEnemy() const; bool isEnemy() const;
bool isObserver() const;
//bool isComandable() const; //bool isComandable() const;
bool isCommandable() const; bool isCommandable() const;
bool isCancelable() const; bool isCancelable() const;