diff --git a/Makefile.am b/Makefile.am index 91792473b..b2867fcee 100644 --- a/Makefile.am +++ b/Makefile.am @@ -36,6 +36,9 @@ dist_doc_DATA = \ ACLOCAL_AMFLAGS = -I m4 +# ignore the autorevision.cache file on make distcheck +distcleancheck_listfiles = find . -type f -print | grep -v 'autorevision.cache' + EXTRA_DIST= \ build_tools/autorevision \ autogen.sh \ diff --git a/build_tools/autorevision b/build_tools/autorevision index 3ded44ae4..94d33a826 100755 --- a/build_tools/autorevision +++ b/build_tools/autorevision @@ -16,7 +16,6 @@ usage: ./autorevision {-t output-type | -s symbol} [-o cache-file [-f] ] [-V] -s symbol = specify symbol output -o cache-file = specify cache file location -f = force the use of cache data - -U = Check for untracked files in svn -V = emit version and exit -? = help message @@ -24,26 +23,13 @@ The folowing are valid output types: h = Header for use with c/c++ xcode = Header useful for populating info.plist files sh = Bash sytax - py = Python file - pl = Perl file - lua = Lua file - php = PHP file - ini = INI file - js = javascript file - json = JSON file - java = Java file - javaprop = Java properties file - tex = (La)TeX file - m4 = m4 file The following are valid symbols: VCS_TYPE VCS_BASENAME - VCS_NUM - VCS_DATE VCS_BRANCH VCS_TAG - VCS_TICK + VCS_EXTRA VCS_FULL_HASH VCS_SHORT_HASH VCS_WC_MODIFIED @@ -52,7 +38,7 @@ EOF } # Config -ARVERSION="1.6" +ARVERSION="1.7-Warzone" TARGETFILE="/dev/stdout" while getopts ":t:o:s:Vf" OPTION; do case "${OPTION}" in @@ -107,218 +93,22 @@ gitRepo() { cd "$(git rev-parse --show-toplevel)" VCS_TYPE="git" - VCS_BASENAME="$(basename "${PWD}")" # Is the working copy clean? - test -z "$(git status --untracked-files=normal --porcelain)" + test -z "$(git status --untracked-files=no --porcelain)" VCS_WC_MODIFIED="${?}" - # Enumeration of changesets - VCS_NUM="$(git rev-list --count HEAD 2>/dev/null)" - if [ -z "${VCS_NUM}" ]; then - echo "warning: Counting the number of revisions may be slower due to an outdated git version less than 1.7.2.3. If something breaks, please update it." 1>&2 - VCS_NUM="$(git rev-list HEAD | wc -l)" - fi - - # This may be a git-svn remote. If so, report the Subversion revision. - if [ -z "$(git config svn-remote.svn.url 2>/dev/null)" ] - then - # The full revision hash - VCS_FULL_HASH="$(git rev-parse HEAD)" - - # The short hash - VCS_SHORT_HASH="$(echo "${VCS_FULL_HASH}" | cut -b 1-7)" - else - # The git-svn revision number - VCS_FULL_HASH="$(git svn find-rev HEAD)" - VCS_SHORT_HASH="${VCS_FULL_HASH}" - fi - - # Current branch - VCS_BRANCH="$(git rev-parse --symbolic-full-name --verify "$(git name-rev --name-only --no-undefined HEAD 2>/dev/null)" 2>/dev/null | sed -e 's:refs/heads/::' | sed -e 's:refs/::')" - - # Cache the description - local DESCRIPTION="$(git describe --long --tags 2>/dev/null)" - - # Current or last tag ancestor (empty if no tags) - VCS_TAG="$(echo "${DESCRIPTION}" | sed -e "s:-g${VCS_SHORT_HASH}\$::" | sed -e 's:-[0-9]*$::')" - - # Distance to last tag or an alias of VCS_NUM if there is no tag - if [ ! -z "${DESCRIPTION}" ]; then - VCS_TICK="$(echo "${DESCRIPTION}" | sed -e "s:${VCS_TAG}-::" -e "s:-g${VCS_SHORT_HASH}::")" - else - VCS_TICK="${VCS_NUM}" - fi - - # Date of the current commit - VCS_DATE="$(git log -1 --pretty=format:%ci | sed -e 's: :T:' | sed -e 's: ::')" -} - -# For hg repos -hgRepo() { - cd "$(hg root)" - - VCS_TYPE="hg" - - VCS_BASENAME="$(basename "${PWD}")" - - # Is the working copy clean? - test -z "$(hg status -duram)" - VCS_WC_MODIFIED="${?}" - - # Enumeration of changesets - VCS_NUM="$(hg id -n | tr -d '+')" - # The full revision hash - VCS_FULL_HASH="$(hg log -r "${VCS_NUM}" -l 1 --template '{node}\n')" - + VCS_FULL_HASH="$(git rev-parse HEAD)" # The short hash - VCS_SHORT_HASH="$(hg id -i | tr -d '+')" - - # Current bookmark (bookmarks are roughly equivalent to git's branches) - # or branch if no bookmark - VCS_BRANCH="$(hg id -B | cut -d ' ' -f 1)" - # Fall back to the branch if there are no bookmarks - if [ -z "${VCS_BRANCH}" ]; then - VCS_BRANCH="$(hg id -b)" - fi - - # Current or last tag ancestor (excluding auto tags, empty if no tags) - VCS_TAG="$(hg log -r "${VCS_NUM}" -l 1 --template '{latesttag}\n' 2>/dev/null | sed -e 's:qtip::' -e 's:tip::' -e 's:qbase::' -e 's:qparent::' -e "s:$(hg --config 'extensions.color=' --color never qtop 2>/dev/null)::" | cut -d ' ' -f 1)" - - # Distance to last tag or an alias of VCS_NUM if there is no tag - if [ ! -z "${VCS_TAG}" ]; then - VCS_TICK="$(hg log -r "${VCS_NUM}" -l 1 --template '{latesttagdistance}\n' 2>/dev/null)" - else - VCS_TICK="${VCS_NUM}" - fi - - # Date of the current commit - VCS_DATE="$(hg log -r "${VCS_NUM}" -l 1 --template '{date|isodatesec}\n' 2>/dev/null | sed -e 's: :T:' | sed -e 's: ::')" -} - -# For bzr repos -bzrRepo() { - cd "$(bzr root)" - - VCS_TYPE="bzr" - - VCS_BASENAME="$(basename "${PWD}")" - - # Is the working copy clean? - bzr version-info --custom --template='{clean}\n' | grep -q '1' - VCS_WC_MODIFIED="${?}" - - # Enumeration of changesets - VCS_NUM="$(bzr revno)" - - # The full revision hash - VCS_FULL_HASH="$(bzr version-info --custom --template='{revision_id}\n')" - - # The short hash - VCS_SHORT_HASH="${VCS_NUM}" - - # Nick of the current branch - VCS_BRANCH="$(bzr nick)" - - # Current or last tag ancestor (excluding auto tags, empty if no tags) - VCS_TAG="$(bzr tags --sort=time | sed '/?$/d' | tail -n1 | cut -d ' ' -f1)" - - # Distance to last tag or an alias of VCS_NUM if there is no tag - if [ ! -z "${VCS_TAG}" ]; then - VCS_TICK="$(bzr log --line -r "tag:${VCS_TAG}.." | tail -n +2 | wc -l | sed -e 's:^ *::')" - else - VCS_TICK="${VCS_NUM}" - fi - - # Date of the current commit - VCS_DATE="$(bzr version-info --custom --template='{date}\n' | sed -e 's: :T:' | sed -e 's: ::')" -} - -# For svn repos -svnRepo() { - VCS_TYPE="svn" - - case "${PWD}" in - /*trunk*|/*branches*|/*tags*) - local fn="${PWD}" - while [ "$(basename "${fn}")" != 'trunk' ] && [ "$(basename "${fn}")" != 'branches' ] && [ "$(basename "${fn}")" != 'tags' ] && [ "$(basename "${fn}")" != '/' ]; do - local fn="$(dirname "${fn}")" - done - fn="$(dirname "${fn}")" - if [ "${fn}" = '/' ]; then - VCS_BASENAME="$(basename "${PWD}")" - else - VCS_BASENAME="$(basename "${fn}")" - fi - ;; - *) VCS_BASENAME="$(basename "${PWD}")" ;; - esac - - # Cache svnversion output - local SVNVERSION="$(svnversion)" - - # Is the working copy clean? - echo "${SVNVERSION}" | grep -q "M" - case "${?}" in - 0) - VCS_WC_MODIFIED="1" - ;; - 1) - if [ ! -z "${UNTRACKEDFILES}"]; then - # `svnversion` does not detect untracked files and `svn status` is really slow, so only run it if we really have to. - if [ -z "$(svn status)" ]; then - VCS_WC_MODIFIED="0" - else - VCS_WC_MODIFIED="1" - fi - fi - ;; - esac - - # Enumeration of changesets - VCS_NUM="$(echo "${SVNVERSION}" | cut -d : -f 1 | sed -e 's:M::' -e 's:S::' -e 's:P::')" - - # The full revision hash - VCS_FULL_HASH="${SVNVERSION}" - - # The short hash - VCS_SHORT_HASH="${VCS_NUM}" - - # Current branch - case "${PWD}" in - /*trunk*|/*branches*|/*tags*) - local lastbase="" - loacl fn="${PWD}" - while : - do - base="$(basename "${fn}")" - if [ "${base}" = 'trunk' ]; then - VCS_BRANCH='trunk' - break - elif [ "${base}" = 'branches' ] || [ "${base}" = 'tags' ]; then - VCS_BRANCH="${lastbase}" - break - elif [ "${base}" = '/' ]; then - VCS_BRANCH="" - break - fi - local lastbase="${base}" - local fn="$(dirname "${fn}")" - done - ;; - *) VCS_BRANCH="" ;; - esac - - # Current or last tag ancestor (empty if no tags). But "current tag" - # can't be extracted reliably because Subversion doesn't have tags the - # way other VCSes do. - VCS_TAG="" - VCS_TICK="" - - # Date of the current commit - VCS_DATE="$(svn info | sed -n -e 's:Last Changed Date\: ::p' | sed 's: (.*)::' | sed -e 's: :T:' | sed -e 's: ::')" + VCS_SHORT_HASH="$(echo "${VCS_FULL_HASH}" | cut -b 1-7)" + # Current branch (if we are on a branch...) + VCS_BRANCH="$(git symbolic-ref --short -q HEAD)" + # Check if we are on a tag + VCS_TAG="$(git describe --exact-match 2> /dev/null)" + # get some extra data in case we are not on a branch or a tag... + VCS_EXTRA="$(git describe 2> /dev/null)" } @@ -332,11 +122,10 @@ hOutput() { #define VCS_TYPE "${VCS_TYPE}" #define VCS_BASENAME "${VCS_BASENAME}" -#define VCS_NUM ${VCS_NUM} -#define VCS_DATE "${VCS_DATE}" #define VCS_BRANCH "${VCS_BRANCH}" #define VCS_TAG "${VCS_TAG}" -#define VCS_TICK ${VCS_TICK} +#define VCS_EXTRA "${VCS_EXTRA}" + #define VCS_FULL_HASH "${VCS_FULL_HASH}" #define VCS_SHORT_HASH "${VCS_SHORT_HASH}" @@ -358,11 +147,9 @@ xcodeOutput() { #define VCS_TYPE ${VCS_TYPE} #define VCS_BASENAME ${VCS_BASENAME} -#define VCS_NUM ${VCS_NUM} -#define VCS_DATE ${VCS_DATE} #define VCS_BRANCH ${VCS_BRANCH} #define VCS_TAG ${VCS_TAG} -#define VCS_TICK ${VCS_TICK} +#define VCS_EXTRA ${VCS_EXTRA} #define VCS_FULL_HASH ${VCS_FULL_HASH} #define VCS_SHORT_HASH ${VCS_SHORT_HASH} @@ -382,11 +169,9 @@ shOutput() { VCS_TYPE="${VCS_TYPE}" VCS_BASENAME="${VCS_BASENAME}" -VCS_NUM=${VCS_NUM} -VCS_DATE="${VCS_DATE}" VCS_BRANCH="${VCS_BRANCH}" VCS_TAG="${VCS_TAG}" -VCS_TICK=${VCS_TICK} +VCS_EXTRA="${VCS_EXTRA}" VCS_FULL_HASH="${VCS_FULL_HASH}" VCS_SHORT_HASH="${VCS_SHORT_HASH}" @@ -396,293 +181,12 @@ VCS_WC_MODIFIED=${VCS_WC_MODIFIED} # end EOF } - -# For Python output -pyOutput() { - case "${VCS_WC_MODIFIED}" in - 0) VCS_WC_MODIFIED="False" ;; - 1) VCS_WC_MODIFIED="True" ;; - esac - cat > "${TARGETFILE}" << EOF -# Generated by autorevision - do not hand-hack! - -VCS_TYPE = "${VCS_TYPE}" -VCS_BASENAME = "${VCS_BASENAME}" -VCS_NUM = ${VCS_NUM} -VCS_DATE = "${VCS_DATE}" -VCS_BRANCH = "${VCS_BRANCH}" -VCS_TAG = "${VCS_TAG}" -VCS_TICK = ${VCS_TICK} - -VCS_FULL_HASH = "${VCS_FULL_HASH}" -VCS_SHORT_HASH = "${VCS_SHORT_HASH}" - -VCS_WC_MODIFIED = ${VCS_WC_MODIFIED} - -# end -EOF -} - -# For Perl output -plOutput() { - cat << EOF -# Generated by autorevision - do not hand-hack! - -\$VCS_TYPE = "${VCS_TYPE}"; -\$VCS_BASENAME = "${VCS_BASENAME}" -\$VCS_NUM = ${VCS_NUM}; -\$VCS_DATE = "${VCS_DATE}"; -\$VCS_BRANCH = "${VCS_BRANCH}"; -\$VCS_TAG = "${VCS_TAG}"; -\$VCS_TICK = ${VCS_TICK}; - -\$VCS_FULL_HASH = "${VCS_FULL_HASH}"; -\$VCS_SHORT_HASH = "${VCS_SHORT_HASH}"; - -\$VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}; - -# end -EOF -} - -# For lua output -luaOutput() { - case "${VCS_WC_MODIFIED}" in - 0) VCS_WC_MODIFIED="false" ;; - 1) VCS_WC_MODIFIED="true" ;; - esac - cat > "${TARGETFILE}" << EOF --- Generated by autorevision - do not hand-hack! - -VCS_TYPE = "${VCS_TYPE}" -VCS_BASENAME = "${VCS_BASENAME}" -VCS_NUM = ${VCS_NUM} -VCS_DATE = "${VCS_DATE}" -VCS_BRANCH = "${VCS_BRANCH}" -VCS_TAG = "${VCS_TAG}" -VCS_TICK = ${VCS_TICK} - -VCS_FULL_HASH = "${VCS_FULL_HASH}" -VCS_SHORT_HASH = "${VCS_SHORT_HASH}" - -VCS_WC_MODIFIED = ${VCS_WC_MODIFIED} - --- end -EOF -} - -# For php output -phpOutput() { - case "${VCS_WC_MODIFIED}" in - 0) VCS_WC_MODIFIED="false" ;; - 1) VCS_WC_MODIFIED="true" ;; - esac - cat > "${TARGETFILE}" << EOF - -EOF -} - -# For ini output -iniOutput() { - case "${VCS_WC_MODIFIED}" in - 0) VCS_WC_MODIFIED="false" ;; - 1) VCS_WC_MODIFIED="true" ;; - esac - cat > "${TARGETFILE}" << EOF -; Generated by autorevision - do not hand-hack! -[VCS] -VCS_TYPE = "${VCS_TYPE}" -VCS_BASENAME = "${VCS_BASENAME}" -VCS_NUM = ${VCS_NUM} -VCS_DATE = "${VCS_DATE}" -VCS_BRANCH = "${VCS_BRANCH}" -VCS_TAG = "${VCS_TAG}" -VCS_TICK = ${VCS_TICK} -VCS_FULL_HASH = "${VCS_FULL_HASH}" -VCS_SHORT_HASH = "${VCS_SHORT_HASH}" -VCS_WC_MODIFIED = ${VCS_WC_MODIFIED} -; end -EOF -} - -# For javascript output -jsOutput() { - case "${VCS_WC_MODIFIED}" in - 1) VCS_WC_MODIFIED="true" ;; - 0) VCS_WC_MODIFIED="false" ;; - esac - cat > "${TARGETFILE}" << EOF -/** Generated by autorevision - do not hand-hack! */ - -var autorevision = { - VCS_TYPE: "${VCS_TYPE}", - VCS_BASENAME: "${VCS_BASENAME}", - VCS_NUM: ${VCS_NUM}, - VCS_DATE: "${VCS_DATE}", - VCS_BRANCH: "${VCS_BRANCH}", - VCS_TAG: "${VCS_TAG}", - VCS_TICK: ${VCS_TICK}, - - VCS_FULL_HASH: "${VCS_FULL_HASH}", - VCS_SHORT_HASH: "${VCS_SHORT_HASH}", - - VCS_WC_MODIFIED: ${VCS_WC_MODIFIED} -}; - -/** Node.js compatibility */ -if (typeof module !== 'undefined') { - module.exports = autorevision; -} - -/** end */ -EOF -} - -# For JSON output -jsonOutput() { - case "${VCS_WC_MODIFIED}" in - 1) VCS_WC_MODIFIED="true" ;; - 0) VCS_WC_MODIFIED="false" ;; - esac - cat > "${TARGETFILE}" << EOF -{ - "VCS_TYPE": "${VCS_TYPE}", - "VCS_BASENAME": "${VCS_BASENAME}", - "VCS_NUM": ${VCS_NUM}, - "VCS_DATE": "${VCS_DATE}", - "VCS_BRANCH":"${VCS_BRANCH}", - "VCS_TAG": "${VCS_TAG}", - "VCS_TICK": ${VCS_TICK}, - - "VCS_FULL_HASH": "${VCS_FULL_HASH}", - "VCS_SHORT_HASH": "${VCS_SHORT_HASH}", - - "VCS_WC_MODIFIED": ${VCS_WC_MODIFIED} -} -EOF -} - -# For Java output -javaOutput() { - case "${VCS_WC_MODIFIED}" in - 1) VCS_WC_MODIFIED="true" ;; - 0) VCS_WC_MODIFIED="false" ;; - esac - cat > "${TARGETFILE}" << EOF -/* Generated by autorevision - do not hand-hack! */ - -import java.util.Date; - -public class autorevision { - public static final String VCS_TYPE = "${VCS_TYPE}"; - public static final String VCS_BASENAME = "${VCS_BASENAME}"; - public static final long VCS_NUM = ${VCS_NUM}; - public static final String VCS_DATE = "${VCS_DATE}"; - public static final String VCS_BRANCH = "${VCS_BRANCH}"; - public static final String VCS_TAG = "${VCS_TAG}"; - public static final long VCS_TICK = ${VCS_TICK}; - - public static final String VCS_FULL_HASH = "${VCS_FULL_HASH}"; - public static final String VCS_SHORT_HASH = "${VCS_SHORT_HASH}"; - - public static final boolean VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}; -} -EOF -} - -# For Java properties output -javapropOutput() { - case "${VCS_WC_MODIFIED}" in - 1) VCS_WC_MODIFIED="true" ;; - 0) VCS_WC_MODIFIED="false" ;; - esac - cat > "${TARGETFILE}" << EOF -# Generated by autorevision - do not hand-hack! - -VCS_TYPE=${VCS_TYPE} -VCS_BASENAME=${VCS_BASENAME} -VCS_NUM=${VCS_NUM} -VCS_DATE=${VCS_DATE} -VCS_BRANCH=${VCS_BRANCH} -VCS_TAG=${VCS_TAG} -VCS_TICK=${VCS_TICK} - -VCS_FULL_HASH=${VCS_FULL_HASH} -VCS_SHORT_HASH=${VCS_SHORT_HASH} - -VCS_WC_MODIFIED=${VCS_WC_MODIFIED} -EOF -} - -# For m4 output -m4Output() { - cat > "${TARGETFILE}" << EOF -define(\`VCS_TYPE', \`${VCS_TYPE}')dnl -define(\`VCS_BASENAME', \`${VCS_BASENAME}')dnl -define(\`VCS_NUM', \`${VCS_NUM}')dnl -define(\`VCS_DATE', \`${VCS_DATE}')dnl -define(\`VCS_BRANCH', \`${VCS_BRANCH}')dnl -define(\`VCS_TAG', \`${VCS_TAG}')dnl -define(\`VCS_TICK', \`${VCS_TICK}')dnl -define(\`VCS_FULLHASH', \`${VCS_FULL_HASH}')dnl -define(\`VCS_SHIRTHASH', \`${VCS_SHORT_HASH}')dnl -define(\`VCS_WC_MODIFIED', \`${VCS_WC_MODIFIED}')dnl -EOF -} - -# For (La)TeX output -texOutput() { - case "${VCS_WC_MODIFIED}" in - 0) VCS_WC_MODIFIED="false" ;; - 1) VCS_WC_MODIFIED="true" ;; - esac - cat > "${TARGETFILE}" << EOF -% Generated by autorevision - do not hand-hack! -\def \vcsType {${VCS_TYPE}} -\def \vcsBasename {${VCS_BASENAME}} -\def \vcsNum {${VCS_NUM}} -\def \vcsDate {${VCS_DATE}} -\def \vcsBranch {${VCS_BRANCH}} -\def \vcsTag {${VCS_TAG}} -\def \vcsTick {${VCS_TICK}} -\def \vcsFullHash {${VCS_FULL_HASH}} -\def \vcsShortHash {${VCS_SHORT_HASH}} -\def \vcsWCModified {${VCS_WC_MODIFIED}} -\endinput -EOF -} - - - # Detect and collect repo data. if [ -f "${CACHEFILE}" ] && [ "${CACHEFORCE}" = "1" ]; then # When requested only read from the cache to populate our symbols. . "${CACHEFILE}" elif [ ! -z "$(git rev-parse HEAD 2>/dev/null)" ]; then gitRepo -elif [ ! -z "$(hg root 2>/dev/null)" ]; then - hgRepo -elif [ ! -z "$(bzr root 2>/dev/null)" ]; then - bzrRepo -elif [ ! -z "$(svn info 2>/dev/null)" ]; then - svnRepo elif [ -f "${CACHEFILE}" ]; then # We are not in a repo; try to use a previously generated cache to populate our symbols. . "${CACHEFILE}" @@ -700,16 +204,12 @@ if [ ! -z "${VAROUT}" ]; then echo "${VCS_TYPE}" elif [ "${VAROUT}" = "VCS_BASENAME" ]; then echo "${VCS_BASENAME}" - elif [ "${VAROUT}" = "VCS_NUM" ]; then - echo "${VCS_NUM}" - elif [ "${VAROUT}" = "VCS_DATE" ]; then - echo "${VCS_DATE}" elif [ "${VAROUT}" = "VCS_BRANCH" ]; then echo "${VCS_BRANCH}" elif [ "${VAROUT}" = "VCS_TAG" ]; then echo "${VCS_TAG}" - elif [ "${VAROUT}" = "VCS_TICK" ]; then - echo "${VCS_TICK}" + elif [ "${VAROUT}" = "VCS_EXTRA" ]; then + echo "${VCS_EXTRA}" elif [ "${VAROUT}" = "VCS_FULL_HASH" ]; then echo "${VCS_FULL_HASH}" elif [ "${VAROUT}" = "VCS_SHORT_HASH" ]; then @@ -722,7 +222,6 @@ if [ ! -z "${VAROUT}" ]; then fi fi - # Detect requested output type and use it. if [ ! -z "${AFILETYPE}" ]; then if [ "${AFILETYPE}" = "h" ]; then @@ -731,28 +230,6 @@ if [ ! -z "${AFILETYPE}" ]; then xcodeOutput elif [ "${AFILETYPE}" = "sh" ]; then shOutput - elif [ "${AFILETYPE}" = "py" ] || [ "${AFILETYPE}" = "python" ]; then - pyOutput - elif [ "${AFILETYPE}" = "pl" ] || [ "${AFILETYPE}" = "perl" ]; then - plOutput - elif [ "${AFILETYPE}" = "lua" ]; then - luaOutput - elif [ "${AFILETYPE}" = "php" ]; then - phpOutput - elif [ "${AFILETYPE}" = "ini" ]; then - iniOutput - elif [ "${AFILETYPE}" = "js" ]; then - jsOutput - elif [ "${AFILETYPE}" = "json" ]; then - jsonOutput - elif [ "${AFILETYPE}" = "java" ]; then - javaOutput - elif [ "${AFILETYPE}" = "javaprop" ]; then - javapropOutput - elif [ "${AFILETYPE}" = "tex" ]; then - texOutput - elif [ "${AFILETYPE}" = "m4" ]; then - m4Output else echo "error: Not a valid output type." 1>&2 exit 1 diff --git a/data/mp/stats/weapons.ini b/data/mp/stats/weapons.ini index bf6e55fd1..822d33e28 100644 --- a/data/mp/stats/weapons.ini +++ b/data/mp/stats/weapons.ini @@ -3383,7 +3383,7 @@ explosionWav = lrgexpl.ogg [Cannon1Mk1] buildPower = 75 -buildPoints = 375 +buildPoints = 250 weight = 1000 hitpoints = 250 model = GNLCAN.PIE @@ -3420,7 +3420,7 @@ explosionWav = smlexpl.ogg [Cannon1-VTOL] buildPower = 75 -buildPoints = 375 +buildPoints = 250 weight = 1000 hitpoints = 250 model = GNLCAN.PIE diff --git a/po/es.po b/po/es.po index 02ca020ee..3fd6f4e0f 100644 --- a/po/es.po +++ b/po/es.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone2100-project@lists.sourceforge.net\n" -"POT-Creation-Date: 2013-11-29 18:34+0100\n" -"PO-Revision-Date: 2012-09-13 15:18+0100\n" +"POT-Creation-Date: 2013-11-20 19:01+0100\n" +"PO-Revision-Date: 2013-11-27 15:21+0100\n" "Last-Translator: Daniel Vijande \n" "Language-Team: Spanish \n" "Language: es\n" @@ -11904,23 +11904,29 @@ msgid "" "Your router doesn't support UPnP, you must manually configure your router & firewall to\n" "open port 2100 before you can host a game." msgstr "" +"Tu router no soporta UPnP, debes configurar tu router y cortafuegos manualmente para \n" +"abrir el puerto 2100 antes de poder hospedar una partida." #: lib/netplay/netplay.cpp:999 msgid "" "No UPnP device was found. You must manually configure your router & firewall to\n" "open port 2100 before you can host a game." msgstr "" +"No se encontró un el dispositivo UPnP. Deberás configurar manualmente tu router y cortafuegos para\n" +"abrir el puerto 2100 antes de poder hospedar una partida." #: lib/netplay/netplay.cpp:1027 -#, fuzzy, c-format +#, c-format msgid "Could not open require port (%s) on (%s)" -msgstr "¡No se pudo resolver el nombre del servidor maestro (%s)!" +msgstr "¡No se pudo abrir el puerto necesario (%s) en (%s)!" #: lib/netplay/netplay.cpp:1031 msgid "" "You must manually configure your router & firewall to\n" " open port 2100 before you can host a game." msgstr "" +"Debes configurar tu router y cortafuegos manualmente para\n" +"abrir el puerto 2100 antes de hospedar una partida." #: lib/netplay/netplay.cpp:1041 #, c-format @@ -11928,6 +11934,8 @@ msgid "" "Game configured port (%s) correctly on (%s)\n" "Your external IP is %s" msgstr "" +"Puerto (%s) configurado correctamente en (%s)\n" +"Tu IP externa es %s" #: lib/netplay/netplay.cpp:2176 #, c-format @@ -11952,13 +11960,12 @@ msgid "Failed to get a lobby response!" msgstr "Fallo al obtener respuesta del vestíbulo!" #: po/custom/mac-infoplist.txt:1 -#, fuzzy msgid "" "Copyright © 1999-2004 Eidos Interactive.\n" "Copyright © 2005-2013 The Warzone 2100 Project" msgstr "" "Copyright © 1999-2004 Eidos Interactive.\n" -"Copyright © 2005-2010 The Warzone 2100 Project" +"Copyright © 2005-2013 The Warzone 2100 Project" #: po/custom/mac-infoplist.txt:2 #: po/custom/warzone2100.desktop.txt:2 @@ -12006,8 +12013,8 @@ msgstr "Juego de Estrategia" #: src/intelmap.cpp:530 #: src/intorder.cpp:727 #: src/loadsave.cpp:250 -#: src/multimenu.cpp:506 -#: src/multimenu.cpp:1373 +#: src/multimenu.cpp:496 +#: src/multimenu.cpp:1363 #: src/transporter.cpp:264 #: src/transporter.cpp:346 #: src/transporter.cpp:806 @@ -12357,7 +12364,7 @@ msgid "Player dropped" msgstr "Jugador Desconectado" #: src/display3d.cpp:666 -#: src/multiint.cpp:2382 +#: src/multiint.cpp:2375 msgid "Waiting for other players" msgstr "Esperando a otros jugadores" @@ -12494,9 +12501,8 @@ msgid "MAIN MENU" msgstr "MENÚ PRINCIPAL" #: src/frontend.cpp:117 -#, fuzzy msgid "Official site: http://wz2100.net/" -msgstr "Visita el sitio oficial: http://wz2100.net" +msgstr "Sitio oficial: http://wz2100.net" #: src/frontend.cpp:187 msgid "Fast Play" @@ -12573,7 +12579,7 @@ msgstr "Unirse a una Partida" #: src/frontend.cpp:400 msgid "TCP port 2100 must be opened in your firewall or router to host games!" -msgstr "" +msgstr "¡El puerto TCP 2100 debe estar abierto en tu cortafuegos o router para hospedar partidas!" #: src/frontend.cpp:464 #: src/multiint.cpp:1483 @@ -12661,7 +12667,7 @@ msgstr "50%" #: src/frontend.cpp:563 #: src/frontend.cpp:706 -#: src/multiplay.cpp:2020 +#: src/multiplay.cpp:2002 msgid "Black" msgstr "Negro" @@ -12861,7 +12867,7 @@ msgid "GAME OPTIONS" msgstr "OPCIONES DE JUEGO" #: src/frontend.cpp:1482 -#: src/multiint.cpp:2651 +#: src/multiint.cpp:2644 msgid "Mod: " msgstr "Mod:" @@ -12920,8 +12926,8 @@ msgid "Build (F3)" msgstr "Construcción (F3)" #: src/hci.cpp:3435 -#: src/multiint.cpp:1596 -#: src/multimenu.cpp:808 +#: src/multiint.cpp:1589 +#: src/multimenu.cpp:798 msgid "Power" msgstr "Energía" @@ -13517,7 +13523,7 @@ msgstr "MAPEO DE TECLAS" #: src/keyedit.cpp:377 #: src/multiint.cpp:763 #: src/multiint.cpp:1263 -#: src/multiint.cpp:1682 +#: src/multiint.cpp:1675 msgid "Return To Previous Screen" msgstr "Volver a la Pantalla Anterior" @@ -14198,7 +14204,7 @@ msgstr "Hospedado por %s --- %s" #: src/multiint.cpp:1029 msgid "Can't find any games for your version." -msgstr "" +msgstr "No se encontraron partidas para tu versión." #: src/multiint.cpp:1044 msgid "No games are available" @@ -14249,9 +14255,8 @@ msgid "Refresh Games List" msgstr "Actualizar Lista de Partidas" #: src/multiint.cpp:1271 -#, fuzzy msgid "Filter Games List" -msgstr "Actualizar Lista de Partidas" +msgstr "Filtrar Lista de Partidas" #: src/multiint.cpp:1298 msgid "Enter Password:" @@ -14290,301 +14295,292 @@ msgstr "Elegir Nombre de la Partida" msgid "One-Player Skirmish" msgstr "Escaramuza Un Jugador" -#: src/multiint.cpp:1503 +#: src/multiint.cpp:1500 msgid "Select Map" msgstr "Elegir Mapa" -#: src/multiint.cpp:1504 -msgid "Map-Mod!" -msgstr "" - -#: src/multiint.cpp:1517 +#: src/multiint.cpp:1510 msgid "Click to set Password" msgstr "Click para fijar contraseña" -#: src/multiint.cpp:1527 -#: src/multiint.cpp:1528 +#: src/multiint.cpp:1520 +#: src/multiint.cpp:1521 msgid "Scavengers" msgstr "Carroñeros" -#: src/multiint.cpp:1530 +#: src/multiint.cpp:1523 msgid "No Scavengers" msgstr "Sin Carroñeros" -#: src/multiint.cpp:1560 +#: src/multiint.cpp:1553 msgid "Select Player Name" msgstr "Elegir Nombre del Jugador" -#: src/multiint.cpp:1563 -#: src/multimenu.cpp:801 +#: src/multiint.cpp:1556 +#: src/multimenu.cpp:791 msgid "Alliances" msgstr "Alianzas" -#: src/multiint.cpp:1566 +#: src/multiint.cpp:1559 msgid "No Alliances" msgstr "Sin Alianzas" -#: src/multiint.cpp:1568 +#: src/multiint.cpp:1561 msgid "Allow Alliances" msgstr "Permitir Alianzas" -#: src/multiint.cpp:1572 +#: src/multiint.cpp:1565 msgid "Locked Teams" msgstr "Equipos Fijos" -#: src/multiint.cpp:1598 +#: src/multiint.cpp:1591 msgid "Low Power Levels" msgstr "Niveles de Energía Bajos" -#: src/multiint.cpp:1600 +#: src/multiint.cpp:1593 msgid "Medium Power Levels" msgstr "Niveles de Energía Medios" -#: src/multiint.cpp:1602 +#: src/multiint.cpp:1595 msgid "High Power Levels" msgstr "Niveles de Energía Altos" -#: src/multiint.cpp:1634 +#: src/multiint.cpp:1627 msgid "Base" msgstr "Base" -#: src/multiint.cpp:1636 +#: src/multiint.cpp:1629 msgid "Start with No Bases" msgstr "Comenzar sin Bases" -#: src/multiint.cpp:1638 +#: src/multiint.cpp:1631 msgid "Start with Bases" msgstr "Comenzar con Bases" -#: src/multiint.cpp:1640 +#: src/multiint.cpp:1633 msgid "Start with Advanced Bases" msgstr "Comenzar con Bases Avanzadas" -#: src/multiint.cpp:1672 +#: src/multiint.cpp:1665 msgid "Map Preview" msgstr "Previsualizar Mapa" -#: src/multiint.cpp:1674 +#: src/multiint.cpp:1667 msgid "Click to see Map" msgstr "Click para ver Mapa" -#: src/multiint.cpp:1687 -#: src/multiint.cpp:1689 +#: src/multiint.cpp:1680 +#: src/multiint.cpp:1682 msgid "Start Hosting Game" msgstr "Comenzar Hospedando un Juego" -#: src/multiint.cpp:1696 -#: src/multiint.cpp:1700 +#: src/multiint.cpp:1689 +#: src/multiint.cpp:1693 msgid "Show Structure Limits" msgstr "Fijar Límites de Estructuras" -#: src/multiint.cpp:1696 -#: src/multiint.cpp:1700 +#: src/multiint.cpp:1689 +#: src/multiint.cpp:1693 msgid "Set Structure Limits" msgstr "Fijar Límites de Estructuras" -#: src/multiint.cpp:1777 +#: src/multiint.cpp:1770 msgid "DIFFICULTY" msgstr "DIFICULTAD" -#: src/multiint.cpp:1791 +#: src/multiint.cpp:1784 msgid "Less aggressive" msgstr "Menos agresiva" -#: src/multiint.cpp:1792 +#: src/multiint.cpp:1785 msgid "Plays nice" msgstr "Juega justamente" -#: src/multiint.cpp:1793 +#: src/multiint.cpp:1786 msgid "No holds barred" msgstr "Sin prohibiciones" -#: src/multiint.cpp:1794 +#: src/multiint.cpp:1787 msgid "Starts with advantages" msgstr "Comenzar con ventaja" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:1815 msgid "CHOOSE AI" msgstr "ESCOGER IA" -#: src/multiint.cpp:1860 +#: src/multiint.cpp:1853 msgid "Allow human players to join in this slot" msgstr "Permitir usar esta ranura a jugadores humanos" -#: src/multiint.cpp:1867 +#: src/multiint.cpp:1860 msgid "Leave this slot unused" msgstr "Dejar esta ranura sin utilizar" -#: src/multiint.cpp:2324 +#: src/multiint.cpp:2317 msgid "Team" msgstr "Equipo" -#: src/multiint.cpp:2367 +#: src/multiint.cpp:2360 msgid "You cannot change difficulty in a challenge" msgstr "No puedes cambiar la dificultad en un desafío" -#: src/multiint.cpp:2367 +#: src/multiint.cpp:2360 msgid "Click to change difficulty" msgstr "Click para ajustar dificultad de la IA" -#: src/multiint.cpp:2382 +#: src/multiint.cpp:2375 msgid "Waiting for player" msgstr "Esperando por jugador" -#: src/multiint.cpp:2382 +#: src/multiint.cpp:2375 msgid "Player is ready" msgstr "El Jugador está listo" -#: src/multiint.cpp:2382 +#: src/multiint.cpp:2375 msgid "Click when ready" msgstr "Click cuando esté listo" -#: src/multiint.cpp:2389 +#: src/multiint.cpp:2382 msgid "READY?" msgstr "¿LISTO?" -#: src/multiint.cpp:2433 +#: src/multiint.cpp:2426 msgid "PLAYERS" msgstr "JUGADORES" -#: src/multiint.cpp:2468 +#: src/multiint.cpp:2461 msgid "Click to change to this slot" msgstr "Click para cambiar a esta ranura." -#: src/multiint.cpp:2496 +#: src/multiint.cpp:2489 msgid "Choose Team" msgstr "Elegir equipo" -#: src/multiint.cpp:2526 +#: src/multiint.cpp:2519 msgid "Click to change player colour" msgstr "Click para cambiar el color de jugador." -#: src/multiint.cpp:2554 +#: src/multiint.cpp:2547 msgid "Click to change player position" msgstr "Click para cambiar la posición de jugador." -#: src/multiint.cpp:2558 +#: src/multiint.cpp:2551 msgid "Click to change AI" msgstr "Click para cambiar la IA" -#: src/multiint.cpp:2624 +#: src/multiint.cpp:2617 msgid "CHAT" msgstr "CHAT" -#: src/multiint.cpp:2656 +#: src/multiint.cpp:2649 msgid "All players need to have the same mods to join your game." msgstr "Todos los jugadores necesitan tener los mismos mods para unirse" -#: src/multiint.cpp:2697 +#: src/multiint.cpp:2690 msgid "Connecting to the lobby server..." msgstr "Conectando al vestíbulo..." -#: src/multiint.cpp:3000 +#: src/multiint.cpp:2993 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** ¡contraseña requerida! [%s] ***" -#: src/multiint.cpp:3006 +#: src/multiint.cpp:2999 msgid "*** password is NOT required! ***" msgstr "*** ¡contraseña NO requerida! ***" -#: src/multiint.cpp:3020 -msgid "This is a map-mod, it can change your playing experience!" -msgstr "" - -#: src/multiint.cpp:3072 +#: src/multiint.cpp:3059 msgid "Sorry! Failed to host the game." msgstr "¡Lo sentimos! No se pudo hospedar la partida" -#: src/multiint.cpp:3195 +#: src/multiint.cpp:3182 msgid "'Locked Teams' mode enabled" msgstr "Modo de Equipos Fijos Activado" -#: src/multiint.cpp:3223 -#: src/multiint.cpp:3292 -#: src/multimenu.cpp:1496 +#: src/multiint.cpp:3210 +#: src/multiint.cpp:3279 +#: src/multimenu.cpp:1486 #, c-format msgid "The host has kicked %s from the game!" msgstr "¡El anfitrión ha expulsado a %s de la partida!" -#: src/multiint.cpp:3358 +#: src/multiint.cpp:3345 msgid "Host is Starting Game" msgstr "Anfitrión Comenzando Partida" -#: src/multiint.cpp:3937 +#: src/multiint.cpp:3923 msgid "UPnP has been enabled." -msgstr "" +msgstr "UPnP ha sido habilitado." -#: src/multiint.cpp:3943 +#: src/multiint.cpp:3929 msgid "UPnP detection faled. You must manually configure router yourself." -msgstr "" +msgstr "Detección de UPnP fallida. Debes configurar tu router manualmente." -#: src/multiint.cpp:3947 -#, fuzzy +#: src/multiint.cpp:3933 msgid "UPnP detection is in progress..." -msgstr "Decodificación en progreso....." +msgstr "Detección de UPnP en progreso..." -#: src/multiint.cpp:3954 +#: src/multiint.cpp:3940 msgid "UPnP detection disabled by user. Autoconfig of port 2100 will not happen." -msgstr "" +msgstr "La detección UPnP está deshabilitada por el usuario. No se configurará el puerto 2100 automáticamente." -#: src/multiint.cpp:3960 +#: src/multiint.cpp:3946 msgid "Hit the ready box to begin your challenge!" -msgstr "" +msgstr "¡Pulsa en la casilla listo para comenzar el desafío!" -#: src/multiint.cpp:3964 +#: src/multiint.cpp:3950 msgid "Press the start hosting button to begin hosting a game." -msgstr "" +msgstr "Pulsa el botón de hospedar para hospedar una partida." -#: src/multiint.cpp:4006 +#: src/multiint.cpp:3992 msgid "Can't connect to lobby server!" msgstr "¡No se pudo conectar al vestíbulo!" -#: src/multiint.cpp:4107 +#: src/multiint.cpp:4084 #, c-format msgid "Mods: %s" msgstr "Mods: %s" -#: src/multiint.cpp:4114 +#: src/multiint.cpp:4091 msgid "Mods: None!" msgstr "Mods: ¡Ninguno!" -#: src/multiint.cpp:4124 +#: src/multiint.cpp:4101 #, c-format msgid "Version: %s" msgstr "Versión: %s" -#: src/multiint.cpp:4175 +#: src/multiint.cpp:4152 #, c-format msgid "Click to take player slot %d" msgstr "Click para cambiar la posición del jugador %d" -#: src/multiint.cpp:4184 -#: src/multiint.cpp:4386 +#: src/multiint.cpp:4161 +#: src/multiint.cpp:4363 msgid "Open" msgstr "Abrir" -#: src/multiint.cpp:4184 -#: src/multiint.cpp:4387 +#: src/multiint.cpp:4161 +#: src/multiint.cpp:4364 msgid "Closed" msgstr "Cerrado" -#: src/multiint.cpp:4234 +#: src/multiint.cpp:4211 #, c-format msgid "Sending Map: %d%% " msgstr "Enviando Mapa: %d%%" -#: src/multiint.cpp:4242 +#: src/multiint.cpp:4219 #, c-format msgid "Map: %d%% downloaded" msgstr "Mapa: %d%% descargado" -#: src/multiint.cpp:4268 +#: src/multiint.cpp:4245 msgid "HOST" msgstr "ANFITRIÓN" -#: src/multiint.cpp:4275 -#: src/multimenu.cpp:815 +#: src/multiint.cpp:4252 +#: src/multimenu.cpp:805 msgid "Ping" msgstr "Ping" @@ -14625,107 +14621,97 @@ msgstr "Restablecer Valores por defecto y Volver a la Pantalla Anterior" msgid "Limits reset to default values" msgstr "Límites reiniciados a valores por defecto" -#: src/multimenu.cpp:633 +#: src/multimenu.cpp:623 msgid "Technology level 1" msgstr "Nivel Tecnológico 1" -#: src/multimenu.cpp:641 +#: src/multimenu.cpp:631 msgid "Technology level 2" msgstr "Nivel Tecnológico 2" -#: src/multimenu.cpp:647 +#: src/multimenu.cpp:637 msgid "Technology level 3" msgstr "Nivel Tecnológico 3" -#: src/multimenu.cpp:653 +#: src/multimenu.cpp:643 msgid "Any number of players" msgstr "Cualquier número de jugadores" -#: src/multimenu.cpp:664 +#: src/multimenu.cpp:654 #, c-format msgid "%d player" msgid_plural "%d players" msgstr[0] "%d jugador" msgstr[1] "%d jugadores" -#: src/multimenu.cpp:802 +#: src/multimenu.cpp:792 msgid "Score" msgstr "Puntuación" -#: src/multimenu.cpp:803 +#: src/multimenu.cpp:793 msgid "Kills" msgstr "Muertes" -#: src/multimenu.cpp:804 +#: src/multimenu.cpp:794 msgid "Units" msgstr "Unidades" -#: src/multimenu.cpp:819 +#: src/multimenu.cpp:809 msgid "Structs" msgstr "Estructuras" -#: src/multimenu.cpp:831 +#: src/multimenu.cpp:821 msgid "Sent/Received per sec —" msgstr "Enviado/Recibido por segundo —" -#: src/multimenu.cpp:831 +#: src/multimenu.cpp:821 msgid "Total Sent/Received —" msgstr "Total Enviado/Recibido —" -#: src/multimenu.cpp:836 +#: src/multimenu.cpp:826 #, c-format msgid "Traf: %u/%u" msgstr "Tráf: %u/%u" -#: src/multimenu.cpp:840 +#: src/multimenu.cpp:830 #, c-format msgid "Uncompressed: %u/%u" msgstr "Descomprimido: %u/%u" -#: src/multimenu.cpp:844 +#: src/multimenu.cpp:834 #, c-format msgid "Pack: %u/%u" msgstr "Comprimido: %u/%u" -#: src/multimenu.cpp:1146 +#: src/multimenu.cpp:1136 msgid "Channel" msgstr "Canal" -#: src/multimenu.cpp:1160 +#: src/multimenu.cpp:1150 msgid "Toggle Alliance State" msgstr "Alternar Estado de la Alianza" -#: src/multimenu.cpp:1179 +#: src/multimenu.cpp:1169 msgid "Give Visibility Report" msgstr "Dar Informe de Visibilidad" -#: src/multimenu.cpp:1185 +#: src/multimenu.cpp:1175 msgid "Leak Technology Documents" msgstr "Compartir Documentos Tecnológicos" -#: src/multimenu.cpp:1192 +#: src/multimenu.cpp:1182 msgid "Hand Over Selected Units" msgstr "Transferir las unidades seleccionadas" -#: src/multimenu.cpp:1198 +#: src/multimenu.cpp:1188 msgid "Give Power To Player" msgstr "Dar Energía al Jugador" -#: src/multimenu.cpp:1498 +#: src/multimenu.cpp:1488 #, c-format msgid "kicked %s : %s from the game, and added them to the banned list!" msgstr "Expulsado %s: %s de la partida, y añadido a la lista de baneo!" -#: src/multiopt.cpp:227 -#: src/multiplay.cpp:1722 -msgid "Warning, this is a map-mod, it could alter normal gameplay." -msgstr "" - -#: src/multiopt.cpp:231 -#: src/multiplay.cpp:1726 -msgid "Warning, HOST has altered the game code, and can't be trusted!" -msgstr "" - #: src/multiplay.cpp:263 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" @@ -14743,63 +14729,63 @@ msgstr "(privado a " msgid "[invalid]" msgstr "[inválido]" -#: src/multiplay.cpp:2017 +#: src/multiplay.cpp:1999 msgid "Green" msgstr "Verde" -#: src/multiplay.cpp:2018 +#: src/multiplay.cpp:2000 msgid "Orange" msgstr "Naranja" -#: src/multiplay.cpp:2019 +#: src/multiplay.cpp:2001 msgid "Grey" msgstr "Gris" -#: src/multiplay.cpp:2021 +#: src/multiplay.cpp:2003 msgid "Red" msgstr "Rojo" -#: src/multiplay.cpp:2022 +#: src/multiplay.cpp:2004 msgid "Blue" msgstr "Azul" -#: src/multiplay.cpp:2023 +#: src/multiplay.cpp:2005 msgid "Pink" msgstr "Rosa" -#: src/multiplay.cpp:2024 +#: src/multiplay.cpp:2006 msgid "Cyan" msgstr "Cian" -#: src/multiplay.cpp:2025 +#: src/multiplay.cpp:2007 msgid "Yellow" msgstr "Amarillo" -#: src/multiplay.cpp:2026 +#: src/multiplay.cpp:2008 msgid "Purple" msgstr "Púrpura" -#: src/multiplay.cpp:2027 +#: src/multiplay.cpp:2009 msgid "White" msgstr "Blanco" -#: src/multiplay.cpp:2028 +#: src/multiplay.cpp:2010 msgid "Bright blue" msgstr "Azul Brillante" -#: src/multiplay.cpp:2029 +#: src/multiplay.cpp:2011 msgid "Neon green" msgstr "Verde Neón" -#: src/multiplay.cpp:2030 +#: src/multiplay.cpp:2012 msgid "Infrared" msgstr "Infra-rojo" -#: src/multiplay.cpp:2031 +#: src/multiplay.cpp:2013 msgid "Ultraviolet" msgstr "Ultravioleta" -#: src/multiplay.cpp:2032 +#: src/multiplay.cpp:2014 msgid "Brown" msgstr "Marrón" @@ -15070,9 +15056,9 @@ msgstr " - Construido %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " #: src/version.cpp:147 -#, fuzzy, c-format +#, c-format msgid "Version %s%s%s%s" -msgstr "Versión: %s-%s%s%s%s" +msgstr "Versión: %s%s%s%s" #~ msgid "Warzone 2100 is completely free and open source (FLOSS). Official site: http://wz2100.net/" #~ msgstr "Warzone 2100 es completamente gratuíto y de código abierto (FLOSS). Sitio Oficial: http://wz2100.net/" diff --git a/po/hu.po b/po/hu.po index 715f7bd38..f4fe5521a 100644 --- a/po/hu.po +++ b/po/hu.po @@ -1,3 +1,4 @@ +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the warzone2100 package. # # Jen Ockwell , 2008. @@ -5,11 +6,11 @@ msgid "" msgstr "" "Project-Id-Version: Warzone 2100\n" "Report-Msgid-Bugs-To: warzone2100-project@lists.sourceforge.net\n" -"POT-Creation-Date: 2013-11-29 18:34+0100\n" -"PO-Revision-Date: 2013-11-24 15:21+0100\n" +"POT-Creation-Date: 2013-11-20 19:01+0100\n" +"PO-Revision-Date: 2023-11-27 20:18+0100\n" "Last-Translator: Kálmán „KAMI” Szalai \n" "Language-Team: Magyar (Hungary) Mészáros Tamás \n" -"Language: hu\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -11886,7 +11887,7 @@ msgstr "Helyi rendszer" #: lib/ivis_opengl/screen.cpp:187 msgid "OpenGL GLSL shader version 1.20 is not supported by your system. Some things may look wrong. Please upgrade your graphics driver/hardware, if possible." -msgstr "OpenGL GLSL 1.20 árnyékolási verziót nem támogatja a te rendszered. Néhány dolgot rossznak látok. Kérlek frissítsd fel a drivert vagy hardware videokártyád, ha ez lehetséges." +msgstr "OpenGL GLSL 1.20árnyékolási verziót nem támogatja a te rendszered. Néhány dolgot rossznak látok. Kérlek frissítsd fel a drivert vagy hardware videokártyád, ha ez lehetséges." #: lib/ivis_opengl/screen.cpp:193 msgid "OpenGL 1.2 + VBO + TEC is not supported by your system. The game requires this. Please upgrade your graphics drivers/hardware, if possible." @@ -11898,40 +11899,39 @@ msgid "Enter password here" msgstr "Jelszó begépelés" #: lib/netplay/netplay.cpp:985 -msgid "" +msgid "Your router doesn't support UPnP, you must manually configure your router & firewall to\n" "open port 2100 before you can host a game." -msgstr "" +msgstr "A routered nem támogatja az UPnP-t, és kézzel kell konfigurálni a routered & tűzfalad \n" "nyisd a 2100 portot mielőtt csatalkozol távoli játékhoz." #: lib/netplay/netplay.cpp:999 -msgid "" +msgid "No UPnP device was found. You must manually configure your router & firewall to\n" "open port 2100 before you can host a game." -msgstr "" +msgstr "UPnP eszköz nem található, és kézzel kell konfigurálni a routered & tűzfalad \n" "nyisd a 2100 portot mielőtt csatalkozol távoli játékhoz." #: lib/netplay/netplay.cpp:1027 -#, fuzzy, c-format msgid "Could not open require port (%s) on (%s)" -msgstr "Nem lehet feloldani a mester szerver nevét (%s!" +msgstr "Nem lehet feloldani a mester szerver nevét (%s)!" #: lib/netplay/netplay.cpp:1031 -msgid "" +msgid "You must manually configure your router & firewall to\n" " open port 2100 before you can host a game." -msgstr "" +msgstr "Kézzel konfigurálhatod a routered & tűzfalad \n" "nyisd a 2100 portot mielőtt csatalkozol távoli játékhoz." #: lib/netplay/netplay.cpp:1041 #, c-format -msgid "" +msgid "Game configured port (%s) correctly on (%s)\n" "Your external IP is %s" -msgstr "" +msgstr "Játék konfigurált port (%s) korrigálva (%s)\n" "Külső IP elérhetőséged %s" @@ -11942,12 +11942,12 @@ msgstr "Nem lehet feloldani a mester szerver nevét (%s)!" #: lib/netplay/netplay.cpp:2198 #, c-format -msgid "" +msgid "Error connecting to the lobby server: %s.\n" "Make sure port %d can receive incoming connections.\n" "If you're using a router configure it to use UPnP\n" " or to forward the port to your system." -msgstr "" +msgstr "Hibás kapcsolódás a lobbi szerverhez: %s.\n" "Készíts megfelelő portot %d ahová beérkezik a bejövő kapcsolat.\n" "Ha routert konfigurálod haszlnáld UPnP\n" @@ -11958,12 +11958,12 @@ msgid "Failed to get a lobby response!" msgstr "Képtelenség, hogy kapjon egy támogatói választ!" #: po/custom/mac-infoplist.txt:1 -msgid "" +msgid "Copyright © 1999-2004 Eidos Interactive.\n" "Copyright © 2005-2013 The Warzone 2100 Project" -msgstr "" +msgstr "Copyright © 1999-2004 Eidos Interaktív.\n" -"Copyright © 2005-2013 A Warzone 2100 Projekt" +"Copyright © 2005-2011 A Warzone 2100 Projekt" #: po/custom/mac-infoplist.txt:2 #: po/custom/warzone2100.desktop.txt:2 @@ -12011,8 +12011,8 @@ msgstr "Stratégiai játék" #: src/intelmap.cpp:530 #: src/intorder.cpp:727 #: src/loadsave.cpp:250 -#: src/multimenu.cpp:506 -#: src/multimenu.cpp:1373 +#: src/multimenu.cpp:496 +#: src/multimenu.cpp:1363 #: src/transporter.cpp:264 #: src/transporter.cpp:346 #: src/transporter.cpp:806 @@ -12362,7 +12362,7 @@ msgid "Player dropped" msgstr "Játékos kiszállt" #: src/display3d.cpp:666 -#: src/multiint.cpp:2382 +#: src/multiint.cpp:2375 msgid "Waiting for other players" msgstr "Várakozás további játékosra" @@ -12665,7 +12665,7 @@ msgstr "50%" #: src/frontend.cpp:563 #: src/frontend.cpp:706 -#: src/multiplay.cpp:2020 +#: src/multiplay.cpp:2002 msgid "Black" msgstr "Fekete" @@ -12866,7 +12866,7 @@ msgid "GAME OPTIONS" msgstr "JÁTÉK OPCIÓK" #: src/frontend.cpp:1482 -#: src/multiint.cpp:2651 +#: src/multiint.cpp:2644 msgid "Mod: " msgstr "Mód:" @@ -12925,8 +12925,8 @@ msgid "Build (F3)" msgstr "Építés (F3)" #: src/hci.cpp:3435 -#: src/multiint.cpp:1596 -#: src/multimenu.cpp:808 +#: src/multiint.cpp:1589 +#: src/multimenu.cpp:798 msgid "Power" msgstr "Energia" @@ -13064,7 +13064,7 @@ msgstr "Taktikai UI (Cél ikon létrehozás): Elrejt" #: src/ingameop.cpp:275 #: src/ingameop.cpp:282 msgid "Load Game" -msgstr "Játék Betöltése" +msgstr "Játék betöltése" #: src/ingameop.cpp:277 #: src/ingameop.cpp:284 @@ -13094,11 +13094,11 @@ msgstr "Csata indítás mentése" #: src/init.cpp:422 #, c-format -msgid "" +msgid "The required mod could not be loaded: %s\n" "\n" "Warzone will try to load the game without it." -msgstr "" +msgstr "A mod nem tölthető be: %s\n" "\n" "A Warzone megpróbálja elindítani a játékot nélküle." @@ -13522,7 +13522,7 @@ msgstr "Kulcsfontosságú megfeleltetés" #: src/keyedit.cpp:377 #: src/multiint.cpp:763 #: src/multiint.cpp:1263 -#: src/multiint.cpp:1682 +#: src/multiint.cpp:1675 msgid "Return To Previous Screen" msgstr "Vissza az előző képernyőre" @@ -14255,7 +14255,7 @@ msgstr "Játék lista frissítése" #: src/multiint.cpp:1271 msgid "Filter Games List" -msgstr "Játék játék szűrő " +msgstr "Játék lista frissítése" #: src/multiint.cpp:1298 msgid "Enter Password:" @@ -14294,300 +14294,292 @@ msgstr "Játéknév kiválasztása" msgid "One-Player Skirmish" msgstr "Egyjátékos csata" -#: src/multiint.cpp:1503 +#: src/multiint.cpp:1500 msgid "Select Map" msgstr "Térkép kiválasztása" -#: src/multiint.cpp:1504 -msgid "Map-Mod!" -msgstr "" - -#: src/multiint.cpp:1517 +#: src/multiint.cpp:1510 msgid "Click to set Password" msgstr "Kattintson ide a jelszó beállításához" -#: src/multiint.cpp:1527 -#: src/multiint.cpp:1528 +#: src/multiint.cpp:1520 +#: src/multiint.cpp:1521 msgid "Scavengers" msgstr "Dögevők" -#: src/multiint.cpp:1530 +#: src/multiint.cpp:1523 msgid "No Scavengers" msgstr "Nincsenek dögevők" -#: src/multiint.cpp:1560 +#: src/multiint.cpp:1553 msgid "Select Player Name" msgstr "Játékos nevének kiválasztása" -#: src/multiint.cpp:1563 -#: src/multimenu.cpp:801 +#: src/multiint.cpp:1556 +#: src/multimenu.cpp:791 msgid "Alliances" msgstr "Szövetségek" -#: src/multiint.cpp:1566 +#: src/multiint.cpp:1559 msgid "No Alliances" msgstr "Nincsenek szövetségek" -#: src/multiint.cpp:1568 +#: src/multiint.cpp:1561 msgid "Allow Alliances" msgstr "Megengedi szövetséget" -#: src/multiint.cpp:1572 +#: src/multiint.cpp:1565 msgid "Locked Teams" msgstr "Zárolt csapatok" -#: src/multiint.cpp:1598 +#: src/multiint.cpp:1591 msgid "Low Power Levels" msgstr "Alacsony energia szint" -#: src/multiint.cpp:1600 +#: src/multiint.cpp:1593 msgid "Medium Power Levels" msgstr "Közepes energia szint" -#: src/multiint.cpp:1602 +#: src/multiint.cpp:1595 msgid "High Power Levels" msgstr "Magas energia szint" -#: src/multiint.cpp:1634 +#: src/multiint.cpp:1627 msgid "Base" msgstr "Bázis" -#: src/multiint.cpp:1636 +#: src/multiint.cpp:1629 msgid "Start with No Bases" msgstr "Kezdés bázis nélkül" -#: src/multiint.cpp:1638 +#: src/multiint.cpp:1631 msgid "Start with Bases" msgstr "Kezdés bázissal" -#: src/multiint.cpp:1640 +#: src/multiint.cpp:1633 msgid "Start with Advanced Bases" msgstr "Kezdés fejlesztett bázissal" -#: src/multiint.cpp:1672 +#: src/multiint.cpp:1665 msgid "Map Preview" msgstr "Térkép előnézet" -#: src/multiint.cpp:1674 +#: src/multiint.cpp:1667 msgid "Click to see Map" msgstr "Kattints ide a térkép megtekintéséhez" -#: src/multiint.cpp:1687 -#: src/multiint.cpp:1689 +#: src/multiint.cpp:1680 +#: src/multiint.cpp:1682 msgid "Start Hosting Game" msgstr "Központi játék elindítása" -#: src/multiint.cpp:1696 -#: src/multiint.cpp:1700 +#: src/multiint.cpp:1689 +#: src/multiint.cpp:1693 msgid "Show Structure Limits" msgstr "Építési korlátozás" -#: src/multiint.cpp:1696 -#: src/multiint.cpp:1700 +#: src/multiint.cpp:1689 +#: src/multiint.cpp:1693 msgid "Set Structure Limits" msgstr "Épületek maximális számának beállítása" -#: src/multiint.cpp:1777 +#: src/multiint.cpp:1770 msgid "DIFFICULTY" msgstr "NEHÉZSÉG" -#: src/multiint.cpp:1791 +#: src/multiint.cpp:1784 msgid "Less aggressive" msgstr "Kevésbé agresszív" -#: src/multiint.cpp:1792 +#: src/multiint.cpp:1785 msgid "Plays nice" msgstr "Kedvelt játékosok" -#: src/multiint.cpp:1793 +#: src/multiint.cpp:1786 msgid "No holds barred" msgstr "Nincs fedetlen hatalom" -#: src/multiint.cpp:1794 +#: src/multiint.cpp:1787 msgid "Starts with advantages" msgstr "Kezdés fejlesztett bázissal" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:1815 msgid "CHOOSE AI" msgstr "AI választás" -#: src/multiint.cpp:1860 +#: src/multiint.cpp:1853 msgid "Allow human players to join in this slot" msgstr "Emberi játékosok kapcsolódnak a nyomhoz" -#: src/multiint.cpp:1867 +#: src/multiint.cpp:1860 msgid "Leave this slot unused" msgstr "Elhagyom ezt a nem használt nyomot" -#: src/multiint.cpp:2324 +#: src/multiint.cpp:2317 msgid "Team" msgstr "Csapat" -#: src/multiint.cpp:2367 +#: src/multiint.cpp:2360 msgid "You cannot change difficulty in a challenge" msgstr "Nem tudsz változtatni a nehézségen mozgásnál" -#: src/multiint.cpp:2367 +#: src/multiint.cpp:2360 msgid "Click to change difficulty" msgstr "Kattintson a nehézség beállításához" -#: src/multiint.cpp:2382 +#: src/multiint.cpp:2375 msgid "Waiting for player" msgstr "Várakozás további játékosra" -#: src/multiint.cpp:2382 +#: src/multiint.cpp:2375 msgid "Player is ready" msgstr "Játékos kiszállt" -#: src/multiint.cpp:2382 +#: src/multiint.cpp:2375 msgid "Click when ready" msgstr "Kattintson, ha kész" -#: src/multiint.cpp:2389 +#: src/multiint.cpp:2382 msgid "READY?" msgstr "KÉSZ?" -#: src/multiint.cpp:2433 +#: src/multiint.cpp:2426 msgid "PLAYERS" msgstr "JÁTÉKOSOK" -#: src/multiint.cpp:2468 +#: src/multiint.cpp:2461 msgid "Click to change to this slot" msgstr "Kattintson a játékosok betöltésének változtatásához" -#: src/multiint.cpp:2496 +#: src/multiint.cpp:2489 msgid "Choose Team" msgstr "Csapatválasztás" -#: src/multiint.cpp:2526 +#: src/multiint.cpp:2519 msgid "Click to change player colour" msgstr "Kattintson a játékos színeinek változtatásához" -#: src/multiint.cpp:2554 +#: src/multiint.cpp:2547 msgid "Click to change player position" msgstr "Kattintson a játékos pozíciójának beállításához" -#: src/multiint.cpp:2558 +#: src/multiint.cpp:2551 msgid "Click to change AI" msgstr "Kattintson a játékos AI beállítás változtatásához" -#: src/multiint.cpp:2624 +#: src/multiint.cpp:2617 msgid "CHAT" msgstr "CSEVEGÉS" -#: src/multiint.cpp:2656 +#: src/multiint.cpp:2649 msgid "All players need to have the same mods to join your game." msgstr "Minden játékosnak ugyanazokkal a mod-okkal kell rendelkeznie, hogy csatlakozhassanak a játékhoz." -#: src/multiint.cpp:2697 +#: src/multiint.cpp:2690 msgid "Connecting to the lobby server..." msgstr "Kapcsolódás a kiszolgáló szerverhez..." -#: src/multiint.cpp:3000 +#: src/multiint.cpp:2993 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** jelszót [%s] kötelező! ***" -#: src/multiint.cpp:3006 +#: src/multiint.cpp:2999 msgid "*** password is NOT required! ***" msgstr " *** jelszó NEM kötelező! ***" -#: src/multiint.cpp:3020 -msgid "This is a map-mod, it can change your playing experience!" -msgstr "" - -#: src/multiint.cpp:3072 +#: src/multiint.cpp:3059 msgid "Sorry! Failed to host the game." msgstr "Nem sikerült a játékot létrehoznia." -#: src/multiint.cpp:3195 +#: src/multiint.cpp:3182 msgid "'Locked Teams' mode enabled" msgstr "„Fix csapatok” mód engedélyezve" -#: src/multiint.cpp:3223 -#: src/multiint.cpp:3292 -#: src/multimenu.cpp:1496 +#: src/multiint.cpp:3210 +#: src/multiint.cpp:3279 +#: src/multimenu.cpp:1486 #, c-format msgid "The host has kicked %s from the game!" msgstr "A játékmester kirúgta %s a játékból!" -#: src/multiint.cpp:3358 +#: src/multiint.cpp:3345 msgid "Host is Starting Game" msgstr "A játékmester elindította a játékot" -#: src/multiint.cpp:3937 +#: src/multiint.cpp:3923 msgid "UPnP has been enabled." msgstr "UPnP be lett kapcsolva" -#: src/multiint.cpp:3943 +#: src/multiint.cpp:3929 msgid "UPnP detection faled. You must manually configure router yourself." msgstr "UPnP detektálás hibás. Kézzel kell a routert konfigurálnod." -#: src/multiint.cpp:3947 +#: src/multiint.cpp:3933 msgid "UPnP detection is in progress..." msgstr "Dekódolás folyamatban....." -#: src/multiint.cpp:3954 +#: src/multiint.cpp:3940 msgid "UPnP detection disabled by user. Autoconfig of port 2100 will not happen." msgstr "UPnP vizsgálatot kikapcsolta a felhasználó. Automatikus beállítás a 2100 portra nem történt meg." -#: src/multiint.cpp:3960 +#: src/multiint.cpp:3946 msgid "Hit the ready box to begin your challenge!" -msgstr "Sikerült a teljes páholyt elkészíteni kezdődhet a kihívás!" +msgstr "A doboz elkészült és kezdődhet a kihívás!" -#: src/multiint.cpp:3964 +#: src/multiint.cpp:3950 msgid "Press the start hosting button to begin hosting a game." msgstr "Nyomd meg a távoli start gombot a távoli játék indításához " -#: src/multiint.cpp:4006 +#: src/multiint.cpp:3992 msgid "Can't connect to lobby server!" msgstr "Nem tud kapcsolódni a kiszolgáló szerverhez!" -#: src/multiint.cpp:4107 +#: src/multiint.cpp:4084 #, c-format msgid "Mods: %s" msgstr "Mód: %s" -#: src/multiint.cpp:4114 +#: src/multiint.cpp:4091 msgid "Mods: None!" msgstr "Mód: Nincs!" -#: src/multiint.cpp:4124 +#: src/multiint.cpp:4101 #, c-format msgid "Version: %s" msgstr "Verzió: %s" -#: src/multiint.cpp:4175 +#: src/multiint.cpp:4152 #, c-format msgid "Click to take player slot %d" msgstr "Kattintson a játékosok betöltéséhez %d" -#: src/multiint.cpp:4184 -#: src/multiint.cpp:4386 +#: src/multiint.cpp:4161 +#: src/multiint.cpp:4363 msgid "Open" msgstr "Megnyitás" -#: src/multiint.cpp:4184 -#: src/multiint.cpp:4387 +#: src/multiint.cpp:4161 +#: src/multiint.cpp:4364 msgid "Closed" msgstr "Bezárás" -#: src/multiint.cpp:4234 +#: src/multiint.cpp:4211 #, c-format msgid "Sending Map: %d%% " msgstr "Térkép küldés: %d%%" -#: src/multiint.cpp:4242 +#: src/multiint.cpp:4219 #, c-format msgid "Map: %d%% downloaded" msgstr "Térkép: %d%% letöltött" -#: src/multiint.cpp:4268 +#: src/multiint.cpp:4245 msgid "HOST" msgstr "GAZDAGÉP" -#: src/multiint.cpp:4275 -#: src/multimenu.cpp:815 +#: src/multiint.cpp:4252 +#: src/multimenu.cpp:805 msgid "Ping" msgstr "Pingelés" @@ -14628,107 +14620,97 @@ msgstr "Alapbeállítások alkalmazása és vissza az előző menübe" msgid "Limits reset to default values" msgstr "A határértékek visszaállítása az alapértelmezettekre" -#: src/multimenu.cpp:633 +#: src/multimenu.cpp:623 msgid "Technology level 1" msgstr "1. Technológiai szint" -#: src/multimenu.cpp:641 +#: src/multimenu.cpp:631 msgid "Technology level 2" msgstr "2. Technológiai szint" -#: src/multimenu.cpp:647 +#: src/multimenu.cpp:637 msgid "Technology level 3" msgstr "3. Technológiai szint" -#: src/multimenu.cpp:653 +#: src/multimenu.cpp:643 msgid "Any number of players" msgstr "Nincs meghatározott játékos szám" -#: src/multimenu.cpp:664 +#: src/multimenu.cpp:654 #, c-format msgid "%d player" msgid_plural "%d players" msgstr[0] "%d játékos" msgstr[1] "%d játékosok" -#: src/multimenu.cpp:802 +#: src/multimenu.cpp:792 msgid "Score" msgstr "Eredmény" -#: src/multimenu.cpp:803 +#: src/multimenu.cpp:793 msgid "Kills" msgstr "Elestek" -#: src/multimenu.cpp:804 +#: src/multimenu.cpp:794 msgid "Units" msgstr "Egységek" -#: src/multimenu.cpp:819 +#: src/multimenu.cpp:809 msgid "Structs" msgstr "Épületek" -#: src/multimenu.cpp:831 +#: src/multimenu.cpp:821 msgid "Sent/Received per sec —" msgstr "Elküldött/Érkezett per másodperc —" -#: src/multimenu.cpp:831 +#: src/multimenu.cpp:821 msgid "Total Sent/Received —" msgstr "Teljes Elküldött/Érkezett —" -#: src/multimenu.cpp:836 +#: src/multimenu.cpp:826 #, c-format msgid "Traf: %u/%u" msgstr "Edzett: %u/%u" -#: src/multimenu.cpp:840 +#: src/multimenu.cpp:830 #, c-format msgid "Uncompressed: %u/%u" msgstr "Tömörítetlen: %u/%u" -#: src/multimenu.cpp:844 +#: src/multimenu.cpp:834 #, c-format msgid "Pack: %u/%u" msgstr "Csomag: %u/%u" -#: src/multimenu.cpp:1146 +#: src/multimenu.cpp:1136 msgid "Channel" msgstr "Csatorna" -#: src/multimenu.cpp:1160 +#: src/multimenu.cpp:1150 msgid "Toggle Alliance State" msgstr "Szövetség státuszának megváltoztatása" -#: src/multimenu.cpp:1179 +#: src/multimenu.cpp:1169 msgid "Give Visibility Report" msgstr "Felderítő jelentést ad" -#: src/multimenu.cpp:1185 +#: src/multimenu.cpp:1175 msgid "Leak Technology Documents" msgstr "Technológiai dokumentumok kiszivárogtatása" -#: src/multimenu.cpp:1192 +#: src/multimenu.cpp:1182 msgid "Hand Over Selected Units" msgstr "Adja a kijelölt egységeket" -#: src/multimenu.cpp:1198 +#: src/multimenu.cpp:1188 msgid "Give Power To Player" msgstr "Energiát ad a játékosnak" -#: src/multimenu.cpp:1498 +#: src/multimenu.cpp:1488 #, c-format msgid "kicked %s : %s from the game, and added them to the banned list!" msgstr "%s : %s ki lettek rúgva a játékból, és a tiltó listára kerültek." -#: src/multiopt.cpp:227 -#: src/multiplay.cpp:1722 -msgid "Warning, this is a map-mod, it could alter normal gameplay." -msgstr "" - -#: src/multiopt.cpp:231 -#: src/multiplay.cpp:1726 -msgid "Warning, HOST has altered the game code, and can't be trusted!" -msgstr "" - #: src/multiplay.cpp:263 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" @@ -14746,63 +14728,63 @@ msgstr "(magán a" msgid "[invalid]" msgstr "[érvénytelen]" -#: src/multiplay.cpp:2017 +#: src/multiplay.cpp:1999 msgid "Green" msgstr "Zöld" -#: src/multiplay.cpp:2018 +#: src/multiplay.cpp:2000 msgid "Orange" msgstr "Narancs" -#: src/multiplay.cpp:2019 +#: src/multiplay.cpp:2001 msgid "Grey" msgstr "Szürke" -#: src/multiplay.cpp:2021 +#: src/multiplay.cpp:2003 msgid "Red" msgstr "Vörös" -#: src/multiplay.cpp:2022 +#: src/multiplay.cpp:2004 msgid "Blue" msgstr "Kék" -#: src/multiplay.cpp:2023 +#: src/multiplay.cpp:2005 msgid "Pink" msgstr "Rózsaszín" -#: src/multiplay.cpp:2024 +#: src/multiplay.cpp:2006 msgid "Cyan" msgstr "Cián" -#: src/multiplay.cpp:2025 +#: src/multiplay.cpp:2007 msgid "Yellow" msgstr "Sárga" -#: src/multiplay.cpp:2026 +#: src/multiplay.cpp:2008 msgid "Purple" msgstr "Lila" -#: src/multiplay.cpp:2027 +#: src/multiplay.cpp:2009 msgid "White" msgstr "Fehér" -#: src/multiplay.cpp:2028 +#: src/multiplay.cpp:2010 msgid "Bright blue" msgstr "Élénk kék" -#: src/multiplay.cpp:2029 +#: src/multiplay.cpp:2011 msgid "Neon green" msgstr "Neon zöld" -#: src/multiplay.cpp:2030 +#: src/multiplay.cpp:2012 msgid "Infrared" msgstr "Infravörös" -#: src/multiplay.cpp:2031 +#: src/multiplay.cpp:2013 msgid "Ultraviolet" msgstr "Ultraviola" -#: src/multiplay.cpp:2032 +#: src/multiplay.cpp:2014 msgid "Brown" msgstr "Barna" @@ -15078,3 +15060,484 @@ msgstr " - Felépítés %s" #, c-format msgid "Version %s%s%s%s" msgstr "Verzió %s%s%s%s" + +#~ msgid "Warzone 2100 is completely free and open source (FLOSS). Official site: http://wz2100.net/" +#~ msgstr "Warzone 2100 egy teljesen szabad és nyitott forrású játék (FLOSS). Hivatalos oldal: http://wz 2100.net" + +#~ msgid "TCP PORT 2100 MUST BE OPENED IN YOUR FIREWALL / ROUTER TO HOST GAMES!" +#~ msgstr "TCP PORT 2100 SZÜKSÉGES MEGNYITNOD A TŰZFALAD / ROUTERED A KISZOLGÁLÓ JÁTÉKOKHOZ!" + +#~ msgid "Password is already set!" +#~ msgstr "Játékos kiszállt" + +#~ msgid "OpenGL 2.0 is not supported by your system. Some things may look wrong. Please upgrade your graphics driver/hardware, if possible." +#~ msgstr "OpenGL 2.0-t nem támogatja a te rendszered. Néhány dolgot rossznak látok. Kérlek frissítsd fel a drivert vagy hardware videokártyád, ha ez lehetséges." + +#~ msgid "Unit Colour (SP)" +#~ msgstr "Egység Színek" + +#~ msgid "Unit Colour (MP)" +#~ msgstr "Egység Színek" + +#~ msgid "VTOL HPV Cannon Bug VTOL" +#~ msgstr "VTOL Bug nagysebességű ágyú" + +#~ msgid "VTOL HPV Cannon Scorpion VTOL" +#~ msgstr "VTOL Scorpion nagysebességű ágyú" + +#~ msgid "VTOL HPV Cannon Mantis VTOL" +#~ msgstr "VTOL Mantis nagysebességű ágyú" + +#~ msgid "Mini-Rocket Artillery Cobra Tracks" +#~ msgstr "Cobra lánctalpas tüzérségi kisrakéta" + +#~ msgid "HPV Cannon Python Hover" +#~ msgstr "Python légpárnás nagysebességű ágyú" + +#~ msgid "CHEATS ARE NOW ENABLED!" +#~ msgstr "CSALÁS BEKAPCSOLVA!" + +#~ msgid "CHEATS ARE NOW DISABLED!" +#~ msgstr "CSALÁS KIKAPCSOLVA!" + +#~ msgid "Received invalid addGame data." +#~ msgstr "Érvénytelen játék hozzáadás adat érkezett." + +#~ msgid "Create a game first!" +#~ msgstr "Játékcél felkutatása" + +#~ msgid "Received invalid login data." +#~ msgstr "Érvénytelen bejelentkezési adat érkezett." + +#~ msgid "Failed to communicate with the lobby." +#~ msgstr "Hibás kommunikáció a lobbinál." + +#~ msgid "Got server error: %s" +#~ msgstr "Szerver hiba: %s" + +#~ msgid "Game not in the lobby, please login first!" +#~ msgstr "Játékban ne legyen lobbi, kérlek jelentkezz be először!" + +#~ msgid "Activate self-test" +#~ msgstr "Önellenőrzés aktiválása" + +#~ msgid "Failed to create building" +#~ msgstr "Az épület létrehozása meghiúsult" + +#~ msgid "Authentication failed or not Authenticated" +#~ msgstr "Azonosítás hibás vagy nem azonosított" + +#~ msgid "The lobby rejected you!" +#~ msgstr "A lobbit elutasítom!" + +#~ msgid "Connect IP" +#~ msgstr "IP Kapcsolódás!" + +#~ msgid "Login" +#~ msgstr "Bejelentkezés" + +#~ msgid "Logout" +#~ msgstr "Kijelentkezés" + +#~ msgid "LOBBY LOGIN" +#~ msgstr "Lobbi bejelentkezés" + +#~ msgid "Username:" +#~ msgstr "Felhasználó név:" + +#~ msgid "Password:" +#~ msgstr "Jelszó megadása:" + +#~ msgid "Use your wz2100.net credentials here." +#~ msgstr "Használd a wz2100.net igazolást itt." + +#~ msgid "You cannot change AI in a challenge" +#~ msgstr "Nem tudsz változtatni az AI-on mozgásnál" + +#~ msgid "Players" +#~ msgstr "Játékosok" + +#~ msgid "3 players" +#~ msgstr "3 játékos" + +#~ msgid "4 players" +#~ msgstr "4 játékos" + +#~ msgid "5 players" +#~ msgstr "5 játékos" + +#~ msgid "6 players" +#~ msgstr "6 játékos" + +#~ msgid "7 players" +#~ msgstr "7 játékos" + +#~ msgid "8 players" +#~ msgstr "8 játékos" + +#~ msgid "9 players" +#~ msgstr "9 játékos" + +#~ msgid "10 players" +#~ msgstr "10 játékos" + +#~ msgid "11 players" +#~ msgstr "11 játékos" + +#~ msgid "12 players" +#~ msgstr "12 játékos" + +#~ msgid "13 players" +#~ msgstr "13 játékos" + +#~ msgid "14 players" +#~ msgstr "14 játékos" + +#~ msgid "15 players" +#~ msgstr "15 játékos" + +#~ msgid "16 players" +#~ msgstr "16 játékos" + +#~ msgid "FPS %d; PIEs %d; polys %d; States %d" +#~ msgstr "FPS %d; PIEs %d; poli %d; Államok %d" + +#~ msgid "Power Accrued" +#~ msgstr "Energia felhalmozva" + +#~ msgid "Radar showing revealed terrain" +#~ msgstr "Radar mutatja a felderített terepet" + +#~ msgid "Fog" +#~ msgstr "Köd" + +#~ msgid "Mist" +#~ msgstr "Homály" + +#~ msgid "Distance Fog" +#~ msgstr "Távoli köd" + +#~ msgid "* May negatively affect performance" +#~ msgstr "* Hátrányosan érintheti a sebességet" + +#~ msgid "Congratulations your successfull evacuation of Beta Base." +#~ msgstr "Gratulálok Béta bázis sikeres evakuálásához." + +#~ msgid "Cobra Hover Heavy-Repair" +#~ msgstr "Cobra légpárnás nehéz szervízkocsi" + +#~ msgid "Viper HMG Wheels" +#~ msgstr "Viper nehéz gépfegyver" + +#~ msgid "TK Mantis Hover" +#~ msgstr "Mantis légpárnás Tank Killer" + +#~ msgid "Cobra HMG Tracks" +#~ msgstr "Cobra lánctalpas nehéz gépfegyver" + +#~ msgid "Cobra Hover HC" +#~ msgstr "Cobra légpárnás nehéz ágyú" + +#~ msgid "Scorpion Lancer Tracks" +#~ msgstr "Scorpion lánctalpas tankelhárító" + +#~ msgid "Scorpion Heavy Cannon Tracks" +#~ msgstr "Scorpion lánctalpas nehéz ágyú" + +#~ msgid "Scorpion Lancer VTOL" +#~ msgstr "Scorpion VTOL tankelhárító" + +#~ msgid "Scorpion BB VTOL" +#~ msgstr "Scorpion VTOL bunkertörő" + +#~ msgid "Viper Command Turret Tracks" +#~ msgstr "Viper parancsnoki lánctalapas" + +#~ msgid "Cobra Command Turret Tracks" +#~ msgstr "Cobra parancsnoki lánctalpas" + +#~ msgid "Scorpion Command Turret Tracks" +#~ msgstr "Scorpion parancsnoki lánctalpas" + +#~ msgid "Mantis Command Turret Tracks" +#~ msgstr "Mantis parancsnoki lánctalpas" + +#~ msgid "Cobra Lancer Tracks" +#~ msgstr "Cobra lánctalpas tankelhárító rakéta" + +#~ msgid "Mantis Heavy Cannon Tracks" +#~ msgstr "Mantis lánctalpas nehéz ágyú" + +#~ msgid "Mantis Tank Killer Tracks" +#~ msgstr "Mantis lánctalpas Tank Killer rakéta" + +#~ msgid "Mantis Scourge Tracks" +#~ msgstr "Mantis lánctalpas Scourge rakéta" + +#~ msgid "Scorpion Heavy Machinegun Tracks" +#~ msgstr "Scorpion lánctalpas nehéz gépfegyver" + +#~ msgid "Scorpion Repair Tracks" +#~ msgstr "Scorpion lánctalpas szervizkocsi" + +#~ msgid "Scorpion Heavy Repair Hover" +#~ msgstr "Scorpion légpárnás nehéz szervizkocsi" + +#~ msgid "Cobra Hover Truck" +#~ msgstr "Cobra légpárnás munkagép" + +#~ msgid "Scorpion Hover Truck" +#~ msgstr "Scorpion légpárnás munkagép" + +#~ msgid "Mantis Hover Truck" +#~ msgstr "Mantis légpárnás munkagép" + +#~ msgid "Cobra Bunker Buster Tracks" +#~ msgstr "Cobra lánctalpas bunkertörő" + +#~ msgid "Scorpion Bunker Buster Tracks" +#~ msgstr "Scorpion lánctalpas bunkertörő" + +#~ msgid "Mantis Bunker Buster Tracks" +#~ msgstr "Mantis lánctalpas bunkertörő" + +#~ msgid "Viper Tracks Lancer" +#~ msgstr "Viper lánctalpas tankelhárító rakéta" + +#~ msgid "Cobra Half-Tracks Mini-Pod" +#~ msgstr "Cobra féllánctalpas kis rakétavető" + +#~ msgid "Cobra Tracks Mini-Pod" +#~ msgstr "Cobra lánctalpas kis rakétavető" + +#~ msgid "Cobra Tracks Mini-Rocket Artillery" +#~ msgstr "Cobra lánctalpas tüzérségi kisrakéta" + +#~ msgid "Cobra Inferno Half-track" +#~ msgstr "Cobra féllánctalpas Inferno lángszóró" + +#~ msgid "Python HVC Hover" +#~ msgstr "Python lánctalpas nagysebességű ágyú" + +#~ msgid "Python Scourge Tracks" +#~ msgstr "Python lánctalpas Scourge rakéta" + +#~ msgid "Python Gauss Cannon Tracks" +#~ msgstr "Python lánctalpas Gauss ágyú" + +#~ msgid "Python Pulse Laser Tracks" +#~ msgstr "Python lánctalpas impulzus lézer" + +#~ msgid "Tiger Pulse Laser Tracks" +#~ msgstr "Tiger lánctalpas impulzus lézer" + +#~ msgid "Tiger Heavy Laser Tracks" +#~ msgstr "Tiger lánctalpas nehéz lézer" + +#~ msgid "Wyvern Gauss Cannon Tracks" +#~ msgstr "Wyvern lánctalpas Gauss ágyú" + +#~ msgid "Wyvern Pulse Laser Tracks" +#~ msgstr "Wyvern lánctalpas impulzus lézer" + +#~ msgid "Wyvern Heavy Laser Tracks" +#~ msgstr "Wyvern lánctalpas nehéz lézer" + +#~ msgid "Viper Machinegun Half-Track" +#~ msgstr "Viper féllánctalpas gépfegyver" + +#~ msgid "Viper Flamer Half-Track" +#~ msgstr "Viper féllánctalpas lángszóró" + +#~ msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" +#~ msgstr "Nem lehet elérni a lobbi szervert! A %u TCP port nyitva van a kimenő forgalom számára?" + +#~ msgid ": Unknown cheat code." +#~ msgstr ": ismeretlen megtévesztő kód" + +#~ msgid "Run in cheat mode" +#~ msgstr "Futtatás megtévesztő módba" + +#~ msgid "Truck ordered to build Oil Derrick" +#~ msgstr "Munkagép utasítva, hogy építsen olajkutat." + +#~ msgid "Colored Cursors*" +#~ msgstr "Kiszínezett kurzorok" + +#~ msgid "Infinite Production" +#~ msgstr "Korlátlan termelés" + +#~ msgid "You found %u power in an oil drum" +#~ msgstr "%u energiát találtál egy olajkúton" + +#~ msgid "Player colour" +#~ msgstr "Játékos színe" + +#~ msgid "Kick player" +#~ msgstr "Játékos kirúgása" + +#~ msgid "Player position" +#~ msgstr "Játékos pozíció" + +#~ msgid " (modified and switched locally)" +#~ msgstr " (helyileg módosította és átállította)" + +#~ msgid " (switched locally)" +#~ msgstr " (helyileg átállította)" + +#~ msgid "Player number" +#~ msgstr "Játékosok száma" + +#~ msgid "Mini-Rocket accuracy +10%" +#~ msgstr "Megnövekedett mini-rakéta pontosság" + +#~ msgid "Mini-Rocket damage +25%" +#~ msgstr "Megnövekedett mini rakéta pusztitás +25%" + +#~ msgid "Mini-Rocket reload time -15%" +#~ msgstr "Mini-rakéta töltési idő -15%" + +#~ msgid "Automated Manufacturing Mk2" +#~ msgstr "Automatizálta VTOL-t miközben újra felfegyverezte Mk2" + +#~ msgid "Automated Manufacturing Mk3" +#~ msgstr "Automatizálta VTOL-t miközben újra felfegyverezte Mk3" + +#~ msgid "Robotic Manufacturing Mk2" +#~ msgstr "Robotizált VTOL felfegyverező Mk2" + +#~ msgid "Robotic Manufacturing Mk3" +#~ msgstr "Robotizált VTOL felfegyverező Mk3" + +#~ msgid "Advanced Manufacturing Mk2" +#~ msgstr "Haladó gyári termelés Mk2" + +#~ msgid "Automated Repair Facility Mk2" +#~ msgstr "Automatizált javítási létesítmény MK2" + +#~ msgid "Automated Repair Facility Mk3" +#~ msgstr "Automatizált javítási létesítmény MK3" + +#~ msgid "Robotic Repair Facility Mk2" +#~ msgstr "Robotizált javítási létesítmény" + +#~ msgid "HESH Mini-Rockets" +#~ msgstr "HE Mini-rakéta" + +#~ msgid "HESH Mini-Rockets Mk2" +#~ msgstr "HE Mini-rakéta Mk2" + +#~ msgid "HESH Mini-Rockets Mk3" +#~ msgstr "HE Mini-rakéta Mk3" + +#~ msgid "Thermite Flamer Cyborg" +#~ msgstr "Termit lángszóró Cyborg" + +#~ msgid "Grenadier Cyborg" +#~ msgstr "Gránátos Cyborg" + +#~ msgid "Spanish" +#~ msgstr "Spanyol" + +#~ msgid "Finnish" +#~ msgstr "Finn" + +#~ msgid "Irish" +#~ msgstr "Ír" + +#~ msgid "Croatian" +#~ msgstr "Horvát" + +#~ msgid "Polish" +#~ msgstr "Lengyel" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "Portugál (brazil)" + +#~ msgid "Portuguese" +#~ msgstr "Portugál" + +#~ msgid ", mod: " +#~ msgstr ", mód: " + +#~ msgid "Increases Bombing damage" +#~ msgstr "Menövekedett löveg pusztítás" + +#~ msgid "Basque" +#~ msgstr "Baszk" + +#~ msgid "Norwegian (Nynorsk)" +#~ msgstr "Norvég" + +#~ msgid "Swedish (Sweden)" +#~ msgstr "Svéd" + +#~ msgid "Turkish" +#~ msgstr "Török" + +#~ msgid "Heavy Machinegun Cobra Half-trackS" +#~ msgstr "Cobra nehéz gépfegyverrel fél-lánctalpas" + +#~ msgid "Peperpot Emplacement" +#~ msgstr "Pepperpot elhelyezés" + +#~ msgid "Cursor Mode" +#~ msgstr "Energia modul" + +#~ msgid "Hardware" +#~ msgstr "Hardver" + +#~ msgid "Mini-Pod Artillery" +#~ msgstr "Mini-pod tűzérség" + +#~ msgid "Mini-Pod Battery" +#~ msgstr "Mini-pod elem" + +#~ msgid "Stabilized Mini-Pods" +#~ msgstr "Stabilizált mini-podok" + +#~ msgid "Stabilized Mini-Pods Mk2" +#~ msgstr "Stabilizált mini-podok Mk2" + +#~ msgid "HE Mini-Pods" +#~ msgstr "HE Mini-Podok" + +#~ msgid "HE Mini-Pods Mk2" +#~ msgstr "HE Mini-Rockets Mk2" + +#~ msgid "HE Mini-Podok Mk3" +#~ msgstr "HE Mini-Podok Mk3" + +#~ msgid "HEAP Mini-Pods" +#~ msgstr "HEAP Mini-Podok" + +#~ msgid "HEAP Mini-Pods Mk2" +#~ msgstr "HEAP Mini-Podok Mk2" + +#~ msgid "HEAP Mini-Pods Mk3" +#~ msgstr "HEAP Mini-Podok Mk3" + +#~ msgid "Fast Fire Mini-Pods" +#~ msgstr "Gyors tűzelő Mini-Podok" + +#~ msgid "Fast Fire Mini-Pods Mk2" +#~ msgstr "Gyors tűzelő Mini-Podok Mk2" + +#~ msgid "Fast Fire Mini-Pods Mk3" +#~ msgstr "Gyors tűzelő Mini-Podok Mk3" + +#~ msgid "Rapid Fire Mini-Pods" +#~ msgstr "Gyors tüzelő Mini Podok" + +#~ msgid "Rapid Fire Mini-Pods Mk2" +#~ msgstr "Gyors tüzelő Mini Podok Mk2" + +#~ msgid "Rapid Fire Mini-Pods Mk3" +#~ msgstr "Gyors tűzelő Mini Podok Mk3" + +#~ msgid "Cluster Bombs Bug VTOL" +#~ msgstr "Bogár bombaköteg VTOL" + +#~ msgid "Python Tank Killer Tracks" +#~ msgstr "Piton Tank ölő" + diff --git a/src/Makefile.am b/src/Makefile.am index f60c522b3..671e55abc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -18,7 +18,6 @@ autorevision.h autorevision.cache: CLEANFILES = \ $(BUILT_SOURCES) \ - autorevision.cache \ autorevision.h.new \ $(MOCEDFILES) diff --git a/src/ai.cpp b/src/ai.cpp index c1de416e1..bec251111 100644 --- a/src/ai.cpp +++ b/src/ai.cpp @@ -1185,6 +1185,20 @@ void aiUpdateDroid(DROID *psDroid) } } +/* Check if any of our weapons can hit the target... */ +bool checkAnyWeaponsTarget(BASE_OBJECT *psObject, BASE_OBJECT *psTarget) +{ + DROID *psDroid = (DROID *) psObject; + for (int i = 0;i < psDroid->numWeaps;i++) + { + if (validTarget(psObject, psTarget, i)) + { + return true; + } + } + return false; +} + /* Set of rules which determine whether the weapon associated with the object can fire on the propulsion type of the target. */ bool validTarget(BASE_OBJECT *psObject, BASE_OBJECT *psTarget, int weapon_slot) { diff --git a/src/ai.h b/src/ai.h index 14089f03e..d5ec25b5c 100644 --- a/src/ai.h +++ b/src/ai.h @@ -83,7 +83,8 @@ bool aiChooseSensorTarget(BASE_OBJECT *psObj, BASE_OBJECT **ppsTarget); /*set of rules which determine whether the weapon associated with the object can fire on the propulsion type of the target*/ bool validTarget(BASE_OBJECT *psObject, BASE_OBJECT *psTarget, int weapon_slot); - +// Check if any of the weapons can target the target +bool checkAnyWeaponsTarget(BASE_OBJECT *psObject, BASE_OBJECT *psTarget); // Check properties of the AllianceType enum. static inline bool alliancesFixed(int t) { return t != ALLIANCES; } static inline bool alliancesSharedVision(int t) { return t == ALLIANCES_TEAMS || t == ALLIANCES_UNSHARED; } diff --git a/src/init.cpp b/src/init.cpp index 5ebfb4dc3..1fbf4a6d5 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -549,6 +549,44 @@ bool CheckForMod(char *theMap) return false; } +// Mount the archive under the mountpoint, and enumerate the archive according to lookin +static bool CheckInMap(const char *archive, const char *mountpoint,const char *lookin) +{ + bool mapmod = false; + + if (!PHYSFS_mount(archive, mountpoint, PHYSFS_APPEND)) + { + // We already checked to see if this was valid before, and now, something went seriously wrong. + debug(LOG_FATAL, "Could not mount %s, because: %s. Please delete the file, and run the game again. Game will now exit.", archive, PHYSFS_getLastError()); + exit(-1); + } + + char **filelist = PHYSFS_enumerateFiles(lookin); + for (char **file = filelist; *file != NULL; ++file) + { + if (PHYSFS_isDirectory(*file)) + { + std::string checkfile = *file; + if (checkfile.compare("wrf")==0 || checkfile.compare("stats")==0 ||checkfile.compare("components")==0 + || checkfile.compare("anims")==0 || checkfile.compare("effects")==0 ||checkfile.compare("messages")==0 + || checkfile.compare("audio")==0 || checkfile.compare("sequenceaudio")==0 ||checkfile.compare("misc")==0 + || checkfile.compare("features")==0 || checkfile.compare("script")==0 ||checkfile.compare("structs")==0 + || checkfile.compare("tileset")==0 || checkfile.compare("images")==0 || checkfile.compare("texpages")==0 ) + { + debug(LOG_WZ, "Detected: %s %s" , archive, checkfile.c_str()); + mapmod = true; + break; + } + } + } + PHYSFS_freeList(filelist); + + if (!PHYSFS_removeFromSearchPath(archive)) + { + debug(LOG_ERROR, "Could not unmount %s, %s", archive, PHYSFS_getLastError()); + } + return mapmod; +} bool buildMapList() { @@ -586,42 +624,18 @@ bool buildMapList() if (PHYSFS_removeFromSearchPath(realFilePathAndName.c_str()) == 0) { - debug(LOG_ERROR, "Could not unmount %s", PHYSFS_getLastError()); - } - // check what kind of map it is - if (!PHYSFS_mount(realFilePathAndName.c_str(), "WZMap", PHYSFS_APPEND)) - { - debug(LOG_FATAL, "Could not mount %s, because: %s. Please delete the file, and run the game again. Game will now exit.", realFilePathAndName.c_str(), PHYSFS_getLastError()); - exit(-1); + debug(LOG_ERROR, "Could not unmount %s, %s", realFilePathAndName.c_str(), PHYSFS_getLastError()); } - filelist = PHYSFS_enumerateFiles("WZMap"); - for (char **file = filelist; *file != NULL; ++file) - { - if (PHYSFS_isDirectory(*file)) - { - std::string checkfile = *file; - if (checkfile.compare("wrf")==0 || checkfile.compare("stats")==0 ||checkfile.compare("components")==0 - || checkfile.compare("anims")==0 || checkfile.compare("effects")==0 ||checkfile.compare("messages")==0 - || checkfile.compare("audio")==0 || checkfile.compare("sequenceaudio")==0 ||checkfile.compare("misc")==0 - || checkfile.compare("features")==0 || checkfile.compare("script")==0 ||checkfile.compare("structs")==0 - || checkfile.compare("tileset")==0 || checkfile.compare("images")==0 || checkfile.compare("texpages")==0 ) - { - mapmod = true; - break; - } - } - } - PHYSFS_freeList(filelist); + mapmod = CheckInMap(realFilePathAndName.c_str(), "WZMap", "WZMap"); + if (!mapmod) + { + mapmod = CheckInMap(realFilePathAndName.c_str(), "WZMap", "WZMap/multiplay"); + } CurrentMap.MapName = realFileName->c_str(); CurrentMap.isMapMod = mapmod; WZ_Maps.push_back(CurrentMap); - - if (PHYSFS_removeFromSearchPath(realFilePathAndName.c_str()) == 0) - { - debug(LOG_ERROR, "Could not unmount %s", PHYSFS_getLastError()); - } } return true; diff --git a/src/multiint.cpp b/src/multiint.cpp index e28a42263..250bf0fd2 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -485,11 +485,11 @@ void loadMapPreview(bool hideInterface) } if (psLevel->realFileName == NULL) { - debug(LOG_INFO, "Loading map preview: \"%s\" builtin t%d", psLevel->pName, psLevel->dataDir); + debug(LOG_WZ, "Loading map preview: \"%s\" builtin t%d", psLevel->pName, psLevel->dataDir); } else { - debug(LOG_INFO, "Loading map preview: \"%s\" in (%s)\"%s\" %s t%d", psLevel->pName, PHYSFS_getRealDir(psLevel->realFileName), psLevel->realFileName, psLevel->realFileHash.toString().c_str(), psLevel->dataDir); + debug(LOG_WZ, "Loading map preview: \"%s\" in (%s)\"%s\" %s t%d", psLevel->pName, PHYSFS_getRealDir(psLevel->realFileName), psLevel->realFileName, psLevel->realFileHash.toString().c_str(), psLevel->dataDir); } rebuildSearchPath(psLevel->dataDir, false, psLevel->realFileName); sstrcpy(aFileName, psLevel->apDataFiles[psLevel->game]); diff --git a/src/order.cpp b/src/order.cpp index 05a6f0b69..ebc5cd257 100644 --- a/src/order.cpp +++ b/src/order.cpp @@ -1018,7 +1018,7 @@ void orderUpdateDroid(DROID *psDroid) psFireTarget = psSpotter->psTarget[0]; } - if (psFireTarget && !psFireTarget->died) + if (psFireTarget && !psFireTarget->died && checkAnyWeaponsTarget(psDroid, psFireTarget)) { bAttack = false; if (isVtolDroid(psDroid)) diff --git a/src/version.cpp b/src/version.cpp index 07b9175ec..16a194167 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -27,90 +27,41 @@ #include "src/autorevision.h" -static const char vcs_date_cstr[] = VCS_DATE; static const char vcs_branch_cstr[] = VCS_BRANCH; +static const char vcs_tag[] = VCS_TAG; -unsigned int version_getRevision() -{ - return VCS_NUM; -} - -const char* version_getVersionString() +/** Composes a nicely formatted version string. +* Determine if we are on a tag (which will NOT show the hash) +* or a branch (which WILL show the hash) +* or in a detached state (which WILL show the hash) +*/ +const char *version_getVersionString() { static const char* version_string = NULL; if (version_string == NULL) { - if (strncmp(vcs_branch_cstr, "tags/", strlen("tags/")) == 0) + if (strlen(vcs_tag)) { - version_string = vcs_branch_cstr + strlen("tags/"); + version_string = vcs_tag; } - else if (strcmp(vcs_branch_cstr, "trunk") == 0) + else if (strlen(vcs_branch_cstr)) { - version_string = "TRUNK " VCS_SHORT_HASH; - } - else if (strncmp(vcs_branch_cstr, "branches/", strlen("branches/")) == 0) - { - version_string = (VCS_BRANCH " branch " VCS_SHORT_HASH) + strlen("branches/"); - } - else if (strncmp(vcs_branch_cstr, "refs/heads/", strlen("refs/heads/")) == 0) - { - version_string = (VCS_BRANCH " branch " VCS_SHORT_HASH) + strlen("refs/heads/"); - } - else if (VCS_NUM != 0) - { - version_string = VCS_BRANCH " " VCS_SHORT_HASH; + version_string = (VCS_BRANCH " " VCS_SHORT_HASH); } else - { - version_string = VCS_SHORT_HASH; + { // not a branch or a tag, so we are detached most likely. + version_string = VCS_EXTRA; } } return version_string; } -bool version_modified() -{ - return VCS_WC_MODIFIED; -} - -const char* version_getBuildDate() -{ - return __DATE__; -} - -const char* version_getBuildTime() -{ - return __TIME__; -} - -const char* version_getVcsDate() -{ -#if (VCS_NUM == 0) - return ""; -#else - static char vcs_date[sizeof(vcs_date_cstr) - 9] = { '\0' }; - - if (vcs_date[0] == '\0') - { - sstrcpy(vcs_date, vcs_date_cstr); - } - - return vcs_date; -#endif -} - -const char* version_getVcsTime() -{ -#if (VCS_NUM == 0) - return ""; -#else - return VCS_DATE + sizeof(VCS_DATE) - 8 - 1; -#endif -} - -const char* version_getFormattedVersionString() +/** Composes a nicely formatted version string. +* +*/ +const char *version_getFormattedVersionString() { static char versionString[MAX_STR_LENGTH] = {'\0'}; @@ -122,7 +73,6 @@ const char* version_getFormattedVersionString() #else const char* wc_state = ""; #endif - // Compose the build type string #ifdef DEBUG const char* build_type = _(" - DEBUG"); @@ -130,21 +80,10 @@ const char* version_getFormattedVersionString() const char* build_type = ""; #endif - const char* build_date = NULL; - - if (strncmp(vcs_branch_cstr, "tags/", strlen("tags/")) != 0) - { - sasprintf((char**)&build_date, _(" - Built %s"), version_getBuildDate()); - } - else - { - build_date = ""; - } - // Construct the version string // TRANSLATORS: This string looks as follows when expanded. // "Version " - snprintf(versionString, MAX_STR_LENGTH, _("Version %s%s%s%s"), version_getVersionString(), wc_state, build_date, build_type); + snprintf(versionString, MAX_STR_LENGTH, _("Version: %s,%s Built:%s%s"), version_getVersionString(), wc_state, __DATE__, build_type); } return versionString; diff --git a/src/version.h b/src/version.h index 7501d879e..167f56b90 100644 --- a/src/version.h +++ b/src/version.h @@ -23,75 +23,7 @@ #include "lib/framework/types.h" -/** Retrieve the low revision number - * \return the lowest revision number of the working copy from which we built - */ -extern unsigned int version_getLowRevision(void); - -/** Retrieve the revision number - * \return the highest revision number of the working copy from which we built - */ -extern unsigned int version_getRevision(void); - -/** Composes a simple version string. - * - * If we compiled from a tag, i.e. the checkout URI started with "tags/%s/", - * the resulting string will be the "%s" portion of the URI. - * - * When we compiled from a branch, i.e. the checkout URI started with - * "branches/%s/", the resulting string will be "%s branch ". - * - * If we compiled from trunk, i.e. the checkout URI started with "trunk/", - * the resulting string will be "TRUNK ". - * - * In all cases "" will be either "r" or - * "r: - Built " - * - * - "" is the return value from version_getVersionString() - * - "" represents the modification and switch state - * of the working copy from which this build was made. - * - "" the date of building as returned by version_getBuildDate() or - * version_getVcsDate(); the latter is only used when the working - * copy has no local modifications. - * - "" the type of build produced (i.e. DEBUG or not) - */ -extern const char* version_getFormattedVersionString(void); +extern const char *version_getVersionString(void); +extern const char *version_getFormattedVersionString(void); #endif // __INCLUDED_VERSION_H__ diff --git a/src/wrappers.cpp b/src/wrappers.cpp index ec0fdfd00..b7eef3b9d 100644 --- a/src/wrappers.cpp +++ b/src/wrappers.cpp @@ -135,15 +135,22 @@ TITLECODE titleLoop(void) // then check --join and if neither, run the normal game menu. if( hostlaunch ) { + NetPlay.bComms = true; // use network = true + NetPlay.isUPNP_CONFIGURED = false; + NetPlay.isUPNP_ERROR = false; ingame.bHostSetup = true; bMultiPlayer = true; bMultiMessages = true; - game.type = SKIRMISH; // needed? + NETinit(true); + NETdiscoverUPnPDevices(); + game.type = SKIRMISH; changeTitleMode(MULTIOPTION); hostlaunch = false; // reset the bool to default state. } else if(strlen(iptoconnect) ) { + NetPlay.bComms = true; // use network = true + NETinit(true); joinGame(iptoconnect, 0); } else