diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/acinclude.m4 /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/acinclude.m4 --- /tmp/ZyiKWGPp1w/scorched3d-40/acinclude.m4 2006-03-07 01:49:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/acinclude.m4 2006-07-18 22:53:13.000000000 +0900 @@ -560,3 +560,227 @@ AC_SUBST([FT2_LIBS])]) # end of freetype2.m4 +# Configure paths for libogg +# Jack Moffitt 10-21-2000 +# Shamelessly stolen from Owen Taylor and Manish Singh + +dnl XIPH_PATH_OGG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl Test for libogg, and define OGG_CFLAGS and OGG_LIBS +dnl +AC_DEFUN([XIPH_PATH_OGG], +[dnl +dnl Get the cflags and libraries +dnl +AC_ARG_WITH(ogg,[ --with-ogg=PFX Prefix where libogg is installed (optional)], ogg_prefix="$withval", ogg_prefix="") +AC_ARG_WITH(ogg-libraries,[ --with-ogg-libraries=DIR Directory where libogg library is installed (optional)], ogg_libraries="$withval", ogg_libraries="") +AC_ARG_WITH(ogg-includes,[ --with-ogg-includes=DIR Directory where libogg header files are installed (optional)], ogg_includes="$withval", ogg_includes="") +AC_ARG_ENABLE(oggtest, [ --disable-oggtest Do not try to compile and run a test Ogg program],, enable_oggtest=yes) + + if test "x$ogg_libraries" != "x" ; then + OGG_LIBS="-L$ogg_libraries" + elif test "x$ogg_prefix" != "x" ; then + OGG_LIBS="-L$ogg_prefix/lib" + elif test "x$prefix" != "xNONE" ; then + OGG_LIBS="-L$prefix/lib" + fi + + OGG_LIBS="$OGG_LIBS -logg" + + if test "x$ogg_includes" != "x" ; then + OGG_CFLAGS="-I$ogg_includes" + elif test "x$ogg_prefix" != "x" ; then + OGG_CFLAGS="-I$ogg_prefix/include" + elif test "x$prefix" != "xNONE"; then + OGG_CFLAGS="-I$prefix/include" + fi + + AC_MSG_CHECKING(for Ogg) + no_ogg="" + + + if test "x$enable_oggtest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $OGG_CFLAGS" + LIBS="$LIBS $OGG_LIBS" +dnl +dnl Now check if the installed Ogg is sufficiently new. +dnl + rm -f conf.oggtest + AC_TRY_RUN([ +#include +#include +#include +#include + +int main () +{ + system("touch conf.oggtest"); + return 0; +} + +],, no_ogg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + + if test "x$no_ogg" = "x" ; then + AC_MSG_RESULT(yes) + ifelse([$1], , :, [$1]) + else + AC_MSG_RESULT(no) + if test -f conf.oggtest ; then + : + else + echo "*** Could not run Ogg test program, checking why..." + CFLAGS="$CFLAGS $OGG_CFLAGS" + LIBS="$LIBS $OGG_LIBS" + AC_TRY_LINK([ +#include +#include +], [ return 0; ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding Ogg or finding the wrong" + echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means Ogg was incorrectly installed" + echo "*** or that you have moved Ogg since it was installed." ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + OGG_CFLAGS="" + OGG_LIBS="" + ifelse([$2], , :, [$2]) + fi + AC_SUBST(OGG_CFLAGS) + AC_SUBST(OGG_LIBS) + rm -f conf.oggtest +]) +# Configure paths for libvorbis +# Jack Moffitt 10-21-2000 +# Shamelessly stolen from Owen Taylor and Manish Singh +# thomasvs added check for vorbis_bitrate_addblock which is new in rc3 + +dnl XIPH_PATH_VORBIS([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl Test for libvorbis, and define VORBIS_CFLAGS and VORBIS_LIBS +dnl +AC_DEFUN([XIPH_PATH_VORBIS], +[dnl +dnl Get the cflags and libraries +dnl +AC_ARG_WITH(vorbis,[ --with-vorbis=PFX Prefix where libvorbis is installed (optional)], vorbis_prefix="$withval", vorbis_prefix="") +AC_ARG_WITH(vorbis-libraries,[ --with-vorbis-libraries=DIR Directory where libvorbis library is installed (optional)], vorbis_libraries="$withval", vorbis_libraries="") +AC_ARG_WITH(vorbis-includes,[ --with-vorbis-includes=DIR Directory where libvorbis header files are installed (optional)], vorbis_includes="$withval", vorbis_includes="") +AC_ARG_ENABLE(vorbistest, [ --disable-vorbistest Do not try to compile and run a test Vorbis program],, enable_vorbistest=yes) + + if test "x$vorbis_libraries" != "x" ; then + VORBIS_LIBS="-L$vorbis_libraries" + elif test "x$vorbis_prefix" != "x" ; then + VORBIS_LIBS="-L$vorbis_prefix/lib" + elif test "x$prefix" != "xNONE"; then + VORBIS_LIBS="-L$prefix/lib" + fi + + VORBIS_LIBS="$VORBIS_LIBS -lvorbis -lm" + VORBISFILE_LIBS="-lvorbisfile" + VORBISENC_LIBS="-lvorbisenc" + + if test "x$vorbis_includes" != "x" ; then + VORBIS_CFLAGS="-I$vorbis_includes" + elif test "x$vorbis_prefix" != "x" ; then + VORBIS_CFLAGS="-I$vorbis_prefix/include" + elif test "x$prefix" != "xNONE"; then + VORBIS_CFLAGS="-I$prefix/include" + fi + + + AC_MSG_CHECKING(for Vorbis) + no_vorbis="" + + + if test "x$enable_vorbistest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $VORBIS_CFLAGS $OGG_CFLAGS" + LIBS="$LIBS $VORBIS_LIBS $VORBISENC_LIBS $OGG_LIBS" +dnl +dnl Now check if the installed Vorbis is sufficiently new. +dnl + rm -f conf.vorbistest + AC_TRY_RUN([ +#include +#include +#include +#include +#include + +int main () +{ + vorbis_block vb; + vorbis_dsp_state vd; + vorbis_info vi; + + vorbis_info_init (&vi); + vorbis_encode_init (&vi, 2, 44100, -1, 128000, -1); + vorbis_analysis_init (&vd, &vi); + vorbis_block_init (&vd, &vb); + /* this function was added in 1.0rc3, so this is what we're testing for */ + vorbis_bitrate_addblock (&vb); + + system("touch conf.vorbistest"); + return 0; +} + +],, no_vorbis=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + + if test "x$no_vorbis" = "x" ; then + AC_MSG_RESULT(yes) + ifelse([$1], , :, [$1]) + else + AC_MSG_RESULT(no) + if test -f conf.vorbistest ; then + : + else + echo "*** Could not run Vorbis test program, checking why..." + CFLAGS="$CFLAGS $VORBIS_CFLAGS" + LIBS="$LIBS $VORBIS_LIBS $OGG_LIBS" + AC_TRY_LINK([ +#include +#include +], [ return 0; ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding Vorbis or finding the wrong" + echo "*** version of Vorbis. If it is not finding Vorbis, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means Vorbis was incorrectly installed" + echo "*** or that you have moved Vorbis since it was installed." ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + VORBIS_CFLAGS="" + VORBIS_LIBS="" + VORBISFILE_LIBS="" + VORBISENC_LIBS="" + ifelse([$2], , :, [$2]) + fi + AC_SUBST(VORBIS_CFLAGS) + AC_SUBST(VORBIS_LIBS) + AC_SUBST(VORBISFILE_LIBS) + AC_SUBST(VORBISENC_LIBS) + rm -f conf.vorbistest +]) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/aclocal.m4 /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/aclocal.m4 --- /tmp/ZyiKWGPp1w/scorched3d-40/aclocal.m4 2006-07-16 00:15:22.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/aclocal.m4 2006-11-17 20:45:46.000000000 +0900 @@ -573,6 +573,230 @@ AC_SUBST([FT2_LIBS])]) # end of freetype2.m4 +# Configure paths for libogg +# Jack Moffitt 10-21-2000 +# Shamelessly stolen from Owen Taylor and Manish Singh + +dnl XIPH_PATH_OGG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl Test for libogg, and define OGG_CFLAGS and OGG_LIBS +dnl +AC_DEFUN([XIPH_PATH_OGG], +[dnl +dnl Get the cflags and libraries +dnl +AC_ARG_WITH(ogg,[ --with-ogg=PFX Prefix where libogg is installed (optional)], ogg_prefix="$withval", ogg_prefix="") +AC_ARG_WITH(ogg-libraries,[ --with-ogg-libraries=DIR Directory where libogg library is installed (optional)], ogg_libraries="$withval", ogg_libraries="") +AC_ARG_WITH(ogg-includes,[ --with-ogg-includes=DIR Directory where libogg header files are installed (optional)], ogg_includes="$withval", ogg_includes="") +AC_ARG_ENABLE(oggtest, [ --disable-oggtest Do not try to compile and run a test Ogg program],, enable_oggtest=yes) + + if test "x$ogg_libraries" != "x" ; then + OGG_LIBS="-L$ogg_libraries" + elif test "x$ogg_prefix" != "x" ; then + OGG_LIBS="-L$ogg_prefix/lib" + elif test "x$prefix" != "xNONE" ; then + OGG_LIBS="-L$prefix/lib" + fi + + OGG_LIBS="$OGG_LIBS -logg" + + if test "x$ogg_includes" != "x" ; then + OGG_CFLAGS="-I$ogg_includes" + elif test "x$ogg_prefix" != "x" ; then + OGG_CFLAGS="-I$ogg_prefix/include" + elif test "x$prefix" != "xNONE"; then + OGG_CFLAGS="-I$prefix/include" + fi + + AC_MSG_CHECKING(for Ogg) + no_ogg="" + + + if test "x$enable_oggtest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $OGG_CFLAGS" + LIBS="$LIBS $OGG_LIBS" +dnl +dnl Now check if the installed Ogg is sufficiently new. +dnl + rm -f conf.oggtest + AC_TRY_RUN([ +#include +#include +#include +#include + +int main () +{ + system("touch conf.oggtest"); + return 0; +} + +],, no_ogg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + + if test "x$no_ogg" = "x" ; then + AC_MSG_RESULT(yes) + ifelse([$1], , :, [$1]) + else + AC_MSG_RESULT(no) + if test -f conf.oggtest ; then + : + else + echo "*** Could not run Ogg test program, checking why..." + CFLAGS="$CFLAGS $OGG_CFLAGS" + LIBS="$LIBS $OGG_LIBS" + AC_TRY_LINK([ +#include +#include +], [ return 0; ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding Ogg or finding the wrong" + echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means Ogg was incorrectly installed" + echo "*** or that you have moved Ogg since it was installed." ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + OGG_CFLAGS="" + OGG_LIBS="" + ifelse([$2], , :, [$2]) + fi + AC_SUBST(OGG_CFLAGS) + AC_SUBST(OGG_LIBS) + rm -f conf.oggtest +]) +# Configure paths for libvorbis +# Jack Moffitt 10-21-2000 +# Shamelessly stolen from Owen Taylor and Manish Singh +# thomasvs added check for vorbis_bitrate_addblock which is new in rc3 + +dnl XIPH_PATH_VORBIS([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl Test for libvorbis, and define VORBIS_CFLAGS and VORBIS_LIBS +dnl +AC_DEFUN([XIPH_PATH_VORBIS], +[dnl +dnl Get the cflags and libraries +dnl +AC_ARG_WITH(vorbis,[ --with-vorbis=PFX Prefix where libvorbis is installed (optional)], vorbis_prefix="$withval", vorbis_prefix="") +AC_ARG_WITH(vorbis-libraries,[ --with-vorbis-libraries=DIR Directory where libvorbis library is installed (optional)], vorbis_libraries="$withval", vorbis_libraries="") +AC_ARG_WITH(vorbis-includes,[ --with-vorbis-includes=DIR Directory where libvorbis header files are installed (optional)], vorbis_includes="$withval", vorbis_includes="") +AC_ARG_ENABLE(vorbistest, [ --disable-vorbistest Do not try to compile and run a test Vorbis program],, enable_vorbistest=yes) + + if test "x$vorbis_libraries" != "x" ; then + VORBIS_LIBS="-L$vorbis_libraries" + elif test "x$vorbis_prefix" != "x" ; then + VORBIS_LIBS="-L$vorbis_prefix/lib" + elif test "x$prefix" != "xNONE"; then + VORBIS_LIBS="-L$prefix/lib" + fi + + VORBIS_LIBS="$VORBIS_LIBS -lvorbis -lm" + VORBISFILE_LIBS="-lvorbisfile" + VORBISENC_LIBS="-lvorbisenc" + + if test "x$vorbis_includes" != "x" ; then + VORBIS_CFLAGS="-I$vorbis_includes" + elif test "x$vorbis_prefix" != "x" ; then + VORBIS_CFLAGS="-I$vorbis_prefix/include" + elif test "x$prefix" != "xNONE"; then + VORBIS_CFLAGS="-I$prefix/include" + fi + + + AC_MSG_CHECKING(for Vorbis) + no_vorbis="" + + + if test "x$enable_vorbistest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $VORBIS_CFLAGS $OGG_CFLAGS" + LIBS="$LIBS $VORBIS_LIBS $VORBISENC_LIBS $OGG_LIBS" +dnl +dnl Now check if the installed Vorbis is sufficiently new. +dnl + rm -f conf.vorbistest + AC_TRY_RUN([ +#include +#include +#include +#include +#include + +int main () +{ + vorbis_block vb; + vorbis_dsp_state vd; + vorbis_info vi; + + vorbis_info_init (&vi); + vorbis_encode_init (&vi, 2, 44100, -1, 128000, -1); + vorbis_analysis_init (&vd, &vi); + vorbis_block_init (&vd, &vb); + /* this function was added in 1.0rc3, so this is what we're testing for */ + vorbis_bitrate_addblock (&vb); + + system("touch conf.vorbistest"); + return 0; +} + +],, no_vorbis=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + + if test "x$no_vorbis" = "x" ; then + AC_MSG_RESULT(yes) + ifelse([$1], , :, [$1]) + else + AC_MSG_RESULT(no) + if test -f conf.vorbistest ; then + : + else + echo "*** Could not run Vorbis test program, checking why..." + CFLAGS="$CFLAGS $VORBIS_CFLAGS" + LIBS="$LIBS $VORBIS_LIBS $OGG_LIBS" + AC_TRY_LINK([ +#include +#include +], [ return 0; ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding Vorbis or finding the wrong" + echo "*** version of Vorbis. If it is not finding Vorbis, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means Vorbis was incorrectly installed" + echo "*** or that you have moved Vorbis since it was installed." ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + VORBIS_CFLAGS="" + VORBIS_LIBS="" + VORBISFILE_LIBS="" + VORBISENC_LIBS="" + ifelse([$2], , :, [$2]) + fi + AC_SUBST(VORBIS_CFLAGS) + AC_SUBST(VORBIS_LIBS) + AC_SUBST(VORBISFILE_LIBS) + AC_SUBST(VORBISENC_LIBS) + rm -f conf.vorbistest +]) # Do all the work for Automake. -*- Autoconf -*- @@ -1319,228 +1543,3 @@ Usually this means the macro was only invoked conditionally.]) fi])]) -# Configure paths for libogg -# Jack Moffitt 10-21-2000 -# Shamelessly stolen from Owen Taylor and Manish Singh - -dnl XIPH_PATH_OGG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) -dnl Test for libogg, and define OGG_CFLAGS and OGG_LIBS -dnl -AC_DEFUN(XIPH_PATH_OGG, -[dnl -dnl Get the cflags and libraries -dnl -AC_ARG_WITH(ogg,[ --with-ogg=PFX Prefix where libogg is installed (optional)], ogg_prefix="$withval", ogg_prefix="") -AC_ARG_WITH(ogg-libraries,[ --with-ogg-libraries=DIR Directory where libogg library is installed (optional)], ogg_libraries="$withval", ogg_libraries="") -AC_ARG_WITH(ogg-includes,[ --with-ogg-includes=DIR Directory where libogg header files are installed (optional)], ogg_includes="$withval", ogg_includes="") -AC_ARG_ENABLE(oggtest, [ --disable-oggtest Do not try to compile and run a test Ogg program],, enable_oggtest=yes) - - if test "x$ogg_libraries" != "x" ; then - OGG_LIBS="-L$ogg_libraries" - elif test "x$ogg_prefix" != "x" ; then - OGG_LIBS="-L$ogg_prefix/lib" - elif test "x$prefix" != "xNONE" ; then - OGG_LIBS="-L$libdir" - fi - - OGG_LIBS="$OGG_LIBS -logg" - - if test "x$ogg_includes" != "x" ; then - OGG_CFLAGS="-I$ogg_includes" - elif test "x$ogg_prefix" != "x" ; then - OGG_CFLAGS="-I$ogg_prefix/include" - elif test "$prefix" != "xNONE"; then - OGG_CFLAGS="" - fi - - AC_MSG_CHECKING(for Ogg) - no_ogg="" - - - if test "x$enable_oggtest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $OGG_CFLAGS" - LIBS="$LIBS $OGG_LIBS" -dnl -dnl Now check if the installed Ogg is sufficiently new. -dnl - rm -f conf.oggtest - AC_TRY_RUN([ -#include -#include -#include -#include - -int main () -{ - system("touch conf.oggtest"); - return 0; -} - -],, no_ogg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - - if test "x$no_ogg" = "x" ; then - AC_MSG_RESULT(yes) - ifelse([$1], , :, [$1]) - else - AC_MSG_RESULT(no) - if test -f conf.oggtest ; then - : - else - echo "*** Could not run Ogg test program, checking why..." - CFLAGS="$CFLAGS $OGG_CFLAGS" - LIBS="$LIBS $OGG_LIBS" - AC_TRY_LINK([ -#include -#include -], [ return 0; ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding Ogg or finding the wrong" - echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means Ogg was incorrectly installed" - echo "*** or that you have moved Ogg since it was installed." ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - OGG_CFLAGS="" - OGG_LIBS="" - ifelse([$2], , :, [$2]) - fi - AC_SUBST(OGG_CFLAGS) - AC_SUBST(OGG_LIBS) - rm -f conf.oggtest -]) - -# Configure paths for libvorbis -# Jack Moffitt 10-21-2000 -# Shamelessly stolen from Owen Taylor and Manish Singh -# thomasvs added check for vorbis_bitrate_addblock which is new in rc3 - -dnl XIPH_PATH_VORBIS([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) -dnl Test for libvorbis, and define VORBIS_CFLAGS and VORBIS_LIBS -dnl -AC_DEFUN(XIPH_PATH_VORBIS, -[dnl -dnl Get the cflags and libraries -dnl -AC_ARG_WITH(vorbis,[ --with-vorbis=PFX Prefix where libvorbis is installed (optional)], vorbis_prefix="$withval", vorbis_prefix="") -AC_ARG_WITH(vorbis-libraries,[ --with-vorbis-libraries=DIR Directory where libvorbis library is installed (optional)], vorbis_libraries="$withval", vorbis_libraries="") -AC_ARG_WITH(vorbis-includes,[ --with-vorbis-includes=DIR Directory where libvorbis header files are installed (optional)], vorbis_includes="$withval", vorbis_includes="") -AC_ARG_ENABLE(vorbistest, [ --disable-vorbistest Do not try to compile and run a test Vorbis program],, enable_vorbistest=yes) - - if test "x$vorbis_libraries" != "x" ; then - VORBIS_LIBS="-L$vorbis_libraries" - elif test "x$vorbis_prefix" != "x" ; then - VORBIS_LIBS="-L$vorbis_prefix/lib" - elif test "x$prefix" != "xNONE"; then - VORBIS_LIBS="-L$libdir" - fi - - VORBIS_LIBS="$VORBIS_LIBS -lvorbis -lm" - VORBISFILE_LIBS="-lvorbisfile" - VORBISENC_LIBS="-lvorbisenc" - - if test "x$vorbis_includes" != "x" ; then - VORBIS_CFLAGS="-I$vorbis_includes" - elif test "x$vorbis_prefix" != "x" ; then - VORBIS_CFLAGS="-I$vorbis_prefix/include" - elif test "x$prefix" != "xNONE"; then - VORBIS_CFLAGS="" - fi - - - AC_MSG_CHECKING(for Vorbis) - no_vorbis="" - - - if test "x$enable_vorbistest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $VORBIS_CFLAGS $OGG_CFLAGS" - LIBS="$LIBS $VORBIS_LIBS $VORBISENC_LIBS $OGG_LIBS" -dnl -dnl Now check if the installed Vorbis is sufficiently new. -dnl - rm -f conf.vorbistest - AC_TRY_RUN([ -#include -#include -#include -#include - -int main () -{ - vorbis_block vb; - vorbis_dsp_state vd; - vorbis_info vi; - - vorbis_info_init (&vi); - vorbis_encode_init (&vi, 2, 44100, -1, 128000, -1); - vorbis_analysis_init (&vd, &vi); - vorbis_block_init (&vd, &vb); - /* this function was added in 1.0rc3, so this is what we're testing for */ - vorbis_bitrate_addblock (&vb); - - system("touch conf.vorbistest"); - return 0; -} - -],, no_vorbis=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - - if test "x$no_vorbis" = "x" ; then - AC_MSG_RESULT(yes) - ifelse([$1], , :, [$1]) - else - AC_MSG_RESULT(no) - if test -f conf.vorbistest ; then - : - else - echo "*** Could not run Vorbis test program, checking why..." - CFLAGS="$CFLAGS $VORBIS_CFLAGS" - LIBS="$LIBS $VORBIS_LIBS $OGG_LIBS" - AC_TRY_LINK([ -#include -#include -], [ return 0; ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding Vorbis or finding the wrong" - echo "*** version of Vorbis. If it is not finding Vorbis, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means Vorbis was incorrectly installed" - echo "*** or that you have moved Vorbis since it was installed." ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - VORBIS_CFLAGS="" - VORBIS_LIBS="" - VORBISFILE_LIBS="" - VORBISENC_LIBS="" - ifelse([$2], , :, [$2]) - fi - AC_SUBST(VORBIS_CFLAGS) - AC_SUBST(VORBIS_LIBS) - AC_SUBST(VORBISFILE_LIBS) - AC_SUBST(VORBISENC_LIBS) - rm -f conf.vorbistest -]) - diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/autom4te.cache/output.0 /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/autom4te.cache/output.0 --- /tmp/ZyiKWGPp1w/scorched3d-40/autom4te.cache/output.0 2006-07-16 00:15:29.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/autom4te.cache/output.0 1970-01-01 09:00:00.000000000 +0900 @@ -1,7010 +0,0 @@ -@%:@! /bin/sh -@%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.57. -@%:@ -@%:@ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -@%:@ Free Software Foundation, Inc. -@%:@ This configure script is free software; the Free Software Foundation -@%:@ gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - - -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} - - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - as_mkdir_p=false -fi - -as_executable_p="test -f" - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -exec 6>&1 - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_config_libobj_dir=. -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= - -ac_unique_file="README" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#if HAVE_SYS_TYPES_H -# include -#endif -#if HAVE_SYS_STAT_H -# include -#endif -#if STDC_HEADERS -# include -# include -#else -# if HAVE_STDLIB_H -# include -# endif -#endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H -# include -# endif -# include -#endif -#if HAVE_STRINGS_H -# include -#endif -#if HAVE_INTTYPES_H -# include -#else -# if HAVE_STDINT_H -# include -# endif -#endif -#if HAVE_UNISTD_H -# include -#endif" - -ac_default_prefix=/usr/local/games/scorched3d -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE RANLIB ac_ct_RANLIB SDL_CONFIG SDL_CFLAGS SDL_LIBS OPENAL_CONFIG WX_CONFIG_PATH WX_CPPFLAGS WX_CFLAGS WX_CXXFLAGS WX_CFLAGS_ONLY WX_CXXFLAGS_ONLY WX_LIBS WX_LIBS_STATIC WX_VERSION VORBIS_CFLAGS VORBIS_LIBS VORBISFILE_LIBS VORBISENC_LIBS OGG_CFLAGS OGG_LIBS FT2_CONFIG FT2_CFLAGS FT2_LIBS CPP EGREP docdir LIB@&t@OBJS LTLIBOBJS' -ac_subst_files='' - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -ac_prev= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_option in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; - - -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "enable_$ac_feature='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "with_$ac_package='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval "with_$ac_package=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_confdir=`(dirname "$0") 2>/dev/null || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 - { (exit 1); exit 1; }; } - else - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } - fi -fi -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || - { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 - { (exit 1); exit 1; }; } -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CXX_set=${CXX+set} -ac_env_CXX_value=$CXX -ac_cv_env_CXX_set=${CXX+set} -ac_cv_env_CXX_value=$CXX -ac_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_env_CXXFLAGS_value=$CXXFLAGS -ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_cv_env_CXXFLAGS_value=$CXXFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures this package to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -_ACEOF - - cat <<_ACEOF -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data [PREFIX/share] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --infodir=DIR info documentation [PREFIX/info] - --mandir=DIR man documentation [PREFIX/man] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] - --target=TARGET configure for building compilers for TARGET [HOST] -_ACEOF -fi - -if test -n "$ac_init_help"; then - - cat <<\_ACEOF - -Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --disable-dependency-tracking Speeds up one-time builds - --enable-dependency-tracking Do not reject slow dependency extractors - --disable-sdltest Do not try to compile and run a test SDL program - --disable-opengltest Do not try to compile and run a test OpenGL program - --disable-openaltest Do not try to compile and run a test OpenAL program - --enable-profiling Enable gprof code profiling - --disable-oggtest Do not try to compile and run a test Ogg program - --disable-vorbistest Do not try to compile and run a test Vorbis program - --disable-freetypetest Do not try to compile and run a test FreeType - program - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-sdl-static Link SDL staticaly (optional) - --with-sdl-prefix=PFX Prefix where SDL is installed (optional) - --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional) - --with-openal-static enable static linking for openal (default no) - --with-mysql enable mysql support (default no) - --with-pgsql enable pgsql support (default no) - --with-wx-static enable static linking for wxwindows (default no) - --with-wx-prefix=PREFIX Prefix where wxWindows is installed (optional) - --with-wx-exec-prefix=PREFIX Exec prefix where wxWindows is installed (optional) - --with-wx-config=CONFIG wx-config script to use (optional) - --with-ogg=PFX Prefix where libogg is installed (optional) - --with-ogg-libraries=DIR Directory where libogg library is installed (optional) - --with-ogg-includes=DIR Directory where libogg header files are installed (optional) - --with-vorbis=PFX Prefix where libvorbis is installed (optional) - --with-vorbis-libraries=DIR Directory where libvorbis library is installed (optional) - --with-vorbis-includes=DIR Directory where libvorbis header files are installed (optional) - --with-ft-prefix=PREFIX Prefix where FreeType is installed (optional) - --with-ft-exec-prefix=PREFIX - Exec prefix where FreeType is installed (optional) - --with-docdir=DIR Use DIR to store documentation files (default - DATADIR) - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have - headers in a nonstandard directory - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -_ACEOF -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - ac_popdir=`pwd` - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d $ac_dir || continue - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` - - cd $ac_dir - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_srcdir/configure.gnu; then - echo - $SHELL $ac_srcdir/configure.gnu --help=recursive - elif test -f $ac_srcdir/configure; then - echo - $SHELL $ac_srcdir/configure --help=recursive - elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then - echo - $ac_configure --help - else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi - cd $ac_popdir - done -fi - -test -n "$ac_init_help" && exit 0 -if $ac_init_version; then - cat <<\_ACEOF - -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit 0 -fi -exec 5>config.log -cat >&5 <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by $as_me, which was -generated by GNU Autoconf 2.57. Invocation command line was - - $ $0 $@ - -_ACEOF -{ -cat <<_ASUNAME -@%:@@%:@ --------- @%:@@%:@ -@%:@@%:@ Platform. @%:@@%:@ -@%:@@%:@ --------- @%:@@%:@ - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" -done - -} >&5 - -cat >&5 <<_ACEOF - - -@%:@@%:@ ----------- @%:@@%:@ -@%:@@%:@ Core tests. @%:@@%:@ -@%:@@%:@ ----------- @%:@@%:@ - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_sep= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - # Get rid of the leading space. - ac_sep=" " - ;; - esac - done -done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Be sure not to use single quotes in there, as some shells, -# such as our DU 5.0 friend, will then `close' the trap. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -@%:@@%:@ ---------------- @%:@@%:@ -@%:@@%:@ Cache variables. @%:@@%:@ -@%:@@%:@ ---------------- @%:@@%:@ -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -{ - (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) - sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; - *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} - echo - - cat <<\_ASBOX -@%:@@%:@ ----------------- @%:@@%:@ -@%:@@%:@ Output variables. @%:@@%:@ -@%:@@%:@ ----------------- @%:@@%:@ -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -@%:@@%:@ ------------- @%:@@%:@ -@%:@@%:@ Output files. @%:@@%:@ -@%:@@%:@ ------------- @%:@@%:@ -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -@%:@@%:@ ----------- @%:@@%:@ -@%:@@%:@ confdefs.h. @%:@@%:@ -@%:@@%:@ ----------- @%:@@%:@ -_ASBOX - echo - sed "/^$/d" confdefs.h | sort - echo - fi - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" - } >&5 - rm -f core core.* *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status - ' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; - esac - fi -else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" - case $ac_old_set,$ac_new_set in - set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - - - - - - - - - - - - - - - - -ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f $ac_dir/shtool; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} - { (exit 1); exit 1; }; } -fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. - -# Make sure we can run config.sub. -$ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} - { (exit 1); exit 1; }; } - -echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 -build=$ac_cv_build -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - - -echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 -host=$ac_cv_host -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - - -echo "$as_me:$LINENO: checking target system type" >&5 -echo $ECHO_N "checking target system type... $ECHO_C" >&6 -if test "${ac_cv_target+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_target_alias=$target_alias -test "x$ac_cv_target_alias" = "x" && - ac_cv_target_alias=$ac_cv_host_alias -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:$LINENO: result: $ac_cv_target" >&5 -echo "${ECHO_T}$ac_cv_target" >&6 -target=$ac_cv_target -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -test -n "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - -am__api_version="1.6" -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done - - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL=$ac_install_sh - fi -fi -echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -test "$program_prefix" != NONE && - program_transform_name="s,^,$program_prefix,;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$,$program_suffix,;$program_transform_name" -# Double any \ or $. echo might interpret backslashes. -# By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm conftest.sed - - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$AWK" && break -done - -echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\_ACEOF -all: - @echo 'ac_maketemp="$(MAKE)"' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftest.make -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - SET_MAKE= -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - - # test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } -fi - -# Define the identity of the package. - PACKAGE=scorched3d - VERSION=40 - - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -@%:@define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -install_sh=${install_sh-"$am_aux_dir/install-sh"} - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - STRIP=$ac_ct_STRIP -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. - - - - -echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\_ACEOF -all: - @echo 'ac_maketemp="$(MAKE)"' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftest.make -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - SET_MAKE= -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $@%:@ != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CC" && break -done - - CC=$ac_ct_CC -fi - -fi - - -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -echo "$as_me:$LINENO: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. - -# Be careful to initialize this variable, since it used to be cached. -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. -ac_cv_exeext= -# b.out is created by i960 compilers. -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) - ;; - conftest.$ac_ext ) - # This is the source file. - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool, - # but it would be cool to find out if it's true. Does anybody - # maintain Libtool? --akim. - export ac_cv_exeext - break;; - * ) - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 - -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -rm -f a.out a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 - -echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cc_g=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_stdc=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.$ac_objext -done -rm -f conftest.$ac_ext conftest.$ac_objext -CC=$ac_save_CC - -fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; - *) - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; -esac - -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -@%:@ifndef __cplusplus - choke me -@%:@endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - ''\ - '#include ' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -@%:@include -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -rm -f .deps 2>/dev/null -mkdir .deps 2>/dev/null -if test -d .deps; then - DEPDIR=.deps -else - # MS-DOS does not allow filenames that begin with a dot. - DEPDIR=_deps -fi -rmdir .deps 2>/dev/null - - - ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -doit: - @echo done -END -# If we don't find an include directive, just comment out the code. -echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi - - -echo "$as_me:$LINENO: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6 -rm -f confinc confmf - -# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval="$enable_dependency_tracking" - -fi; -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - - -if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - - -depcc="$CC" am_compiler_list= - -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - echo '#include "conftest.h"' > conftest.c - echo 'int i;' > conftest.h - echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=conftest.c object=conftest.o \ - depfile=conftest.Po tmpdepfile=conftest.TPo \ - $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && - grep conftest.h conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CXX" && break -done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - - CXX=$ac_ct_CXX -fi - - -# Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cxx_g=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - ''\ - '#include ' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -@%:@include -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - echo '#include "conftest.h"' > conftest.c - echo 'int i;' > conftest.h - echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=conftest.c object=conftest.o \ - depfile=conftest.Po tmpdepfile=conftest.TPo \ - $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && - grep conftest.h conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done - - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL=$ac_install_sh - fi -fi -echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - RANLIB=$ac_ct_RANLIB -else - RANLIB="$ac_cv_prog_RANLIB" -fi - - -LDFLAGS="-L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib" -CPPFLAGS="-I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include" -if test `uname` == Darwin; then -LDFLAGS="$LDFLAGS -lmx" -CPPFLAGS="$CPPFLAGS -D__DARWIN__" -fi - -echo "$as_me:$LINENO: checking for SDL" >&5 -echo $ECHO_N "checking for SDL... $ECHO_C" >&6 -SDL_VERSION=1.2.5 - - -# Check whether --with-sdl-static or --without-sdl-static was given. -if test "${with_sdl_static+set}" = set; then - withval="$with_sdl_static" - sdl_static="$withval" -else - sdl_static="" -fi; - -# Check whether --with-sdl-prefix or --without-sdl-prefix was given. -if test "${with_sdl_prefix+set}" = set; then - withval="$with_sdl_prefix" - sdl_prefix="$withval" -else - sdl_prefix="" -fi; - -# Check whether --with-sdl-exec-prefix or --without-sdl-exec-prefix was given. -if test "${with_sdl_exec_prefix+set}" = set; then - withval="$with_sdl_exec_prefix" - sdl_exec_prefix="$withval" -else - sdl_exec_prefix="" -fi; -# Check whether --enable-sdltest or --disable-sdltest was given. -if test "${enable_sdltest+set}" = set; then - enableval="$enable_sdltest" - -else - enable_sdltest=yes -fi; - - if test x$sdl_exec_prefix != x ; then - sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" - if test x${SDL_CONFIG+set} != xset ; then - SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config - fi - fi - if test x$sdl_prefix != x ; then - sdl_args="$sdl_args --prefix=$sdl_prefix" - if test x${SDL_CONFIG+set} != xset ; then - SDL_CONFIG=$sdl_prefix/bin/sdl-config - fi - fi - - - PATH="$prefix/bin:$prefix/usr/bin:$PATH" - # Extract the first word of "sdl-config", so it can be a program name with args. -set dummy sdl-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_SDL_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $SDL_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG="no" - ;; -esac -fi -SDL_CONFIG=$ac_cv_path_SDL_CONFIG - -if test -n "$SDL_CONFIG"; then - echo "$as_me:$LINENO: result: $SDL_CONFIG" >&5 -echo "${ECHO_T}$SDL_CONFIG" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - min_sdl_version=$SDL_VERSION - echo "$as_me:$LINENO: checking for SDL - version >= $min_sdl_version" >&5 -echo $ECHO_N "checking for SDL - version >= $min_sdl_version... $ECHO_C" >&6 - no_sdl="" - if test "$SDL_CONFIG" = "no" ; then - no_sdl=yes - else - SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` - - if test x"$sdl_static" = x"yes"; then - SDL_LIBS=`$SDL_CONFIG $sdlconf_args --static-libs` - else - SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` - fi - - sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` - if test "x$enable_sdltest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" - rm -f conf.sdltest - if test "$cross_compiling" = yes; then - echo $ac_n "cross compiling; assumed OK... $ac_c" -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#include -#include "SDL.h" - -char* -my_strdup (char *str) -{ - char *new_str; - - if (str) - { - new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); - strcpy (new_str, str); - } - else - new_str = NULL; - - return new_str; -} - -int main (int argc, char *argv[]) -{ - int major, minor, micro; - char *tmp_version; - - /* This hangs on some systems (?) - system ("touch conf.sdltest"); - */ - { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = my_strdup("$min_sdl_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_sdl_version"); - exit(1); - } - - if (($sdl_major_version > major) || - (($sdl_major_version == major) && ($sdl_minor_version > minor)) || - (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); - printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); - printf("*** best to upgrade to the required version.\n"); - printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); - printf("*** to point to the correct copy of sdl-config, and remove the file\n"); - printf("*** config.cache before re-running configure\n"); - return 1; - } -} - - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -no_sdl=yes -fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_sdl" = x ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - : - else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - if test "$SDL_CONFIG" = "no" ; then - echo "*** The sdl-config script installed by SDL could not be found" - echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SDL_CONFIG environment variable to the" - echo "*** full path to sdl-config." - else - if test -f conf.sdltest ; then - : - else - echo "*** Could not run SDL test program, checking why..." - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include "SDL.h" - -int main(int argc, char *argv[]) -{ return 0; } -#undef main -#define main K_and_R_C_main - -int -main () -{ - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding SDL or finding the wrong" - echo "*** version of SDL. If it is not finding SDL, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means SDL was incorrectly installed" - echo "*** or that you have moved SDL since it was installed. In the latter case, you" - echo "*** may want to edit the sdl-config script: $SDL_CONFIG" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - SDL_CFLAGS="" - SDL_LIBS="" - { { echo "$as_me:$LINENO: error: *** SDL version $SDL_VERSION not found. Try http://www.libsdl.org/" >&5 -echo "$as_me: error: *** SDL version $SDL_VERSION not found. Try http://www.libsdl.org/" >&2;} - { (exit 1); exit 1; }; } - - fi - - - rm -f conf.sdltest - - -CFLAGS="$CFLAGS $SDL_CFLAGS" -CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" -LIBS="$LIBS $SDL_LIBS" - -echo "$as_me:$LINENO: checking for SDL_net lib" >&5 -echo $ECHO_N "checking for SDL_net lib... $ECHO_C" >&6 -have_SDLnet=yes -if test "x$enable_sdltest" = "xyes" ; then - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - #include - #include - - int main(int argc, char *argv[]) - { return 0; } -#undef main -#define main K_and_R_C_main - -int -main () -{ - - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - have_SDLnet=yes - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - - have_SDLnet=no - -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi - -echo "$as_me:$LINENO: result: $have_SDLnet" >&5 -echo "${ECHO_T}$have_SDLnet" >&6 -if test x$have_SDLnet != xyes; then - { { echo "$as_me:$LINENO: error: *** Can't find the SDL_net library Try: http://www.libsdl.org/projects/SDL_net" >&5 -echo "$as_me: error: *** Can't find the SDL_net library Try: http://www.libsdl.org/projects/SDL_net" >&2;} - { (exit 1); exit 1; }; } -fi -LIBS="$LIBS -lSDL_net" - -echo "$as_me:$LINENO: checking for beer in -lfridge" >&5 -echo $ECHO_N "checking for beer in -lfridge... $ECHO_C" >&6 -if test "${ac_cv_lib_fridge_beer+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lfridge $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char beer (); -int -main () -{ -beer (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_fridge_beer=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_fridge_beer=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_fridge_beer" >&5 -echo "${ECHO_T}$ac_cv_lib_fridge_beer" >&6 -if test $ac_cv_lib_fridge_beer = yes; then - echo "Hmm?!" -else - - echo "Warning: No beer found in fridge!"; - echo "We highly suggest that you rectify this situation immediately." - -fi - - -# Check whether --enable-opengltest or --disable-opengltest was given. -if test "${enable_opengltest+set}" = set; then - enableval="$enable_opengltest" - -else - enable_opengltest=yes -fi; -echo "$as_me:$LINENO: checking for OpenGL support" >&5 -echo $ECHO_N "checking for OpenGL support... $ECHO_C" >&6 -have_opengl=yes -if test "x$enable_opengltest" = "xyes" ; then - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - #include - #include - -int -main () -{ - - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - have_opengl=yes - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - - have_opengl=no - -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi - -echo "$as_me:$LINENO: result: $have_opengl" >&5 -echo "${ECHO_T}$have_opengl" >&6 -if test x$have_opengl != xyes; then - { { echo "$as_me:$LINENO: error: *** Can't find the OpenGL library Try: http://www.opengl.org" >&5 -echo "$as_me: error: *** Can't find the OpenGL library Try: http://www.opengl.org" >&2;} - { (exit 1); exit 1; }; } -fi - -if test `uname -s` != FreeBSD; then - OPENGL_LIBS="-lGL -lGLU -lpthread" -else - OPENGL_LIBS="-lGL -lGLU" -fi -LIBS="$LIBS $OPENGL_LIBS" - - -# Check whether --with-openal-static or --without-openal-static was given. -if test "${with_openal_static+set}" = set; then - withval="$with_openal_static" - use_static_openal=${withval} -fi; -# Check whether --enable-openaltest or --disable-openaltest was given. -if test "${enable_openaltest+set}" = set; then - enableval="$enable_openaltest" - -else - enable_openaltest=yes -fi; -echo "$as_me:$LINENO: checking for OpenAL" >&5 -echo $ECHO_N "checking for OpenAL... $ECHO_C" >&6 -# Extract the first word of "openal-config", so it can be a program name with args. -set dummy openal-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_OPENAL_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $OPENAL_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_OPENAL_CONFIG="$OPENAL_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_OPENAL_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_path_OPENAL_CONFIG" && ac_cv_path_OPENAL_CONFIG="no" - ;; -esac -fi -OPENAL_CONFIG=$ac_cv_path_OPENAL_CONFIG - -if test -n "$OPENAL_CONFIG"; then - echo "$as_me:$LINENO: result: $OPENAL_CONFIG" >&5 -echo "${ECHO_T}$OPENAL_CONFIG" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -have_openal=yes -if test x$OPENAL_CONFIG = xno; then - echo "*** The openal-config script installed by OpenAL could not be found" - echo "*** Make sure openal-config is in your path, or set the OPENAL_CONFIG" - echo "*** environment variable to the full path to openal-config." - have_openal=no -else - - if test x"$use_static_openal" = x"yes"; then - LIBS="$LIBS /usr/local/lib/libopenal.a" - else - LIBS="$LIBS `$OPENAL_CONFIG --libs`" - fi - - CFLAGS="$CFLAGS `$OPENAL_CONFIG --cflags`" - CXXFLAGS="$CXXFLAGS `$OPENAL_CONFIG --cflags`" -fi - -echo "$as_me:$LINENO: checking for OpenAL compilation" >&5 -echo $ECHO_N "checking for OpenAL compilation... $ECHO_C" >&6 -if test "x$enable_altest" = "xyes" ; then - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - #include - #include - #include - -int -main () -{ - - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - have_openal=yes - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - - have_openal=no - -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi - -echo "$as_me:$LINENO: result: $have_openal" >&5 -echo "${ECHO_T}$have_openal" >&6 -if test x$have_openal != xyes; then - { { echo "$as_me:$LINENO: error: *** Can't find the openal library. Try: http://www.openal.org/" >&5 -echo "$as_me: error: *** Can't find the openal library. Try: http://www.openal.org/" >&2;} - { (exit 1); exit 1; }; } -fi - -echo "$as_me:$LINENO: checking for profiling enabled" >&5 -echo $ECHO_N "checking for profiling enabled... $ECHO_C" >&6 -# Check whether --enable-profiling or --disable-profiling was given. -if test "${enable_profiling+set}" = set; then - enableval="$enable_profiling" - -else - enable_profiling=no -fi; -if test "x$enable_profiling" = "xyes" ; then - LIBS="$LIBS -pg" - CFLAGS="$CFLAGS -pg" - CPPFLAGS="$CPPFLAGS -pg" - CXXFLAGS="$CXXFLAGS -pg" -fi -echo "$as_me:$LINENO: result: $enable_profiling" >&5 -echo "${ECHO_T}$enable_profiling" >&6 - -echo "$as_me:$LINENO: checking for floating point math support" >&5 -echo $ECHO_N "checking for floating point math support... $ECHO_C" >&6 -have_fp=yes -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - #include - -int -main () -{ - - float a = sinf(0.1f); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - have_fp=yes - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - - have_fp=no - -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $have_fp" >&5 -echo "${ECHO_T}$have_fp" >&6 - -if test x$have_fp != xyes; then - CFLAGS="$CPPFLAGS -DNO_FLOAT_MATH" - CPPFLAGS="$CPPFLAGS -DNO_FLOAT_MATH" - CXXFLAGS="$CXXFLAGS -DNO_FLOAT_MATH" -fi - - -# Check whether --with-mysql or --without-mysql was given. -if test "${with_mysql+set}" = set; then - withval="$with_mysql" - use_mysql=${withval} -fi; - - - -if test x"$use_mysql" = x"yes"; then - echo "$as_me:$LINENO: checking for MySql support" >&5 -echo $ECHO_N "checking for MySql support... $ECHO_C" >&6 - have_mysql=no - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - #include - -int -main () -{ - - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - have_mysql=yes - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $have_mysql" >&5 -echo "${ECHO_T}$have_mysql" >&6 - - if test x$have_mysql != xyes; then - { { echo "$as_me:$LINENO: error: *** Can't find the MySql library Try: http://www.mysql.com" >&5 -echo "$as_me: error: *** Can't find the MySql library Try: http://www.mysql.com" >&2;} - { (exit 1); exit 1; }; } - else - cat >>confdefs.h <<\_ACEOF -@%:@define HAVE_MYSQL 1 -_ACEOF - - MYSQLLIBS=`mysql_config --libs` - LIBS="$LIBS $MYSQLLIBS" - fi -fi - - -# Check whether --with-pgsql or --without-pgsql was given. -if test "${with_pgsql+set}" = set; then - withval="$with_pgsql" - use_pgsql=${withval} -fi; - - - -if test x"$use_pgsql" = x"yes"; then - echo "$as_me:$LINENO: checking for PGSql support" >&5 -echo $ECHO_N "checking for PGSql support... $ECHO_C" >&6 - have_pgsql=no - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - #include - -int -main () -{ - - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - have_pgsql=yes - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $have_pgsql" >&5 -echo "${ECHO_T}$have_pgsql" >&6 - - if test x$have_pgsql != xyes; then - { { echo "$as_me:$LINENO: error: *** Can't find the PGSql library Try: http://www.postgresql.org" >&5 -echo "$as_me: error: *** Can't find the PGSql library Try: http://www.postgresql.org" >&2;} - { (exit 1); exit 1; }; } - else - cat >>confdefs.h <<\_ACEOF -@%:@define HAVE_PGSQL 1 -_ACEOF - - LIBS="$LIBS -lpq" - fi -fi - - -# Check whether --with-wx-static or --without-wx-static was given. -if test "${with_wx_static+set}" = set; then - withval="$with_wx_static" - use_static_wx=${withval} -fi; - - - -# Check whether --with-wx-prefix or --without-wx-prefix was given. -if test "${with_wx_prefix+set}" = set; then - withval="$with_wx_prefix" - wx_config_prefix="$withval" -else - wx_config_prefix="" -fi; - -# Check whether --with-wx-exec-prefix or --without-wx-exec-prefix was given. -if test "${with_wx_exec_prefix+set}" = set; then - withval="$with_wx_exec_prefix" - wx_config_exec_prefix="$withval" -else - wx_config_exec_prefix="" -fi; - -# Check whether --with-wx-config or --without-wx-config was given. -if test "${with_wx_config+set}" = set; then - withval="$with_wx_config" - wx_config_name="$withval" -else - wx_config_name="" -fi; - - - if test x${WX_CONFIG_NAME+set} != xset ; then - WX_CONFIG_NAME=wx-config - fi - if test "x$wx_config_name" != x ; then - WX_CONFIG_NAME="$wx_config_name" - fi - - if test x$wx_config_exec_prefix != x ; then - wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix" - WX_LOOKUP_PATH="$wx_config_exec_prefix/bin" - fi - if test x$wx_config_prefix != x ; then - wx_config_args="$wx_config_args --prefix=$wx_config_prefix" - WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin" - fi - - if test -x "$WX_CONFIG_NAME" ; then - echo "$as_me:$LINENO: checking for wx-config" >&5 -echo $ECHO_N "checking for wx-config... $ECHO_C" >&6 - WX_CONFIG_PATH="$WX_CONFIG_NAME" - echo "$as_me:$LINENO: result: $WX_CONFIG_PATH" >&5 -echo "${ECHO_T}$WX_CONFIG_PATH" >&6 - else - # Extract the first word of "$WX_CONFIG_NAME", so it can be a program name with args. -set dummy $WX_CONFIG_NAME; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_WX_CONFIG_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $WX_CONFIG_PATH in - [\\/]* | ?:[\\/]*) - ac_cv_path_WX_CONFIG_PATH="$WX_CONFIG_PATH" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_dummy=""$WX_LOOKUP_PATH:$PATH"" -for as_dir in $as_dummy -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_WX_CONFIG_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_path_WX_CONFIG_PATH" && ac_cv_path_WX_CONFIG_PATH="no" - ;; -esac -fi -WX_CONFIG_PATH=$ac_cv_path_WX_CONFIG_PATH - -if test -n "$WX_CONFIG_PATH"; then - echo "$as_me:$LINENO: result: $WX_CONFIG_PATH" >&5 -echo "${ECHO_T}$WX_CONFIG_PATH" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - fi - - if test "$WX_CONFIG_PATH" != "no" ; then - WX_VERSION="" - no_wx="" - - min_wx_version=2.4.0 - echo "$as_me:$LINENO: checking for wxWindows version >= $min_wx_version" >&5 -echo $ECHO_N "checking for wxWindows version >= $min_wx_version... $ECHO_C" >&6 - - WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args" - - WX_VERSION=`$WX_CONFIG_WITH_ARGS --version` - wx_config_major_version=`echo $WX_VERSION | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - wx_config_minor_version=`echo $WX_VERSION | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - wx_config_micro_version=`echo $WX_VERSION | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` - - wx_requested_major_version=`echo $min_wx_version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - wx_requested_minor_version=`echo $min_wx_version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - wx_requested_micro_version=`echo $min_wx_version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` - - wx_ver_ok="" - if test $wx_config_major_version -gt $wx_requested_major_version; then - wx_ver_ok=yes - else - if test $wx_config_major_version -eq $wx_requested_major_version; then - if test $wx_config_minor_version -gt $wx_requested_minor_version; then - wx_ver_ok=yes - else - if test $wx_config_minor_version -eq $wx_requested_minor_version; then - if test $wx_config_micro_version -ge $wx_requested_micro_version; then - wx_ver_ok=yes - fi - fi - fi - fi - fi - - if test "x$wx_ver_ok" = x ; then - no_wx=yes - else - WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs` - WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs` - - wx_has_cppflags="" - if test $wx_config_major_version -gt 2; then - wx_has_cppflags=yes - else - if test $wx_config_major_version -eq 2; then - if test $wx_config_minor_version -gt 2; then - wx_has_cppflags=yes - else - if test $wx_config_minor_version -eq 2; then - if test $wx_config_micro_version -ge 6; then - wx_has_cppflags=yes - fi - fi - fi - fi - fi - - if test "x$wx_has_cppflags" = x ; then - WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags` - WX_CPPFLAGS=$WX_CFLAGS - WX_CXXFLAGS=$WX_CFLAGS - - WX_CFLAGS_ONLY=$WX_CFLAGS - WX_CXXFLAGS_ONLY=$WX_CFLAGS - else - WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags` - WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags` - WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags` - - WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"` - WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"` - fi - fi - - if test "x$no_wx" = x ; then - echo "$as_me:$LINENO: result: yes (version $WX_VERSION)" >&5 -echo "${ECHO_T}yes (version $WX_VERSION)" >&6 - wxWin=1 - else - if test "x$WX_VERSION" = x; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - else - echo "$as_me:$LINENO: result: no (version $WX_VERSION is not new enough)" >&5 -echo "${ECHO_T}no (version $WX_VERSION is not new enough)" >&6 - fi - - WX_CFLAGS="" - WX_CPPFLAGS="" - WX_CXXFLAGS="" - WX_LIBS="" - WX_LIBS_STATIC="" - : - fi - fi - - - - - - - - - - -if test "$wxWin" != 1; then - { { echo "$as_me:$LINENO: error: - wxWindows must be installed on your system - but the wx-config script couldn't be found. - Please check that wx-config is in path, the directory - where wxWindows libraries are installed (returned by - 'wx-config --libs' command) is in LD_LIBRARY_PATH or - equivalent variable and wxWindows version is 2.4.0 or above - Try http://www.wxwindows.org to download wxwindows. - " >&5 -echo "$as_me: error: - wxWindows must be installed on your system - but the wx-config script couldn't be found. - Please check that wx-config is in path, the directory - where wxWindows libraries are installed (returned by - 'wx-config --libs' command) is in LD_LIBRARY_PATH or - equivalent variable and wxWindows version is 2.4.0 or above - Try http://www.wxwindows.org to download wxwindows. - " >&2;} - { (exit 1); exit 1; }; } -fi - -CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS" -CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY" -CFLAGS="$CFLAGS $WX_CFLAGS_ONLY" -if test x"$use_static_wx" = x"yes"; then - LIBS="$LIBS $WX_LIBS_STATIC" -else - LIBS="$LIBS $WX_LIBS" -fi - - -# Check whether --with-ogg or --without-ogg was given. -if test "${with_ogg+set}" = set; then - withval="$with_ogg" - ogg_prefix="$withval" -else - ogg_prefix="" -fi; - -# Check whether --with-ogg-libraries or --without-ogg-libraries was given. -if test "${with_ogg_libraries+set}" = set; then - withval="$with_ogg_libraries" - ogg_libraries="$withval" -else - ogg_libraries="" -fi; - -# Check whether --with-ogg-includes or --without-ogg-includes was given. -if test "${with_ogg_includes+set}" = set; then - withval="$with_ogg_includes" - ogg_includes="$withval" -else - ogg_includes="" -fi; -# Check whether --enable-oggtest or --disable-oggtest was given. -if test "${enable_oggtest+set}" = set; then - enableval="$enable_oggtest" - -else - enable_oggtest=yes -fi; - - if test "x$ogg_libraries" != "x" ; then - OGG_LIBS="-L$ogg_libraries" - elif test "x$ogg_prefix" != "x" ; then - OGG_LIBS="-L$ogg_prefix/lib" - elif test "x$prefix" != "xNONE" ; then - OGG_LIBS="-L$libdir" - fi - - OGG_LIBS="$OGG_LIBS -logg" - - if test "x$ogg_includes" != "x" ; then - OGG_CFLAGS="-I$ogg_includes" - elif test "x$ogg_prefix" != "x" ; then - OGG_CFLAGS="-I$ogg_prefix/include" - elif test "$prefix" != "xNONE"; then - OGG_CFLAGS="" - fi - - echo "$as_me:$LINENO: checking for Ogg" >&5 -echo $ECHO_N "checking for Ogg... $ECHO_C" >&6 - no_ogg="" - - - if test "x$enable_oggtest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $OGG_CFLAGS" - LIBS="$LIBS $OGG_LIBS" - rm -f conf.oggtest - if test "$cross_compiling" = yes; then - echo $ac_n "cross compiling; assumed OK... $ac_c" -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#include -#include - -int main () -{ - system("touch conf.oggtest"); - return 0; -} - - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -no_ogg=yes -fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - - if test "x$no_ogg" = "x" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - - - -# Check whether --with-vorbis or --without-vorbis was given. -if test "${with_vorbis+set}" = set; then - withval="$with_vorbis" - vorbis_prefix="$withval" -else - vorbis_prefix="" -fi; - -# Check whether --with-vorbis-libraries or --without-vorbis-libraries was given. -if test "${with_vorbis_libraries+set}" = set; then - withval="$with_vorbis_libraries" - vorbis_libraries="$withval" -else - vorbis_libraries="" -fi; - -# Check whether --with-vorbis-includes or --without-vorbis-includes was given. -if test "${with_vorbis_includes+set}" = set; then - withval="$with_vorbis_includes" - vorbis_includes="$withval" -else - vorbis_includes="" -fi; -# Check whether --enable-vorbistest or --disable-vorbistest was given. -if test "${enable_vorbistest+set}" = set; then - enableval="$enable_vorbistest" - -else - enable_vorbistest=yes -fi; - - if test "x$vorbis_libraries" != "x" ; then - VORBIS_LIBS="-L$vorbis_libraries" - elif test "x$vorbis_prefix" != "x" ; then - VORBIS_LIBS="-L$vorbis_prefix/lib" - elif test "x$prefix" != "xNONE"; then - VORBIS_LIBS="-L$libdir" - fi - - VORBIS_LIBS="$VORBIS_LIBS -lvorbis -lm" - VORBISFILE_LIBS="-lvorbisfile" - VORBISENC_LIBS="-lvorbisenc" - - if test "x$vorbis_includes" != "x" ; then - VORBIS_CFLAGS="-I$vorbis_includes" - elif test "x$vorbis_prefix" != "x" ; then - VORBIS_CFLAGS="-I$vorbis_prefix/include" - elif test "x$prefix" != "xNONE"; then - VORBIS_CFLAGS="" - fi - - - echo "$as_me:$LINENO: checking for Vorbis" >&5 -echo $ECHO_N "checking for Vorbis... $ECHO_C" >&6 - no_vorbis="" - - - if test "x$enable_vorbistest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $VORBIS_CFLAGS $OGG_CFLAGS" - LIBS="$LIBS $VORBIS_LIBS $VORBISENC_LIBS $OGG_LIBS" - rm -f conf.vorbistest - if test "$cross_compiling" = yes; then - echo $ac_n "cross compiling; assumed OK... $ac_c" -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#include -#include - -int main () -{ - vorbis_block vb; - vorbis_dsp_state vd; - vorbis_info vi; - - vorbis_info_init (&vi); - vorbis_encode_init (&vi, 2, 44100, -1, 128000, -1); - vorbis_analysis_init (&vd, &vi); - vorbis_block_init (&vd, &vb); - /* this function was added in 1.0rc3, so this is what we're testing for */ - vorbis_bitrate_addblock (&vb); - - system("touch conf.vorbistest"); - return 0; -} - - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -no_vorbis=yes -fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - - if test "x$no_vorbis" = "x" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -CFLAGS="$CFLAGS $OGG_CFLAGS $VORBIS_CFLAGS" -CXXFLAGS="$CXXFLAGS $OGG_CFLAGS $VORBIS_CFLAGS" -LIBS="$LIBS $OGG_LIBS $VORBIS_LIBS $VORBISFILE_LIBS" -cat >>confdefs.h <<\_ACEOF -@%:@define HAVE_OGG 1 -_ACEOF - - - else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - if test -f conf.vorbistest ; then - : - else - echo "*** Could not run Vorbis test program, checking why..." - CFLAGS="$CFLAGS $VORBIS_CFLAGS" - LIBS="$LIBS $VORBIS_LIBS $OGG_LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include - -int -main () -{ - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding Vorbis or finding the wrong" - echo "*** version of Vorbis. If it is not finding Vorbis, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means Vorbis was incorrectly installed" - echo "*** or that you have moved Vorbis since it was installed." -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - VORBIS_CFLAGS="" - VORBIS_LIBS="" - VORBISFILE_LIBS="" - VORBISENC_LIBS="" - : - fi - - - - - rm -f conf.vorbistest - - - - else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - if test -f conf.oggtest ; then - : - else - echo "*** Could not run Ogg test program, checking why..." - CFLAGS="$CFLAGS $OGG_CFLAGS" - LIBS="$LIBS $OGG_LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include - -int -main () -{ - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding Ogg or finding the wrong" - echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means Ogg was incorrectly installed" - echo "*** or that you have moved Ogg since it was installed." -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - OGG_CFLAGS="" - OGG_LIBS="" - : - fi - - - rm -f conf.oggtest - - -# Get the cflags and libraries from the freetype-config script - # - -# Check whether --with-ft-prefix or --without-ft-prefix was given. -if test "${with_ft_prefix+set}" = set; then - withval="$with_ft_prefix" - ft_config_prefix="$withval" -else - ft_config_prefix="" -fi; - - -# Check whether --with-ft-exec-prefix or --without-ft-exec-prefix was given. -if test "${with_ft_exec_prefix+set}" = set; then - withval="$with_ft_exec_prefix" - ft_config_exec_prefix="$withval" -else - ft_config_exec_prefix="" -fi; - - # Check whether --enable-freetypetest or --disable-freetypetest was given. -if test "${enable_freetypetest+set}" = set; then - enableval="$enable_freetypetest" - -else - enable_fttest=yes -fi; - - if test x$ft_config_exec_prefix != x ; then - ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix" - if test x${FT2_CONFIG+set} != xset ; then - FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config - fi - fi - - if test x$ft_config_prefix != x ; then - ft_config_args="$ft_config_args --prefix=$ft_config_prefix" - if test x${FT2_CONFIG+set} != xset ; then - FT2_CONFIG=$ft_config_prefix/bin/freetype-config - fi - fi - - # Extract the first word of "freetype-config", so it can be a program name with args. -set dummy freetype-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_FT2_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $FT2_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_FT2_CONFIG="$FT2_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_FT2_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_path_FT2_CONFIG" && ac_cv_path_FT2_CONFIG="no" - ;; -esac -fi -FT2_CONFIG=$ac_cv_path_FT2_CONFIG - -if test -n "$FT2_CONFIG"; then - echo "$as_me:$LINENO: result: $FT2_CONFIG" >&5 -echo "${ECHO_T}$FT2_CONFIG" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - - min_ft_version=7.0.1 - echo "$as_me:$LINENO: checking for FreeType -- version >= $min_ft_version" >&5 -echo $ECHO_N "checking for FreeType -- version >= $min_ft_version... $ECHO_C" >&6 - no_ft="" - if test "$FT2_CONFIG" = "no" ; then - no_ft=yes - else - FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags` - FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs` - ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` - ft_min_major_version=`echo $min_ft_version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - ft_min_minor_version=`echo $min_ft_version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - ft_min_micro_version=`echo $min_ft_version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` - if test x$enable_fttest = xyes ; then - ft_config_is_lt="" - if test $ft_config_major_version -lt $ft_min_major_version ; then - ft_config_is_lt=yes - else - if test $ft_config_major_version -eq $ft_min_major_version ; then - if test $ft_config_minor_version -lt $ft_min_minor_version ; then - ft_config_is_lt=yes - else - if test $ft_config_minor_version -eq $ft_min_minor_version ; then - if test $ft_config_micro_version -lt $ft_min_micro_version ; then - ft_config_is_lt=yes - fi - fi - fi - fi - fi - if test x$ft_config_is_lt = xyes ; then - no_ft=yes - else - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $FT2_CFLAGS" - LIBS="$FT2_LIBS $LIBS" - - # - # Sanity checks for the results of freetype-config to some extent. - # - if test "$cross_compiling" = yes; then - echo $ECHO_N "cross compiling; assuming OK... $ECHO_C" -else - cat >conftest.$ac_ext <<_ACEOF - - #line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - -#include -#include FT_FREETYPE_H -#include -#include - -int -main() -{ - FT_Library library; - FT_Error error; - - error = FT_Init_FreeType(&library); - - if (error) - return 1; - else - { - FT_Done_FreeType(library); - return 0; - } -} - - - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -no_ft=yes -fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi # test $ft_config_version -lt $ft_min_version - fi # test x$enable_fttest = xyes - fi # test "$FT2_CONFIG" = "no" - - if test x$no_ft = x ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - ftype=1 - else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - if test "$FT2_CONFIG" = "no" ; then - { echo "$as_me:$LINENO: WARNING: - - The freetype-config script installed by FreeType 2 could not be found. - If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in - your path, or set the FT2_CONFIG environment variable to the - full path to freetype-config. - " >&5 -echo "$as_me: WARNING: - - The freetype-config script installed by FreeType 2 could not be found. - If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in - your path, or set the FT2_CONFIG environment variable to the - full path to freetype-config. - " >&2;} - else - if test x$ft_config_is_lt = xyes ; then - { echo "$as_me:$LINENO: WARNING: - - Your installed version of the FreeType 2 library is too old. - If you have different versions of FreeType 2, make sure that - correct values for --with-ft-prefix or --with-ft-exec-prefix - are used, or set the FT2_CONFIG environment variable to the - full path to freetype-config. - " >&5 -echo "$as_me: WARNING: - - Your installed version of the FreeType 2 library is too old. - If you have different versions of FreeType 2, make sure that - correct values for --with-ft-prefix or --with-ft-exec-prefix - are used, or set the FT2_CONFIG environment variable to the - full path to freetype-config. - " >&2;} - else - { echo "$as_me:$LINENO: WARNING: - - The FreeType test program failed to run. If your system uses - shared libraries and they are installed outside the normal - system library path, make sure the variable LD_LIBRARY_PATH - (or whatever is appropiate for your system) is correctly set. - " >&5 -echo "$as_me: WARNING: - - The FreeType test program failed to run. If your system uses - shared libraries and they are installed outside the normal - system library path, make sure the variable LD_LIBRARY_PATH - (or whatever is appropiate for your system) is correctly set. - " >&2;} - fi - fi - - FT2_CFLAGS="" - FT2_LIBS="" - : - fi - - - -if test "$ftype" != 1; then - { { echo "$as_me:$LINENO: error: - FreeType2 must be installed on your system - but freetype-config couldn't be found. - Please check that freetype-config is in the path, the directory - where the freetype libraries are installed (returned by - 'freetype-config --libs' command) is in LD_LIBRARY_PATH or - equivalent variable and freetype version is 7.0.1 or above - Try http://www.freetype.org to download freetype. - " >&5 -echo "$as_me: error: - FreeType2 must be installed on your system - but freetype-config couldn't be found. - Please check that freetype-config is in the path, the directory - where the freetype libraries are installed (returned by - 'freetype-config --libs' command) is in LD_LIBRARY_PATH or - equivalent variable and freetype version is 7.0.1 or above - Try http://www.freetype.org to download freetype. - " >&2;} - { (exit 1); exit 1; }; } -fi - -CFLAGS="$CFLAGS $FT2_CFLAGS" -CXXFLAGS="$CXXFLAGS $FT2_CFLAGS" -LIBS="$LIBS $FT2_LIBS" - -# Check for extra functions - - -for ac_func in vsnprintf snprintf -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -# Check for extra headers -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -@%:@include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -@%:@include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6 -if test "${ac_cv_prog_egrep+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6 - EGREP=$ac_cv_prog_egrep - - -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_stdc=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -@%:@define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -@%:@include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_Header=no" -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -for ac_header in unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -@%:@include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -@%:@include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - ( - cat <<\_ASBOX -@%:@@%:@ ------------------------------------ @%:@@%:@ -@%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ -@%:@@%:@ ------------------------------------ @%:@@%:@ -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; - no:yes ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - ( - cat <<\_ASBOX -@%:@@%:@ ------------------------------------ @%:@@%:@ -@%:@@%:@ Report this to bug-autoconf@gnu.org. @%:@@%:@ -@%:@@%:@ ------------------------------------ @%:@@%:@ -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -# Directory setup stuff - -# Check whether --with-docdir or --without-docdir was given. -if test "${with_docdir+set}" = set; then - withval="$with_docdir" - with_docdir=$withval -fi; -if test "x$with_docdir" = "x" ; then - docdir='${datadir}' -else - docdir=$with_docdir -fi - - - -CFLAGS="$CFLAGS -DS3D_DOCDIR=\\\"${docdir}\\\" -DS3D_DATADIR=\\\"${datadir}\\\" -DS3D_BINDIR=\\\"${bindir}\\\"" -CXXFLAGS="$CXXFLAGS -DS3D_DOCDIR=\\\"${docdir}\\\" -DS3D_DATADIR=\\\"${datadir}\\\" -DS3D_BINDIR=\\\"${bindir}\\\"" - -# extra fixed flags -CFLAGS="$CFLAGS -DdDOUBLE" -CXXFLAGS="$CXXFLAGS -DdDOUBLE" - -# put here at end because of sdl.m4 not defining -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - -# Finally create all the generated files - ac_config_files="$ac_config_files Makefile src/Makefile src/scorched/Makefile" -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -{ - (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} | - sed ' - t clear - : clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if diff $cache_file confcache >/dev/null 2>&1; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" - cat confcache >$cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then we branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -cat >confdef2opt.sed <<\_ACEOF -t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g -t quote -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g -t quote -d -: quote -s,[ `~#$^&*(){}\\|;'"<>?],\\&,g -s,\[,\\&,g -s,\],\\&,g -s,\$,$$,g -p -_ACEOF -# We use echo to avoid assuming a particular line-breaking character. -# The extra dot is to prevent the shell from consuming trailing -# line-breaks from the sub-command output. A line-break within -# single-quotes doesn't work because, if this script is created in a -# platform that uses two characters for line-breaks (e.g., DOS), tr -# would break. -ac_LF_and_DOT=`echo; echo .` -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` -rm -f confdef2opt.sed - - -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_i=`echo "$ac_i" | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' -done -LIB@&t@OBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi - -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - - -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} - - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - as_mkdir_p=false -fi - -as_executable_p="test -f" - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - -exec 6>&1 - -# Open the log real soon, to keep \$[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. Logging --version etc. is OK. -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX -@%:@@%:@ Running $as_me. @%:@@%:@ -_ASBOX -} >&5 -cat >&5 <<_CSEOF - -This file was extended by $as_me, which was -generated by GNU Autoconf 2.57. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 -_ACEOF - -# Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi - -cat >>$CONFIG_STATUS <<\_ACEOF - -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - -Configuration files: -$config_files - -Configuration commands: -$config_commands - -Report bugs to ." -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.57, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" - -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." -srcdir=$srcdir -INSTALL="$INSTALL" -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - ac_shift=: - ;; - -*) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_option=$1 - ac_need_defaults=false;; - esac - - case $ac_option in - # Handling of the options. -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:$LINENO: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" - ac_need_defaults=false;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -if \$ac_cs_recheck; then - echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -fi - -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF -# -# INIT-COMMANDS section. -# - -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - -_ACEOF - - - -cat >>$CONFIG_STATUS <<\_ACEOF -for ac_config_target in $ac_config_targets -do - case "$ac_config_target" in - # Handling of arguments. - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "src/scorched/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/scorched/Makefile" ;; - "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason to put it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Create a temporary directory, and hook for its removal unless debugging. -$debug || -{ - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} - -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./confstat$$-$RANDOM - (umask 077 && mkdir $tmp) -} || -{ - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF - -# -# CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "\$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@DEFS@,$DEFS,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@LIBS@,$LIBS,;t t -s,@build@,$build,;t t -s,@build_cpu@,$build_cpu,;t t -s,@build_vendor@,$build_vendor,;t t -s,@build_os@,$build_os,;t t -s,@host@,$host,;t t -s,@host_cpu@,$host_cpu,;t t -s,@host_vendor@,$host_vendor,;t t -s,@host_os@,$host_os,;t t -s,@target@,$target,;t t -s,@target_cpu@,$target_cpu,;t t -s,@target_vendor@,$target_vendor,;t t -s,@target_os@,$target_os,;t t -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t -s,@INSTALL_DATA@,$INSTALL_DATA,;t t -s,@PACKAGE@,$PACKAGE,;t t -s,@VERSION@,$VERSION,;t t -s,@ACLOCAL@,$ACLOCAL,;t t -s,@AUTOCONF@,$AUTOCONF,;t t -s,@AUTOMAKE@,$AUTOMAKE,;t t -s,@AUTOHEADER@,$AUTOHEADER,;t t -s,@MAKEINFO@,$MAKEINFO,;t t -s,@AMTAR@,$AMTAR,;t t -s,@install_sh@,$install_sh,;t t -s,@STRIP@,$STRIP,;t t -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t -s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t -s,@AWK@,$AWK,;t t -s,@SET_MAKE@,$SET_MAKE,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@DEPDIR@,$DEPDIR,;t t -s,@am__include@,$am__include,;t t -s,@am__quote@,$am__quote,;t t -s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t -s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t -s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t -s,@CCDEPMODE@,$CCDEPMODE,;t t -s,@CXX@,$CXX,;t t -s,@CXXFLAGS@,$CXXFLAGS,;t t -s,@ac_ct_CXX@,$ac_ct_CXX,;t t -s,@CXXDEPMODE@,$CXXDEPMODE,;t t -s,@RANLIB@,$RANLIB,;t t -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t -s,@SDL_CONFIG@,$SDL_CONFIG,;t t -s,@SDL_CFLAGS@,$SDL_CFLAGS,;t t -s,@SDL_LIBS@,$SDL_LIBS,;t t -s,@OPENAL_CONFIG@,$OPENAL_CONFIG,;t t -s,@WX_CONFIG_PATH@,$WX_CONFIG_PATH,;t t -s,@WX_CPPFLAGS@,$WX_CPPFLAGS,;t t -s,@WX_CFLAGS@,$WX_CFLAGS,;t t -s,@WX_CXXFLAGS@,$WX_CXXFLAGS,;t t -s,@WX_CFLAGS_ONLY@,$WX_CFLAGS_ONLY,;t t -s,@WX_CXXFLAGS_ONLY@,$WX_CXXFLAGS_ONLY,;t t -s,@WX_LIBS@,$WX_LIBS,;t t -s,@WX_LIBS_STATIC@,$WX_LIBS_STATIC,;t t -s,@WX_VERSION@,$WX_VERSION,;t t -s,@VORBIS_CFLAGS@,$VORBIS_CFLAGS,;t t -s,@VORBIS_LIBS@,$VORBIS_LIBS,;t t -s,@VORBISFILE_LIBS@,$VORBISFILE_LIBS,;t t -s,@VORBISENC_LIBS@,$VORBISENC_LIBS,;t t -s,@OGG_CFLAGS@,$OGG_CFLAGS,;t t -s,@OGG_LIBS@,$OGG_LIBS,;t t -s,@FT2_CONFIG@,$FT2_CONFIG,;t t -s,@FT2_CFLAGS@,$FT2_CFLAGS,;t t -s,@FT2_LIBS@,$FT2_LIBS,;t t -s,@CPP@,$CPP,;t t -s,@EGREP@,$EGREP,;t t -s,@docdir@,$docdir,;t t -s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t -s,@LTLIBOBJS@,$LTLIBOBJS,;t t -CEOF - -_ACEOF - - cat >>$CONFIG_STATUS <<\_ACEOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; }; } - - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` - - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_builddir$INSTALL ;; - esac - - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - if test x"$ac_file" = x-; then - configure_input= - else - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@abs_srcdir@,$ac_abs_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t -s,@builddir@,$ac_builddir,;t t -s,@abs_builddir@,$ac_abs_builddir,;t t -s,@top_builddir@,$ac_top_builddir,;t t -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t -s,@INSTALL@,$ac_INSTALL,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi - -done -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF - -# -# CONFIG_COMMANDS section. -# -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue - ac_dest=`echo "$ac_file" | sed 's,:.*,,'` - ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_dir=`(dirname "$ac_dest") 2>/dev/null || -$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_dest" : 'X\(//\)[^/]' \| \ - X"$ac_dest" : 'X\(//\)$' \| \ - X"$ac_dest" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_dest" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` - - - { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 -echo "$as_me: executing $ac_dest commands" >&6;} - case $ac_dest in - depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`(dirname "$mf") 2>/dev/null || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - else - continue - fi - grep '^DEP_FILES *= *[^ @%:@]' < "$mf" > /dev/null || continue - # Extract the definition of DEP_FILES from the Makefile without - # running `make'. - DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` - test -z "$DEPDIR" && continue - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n -e '/^U = / s///p' < "$mf"` - test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" - # We invoke sed twice because it is the simplest approach to - # changing $(DEPDIR) to its actual value in the expansion. - for file in `sed -n -e ' - /^DEP_FILES = .*\\\\$/ { - s/^DEP_FILES = // - :loop - s/\\\\$// - p - n - /\\\\$/ b loop - p - } - /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`(dirname "$file") 2>/dev/null || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p $dirpart/$fdir - else - as_dir=$dirpart/$fdir - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 -echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} - { (exit 1); exit 1; }; }; } - - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done - ;; - esac -done -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi - diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/autom4te.cache/requests /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/autom4te.cache/requests --- /tmp/ZyiKWGPp1w/scorched3d-40/autom4te.cache/requests 2006-07-16 00:15:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/autom4te.cache/requests 1970-01-01 09:00:00.000000000 +0900 @@ -1,111 +0,0 @@ -# This file was created by autom4te. -# It contains the lists of macros which have been traced. -# It can be safely removed. - -@request = ( - bless( [ - '0', - 1, - [ - '/usr/share/autoconf' - ], - [ - '/usr/share/autoconf/autoconf/autoconf.m4f', - 'aclocal.m4', - 'configure.ac' - ], - { - 'm4_pattern_forbid' => 1, - 'AC_C_VOLATILE' => 1, - 'AC_TYPE_OFF_T' => 1, - 'AC_FUNC_CLOSEDIR_VOID' => 1, - 'AC_REPLACE_FNMATCH' => 1, - 'AC_PROG_LIBTOOL' => 1, - 'AC_FUNC_STAT' => 1, - 'AC_FUNC_WAIT3' => 1, - 'AC_HEADER_TIME' => 1, - 'AC_FUNC_LSTAT' => 1, - 'AC_STRUCT_TM' => 1, - 'AM_AUTOMAKE_VERSION' => 1, - 'AC_FUNC_GETMNTENT' => 1, - 'AC_TYPE_MODE_T' => 1, - 'AC_FUNC_STRTOD' => 1, - 'AC_CHECK_HEADERS' => 1, - 'AC_FUNC_STRNLEN' => 1, - 'AC_PROG_CXX' => 1, - 'AC_PATH_X' => 1, - 'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1, - 'AC_PROG_AWK' => 1, - 'AC_HEADER_STDC' => 1, - 'AC_HEADER_MAJOR' => 1, - 'AC_FUNC_ERROR_AT_LINE' => 1, - 'AC_PROG_GCC_TRADITIONAL' => 1, - 'AC_LIBSOURCE' => 1, - 'AC_FUNC_MBRTOWC' => 1, - 'AC_STRUCT_ST_BLOCKS' => 1, - 'AC_TYPE_SIGNAL' => 1, - 'AC_TYPE_UID_T' => 1, - 'AC_CONFIG_AUX_DIR' => 1, - 'AC_PROG_MAKE_SET' => 1, - 'm4_pattern_allow' => 1, - 'AC_DEFINE_TRACE_LITERAL' => 1, - 'AC_FUNC_STRERROR_R' => 1, - 'AC_PROG_CC' => 1, - 'AC_FUNC_FORK' => 1, - 'AC_DECL_SYS_SIGLIST' => 1, - 'AC_FUNC_STRCOLL' => 1, - 'AC_FUNC_VPRINTF' => 1, - 'AC_PROG_YACC' => 1, - 'AC_INIT' => 1, - 'AC_STRUCT_TIMEZONE' => 1, - 'AC_FUNC_CHOWN' => 1, - 'AC_SUBST' => 1, - 'AC_FUNC_ALLOCA' => 1, - 'AC_CANONICAL_HOST' => 1, - 'AC_FUNC_GETPGRP' => 1, - 'AC_PROG_RANLIB' => 1, - 'AM_INIT_AUTOMAKE' => 1, - 'AC_FUNC_SETPGRP' => 1, - 'AC_CONFIG_SUBDIRS' => 1, - 'AC_FUNC_MMAP' => 1, - 'AC_FUNC_REALLOC' => 1, - 'AC_TYPE_SIZE_T' => 1, - 'AC_CHECK_TYPES' => 1, - 'AC_CHECK_MEMBERS' => 1, - 'AM_MAINTAINER_MODE' => 1, - 'AC_FUNC_UTIME_NULL' => 1, - 'AC_FUNC_SELECT_ARGTYPES' => 1, - 'AC_FUNC_STRFTIME' => 1, - 'AC_HEADER_STAT' => 1, - 'AC_C_INLINE' => 1, - 'AC_PROG_CPP' => 1, - 'AC_TYPE_PID_T' => 1, - 'AC_PROG_LEX' => 1, - 'AC_C_CONST' => 1, - 'AC_CONFIG_FILES' => 1, - 'include' => 1, - 'AC_FUNC_SETVBUF_REVERSED' => 1, - 'AC_PROG_INSTALL' => 1, - 'AM_GNU_GETTEXT' => 1, - 'AC_CHECK_LIB' => 1, - 'AC_FUNC_OBSTACK' => 1, - 'AC_FUNC_MALLOC' => 1, - 'AC_FUNC_GETGROUPS' => 1, - 'AC_FUNC_GETLOADAVG' => 1, - 'AH_OUTPUT' => 1, - 'AC_FUNC_FSEEKO' => 1, - 'AM_PROG_CC_C_O' => 1, - 'AC_FUNC_MKTIME' => 1, - 'AC_CANONICAL_SYSTEM' => 1, - 'AM_CONDITIONAL' => 1, - 'AC_CONFIG_HEADERS' => 1, - 'AC_HEADER_SYS_WAIT' => 1, - 'AC_PROG_LN_S' => 1, - 'AC_FUNC_MEMCMP' => 1, - 'm4_include' => 1, - 'AC_HEADER_DIRENT' => 1, - 'AC_CHECK_FUNCS' => 1 - } - ], 'Request' ) - ); - diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/autom4te.cache/traces.0 /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/autom4te.cache/traces.0 --- /tmp/ZyiKWGPp1w/scorched3d-40/autom4te.cache/traces.0 2006-07-16 00:15:29.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/autom4te.cache/traces.0 1970-01-01 09:00:00.000000000 +0900 @@ -1,212 +0,0 @@ -m4trace:aclocal.m4:613: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) -m4trace:configure.ac:3: -1- AC_INIT([README]) -m4trace:configure.ac:3: -1- m4_pattern_forbid([^_?A[CHUM]_]) -m4trace:configure.ac:3: -1- m4_pattern_forbid([_AC_]) -m4trace:configure.ac:3: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) -m4trace:configure.ac:3: -1- m4_pattern_allow([^AS_FLAGS$]) -m4trace:configure.ac:3: -1- m4_pattern_forbid([^_?m4_]) -m4trace:configure.ac:3: -1- m4_pattern_forbid([^dnl$]) -m4trace:configure.ac:3: -1- m4_pattern_forbid([^_?AS_]) -m4trace:configure.ac:3: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}]) -m4trace:configure.ac:3: -1- AC_SUBST([PATH_SEPARATOR]) -m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) -m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) -m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) -m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) -m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) -m4trace:configure.ac:3: -1- AC_SUBST([exec_prefix], [NONE]) -m4trace:configure.ac:3: -1- AC_SUBST([prefix], [NONE]) -m4trace:configure.ac:3: -1- AC_SUBST([program_transform_name], [s,x,x,]) -m4trace:configure.ac:3: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) -m4trace:configure.ac:3: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) -m4trace:configure.ac:3: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) -m4trace:configure.ac:3: -1- AC_SUBST([datadir], ['${prefix}/share']) -m4trace:configure.ac:3: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) -m4trace:configure.ac:3: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) -m4trace:configure.ac:3: -1- AC_SUBST([localstatedir], ['${prefix}/var']) -m4trace:configure.ac:3: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) -m4trace:configure.ac:3: -1- AC_SUBST([includedir], ['${prefix}/include']) -m4trace:configure.ac:3: -1- AC_SUBST([oldincludedir], ['/usr/include']) -m4trace:configure.ac:3: -1- AC_SUBST([infodir], ['${prefix}/info']) -m4trace:configure.ac:3: -1- AC_SUBST([mandir], ['${prefix}/man']) -m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) -m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ -#undef PACKAGE_NAME]) -m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) -m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME]) -m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) -m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ -#undef PACKAGE_VERSION]) -m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) -m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING]) -m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) -m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT]) -m4trace:configure.ac:3: -1- AC_SUBST([build_alias]) -m4trace:configure.ac:3: -1- AC_SUBST([host_alias]) -m4trace:configure.ac:3: -1- AC_SUBST([target_alias]) -m4trace:configure.ac:3: -1- AC_SUBST([DEFS]) -m4trace:configure.ac:3: -1- AC_SUBST([ECHO_C]) -m4trace:configure.ac:3: -1- AC_SUBST([ECHO_N]) -m4trace:configure.ac:3: -1- AC_SUBST([ECHO_T]) -m4trace:configure.ac:3: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:4: -1- AC_CANONICAL_HOST -m4trace:configure.ac:4: -1- AC_SUBST([build], [$ac_cv_build]) -m4trace:configure.ac:4: -1- AC_SUBST([build_cpu], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`]) -m4trace:configure.ac:4: -1- AC_SUBST([build_vendor], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`]) -m4trace:configure.ac:4: -1- AC_SUBST([build_os], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`]) -m4trace:configure.ac:4: -1- AC_SUBST([host], [$ac_cv_host]) -m4trace:configure.ac:4: -1- AC_SUBST([host_cpu], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`]) -m4trace:configure.ac:4: -1- AC_SUBST([host_vendor], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`]) -m4trace:configure.ac:4: -1- AC_SUBST([host_os], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`]) -m4trace:configure.ac:4: -1- AC_SUBST([target], [$ac_cv_target]) -m4trace:configure.ac:4: -1- AC_SUBST([target_cpu], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`]) -m4trace:configure.ac:4: -1- AC_SUBST([target_vendor], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`]) -m4trace:configure.ac:4: -1- AC_SUBST([target_os], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`]) -m4trace:configure.ac:7: -1- AM_INIT_AUTOMAKE([scorched3d], [40]) -m4trace:configure.ac:7: -1- AM_AUTOMAKE_VERSION([1.6.3]) -m4trace:configure.ac:7: -1- AC_PROG_INSTALL -m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_PROGRAM]) -m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_SCRIPT]) -m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_DATA]) -m4trace:configure.ac:7: -1- AC_SUBST([PACKAGE], [scorched3d]) -m4trace:configure.ac:7: -1- AC_SUBST([VERSION], [40]) -m4trace:configure.ac:7: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) -m4trace:configure.ac:7: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ -#undef PACKAGE]) -m4trace:configure.ac:7: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) -m4trace:configure.ac:7: -1- AH_OUTPUT([VERSION], [/* Version number of package */ -#undef VERSION]) -m4trace:configure.ac:7: -1- AC_SUBST([ACLOCAL]) -m4trace:configure.ac:7: -1- AC_SUBST([AUTOCONF]) -m4trace:configure.ac:7: -1- AC_SUBST([AUTOMAKE]) -m4trace:configure.ac:7: -1- AC_SUBST([AUTOHEADER]) -m4trace:configure.ac:7: -1- AC_SUBST([MAKEINFO]) -m4trace:configure.ac:7: -1- AC_SUBST([AMTAR]) -m4trace:configure.ac:7: -1- AC_SUBST([install_sh]) -m4trace:configure.ac:7: -1- AC_SUBST([STRIP]) -m4trace:configure.ac:7: -1- AC_SUBST([ac_ct_STRIP]) -m4trace:configure.ac:7: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) -m4trace:configure.ac:7: -1- AC_PROG_AWK -m4trace:configure.ac:7: -1- AC_SUBST([AWK]) -m4trace:configure.ac:7: -1- AC_PROG_MAKE_SET -m4trace:configure.ac:7: -1- AC_SUBST([SET_MAKE]) -m4trace:configure.ac:10: -1- AC_PROG_MAKE_SET -m4trace:configure.ac:10: -1- AC_SUBST([SET_MAKE]) -m4trace:configure.ac:11: -1- AC_PROG_CC -m4trace:configure.ac:11: -1- AC_SUBST([CC]) -m4trace:configure.ac:11: -1- AC_SUBST([CFLAGS]) -m4trace:configure.ac:11: -1- AC_SUBST([LDFLAGS]) -m4trace:configure.ac:11: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:11: -1- AC_SUBST([CC]) -m4trace:configure.ac:11: -1- AC_SUBST([ac_ct_CC]) -m4trace:configure.ac:11: -1- AC_SUBST([CC]) -m4trace:configure.ac:11: -1- AC_SUBST([ac_ct_CC]) -m4trace:configure.ac:11: -1- AC_SUBST([CC]) -m4trace:configure.ac:11: -1- AC_SUBST([CC]) -m4trace:configure.ac:11: -1- AC_SUBST([ac_ct_CC]) -m4trace:configure.ac:11: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) -m4trace:configure.ac:11: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) -m4trace:configure.ac:11: -1- AC_SUBST([DEPDIR]) -m4trace:configure.ac:11: -1- AC_SUBST([am__include]) -m4trace:configure.ac:11: -1- AC_SUBST([am__quote]) -m4trace:configure.ac:11: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -m4trace:configure.ac:11: -1- AC_SUBST([AMDEP_TRUE]) -m4trace:configure.ac:11: -1- AC_SUBST([AMDEP_FALSE]) -m4trace:configure.ac:11: -1- AC_SUBST([AMDEPBACKSLASH]) -m4trace:configure.ac:11: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) -m4trace:configure.ac:12: -1- AC_PROG_CXX -m4trace:configure.ac:12: -1- AC_SUBST([CXX]) -m4trace:configure.ac:12: -1- AC_SUBST([CXXFLAGS]) -m4trace:configure.ac:12: -1- AC_SUBST([LDFLAGS]) -m4trace:configure.ac:12: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:12: -1- AC_SUBST([CXX]) -m4trace:configure.ac:12: -1- AC_SUBST([ac_ct_CXX]) -m4trace:configure.ac:12: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) -m4trace:configure.ac:13: -1- AC_PROG_INSTALL -m4trace:configure.ac:13: -1- AC_SUBST([INSTALL_PROGRAM]) -m4trace:configure.ac:13: -1- AC_SUBST([INSTALL_SCRIPT]) -m4trace:configure.ac:13: -1- AC_SUBST([INSTALL_DATA]) -m4trace:configure.ac:14: -1- AC_PROG_RANLIB -m4trace:configure.ac:14: -1- AC_SUBST([RANLIB]) -m4trace:configure.ac:14: -1- AC_SUBST([ac_ct_RANLIB]) -m4trace:configure.ac:29: -1- AC_SUBST([SDL_CONFIG], [$ac_cv_path_SDL_CONFIG]) -m4trace:configure.ac:29: -1- AC_SUBST([SDL_CFLAGS]) -m4trace:configure.ac:29: -1- AC_SUBST([SDL_LIBS]) -m4trace:configure.ac:64: -1- AC_CHECK_LIB([fridge], [beer], [echo "Hmm?!"], [ - echo "Warning: No beer found in fridge!"; - echo "We highly suggest that you rectify this situation immediately." -]) -m4trace:configure.ac:105: -1- AC_SUBST([OPENAL_CONFIG], [$ac_cv_path_OPENAL_CONFIG]) -m4trace:configure.ac:182: -1- AH_OUTPUT([HAVE_MYSQL], [/* Define if you have libmysql */ -#undef HAVE_MYSQL]) -m4trace:configure.ac:198: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MYSQL]) -m4trace:configure.ac:209: -1- AH_OUTPUT([HAVE_PGSQL], [/* Define if you have libpq */ -#undef HAVE_PGSQL]) -m4trace:configure.ac:225: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PGSQL]) -m4trace:configure.ac:238: -1- AC_SUBST([WX_CONFIG_PATH], [$ac_cv_path_WX_CONFIG_PATH]) -m4trace:configure.ac:238: -1- AC_SUBST([WX_CPPFLAGS]) -m4trace:configure.ac:238: -1- AC_SUBST([WX_CFLAGS]) -m4trace:configure.ac:238: -1- AC_SUBST([WX_CXXFLAGS]) -m4trace:configure.ac:238: -1- AC_SUBST([WX_CFLAGS_ONLY]) -m4trace:configure.ac:238: -1- AC_SUBST([WX_CXXFLAGS_ONLY]) -m4trace:configure.ac:238: -1- AC_SUBST([WX_LIBS]) -m4trace:configure.ac:238: -1- AC_SUBST([WX_LIBS_STATIC]) -m4trace:configure.ac:238: -1- AC_SUBST([WX_VERSION]) -m4trace:configure.ac:270: -1- AC_DEFINE_TRACE_LITERAL([HAVE_OGG]) -m4trace:configure.ac:270: -1- AC_SUBST([VORBIS_CFLAGS]) -m4trace:configure.ac:270: -1- AC_SUBST([VORBIS_LIBS]) -m4trace:configure.ac:270: -1- AC_SUBST([VORBISFILE_LIBS]) -m4trace:configure.ac:270: -1- AC_SUBST([VORBISENC_LIBS]) -m4trace:configure.ac:270: -1- AC_SUBST([OGG_CFLAGS]) -m4trace:configure.ac:270: -1- AC_SUBST([OGG_LIBS]) -m4trace:configure.ac:273: -1- AC_SUBST([FT2_CONFIG], [$ac_cv_path_FT2_CONFIG]) -m4trace:configure.ac:273: -1- AC_SUBST([FT2_CFLAGS]) -m4trace:configure.ac:273: -1- AC_SUBST([FT2_LIBS]) -m4trace:configure.ac:291: -1- AC_CHECK_FUNCS([vsnprintf snprintf]) -m4trace:configure.ac:291: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define to 1 if you have the `vsnprintf\' function. */ -#undef HAVE_VSNPRINTF]) -m4trace:configure.ac:291: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */ -#undef HAVE_SNPRINTF]) -m4trace:configure.ac:294: -1- AC_CHECK_HEADERS([unistd.h]) -m4trace:configure.ac:294: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H]) -m4trace:configure.ac:294: -1- AC_HEADER_STDC -m4trace:configure.ac:294: -1- AC_PROG_CPP -m4trace:configure.ac:294: -1- AC_SUBST([CPP]) -m4trace:configure.ac:294: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:294: -1- AC_SUBST([CPP]) -m4trace:configure.ac:294: -1- AC_SUBST([EGREP]) -m4trace:configure.ac:294: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) -m4trace:configure.ac:294: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS]) -m4trace:configure.ac:294: -1- AC_CHECK_HEADERS([sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h], [], [], [$ac_includes_default]) -m4trace:configure.ac:294: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H]) -m4trace:configure.ac:294: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H]) -m4trace:configure.ac:294: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H]) -m4trace:configure.ac:294: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H]) -m4trace:configure.ac:294: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H]) -m4trace:configure.ac:294: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H]) -m4trace:configure.ac:294: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H]) -m4trace:configure.ac:294: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H]) -m4trace:configure.ac:294: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H]) -m4trace:configure.ac:307: -1- AC_SUBST([docdir]) -m4trace:configure.ac:325: -1- AC_CONFIG_FILES([ -Makefile -src/Makefile -src/scorched/Makefile -]) -m4trace:configure.ac:325: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) -m4trace:configure.ac:325: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/config.log /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/config.log --- /tmp/ZyiKWGPp1w/scorched3d-40/config.log 2006-07-16 00:15:37.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/config.log 1970-01-01 09:00:00.000000000 +0900 @@ -1,658 +0,0 @@ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by configure, which was -generated by GNU Autoconf 2.57. Invocation command line was - - $ ./configure - -## --------- ## -## Platform. ## -## --------- ## - -hostname = talkie -uname -m = i686 -uname -r = 2.4.20-8 -uname -s = Linux -uname -v = #1 Thu Mar 13 17:18:24 EST 2003 - -/usr/bin/uname -p = unknown -/bin/uname -X = unknown - -/bin/arch = i686 -/usr/bin/arch -k = unknown -/usr/convex/getsysinfo = unknown -hostinfo = unknown -/bin/machine = unknown -/usr/bin/oslevel = unknown -/bin/universe = unknown - -PATH: /usr/local/bin -PATH: /usr/bin -PATH: /bin -PATH: /usr/X11R6/bin -PATH: /home/gcamp/bin - - -## ----------- ## -## Core tests. ## -## ----------- ## - -configure:1345: checking build system type -configure:1363: result: i686-pc-linux-gnu -configure:1371: checking host system type -configure:1385: result: i686-pc-linux-gnu -configure:1393: checking target system type -configure:1407: result: i686-pc-linux-gnu -configure:1435: checking for a BSD-compatible install -configure:1489: result: /usr/bin/install -c -configure:1500: checking whether build environment is sane -configure:1543: result: yes -configure:1576: checking for gawk -configure:1592: found /usr/bin/gawk -configure:1602: result: gawk -configure:1612: checking whether make sets $(MAKE) -configure:1632: result: yes -configure:1778: checking whether make sets $(MAKE) -configure:1798: result: yes -configure:1853: checking for gcc -configure:1869: found /usr/bin/gcc -configure:1879: result: gcc -configure:2123: checking for C compiler version -configure:2126: gcc --version &5 -gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5) -Copyright (C) 2002 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -configure:2129: $? = 0 -configure:2131: gcc -v &5 -Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs -Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux -Thread model: posix -gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) -configure:2134: $? = 0 -configure:2136: gcc -V &5 -gcc: argument to `-V' is missing -configure:2139: $? = 1 -configure:2163: checking for C compiler default output -configure:2166: gcc conftest.c >&5 -configure:2169: $? = 0 -configure:2215: result: a.out -configure:2220: checking whether the C compiler works -configure:2226: ./a.out -configure:2229: $? = 0 -configure:2246: result: yes -configure:2253: checking whether we are cross compiling -configure:2255: result: no -configure:2258: checking for suffix of executables -configure:2260: gcc -o conftest conftest.c >&5 -configure:2263: $? = 0 -configure:2288: result: -configure:2294: checking for suffix of object files -configure:2316: gcc -c conftest.c >&5 -configure:2319: $? = 0 -configure:2341: result: o -configure:2345: checking whether we are using the GNU C compiler -configure:2370: gcc -c conftest.c >&5 -configure:2373: $? = 0 -configure:2376: test -s conftest.o -configure:2379: $? = 0 -configure:2392: result: yes -configure:2398: checking whether gcc accepts -g -configure:2420: gcc -c -g conftest.c >&5 -configure:2423: $? = 0 -configure:2426: test -s conftest.o -configure:2429: $? = 0 -configure:2440: result: yes -configure:2457: checking for gcc option to accept ANSI C -configure:2518: gcc -c -g -O2 conftest.c >&5 -configure:2521: $? = 0 -configure:2524: test -s conftest.o -configure:2527: $? = 0 -configure:2545: result: none needed -configure:2563: gcc -c -g -O2 conftest.c >&5 -conftest.c:2: parse error before "me" -configure:2566: $? = 1 -configure: failed program was: -| #ifndef __cplusplus -| choke me -| #endif -configure:2694: checking for style of include used by make -configure:2722: result: GNU -configure:2750: checking dependency style of gcc -configure:2812: result: gcc3 -configure:2869: checking for g++ -configure:2885: found /usr/bin/g++ -configure:2895: result: g++ -configure:2911: checking for C++ compiler version -configure:2914: g++ --version &5 -g++ (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5) -Copyright (C) 2002 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -configure:2917: $? = 0 -configure:2919: g++ -v &5 -Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs -Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux -Thread model: posix -gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) -configure:2922: $? = 0 -configure:2924: g++ -V &5 -g++: argument to `-V' missing - -configure:2927: $? = 1 -configure:2930: checking whether we are using the GNU C++ compiler -configure:2955: g++ -c conftest.cc >&5 -configure:2958: $? = 0 -configure:2961: test -s conftest.o -configure:2964: $? = 0 -configure:2977: result: yes -configure:2983: checking whether g++ accepts -g -configure:3005: g++ -c -g conftest.cc >&5 -configure:3008: $? = 0 -configure:3011: test -s conftest.o -configure:3014: $? = 0 -configure:3025: result: yes -configure:3069: g++ -c -g -O2 conftest.cc >&5 -configure:3072: $? = 0 -configure:3075: test -s conftest.o -configure:3078: $? = 0 -configure:3105: g++ -c -g -O2 conftest.cc >&5 -configure: In function `int main()': -configure:3102: `exit' undeclared (first use this function) -configure:3102: (Each undeclared identifier is reported only once for each - function it appears in.) -configure:3108: $? = 1 -configure: failed program was: -| #line 3088 "configure" -| /* confdefs.h. */ -| -| #define PACKAGE_NAME "" -| #define PACKAGE_TARNAME "" -| #define PACKAGE_VERSION "" -| #define PACKAGE_STRING "" -| #define PACKAGE_BUGREPORT "" -| #define PACKAGE "scorched3d" -| #define VERSION "40" -| /* end confdefs.h. */ -| -| int -| main () -| { -| exit (42); -| ; -| return 0; -| } -configure:3069: g++ -c -g -O2 conftest.cc >&5 -configure:3072: $? = 0 -configure:3075: test -s conftest.o -configure:3078: $? = 0 -configure:3105: g++ -c -g -O2 conftest.cc >&5 -configure:3108: $? = 0 -configure:3111: test -s conftest.o -configure:3114: $? = 0 -configure:3139: checking dependency style of g++ -configure:3201: result: gcc3 -configure:3218: checking for a BSD-compatible install -configure:3272: result: /usr/bin/install -c -configure:3324: checking for ranlib -configure:3340: found /usr/bin/ranlib -configure:3351: result: ranlib -configure:3371: checking for SDL -configure:3424: checking for sdl-config -configure:3442: found /usr/bin/sdl-config -configure:3455: result: /usr/bin/sdl-config -configure:3463: checking for SDL - version >= 1.2.5 -configure:3561: gcc -o conftest -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib conftest.c -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread >&5 -configure:3564: $? = 0 -configure:3566: ./conftest -configure:3569: $? = 0 -configure:3588: result: yes -configure:3683: checking for SDL_net lib -configure:3713: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include conftest.c >&5 -configure:3716: $? = 0 -configure:3719: test -s conftest.o -configure:3722: $? = 0 -configure:3738: result: yes -configure:3747: checking for beer in -lfridge -configure:3778: gcc -o conftest -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib conftest.c -lfridge -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lSDL_net >&5 -/usr/bin/ld: cannot find -lfridge -collect2: ld returned 1 exit status -configure:3781: $? = 1 -configure: failed program was: -| #line 3754 "configure" -| /* confdefs.h. */ -| -| #define PACKAGE_NAME "" -| #define PACKAGE_TARNAME "" -| #define PACKAGE_VERSION "" -| #define PACKAGE_STRING "" -| #define PACKAGE_BUGREPORT "" -| #define PACKAGE "scorched3d" -| #define VERSION "40" -| #ifdef __cplusplus -| #include -| #endif -| /* end confdefs.h. */ -| -| /* Override any gcc2 internal prototype to avoid an error. */ -| #ifdef __cplusplus -| extern "C" -| #endif -| /* We use char because int might match the return type of a gcc2 -| builtin and then its argument prototype would still apply. */ -| char beer (); -| int -| main () -| { -| beer (); -| ; -| return 0; -| } -configure:3799: result: no -configure:3818: checking for OpenGL support -configure:3843: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include conftest.c >&5 -configure:3846: $? = 0 -configure:3849: test -s conftest.o -configure:3852: $? = 0 -configure:3868: result: yes -configure:3896: checking for OpenAL -configure:3900: checking for openal-config -configure:3918: found /usr/local/bin/openal-config -configure:3931: result: /usr/local/bin/openal-config -configure:3956: checking for OpenAL compilation -configure:4006: result: yes -configure:4014: checking for profiling enabled -configure:4029: result: no -configure:4032: checking for floating point math support -configure:4056: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include conftest.c >&5 -configure:4059: $? = 0 -configure:4062: test -s conftest.o -configure:4065: $? = 0 -configure:4079: result: yes -configure:4286: checking for wx-config -configure:4305: found /usr/local/bin/wx-config -configure:4318: result: /usr/local/bin/wx-config -configure:4332: checking for wxWindows version >= 2.4.0 -configure:4410: result: yes (version 2.4.1) -configure:4521: checking for Ogg -configure:4557: gcc -o conftest -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib conftest.c -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lSDL_net -lGL -lGLU -lpthread -L/usr/local/lib -lopenal -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk-2.4.a -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -ldl -lm -logg >&5 -configure:4560: $? = 0 -configure:4562: ./conftest -configure:4565: $? = 0 -configure:4583: result: yes -configure:4640: checking for Vorbis -configure:4687: gcc -o conftest -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib conftest.c -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lSDL_net -lGL -lGLU -lpthread -L/usr/local/lib -lopenal -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk-2.4.a -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -ldl -lm -lvorbis -lm -lvorbisenc -logg >&5 -configure:4690: $? = 0 -configure:4692: ./conftest -configure:4695: $? = 0 -configure:4713: result: yes -configure:4913: checking for freetype-config -configure:4931: found /usr/bin/freetype-config -configure:4944: result: /usr/bin/freetype-config -configure:4953: checking for FreeType -- version >= 7.0.1 -configure:5040: gcc -o conftest -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib conftest.c -lfreetype -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lSDL_net -lGL -lGLU -lpthread -L/usr/local/lib -lopenal -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk-2.4.a -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -ldl -lm -logg -lvorbis -lm -lvorbisfile >&5 -configure:5043: $? = 0 -configure:5045: ./conftest -configure:5048: $? = 0 -configure:5069: result: yes -configure:5165: checking for vsnprintf -configure:5215: gcc -o conftest -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib conftest.c -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lSDL_net -lGL -lGLU -lpthread -L/usr/local/lib -lopenal -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk-2.4.a -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -ldl -lm -logg -lvorbis -lm -lvorbisfile -lfreetype >&5 -configure:5218: $? = 0 -configure:5221: test -s conftest -configure:5224: $? = 0 -configure:5235: result: yes -configure:5165: checking for snprintf -configure:5215: gcc -o conftest -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib conftest.c -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lSDL_net -lGL -lGLU -lpthread -L/usr/local/lib -lopenal -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk-2.4.a -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -ldl -lm -logg -lvorbis -lm -lvorbisfile -lfreetype >&5 -configure:5218: $? = 0 -configure:5221: test -s conftest -configure:5224: $? = 0 -configure:5235: result: yes -configure:5252: checking how to run the C preprocessor -configure:5288: gcc -E -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c -configure:5294: $? = 0 -configure:5326: gcc -E -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c -configure:5333:28: ac_nonexistent.h: No such file or directory -configure:5332: $? = 1 -configure: failed program was: -| #line 5317 "configure" -| /* confdefs.h. */ -| -| #define PACKAGE_NAME "" -| #define PACKAGE_TARNAME "" -| #define PACKAGE_VERSION "" -| #define PACKAGE_STRING "" -| #define PACKAGE_BUGREPORT "" -| #define PACKAGE "scorched3d" -| #define VERSION "40" -| #ifdef __cplusplus -| #include -| #endif -| #define HAVE_OGG 1 -| #define HAVE_VSNPRINTF 1 -| #define HAVE_SNPRINTF 1 -| /* end confdefs.h. */ -| #include -configure:5370: result: gcc -E -configure:5395: gcc -E -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c -configure:5401: $? = 0 -configure:5433: gcc -E -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c -configure:5440:28: ac_nonexistent.h: No such file or directory -configure:5439: $? = 1 -configure: failed program was: -| #line 5424 "configure" -| /* confdefs.h. */ -| -| #define PACKAGE_NAME "" -| #define PACKAGE_TARNAME "" -| #define PACKAGE_VERSION "" -| #define PACKAGE_STRING "" -| #define PACKAGE_BUGREPORT "" -| #define PACKAGE "scorched3d" -| #define VERSION "40" -| #ifdef __cplusplus -| #include -| #endif -| #define HAVE_OGG 1 -| #define HAVE_VSNPRINTF 1 -| #define HAVE_SNPRINTF 1 -| /* end confdefs.h. */ -| #include -configure:5482: checking for egrep -configure:5492: result: grep -E -configure:5497: checking for ANSI C header files -configure:5523: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c >&5 -configure:5526: $? = 0 -configure:5529: test -s conftest.o -configure:5532: $? = 0 -configure:5621: gcc -o conftest -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib conftest.c -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lSDL_net -lGL -lGLU -lpthread -L/usr/local/lib -lopenal -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk-2.4.a -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -ldl -lm -logg -lvorbis -lm -lvorbisfile -lfreetype >&5 -configure:5624: $? = 0 -configure:5626: ./conftest -configure:5629: $? = 0 -configure:5644: result: yes -configure:5668: checking for sys/types.h -configure:5685: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c >&5 -configure:5688: $? = 0 -configure:5691: test -s conftest.o -configure:5694: $? = 0 -configure:5705: result: yes -configure:5668: checking for sys/stat.h -configure:5685: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c >&5 -configure:5688: $? = 0 -configure:5691: test -s conftest.o -configure:5694: $? = 0 -configure:5705: result: yes -configure:5668: checking for stdlib.h -configure:5685: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c >&5 -configure:5688: $? = 0 -configure:5691: test -s conftest.o -configure:5694: $? = 0 -configure:5705: result: yes -configure:5668: checking for string.h -configure:5685: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c >&5 -configure:5688: $? = 0 -configure:5691: test -s conftest.o -configure:5694: $? = 0 -configure:5705: result: yes -configure:5668: checking for memory.h -configure:5685: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c >&5 -configure:5688: $? = 0 -configure:5691: test -s conftest.o -configure:5694: $? = 0 -configure:5705: result: yes -configure:5668: checking for strings.h -configure:5685: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c >&5 -configure:5688: $? = 0 -configure:5691: test -s conftest.o -configure:5694: $? = 0 -configure:5705: result: yes -configure:5668: checking for inttypes.h -configure:5685: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c >&5 -configure:5688: $? = 0 -configure:5691: test -s conftest.o -configure:5694: $? = 0 -configure:5705: result: yes -configure:5668: checking for stdint.h -configure:5685: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c >&5 -configure:5688: $? = 0 -configure:5691: test -s conftest.o -configure:5694: $? = 0 -configure:5705: result: yes -configure:5668: checking for unistd.h -configure:5685: gcc -c -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES conftest.c >&5 -configure:5688: $? = 0 -configure:5691: test -s conftest.o -configure:5694: $? = 0 -configure:5705: result: yes -configure:5722: checking for unistd.h -configure:5727: result: yes -configure:6025: creating ./config.status - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by config.status, which was -generated by GNU Autoconf 2.57. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status - -on talkie - -config.status:683: creating Makefile -config.status:683: creating src/Makefile -config.status:683: creating src/scorched/Makefile -config.status:808: executing depfiles commands - -## ---------------- ## -## Cache variables. ## -## ---------------- ## - -ac_cv_build=i686-pc-linux-gnu -ac_cv_build_alias=i686-pc-linux-gnu -ac_cv_c_compiler_gnu=yes -ac_cv_cxx_compiler_gnu=yes -ac_cv_env_CC_set= -ac_cv_env_CC_value= -ac_cv_env_CFLAGS_set= -ac_cv_env_CFLAGS_value= -ac_cv_env_CPPFLAGS_set= -ac_cv_env_CPPFLAGS_value= -ac_cv_env_CPP_set= -ac_cv_env_CPP_value= -ac_cv_env_CXXFLAGS_set= -ac_cv_env_CXXFLAGS_value= -ac_cv_env_CXX_set= -ac_cv_env_CXX_value= -ac_cv_env_LDFLAGS_set= -ac_cv_env_LDFLAGS_value= -ac_cv_env_build_alias_set= -ac_cv_env_build_alias_value= -ac_cv_env_host_alias_set= -ac_cv_env_host_alias_value= -ac_cv_env_target_alias_set= -ac_cv_env_target_alias_value= -ac_cv_exeext= -ac_cv_func_snprintf=yes -ac_cv_func_vsnprintf=yes -ac_cv_header_inttypes_h=yes -ac_cv_header_memory_h=yes -ac_cv_header_stdc=yes -ac_cv_header_stdint_h=yes -ac_cv_header_stdlib_h=yes -ac_cv_header_string_h=yes -ac_cv_header_strings_h=yes -ac_cv_header_sys_stat_h=yes -ac_cv_header_sys_types_h=yes -ac_cv_header_unistd_h=yes -ac_cv_host=i686-pc-linux-gnu -ac_cv_host_alias=i686-pc-linux-gnu -ac_cv_lib_fridge_beer=no -ac_cv_objext=o -ac_cv_path_FT2_CONFIG=/usr/bin/freetype-config -ac_cv_path_OPENAL_CONFIG=/usr/local/bin/openal-config -ac_cv_path_SDL_CONFIG=/usr/bin/sdl-config -ac_cv_path_WX_CONFIG_PATH=/usr/local/bin/wx-config -ac_cv_path_install='/usr/bin/install -c' -ac_cv_prog_AWK=gawk -ac_cv_prog_CPP='gcc -E' -ac_cv_prog_ac_ct_CC=gcc -ac_cv_prog_ac_ct_CXX=g++ -ac_cv_prog_ac_ct_RANLIB=ranlib -ac_cv_prog_cc_g=yes -ac_cv_prog_cc_stdc= -ac_cv_prog_cxx_g=yes -ac_cv_prog_egrep='grep -E' -ac_cv_prog_make_make_set=yes -ac_cv_target=i686-pc-linux-gnu -ac_cv_target_alias=i686-pc-linux-gnu -am_cv_CC_dependencies_compiler_type=gcc3 -am_cv_CXX_dependencies_compiler_type=gcc3 - -## ----------------- ## -## Output variables. ## -## ----------------- ## - -ACLOCAL='${SHELL} /opt/scorched3d-serversrc/scorched/missing --run aclocal-1.6' -AMDEPBACKSLASH='\' -AMDEP_FALSE='#' -AMDEP_TRUE='' -AMTAR='${SHELL} /opt/scorched3d-serversrc/scorched/missing --run tar' -AUTOCONF='${SHELL} /opt/scorched3d-serversrc/scorched/missing --run autoconf' -AUTOHEADER='${SHELL} /opt/scorched3d-serversrc/scorched/missing --run autoheader' -AUTOMAKE='${SHELL} /opt/scorched3d-serversrc/scorched/missing --run automake-1.6' -AWK='gawk' -CC='gcc' -CCDEPMODE='depmode=gcc3' -CFLAGS='-g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -DS3D_DOCDIR=\"${datadir}\" -DS3D_DATADIR=\"${prefix}/share\" -DS3D_BINDIR=\"${exec_prefix}/bin\" -DdDOUBLE' -CPP='gcc -E' -CPPFLAGS='-I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES' -CXX='g++' -CXXDEPMODE='depmode=gcc3' -CXXFLAGS='-g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -DS3D_DOCDIR=\"${datadir}\" -DS3D_DATADIR=\"${prefix}/share\" -DS3D_BINDIR=\"${exec_prefix}/bin\" -DdDOUBLE' -DEFS='-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"scorched3d\" -DVERSION=\"40\" -DHAVE_OGG=1 -DHAVE_VSNPRINTF=1 -DHAVE_SNPRINTF=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 ' -DEPDIR='.deps' -ECHO_C='' -ECHO_N='-n' -ECHO_T='' -EGREP='grep -E' -EXEEXT='' -FT2_CFLAGS='-I/usr/include/freetype2' -FT2_CONFIG='/usr/bin/freetype-config' -FT2_LIBS='-lfreetype' -INSTALL_DATA='${INSTALL} -m 644' -INSTALL_PROGRAM='${INSTALL}' -INSTALL_SCRIPT='${INSTALL}' -INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' -LDFLAGS='-L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib' -LIBOBJS='' -LIBS=' -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lSDL_net -lGL -lGLU -lpthread -L/usr/local/lib -lopenal -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk-2.4.a -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -ldl -lm -logg -lvorbis -lm -lvorbisfile -lfreetype' -LTLIBOBJS='' -MAKEINFO='${SHELL} /opt/scorched3d-serversrc/scorched/missing --run makeinfo' -OBJEXT='o' -OGG_CFLAGS='' -OGG_LIBS=' -logg' -OPENAL_CONFIG='/usr/local/bin/openal-config' -PACKAGE='scorched3d' -PACKAGE_BUGREPORT='' -PACKAGE_NAME='' -PACKAGE_STRING='' -PACKAGE_TARNAME='' -PACKAGE_VERSION='' -PATH_SEPARATOR=':' -RANLIB='ranlib' -SDL_CFLAGS='-I/usr/include/SDL -D_REENTRANT' -SDL_CONFIG='/usr/bin/sdl-config' -SDL_LIBS='-L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread' -SET_MAKE='' -SHELL='/bin/sh' -STRIP='' -VERSION='40' -VORBISENC_LIBS='-lvorbisenc' -VORBISFILE_LIBS='-lvorbisfile' -VORBIS_CFLAGS='' -VORBIS_LIBS=' -lvorbis -lm' -WX_CFLAGS='-I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES' -WX_CFLAGS_ONLY='' -WX_CONFIG_PATH='/usr/local/bin/wx-config' -WX_CPPFLAGS='-I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES' -WX_CXXFLAGS='-I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES' -WX_CXXFLAGS_ONLY='' -WX_LIBS='-L/usr/local/lib -pthread /usr/local/lib/libwx_gtk-2.4.a -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -ldl -lm ' -WX_LIBS_STATIC='-L/usr/local/lib -pthread /usr/local/lib/libwx_gtk-2.4.a -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -ldl -lm ' -WX_VERSION='2.4.1' -ac_ct_CC='gcc' -ac_ct_CXX='g++' -ac_ct_RANLIB='ranlib' -ac_ct_STRIP='' -am__include='include' -am__quote='' -bindir='${exec_prefix}/bin' -build='i686-pc-linux-gnu' -build_alias='' -build_cpu='i686' -build_os='linux-gnu' -build_vendor='pc' -datadir='${prefix}/share' -docdir='${datadir}' -exec_prefix='${prefix}' -host='i686-pc-linux-gnu' -host_alias='' -host_cpu='i686' -host_os='linux-gnu' -host_vendor='pc' -includedir='${prefix}/include' -infodir='${prefix}/info' -install_sh='/opt/scorched3d-serversrc/scorched/install-sh' -libdir='${exec_prefix}/lib' -libexecdir='${exec_prefix}/libexec' -localstatedir='${prefix}/var' -mandir='${prefix}/man' -oldincludedir='/usr/include' -prefix='/usr/local/games/scorched3d' -program_transform_name='s,x,x,' -sbindir='${exec_prefix}/sbin' -sharedstatedir='${prefix}/com' -sysconfdir='${prefix}/etc' -target='i686-pc-linux-gnu' -target_alias='' -target_cpu='i686' -target_os='linux-gnu' -target_vendor='pc' - -## ----------- ## -## confdefs.h. ## -## ----------- ## - -#define HAVE_INTTYPES_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_OGG 1 -#define HAVE_SNPRINTF 1 -#define HAVE_STDINT_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_STRING_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_VSNPRINTF 1 -#define PACKAGE "scorched3d" -#define PACKAGE_BUGREPORT "" -#define PACKAGE_NAME "" -#define PACKAGE_STRING "" -#define PACKAGE_TARNAME "" -#define PACKAGE_VERSION "" -#define STDC_HEADERS 1 -#define VERSION "40" -#endif -#ifdef __cplusplus -#include - -configure: exit 0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/config.status /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/config.status --- /tmp/ZyiKWGPp1w/scorched3d-40/config.status 2006-07-16 00:15:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/config.status 1970-01-01 09:00:00.000000000 +0900 @@ -1,905 +0,0 @@ -#! /bin/sh -# Generated by configure. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=${CONFIG_SHELL-/bin/sh} -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - - -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} - - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - as_mkdir_p=false -fi - -as_executable_p="test -f" - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - -exec 6>&1 - -# Open the log real soon, to keep \$[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. Logging --version etc. is OK. -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX -} >&5 -cat >&5 <<_CSEOF - -This file was extended by $as_me, which was -generated by GNU Autoconf 2.57. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 -config_files=" Makefile src/Makefile src/scorched/Makefile" -config_commands=" depfiles" - -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - -Configuration files: -$config_files - -Configuration commands: -$config_commands - -Report bugs to ." -ac_cs_version="\ -config.status -configured by ./configure, generated by GNU Autoconf 2.57, - with options \"\" - -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." -srcdir=. -INSTALL="/usr/bin/install -c" -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - ac_shift=: - ;; - -*) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_option=$1 - ac_need_defaults=false;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:$LINENO: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" - ac_need_defaults=false;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -if $ac_cs_recheck; then - echo "running /bin/sh ./configure " $ac_configure_extra_args " --no-create --no-recursion" >&6 - exec /bin/sh ./configure $ac_configure_extra_args --no-create --no-recursion -fi - -# -# INIT-COMMANDS section. -# - -AMDEP_TRUE="" ac_aux_dir="." - -for ac_config_target in $ac_config_targets -do - case "$ac_config_target" in - # Handling of arguments. - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "src/scorched/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/scorched/Makefile" ;; - "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason to put it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Create a temporary directory, and hook for its removal unless debugging. -$debug || -{ - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} - -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./confstat$$-$RANDOM - (umask 077 && mkdir $tmp) -} || -{ - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - - -# -# CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF -s,@SHELL@,/bin/sh,;t t -s,@PATH_SEPARATOR@,:,;t t -s,@PACKAGE_NAME@,,;t t -s,@PACKAGE_TARNAME@,,;t t -s,@PACKAGE_VERSION@,,;t t -s,@PACKAGE_STRING@,,;t t -s,@PACKAGE_BUGREPORT@,,;t t -s,@exec_prefix@,${prefix},;t t -s,@prefix@,/usr/local/games/scorched3d,;t t -s,@program_transform_name@,s,x,x,,;t t -s,@bindir@,${exec_prefix}/bin,;t t -s,@sbindir@,${exec_prefix}/sbin,;t t -s,@libexecdir@,${exec_prefix}/libexec,;t t -s,@datadir@,${prefix}/share,;t t -s,@sysconfdir@,${prefix}/etc,;t t -s,@sharedstatedir@,${prefix}/com,;t t -s,@localstatedir@,${prefix}/var,;t t -s,@libdir@,${exec_prefix}/lib,;t t -s,@includedir@,${prefix}/include,;t t -s,@oldincludedir@,/usr/include,;t t -s,@infodir@,${prefix}/info,;t t -s,@mandir@,${prefix}/man,;t t -s,@build_alias@,,;t t -s,@host_alias@,,;t t -s,@target_alias@,,;t t -s,@DEFS@,-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"scorched3d\" -DVERSION=\"40\" -DHAVE_OGG=1 -DHAVE_VSNPRINTF=1 -DHAVE_SNPRINTF=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 ,;t t -s,@ECHO_C@,,;t t -s,@ECHO_N@,-n,;t t -s,@ECHO_T@,,;t t -s,@LIBS@, -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lSDL_net -lGL -lGLU -lpthread -L/usr/local/lib -lopenal -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk-2.4.a -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -ldl -lm -logg -lvorbis -lm -lvorbisfile -lfreetype,;t t -s,@build@,i686-pc-linux-gnu,;t t -s,@build_cpu@,i686,;t t -s,@build_vendor@,pc,;t t -s,@build_os@,linux-gnu,;t t -s,@host@,i686-pc-linux-gnu,;t t -s,@host_cpu@,i686,;t t -s,@host_vendor@,pc,;t t -s,@host_os@,linux-gnu,;t t -s,@target@,i686-pc-linux-gnu,;t t -s,@target_cpu@,i686,;t t -s,@target_vendor@,pc,;t t -s,@target_os@,linux-gnu,;t t -s,@INSTALL_PROGRAM@,${INSTALL},;t t -s,@INSTALL_SCRIPT@,${INSTALL},;t t -s,@INSTALL_DATA@,${INSTALL} -m 644,;t t -s,@PACKAGE@,scorched3d,;t t -s,@VERSION@,40,;t t -s,@ACLOCAL@,${SHELL} /opt/scorched3d-serversrc/scorched/missing --run aclocal-1.6,;t t -s,@AUTOCONF@,${SHELL} /opt/scorched3d-serversrc/scorched/missing --run autoconf,;t t -s,@AUTOMAKE@,${SHELL} /opt/scorched3d-serversrc/scorched/missing --run automake-1.6,;t t -s,@AUTOHEADER@,${SHELL} /opt/scorched3d-serversrc/scorched/missing --run autoheader,;t t -s,@MAKEINFO@,${SHELL} /opt/scorched3d-serversrc/scorched/missing --run makeinfo,;t t -s,@AMTAR@,${SHELL} /opt/scorched3d-serversrc/scorched/missing --run tar,;t t -s,@install_sh@,/opt/scorched3d-serversrc/scorched/install-sh,;t t -s,@STRIP@,,;t t -s,@ac_ct_STRIP@,,;t t -s,@INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t -s,@AWK@,gawk,;t t -s,@SET_MAKE@,,;t t -s,@CC@,gcc,;t t -s,@CFLAGS@,-g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -DS3D_DOCDIR=\"${datadir}\" -DS3D_DATADIR=\"${prefix}/share\" -DS3D_BINDIR=\"${exec_prefix}/bin\" -DdDOUBLE,;t t -s,@LDFLAGS@,-L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib,;t t -s,@CPPFLAGS@,-I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES,;t t -s,@ac_ct_CC@,gcc,;t t -s,@EXEEXT@,,;t t -s,@OBJEXT@,o,;t t -s,@DEPDIR@,.deps,;t t -s,@am__include@,include,;t t -s,@am__quote@,,;t t -s,@AMDEP_TRUE@,,;t t -s,@AMDEP_FALSE@,#,;t t -s,@AMDEPBACKSLASH@,\,;t t -s,@CCDEPMODE@,depmode=gcc3,;t t -s,@CXX@,g++,;t t -s,@CXXFLAGS@,-g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -DS3D_DOCDIR=\"${datadir}\" -DS3D_DATADIR=\"${prefix}/share\" -DS3D_BINDIR=\"${exec_prefix}/bin\" -DdDOUBLE,;t t -s,@ac_ct_CXX@,g++,;t t -s,@CXXDEPMODE@,depmode=gcc3,;t t -s,@RANLIB@,ranlib,;t t -s,@ac_ct_RANLIB@,ranlib,;t t -s,@SDL_CONFIG@,/usr/bin/sdl-config,;t t -s,@SDL_CFLAGS@,-I/usr/include/SDL -D_REENTRANT,;t t -s,@SDL_LIBS@,-L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread,;t t -s,@OPENAL_CONFIG@,/usr/local/bin/openal-config,;t t -s,@WX_CONFIG_PATH@,/usr/local/bin/wx-config,;t t -s,@WX_CPPFLAGS@,-I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES,;t t -s,@WX_CFLAGS@,-I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES,;t t -s,@WX_CXXFLAGS@,-I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES,;t t -s,@WX_CFLAGS_ONLY@,,;t t -s,@WX_CXXFLAGS_ONLY@,,;t t -s,@WX_LIBS@,-L/usr/local/lib -pthread /usr/local/lib/libwx_gtk-2.4.a -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -ldl -lm ,;t t -s,@WX_LIBS_STATIC@,-L/usr/local/lib -pthread /usr/local/lib/libwx_gtk-2.4.a -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm -ldl -lm ,;t t -s,@WX_VERSION@,2.4.1,;t t -s,@VORBIS_CFLAGS@,,;t t -s,@VORBIS_LIBS@, -lvorbis -lm,;t t -s,@VORBISFILE_LIBS@,-lvorbisfile,;t t -s,@VORBISENC_LIBS@,-lvorbisenc,;t t -s,@OGG_CFLAGS@,,;t t -s,@OGG_LIBS@, -logg,;t t -s,@FT2_CONFIG@,/usr/bin/freetype-config,;t t -s,@FT2_CFLAGS@,-I/usr/include/freetype2,;t t -s,@FT2_LIBS@,-lfreetype,;t t -s,@CPP@,gcc -E,;t t -s,@EGREP@,grep -E,;t t -s,@docdir@,${datadir},;t t -s,@LIBOBJS@,,;t t -s,@LTLIBOBJS@,,;t t -CEOF - - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" - -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; }; } - - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` - - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_builddir$INSTALL ;; - esac - - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - if test x"$ac_file" = x-; then - configure_input= - else - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } - sed "/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -} - -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@abs_srcdir@,$ac_abs_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t -s,@builddir@,$ac_builddir,;t t -s,@abs_builddir@,$ac_abs_builddir,;t t -s,@top_builddir@,$ac_top_builddir,;t t -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t -s,@INSTALL@,$ac_INSTALL,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi - -done - -# -# CONFIG_COMMANDS section. -# -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue - ac_dest=`echo "$ac_file" | sed 's,:.*,,'` - ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_dir=`(dirname "$ac_dest") 2>/dev/null || -$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_dest" : 'X\(//\)[^/]' \| \ - X"$ac_dest" : 'X\(//\)$' \| \ - X"$ac_dest" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_dest" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` - - - { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 -echo "$as_me: executing $ac_dest commands" >&6;} - case $ac_dest in - depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`(dirname "$mf") 2>/dev/null || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - else - continue - fi - grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue - # Extract the definition of DEP_FILES from the Makefile without - # running `make'. - DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` - test -z "$DEPDIR" && continue - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n -e '/^U = / s///p' < "$mf"` - test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" - # We invoke sed twice because it is the simplest approach to - # changing $(DEPDIR) to its actual value in the expansion. - for file in `sed -n -e ' - /^DEP_FILES = .*\\\\$/ { - s/^DEP_FILES = // - :loop - s/\\\\$// - p - n - /\\\\$/ b loop - p - } - /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`(dirname "$file") 2>/dev/null || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p $dirpart/$fdir - else - as_dir=$dirpart/$fdir - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 -echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} - { (exit 1); exit 1; }; }; } - - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done - ;; - esac -done - -{ (exit 0); exit 0; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/configure /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/configure --- /tmp/ZyiKWGPp1w/scorched3d-40/configure 2006-07-16 00:15:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/configure 2006-11-17 20:45:55.000000000 +0900 @@ -309,7 +309,7 @@ #endif" ac_default_prefix=/usr/local/games/scorched3d -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE RANLIB ac_ct_RANLIB SDL_CONFIG SDL_CFLAGS SDL_LIBS OPENAL_CONFIG WX_CONFIG_PATH WX_CPPFLAGS WX_CFLAGS WX_CXXFLAGS WX_CFLAGS_ONLY WX_CXXFLAGS_ONLY WX_LIBS WX_LIBS_STATIC WX_VERSION VORBIS_CFLAGS VORBIS_LIBS VORBISFILE_LIBS VORBISENC_LIBS OGG_CFLAGS OGG_LIBS FT2_CONFIG FT2_CFLAGS FT2_LIBS CPP EGREP docdir LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE RANLIB ac_ct_RANLIB SDL_CONFIG SDL_CFLAGS SDL_LIBS OPENAL_CONFIG FREEALUT_CONFIG WX_CONFIG_PATH WX_CPPFLAGS WX_CFLAGS WX_CXXFLAGS WX_CFLAGS_ONLY WX_CXXFLAGS_ONLY WX_LIBS WX_LIBS_STATIC WX_VERSION VORBIS_CFLAGS VORBIS_LIBS VORBISFILE_LIBS VORBISENC_LIBS OGG_CFLAGS OGG_LIBS FT2_CONFIG FT2_CFLAGS FT2_LIBS CPP EGREP docdir LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -3893,8 +3893,8 @@ else enable_openaltest=yes fi; -echo "$as_me:$LINENO: checking for OpenAL" >&5 -echo $ECHO_N "checking for OpenAL... $ECHO_C" >&6 +echo "$as_me:$LINENO: checking for OpenAL support" >&5 +echo $ECHO_N "checking for OpenAL support... $ECHO_C" >&6 # Extract the first word of "openal-config", so it can be a program name with args. set dummy openal-config; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 @@ -3935,12 +3935,14 @@ echo "${ECHO_T}no" >&6 fi -have_openal=yes if test x$OPENAL_CONFIG = xno; then echo "*** The openal-config script installed by OpenAL could not be found" echo "*** Make sure openal-config is in your path, or set the OPENAL_CONFIG" echo "*** environment variable to the full path to openal-config." - have_openal=no + + { { echo "$as_me:$LINENO: error: *** Can't find the openal library. Try: http://www.openal.org/" >&5 +echo "$as_me: error: *** Can't find the openal library. Try: http://www.openal.org/" >&2;} + { (exit 1); exit 1; }; } else if test x"$use_static_openal" = x"yes"; then @@ -3951,11 +3953,72 @@ CFLAGS="$CFLAGS `$OPENAL_CONFIG --cflags`" CXXFLAGS="$CXXFLAGS `$OPENAL_CONFIG --cflags`" + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +fi + +echo "$as_me:$LINENO: checking for Freealut support" >&5 +echo $ECHO_N "checking for Freealut support... $ECHO_C" >&6 +# Extract the first word of "freealut-config", so it can be a program name with args. +set dummy freealut-config; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_FREEALUT_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $FREEALUT_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_FREEALUT_CONFIG="$FREEALUT_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_FREEALUT_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_FREEALUT_CONFIG" && ac_cv_path_FREEALUT_CONFIG="no" + ;; +esac +fi +FREEALUT_CONFIG=$ac_cv_path_FREEALUT_CONFIG + +if test -n "$FREEALUT_CONFIG"; then + echo "$as_me:$LINENO: result: $FREEALUT_CONFIG" >&5 +echo "${ECHO_T}$FREEALUT_CONFIG" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +if test x$FREEALUT_CONFIG = xno; then + echo "*** Warning: The freealut-config script installed by OpenAL could not be found." + echo "*** The alut library is required, however some older OpenAL distribitions may include it." + echo "*** If Scorched3D fails to link check alut is in the link line." + echo "*** Alternatively, make sure freealut-config is in your path, or set the FREEALUT_CONFIG" + echo "*** environment variable to the full path to openal-config." +else + + CFLAGS="$CFLAGS `$FREEALUT_CONFIG --cflags`" + CXXFLAGS="$CXXFLAGS `$FREEALUT_CONFIG --cflags`" + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 fi echo "$as_me:$LINENO: checking for OpenAL compilation" >&5 echo $ECHO_N "checking for OpenAL compilation... $ECHO_C" >&6 -if test "x$enable_altest" = "xyes" ; then +if test "x$enable_openaltest" = "xyes" ; then + cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ @@ -3968,6 +4031,7 @@ #include #include + int main () { @@ -3997,18 +4061,77 @@ sed 's/^/| /' conftest.$ac_ext >&5 - have_openal=no + echo "*** Failed to compile using the OpenAL library." + echo "*** CFLAGS = $CFLAGS"; + { { echo "$as_me:$LINENO: error: *** Check the OpenAL library is correctly installed." >&5 +echo "$as_me: error: *** Check the OpenAL library is correctly installed." >&2;} + { (exit 1); exit 1; }; } fi rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $have_openal" >&5 -echo "${ECHO_T}$have_openal" >&6 -if test x$have_openal != xyes; then - { { echo "$as_me:$LINENO: error: *** Can't find the openal library. Try: http://www.openal.org/" >&5 -echo "$as_me: error: *** Can't find the openal library. Try: http://www.openal.org/" >&2;} + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + #include + #include + #include + + int main(int argc, char *argv[]) + { + alutInit(argc, argv); + return 0; + } +#undef main +#define main K_and_R_C_main + + +int +main () +{ + + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + have_openal=yes + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + + echo "*** Compiled but failed to link using the OpenAL library." + echo "*** LIBS = $LIBS"; + echo "*** Check the OpenAL library is on the LD_LIBRARY_PATH"; + { { echo "$as_me:$LINENO: error: *** Check the OpenAL library is correctly installed." >&5 +echo "$as_me: error: *** Check the OpenAL library is correctly installed." >&2;} { (exit 1); exit 1; }; } + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 fi echo "$as_me:$LINENO: checking for profiling enabled" >&5 @@ -4505,7 +4628,7 @@ elif test "x$ogg_prefix" != "x" ; then OGG_LIBS="-L$ogg_prefix/lib" elif test "x$prefix" != "xNONE" ; then - OGG_LIBS="-L$libdir" + OGG_LIBS="-L$prefix/lib" fi OGG_LIBS="$OGG_LIBS -logg" @@ -4514,8 +4637,8 @@ OGG_CFLAGS="-I$ogg_includes" elif test "x$ogg_prefix" != "x" ; then OGG_CFLAGS="-I$ogg_prefix/include" - elif test "$prefix" != "xNONE"; then - OGG_CFLAGS="" + elif test "x$prefix" != "xNONE"; then + OGG_CFLAGS="-I$prefix/include" fi echo "$as_me:$LINENO: checking for Ogg" >&5 @@ -4621,7 +4744,7 @@ elif test "x$vorbis_prefix" != "x" ; then VORBIS_LIBS="-L$vorbis_prefix/lib" elif test "x$prefix" != "xNONE"; then - VORBIS_LIBS="-L$libdir" + VORBIS_LIBS="-L$prefix/lib" fi VORBIS_LIBS="$VORBIS_LIBS -lvorbis -lm" @@ -4633,7 +4756,7 @@ elif test "x$vorbis_prefix" != "x" ; then VORBIS_CFLAGS="-I$vorbis_prefix/include" elif test "x$prefix" != "xNONE"; then - VORBIS_CFLAGS="" + VORBIS_CFLAGS="-I$prefix/include" fi @@ -4663,6 +4786,7 @@ #include #include #include +#include int main () { @@ -5159,7 +5283,9 @@ # Check for extra functions -for ac_func in vsnprintf snprintf + + +for ac_func in vsnprintf snprintf vasprintf asprintf do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -5868,7 +5994,7 @@ with_docdir=$withval fi; if test "x$with_docdir" = "x" ; then - docdir='${datadir}' + docdir='${datadir}/documentation' else docdir=$with_docdir fi @@ -6600,6 +6726,7 @@ s,@SDL_CFLAGS@,$SDL_CFLAGS,;t t s,@SDL_LIBS@,$SDL_LIBS,;t t s,@OPENAL_CONFIG@,$OPENAL_CONFIG,;t t +s,@FREEALUT_CONFIG@,$FREEALUT_CONFIG,;t t s,@WX_CONFIG_PATH@,$WX_CONFIG_PATH,;t t s,@WX_CPPFLAGS@,$WX_CPPFLAGS,;t t s,@WX_CFLAGS@,$WX_CFLAGS,;t t diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/configure.ac /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/configure.ac --- /tmp/ZyiKWGPp1w/scorched3d-40/configure.ac 2006-07-15 21:01:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/configure.ac 2006-10-03 06:45:15.000000000 +0900 @@ -101,14 +101,14 @@ AC_ARG_ENABLE(openaltest, [ --disable-openaltest Do not try to compile and run a test OpenAL program], , enable_openaltest=yes) -AC_MSG_CHECKING(for OpenAL) +AC_MSG_CHECKING(for OpenAL support) AC_PATH_PROG(OPENAL_CONFIG, openal-config, no) -have_openal=yes if test x$OPENAL_CONFIG = xno; then echo "*** The openal-config script installed by OpenAL could not be found" echo "*** Make sure openal-config is in your path, or set the OPENAL_CONFIG" echo "*** environment variable to the full path to openal-config." - have_openal=no + + AC_MSG_ERROR([*** Can't find the openal library. Try: http://www.openal.org/]) else if test x"$use_static_openal" = x"yes"; then @@ -119,25 +119,67 @@ CFLAGS="$CFLAGS `$OPENAL_CONFIG --cflags`" CXXFLAGS="$CXXFLAGS `$OPENAL_CONFIG --cflags`" + + AC_MSG_RESULT(yes) +fi + +AC_MSG_CHECKING(for Freealut support) +AC_PATH_PROG(FREEALUT_CONFIG, freealut-config, no) +if test x$FREEALUT_CONFIG = xno; then + echo "*** Warning: The freealut-config script installed by OpenAL could not be found." + echo "*** The alut library is required, however some older OpenAL distribitions may include it." + echo "*** If Scorched3D fails to link check alut is in the link line." + echo "*** Alternatively, make sure freealut-config is in your path, or set the FREEALUT_CONFIG" + echo "*** environment variable to the full path to openal-config." +else + + CFLAGS="$CFLAGS `$FREEALUT_CONFIG --cflags`" + CXXFLAGS="$CXXFLAGS `$FREEALUT_CONFIG --cflags`" + + AC_MSG_RESULT(yes) fi AC_MSG_CHECKING(for OpenAL compilation) -if test "x$enable_altest" = "xyes" ; then +if test "x$enable_openaltest" = "xyes" ; then + AC_TRY_COMPILE([ #include #include #include + ],[ ],[ - have_openal=yes + have_openal=yes ],[ - have_openal=no + echo "*** Failed to compile using the OpenAL library." + echo "*** CFLAGS = $CFLAGS"; + AC_MSG_ERROR([*** Check the OpenAL library is correctly installed.]) + ]) + + AC_TRY_LINK([ + #include + #include + #include + + int main(int argc, char *argv[]) + { + alutInit(argc, argv); + return 0; + } +#undef main +#define main K_and_R_C_main + + ],[ + ],[ + have_openal=yes + ],[ + echo "*** Compiled but failed to link using the OpenAL library." + echo "*** LIBS = $LIBS"; + echo "*** Check the OpenAL library is on the LD_LIBRARY_PATH"; + AC_MSG_ERROR([*** Check the OpenAL library is correctly installed.]) ]) -fi -AC_MSG_RESULT($have_openal) -if test x$have_openal != xyes; then - AC_MSG_ERROR([*** Can't find the openal library. Try: http://www.openal.org/]) + AC_MSG_RESULT(yes) fi dnl Checks for Profiling @@ -288,7 +330,7 @@ LIBS="$LIBS $FT2_LIBS" # Check for extra functions -AC_CHECK_FUNCS(vsnprintf snprintf) +AC_CHECK_FUNCS(vsnprintf snprintf vasprintf asprintf) # Check for extra headers AC_CHECK_HEADERS(unistd.h) @@ -300,7 +342,7 @@ [Use DIR to store documentation files (default DATADIR)]), [with_docdir=$withval]) if test "x$with_docdir" = "x" ; then - docdir='${datadir}' + docdir='${datadir}/documentation' else docdir=$with_docdir fi diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/banana/banana.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/banana/banana.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/banana/banana.txt 2004-05-03 07:12:22.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/banana/banana.txt 2006-10-28 15:06:19.000000000 +0900 @@ -245,7 +245,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/barrage/barrage.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/barrage/barrage.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/barrage/barrage.txt 2003-10-11 08:31:55.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/barrage/barrage.txt 2006-10-28 15:06:19.000000000 +0900 @@ -677,18 +677,19 @@ Materials: 2 "white" -0.200000 0.200000 0.200000 1.000000 -0.800000 0.800000 0.800000 1.000000 -0.000000 0.000000 0.000000 1.000000 +0.8 0.8 0.8 1.0 +0.8 0.8 0.8 1.0 +0.5 0.5 0.5 1.0 0.000000 0.000000 0.000000 1.000000 0.000000 1.000000 ".\white.bmp" "" + "yellow" -0.200000 0.200000 0.200000 1.000000 -0.800000 0.800000 0.800000 1.000000 -0.000000 0.000000 0.000000 1.000000 +0.8 0.8 0.8 1.0 +0.8 0.8 0.8 1.0 +0.5 0.5 0.5 1.0 0.000000 0.000000 0.000000 1.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/beer_bottle/bottle.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/beer_bottle/bottle.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/beer_bottle/bottle.txt 2005-03-19 20:54:19.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/beer_bottle/bottle.txt 2006-10-28 15:06:19.000000000 +0900 @@ -613,7 +613,7 @@ "Material" 0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.8 0.8 0.8 1.0 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/bomb/bomb.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/bomb/bomb.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/bomb/bomb.txt 2003-12-02 15:27:18.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/bomb/bomb.txt 2006-10-28 15:06:19.000000000 +0900 @@ -424,8 +424,8 @@ Materials: 2 "Material01" -1.000000 1.000000 1.000000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.8 0.8 0.8 1.0 +0.8 0.8 0.8 1.0 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 2.000000 @@ -433,8 +433,8 @@ ".\black.bmp" "" "Material02" -0.200000 0.200000 0.200000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.8 0.8 0.8 1.0 +0.8 0.8 0.8 1.0 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/bomblet/bomblet.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/bomblet/bomblet.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/bomblet/bomblet.txt 2003-12-02 15:23:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/bomblet/bomblet.txt 2006-10-28 15:06:19.000000000 +0900 @@ -70,7 +70,7 @@ Materials: 1 "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/bouncingbetty/bouncingbetty.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/bouncingbetty/bouncingbetty.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/bouncingbetty/bouncingbetty.txt 2003-12-02 15:22:53.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/bouncingbetty/bouncingbetty.txt 2006-10-28 15:06:19.000000000 +0900 @@ -170,7 +170,7 @@ Materials: 1 "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/digger/digger.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/digger/digger.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/digger/digger.txt 2003-12-02 16:08:31.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/digger/digger.txt 2006-10-28 15:06:19.000000000 +0900 @@ -336,7 +336,7 @@ Materials: 2 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -345,7 +345,7 @@ ".\black.bmp" "" "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/dirt/dirt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/dirt/dirt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/dirt/dirt.txt 2004-11-02 01:49:25.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/dirt/dirt.txt 2006-10-28 15:06:19.000000000 +0900 @@ -797,7 +797,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/fatman/fatman.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/fatman/fatman.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/fatman/fatman.txt 2003-10-11 09:45:24.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/fatman/fatman.txt 2006-10-28 15:06:19.000000000 +0900 @@ -990,7 +990,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/hawkmissile/hawk.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/hawkmissile/hawk.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/hawkmissile/hawk.txt 2003-10-11 08:31:32.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/hawkmissile/hawk.txt 2006-10-28 15:06:19.000000000 +0900 @@ -406,8 +406,8 @@ Materials: 2 "Material01" -0.200000 0.200000 0.200000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 94.000000 @@ -415,7 +415,7 @@ ".\white.bmp" "" "flame" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/herring/herring.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/herring/herring.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/herring/herring.txt 2005-02-12 22:52:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/herring/herring.txt 2006-10-28 15:06:19.000000000 +0900 @@ -866,7 +866,7 @@ Materials: 2 "eyes" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -875,10 +875,10 @@ ".\eyes.bmp" "" "body" -0.501961 0.000000 0.000000 1.000000 -0.250980 0.000000 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 0.000000 0.000000 1.000000 -0.501961 0.000000 0.000000 1.000000 +0.000000 0.000000 0.000000 1.000000 128.000000 1.000000 ".\body.bmp" diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/icbm/icbm.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/icbm/icbm.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/icbm/icbm.txt 2003-10-20 06:00:32.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/icbm/icbm.txt 2006-10-28 15:06:19.000000000 +0900 @@ -992,7 +992,7 @@ Materials: 3 "white" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1001,7 +1001,7 @@ ".\white.bmp" "" "yellow" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1010,7 +1010,7 @@ ".\yellow.bmp" ".\gradient.bmp" "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/laser/hlaser.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/laser/hlaser.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/laser/hlaser.txt 2005-06-24 18:27:54.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/laser/hlaser.txt 2006-10-28 15:06:19.000000000 +0900 @@ -141,7 +141,7 @@ Materials: 1 "Material04" -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/laser/laser.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/laser/laser.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/laser/laser.txt 2005-06-24 18:27:54.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/laser/laser.txt 2006-10-28 15:06:19.000000000 +0900 @@ -141,7 +141,7 @@ Materials: 1 "Material04" -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/littleboy/littleboy.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/littleboy/littleboy.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/littleboy/littleboy.txt 2003-10-11 09:45:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/littleboy/littleboy.txt 2006-10-28 15:06:19.000000000 +0900 @@ -609,7 +609,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/m48/m48.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/m48/m48.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/m48/m48.txt 2003-11-28 18:17:46.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/m48/m48.txt 2006-10-28 15:06:19.000000000 +0900 @@ -304,7 +304,7 @@ Materials: 2 "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -313,7 +313,7 @@ ".\white.bmp" "" "Material04" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/mirvwarhead/mirvwarhead.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/mirvwarhead/mirvwarhead.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/mirvwarhead/mirvwarhead.txt 2003-12-02 15:26:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/mirvwarhead/mirvwarhead.txt 2006-10-28 15:06:19.000000000 +0900 @@ -123,7 +123,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/napalm/napalm.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/napalm/napalm.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/napalm/napalm.txt 2004-11-02 01:49:25.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/napalm/napalm.txt 2006-10-28 15:06:19.000000000 +0900 @@ -425,7 +425,7 @@ Materials: 1 "HVR.bmp" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/palmtree/burntpalm2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/palmtree/burntpalm2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/palmtree/burntpalm2.txt 2003-11-27 07:56:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/palmtree/burntpalm2.txt 2006-10-28 15:06:19.000000000 +0900 @@ -54,7 +54,7 @@ Materials: 1 "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/palmtree/burntpalm.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/palmtree/burntpalm.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/palmtree/burntpalm.txt 2003-11-27 07:56:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/palmtree/burntpalm.txt 2006-10-28 15:06:19.000000000 +0900 @@ -65,7 +65,7 @@ Materials: 1 "Material04" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/palmtree/palm2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/palmtree/palm2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/palmtree/palm2.txt 2003-11-27 07:56:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/palmtree/palm2.txt 2006-10-28 15:06:19.000000000 +0900 @@ -264,7 +264,7 @@ Materials: 2 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -273,7 +273,7 @@ ".\tan.bmp" "" "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/palmtree/palm.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/palmtree/palm.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/palmtree/palm.txt 2003-11-27 07:56:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/palmtree/palm.txt 2006-10-28 15:06:19.000000000 +0900 @@ -135,7 +135,7 @@ Materials: 2 "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -144,7 +144,7 @@ ".\tan.bmp" "" "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/patriot/patriot.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/patriot/patriot.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/patriot/patriot.txt 2003-11-29 05:37:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/patriot/patriot.txt 2006-10-28 15:06:19.000000000 +0900 @@ -495,8 +495,8 @@ Materials: 2 "Material01" -0.200000 0.200000 0.200000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 94.000000 @@ -504,7 +504,7 @@ ".\white.bmp" "" "flame" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/pinguins/2pinguins.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/pinguins/2pinguins.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/pinguins/2pinguins.txt 2006-06-16 23:29:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/pinguins/2pinguins.txt 2006-10-28 15:06:19.000000000 +0900 @@ -1193,8 +1193,8 @@ Materials: 2 "birdmat" -0.439216 0.439216 0.439216 1.000000 -0.666667 0.666667 0.666667 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -1202,8 +1202,8 @@ ".\birdmat.bmp" "" "birdmat" -0.439216 0.439216 0.439216 1.000000 -0.666667 0.666667 0.666667 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/pinguins/pinguin1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/pinguins/pinguin1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/pinguins/pinguin1.txt 2006-06-16 23:29:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/pinguins/pinguin1.txt 2006-10-28 15:06:19.000000000 +0900 @@ -592,8 +592,8 @@ Materials: 1 "birdmat" -0.439216 0.439216 0.439216 1.000000 -0.666667 0.666667 0.666667 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/pinguins/pinguin2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/pinguins/pinguin2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/pinguins/pinguin2.txt 2006-06-16 23:29:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/pinguins/pinguin2.txt 2006-10-28 15:06:19.000000000 +0900 @@ -607,8 +607,8 @@ Materials: 1 "birdmat" -0.439216 0.439216 0.439216 1.000000 -0.666667 0.666667 0.666667 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/pwrcrate/pwrcrate.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/pwrcrate/pwrcrate.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/pwrcrate/pwrcrate.txt 2006-04-05 09:42:09.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/pwrcrate/pwrcrate.txt 2006-10-28 15:06:19.000000000 +0900 @@ -497,7 +497,7 @@ Materials: 1 "pwrcrate" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/riot/riot.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/riot/riot.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/riot/riot.txt 2004-11-02 01:49:25.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/riot/riot.txt 2006-10-28 15:06:19.000000000 +0900 @@ -293,7 +293,7 @@ Materials: 2 "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -302,7 +302,7 @@ ".\base.bmp" "" "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/roller/roller.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/roller/roller.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/roller/roller.txt 2006-07-03 01:24:48.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/roller/roller.txt 2006-10-28 15:06:19.000000000 +0900 @@ -1759,7 +1759,6 @@ 1 396 397 398 132 132 132 1 Materials: 2 - "Material.001" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -1769,8 +1768,6 @@ 1.0 ".\roller.bmp" "" - - "Material.001" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/sa6/sa6.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/sa6/sa6.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/sa6/sa6.txt 2003-11-03 19:36:52.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/sa6/sa6.txt 2006-10-28 15:06:19.000000000 +0900 @@ -671,7 +671,7 @@ Materials: 2 "Material06" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -680,7 +680,7 @@ ".\white.bmp" "" "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/shack/shack.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/shack/shack.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/shack/shack.txt 2006-05-22 22:03:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/shack/shack.txt 2006-10-28 15:06:19.000000000 +0900 @@ -457,7 +457,7 @@ Materials: 3 "other" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -466,7 +466,7 @@ ".\shack.bmp" "" "roof" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -475,7 +475,7 @@ ".\roof.bmp" "" "window" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/shell/shell.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/shell/shell.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/shell/shell.txt 2003-11-03 19:37:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/shell/shell.txt 2006-10-28 15:06:19.000000000 +0900 @@ -258,7 +258,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/burntsmallpine.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/burntsmallpine.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/burntsmallpine.txt 2003-11-03 19:39:18.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/burntsmallpine.txt 2006-10-28 15:06:19.000000000 +0900 @@ -22,7 +22,7 @@ Materials: 1 "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/smallpine2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/smallpine2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/smallpine2.txt 2003-11-27 07:52:40.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/smallpine2.txt 2006-10-28 15:06:19.000000000 +0900 @@ -85,7 +85,7 @@ Materials: 2 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -94,7 +94,7 @@ ".\tan.bmp" "" "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/smallpine3.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/smallpine3.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/smallpine3.txt 2003-11-27 07:52:40.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/smallpine3.txt 2006-10-28 15:06:19.000000000 +0900 @@ -46,7 +46,7 @@ Materials: 2 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -55,7 +55,7 @@ ".\tan.bmp" "" "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/smallpine.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/smallpine.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/smallpine.txt 2004-02-06 05:07:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/smallpine.txt 2006-10-28 15:06:19.000000000 +0900 @@ -85,7 +85,7 @@ Materials: 1 "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/wintersmallpine2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/wintersmallpine2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/wintersmallpine2.txt 2003-11-27 07:52:40.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/wintersmallpine2.txt 2006-10-28 15:06:19.000000000 +0900 @@ -85,7 +85,7 @@ Materials: 2 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -94,7 +94,7 @@ ".\tan.bmp" "" "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/wintersmallpine3.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/wintersmallpine3.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/wintersmallpine3.txt 2003-11-27 07:52:40.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/wintersmallpine3.txt 2006-10-28 15:06:19.000000000 +0900 @@ -46,7 +46,7 @@ Materials: 2 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -55,7 +55,7 @@ ".\tan.bmp" "" "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/wintersmallpine.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/wintersmallpine.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/smallpine/wintersmallpine.txt 2003-11-27 07:52:40.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/smallpine/wintersmallpine.txt 2006-10-28 15:06:19.000000000 +0900 @@ -85,7 +85,7 @@ Materials: 2 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -94,7 +94,7 @@ ".\tan.bmp" "" "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/sonicring/sonicring.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/sonicring/sonicring.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/sonicring/sonicring.txt 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/sonicring/sonicring.txt 2006-10-28 15:06:19.000000000 +0900 @@ -848,8 +848,8 @@ Materials: 5 "gold" -0.843137 0.870588 0.254902 1.000000 -0.984314 1.000000 0.384314 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.172549 0.176471 0.000000 1.000000 27.000000 @@ -857,8 +857,8 @@ ".\sonicring.bmp" "" "purple" -0.678431 0.090196 0.933333 1.000000 -0.925490 0.752941 0.929412 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.745098 0.258824 0.756863 1.000000 0.811765 0.219608 0.752941 1.000000 0.000000 @@ -866,8 +866,8 @@ ".\sonicring.bmp" "" "red" -0.909804 0.149020 0.149020 1.000000 -0.941177 0.607843 0.615686 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.929412 0.588235 0.596078 1.000000 1.000000 0.035294 0.058824 1.000000 0.000000 @@ -875,8 +875,8 @@ ".\sonicring.bmp" "" "green" -0.094118 0.670588 0.266667 1.000000 -0.705882 0.960784 0.639216 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.070588 0.662745 0.086275 1.000000 0.545098 1.000000 0.349020 1.000000 0.000000 @@ -884,8 +884,8 @@ ".\sonicring.bmp" "" "blue" -0.145098 0.607843 0.886275 1.000000 -0.247059 0.317647 0.960784 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.262745 0.835294 0.878431 1.000000 0.470588 0.521569 0.960784 1.000000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/teleport/teleport.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/teleport/teleport.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/teleport/teleport.txt 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/teleport/teleport.txt 2006-10-28 15:06:19.000000000 +0900 @@ -1030,8 +1030,8 @@ Materials: 8 "swirl" -0.403922 0.988235 0.988235 0.830000 -1.000000 1.000000 1.000000 0.830000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 0.830000 0.976471 0.984314 0.729412 0.830000 0.039216 0.160784 0.172549 0.830000 0.000000 @@ -1039,8 +1039,8 @@ ".\base.bmp" "" "base" -0.200000 0.200000 0.200000 1.000000 -0.623529 0.623529 0.623529 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -1048,8 +1048,8 @@ ".\base.bmp" "" "ramp" -0.200000 0.200000 0.200000 1.000000 -0.615686 0.615686 0.615686 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -1057,8 +1057,8 @@ ".\detail.bmp" "" "generator" -0.200000 0.200000 0.200000 1.000000 -0.694118 0.694118 0.694118 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -1066,8 +1066,8 @@ ".\detail.bmp" "" "tube" -0.200000 0.200000 0.200000 1.000000 -0.725490 0.725490 0.725490 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -1075,8 +1075,8 @@ ".\detail.bmp" "" "pwrrsource" -0.200000 0.200000 0.200000 1.000000 -0.615686 0.615686 0.615686 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -1084,8 +1084,8 @@ ".\base.bmp" "" "pwrdetail1" -0.678431 0.862745 0.972549 1.000000 -0.415686 0.976471 0.976471 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -1093,8 +1093,8 @@ ".\detail.bmp" "" "pwrdetail2" -0.200000 0.200000 0.200000 1.000000 -0.619608 0.917647 0.980392 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/v2missile/v2missile.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/v2missile/v2missile.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories/v2missile/v2missile.txt 2003-10-11 08:32:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories/v2missile/v2missile.txt 2006-10-28 15:06:19.000000000 +0900 @@ -849,8 +849,8 @@ Materials: 3 "Material01" -0.200000 0.200000 0.200000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -858,8 +858,8 @@ ".\yellow.bmp" ".\gradient.bmp" "Material02" -0.200000 0.200000 0.200000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -867,7 +867,7 @@ ".\black.bmp" "" "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/accessories.xml 2006-06-12 23:40:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/accessories.xml 2006-10-17 18:53:10.000000000 +0900 @@ -10,7 +10,9 @@ misc/para.wav 8 10000 - + + + Battery @@ -28,27 +30,40 @@ 7 Allows the tank to move. When it is the players turn the tank may choose -to move rather than fire. +to move rather than fire. Maximum range is 50. fuel.bmp battery/battery.wav 40 6000 - + + + 0.05 + 50 + + + fuel + fuel Rocket Fuel 7 Allows the tank to move very fast. When it is the players turn the tank may choose -to move rather than fire. +to move rather than fire. Maximum range is 75. fuel.bmp battery/battery.wav 30 10000 - - 0.025 + + + 0.025 + 75 + + + fuel + fuel Shield @@ -61,7 +76,7 @@ shield/activate.wav 3 20000 - + 3.0 false @@ -85,7 +100,7 @@ shield/activate.wav 2 25000 - + 6.0 false @@ -109,7 +124,7 @@ shield/activateforce.wav 2 30000 - + 5.0 false 1.0 @@ -136,7 +151,7 @@ shield/activmag.wav 2 10000 - + 3.0 true 50 @@ -163,7 +178,7 @@ shield/activmag.wav 2 20000 - + 6.0 true 100 @@ -977,7 +992,7 @@ Spread MIRV - 5 + 6 A projectile weapon that on reaching its highest point releases several small warheads. These warheads fan out @@ -1409,7 +1424,7 @@ TestShield true - + 8.0 false @@ -1450,4 +1465,86 @@ + + + + Teleport Test + 0 + 1 + teleport/teleport.txt + + 15000 + + + data/wav/misc/teleport.wav + 2.0 + + + limit + 40 + + + + + Team Action Test + 0 + 1 + 15000 + + + data/wav/misc/teleport.wav + 2.0 + + + + + + Type Action Test + 0 + 1 + 15000 + + + data/wav/misc/teleport.wav + 2.0 + + + + + + GroupWin + 0 + + Destroyed group bob + 1 + + + + + TestSquareShield + 0 + 8 + shield.bmp + shield/activate.wav + 3 + 20000 + + team1 + 1.0 + + 3.0 + 3.0 + 3.0 + + + 1.0 + 1.0 + 1.0 + + shield/hit.wav + 20 + 1.0 + 100 + + Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/fonts/testout.ttf and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/fonts/testout.ttf differ Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/fonts/test.ttf and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/fonts/test.ttf differ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/fonts/VERA-COPYRIGHT.TXT /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/fonts/VERA-COPYRIGHT.TXT --- /tmp/ZyiKWGPp1w/scorched3d-40/data/fonts/VERA-COPYRIGHT.TXT 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/fonts/VERA-COPYRIGHT.TXT 2006-08-09 22:17:29.000000000 +0900 @@ -0,0 +1,124 @@ +Bitstream Vera Fonts Copyright + +The fonts have a generous copyright, allowing derivative works (as +long as "Bitstream" or "Vera" are not in the names), and full +redistribution (so long as they are not *sold* by themselves). They +can be be bundled, redistributed and sold with any software. + +The fonts are distributed under the following copyright: + +Copyright +========= + +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream +Vera is a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the fonts accompanying this license ("Fonts") and associated +documentation files (the "Font Software"), to reproduce and distribute +the Font Software, including without limitation the rights to use, +copy, merge, publish, distribute, and/or sell copies of the Font +Software, and to permit persons to whom the Font Software is furnished +to do so, subject to the following conditions: + +The above copyright and trademark notices and this permission notice +shall be included in all copies of one or more of the Font Software +typefaces. + +The Font Software may be modified, altered, or added to, and in +particular the designs of glyphs or characters in the Fonts may be +modified and additional glyphs or characters may be added to the +Fonts, only if the fonts are renamed to names not containing either +the words "Bitstream" or the word "Vera". + +This License becomes null and void to the extent applicable to Fonts +or Font Software that has been modified and is distributed under the +"Bitstream Vera" names. + +The Font Software may be sold as part of a larger software package but +no copy of one or more of the Font Software typefaces may be sold by +itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL +BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, +OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT +SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. + +Except as contained in this notice, the names of Gnome, the Gnome +Foundation, and Bitstream Inc., shall not be used in advertising or +otherwise to promote the sale, use or other dealings in this Font +Software without prior written authorization from the Gnome Foundation +or Bitstream Inc., respectively. For further information, contact: +fonts at gnome dot org. + +Copyright FAQ +============= + + 1. I don't understand the resale restriction... What gives? + + Bitstream is giving away these fonts, but wishes to ensure its + competitors can't just drop the fonts as is into a font sale system + and sell them as is. It seems fair that if Bitstream can't make money + from the Bitstream Vera fonts, their competitors should not be able to + do so either. You can sell the fonts as part of any software package, + however. + + 2. I want to package these fonts separately for distribution and + sale as part of a larger software package or system. Can I do so? + + Yes. A RPM or Debian package is a "larger software package" to begin + with, and you aren't selling them independently by themselves. + See 1. above. + + 3. Are derivative works allowed? + Yes! + + 4. Can I change or add to the font(s)? + Yes, but you must change the name(s) of the font(s). + + 5. Under what terms are derivative works allowed? + + You must change the name(s) of the fonts. This is to ensure the + quality of the fonts, both to protect Bitstream and Gnome. We want to + ensure that if an application has opened a font specifically of these + names, it gets what it expects (though of course, using fontconfig, + substitutions could still could have occurred during font + opening). You must include the Bitstream copyright. Additional + copyrights can be added, as per copyright law. Happy Font Hacking! + + 6. If I have improvements for Bitstream Vera, is it possible they might get + adopted in future versions? + + Yes. The contract between the Gnome Foundation and Bitstream has + provisions for working with Bitstream to ensure quality additions to + the Bitstream Vera font family. Please contact us if you have such + additions. Note, that in general, we will want such additions for the + entire family, not just a single font, and that you'll have to keep + both Gnome and Jim Lyles, Vera's designer, happy! To make sense to add + glyphs to the font, they must be stylistically in keeping with Vera's + design. Vera cannot become a "ransom note" font. Jim Lyles will be + providing a document describing the design elements used in Vera, as a + guide and aid for people interested in contributing to Vera. + + 7. I want to sell a software package that uses these fonts: Can I do so? + + Sure. Bundle the fonts with your software and sell your software + with the fonts. That is the intent of the copyright. + + 8. If applications have built the names "Bitstream Vera" into them, + can I override this somehow to use fonts of my choosing? + + This depends on exact details of the software. Most open source + systems and software (e.g., Gnome, KDE, etc.) are now converting to + use fontconfig (see www.fontconfig.org) to handle font configuration, + selection and substitution; it has provisions for overriding font + names and subsituting alternatives. An example is provided by the + supplied local.conf file, which chooses the family Bitstream Vera for + "sans", "serif" and "monospace". Other software (e.g., the XFree86 + core server) has other mechanisms for font substitution. + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/authors.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/authors.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/authors.txt 2006-07-05 10:53:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/authors.txt 2006-08-03 12:52:01.000000000 +0900 @@ -22,7 +22,7 @@ Projectile Models: - bullet, shotgunshell, moab, tsarbomba Object Models: - - gasstation1, office3, nuclearplant, 9volt, medkit, cash, mushroom, parachute, container + - gasstation1, office3, nuclearplant, 9volt, medkit, cash, mushroom, parachute, container, fleshpod, acidpod, igloo, male1 - All custom accessory xml unless stated otherwise - All the additional xml (updating landscapes, object placement, ai types, etc) - Scaling, repositioning, poly reduction and retexturing of the object models diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/bar1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/bar1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/bar1.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/bar1.txt 2006-10-22 11:24:39.000000000 +0900 @@ -435,7 +435,7 @@ Materials: 7 "cheers" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -444,16 +444,16 @@ ".\builds2.bmp" "" "open" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 -0.000000 0.000000 0.000000 1.000000 +0.500000 0.500000 0.500000 1.000000 0.000000 1.000000 ".\builds2.bmp" "" "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -462,7 +462,7 @@ ".\builds1.bmp" "" "window1" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -471,7 +471,7 @@ ".\builds2.bmp" "" "brick" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -480,7 +480,7 @@ ".\builds2.bmp" "" "sidewin" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -489,7 +489,7 @@ ".\builds2.bmp" "" "glass" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/church1burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/church1burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/church1burnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/church1burnt.txt 2006-10-22 11:24:39.000000000 +0900 @@ -976,7 +976,7 @@ Materials: 5 "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -985,7 +985,7 @@ ".\builds1.bmp" "" "gold" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -994,7 +994,7 @@ ".\builds2.bmp" "" "stainglass" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1003,7 +1003,7 @@ ".\builds1.bmp" "" "dark" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1012,7 +1012,7 @@ ".\builds1.bmp" "" "frame" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/church1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/church1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/church1.txt 2006-02-20 04:01:55.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/church1.txt 2006-10-22 11:24:39.000000000 +0900 @@ -996,7 +996,7 @@ Materials: 5 "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1005,7 +1005,7 @@ ".\builds1.bmp" "" "gold" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1014,7 +1014,7 @@ ".\builds2.bmp" "" "stain" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1023,7 +1023,7 @@ ".\builds1.bmp" "" "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1032,7 +1032,7 @@ ".\builds2.bmp" "" "frame" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/factory1burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/factory1burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/factory1burnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/factory1burnt.txt 2006-10-22 11:24:39.000000000 +0900 @@ -1857,7 +1857,7 @@ Materials: 4 "windows" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1866,7 +1866,7 @@ ".\builds1.bmp" "" "stacks" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1875,7 +1875,7 @@ ".\builds1.bmp" "" "framegrey" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1884,7 +1884,7 @@ ".\builds1.bmp" "" "beams" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/factory1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/factory1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/factory1.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/factory1.txt 2006-10-22 11:24:39.000000000 +0900 @@ -2122,7 +2122,7 @@ Materials: 3 "windows" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2131,7 +2131,7 @@ ".\builds1.bmp" "" "stacks" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2140,7 +2140,7 @@ ".\builds1.bmp" "" "dingy" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/farm1burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/farm1burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/farm1burnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/farm1burnt.txt 2006-10-22 11:24:39.000000000 +0900 @@ -444,7 +444,7 @@ Materials: 4 "redsiding" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -453,7 +453,7 @@ ".\builds2.bmp" "" "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -462,7 +462,7 @@ ".\builds2.bmp" "" "metal" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -471,7 +471,7 @@ ".\builds2.bmp" "" "shack" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/farm1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/farm1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/farm1.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/farm1.txt 2006-10-22 11:24:39.000000000 +0900 @@ -601,16 +601,16 @@ Materials: 4 "white" -0.678431 0.678431 0.678431 1.000000 0.800000 0.800000 0.800000 1.000000 -0.070588 0.070588 0.070588 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 21.000000 1.000000 ".\builds2.bmp" "" "shingles" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -619,16 +619,16 @@ ".\builds1.bmp" "" "redsiding" -0.200000 0.200000 0.200000 1.000000 -0.623529 0.623529 0.623529 1.000000 -0.415686 0.415686 0.415686 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 8.000000 1.000000 ".\builds2.bmp" "" "doors" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/gasstation1burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/gasstation1burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/gasstation1burnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/gasstation1burnt.txt 2006-10-22 11:24:39.000000000 +0900 @@ -534,16 +534,16 @@ Materials: 6 "concrete" -0.192157 0.192157 0.192157 1.000000 -0.690196 0.690196 0.690196 1.000000 -0.435294 0.435294 0.435294 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 2.000000 1.000000 ".\builds1.bmp" "" "sidewall" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -552,7 +552,7 @@ ".\builds1.bmp" "" "rooftop" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -561,7 +561,7 @@ ".\builds2.bmp" "" "rooffront" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -570,7 +570,7 @@ ".\builds2.bmp" "" "storefront" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -579,7 +579,7 @@ ".\builds2.bmp" "" "pump" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/gasstation1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/gasstation1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/gasstation1.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/gasstation1.txt 2006-10-22 11:24:39.000000000 +0900 @@ -515,16 +515,16 @@ Materials: 6 "concrete" -0.192157 0.192157 0.192157 1.000000 -0.690196 0.690196 0.690196 1.000000 -0.435294 0.435294 0.435294 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 2.000000 1.000000 ".\builds1.bmp" "" "sidewall" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -533,7 +533,7 @@ ".\builds2.bmp" "" "rooftop" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -542,7 +542,7 @@ ".\builds2.bmp" "" "rooffront" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -551,7 +551,7 @@ ".\builds2.bmp" "" "storefront" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -560,7 +560,7 @@ ".\builds2.bmp" "" "pump" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/hospital.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/hospital.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/hospital.txt 2006-03-19 14:47:48.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/hospital.txt 2006-10-22 11:24:39.000000000 +0900 @@ -418,7 +418,7 @@ Materials: 1 "builds-4" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/house1-2burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/house1-2burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/house1-2burnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/house1-2burnt.txt 2006-10-22 11:24:39.000000000 +0900 @@ -1607,7 +1607,7 @@ Materials: 6 "step" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1616,7 +1616,7 @@ ".\builds2.bmp" "" "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1625,7 +1625,7 @@ ".\builds1.bmp" "" "brick" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1634,7 +1634,7 @@ ".\builds1.bmp" "" "windows" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1643,7 +1643,7 @@ ".\builds2.bmp" "" "roof" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1652,7 +1652,7 @@ ".\builds1.bmp" "" "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/house1-2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/house1-2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/house1-2.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/house1-2.txt 2006-10-22 11:24:39.000000000 +0900 @@ -413,7 +413,7 @@ Materials: 6 "step" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -422,7 +422,7 @@ ".\builds2.bmp" "" "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -431,7 +431,7 @@ ".\builds1.bmp" "" "whitepanel" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -440,7 +440,7 @@ ".\builds1.bmp" "" "windows" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -449,7 +449,7 @@ ".\builds2.bmp" "" "roof" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -458,7 +458,7 @@ ".\builds1.bmp" "" "redbrick" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/house1-3burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/house1-3burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/house1-3burnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/house1-3burnt.txt 2006-10-22 11:24:39.000000000 +0900 @@ -1617,7 +1617,7 @@ Materials: 6 "step" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1626,7 +1626,7 @@ ".\builds2.bmp" "" "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1635,7 +1635,7 @@ ".\builds1.bmp" "" "brick" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1644,7 +1644,7 @@ ".\builds2.bmp" "" "windows" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1653,7 +1653,7 @@ ".\builds2.bmp" "" "roof" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1662,7 +1662,7 @@ ".\builds1.bmp" "" "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/house1-3.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/house1-3.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/house1-3.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/house1-3.txt 2006-10-22 11:24:39.000000000 +0900 @@ -477,7 +477,7 @@ Materials: 5 "step" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -486,7 +486,7 @@ ".\builds1.bmp" "" "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -495,8 +495,8 @@ ".\builds1.bmp" "" "walls" -0.494118 0.219608 0.203922 1.000000 -0.623529 0.623529 0.623529 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -504,7 +504,7 @@ ".\builds2.bmp" "" "windows" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -513,7 +513,7 @@ ".\builds2.bmp" "" "roof" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/house1burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/house1burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/house1burnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/house1burnt.txt 2006-10-22 11:24:39.000000000 +0900 @@ -1621,7 +1621,7 @@ Materials: 6 "step" -0.200000 0.200000 0.200000 1.000000 +0.400000 0.400000 0.400000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1630,7 +1630,7 @@ ".\builds2.bmp" "" "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1639,7 +1639,7 @@ ".\builds1.bmp" "" "brick" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1648,7 +1648,7 @@ ".\builds1.bmp" "" "windows" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1657,7 +1657,7 @@ ".\builds2.bmp" "" "roof" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1666,7 +1666,7 @@ ".\builds1.bmp" "" "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/house1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/house1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/house1.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/house1.txt 2006-10-22 11:24:39.000000000 +0900 @@ -477,7 +477,7 @@ Materials: 5 "step" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -486,7 +486,7 @@ ".\builds1.bmp" "" "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -495,8 +495,8 @@ ".\builds1.bmp" "" "walls" -0.494118 0.219608 0.203922 1.000000 -0.623529 0.623529 0.623529 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -504,7 +504,7 @@ ".\builds1.bmp" "" "windows" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -513,7 +513,7 @@ ".\builds2.bmp" "" "roof" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/igloo.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/igloo.bmp differ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/igloo.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/igloo.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/igloo.txt 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/igloo.txt 2006-10-22 11:24:39.000000000 +0900 @@ -0,0 +1,459 @@ +// MilkShape 3D ASCII + +Frames: 30 +Frame: 1 + +Meshes: 1 +"igloo" 0 0 +126 +0 0.000000 34.270000 -6.590000 0.371094 0.365234 -1 +0 7.808609 32.854794 -3.355568 0.466110 0.404166 -1 +0 8.451978 32.854794 -6.590000 0.473938 0.365234 -1 +0 5.976450 32.854794 -0.613549 0.443816 0.437170 -1 +0 3.234431 32.854794 1.218609 0.410451 0.459223 -1 +0 -0.000001 32.854794 1.861978 0.371094 0.466967 -1 +0 -3.234433 32.854794 1.218609 0.331737 0.459223 -1 +0 -5.976452 32.854794 -0.613551 0.298372 0.437170 -1 +0 -7.808609 32.854794 -3.355570 0.276078 0.404166 -1 +0 -8.451978 32.854794 -6.590003 0.268249 0.365234 -1 +0 -7.808604 32.854794 -9.824435 0.276078 0.326303 -1 +0 -5.976449 32.854794 -12.566453 0.298372 0.293298 -1 +0 -3.234430 32.854794 -14.398609 0.331737 0.271245 -1 +0 0.000004 32.854794 -15.041978 0.371094 0.263501 -1 +0 3.234437 32.854794 -14.398604 0.410451 0.271245 -1 +0 5.976452 32.854794 -12.566449 0.443816 0.293298 -1 +0 7.808609 32.854794 -9.824428 0.466110 0.326303 -1 +0 14.984611 28.307611 -0.383168 0.553428 0.439943 -1 +0 16.219223 28.307611 -6.590000 0.568451 0.365234 -1 +0 11.468724 28.307611 4.878724 0.510647 0.503279 -1 +0 6.206826 28.307611 8.394610 0.446619 0.545598 -1 +0 -0.000003 28.307611 9.629223 0.371094 0.560458 -1 +0 -6.206832 28.307611 8.394610 0.295568 0.545598 -1 +0 -11.468724 28.307611 4.878717 0.231541 0.503279 -1 +0 -14.984611 28.307611 -0.383174 0.188759 0.439943 -1 +0 -16.219223 28.307611 -6.590005 0.173736 0.365234 -1 +0 -14.984604 28.307611 -12.796839 0.188759 0.290525 -1 +0 -11.468718 28.307611 -18.058731 0.231541 0.227190 -1 +0 -6.206826 28.307611 -21.574612 0.295568 0.184871 -1 +0 0.000008 28.307611 -22.809223 0.371094 0.170010 -1 +0 6.206838 28.307611 -21.574604 0.446619 0.184871 -1 +0 11.468730 28.307611 -18.058718 0.510647 0.227190 -1 +0 14.984615 28.307611 -12.796820 0.553428 0.290526 -1 +0 20.946650 20.915823 2.086384 0.625975 0.469668 -1 +0 22.672487 20.915823 -6.590000 0.646975 0.365234 -1 +0 16.031868 20.915823 9.441874 0.566172 0.558203 -1 +0 8.676384 20.915823 14.356649 0.476669 0.617360 -1 +0 -0.000004 20.915823 16.082487 0.371094 0.638134 -1 +0 -8.676390 20.915823 14.356649 0.265518 0.617360 -1 +0 -16.031874 20.915823 9.441868 0.176016 0.558203 -1 +0 -20.946650 20.915823 2.086384 0.116212 0.469668 -1 +0 -22.672487 20.915823 -6.590007 0.095212 0.365234 -1 +0 -20.946650 20.915823 -15.266397 0.116212 0.260800 -1 +0 -16.031862 20.915823 -22.621880 0.176016 0.172265 -1 +0 -8.676378 20.915823 -27.536654 0.265518 0.113108 -1 +0 0.000011 20.915823 -29.262487 0.371094 0.092335 -1 +0 8.676402 20.915823 -27.536642 0.476669 0.113108 -1 +0 16.031874 20.915823 -22.621868 0.566172 0.172266 -1 +0 20.946653 20.915823 -15.266378 0.625975 0.260800 -1 +0 25.211712 11.332451 3.853036 0.677873 0.490933 -1 +0 27.288961 11.332451 -6.590000 0.703149 0.365234 -1 +0 19.296204 11.332451 12.706211 0.605892 0.597495 -1 +0 10.443029 11.332451 18.621712 0.498166 0.668697 -1 +0 -0.000004 11.332451 20.698961 0.371094 0.693700 -1 +0 -10.443036 11.332451 18.621712 0.244022 0.668697 -1 +0 -19.296215 11.332451 12.706203 0.136295 0.597495 -1 +0 -25.211712 11.332451 3.853029 0.064314 0.490933 -1 +0 -27.288961 11.332451 -6.590009 0.039038 0.365234 -1 +0 -25.211706 11.332451 -17.033043 0.064315 0.239536 -1 +0 -19.296204 11.332451 -25.886215 0.136295 0.132974 -1 +0 -10.443025 11.332451 -31.801720 0.244022 0.061772 -1 +0 0.000013 11.332451 -33.878960 0.371094 0.036769 -1 +0 10.443048 11.332451 -31.801706 0.498166 0.061772 -1 +0 19.296215 11.332451 -25.886204 0.605893 0.132974 -1 +0 25.211720 11.332451 -17.033018 0.677873 0.239536 -1 +0 27.434275 0.139443 4.773652 0.704917 0.502014 -1 +0 29.694641 0.139442 -6.590000 0.732422 0.365234 -1 +0 20.997282 0.139442 14.407290 0.626591 0.617970 -1 +0 11.363647 0.139443 20.844275 0.509368 0.695449 -1 +0 -0.000005 0.139442 23.104641 0.371094 0.722656 -1 +0 -11.363652 0.139443 20.844275 0.232819 0.695449 -1 +0 -20.997290 0.139442 14.407276 0.115596 0.617970 -1 +0 -27.434275 0.139443 4.773646 0.037270 0.502014 -1 +0 -29.694641 0.139442 -6.590010 0.009766 0.365234 -1 +0 -27.434269 0.139443 -17.953663 0.037270 0.228455 -1 +0 -20.997276 0.139442 -27.587294 0.115596 0.112499 -1 +0 -11.363640 0.139442 -34.024277 0.232820 0.035020 -1 +0 0.000015 0.139442 -36.284641 0.371094 0.007813 -1 +0 11.363664 0.139443 -34.024269 0.509368 0.035020 -1 +0 20.997290 0.139442 -27.587276 0.626591 0.112499 -1 +0 27.434278 0.139442 -17.953632 0.704918 0.228455 -1 +1 4.480025 21.207788 32.439613 0.015625 0.752190 -1 +1 4.480025 21.207802 9.923697 0.392578 0.752190 -1 +1 0.000000 22.792349 9.923697 0.392578 0.734375 -1 +1 0.000000 22.792341 32.439613 0.015625 0.734375 -1 +1 8.278008 15.863525 32.439610 0.015625 0.812275 -1 +1 8.278008 15.863537 9.923697 0.392578 0.812274 -1 +1 10.815738 7.865266 32.439610 0.015625 0.902198 -1 +1 10.815738 7.865275 9.923697 0.392578 0.902197 -1 +1 11.706864 0.382218 32.439610 0.015625 0.986328 -1 +1 11.706864 0.382226 9.923697 0.392578 0.986328 -1 +1 -10.815732 7.865283 32.439610 0.015625 0.902197 -1 +1 -10.815732 7.865289 9.923697 0.392578 0.902197 -1 +1 -11.706864 0.382244 9.923697 0.392578 0.986328 -1 +1 -11.706864 0.382235 32.439610 0.015625 0.986328 -1 +1 -8.278003 15.863531 32.439610 0.015625 0.812274 -1 +1 -8.278003 15.863543 9.923697 0.392578 0.812274 -1 +1 -4.480019 21.207802 32.439613 0.015625 0.752190 -1 +1 -4.480019 21.207808 9.923697 0.392578 0.752190 -1 +1 5.152007 0.382232 9.923697 0.392578 0.986328 -1 +1 5.152007 0.382224 32.439610 0.015625 0.986328 -1 +1 -5.152007 0.382238 9.923697 0.392578 0.986328 -1 +1 -5.152007 0.382229 32.439610 0.015625 0.986328 -1 +1 -4.298491 8.031723 9.923697 0.392578 0.900326 -1 +1 -4.298491 8.031713 32.439610 0.015625 0.900326 -1 +1 4.298491 8.031721 9.923697 0.392578 0.900326 -1 +1 4.298491 8.031712 32.439610 0.015625 0.900326 -1 +1 1.263229 15.152091 9.923697 0.392578 0.820273 -1 +1 1.263229 15.152084 32.439610 0.015625 0.820273 -1 +1 -1.602432 15.152091 9.923697 0.392578 0.820273 -1 +1 -1.602432 15.152084 32.439610 0.015625 0.820273 -1 +1 -10.815732 7.865283 32.439610 0.678058 0.859157 -1 +1 -11.706864 0.382235 32.439610 0.666016 0.984375 -1 +1 -5.152007 0.382229 32.439610 0.754596 0.984375 -1 +1 -4.298491 8.031713 32.439610 0.766130 0.856372 -1 +1 4.298491 8.031712 32.439610 0.882307 0.856372 -1 +1 5.152007 0.382224 32.439610 0.893841 0.984375 -1 +1 11.706864 0.382218 32.439610 0.982422 0.984375 -1 +1 10.815738 7.865266 32.439610 0.970379 0.859157 -1 +1 -8.278003 15.863531 32.439610 0.712352 0.725318 -1 +1 -1.602432 15.152084 32.439610 0.802564 0.737223 -1 +1 1.263229 15.152084 32.439610 0.841290 0.737223 -1 +1 8.278008 15.863525 32.439610 0.936085 0.725318 -1 +1 -4.480019 21.207802 32.439613 0.763677 0.635890 -1 +1 4.480025 21.207788 32.439613 0.884760 0.635890 -1 +1 0.000000 22.792341 32.439613 0.824219 0.609375 -1 +119 +0.000000 1.000000 -0.000000 +0.353961 0.926929 0.124554 +0.374682 0.926929 -0.020381 +0.279352 0.926929 0.250528 +0.162215 0.926929 0.338361 +0.020382 0.926929 0.374682 +-0.124554 0.926929 0.353961 +-0.250528 0.926929 0.279352 +-0.338361 0.926929 0.162215 +-0.374682 0.926929 0.020381 +-0.353961 0.926929 -0.124555 +-0.279352 0.926929 -0.250528 +-0.162215 0.926929 -0.338361 +-0.020381 0.926929 -0.374682 +0.124555 0.926929 -0.353961 +0.250528 0.926929 -0.279352 +0.338361 0.926929 -0.162215 +0.591819 0.770670 0.236259 +0.637182 0.770670 -0.008205 +0.456357 0.770670 0.444754 +0.251419 0.770670 0.585540 +0.008205 0.770670 0.637182 +-0.236259 0.770670 0.591819 +-0.444754 0.770670 0.456357 +-0.585540 0.770670 0.251419 +-0.637182 0.770670 0.008204 +-0.591819 0.770670 -0.236259 +-0.456357 0.770670 -0.444754 +-0.251419 0.770670 -0.585540 +-0.008204 0.770670 -0.637182 +0.236259 0.770670 -0.591819 +0.444754 0.770670 -0.456357 +0.585540 0.770670 -0.251419 +0.772778 0.551052 0.314891 +0.834457 0.551052 -0.004808 +0.593450 0.551052 0.586651 +0.323775 0.551052 0.769098 +0.004808 0.551052 0.834457 +-0.314891 0.551052 0.772778 +-0.586651 0.551052 0.593450 +-0.769098 0.551052 0.323774 +-0.834457 0.551052 0.004808 +-0.772777 0.551052 -0.314891 +-0.593450 0.551052 -0.586651 +-0.323774 0.551052 -0.769098 +-0.004807 0.551052 -0.834457 +0.314891 0.551052 -0.772777 +0.586651 0.551052 -0.593450 +0.769098 0.551052 -0.323774 +0.874832 0.324491 0.359687 +0.945886 0.324491 -0.002476 +0.670593 0.324491 0.667091 +0.364262 0.324491 0.872937 +0.002476 0.324491 0.945885 +-0.359687 0.324491 0.874832 +-0.667091 0.324491 0.670593 +-0.872937 0.324491 0.364262 +-0.945886 0.324491 0.002476 +-0.874832 0.324491 -0.359687 +-0.670593 0.324491 -0.667091 +-0.364262 0.324491 -0.872937 +-0.002476 0.324491 -0.945886 +0.359687 0.324491 -0.874832 +0.667091 0.324491 -0.670593 +0.872937 0.324491 -0.364262 +0.876606 0.209689 0.433120 +0.975626 0.209689 0.064688 +0.644130 0.209689 0.735613 +0.313592 0.209689 0.926116 +-0.064688 0.209689 0.975626 +-0.433120 0.209689 0.876606 +-0.735613 0.209689 0.644130 +-0.926116 0.209689 0.313592 +-0.975626 0.209689 -0.064688 +-0.876606 0.209689 -0.433120 +-0.644130 0.209689 -0.735613 +-0.313591 0.209688 -0.926116 +0.064688 0.209689 -0.975626 +0.433120 0.209689 -0.876606 +0.735614 0.209689 -0.644130 +0.926116 0.209688 -0.313592 +0.515297 0.857012 0.000000 +0.682775 0.730629 0.000000 +0.117087 0.993122 0.000000 +-0.117085 0.993122 0.000000 +0.870448 0.492260 0.000000 +0.916961 0.398978 0.000000 +0.970278 0.241992 0.000000 +0.983601 0.180356 0.000000 +0.747746 -0.663984 -0.000000 +0.747746 -0.663984 -0.000000 +-0.983601 0.180356 0.000000 +-0.970278 0.241992 0.000000 +-0.933399 -0.358841 -0.000000 +-0.466700 -0.884416 -0.000000 +-0.916960 0.398978 0.000000 +-0.870448 0.492260 0.000000 +-0.682775 0.730629 0.000000 +-0.515296 0.857012 0.000000 +-0.425964 -0.904740 -0.000000 +-0.851926 -0.523662 -0.000000 +0.666749 -0.745282 -0.000000 +0.666749 -0.745282 -0.000000 +0.961458 -0.274953 -0.000000 +0.981138 -0.193311 -0.000000 +-0.978428 -0.206589 -0.000000 +-0.953551 -0.301232 -0.000000 +-0.717859 -0.696188 -0.000000 +-0.358930 -0.933365 -0.000000 +0.369199 -0.929350 -0.000000 +0.738398 -0.674366 -0.000000 +0.000000 0.000000 1.000000 +-0.000000 -0.000000 1.000000 +0.000000 -0.000000 1.000000 +-0.000000 -0.000000 1.000000 +0.000000 -0.000000 1.000000 +0.000000 -0.000001 1.000000 +-0.000000 -0.000001 1.000000 +0.000000 -0.000001 1.000000 +187 +0 0 1 2 0 1 2 2 +0 0 3 1 0 3 1 2 +0 0 4 3 0 4 3 2 +0 0 5 4 0 5 4 2 +0 0 6 5 0 6 5 2 +0 0 7 6 0 7 6 2 +0 0 8 7 0 8 7 2 +0 0 9 8 0 9 8 2 +0 0 10 9 0 10 9 2 +0 0 11 10 0 11 10 2 +0 0 12 11 0 12 11 2 +0 0 13 12 0 13 12 2 +0 0 14 13 0 14 13 2 +0 0 15 14 0 15 14 2 +0 0 16 15 0 16 15 2 +0 0 2 16 0 2 16 2 +0 1 17 18 1 17 18 2 +0 1 18 2 1 18 2 2 +0 3 19 17 3 19 17 2 +0 3 17 1 3 17 1 2 +0 4 20 19 4 20 19 2 +0 4 19 3 4 19 3 2 +0 5 21 20 5 21 20 2 +0 5 20 4 5 20 4 2 +0 6 22 21 6 22 21 2 +0 6 21 5 6 21 5 2 +0 7 23 22 7 23 22 2 +0 7 22 6 7 22 6 2 +0 8 24 23 8 24 23 2 +0 8 23 7 8 23 7 2 +0 9 25 24 9 25 24 2 +0 9 24 8 9 24 8 2 +0 10 26 25 10 26 25 2 +0 10 25 9 10 25 9 2 +0 11 27 26 11 27 26 2 +0 11 26 10 11 26 10 2 +0 12 28 27 12 28 27 2 +0 12 27 11 12 27 11 2 +0 13 29 28 13 29 28 2 +0 13 28 12 13 28 12 2 +0 14 30 29 14 30 29 2 +0 14 29 13 14 29 13 2 +0 15 31 30 15 31 30 2 +0 15 30 14 15 30 14 2 +0 16 32 31 16 32 31 2 +0 16 31 15 16 31 15 2 +0 2 18 32 2 18 32 2 +0 2 32 16 2 32 16 2 +0 17 33 34 17 33 34 2 +0 17 34 18 17 34 18 2 +0 19 35 33 19 35 33 2 +0 19 33 17 19 33 17 2 +0 20 36 35 20 36 35 2 +0 20 35 19 20 35 19 2 +0 21 37 36 21 37 36 2 +0 21 36 20 21 36 20 2 +0 22 38 37 22 38 37 2 +0 22 37 21 22 37 21 2 +0 23 39 38 23 39 38 2 +0 23 38 22 23 38 22 2 +0 24 40 39 24 40 39 2 +0 24 39 23 24 39 23 2 +0 25 41 40 25 41 40 2 +0 25 40 24 25 40 24 2 +0 26 42 41 26 42 41 2 +0 26 41 25 26 41 25 2 +0 27 43 42 27 43 42 2 +0 27 42 26 27 42 26 2 +0 28 44 43 28 44 43 2 +0 28 43 27 28 43 27 2 +0 29 45 44 29 45 44 2 +0 29 44 28 29 44 28 2 +0 30 46 45 30 46 45 2 +0 30 45 29 30 45 29 2 +0 31 47 46 31 47 46 2 +0 31 46 30 31 46 30 2 +0 32 48 47 32 48 47 2 +0 32 47 31 32 47 31 2 +0 18 34 48 18 34 48 2 +0 18 48 32 18 48 32 2 +0 33 49 50 33 49 50 2 +0 33 50 34 33 50 34 2 +0 35 51 49 35 51 49 2 +0 35 49 33 35 49 33 2 +0 36 52 51 36 52 51 2 +0 36 51 35 36 51 35 2 +0 37 53 52 37 53 52 2 +0 37 52 36 37 52 36 2 +0 38 54 53 38 54 53 2 +0 38 53 37 38 53 37 2 +0 39 55 54 39 55 54 2 +0 39 54 38 39 54 38 2 +0 40 56 55 40 56 55 2 +0 40 55 39 40 55 39 2 +0 41 57 56 41 57 56 2 +0 41 56 40 41 56 40 2 +0 42 58 57 42 58 57 2 +0 42 57 41 42 57 41 2 +0 43 59 58 43 59 58 2 +0 43 58 42 43 58 42 2 +0 44 60 59 44 60 59 2 +0 44 59 43 44 59 43 2 +0 45 61 60 45 61 60 2 +0 45 60 44 45 60 44 2 +0 46 62 61 46 62 61 2 +0 46 61 45 46 61 45 2 +0 47 63 62 47 63 62 2 +0 47 62 46 47 62 46 2 +0 48 64 63 48 64 63 2 +0 48 63 47 48 63 47 2 +0 34 50 64 34 50 64 2 +0 34 64 48 34 64 48 2 +0 49 65 66 49 65 66 2 +0 49 66 50 49 66 50 2 +0 51 67 65 51 67 65 2 +0 51 65 49 51 65 49 2 +0 52 68 67 52 68 67 2 +0 52 67 51 52 67 51 2 +0 53 69 68 53 69 68 2 +0 53 68 52 53 68 52 2 +0 54 70 69 54 70 69 2 +0 54 69 53 54 69 53 2 +0 55 71 70 55 71 70 2 +0 55 70 54 55 70 54 2 +0 56 72 71 56 72 71 2 +0 56 71 55 56 71 55 2 +0 57 73 72 57 73 72 2 +0 57 72 56 57 72 56 2 +0 58 74 73 58 74 73 2 +0 58 73 57 58 73 57 2 +0 59 75 74 59 75 74 2 +0 59 74 58 59 74 58 2 +0 60 76 75 60 76 75 2 +0 60 75 59 60 75 59 2 +0 61 77 76 61 77 76 2 +0 61 76 60 61 76 60 2 +0 62 78 77 62 78 77 2 +0 62 77 61 62 77 61 2 +0 63 79 78 63 79 78 2 +0 63 78 62 63 78 62 2 +0 64 80 79 64 80 79 2 +0 64 79 63 64 79 63 2 +0 50 66 80 50 66 80 2 +0 50 80 64 50 80 64 2 +1 81 82 83 81 82 83 5 +1 81 83 84 81 83 84 5 +1 85 86 82 85 86 82 5 +1 85 82 81 85 82 81 5 +1 87 88 86 87 88 86 5 +1 87 86 85 87 86 85 5 +1 89 90 88 89 90 88 5 +1 89 88 87 89 88 87 5 +1 91 92 93 91 92 93 5 +1 91 93 94 91 93 94 5 +1 95 96 92 95 96 92 5 +1 95 92 91 95 92 91 5 +1 97 98 96 97 98 96 5 +1 97 96 95 97 96 95 5 +1 84 83 98 84 83 98 5 +1 84 98 97 84 98 97 5 +1 99 90 89 99 90 89 5 +1 99 89 100 99 89 100 5 +1 101 102 94 101 102 94 5 +1 101 94 93 101 94 93 5 +1 101 103 104 101 103 104 5 +1 101 104 102 101 104 102 5 +1 105 99 100 105 99 100 5 +1 105 100 106 105 100 106 5 +1 107 105 106 107 105 106 5 +1 107 106 108 107 106 108 5 +1 103 109 110 103 109 110 5 +1 103 110 104 103 110 104 5 +1 109 107 108 109 107 108 5 +1 109 108 110 109 108 110 5 +1 111 112 113 111 111 111 4 +1 111 113 114 111 111 111 4 +1 115 116 117 111 111 111 4 +1 115 117 118 111 111 111 4 +1 119 111 114 112 111 111 4 +1 119 114 120 112 111 113 4 +1 121 115 118 114 111 111 4 +1 121 118 122 114 111 115 4 +1 123 119 120 116 112 113 4 +1 121 122 124 114 115 117 4 +1 123 120 125 116 113 118 4 +1 120 121 125 113 114 118 4 +1 121 124 125 114 117 118 4 + +Materials: 1 +"igloo" +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 +0.000000 0.000000 0.000000 1.000000 +0.128000 +1.000000 +".\igloo.bmp" +"" + +Bones: 0 +GroupComments: 0 +MaterialComments: 0 +BoneComments: 0 +ModelComment: 0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/logcabin1burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/logcabin1burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/logcabin1burnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/logcabin1burnt.txt 2006-10-22 11:24:39.000000000 +0900 @@ -762,7 +762,7 @@ Materials: 2 "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -771,7 +771,7 @@ ".\builds1.bmp" "" "frame" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/logcabin1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/logcabin1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/logcabin1.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/logcabin1.txt 2006-10-22 11:24:39.000000000 +0900 @@ -411,7 +411,7 @@ Materials: 4 "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -420,7 +420,7 @@ ".\builds1.bmp" "" "window" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -429,7 +429,7 @@ ".\builds1.bmp" "" "roof" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -438,7 +438,7 @@ ".\builds1.bmp" "" "frame" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/mainport_anim.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/mainport_anim.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/mainport_anim.txt 2006-04-05 09:53:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/mainport_anim.txt 2006-10-22 11:24:39.000000000 +0900 @@ -1,6 +1,6 @@ // MilkShape 3D ASCII -Frames: 200 +Frames: 240 Frame: 1 Meshes: 4 @@ -5408,16 +5408,16 @@ Materials: 2 "mat2" +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 -0.690196 0.690196 0.690196 1.000000 -0.160784 0.160784 0.160784 1.000000 0.000000 0.000000 0.000000 1.000000 2.000000 1.000000 ".\builds4.bmp" "" "mat1" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -5432,196 +5432,196 @@ 16 -0.004927 0.000000 -0.003613 0.000000 0.000000 0.000000 2 1.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 2 1.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 "cranebase" "mainport" 21 -48.137493 14.449637 39.478477 -2.231617 1.152603 0.000000 7 1.000000 -0.000000 -0.000000 -0.000001 -30.000000 -0.000000 0.000001 -0.000002 -60.000000 -0.000000 0.000001 -0.000002 -100.000000 -0.000000 0.000002 -0.000002 -130.000000 -0.000000 0.000001 -0.000002 -160.000000 -0.000000 0.000001 -0.000002 -200.000000 -0.000000 0.000001 -0.000002 +36.000000 -0.000000 0.000001 -0.000002 +72.000000 -0.000000 0.000001 -0.000002 +120.000000 -0.000000 0.000002 -0.000002 +156.000000 -0.000000 0.000001 -0.000002 +192.000000 -0.000000 0.000001 -0.000002 +240.000000 -0.000000 0.000001 -0.000002 7 1.000000 0.000000 0.000000 0.000000 -30.000000 0.000000 0.000000 0.000000 -60.000000 0.000000 0.000000 0.000000 -100.000000 -1.210465 -0.387497 2.588899 -130.000000 -1.210465 -0.387497 2.588899 -160.000000 -1.210465 -0.387497 2.588899 -200.000000 0.000000 0.000000 0.000000 +36.000000 0.000000 0.000000 0.000000 +72.000000 0.000000 0.000000 0.000000 +120.000000 -1.210465 -0.387497 2.588899 +156.000000 -1.210465 -0.387497 2.588899 +192.000000 -1.210465 -0.387497 2.588899 +240.000000 0.000000 0.000000 0.000000 "cranearmbase" "cranebase" 21 0.000000 0.000000 8.559485 -1.246242 1.375043 -3.141593 7 1.000000 0.000000 -0.000000 0.000000 -30.000000 0.000000 -0.000000 0.000000 -60.000000 0.000000 -0.000000 0.000000 -100.000000 0.000000 -0.000000 0.000000 -130.000000 0.000000 -0.000000 0.000000 -160.000000 0.000000 -0.000000 0.000000 -200.000000 0.000000 -0.000000 0.000000 +36.000000 0.000000 -0.000000 0.000000 +72.000000 0.000000 -0.000000 0.000000 +120.000000 0.000000 -0.000000 0.000000 +156.000000 0.000000 -0.000000 0.000000 +192.000000 0.000000 -0.000000 0.000000 +240.000000 0.000000 -0.000000 0.000000 7 1.000000 0.000000 0.000000 0.000000 -30.000000 0.000000 0.000000 0.000000 -60.000000 0.000000 0.000000 0.000000 -100.000000 0.000000 0.000000 0.000000 -130.000000 0.000000 0.000000 0.000000 -160.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +36.000000 0.000000 0.000000 0.000000 +72.000000 0.000000 0.000000 0.000000 +120.000000 0.000000 0.000000 0.000000 +156.000000 0.000000 0.000000 0.000000 +192.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 "cranearm1" "cranearmbase" 21 0.000000 0.000000 27.497427 0.004877 0.014728 0.000000 7 1.000000 -0.000000 -0.000000 0.000000 -30.000000 -0.000000 -0.000000 0.000000 -60.000000 -0.000000 -0.000000 0.000000 -100.000000 -0.000000 -0.000000 0.000000 -130.000000 -0.000000 -0.000000 0.000000 -160.000000 -0.000000 -0.000000 0.000000 -200.000000 -0.000000 -0.000000 0.000000 +36.000000 -0.000000 -0.000000 0.000000 +72.000000 -0.000000 -0.000000 0.000000 +120.000000 -0.000000 -0.000000 0.000000 +156.000000 -0.000000 -0.000000 0.000000 +192.000000 -0.000000 -0.000000 0.000000 +240.000000 -0.000000 -0.000000 0.000000 7 1.000000 0.000000 0.000000 0.000000 -30.000000 0.000000 0.000000 0.000000 -60.000000 0.000000 0.000000 0.000000 -100.000000 0.000000 0.000000 0.000000 -130.000000 0.000000 0.000000 0.000000 -160.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +36.000000 0.000000 0.000000 0.000000 +72.000000 0.000000 0.000000 0.000000 +120.000000 0.000000 0.000000 0.000000 +156.000000 0.000000 0.000000 0.000000 +192.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 "cranearm2" "cranearm1" 21 0.000000 0.000000 21.030092 0.041677 0.649405 0.000000 7 1.000000 -0.000000 0.000000 0.000000 -30.000000 -0.000001 -0.000000 0.000000 -60.000000 -0.000001 -0.000000 0.000000 -100.000000 -0.000001 -0.000000 -0.000000 -130.000000 -0.000001 -0.000000 -0.000000 -160.000000 -0.000001 -0.000000 -0.000000 -200.000000 -0.000001 -0.000000 0.000000 +36.000000 -0.000001 -0.000000 0.000000 +72.000000 -0.000001 -0.000000 0.000000 +120.000000 -0.000001 -0.000000 -0.000000 +156.000000 -0.000001 -0.000000 -0.000000 +192.000000 -0.000001 -0.000000 -0.000000 +240.000000 -0.000001 -0.000000 0.000000 7 1.000000 0.000000 0.000000 0.000000 -30.000000 0.000000 0.000000 0.000000 -60.000000 0.000000 0.000000 0.000000 -100.000000 0.000000 0.000000 0.000000 -130.000000 0.000000 0.000000 0.000000 -160.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +36.000000 0.000000 0.000000 0.000000 +72.000000 0.000000 0.000000 0.000000 +120.000000 0.000000 0.000000 0.000000 +156.000000 0.000000 0.000000 0.000000 +192.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 "cranearm3" "cranearm2" 21 0.000000 0.000000 3.366551 0.064865 1.365442 0.000000 7 1.000000 -0.000000 -0.000000 -0.000000 -30.000000 -0.000000 -0.000000 -0.000000 -60.000000 -0.000000 -0.000000 -0.000000 -100.000000 -19.008928 0.491268 4.284746 -130.000000 -19.008930 0.491268 4.284747 -160.000000 -19.008930 0.491268 4.284747 -200.000000 -0.000000 -0.000000 -0.000000 +36.000000 -0.000000 -0.000000 -0.000000 +72.000000 -0.000000 -0.000000 -0.000000 +120.000000 -19.008928 0.491268 4.284746 +156.000000 -19.008930 0.491268 4.284747 +192.000000 -19.008930 0.491268 4.284747 +240.000000 -0.000000 -0.000000 -0.000000 7 1.000000 0.000000 0.000000 0.000000 -30.000000 0.000000 0.000000 0.000000 -60.000000 0.000000 0.000000 0.000000 -100.000000 0.000000 0.000000 0.000000 -130.000000 0.000000 0.000000 0.000000 -160.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +36.000000 0.000000 0.000000 0.000000 +72.000000 0.000000 0.000000 0.000000 +120.000000 0.000000 0.000000 0.000000 +156.000000 0.000000 0.000000 0.000000 +192.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 "cranearmpivot" "cranearm3" 21 0.000000 0.000000 5.051764 -0.004611 0.216581 0.000000 7 1.000000 -0.000000 0.000000 0.000000 -30.000000 0.000000 0.000000 0.000000 -60.000000 0.000000 0.000000 0.000000 -100.000000 0.000000 0.000000 0.000000 -130.000000 0.000000 0.000000 0.000000 -160.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +36.000000 0.000000 0.000000 0.000000 +72.000000 0.000000 0.000000 0.000000 +120.000000 0.000000 0.000000 0.000000 +156.000000 0.000000 0.000000 0.000000 +192.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 7 1.000000 0.000000 0.000000 0.000000 -30.000000 0.000000 0.000000 0.000000 -60.000000 0.000000 0.000000 0.000000 -100.000000 0.000000 0.000000 0.000000 -130.000000 0.000000 0.000000 0.000000 -160.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +36.000000 0.000000 0.000000 0.000000 +72.000000 0.000000 0.000000 0.000000 +120.000000 0.000000 0.000000 0.000000 +156.000000 0.000000 0.000000 0.000000 +192.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 "craneropes" "cranearmpivot" 21 0.000000 0.000000 9.193377 -0.006241 0.007130 0.000000 7 1.000000 0.000000 -0.000000 0.000000 -30.000000 -0.026634 -0.023305 14.999954 -60.000000 0.000000 0.000000 0.000000 -100.000000 0.003174 0.002779 -1.787376 -130.000000 -0.036877 -0.032263 20.768135 -160.000000 0.003174 0.002779 -1.787376 -200.000000 0.000000 0.000000 0.000000 +36.000000 -0.026634 -0.023305 14.999954 +72.000000 0.000000 0.000000 0.000000 +120.000000 0.003174 0.002779 -1.787376 +156.000000 -0.036877 -0.032263 20.768135 +192.000000 0.003174 0.002779 -1.787376 +240.000000 0.000000 0.000000 0.000000 7 1.000000 0.000000 0.000000 0.000000 -30.000000 0.000000 0.000000 0.000000 -60.000000 0.000000 0.000000 0.000000 -100.000000 -0.002036 -0.000535 0.925043 -130.000000 -0.002036 -0.000535 0.925043 -160.000000 -0.002036 -0.000535 0.925043 -200.000000 0.000000 0.000000 0.000000 +36.000000 0.000000 0.000000 0.000000 +72.000000 0.000000 0.000000 0.000000 +120.000000 -0.002036 -0.000535 0.925043 +156.000000 -0.002036 -0.000535 0.925043 +192.000000 -0.002036 -0.000535 0.925043 +240.000000 0.000000 0.000000 0.000000 "cranecargo" "craneropes" 20 0.000000 0.000000 2.049944 0.000000 0.000000 0.000000 6 1.000000 0.000000 0.000000 0.000000 -30.000000 0.000000 0.000000 0.000000 -60.000000 0.000000 0.000000 0.000000 -130.000000 0.000000 0.000000 0.000000 -160.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +36.000000 0.000000 0.000000 0.000000 +72.000000 0.000000 0.000000 0.000000 +156.000000 0.000000 0.000000 0.000000 +192.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 6 1.000000 0.000000 0.000000 0.000000 -30.000000 0.000000 0.000000 0.000000 -60.000000 0.000000 0.000000 0.000000 -130.000000 0.000000 0.000000 0.000000 -160.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +36.000000 0.000000 0.000000 0.000000 +72.000000 0.000000 0.000000 0.000000 +156.000000 0.000000 0.000000 0.000000 +192.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 "cargoship" "mainport" 16 -81.944489 15.666664 75.386246 0.000000 0.000000 0.000000 2 1.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 2 1.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 "boat1" "mainport" 16 72.478592 11.000000 28.995487 0.000000 0.000000 0.000000 2 1.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 2 1.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 "boat2" "mainport" 16 105.299095 10.545454 27.508307 0.000000 0.000000 0.000000 2 1.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 2 1.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 "boat3" "mainport" 16 137.832428 10.454546 26.974974 0.000000 0.000000 0.000000 2 1.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 2 1.000000 0.000000 0.000000 0.000000 -200.000000 0.000000 0.000000 0.000000 +240.000000 0.000000 0.000000 0.000000 GroupComments: 0 MaterialComments: 0 BoneComments: 0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/mainport.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/mainport.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/mainport.txt 2006-03-28 11:09:21.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/mainport.txt 2006-10-22 11:24:39.000000000 +0900 @@ -5397,16 +5397,16 @@ Materials: 2 "mat2" +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 -0.690196 0.690196 0.690196 1.000000 -0.160784 0.160784 0.160784 1.000000 0.000000 0.000000 0.000000 1.000000 2.000000 1.000000 ".\builds4.bmp" "" "mat1" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/nuclearplant.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/nuclearplant.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/nuclearplant.txt 2005-11-14 03:22:03.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/nuclearplant.txt 2006-10-22 11:24:39.000000000 +0900 @@ -1836,25 +1836,25 @@ Materials: 4 "builds1" +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 -0.984314 0.866667 0.909804 1.000000 -1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.128000 1.000000 ".\builds1.bmp" "" "builds2" +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 -0.996078 0.756863 0.776471 1.000000 -1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.128000 1.000000 ".\builds2.bmp" "" "fence1" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1863,7 +1863,7 @@ ".\fence1.bmp" ".\fence1trans.bmp" "builds3" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office1burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office1burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office1burnt.txt 2005-08-28 04:49:41.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office1burnt.txt 2006-10-22 11:24:39.000000000 +0900 @@ -467,7 +467,7 @@ Materials: 1 "burnt" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office1.txt 2005-08-28 04:49:41.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office1.txt 2006-10-22 11:24:39.000000000 +0900 @@ -1603,7 +1603,7 @@ Materials: 3 "stucco" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1612,7 +1612,7 @@ ".\builds1.bmp" "" "windows" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1621,7 +1621,7 @@ ".\builds2.bmp" "" "concrete" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office2burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office2burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office2burnt.txt 2005-08-28 04:49:41.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office2burnt.txt 2006-10-22 11:24:39.000000000 +0900 @@ -1144,7 +1144,7 @@ Materials: 3 "glasstop" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1153,7 +1153,7 @@ ".\builds2.bmp" "" "windows" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1162,9 +1162,9 @@ ".\builds1.bmp" "" "bodys" -0.200000 0.200000 0.200000 1.000000 -0.580392 0.580392 0.580392 1.000000 -0.380392 0.380392 0.380392 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 6.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office2.txt 2005-08-28 04:49:41.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office2.txt 2006-10-22 11:24:39.000000000 +0900 @@ -447,7 +447,7 @@ Materials: 4 "glasstop" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -456,7 +456,7 @@ ".\builds2.bmp" "" "windows" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -465,7 +465,7 @@ ".\builds2.bmp" "" "concrete" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -474,7 +474,7 @@ ".\builds2.bmp" "" "arches" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office3.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office3.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office3.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office3.txt 2006-10-22 11:24:39.000000000 +0900 @@ -332,16 +332,16 @@ Materials: 4 "sides" -0.200000 0.200000 0.200000 1.000000 -0.666667 0.643137 0.466667 1.000000 -0.749020 0.701961 0.533333 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 10.000000 1.000000 ".\builds2.bmp" "" "bottom" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -350,18 +350,18 @@ ".\builds1.bmp" "" "aircond" -0.200000 0.200000 0.200000 1.000000 -0.600000 0.600000 0.600000 1.000000 -0.525490 0.513726 0.619608 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 6.000000 1.000000 ".\builds2.bmp" "" "top" -0.376471 0.309804 0.345098 1.000000 -0.654902 0.654902 0.654902 1.000000 -0.125490 0.125490 0.125490 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office4.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office4.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office4.txt 2006-06-05 11:12:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office4.txt 2006-10-22 11:24:39.000000000 +0900 @@ -1831,7 +1831,7 @@ Materials: 1 "build4" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office5.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office5.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/office5.txt 2006-06-05 11:12:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/office5.txt 2006-10-22 11:24:39.000000000 +0900 @@ -46,9 +46,9 @@ Materials: 1 "build4" -1.000000 1.000000 1.000000 1.000000 -0.513726 0.513726 0.513726 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 13.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/skyscraper1burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/skyscraper1burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/skyscraper1burnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/skyscraper1burnt.txt 2006-10-22 11:24:39.000000000 +0900 @@ -1763,7 +1763,7 @@ Materials: 4 "antenna" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1772,7 +1772,7 @@ ".\builds2.bmp" "" "frame" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1781,7 +1781,7 @@ ".\builds1.bmp" "" "grey" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1790,7 +1790,7 @@ ".\builds1.bmp" "" "red" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/skyscraper1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/skyscraper1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/skyscraper1.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/skyscraper1.txt 2006-10-22 11:24:39.000000000 +0900 @@ -1027,7 +1027,7 @@ Materials: 4 "antenna" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1036,17 +1036,17 @@ ".\builds2.bmp" "" "frame" -0.200000 0.200000 0.200000 1.000000 -0.419608 0.494118 0.611765 1.000000 -1.000000 0.945098 0.568627 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 15.000000 1.000000 ".\builds2.bmp" "" "grey" -0.200000 0.200000 0.200000 1.000000 -0.725490 0.725490 0.725490 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -1054,9 +1054,9 @@ ".\builds1.bmp" "" "red" -1.000000 0.235294 0.235294 1.000000 -0.176471 0.000000 0.000000 1.000000 -1.000000 0.850980 0.850980 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 4.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/skyscraper2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/skyscraper2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/skyscraper2.txt 2006-06-05 11:12:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/skyscraper2.txt 2006-10-22 11:24:39.000000000 +0900 @@ -162,7 +162,7 @@ Materials: 1 "builds4" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/skyscraper3.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/skyscraper3.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/skyscraper3.txt 2006-06-05 11:12:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/skyscraper3.txt 2006-10-22 11:24:39.000000000 +0900 @@ -520,19 +520,19 @@ Materials: 2 "mat1" -0.729412 0.721569 0.705882 1.000000 -0.290196 0.290196 0.290196 1.000000 -0.725490 0.725490 0.725490 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 107.000000 1.000000 ".\builds5.bmp" "" "mat2" -0.847059 0.929412 0.960784 1.000000 -0.047059 0.047059 0.047059 1.000000 -0.882353 0.960784 1.000000 1.000000 -0.027451 0.027451 0.027451 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 +0.000000 0.000000 0.000000 1.000000 10.000000 1.000000 ".\builds5.bmp" diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/stadium.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/stadium.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/stadium.txt 2006-06-05 11:12:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/stadium.txt 2006-10-22 11:24:39.000000000 +0900 @@ -1586,9 +1586,9 @@ Materials: 1 "mat1" -0.270588 0.270588 0.270588 1.000000 -0.525490 0.525490 0.525490 1.000000 -0.156863 0.156863 0.156863 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.128000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/store1burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/store1burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/store1burnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/store1burnt.txt 2006-10-22 11:24:39.000000000 +0900 @@ -557,7 +557,7 @@ Materials: 4 "greybrick" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -566,7 +566,7 @@ ".\builds1.bmp" "" "window" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -575,7 +575,7 @@ ".\builds1.bmp" "" "grey" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -584,7 +584,7 @@ ".\builds2.bmp" "" "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/store1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/store1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/store1.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/store1.txt 2006-10-22 11:24:39.000000000 +0900 @@ -493,7 +493,7 @@ Materials: 7 "brick" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -502,7 +502,7 @@ ".\builds1.bmp" "" "window1" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -511,7 +511,7 @@ ".\builds1.bmp" "" "door" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -520,7 +520,7 @@ ".\builds1.bmp" "" "sign1" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -529,7 +529,7 @@ ".\builds2.bmp" "" "rguard" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -538,7 +538,7 @@ ".\builds2.bmp" "" "window2" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -547,7 +547,7 @@ ".\builds1.bmp" "" "roof" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/trailorhouse1burnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/trailorhouse1burnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/trailorhouse1burnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/trailorhouse1burnt.txt 2006-10-22 11:24:40.000000000 +0900 @@ -2034,7 +2034,7 @@ Materials: 2 "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2043,9 +2043,9 @@ ".\builds1.bmp" "" "chrome" -0.200000 0.200000 0.200000 1.000000 -0.321569 0.372549 0.447059 1.000000 -0.537255 0.533333 0.576471 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 34.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/trailorhouse1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/trailorhouse1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/buildings/trailorhouse1.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/buildings/trailorhouse1.txt 2006-10-22 11:24:40.000000000 +0900 @@ -2183,7 +2183,7 @@ Materials: 3 "red" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2192,7 +2192,7 @@ ".\builds2.bmp" "" "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2201,9 +2201,9 @@ ".\builds1.bmp" "" "chrome" -0.200000 0.200000 0.200000 1.000000 -0.294118 0.329412 0.352941 1.000000 -0.423529 0.470588 0.490196 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.500000 0.500000 0.500000 1.000000 0.000000 0.000000 0.000000 1.000000 8.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/9volt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/9volt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/9volt.txt 2006-03-13 21:21:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/9volt.txt 2006-10-22 11:24:40.000000000 +0900 @@ -160,9 +160,9 @@ Materials: 1 "objects1" -0.152941 0.176471 0.172549 1.000000 -0.764706 0.882353 0.862745 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.500000 0.500000 0.500000 1.000000 0.000000 0.000000 0.000000 1.000000 0.128000 1.000000 Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/acidpod.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/acidpod.bmp differ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/acidpod.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/acidpod.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/acidpod.txt 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/acidpod.txt 2006-10-22 11:24:40.000000000 +0900 @@ -0,0 +1,203 @@ +// MilkShape 3D ASCII + +Frames: 30 +Frame: 1 + +Meshes: 1 +"Cube" 0 0 +42 +1 -2.250000 1.250000 2.250000 0.142874 0.823314 -1 +1 -1.555555 0.555555 1.555555 0.251892 0.912792 -1 +1 -0.000000 0.312500 2.000000 0.496094 0.944110 -1 +1 -0.000000 1.250000 3.000000 0.496094 0.823314 -1 +1 -0.000000 2.819863 3.093750 0.496094 0.621038 -1 +1 -2.320313 2.819863 2.320313 0.131836 0.621038 -1 +1 2.250000 1.250000 2.250000 0.849313 0.823314 -1 +1 2.320313 2.819863 2.320313 0.860352 0.621038 -1 +1 1.555555 0.555555 1.555555 0.740295 0.912792 -1 +1 2.250000 1.250000 -2.250000 0.849313 0.823314 -1 +1 1.555555 0.555555 -1.555555 0.740295 0.912792 -1 +1 0.000000 0.312500 -2.000000 0.496094 0.944110 -1 +1 0.000000 1.250000 -3.000000 0.496094 0.823314 -1 +1 0.000000 2.819863 -3.093750 0.496094 0.621038 -1 +1 2.320313 2.819863 -2.320313 0.860352 0.621038 -1 +1 -2.250000 1.250000 -2.250000 0.142874 0.823314 -1 +1 -2.320313 2.819863 -2.320313 0.131836 0.621038 -1 +1 -1.555555 0.555555 -1.555555 0.251892 0.912792 -1 +1 2.000000 0.312500 0.000000 0.810067 0.944110 -1 +1 3.000000 1.250000 0.000000 0.967053 0.823314 -1 +1 3.093750 2.819863 0.000000 0.981771 0.621038 -1 +1 -2.000000 0.312500 -0.000000 0.182121 0.944110 -1 +1 -3.000000 1.250000 -0.000000 0.025134 0.823314 -1 +1 -3.093750 2.819863 -0.000000 0.010417 0.621038 -1 +1 0.000000 0.000000 0.000000 0.496094 0.984375 -1 +1 -1.218750 6.926540 0.000000 0.304766 0.091896 -1 +1 -1.069445 6.434700 1.069445 0.328205 0.155270 -1 +1 0.000000 6.926540 1.218750 0.496094 0.091896 -1 +1 0.000000 7.558905 0.000000 0.496094 0.010417 -1 +1 0.000000 6.926540 -1.218750 0.496094 0.091896 -1 +1 -1.069445 6.434705 -1.069445 0.328205 0.155269 -1 +1 1.218750 6.926540 0.000000 0.687421 0.091896 -1 +1 1.069445 6.434705 -1.069445 0.663982 0.155269 -1 +1 1.069445 6.434705 1.069445 0.663982 0.155269 -1 +1 -1.781250 5.029450 1.781250 0.216461 0.336335 -1 +1 -2.375000 5.029450 0.000000 0.123251 0.336335 -1 +1 -1.781250 5.029450 -1.781250 0.216461 0.336335 -1 +1 0.000000 5.029450 -2.375000 0.496094 0.336335 -1 +1 1.781250 5.029450 -1.781250 0.775726 0.336335 -1 +1 2.375000 5.029450 0.000000 0.868937 0.336335 -1 +1 1.781250 5.029450 1.781250 0.775726 0.336335 -1 +1 0.000000 5.029450 2.375000 0.496094 0.336335 -1 +54 +-0.620685 -0.479061 0.620685 +-0.344938 -0.872947 0.344938 +0.000000 -0.911453 0.411404 +-0.000000 -0.429605 0.903017 +-0.000000 0.127512 0.991837 +-0.700623 0.135110 0.700623 +0.620685 -0.479061 0.620685 +0.700623 0.135110 0.700623 +0.344938 -0.872947 0.344938 +0.620685 -0.479061 -0.620685 +0.344938 -0.872947 -0.344938 +0.000000 -0.911453 -0.411404 +0.000000 -0.429605 -0.903017 +0.000000 0.127512 -0.991837 +0.700623 0.135110 -0.700623 +-0.620685 -0.479061 -0.620685 +-0.700623 0.135110 -0.700623 +-0.344938 -0.872947 -0.344938 +0.401159 -0.888756 0.221774 +0.864693 -0.411373 0.288231 +0.941705 0.121067 0.313902 +0.941705 0.121067 -0.313902 +0.864693 -0.411373 -0.288231 +0.401159 -0.888756 -0.221774 +-0.401159 -0.888756 -0.221774 +-0.864693 -0.411373 -0.288231 +-0.941705 0.121067 -0.313902 +-0.941705 0.121067 0.313902 +-0.864693 -0.411373 0.288231 +-0.401159 -0.888756 0.221774 +0.000000 -0.988012 0.154377 +0.000000 -0.988012 -0.154377 +-0.620295 0.685696 0.380862 +-0.529509 0.662751 0.529510 +-0.000001 0.741588 0.670856 +0.000000 0.887630 0.460558 +0.000000 0.741588 -0.670856 +-0.529509 0.662752 -0.529509 +-0.620295 0.685696 -0.380860 +0.000000 0.887630 -0.460558 +0.620295 0.685696 -0.380860 +0.529509 0.662752 -0.529509 +0.529509 0.662752 0.529509 +0.620295 0.685696 0.380860 +-0.631074 0.451099 0.631074 +-0.869382 0.400244 0.289794 +-0.631075 0.451098 -0.631075 +-0.869382 0.400244 -0.289794 +0.000000 0.418189 -0.908360 +0.631075 0.451098 -0.631075 +0.869382 0.400244 -0.289794 +0.631075 0.451098 0.631075 +0.869382 0.400244 0.289794 +-0.000000 0.418189 0.908360 +80 +1 0 1 2 0 1 2 2 +1 0 2 3 0 2 3 2 +1 4 5 0 4 5 0 2 +1 4 0 3 4 0 3 2 +1 6 7 4 6 7 4 2 +1 6 4 3 6 4 3 2 +1 2 8 6 2 8 6 2 +1 2 6 3 2 6 3 2 +1 9 10 11 9 10 11 3 +1 9 11 12 9 11 12 3 +1 13 14 9 13 14 9 3 +1 13 9 12 13 9 12 3 +1 15 16 13 15 16 13 3 +1 15 13 12 15 13 12 3 +1 11 17 15 11 17 15 3 +1 11 15 12 11 15 12 3 +1 6 8 18 6 8 18 2 +1 6 18 19 6 18 19 2 +1 20 7 6 20 7 6 2 +1 20 6 19 20 6 19 2 +1 9 14 20 9 14 21 3 +1 9 20 19 9 21 22 3 +1 18 10 9 23 10 9 3 +1 18 9 19 23 9 22 3 +1 15 17 21 15 17 24 3 +1 15 21 22 15 24 25 3 +1 23 16 15 26 16 15 3 +1 23 15 22 26 15 25 3 +1 0 5 23 0 5 27 2 +1 0 23 22 0 27 28 2 +1 21 1 0 29 1 0 2 +1 21 0 22 29 0 28 2 +1 18 8 2 18 8 2 2 +1 18 2 24 18 2 30 2 +1 11 10 18 11 10 23 3 +1 11 18 24 11 23 31 3 +1 21 17 11 24 17 11 3 +1 21 11 24 24 11 31 3 +1 2 1 21 2 1 29 2 +1 2 21 24 2 29 30 2 +1 25 26 27 32 33 34 2 +1 25 27 28 32 34 35 2 +1 29 30 25 36 37 38 3 +1 29 25 28 36 38 39 3 +1 31 32 29 40 41 36 3 +1 31 29 28 40 36 39 3 +1 27 33 31 34 42 43 2 +1 27 31 28 34 43 35 2 +1 34 26 25 44 33 32 2 +1 34 25 35 44 32 45 2 +1 23 5 34 27 5 44 2 +1 23 34 35 27 44 45 2 +1 36 16 23 46 16 26 3 +1 36 23 35 46 26 47 3 +1 25 30 36 38 37 46 3 +1 25 36 35 38 46 47 3 +1 36 30 29 46 37 36 3 +1 36 29 37 46 36 48 3 +1 13 16 36 13 16 46 3 +1 13 36 37 13 46 48 3 +1 38 14 13 49 14 13 3 +1 38 13 37 49 13 48 3 +1 29 32 38 36 41 49 3 +1 29 38 37 36 49 48 3 +1 38 32 31 49 41 40 3 +1 38 31 39 49 40 50 3 +1 20 14 38 21 14 49 3 +1 20 38 39 21 49 50 3 +1 40 7 20 51 7 20 2 +1 40 20 39 51 20 52 2 +1 31 33 40 43 42 51 2 +1 31 40 39 43 51 52 2 +1 40 33 27 51 42 34 2 +1 40 27 41 51 34 53 2 +1 4 7 40 4 7 51 2 +1 4 40 41 4 51 53 2 +1 34 5 4 44 5 4 2 +1 34 4 41 44 4 53 2 +1 27 26 34 34 33 44 2 +1 27 34 41 34 44 53 2 + +Materials: 1 +"acidpod" +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 +0.000000 0.000000 0.000000 1.000000 +0.128000 +1.000000 +".\acidpod.bmp" +"" + +Bones: 0 +GroupComments: 0 +MaterialComments: 0 +BoneComments: 0 +ModelComment: 0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/atom.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/atom.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/atom.txt 2006-04-17 11:43:07.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/atom.txt 2006-10-22 11:24:40.000000000 +0900 @@ -513,8 +513,8 @@ Materials: 1 "objects2" -0.153726 0.185882 0.163137 1.000000 -0.768628 0.929412 0.815686 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.128000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/brownrock1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/brownrock1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/brownrock1.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/brownrock1.txt 2006-10-22 11:24:40.000000000 +0900 @@ -255,7 +255,7 @@ Materials: 1 "brown1" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/brownrock2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/brownrock2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/brownrock2.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/brownrock2.txt 2006-10-22 11:24:40.000000000 +0900 @@ -255,7 +255,7 @@ Materials: 1 "brown2" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/brownrock3.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/brownrock3.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/brownrock3.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/brownrock3.txt 2006-10-22 11:24:40.000000000 +0900 @@ -255,7 +255,7 @@ Materials: 1 "brown3" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/brownrock4.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/brownrock4.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/brownrock4.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/brownrock4.txt 2006-10-22 11:24:40.000000000 +0900 @@ -255,7 +255,7 @@ Materials: 1 "brown4" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/cactusburnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/cactusburnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/cactusburnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/cactusburnt.txt 2006-10-22 11:24:40.000000000 +0900 @@ -895,7 +895,7 @@ Materials: 1 "burnt" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/cactussmallburnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/cactussmallburnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/cactussmallburnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/cactussmallburnt.txt 2006-10-22 11:24:40.000000000 +0900 @@ -895,7 +895,7 @@ Materials: 1 "plant" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/cactussmall.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/cactussmall.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/cactussmall.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/cactussmall.txt 2006-10-22 11:24:40.000000000 +0900 @@ -1177,7 +1177,7 @@ Materials: 1 "plant" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/cactus.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/cactus.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/cactus.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/cactus.txt 2006-10-22 11:24:40.000000000 +0900 @@ -1177,7 +1177,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/cash.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/cash.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/cash.txt 2006-03-20 11:28:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/cash.txt 2006-10-22 11:24:40.000000000 +0900 @@ -53,7 +53,7 @@ Materials: 1 "objects2" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/container.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/container.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/container.txt 2006-07-05 10:53:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/container.txt 2006-10-22 11:24:40.000000000 +0900 @@ -47,9 +47,9 @@ Materials: 1 "objs2" -0.200000 0.200000 0.200000 1.000000 0.800000 0.800000 0.800000 1.000000 -0.000000 0.000000 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.500000 0.500000 0.500000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/cow1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/cow1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/cow1.txt 2006-07-03 07:05:25.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/cow1.txt 2006-10-22 11:24:40.000000000 +0900 @@ -1302,7 +1302,7 @@ Materials: 1 "cowmat" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/deer1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/deer1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/deer1.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/deer1.txt 2006-10-22 11:24:40.000000000 +0900 @@ -3170,7 +3170,7 @@ Materials: 3 "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -3179,7 +3179,7 @@ ".\objs1.bmp" "" "white" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -3188,7 +3188,7 @@ ".\objs1.bmp" "" "body" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/deer2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/deer2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/deer2.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/deer2.txt 2006-10-22 11:24:40.000000000 +0900 @@ -3180,7 +3180,7 @@ Materials: 3 "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -3189,7 +3189,7 @@ ".\objs1.bmp" "" "white" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -3198,7 +3198,7 @@ ".\objs1.bmp" "" "body" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/deerburnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/deerburnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/deerburnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/deerburnt.txt 2006-10-22 11:24:40.000000000 +0900 @@ -3181,7 +3181,7 @@ Materials: 3 "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -3190,7 +3190,7 @@ ".\objs1.bmp" "" "white" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -3199,7 +3199,7 @@ ".\objs1.bmp" "" "body" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/earth_half.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/earth_half.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/earth_half.txt 2005-12-18 05:41:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/earth_half.txt 2006-10-01 07:28:03.000000000 +0900 @@ -257,10 +257,10 @@ Materials: 1 "earth" +0.400000 0.400000 0.400000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 -1.000000 1.000000 1.000000 1.000000 -0.000000 0.000000 0.000000 1.000000 -0.5 0.5 0.5 1.000000 +0.500000 0.500000 0.500000 1.000000 0.000000 1.000000 ".\earth.bmp" diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/earth.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/earth.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/earth.txt 2005-12-18 05:41:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/earth.txt 2006-10-01 07:28:03.000000000 +0900 @@ -478,10 +478,10 @@ Materials: 1 "earth" +0.400000 0.400000 0.400000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 -1.000000 1.000000 1.000000 1.000000 -0.000000 0.000000 0.000000 1.000000 -0.5 0.5 0.5 1.000000 +0.500000 0.500000 0.500000 1.000000 0.000000 1.000000 ".\earth.bmp" Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/fleshpod.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/fleshpod.bmp differ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/fleshpod.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/fleshpod.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/fleshpod.txt 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/fleshpod.txt 2006-10-22 11:24:40.000000000 +0900 @@ -0,0 +1,203 @@ +// MilkShape 3D ASCII + +Frames: 30 +Frame: 1 + +Meshes: 1 +"Cube" 0 0 +42 +1 -2.250000 1.250000 2.250000 0.142874 0.823314 -1 +1 -1.555555 0.555555 1.555555 0.251892 0.912792 -1 +1 -0.000000 0.312500 2.000000 0.496094 0.944110 -1 +1 -0.000000 1.250000 3.000000 0.496094 0.823314 -1 +1 -0.000000 2.819863 3.093750 0.496094 0.621038 -1 +1 -2.320313 2.819863 2.320313 0.131836 0.621038 -1 +1 2.250000 1.250000 2.250000 0.849313 0.823314 -1 +1 2.320313 2.819863 2.320313 0.860352 0.621038 -1 +1 1.555555 0.555555 1.555555 0.740295 0.912792 -1 +1 2.250000 1.250000 -2.250000 0.849313 0.823314 -1 +1 1.555555 0.555555 -1.555555 0.740295 0.912792 -1 +1 0.000000 0.312500 -2.000000 0.496094 0.944110 -1 +1 0.000000 1.250000 -3.000000 0.496094 0.823314 -1 +1 0.000000 2.819863 -3.093750 0.496094 0.621038 -1 +1 2.320313 2.819863 -2.320313 0.860352 0.621038 -1 +1 -2.250000 1.250000 -2.250000 0.142874 0.823314 -1 +1 -2.320313 2.819863 -2.320313 0.131836 0.621038 -1 +1 -1.555555 0.555555 -1.555555 0.251892 0.912792 -1 +1 2.000000 0.312500 0.000000 0.810067 0.944110 -1 +1 3.000000 1.250000 0.000000 0.967053 0.823314 -1 +1 3.093750 2.819863 0.000000 0.981771 0.621038 -1 +1 -2.000000 0.312500 -0.000000 0.182121 0.944110 -1 +1 -3.000000 1.250000 -0.000000 0.025134 0.823314 -1 +1 -3.093750 2.819863 -0.000000 0.010417 0.621038 -1 +1 0.000000 0.000000 0.000000 0.496094 0.984375 -1 +1 -1.218750 6.926540 0.000000 0.304766 0.091896 -1 +1 -1.069445 6.434700 1.069445 0.328205 0.155270 -1 +1 0.000000 6.926540 1.218750 0.496094 0.091896 -1 +1 0.000000 7.558905 0.000000 0.496094 0.010417 -1 +1 0.000000 6.926540 -1.218750 0.496094 0.091896 -1 +1 -1.069445 6.434705 -1.069445 0.328205 0.155269 -1 +1 1.218750 6.926540 0.000000 0.687421 0.091896 -1 +1 1.069445 6.434705 -1.069445 0.663982 0.155269 -1 +1 1.069445 6.434705 1.069445 0.663982 0.155269 -1 +1 -1.781250 5.029450 1.781250 0.216461 0.336335 -1 +1 -2.375000 5.029450 0.000000 0.123251 0.336335 -1 +1 -1.781250 5.029450 -1.781250 0.216461 0.336335 -1 +1 0.000000 5.029450 -2.375000 0.496094 0.336335 -1 +1 1.781250 5.029450 -1.781250 0.775726 0.336335 -1 +1 2.375000 5.029450 0.000000 0.868937 0.336335 -1 +1 1.781250 5.029450 1.781250 0.775726 0.336335 -1 +1 0.000000 5.029450 2.375000 0.496094 0.336335 -1 +54 +-0.620685 -0.479061 0.620685 +-0.344938 -0.872947 0.344938 +0.000000 -0.911453 0.411404 +-0.000000 -0.429605 0.903017 +-0.000000 0.127512 0.991837 +-0.700623 0.135110 0.700623 +0.620685 -0.479061 0.620685 +0.700623 0.135110 0.700623 +0.344938 -0.872947 0.344938 +0.620685 -0.479061 -0.620685 +0.344938 -0.872947 -0.344938 +0.000000 -0.911453 -0.411404 +0.000000 -0.429605 -0.903017 +0.000000 0.127512 -0.991837 +0.700623 0.135110 -0.700623 +-0.620685 -0.479061 -0.620685 +-0.700623 0.135110 -0.700623 +-0.344938 -0.872947 -0.344938 +0.401159 -0.888756 0.221774 +0.864693 -0.411373 0.288231 +0.941705 0.121067 0.313902 +0.941705 0.121067 -0.313902 +0.864693 -0.411373 -0.288231 +0.401159 -0.888756 -0.221774 +-0.401159 -0.888756 -0.221774 +-0.864693 -0.411373 -0.288231 +-0.941705 0.121067 -0.313902 +-0.941705 0.121067 0.313902 +-0.864693 -0.411373 0.288231 +-0.401159 -0.888756 0.221774 +0.000000 -0.988012 0.154377 +0.000000 -0.988012 -0.154377 +-0.620295 0.685696 0.380862 +-0.529509 0.662751 0.529510 +-0.000001 0.741588 0.670856 +0.000000 0.887630 0.460558 +0.000000 0.741588 -0.670856 +-0.529509 0.662752 -0.529509 +-0.620295 0.685696 -0.380860 +0.000000 0.887630 -0.460558 +0.620295 0.685696 -0.380860 +0.529509 0.662752 -0.529509 +0.529509 0.662752 0.529509 +0.620295 0.685696 0.380860 +-0.631074 0.451099 0.631074 +-0.869382 0.400244 0.289794 +-0.631075 0.451098 -0.631075 +-0.869382 0.400244 -0.289794 +0.000000 0.418189 -0.908360 +0.631075 0.451098 -0.631075 +0.869382 0.400244 -0.289794 +0.631075 0.451098 0.631075 +0.869382 0.400244 0.289794 +-0.000000 0.418189 0.908360 +80 +1 0 1 2 0 1 2 2 +1 0 2 3 0 2 3 2 +1 4 5 0 4 5 0 2 +1 4 0 3 4 0 3 2 +1 6 7 4 6 7 4 2 +1 6 4 3 6 4 3 2 +1 2 8 6 2 8 6 2 +1 2 6 3 2 6 3 2 +1 9 10 11 9 10 11 3 +1 9 11 12 9 11 12 3 +1 13 14 9 13 14 9 3 +1 13 9 12 13 9 12 3 +1 15 16 13 15 16 13 3 +1 15 13 12 15 13 12 3 +1 11 17 15 11 17 15 3 +1 11 15 12 11 15 12 3 +1 6 8 18 6 8 18 2 +1 6 18 19 6 18 19 2 +1 20 7 6 20 7 6 2 +1 20 6 19 20 6 19 2 +1 9 14 20 9 14 21 3 +1 9 20 19 9 21 22 3 +1 18 10 9 23 10 9 3 +1 18 9 19 23 9 22 3 +1 15 17 21 15 17 24 3 +1 15 21 22 15 24 25 3 +1 23 16 15 26 16 15 3 +1 23 15 22 26 15 25 3 +1 0 5 23 0 5 27 2 +1 0 23 22 0 27 28 2 +1 21 1 0 29 1 0 2 +1 21 0 22 29 0 28 2 +1 18 8 2 18 8 2 2 +1 18 2 24 18 2 30 2 +1 11 10 18 11 10 23 3 +1 11 18 24 11 23 31 3 +1 21 17 11 24 17 11 3 +1 21 11 24 24 11 31 3 +1 2 1 21 2 1 29 2 +1 2 21 24 2 29 30 2 +1 25 26 27 32 33 34 2 +1 25 27 28 32 34 35 2 +1 29 30 25 36 37 38 3 +1 29 25 28 36 38 39 3 +1 31 32 29 40 41 36 3 +1 31 29 28 40 36 39 3 +1 27 33 31 34 42 43 2 +1 27 31 28 34 43 35 2 +1 34 26 25 44 33 32 2 +1 34 25 35 44 32 45 2 +1 23 5 34 27 5 44 2 +1 23 34 35 27 44 45 2 +1 36 16 23 46 16 26 3 +1 36 23 35 46 26 47 3 +1 25 30 36 38 37 46 3 +1 25 36 35 38 46 47 3 +1 36 30 29 46 37 36 3 +1 36 29 37 46 36 48 3 +1 13 16 36 13 16 46 3 +1 13 36 37 13 46 48 3 +1 38 14 13 49 14 13 3 +1 38 13 37 49 13 48 3 +1 29 32 38 36 41 49 3 +1 29 38 37 36 49 48 3 +1 38 32 31 49 41 40 3 +1 38 31 39 49 40 50 3 +1 20 14 38 21 14 49 3 +1 20 38 39 21 49 50 3 +1 40 7 20 51 7 20 2 +1 40 20 39 51 20 52 2 +1 31 33 40 43 42 51 2 +1 31 40 39 43 51 52 2 +1 40 33 27 51 42 34 2 +1 40 27 41 51 34 53 2 +1 4 7 40 4 7 51 2 +1 4 40 41 4 51 53 2 +1 34 5 4 44 5 4 2 +1 34 4 41 44 4 53 2 +1 27 26 34 34 33 44 2 +1 27 34 41 34 44 53 2 + +Materials: 1 +"fleshpod" +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 +0.000000 0.000000 0.000000 1.000000 +0.128000 +1.000000 +".\fleshpod.bmp" +"" + +Bones: 0 +GroupComments: 0 +MaterialComments: 0 +BoneComments: 0 +ModelComment: 0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/fuelbarrel.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/fuelbarrel.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/fuelbarrel.txt 2006-03-14 14:04:32.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/fuelbarrel.txt 2006-10-22 11:24:40.000000000 +0900 @@ -129,9 +129,9 @@ Materials: 1 "objects1" -0.200000 0.200000 0.200000 1.000000 0.800000 0.800000 0.800000 1.000000 -0.000000 0.000000 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.500000 0.500000 0.500000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/medkit.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/medkit.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/medkit.txt 2006-03-19 14:47:48.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/medkit.txt 2006-10-22 11:24:40.000000000 +0900 @@ -53,7 +53,7 @@ Materials: 1 "mat1" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/mushroom.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/mushroom.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/mushroom.txt 2006-07-02 07:58:49.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/mushroom.txt 2006-10-22 11:24:40.000000000 +0900 @@ -343,9 +343,9 @@ Materials: 1 "mat_0_0" -0.196078 0.174902 0.184314 1.000000 -0.980392 0.874510 0.921569 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.128000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/parachute.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/parachute.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/parachute.txt 2006-07-02 07:57:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/parachute.txt 2006-10-22 11:24:40.000000000 +0900 @@ -286,9 +286,9 @@ Materials: 1 "objs" -0.170980 0.176471 0.160000 1.000000 -0.854902 0.882353 0.800000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.128000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/rock1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/rock1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/rock1.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/rock1.txt 2006-10-22 11:24:40.000000000 +0900 @@ -282,7 +282,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/rock2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/rock2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/rock2.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/rock2.txt 2006-10-22 11:24:40.000000000 +0900 @@ -282,7 +282,7 @@ Materials: 1 "grey" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/rock3.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/rock3.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/rock3.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/rock3.txt 2006-10-22 11:24:40.000000000 +0900 @@ -255,7 +255,7 @@ Materials: 1 "quarts" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/rock4.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/rock4.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/rock4.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/rock4.txt 2006-10-22 11:24:40.000000000 +0900 @@ -255,7 +255,7 @@ Materials: 1 "grey" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/satellite.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/satellite.bmp differ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/satellite.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/satellite.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/satellite.txt 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/satellite.txt 2006-10-23 01:01:24.000000000 +0900 @@ -0,0 +1,247 @@ +// MilkShape 3D ASCII + +Frames: 30 +Frame: 1 + +Meshes: 3 +"satellite" 1 0 +28 +1 -0.750000 -0.000003 -0.056423 0.948438 0.281677 -1 +1 -3.228467 -0.000000 0.000000 0.001563 0.247656 -1 +1 -0.750000 0.056423 0.000003 0.948438 0.247654 -1 +1 -0.750000 0.000003 0.056423 0.948438 0.213636 -1 +1 -0.750000 -0.056423 -0.000003 0.948438 0.247658 -1 +1 0.750000 -0.000003 0.056423 0.001563 0.213636 -1 +1 3.228467 -0.000000 0.000000 0.948438 0.247656 -1 +1 0.750000 0.056423 -0.000003 0.001563 0.247658 -1 +1 0.750000 0.000003 -0.056423 0.001563 0.281677 -1 +1 0.750000 -0.056423 0.000003 0.001563 0.247654 -1 +1 0.824117 -0.405558 0.349138 0.029878 0.037143 -1 +1 3.092600 -0.377720 0.377720 0.896531 0.019910 -1 +1 0.824117 -0.349138 0.405558 0.029878 0.003125 -1 +1 0.824117 0.405558 -0.349138 0.029878 0.458169 -1 +1 3.092600 0.377720 -0.377720 0.896531 0.475403 -1 +1 0.824117 0.349138 -0.405558 0.029878 0.492188 -1 +1 -0.824117 0.405558 0.349138 0.920122 0.037143 -1 +1 -3.092600 0.377720 0.377720 0.053469 0.019910 -1 +1 -0.824117 0.349138 0.405558 0.920122 0.003125 -1 +1 -0.824117 0.349138 0.405558 0.000000 0.000000 -1 +1 -0.750000 0.000003 0.056423 0.000000 0.000000 -1 +1 -0.750000 0.056423 0.000003 0.000000 0.000000 -1 +1 -0.824117 -0.405558 -0.349138 0.920122 0.458169 -1 +1 -3.092600 -0.377720 -0.377720 0.053469 0.475403 -1 +1 -0.824117 -0.349138 -0.405558 0.920122 0.492188 -1 +1 -0.824117 -0.349138 -0.405558 0.000000 0.000000 -1 +1 -0.750000 -0.000003 -0.056423 0.000000 0.000000 -1 +1 -0.750000 -0.056423 -0.000003 0.000000 0.000000 -1 +24 +-0.016613 0.706663 -0.707356 +-1.000000 -0.000000 0.000000 +0.430659 0.682960 -0.589999 +-0.016613 -0.706663 0.707356 +0.430659 -0.682960 0.589998 +-0.298433 0.640355 0.707732 +1.000000 0.000000 0.000000 +-0.693503 0.578222 0.429783 +-0.298433 -0.640355 -0.707732 +-0.693503 -0.578222 -0.429783 +-0.382650 -0.892051 -0.240468 +0.036002 -0.003026 0.999347 +-0.767887 -0.081540 0.635375 +-0.382650 0.892051 0.240468 +0.036002 0.003027 -0.999347 +-0.767887 0.081540 -0.635374 +0.382650 0.892051 -0.240468 +-0.036002 0.003026 0.999347 +0.538390 0.057194 0.840752 +0.988920 0.104968 0.104968 +0.382650 -0.892051 0.240468 +-0.036002 -0.003026 -0.999347 +0.538390 -0.057195 -0.840752 +0.988920 -0.104968 -0.104968 +32 +1 0 1 2 0 1 2 1 +1 3 1 4 3 1 4 1 +1 5 6 7 5 6 7 1 +1 8 6 9 8 6 9 1 +1 10 11 12 10 11 12 1 +1 11 6 5 11 6 5 1 +1 11 5 12 11 5 12 1 +1 10 9 6 10 9 6 1 +1 10 6 11 10 6 11 1 +1 12 5 9 12 5 9 1 +1 12 9 10 12 9 10 1 +1 13 14 15 13 14 15 1 +1 14 6 8 14 6 8 1 +1 14 8 15 14 8 15 1 +1 13 7 6 13 7 6 1 +1 13 6 14 13 6 14 1 +1 15 8 7 15 8 7 1 +1 15 7 13 15 7 13 1 +1 16 17 18 16 17 18 1 +1 17 1 3 17 1 3 1 +1 17 3 18 17 3 18 1 +1 16 2 1 16 2 1 1 +1 16 1 17 16 1 17 1 +1 19 20 21 19 19 19 1 +1 18 2 16 18 2 16 1 +1 22 23 24 20 21 22 1 +1 23 1 0 21 1 0 1 +1 23 0 24 21 0 22 1 +1 22 4 1 20 4 1 1 +1 22 1 23 20 1 21 1 +1 25 26 27 23 23 23 1 +1 24 4 22 22 4 20 1 +"body" 1 0 +32 +1 0.500000 -0.500000 -0.500000 0.493750 0.995313 -1 +1 0.500000 -0.500000 0.500000 0.493750 0.504687 -1 +1 -0.500000 -0.500000 0.500000 0.001563 0.504687 -1 +1 -0.500000 -0.500000 -0.500000 0.001563 0.995313 -1 +1 -0.500000 0.500000 -0.500000 0.001563 0.995313 -1 +1 -0.500000 0.500000 0.500000 0.001563 0.504687 -1 +1 0.500000 0.500000 0.500000 0.493750 0.504687 -1 +1 0.500000 0.500000 -0.500000 0.493750 0.995313 -1 +1 -0.750000 -0.039895 -0.039899 0.228020 0.769576 -1 +1 -0.750000 0.039895 -0.039899 0.267292 0.769576 -1 +1 -0.500000 0.500000 -0.500000 0.493750 0.995313 -1 +1 -0.750000 0.039895 0.039899 0.267292 0.730424 -1 +1 -0.500000 0.500000 0.500000 0.493750 0.504687 -1 +1 -0.750000 -0.039895 0.039900 0.228020 0.730424 -1 +1 0.750000 0.040585 -0.039197 0.267632 0.769231 -1 +1 0.750000 -0.039193 -0.040590 0.228366 0.769914 -1 +1 0.500000 -0.500000 -0.500000 0.001563 0.995313 -1 +1 0.750000 0.039193 0.040590 0.266946 0.730086 -1 +1 0.750000 -0.040585 0.039197 0.227681 0.730769 -1 +1 0.500000 -0.500000 0.500000 0.001563 0.504687 -1 +1 -0.050000 0.050000 0.693519 0.223047 0.725469 -1 +1 -0.500000 -0.500000 0.500000 0.001563 0.995313 -1 +1 -0.050000 -0.050000 0.693519 0.223047 0.774531 -1 +1 0.050000 0.050000 0.693519 0.272266 0.725469 -1 +1 0.050000 -0.050000 0.693519 0.272266 0.774531 -1 +1 0.500000 -0.500000 0.500000 0.493750 0.995313 -1 +1 0.050000 0.050000 -0.693519 0.272266 0.725469 -1 +1 0.500000 0.500000 -0.500000 0.493750 0.504687 -1 +1 0.050000 -0.050000 -0.693519 0.272266 0.774531 -1 +1 -0.050000 0.050000 -0.693519 0.223047 0.725469 -1 +1 -0.500000 0.500000 -0.500000 0.001563 0.504687 -1 +1 -0.050000 -0.050000 -0.693519 0.223047 0.774531 -1 +32 +0.211502 -0.641116 -0.737724 +0.000000 -1.000000 -0.000000 +-0.704554 -0.662169 0.255217 +-0.581425 -0.526547 -0.620237 +0.000000 1.000000 0.000000 +-0.119354 0.540825 0.832624 +0.589321 0.493015 0.640029 +0.793880 0.591441 -0.141248 +-0.926872 -0.167873 -0.335749 +-0.926872 0.335747 -0.167875 +-0.926872 0.167874 -0.335749 +-0.926871 0.167874 0.335750 +-0.926872 0.335747 0.167875 +-0.926872 -0.335746 0.167875 +0.925845 0.173636 -0.335651 +0.925846 -0.335649 -0.173637 +0.926482 -0.164840 -0.338319 +0.925846 0.335648 0.173638 +0.925845 -0.173636 0.335651 +0.926482 -0.338317 0.164841 +-0.273012 0.136506 0.952276 +-0.273012 -0.136506 0.952276 +-0.136506 -0.273012 0.952276 +0.136506 0.273012 0.952276 +0.273012 -0.136506 0.952276 +0.136506 -0.273012 0.952276 +0.273012 0.136506 -0.952276 +0.136506 0.273012 -0.952276 +0.136506 -0.273012 -0.952276 +-0.136506 0.273012 -0.952276 +-0.273012 0.136506 -0.952276 +-0.273012 -0.136506 -0.952276 +36 +1 0 1 2 0 1 2 1 +1 0 2 3 0 2 3 1 +1 4 5 6 4 5 6 1 +1 4 6 7 4 6 7 1 +1 8 9 10 8 9 10 1 +1 8 10 3 8 10 3 1 +1 9 11 12 9 11 12 1 +1 9 12 10 9 12 10 1 +1 11 13 2 11 13 2 1 +1 11 2 12 11 2 12 1 +1 13 8 3 13 8 3 1 +1 13 3 2 13 3 2 1 +1 14 15 16 14 15 16 1 +1 14 16 7 14 16 7 1 +1 17 14 7 17 14 7 1 +1 17 7 6 17 7 6 1 +1 18 17 6 18 17 6 1 +1 18 6 19 18 6 19 1 +1 15 18 19 15 18 19 1 +1 15 19 16 15 19 16 1 +1 20 5 21 20 5 21 1 +1 20 21 22 20 21 22 1 +1 23 6 5 23 6 5 1 +1 23 5 20 23 5 20 1 +1 24 25 6 24 25 6 1 +1 24 6 23 24 6 23 1 +1 22 21 25 22 21 25 1 +1 22 25 24 22 25 24 1 +1 26 27 0 26 27 0 1 +1 26 0 28 26 0 28 1 +1 29 30 27 29 30 27 1 +1 29 27 26 29 27 26 1 +1 31 3 30 31 3 30 1 +1 31 30 29 31 30 29 1 +1 28 0 3 28 0 3 1 +1 28 3 31 28 3 31 1 +"antenae" 1 0 +10 +1 0.000000 -0.000000 3.000000 0.748438 0.504687 -1 +1 -0.050000 0.050000 0.693519 0.504687 0.995313 -1 +1 -0.050000 -0.050000 0.693519 0.504687 0.995313 -1 +1 0.050000 0.050000 0.693519 0.992188 0.995313 -1 +1 0.050000 -0.050000 0.693519 0.992188 0.995313 -1 +1 0.000000 0.000000 -3.000000 0.748846 0.509351 -1 +1 0.050000 0.050000 -0.693519 0.507217 0.993210 -1 +1 0.050000 -0.050000 -0.693519 0.507217 0.993210 -1 +1 -0.050000 0.050000 -0.693519 0.994712 0.991106 -1 +1 -0.050000 -0.050000 -0.693519 0.994712 0.991106 -1 +10 +0.000000 0.000000 1.000000 +-0.706775 0.706775 0.030643 +-0.706775 -0.706775 0.030643 +0.706775 0.706775 0.030643 +0.706775 -0.706775 0.030643 +0.000000 0.000000 -1.000000 +0.706775 0.706775 -0.030643 +0.706775 -0.706775 -0.030643 +-0.706775 0.706775 -0.030643 +-0.706775 -0.706775 -0.030643 +8 +1 0 1 2 0 1 2 1 +1 0 3 1 0 3 1 1 +1 0 4 3 0 4 3 1 +1 0 2 4 0 2 4 1 +1 5 6 7 5 6 7 1 +1 5 8 6 5 8 6 1 +1 5 9 8 5 9 8 1 +1 5 7 9 5 7 9 1 + +Materials: 1 +"satellite" +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +1.000000 1.000000 1.000000 1.000000 +0.000000 0.000000 0.000000 1.000000 +0.128000 +1.000000 +".\satellite.bmp" +"" + +Bones: 0 +GroupComments: 0 +MaterialComments: 0 +BoneComments: 0 +ModelComment: 0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/smalloakburnt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/smalloakburnt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/smalloakburnt.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/smalloakburnt.txt 2006-10-22 11:24:40.000000000 +0900 @@ -997,7 +997,7 @@ Materials: 1 "brown" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/smalloakfall.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/smalloakfall.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/objects/smalloakfall.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/objects/smalloakfall.txt 2006-10-22 11:24:40.000000000 +0900 @@ -1114,7 +1114,7 @@ Materials: 2 "brown" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1123,7 +1123,7 @@ ".\objs1.bmp" "" "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/people/male1_soldier.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/people/male1_soldier.bmp differ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/people/male1_soldier_standing.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/people/male1_soldier_standing.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/people/male1_soldier_standing.txt 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/people/male1_soldier_standing.txt 2006-10-22 11:24:40.000000000 +0900 @@ -0,0 +1,1814 @@ +// MilkShape 3D ASCII + +Frames: 48 +Frame: 1 + +Meshes: 1 +"body" 0 0 +422 +0 -1.094151 7.559704 0.402811 0.216017 0.291608 0 +0 -1.552856 9.027592 0.375216 0.201166 0.159239 1 +0 -1.801119 8.957348 -0.306032 0.193127 0.165573 1 +0 -1.454069 7.645805 -0.328636 0.204364 0.283844 0 +0 -1.445336 6.361490 -0.362009 0.204647 0.399659 0 +0 -1.233410 6.303398 0.327149 0.211508 0.404898 0 +0 -1.094151 7.559704 -0.941320 0.715185 0.292355 0 +0 -1.233410 6.303398 -1.146812 0.710694 0.405949 0 +0 -1.445336 6.361490 -0.362009 0.703861 0.400697 0 +0 -1.454069 7.645805 -0.328636 0.703579 0.284570 0 +0 -1.801119 8.957348 -0.306032 0.692389 0.165981 1 +0 -1.445834 9.175497 -0.985916 0.703845 0.146256 1 +0 1.415381 6.361490 -0.362009 0.796102 0.400697 0 +0 1.203455 6.303398 -1.146812 0.789269 0.405949 0 +0 1.065352 7.559704 -0.941320 0.784816 0.292355 0 +0 1.425270 7.645805 -0.328636 0.796421 0.284570 0 +0 1.065352 7.559704 0.402811 0.285936 0.291608 0 +0 1.203455 6.303398 0.327149 0.290407 0.404898 0 +0 1.415381 6.361490 -0.362009 0.297269 0.399659 0 +0 1.425270 7.645805 -0.328636 0.297589 0.283844 0 +0 1.772319 8.957348 -0.306032 0.308826 0.165573 1 +0 1.524057 9.027592 0.375216 0.300788 0.159239 1 +0 1.417034 9.175497 -0.985916 0.796155 0.146256 1 +0 1.772319 8.957348 -0.306032 0.807611 0.165981 1 +0 -0.663927 6.129124 0.553900 0.229947 0.420613 0 +0 -0.014400 7.301402 0.579567 0.250977 0.314901 0 +0 -0.014400 8.934750 0.707184 0.250977 0.167611 1 +0 0.633878 6.129124 0.553900 0.271966 0.420613 0 +0 -0.015199 5.660481 0.530169 0.250951 0.462874 0 +0 0.633878 6.129124 -1.261684 0.770903 0.421707 0 +0 -0.014400 7.301402 -1.186620 0.750000 0.315711 0 +0 -0.014400 8.934750 -1.309835 0.750000 0.168024 1 +0 -0.663927 6.129124 -1.261684 0.729057 0.421707 0 +0 -0.015199 5.660481 -1.245376 0.749974 0.464082 0 +0 -1.382502 4.987251 -0.906959 0.705887 0.524954 16 +0 -1.265493 3.629667 -0.613577 0.709660 0.647706 17 +0 -1.394746 3.636979 -0.373133 0.705492 0.647045 17 +0 -1.530084 5.016506 -0.373133 0.701128 0.522309 16 +0 -1.382502 4.987251 0.246988 0.206681 0.523584 16 +0 -1.530084 5.016506 -0.373133 0.201903 0.520946 16 +0 -1.394746 3.636979 -0.373133 0.206285 0.645347 17 +0 -1.265493 3.629665 0.169581 0.210470 0.646006 17 +0 -0.877736 3.607726 0.349421 0.223024 0.647985 17 +0 -0.940902 4.899494 0.453692 0.220979 0.531497 16 +0 -0.474405 4.811737 0.246988 0.236083 0.539411 16 +0 -0.489979 3.585788 0.169581 0.235579 0.649963 17 +0 -0.360727 3.578473 -0.373133 0.239763 0.650623 17 +0 -0.223250 4.782484 -0.373133 0.244215 0.542049 16 +0 -0.015648 5.353139 -0.373133 0.250936 0.490589 0 +0 -0.474405 4.811737 -0.906959 0.735168 0.540824 16 +0 -0.015648 5.353139 -0.373133 0.749960 0.491871 0 +0 -0.223250 4.782484 -0.373133 0.743266 0.543469 16 +0 -0.360727 3.578473 -0.373133 0.738833 0.652335 17 +0 -0.489979 3.585788 -0.613577 0.734665 0.651674 17 +0 -0.877736 3.607726 -0.793417 0.722163 0.649690 17 +0 -0.940902 4.899494 -1.113668 0.720126 0.532889 16 +0 0.440610 4.811737 0.246988 0.265709 0.539411 13 +0 0.452439 3.585788 0.169581 0.266092 0.649963 14 +0 0.840196 3.607726 0.349421 0.278646 0.647985 14 +0 0.907108 4.899494 0.453692 0.280813 0.531497 13 +0 1.349080 4.987251 0.246988 0.295122 0.523584 13 +0 1.227954 3.629665 0.169581 0.291201 0.646006 14 +0 1.357206 3.636979 -0.373133 0.295386 0.645347 14 +0 1.496662 5.016506 -0.373133 0.299901 0.520946 13 +0 1.349080 4.987251 -0.906959 0.793964 0.524954 13 +0 1.496662 5.016506 -0.373133 0.798723 0.522309 13 +0 1.357206 3.636979 -0.373133 0.794226 0.647045 14 +0 1.227954 3.629665 -0.613577 0.790059 0.647706 14 +0 0.840196 3.607726 -0.793417 0.777556 0.649690 14 +0 0.907108 4.899494 -1.113668 0.779713 0.532889 13 +0 0.440610 4.811737 -0.906959 0.764671 0.540824 13 +0 0.452439 3.585788 -0.613577 0.765053 0.651674 14 +0 0.323186 3.578473 -0.373133 0.760885 0.652335 14 +0 0.189456 4.782484 -0.373133 0.756573 0.543469 13 +0 0.189456 4.782484 -0.373133 0.257577 0.542049 13 +0 0.323186 3.578473 -0.373133 0.261907 0.650623 14 +0 0.483644 2.584741 0.089407 0.374919 0.767586 14 +0 0.393054 0.824108 -0.062864 0.358896 0.916515 15 +0 0.761639 1.029399 0.104803 0.375436 0.899260 14 +0 0.830367 2.584741 0.243588 0.390009 0.767699 14 +0 0.483644 2.584741 0.089407 0.267102 0.740234 14 +0 0.830367 2.584741 0.243588 0.278328 0.740234 14 +0 1.177088 2.584741 0.089407 0.289554 0.740234 14 +0 1.113730 0.824108 -0.062864 0.358896 0.916515 15 +0 1.177088 2.584741 0.089407 0.374919 0.767586 14 +0 1.194778 1.079955 -0.373133 0.328692 0.894628 14 +0 1.292662 2.584741 -0.373133 0.329650 0.767246 14 +0 1.292662 2.584741 -0.373133 0.293296 0.740234 14 +0 1.177088 2.584741 -0.835672 0.788418 0.742188 14 +0 1.292662 2.584741 -0.373133 0.792145 0.742188 14 +0 1.086493 1.079955 -0.744987 0.292298 0.894355 14 +0 1.177088 2.584741 -0.835672 0.284381 0.766905 14 +0 0.761639 1.079955 -0.880377 0.279048 0.894255 14 +0 0.830366 2.584741 -0.989857 0.269290 0.766792 14 +0 0.830366 2.584741 -0.989857 0.777239 0.742188 14 +0 0.483644 2.584741 -0.835672 0.766059 0.742188 14 +0 0.436785 1.079955 -0.744987 0.292298 0.894355 14 +0 0.483644 2.584741 -0.835672 0.284381 0.766905 14 +0 0.328500 1.079955 -0.373133 0.328692 0.894628 14 +0 0.368071 2.584741 -0.373133 0.329650 0.767246 14 +0 0.368071 2.584741 -0.373133 0.762332 0.742188 14 +0 0.368071 2.584741 -0.373133 0.263360 0.740234 14 +0 -1.215761 2.584741 -0.835672 0.284381 0.766905 17 +0 -1.125165 1.079955 -0.744987 0.292298 0.894355 17 +0 -1.233450 1.079955 -0.373133 0.328692 0.894628 17 +0 -1.331335 2.584741 -0.373133 0.329650 0.767246 17 +0 -1.215761 2.584741 -0.835672 0.711263 0.742188 17 +0 -1.331335 2.584741 -0.373133 0.707537 0.742188 17 +0 -1.215761 2.584741 0.089407 0.212080 0.740234 17 +0 -1.331335 2.584741 -0.373133 0.208338 0.740234 17 +0 -1.152402 0.824108 -0.062864 0.358896 0.916515 18 +0 -1.215761 2.584741 0.089407 0.374919 0.767586 17 +0 -0.800312 1.029399 0.104803 0.375436 0.899260 17 +0 -0.869039 2.584741 0.243588 0.390009 0.767699 17 +0 -0.869039 2.584741 0.243588 0.223306 0.740234 17 +0 -0.522317 2.584741 0.089407 0.234532 0.740234 17 +0 -0.431727 0.824108 -0.062864 0.358896 0.916515 18 +0 -0.522317 2.584741 0.089407 0.374919 0.767586 17 +0 -0.367173 1.079955 -0.373133 0.328692 0.894628 17 +0 -0.406743 2.584741 -0.373133 0.329650 0.767246 17 +0 -0.406743 2.584741 -0.373133 0.238274 0.740234 17 +0 -0.522317 2.584741 -0.835672 0.733623 0.742188 17 +0 -0.406743 2.584741 -0.373133 0.737349 0.742188 17 +0 -0.475458 1.079955 -0.744987 0.292298 0.894355 17 +0 -0.522317 2.584741 -0.835672 0.284381 0.766905 17 +0 -0.800312 1.079955 -0.880377 0.279048 0.894255 17 +0 -0.869039 2.584741 -0.989857 0.269290 0.766792 17 +0 -0.869039 2.584741 -0.989857 0.722443 0.742188 17 +0 -1.094967 -0.016009 -0.373133 0.007813 0.939483 18 +0 -1.060764 -0.044085 -0.782372 0.014123 0.983370 17 +0 -0.777402 -0.045445 -0.882805 0.066406 0.994141 17 +0 -0.777402 -0.045147 -0.373133 0.066406 0.939483 18 +0 -0.777402 -0.045147 0.035000 0.066406 0.895714 18 +0 -1.094967 -0.016009 0.035000 0.007813 0.895714 18 +0 -0.459838 -0.016009 -0.373133 0.125000 0.939483 18 +0 -0.459838 -0.016009 0.035000 0.125000 0.895714 18 +0 -0.509156 -0.044085 -0.782372 0.115900 0.983370 17 +0 0.738730 -0.045147 0.035000 0.066406 0.895714 15 +0 0.421165 -0.016009 0.035000 0.007813 0.895714 15 +0 0.421165 -0.016009 -0.373133 0.007813 0.939483 15 +0 0.738730 -0.045147 -0.373133 0.066406 0.939483 15 +0 1.056295 -0.016009 -0.373133 0.125000 0.939483 15 +0 1.056295 -0.016009 0.035000 0.125000 0.895714 15 +0 0.738730 -0.045445 -0.882805 0.066406 0.994141 14 +0 1.022092 -0.044085 -0.782372 0.118689 0.983370 14 +0 0.470483 -0.044085 -0.782372 0.016912 0.983370 14 +0 -1.094967 0.248788 -0.760504 0.290251 0.964703 17 +0 -1.060764 -0.044085 -0.782372 0.287924 0.989479 17 +0 -1.094967 -0.016009 -0.373133 0.327995 0.987404 18 +0 -1.200822 0.248788 -0.373133 0.328163 0.964988 18 +0 -1.200822 0.248788 0.035000 0.368108 0.965289 18 +0 -1.094967 -0.016009 0.035000 0.367939 0.987704 18 +0 -0.353983 0.248788 0.035000 0.368108 0.965289 18 +0 -0.459838 -0.016009 0.035000 0.367939 0.987704 18 +0 -0.459838 -0.016009 -0.373133 0.327995 0.987404 18 +0 -0.353983 0.248788 -0.373133 0.328163 0.964988 18 +0 -0.459838 0.248788 -0.760504 0.290251 0.964703 17 +0 -0.509156 -0.044085 -0.782372 0.287924 0.989479 17 +0 -0.777402 -0.045445 -0.882805 0.278094 0.989520 17 +0 -0.777402 0.248788 -0.889627 0.277613 0.964608 17 +0 1.162150 0.248788 0.035000 0.368108 0.965289 15 +0 1.056295 -0.016009 0.035000 0.367939 0.987704 15 +0 1.056295 -0.016009 -0.373133 0.327995 0.987404 15 +0 1.162150 0.248788 -0.373133 0.328163 0.964988 15 +0 1.056295 0.248788 -0.760504 0.290251 0.964703 14 +0 1.022092 -0.044085 -0.782372 0.287924 0.989479 14 +0 0.738730 -0.045445 -0.882805 0.278094 0.989520 14 +0 0.738730 0.248788 -0.889627 0.277613 0.964608 14 +0 0.421165 0.248788 -0.760504 0.290251 0.964703 14 +0 0.470483 -0.044085 -0.782372 0.287924 0.989479 14 +0 0.421165 -0.016009 -0.373133 0.327995 0.987404 15 +0 0.315310 0.248788 -0.373133 0.328163 0.964988 15 +0 0.315310 0.248788 0.035000 0.368108 0.965289 15 +0 0.421165 -0.016009 0.035000 0.367939 0.987704 15 +0 0.421165 0.248788 1.105028 0.472833 0.966076 15 +0 0.503497 0.081216 1.128919 0.475065 0.980279 15 +0 0.738730 0.079853 1.284472 0.490288 0.980509 15 +0 0.738730 0.248788 1.305023 0.492406 0.966223 15 +0 0.738730 0.525228 1.229759 0.485216 0.942766 15 +0 0.503497 0.428009 1.074203 0.469930 0.950882 15 +0 1.056295 0.248788 1.105028 0.472833 0.966076 15 +0 0.973963 0.428009 1.074203 0.469930 0.950882 15 +0 0.973963 0.081216 1.128919 0.475065 0.980279 15 +0 -1.094967 0.248788 1.105028 0.472833 0.966076 18 +0 -1.012635 0.081216 1.128919 0.475065 0.980279 18 +0 -0.777402 0.079853 1.284471 0.490288 0.980509 18 +0 -0.777402 0.248788 1.305023 0.492406 0.966223 18 +0 -0.777402 0.525228 1.229759 0.485216 0.942766 18 +0 -1.012635 0.428009 1.074203 0.469930 0.950882 18 +0 -0.459838 0.248788 1.105028 0.472833 0.966076 18 +0 -0.542169 0.428009 1.074203 0.469930 0.950882 18 +0 -0.542169 0.081216 1.128919 0.475065 0.980279 18 +0 0.421165 -0.016009 0.505028 0.413942 0.988050 15 +0 0.315310 0.248788 0.505028 0.414110 0.965634 15 +0 0.421165 0.551683 0.529724 0.416720 0.940012 15 +0 0.738730 0.676683 0.529724 0.416799 0.929430 15 +0 1.056295 0.551683 0.529724 0.416720 0.940012 15 +0 1.162150 0.248788 0.505028 0.414110 0.965634 15 +0 1.056295 -0.016009 0.505028 0.413942 0.988050 15 +0 1.056295 -0.016009 0.505028 0.125000 0.845307 15 +0 0.973963 0.081216 1.128919 0.109809 0.778400 15 +0 0.738730 0.079853 1.284472 0.066406 0.761719 15 +0 0.738730 -0.045147 0.505028 0.066406 0.845307 15 +0 0.421165 -0.016009 0.505028 0.007813 0.845307 15 +0 0.503497 0.081216 1.128919 0.023003 0.778400 15 +0 -1.094967 -0.016009 0.505028 0.413942 0.988050 18 +0 -1.200822 0.248788 0.505028 0.414110 0.965634 18 +0 -1.094967 0.551683 0.529724 0.416720 0.940012 18 +0 -0.777402 0.676683 0.529724 0.416799 0.929430 18 +0 -0.459838 0.551683 0.529724 0.416720 0.940012 18 +0 -0.353983 0.248788 0.505028 0.414110 0.965634 18 +0 -0.459838 -0.016009 0.505028 0.413942 0.988050 18 +0 -0.459838 -0.016009 0.505028 0.125000 0.845307 18 +0 -0.542169 0.081216 1.128919 0.109809 0.778400 18 +0 -0.777402 0.079853 1.284471 0.066406 0.761719 18 +0 -0.777402 -0.045147 0.505028 0.066406 0.845307 18 +0 -1.094967 -0.016009 0.505028 0.007813 0.845307 18 +0 -1.012635 0.081216 1.128919 0.023003 0.778400 18 +0 1.785408 8.802347 -0.284139 0.349909 0.131854 2 +0 1.921360 7.454778 -0.301389 0.394067 0.120374 3 +0 1.855531 7.471097 -0.023001 0.394067 0.103490 3 +0 1.971826 8.829763 0.025869 0.349909 0.103490 2 +0 1.527311 9.707968 0.496533 0.300893 0.097884 1 +0 2.571687 8.878833 0.100618 0.349909 0.052718 2 +0 1.751077 10.096434 0.141476 0.308138 0.062853 1 +0 2.236800 7.503614 0.159441 0.394067 0.069843 3 +0 2.612358 7.514457 0.039739 0.394067 0.058627 3 +0 2.854170 8.893370 -0.066231 0.349909 0.037675 2 +0 1.825665 10.262472 -0.360759 0.310553 0.047880 1 +0 2.838478 8.878833 -0.380683 0.848525 0.052823 2 +0 1.751077 10.096434 -0.851532 0.806926 0.062986 1 +0 1.825665 10.262472 -0.360759 0.809331 0.047972 1 +0 2.854170 8.893370 -0.066231 0.848525 0.037740 2 +0 2.612358 7.514457 0.039739 0.892502 0.058748 3 +0 2.841623 7.503614 -0.279987 0.892502 0.069994 3 +0 2.779185 7.471097 -0.694076 0.892502 0.103731 3 +0 2.447016 8.829763 -0.831397 0.848525 0.103731 2 +0 1.527311 9.707968 -1.105340 0.799711 0.098110 1 +0 2.075937 8.802347 -0.808267 0.848525 0.132172 2 +0 2.488547 7.454778 -0.713474 0.892502 0.120661 3 +0 2.131203 7.443936 -0.607000 0.892502 0.131907 3 +0 1.781182 8.787807 -0.619280 0.848525 0.147255 2 +0 1.781182 8.787807 -0.619280 0.349909 0.146896 2 +0 2.131203 7.443936 -0.607000 0.394067 0.131590 3 +0 -2.755526 8.865522 -0.382245 0.651475 0.052823 7 +0 -2.754472 7.491746 -0.314767 0.607499 0.069994 8 +0 -2.542363 7.500421 0.016648 0.607499 0.058748 8 +0 -2.776907 8.877157 -0.068009 0.651475 0.037740 7 +0 -1.854465 10.262472 -0.360759 0.690669 0.047972 1 +0 -1.779876 10.096434 -0.851532 0.693074 0.062986 1 +0 -2.497178 8.865522 0.103636 0.152044 0.052718 7 +0 -1.779876 10.096434 0.141476 0.193815 0.062853 1 +0 -1.854465 10.262472 -0.360759 0.191400 0.047880 1 +0 -2.776907 8.877157 -0.068009 0.152044 0.037675 7 +0 -2.542363 7.500421 0.016648 0.107886 0.058627 8 +0 -2.173480 7.491746 0.155711 0.107886 0.069843 8 +0 -1.782861 7.465716 -0.006928 0.107886 0.103490 8 +0 -1.895422 8.826243 0.039005 0.152044 0.103490 7 +0 -1.556111 9.707968 0.496533 0.201060 0.097884 1 +0 -1.703242 8.804304 -0.267904 0.152044 0.131854 7 +0 -1.833868 7.452655 -0.288579 0.107886 0.120374 8 +0 -2.027325 7.443980 -0.604881 0.107886 0.131590 8 +0 -1.692967 8.792668 -0.603026 0.152044 0.146896 7 +0 -1.984579 8.804304 -0.797021 0.651475 0.132172 7 +0 -1.692967 8.792668 -0.603026 0.651475 0.147255 7 +0 -2.027325 7.443980 -0.604881 0.607499 0.131907 8 +0 -2.378709 7.452655 -0.729782 0.607499 0.120661 8 +0 -2.670124 7.465716 -0.725420 0.607499 0.103731 8 +0 -2.355577 8.826243 -0.826421 0.651475 0.103731 7 +0 -1.556111 9.707968 -1.105340 0.700289 0.098110 1 +0 -2.519197 6.703720 0.088219 0.581976 0.067912 8 +0 -2.415460 5.585275 0.058008 0.546064 0.077528 9 +0 -2.233585 5.592014 0.151213 0.546064 0.068794 9 +0 -2.232471 6.712928 0.214962 0.581976 0.055973 8 +0 -1.951563 6.703720 0.078312 0.082258 0.067767 8 +0 -2.232471 6.712928 0.214962 0.082258 0.055859 8 +0 -2.233585 5.592014 0.151213 0.046198 0.068646 9 +0 -2.056286 5.585275 0.051738 0.046198 0.077357 9 +0 -2.003347 5.565061 -0.238318 0.046198 0.103490 9 +0 -1.810546 6.676087 -0.319392 0.082258 0.103490 8 +0 -1.921986 6.661418 -0.527221 0.082258 0.122450 8 +0 -2.002448 5.557810 -0.342010 0.046198 0.112860 9 +0 -2.243803 5.551073 -0.434172 0.046198 0.121571 9 +0 -2.247627 6.652209 -0.653283 0.082258 0.134358 8 +0 -2.568676 6.661418 -0.515932 0.581976 0.122742 8 +0 -2.247627 6.652209 -0.653283 0.581976 0.134682 8 +0 -2.243803 5.551073 -0.434172 0.546064 0.121861 9 +0 -2.481791 5.557810 -0.333643 0.546064 0.113127 9 +0 -2.559875 5.565061 -0.228604 0.546064 0.103731 9 +0 -2.672794 6.676087 -0.304342 0.581976 0.103731 8 +0 1.983555 6.664226 -0.467905 0.419696 0.122450 3 +0 2.088001 5.563997 -0.274754 0.455755 0.112860 4 +0 2.101516 5.573053 -0.172090 0.455755 0.103490 4 +0 1.898244 6.682551 -0.248329 0.419696 0.103490 3 +0 2.086622 6.717077 0.128679 0.419696 0.067767 3 +0 2.189369 5.598312 0.108964 0.455755 0.077357 4 +0 2.377454 5.606736 0.185962 0.455755 0.068646 4 +0 2.382072 6.728586 0.229897 0.419696 0.055859 3 +0 2.651236 6.717077 0.069343 0.918025 0.067912 3 +0 2.382072 6.728586 0.229897 0.918025 0.055973 3 +0 2.377454 5.606736 0.185962 0.953936 0.068794 4 +0 2.546630 5.598312 0.071413 0.953936 0.077528 4 +0 2.655080 5.573053 -0.230272 0.953936 0.103731 4 +0 2.755902 6.682551 -0.338473 0.918025 0.103731 3 +0 2.626804 6.664226 -0.535513 0.918025 0.122743 3 +0 2.564793 5.563997 -0.324867 0.953936 0.113127 4 +0 2.316337 5.555577 -0.395516 0.953936 0.121861 4 +0 2.291427 6.652716 -0.632537 0.918025 0.134682 3 +0 2.291427 6.652716 -0.632537 0.419696 0.134358 3 +0 2.316337 5.555577 -0.395516 0.455755 0.121571 4 +0 2.179608 4.663255 -0.181008 0.485098 0.110704 6 +0 2.172753 4.733035 -0.260661 0.482622 0.117336 6 +0 2.320030 4.648930 -0.360391 0.485098 0.125525 6 +0 2.338040 4.565309 -0.189047 0.488281 0.110704 6 +0 2.381945 4.700751 0.228685 0.485098 0.071907 6 +0 2.248502 4.769024 0.145051 0.482622 0.080095 6 +0 2.494684 4.663255 -0.214124 0.983158 0.110965 6 +0 2.495082 4.769024 0.119136 0.980692 0.080274 6 +0 2.381945 4.700751 0.228685 0.983158 0.072063 6 +0 2.338040 4.565309 -0.189047 0.986328 0.110965 6 +0 2.320030 4.648930 -0.360391 0.983158 0.125825 6 +0 2.484830 4.733035 -0.293461 0.980692 0.117615 6 +0 2.111295 5.236864 -0.320049 0.466186 0.119259 5 +0 2.136999 5.184589 -0.152714 0.468350 0.104479 5 +0 2.203048 5.265795 0.127653 0.466537 0.078172 5 +0 2.379232 5.273953 0.202878 0.466537 0.069733 5 +0 2.535930 5.265795 0.092666 0.964673 0.078345 5 +0 2.379232 5.273953 0.202878 0.964673 0.069883 5 +0 2.583262 5.037715 -0.256375 0.971038 0.110965 5 +0 2.532595 5.236864 -0.364330 0.964324 0.119543 5 +0 2.312197 5.228704 -0.434910 0.964324 0.128005 5 +0 2.312197 5.228704 -0.434910 0.466186 0.127698 5 +0 -2.233110 4.685421 0.178357 0.516842 0.072063 11 +0 -2.358734 4.755379 0.084619 0.519308 0.080273 11 +0 -2.398986 4.655409 -0.248001 0.516842 0.110965 11 +0 -2.252852 4.557327 -0.243695 0.513672 0.110965 11 +0 -2.082221 4.655409 -0.253530 0.016855 0.110704 11 +0 -2.110834 4.755379 0.080292 0.019331 0.080095 11 +0 -2.233110 4.685421 0.178357 0.016855 0.071907 11 +0 -2.252852 4.557327 -0.243695 0.013672 0.110704 11 +0 -2.243462 4.643945 -0.414690 0.016855 0.125525 11 +0 -2.085103 4.726569 -0.332194 0.019331 0.117336 11 +0 -2.398852 4.726569 -0.326717 0.519308 0.117615 11 +0 -2.243462 4.643945 -0.414690 0.516842 0.125825 11 +0 -2.402353 5.252464 0.071992 0.535327 0.078345 10 +0 -2.233389 5.258984 0.162418 0.535327 0.069883 10 +0 -2.067689 5.252464 0.066151 0.035417 0.078172 10 +0 -2.233389 5.258984 0.162418 0.035416 0.069733 10 +0 -2.036325 5.176251 -0.221551 0.033604 0.104479 10 +0 -2.031188 5.231474 -0.389828 0.035767 0.119259 10 +0 -2.244592 5.224944 -0.479477 0.035767 0.127698 10 +0 -2.454744 5.231474 -0.382435 0.535676 0.119543 10 +0 -2.244592 5.224944 -0.479477 0.535676 0.128005 10 +0 -2.491937 5.030387 -0.272602 0.528963 0.110965 10 +0 0.880662 10.267485 0.165432 0.279956 0.047428 1 +0 -0.014400 9.894476 0.689900 0.250977 0.081065 1 +0 -0.909462 10.267485 0.165432 0.221997 0.047428 1 +0 -0.014400 10.517485 0.349404 0.250977 0.024884 12 +0 -0.490237 10.610739 0.044556 0.235570 0.016475 1 +0 0.461437 10.610739 0.044556 0.266383 0.016475 1 +0 -0.909462 10.267485 -0.896864 0.721140 0.047519 1 +0 -0.014400 9.894476 -1.309835 0.750000 0.081246 1 +0 0.880662 10.267485 -0.896864 0.778861 0.047519 1 +0 -0.014400 10.517485 -1.080841 0.750000 0.024914 12 +0 0.461437 10.610739 -0.784416 0.765343 0.016482 1 +0 -0.490237 10.610739 -0.784416 0.734657 0.016482 1 +0 1.179016 10.391821 -0.373132 0.788481 0.036277 1 +0 1.179016 10.391821 -0.373132 0.289616 0.036216 1 +0 0.620050 10.641821 -0.371332 0.271518 0.013672 1 +0 0.620050 10.641821 -0.371332 0.770457 0.013672 1 +0 -0.648849 10.641821 -0.371332 0.230435 0.013672 1 +0 -1.207816 10.391821 -0.373132 0.212337 0.036216 1 +0 -1.207816 10.391821 -0.373132 0.711519 0.036277 1 +0 -0.648849 10.641821 -0.371332 0.729543 0.013672 1 +0 -0.014400 12.520748 0.329392 0.626953 0.790762 12 +0 0.524507 12.326305 0.147255 0.700397 0.810313 12 +0 0.713124 12.520748 -0.373132 0.726103 0.790762 12 +0 -0.014400 12.770746 -0.373132 0.626953 0.765625 12 +0 -0.741924 12.520748 -0.373132 0.527804 0.790762 12 +0 -0.553306 12.326305 0.147255 0.553509 0.810313 12 +0 -0.014400 12.520748 -1.331243 0.875977 0.792715 12 +0 -0.553306 12.326305 -1.149108 0.803166 0.812266 12 +0 -0.741924 12.520748 -0.373132 0.777682 0.792715 12 +0 -0.014400 12.770746 -0.373132 0.875977 0.767578 12 +0 0.713124 12.520748 -0.373132 0.974271 0.792715 12 +0 0.524507 12.326305 -1.149108 0.948788 0.812266 12 +0 0.609013 11.391821 0.329392 0.711914 0.904274 12 +0 -0.014400 11.391821 0.563572 0.626953 0.904274 12 +0 -0.014400 10.517485 0.349404 0.626953 0.992188 12 +0 0.461437 10.610739 0.044556 0.691802 0.982811 1 +0 -0.637813 11.391821 0.329392 0.541992 0.904274 12 +0 -0.490237 10.610739 0.044556 0.562104 0.982811 1 +0 -0.845617 11.391821 -0.373132 0.513672 0.904274 12 +0 -0.648849 10.641821 -0.371332 0.540488 0.979686 1 +0 -0.637813 11.391821 -1.075660 0.791748 0.906227 12 +0 -0.490237 10.610739 -0.784416 0.811687 0.984764 1 +0 -0.648849 10.641821 -0.371332 0.790257 0.981639 1 +0 -0.845617 11.391821 -0.373132 0.763672 0.906227 12 +0 -0.014400 11.391821 -1.309835 0.875977 0.906227 12 +0 -0.014400 10.517485 -1.080841 0.875977 0.994141 12 +0 0.609013 11.391821 -1.075660 0.960205 0.906227 12 +0 0.461437 10.610739 -0.784416 0.940266 0.984764 1 +0 0.816817 11.391821 -0.373132 0.988281 0.906227 12 +0 0.620050 10.641821 -0.371332 0.961696 0.981639 1 +0 0.620050 10.641821 -0.371332 0.713418 0.979686 1 +0 0.816817 11.391821 -0.373132 0.740234 0.904274 12 +0 -2.086788 5.366429 0.559815 0.037984 0.033084 10 +0 -2.091572 5.535772 0.557120 0.043459 0.032268 9 +0 -2.224775 5.542510 0.655819 0.043459 0.023557 9 +0 -2.224780 5.372958 0.655596 0.037984 0.024644 10 +0 -2.224775 5.542510 0.655819 0.543337 0.023584 9 +0 -2.361346 5.535772 0.561827 0.543337 0.032318 9 +0 -2.366033 5.366429 0.564688 0.537884 0.033136 10 +0 -2.224780 5.372958 0.655596 0.537884 0.024674 10 +0 2.559714 5.388360 0.584063 0.962116 0.033136 5 +0 2.554405 5.557625 0.578853 0.956663 0.032318 4 +0 2.430292 5.566043 0.688661 0.956663 0.023584 4 +0 2.430576 5.396517 0.691375 0.962116 0.024674 5 +0 2.430292 5.566043 0.688661 0.458494 0.023557 4 +0 2.286064 5.557625 0.607057 0.458494 0.032269 4 +0 2.281951 5.388360 0.613255 0.463969 0.033084 5 +0 2.430576 5.396517 0.691375 0.463969 0.024644 5 +422 +-0.643630 -0.074171 0.761735 +-0.556840 -0.037620 0.829767 +-0.168738 0.734557 0.657232 +-0.895637 -0.129770 0.425433 +-0.946003 0.054804 0.319492 +-0.732746 0.040974 0.679267 +-0.607169 -0.010015 -0.794510 +-0.679689 0.070314 -0.730123 +-0.941431 0.070611 -0.329729 +-0.863808 -0.106034 -0.492537 +-0.520438 -0.221340 -0.824714 +-0.241306 -0.421483 -0.874142 +0.941582 0.068949 -0.329650 +0.679859 0.069111 -0.730079 +0.607194 -0.010288 -0.794487 +0.863795 -0.106421 -0.492476 +0.643640 -0.074474 0.761696 +0.732899 0.039694 0.679179 +0.946127 0.053141 0.319404 +0.895608 -0.130169 0.425372 +-0.181285 -0.835349 0.518968 +0.470658 -0.249349 0.846349 +0.247639 -0.423875 -0.871209 +0.497285 -0.262746 -0.826844 +-0.140266 -0.054872 0.988592 +0.000007 -0.011211 0.999937 +-0.000000 -0.071312 0.997454 +0.140288 -0.055139 0.988574 +-0.000368 -0.431453 0.902135 +0.103887 -0.034706 -0.993983 +0.000009 0.049754 -0.998761 +-0.000000 -0.106110 -0.994354 +-0.103872 -0.034491 -0.993992 +-0.000358 -0.449865 -0.893096 +-0.732133 -0.106295 -0.672817 +-0.687780 -0.045565 -0.724488 +-0.929130 -0.067834 -0.363477 +-0.963946 -0.015791 -0.265627 +-0.766111 -0.030287 0.641995 +-0.972863 -0.017998 0.230681 +-0.969535 -0.078493 0.232036 +-0.772765 -0.093660 0.627744 +-0.007606 -0.090996 0.995822 +-0.023875 -0.078569 0.996623 +0.676153 -0.215436 0.704560 +0.771735 -0.062679 0.632848 +0.960721 -0.056869 0.271626 +0.902130 -0.212680 0.375404 +-0.001346 -0.836130 0.548530 +0.624418 -0.277353 -0.730190 +-0.001280 -0.809509 -0.587106 +0.880693 -0.207687 -0.425729 +0.912233 -0.049328 -0.406692 +0.687088 -0.022157 -0.726236 +-0.012819 -0.026211 -0.999574 +-0.039912 -0.177795 -0.983258 +-0.676719 -0.213298 0.704667 +-0.771836 -0.061067 0.632882 +0.007537 -0.091010 0.995821 +0.023691 -0.078654 0.996620 +0.766104 -0.032445 0.641898 +0.772656 -0.095235 0.627640 +0.969393 -0.080460 0.231954 +0.972841 -0.020686 0.230550 +0.732031 -0.108326 -0.672604 +0.963940 -0.018455 -0.265480 +0.929034 -0.069704 -0.363370 +0.687758 -0.046941 -0.724421 +0.012737 -0.026242 -0.999574 +0.039684 -0.177921 -0.983244 +-0.625035 -0.275412 -0.730397 +-0.687146 -0.020753 -0.726223 +-0.912339 -0.047438 -0.406679 +-0.881347 -0.204604 -0.425868 +-0.902814 -0.209528 0.375532 +-0.960839 -0.054864 0.271620 +-0.764766 -0.018837 0.644033 +-0.864644 0.234219 0.444446 +0.001838 0.418951 0.908007 +-0.000644 -0.088850 0.996045 +-0.767527 -0.074618 0.636659 +-0.000161 -0.102904 0.994691 +0.768404 -0.086666 0.634070 +0.871966 0.182025 0.454470 +0.764724 -0.086392 0.638541 +0.999040 -0.028769 -0.033043 +0.997891 -0.064912 -0.000000 +0.968459 -0.059404 0.241987 +0.722901 0.092235 -0.684768 +0.968459 -0.059404 -0.241987 +0.744481 -0.049733 -0.665788 +0.753166 -0.083446 -0.652517 +-0.000221 -0.028021 -0.999607 +-0.000545 -0.072538 -0.997366 +0.000290 0.188578 -0.982058 +-0.725899 0.106960 -0.679434 +-0.745476 0.004756 -0.666515 +-0.755699 -0.014702 -0.654755 +-0.998545 0.042907 -0.032679 +-0.999654 0.026288 -0.000000 +-0.969243 -0.043778 -0.242182 +-0.969243 -0.043778 0.242182 +-0.753166 -0.083446 -0.652517 +-0.744481 -0.049733 -0.665788 +-0.999040 -0.028769 -0.033043 +-0.997891 -0.064912 -0.000000 +-0.722853 0.093009 -0.684713 +-0.968518 -0.058365 -0.242003 +-0.768456 -0.085839 0.634119 +-0.968519 -0.058365 0.242003 +-0.871966 0.182025 0.454470 +-0.764723 -0.086392 0.638541 +-0.001838 0.418951 0.908007 +0.000644 -0.088850 0.996045 +0.000143 -0.102905 0.994691 +0.767469 -0.075481 0.636627 +0.864644 0.234219 0.444446 +0.764766 -0.018837 0.644033 +0.998545 0.042907 -0.032679 +0.999654 0.026287 -0.000000 +0.969195 -0.044881 0.242171 +0.725941 0.106155 -0.679515 +0.969195 -0.044881 -0.242171 +0.745477 0.004756 -0.666515 +0.755698 -0.014702 -0.654755 +0.000220 -0.028021 -0.999607 +0.000544 -0.072538 -0.997365 +-0.000257 0.188578 -0.982058 +-0.063618 -0.997817 0.017699 +0.020059 -0.997338 0.070100 +-0.000369 -0.999364 0.035669 +-0.000000 -1.000000 0.000292 +-0.000000 -1.000000 0.000000 +-0.091372 -0.995817 0.000000 +0.063252 -0.997837 0.017928 +0.091372 -0.995817 0.000000 +-0.021531 -0.997243 0.071011 +-0.000000 -1.000000 0.000000 +-0.091372 -0.995817 0.000000 +-0.063252 -0.997837 0.017928 +-0.000000 -1.000000 0.000292 +0.063618 -0.997817 0.017699 +0.091372 -0.995817 0.000000 +0.000369 -0.999364 0.035669 +-0.020059 -0.997338 0.070100 +0.021531 -0.997243 0.071011 +-0.753563 -0.074742 -0.653113 +-0.792235 -0.047094 -0.608396 +-0.948323 -0.306723 -0.081272 +-0.969704 -0.206653 -0.130263 +-0.990105 -0.124123 0.065461 +-0.928554 -0.371197 0.000000 +0.992590 -0.105515 0.060271 +0.928554 -0.371198 0.000000 +0.943894 -0.317963 -0.089234 +0.974932 -0.179879 -0.130964 +0.752801 -0.063126 -0.655214 +0.784188 -0.086169 -0.614511 +0.004501 -0.000186 -0.999990 +-0.000022 -0.006028 -0.999982 +0.990105 -0.124123 0.065461 +0.928554 -0.371199 0.000000 +0.948322 -0.306724 -0.081271 +0.969704 -0.206653 -0.130263 +0.753562 -0.074742 -0.653113 +0.792235 -0.047095 -0.608396 +-0.004501 -0.000186 -0.999990 +0.000022 -0.006028 -0.999982 +-0.752801 -0.063126 -0.655214 +-0.784188 -0.086169 -0.614511 +-0.943894 -0.317963 -0.089234 +-0.974932 -0.179879 -0.130964 +-0.992590 -0.105515 0.060271 +-0.928554 -0.371197 0.000000 +-0.829171 0.048984 0.556845 +-0.780221 -0.305520 0.545814 +0.000000 -0.150202 0.988655 +0.000000 0.073081 0.997326 +0.000000 0.767634 0.640888 +-0.700993 0.581739 0.412539 +0.829171 0.048984 0.556845 +0.700993 0.581739 0.412539 +0.780221 -0.305520 0.545813 +-0.829171 0.048984 0.556845 +-0.780221 -0.305520 0.545813 +-0.000000 -0.150202 0.988655 +0.000000 0.073081 0.997326 +0.000000 0.767634 0.640888 +-0.700993 0.581739 0.412539 +0.829171 0.048984 0.556845 +0.700993 0.581739 0.412539 +0.780221 -0.305520 0.545813 +-0.920188 -0.381850 0.086282 +-0.995859 -0.025197 0.087351 +-0.748334 0.607917 0.265392 +-0.001508 0.897845 0.440308 +0.752810 0.597943 0.275210 +0.995859 -0.025197 0.087351 +0.920188 -0.381850 0.086281 +0.097761 -0.991852 0.081691 +0.116732 -0.978860 0.167946 +0.000000 -0.986507 0.163720 +-0.000000 -0.996841 0.079429 +-0.097761 -0.991852 0.081691 +-0.116732 -0.978860 0.167946 +-0.920188 -0.381850 0.086281 +-0.995859 -0.025197 0.087351 +-0.752811 0.597943 0.275210 +0.001508 0.897845 0.440308 +0.748335 0.607917 0.265392 +0.995859 -0.025197 0.087351 +0.920188 -0.381850 0.086282 +0.097761 -0.991852 0.081691 +0.116732 -0.978860 0.167946 +-0.000000 -0.986507 0.163720 +-0.000000 -0.996841 0.079429 +-0.097761 -0.991852 0.081691 +-0.116732 -0.978860 0.167946 +-0.972755 -0.226066 0.051404 +-0.914472 -0.036861 -0.402967 +-0.886244 -0.003816 0.463204 +-0.495344 -0.303247 0.814049 +0.230111 0.050508 0.971853 +0.293920 0.138723 0.945710 +0.464059 0.664311 0.585952 +-0.070981 0.017186 0.997330 +0.213493 0.042265 0.976030 +0.484679 0.239002 0.841406 +0.431273 0.775434 0.461201 +0.917662 0.262800 -0.298048 +0.466546 0.604341 -0.645838 +0.525241 0.803599 -0.279911 +0.972501 0.225317 -0.058949 +0.844832 -0.003591 0.535021 +0.968842 -0.050844 0.242404 +0.733681 -0.115944 -0.669529 +0.374281 0.043354 -0.926301 +0.274072 0.115446 -0.954755 +-0.236642 -0.167567 -0.957038 +-0.102127 -0.168858 -0.980335 +-0.211733 -0.123302 -0.969518 +-0.508402 0.400942 -0.762085 +-0.985683 -0.167454 0.019696 +-0.837427 -0.092363 -0.538689 +-0.921672 0.228945 -0.313216 +-0.977159 -0.087271 0.193765 +-0.847031 -0.014185 0.531354 +-0.977291 0.198616 -0.073850 +-0.548800 0.786686 -0.282742 +-0.487591 0.589452 -0.644050 +-0.325338 0.118472 0.938147 +-0.487323 0.648299 0.585000 +-0.451673 0.762776 0.462780 +-0.503604 0.219461 0.835595 +-0.223835 0.027322 0.974244 +0.019021 -0.025093 0.999504 +0.885739 0.002207 0.464178 +0.493392 -0.278371 0.824059 +-0.242884 0.064422 0.967914 +0.998652 0.011684 0.050572 +0.934295 -0.040867 -0.354151 +0.840407 -0.081963 -0.535722 +0.986308 0.163070 0.024580 +0.267842 -0.149940 -0.951724 +0.506550 0.451830 -0.734342 +0.217411 -0.116998 -0.969043 +0.152259 -0.193759 -0.969162 +-0.729781 -0.111579 -0.674515 +-0.365104 0.024384 -0.930647 +-0.284171 0.098294 -0.953722 +-0.803079 -0.050034 0.593768 +-0.781131 0.401220 0.478391 +-0.410752 0.380601 0.828508 +-0.404531 0.009279 0.914477 +0.620734 -0.046581 0.782636 +0.435850 0.164351 0.884886 +0.387316 0.633261 0.670050 +0.938869 0.165295 0.301999 +0.993753 -0.098323 0.052797 +0.993414 -0.091317 -0.069205 +0.788332 -0.069197 -0.611347 +0.827297 -0.071961 -0.557137 +0.366048 -0.032659 -0.930023 +0.361485 -0.112586 -0.925556 +-0.489740 -0.180179 -0.853048 +-0.393544 -0.009370 -0.919258 +-0.398280 -0.032659 -0.916683 +-0.618961 -0.054987 -0.783495 +-0.993637 -0.093241 -0.063185 +-0.997432 -0.061074 -0.037410 +-0.832280 -0.088415 -0.547259 +-0.888894 -0.081419 -0.450819 +-0.979733 -0.097083 0.175211 +-0.990985 -0.122358 0.054574 +-0.551350 -0.032004 0.833660 +-0.797570 0.411896 0.440709 +-0.339731 0.394733 0.853680 +-0.325789 0.139368 0.935114 +0.849789 -0.044041 0.525281 +0.512583 0.010549 0.858573 +0.441654 0.645064 0.623566 +0.932823 0.173203 0.315977 +0.978700 -0.094633 -0.182185 +0.983295 -0.100438 -0.151802 +0.415131 -0.182196 -0.891331 +0.518974 -0.068837 -0.852014 +0.283679 -0.048771 -0.957678 +0.279236 -0.055726 -0.958604 +-0.471252 -0.132310 -0.872018 +-0.476597 -0.048773 -0.877768 +-0.878969 -0.472314 0.065823 +-0.827044 -0.323416 -0.459783 +-0.610832 -0.448987 -0.652146 +-0.526185 -0.850311 -0.009984 +-0.574520 -0.432320 0.695000 +-0.786315 -0.307077 0.536108 +0.834379 -0.519138 -0.185225 +0.880594 -0.307076 0.360913 +0.706463 -0.432320 0.560366 +0.512603 -0.850316 -0.119166 +0.461885 -0.448990 -0.764899 +0.713375 -0.323420 -0.621689 +-0.892193 -0.069382 -0.446294 +-0.978346 -0.085121 0.188662 +-0.884165 -0.157819 0.439710 +-0.221055 -0.779282 0.586391 +0.866848 -0.322373 0.380330 +0.441524 -0.594785 0.671779 +0.956326 -0.184911 -0.226380 +0.601191 -0.068996 -0.796121 +0.305098 -0.003437 -0.952315 +-0.496436 -0.003438 -0.868066 +-0.638636 -0.435053 0.634723 +-0.830139 -0.314897 0.460118 +-0.855822 -0.508887 -0.092752 +-0.554024 -0.828864 -0.077734 +0.876381 -0.479195 -0.048247 +0.845696 -0.314895 0.430859 +0.649705 -0.450500 0.612318 +0.493180 -0.866122 -0.081274 +0.523606 -0.444415 -0.726864 +0.764753 -0.313882 -0.562700 +-0.783919 -0.313886 -0.535674 +-0.555165 -0.427690 -0.713354 +-0.882675 -0.183622 0.432630 +-0.271583 -0.788935 0.551203 +0.873327 -0.313942 0.372478 +0.381162 -0.607148 0.697199 +0.994020 -0.086598 0.066527 +0.831133 -0.059994 -0.552828 +0.386945 0.012542 -0.922018 +-0.693754 -0.056263 -0.718011 +-0.418877 0.012541 -0.907957 +-0.976844 -0.182696 -0.111348 +0.294177 0.764465 0.573631 +-0.000000 0.397446 0.917625 +-0.294177 0.764465 0.573631 +-0.000000 0.581259 0.813718 +-0.456707 0.734526 0.501886 +0.456707 0.734526 0.501886 +-0.298716 0.722304 -0.623736 +0.000000 0.295403 -0.955373 +0.298716 0.722304 -0.623736 +-0.000000 0.509949 -0.860205 +0.458266 0.727137 -0.511140 +-0.458266 0.727137 -0.511140 +0.283025 0.884374 -0.371186 +0.279655 0.889902 0.360371 +0.471410 0.814187 0.338928 +0.471041 0.811948 -0.344760 +-0.471410 0.814187 0.338928 +-0.279655 0.889902 0.360371 +-0.283025 0.884374 -0.371186 +-0.471041 0.811949 -0.344760 +-0.000000 0.626143 0.779708 +0.637067 0.425080 0.643003 +0.735214 0.542757 0.406049 +-0.000000 0.942125 0.335262 +-0.735214 0.542757 0.406049 +-0.637067 0.425080 0.643003 +-0.000000 0.573004 -0.819552 +-0.693182 0.359760 -0.624557 +-0.767570 0.558116 -0.315187 +-0.000000 0.967603 -0.252475 +0.767570 0.558116 -0.315187 +0.693182 0.359760 -0.624557 +0.744181 -0.067855 0.664522 +-0.000000 -0.017949 0.999839 +-0.000000 -0.340028 0.940415 +0.756212 -0.345511 0.555667 +-0.744181 -0.067855 0.664522 +-0.756212 -0.345511 0.555667 +-0.955939 -0.078905 0.282763 +-0.916501 -0.265816 0.298944 +-0.740683 -0.149108 -0.655100 +-0.751361 -0.350450 -0.559144 +-0.915672 -0.267902 -0.299622 +-0.955890 -0.079543 -0.282748 +-0.000000 -0.137357 -0.990522 +-0.000000 -0.350075 -0.936722 +0.740683 -0.149108 -0.655100 +0.751360 -0.350450 -0.559144 +0.955891 -0.079543 -0.282747 +0.915672 -0.267902 -0.299621 +0.916501 -0.265816 0.298944 +0.955939 -0.078905 0.282763 +0.831929 -0.239287 0.500635 +0.617791 0.695676 0.366564 +0.541569 0.428000 0.723546 +0.316466 -0.793184 0.520296 +-0.433672 0.658643 0.614913 +-0.873527 0.328632 0.359099 +-0.622219 -0.510509 0.593485 +-0.406571 -0.614722 0.675882 +0.872326 -0.231024 0.430900 +0.645832 0.702059 0.300024 +0.601768 0.440720 0.666064 +0.362007 -0.783896 0.504438 +-0.379788 0.669139 0.638760 +-0.839497 0.335694 0.427263 +-0.567195 -0.500272 0.654231 +-0.344991 -0.602973 0.719309 +620 +0 0 1 2 0 1 2 13 +0 0 2 3 0 2 3 13 +0 4 5 0 4 5 0 13 +0 4 0 3 4 0 3 13 +0 6 7 8 6 7 8 14 +0 6 8 9 6 8 9 14 +0 10 11 6 10 11 6 14 +0 10 6 9 10 6 9 14 +0 12 13 14 12 13 14 14 +0 12 14 15 12 14 15 14 +0 16 17 18 16 17 18 13 +0 16 18 19 16 18 19 13 +0 20 21 16 20 21 16 13 +0 20 16 19 20 16 19 13 +0 14 22 23 14 22 23 14 +0 14 23 15 14 23 15 14 +0 0 5 24 0 5 24 13 +0 0 24 25 0 24 25 13 +0 26 1 0 26 1 0 13 +0 26 0 25 26 0 25 13 +0 16 21 26 16 21 26 13 +0 16 26 25 16 26 25 13 +0 27 17 16 27 17 16 13 +0 27 16 25 27 16 25 13 +0 24 28 27 24 28 27 13 +0 24 27 25 24 27 25 13 +0 14 13 29 14 13 29 14 +0 14 29 30 14 29 30 14 +0 31 22 14 31 22 14 14 +0 31 14 30 31 14 30 14 +0 6 11 31 6 11 31 14 +0 6 31 30 6 31 30 14 +0 32 7 6 32 7 6 14 +0 32 6 30 32 6 30 14 +0 29 33 32 29 33 32 14 +0 29 32 30 29 32 30 14 +0 34 35 36 34 35 36 14 +0 34 36 37 34 36 37 14 +0 8 7 34 8 7 34 14 +0 8 34 37 8 34 37 14 +0 38 5 4 38 5 4 13 +0 38 4 39 38 4 39 13 +0 40 41 38 40 41 38 13 +0 40 38 39 40 38 39 13 +0 38 41 42 38 41 42 13 +0 38 42 43 38 42 43 13 +0 24 5 38 24 5 38 13 +0 24 38 43 24 38 43 13 +0 44 28 24 44 28 24 13 +0 44 24 43 44 24 43 13 +0 42 45 44 42 45 44 13 +0 42 44 43 42 44 43 13 +0 44 45 46 44 45 46 13 +0 44 46 47 44 46 47 13 +0 48 28 44 48 28 44 13 +0 48 44 47 48 44 47 13 +0 49 33 50 49 33 50 14 +0 49 50 51 49 50 51 14 +0 52 53 49 52 53 49 14 +0 52 49 51 52 49 51 14 +0 49 53 54 49 53 54 14 +0 49 54 55 49 54 55 14 +0 32 33 49 32 33 49 14 +0 32 49 55 32 49 55 14 +0 34 7 32 34 7 32 14 +0 34 32 55 34 32 55 14 +0 54 35 34 54 35 34 14 +0 54 34 55 54 34 55 14 +0 56 57 58 56 57 58 13 +0 56 58 59 56 58 59 13 +0 27 28 56 27 28 56 13 +0 27 56 59 27 56 59 13 +0 60 17 27 60 17 27 13 +0 60 27 59 60 27 59 13 +0 58 61 60 58 61 60 13 +0 58 60 59 58 60 59 13 +0 60 61 62 60 61 62 13 +0 60 62 63 60 62 63 13 +0 18 17 60 18 17 60 13 +0 18 60 63 18 60 63 13 +0 64 13 12 64 13 12 14 +0 64 12 65 64 12 65 14 +0 66 67 64 66 67 64 14 +0 66 64 65 66 64 65 14 +0 64 67 68 64 67 68 14 +0 64 68 69 64 68 69 14 +0 29 13 64 29 13 64 14 +0 29 64 69 29 64 69 14 +0 70 33 29 70 33 29 14 +0 70 29 69 70 29 69 14 +0 68 71 70 68 71 70 14 +0 68 70 69 68 70 69 14 +0 70 71 72 70 71 72 14 +0 70 72 73 70 72 73 14 +0 50 33 70 50 33 70 14 +0 50 70 73 50 70 73 14 +0 56 28 48 56 28 48 13 +0 56 48 74 56 48 74 13 +0 75 57 56 75 57 56 13 +0 75 56 74 75 56 74 13 +0 76 77 78 76 77 78 11 +0 76 78 79 76 78 79 11 +0 58 57 80 58 57 80 13 +0 58 80 81 58 80 81 13 +0 82 61 58 82 61 58 13 +0 82 58 81 82 58 81 13 +0 78 83 84 78 83 84 11 +0 78 84 79 78 84 79 11 +0 84 83 85 84 83 85 11 +0 84 85 86 84 85 86 11 +0 62 61 82 62 61 82 13 +0 62 82 87 62 82 87 13 +0 88 67 66 88 67 66 14 +0 88 66 89 88 66 89 14 +0 85 90 91 85 90 91 11 +0 85 91 86 85 91 86 11 +0 91 90 92 91 90 92 11 +0 91 92 93 91 92 93 11 +0 68 67 88 68 67 88 14 +0 68 88 94 68 88 94 14 +0 95 71 68 95 71 68 14 +0 95 68 94 95 68 94 14 +0 92 96 97 92 96 97 11 +0 92 97 93 92 97 93 11 +0 97 96 98 97 96 98 11 +0 97 98 99 97 98 99 11 +0 72 71 95 72 71 95 14 +0 72 95 100 72 95 100 14 +0 80 57 75 80 57 75 13 +0 80 75 101 80 75 101 13 +0 98 77 76 98 77 76 11 +0 98 76 99 98 76 99 11 +0 102 103 104 102 103 104 11 +0 102 104 105 102 104 105 11 +0 36 35 106 36 35 106 14 +0 36 106 107 36 106 107 14 +0 108 41 40 108 41 40 13 +0 108 40 109 108 40 109 13 +0 104 110 111 104 110 111 11 +0 104 111 105 104 111 105 11 +0 111 110 112 111 110 112 11 +0 111 112 113 111 112 113 11 +0 42 41 108 42 41 108 13 +0 42 108 114 42 108 114 13 +0 115 45 42 115 45 42 13 +0 115 42 114 115 42 114 13 +0 112 116 117 112 116 117 11 +0 112 117 113 112 117 113 11 +0 117 116 118 117 116 118 11 +0 117 118 119 117 118 119 11 +0 46 45 115 46 45 115 13 +0 46 115 120 46 115 120 13 +0 121 53 52 121 53 52 14 +0 121 52 122 121 52 122 14 +0 118 123 124 118 123 124 11 +0 118 124 119 118 124 119 11 +0 124 123 125 124 123 125 11 +0 124 125 126 124 125 126 11 +0 54 53 121 54 53 121 14 +0 54 121 127 54 121 127 14 +0 106 35 54 106 35 54 14 +0 106 54 127 106 54 127 14 +0 125 103 102 125 103 102 11 +0 125 102 126 125 102 126 11 +0 128 129 130 128 129 130 12 +0 128 130 131 128 130 131 12 +0 132 133 128 132 133 128 12 +0 132 128 131 132 128 131 12 +0 134 135 132 134 135 132 12 +0 134 132 131 134 132 131 12 +0 130 136 134 130 136 134 12 +0 130 134 131 130 134 131 12 +0 137 138 139 137 138 139 12 +0 137 139 140 137 139 140 12 +0 141 142 137 141 142 137 12 +0 141 137 140 141 137 140 12 +0 143 144 141 143 144 141 12 +0 143 141 140 143 141 140 12 +0 139 145 143 139 145 143 12 +0 139 143 140 139 143 140 12 +0 146 147 148 146 147 148 11 +0 146 148 149 146 148 149 11 +0 104 103 146 104 103 146 11 +0 104 146 149 104 146 149 11 +0 150 110 104 150 110 104 11 +0 150 104 149 150 104 149 11 +0 148 151 150 148 151 150 11 +0 148 150 149 148 150 149 11 +0 152 153 154 152 153 154 11 +0 152 154 155 152 154 155 11 +0 118 116 152 118 116 152 11 +0 118 152 155 118 152 155 11 +0 156 123 118 156 123 118 11 +0 156 118 155 156 118 155 11 +0 154 157 156 154 157 156 11 +0 154 156 155 154 156 155 11 +0 156 157 158 156 157 158 11 +0 156 158 159 156 158 159 11 +0 125 123 156 125 123 156 11 +0 125 156 159 125 156 159 11 +0 146 103 125 146 103 125 11 +0 146 125 159 146 125 159 11 +0 158 147 146 158 147 146 11 +0 158 146 159 158 146 159 11 +0 160 161 162 160 161 162 11 +0 160 162 163 160 162 163 11 +0 85 83 160 85 83 160 11 +0 85 160 163 85 160 163 11 +0 164 90 85 164 90 85 11 +0 164 85 163 164 85 163 11 +0 162 165 164 162 165 164 11 +0 162 164 163 162 164 163 11 +0 164 165 166 164 165 166 11 +0 164 166 167 164 166 167 11 +0 92 90 164 92 90 164 11 +0 92 164 167 92 164 167 11 +0 168 96 92 168 96 92 11 +0 168 92 167 168 92 167 11 +0 166 169 168 166 169 168 11 +0 166 168 167 166 168 167 11 +0 168 169 170 168 169 170 11 +0 168 170 171 168 170 171 11 +0 98 96 168 98 96 168 11 +0 98 168 171 98 168 171 11 +0 172 77 98 172 77 98 11 +0 172 98 171 172 98 171 11 +0 170 173 172 170 173 172 11 +0 170 172 171 170 172 171 11 +0 174 175 176 174 175 176 11 +0 174 176 177 174 176 177 11 +0 178 179 174 178 179 174 11 +0 178 174 177 178 174 177 11 +0 180 181 178 180 181 178 11 +0 180 178 177 180 178 177 11 +0 176 182 180 176 182 180 11 +0 176 180 177 176 180 177 11 +0 183 184 185 183 184 185 11 +0 183 185 186 183 185 186 11 +0 187 188 183 187 188 183 11 +0 187 183 186 187 183 186 11 +0 189 190 187 189 190 187 11 +0 189 187 186 189 187 186 11 +0 185 191 189 185 191 189 11 +0 185 189 186 185 189 186 11 +0 192 175 174 192 175 174 11 +0 192 174 193 192 174 193 11 +0 172 173 192 172 173 192 11 +0 172 192 193 172 192 193 11 +0 194 77 172 194 77 172 11 +0 194 172 193 194 172 193 11 +0 174 179 194 174 179 194 11 +0 174 194 193 174 194 193 11 +0 194 179 178 194 179 178 11 +0 194 178 195 194 178 195 11 +0 78 77 194 78 77 194 11 +0 78 194 195 78 194 195 11 +0 196 83 78 196 83 78 11 +0 196 78 195 196 78 195 11 +0 178 181 196 178 181 196 11 +0 178 196 195 178 196 195 11 +0 196 181 180 196 181 180 11 +0 196 180 197 196 180 197 11 +0 160 83 196 160 83 196 11 +0 160 196 197 160 196 197 11 +0 198 161 160 198 161 160 11 +0 198 160 197 198 160 197 11 +0 180 182 198 180 182 198 11 +0 180 198 197 180 198 197 11 +0 199 200 201 199 200 201 12 +0 199 201 202 199 201 202 12 +0 137 142 199 137 142 199 12 +0 137 199 202 137 199 202 12 +0 203 138 137 203 138 137 12 +0 203 137 202 203 137 202 12 +0 201 204 203 201 204 203 12 +0 201 203 202 201 203 202 12 +0 205 184 183 205 184 183 11 +0 205 183 206 205 183 206 11 +0 150 151 205 150 151 205 11 +0 150 205 206 150 205 206 11 +0 207 110 150 207 110 150 11 +0 207 150 206 207 150 206 11 +0 183 188 207 183 188 207 11 +0 183 207 206 183 207 206 11 +0 207 188 187 207 188 187 11 +0 207 187 208 207 187 208 11 +0 112 110 207 112 110 207 11 +0 112 207 208 112 207 208 11 +0 209 116 112 209 116 112 11 +0 209 112 208 209 112 208 11 +0 187 190 209 187 190 209 11 +0 187 209 208 187 209 208 11 +0 209 190 189 209 190 189 11 +0 209 189 210 209 189 210 11 +0 152 116 209 152 116 209 11 +0 152 209 210 152 209 210 11 +0 211 153 152 211 153 152 11 +0 211 152 210 211 152 210 11 +0 189 191 211 189 191 211 11 +0 189 211 210 189 211 210 11 +0 212 213 214 212 213 214 12 +0 212 214 215 212 214 215 12 +0 132 135 212 132 135 212 12 +0 132 212 215 132 212 215 12 +0 216 133 132 216 133 132 12 +0 216 132 215 216 132 215 12 +0 214 217 216 214 217 216 12 +0 214 216 215 214 216 215 12 +0 218 219 220 218 219 220 13 +0 218 220 221 218 220 221 13 +0 222 21 218 222 21 218 13 +0 222 218 221 222 218 221 13 +0 223 224 222 223 224 222 13 +0 223 222 221 223 222 221 13 +0 220 225 223 220 225 223 13 +0 220 223 221 220 223 221 13 +0 223 225 226 223 225 226 13 +0 223 226 227 223 226 227 13 +0 228 224 223 228 224 223 13 +0 228 223 227 228 223 227 13 +0 229 230 231 229 230 231 14 +0 229 231 232 229 231 232 14 +0 233 234 229 233 234 229 14 +0 233 229 232 233 229 232 14 +0 229 234 235 229 234 235 14 +0 229 235 236 229 235 236 14 +0 237 230 229 237 230 229 14 +0 237 229 236 237 229 236 14 +0 238 22 237 238 22 237 14 +0 238 237 236 238 237 236 14 +0 235 239 238 235 239 238 14 +0 235 238 236 235 238 236 14 +0 238 239 240 238 239 240 14 +0 238 240 241 238 240 241 14 +0 23 22 238 23 22 238 14 +0 23 238 241 23 238 241 14 +0 218 21 20 218 21 20 13 +0 218 20 242 218 20 242 13 +0 243 219 218 243 219 218 13 +0 243 218 242 243 218 242 13 +0 244 245 246 244 245 246 14 +0 244 246 247 244 246 247 14 +0 248 249 244 248 249 244 14 +0 248 244 247 248 244 247 14 +0 250 251 252 250 251 252 13 +0 250 252 253 250 252 253 13 +0 254 255 250 254 255 250 13 +0 254 250 253 254 250 253 13 +0 250 255 256 250 255 256 13 +0 250 256 257 250 256 257 13 +0 258 251 250 258 251 250 13 +0 258 250 257 258 250 257 13 +0 259 1 258 259 1 258 13 +0 259 258 257 259 258 257 13 +0 256 260 259 256 260 259 13 +0 256 259 257 256 259 257 13 +0 259 260 261 259 260 261 13 +0 259 261 262 259 261 262 13 +0 2 1 259 2 1 259 13 +0 2 259 262 2 259 262 13 +0 263 11 10 263 11 10 14 +0 263 10 264 263 10 264 14 +0 265 266 263 265 266 263 14 +0 265 263 264 265 263 264 14 +0 263 266 267 263 266 267 14 +0 263 267 268 263 267 268 14 +0 269 11 263 269 11 263 14 +0 269 263 268 269 263 268 14 +0 244 249 269 244 249 269 14 +0 244 269 268 244 269 268 14 +0 267 245 244 267 245 244 14 +0 267 244 268 267 244 268 14 +0 270 271 272 270 271 272 14 +0 270 272 273 270 272 273 14 +0 246 245 270 246 245 270 14 +0 246 270 273 246 270 273 14 +0 274 255 254 274 255 254 13 +0 274 254 275 274 254 275 13 +0 276 277 274 276 277 274 13 +0 276 274 275 276 274 275 13 +0 274 277 278 274 277 278 13 +0 274 278 279 274 278 279 13 +0 256 255 274 256 255 274 13 +0 256 274 279 256 274 279 13 +0 280 260 256 280 260 256 13 +0 280 256 279 280 256 279 13 +0 278 281 280 278 281 280 13 +0 278 280 279 278 280 279 13 +0 280 281 282 280 281 282 13 +0 280 282 283 280 282 283 13 +0 261 260 280 261 260 280 13 +0 261 280 283 261 280 283 13 +0 284 266 265 284 266 265 14 +0 284 265 285 284 265 285 14 +0 286 287 284 286 287 284 14 +0 286 284 285 286 284 285 14 +0 284 287 288 284 287 288 14 +0 284 288 289 284 288 289 14 +0 267 266 284 267 266 284 14 +0 267 284 289 267 284 289 14 +0 270 245 267 270 245 267 14 +0 270 267 289 270 267 289 14 +0 288 271 270 288 271 270 14 +0 288 270 289 288 270 289 14 +0 290 291 292 290 291 292 13 +0 290 292 293 290 292 293 13 +0 220 219 290 220 219 290 13 +0 220 290 293 220 290 293 13 +0 294 225 220 294 225 220 13 +0 294 220 293 294 220 293 13 +0 292 295 294 292 295 294 13 +0 292 294 293 292 294 293 13 +0 294 295 296 294 295 296 13 +0 294 296 297 294 296 297 13 +0 226 225 294 226 225 294 13 +0 226 294 297 226 294 297 13 +0 298 234 233 298 234 233 14 +0 298 233 299 298 233 299 14 +0 300 301 298 300 301 298 14 +0 300 298 299 300 298 299 14 +0 298 301 302 298 301 302 14 +0 298 302 303 298 302 303 14 +0 235 234 298 235 234 298 14 +0 235 298 303 235 298 303 14 +0 304 239 235 304 239 235 14 +0 304 235 303 304 235 303 14 +0 302 305 304 302 305 304 14 +0 302 304 303 302 304 303 14 +0 304 305 306 304 305 306 14 +0 304 306 307 304 306 307 14 +0 240 239 304 240 239 304 14 +0 240 304 307 240 304 307 14 +0 290 219 243 290 219 243 13 +0 290 243 308 290 243 308 13 +0 309 291 290 309 291 290 13 +0 309 290 308 309 290 308 13 +0 310 311 312 310 311 312 13 +0 310 312 313 310 312 313 13 +0 314 315 310 314 315 310 13 +0 314 310 313 314 310 313 13 +0 316 317 318 316 317 318 14 +0 316 318 319 316 318 319 14 +0 320 321 316 320 321 316 14 +0 320 316 319 320 316 319 14 +0 322 311 310 322 311 310 13 +0 322 310 323 322 310 323 13 +0 292 291 322 292 291 322 13 +0 292 322 323 292 322 323 13 +0 324 295 292 324 295 292 13 +0 324 292 323 324 292 323 13 +0 310 315 324 310 315 324 13 +0 310 324 323 310 324 323 13 +0 324 315 314 324 315 314 13 +0 324 314 325 324 314 325 13 +0 318 317 326 318 317 326 14 +0 318 326 327 318 326 327 14 +0 326 317 316 326 317 316 14 +0 326 316 328 326 316 328 14 +0 302 301 326 302 301 326 14 +0 302 326 328 302 326 328 14 +0 329 305 302 329 305 302 14 +0 329 302 328 329 302 328 14 +0 316 321 329 316 321 329 14 +0 316 329 328 316 329 328 14 +0 329 321 320 329 321 320 14 +0 329 320 330 329 320 330 14 +0 306 305 329 306 305 329 14 +0 306 329 330 306 329 330 14 +0 322 291 309 322 291 309 13 +0 322 309 331 322 309 331 13 +0 312 311 322 312 311 322 13 +0 312 322 331 312 322 331 13 +0 332 333 334 332 333 334 14 +0 332 334 335 332 334 335 14 +0 336 337 338 336 337 338 13 +0 336 338 339 336 338 339 13 +0 340 341 336 340 341 336 13 +0 340 336 339 340 336 339 13 +0 334 342 343 334 342 343 14 +0 334 343 335 334 343 335 14 +0 344 333 332 344 333 332 14 +0 344 332 345 344 332 345 14 +0 338 337 346 338 337 346 13 +0 338 346 347 338 346 347 13 +0 346 337 336 346 337 336 13 +0 346 336 348 346 336 348 13 +0 278 277 346 278 277 346 13 +0 278 346 348 278 346 348 13 +0 349 281 278 349 281 278 13 +0 349 278 348 349 278 348 13 +0 336 341 349 336 341 349 13 +0 336 349 348 336 349 348 13 +0 349 341 340 349 341 340 13 +0 349 340 350 349 340 350 13 +0 282 281 349 282 281 349 13 +0 282 349 350 282 349 350 13 +0 351 287 286 351 287 286 14 +0 351 286 352 351 286 352 14 +0 343 342 351 343 342 351 14 +0 343 351 352 343 351 352 14 +0 351 342 334 351 342 334 14 +0 351 334 353 351 334 353 14 +0 288 287 351 288 287 351 14 +0 288 351 353 288 351 353 14 +0 344 271 288 344 271 288 14 +0 344 288 353 344 288 353 14 +0 334 333 344 334 333 344 14 +0 334 344 353 334 344 353 14 +0 222 224 354 222 224 354 13 +0 222 354 355 222 354 355 13 +0 26 21 222 26 21 222 13 +0 26 222 355 26 222 355 13 +0 258 1 26 258 1 26 13 +0 258 26 355 258 26 355 13 +0 356 251 258 356 251 258 13 +0 356 258 355 356 258 355 13 +0 357 358 356 357 358 356 13 +0 357 356 355 357 356 355 13 +0 354 359 357 354 359 357 13 +0 354 357 355 354 357 355 13 +0 269 249 360 269 249 360 14 +0 269 360 361 269 360 361 14 +0 31 11 269 31 11 269 14 +0 31 269 361 31 269 361 14 +0 237 22 31 237 22 31 14 +0 237 31 361 237 31 361 14 +0 362 230 237 362 230 237 14 +0 362 237 361 362 237 361 14 +0 363 364 362 363 364 362 14 +0 363 362 361 363 362 361 14 +0 360 365 363 360 365 363 14 +0 360 363 361 360 363 361 14 +0 231 230 362 231 230 362 14 +0 231 362 366 231 362 366 14 +0 354 224 228 354 224 228 13 +0 354 228 367 354 228 367 13 +0 368 359 354 368 359 354 13 +0 368 354 367 368 354 367 13 +0 362 364 369 362 364 369 14 +0 362 369 366 362 369 366 14 +0 356 358 370 356 358 370 13 +0 356 370 371 356 370 371 13 +0 252 251 356 252 251 356 13 +0 252 356 371 252 356 371 13 +0 360 249 248 360 249 248 14 +0 360 248 372 360 248 372 14 +0 373 365 360 373 365 360 14 +0 373 360 372 373 360 372 14 +0 374 375 376 374 375 376 9 +0 374 376 377 374 376 377 9 +0 378 379 374 378 379 374 9 +0 378 374 377 378 374 377 9 +0 380 381 382 380 381 382 10 +0 380 382 383 380 382 383 10 +0 384 385 380 384 385 380 10 +0 384 380 383 384 380 383 10 +0 386 375 374 386 375 374 9 +0 386 374 387 386 374 387 9 +0 388 389 386 388 389 386 9 +0 388 386 387 388 386 387 9 +0 390 391 388 390 391 388 9 +0 390 388 387 390 388 387 9 +0 374 379 390 374 379 390 9 +0 374 390 387 374 390 387 9 +0 390 379 378 390 379 378 9 +0 390 378 392 390 378 392 9 +0 393 391 390 393 391 390 9 +0 393 390 392 393 390 392 9 +0 394 395 396 394 395 396 10 +0 394 396 397 394 396 397 10 +0 382 381 394 382 381 394 10 +0 382 394 397 382 394 397 10 +0 394 381 380 394 381 380 10 +0 394 380 398 394 380 398 10 +0 399 395 394 399 395 394 10 +0 399 394 398 399 394 398 10 +0 400 401 399 400 401 399 10 +0 400 399 398 400 399 398 10 +0 380 385 400 380 385 400 10 +0 380 400 398 380 400 398 10 +0 400 385 384 400 385 384 10 +0 400 384 402 400 384 402 10 +0 403 401 400 403 401 400 10 +0 403 400 402 403 400 402 10 +0 386 389 404 386 389 404 9 +0 386 404 405 386 404 405 9 +0 376 375 386 376 375 386 9 +0 376 386 405 376 386 405 9 +0 406 407 408 406 407 408 13 +0 406 408 409 406 408 409 13 +0 410 411 412 410 411 412 14 +0 410 412 413 410 412 413 14 +0 414 415 416 414 415 416 14 +0 414 416 417 414 416 417 14 +0 418 419 420 418 419 420 13 +0 418 420 421 418 420 421 13 +0 407 277 276 407 277 276 13 +0 407 276 408 407 276 408 13 +0 406 346 277 406 346 277 13 +0 406 277 407 406 277 407 13 +0 409 347 346 409 347 346 13 +0 409 346 406 409 346 406 13 +0 412 344 345 412 344 345 14 +0 412 345 413 412 345 413 14 +0 411 271 344 411 271 344 14 +0 411 344 412 411 344 412 14 +0 410 272 271 410 272 271 14 +0 410 271 411 410 271 411 14 +0 415 301 300 415 301 300 14 +0 415 300 416 415 300 416 14 +0 414 326 301 414 326 301 14 +0 414 301 415 414 301 415 14 +0 417 327 326 417 327 326 14 +0 417 326 414 417 326 414 14 +0 420 324 325 420 324 325 13 +0 420 325 421 420 325 421 13 +0 419 295 324 419 295 324 13 +0 419 324 420 419 324 420 13 +0 418 296 295 418 296 295 13 +0 418 295 419 418 295 419 13 + +Materials: 1 +"body" +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 +0.000000 0.000000 0.000000 1.000000 +0.128000 +1.000000 +".\male1_soldier.bmp" +"" + +Bones: 19 +"root" +"" +5 0.008316 6.118961 -0.337079 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"spine" +"root" +5 -0.018549 3.605114 -0.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.610865 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 -0.541052 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"leftshoulder" +"spine" +5 1.542953 -0.022381 -0.000287 1.235102 1.569453 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"leftelbow" +"leftshoulder" +5 0.000000 0.000000 2.392247 -0.306697 0.003245 -3.141593 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000001 -0.000014 -0.000044 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.120442 -0.171676 -0.005007 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.224487 0.356553 0.030738 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"leftwrist" +"leftelbow" +5 0.000000 0.000000 1.875738 0.008441 0.002995 -3.141593 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"lefthand" +"leftwrist" +5 0.000000 0.000000 0.298658 0.048294 0.001003 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"leftfingers" +"lefthand" +5 0.000000 0.000000 0.510944 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"rightshoulder" +"spine" +5 -1.542341 -0.028453 0.000000 1.869681 1.568871 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"rightelbow" +"rightshoulder" +5 0.000000 0.000000 2.325975 0.304121 0.002266 -3.141593 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000001 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 -0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 -0.216647 0.297991 -0.034696 +12.000000 0.000000 0.000000 0.000000 +16.799999 -0.100041 -0.164134 0.008884 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"rightwrist" +"rightelbow" +5 0.000000 0.000000 1.903948 0.071065 0.001485 -3.141593 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"righthand" +"rightwrist" +5 0.000000 0.000000 0.331070 -0.091434 0.001089 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"rightfingers" +"righthand" +5 0.000000 0.000000 0.560282 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"head" +"spine" +5 -0.002740 1.668427 -0.034964 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 -0.000001 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 -0.000001 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.488706 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 -0.488700 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"lefthip" +"root" +5 0.630439 0.006448 0.000000 1.490792 1.570796 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"leftknee" +"lefthip" +5 0.000000 0.000000 2.530272 0.111342 0.009143 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"leftfoot" +"leftknee" +5 0.000000 0.000000 3.175853 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"righthip" +"root" +5 -0.671041 0.008006 0.000000 1.654265 1.570192 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"rightknee" +"righthip" +5 0.000000 0.000000 2.531426 -0.113373 0.009146 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +"rightfoot" +"rightknee" +5 0.000000 0.000000 3.192438 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +6 +2.400000 0.000000 0.000000 0.000000 +7.200000 0.000000 0.000000 0.000000 +12.000000 0.000000 0.000000 0.000000 +16.799999 0.000000 0.000000 0.000000 +21.599998 0.000000 0.000000 0.000000 +48.000000 0.000000 0.000000 0.000000 +GroupComments: 0 +MaterialComments: 0 +BoneComments: 0 +ModelComment: 0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/people/male1_soldier.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/people/male1_soldier.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/people/male1_soldier.txt 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/people/male1_soldier.txt 2006-10-22 11:24:40.000000000 +0900 @@ -0,0 +1,1586 @@ +// MilkShape 3D ASCII + +Frames: 30 +Frame: 1 + +Meshes: 1 +"body" 0 0 +422 +0 -1.094151 7.559704 0.402811 0.216017 0.291608 0 +0 -1.552856 9.027592 0.375216 0.201166 0.159239 1 +0 -1.801119 8.957348 -0.306032 0.193127 0.165573 1 +0 -1.454069 7.645805 -0.328636 0.204364 0.283844 0 +0 -1.445336 6.361490 -0.362009 0.204647 0.399659 0 +0 -1.233410 6.303398 0.327149 0.211508 0.404898 0 +0 -1.094151 7.559704 -0.941320 0.715185 0.292355 0 +0 -1.233410 6.303398 -1.146812 0.710694 0.405949 0 +0 -1.445336 6.361490 -0.362009 0.703861 0.400697 0 +0 -1.454069 7.645805 -0.328636 0.703579 0.284570 0 +0 -1.801119 8.957348 -0.306032 0.692389 0.165981 1 +0 -1.445834 9.175497 -0.985916 0.703845 0.146256 1 +0 1.415381 6.361490 -0.362009 0.796102 0.400697 0 +0 1.203455 6.303398 -1.146812 0.789269 0.405949 0 +0 1.065352 7.559704 -0.941320 0.784816 0.292355 0 +0 1.425270 7.645805 -0.328636 0.796421 0.284570 0 +0 1.065352 7.559704 0.402811 0.285936 0.291608 0 +0 1.203455 6.303398 0.327149 0.290407 0.404898 0 +0 1.415381 6.361490 -0.362009 0.297269 0.399659 0 +0 1.425270 7.645805 -0.328636 0.297589 0.283844 0 +0 1.772319 8.957348 -0.306032 0.308826 0.165573 1 +0 1.524057 9.027592 0.375216 0.300788 0.159239 1 +0 1.417034 9.175497 -0.985916 0.796155 0.146256 1 +0 1.772319 8.957348 -0.306032 0.807611 0.165981 1 +0 -0.663927 6.129124 0.553900 0.229947 0.420613 0 +0 -0.014400 7.301402 0.579567 0.250977 0.314901 0 +0 -0.014400 8.934750 0.707184 0.250977 0.167611 1 +0 0.633878 6.129124 0.553900 0.271966 0.420613 0 +0 -0.015199 5.660481 0.530169 0.250951 0.462874 0 +0 0.633878 6.129124 -1.261684 0.770903 0.421707 0 +0 -0.014400 7.301402 -1.186620 0.750000 0.315711 0 +0 -0.014400 8.934750 -1.309835 0.750000 0.168024 1 +0 -0.663927 6.129124 -1.261684 0.729057 0.421707 0 +0 -0.015199 5.660481 -1.245376 0.749974 0.464082 0 +0 -1.382502 4.987251 -0.906959 0.705887 0.524954 16 +0 -1.265493 3.629667 -0.613577 0.709660 0.647706 17 +0 -1.394746 3.636979 -0.373133 0.705492 0.647045 17 +0 -1.530084 5.016506 -0.373133 0.701128 0.522309 16 +0 -1.382502 4.987251 0.246988 0.206681 0.523584 16 +0 -1.530084 5.016506 -0.373133 0.201903 0.520946 16 +0 -1.394746 3.636979 -0.373133 0.206285 0.645347 17 +0 -1.265493 3.629665 0.169581 0.210470 0.646006 17 +0 -0.877736 3.607726 0.349421 0.223024 0.647985 17 +0 -0.940902 4.899494 0.453692 0.220979 0.531497 16 +0 -0.474405 4.811737 0.246988 0.236083 0.539411 16 +0 -0.489979 3.585788 0.169581 0.235579 0.649963 17 +0 -0.360727 3.578473 -0.373133 0.239763 0.650623 17 +0 -0.223250 4.782484 -0.373133 0.244215 0.542049 16 +0 -0.015648 5.353139 -0.373133 0.250936 0.490589 0 +0 -0.474405 4.811737 -0.906959 0.735168 0.540824 16 +0 -0.015648 5.353139 -0.373133 0.749960 0.491871 0 +0 -0.223250 4.782484 -0.373133 0.743266 0.543469 16 +0 -0.360727 3.578473 -0.373133 0.738833 0.652335 17 +0 -0.489979 3.585788 -0.613577 0.734665 0.651674 17 +0 -0.877736 3.607726 -0.793417 0.722163 0.649690 17 +0 -0.940902 4.899494 -1.113668 0.720126 0.532889 16 +0 0.440610 4.811737 0.246988 0.265709 0.539411 13 +0 0.452439 3.585788 0.169581 0.266092 0.649963 14 +0 0.840196 3.607726 0.349421 0.278646 0.647985 14 +0 0.907108 4.899494 0.453692 0.280813 0.531497 13 +0 1.349080 4.987251 0.246988 0.295122 0.523584 13 +0 1.227954 3.629665 0.169581 0.291201 0.646006 14 +0 1.357206 3.636979 -0.373133 0.295386 0.645347 14 +0 1.496662 5.016506 -0.373133 0.299901 0.520946 13 +0 1.349080 4.987251 -0.906959 0.793964 0.524954 13 +0 1.496662 5.016506 -0.373133 0.798723 0.522309 13 +0 1.357206 3.636979 -0.373133 0.794226 0.647045 14 +0 1.227954 3.629665 -0.613577 0.790059 0.647706 14 +0 0.840196 3.607726 -0.793417 0.777556 0.649690 14 +0 0.907108 4.899494 -1.113668 0.779713 0.532889 13 +0 0.440610 4.811737 -0.906959 0.764671 0.540824 13 +0 0.452439 3.585788 -0.613577 0.765053 0.651674 14 +0 0.323186 3.578473 -0.373133 0.760885 0.652335 14 +0 0.189456 4.782484 -0.373133 0.756573 0.543469 13 +0 0.189456 4.782484 -0.373133 0.257577 0.542049 13 +0 0.323186 3.578473 -0.373133 0.261907 0.650623 14 +0 0.483644 2.584741 0.089407 0.374919 0.767586 14 +0 0.393054 0.824108 -0.062864 0.358896 0.916515 15 +0 0.761639 1.029399 0.104803 0.375436 0.899260 14 +0 0.830367 2.584741 0.243588 0.390009 0.767699 14 +0 0.483644 2.584741 0.089407 0.267102 0.740234 14 +0 0.830367 2.584741 0.243588 0.278328 0.740234 14 +0 1.177088 2.584741 0.089407 0.289554 0.740234 14 +0 1.113730 0.824108 -0.062864 0.358896 0.916515 15 +0 1.177088 2.584741 0.089407 0.374919 0.767586 14 +0 1.194778 1.079955 -0.373133 0.328692 0.894628 14 +0 1.292662 2.584741 -0.373133 0.329650 0.767246 14 +0 1.292662 2.584741 -0.373133 0.293296 0.740234 14 +0 1.177088 2.584741 -0.835672 0.788418 0.742188 14 +0 1.292662 2.584741 -0.373133 0.792145 0.742188 14 +0 1.086493 1.079955 -0.744987 0.292298 0.894355 14 +0 1.177088 2.584741 -0.835672 0.284381 0.766905 14 +0 0.761639 1.079955 -0.880377 0.279048 0.894255 14 +0 0.830366 2.584741 -0.989857 0.269290 0.766792 14 +0 0.830366 2.584741 -0.989857 0.777239 0.742188 14 +0 0.483644 2.584741 -0.835672 0.766059 0.742188 14 +0 0.436785 1.079955 -0.744987 0.292298 0.894355 14 +0 0.483644 2.584741 -0.835672 0.284381 0.766905 14 +0 0.328500 1.079955 -0.373133 0.328692 0.894628 14 +0 0.368071 2.584741 -0.373133 0.329650 0.767246 14 +0 0.368071 2.584741 -0.373133 0.762332 0.742188 14 +0 0.368071 2.584741 -0.373133 0.263360 0.740234 14 +0 -1.215761 2.584741 -0.835672 0.284381 0.766905 17 +0 -1.125165 1.079955 -0.744987 0.292298 0.894355 17 +0 -1.233450 1.079955 -0.373133 0.328692 0.894628 17 +0 -1.331335 2.584741 -0.373133 0.329650 0.767246 17 +0 -1.215761 2.584741 -0.835672 0.711263 0.742188 17 +0 -1.331335 2.584741 -0.373133 0.707537 0.742188 17 +0 -1.215761 2.584741 0.089407 0.212080 0.740234 17 +0 -1.331335 2.584741 -0.373133 0.208338 0.740234 17 +0 -1.152402 0.824108 -0.062864 0.358896 0.916515 18 +0 -1.215761 2.584741 0.089407 0.374919 0.767586 17 +0 -0.800312 1.029399 0.104803 0.375436 0.899260 17 +0 -0.869039 2.584741 0.243588 0.390009 0.767699 17 +0 -0.869039 2.584741 0.243588 0.223306 0.740234 17 +0 -0.522317 2.584741 0.089407 0.234532 0.740234 17 +0 -0.431727 0.824108 -0.062864 0.358896 0.916515 18 +0 -0.522317 2.584741 0.089407 0.374919 0.767586 17 +0 -0.367173 1.079955 -0.373133 0.328692 0.894628 17 +0 -0.406743 2.584741 -0.373133 0.329650 0.767246 17 +0 -0.406743 2.584741 -0.373133 0.238274 0.740234 17 +0 -0.522317 2.584741 -0.835672 0.733623 0.742188 17 +0 -0.406743 2.584741 -0.373133 0.737349 0.742188 17 +0 -0.475458 1.079955 -0.744987 0.292298 0.894355 17 +0 -0.522317 2.584741 -0.835672 0.284381 0.766905 17 +0 -0.800312 1.079955 -0.880377 0.279048 0.894255 17 +0 -0.869039 2.584741 -0.989857 0.269290 0.766792 17 +0 -0.869039 2.584741 -0.989857 0.722443 0.742188 17 +0 -1.094967 -0.016009 -0.373133 0.007813 0.939483 18 +0 -1.060764 -0.044085 -0.782372 0.014123 0.983370 17 +0 -0.777402 -0.045445 -0.882805 0.066406 0.994141 17 +0 -0.777402 -0.045147 -0.373133 0.066406 0.939483 18 +0 -0.777402 -0.045147 0.035000 0.066406 0.895714 18 +0 -1.094967 -0.016009 0.035000 0.007813 0.895714 18 +0 -0.459838 -0.016009 -0.373133 0.125000 0.939483 18 +0 -0.459838 -0.016009 0.035000 0.125000 0.895714 18 +0 -0.509156 -0.044085 -0.782372 0.115900 0.983370 17 +0 0.738730 -0.045147 0.035000 0.066406 0.895714 15 +0 0.421165 -0.016009 0.035000 0.007813 0.895714 15 +0 0.421165 -0.016009 -0.373133 0.007813 0.939483 15 +0 0.738730 -0.045147 -0.373133 0.066406 0.939483 15 +0 1.056295 -0.016009 -0.373133 0.125000 0.939483 15 +0 1.056294 -0.016009 0.035000 0.125000 0.895714 15 +0 0.738730 -0.045445 -0.882805 0.066406 0.994141 14 +0 1.022092 -0.044085 -0.782372 0.118689 0.983370 14 +0 0.470483 -0.044085 -0.782372 0.016912 0.983370 14 +0 -1.094967 0.248788 -0.760504 0.290251 0.964703 17 +0 -1.060764 -0.044085 -0.782372 0.287924 0.989479 17 +0 -1.094967 -0.016009 -0.373133 0.327995 0.987404 18 +0 -1.200822 0.248788 -0.373133 0.328163 0.964988 18 +0 -1.200822 0.248788 0.035000 0.368108 0.965289 18 +0 -1.094967 -0.016009 0.035000 0.367939 0.987704 18 +0 -0.353983 0.248788 0.035000 0.368108 0.965289 18 +0 -0.459838 -0.016009 0.035000 0.367939 0.987704 18 +0 -0.459838 -0.016009 -0.373133 0.327995 0.987404 18 +0 -0.353983 0.248788 -0.373133 0.328163 0.964988 18 +0 -0.459838 0.248788 -0.760504 0.290251 0.964703 17 +0 -0.509156 -0.044085 -0.782372 0.287924 0.989479 17 +0 -0.777402 -0.045445 -0.882805 0.278094 0.989520 17 +0 -0.777402 0.248788 -0.889627 0.277613 0.964608 17 +0 1.162150 0.248788 0.035000 0.368108 0.965289 15 +0 1.056294 -0.016009 0.035000 0.367939 0.987704 15 +0 1.056295 -0.016009 -0.373133 0.327995 0.987404 15 +0 1.162150 0.248788 -0.373133 0.328163 0.964988 15 +0 1.056295 0.248788 -0.760504 0.290251 0.964703 14 +0 1.022092 -0.044085 -0.782372 0.287924 0.989479 14 +0 0.738730 -0.045445 -0.882805 0.278094 0.989520 14 +0 0.738730 0.248788 -0.889627 0.277613 0.964608 14 +0 0.421165 0.248788 -0.760504 0.290251 0.964703 14 +0 0.470483 -0.044085 -0.782372 0.287924 0.989479 14 +0 0.421165 -0.016009 -0.373133 0.327995 0.987404 15 +0 0.315310 0.248788 -0.373133 0.328163 0.964988 15 +0 0.315310 0.248788 0.035000 0.368108 0.965289 15 +0 0.421165 -0.016009 0.035000 0.367939 0.987704 15 +0 0.421165 0.248788 1.105028 0.472833 0.966076 15 +0 0.503496 0.081216 1.128919 0.475065 0.980279 15 +0 0.738730 0.079853 1.284471 0.490288 0.980509 15 +0 0.738730 0.248788 1.305023 0.492406 0.966223 15 +0 0.738730 0.525228 1.229759 0.485216 0.942766 15 +0 0.503496 0.428009 1.074203 0.469930 0.950882 15 +0 1.056295 0.248788 1.105028 0.472833 0.966076 15 +0 0.973963 0.428009 1.074203 0.469930 0.950882 15 +0 0.973963 0.081216 1.128919 0.475065 0.980279 15 +0 -1.094967 0.248788 1.105028 0.472833 0.966076 18 +0 -1.012635 0.081216 1.128919 0.475065 0.980279 18 +0 -0.777402 0.079853 1.284471 0.490288 0.980509 18 +0 -0.777402 0.248788 1.305023 0.492406 0.966223 18 +0 -0.777402 0.525228 1.229759 0.485216 0.942766 18 +0 -1.012635 0.428009 1.074203 0.469930 0.950882 18 +0 -0.459838 0.248788 1.105028 0.472833 0.966076 18 +0 -0.542169 0.428009 1.074203 0.469930 0.950882 18 +0 -0.542169 0.081216 1.128919 0.475065 0.980279 18 +0 0.421165 -0.016009 0.505028 0.413942 0.988050 15 +0 0.315310 0.248788 0.505028 0.414110 0.965634 15 +0 0.421165 0.551683 0.529724 0.416720 0.940012 15 +0 0.738730 0.676683 0.529724 0.416799 0.929430 15 +0 1.056295 0.551683 0.529724 0.416720 0.940012 15 +0 1.162150 0.248788 0.505028 0.414110 0.965634 15 +0 1.056295 -0.016009 0.505028 0.413942 0.988050 15 +0 1.056295 -0.016009 0.505028 0.125000 0.845307 15 +0 0.973963 0.081216 1.128919 0.109809 0.778400 15 +0 0.738730 0.079853 1.284471 0.066406 0.761719 15 +0 0.738730 -0.045147 0.505028 0.066406 0.845307 15 +0 0.421165 -0.016009 0.505028 0.007813 0.845307 15 +0 0.503496 0.081216 1.128919 0.023003 0.778400 15 +0 -1.094967 -0.016009 0.505028 0.413942 0.988050 18 +0 -1.200822 0.248788 0.505028 0.414110 0.965634 18 +0 -1.094967 0.551683 0.529724 0.416720 0.940012 18 +0 -0.777402 0.676683 0.529724 0.416799 0.929430 18 +0 -0.459838 0.551683 0.529724 0.416720 0.940012 18 +0 -0.353983 0.248788 0.505028 0.414110 0.965634 18 +0 -0.459838 -0.016009 0.505028 0.413942 0.988050 18 +0 -0.459838 -0.016009 0.505028 0.125000 0.845307 18 +0 -0.542169 0.081216 1.128919 0.109809 0.778400 18 +0 -0.777402 0.079853 1.284471 0.066406 0.761719 18 +0 -0.777402 -0.045147 0.505028 0.066406 0.845307 18 +0 -1.094967 -0.016009 0.505028 0.007813 0.845307 18 +0 -1.012635 0.081216 1.128919 0.023003 0.778400 18 +0 1.785408 8.802348 -0.284139 0.349909 0.131854 2 +0 1.921360 7.454778 -0.301389 0.394067 0.120374 3 +0 1.855531 7.471097 -0.023001 0.394067 0.103490 3 +0 1.971826 8.829764 0.025869 0.349909 0.103490 2 +0 1.527311 9.707968 0.496533 0.300893 0.097884 1 +0 2.571687 8.878834 0.100618 0.349909 0.052718 2 +0 1.751077 10.096434 0.141476 0.308138 0.062853 1 +0 2.236800 7.503614 0.159441 0.394067 0.069843 3 +0 2.612358 7.514457 0.039739 0.394067 0.058627 3 +0 2.854170 8.893371 -0.066231 0.349909 0.037675 2 +0 1.825665 10.262472 -0.360759 0.310553 0.047880 1 +0 2.838478 8.878834 -0.380683 0.848525 0.052823 2 +0 1.751077 10.096434 -0.851532 0.806926 0.062986 1 +0 1.825665 10.262472 -0.360759 0.809331 0.047972 1 +0 2.854170 8.893371 -0.066231 0.848525 0.037740 2 +0 2.612358 7.514457 0.039739 0.892502 0.058748 3 +0 2.841623 7.503614 -0.279987 0.892502 0.069994 3 +0 2.779185 7.471097 -0.694076 0.892502 0.103731 3 +0 2.447016 8.829764 -0.831397 0.848525 0.103731 2 +0 1.527311 9.707968 -1.105340 0.799711 0.098110 1 +0 2.075937 8.802348 -0.808267 0.848525 0.132172 2 +0 2.488547 7.454778 -0.713474 0.892502 0.120661 3 +0 2.131203 7.443936 -0.607000 0.892502 0.131907 3 +0 1.781182 8.787807 -0.619280 0.848525 0.147255 2 +0 1.781182 8.787807 -0.619280 0.349909 0.146896 2 +0 2.131203 7.443936 -0.607000 0.394067 0.131590 3 +0 -2.755526 8.865523 -0.382245 0.651475 0.052823 7 +0 -2.754472 7.491747 -0.314767 0.607499 0.069994 8 +0 -2.542363 7.500422 0.016648 0.607499 0.058748 8 +0 -2.776907 8.877158 -0.068009 0.651475 0.037740 7 +0 -1.854465 10.262472 -0.360759 0.690669 0.047972 1 +0 -1.779876 10.096434 -0.851532 0.693074 0.062986 1 +0 -2.497178 8.865523 0.103636 0.152044 0.052718 7 +0 -1.779876 10.096434 0.141476 0.193815 0.062853 1 +0 -1.854465 10.262472 -0.360759 0.191400 0.047880 1 +0 -2.776907 8.877158 -0.068009 0.152044 0.037675 7 +0 -2.542363 7.500422 0.016648 0.107886 0.058627 8 +0 -2.173480 7.491747 0.155711 0.107886 0.069843 8 +0 -1.782861 7.465716 -0.006928 0.107886 0.103490 8 +0 -1.895422 8.826244 0.039005 0.152044 0.103490 7 +0 -1.556111 9.707968 0.496533 0.201060 0.097884 1 +0 -1.703242 8.804305 -0.267904 0.152044 0.131854 7 +0 -1.833868 7.452656 -0.288579 0.107886 0.120374 8 +0 -2.027325 7.443981 -0.604881 0.107886 0.131590 8 +0 -1.692967 8.792669 -0.603026 0.152044 0.146896 7 +0 -1.984579 8.804305 -0.797021 0.651475 0.132172 7 +0 -1.692967 8.792669 -0.603026 0.651475 0.147255 7 +0 -2.027325 7.443981 -0.604881 0.607499 0.131907 8 +0 -2.378709 7.452656 -0.729782 0.607499 0.120661 8 +0 -2.670124 7.465716 -0.725420 0.607499 0.103731 8 +0 -2.355577 8.826244 -0.826421 0.651475 0.103731 7 +0 -1.556111 9.707968 -1.105340 0.700289 0.098110 1 +0 -2.519197 6.703720 0.088219 0.581976 0.067912 8 +0 -2.415460 5.585275 0.058008 0.546064 0.077528 9 +0 -2.233585 5.592014 0.151213 0.546064 0.068794 9 +0 -2.232471 6.712929 0.214962 0.581976 0.055973 8 +0 -1.951563 6.703720 0.078312 0.082258 0.067767 8 +0 -2.232471 6.712929 0.214962 0.082258 0.055859 8 +0 -2.233585 5.592014 0.151213 0.046198 0.068646 9 +0 -2.056286 5.585275 0.051738 0.046198 0.077357 9 +0 -2.003347 5.565061 -0.238318 0.046198 0.103490 9 +0 -1.810546 6.676087 -0.319392 0.082258 0.103490 8 +0 -1.921986 6.661419 -0.527221 0.082258 0.122450 8 +0 -2.002448 5.557810 -0.342010 0.046198 0.112860 9 +0 -2.243803 5.551073 -0.434172 0.046198 0.121571 9 +0 -2.247627 6.652209 -0.653283 0.082258 0.134358 8 +0 -2.568676 6.661419 -0.515932 0.581976 0.122742 8 +0 -2.247627 6.652209 -0.653283 0.581976 0.134682 8 +0 -2.243803 5.551073 -0.434172 0.546064 0.121861 9 +0 -2.481791 5.557810 -0.333643 0.546064 0.113127 9 +0 -2.559875 5.565061 -0.228604 0.546064 0.103731 9 +0 -2.672794 6.676087 -0.304342 0.581976 0.103731 8 +0 1.983555 6.664226 -0.467905 0.419696 0.122450 3 +0 2.088001 5.563997 -0.274754 0.455755 0.112860 4 +0 2.101516 5.573053 -0.172090 0.455755 0.103490 4 +0 1.898245 6.682551 -0.248329 0.419696 0.103490 3 +0 2.086622 6.717077 0.128679 0.419696 0.067767 3 +0 2.189369 5.598312 0.108964 0.455755 0.077357 4 +0 2.377454 5.606736 0.185962 0.455755 0.068646 4 +0 2.382072 6.728586 0.229897 0.419696 0.055859 3 +0 2.651236 6.717077 0.069343 0.918025 0.067912 3 +0 2.382072 6.728586 0.229897 0.918025 0.055973 3 +0 2.377454 5.606736 0.185962 0.953936 0.068794 4 +0 2.546629 5.598312 0.071413 0.953936 0.077528 4 +0 2.655080 5.573053 -0.230272 0.953936 0.103731 4 +0 2.755902 6.682551 -0.338473 0.918025 0.103731 3 +0 2.626804 6.664226 -0.535513 0.918025 0.122743 3 +0 2.564793 5.563997 -0.324867 0.953936 0.113127 4 +0 2.316337 5.555577 -0.395516 0.953936 0.121861 4 +0 2.291427 6.652716 -0.632537 0.918025 0.134682 3 +0 2.291427 6.652716 -0.632537 0.419696 0.134358 3 +0 2.316337 5.555577 -0.395516 0.455755 0.121571 4 +0 2.179608 4.663255 -0.181008 0.485098 0.110704 6 +0 2.172753 4.733035 -0.260661 0.482622 0.117336 6 +0 2.320031 4.648930 -0.360391 0.485098 0.125525 6 +0 2.338040 4.565309 -0.189047 0.488281 0.110704 6 +0 2.381946 4.700751 0.228685 0.485098 0.071907 6 +0 2.248503 4.769024 0.145051 0.482622 0.080095 6 +0 2.494684 4.663255 -0.214124 0.983158 0.110965 6 +0 2.495082 4.769024 0.119136 0.980692 0.080274 6 +0 2.381946 4.700751 0.228685 0.983158 0.072063 6 +0 2.338040 4.565309 -0.189047 0.986328 0.110965 6 +0 2.320031 4.648930 -0.360391 0.983158 0.125825 6 +0 2.484830 4.733035 -0.293461 0.980692 0.117615 6 +0 2.111295 5.236864 -0.320049 0.466186 0.119259 5 +0 2.136999 5.184589 -0.152714 0.468350 0.104479 5 +0 2.203048 5.265795 0.127653 0.466537 0.078172 5 +0 2.379232 5.273953 0.202878 0.466537 0.069733 5 +0 2.535930 5.265795 0.092666 0.964673 0.078345 5 +0 2.379232 5.273953 0.202878 0.964673 0.069883 5 +0 2.583262 5.037715 -0.256375 0.971038 0.110965 5 +0 2.532595 5.236864 -0.364330 0.964324 0.119543 5 +0 2.312197 5.228704 -0.434910 0.964324 0.128005 5 +0 2.312197 5.228704 -0.434910 0.466186 0.127698 5 +0 -2.233110 4.685421 0.178357 0.516842 0.072063 11 +0 -2.358734 4.755379 0.084619 0.519308 0.080273 11 +0 -2.398986 4.655409 -0.248001 0.516842 0.110965 11 +0 -2.252852 4.557327 -0.243695 0.513672 0.110965 11 +0 -2.082221 4.655409 -0.253530 0.016855 0.110704 11 +0 -2.110834 4.755379 0.080292 0.019331 0.080095 11 +0 -2.233110 4.685421 0.178357 0.016855 0.071907 11 +0 -2.252852 4.557327 -0.243695 0.013672 0.110704 11 +0 -2.243462 4.643945 -0.414690 0.016855 0.125525 11 +0 -2.085103 4.726569 -0.332194 0.019331 0.117336 11 +0 -2.398851 4.726569 -0.326717 0.519308 0.117615 11 +0 -2.243462 4.643945 -0.414690 0.516842 0.125825 11 +0 -2.402353 5.252464 0.071992 0.535327 0.078345 10 +0 -2.233389 5.258984 0.162418 0.535327 0.069883 10 +0 -2.067689 5.252464 0.066151 0.035417 0.078172 10 +0 -2.233389 5.258984 0.162418 0.035416 0.069733 10 +0 -2.036325 5.176251 -0.221551 0.033604 0.104479 10 +0 -2.031188 5.231474 -0.389828 0.035767 0.119259 10 +0 -2.244592 5.224944 -0.479477 0.035767 0.127698 10 +0 -2.454744 5.231474 -0.382435 0.535676 0.119543 10 +0 -2.244592 5.224944 -0.479477 0.535676 0.128005 10 +0 -2.491937 5.030388 -0.272602 0.528963 0.110965 10 +0 0.880662 10.267485 0.165432 0.279956 0.047428 1 +0 -0.014400 9.894476 0.689900 0.250977 0.081065 1 +0 -0.909462 10.267485 0.165432 0.221997 0.047428 1 +0 -0.014400 10.517485 0.349404 0.250977 0.024884 12 +0 -0.490237 10.610739 0.044556 0.235570 0.016475 1 +0 0.461437 10.610739 0.044556 0.266383 0.016475 1 +0 -0.909462 10.267485 -0.896864 0.721140 0.047519 1 +0 -0.014400 9.894476 -1.309835 0.750000 0.081246 1 +0 0.880662 10.267485 -0.896864 0.778861 0.047519 1 +0 -0.014400 10.517485 -1.080841 0.750000 0.024914 12 +0 0.461437 10.610739 -0.784416 0.765343 0.016482 1 +0 -0.490237 10.610739 -0.784416 0.734657 0.016482 1 +0 1.179016 10.391821 -0.373132 0.788481 0.036277 1 +0 1.179016 10.391821 -0.373132 0.289616 0.036216 1 +0 0.620050 10.641821 -0.371332 0.271518 0.013672 1 +0 0.620050 10.641821 -0.371332 0.770457 0.013672 1 +0 -0.648849 10.641821 -0.371332 0.230435 0.013672 1 +0 -1.207816 10.391821 -0.373132 0.212337 0.036216 1 +0 -1.207816 10.391821 -0.373132 0.711519 0.036277 1 +0 -0.648849 10.641821 -0.371332 0.729543 0.013672 1 +0 -0.014400 12.520748 0.329392 0.626953 0.790762 12 +0 0.524507 12.326305 0.147255 0.700397 0.810313 12 +0 0.713124 12.520748 -0.373132 0.726103 0.790762 12 +0 -0.014400 12.770746 -0.373132 0.626953 0.765625 12 +0 -0.741924 12.520748 -0.373132 0.527804 0.790762 12 +0 -0.553306 12.326305 0.147255 0.553509 0.810313 12 +0 -0.014400 12.520748 -1.331243 0.875977 0.792715 12 +0 -0.553306 12.326305 -1.149108 0.803166 0.812266 12 +0 -0.741924 12.520748 -0.373132 0.777682 0.792715 12 +0 -0.014400 12.770746 -0.373132 0.875977 0.767578 12 +0 0.713124 12.520748 -0.373132 0.974271 0.792715 12 +0 0.524507 12.326305 -1.149108 0.948788 0.812266 12 +0 0.609013 11.391821 0.329392 0.711914 0.904274 12 +0 -0.014400 11.391821 0.563572 0.626953 0.904274 12 +0 -0.014400 10.517485 0.349404 0.626953 0.992188 12 +0 0.461437 10.610739 0.044556 0.691802 0.982811 1 +0 -0.637813 11.391821 0.329392 0.541992 0.904274 12 +0 -0.490237 10.610739 0.044556 0.562104 0.982811 1 +0 -0.845617 11.391821 -0.373132 0.513672 0.904274 12 +0 -0.648849 10.641821 -0.371332 0.540488 0.979686 1 +0 -0.637813 11.391821 -1.075660 0.791748 0.906227 12 +0 -0.490237 10.610739 -0.784416 0.811687 0.984764 1 +0 -0.648849 10.641821 -0.371332 0.790257 0.981639 1 +0 -0.845617 11.391821 -0.373132 0.763672 0.906227 12 +0 -0.014400 11.391821 -1.309835 0.875977 0.906227 12 +0 -0.014400 10.517485 -1.080841 0.875977 0.994141 12 +0 0.609013 11.391821 -1.075660 0.960205 0.906227 12 +0 0.461437 10.610739 -0.784416 0.940266 0.984764 1 +0 0.816817 11.391821 -0.373132 0.988281 0.906227 12 +0 0.620050 10.641821 -0.371332 0.961696 0.981639 1 +0 0.620050 10.641821 -0.371332 0.713418 0.979686 1 +0 0.816817 11.391821 -0.373132 0.740234 0.904274 12 +0 -2.086788 5.366429 0.559815 0.037984 0.033084 10 +0 -2.091572 5.535772 0.557120 0.043459 0.032268 9 +0 -2.224776 5.542510 0.655819 0.043459 0.023557 9 +0 -2.224780 5.372958 0.655596 0.037984 0.024644 10 +0 -2.224776 5.542510 0.655819 0.543337 0.023584 9 +0 -2.361346 5.535772 0.561827 0.543337 0.032318 9 +0 -2.366033 5.366429 0.564688 0.537884 0.033136 10 +0 -2.224780 5.372958 0.655596 0.537884 0.024674 10 +0 2.559714 5.388360 0.584063 0.962116 0.033136 5 +0 2.554404 5.557625 0.578853 0.956663 0.032318 4 +0 2.430292 5.566043 0.688661 0.956663 0.023584 4 +0 2.430576 5.396517 0.691375 0.962116 0.024674 5 +0 2.430292 5.566043 0.688661 0.458494 0.023557 4 +0 2.286064 5.557625 0.607057 0.458494 0.032269 4 +0 2.281951 5.388360 0.613255 0.463969 0.033084 5 +0 2.430576 5.396517 0.691375 0.463969 0.024644 5 +422 +-0.643630 -0.074171 0.761735 +-0.556840 -0.037620 0.829767 +-0.168738 0.734557 0.657232 +-0.895637 -0.129770 0.425433 +-0.946003 0.054804 0.319492 +-0.732746 0.040974 0.679267 +-0.607169 -0.010015 -0.794510 +-0.679689 0.070314 -0.730123 +-0.941431 0.070611 -0.329729 +-0.863808 -0.106034 -0.492537 +-0.520438 -0.221340 -0.824714 +-0.241306 -0.421483 -0.874142 +0.941582 0.068949 -0.329650 +0.679859 0.069111 -0.730079 +0.607194 -0.010288 -0.794487 +0.863795 -0.106421 -0.492476 +0.643640 -0.074474 0.761696 +0.732899 0.039694 0.679179 +0.946127 0.053141 0.319404 +0.895608 -0.130169 0.425372 +-0.181285 -0.835349 0.518968 +0.470658 -0.249349 0.846349 +0.247639 -0.423875 -0.871209 +0.497285 -0.262746 -0.826844 +-0.140266 -0.054872 0.988592 +0.000007 -0.011211 0.999937 +-0.000000 -0.071312 0.997454 +0.140288 -0.055139 0.988574 +-0.000368 -0.431453 0.902135 +0.103887 -0.034706 -0.993983 +0.000009 0.049754 -0.998761 +-0.000000 -0.106110 -0.994354 +-0.103872 -0.034491 -0.993992 +-0.000358 -0.449865 -0.893096 +-0.732133 -0.106295 -0.672817 +-0.687780 -0.045565 -0.724488 +-0.929130 -0.067834 -0.363478 +-0.963946 -0.015791 -0.265627 +-0.766111 -0.030287 0.641995 +-0.972863 -0.017998 0.230681 +-0.969535 -0.078493 0.232036 +-0.772765 -0.093660 0.627744 +-0.007606 -0.090996 0.995822 +-0.023875 -0.078569 0.996623 +0.676153 -0.215436 0.704560 +0.771735 -0.062679 0.632848 +0.960721 -0.056869 0.271626 +0.902130 -0.212680 0.375404 +-0.001346 -0.836130 0.548530 +0.624418 -0.277353 -0.730190 +-0.001280 -0.809509 -0.587106 +0.880693 -0.207687 -0.425729 +0.912233 -0.049328 -0.406692 +0.687088 -0.022157 -0.726236 +-0.012819 -0.026211 -0.999574 +-0.039912 -0.177795 -0.983258 +-0.676719 -0.213298 0.704667 +-0.771836 -0.061067 0.632882 +0.007537 -0.091010 0.995821 +0.023691 -0.078654 0.996620 +0.766103 -0.032445 0.641898 +0.772656 -0.095235 0.627640 +0.969393 -0.080460 0.231954 +0.972841 -0.020686 0.230550 +0.732031 -0.108326 -0.672604 +0.963940 -0.018455 -0.265480 +0.929034 -0.069704 -0.363370 +0.687758 -0.046941 -0.724421 +0.012737 -0.026242 -0.999574 +0.039684 -0.177921 -0.983244 +-0.625035 -0.275412 -0.730397 +-0.687146 -0.020753 -0.726223 +-0.912339 -0.047438 -0.406679 +-0.881347 -0.204604 -0.425868 +-0.902814 -0.209528 0.375532 +-0.960839 -0.054864 0.271620 +-0.764766 -0.018837 0.644033 +-0.864644 0.234219 0.444446 +0.001838 0.418951 0.908007 +-0.000644 -0.088850 0.996045 +-0.767527 -0.074618 0.636659 +-0.000161 -0.102904 0.994691 +0.768404 -0.086666 0.634070 +0.871966 0.182025 0.454470 +0.764724 -0.086392 0.638541 +0.999040 -0.028769 -0.033043 +0.997891 -0.064912 -0.000000 +0.968459 -0.059404 0.241987 +0.722901 0.092235 -0.684768 +0.968459 -0.059404 -0.241987 +0.744481 -0.049733 -0.665788 +0.753166 -0.083446 -0.652517 +-0.000221 -0.028021 -0.999607 +-0.000545 -0.072538 -0.997366 +0.000290 0.188578 -0.982058 +-0.725899 0.106960 -0.679434 +-0.745476 0.004756 -0.666515 +-0.755699 -0.014702 -0.654755 +-0.998545 0.042907 -0.032679 +-0.999654 0.026288 -0.000000 +-0.969243 -0.043778 -0.242182 +-0.969243 -0.043778 0.242182 +-0.753166 -0.083446 -0.652517 +-0.744481 -0.049733 -0.665788 +-0.999040 -0.028769 -0.033043 +-0.997891 -0.064912 -0.000000 +-0.722853 0.093009 -0.684713 +-0.968518 -0.058365 -0.242003 +-0.768456 -0.085839 0.634119 +-0.968518 -0.058365 0.242003 +-0.871966 0.182025 0.454470 +-0.764723 -0.086392 0.638541 +-0.001838 0.418951 0.908007 +0.000644 -0.088850 0.996045 +0.000143 -0.102905 0.994691 +0.767469 -0.075481 0.636627 +0.864644 0.234219 0.444446 +0.764766 -0.018837 0.644033 +0.998545 0.042907 -0.032679 +0.999654 0.026287 -0.000000 +0.969195 -0.044881 0.242171 +0.725941 0.106155 -0.679516 +0.969195 -0.044881 -0.242171 +0.745476 0.004756 -0.666515 +0.755698 -0.014702 -0.654755 +0.000220 -0.028021 -0.999607 +0.000544 -0.072538 -0.997366 +-0.000257 0.188578 -0.982058 +-0.063618 -0.997817 0.017699 +0.020059 -0.997338 0.070100 +-0.000369 -0.999364 0.035669 +0.000000 -1.000000 0.000292 +0.000000 -1.000000 0.000000 +-0.091372 -0.995817 0.000000 +0.063252 -0.997837 0.017928 +0.091372 -0.995817 0.000000 +-0.021531 -0.997243 0.071011 +-0.000000 -1.000000 0.000000 +-0.091372 -0.995817 0.000000 +-0.063252 -0.997837 0.017928 +-0.000000 -1.000000 0.000292 +0.063618 -0.997817 0.017699 +0.091372 -0.995817 0.000000 +0.000369 -0.999364 0.035669 +-0.020059 -0.997338 0.070100 +0.021531 -0.997243 0.071011 +-0.753563 -0.074742 -0.653113 +-0.792235 -0.047094 -0.608396 +-0.948323 -0.306723 -0.081272 +-0.969704 -0.206653 -0.130263 +-0.990105 -0.124123 0.065461 +-0.928554 -0.371197 0.000000 +0.992590 -0.105515 0.060271 +0.928554 -0.371198 0.000000 +0.943894 -0.317963 -0.089234 +0.974932 -0.179879 -0.130964 +0.752801 -0.063126 -0.655214 +0.784188 -0.086169 -0.614511 +0.004501 -0.000186 -0.999990 +-0.000022 -0.006028 -0.999982 +0.990105 -0.124123 0.065461 +0.928554 -0.371199 0.000000 +0.948323 -0.306724 -0.081271 +0.969704 -0.206653 -0.130263 +0.753562 -0.074742 -0.653113 +0.792235 -0.047095 -0.608396 +-0.004501 -0.000186 -0.999990 +0.000022 -0.006028 -0.999982 +-0.752801 -0.063126 -0.655214 +-0.784188 -0.086169 -0.614511 +-0.943894 -0.317963 -0.089234 +-0.974932 -0.179879 -0.130964 +-0.992590 -0.105515 0.060271 +-0.928554 -0.371197 0.000000 +-0.829171 0.048984 0.556845 +-0.780221 -0.305520 0.545814 +0.000000 -0.150202 0.988655 +0.000000 0.073081 0.997326 +0.000000 0.767634 0.640888 +-0.700993 0.581739 0.412539 +0.829171 0.048984 0.556845 +0.700993 0.581739 0.412539 +0.780221 -0.305520 0.545813 +-0.829171 0.048984 0.556845 +-0.780221 -0.305520 0.545813 +0.000000 -0.150202 0.988655 +0.000000 0.073081 0.997326 +0.000000 0.767634 0.640888 +-0.700993 0.581739 0.412539 +0.829171 0.048984 0.556845 +0.700993 0.581739 0.412539 +0.780221 -0.305520 0.545813 +-0.920188 -0.381850 0.086282 +-0.995859 -0.025197 0.087351 +-0.748334 0.607917 0.265392 +-0.001508 0.897845 0.440308 +0.752811 0.597943 0.275210 +0.995859 -0.025197 0.087351 +0.920188 -0.381850 0.086281 +0.097761 -0.991852 0.081691 +0.116732 -0.978860 0.167946 +0.000000 -0.986507 0.163720 +-0.000000 -0.996841 0.079429 +-0.097761 -0.991852 0.081691 +-0.116732 -0.978860 0.167946 +-0.920188 -0.381850 0.086281 +-0.995859 -0.025197 0.087351 +-0.752811 0.597943 0.275210 +0.001508 0.897845 0.440308 +0.748335 0.607917 0.265392 +0.995859 -0.025197 0.087351 +0.920188 -0.381850 0.086282 +0.097761 -0.991852 0.081691 +0.116732 -0.978860 0.167946 +-0.000000 -0.986507 0.163720 +0.000000 -0.996841 0.079429 +-0.097761 -0.991852 0.081691 +-0.116732 -0.978860 0.167946 +-0.972755 -0.226066 0.051404 +-0.914472 -0.036861 -0.402967 +-0.886244 -0.003816 0.463204 +-0.495344 -0.303247 0.814049 +0.230111 0.050508 0.971853 +0.293920 0.138723 0.945710 +0.464059 0.664311 0.585952 +-0.070981 0.017186 0.997330 +0.213493 0.042265 0.976030 +0.484679 0.239002 0.841406 +0.431273 0.775434 0.461201 +0.917662 0.262800 -0.298048 +0.466546 0.604341 -0.645838 +0.525241 0.803599 -0.279911 +0.972501 0.225317 -0.058949 +0.844831 -0.003591 0.535021 +0.968842 -0.050844 0.242404 +0.733681 -0.115944 -0.669529 +0.374281 0.043354 -0.926301 +0.274072 0.115446 -0.954755 +-0.236642 -0.167567 -0.957038 +-0.102127 -0.168858 -0.980335 +-0.211733 -0.123302 -0.969518 +-0.508402 0.400942 -0.762085 +-0.985683 -0.167454 0.019696 +-0.837427 -0.092363 -0.538689 +-0.921672 0.228945 -0.313216 +-0.977159 -0.087271 0.193765 +-0.847031 -0.014185 0.531354 +-0.977291 0.198616 -0.073850 +-0.548800 0.786686 -0.282742 +-0.487591 0.589452 -0.644050 +-0.325338 0.118472 0.938147 +-0.487323 0.648299 0.585000 +-0.451673 0.762776 0.462780 +-0.503604 0.219461 0.835595 +-0.223835 0.027322 0.974244 +0.019021 -0.025093 0.999504 +0.885739 0.002207 0.464178 +0.493392 -0.278371 0.824059 +-0.242884 0.064422 0.967914 +0.998652 0.011684 0.050572 +0.934295 -0.040867 -0.354151 +0.840407 -0.081963 -0.535722 +0.986308 0.163070 0.024580 +0.267842 -0.149940 -0.951724 +0.506550 0.451829 -0.734342 +0.217411 -0.116998 -0.969043 +0.152259 -0.193759 -0.969162 +-0.729781 -0.111579 -0.674515 +-0.365104 0.024384 -0.930647 +-0.284171 0.098294 -0.953722 +-0.803079 -0.050034 0.593768 +-0.781130 0.401219 0.478391 +-0.410752 0.380601 0.828508 +-0.404531 0.009279 0.914477 +0.620734 -0.046581 0.782636 +0.435850 0.164351 0.884886 +0.387316 0.633261 0.670050 +0.938869 0.165295 0.301999 +0.993753 -0.098323 0.052797 +0.993414 -0.091317 -0.069205 +0.788332 -0.069197 -0.611347 +0.827297 -0.071961 -0.557137 +0.366048 -0.032659 -0.930023 +0.361485 -0.112586 -0.925556 +-0.489740 -0.180179 -0.853048 +-0.393544 -0.009370 -0.919258 +-0.398280 -0.032659 -0.916682 +-0.618961 -0.054987 -0.783495 +-0.993637 -0.093241 -0.063185 +-0.997432 -0.061074 -0.037410 +-0.832280 -0.088415 -0.547259 +-0.888894 -0.081419 -0.450819 +-0.979733 -0.097083 0.175211 +-0.990985 -0.122358 0.054574 +-0.551350 -0.032004 0.833660 +-0.797570 0.411896 0.440709 +-0.339731 0.394733 0.853680 +-0.325789 0.139368 0.935114 +0.849788 -0.044041 0.525281 +0.512583 0.010549 0.858573 +0.441654 0.645064 0.623566 +0.932823 0.173203 0.315977 +0.978700 -0.094633 -0.182185 +0.983295 -0.100438 -0.151802 +0.415131 -0.182196 -0.891331 +0.518974 -0.068837 -0.852014 +0.283679 -0.048771 -0.957678 +0.279236 -0.055726 -0.958604 +-0.471252 -0.132310 -0.872018 +-0.476597 -0.048773 -0.877768 +-0.878969 -0.472314 0.065823 +-0.827044 -0.323416 -0.459783 +-0.610832 -0.448987 -0.652146 +-0.526185 -0.850311 -0.009984 +-0.574520 -0.432320 0.695000 +-0.786315 -0.307077 0.536108 +0.834379 -0.519138 -0.185225 +0.880594 -0.307076 0.360913 +0.706463 -0.432320 0.560366 +0.512603 -0.850316 -0.119166 +0.461885 -0.448990 -0.764899 +0.713374 -0.323420 -0.621688 +-0.892193 -0.069382 -0.446294 +-0.978346 -0.085121 0.188662 +-0.884165 -0.157819 0.439710 +-0.221055 -0.779282 0.586391 +0.866848 -0.322373 0.380330 +0.441524 -0.594785 0.671779 +0.956326 -0.184911 -0.226380 +0.601191 -0.068996 -0.796121 +0.305098 -0.003437 -0.952315 +-0.496436 -0.003438 -0.868066 +-0.638636 -0.435053 0.634723 +-0.830139 -0.314897 0.460118 +-0.855822 -0.508887 -0.092752 +-0.554024 -0.828864 -0.077734 +0.876381 -0.479195 -0.048247 +0.845696 -0.314895 0.430859 +0.649705 -0.450500 0.612318 +0.493180 -0.866122 -0.081274 +0.523606 -0.444415 -0.726864 +0.764753 -0.313882 -0.562700 +-0.783919 -0.313886 -0.535674 +-0.555165 -0.427690 -0.713353 +-0.882675 -0.183622 0.432630 +-0.271583 -0.788935 0.551203 +0.873327 -0.313942 0.372478 +0.381162 -0.607148 0.697199 +0.994020 -0.086598 0.066527 +0.831133 -0.059994 -0.552828 +0.386945 0.012542 -0.922017 +-0.693754 -0.056263 -0.718011 +-0.418877 0.012541 -0.907956 +-0.976844 -0.182696 -0.111348 +0.294177 0.764465 0.573631 +-0.000000 0.397446 0.917625 +-0.294177 0.764465 0.573631 +-0.000000 0.581259 0.813718 +-0.456707 0.734526 0.501886 +0.456707 0.734526 0.501886 +-0.298716 0.722304 -0.623736 +0.000000 0.295403 -0.955373 +0.298716 0.722304 -0.623736 +-0.000000 0.509949 -0.860205 +0.458266 0.727137 -0.511140 +-0.458266 0.727137 -0.511140 +0.283025 0.884374 -0.371186 +0.279655 0.889902 0.360371 +0.471410 0.814187 0.338928 +0.471041 0.811948 -0.344760 +-0.471410 0.814187 0.338928 +-0.279655 0.889902 0.360371 +-0.283025 0.884374 -0.371186 +-0.471041 0.811949 -0.344760 +-0.000000 0.626143 0.779708 +0.637067 0.425080 0.643003 +0.735214 0.542757 0.406049 +-0.000000 0.942125 0.335262 +-0.735214 0.542757 0.406049 +-0.637067 0.425080 0.643003 +-0.000000 0.573004 -0.819552 +-0.693182 0.359760 -0.624557 +-0.767570 0.558116 -0.315187 +-0.000000 0.967603 -0.252475 +0.767570 0.558116 -0.315187 +0.693182 0.359760 -0.624557 +0.744181 -0.067855 0.664522 +-0.000000 -0.017949 0.999839 +-0.000000 -0.340028 0.940415 +0.756212 -0.345511 0.555667 +-0.744181 -0.067855 0.664522 +-0.756212 -0.345511 0.555667 +-0.955939 -0.078905 0.282763 +-0.916501 -0.265816 0.298944 +-0.740683 -0.149108 -0.655100 +-0.751361 -0.350450 -0.559144 +-0.915672 -0.267902 -0.299622 +-0.955890 -0.079543 -0.282748 +-0.000000 -0.137357 -0.990522 +-0.000000 -0.350075 -0.936722 +0.740683 -0.149108 -0.655100 +0.751360 -0.350450 -0.559144 +0.955891 -0.079543 -0.282747 +0.915672 -0.267902 -0.299621 +0.916501 -0.265816 0.298944 +0.955939 -0.078905 0.282763 +0.831929 -0.239287 0.500635 +0.617791 0.695676 0.366564 +0.541569 0.428000 0.723546 +0.316466 -0.793184 0.520296 +-0.433672 0.658643 0.614913 +-0.873527 0.328632 0.359099 +-0.622219 -0.510509 0.593485 +-0.406571 -0.614722 0.675882 +0.872326 -0.231023 0.430900 +0.645832 0.702059 0.300024 +0.601768 0.440720 0.666064 +0.362007 -0.783896 0.504438 +-0.379788 0.669139 0.638760 +-0.839497 0.335694 0.427263 +-0.567195 -0.500272 0.654231 +-0.344991 -0.602973 0.719309 +620 +0 0 1 2 0 1 2 13 +0 0 2 3 0 2 3 13 +0 4 5 0 4 5 0 13 +0 4 0 3 4 0 3 13 +0 6 7 8 6 7 8 14 +0 6 8 9 6 8 9 14 +0 10 11 6 10 11 6 14 +0 10 6 9 10 6 9 14 +0 12 13 14 12 13 14 14 +0 12 14 15 12 14 15 14 +0 16 17 18 16 17 18 13 +0 16 18 19 16 18 19 13 +0 20 21 16 20 21 16 13 +0 20 16 19 20 16 19 13 +0 14 22 23 14 22 23 14 +0 14 23 15 14 23 15 14 +0 0 5 24 0 5 24 13 +0 0 24 25 0 24 25 13 +0 26 1 0 26 1 0 13 +0 26 0 25 26 0 25 13 +0 16 21 26 16 21 26 13 +0 16 26 25 16 26 25 13 +0 27 17 16 27 17 16 13 +0 27 16 25 27 16 25 13 +0 24 28 27 24 28 27 13 +0 24 27 25 24 27 25 13 +0 14 13 29 14 13 29 14 +0 14 29 30 14 29 30 14 +0 31 22 14 31 22 14 14 +0 31 14 30 31 14 30 14 +0 6 11 31 6 11 31 14 +0 6 31 30 6 31 30 14 +0 32 7 6 32 7 6 14 +0 32 6 30 32 6 30 14 +0 29 33 32 29 33 32 14 +0 29 32 30 29 32 30 14 +0 34 35 36 34 35 36 14 +0 34 36 37 34 36 37 14 +0 8 7 34 8 7 34 14 +0 8 34 37 8 34 37 14 +0 38 5 4 38 5 4 13 +0 38 4 39 38 4 39 13 +0 40 41 38 40 41 38 13 +0 40 38 39 40 38 39 13 +0 38 41 42 38 41 42 13 +0 38 42 43 38 42 43 13 +0 24 5 38 24 5 38 13 +0 24 38 43 24 38 43 13 +0 44 28 24 44 28 24 13 +0 44 24 43 44 24 43 13 +0 42 45 44 42 45 44 13 +0 42 44 43 42 44 43 13 +0 44 45 46 44 45 46 13 +0 44 46 47 44 46 47 13 +0 48 28 44 48 28 44 13 +0 48 44 47 48 44 47 13 +0 49 33 50 49 33 50 14 +0 49 50 51 49 50 51 14 +0 52 53 49 52 53 49 14 +0 52 49 51 52 49 51 14 +0 49 53 54 49 53 54 14 +0 49 54 55 49 54 55 14 +0 32 33 49 32 33 49 14 +0 32 49 55 32 49 55 14 +0 34 7 32 34 7 32 14 +0 34 32 55 34 32 55 14 +0 54 35 34 54 35 34 14 +0 54 34 55 54 34 55 14 +0 56 57 58 56 57 58 13 +0 56 58 59 56 58 59 13 +0 27 28 56 27 28 56 13 +0 27 56 59 27 56 59 13 +0 60 17 27 60 17 27 13 +0 60 27 59 60 27 59 13 +0 58 61 60 58 61 60 13 +0 58 60 59 58 60 59 13 +0 60 61 62 60 61 62 13 +0 60 62 63 60 62 63 13 +0 18 17 60 18 17 60 13 +0 18 60 63 18 60 63 13 +0 64 13 12 64 13 12 14 +0 64 12 65 64 12 65 14 +0 66 67 64 66 67 64 14 +0 66 64 65 66 64 65 14 +0 64 67 68 64 67 68 14 +0 64 68 69 64 68 69 14 +0 29 13 64 29 13 64 14 +0 29 64 69 29 64 69 14 +0 70 33 29 70 33 29 14 +0 70 29 69 70 29 69 14 +0 68 71 70 68 71 70 14 +0 68 70 69 68 70 69 14 +0 70 71 72 70 71 72 14 +0 70 72 73 70 72 73 14 +0 50 33 70 50 33 70 14 +0 50 70 73 50 70 73 14 +0 56 28 48 56 28 48 13 +0 56 48 74 56 48 74 13 +0 75 57 56 75 57 56 13 +0 75 56 74 75 56 74 13 +0 76 77 78 76 77 78 11 +0 76 78 79 76 78 79 11 +0 58 57 80 58 57 80 13 +0 58 80 81 58 80 81 13 +0 82 61 58 82 61 58 13 +0 82 58 81 82 58 81 13 +0 78 83 84 78 83 84 11 +0 78 84 79 78 84 79 11 +0 84 83 85 84 83 85 11 +0 84 85 86 84 85 86 11 +0 62 61 82 62 61 82 13 +0 62 82 87 62 82 87 13 +0 88 67 66 88 67 66 14 +0 88 66 89 88 66 89 14 +0 85 90 91 85 90 91 11 +0 85 91 86 85 91 86 11 +0 91 90 92 91 90 92 11 +0 91 92 93 91 92 93 11 +0 68 67 88 68 67 88 14 +0 68 88 94 68 88 94 14 +0 95 71 68 95 71 68 14 +0 95 68 94 95 68 94 14 +0 92 96 97 92 96 97 11 +0 92 97 93 92 97 93 11 +0 97 96 98 97 96 98 11 +0 97 98 99 97 98 99 11 +0 72 71 95 72 71 95 14 +0 72 95 100 72 95 100 14 +0 80 57 75 80 57 75 13 +0 80 75 101 80 75 101 13 +0 98 77 76 98 77 76 11 +0 98 76 99 98 76 99 11 +0 102 103 104 102 103 104 11 +0 102 104 105 102 104 105 11 +0 36 35 106 36 35 106 14 +0 36 106 107 36 106 107 14 +0 108 41 40 108 41 40 13 +0 108 40 109 108 40 109 13 +0 104 110 111 104 110 111 11 +0 104 111 105 104 111 105 11 +0 111 110 112 111 110 112 11 +0 111 112 113 111 112 113 11 +0 42 41 108 42 41 108 13 +0 42 108 114 42 108 114 13 +0 115 45 42 115 45 42 13 +0 115 42 114 115 42 114 13 +0 112 116 117 112 116 117 11 +0 112 117 113 112 117 113 11 +0 117 116 118 117 116 118 11 +0 117 118 119 117 118 119 11 +0 46 45 115 46 45 115 13 +0 46 115 120 46 115 120 13 +0 121 53 52 121 53 52 14 +0 121 52 122 121 52 122 14 +0 118 123 124 118 123 124 11 +0 118 124 119 118 124 119 11 +0 124 123 125 124 123 125 11 +0 124 125 126 124 125 126 11 +0 54 53 121 54 53 121 14 +0 54 121 127 54 121 127 14 +0 106 35 54 106 35 54 14 +0 106 54 127 106 54 127 14 +0 125 103 102 125 103 102 11 +0 125 102 126 125 102 126 11 +0 128 129 130 128 129 130 12 +0 128 130 131 128 130 131 12 +0 132 133 128 132 133 128 12 +0 132 128 131 132 128 131 12 +0 134 135 132 134 135 132 12 +0 134 132 131 134 132 131 12 +0 130 136 134 130 136 134 12 +0 130 134 131 130 134 131 12 +0 137 138 139 137 138 139 12 +0 137 139 140 137 139 140 12 +0 141 142 137 141 142 137 12 +0 141 137 140 141 137 140 12 +0 143 144 141 143 144 141 12 +0 143 141 140 143 141 140 12 +0 139 145 143 139 145 143 12 +0 139 143 140 139 143 140 12 +0 146 147 148 146 147 148 11 +0 146 148 149 146 148 149 11 +0 104 103 146 104 103 146 11 +0 104 146 149 104 146 149 11 +0 150 110 104 150 110 104 11 +0 150 104 149 150 104 149 11 +0 148 151 150 148 151 150 11 +0 148 150 149 148 150 149 11 +0 152 153 154 152 153 154 11 +0 152 154 155 152 154 155 11 +0 118 116 152 118 116 152 11 +0 118 152 155 118 152 155 11 +0 156 123 118 156 123 118 11 +0 156 118 155 156 118 155 11 +0 154 157 156 154 157 156 11 +0 154 156 155 154 156 155 11 +0 156 157 158 156 157 158 11 +0 156 158 159 156 158 159 11 +0 125 123 156 125 123 156 11 +0 125 156 159 125 156 159 11 +0 146 103 125 146 103 125 11 +0 146 125 159 146 125 159 11 +0 158 147 146 158 147 146 11 +0 158 146 159 158 146 159 11 +0 160 161 162 160 161 162 11 +0 160 162 163 160 162 163 11 +0 85 83 160 85 83 160 11 +0 85 160 163 85 160 163 11 +0 164 90 85 164 90 85 11 +0 164 85 163 164 85 163 11 +0 162 165 164 162 165 164 11 +0 162 164 163 162 164 163 11 +0 164 165 166 164 165 166 11 +0 164 166 167 164 166 167 11 +0 92 90 164 92 90 164 11 +0 92 164 167 92 164 167 11 +0 168 96 92 168 96 92 11 +0 168 92 167 168 92 167 11 +0 166 169 168 166 169 168 11 +0 166 168 167 166 168 167 11 +0 168 169 170 168 169 170 11 +0 168 170 171 168 170 171 11 +0 98 96 168 98 96 168 11 +0 98 168 171 98 168 171 11 +0 172 77 98 172 77 98 11 +0 172 98 171 172 98 171 11 +0 170 173 172 170 173 172 11 +0 170 172 171 170 172 171 11 +0 174 175 176 174 175 176 11 +0 174 176 177 174 176 177 11 +0 178 179 174 178 179 174 11 +0 178 174 177 178 174 177 11 +0 180 181 178 180 181 178 11 +0 180 178 177 180 178 177 11 +0 176 182 180 176 182 180 11 +0 176 180 177 176 180 177 11 +0 183 184 185 183 184 185 11 +0 183 185 186 183 185 186 11 +0 187 188 183 187 188 183 11 +0 187 183 186 187 183 186 11 +0 189 190 187 189 190 187 11 +0 189 187 186 189 187 186 11 +0 185 191 189 185 191 189 11 +0 185 189 186 185 189 186 11 +0 192 175 174 192 175 174 11 +0 192 174 193 192 174 193 11 +0 172 173 192 172 173 192 11 +0 172 192 193 172 192 193 11 +0 194 77 172 194 77 172 11 +0 194 172 193 194 172 193 11 +0 174 179 194 174 179 194 11 +0 174 194 193 174 194 193 11 +0 194 179 178 194 179 178 11 +0 194 178 195 194 178 195 11 +0 78 77 194 78 77 194 11 +0 78 194 195 78 194 195 11 +0 196 83 78 196 83 78 11 +0 196 78 195 196 78 195 11 +0 178 181 196 178 181 196 11 +0 178 196 195 178 196 195 11 +0 196 181 180 196 181 180 11 +0 196 180 197 196 180 197 11 +0 160 83 196 160 83 196 11 +0 160 196 197 160 196 197 11 +0 198 161 160 198 161 160 11 +0 198 160 197 198 160 197 11 +0 180 182 198 180 182 198 11 +0 180 198 197 180 198 197 11 +0 199 200 201 199 200 201 12 +0 199 201 202 199 201 202 12 +0 137 142 199 137 142 199 12 +0 137 199 202 137 199 202 12 +0 203 138 137 203 138 137 12 +0 203 137 202 203 137 202 12 +0 201 204 203 201 204 203 12 +0 201 203 202 201 203 202 12 +0 205 184 183 205 184 183 11 +0 205 183 206 205 183 206 11 +0 150 151 205 150 151 205 11 +0 150 205 206 150 205 206 11 +0 207 110 150 207 110 150 11 +0 207 150 206 207 150 206 11 +0 183 188 207 183 188 207 11 +0 183 207 206 183 207 206 11 +0 207 188 187 207 188 187 11 +0 207 187 208 207 187 208 11 +0 112 110 207 112 110 207 11 +0 112 207 208 112 207 208 11 +0 209 116 112 209 116 112 11 +0 209 112 208 209 112 208 11 +0 187 190 209 187 190 209 11 +0 187 209 208 187 209 208 11 +0 209 190 189 209 190 189 11 +0 209 189 210 209 189 210 11 +0 152 116 209 152 116 209 11 +0 152 209 210 152 209 210 11 +0 211 153 152 211 153 152 11 +0 211 152 210 211 152 210 11 +0 189 191 211 189 191 211 11 +0 189 211 210 189 211 210 11 +0 212 213 214 212 213 214 12 +0 212 214 215 212 214 215 12 +0 132 135 212 132 135 212 12 +0 132 212 215 132 212 215 12 +0 216 133 132 216 133 132 12 +0 216 132 215 216 132 215 12 +0 214 217 216 214 217 216 12 +0 214 216 215 214 216 215 12 +0 218 219 220 218 219 220 13 +0 218 220 221 218 220 221 13 +0 222 21 218 222 21 218 13 +0 222 218 221 222 218 221 13 +0 223 224 222 223 224 222 13 +0 223 222 221 223 222 221 13 +0 220 225 223 220 225 223 13 +0 220 223 221 220 223 221 13 +0 223 225 226 223 225 226 13 +0 223 226 227 223 226 227 13 +0 228 224 223 228 224 223 13 +0 228 223 227 228 223 227 13 +0 229 230 231 229 230 231 14 +0 229 231 232 229 231 232 14 +0 233 234 229 233 234 229 14 +0 233 229 232 233 229 232 14 +0 229 234 235 229 234 235 14 +0 229 235 236 229 235 236 14 +0 237 230 229 237 230 229 14 +0 237 229 236 237 229 236 14 +0 238 22 237 238 22 237 14 +0 238 237 236 238 237 236 14 +0 235 239 238 235 239 238 14 +0 235 238 236 235 238 236 14 +0 238 239 240 238 239 240 14 +0 238 240 241 238 240 241 14 +0 23 22 238 23 22 238 14 +0 23 238 241 23 238 241 14 +0 218 21 20 218 21 20 13 +0 218 20 242 218 20 242 13 +0 243 219 218 243 219 218 13 +0 243 218 242 243 218 242 13 +0 244 245 246 244 245 246 14 +0 244 246 247 244 246 247 14 +0 248 249 244 248 249 244 14 +0 248 244 247 248 244 247 14 +0 250 251 252 250 251 252 13 +0 250 252 253 250 252 253 13 +0 254 255 250 254 255 250 13 +0 254 250 253 254 250 253 13 +0 250 255 256 250 255 256 13 +0 250 256 257 250 256 257 13 +0 258 251 250 258 251 250 13 +0 258 250 257 258 250 257 13 +0 259 1 258 259 1 258 13 +0 259 258 257 259 258 257 13 +0 256 260 259 256 260 259 13 +0 256 259 257 256 259 257 13 +0 259 260 261 259 260 261 13 +0 259 261 262 259 261 262 13 +0 2 1 259 2 1 259 13 +0 2 259 262 2 259 262 13 +0 263 11 10 263 11 10 14 +0 263 10 264 263 10 264 14 +0 265 266 263 265 266 263 14 +0 265 263 264 265 263 264 14 +0 263 266 267 263 266 267 14 +0 263 267 268 263 267 268 14 +0 269 11 263 269 11 263 14 +0 269 263 268 269 263 268 14 +0 244 249 269 244 249 269 14 +0 244 269 268 244 269 268 14 +0 267 245 244 267 245 244 14 +0 267 244 268 267 244 268 14 +0 270 271 272 270 271 272 14 +0 270 272 273 270 272 273 14 +0 246 245 270 246 245 270 14 +0 246 270 273 246 270 273 14 +0 274 255 254 274 255 254 13 +0 274 254 275 274 254 275 13 +0 276 277 274 276 277 274 13 +0 276 274 275 276 274 275 13 +0 274 277 278 274 277 278 13 +0 274 278 279 274 278 279 13 +0 256 255 274 256 255 274 13 +0 256 274 279 256 274 279 13 +0 280 260 256 280 260 256 13 +0 280 256 279 280 256 279 13 +0 278 281 280 278 281 280 13 +0 278 280 279 278 280 279 13 +0 280 281 282 280 281 282 13 +0 280 282 283 280 282 283 13 +0 261 260 280 261 260 280 13 +0 261 280 283 261 280 283 13 +0 284 266 265 284 266 265 14 +0 284 265 285 284 265 285 14 +0 286 287 284 286 287 284 14 +0 286 284 285 286 284 285 14 +0 284 287 288 284 287 288 14 +0 284 288 289 284 288 289 14 +0 267 266 284 267 266 284 14 +0 267 284 289 267 284 289 14 +0 270 245 267 270 245 267 14 +0 270 267 289 270 267 289 14 +0 288 271 270 288 271 270 14 +0 288 270 289 288 270 289 14 +0 290 291 292 290 291 292 13 +0 290 292 293 290 292 293 13 +0 220 219 290 220 219 290 13 +0 220 290 293 220 290 293 13 +0 294 225 220 294 225 220 13 +0 294 220 293 294 220 293 13 +0 292 295 294 292 295 294 13 +0 292 294 293 292 294 293 13 +0 294 295 296 294 295 296 13 +0 294 296 297 294 296 297 13 +0 226 225 294 226 225 294 13 +0 226 294 297 226 294 297 13 +0 298 234 233 298 234 233 14 +0 298 233 299 298 233 299 14 +0 300 301 298 300 301 298 14 +0 300 298 299 300 298 299 14 +0 298 301 302 298 301 302 14 +0 298 302 303 298 302 303 14 +0 235 234 298 235 234 298 14 +0 235 298 303 235 298 303 14 +0 304 239 235 304 239 235 14 +0 304 235 303 304 235 303 14 +0 302 305 304 302 305 304 14 +0 302 304 303 302 304 303 14 +0 304 305 306 304 305 306 14 +0 304 306 307 304 306 307 14 +0 240 239 304 240 239 304 14 +0 240 304 307 240 304 307 14 +0 290 219 243 290 219 243 13 +0 290 243 308 290 243 308 13 +0 309 291 290 309 291 290 13 +0 309 290 308 309 290 308 13 +0 310 311 312 310 311 312 13 +0 310 312 313 310 312 313 13 +0 314 315 310 314 315 310 13 +0 314 310 313 314 310 313 13 +0 316 317 318 316 317 318 14 +0 316 318 319 316 318 319 14 +0 320 321 316 320 321 316 14 +0 320 316 319 320 316 319 14 +0 322 311 310 322 311 310 13 +0 322 310 323 322 310 323 13 +0 292 291 322 292 291 322 13 +0 292 322 323 292 322 323 13 +0 324 295 292 324 295 292 13 +0 324 292 323 324 292 323 13 +0 310 315 324 310 315 324 13 +0 310 324 323 310 324 323 13 +0 324 315 314 324 315 314 13 +0 324 314 325 324 314 325 13 +0 318 317 326 318 317 326 14 +0 318 326 327 318 326 327 14 +0 326 317 316 326 317 316 14 +0 326 316 328 326 316 328 14 +0 302 301 326 302 301 326 14 +0 302 326 328 302 326 328 14 +0 329 305 302 329 305 302 14 +0 329 302 328 329 302 328 14 +0 316 321 329 316 321 329 14 +0 316 329 328 316 329 328 14 +0 329 321 320 329 321 320 14 +0 329 320 330 329 320 330 14 +0 306 305 329 306 305 329 14 +0 306 329 330 306 329 330 14 +0 322 291 309 322 291 309 13 +0 322 309 331 322 309 331 13 +0 312 311 322 312 311 322 13 +0 312 322 331 312 322 331 13 +0 332 333 334 332 333 334 14 +0 332 334 335 332 334 335 14 +0 336 337 338 336 337 338 13 +0 336 338 339 336 338 339 13 +0 340 341 336 340 341 336 13 +0 340 336 339 340 336 339 13 +0 334 342 343 334 342 343 14 +0 334 343 335 334 343 335 14 +0 344 333 332 344 333 332 14 +0 344 332 345 344 332 345 14 +0 338 337 346 338 337 346 13 +0 338 346 347 338 346 347 13 +0 346 337 336 346 337 336 13 +0 346 336 348 346 336 348 13 +0 278 277 346 278 277 346 13 +0 278 346 348 278 346 348 13 +0 349 281 278 349 281 278 13 +0 349 278 348 349 278 348 13 +0 336 341 349 336 341 349 13 +0 336 349 348 336 349 348 13 +0 349 341 340 349 341 340 13 +0 349 340 350 349 340 350 13 +0 282 281 349 282 281 349 13 +0 282 349 350 282 349 350 13 +0 351 287 286 351 287 286 14 +0 351 286 352 351 286 352 14 +0 343 342 351 343 342 351 14 +0 343 351 352 343 351 352 14 +0 351 342 334 351 342 334 14 +0 351 334 353 351 334 353 14 +0 288 287 351 288 287 351 14 +0 288 351 353 288 351 353 14 +0 344 271 288 344 271 288 14 +0 344 288 353 344 288 353 14 +0 334 333 344 334 333 344 14 +0 334 344 353 334 344 353 14 +0 222 224 354 222 224 354 13 +0 222 354 355 222 354 355 13 +0 26 21 222 26 21 222 13 +0 26 222 355 26 222 355 13 +0 258 1 26 258 1 26 13 +0 258 26 355 258 26 355 13 +0 356 251 258 356 251 258 13 +0 356 258 355 356 258 355 13 +0 357 358 356 357 358 356 13 +0 357 356 355 357 356 355 13 +0 354 359 357 354 359 357 13 +0 354 357 355 354 357 355 13 +0 269 249 360 269 249 360 14 +0 269 360 361 269 360 361 14 +0 31 11 269 31 11 269 14 +0 31 269 361 31 269 361 14 +0 237 22 31 237 22 31 14 +0 237 31 361 237 31 361 14 +0 362 230 237 362 230 237 14 +0 362 237 361 362 237 361 14 +0 363 364 362 363 364 362 14 +0 363 362 361 363 362 361 14 +0 360 365 363 360 365 363 14 +0 360 363 361 360 363 361 14 +0 231 230 362 231 230 362 14 +0 231 362 366 231 362 366 14 +0 354 224 228 354 224 228 13 +0 354 228 367 354 228 367 13 +0 368 359 354 368 359 354 13 +0 368 354 367 368 354 367 13 +0 362 364 369 362 364 369 14 +0 362 369 366 362 369 366 14 +0 356 358 370 356 358 370 13 +0 356 370 371 356 370 371 13 +0 252 251 356 252 251 356 13 +0 252 356 371 252 356 371 13 +0 360 249 248 360 249 248 14 +0 360 248 372 360 248 372 14 +0 373 365 360 373 365 360 14 +0 373 360 372 373 360 372 14 +0 374 375 376 374 375 376 9 +0 374 376 377 374 376 377 9 +0 378 379 374 378 379 374 9 +0 378 374 377 378 374 377 9 +0 380 381 382 380 381 382 10 +0 380 382 383 380 382 383 10 +0 384 385 380 384 385 380 10 +0 384 380 383 384 380 383 10 +0 386 375 374 386 375 374 9 +0 386 374 387 386 374 387 9 +0 388 389 386 388 389 386 9 +0 388 386 387 388 386 387 9 +0 390 391 388 390 391 388 9 +0 390 388 387 390 388 387 9 +0 374 379 390 374 379 390 9 +0 374 390 387 374 390 387 9 +0 390 379 378 390 379 378 9 +0 390 378 392 390 378 392 9 +0 393 391 390 393 391 390 9 +0 393 390 392 393 390 392 9 +0 394 395 396 394 395 396 10 +0 394 396 397 394 396 397 10 +0 382 381 394 382 381 394 10 +0 382 394 397 382 394 397 10 +0 394 381 380 394 381 380 10 +0 394 380 398 394 380 398 10 +0 399 395 394 399 395 394 10 +0 399 394 398 399 394 398 10 +0 400 401 399 400 401 399 10 +0 400 399 398 400 399 398 10 +0 380 385 400 380 385 400 10 +0 380 400 398 380 400 398 10 +0 400 385 384 400 385 384 10 +0 400 384 402 400 384 402 10 +0 403 401 400 403 401 400 10 +0 403 400 402 403 400 402 10 +0 386 389 404 386 389 404 9 +0 386 404 405 386 404 405 9 +0 376 375 386 376 375 386 9 +0 376 386 405 376 386 405 9 +0 406 407 408 406 407 408 13 +0 406 408 409 406 408 409 13 +0 410 411 412 410 411 412 14 +0 410 412 413 410 412 413 14 +0 414 415 416 414 415 416 14 +0 414 416 417 414 416 417 14 +0 418 419 420 418 419 420 13 +0 418 420 421 418 420 421 13 +0 407 277 276 407 277 276 13 +0 407 276 408 407 276 408 13 +0 406 346 277 406 346 277 13 +0 406 277 407 406 277 407 13 +0 409 347 346 409 347 346 13 +0 409 346 406 409 346 406 13 +0 412 344 345 412 344 345 14 +0 412 345 413 412 345 413 14 +0 411 271 344 411 271 344 14 +0 411 344 412 411 344 412 14 +0 410 272 271 410 272 271 14 +0 410 271 411 410 271 411 14 +0 415 301 300 415 301 300 14 +0 415 300 416 415 300 416 14 +0 414 326 301 414 326 301 14 +0 414 301 415 414 301 415 14 +0 417 327 326 417 327 326 14 +0 417 326 414 417 326 414 14 +0 420 324 325 420 324 325 13 +0 420 325 421 420 325 421 13 +0 419 295 324 419 295 324 13 +0 419 324 420 419 324 420 13 +0 418 296 295 418 296 295 13 +0 418 295 419 418 295 419 13 + +Materials: 1 +"body" +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 +0.000000 0.000000 0.000000 1.000000 +0.128000 +1.000000 +".\male1_soldier.bmp" +"" + +Bones: 19 +"root" +"" +8 0.008316 6.118961 -0.337079 0.000000 0.000000 0.000000 +0 +0 +"spine" +"root" +8 -0.018549 3.605114 -0.000000 0.000000 0.000000 0.000000 +0 +0 +"leftshoulder" +"spine" +8 1.542953 -0.022381 -0.000287 1.235102 1.569453 0.000000 +0 +0 +"leftelbow" +"leftshoulder" +8 0.000000 0.000000 2.392247 -0.306697 0.003245 -3.141593 +0 +0 +"leftwrist" +"leftelbow" +8 0.000000 0.000000 1.875738 0.008441 0.002995 -3.141593 +0 +0 +"lefthand" +"leftwrist" +8 0.000000 0.000000 0.298658 0.048294 0.001003 0.000000 +0 +0 +"leftfingers" +"lefthand" +8 0.000000 0.000000 0.510944 0.000000 0.000000 0.000000 +0 +0 +"rightshoulder" +"spine" +8 -1.542341 -0.028453 0.000000 1.869681 1.568871 0.000000 +0 +0 +"rightelbow" +"rightshoulder" +8 0.000000 0.000000 2.325975 0.304121 0.002266 -3.141593 +0 +0 +"rightwrist" +"rightelbow" +8 0.000000 0.000000 1.903948 0.071065 0.001485 -3.141593 +0 +0 +"righthand" +"rightwrist" +8 0.000000 0.000000 0.331070 -0.091434 0.001089 0.000000 +0 +0 +"rightfingers" +"righthand" +8 0.000000 0.000000 0.560282 0.000000 0.000000 0.000000 +0 +0 +"head" +"spine" +8 -0.002740 1.668427 -0.034964 0.000000 0.000000 0.000000 +0 +0 +"lefthip" +"root" +8 0.630439 0.006448 0.000000 1.490792 1.570796 0.000000 +0 +0 +"leftknee" +"lefthip" +8 0.000000 0.000000 2.530272 0.111342 0.009143 0.000000 +0 +0 +"leftfoot" +"leftknee" +8 0.000000 0.000000 3.175853 0.000000 0.000000 0.000000 +0 +0 +"righthip" +"root" +8 -0.671041 0.008006 0.000000 1.654265 1.570192 0.000000 +0 +0 +"rightknee" +"righthip" +8 0.000000 0.000000 2.531426 -0.113373 0.009146 0.000000 +0 +0 +"rightfoot" +"rightknee" +8 0.000000 0.000000 3.192438 0.000000 0.000000 0.000000 +0 +0 +GroupComments: 0 +MaterialComments: 0 +BoneComments: 0 +ModelComment: 0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/50cal.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/50cal.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/50cal.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/50cal.txt 2006-10-22 11:24:40.000000000 +0900 @@ -1681,8 +1681,8 @@ Materials: 5 "black" -0.000000 0.215686 0.000000 1.000000 -0.286275 0.286275 0.286275 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.345098 0.572549 0.196078 1.000000 0.000000 0.000000 0.000000 1.000000 15.000000 @@ -1690,8 +1690,8 @@ ".\weapons1.bmp" "" "olive" -0.133333 0.321569 0.078431 1.000000 -0.192157 0.337255 0.129412 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.717647 0.792157 0.482353 1.000000 0.000000 0.000000 0.000000 1.000000 4.000000 @@ -1699,8 +1699,8 @@ ".\weapons1.bmp" "" "bullets" -0.709804 0.682353 0.207843 1.000000 -0.588235 0.509804 0.239216 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.835294 0.835294 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 29.000000 @@ -1708,8 +1708,8 @@ ".\weapons1.bmp" "" "case" -0.200000 0.200000 0.200000 1.000000 -0.443137 0.552941 0.180392 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.717647 0.741176 0.392157 1.000000 0.000000 0.000000 0.000000 1.000000 10.000000 @@ -1717,8 +1717,8 @@ ".\weapons1.bmp" "" "barrel" -0.239216 0.290196 0.329412 1.000000 -0.427451 0.447059 0.470588 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.603922 0.650980 0.678431 1.000000 0.000000 0.000000 0.000000 1.000000 29.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/bullet.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/bullet.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/bullet.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/bullet.txt 2006-10-22 11:24:40.000000000 +0900 @@ -167,8 +167,8 @@ Materials: 2 "Material02" -0.200000 0.200000 0.200000 1.000000 -0.521569 0.447059 0.211765 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.941177 0.941177 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 2.000000 @@ -176,8 +176,8 @@ ".\weapons1.bmp" "" "Material03" -0.200000 0.200000 0.200000 1.000000 -0.521569 0.447059 0.211765 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.941177 0.941177 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 4.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/fthrower.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/fthrower.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/fthrower.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/fthrower.txt 2006-10-22 11:24:40.000000000 +0900 @@ -2191,8 +2191,8 @@ ".\weapons1.bmp" "" "flames" -0.490196 0.713726 0.933333 1.000000 -0.000000 0.447059 0.658824 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.662745 0.768628 0.960784 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -2200,8 +2200,8 @@ ".\weapons1.bmp" "" "hose" -0.462745 0.403922 0.380392 1.000000 -0.266667 0.266667 0.266667 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.305882 0.305882 0.305882 1.000000 0.000000 0.000000 0.000000 1.000000 29.000000 @@ -2209,8 +2209,8 @@ ".\weapons1.bmp" "" "tanks" -0.549020 0.549020 0.549020 1.000000 -0.317647 0.396078 0.407843 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.639216 0.760784 0.745098 1.000000 0.000000 0.000000 0.000000 1.000000 10.000000 @@ -2218,8 +2218,8 @@ ".\weapons1.bmp" "" "tops" -0.235294 0.290196 0.309804 1.000000 -0.290196 0.376471 0.352941 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.537255 0.615686 0.639216 1.000000 0.000000 0.000000 0.000000 1.000000 4.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/fusionbarrel.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/fusionbarrel.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/fusionbarrel.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/fusionbarrel.txt 2006-10-22 11:24:40.000000000 +0900 @@ -1187,8 +1187,8 @@ Materials: 3 "main" -0.000000 1.000000 0.250980 1.000000 -0.000000 0.501961 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 1.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -1196,8 +1196,8 @@ ".\weapons1.bmp" "" "rings" -0.400000 0.549020 0.600000 1.000000 -0.341176 0.368627 0.392157 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.709804 0.768628 0.807843 1.000000 0.000000 0.000000 0.000000 1.000000 8.000000 @@ -1205,8 +1205,8 @@ ".\weapons1.bmp" "" "tops" -0.200000 0.200000 0.200000 1.000000 -0.000000 0.576471 0.145098 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.729412 1.000000 0.458824 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/grenade.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/grenade.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/grenade.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/grenade.txt 2006-10-22 11:24:40.000000000 +0900 @@ -1184,27 +1184,27 @@ Materials: 3 "pineapple" -0.137255 0.352941 0.105882 1.000000 -0.341176 0.568627 0.117647 1.000000 -0.854902 1.000000 0.835294 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 4.000000 1.000000 ".\weapons1.bmp" "" "olive" -0.200000 0.200000 0.200000 1.000000 -0.243137 0.407843 0.090196 1.000000 -0.701961 0.827451 0.305882 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 8.000000 1.000000 ".\weapons1.bmp" "" "gradient" -0.349020 0.443137 0.450980 1.000000 -0.545098 0.588235 0.611765 1.000000 -0.850980 0.894118 0.901961 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 13.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/m7a3.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/m7a3.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/m7a3.txt 2006-03-13 21:21:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/m7a3.txt 2006-10-22 11:24:40.000000000 +0900 @@ -1753,7 +1753,7 @@ Materials: 5 "olive" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1762,7 +1762,7 @@ ".\weapons1.bmp" "" "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1771,7 +1771,7 @@ ".\weapons1.bmp" "" "gradient" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1780,7 +1780,7 @@ ".\weapons1.bmp" "" "green" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1789,7 +1789,7 @@ ".\weapons1.bmp" "" "gradient" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/megamirv.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/megamirv.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/megamirv.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/megamirv.txt 2006-10-22 11:24:40.000000000 +0900 @@ -589,9 +589,9 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 -0.015686 0.635294 0.866667 1.000000 -1.000000 0.000000 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/moab.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/moab.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/moab.txt 2005-09-12 07:35:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/moab.txt 2006-10-22 11:24:40.000000000 +0900 @@ -703,9 +703,9 @@ Materials: 1 "moab" -0.193725 0.169412 0.188235 1.000000 -0.968628 0.847059 0.941176 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.500000 0.500000 0.500000 1.000000 0.000000 0.000000 0.000000 1.000000 0.128000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/redhornet_anim.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/redhornet_anim.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/redhornet_anim.txt 2006-06-26 11:36:38.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/redhornet_anim.txt 2006-10-22 11:24:40.000000000 +0900 @@ -7698,8 +7698,8 @@ Materials: 4 "yellow" -0.443137 0.443137 0.000000 1.000000 -0.435294 0.435294 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 0.666667 1.000000 0.000000 0.000000 0.000000 1.000000 21.000000 @@ -7707,8 +7707,8 @@ ".\weapons1.bmp" "" "red" -0.666667 0.000000 0.000000 1.000000 -0.509804 0.000000 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 0.243137 0.243137 1.000000 0.000000 0.000000 0.000000 1.000000 27.000000 @@ -7716,8 +7716,8 @@ ".\weapons1.bmp" "" "black" -0.384314 0.384314 0.384314 1.000000 -0.000000 0.000000 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.803922 0.803922 0.803922 1.000000 0.000000 0.000000 0.000000 1.000000 36.000000 @@ -7725,8 +7725,8 @@ ".\weapons1.bmp" "" "wings" -0.552941 0.552941 0.552941 0.310000 -0.000000 0.000000 0.000000 0.310000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.674510 0.674510 0.674510 0.310000 0.000000 0.000000 0.000000 0.310000 17.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/redhornet.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/redhornet.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/redhornet.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/redhornet.txt 2006-10-22 11:24:40.000000000 +0900 @@ -7783,8 +7783,8 @@ ".\weapons1.bmp" "" "red" -0.666667 0.000000 0.000000 1.000000 -0.509804 0.000000 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 0.243137 0.243137 1.000000 0.000000 0.000000 0.000000 1.000000 27.000000 @@ -7792,8 +7792,8 @@ ".\weapons1.bmp" "" "black" -0.384314 0.384314 0.384314 1.000000 -0.000000 0.000000 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.803922 0.803922 0.803922 1.000000 0.000000 0.000000 0.000000 1.000000 36.000000 @@ -7801,8 +7801,8 @@ ".\weapons1.bmp" "" "wings" -0.552941 0.552941 0.552941 0.310000 -0.000000 0.000000 0.000000 0.310000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.674510 0.674510 0.674510 0.310000 0.000000 0.000000 0.000000 0.310000 17.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/shockbomblet.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/shockbomblet.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/shockbomblet.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/shockbomblet.txt 2006-10-22 11:24:41.000000000 +0900 @@ -1121,8 +1121,8 @@ Materials: 2 "fuse" -0.200000 0.200000 0.200000 1.000000 -0.054902 0.145098 0.960784 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.850980 0.878431 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -1130,8 +1130,8 @@ ".\weapons1.bmp" "" "tips" -0.192157 0.243137 0.356863 1.000000 -0.235294 0.274510 0.317647 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.545098 0.580392 0.662745 1.000000 0.000000 0.000000 0.000000 1.000000 8.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/shockrocket.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/shockrocket.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/shockrocket.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/shockrocket.txt 2006-10-22 11:24:41.000000000 +0900 @@ -2205,8 +2205,8 @@ Materials: 6 "gradient" -0.301961 0.360784 0.392157 1.000000 -0.286275 0.286275 0.286275 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.843137 0.843137 0.843137 1.000000 0.000000 0.000000 0.000000 1.000000 25.000000 @@ -2214,8 +2214,8 @@ ".\weapons1.bmp" "" "white" -0.200000 0.200000 0.200000 1.000000 -0.541176 0.541176 0.541176 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.623529 0.623529 0.623529 1.000000 0.000000 0.000000 0.000000 1.000000 46.000000 @@ -2223,8 +2223,8 @@ ".\weapons1.bmp" "" "black" -0.486275 0.486275 0.486275 1.000000 -0.000000 0.000000 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 10.000000 @@ -2232,8 +2232,8 @@ ".\weapons1.bmp" "" "liquid" -0.200000 0.200000 0.200000 1.000000 -0.011765 0.376471 0.572549 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.792157 0.933333 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -2241,8 +2241,8 @@ ".\weapons1.bmp" "" "yellow" -0.839216 0.482353 0.086275 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 0.501961 1.000000 0.000000 0.000000 0.000000 1.000000 2.000000 @@ -2250,8 +2250,8 @@ ".\weapons1.bmp" "" "red" -0.996078 0.725490 0.160784 1.000000 -0.956863 0.043137 0.133333 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 0.988235 0.549020 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/shotgunshell.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/shotgunshell.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/shotgunshell.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/shotgunshell.txt 2006-10-22 11:24:41.000000000 +0900 @@ -235,8 +235,8 @@ Materials: 2 "shell" -0.200000 0.200000 0.200000 1.000000 -0.725490 0.725490 0.725490 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.937255 0.270588 0.286275 1.000000 0.000000 0.000000 0.000000 1.000000 17.000000 @@ -244,8 +244,8 @@ ".\weapons1.bmp" "" "shell-bottom" -0.615686 0.600000 0.250980 1.000000 -0.584314 0.533333 0.184314 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.592157 0.568627 0.250980 1.000000 0.000000 0.000000 0.000000 1.000000 8.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/tsarbomba.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/tsarbomba.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/tsarbomba.txt 2005-10-31 05:49:40.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/tsarbomba.txt 2006-10-22 11:24:41.000000000 +0900 @@ -1184,8 +1184,8 @@ Materials: 1 "weapons1" -0.192941 0.187451 0.191373 1.000000 -0.964706 0.937255 0.956863 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.128000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/wobblebomb.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/wobblebomb.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories/weapons/wobblebomb.txt 2005-08-28 02:45:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories/weapons/wobblebomb.txt 2006-10-22 11:24:41.000000000 +0900 @@ -830,8 +830,8 @@ Materials: 3 "black" -0.000000 0.000000 0.000000 1.000000 -0.435294 0.435294 0.435294 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.337255 0.333333 0.254902 1.000000 0.000000 0.000000 0.000000 1.000000 27.000000 @@ -839,8 +839,8 @@ ".\weapons1.bmp" "" "olive" -0.000000 0.000000 0.000000 1.000000 -0.537255 0.658824 0.317647 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.290196 0.537255 0.196078 1.000000 0.000000 0.000000 0.000000 1.000000 25.000000 @@ -848,8 +848,8 @@ ".\weapons1.bmp" "" "red" -0.235294 0.000000 0.000000 1.000000 -0.682353 0.000000 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 0.325490 0.325490 1.000000 0.000000 0.000000 0.000000 1.000000 34.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/accessories.xml 2006-07-12 09:17:13.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/accessories.xml 2006-10-22 11:24:38.000000000 +0900 @@ -47,7 +47,14 @@ battery/battery.wav 20 2000 - + + + 0.05 + + + + fuel + fuel Nitro @@ -58,9 +65,14 @@ battery/battery.wav 20 4000 - - 0.025 + + + 0.025 + + + fuel + fuel Light Armor @@ -71,7 +83,7 @@ shield/activate.wav 2 2000 - + 0.1 false @@ -94,7 +106,7 @@ shield/activate.wav 2 4000 - + 0.1 false @@ -109,6 +121,31 @@ + Mirror Shield + 10 + Completely protects against damage from +lasers but provides little protection from other damage. +Capacity: 5 dmg | Collision Damage: 5 dmg + mirror.bmp + shield/activate.wav + 2 + 4000 + + 4 + false + + 0 + 0 + 0.5 + + shield/hit.wav + 5 + 1.0 + 5 + true + + + Shield 8 A small defensive shield that protects @@ -117,8 +154,8 @@ shield.bmp shield/activate.wav 2 - 8000 - + 7000 + 3.0 false @@ -142,7 +179,7 @@ shield/activate.wav 2 12000 - + 4.5 false @@ -166,7 +203,7 @@ shield/activate.wav 1 12000 - + 6.0 false @@ -191,7 +228,7 @@ shield/activateforce.wav 2 8000 - + 1.0 3.0 false @@ -216,8 +253,8 @@ fshield.bmp shield/activateforce.wav 1 - 12000 - + 13000 + 1.25 6.0 false @@ -243,8 +280,8 @@ mag.bmp shield/activate.wav 2 - 8000 - + 6000 + 3.0 true 75 @@ -270,8 +307,8 @@ smag.bmp shield/activate.wav 1 - 12000 - + 10000 + 6.0 true 100 @@ -305,7 +342,7 @@ PowerUpShield 0 10 - + 2.0 false @@ -320,6 +357,41 @@ + Screams + 10 + 0 + + + 10 + + data/wav/misc/scream1.wav + 1.25 + + + + 10 + + data/wav/misc/scream2.wav + 1.25 + + + + 10 + + data/wav/misc/scream3.wav + 1.25 + + + + 10 + + data/wav/misc/scream4.wav + 1.25 + + + + + Small Bldg 10 0 @@ -452,39 +524,17 @@ - 10 - - data/wav/misc/scream1.wav - 1.25 + 30 + + Screams 10 - data/wav/misc/scream2.wav - 1.25 - - - - 10 - - data/wav/misc/scream3.wav - 1.25 - - - - 10 - - data/wav/misc/scream4.wav - 1.25 - - - - 10 - data/wav/explosions/small.wav - + @@ -522,39 +572,17 @@ - 10 - - data/wav/misc/scream1.wav - 1.25 + 30 + + Screams 10 - data/wav/misc/scream2.wav - 1.25 - - - - 10 - - data/wav/misc/scream3.wav - 1.25 - - - - 10 - - data/wav/misc/scream4.wav - 1.25 - - - - 10 - data/wav/explosions/small.wav - + @@ -759,71 +787,19 @@ LgBldgDebris - - - 10 - - 1 - 99 - 0 - 99 - - 0.8 - - none - - 0.8 - objects/cash.txt - - 5000 Dollars - 0.08 - objects/cash.txt - 50 - none - Parachute - GiveCash5000 - true - - - - - - - 10 - - 2 - 99 - 0 - 99 - - 0.8 - - none - - 0.8 - objects/cash.txt - - 5000 Dollars - 0.08 - objects/cash.txt - 50 - none - Parachute - GiveCash5000 - true - - - - - - - 10 - - 3 - 99 - 0 - 99 - + + 4 + 99 + 0 + 99 + + + 10 + + + + 10 + 0.8 none @@ -841,9 +817,9 @@ true - - - + + + data/wav/misc/screaming.wav @@ -993,7 +969,7 @@ none 1 none - gas00=5 + gas00-5 @@ -1002,91 +978,58 @@ Fallout Sparkles 2 0 - - - 10 - - - - 10 - - 1 - 0 - 0 - 0 - + + 3 + 0 + 0 + 0 + + + 10 + + + + 10 + 10 - 5 + 10 Fallout Sparkle - - - - - 10 - - 1 - 0 - 0 - 0 - - + 10 - 10 + 20 Fallout Sparkle - - - - - - 10 - - 1 - 0 - 0 - 0 - - + + 10 - 15 + 30 Fallout Sparkle - - - - - - 10 - - 1 - 0 - 0 - 0 - - + + 10 - 20 + 40 Fallout Sparkle - - - - + + + + @@ -1816,8 +1759,8 @@ 0.5 0.94 1 - 0 - 0 + 0.5 + 4 none @@ -1851,8 +1794,8 @@ magma.bmp - 0.0 - none + 0.5 + down 4 explosions/small.wav exp04 @@ -1864,11 +1807,245 @@ - BurstBolt + SpurtBlob 10 0 - - 12 + + 2.0 + 4.0 + 0.5 + 0 + none + 0.1 + + roller.ase + magma.bmp + + + + 0.5 + 0 + none + 0.1 + + roller.ase + magma.bmp + + + + + + + Flame Spurt + 10 + 0 + + 0 + + true + true + 90 + + + 0 + down + 3 + exp04 + 2.0 + explosions/gas.wav + + + 4 + 1.0 + + 2 + 3 + 0.15 + none + 4 + cloud00-5 + none + + + + 15 + 0.2 + + 001 + 110 + + 1 + + true + 0.8 + + + 10 + + false + true + 0 + 0 + + SpurtBlob + + + + + 10 + + false + true + 0 + 5 + + SpurtBlob + + + + + 10 + + false + true + 0 + 10 + + SpurtBlob + + + + + + + + + + data/wav/shoot/flare.wav + + + + + + + Satellite Crash + 10 + 0 + + 150 + + false + false + 33 + + + 1 + 0 + 0 + 0 + + false + false + 0 + 90 + + true + 0.6 + + 2.5 + 5.0 + 0.75 + 4.0 + objects/satellite.txt + 0.1 + + + 0 + down + 8 + none + exp00 + + + + + 2 + 4 + 0 + none + 6 + none + cloud00-5 + + + 4 + 0 + 0 + 0 + + + 10 + + false + false + 0 + 20 + + true + 0.3 + + 0.75 + none + 1.25 + pwrcrate/pwrcrate.txt + + + + 0 + none + 4 + cloud00-5 + none + + + Cargo + 0.06 + pwrcrate/pwrcrate.txt + 50 + none + Parachute + CargoItems + true + + + + + + + + 10 + + + + + + LgBldgDebris + + + + + + + + + + + + BurstBolt + 10 + 0 + + 12 1 12 4 @@ -2421,7 +2598,7 @@ 0.4 roller.ase - molten.bmp + magma.bmp 3.0 @@ -2955,10 +3132,20 @@ 2.0 + + 16 + 0.25 + + Fallout Sparkles + + + + + 2.0 data/wav/explosions/radiation.wav - + @@ -5256,25 +5443,29 @@ icbm/icbm.txt - - 12 - 20 - 50 - 10 - - none - - bomb/bomb.txt - - 2 - 1.0 - - down - 8 - explosions/large.wav - exp02 - - + + 6 + 0.05 + + 2 + 20 + 50 + 10 + + none + + bomb/bomb.txt + + 2 + 1.0 + + down + 8 + explosions/large.wav + exp02 + + + 2 @@ -5780,7 +5971,7 @@ roller.ase - molten.bmp + magma.bmp 0.1 3 @@ -6503,7 +6694,7 @@ shoot/launch.wav roller.ase - molten.bmp + magma.bmp 2.5 @@ -7600,7 +7791,7 @@ creating some small riot bombs. bdigger.bmp 2 - 2000 + 1000 shoot/flare.wav digger/digger.txt 0.5 @@ -7638,7 +7829,7 @@ creating some riot bombs. digger.bmp 2 - 4000 + 3000 shoot/flare.wav digger/digger.txt @@ -7887,7 +8078,7 @@ shoot/xlarge.wav roller.ase - molten.bmp + magma.bmp @@ -7903,7 +8094,7 @@ 2 roller.ase - molten.bmp + magma.bmp @@ -7918,7 +8109,7 @@ roller.ase - molten.bmp + magma.bmp @@ -8004,7 +8195,7 @@ shoot/xlarge.wav roller.ase - molten.bmp + magma.bmp @@ -8017,7 +8208,7 @@ 2 roller.ase - molten.bmp + magma.bmp @@ -8034,7 +8225,7 @@ roller.ase - molten.bmp + magma.bmp @@ -8109,7 +8300,7 @@ 2.0 roller.ase - molten.bmp + magma.bmp @@ -8132,7 +8323,7 @@ 4.0 roller.ase - molten.bmp + magma.bmp @@ -8170,7 +8361,7 @@ 2.5 roller.ase - molten.bmp + magma.bmp @@ -8193,7 +8384,7 @@ 4.0 roller.ase - molten.bmp + magma.bmp @@ -8231,7 +8422,7 @@ 3.0 roller.ase - molten.bmp + magma.bmp @@ -8254,7 +8445,7 @@ 4.0 roller.ase - molten.bmp + magma.bmp @@ -8399,7 +8590,7 @@ shoot/xlarge.wav roller.ase - molten.bmp + magma.bmp 200 @@ -8660,7 +8851,7 @@ shoot/xlarge.wav roller.ase - molten.bmp + magma.bmp 1 @@ -11751,47 +11942,167 @@ - Laser Cannon + CannonLaser 4 - 2 - laser.bmp - laser/laser.txt - Fires three laser blasts that cut through -hills and shields damaging tanks directly. -Note: More power = greater range but less damage -Less power = less range but more damage -Min Dmg = 75, Max Dmg = 150 - 12000 + 0 - - Laser - 4 + + 1 + 10 + 200 + 20 + 40 + 2 + + 1.0 + 0.0 + 0.0 + - - 0.5 - - false - false - 0 - 0.5 - - Laser - 4 - - + + data/wav/shoot/laser1.wav - - 1.0 - - false - false + + + + LaserSpread + 4 + 0 + + + + 10 + + CannonLaser + + + + 10 + + false + false + 0 + 0.5 + + CannonLaser + + + + + 10 + + false + false 0 -0.5 - Laser - 4 + CannonLaser + + + + + 10 + + false + false + 0.5 + 0 + + CannonLaser + + + + + 10 + + false + false + -0.5 + 0 + + CannonLaser + + + + + 10 + + false + false + 0.5 + 0.5 + + CannonLaser + + + + + 10 + + false + false + -0.5 + 0.5 + + CannonLaser + + + + + 10 + + false + false + 0.5 + -0.5 + + CannonLaser + + + + + 10 + + false + false + -0.5 + -0.5 + + CannonLaser + + + + + + Laser Cannon + 4 + 2 + laser.bmp + laser/laser.txt + Fires three laser blasts that cut through +hills and shields damaging tanks directly. +Note: More power = greater range but less damage +Less power = less range but more damage +Min Dmg = 75, Max Dmg = 150 + 12000 + + + + CannonLaser + 4 + + + 0.5 + + LaserSpread + + + + 1.0 + + LaserSpread @@ -12102,31 +12413,40 @@ Transporter 4 - A transporter fires a marker projectile -which you are teleported to after it lands. + The transporter can be used to teleport +yourself to any spot on the landscape. teleport.bmp misc/beamup.wav 1 16000 weapons/shockbomblet.txt - - 1.0 - weapons/shockbomblet.txt - - - - data/wav/misc/teleport.wav - 1.0 + + + + + 2.0 + + ExplosionRingRenderer + none + + - - 1.0 + + data/wav/misc/teleport.wav + 2.5 + + + 2.5 ExplosionRingRenderer none - - + + + + generic + weapon Unstable Portal @@ -12651,63 +12971,41 @@ explosions/small.wav cloud00-5 - - - 10 - - 1 - 99 - 0 - 99 - - 0.8 - - HospitalItems - - - - - - 10 - - 2 - 99 - 0 - 99 - - 0.8 - - HospitalItems - - - - - - 10 - - 3 - 99 - 0 - 99 - + + 3 + 99 + 0 + 99 + + + 10 + + + + 10 + 0.8 HospitalItems - - - + + + - + + 25 + false + + data/wav/misc/screaming.wav 1.25 - - - LgBldgDebris - - 2 + + LgBldgDebris + + 2 + @@ -12905,7 +13203,7 @@ 0.8 objects/9volt.txt - Small Battery + Batteries 0.08 objects/9volt.txt 50 @@ -13144,11 +13442,11 @@ none - 0.8 + 1.0 objects/parachute.txt Parachutes - 0.08 + 0.1 objects/parachute.txt 50 none @@ -13166,7 +13464,7 @@ 0.8 objects/9volt.txt - Small Battery + Batteries 0.08 objects/9volt.txt 50 @@ -13275,42 +13573,510 @@ - FactoryItems + Igloo + 10 0 - - - 10 - - none - - 1.5 - weapons/fusionbarrel.txt - - Acid Splash - 0.15 - weapons/fusionbarrel.txt - 50 - none - Parachute - GiveAcidSplash - true - - - - - 10 - - none - - 1.0 - weapons/m7a3.txt - - Gas Grenade - 0.15 - weapons/m7a3.txt - 50 - none - Parachute + + 0.1 + + + 0 + down + 5 + none + light00 + + + + + 2 + 4 + 0 + none + 6 + none + cloud00-5 + + + 6 + 0 + 0 + 0 + + false + false + 0 + 20 + + true + 0.25 + + + 1.0 + 1.5 + + 1.01.01.0 + + + 0.750.750.75 + + + 0.750.750.75 + + + 0.50.50.5 + + 0.25 + none + 0.5 + + roller.ase + white.bmp + + 2.0 + + + 0.25 + none + 4 + none + none + + + + + + + + 20 + + Screams + + + + 10 + + data/wav/explosions/acid.wav + + + + + 3 + 99 + 0 + 99 + + + 10 + + 0.8 + + Store1Items + + + + + 10 + + + + + + 2 + + + + + + Acid Pod + 8 + 0 + + 0.1 + + + 0 + down + 5 + explosions/gloop.wav + gas00-5 + + + Acid_Medium + + + 6 + 20 + 0 + 10 + + 3.0 + + 0.8 + + 0.25 + none + + 00.750 + + + 00.50 + + + 00.50 + + + 00.250 + + 0.5 + 1.0 + 0.5 + + roller.ase + green.bmp + + + Acid_Small + + + + + + + 3 + 99 + 0 + 99 + + + 20 + + + 10 + + none + + 1.0 + v2missile/v2missile.txt + + Missiles + 0.02 + v2missile/v2missile.txt + 50 + none + Parachute + GiveMissile + true + + + + + 10 + + none + + 0.6 + weapons/shotgunshell.txt + + Shotgun Shells + 0.08 + weapons/shotgunshell.txt + 50 + none + Parachute + GiveShotgun + true + + + + + 10 + + none + + 0.8 + weapons/grenade.txt + + Frag Grenades + 0.08 + weapons/grenade.txt + 50 + none + Parachute + GiveFragGrenade + true + + + + + 10 + + none + + 1.0 + weapons/shockbomblet.txt + + EMP Grenades + 0.06 + weapons/shockbomblet.txt + 50 + none + Parachute + GiveEMPGrenade + true + + + + + 10 + + none + + 1.0 + weapons/50cal.txt + + M2 Machinegun + 0.08 + weapons/50cal.txt + 50 + none + Parachute + GiveMachineGun + true + + + + + + + 10 + + 1.0 + + none + + 1.25 + pwrcrate/pwrcrate.txt + + Cargo + 0.06 + pwrcrate/pwrcrate.txt + 50 + none + Parachute + CargoItems + true + + + + + + 20 + + + + + + 2 + + + + + + Fleshy Pod + 8 + 0 + + 0.1 + + + 2 + 3 + 0 + down + 4 + explosions/gloop.wav + exp04 + + + + + 0.5 + none + 8 + none + none + + + 6 + 0 + 0 + 0 + + false + false + 0 + 20 + + true + 0.25 + + + 0.25 + none + + 0.7500 + + + 0.500 + + + 0.500 + + + 0.2500 + + 1.5 + 0.5 + + roller.ase + none + + 2.0 + + + + + + + 3 + 99 + 0 + 99 + + 0.8 + + + 15 + + HospitalItems + + + + 15 + + + 10 + + none + + 0.8 + objects/parachute.txt + + Parachutes + 0.08 + objects/parachute.txt + 50 + none + Parachute + GiveParachute + true + + + + + 10 + + none + + 0.8 + objects/9volt.txt + + Batteries + 0.08 + objects/9volt.txt + 50 + none + Parachute + GiveSmallBattery + true + + + + + + + 10 + + 1.0 + + none + + 1.25 + pwrcrate/pwrcrate.txt + + Cargo + 0.06 + pwrcrate/pwrcrate.txt + 50 + none + Parachute + CargoItems + true + + + + + + 10 + + + + + + + 2 + + + + + + FactoryItems + 0 + + + 10 + + none + + 1.5 + weapons/fusionbarrel.txt + + Acid Splash + 0.15 + weapons/fusionbarrel.txt + 50 + none + Parachute + GiveAcidSplash + true + + + + + 10 + + none + + 1.0 + weapons/m7a3.txt + + Gas Grenade + 0.15 + weapons/m7a3.txt + 50 + none + Parachute GiveGasGrenade true @@ -13501,6 +14267,19 @@ + DropParachute + 10 + misc/para.wav + true + + + 0 + 0 + -0.5 + + + + CargoDrop 10 0 @@ -13519,7 +14298,7 @@ pwrcrate/pwrcrate.txt 50 none - Parachute + DropParachute CargoItems true @@ -13561,7 +14340,7 @@ LgBldgDebris - 3 + 4 0 0 0 @@ -13852,9 +14631,50 @@ LgBldgDebris - - 2 + + 6 + 20 + 0 + 10 + + 2.0 + + 0.8 + + 0.25 + none + + 00.750 + + + 00.50 + + + 00.50 + + + 00.250 + + 0.5 + 1.0 + 0.5 + + roller.ase + green.bmp + + + Acid_Small + + + + + + Acid_Medium + + + 2 + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/boidscity.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/boidscity.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/boidscity.xml 2006-04-22 10:03:51.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/boidscity.xml 2006-09-14 12:48:55.000000000 +0900 @@ -2,7 +2,7 @@ 2 -100-10030 - 35535565 + 35535575 7.5 5.0 10.0 @@ -18,8 +18,8 @@ 1 - 15015020 - 30030060 + 15015030 + 30030070 3.0 2.0 7.0 @@ -36,7 +36,7 @@ 1 10010020 - 25525550 + 25525560 2.5 2.0 5.0 @@ -53,7 +53,7 @@ 1 10010010 - 25525550 + 25525560 2.5 2.0 4.0 @@ -66,10 +66,10 @@ data/wav/misc/apache_1.wav - + \ No newline at end of file diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/eventsatellitecrash.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/eventsatellitecrash.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/eventsatellitecrash.xml 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/eventsatellitecrash.xml 2006-10-23 01:01:24.000000000 +0900 @@ -0,0 +1,12 @@ + + + + 6.0 + 12.0 + false + + + Satellite Crash + + + \ No newline at end of file diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/eventscargodrop.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/eventscargodrop.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/eventscargodrop.xml 2006-07-03 16:16:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/eventscargodrop.xml 2006-07-24 10:58:42.000000000 +0900 @@ -1,8 +1,8 @@ - 5.0 - 15.0 + 4.0 + 12.0 false diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/eventsflamespurt.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/eventsflamespurt.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/eventsflamespurt.xml 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/eventsflamespurt.xml 2006-07-25 13:46:23.000000000 +0900 @@ -0,0 +1,12 @@ + + + + 2.0 + 4.0 + false + + + Flame Spurt + + + \ No newline at end of file diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placebuildings.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placebuildings.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placebuildings.xml 2006-07-05 10:52:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placebuildings.xml 2006-10-22 06:34:51.000000000 +0900 @@ -9,7 +9,8 @@ 0.75 0 0 - + + Stadium data/accessories/buildings/stadium.txt data/accessories/buildings/skyscraper1burnt.txt 90 @@ -17,6 +18,10 @@ LargeBldgBurn -1.0 5 + false + none + none + 100 data/landscapes/parking.bmp data/landscapes/parkinga.bmp @@ -34,20 +39,72 @@ 0.85 0 0 - - data/accessories/buildings/nuclearplant.txt - data/accessories/buildings/nuclearplant.txt - 90 - Nuclear Plant - Large Bldg - -1.0 - 15 - - data/landscapes/parking.bmp - data/landscapes/parkinga.bmp - true - - powerplants + + + + 0 + 0 + 0 + + + Nuclear Plant + data/accessories/buildings/nuclearplant.txt + data/accessories/buildings/nuclearplant.txt + 90 + Nuclear Plant + Large Bldg + -1.0 + 15 + false + none + none + 100 + + data/landscapes/parking.bmp + data/landscapes/parkinga.bmp + true + + powerplants + + + + + 5 + 5 + 0 + + + Soldier + data/accessories/people/male1_soldier.txt + data/accessories/people/male1_soldier.txt + 15 + none + none + 20 + Small Bldg + Small Bldg + false + + + + + -5 + -5 + 0 + + + Soldier + data/accessories/people/male1_soldier.txt + data/accessories/people/male1_soldier.txt + 15 + none + none + 20 + Small Bldg + Small Bldg + false + + @@ -59,7 +116,8 @@ 0.75 8 8 - + + Factory data/accessories/buildings/factory1.txt data/accessories/buildings/factory1burnt.txt 90 @@ -67,6 +125,10 @@ Factory Burn -1.0 10 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -84,14 +146,19 @@ 0.66 0 0 - + + Hospital data/accessories/buildings/hospital.txt data/accessories/buildings/hospital.txt 90 Hospital Large Bldg -1.0 - 5 + 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -109,7 +176,8 @@ 0.75 8 8 - + + Gas Station data/accessories/buildings/gasstation1.txt data/accessories/buildings/gasstation1burnt.txt 90 @@ -117,6 +185,10 @@ Large Bldg -1.0 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -134,14 +206,18 @@ 0.75 8 8 - + + Bar data/accessories/buildings/bar1.txt data/accessories/buildings/store1burnt.txt 90 Bar LargeBldgBurn - -1.0 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -159,14 +235,18 @@ 0.66 8 8 - + + Store data/accessories/buildings/store1.txt data/accessories/buildings/store1burnt.txt 90 Dollar Store SmallBldgBurn - -1.0 5 + false + none + none + 50 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -209,7 +289,8 @@ 0.75 0 0 - + + Farm data/accessories/buildings/farm1.txt data/accessories/buildings/farm1burnt.txt 30 @@ -217,6 +298,10 @@ FarmBurn -1.0 5 + false + none + none + 50 data/landscapes/farmland.bmp data/landscapes/farmlanda.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placecity1.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placecity1.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placecity1.xml 2006-07-09 10:04:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placecity1.xml 2006-10-22 06:34:52.000000000 +0900 @@ -10,13 +10,18 @@ - + + Skyscraper data/accessories/buildings/skyscraper1.txt data/accessories/buildings/skyscraper1burnt.txt 0.066 Skyscraper LargeBldgBurn -1.0 + false + none + none + 100 data/landscapes/roads1.bmp data/landscapes/roads1a.bmp @@ -26,13 +31,18 @@ - + + Skyscraper data/accessories/buildings/skyscraper2.txt data/accessories/buildings/skyscraper1burnt.txt 0.1 Skyscraper LargeBldgBurn -1.0 + false + none + none + 100 data/landscapes/roads1.bmp data/landscapes/roads1a.bmp @@ -42,13 +52,18 @@ - + + Skyscraper data/accessories/buildings/skyscraper3.txt data/accessories/buildings/skyscraper1burnt.txt 0.1 Skyscraper LargeBldgBurn -1.0 + false + none + none + 100 data/landscapes/roads1.bmp data/landscapes/roads1a.bmp @@ -74,12 +89,17 @@ 0 0 - + + Office data/accessories/buildings/office1.txt data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn + false + none + none + 75 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -94,12 +114,17 @@ 0 0 - + + Office data/accessories/buildings/office2.txt data/accessories/buildings/office2burnt.txt 90 Large Bldg LargeBldgBurn + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -114,12 +139,17 @@ 8 0 - + + Office data/accessories/buildings/office4.txt data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn + false + none + none + 75 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -134,12 +164,17 @@ -8 0 - + + Office data/accessories/buildings/office5.txt data/accessories/buildings/office2burnt.txt 90 - Hospital - Large Bldg + Large Bldg + LargeBldgBurn + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -159,7 +194,8 @@ 0.75 0 0 - + + Stadium data/accessories/buildings/stadium.txt data/accessories/buildings/skyscraper1burnt.txt 90 @@ -167,6 +203,10 @@ LargeBldgBurn -1.0 5 + false + none + none + 100 data/landscapes/parking.bmp data/landscapes/parkinga.bmp @@ -184,20 +224,72 @@ 0.85 0 0 - - data/accessories/buildings/nuclearplant.txt - data/accessories/buildings/nuclearplant.txt - 90 - Nuclear Plant - Large Bldg - -1.0 - 15 - - data/landscapes/parking.bmp - data/landscapes/parkinga.bmp - true - - powerplants + + + + 0 + 0 + 0 + + + Nuclear Plant + data/accessories/buildings/nuclearplant.txt + data/accessories/buildings/nuclearplant.txt + 90 + Nuclear Plant + Large Bldg + -1.0 + 15 + false + none + none + 100 + + data/landscapes/parking.bmp + data/landscapes/parkinga.bmp + true + + powerplants + + + + + 5 + 5 + 0 + + + Soldier + data/accessories/people/male1_soldier_standing.txt + data/accessories/people/male1_soldier_standing.txt + 15 + none + none + 20 + Small Bldg + Small Bldg + false + + + + + -5 + -5 + 0 + + + Soldier + data/accessories/people/male1_soldier_standing.txt + data/accessories/people/male1_soldier_standing.txt + 15 + none + none + 20 + Small Bldg + Small Bldg + false + + @@ -209,7 +301,8 @@ 0.66 8 8 - + + Hospital data/accessories/buildings/hospital.txt data/accessories/buildings/hospital.txt 90 @@ -217,6 +310,10 @@ Large Bldg -1.0 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -234,15 +331,19 @@ 0.66 8 8 - - data/accessories/buildings/office1.txt - data/accessories/buildings/office1burnt.txt + + Office + data/accessories/buildings/office1.txt + data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn - 2 - - data/landscapes/cars.bmp + false + none + none + 75 + + data/landscapes/cars2.bmp data/landscapes/carsa.bmp false @@ -258,13 +359,18 @@ 0.66 8 8 - + + Office data/accessories/buildings/office2.txt data/accessories/buildings/office2burnt.txt 90 Large Bldg LargeBldgBurn 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -282,13 +388,18 @@ 0.75 8 8 - + + Office data/accessories/buildings/office3.txt data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -306,13 +417,18 @@ 0.75 8 8 - + + Office data/accessories/buildings/office4.txt data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn 2 + false + none + none + 75 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -330,13 +446,18 @@ 0.75 8 8 - + + Office data/accessories/buildings/office5.txt data/accessories/buildings/office2burnt.txt 90 Large Bldg LargeBldgBurn 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -354,14 +475,19 @@ 0.66 0 0 - + + Hospital data/accessories/buildings/hospital.txt data/accessories/buildings/hospital.txt 90 Hospital Large Bldg -1.0 - 5 + 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -379,7 +505,8 @@ 0.75 8 8 - + + Gas Station data/accessories/buildings/gasstation1.txt data/accessories/buildings/gasstation1burnt.txt 90 @@ -387,6 +514,10 @@ Large Bldg -1.0 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -404,7 +535,8 @@ 0.75 0 0 - + + Gas Station data/accessories/buildings/gasstation1.txt data/accessories/buildings/gasstation1burnt.txt 90 @@ -412,6 +544,10 @@ Large Bldg -1.0 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -429,13 +565,18 @@ 0.75 8 8 - + + Bar data/accessories/buildings/bar1.txt data/accessories/buildings/store1burnt.txt 90 Bar LargeBldgBurn 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -453,13 +594,18 @@ 0.75 0 0 - + + Bar data/accessories/buildings/bar1.txt data/accessories/buildings/store1burnt.txt 90 Bar LargeBldgBurn 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -477,13 +623,18 @@ 0.66 8 8 - + + Store data/accessories/buildings/store1.txt data/accessories/buildings/store1burnt.txt 90 Dollar Store SmallBldgBurn 5 + false + none + none + 50 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -501,13 +652,18 @@ 0.66 0 0 - + + Store data/accessories/buildings/store1.txt data/accessories/buildings/store1burnt.txt 90 Dollar Store SmallBldgBurn 5 + false + none + none + 50 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -565,7 +721,8 @@ 0.75 0 0 - + + Farm data/accessories/buildings/farm1.txt data/accessories/buildings/farm1burnt.txt 30 @@ -573,6 +730,10 @@ FarmBurn -1.0 5 + false + none + none + 50 data/landscapes/farmland.bmp data/landscapes/farmlanda.bmp @@ -702,7 +863,8 @@ 0.75 8 8 - + + Factory data/accessories/buildings/factory1.txt data/accessories/buildings/factory1burnt.txt 90 @@ -710,6 +872,10 @@ Factory Burn -1.0 10 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -727,18 +893,23 @@ 0.75 0 0 - + + Factory data/accessories/buildings/factory1.txt data/accessories/buildings/factory1burnt.txt - 30 + 90 Factory Factory Burn -1.0 10 + false + none + none + 50 - data/landscapes/parking.bmp - data/landscapes/parkinga.bmp - true + data/landscapes/cars.bmp + data/landscapes/carsa.bmp + false factories diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placecity2.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placecity2.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placecity2.xml 2006-07-09 10:04:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placecity2.xml 2006-10-22 06:34:52.000000000 +0900 @@ -10,13 +10,18 @@ - + + Skyscraper data/accessories/buildings/skyscraper1.txt data/accessories/buildings/skyscraper1burnt.txt 0.066 Skyscraper LargeBldgBurn -1.0 + false + none + none + 100 data/landscapes/roads1.bmp data/landscapes/roads1a.bmp @@ -26,13 +31,18 @@ - + + Skyscraper data/accessories/buildings/skyscraper2.txt data/accessories/buildings/skyscraper1burnt.txt 0.1 Skyscraper LargeBldgBurn -1.0 + false + none + none + 100 data/landscapes/roads1.bmp data/landscapes/roads1a.bmp @@ -42,13 +52,18 @@ - + + Skyscraper data/accessories/buildings/skyscraper3.txt data/accessories/buildings/skyscraper1burnt.txt 0.1 Skyscraper LargeBldgBurn -1.0 + false + none + none + 100 data/landscapes/roads1.bmp data/landscapes/roads1a.bmp @@ -74,12 +89,17 @@ 0 0 - + + Office data/accessories/buildings/office1.txt data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn + false + none + none + 75 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -94,12 +114,17 @@ 0 0 - + + Office data/accessories/buildings/office2.txt data/accessories/buildings/office2burnt.txt 90 Large Bldg LargeBldgBurn + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -114,12 +139,17 @@ 8 0 - + + Office data/accessories/buildings/office4.txt data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn + false + none + none + 75 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -134,12 +164,17 @@ -8 0 - + + Office data/accessories/buildings/office5.txt data/accessories/buildings/office2burnt.txt 90 - Hospital - Large Bldg + Large Bldg + LargeBldgBurn + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -158,19 +193,72 @@ 0 - - data/accessories/buildings/nuclearplant.txt - data/accessories/buildings/nuclearplant.txt - 90 - Nuclear Plant - Large Bldg - -1.0 - - data/landscapes/parking.bmp - data/landscapes/parkinga.bmp - true - - powerplants + + + + 0 + 0 + 0 + + + Nuclear Plant + data/accessories/buildings/nuclearplant.txt + data/accessories/buildings/nuclearplant.txt + 90 + Nuclear Plant + Large Bldg + -1.0 + 15 + false + none + none + 100 + + data/landscapes/parking.bmp + data/landscapes/parkinga.bmp + true + + powerplants + + + + + 5 + 5 + 0 + + + Soldier + data/accessories/people/male1_soldier_standing.txt + data/accessories/people/male1_soldier_standing.txt + 15 + none + none + 20 + Small Bldg + Small Bldg + false + + + + + -5 + -5 + 0 + + + Soldier + data/accessories/people/male1_soldier.txt + data/accessories/people/male1_soldier.txt + 15 + none + none + 20 + Small Bldg + Small Bldg + false + + @@ -182,7 +270,8 @@ 0.75 0 0 - + + Stadium data/accessories/buildings/stadium.txt data/accessories/buildings/skyscraper1burnt.txt 90 @@ -190,6 +279,10 @@ LargeBldgBurn -1.0 5 + false + none + none + 100 data/landscapes/parking.bmp data/landscapes/parkinga.bmp @@ -207,20 +300,72 @@ 0.85 0 0 - - data/accessories/buildings/nuclearplant.txt - data/accessories/buildings/nuclearplant.txt - 90 - Nuclear Plant - Large Bldg - -1.0 - 15 - - data/landscapes/parking.bmp - data/landscapes/parkinga.bmp - true - - powerplants + + + + 0 + 0 + 0 + + + Nuclear Plant + data/accessories/buildings/nuclearplant.txt + data/accessories/buildings/nuclearplant.txt + 90 + Nuclear Plant + Large Bldg + -1.0 + 15 + false + none + none + 100 + + data/landscapes/parking.bmp + data/landscapes/parkinga.bmp + true + + powerplants + + + + + 5 + 5 + 0 + + + Soldier + data/accessories/people/male1_soldier_standing.txt + data/accessories/people/male1_soldier_standing.txt + 15 + none + none + 20 + Small Bldg + Small Bldg + false + + + + + -5 + -5 + 0 + + + Soldier + data/accessories/people/male1_soldier.txt + data/accessories/people/male1_soldier.txt + 15 + none + none + 20 + Small Bldg + Small Bldg + false + + @@ -232,7 +377,8 @@ 0.66 8 8 - + + Hospital data/accessories/buildings/hospital.txt data/accessories/buildings/hospital.txt 90 @@ -240,6 +386,10 @@ Large Bldg -1.0 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -257,15 +407,19 @@ 0.66 8 8 - - data/accessories/buildings/office1.txt - data/accessories/buildings/office1burnt.txt + + Office + data/accessories/buildings/office1.txt + data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn - 2 - - data/landscapes/cars.bmp + false + none + none + 75 + + data/landscapes/cars2.bmp data/landscapes/carsa.bmp false @@ -281,13 +435,18 @@ 0.66 8 8 - + + Office data/accessories/buildings/office2.txt data/accessories/buildings/office2burnt.txt 90 Large Bldg LargeBldgBurn 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -305,13 +464,18 @@ 0.75 8 8 - + + Office data/accessories/buildings/office3.txt data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -329,13 +493,18 @@ 0.75 8 8 - + + Office data/accessories/buildings/office4.txt data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn 2 + false + none + none + 75 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -353,13 +522,18 @@ 0.75 8 8 - + + Office data/accessories/buildings/office5.txt data/accessories/buildings/office2burnt.txt 90 Large Bldg LargeBldgBurn 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -377,14 +551,19 @@ 0.66 0 0 - + + Hospital data/accessories/buildings/hospital.txt data/accessories/buildings/hospital.txt 90 Hospital Large Bldg -1.0 - 5 + 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -402,7 +581,8 @@ 0.75 8 8 - + + Gas Station data/accessories/buildings/gasstation1.txt data/accessories/buildings/gasstation1burnt.txt 90 @@ -410,6 +590,10 @@ Large Bldg -1.0 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -427,7 +611,8 @@ 0.75 0 0 - + + Gas Station data/accessories/buildings/gasstation1.txt data/accessories/buildings/gasstation1burnt.txt 90 @@ -435,6 +620,10 @@ Large Bldg -1.0 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -452,13 +641,18 @@ 0.75 8 8 - + + Bar data/accessories/buildings/bar1.txt data/accessories/buildings/store1burnt.txt 90 Bar LargeBldgBurn 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -476,13 +670,18 @@ 0.75 0 0 - + + Bar data/accessories/buildings/bar1.txt data/accessories/buildings/store1burnt.txt 90 Bar LargeBldgBurn 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -500,13 +699,18 @@ 0.66 8 8 - + + Store data/accessories/buildings/store1.txt data/accessories/buildings/store1burnt.txt 90 Dollar Store SmallBldgBurn 5 + false + none + none + 50 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -524,13 +728,18 @@ 0.66 0 0 - + + Store data/accessories/buildings/store1.txt data/accessories/buildings/store1burnt.txt 90 Dollar Store SmallBldgBurn 5 + false + none + none + 50 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -588,7 +797,8 @@ 0.75 0 0 - + + Farm data/accessories/buildings/farm1.txt data/accessories/buildings/farm1burnt.txt 30 @@ -596,6 +806,10 @@ FarmBurn -1.0 5 + false + none + none + 50 data/landscapes/farmland.bmp data/landscapes/farmlanda.bmp @@ -725,7 +939,8 @@ 0.75 8 8 - + + Factory data/accessories/buildings/factory1.txt data/accessories/buildings/factory1burnt.txt 90 @@ -733,6 +948,10 @@ Factory Burn -1.0 10 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -750,18 +969,23 @@ 0.75 0 0 - + + Factory data/accessories/buildings/factory1.txt data/accessories/buildings/factory1burnt.txt - 30 + 90 Factory Factory Burn -1.0 10 + false + none + none + 50 - data/landscapes/parking.bmp - data/landscapes/parkinga.bmp - true + data/landscapes/cars.bmp + data/landscapes/carsa.bmp + false factories diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placecity3.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placecity3.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placecity3.xml 2006-07-09 10:04:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placecity3.xml 2006-10-22 06:34:52.000000000 +0900 @@ -10,13 +10,18 @@ - + + Skyscraper data/accessories/buildings/skyscraper1.txt data/accessories/buildings/skyscraper1burnt.txt 0.066 Skyscraper LargeBldgBurn -1.0 + false + none + none + 100 data/landscapes/roads1.bmp data/landscapes/roads1a.bmp @@ -26,13 +31,18 @@ - + + Skyscraper data/accessories/buildings/skyscraper2.txt data/accessories/buildings/skyscraper1burnt.txt 0.1 Skyscraper LargeBldgBurn -1.0 + false + none + none + 100 data/landscapes/roads1.bmp data/landscapes/roads1a.bmp @@ -42,13 +52,18 @@ - + + Skyscraper data/accessories/buildings/skyscraper3.txt data/accessories/buildings/skyscraper1burnt.txt 0.1 Skyscraper LargeBldgBurn -1.0 + false + none + none + 100 data/landscapes/roads1.bmp data/landscapes/roads1a.bmp @@ -74,12 +89,17 @@ 0 0 - + + Office data/accessories/buildings/office1.txt data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn + false + none + none + 75 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -94,12 +114,17 @@ 0 0 - + + Office data/accessories/buildings/office2.txt data/accessories/buildings/office2burnt.txt 90 Large Bldg LargeBldgBurn + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -114,12 +139,17 @@ 8 0 - + + Office data/accessories/buildings/office4.txt data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn + false + none + none + 75 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -134,12 +164,17 @@ -8 0 - + + Office data/accessories/buildings/office5.txt data/accessories/buildings/office2burnt.txt 90 Large Bldg LargeBldgBurn + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -159,7 +194,8 @@ 0.75 0 0 - + + Stadium data/accessories/buildings/stadium.txt data/accessories/buildings/skyscraper1burnt.txt 90 @@ -167,6 +203,10 @@ LargeBldgBurn -1.0 5 + false + none + none + 100 data/landscapes/parking.bmp data/landscapes/parkinga.bmp @@ -184,20 +224,72 @@ 0.85 0 0 - - data/accessories/buildings/nuclearplant.txt - data/accessories/buildings/nuclearplant.txt - 90 - Nuclear Plant - Large Bldg - -1.0 - 15 - - data/landscapes/parking.bmp - data/landscapes/parkinga.bmp - true - - powerplants + + + + 0 + 0 + 0 + + + Nuclear Plant + data/accessories/buildings/nuclearplant.txt + data/accessories/buildings/nuclearplant.txt + 90 + Nuclear Plant + Large Bldg + -1.0 + 15 + false + none + none + 100 + + data/landscapes/parking.bmp + data/landscapes/parkinga.bmp + true + + powerplants + + + + + 5 + 5 + 0 + + + Soldier + data/accessories/people/male1_soldier_standing.txt + data/accessories/people/male1_soldier_standing.txt + 15 + none + none + 20 + Small Bldg + Small Bldg + false + + + + + -5 + -5 + 0 + + + Soldier + data/accessories/people/male1_soldier_standing.txt + data/accessories/people/male1_soldier_standing.txt + 15 + none + none + 20 + Small Bldg + Small Bldg + false + + @@ -209,7 +301,8 @@ 0.66 8 8 - + + Hospital data/accessories/buildings/hospital.txt data/accessories/buildings/hospital.txt 90 @@ -217,6 +310,10 @@ Large Bldg -1.0 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -234,15 +331,19 @@ 0.66 8 8 - - data/accessories/buildings/office1.txt - data/accessories/buildings/office1burnt.txt + + Office + data/accessories/buildings/office1.txt + data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn - 2 - - data/landscapes/cars.bmp + false + none + none + 75 + + data/landscapes/cars2.bmp data/landscapes/carsa.bmp false @@ -258,13 +359,18 @@ 0.66 8 8 - + + Office data/accessories/buildings/office2.txt data/accessories/buildings/office2burnt.txt 90 Large Bldg LargeBldgBurn 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -282,13 +388,18 @@ 0.75 8 8 - + + Office data/accessories/buildings/office3.txt data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -306,13 +417,18 @@ 0.75 8 8 - + + Office data/accessories/buildings/office4.txt data/accessories/buildings/office1burnt.txt 90 Large Bldg LargeBldgBurn 2 + false + none + none + 75 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -330,13 +446,18 @@ 0.75 8 8 - + + Office data/accessories/buildings/office5.txt data/accessories/buildings/office2burnt.txt 90 Large Bldg LargeBldgBurn 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -354,14 +475,19 @@ 0.66 0 0 - + + Hospital data/accessories/buildings/hospital.txt data/accessories/buildings/hospital.txt 90 Hospital Large Bldg -1.0 - 5 + 2 + false + none + none + 75 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -379,7 +505,8 @@ 0.75 8 8 - + + Gas Station data/accessories/buildings/gasstation1.txt data/accessories/buildings/gasstation1burnt.txt 90 @@ -387,6 +514,10 @@ Large Bldg -1.0 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -404,7 +535,8 @@ 0.75 0 0 - + + Gas Station data/accessories/buildings/gasstation1.txt data/accessories/buildings/gasstation1burnt.txt 90 @@ -412,6 +544,10 @@ Large Bldg -1.0 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -429,13 +565,18 @@ 0.75 8 8 - + + Bar data/accessories/buildings/bar1.txt data/accessories/buildings/store1burnt.txt 90 Bar LargeBldgBurn 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -453,13 +594,18 @@ 0.75 0 0 - + + Bar data/accessories/buildings/bar1.txt data/accessories/buildings/store1burnt.txt 90 Bar LargeBldgBurn 5 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -477,13 +623,18 @@ 0.66 8 8 - + + Store data/accessories/buildings/store1.txt data/accessories/buildings/store1burnt.txt 90 Dollar Store SmallBldgBurn 5 + false + none + none + 50 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -501,13 +652,18 @@ 0.66 0 0 - + + Store data/accessories/buildings/store1.txt data/accessories/buildings/store1burnt.txt 90 Dollar Store SmallBldgBurn 5 + false + none + none + 50 data/landscapes/cars2.bmp data/landscapes/carsa.bmp @@ -565,13 +721,19 @@ 0.75 0 0 - + + Farm data/accessories/buildings/farm1.txt data/accessories/buildings/farm1burnt.txt 30 Farm FarmBurn + -1.0 5 + false + none + none + 50 data/landscapes/farmland.bmp data/landscapes/farmlanda.bmp @@ -701,7 +863,8 @@ 0.75 8 8 - + + Factory data/accessories/buildings/factory1.txt data/accessories/buildings/factory1burnt.txt 90 @@ -709,6 +872,10 @@ Factory Burn -1.0 10 + false + none + none + 50 data/landscapes/cars.bmp data/landscapes/carsa.bmp @@ -726,18 +893,23 @@ 0.75 0 0 - + + Factory data/accessories/buildings/factory1.txt data/accessories/buildings/factory1burnt.txt - 30 + 90 Factory Factory Burn -1.0 10 + false + none + none + 50 - data/landscapes/parking.bmp - data/landscapes/parkinga.bmp - true + data/landscapes/cars.bmp + data/landscapes/carsa.bmp + false factories diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placecityport.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placecityport.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placecityport.xml 2006-07-05 10:52:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placecityport.xml 2006-10-22 06:34:52.000000000 +0900 @@ -10,13 +10,13 @@ City Port - data/accessories/buildings/mainport.txt + data/accessories/buildings/mainport_anim.txt data/accessories/buildings/mainport.txt 90 0.075 none none - 50 + 100 City Port Large Bldg false diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placefleshpods.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placefleshpods.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placefleshpods.xml 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placefleshpods.xml 2006-08-03 12:52:01.000000000 +0900 @@ -0,0 +1,72 @@ + + + + 20 + data/landscapes/masks/anywhere.bmp + 10 + 100 + 10 + 0.5 + 0 + 0 + + Fleshy Pod + data/accessories/objects/fleshpod.txt + data/accessories/objects/fleshpod.txt + 0.4 + Fleshy Pod + Small Bldg + true + 50 + none + none + -1.0 + 10 + + + + + 20 + data/landscapes/masks/anywhere.bmp + 10 + 100 + 10 + 0.5 + 0 + 0 + + Acidic Pod + data/accessories/objects/acidpod.txt + data/accessories/objects/acidpod.txt + 0.4 + Acid Pod + Small Bldg + true + 50 + none + none + -1.0 + 10 + + + + + \ No newline at end of file diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placeigloo.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placeigloo.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/placeigloo.xml 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/placeigloo.xml 2006-08-13 13:32:53.000000000 +0900 @@ -0,0 +1,40 @@ + + + + 20 + data/landscapes/masks/anywhere.bmp + 10 + 100 + 5 + 0.5 + 0 + 0 + + + Igloo + data/accessories/buildings/igloo.txt + data/accessories/buildings/igloo.txt + 0.125 + 15 + none + none + 50 + Igloo + Large Bldg + -1.0 + 10 + false + + + + \ No newline at end of file diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texarizona_bldg.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texarizona_bldg.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texarizona_bldg.xml 2006-07-03 16:16:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texarizona_bldg.xml 2006-10-28 15:41:51.000000000 +0900 @@ -12,7 +12,7 @@ 110 15 0.30.30.3 - 0.70.70.7 + 0.80.80.8 0.40.40.4 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texasianspring_bldg.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texasianspring_bldg.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texasianspring_bldg.xml 2006-07-03 16:16:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texasianspring_bldg.xml 2006-10-28 15:41:51.000000000 +0900 @@ -11,8 +11,8 @@ 8 110 15 - 0.30.280.28 - 0.70.720.72 + 0.30.30.3 + 0.80.80.8 0.40.40.4 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcastle_bldg.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcastle_bldg.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcastle_bldg.xml 2006-07-03 16:16:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcastle_bldg.xml 2006-10-28 15:41:51.000000000 +0900 @@ -12,7 +12,7 @@ 110 15 0.30.30.3 - 0.70.70.7 + 0.80.80.8 0.40.40.4 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texchina_bldg.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texchina_bldg.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texchina_bldg.xml 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texchina_bldg.xml 2006-10-28 15:41:51.000000000 +0900 @@ -0,0 +1,58 @@ + + data/textures/landscape/china/detail.bmp + data/textures/landscape/default/magma-small.bmp + data/textures/landscape/china/scorch.bmp + 0.60.60.6 + 0.001 + 0.0 + data/textures/landscape/storm/cloud1.bmp + data/textures/landscape/default/cloud1m.bmp + data/textures/clearsky.bmp + 8 + 110 + 15 + 0.250.250.25 + 0.60.60.6 + 0.40.40.4 + data/textures/glow1.bmp + + data/textures/landscape/china/cubemap.bmp + data/textures/landscape/china/water.bmp + 1.01.01.0 + data/textures/waves.bmp + data/textures/waves.bmp + 5.0 + + + data/textures/landscape/china/rockside.bmp + data/textures/landscape/china/shore.bmp + data/textures/landscape/china/texture0.bmp + data/textures/landscape/china/texture2.bmp + data/textures/landscape/china/texture0.bmp + data/textures/landscape/china/texture1.bmp + data/textures/landscape/china/texture2.bmp + data/textures/landscape/china/texture3.bmp + data/textures/landscape/china/texture4.bmp + + + data/landscapes/ambientsoundwaves.xml + data/landscapes/ambientsoundrain.xml + data/landscapes/ambientsoundbuildings.xml + + + data/landscapes/shipsdestroyer2.xml + + + data/landscapes/boidsah64.xml + + + data/landscapes/placeoak.xml + data/landscapes/placebuildings.xml + + + 30 + + + data/landscapes/eventscargodrop.xml + + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity1_storm.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity1_storm.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity1_storm.xml 2006-07-03 16:16:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity1_storm.xml 2006-10-28 15:41:51.000000000 +0900 @@ -10,7 +10,7 @@ 110 15 0.20.20.2 - 0.40.40.4 + 0.60.60.6 0.50.50.5 0.001 1.01.01.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity1_summer.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity1_summer.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity1_summer.xml 2006-07-03 16:16:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity1_summer.xml 2006-10-28 15:41:51.000000000 +0900 @@ -10,7 +10,7 @@ 110 15 0.30.30.3 - 0.70.70.7 + 0.80.80.8 0.80.80.8 0.001 1.01.01.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity1_winter.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity1_winter.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity1_winter.xml 2006-07-03 16:16:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity1_winter.xml 2006-10-28 15:41:51.000000000 +0900 @@ -10,7 +10,7 @@ 110 15 0.30.30.3 - 0.70.70.7 + 0.80.80.8 0.80.80.8 0.001 1.01.01.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity2_storm.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity2_storm.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity2_storm.xml 2006-07-03 16:16:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity2_storm.xml 2006-10-28 15:41:51.000000000 +0900 @@ -10,7 +10,7 @@ 110 15 0.20.20.2 - 0.40.40.4 + 0.60.60.6 0.50.50.5 0.001 1.01.01.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity2_summer.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity2_summer.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity2_summer.xml 2006-07-03 16:16:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity2_summer.xml 2006-10-28 15:41:51.000000000 +0900 @@ -10,7 +10,7 @@ 110 15 0.30.30.3 - 0.70.70.7 + 0.80.80.8 0.80.80.8 0.001 1.01.01.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity2_winter.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity2_winter.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity2_winter.xml 2006-07-03 16:16:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity2_winter.xml 2006-10-28 15:41:51.000000000 +0900 @@ -10,7 +10,7 @@ 110 15 0.30.30.3 - 0.70.70.7 + 0.80.80.8 0.80.80.8 0.001 1.01.01.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity3_storm.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity3_storm.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity3_storm.xml 2006-07-03 16:16:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity3_storm.xml 2006-10-28 15:41:51.000000000 +0900 @@ -10,7 +10,7 @@ 110 15 0.20.20.2 - 0.40.40.4 + 0.60.60.6 0.50.50.5 0.001 1.01.01.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity3_summer.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity3_summer.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity3_summer.xml 2006-07-03 16:16:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity3_summer.xml 2006-10-28 15:41:51.000000000 +0900 @@ -10,7 +10,7 @@ 110 15 0.30.30.3 - 0.70.70.7 + 0.80.80.8 0.80.80.8 0.001 1.01.01.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity3_winter.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity3_winter.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texcity3_winter.xml 2006-07-03 16:16:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texcity3_winter.xml 2006-10-28 15:41:51.000000000 +0900 @@ -10,7 +10,7 @@ 110 15 0.30.30.3 - 0.70.70.7 + 0.80.80.8 0.80.80.8 0.001 1.01.01.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texdefault_bldg.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texdefault_bldg.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texdefault_bldg.xml 2006-07-03 16:16:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texdefault_bldg.xml 2006-10-28 15:41:51.000000000 +0900 @@ -10,7 +10,7 @@ 45 15 0.30.30.3 - 0.70.70.7 + 0.80.80.8 0.80.80.9 1.01.01.0 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texdenali_bldg.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texdenali_bldg.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texdenali_bldg.xml 2006-07-03 16:16:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texdenali_bldg.xml 2006-10-28 15:41:51.000000000 +0900 @@ -12,7 +12,7 @@ 110 15 0.30.30.3 - 0.70.70.7 + 0.80.80.8 0.40.40.4 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texdesert.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texdesert.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texdesert.xml 2006-07-03 16:16:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texdesert.xml 2006-10-01 07:28:04.000000000 +0900 @@ -9,8 +9,8 @@ 3 110 25 - 0.30.30.3 - 0.70.70.7 + 0.40.40.4 + 0.80.80.8 0.80.80.8 0.001 1.01.01.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texhell.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texhell.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texhell.xml 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texhell.xml 2006-07-25 13:46:23.000000000 +0900 @@ -0,0 +1,44 @@ + + data/textures/landscape/default/detail.bmp + data/textures/landscape/default/magma-small.bmp + data/textures/landscape/hell/scorch.bmp + 0.0 + data/textures/landscape/hell/cloud1.bmp + data/textures/landscape/default/cloud1m.bmp + data/textures/clearsky.bmp + 3 + 110 + 15 + 0.50.50.5 + 0.50.50.5 + 1.01.01.0 + data/textures/glow1.bmp + 0.80.10.1 + 0.001 + + data/textures/landscape/hell/cubemap.bmp + data/textures/landscape/default/water.bmp + 1.00.30.3 + data/textures/waves.bmp + data/textures/waves.bmp + 5.0 + + + data/textures/landscape/hell/rockside.bmp + data/textures/landscape/hell/shore.bmp + data/textures/landscape/hell/texture0.bmp + data/textures/landscape/hell/texture2.bmp + data/textures/landscape/hell/texture0.bmp + data/textures/landscape/hell/texture1.bmp + data/textures/landscape/hell/texture2.bmp + data/textures/landscape/hell/texture3.bmp + data/textures/landscape/hell/texture4.bmp + + + data/landscapes/eventsmeteor.xml + data/landscapes/eventsflamespurt.xml + + + data/landscapes/placefleshpods.xml + + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texice_bldg.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texice_bldg.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texice_bldg.xml 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texice_bldg.xml 2006-07-25 06:41:48.000000000 +0900 @@ -0,0 +1,50 @@ + + data/textures/landscape/ice/detail.bmp + data/textures/landscape/default/magma-small.bmp + data/textures/landscape/ice/scorch.bmp + 0.60.770.8 + 0.001 + 0.0 + data/textures/landscape/ice/cloud1.bmp + data/textures/landscape/default/cloud1m.bmp + data/textures/clearsky.bmp + 3 + 110 + 15 + 0.350.390.4 + 0.350.390.4 + 0.40.40.4 + data/textures/glow1.bmp + + data/textures/landscape/ice/cubemap.bmp + data/textures/landscape/default/water.bmp + 1.01.01.0 + data/textures/waves.bmp + data/textures/waves.bmp + 5.0 + + + data/textures/landscape/ice/rockside.bmp + data/textures/landscape/ice/shore.bmp + data/textures/landscape/ice/texture0.bmp + data/textures/landscape/ice/texture2.bmp + data/textures/landscape/ice/texture0.bmp + data/textures/landscape/ice/texture1.bmp + data/textures/landscape/ice/texture2.bmp + data/textures/landscape/ice/texture3.bmp + data/textures/landscape/ice/texture4.bmp + + + data/landscapes/ambientsoundwaves.xml + + + data/landscapes/boidsf16.xml + + + data/landscapes/placeigloo.xml + data/landscapes/placepingu.xml + + + data/landscapes/eventscargodrop.xml + + \ No newline at end of file diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texice.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texice.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texice.xml 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texice.xml 2006-08-03 12:52:01.000000000 +0900 @@ -0,0 +1,47 @@ + + data/textures/landscape/ice/detail.bmp + data/textures/landscape/default/magma-small.bmp + data/textures/landscape/ice/scorch.bmp + 0.60.770.8 + 0.001 + 0.0 + data/textures/landscape/ice/cloud1.bmp + data/textures/landscape/default/cloud1m.bmp + data/textures/clearsky.bmp + 3 + 110 + 15 + 0.350.390.4 + 0.350.390.4 + 0.40.40.4 + data/textures/glow1.bmp + + data/textures/landscape/ice/cubemap.bmp + data/textures/landscape/default/water.bmp + 1.01.01.0 + data/textures/waves.bmp + data/textures/waves.bmp + 5.0 + + + data/textures/landscape/ice/rockside.bmp + data/textures/landscape/ice/shore.bmp + data/textures/landscape/ice/texture0.bmp + data/textures/landscape/ice/texture2.bmp + data/textures/landscape/ice/texture0.bmp + data/textures/landscape/ice/texture1.bmp + data/textures/landscape/ice/texture2.bmp + data/textures/landscape/ice/texture3.bmp + data/textures/landscape/ice/texture4.bmp + + + data/landscapes/ambientsoundwaves.xml + + + data/landscapes/boidsf16.xml + + + data/landscapes/placeigloo.xml + data/landscapes/placepingu.xml + + \ No newline at end of file diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texmoon.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texmoon.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texmoon.xml 2006-04-05 09:53:25.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texmoon.xml 2006-10-22 11:24:41.000000000 +0900 @@ -34,5 +34,6 @@ data/landscapes/eventsmeteor.xml + data/landscapes/eventsatellitecrash.xml diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texsand_bldg.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texsand_bldg.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texsand_bldg.xml 2006-07-03 16:16:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texsand_bldg.xml 2006-10-01 07:28:04.000000000 +0900 @@ -9,7 +9,7 @@ 3 110 45 - 0.20.20.2 + 0.40.40.4 0.80.80.8 1.01.01.0 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texstorm_bldg.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texstorm_bldg.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texstorm_bldg.xml 2006-07-03 16:16:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texstorm_bldg.xml 2006-10-28 15:41:51.000000000 +0900 @@ -9,8 +9,8 @@ 12 110 15 - 0.20.20.2 - 0.20.20.2 + 0.30.30.3 + 0.40.40.4 0.80.80.8 data/textures/glow1.bmp 0.50.50.5 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/textropical_bldg.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/textropical_bldg.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/textropical_bldg.xml 2006-07-03 16:16:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/textropical_bldg.xml 2006-10-28 15:41:51.000000000 +0900 @@ -9,8 +9,8 @@ 14 110 15 - 0.20.20.2 - 0.80.80.8 + 0.250.250.25 + 0.70.70.7 1.00.00.0 data/textures/glow1.bmp 0.80.80.8 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/textuscan_bldg.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/textuscan_bldg.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/textuscan_bldg.xml 2006-07-03 16:16:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/textuscan_bldg.xml 2006-10-28 15:41:51.000000000 +0900 @@ -12,7 +12,7 @@ 110 15 0.30.30.3 - 0.70.70.7 + 0.80.80.8 0.80.70.5 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texusa_summer.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texusa_summer.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texusa_summer.xml 2006-05-28 07:41:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texusa_summer.xml 2006-10-28 15:41:51.000000000 +0900 @@ -9,7 +9,7 @@ 3 110 45 - 0.20.20.2 + 0.30.30.3 0.80.80.8 0.80.80.8 0.001 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texvulcano_bldg.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texvulcano_bldg.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes/texvulcano_bldg.xml 2006-07-03 16:16:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes/texvulcano_bldg.xml 2006-10-28 15:41:51.000000000 +0900 @@ -10,7 +10,7 @@ 110 15 0.30.30.3 - 0.70.70.7 + 0.80.80.8 1.01.01.0 data/textures/glow1.bmp 0.80.80.8 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/landscapes.xml 2006-07-04 12:15:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/landscapes.xml 2006-07-25 13:46:23.000000000 +0900 @@ -11,16 +11,16 @@ data/landscapes/texdefault_bldg.xml - data/landscapes/texhell.xml data/landscapes/texsand_bldg.xml data/landscapes/texsnow_bldg.xml data/landscapes/textropical_bldg.xml data/landscapes/texvulcano_bldg.xml data/landscapes/texstorm_bldg.xml data/landscapes/texnight_bldg.xml - data/landscapes/texsahara.xml - data/landscapes/texmoon.xml + data/landscapes/texice_bldg.xml data/landscapes/texdesert.xml + data/landscapes/texmoon.xml + data/landscapes/texhell.xml @@ -39,8 +39,10 @@ data/landscapes/texcastle_bldg.xml data/landscapes/texasianspring_bldg.xml data/landscapes/texdenali_bldg.xml + data/landscapes/texice_bldg.xml data/landscapes/texmoon.xml data/landscapes/texdesert.xml + data/landscapes/texhell.xml @@ -57,8 +59,10 @@ data/landscapes/texstorm_bldg.xml data/landscapes/texsand_bldg.xml data/landscapes/textropical_bldg.xml + data/landscapes/texice_bldg.xml data/landscapes/texmoon.xml data/landscapes/texdesert.xml + data/landscapes/texhell.xml @@ -70,14 +74,15 @@ data/landscapes/defnislands.xml - data/landscapes/texdefault.xml - data/landscapes/texsand.xml - data/landscapes/textropical.xml - data/landscapes/texvulcano.xml - data/landscapes/texstorm.xml + data/landscapes/texdefault_bldg.xml + data/landscapes/texsand_bldg.xml + data/landscapes/textropical_bldg.xml + data/landscapes/texvulcano_bldg.xml + data/landscapes/texstorm_bldg.xml + data/landscapes/texice_bldg.xml data/landscapes/texmoon.xml data/landscapes/texdesert.xml - data/landscapes/texice.xml + data/landscapes/texhell.xml @@ -91,12 +96,15 @@ data/landscapes/texdefault_bldg.xml data/landscapes/texnight_bldg.xml - data/landscapes/texhell.xml data/landscapes/texsand_bldg.xml data/landscapes/texsnow_bldg.xml data/landscapes/textropical_bldg.xml data/landscapes/texvulcano_bldg.xml data/landscapes/texstorm_bldg.xml + data/landscapes/texice_bldg.xml + data/landscapes/texdesert.xml + data/landscapes/texmoon.xml + data/landscapes/texhell.xml @@ -109,13 +117,14 @@ data/landscapes/texdefault_bldg.xml - data/landscapes/texhell.xml data/landscapes/texsand_bldg.xml data/landscapes/texsnow_bldg.xml data/landscapes/textropical_bldg.xml data/landscapes/texstorm_bldg.xml + data/landscapes/texice_bldg.xml data/landscapes/texmoon.xml data/landscapes/texdesert.xml + data/landscapes/texhell.xml @@ -129,7 +138,8 @@ data/landscapes/texcavern.xml data/landscapes/texice.xml - data/landscapes/texplage.xml + data/landscapes/texplage.xml + data/landscapes/texhell.xml @@ -153,7 +163,7 @@ data/landscapes/defnspike.xml - data/landscapes/texchina.xml + data/landscapes/texchina_bldg.xml @@ -213,7 +223,7 @@ data/landscapes/defnicebergs2.xml - data/landscapes/texice.xml + data/landscapes/texice.xml + + @@ -215,12 +221,6 @@ MaxClimbingDistance 8 - - - + + + @@ -327,7 +333,7 @@ @@ -347,41 +353,53 @@ CycleMaps off - - + + + + + - - + + + + + - - + + - - + + - - + + - - + + @@ -389,6 +407,12 @@ ModDownloadSpeed 10000 + + + @@ -455,7 +479,7 @@ @@ -463,6 +487,18 @@ GiveAllWeapons off + + + + + + + + + @@ -215,12 +221,6 @@ MaxClimbingDistance 8 - - - + + + @@ -347,41 +353,53 @@ CycleMaps off - - + + + + + - - + + + + + - - + + - - + + - - + + - - + + @@ -389,6 +407,12 @@ ModDownloadSpeed 10000 + + + @@ -455,7 +479,7 @@ @@ -463,6 +487,18 @@ GiveAllWeapons off + + + + + + + + + @@ -215,12 +221,6 @@ MaxClimbingDistance 8 - - - + + + @@ -309,7 +315,7 @@ @@ -327,7 +333,7 @@ @@ -347,41 +353,53 @@ CycleMaps off - - + + + + + - - + + + + + - - + + - - + + - - + + - - + + @@ -389,6 +407,12 @@ ModDownloadSpeed 10000 + + + @@ -455,7 +479,7 @@ @@ -463,6 +487,18 @@ GiveAllWeapons off + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/textures/wicons/mirror.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/textures/wicons/mirror.bmp differ Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/windows/plana.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/windows/plana.bmp differ Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/windows/plan.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/windows/plan.bmp differ Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/windows/playera.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/windows/playera.bmp differ Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/windows/weapona.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/windows/weapona.bmp differ Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/data/windows/winda.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/data/windows/winda.bmp differ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/readme.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/readme.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/globalmods/apoc/readme.txt 2006-07-09 10:04:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/globalmods/apoc/readme.txt 2006-10-22 11:24:41.000000000 +0900 @@ -1,5 +1,5 @@ ---------------------------------------------------- - Apocalypse v4.0 Information + Apocalypse v4.1 Information ---------------------------------------------------- Apocalypse is a modification for Scorched 3D which adds many new weapons, items, and landscapes for use with this awesome game. The mod is the product of work by several people (named in authors.txt). @@ -9,196 +9,57 @@ Official Apocalypse Site: http://apochq.handwired.net Official Scorched 3D Site: http://scorched3d.co.uk -Changes Since 3.1 +Changes Since 4.0 New Accessories: - - Tsar Bomba - the largest nuclear bomb ever made courtesy of the Soviets. - - Basically takes place of the old style MOAB behaviour, a big explosion & crater - - Slightly smaller explosion crater than old MOAB - - Invisible radioactive fallout does additional damage to surrounding tanks - - Blink Device - a prototype near-instant teleporter - - However, the new technology is unstable and frequently collapses in a violent explosion - - Transporter - shoots a marker projectile and then transports the user to that location - - X Tracer - Shoots a spread of tracers at 2.5 degree increments - - Inspired by Brain Damage's 'Super Tracer +' :) - - Volcano - Creates a volcano that erupts upon impact - - Nitro - faster moving fuel that costs more - - Light Armor - provides an extra 25 points of protection - - Heavy Armor - provides an extra 50 points of protection - - Weapons Removed, Reworked or Made Unpurchaseable due to lack of use, redundancy or ineffectiveness - - Bouncing Betty - - Instamountain - - Ring Of Dirt - - Landscaper - - Fire Worms - - Dirt Charge - - Heavy Roller - - Heavy Sandhog - - Heavy Digger - - Tracer - - Hot Napalm + - Mirror Shield - prevents damage from lasers but only provides 5 pts of protection from explosions Other Accessory Changes: - - Sat. Strike: - - Tweaked aiming methods some more, works better against shields - - Slowed the overall pace of it down substantially and reduced amount of aimed projectiles - - Increased price from $20,000 to $50,000 - - Reduced armslevel from 2 to 1 - - M2 Machinegun: - - Increased size of the bullets by 50%, they're still small but more visible - - Reduced damage the bullets do during shield collisions to 33% of shield value - - Reduced damage of the shells from 0.4 to 0.24 (total damage from 200 to 120) - - Now has a somewhat random spread pattern instead of hard-coded - - Now always shoots with 1000 power, regardless of user setting - - Reduced cost to $1,000 for 2 now that its much less powerful and constant power - - Shotgun: - - Increased amount of projectiles from 5 to 6 - - Decreased damage during shield collisions from 50% to 20% of shield value - - Decreased damage done per pellet from 0.25 to 0.2 (total damage from 125 to 120) - - Pellets now have a somewhat random spread pattern - - Now always shoots with 1000 power, regardless of user setting - - Increased timer on pellets from 1.5 to 3 seconds - - Suicide Bomb: - - Reduced the size of the crater (but not damage range) considerably - - Added flaming debris - - Reduced cost from $16,000 to $12,000 - - Added some more small explosions to hopefully make sure it kills the user even when shielded - - MOAB: - - Reduced crater size to between missile and baby nuke - - Air blast does some additional damage outside the crater - - Reduced cost to $2,000 for 2 - - This brings the weapon a little more in line with the real thing - - Shockwave: - - Removed reliance on WeaponAimedOver, now spreads at 22.5 degree angles - - Added a few more sparks after the main shockwave begins for visual effect - - Decreased damage just barely - - Lightning Storm: - - Added lightningbolt.wav sounds back in - - Increased cost from $25,000 to $30,000 - - Slowed down the pace by a few seconds to make it easier to watch - - Hornet Nest/Swarm: - - Increased cost of Hornet Nest to $40,000 - - Decreased armslevel of Hornet Nest from 2 to 1 - - Hornets come out 1 and 2 at a time instead of in big groups - - Rollers: - - Increased cost of Baby Roller to $4,000 for 2 - - Decreased armslevel of Baby Roller from 7 to 6 - - Rollers now hurt shields slightly when they collide - - Rollers are dropped from slightly above the collision to help prevent shield popping - - Flame Thrower: - - Added random spread pattern - - Decreased power by about half - - Decreased cost to $4,000 for 2 - - Napalm Weapons - - Increased cost to $6,000 for 2 - - Decreased power of Napalm slightly - - Decreased power of Napalm Mirv/S-Mirv slightly - - Streams come out one at a time in Napalm Blast - - Napalm Blast leaves some napalm at the collision point as well - - Frag Grenade: - - Increased velocity of the shrapnel - - Added collision timer to the shrapnel - - Decreased shieldhurtfactor of shrapnel pellets from 100% to 10% - - Increased number of shrapnel pellets from 8 to 9 - - Reduced damage per shrapnel pellet from 0.6 to 0.4 - - Added short flame trail to shrapnel and reduced smoke trail length - - Acid Weapons: - - New acid behaviour (gradual earth erosion with green napalm burn effect) - - Reduced shieldhurtfactor on all acid weapons to around 25% per drop - - Increased cost of Acid Splash to $10,000 - - Increased cost of Acid Blast to $3,000 for 2 - - Added green vapor trails - - Chain/Fork Lightning - - Reduced power/accuracy and price - - Shields: - - Decreased radius of Heavy Shield slightly (between regular and ultra size) - - Increased Mag Deflect's from 50% to 75% - - Reworked shield values. - - Regular shields offer most raw damage resistance, then mags, then force shields. - - Flattened out base projectile collision damage for all regular shields at 10 pts - - Flattened out base projectile collision damage for all force shields at 15 pts - - All shields still have 100 base pts of health - - Updated descriptions to include some info about the total amount of damage they can absorb - and how much damage they take when being hit by projectiles by default - - Nuke, Fatman and Tsar Bomba do additional collision damage to shields due to large mass (133-200%) - - Reduced shield collision damage on diggers to decrease their usefulness as shield busters - - Apoc/Dday/Strangelove now use a fixed spread (not affected by projectile's speed at shot peak) - - Added clouds to Apoc/Dday/Strangelove for visual effect - - Added some lightning bolts in the clouds in Strangelove - - Added another projectile to Apoc/Dday/Strangelove waves - - Added second wave of projectiles to Apocalypse & Dmsday Device - - Added some extra aimed projectiles to Strangelove after ground collision like it used to be pre v3.0 - - Added a small sound for hornets when they sting to replace the flare sound. - - Added descriptions to the damaging building accessories - - Increased damage from lasers some - - Increased accuracy of Sandhogs slightly (they are still less powerful than official ones tho) - - New projectile model for MOAB by Bobirov - - Slightly increased power of Small Meteor explosion (5 percent) - - Reduced interval between drops and reduced strength a tad in Hell Storm - - Reduced max physical damage of EMP's from 50 to 25 (shield damage went up from 75 to 100) - - Decreased size of Dirt Clod a bit to reduce its use as a bunker builder - - MIRV and Mega MIRV now use more reliable redirect code - - Set Wall Of Dirt maximum to 3 per round - - Set Ring Of Dirt maximum to 1 per round - - Fixed oversight in EMP grenade causing it to do more damage to shields than EMP missile - - Tracers now do no damage to shields when they hit - - Renamed Suicide Bomb to Self Destruct - - Reduced cost of Haymaker to $30,000 - - Combined Fire Worms/Ants into a single weapon (Fire Ants) - - Earthquake now opens up a long fissure/fault line in addition to shaking the earth and damaging tanks - - Increased cost of Mega MIRV to $8,000 for 1 + - Laser Cannon + - Has random spread from -0.5 to 0.5 degrees on 2nd and 3rd shot + - Does 60 to 120 damage instead of 75 to 150 damage. + - Tweaked the nuclear fallout sparkle effect a bit (spread out more) + - Added the fallout sparkle effect to Tsar Bomba + - Spaced out the bomblets in Funky Bomb over time slightly to prevent dudding on direct hit + - Renamed 'Small Battery' drop to 'Batteries' + - Lighting values adjusted on most models so it looks okay with the new lighting changes + - Shield pricing tweaked slightly to reduce dominance of the force shields + - Cargo drops now fall a bit slower + - New position selection method applied to transporter Landscapes: - Cities - - Two new skyscraper models by Shockwave - - Two new office models by Shockwave - - New stadium model by Shockwave - - Drops 1-3 $5,000 bundles when destroyed - - New Nuclear Power Plant Building by Bobirov - - Explodes and releases massive amounts of fallout that travels down wind - - Can generate power boosters (2000 max power) and magic mushrooms (extra lives) - - Factories now drop 1-3 gas/acid weapons which can be shot and picked up - - Stores now drop 1-3 various small weapons, batteries, beer (10 health), parachutes or $1,000 bundles - - Gas stations drop 1-3 fuel cans (10 fuel), $1,000 bundles, batteries or beer - - Bars drop 1-3 beers (10 health), shotguns or $1,000 bundles - - New hospital by Shockwave that drops 1-3 medkits (25 health) - - New port by Shockwave, drops 0-3 cargo containers (same loot as air drops) - - Houses can no longer keep setting themselves on fire - - New 737 jumbo jet boid by Shockwave on cities - - New cessna boid by Shockwave on cities - - New medical chopper boid by Shockwave on cities - - Added several groundmaps to city buildings (roads, farmland, cars, etc) - - Made Gas Stations a little bit more damaging all around - - Reduced height of Church model by 25% - - Replaced f18 model on city maps with f16 - - New sounds for factories and power plants - - Larger buildings now create shrapnel when destroyed which can do a small amount of damage - - A random number of cows fly out of farms when destroyed - - Generic building layout added to many non-city landscapes - - Moon maps: - - Added stars - - Removed clouds as best I could (there is no atmosphere on the moon of course.. :P) - - Adjusted light levels a bit - - Added view of the Earth - - Added some flying hornets to the desert maps - - Tweaked surround texture for desert maps some so its a little less repetitive looking - - Removed City Blocks map - - New landscape pics in options menus - - New trees on USA and Apoc City - - New texture layouts added to many Apoc and non-Apoc landscapes - - Random air cargo drops on many landscapes - - Score points are awarded for destroying certain buildings (houses and offices don't count) + - Factories now release some additional acid bomblets when you destroy them + - Hospital now drop 0-3 medkits instead of 1-3 but gives 25 health when you destroy it + - Stadium can now drop up to $20,000 instead of $15,000 + - Most buildings are now targets (projectiles will collide) + - Buildings and/or cargo drops added to a few more landscapes/texture layouts + - Random flame spurts (geysers) that pop up out of the ground on the hell texture layout + - Weather events can now damage tanks + - Increased likelyhood of cargo drops on landscapes that have them + - Igloos added to ice_bldg and ice texture layouts + - Drops same items as stores at the moment + - Fleshy Pods added to hell texture layout + - Drops medkits/parachutes/batterys and occasionally cargo boxes + - Acid Pods added to hell texture layout + - Spreads small acid droplets when destroyed + - Drops small weapons and occasionally cargo boxes + - Soldiers standing around the Nuclear Plants + - Converted Igloos to targets + - Increased max altitude of boids on city maps slightly + - Random satellite crashes on moon maps that drop cargo Other: - - Added Sniper AI type that uses mostly lasers and guns. - - Added a "Hard Target" AI type that does not shoot but will use defenses, good for testing - Various other small changes and fixes + - Fixed single player game settings + - Darkened map in the plan view a bit + - GUI windows are now slightly transparent Notes About Installation: The Apocalypse Mod comes with Scorched 3D and, as a result, you should not need to install anything. However, in the event that you are re-installing the mod because it has become corrupt, it should be installed into the -directory you installed Scorched3D to, under /data/globalmods/. It wouldn't be a bad idea to delete what is in -the Apoc directory there and in your ~/.scorched3d/mods/apoc/ folder before re-installing as well. +directory you installed Scorched3D to, under /data/globalmods/. You should delete what is in the Apoc directory +in your globalmods folder and in your ~/.scorched3d/mods/apoc/ folder before re-installing for a completely clean +installation. This will prvent any issues caused by having obselete or altered files in your Apoc install. Updates for the mod can typically be obtained on the official Apocalypse servers at ApocHQ, or by going to http://apochq.handwired.net. diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/banned.html /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/banned.html --- /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/banned.html 2005-06-22 23:02:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/banned.html 2006-09-05 06:38:52.000000000 +0900 @@ -2,7 +2,7 @@ #include menu.html - +
@@ -10,8 +10,8 @@
Banned
- - +
+ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/game.html /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/game.html --- /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/game.html 2005-06-22 23:02:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/game.html 2006-10-24 05:45:45.000000000 +0900 @@ -7,6 +7,15 @@ + + + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/log.html /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/log.html --- /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/log.html 2006-06-09 07:54:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/log.html 2006-09-05 06:38:52.000000000 +0900 @@ -5,8 +5,8 @@
Time Name UniqueIdGame
+ Players : [[PLAYERS]]
+ State : [[STATE]]
+ Round : [[ROUND]]
+ Move : [[MOVE]]
+ BytesI : [[BI]] BytesO: [[BO]] Ping : [[P]] Conect : [[C]]
+
diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/logfiles.html /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/logfiles.html --- /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/logfiles.html 2006-06-09 07:54:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/logfiles.html 2006-07-30 22:51:50.000000000 +0900 @@ -6,7 +6,7 @@
Log Files
- + [[LOG]]
FileDate
FileDate
+ +
Log Messages
- - +
IndexMessage
+ [[LOG]]
IndexMessage
[[PAGES]] diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/menu.html /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/menu.html --- /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/menu.html 2005-06-22 23:02:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/menu.html 2006-09-05 06:38:52.000000000 +0900 @@ -13,6 +13,8 @@
Banned | Mods|Server

diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/message.html /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/message.html --- /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/message.html 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/message.html 2006-09-05 06:38:52.000000000 +0900 @@ -0,0 +1,12 @@ +#include header.html + +#include menu.html + + + + +
Message
+[[MESSAGE]] +
+ +#include footer.html diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/mods.html /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/mods.html --- /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/mods.html 2005-06-22 23:02:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/mods.html 2006-09-05 06:38:52.000000000 +0900 @@ -2,7 +2,7 @@ #include menu.html - +
@@ -10,8 +10,8 @@ " "" "" "\n", - logFile.fileName.mb_str(wxConvUTF8), + fileName, fields["sid"].c_str(), - logFile.fileName.mb_str(wxConvUTF8), + fileName, ctime(&logFile.fileTime)); } fields["LOG"] = log; @@ -326,9 +374,49 @@ } } + std::map &tanks = + ScorchedServer::instance()->getTankContainer().getPlayingTanks(); + fields["PLAYERS"] = formatString("%i/%i", tanks.size(), + ScorchedServer::instance()->getOptionsGame().getNoMaxPlayers()); + + unsigned int state = ScorchedServer::instance()->getGameState().getState(); + fields["STATE"] = ((state == ServerState::ServerStateTooFewPlayers)?"Not Playing":"Playing"); + + fields["ROUND"] = formatString("%i/%i", + ScorchedServer::instance()->getOptionsTransient().getCurrentRoundNo(), + ScorchedServer::instance()->getOptionsGame().getNoRounds()); + fields["MOVE"] = formatString("%i/%i", + ScorchedServer::instance()->getOptionsTransient().getCurrentGameNo(), + ScorchedServer::instance()->getOptionsGame().getNoMaxRoundTurns()); + + fields["BI"] = formatString("%uK", NetInterface::getBytesIn() / 1000); + fields["BO"] = formatString("%uK", NetInterface::getBytesOut() / 1000); + fields["P"] = formatString("%u", NetInterface::getPings()); + fields["C"] = formatString("%u", NetInterface::getConnects()); + return ServerWebServer::getHtmlTemplate("game.html", fields, text); } +bool ServerWebHandler::ServerHandler::processRequest(const char *url, + std::map &fields, + std::string &text) +{ + // Check for any action + const char *action = getField(fields, "action"); + if (action) + { + if (0 == strcmp(action, "Stop Server")) + { + exit(0); + } + } + + unsigned int state = ScorchedServer::instance()->getGameState().getState(); + fields["STATE"] = ((state == ServerState::ServerStateTooFewPlayers)?"Not Playing":"Playing"); + + return ServerWebServer::getHtmlTemplate("server.html", fields, text); +} + bool ServerWebHandler::SettingsHandler::processRequest(const char *url, std::map &fields, std::string &text) @@ -437,12 +525,20 @@ entry->getName(), entry->getValueAsString()); } + + bool different = (0 != strcmp(entry->getValueAsString(), + entry->getDefaultValueAsString())); + std::string desc = entry->getDescription(); + desc.append("
Default value : "); + if (different) desc.append(""); + desc.append(entry->getDefaultValueAsString()); + if (different) desc.append(""); settings += formatString("
" "" "\n", entry->getName(), - entry->getDescription(), + desc.c_str(), value.c_str()); } } @@ -469,17 +565,14 @@ if (!type || 0 == strcmp(type, "all")) { ServerCommon::sendString(0, say); - ServerCommon::serverLog(formatString("Says : %s", say)); } else if (0 == strcmp(type, "message")) { ServerCommon::sendStringMessage(0, say); - ServerCommon::serverLog(formatString("Messages : %s", say)); } else if (0 == strcmp(type, "admin")) { ServerCommon::sendStringAdmin(say); - ServerCommon::serverLog(formatString("Admins Says : %s", say)); } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerWebHandler.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerWebHandler.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerWebHandler.h 2006-06-16 08:47:09.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerWebHandler.h 2006-09-05 06:38:52.000000000 +0900 @@ -58,6 +58,14 @@ std::string &text); }; + class ServerHandler : public ServerWebServerI + { + public: + virtual bool processRequest(const char *url, + std::map &fields, + std::string &text); + }; + class SettingsHandler : public ServerWebServerI { public: diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerWebServer.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerWebServer.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerWebServer.cpp 2006-06-16 08:47:09.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerWebServer.cpp 2006-10-21 23:16:22.000000000 +0900 @@ -50,6 +50,7 @@ addRequestHandler("/logs", new ServerWebHandler::LogHandler()); addRequestHandler("/logfile", new ServerWebHandler::LogFileHandler()); addRequestHandler("/game", new ServerWebHandler::GameHandler()); + addRequestHandler("/server", new ServerWebHandler::ServerHandler()); addRequestHandler("/settings", new ServerWebHandler::SettingsHandler()); addRequestHandler("/talk", new ServerWebHandler::TalkHandler()); addRequestHandler("/banned", new ServerWebHandler::BannedHandler()); @@ -170,6 +171,10 @@ extractQueryFields(fields, sep); } + // Add ip address into fields + fields["ipaddress"] = + NetInterface::getIpName(message.getIpAddress()); + // Log info if (logger_) { @@ -180,14 +185,30 @@ itor != fields.end(); itor++) { - f += formatString("%s=%s ", - (*itor).first.c_str(), - (*itor).second.c_str()); + if (0 != strcmp((*itor).first.c_str(), "password")) + { + f += formatString("%s=%s ", + (*itor).first.c_str(), + (*itor).second.c_str()); + } + } + + std::string username; + if (fields.find("sid") != fields.end()) + { + unsigned int sid = (unsigned int) atoi(fields["sid"].c_str()); + std::map ::iterator findItor = + sessions_.find(sid); + if (findItor != sessions_.end()) + { + username = (*findItor).second.userName; + } } + LoggerInfo info(LoggerInfo::TypeNormal, - formatString("%u:%s:%s", + formatString("%u %s http://%s [%s]", message.getDestinationId(), - url, f.c_str()), + username.c_str(), url, f.c_str()), ctime(&t)); logger_->logMessage(info); } @@ -283,6 +304,7 @@ { SessionParams params; params.sessionTime = currentTime; + params.userName = fields["name"]; unsigned int sid = rand(); sessions_[sid] = params; @@ -291,9 +313,6 @@ ServerCommon::sendString(0, formatString("server admin \"%s\" logged in", fields["name"].c_str())); - ServerCommon::serverLog( - formatString("server admin \"%s\" logged in as web admin", - fields["name"].c_str())); return true; } @@ -338,7 +357,7 @@ { // Perhaps cache this const char *fileName = getDataFile(formatString("data/html/server/%s", name)); - FILE *in = fopen(fileName, "ra"); + FILE *in = fopen(fileName, "r"); if (!in) { Logger::log(formatString("ERROR: Failed to open web template \"%s\"", fileName)); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerWebServer.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerWebServer.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerWebServer.h 2006-06-16 00:14:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerWebServer.h 2006-10-21 23:16:22.000000000 +0900 @@ -58,6 +58,7 @@ struct SessionParams { unsigned int sessionTime; + std::string userName; }; static ServerWebServer *instance_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/ships/ScorchedShips.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ships/ScorchedShips.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/ships/ScorchedShips.cpp 2006-03-28 07:48:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ships/ScorchedShips.cpp 2006-09-24 03:01:35.000000000 +0900 @@ -69,6 +69,10 @@ void ScorchedShips::addShipGroups(std::vector &shipgroups) { + RandomGenerator random; + random.seed(ScorchedClient::instance()-> + getLandscapeMaps().getDefinitions().getSeed()); + std::vector::iterator itor; for (itor = shipgroups.begin(); itor != shipgroups.end(); @@ -76,7 +80,7 @@ { LandscapeShipGroup *texShipGroup = (*itor); ShipGroup *group = new ShipGroup; - group->generate(texShipGroup); + group->generate(random, texShipGroup); groups_.push_back(group); } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/ships/Ship.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ships/Ship.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/ships/Ship.cpp 2006-03-28 07:48:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ships/Ship.cpp 2006-08-07 01:04:40.000000000 +0900 @@ -92,5 +92,5 @@ void Ship::simulate(float frameTime) { - ship_->simulate(frameTime); + ship_->simulate(frameTime * 20.0f); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/ships/ShipGroup.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ships/ShipGroup.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/ships/ShipGroup.cpp 2006-03-28 07:48:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ships/ShipGroup.cpp 2006-09-24 03:01:35.000000000 +0900 @@ -40,7 +40,7 @@ } } -void ShipGroup::generate(LandscapeShipGroup *shipGroup) +void ShipGroup::generate(RandomGenerator &random, LandscapeShipGroup *shipGroup) { int mapWidth = ScorchedClient::instance()->getLandscapeMaps(). @@ -65,8 +65,8 @@ float diff = 360.0f / float(shipGroup->controlpoints); for (float i=0.0f; i<360.0f; i+=diff) { - float distWidth = RAND * shipGroup->controlpointsrand + shipGroup->controlpointswidth; - float distHeight = RAND * shipGroup->controlpointsrand + shipGroup->controlpointsheight; + float distWidth = random.getRandFloat() * shipGroup->controlpointsrand + shipGroup->controlpointswidth; + float distHeight = random.getRandFloat() * shipGroup->controlpointsrand + shipGroup->controlpointsheight; float x = getFastSin(i / 180.0f * PI) * distWidth + float(mapWidth) / 2.0f; float y = getFastCos(i / 180.0f * PI) * distHeight + float(mapHeight) / 2.0f; @@ -89,7 +89,9 @@ LandscapeShip *texShip = (*itor); Ship *ship = new Ship(texShip); - Vector offset(RAND * 200.0f, RAND * 200.0f - 100.0f); + float offX = random.getRandFloat() * 200.0f; + float offY = random.getRandFloat() * 200.0f; + Vector offset(offX, offY - 100.0f); ship->getOffSet() = offset; ships_.push_back(ship); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/ships/ShipGroup.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ships/ShipGroup.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/ships/ShipGroup.h 2006-03-28 07:48:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ships/ShipGroup.h 2006-09-24 03:01:35.000000000 +0900 @@ -24,6 +24,7 @@ #include #include +class RandomGenerator; class LandscapeShipGroup; class ShipGroup { @@ -31,7 +32,7 @@ ShipGroup(); virtual ~ShipGroup(); - void generate(LandscapeShipGroup *shipGroup); + void generate(RandomGenerator &random, LandscapeShipGroup *shipGroup); void draw(); void simulate(float frameTime); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/sound/Sound.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/sound/Sound.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/sound/Sound.cpp 2006-06-20 10:19:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/sound/Sound.cpp 2006-11-10 23:57:07.000000000 +0900 @@ -18,7 +18,6 @@ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //////////////////////////////////////////////////////////////////////////////// -#include #include #include #include @@ -28,6 +27,7 @@ #include #include #include +#include #include Sound *Sound::instance_ = 0; @@ -43,7 +43,8 @@ } Sound::Sound() : - init_(false), totalTime_(0.0f) + init_(false), totalTime_(0.0f), + GameStateI("Sound") { new GLConsoleRuleMethodIAdapter( this, &Sound::showSoundBuffers, "SoundBuffers"); @@ -121,19 +122,19 @@ alcMakeContextCurrent(soundContext); alDistanceModel(AL_INVERSE_DISTANCE); - GLConsole::instance()->addLine(false, "AL_VENDOR:"); - GLConsole::instance()->addLine(false, + Logger::log("AL_VENDOR:"); + Logger::log( checkString((char *) alGetString(AL_VENDOR))); - GLConsole::instance()->addLine(false, "AL_VERSION:"); + Logger::log("AL_VERSION:"); GLConsole::instance()->addLine(false, checkString((char *) alGetString(AL_VERSION))); - GLConsole::instance()->addLine(false, "AL_RENDERER:"); - GLConsole::instance()->addLine(false, + Logger::log("AL_RENDERER:"); + Logger::log( checkString((char *) alGetString(AL_RENDERER))); - GLConsole::instance()->addLine(false, "AL_EXTENSIONS:"); + Logger::log("AL_EXTENSIONS:"); GLConsole::instance()->addLine(false, checkString((char *) alGetString(AL_EXTENSIONS))); - GLConsole::instance()->addLine(false, "ALC_DEVICE_SPECIFIER:"); + Logger::log("ALC_DEVICE_SPECIFIER:"); GLConsole::instance()->addLine(false, checkString((char *) alcGetString(soundDevice, ALC_DEVICE_SPECIFIER))); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankAccessories.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankAccessories.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankAccessories.cpp 2006-05-15 08:40:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankAccessories.cpp 2006-10-17 18:53:10.000000000 +0900 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -29,10 +30,7 @@ TankAccessories::TankAccessories(ScorchedContext &context) : context_(context), - tankFuel_(context), tankWeapon_(context), - tankPara_(context), - tankShield_(context), tankAuto_(context), tankBatteries_(context) { @@ -45,24 +43,18 @@ void TankAccessories::setTank(Tank *tank) { tank_ = tank; - tankFuel_.setTank(tank); tankWeapon_.setTank(tank); - tankPara_.setTank(tank); - tankShield_.setTank(tank); tankAuto_.setTank(tank); tankBatteries_.setTank(tank); } void TankAccessories::newMatch() { - accessories_.clear(); + clearAccessories(); tankWeapon_.newMatch(); - tankPara_.newMatch(); - tankShield_.newMatch(); tankAuto_.newMatch(); tankBatteries_.newMatch(); - tankFuel_.newMatch(); // Add all the accessories the tank should start with // this is the accessories from the global accessories file @@ -86,7 +78,7 @@ if (startingNumber != 0) { - add_(accessory, startingNumber); + add_(accessory, startingNumber, true); } } } @@ -105,55 +97,75 @@ Accessory *accessory = (*itor).first; int count = (*itor).second; - add_(accessory, count); + add_(accessory, count, true); } } changed(); } -void TankAccessories::getAllAccessories(std::list &result, bool sort) +void TankAccessories::clearAccessories() +{ + accessories_.clear(); + + std::map::iterator groupsItor; + for (groupsItor = accessoryGroups_.begin(); + groupsItor != accessoryGroups_.end(); + groupsItor++) + { + delete (*groupsItor).second; + } + accessoryGroups_.clear(); + + std::map::iterator typesItor; + for (typesItor = accessoryTypes_.begin(); + typesItor != accessoryTypes_.end(); + typesItor++) + { + delete (*typesItor).second; + } + accessoryTypes_.clear(); + +} + +void TankAccessories::getAllAccessories(std::list &result) { - std::set types; std::map::iterator itor; for (itor = accessories_.begin(); itor != accessories_.end(); itor++) { Accessory *accessory = (*itor).first; - AccessoryPart::AccessoryType type = accessory->getType(); - if (types.find(type) == types.end()) - { - types.insert(type); - getAllAccessoriesByType(type, result, false); - } + result.push_back(accessory); + } +} + +std::list &TankAccessories::getAllAccessoriesByType( + AccessoryPart::AccessoryType type) +{ + std::map::iterator itor = + accessoryTypes_.find(type); + if (itor != accessoryTypes_.end()) + { + return *((*itor).second); } - if (sort) AccessoryStore::sortList(result); + static std::list emptyList; + return emptyList; } -void TankAccessories::getAllAccessoriesByType( - AccessoryPart::AccessoryType type, - std::list &result, bool sort) +std::list &TankAccessories::getAllAccessoriesByGroup( + const char *groupName) { - // Add all weapons ensuring they are in the - // same order as in the store - std::list &allAccessories = - context_.accessoryStore->getAccessories(); - std::list::iterator itor; - for (itor = allAccessories.begin(); - itor != allAccessories.end(); - itor++) + std::map::iterator itor = + accessoryGroups_.find(groupName); + if (itor != accessoryGroups_.end()) { - Accessory *accessory = (*itor); - if (accessory->getType() == type && - accessories_.find(accessory) != accessories_.end()) - { - result.push_back(accessory); - } + return *((*itor).second); } - if (sort) AccessoryStore::sortList(result); + static std::list emptyList; + return emptyList; } int TankAccessories::getAccessoryCount(Accessory *accessory) @@ -200,7 +212,7 @@ // Check if this is an ai only weapon if (accessory->getAIOnly()) { - if (tank_->getDestinationId() != 0) + if (!tank_->isTemp()) { return false; } @@ -209,16 +221,27 @@ return true; } -void TankAccessories::add(Accessory *accessory, int count) +void TankAccessories::add(Accessory *accessory, int count, bool check) { - add_(accessory, count); + add_(accessory, count, check); changed(); } -void TankAccessories::add_(Accessory *accessory, int count) +void TankAccessories::add_(Accessory *accessory, int count, bool check) { - // Check if this tank is allowed this accessory - if (!accessoryAllowed(accessory, count)) return; + if (check) + { + // Check if this tank is allowed this accessory + if (!accessoryAllowed(accessory, count)) return; + } + else + { + // Check if an infinite weapon is being bought twice + if (getAccessoryCount(accessory) == -1) + { + return; + } + } // Add this accessory std::map::iterator itor = accessories_.find(accessory); @@ -230,6 +253,40 @@ { accessories_[accessory] += count; } + + // Add to groups + { + std::map::iterator groupItor = + accessoryGroups_.find(accessory->getGroupName()); + if (groupItor != accessoryGroups_.end()) + { + (*groupItor).second->remove(accessory); + (*groupItor).second->push_back(accessory); + } + else + { + AccessoryList *newList = new AccessoryList(); + accessoryGroups_[accessory->getGroupName()] = newList; + newList->push_back(accessory); + } + } + + // Add to types + { + std::map::iterator typeItor = + accessoryTypes_.find(accessory->getType()); + if (typeItor != accessoryTypes_.end()) + { + (*typeItor).second->remove(accessory); + (*typeItor).second->push_back(accessory); + } + else + { + AccessoryList *newList = new AccessoryList(); + accessoryTypes_[accessory->getType()] = newList; + newList->push_back(accessory); + } + } } void TankAccessories::rm(Accessory *accessory, int count) @@ -244,6 +301,23 @@ if (accessories_[accessory] <= 0) { accessories_.erase(accessory); + + { // Remove from groups + std::map::iterator groupItor = + accessoryGroups_.find(accessory->getGroupName()); + if (groupItor != accessoryGroups_.end()) + { + (*groupItor).second->remove(accessory); + } + } + { // Remove from types + std::map::iterator typeItor = + accessoryTypes_.find(accessory->getType()); + if (typeItor != accessoryTypes_.end()) + { + (*typeItor).second->remove(accessory); + } + } } } } @@ -256,10 +330,7 @@ // Tell the appropriate container that the count has changed tankAuto_.changed(); tankWeapon_.changed(); - tankPara_.changed(); - tankShield_.changed(); tankBatteries_.changed(); - tankFuel_.changed(); } bool TankAccessories::writeMessage(NetBuffer &buffer, bool writeAccessories) @@ -284,17 +355,14 @@ } if (!tankWeapon_.writeMessage(buffer, writeAccessories)) return false; - if (!tankPara_.writeMessage(buffer, writeAccessories)) return false; - if (!tankShield_.writeMessage(buffer, writeAccessories)) return false; if (!tankAuto_.writeMessage(buffer, writeAccessories)) return false; if (!tankBatteries_.writeMessage(buffer, writeAccessories)) return false; - if (!tankFuel_.writeMessage(buffer, writeAccessories)) return false; return true; } bool TankAccessories::readMessage(NetBufferReader &reader) { - std::set coveredAccessories; + clearAccessories(); // Check all the servers accessories exist int totalAccessories = 0; @@ -309,38 +377,49 @@ Accessory *accessory = context_.accessoryStore->findByAccessoryId(accessoryId); if (!accessoryId) return false; - coveredAccessories.insert(accessory); - - int actualCount = getAccessoryCount(accessory); - if (actualCount != accessoryCount) - { - accessories_[accessory] = accessoryCount; - } - } - // Remove any accessories we have but the server does not - std::map accessoryCopy = accessories_; - std::map::iterator itor; - for (itor = accessoryCopy.begin(); - itor != accessoryCopy.end(); - itor++) - { - Accessory *accessory = (*itor).first; - if (coveredAccessories.find(accessory) == - coveredAccessories.end()) - { - accessories_.erase(accessory); - } + add_(accessory, accessoryCount, false); } if (!tankWeapon_.readMessage(reader)) return false; - if (!tankPara_.readMessage(reader)) return false; - if (!tankShield_.readMessage(reader)) return false; if (!tankAuto_.readMessage(reader)) return false; if (!tankBatteries_.readMessage(reader)) return false; - if (!tankFuel_.readMessage(reader)) return false; changed(); return true; } +void TankAccessories::activate(Accessory *accessory) +{ + DIALOG_ASSERT(!context_.serverMode); + + TankAIHuman *tankAI = (TankAIHuman *) tank_->getTankAI(); + if (!tankAI) return; + + switch (accessory->getType()) + { + case AccessoryPart::AccessoryParachute: + tankAI->parachutesUpDown( + (tank_->getParachute().getCurrentParachute()==accessory)? + 0:accessory->getAccessoryId()); + break; + case AccessoryPart::AccessoryShield: + tankAI->shieldsUpDown( + (tank_->getShield().getCurrentShield()==accessory)? + 0:accessory->getAccessoryId()); + break; + case AccessoryPart::AccessoryWeapon: + getWeapons().setWeapon(accessory); + break; + case AccessoryPart::AccessoryBattery: + if (tank_->getLife().getLife() < + tank_->getLife().getMaxLife()) + { + tankAI->useBattery(accessory->getAccessoryId()); + } + break; + case AccessoryPart::AccessoryAutoDefense: + default: + break; + } +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankAccessories.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankAccessories.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankAccessories.h 2006-02-24 23:55:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankAccessories.h 2006-09-17 02:15:44.000000000 +0900 @@ -23,11 +23,8 @@ #include #include -#include -#include #include #include -#include class ScorchedContext; class TankAccessories @@ -39,19 +36,21 @@ void setTank(Tank *tank); void newMatch(); - void add(Accessory *accessory, int count); + void add(Accessory *accessory, int count, bool check = true); void rm(Accessory *accessory, int count = 1); + void clearAccessories(); + + void activate(Accessory *accessory); bool accessoryAllowed(Accessory *accessory, int count); int getAccessoryCount(Accessory *accessory); - void getAllAccessories(std::list &result, bool sort=false); - void getAllAccessoriesByType(AccessoryPart::AccessoryType type, - std::list &result, bool sort=false); + void getAllAccessories(std::list &result); + std::list &getAllAccessoriesByType( + AccessoryPart::AccessoryType type); + std::list &getAllAccessoriesByGroup( + const char *groupName); - TankFuel &getFuel() { return tankFuel_; } TankWeapon &getWeapons() { return tankWeapon_; } - TankParachutes &getParachutes() { return tankPara_; } - TankShields &getShields() { return tankShield_; } TankAutoDefense &getAutoDefense() { return tankAuto_; } TankBatteries &getBatteries() { return tankBatteries_; } @@ -61,18 +60,18 @@ protected: ScorchedContext &context_; - TankFuel tankFuel_; TankWeapon tankWeapon_; - TankParachutes tankPara_; - TankShields tankShield_; TankAutoDefense tankAuto_; TankBatteries tankBatteries_; Tank *tank_; + typedef std::list AccessoryList; std::map accessories_; + std::map accessoryGroups_; + std::map accessoryTypes_; void changed(); - void add_(Accessory *accessory, int count); + void add_(Accessory *accessory, int count, bool check); }; #endif // !defined(AFX_TANKACCESSORIES_H__60850A18_DED2_4BB0_B104_CB0941EF6D1D__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankAutoDefense.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankAutoDefense.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankAutoDefense.cpp 2006-02-24 23:55:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankAutoDefense.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -42,9 +42,9 @@ bool TankAutoDefense::haveDefense() { - std::list result; - tank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryAutoDefense, result); + std::list &result = + tank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryAutoDefense); return !result.empty(); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankBatteries.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankBatteries.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankBatteries.cpp 2006-02-24 23:55:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankBatteries.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -41,9 +41,9 @@ int TankBatteries::getNoBatteries() { - std::list result; - tank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryBattery, result); + std::list &result = + tank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryBattery); if (result.empty()) return 0; return tank_->getAccessories().getAccessoryCount(result.front()); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankColorGenerator.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankColorGenerator.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankColorGenerator.cpp 2006-01-17 02:01:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankColorGenerator.cpp 2006-07-23 09:43:48.000000000 +0900 @@ -67,7 +67,10 @@ void TankColorGenerator::addColor(unsigned r, unsigned g, unsigned b) { - Vector newColor(float(r) / 255.0f, float(g) / 255.0f, float(b) / 255.0f); + Vector newColor( + float(int(float(r) / 2.550f)) / 100.0f, + float(int(float(g) / 2.550f)) / 100.0f, + float(int(float(b) / 2.550f)) / 100.0f); std::vector::iterator coloritor; for (coloritor = availableColors_.begin(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankDefinition.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankDefinition.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankDefinition.cpp 2006-05-15 08:40:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankDefinition.cpp 2006-09-03 08:04:02.000000000 +0900 @@ -105,6 +105,7 @@ tank->getLife().setMaxLife(life_); tank->getLife().setSize(size_); tank->getLife().setDriveOverToDestroy(driveovertodestroy_); + tank->newMatch(); tank->newGame(); if (shield_.c_str()[0] && 0 != strcmp(shield_.c_str(), "none")) @@ -132,7 +133,7 @@ parachute_.c_str())); } - tank->getParachute().setParachutesEnabled(true); + tank->getParachute().setCurrentParachute(parachute); } if (removeaction_.c_str()[0] && 0 != strcmp(removeaction_.c_str(), "none")) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankFuel.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankFuel.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankFuel.cpp 2006-06-24 02:53:22.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankFuel.cpp 1970-01-01 09:00:00.000000000 +0900 @@ -1,52 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Scorched3D (c) 2000-2003 -// -// This file is part of Scorched3D. -// -// Scorched3D is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// Scorched3D is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Scorched3D; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include - -TankFuel::TankFuel(ScorchedContext &context) : - context_(context), - tank_(0) -{ -} - -TankFuel::~TankFuel() -{ -} - -void TankFuel::newMatch() -{ -} - -void TankFuel::changed() -{ -} - -bool TankFuel::writeMessage(NetBuffer &buffer, bool writeAccessories) -{ - return true; -} - -bool TankFuel::readMessage(NetBufferReader &reader) -{ - return true; -} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankFuel.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankFuel.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankFuel.h 2006-06-24 02:53:22.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankFuel.h 1970-01-01 09:00:00.000000000 +0900 @@ -1,48 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Scorched3D (c) 2000-2003 -// -// This file is part of Scorched3D. -// -// Scorched3D is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// Scorched3D is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Scorched3D; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//////////////////////////////////////////////////////////////////////////////// - -#if !defined(__INCLUDE_TankFuelh_INCLUDE__) -#define __INCLUDE_TankFuelh_INCLUDE__ - -#include - -class ScorchedContext; -class Tank; -class TankFuel -{ -public: - TankFuel(ScorchedContext &context); - virtual ~TankFuel(); - - void setTank(Tank *tank) { tank_ = tank; } - - void newMatch(); - void changed(); - - // Serialize the tank - bool writeMessage(NetBuffer &buffer, bool writeAccessories); - bool readMessage(NetBufferReader &reader); - -protected: - ScorchedContext &context_; - Tank *tank_; -}; - -#endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankLib.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankLib.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankLib.cpp 2006-07-09 23:21:18.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankLib.cpp 2006-09-05 01:36:30.000000000 +0900 @@ -102,12 +102,18 @@ float &angleXYDegs, float &angleYZDegs, float &power, bool checkIntersection) { + // Calculate power + power = 1000.0f; + // Calculate direction Vector direction = shootAt - position; float angleXYRads = atan2f(direction[1], direction[0]); angleXYDegs = (angleXYRads / 3.14f) * 180.0f - 90.0f; + float distance2D = sqrtf(direction[0] * direction[0] + direction[1] * direction[1]); + float angleYZRads = atan2f(distance2D, direction[2]); + angleYZDegs = 90.0f - ((angleYZRads / 3.14f) * 180.0f); // Special case // If we are less than a certain distance and under the position we @@ -116,10 +122,6 @@ (distForSniper == -1.0f); if (!useSniper) return false; - power = 1000.0f; - float angleYZRads = atan2f(distance2D, direction[2]); - angleYZDegs = 90.0f - ((angleYZRads / 3.14f) * 180.0f); - // If we check intersection if (checkIntersection) { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankMod.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankMod.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankMod.cpp 2004-06-22 04:40:29.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankMod.cpp 2006-11-01 10:32:35.000000000 +0900 @@ -22,7 +22,7 @@ #include TankMod::TankMod() : - readyToReceive_(true), sent_(false), init_(false) + readyToReceive_(true), sent_(false), init_(false), totalLeft_(0) { files_ = new std::list(); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankMod.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankMod.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankMod.h 2004-06-22 04:40:29.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankMod.h 2006-11-01 10:32:35.000000000 +0900 @@ -39,6 +39,9 @@ void setSent(bool s) { sent_ = s; } bool getSent() { return sent_; } + void setTotalLeft(unsigned int size) { totalLeft_ = size; }; + unsigned int getTotalLeft() { return totalLeft_; } + void addFile(ModIdentifierEntry &entry); void rmFile(const char *file); ModIdentifierEntry *getFile(const char *file); @@ -48,6 +51,7 @@ bool readyToReceive_; bool sent_; bool init_; + unsigned int totalLeft_; std::list *files_; // Ptr so we dont include ModFiles.h }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankParachutes.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankParachutes.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankParachutes.cpp 2006-02-24 23:55:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankParachutes.cpp 1970-01-01 09:00:00.000000000 +0900 @@ -1,64 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Scorched3D (c) 2000-2003 -// -// This file is part of Scorched3D. -// -// Scorched3D is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// Scorched3D is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Scorched3D; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include - -TankParachutes::TankParachutes(ScorchedContext &context) : - context_(context), - tank_(0) -{ -} - -TankParachutes::~TankParachutes() -{ -} - -void TankParachutes::newMatch() -{ -} - -void TankParachutes::changed() -{ - if (getNoParachutes() == 0) - { - tank_->getParachute().setParachutesEnabled(false); - } -} - -int TankParachutes::getNoParachutes() -{ - std::list result; - tank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryParachute, result); - if (result.empty()) return 0; - return tank_->getAccessories().getAccessoryCount(result.front()); -} - -bool TankParachutes::writeMessage(NetBuffer &buffer, bool writeAccessories) -{ - return true; -} - -bool TankParachutes::readMessage(NetBufferReader &reader) -{ - return true; -} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankParachutes.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankParachutes.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankParachutes.h 2006-02-23 00:53:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankParachutes.h 1970-01-01 09:00:00.000000000 +0900 @@ -1,50 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Scorched3D (c) 2000-2003 -// -// This file is part of Scorched3D. -// -// Scorched3D is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// Scorched3D is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Scorched3D; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//////////////////////////////////////////////////////////////////////////////// - -#if !defined(AFX_TANKPARACHUTES_H__83501862_9536_4108_A7E6_2377AD98EB72__INCLUDED_) -#define AFX_TANKPARACHUTES_H__83501862_9536_4108_A7E6_2377AD98EB72__INCLUDED_ - -#include - -class Tank; -class ScorchedContext; -class Tank; -class TankParachutes -{ -public: - TankParachutes(ScorchedContext &context); - virtual ~TankParachutes(); - - void setTank(Tank *tank) { tank_ = tank; } - - void newMatch(); - void changed(); - int getNoParachutes(); - - // Serialize the tank - bool writeMessage(NetBuffer &buffer, bool writeAccessories); - bool readMessage(NetBufferReader &reader); - -protected: - ScorchedContext &context_; - Tank *tank_; -}; - -#endif // !defined(AFX_TANKPARACHUTES_H__83501862_9536_4108_A7E6_2377AD98EB72__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankPosition.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankPosition.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankPosition.cpp 2006-05-15 08:40:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankPosition.cpp 2006-09-11 09:25:22.000000000 +0900 @@ -33,7 +33,8 @@ oldTurretRotXY_(0.0f), oldTurretRotYZ_(0.0f), power_(1000.0f), oldPower_(1000.0f), maxPower_(1000.0f), - tank_(0), context_(context) + tank_(0), context_(context), + selectPositionX_(0), selectPositionY_(0) { // Only make the very first shot random angle oldTurretRotXY_ = turretRotXY_ = RAND * 360; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankPosition.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankPosition.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankPosition.h 2006-04-07 08:08:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankPosition.h 2006-09-11 09:25:22.000000000 +0900 @@ -65,6 +65,12 @@ float getRotationGunXY() { return turretRotXY_; } float getRotationGunYZ() { return turretRotYZ_; } + // Select position + int getSelectPositionX() { return selectPositionX_; } + int getSelectPositionY() { return selectPositionY_; } + void setSelectPosition(int x, int y) { + selectPositionX_ = x; selectPositionY_ = y; } + // Power of gun float getPower() { return power_; } float changePower(float power, bool diff=true); @@ -95,6 +101,7 @@ float turretRotXY_, turretRotYZ_, power_; float oldTurretRotXY_, oldTurretRotYZ_, oldPower_; float maxPower_; + int selectPositionX_, selectPositionY_; }; #endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankScore.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankScore.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankScore.cpp 2006-04-05 09:42:12.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankScore.cpp 2006-10-26 08:47:32.000000000 +0900 @@ -28,7 +28,8 @@ static const int maxMoney = 999999; TankScore::TankScore(ScorchedContext &context) : - context_(context), totalMoneyEarned_(0), + context_(context), + totalMoneyEarned_(0), totalScoreEarned_(0), statsRank_("-") { startTime_ = lastStatTime_ = time(0); @@ -42,10 +43,11 @@ void TankScore::newMatch() { + resetTotalEarnedStats(); money_ = 0; setMoney(context_.optionsGame->getStartMoney()); wins_ = 0; - kills_ = 0; + kills_ = turnKills_ = 0; assists_ = 0; score_ = 0; missedMoves_ = 0; @@ -66,9 +68,21 @@ void TankScore::setMoney(int money) { + int oldMoney = money_; money_ = money; if (money_ > maxMoney) money_ = maxMoney; if (money_ < 0) money_ = 0; + + totalMoneyEarned_ += money_ - oldMoney; +} + +void TankScore::setScore(int score) +{ + int oldScore = score_; + score_ = score; + if (score_ < 0) score_ = 0; + + totalScoreEarned_ += score_ - oldScore; } const char *TankScore::getTimePlayedString() @@ -89,13 +103,15 @@ const char *TankScore::getScoreString() { static char score[256]; - snprintf(score, 256, "%i", getScore()); + snprintf(score, 256, "%i (%i$ %iK %iA %iW)", + getScore(), getMoney(), getKills(), getAssists(), getWins(), getMoney()); return score; } bool TankScore::writeMessage(NetBuffer &buffer) { buffer.addToBuffer(kills_); + buffer.addToBuffer(turnKills_); buffer.addToBuffer(assists_); buffer.addToBuffer(money_); buffer.addToBuffer(wins_); @@ -107,6 +123,7 @@ bool TankScore::readMessage(NetBufferReader &reader) { if (!reader.getFromBuffer(kills_)) return false; + if (!reader.getFromBuffer(turnKills_)) return false; if (!reader.getFromBuffer(assists_)) return false; if (!reader.getFromBuffer(money_)) return false; if (!reader.getFromBuffer(wins_)) return false; @@ -123,9 +140,8 @@ return res; } -int TankScore::getTotalMoneyEarnedStat() -{ - int moneyEarned = totalMoneyEarned_; +void TankScore::resetTotalEarnedStats() +{ + totalScoreEarned_ = 0; totalMoneyEarned_ = 0; - return moneyEarned; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankScore.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankScore.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankScore.h 2006-04-05 09:42:12.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankScore.h 2006-10-26 08:47:32.000000000 +0900 @@ -50,7 +50,10 @@ void setWins(int wins) { wins_ = wins; } int getScore() { return score_; } - void setScore(int score) { score_ = score; } + void setScore(int score); + + int getTurnKills() { return turnKills_; } + void setTurnKills(int kills) { turnKills_ = kills; } int getMissedMoves() { return missedMoves_; } void setMissedMoves(int miss) { missedMoves_ = miss; } @@ -65,8 +68,9 @@ // Stuff for stats time_t getTimePlayedStat(); - void addTotalMoneyEarnedStat(int tm) { totalMoneyEarned_ += tm; } - int getTotalMoneyEarnedStat(); + int getTotalMoneyEarnedStat() { return totalMoneyEarned_; } + int getTotalScoreEarnedStat() { return totalScoreEarned_; } + void resetTotalEarnedStats(); void setStatsRank(const char *rank) { statsRank_ = rank; } const char *getStatsRank() { return statsRank_.c_str(); } @@ -82,10 +86,10 @@ std::string statsRank_; std::set hurtBy_; ScorchedContext &context_; - int kills_; + int kills_, turnKills_; int assists_; int money_; - int totalMoneyEarned_; + int totalMoneyEarned_, totalScoreEarned_; int wins_; int score_; int missedMoves_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankShields.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankShields.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankShields.cpp 2006-02-23 00:53:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankShields.cpp 1970-01-01 09:00:00.000000000 +0900 @@ -1,51 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Scorched3D (c) 2000-2003 -// -// This file is part of Scorched3D. -// -// Scorched3D is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// Scorched3D is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Scorched3D; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include - -TankShields::TankShields(ScorchedContext &context) : - context_(context), - tank_(0) -{ -} - -TankShields::~TankShields() -{ -} - -void TankShields::newMatch() -{ -} - -void TankShields::changed() -{ -} - -bool TankShields::writeMessage(NetBuffer &buffer, bool writeAccessories) -{ - return true; -} - -bool TankShields::readMessage(NetBufferReader &reader) -{ - return true; -} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankShields.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankShields.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankShields.h 2006-02-23 00:53:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankShields.h 1970-01-01 09:00:00.000000000 +0900 @@ -1,52 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Scorched3D (c) 2000-2003 -// -// This file is part of Scorched3D. -// -// Scorched3D is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// Scorched3D is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Scorched3D; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//////////////////////////////////////////////////////////////////////////////// - -#if !defined(AFX_TANKSHIELDS_H__88E5EA32_F84D_41E3_AF97_01CBD2874CE3__INCLUDED_) -#define AFX_TANKSHIELDS_H__88E5EA32_F84D_41E3_AF97_01CBD2874CE3__INCLUDED_ - -#include -#include -#include - -class Accessory; -class ScorchedContext; -class Tank; -class TankShields -{ -public: - TankShields(ScorchedContext &context); - virtual ~TankShields(); - - void setTank(Tank *tank) { tank_ = tank; } - - void newMatch(); - void changed(); - - // Serialize - bool writeMessage(NetBuffer &buffer, bool writeAccessories); - bool readMessage(NetBufferReader &reader); - -protected: - ScorchedContext &context_; - Tank *tank_; - -}; - -#endif // !defined(AFX_TANKSHIELDS_H__88E5EA32_F84D_41E3_AF97_01CBD2874CE3__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankTeamScore.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankTeamScore.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankTeamScore.cpp 2006-04-05 09:42:12.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankTeamScore.cpp 2006-07-26 01:44:56.000000000 +0900 @@ -49,6 +49,7 @@ { DIALOG_ASSERT(team > 0 && team < 5); scores_[team] += score; + if (scores_[team] < 0) scores_[team] = 0; } int TankTeamScore::getScore(int team) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankWeapon.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankWeapon.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tank/TankWeapon.cpp 2006-03-07 08:25:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tank/TankWeapon.cpp 2006-11-08 05:53:27.000000000 +0900 @@ -19,10 +19,18 @@ //////////////////////////////////////////////////////////////////////////////// #include +#include #include -#include +#include #include +#include +#include #include +#include +#include +#include +#include +#include TankWeapon::TankWeapon(ScorchedContext &context) : currentWeapon_(0), context_(context), @@ -36,7 +44,7 @@ void TankWeapon::newMatch() { - currentWeapon_ = 0; + setCurrentWeapon(0); } void TankWeapon::changed() @@ -46,9 +54,8 @@ if (weaponCount == 0 || currentWeapon_ == 0) { - std::list result; - tank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryWeapon, result); + std::list &result = + tank_->getAccessories().getAllAccessoriesByGroup("weapon"); if (!result.empty()) { setWeapon(result.front()); @@ -77,14 +84,66 @@ void TankWeapon::setCurrentWeapon(Accessory *wp) { + if (!context_.serverMode) + { + // Only show this information on this tanks client + if (ScorchedClient::instance()->getTankContainer().getCurrentDestinationId() == + tank_->getDestinationId() && + ScorchedClient::instance()->getGameState().getState() == ClientState::StatePlaying) + { + + // Turn off fuel display (if any) + if (currentWeapon_ && + currentWeapon_->getPositionSelect() != Accessory::ePositionSelectNone) + { + Landscape::instance()->restoreLandscapeTexture(); + } + // Turn on selection display (if any) + if (wp && + wp->getPositionSelect() != Accessory::ePositionSelectNone) + { + if (wp->getPositionSelect() == Accessory::ePositionSelectFuel) + { + WeaponMoveTank *moveWeapon = (WeaponMoveTank *) + context_.accessoryStore->findAccessoryPartByAccessoryId( + wp->getAccessoryId(), "WeaponMoveTank"); + if (moveWeapon) + { + MovementMap mmap( + context_.landscapeMaps->getGroundMaps().getMapWidth(), + context_.landscapeMaps->getGroundMaps().getMapHeight()); + mmap.calculateForTank( + tank_, + moveWeapon, + context_, + !moveWeapon->getUseFuel()); + mmap.movementTexture(); + } + } + else if (wp->getPositionSelect() == Accessory::ePositionSelectLimit) + { + MovementMap::limitTexture(tank_->getTargetPosition(), + wp->getPositionSelectLimit()); + } + + MessageDialog::instance()->clear(); + MessageDialog::instance()->addMessage( + formatString("Click ground to activate %s", wp->getName())); + } + + } + } + currentWeapon_ = wp; } void TankWeapon::nextWeapon() { - std::list result; - tank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryWeapon, result); + std::list &result = + tank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryWeapon); + context_.accessoryStore->sortList(result, + OptionsDisplay::instance()->getSortAccessories()); std::list::iterator itor; for (itor = result.begin(); @@ -105,9 +164,11 @@ void TankWeapon::prevWeapon() { - std::list result; - tank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryWeapon, result); + std::list &result = + tank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryWeapon); + context_.accessoryStore->sortList(result, + OptionsDisplay::instance()->getSortAccessories()); std::list::iterator itor; for (itor = result.begin(); @@ -130,6 +191,8 @@ const char *TankWeapon::getWeaponString() { + if (!getCurrent()) return ""; + static char buffer[256]; int count = tank_->getAccessories().getAccessoryCount(getCurrent()); snprintf(buffer, 256, ((count>0)?"%s (%i)":"%s (In)"), diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIAdder.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIAdder.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIAdder.cpp 2006-07-10 09:48:24.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIAdder.cpp 2006-09-22 06:57:13.000000000 +0900 @@ -131,7 +131,7 @@ Vector color = TankColorGenerator::instance()->getNextColor( context.getTankContainer().getPlayingTanks()); TankModel *tankModel = - context.getTankModels().getRandomModel(team, true); + context.getTankModels().getRandomModel(team, false); // Create the new tank Tank *tank = new Tank( @@ -188,7 +188,7 @@ if (context.getGameState().getState() == ServerState::ServerStateTooFewPlayers || context.getGameState().getState() == ServerState::ServerStateStarting) { - ComsPlayerStateMessage message; + ComsPlayerStateMessage message(true); ComsMessageSender::sendToAllConnectedClients(message); } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIComputerAim.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIComputerAim.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIComputerAim.cpp 2006-01-27 01:47:51.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIComputerAim.cpp 2006-10-05 20:24:48.000000000 +0900 @@ -86,8 +86,10 @@ DIALOG_ASSERT(finditor != madeShots_.end()); // Add this position - (*finditor).second.shotList.back().finalpos = position; - (*finditor).second.lastShot = position; + (*finditor).second.shotList.back().finalDist = + position - currentTank_->getTargetPosition(); + (*finditor).second.lastDist = + position - currentTank_->getTargetPosition(); } lastShot_ = 0; @@ -159,7 +161,8 @@ { MadeShot &shot = *inneritor; - float distanceX = fabsf(shot.finalpos[0] - tankPosition[0]); + Vector finalPos = shot.finalDist + currentTank_->getTargetPosition(); + float distanceX = fabsf(finalPos[0] - tankPosition[0]); if (distanceX < nearestDistanceX) { // Find a close enough shot or @@ -171,7 +174,7 @@ nearestDistanceX = distanceX; } } - float distanceY = fabsf(shot.finalpos[1] - tankPosition[1]); + float distanceY = fabsf(finalPos[1] - tankPosition[1]); if (distanceY < nearestDistanceY) { if (distanceY < 15.0f || @@ -199,8 +202,9 @@ // Figure out the new best angle Vector newVelocity = oldVelocity; - newVelocity[0] -= (nearestX->finalpos[0] - tankPosition[0]) * 0.1f; - newVelocity[1] -= (nearestY->finalpos[1] - tankPosition[1]) * 0.1f; + Vector finalPos = nearestX->finalDist + currentTank_->getTargetPosition(); + newVelocity[0] -= (finalPos[0] - tankPosition[0]) * 0.1f; + newVelocity[1] -= (finalPos[1] - tankPosition[1]) * 0.1f; float angleXYRads = atan2f(newVelocity[1], newVelocity[0]); angleXYDegs = (angleXYRads / 3.14f) * 180.0f - 90.0f; @@ -272,6 +276,18 @@ return false; } + // Check the tank is still in the same position as when we last fired + Vector to = tank->getTargetPosition(); to[2] = 0.0f; + Vector from = (*finditor).second.lastTankPosition; from[2] = 0.0f; + if ((to-from).Magnitude() > 5.0f) + { + // Remove all shots at this tank + madeShots_.erase(finditor); + + // Make a random shot + return false; + } + // Get the current distance to tank float distToTank = (currentTank_->getPosition().getTankPosition() - tank->getPosition().getTankPosition()).Magnitude(); @@ -294,8 +310,9 @@ itor != shotList.end(); itor++) { + Vector finalPos = (*itor).finalDist + currentTank_->getTargetPosition(); float newDistToTank = (currentTank_->getPosition().getTankPosition() - - (*itor).finalpos).Magnitude(); + finalPos).Magnitude(); if (newDistToTank > closestLessDistToTank && newDistToTank <= distToTank) { @@ -303,7 +320,7 @@ // Store its power and distance closestLessDistToTank = newDistToTank; closestLessPower = (*itor).power; - closestLessPos = (*itor).finalpos; + closestLessPos = finalPos; closestLessXY = (*itor).angleXYDegs; closestLessYZ = (*itor).angleYZDegs; } @@ -315,7 +332,7 @@ // Store its power and distance closestMoreDistToTank = newDistToTank; closestMorePower = (*itor).power; - closestMorePos = (*itor).finalpos; + closestMorePos = finalPos; closestMoreXY = (*itor).angleXYDegs; closestMoreYZ = (*itor).angleYZDegs; } @@ -412,8 +429,11 @@ if (finditor != madeShots_.end()) { noShots = (*finditor).second.shotCount; + + Vector lastShot = (*finditor).second.lastDist + + currentTank_->getTargetPosition(); distance = (targetTank->getPosition().getTankPosition()- - (*finditor).second.lastShot).Magnitude(); + lastShot).Magnitude(); } // Check if we can make a sniper shot to the target @@ -487,6 +507,7 @@ newMadeShot.power = power; madeShots_[targetTank->getPlayerId()].shotList.push_back(newMadeShot); madeShots_[targetTank->getPlayerId()].shotCount++; + madeShots_[targetTank->getPlayerId()].lastTankPosition = targetTank->getTargetPosition(); lastShot_ = targetTank->getPlayerId(); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIComputerAim.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIComputerAim.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIComputerAim.h 2006-01-14 21:37:55.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIComputerAim.h 2006-10-05 20:24:48.000000000 +0900 @@ -51,7 +51,7 @@ float angleXYDegs; float angleYZDegs; float power; - Vector finalpos; + Vector finalDist; }; struct ShotListEntry { @@ -60,7 +60,8 @@ { } int shotCount; - Vector lastShot; + Vector lastDist; + Vector lastTankPosition; std::list shotList; }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIComputer.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIComputer.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIComputer.cpp 2006-02-24 23:55:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIComputer.cpp 2006-09-22 08:43:12.000000000 +0900 @@ -34,6 +34,7 @@ TankAIComputer::TankAIComputer() : primaryShot_(true), availableForRandom_(true), + availableForPlayers_(true), useShields_(true), useParachutes_(true), useBatteries_(true), @@ -85,7 +86,8 @@ description_.setText( name.c_str(), description.c_str()); - + + node->getNamedChild("availableforplayers", availableForPlayers_, false); if (!store) return true; ////// Shallow parse @@ -107,6 +109,7 @@ // Available when random is chosen if (!node->getNamedChild("availableforrandom", availableForRandom_)) return false; + if (!availableForPlayers_) availableForRandom_ = false; // Aiming info if (!tankAim_.parseConfig(node)) return false; @@ -194,43 +197,39 @@ void TankAIComputer::selectFirstShield() { - std::list shields; - currentTank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryShield, shields); + if (currentTank_->getShield().getCurrentShield()) return; + + std::list &shields = + currentTank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryShield); if (!shields.empty()) { Accessory *shield = shields.front(); - if (!currentTank_->getShield().getCurrentShield()) - { - shieldsUpDown(shield->getAccessoryId()); - } + shieldsUpDown(shield->getAccessoryId()); } } -void TankAIComputer::raiseDefenses() +void TankAIComputer::selectFirstParachute() { - // Try to enable parachutes (fails if we don't have any) - if (currentTank_->getAccessories().getParachutes().getNoParachutes() != 0 && - useParachutes_) + if (currentTank_->getParachute().getCurrentParachute()) return; + + std::list ¶chutes = + currentTank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryParachute); + if (!parachutes.empty()) { - if (!currentTank_->getParachute().parachutesEnabled()) - { - std::list parachutes; - currentTank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryParachute, parachutes); - if (parachutes.size() == 1) - { - parachutesUpDown(parachutes.front()->getAccessoryId()); - } - } + Accessory *parachute = parachutes.front(); + parachutesUpDown(parachute->getAccessoryId()); } +} + +void TankAIComputer::raiseDefenses() +{ + // Try to enable parachutes (fails if we don't have any) + if (useParachutes_) selectFirstParachute(); // Try to raise shields (fails if we don't have any) - if (!currentTank_->getShield().getCurrentShield() && - useShields_) - { - selectFirstShield(); - } + if (useShields_) selectFirstShield(); } void TankAIComputer::say(const char *text) @@ -258,9 +257,9 @@ currentTank_->getLife().getMaxLife() && currentTank_->getAccessories().getBatteries().getNoBatteries() != 0) { - std::list entries; - currentTank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryBattery, entries); + std::list &entries = + currentTank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryBattery); if (!entries.empty()) { useBattery(entries.front()->getAccessoryId()); @@ -313,8 +312,11 @@ currentTank_->getAccessories().getWeapons().setWeapon(accessory); } - fireShot(); - return; + if (currentTank_->getAccessories().getWeapons().getCurrent()) + { + fireShot(); + return; + } } else if (aimResult == TankAIComputerAim::AimBurried) { @@ -347,7 +349,9 @@ currentWeapon->getAccessoryId(), currentTank_->getPosition().getRotationGunXY(), currentTank_->getPosition().getRotationGunYZ(), - currentTank_->getPosition().getPower()); + currentTank_->getPosition().getPower(), + currentTank_->getPosition().getSelectPositionX(), + currentTank_->getPosition().getSelectPositionY()); ServerShotHolder::instance()->addShot(currentTank_->getPlayerId(), message); } @@ -367,15 +371,6 @@ ServerShotHolder::instance()->addShot(currentTank_->getPlayerId(), message); } -void TankAIComputer::move(int x, int y, unsigned int fuelId) -{ - ComsPlayedMoveMessage *message = - new ComsPlayedMoveMessage( - currentTank_->getPlayerId(), ComsPlayedMoveMessage::eMove); - message->setPosition(fuelId, x, y); - ServerShotHolder::instance()->addShot(currentTank_->getPlayerId(), message); -} - void TankAIComputer::parachutesUpDown(unsigned int paraId) { ComsDefenseMessage defenseMessage( diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIComputer.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIComputer.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIComputer.h 2006-02-23 00:53:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIComputer.h 2006-09-22 08:43:12.000000000 +0900 @@ -57,6 +57,7 @@ // Indicates if this computer ai is available for choice by // the random tank ai type virtual bool availableForRandom() { return availableForRandom_; } + virtual bool availableForPlayers() { return availableForPlayers_; } // Tank move methods and tank defense methods // @@ -67,7 +68,6 @@ virtual void fireShot(); virtual void skipShot(); virtual void resign(); - virtual void move(int x, int y, unsigned int fuelId); virtual void parachutesUpDown(unsigned int paraId=0); virtual void shieldsUpDown(unsigned int name=0); virtual void useBattery(unsigned int batteryId); @@ -82,6 +82,7 @@ std::vector tankBuyers_; bool primaryShot_; bool availableForRandom_; + bool availableForPlayers_; bool useParachutes_; bool useShields_; bool useBatteries_; @@ -89,6 +90,7 @@ TankAIComputerBuyer *getTankBuyer(); void selectFirstShield(); + void selectFirstParachute(); void raiseDefenses(); }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAI.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAI.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAI.h 2005-12-11 01:50:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAI.h 2006-09-22 08:43:12.000000000 +0900 @@ -45,6 +45,7 @@ virtual bool isHuman() = 0; virtual TankAI *getCopy(Tank *tank) = 0; virtual bool availableForRandom() { return false; } + virtual bool availableForPlayers() { return true; } // State information about when the ai should act // diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIHuman.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIHuman.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIHuman.cpp 2006-03-14 02:27:44.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIHuman.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -105,7 +105,15 @@ KEYBOARDKEY("FIRE_WEAPON", fireKey); if (fireKey->keyDown(buffer, keyState, false)) { - fireShot(); + // Only allow the standard fire key when we are not selecting a point + // on the landscape. + Accessory *currentWeapon = + currentTank_->getAccessories().getWeapons().getCurrent(); + if (currentWeapon && + currentWeapon->getPositionSelect() == Accessory::ePositionSelectNone) + { + fireShot(); + } } KEYBOARDKEY("AUTO_AIM", aimKey); @@ -117,9 +125,9 @@ KEYBOARDKEY("ENABLE_PARACHUTES", parachuteKey); if (parachuteKey->keyDown(buffer, keyState, false)) { - std::list parachutes; - currentTank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryParachute, parachutes); + std::list ¶chutes = + currentTank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryParachute); if (parachutes.size() == 1) { parachutesUpDown(parachutes.front()->getAccessoryId()); @@ -131,9 +139,9 @@ { if (!currentTank_->getShield().getCurrentShield()) { - std::list shields; - currentTank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryShield, shields); + std::list &shields = + currentTank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryShield); if (shields.size() == 1) { shieldsUpDown(shields.front()->getAccessoryId()); @@ -147,9 +155,9 @@ if (currentTank_->getLife().getLife() < currentTank_->getLife().getMaxLife()) { - std::list entries; - currentTank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryBattery, entries); + std::list &entries = + currentTank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryBattery); if (!entries.empty()) { useBattery(entries.front()->getAccessoryId()); @@ -469,7 +477,9 @@ currentWeapon->getAccessoryId(), currentTank_->getPosition().getRotationGunXY(), currentTank_->getPosition().getRotationGunYZ(), - currentTank_->getPosition().getPower()); + currentTank_->getPosition().getPower(), + currentTank_->getPosition().getSelectPositionX(), + currentTank_->getPosition().getSelectPositionY()); // If so we send this move to the server ComsMessageSender::sendToServer(comsMessage); @@ -505,20 +515,6 @@ ScorchedClient::instance()->getGameState().stimulate(ClientState::StimWait); } -void TankAIHuman::move(int x, int y, unsigned int fuelId) -{ - // send message saying we are finished with shot - ComsPlayedMoveMessage comsMessage( - currentTank_->getPlayerId(), ComsPlayedMoveMessage::eMove); - comsMessage.setPosition(fuelId, x, y); - - // If so we send this move to the server - ComsMessageSender::sendToServer(comsMessage); - - // Stimulate into the next state waiting for all the shots - ScorchedClient::instance()->getGameState().stimulate(ClientState::StimWait); -} - void TankAIHuman::parachutesUpDown(unsigned int paraId) { ComsDefenseMessage defenseMessage( diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIHumanCtrl.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIHumanCtrl.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIHumanCtrl.cpp 2006-01-23 09:35:44.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIHumanCtrl.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -37,7 +37,8 @@ return instance_; } -TankAIHumanCtrl::TankAIHumanCtrl() +TankAIHumanCtrl::TankAIHumanCtrl() : + GameStateI("TankAIHumanCtrl") { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIHuman.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIHuman.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIHuman.h 2006-02-23 00:53:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIHuman.h 2006-09-11 09:25:22.000000000 +0900 @@ -54,8 +54,7 @@ virtual void fireShot(); virtual void skipShot(); virtual void resign(); - virtual void move(int x, int y, unsigned int fuelId); - virtual void parachutesUpDown(unsigned int paraId = 0); + virtual void parachutesUpDown(unsigned int paraId=0); virtual void shieldsUpDown(unsigned int shieldId=0); virtual void useBattery(unsigned int batteryId); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIStore.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIStore.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankai/TankAIStore.cpp 2006-02-14 02:54:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankai/TankAIStore.cpp 2006-09-12 05:43:07.000000000 +0900 @@ -100,6 +100,26 @@ // Add the random player { + bool foundRandom = false; + std::list::iterator itor; + for (itor = ais_.begin(); + itor != ais_.end(); + itor++) + { + TankAI *ai = (*itor); + if (ai->availableForRandom()) + { + foundRandom = true; + break; + } + } + if (!foundRandom) + { + dialogMessage("TankAIStore", + "No tank ais are marked availableforrandom"); + return false; + } + TankAI *tankAI = new TankAIComputer; tankAI->getDescription().setText("Random", "A computer controlled player.\n" diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/GLWTankTip.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/GLWTankTip.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/GLWTankTip.cpp 2006-07-11 10:36:06.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/GLWTankTip.cpp 2006-10-13 06:15:53.000000000 +0900 @@ -21,8 +21,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -68,7 +68,7 @@ void TankUndoMenu::itemSelected(GLWSelectorEntry *entry, int position) { - tank_->getPosition().revertSettings((unsigned int) entry->getUserData()); + tank_->getPosition().revertSettings((unsigned long) entry->getUserData()); } TankFuelTip::TankFuelTip(Tank *tank) : @@ -82,34 +82,29 @@ void TankFuelTip::populate() { - std::string extra; - std::list entries; - tank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryFuel, entries); - std::list::iterator itor; - for (itor = entries.begin(); - itor != entries.end(); - itor++) + Accessory *weapon = tank_->getAccessories().getWeapons().getCurrent(); + if (weapon && + weapon->getPositionSelect() == Accessory::ePositionSelectFuel) { - Accessory *accessory = (*itor); - int count = tank_->getAccessories().getAccessoryCount(accessory); - if (count == -1) - { - extra.append(formatString("\n%s : In", - accessory->getName())); - } - else - { - extra.append(formatString("\n%s : %i", - accessory->getName(), count)); - } - } + char buffer[128]; + int count = tank_->getAccessories().getAccessoryCount(weapon); + if (count >= 0) snprintf(buffer, 128, "%i", count); + else snprintf(buffer, 128, "Infinite"); - setText("Fuel", formatString( - "Allows the tank to move.\n" - "Click to toggle movement mode." - "%s", - extra.c_str())); + setText("Fuel", formatString( + "Allows the tank to move.\n" + "Click to toggle movement mode.\n" + "Current Fuel : %s (%s)", + weapon->getName(), + buffer)); + } + else + { + setText("Fuel", formatString( + "Allows the tank to move.\n" + "Click to toggle movement mode.\n" + "Current Fuel : Off")); + } } void TankFuelTip::showItems(float x, float y) @@ -118,17 +113,11 @@ "Don't select fuel or\n" "turn off any fuel."); - unsigned int currentFuelId = 0; - if (Landscape::instance()->getTextureType() == - Landscape::eMovement) - { - currentFuelId = MovementMap::getFuelId(); - } - std::list entries; - std::list fuels; - tank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryFuel, fuels, + std::list &fuels = + tank_->getAccessories().getAllAccessoriesByGroup("fuel"); + ScorchedClient::instance()->getAccessoryStore().sortList( + fuels, OptionsDisplay::instance()->getSortAccessories()); std::list::iterator itor; for (itor = fuels.begin(); @@ -151,7 +140,8 @@ current->getName()); } entries.push_back(GLWSelectorEntry(buffer, ¤t->getToolTip(), - (currentFuelId == current->getAccessoryId()), current->getTexture(), current)); + (tank_->getAccessories().getWeapons().getCurrent() == current), + current->getTexture(), current)); } entries.push_back(GLWSelectorEntry("Off", &offTip, 0, 0, 0)); GLWSelector::instance()->showSelector(this, x, y, entries, @@ -160,22 +150,22 @@ void TankFuelTip::itemSelected(GLWSelectorEntry *entry, int position) { - TankAIHuman *tankAI = (TankAIHuman *) tank_->getTankAI(); - if (Landscape::instance()->getTextureType() == Landscape::eMovement) + Accessory *accessory = ((Accessory *)entry->getUserData()); + if (accessory) { - Landscape::instance()->restoreLandscapeTexture(); + tank_->getAccessories().getWeapons().setWeapon(accessory); } - if (entry->getUserData() != 0) + else { - if (Landscape::instance()->getTextureType() != Landscape::eMovement) + std::list &entries = + tank_->getAccessories().getAllAccessoriesByGroup("weapon"); + if (!entries.empty()) + { + tank_->getAccessories().getWeapons().setWeapon(entries.front()); + } + else { - MovementMap mmap( - ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getMapWidth(), - ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getMapHeight()); - mmap.calculateForTank(tank_, - ((Accessory *)entry->getUserData())->getAccessoryId(), - ScorchedClient::instance()->getContext()); - mmap.movementTexture(); + tank_->getAccessories().getWeapons().setWeapon(0); } } } @@ -236,14 +226,14 @@ void TankBatteryTip::itemSelected(GLWSelectorEntry *entry, int position) { TankAIHuman *tankAI = (TankAIHuman *) tank_->getTankAI(); - for (int i=1; i<=(int) entry->getUserData(); i++) + for (int i=1; i<=(long) entry->getUserData(); i++) { if (tank_->getLife().getLife() < tank_->getLife().getMaxLife()) { - std::list entries; - tank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryBattery, entries); + std::list &entries = + tank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryBattery); if (!entries.empty()) { tankAI->useBattery(entries.front()->getAccessoryId()); @@ -270,9 +260,11 @@ Accessory *currentShield = tank_->getShield().getCurrentShield(); std::list entries; - std::list shields; - tank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryShield, shields, + std::list &shields = + tank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryShield); + ScorchedClient::instance()->getAccessoryStore().sortList( + shields, OptionsDisplay::instance()->getSortAccessories()); std::list::iterator itor; for (itor = shields.begin(); @@ -372,39 +364,74 @@ void TankParachutesTip::populate() { - int count = tank_->getAccessories().getParachutes().getNoParachutes(); - char buffer[128]; - if (count >= 0) snprintf(buffer, 128, "%i", count); - else snprintf(buffer, 128, "Infinite"); - setText("Parachutes", formatString( - "Prevents the tank from taking damage\n" - "when falling. Must be enabled before\n" - "they take effect.\n" - "Click to enable/disable parachutes.\n" - "Number Parachutes : %s\n" - "Status : %s", - buffer, - (tank_->getParachute().parachutesEnabled()? - "On":"Off"))); + if (tank_->getParachute().getCurrentParachute()) + { + char buffer[128]; + int count = tank_->getAccessories().getAccessoryCount( + tank_->getParachute().getCurrentParachute()); + if (count >= 0) snprintf(buffer, 128, "%i", count); + else snprintf(buffer, 128, "Infinite"); + + setText("Parachutes", formatString( + "Prevents the tank from taking damage\n" + "when falling. Must be enabled before\n" + "they take effect.\n" + "Click to enable/disable parachutes.\n" + "Current Parachute : %s (%s)\n", + tank_->getParachute().getCurrentParachute()->getName(), + buffer)); + } + else + { + setText("Parachutes", formatString( + "Prevents the tank from taking damage\n" + "when falling. Must be enabled before\n" + "they take effect.\n" + "Click to enable/disable parachutes.\n" + "Current Parachute : Off")); + } } void TankParachutesTip::showItems(float x, float y) { - static GLWTip useTip("Parachutes On", - "Enable parachutes."); - static GLWTip offTip("Parachutes Off", - "Disable parachutes."); - + static GLWTip offTip("Parachute Off", + "Don't select a parachute or\n" + "turn off any current parachute"); + + Accessory *currentParachute = + tank_->getParachute().getCurrentParachute(); std::list entries; - int count = tank_->getAccessories().getParachutes().getNoParachutes(); - if (count != 0) + std::list ¶chutes = + tank_->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryParachute); + ScorchedClient::instance()->getAccessoryStore().sortList( + parachutes, + OptionsDisplay::instance()->getSortAccessories()); + + std::list::iterator itor; + for (itor = parachutes.begin(); + itor != parachutes.end(); + itor++) { + Accessory *current = (*itor); + int count = tank_->getAccessories().getAccessoryCount(current); + char buffer[128]; - if (count >= 0) snprintf(buffer, 128, "On (%i)", count); - else snprintf(buffer, 128, "On (In)"); - entries.push_back(GLWSelectorEntry(buffer, &useTip, 0, 0, (void *) 1)); + if (count >= 0) + { + snprintf(buffer, 128, "%s (%i)", + current->getName(), + count); + } + else + { + snprintf(buffer, 128, "%s (In)", + current->getName()); + } + entries.push_back(GLWSelectorEntry(buffer, ¤t->getToolTip(), + (currentParachute == current), current->getTexture(), current)); } - entries.push_back(GLWSelectorEntry("Off", &offTip, 0, 0, (void *) 0)); + entries.push_back(GLWSelectorEntry("Off", &offTip, 0, 0, 0)); GLWSelector::instance()->showSelector(this, x, y, entries, ClientState::StatePlaying); } @@ -412,21 +439,8 @@ void TankParachutesTip::itemSelected(GLWSelectorEntry *entry, int position) { TankAIHuman *tankAI = (TankAIHuman *) tank_->getTankAI(); - - if (entry->getUserData()==0) - { - tankAI->parachutesUpDown(0); - } - else - { - std::list parachutes; - tank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryParachute, parachutes); - if (parachutes.size() == 1) - { - tankAI->parachutesUpDown(parachutes.front()->getAccessoryId()); - } - } + if (entry->getUserData() == 0) tankAI->parachutesUpDown(0); + else tankAI->parachutesUpDown(((Accessory *)entry->getUserData())->getAccessoryId()); } TankAutoDefenseTip::TankAutoDefenseTip(Tank *tank) : @@ -507,9 +521,10 @@ Accessory *currentWeapon = tank_->getAccessories().getWeapons().getCurrent(); - std::list weapons; - tank_->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryWeapon, weapons, + std::list &weapons = + tank_->getAccessories().getAllAccessoriesByGroup("weapon"); + ScorchedClient::instance()->getAccessoryStore().sortList( + weapons, OptionsDisplay::instance()->getSortAccessories()); std::list::iterator itor; for (itor = weapons.begin(); @@ -540,7 +555,6 @@ void TankWeaponTip::itemSelected(GLWSelectorEntry *entry, int position) { - TankAIHuman *tankAI = (TankAIHuman *) tank_->getTankAI(); tank_->getAccessories().getWeapons().setWeapon((Accessory *) entry->getUserData()); } @@ -555,13 +569,13 @@ void TankPowerTip::populate() { - if (tank_->getAccessories().getWeapons().getCurrent()) { setText("Power", formatString( "The power used to fire the %s.\n" "Click to revert back to previous settings.\n" "Power : %s", - tank_->getAccessories().getWeapons().getCurrent()->getName(), + (tank_->getAccessories().getWeapons().getCurrent()? + tank_->getAccessories().getWeapons().getCurrent()->getName():"Current Weapon"), tank_->getPosition().getPowerString())); } } @@ -620,13 +634,9 @@ { Tank *tank = (Tank *) target; - if (tank->getState().getMaxLives() > 1) - { - tip += formatString("\nLives : %i/%i", - tank->getState().getLives(), - tank->getState().getMaxLives()); - } - + tip += formatString("\nLives : %i/%i", + tank->getState().getLives(), + tank->getState().getMaxLives()); tip += formatString("\nScore : %i", tank->getScore().getScore()); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/GLWTankViewer.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/GLWTankViewer.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/GLWTankViewer.cpp 2006-06-12 07:32:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/GLWTankViewer.cpp 2006-10-21 23:16:22.000000000 +0900 @@ -83,7 +83,25 @@ void GLWTankViewer::setTeam(int team) { team_ = team; + + // Save current model + int scrollCurrent = scrollBar_.getCurrent(); + TankModel *model = 0; + if (selected_ >= 0 && + selected_ < (int) models_.size()) + { + model = models_[selected_]; + } + + // Show new team models select(0, 0, GLWSelectorEntry(catagoryChoice_.getCurrentText())); + + // Select old model + scrollBar_.setCurrent(scrollCurrent); + for (int i=0; i<(int)models_.size(); i++) + { + if (models_[i] == model) selected_ = i; + } } void GLWTankViewer::select(unsigned int id, @@ -184,7 +202,8 @@ const char *GLWTankViewer::getModelName() { const char *name = "None"; - if (!models_.empty()) + if (selected_ >= 0 && + selected_ < (int) models_.size()) { name = models_[selected_]->getName(); } @@ -210,6 +229,12 @@ void GLWTankViewer::draw() { + Vector4 sunPosition(-100.0f, 100.0f, 400.0f, 1.0f); + Vector4 sunDiffuse(0.9f, 0.9f, 0.9f, 1.0f); + Vector4 sunAmbient(0.4f, 0.4f, 0.4f, 1.0f); + glLightfv(GL_LIGHT1, GL_AMBIENT, sunAmbient); + glLightfv(GL_LIGHT1, GL_DIFFUSE, sunDiffuse); + glBegin(GL_LINE_LOOP); drawShadedRoundBox(x_, y_, w_, h_, 6.0f, false); glEnd(); @@ -262,6 +287,7 @@ float scale = 22.0f / 60.0f * TankSquareSize; glPushMatrix(); glTranslatef(posX, posY - 5.0f, 0.0f); + glLightfv(GL_LIGHT1, GL_POSITION, sunPosition); glRotatef(-45.0f, 1.0f, 0.0f, 0.0f); if (currselected) glRotatef(rot_, 0.0f, 0.0f, 1.0f); @@ -280,6 +306,8 @@ const float infoY = infoWindow_.getY() + (infoWindow_.getH() / 2.0f) - 15.0f; glPushMatrix(); glTranslatef(infoX, infoY, 0.0f); + glLightfv(GL_LIGHT1, GL_POSITION, sunPosition); + drawCaption(selected_); glRotatef(-45.0f, 1.0f, 0.0f, 0.0f); glRotatef(rot_, 0.0f, 0.0f, 1.0f); @@ -293,12 +321,12 @@ catagoryChoice_.draw(); } -void GLWTankViewer::mouseDown(float x, float y, bool &skipRest) +void GLWTankViewer::mouseDown(int button, float x, float y, bool &skipRest) { - scrollBar_.mouseDown(x, y, skipRest); + scrollBar_.mouseDown(button, x, y, skipRest); if (!skipRest) { - catagoryChoice_.mouseDown(x, y, skipRest); + catagoryChoice_.mouseDown(button, x, y, skipRest); if (!skipRest) { if (inBox(x, y, x_, y_, w_, h_)) @@ -317,14 +345,14 @@ } } -void GLWTankViewer::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWTankViewer::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { - scrollBar_.mouseDrag(mx, my, x, y, skipRest); + scrollBar_.mouseDrag(button, mx, my, x, y, skipRest); } -void GLWTankViewer::mouseUp(float x, float y, bool &skipRest) +void GLWTankViewer::mouseUp(int button, float x, float y, bool &skipRest) { - scrollBar_.mouseUp(x, y, skipRest); + scrollBar_.mouseUp(button, x, y, skipRest); } void GLWTankViewer::mouseWheel(float x, float y, float z, bool &skipRest) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/GLWTankViewer.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/GLWTankViewer.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/GLWTankViewer.h 2006-06-12 07:32:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/GLWTankViewer.h 2006-09-22 06:02:30.000000000 +0900 @@ -46,9 +46,9 @@ // Inhertied from GLWidget virtual void draw(); virtual void simulate(float frameTime); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual void mouseWheel(float x, float y, float z, bool &skipRest); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/RenderGeoms.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/RenderGeoms.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/RenderGeoms.cpp 2006-04-06 22:26:56.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/RenderGeoms.cpp 2006-10-30 22:44:41.000000000 +0900 @@ -43,20 +43,24 @@ if (!OptionsDisplay::instance()->getDrawCollisionGeoms()) return; GLState glState(GLState::TEXTURE_OFF); - glColor3f(1.0f, 1.0f, 1.0f); + drawSpace(ScorchedClient::instance()->getActionController(). + getPhysics().getTargetSpace()); + drawSpace(ScorchedClient::instance()->getActionController(). + getPhysics().getTankSpace()); + drawSpace(ScorchedClient::instance()->getActionController(). + getPhysics().getParticleSpace()); +} + +void RenderGeoms::drawSpace(dSpaceID space) +{ int enabledGeoms = 0; - int geoms = - dSpaceGetNumGeoms( - ScorchedClient::instance()->getActionController(). - getPhysics().getSpace()); + int geoms = dSpaceGetNumGeoms(space); for (int i=0; igetActionController(). - getPhysics().getSpace(), i); - if (dGeomIsEnabled(geom) != 1) continue; + dGeomID geom = dSpaceGetGeom(space, i); + if (dGeomIsEnabled(geom) != 1) glColor3f(1.0f, 0.0f, 0.0f); + else glColor3f(1.0f, 1.0f, 1.0f); int geomClass = dGeomGetClass(geom); if (geomClass == dSphereClass) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/RenderGeoms.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/RenderGeoms.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/RenderGeoms.h 2006-04-06 22:26:56.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/RenderGeoms.h 2006-09-13 07:27:41.000000000 +0900 @@ -21,12 +21,18 @@ #if !defined(__INCLUDE_RenderGeomsh_INCLUDE__) #define __INCLUDE_RenderGeomsh_INCLUDE__ +#include + class RenderGeoms { public: static RenderGeoms *instance(); virtual void draw(const unsigned state); + +protected: + void drawSpace(dSpaceID space); + private: RenderGeoms(); virtual ~RenderGeoms(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/RenderTargets.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/RenderTargets.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/RenderTargets.cpp 2006-04-23 00:16:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/RenderTargets.cpp 2006-10-03 00:34:26.000000000 +0900 @@ -25,7 +25,7 @@ #include #include #include -#include +#include #include RenderTargets *RenderTargets::instance_ = 0; @@ -59,7 +59,7 @@ RenderTargets::instance()->draw(RenderTargets::Type3D, state); } -void RenderTargets::Renderer3D::simulate(const unsigned state, float simTime) +void RenderTargets::Renderer2D::simulate(const unsigned state, float simTime) { // Simulate the HUD TargetRendererImplTankHUD::simulate(simTime); @@ -96,7 +96,7 @@ void RenderTargets::draw(DrawType dt, const unsigned state) { - Vector &campos = MainCamera::instance()->getCamera().getCurrentPos(); + Vector &campos = GLCamera::getCurrentCamera()->getCurrentPos(); // Sort all of the tanks std::vector > sortedTargets; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/RenderTargets.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/RenderTargets.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/RenderTargets.h 2006-03-10 09:58:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/RenderTargets.h 2006-09-17 02:15:45.000000000 +0900 @@ -31,14 +31,18 @@ struct Renderer3D : public GameStateI { + Renderer3D() : GameStateI("RenderTargets3D") {} + // Inherited from GameStateI virtual void draw(const unsigned state); - virtual void simulate(const unsigned state, float simTime); } render3D; struct Renderer2D : public GameStateI { + Renderer2D() : GameStateI("RenderTargets2D") {} + // Inherited from GameStateI virtual void draw(const unsigned state); + virtual void simulate(const unsigned state, float simTime); } render2D; friend struct Renderer3D; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/RenderTracer.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/RenderTracer.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/RenderTracer.cpp 2006-03-10 09:58:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/RenderTracer.cpp 2006-09-17 02:15:45.000000000 +0900 @@ -32,7 +32,9 @@ return instance_; } -RenderTracer::RenderTracer() : current_(0), listNo_(0) +RenderTracer::RenderTracer() : + GameStateI("RenderTracer"), + current_(0), listNo_(0) { obj_ = gluNewQuadric(); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TankMenus.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TankMenus.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TankMenus.cpp 2006-07-11 01:48:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TankMenus.cpp 2006-10-12 08:07:08.000000000 +0900 @@ -82,6 +82,12 @@ new GLConsoleRuleFnIBooleanAdapter( "ActionProfiling", ScorchedServer::instance()->getActionController().getActionProfiling()); + new GLConsoleRuleFnIBooleanAdapter( + "StateLogging", + ScorchedClient::instance()->getGameState().getStateLogging()); + new GLConsoleRuleFnIBooleanAdapter( + "StateTimeLogging", + ScorchedClient::instance()->getGameState().getStateTimeLogging()); new GLConsoleRuleMethodIAdapter( this, &TankMenus::showInventory, "TankInventory"); @@ -90,11 +96,14 @@ logToFile(); } - if (false) // Debuging + unsigned int logState = OptionsDisplay::instance()->getClientLogState(); + if (logState & 0x1) { - logToFile(); ScorchedServer::instance()->getGameState().getStateLogging() = true; ScorchedClient::instance()->getGameState().getStateLogging() = true; + } + if (logState & 0x2) + { ScorchedServer::instance()->getComsMessageHandler().getMessageLogging() = true; ScorchedClient::instance()->getComsMessageHandler().getMessageLogging() = true; } @@ -193,7 +202,9 @@ tank->getName())); std::list accessories; - tank->getAccessories().getAllAccessories(accessories, true); + tank->getAccessories().getAllAccessories(accessories); + ScorchedClient::instance()->getAccessoryStore().sortList(accessories, true); + std::list::iterator aitor; for (aitor = accessories.begin(); aitor != accessories.end(); @@ -354,67 +365,39 @@ void TankMenus::AccessoryMenu::menuSelection(const char* menuName, const int position, GLMenuItem &item) { + Accessory *accessory = (Accessory *) item.getUserData(); Tank *firstTank = ScorchedClient::instance()->getTankContainer().getCurrentTank(); - TankAIHuman *tankAI = (TankAIHuman *) firstTank->getTankAI(); - if (firstTank && tankAI) + if (firstTank && accessory) { - if (position < (int) menuItems_.size()) - { - Accessory *accessory = menuItems_[position]; - - switch (accessory->getType()) - { - case AccessoryPart::AccessoryParachute: - tankAI->parachutesUpDown(firstTank->getParachute().parachutesEnabled()? - 0:accessory->getAccessoryId()); - break; - case AccessoryPart::AccessoryShield: - tankAI->shieldsUpDown(accessory->getAccessoryId()); - break; - case AccessoryPart::AccessoryWeapon: - firstTank->getAccessories().getWeapons().setWeapon(accessory); - break; - case AccessoryPart::AccessoryBattery: - if (firstTank->getLife().getLife() < - firstTank->getLife().getMaxLife()) - { - tankAI->useBattery(accessory->getAccessoryId()); - } - break; - case AccessoryPart::AccessoryFuel: - if (Landscape::instance()->getTextureType() == Landscape::eMovement) - { - Landscape::instance()->restoreLandscapeTexture(); - } - else - { - MovementMap mmap( - ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getMapWidth(), - ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getMapHeight()); - mmap.calculateForTank( - firstTank, accessory->getAccessoryId(), - ScorchedClient::instance()->getContext()); - mmap.movementTexture(); - } - break; - default: - case AccessoryPart::AccessoryAutoDefense: - break; - } - } + firstTank->getAccessories().activate(accessory); } } bool TankMenus::AccessoryMenu::getMenuItems(const char* menuName, std::list &result) { - menuItems_.clear(); Tank *firstTank = ScorchedClient::instance()->getTankContainer().getCurrentTank(); if (!firstTank) return true; - AccessoryPart::AccessoryType lastType = AccessoryPart::AccessoryWeapon; + bool firstIteration = true; + std::string lastGroup = ""; + std::list tankAccessories; - firstTank->getAccessories().getAllAccessories(tankAccessories); + std::set &groups = + ScorchedClient::instance()->getAccessoryStore().getGroupNames(); + std::set::iterator groupitor; + for (groupitor = groups.begin(); + groupitor != groups.end(); + groupitor++) + { + std::list tmpAccessories = + firstTank->getAccessories().getAllAccessoriesByGroup( + (*groupitor).c_str()); + ScorchedClient::instance()->getAccessoryStore().sortList(tmpAccessories, + OptionsDisplay::instance()->getSortAccessories()); + tankAccessories.insert(tankAccessories.end(), tmpAccessories.begin(), tmpAccessories.end()); + } + std::list::iterator itor; for (itor = tankAccessories.begin(); itor != tankAccessories.end(); @@ -428,7 +411,7 @@ switch (accessory->getType()) { case AccessoryPart::AccessoryParachute: - sel = firstTank->getParachute().parachutesEnabled(); + sel = (firstTank->getParachute().getCurrentParachute() == accessory); break; case AccessoryPart::AccessoryShield: sel = (firstTank->getShield().getCurrentShield() == accessory); @@ -436,12 +419,6 @@ case AccessoryPart::AccessoryWeapon: sel = (firstTank->getAccessories().getWeapons().getCurrent() == accessory); break; - case AccessoryPart::AccessoryFuel: - if (Landscape::instance()->getTextureType() == Landscape::eMovement) - { - sel = (accessory->getAccessoryId() == MovementMap::getFuelId()); - } - break; case AccessoryPart::AccessoryAutoDefense: sel = true; break; @@ -451,12 +428,13 @@ break; } - if (lastType != accessory->getType()) + if (!firstIteration && + 0 != strcmp(lastGroup.c_str(), accessory->getGroupName())) { - lastType = accessory->getType(); result.push_back("----------"); - menuItems_.push_back(0); } + lastGroup = accessory->getGroupName(); + firstIteration = false; static char buffer[1024]; if (accessoryCount > 0) @@ -469,13 +447,14 @@ snprintf(buffer, 1024, "%s (In)", accessory->getName()); } - menuItems_.push_back(accessory); + result.push_back( GLMenuItem( buffer, &accessory->getToolTip(), sel, - accessory->getTexture())); + accessory->getTexture(), + accessory)); } return true; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TankMenus.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TankMenus.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TankMenus.h 2006-07-11 01:48:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TankMenus.h 2006-09-11 09:25:22.000000000 +0900 @@ -57,8 +57,6 @@ virtual bool getMenuItems(const char* menuName, std::list &result); virtual bool getEnabled(const char* menuName); - - std::vector menuItems_; } accessoryMenu_; void showTankDetails(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TankModel.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TankModel.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TankModel.cpp 2006-05-15 08:40:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TankModel.cpp 2006-09-08 07:33:27.000000000 +0900 @@ -22,14 +22,15 @@ #include #include <3dsparse/ModelStore.h> #include <3dsparse/Model.h> +#include #include +#include +#include -TankModel::TankModel(const char *tankName, ModelID &modelId, const char *typeName) : +TankModel::TankModel() : init_(false), - tankName_(tankName), - typeName_(typeName), - modelId_(modelId), - aiOnly_(false), + aiOnly_(false), + movementSmoke_(true), tankMesh_(0) { catagories_.insert("All"); @@ -39,6 +40,102 @@ { } +bool TankModel::initFromXML(ScorchedContext &context, XMLNode *node) +{ + // Get the name of tank + if (!node->getNamedChild("name", tankName_)) return false; + + // Get the tank type (if any) + typeName_ = "none"; + node->getNamedChild("type", typeName_, false); + TankType *type = context.tankModelStore->getTypeByName(typeName_.c_str()); + if (!type) + { + return node->returnError( + formatString( + "Failed to find tank type \"%s\" for tank \"%s\"", + typeName_.c_str(), + tankName_.c_str())); + } + + // Get the model node + XMLNode *modelNode; + if (!node->getNamedChild("model", modelNode)) return false; + + // Parse the modelId which tells us which files and + // 3d type the model actuall is + // The model files are not parsed until later + if (!modelId_.initFromNode("data/tanks", modelNode)) + { + return modelNode->returnError( + formatString("Failed to load mesh for tank \"%s\"", + tankName_.c_str())); + } + + // Get the projectile model node (if any) + XMLNode *projectileModelNode; + if (node->getNamedChild("projectilemodel", projectileModelNode, false)) + { + if (!projectileModelId_.initFromNode("data/accessories", projectileModelNode)) + { + return projectileModelNode->returnError( + formatString("Failed to load projectile mesh for tank \"%s\"", + tankName_.c_str())); + } + } + + // Get the tracks node (if any) + if (!loadImage(node, "tracksv", tracksVId_, "data/tanks/tracksv.bmp")) return false; + if (!loadImage(node, "tracksh", tracksHId_, "data/tanks/tracksh.bmp")) return false; + if (!loadImage(node, "tracksvh", tracksVHId_, "data/tanks/tracksvh.bmp")) return false; + if (!loadImage(node, "trackshv", tracksHVId_, "data/tanks/trackshv.bmp")) return false; + + // Read all of the tank display catagories + std::string catagory; + while (node->getNamedChild("catagory", catagory, false)) + { + catagories_.insert(catagory); + } + + // Read all of the tank team catagories + int team; + while (node->getNamedChild("team", team, false)) + { + teams_.insert(team); + } + + // Read aionly attribute + aiOnly_ = false; + node->getNamedChild("aionly", aiOnly_, false); + + // Read movementSmoke attr + movementSmoke_ = true; + node->getNamedChild("movementsmoke", movementSmoke_, false); + + // Check there are no more nodes in this node + return node->failChildren(); +} + +bool TankModel::loadImage(XMLNode *node, const char *nodeName, + ImageID &image, const char *backupImage) +{ + XMLNode *imageNode; + if (node->getNamedChild(nodeName, imageNode, false)) + { + if (!image.initFromNode("data/tanks", imageNode)) + { + return imageNode->returnError( + formatString("Failed to load tracks image for tank \"%s\"", + tankName_.c_str())); + } + } + else + { + image.initFromString("bmp", backupImage, backupImage, true); + } + return true; +} + void TankModel::clear() { init_ = false; @@ -79,11 +176,6 @@ return (strcmp(getName(), other->getName()) < 0); } -void TankModel::addCatagory(const char *catagory) -{ - catagories_.insert(catagory); -} - bool TankModel::isOfCatagory(const char *catagory) { std::set::iterator itor = @@ -91,11 +183,6 @@ return (itor != catagories_.end()); } -void TankModel::addTeam(int team) -{ - teams_.insert(team); -} - bool TankModel::isOfAi(bool ai) { if (!aiOnly_) return true; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TankModel.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TankModel.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TankModel.h 2006-05-15 08:40:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TankModel.h 2006-09-08 07:33:27.000000000 +0900 @@ -22,20 +22,22 @@ #define __INCLUDE_TankModelh_INCLUDE__ #include <3dsparse/ModelID.h> +#include <3dsparse/ImageID.h> #include #include #include +class ScorchedContext; class TankMesh; class TankType; class TankModel { public: - TankModel(const char *tankName, - ModelID &modelId, - const char *typeName); + TankModel(); virtual ~TankModel(); + bool initFromXML(ScorchedContext &context, XMLNode *node); + virtual void draw(bool drawS, float angle, Vector &position, float fireOffSet, float rotXY, float rotXZ, bool absCenter = false, float scale = 1.0f, float LOD = 1.0f); @@ -48,29 +50,37 @@ const char *getTypeName() { return typeName_.c_str(); } ModelID &getTankModelID() { return modelId_; } ModelID &getProjectileModelID() { return projectileModelId_; } + ImageID &getTracksVId() { return tracksVId_; } + ImageID &getTracksHId() { return tracksHId_; } + ImageID &getTracksVHId() { return tracksVHId_; } + ImageID &getTracksHVId() { return tracksHVId_; } TankMesh *getTankMesh() { return tankMesh_; } - - void setAiOnly(bool aiOnly) { aiOnly_ = aiOnly; } + std::set &getCatagories() { return catagories_; } bool getAiOnly() { return aiOnly_; } - bool isOfAi(bool ai); + bool getMovementSmoke() { return movementSmoke_; } + bool isOfAi(bool ai); bool isOfCatagory(const char *catagory); - void addCatagory(const char *catagory); - - void addTeam(int team); bool isOfTeam(int team); protected: bool init_; bool aiOnly_; + bool movementSmoke_; std::string tankName_; std::string typeName_; ModelID modelId_; ModelID projectileModelId_; + ImageID tracksVId_; + ImageID tracksHId_; + ImageID tracksVHId_; + ImageID tracksHVId_; TankMesh *tankMesh_; std::set catagories_; std::set teams_; + bool loadImage(XMLNode *node, const char *nodeName, + ImageID &image, const char *backupImage); }; #endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TankModelStore.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TankModelStore.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TankModelStore.cpp 2006-05-15 08:40:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TankModelStore.cpp 2006-09-22 06:57:13.000000000 +0900 @@ -76,79 +76,22 @@ return currentNode->returnError("Failed to tank node"); } - // Get the name of tank - XMLNode *nameNode; - if (!currentNode->getNamedChild("name", nameNode)) return false; - const char *modelName = nameNode->getContent(); - - // Get the tank type (if any) - std::string tankType = "none"; - currentNode->getNamedChild("type", tankType, false); - TankType *type = types_.getType(tankType.c_str()); - if (!type) + TankModel *model = new TankModel(); + if (!model->initFromXML(context, currentNode)) { - return currentNode->returnError( - formatString( - "Failed to find tank type \"%s\" for tank \"%s\"", - tankType.c_str(), - modelName)); + return currentNode->returnError("Failed to parse tank node");; } - // Get the model node - XMLNode *modelNode; - if (!currentNode->getNamedChild("model", modelNode)) return false; - - // Parse the modelId which tells us which files and - // 3d type the model actuall is - // The model files are not parsed until later - ModelID modelId; - if (!modelId.initFromNode("data/tanks", modelNode)) + // Add catagories to list of all catagories + std::set &catagories = model->getCatagories(); + std::set::iterator catitor; + for (catitor = catagories.begin(); + catitor != catagories.end(); + catitor++) { - return modelNode->returnError( - formatString("Failed to load mesh for tank \"%s\"", - modelName)); + modelCatagories_.insert((*catitor).c_str()); } - // Create the tank model - TankModel *model = new TankModel(modelName, modelId, type->getName()); - - // Get the projectile model node (if any) - XMLNode *projectileModelNode; - if (currentNode->getNamedChild("projectilemodel", projectileModelNode, false)) - { - ModelID projModelId; - if (!projModelId.initFromNode("data/accessories", projectileModelNode)) - { - return projectileModelNode->returnError( - formatString("Failed to load projectile mesh for tank \"%s\"", - modelName)); - } - model->getProjectileModelID() = projModelId; - } - - // Read all of the tank display catagories - std::string catagory; - while (currentNode->getNamedChild("catagory", catagory, false)) - { - model->addCatagory(catagory.c_str()); - modelCatagories_.insert(catagory.c_str()); - } - - // Read all of the tank team catagories - int team; - while (currentNode->getNamedChild("team", team, false)) - { - model->addTeam(team); - } - - // Read aionly attribute - bool aiOnly = false; - currentNode->getNamedChild("aionly", aiOnly, false); - model->setAiOnly(aiOnly); - - // Check there are no more nodes in this node - if (!currentNode->failChildren()) return false; - // Add this model to the store models_.push_back(model); } @@ -173,7 +116,7 @@ } DIALOG_ASSERT(models.size()); - TankModel *model = models_[rand() % models.size()]; + TankModel *model = models[rand() % models.size()]; return model; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImpl.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImpl.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImpl.cpp 2006-07-10 02:52:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImpl.cpp 2006-10-29 10:14:10.000000000 +0900 @@ -24,7 +24,8 @@ #include #include #include -#include +#include +#include #include #include #include @@ -81,6 +82,7 @@ } // Create the shield objects + static unsigned int squareListNo = 0; static unsigned int smallListNo = 0; static unsigned int smallHalfListNo = 0; static unsigned int spiralListNo = 0; @@ -90,6 +92,39 @@ glNewList(smallListNo = glGenLists(1), GL_COMPILE); gluSphere(obj, 1.0f, 8, 8); glEndList(); + glNewList(squareListNo = glGenLists(1), GL_COMPILE); + glBegin(GL_QUADS); // Draw The Cube Using quads + glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, 1.0f,-1.0f); // Top Right Of The Quad (Top) + glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, 1.0f,-1.0f); // Top Left Of The Quad (Top) + glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, 1.0f, 1.0f); // Bottom Left Of The Quad (Top) + glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, 1.0f, 1.0f); // Bottom Right Of The Quad (Top) + + glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f,-1.0f, 1.0f); // Top Right Of The Quad (Bottom) + glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f,-1.0f, 1.0f); // Top Left Of The Quad (Bottom) + glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f,-1.0f,-1.0f); // Bottom Left Of The Quad (Bottom) + glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f,-1.0f,-1.0f); // Bottom Right Of The Quad (Bottom) + + glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, 1.0f, 1.0f); // Top Right Of The Quad (Front) + glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, 1.0f, 1.0f); // Top Left Of The Quad (Front) + glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f,-1.0f, 1.0f); // Bottom Left Of The Quad (Front) + glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f,-1.0f, 1.0f); // Bottom Right Of The Quad (Front) + + glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f,-1.0f,-1.0f); // Top Right Of The Quad (Back) + glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f,-1.0f,-1.0f); // Top Left Of The Quad (Back) + glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, 1.0f,-1.0f); // Bottom Left Of The Quad (Back) + glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, 1.0f,-1.0f); // Bottom Right Of The Quad (Back) + + glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, 1.0f, 1.0f); // Top Right Of The Quad (Left) + glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, 1.0f,-1.0f); // Top Left Of The Quad (Left) + glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f,-1.0f,-1.0f); // Bottom Left Of The Quad (Left) + glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,-1.0f, 1.0f); // Bottom Right Of The Quad (Left) + + glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, 1.0f,-1.0f); // Top Right Of The Quad (Right) + glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, 1.0f, 1.0f); // Top Left Of The Quad (Right) + glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,-1.0f, 1.0f); // Bottom Left Of The Quad (Right) + glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f,-1.0f,-1.0f); // Bottom Right Of The Quad (Right) + glEnd(); + glEndList(); glNewList(smallHalfListNo = glGenLists(1), GL_COMPILE); Hemisphere::draw(1.0f, 1.0f, 10, 10, 6, 0, true); Hemisphere::draw(1.0f, 1.0f, 10, 10, 6, 0, false); @@ -141,60 +176,77 @@ GLState state(GLState::BLEND_ON | GLState::TEXTURE_ON); Vector &position = target->getTargetPosition(); Vector &color = shield->getColor(); - if (shield->getShieldType() == Shield::ShieldTypeMag) - { - magtexture->draw(); - glDepthMask(GL_FALSE); - glBlendFunc(GL_SRC_ALPHA, GL_ONE); - glColor4f(color[0], color[1], color[2], 0.4f); - glPushMatrix(); - glTranslatef(position[0], position[1], position[2] + 1.0f); - float scale = shield->getActualRadius() / 3.0f; - glScalef(scale, scale, scale); - - glRotatef(totalTime * 800.0f, 0.0f, 0.0f, 1.0f); - glCallList(spiralListNo); - glRotatef(120.0f, 0.0f, 0.0f, 1.0f); - glCallList(spiralListNo); - glRotatef(120.0f, 0.0f, 0.0f, 1.0f); - glCallList(spiralListNo); - glPopMatrix(); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glDepthMask(GL_TRUE); - } - else if (shield->getHalfShield()) + if (shield->getRound()) { - texture->draw(); - glPushMatrix(); - glColor4f(color[0], color[1], color[2], 0.5f + shieldHit); - glTranslatef(position[0], position[1], position[2]); - glScalef(shield->getActualRadius(), shield->getActualRadius(), shield->getActualRadius()); - glCallList(smallHalfListNo); - glPopMatrix(); + ShieldRound *round = (ShieldRound *) shield; + if (shield->getShieldType() == Shield::ShieldTypeRoundMag) + { + magtexture->draw(); + + glDepthMask(GL_FALSE); + glBlendFunc(GL_SRC_ALPHA, GL_ONE); + glColor4f(color[0], color[1], color[2], 0.4f); + glPushMatrix(); + glTranslatef(position[0], position[1], position[2] + 1.0f); + float scale = round->getActualRadius() / 3.0f; + glScalef(scale, scale, scale); + + glRotatef(totalTime * 800.0f, 0.0f, 0.0f, 1.0f); + glCallList(spiralListNo); + glRotatef(120.0f, 0.0f, 0.0f, 1.0f); + glCallList(spiralListNo); + glRotatef(120.0f, 0.0f, 0.0f, 1.0f); + glCallList(spiralListNo); + glPopMatrix(); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glDepthMask(GL_TRUE); + } + else if (round->getHalfShield()) + { + texture->draw(); + glPushMatrix(); + glColor4f(color[0], color[1], color[2], 0.5f + shieldHit); + glTranslatef(position[0], position[1], position[2]); + glScalef(round->getActualRadius(), round->getActualRadius(), round->getActualRadius()); + glCallList(smallHalfListNo); + glPopMatrix(); + } + else + { + texture->draw(); + glPushMatrix(); + glColor4f(color[0], color[1], color[2], 0.5f + shieldHit); + glTranslatef(position[0], position[1], position[2]); + glScalef(round->getActualRadius(), round->getActualRadius(), round->getActualRadius()); + glCallList(smallListNo); + glPopMatrix(); + + if (round->getGlow()) + { + shieldtexture->draw(); + GLCameraFrustum::instance()->drawBilboard( + position, + color, + 1.0f - shieldHit, + round->getActualRadius() * 0.95f, + round->getActualRadius() * 0.95f, + true, // Additive + 0); // texcoord + } + } } else { + ShieldSquare *square = (ShieldSquare *) shield; + texture->draw(); glPushMatrix(); glColor4f(color[0], color[1], color[2], 0.5f + shieldHit); glTranslatef(position[0], position[1], position[2]); - glScalef(shield->getActualRadius(), shield->getActualRadius(), shield->getActualRadius()); - glCallList(smallListNo); + glScalef(square->getSize()[0], square->getSize()[1], square->getSize()[2]); + glCallList(squareListNo); glPopMatrix(); - - if (shield->getGlow()) - { - shieldtexture->draw(); - GLCameraFrustum::instance()->drawBilboard( - position, - color, - 1.0f - shieldHit, - shield->getActualRadius(), - shield->getActualRadius(), - true, // Additive - 0); // texcoord - } } } @@ -234,7 +286,7 @@ } // Check this tank has parachutes - if (!(*findItor).second->getParachutes()) + if (!(*findItor).second->getParachute()) { return; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImpl.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImpl.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImpl.h 2006-06-23 00:44:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImpl.h 2006-09-12 05:43:07.000000000 +0900 @@ -39,6 +39,7 @@ eOtherHighlight }; static void setHighlightType(HighlightType type) { highlightType_ = type; } + void createParticle(Target *target); protected: static HighlightType highlightType_; @@ -46,7 +47,6 @@ void drawShield(Target *target, float shieldHit, float totalTime); void drawParachute(Target *target); - void createParticle(Target *target); }; #endif // __INCLUDE_TargetRendererImplh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTank.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTank.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTank.cpp 2006-06-28 06:40:01.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTank.cpp 2006-10-03 00:34:26.000000000 +0900 @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include @@ -40,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -88,7 +88,7 @@ model_ = ScorchedClient::instance()->getTankModels().getModelByName( tank_->getModelContainer().getTankOriginalModelName(), tank_->getTeam(), - (tank_->getDestinationId() == 0)); + tank_->isTemp()); if (0 != strcmp(model_->getName(), tank_->getModelContainer().getTankOriginalModelName())) { @@ -96,7 +96,7 @@ model_ = ScorchedClient::instance()->getTankModels().getModelByName( tank_->getModelContainer().getTankModelName(), tank_->getTeam(), - (tank_->getDestinationId() == 0)); + tank_->isTemp()); } } return model_; @@ -449,10 +449,10 @@ Vector &tankTurretPos = tank_->getPosition().getTankTurretPosition(); Vector camDir = - MainCamera::instance()->getCamera().getLookAt() - - MainCamera::instance()->getCamera().getCurrentPos(); + GLCamera::getCurrentCamera()->getLookAt() - + GLCamera::getCurrentCamera()->getCurrentPos(); Vector tankDir = tankTurretPos - - MainCamera::instance()->getCamera().getCurrentPos(); + GLCamera::getCurrentCamera()->getCurrentPos(); if (camDir.dotP(tankDir) < 0.0f) { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTank.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTank.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTank.h 2006-06-23 00:44:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTank.h 2006-09-13 07:27:41.000000000 +0900 @@ -35,7 +35,7 @@ static ModelRenderer *getAutoAimModel(); static bool drawAim() { return (timeLeft_ > 0.0f); } - static void setAimPosition(Vector &pos) { aimPosition_ = pos; timeLeft_= 2.0f; } + static void setAimPosition(Vector &pos) { aimPosition_ = pos; timeLeft_= 5.0f; } static Vector &getAimPosition() { return aimPosition_; } protected: diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTarget.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTarget.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTarget.cpp 2006-06-23 00:44:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTarget.cpp 2006-09-13 07:27:41.000000000 +0900 @@ -19,153 +19,11 @@ //////////////////////////////////////////////////////////////////////////////// #include -#include -#include -#include <3dsparse/ModelStore.h> -#include -#include -#include -#include -#include -#include -TargetRendererImplTarget::TargetRendererImplTarget(Target *target, - ModelID model, ModelID burntModel, - float scale) : - target_(target), - canSeeTank_(false), burnt_(false), - shieldHit_(0.0f), totalTime_(0.0f), - posX_(0.0), posY_(0.0), posZ_(0.0), - targetTips_(target), - scale_(scale) +TargetRendererImplTarget::TargetRendererImplTarget() { - modelRenderer_ = new ModelRenderer( - ModelStore::instance()->loadModel(model)); - burntModelRenderer_ = new ModelRenderer( - ModelStore::instance()->loadModel(burntModel)); } TargetRendererImplTarget::~TargetRendererImplTarget() { } - -void TargetRendererImplTarget::simulate(float frameTime) -{ - totalTime_ += frameTime; - if (shieldHit_ > 0.0f) - { - shieldHit_ -= frameTime / 25.0f; - if (shieldHit_ < 0.0f) shieldHit_ = 0.0f; - } - - if (burnt_) burntModelRenderer_->simulate(frameTime); - else modelRenderer_->simulate(frameTime); -} - -void TargetRendererImplTarget::draw(float distance) -{ - // Check we can see the tank - canSeeTank_ = true; - if (!GLCameraFrustum::instance()-> - sphereInFrustum(target_->getTargetPosition(), - target_->getLife().getSize().Max() / 2.0f, - GLCameraFrustum::FrustrumRed) || - !target_->getAlive()) - { - canSeeTank_ = false; - return; - } - - createParticle(target_); - storeTank2DPos(); - - // Add the tank shadow - Landscape::instance()->getShadowMap().addCircle( - target_->getTargetPosition()[0], - target_->getTargetPosition()[1], - target_->getLife().getSize().Max() + 2.0f); - - // Draw the tank model - glPushMatrix(); - glTranslatef( - target_->getTargetPosition()[0], - target_->getTargetPosition()[1], - target_->getTargetPosition()[2]); - glRotatef(target_->getLife().getRotation(), - 0.0f, 0.0f, 1.0f); - glScalef(scale_, scale_, scale_); - if (burnt_) burntModelRenderer_->drawBottomAligned(); - else modelRenderer_->drawBottomAligned(); - glPopMatrix(); -} - -void TargetRendererImplTarget::draw2d() -{ - if (!canSeeTank_) return; - - // Add the tooltip that displays the tank info - if (target_->getName()[0]) - { - GLWToolTip::instance()->addToolTip(&targetTips_.targetTip, - float(posX_) - 10.0f, float(posY_) - 10.0f, 20.0f, 20.0f); - } -} - -void TargetRendererImplTarget::drawSecond(float distance) -{ - if (!canSeeTank_) return; - - drawParachute(target_); - drawShield(target_, shieldHit_, totalTime_); -} - -void TargetRendererImplTarget::shieldHit() -{ - shieldHit_ = 0.25f; -} - -void TargetRendererImplTarget::storeTank2DPos() -{ - Vector &tankTurretPos = - target_->getCenterPosition(); - Vector camDir = - MainCamera::instance()->getCamera().getLookAt() - - MainCamera::instance()->getCamera().getCurrentPos(); - Vector tankDir = tankTurretPos - - MainCamera::instance()->getCamera().getCurrentPos(); - - if (camDir.dotP(tankDir) < 0.0f) - { - posX_ = - 1000.0; - } - else - { - static GLdouble modelMatrix[16]; - static GLdouble projMatrix[16]; - static GLint viewport[4]; - - glGetDoublev(GL_MODELVIEW_MATRIX, modelMatrix); - glGetDoublev(GL_PROJECTION_MATRIX, projMatrix); - glGetIntegerv(GL_VIEWPORT, viewport); - - viewport[2] = GLViewPort::getWidth(); - viewport[3] = GLViewPort::getHeight(); - int result = gluProject( - tankTurretPos[0], - tankTurretPos[1], - tankTurretPos[2], - modelMatrix, projMatrix, viewport, - &posX_, - &posY_, - &posZ_); - } -} - -void TargetRendererImplTarget::fired() -{ -} - -void TargetRendererImplTarget::targetBurnt() -{ - burnt_ = true; -} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTarget.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTarget.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTarget.h 2006-06-23 00:44:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTarget.h 2006-10-13 08:16:18.000000000 +0900 @@ -22,43 +22,12 @@ #define __INCLUDE_TargetRendererImplTargeth_INCLUDE__ #include -#include -#include <3dsparse/ModelRenderer.h> -#include <3dsparse/ModelID.h> -#include -class TargetRendererImplTarget : - public TargetRendererImpl, - public LandscapeObjectEntryBase +class TargetRendererImplTarget : public TargetRendererImpl { public: - TargetRendererImplTarget(Target *target, - ModelID model, ModelID burntModel, - float scale); + TargetRendererImplTarget(); virtual ~TargetRendererImplTarget(); - - virtual void simulate(float frameTime); - virtual void draw(float distance); - virtual void drawSecond(float distance); - virtual void draw2d(); - virtual void shieldHit(); - virtual void fired(); - virtual void targetBurnt(); - - virtual Vector &getPosition() { return target_->getTargetPosition(); } - -protected: - Target *target_; - ModelRenderer *modelRenderer_; - ModelRenderer *burntModelRenderer_; - bool canSeeTank_; - bool burnt_; - float shieldHit_, totalTime_; - float scale_; - double posX_, posY_, posZ_; - GLWTargetTips targetTips_; - - void storeTank2DPos(); }; #endif // __INCLUDE_TargetRendererImplTargeth_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTargetModel.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTargetModel.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTargetModel.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTargetModel.cpp 2006-10-03 00:34:27.000000000 +0900 @@ -0,0 +1,171 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include <3dsparse/ModelStore.h> +#include +#include +#include +#include +#include +#include + +TargetRendererImplTargetModel::TargetRendererImplTargetModel(Target *target, + ModelID model, ModelID burntModel, + float scale) : + target_(target), + canSeeTank_(false), burnt_(false), + shieldHit_(0.0f), totalTime_(0.0f), + posX_(0.0), posY_(0.0), posZ_(0.0), + targetTips_(target), + scale_(scale) +{ + modelRenderer_ = new ModelRenderer( + ModelStore::instance()->loadModel(model)); + burntModelRenderer_ = new ModelRenderer( + ModelStore::instance()->loadModel(burntModel)); +} + +TargetRendererImplTargetModel::~TargetRendererImplTargetModel() +{ +} + +void TargetRendererImplTargetModel::simulate(float frameTime) +{ + totalTime_ += frameTime; + if (shieldHit_ > 0.0f) + { + shieldHit_ -= frameTime / 25.0f; + if (shieldHit_ < 0.0f) shieldHit_ = 0.0f; + } + + if (burnt_) burntModelRenderer_->simulate(frameTime * 20.0f); + else modelRenderer_->simulate(frameTime * 20.0f); +} + +void TargetRendererImplTargetModel::draw(float distance) +{ + // Check we can see the tank + canSeeTank_ = true; + if (!GLCameraFrustum::instance()-> + sphereInFrustum(target_->getTargetPosition(), + target_->getLife().getSize().Max() / 2.0f, + GLCameraFrustum::FrustrumRed) || + !target_->getAlive()) + { + canSeeTank_ = false; + return; + } + + createParticle(target_); + storeTank2DPos(); + + // Add the tank shadow + Landscape::instance()->getShadowMap().addCircle( + target_->getTargetPosition()[0], + target_->getTargetPosition()[1], + target_->getLife().getSize().Max() + 2.0f); + + // Draw the tank model + glPushMatrix(); + glTranslatef( + target_->getTargetPosition()[0], + target_->getTargetPosition()[1], + target_->getTargetPosition()[2]); + glRotatef(target_->getLife().getRotation(), + 0.0f, 0.0f, 1.0f); + glScalef(scale_, scale_, scale_); + if (burnt_) burntModelRenderer_->drawBottomAligned(); + else modelRenderer_->drawBottomAligned(); + glPopMatrix(); +} + +void TargetRendererImplTargetModel::draw2d() +{ + if (!canSeeTank_) return; + + // Add the tooltip that displays the tank info + if (target_->getName()[0]) + { + GLWToolTip::instance()->addToolTip(&targetTips_.targetTip, + float(posX_) - 10.0f, float(posY_) - 10.0f, 20.0f, 20.0f); + } +} + +void TargetRendererImplTargetModel::drawSecond(float distance) +{ + if (!canSeeTank_) return; + + drawParachute(target_); + drawShield(target_, shieldHit_, totalTime_); +} + +void TargetRendererImplTargetModel::shieldHit() +{ + shieldHit_ = 0.25f; +} + +void TargetRendererImplTargetModel::storeTank2DPos() +{ + Vector &tankTurretPos = + target_->getCenterPosition(); + Vector camDir = + GLCamera::getCurrentCamera()->getLookAt() - + GLCamera::getCurrentCamera()->getCurrentPos(); + Vector tankDir = tankTurretPos - + GLCamera::getCurrentCamera()->getCurrentPos(); + + if (camDir.dotP(tankDir) < 0.0f) + { + posX_ = - 1000.0; + } + else + { + static GLdouble modelMatrix[16]; + static GLdouble projMatrix[16]; + static GLint viewport[4]; + + glGetDoublev(GL_MODELVIEW_MATRIX, modelMatrix); + glGetDoublev(GL_PROJECTION_MATRIX, projMatrix); + glGetIntegerv(GL_VIEWPORT, viewport); + + viewport[2] = GLViewPort::getWidth(); + viewport[3] = GLViewPort::getHeight(); + int result = gluProject( + tankTurretPos[0], + tankTurretPos[1], + tankTurretPos[2], + modelMatrix, projMatrix, viewport, + &posX_, + &posY_, + &posZ_); + } +} + +void TargetRendererImplTargetModel::fired() +{ +} + +void TargetRendererImplTargetModel::targetBurnt() +{ + burnt_ = true; +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTargetModel.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTargetModel.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTargetModel.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTargetModel.h 2006-09-13 07:27:41.000000000 +0900 @@ -0,0 +1,63 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_TargetRendererImplTargetModelh_INCLUDE__) +#define __INCLUDE_TargetRendererImplTargetModelh_INCLUDE__ + +#include +#include +#include <3dsparse/ModelRenderer.h> +#include <3dsparse/ModelID.h> +#include + +class TargetRendererImplTargetModel : + public TargetRendererImplTarget +{ +public: + TargetRendererImplTargetModel(Target *target, + ModelID model, ModelID burntModel, + float scale); + virtual ~TargetRendererImplTargetModel(); + + virtual void simulate(float frameTime); + virtual void draw(float distance); + virtual void drawSecond(float distance); + virtual void draw2d(); + virtual void shieldHit(); + virtual void fired(); + virtual void targetBurnt(); + + virtual Vector &getPosition() { return target_->getTargetPosition(); } + +protected: + Target *target_; + ModelRenderer *modelRenderer_; + ModelRenderer *burntModelRenderer_; + bool canSeeTank_; + bool burnt_; + float shieldHit_, totalTime_; + float scale_; + double posX_, posY_, posZ_; + GLWTargetTips targetTips_; + + void storeTank2DPos(); +}; + +#endif // __INCLUDE_TargetRendererImplTargetModelh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTargetTree.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTargetTree.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTargetTree.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTargetTree.cpp 2006-10-03 00:34:27.000000000 +0900 @@ -0,0 +1,69 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include <3dsparse/ModelStore.h> +#include +#include +#include +#include +#include + +TargetRendererImplTargetTree::TargetRendererImplTargetTree(Target *target, + const char *tree, float size, float color, bool useSnow) : + target_(target), + burnt_(false) +{ +} + +TargetRendererImplTargetTree::~TargetRendererImplTargetTree() +{ +} + +void TargetRendererImplTargetTree::simulate(float frameTime) +{ +} + +void TargetRendererImplTargetTree::draw(float distance) +{ +} + +void TargetRendererImplTargetTree::draw2d() +{ +} + +void TargetRendererImplTargetTree::drawSecond(float distance) +{ +} + +void TargetRendererImplTargetTree::shieldHit() +{ +} + +void TargetRendererImplTargetTree::fired() +{ +} + +void TargetRendererImplTargetTree::targetBurnt() +{ + burnt_ = true; +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTargetTree.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTargetTree.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/tankgraph/TargetRendererImplTargetTree.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/tankgraph/TargetRendererImplTargetTree.h 2006-09-13 07:27:41.000000000 +0900 @@ -0,0 +1,49 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_TargetRendererImplTargetTreeh_INCLUDE__) +#define __INCLUDE_TargetRendererImplTargetTreeh_INCLUDE__ + +#include + +class TargetRendererImplTargetTree : + public TargetRendererImplTarget +{ +public: + TargetRendererImplTargetTree(Target *target, + const char *tree, float size, float color, bool useSnow); + virtual ~TargetRendererImplTargetTree(); + + virtual void simulate(float frameTime); + virtual void draw(float distance); + virtual void drawSecond(float distance); + virtual void draw2d(); + virtual void shieldHit(); + virtual void fired(); + virtual void targetBurnt(); + + virtual Vector &getPosition() { return target_->getTargetPosition(); } + +protected: + Target *target_; + bool burnt_; +}; + +#endif // __INCLUDE_TargetRendererImplTargetTreeh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/target/Target.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/Target.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/target/Target.cpp 2006-04-19 01:59:44.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/Target.cpp 2006-10-13 08:16:18.000000000 +0900 @@ -33,10 +33,14 @@ context_(context), life_(context, playerId), shield_(context, playerId), + parachute_(context), deathAction_(0), - renderer_(0) + renderer_(0), + border_(0.0f) { life_.setTarget(this); + life_.setBoundingSphere(true); + group_.setTarget(this); } Target::~Target() diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetDefinition.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetDefinition.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetDefinition.cpp 2006-04-16 02:12:51.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetDefinition.cpp 2006-09-13 07:27:41.000000000 +0900 @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include #include @@ -67,7 +67,7 @@ if (!context.serverMode) { target->setRenderer( - new TargetRendererImplTarget( + new TargetRendererImplTargetModel( target, modelId_, modelburntId_, modelscale_)); } @@ -76,6 +76,7 @@ target->getLife().setSize(size_); target->getLife().setDriveOverToDestroy(driveovertodestroy_); target->getLife().setRotation(rotation); + target->setBorder(border_); target->newGame(); if (shield_.c_str()[0] && 0 != strcmp(shield_.c_str(), "none")) @@ -103,7 +104,7 @@ parachute_.c_str())); } - target->getParachute().setParachutesEnabled(true); + target->getParachute().setCurrentParachute(parachute); } if (removeaction_.c_str()[0] && 0 != strcmp(removeaction_.c_str(), "none")) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetGroupEntry.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetGroupEntry.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetGroupEntry.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetGroupEntry.cpp 2006-10-21 01:35:43.000000000 +0900 @@ -0,0 +1,40 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include + +TargetGroupEntry::TargetGroupEntry() +{ +} + +TargetGroupEntry::~TargetGroupEntry() +{ +} + +void TargetGroupEntry::setTarget(Target *target) +{ + target_ = target; +} + +Vector &TargetGroupEntry::getPosition() +{ + return target_->getTargetPosition(); +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetGroupEntry.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetGroupEntry.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetGroupEntry.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetGroupEntry.h 2006-10-21 01:35:43.000000000 +0900 @@ -0,0 +1,41 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_TargetGroupEntryh_INCLUDE__) +#define __INCLUDE_TargetGroupEntryh_INCLUDE__ + +#include + +class Target; +class TargetGroupEntry : public LandscapeObjectEntryBase +{ +public: + TargetGroupEntry(); + virtual ~TargetGroupEntry(); + + void setTarget(Target *target); + + virtual Vector &getPosition(); + +protected: + Target *target_; +}; + +#endif // __INCLUDE_TargetGroupEntryh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/target/Target.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/Target.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/target/Target.h 2006-04-19 01:59:44.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/Target.h 2006-10-13 08:16:18.000000000 +0900 @@ -24,6 +24,7 @@ #include #include #include +#include class TargetRenderer; class Weapon; @@ -51,10 +52,13 @@ TargetLife &getLife() { return life_; } TargetShield &getShield() { return shield_; } TargetParachute &getParachute() { return parachute_; } + TargetGroupEntry &getGroup() { return group_; } void setDeathAction(Weapon *deathAction) { deathAction_ = deathAction; } virtual Weapon *getDeathAction() { return deathAction_; } // Renderer + float getBorder() { return border_; } + void setBorder(float b) { border_ = b; } TargetRenderer *getRenderer() { return renderer_; } void setRenderer(TargetRenderer *renderer) { renderer_ = renderer; } @@ -69,12 +73,14 @@ protected: unsigned int playerId_; + float border_; ScorchedContext &context_; Vector targetPosition_; TargetLife life_; TargetShield shield_; TargetParachute parachute_; TargetRenderer *renderer_; + TargetGroupEntry group_; std::string name_; Weapon *deathAction_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetLife.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetLife.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetLife.cpp 2006-04-20 01:39:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetLife.cpp 2006-10-30 22:44:41.000000000 +0900 @@ -23,6 +23,7 @@ #include #include #include +#include #include TargetLife::TargetLife(ScorchedContext &context, unsigned int playerId) : @@ -34,12 +35,12 @@ targetGeom_(0) { targetInfo_.data = (void *) playerId; - setBoundingSphere(true); } TargetLife::~TargetLife() { - dGeomDestroy(targetGeom_); + if (targetGeom_) context_.actionController->getPhysics().destroyGeom(targetGeom_); + targetGeom_ = 0; } void TargetLife::newGame() @@ -115,24 +116,26 @@ void TargetLife::setBoundingSphere(bool sphereGeom) { - if (targetGeom_) dGeomDestroy(targetGeom_); + if (targetGeom_) context_.actionController->getPhysics().destroyGeom(targetGeom_); + targetGeom_ = 0; sphereGeom_ = sphereGeom; + dSpaceID spaceId = context_.actionController->getPhysics().getTargetSpace(); + if (target_->getPlayerId() >= TankAIAdder::MIN_TANK_ID && + target_->getPlayerId() <= TankAIAdder::MAX_TANK_ID) + { + spaceId = context_.actionController->getPhysics().getTankSpace(); + } + // The tank collision object if (sphereGeom_) { double radius = MAX(size_[0], size_[1]) / 2.0f; - targetGeom_ = - dCreateSphere( - context_.actionController->getPhysics().getSpace(), - radius); + targetGeom_ = dCreateSphere(spaceId, radius); } else { - targetGeom_ = - dCreateBox( - context_.actionController->getPhysics().getSpace(), - size_[0], size_[1], size_[2]); + targetGeom_ = dCreateBox(spaceId, size_[0], size_[1], size_[2]); } dGeomSetData(targetGeom_, &targetInfo_); dGeomDisable(targetGeom_); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetParachute.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetParachute.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetParachute.cpp 2005-12-13 10:12:13.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetParachute.cpp 2006-09-29 02:33:28.000000000 +0900 @@ -19,9 +19,12 @@ //////////////////////////////////////////////////////////////////////////////// #include +#include +#include -TargetParachute::TargetParachute() : - parachutesEnabled_(false) +TargetParachute::TargetParachute(ScorchedContext &context) : + context_(context), + currentParachute_(0) { } @@ -31,22 +34,25 @@ void TargetParachute::newGame() { - setParachutesEnabled(false); + setCurrentParachute(0); } -void TargetParachute::setParachutesEnabled(bool enabled) +void TargetParachute::setCurrentParachute(Accessory *para) { - parachutesEnabled_ = enabled; + currentParachute_ = para; } bool TargetParachute::writeMessage(NetBuffer &buffer, bool writeAccessories) { - buffer.addToBuffer(writeAccessories?parachutesEnabled_:false); + buffer.addToBuffer((unsigned int)(currentParachute_?currentParachute_->getAccessoryId():0)); return true; } bool TargetParachute::readMessage(NetBufferReader &reader) { - if (!reader.getFromBuffer(parachutesEnabled_)) return false; + unsigned int paraId; + if (!reader.getFromBuffer(paraId)) return false; + if (paraId == 0) setCurrentParachute(0); + else setCurrentParachute(context_.accessoryStore->findByAccessoryId(paraId)); return true; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetParachute.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetParachute.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetParachute.h 2005-12-13 10:12:13.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetParachute.h 2006-09-03 08:04:03.000000000 +0900 @@ -23,22 +23,25 @@ #include +class Accessory; +class ScorchedContext; class TargetParachute { public: - TargetParachute(); + TargetParachute(ScorchedContext &context); virtual ~TargetParachute(); void newGame(); - void setParachutesEnabled(bool enabled); - bool parachutesEnabled() { return parachutesEnabled_; } + Accessory *getCurrentParachute() { return currentParachute_; } + void setCurrentParachute(Accessory *para); bool writeMessage(NetBuffer &buffer, bool writeAccessories); bool readMessage(NetBufferReader &reader); protected: - bool parachutesEnabled_; + Accessory *currentParachute_; + ScorchedContext &context_; }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetShield.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetShield.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/target/TargetShield.cpp 2006-01-27 01:47:51.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/target/TargetShield.cpp 2006-10-30 22:44:41.000000000 +0900 @@ -20,7 +20,8 @@ #include #include -#include +#include +#include #include #include @@ -28,22 +29,17 @@ unsigned int playerId) : context_(context), shieldInfo_(CollisionIdShield), - currentShield_(0), + currentShield_(0), shieldGeom_(0), power_(0) { shieldInfo_.data = (void *) playerId; - shieldGeom_ = - dCreateSphere(context_.actionController->getPhysics().getSpace(), - 2.0f); - dGeomSetData(shieldGeom_, &shieldInfo_); - dGeomDisable(shieldGeom_); - setCurrentShield(0); } TargetShield::~TargetShield() { - dGeomDestroy(shieldGeom_); + if (shieldGeom_) context_.actionController->getPhysics().destroyGeom(shieldGeom_); + shieldGeom_ = 0; } void TargetShield::newGame() @@ -54,23 +50,37 @@ void TargetShield::setPosition(Vector &pos) { position_ = pos; - dGeomSetPosition(shieldGeom_, pos[0], pos[1], pos[2]); + if (shieldGeom_) dGeomSetPosition(shieldGeom_, pos[0], pos[1], pos[2]); } void TargetShield::setCurrentShield(Accessory *sh) { - if (currentShield_) - { - dGeomDisable(shieldGeom_); - } + if (shieldGeom_) context_.actionController->getPhysics().destroyGeom(shieldGeom_); + shieldGeom_ = 0; if (sh) { Shield *shield = (Shield *) sh->getAction(); power_ = shield->getPower(); - currentShield_ = sh; + currentShield_ = sh; + + dSpaceID spaceId = context_.actionController->getPhysics().getTargetSpace(); + if (shield->getRound()) + { + ShieldRound *round = (ShieldRound *) shield; + shieldGeom_ = dCreateSphere(spaceId, + round->getActualRadius()); + } + else + { + ShieldSquare *square = (ShieldSquare *) shield; + shieldGeom_ = dCreateBox(spaceId, + square->getSize()[0] * 2.0f, + square->getSize()[1] * 2.0f, + square->getSize()[2] * 2.0f); + } - dGeomSphereSetRadius(shieldGeom_, shield->getActualRadius()); + dGeomSetData(shieldGeom_, &shieldInfo_); dGeomEnable(shieldGeom_); setPosition(position_); @@ -94,17 +104,18 @@ bool TargetShield::writeMessage(NetBuffer &buffer) { - buffer.addToBuffer(power_); - buffer.addToBuffer((unsigned int)(currentShield_?currentShield_->getAccessoryId():0)); + unsigned int shieldId = (currentShield_?currentShield_->getAccessoryId():0); + buffer.addToBuffer(shieldId); + if (shieldId != 0) buffer.addToBuffer(power_); return true; } bool TargetShield::readMessage(NetBufferReader &reader) { unsigned int shieldId; - if (!reader.getFromBuffer(power_)) return false; if (!reader.getFromBuffer(shieldId)) return false; - if (shieldId == 0) currentShield_ = 0; - else currentShield_ = context_.accessoryStore->findByAccessoryId(shieldId); + if (shieldId == 0) setCurrentShield(0); + else setCurrentShield(context_.accessoryStore->findByAccessoryId(shieldId)); + if (shieldId != 0) if (!reader.getFromBuffer(power_)) return false; return true; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Accessory.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Accessory.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Accessory.cpp 2006-06-30 23:21:55.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Accessory.cpp 2006-09-19 05:32:14.000000000 +0900 @@ -39,6 +39,7 @@ name_("NONAME"), description_("NODESC"), toolTip_("", ""), price_(0), bundle_(1), armsLevel_(9), texture_(0), modelScale_(1.0f), + positionSelect_(ePositionSelectNone), positionSelectLimit_(10), maximumNumber_(0), startingNumber_(0), muzzleFlash_(true), @@ -123,6 +124,56 @@ originalPrice_ = price_; originalSellPrice_ = sellPrice_; + // Position Selection Type + std::string positionSelection; + if (accessoryNode->getNamedChild("positionselection", positionSelection, false)) + { + if (0 == strcmp(positionSelection.c_str(), "none")) + { + positionSelect_ = ePositionSelectNone; + } + else if (0 == strcmp(positionSelection.c_str(), "generic")) + { + positionSelect_ = ePositionSelectGeneric; + } + else if (0 == strcmp(positionSelection.c_str(), "fuel")) + { + positionSelect_ = ePositionSelectFuel; + + // Make sure there is a "WeaponMoveTank" under here somewhere + if (!store->findAccessoryPartByAccessoryId( + getAccessoryId(), "WeaponMoveTank")) + { + return accessoryNode->returnError( + "Fuel selection can only be used with WeaponMoveTank weapons"); + } + } + else if (0 == strcmp(positionSelection.c_str(), "limit")) + { + positionSelect_ = ePositionSelectLimit; + if (!accessoryNode->getNamedChild("positionselectionlimit", positionSelectLimit_)) return false; + } + else + { + return accessoryNode->returnError(formatString( + "Unknown accessory position selection type \"%s\"", + positionSelection.c_str())); + } + } + + // Get the accessory groupname + if (!accessoryNode->getNamedChild("group", groupName_, false)) + { + if (accessoryAction_->getType() == AccessoryPart::AccessoryWeapon) + { + groupName_ = "weapon"; + } + else + { + groupName_ = "defense"; + } + } + return true; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Accessory.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Accessory.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Accessory.h 2006-06-30 23:21:55.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Accessory.h 2006-09-15 06:41:25.000000000 +0900 @@ -39,6 +39,14 @@ Accessory(); virtual ~Accessory(); + enum PositionSelectType + { + ePositionSelectNone = 0, + ePositionSelectFuel = 1, + ePositionSelectGeneric = 2, + ePositionSelectLimit = 3 + }; + bool parseXML(OptionsGame &context, AccessoryStore *store, XMLNode *accessoryNode); @@ -54,9 +62,12 @@ const int getMaximumNumber() { return maximumNumber_; } const int getStartingNumber() { return startingNumber_; } const bool getAIOnly() { return aiOnly_; } + PositionSelectType getPositionSelect() { return positionSelect_; } + int getPositionSelectLimit() { return positionSelectLimit_; } GLWTip &getToolTip() { return toolTip_; } const char *getIconName() { return iconName_.c_str(); } + const char *getGroupName() { return groupName_.c_str(); } AccessoryPart *getAction() { return accessoryAction_; } float getModelScale() { return modelScale_; } ModelID &getModel() { return modelId_; } @@ -79,13 +90,16 @@ unsigned int accessoryId_; bool aiOnly_; AccessoryPart *accessoryAction_; + PositionSelectType positionSelect_; GLWTip toolTip_; GLTexture *texture_; ModelID modelId_; std::string iconName_; + std::string groupName_; std::string name_; std::string description_; std::string activationSound_; + int positionSelectLimit_; int price_; int originalPrice_; int bundle_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/AccessoryPart.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/AccessoryPart.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/AccessoryPart.h 2004-12-28 01:53:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/AccessoryPart.h 2006-09-11 09:25:22.000000000 +0900 @@ -46,8 +46,7 @@ AccessoryParachute, AccessoryShield, AccessoryAutoDefense, - AccessoryBattery, - AccessoryFuel + AccessoryBattery }; AccessoryPart(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/AccessoryStore.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/AccessoryStore.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/AccessoryStore.cpp 2006-02-23 00:53:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/AccessoryStore.cpp 2006-09-19 05:32:14.000000000 +0900 @@ -91,6 +91,7 @@ } // Add the accessory + groups_.insert(accessory->getGroupName()); accessories_.push_back(accessory); // Add weapons to death animations, weighted by arms level @@ -161,64 +162,75 @@ return accessoryPart; } -void AccessoryStore::sortList(std::list &accList) +void AccessoryStore::sortList(std::list &accList, bool alpha) { - std::vector accVector; - std::list::iterator itor; - for (itor = accList.begin(); - itor != accList.end(); - itor++) + if (alpha) { - accVector.push_back(*itor); - } + std::vector accVector; + std::list::iterator itor; + for (itor = accList.begin(); + itor != accList.end(); + itor++) + { + accVector.push_back(*itor); + } - // Crudely sort by name - // stl sort method list is broken in visual c 6 - // bubble sort - bool changed = true; - while (changed) - { - changed = false; - for (int i=0; igetName(), accVector[i+1]->getName())<0) + changed = false; + for (int i=0; igetName(), accVector[i+1]->getName())<0) + { + // swap + Accessory *tmp = accVector[i]; + accVector[i] = accVector[i+1]; + accVector[i+1] = tmp; + changed = true; + break; + } } + } + + accList.clear(); + for (int i=0; i AccessoryStore::getAllWeapons(bool sort) -{ - std::list result; - std::list::iterator itor; - for (itor = accessories_.begin(); - itor != accessories_.end(); - itor++) + else { - if ((*itor)->getAction()->getType() == AccessoryPart::AccessoryWeapon) + std::set accessorySet; + std::list::iterator setItor; + for (setItor = accList.begin(); + setItor != accList.end(); + setItor++) { - result.push_back(*itor); + Accessory *accessory = *setItor; + accessorySet.insert(accessory); } - } - if (sort) sortList(result); - return result; + accList.clear(); + std::list::iterator itor; + for (itor = accessories_.begin(); + itor != accessories_.end(); + itor++) + { + Accessory *accessory = *itor; + if (accessorySet.find(accessory) != accessorySet.end()) + { + accList.push_back(accessory); + } + } + } } -std::list AccessoryStore::getAllOthers(bool sort) +std::list AccessoryStore::getAllAccessoriesByGroup( + const char *group, bool sort) { std::list result; std::list::iterator itor; @@ -226,13 +238,14 @@ itor != accessories_.end(); itor++) { - if ((*itor)->getAction()->getType() != AccessoryPart::AccessoryWeapon) + Accessory *accessory = (*itor); + if (0 == strcmp(group, accessory->getGroupName())) { result.push_back(*itor); } } - if (sort) sortList(result); + if (sort) sortList(result, true); return result; } @@ -247,7 +260,7 @@ result.push_back(*itor); } - if (sort) sortList(result); + if (sort) sortList(result, true); return result; } @@ -261,7 +274,7 @@ return deathAnimation_; } -Accessory *AccessoryStore::findByAccessoryType(AccessoryPart::AccessoryType type) +Accessory *AccessoryStore::findByPrimaryAccessoryName(const char *name) { std::list::iterator itor; for (itor = accessories_.begin(); @@ -269,12 +282,15 @@ itor++) { Accessory *accessory = (*itor); - if (accessory->getAction()->getType() == type) return accessory; + if (strcmp(accessory->getName(), name) == 0) + { + return accessory; + } } return 0; } -Accessory *AccessoryStore::findByPrimaryAccessoryName(const char *name) +Accessory *AccessoryStore::findByAccessoryId(unsigned int id) { std::list::iterator itor; for (itor = accessories_.begin(); @@ -282,7 +298,7 @@ itor++) { Accessory *accessory = (*itor); - if (strcmp(accessory->getName(), name) == 0) + if (accessory->getAccessoryId() == id) { return accessory; } @@ -290,17 +306,18 @@ return 0; } -Accessory *AccessoryStore::findByAccessoryId(unsigned int id) +AccessoryPart *AccessoryStore::findAccessoryPartByAccessoryId(unsigned int id, const char *type) { - std::list::iterator itor; - for (itor = accessories_.begin(); - itor != accessories_.end(); + std::list::iterator itor; + for (itor = accessoryParts_.begin(); + itor != accessoryParts_.end(); itor++) { - Accessory *accessory = (*itor); - if (accessory->getAccessoryId() == id) + AccessoryPart *accessoryPart = (*itor); + if (accessoryPart->getParent()->getAccessoryId() == id && + 0 == strcmp(accessoryPart->getAccessoryTypeName(), type)) { - return accessory; + return accessoryPart; } } return 0; @@ -344,16 +361,13 @@ bool AccessoryStore::writeWeapon(NetBuffer &buffer, Weapon *weapon) { - buffer.addToBuffer(weapon->getAccessoryPartId()); - return true; + return writeAccessoryPart(buffer, weapon); } Weapon *AccessoryStore::readWeapon(NetBufferReader &reader) { - unsigned int weaponId; - if (!reader.getFromBuffer(weaponId)) return 0; - AccessoryPart *accessoryPart = findByAccessoryPartId(weaponId); - if (accessoryPart->getAccessoryPartId() == weaponId && + AccessoryPart *accessoryPart = readAccessoryPart(reader); + if (accessoryPart && accessoryPart->getType() == AccessoryPart::AccessoryWeapon) { return ((Weapon *) accessoryPart); @@ -363,7 +377,8 @@ bool AccessoryStore::writeAccessoryPart(NetBuffer &buffer, AccessoryPart *part) { - buffer.addToBuffer(part->getAccessoryPartId()); + if (part) buffer.addToBuffer(part->getAccessoryPartId()); + else buffer.addToBuffer((unsigned int) 0); return true; } @@ -372,7 +387,8 @@ unsigned int partId; if (!reader.getFromBuffer(partId)) return 0; AccessoryPart *accessoryPart = findByAccessoryPartId(partId); - if (accessoryPart->getAccessoryPartId() == partId) + if (accessoryPart && + accessoryPart->getAccessoryPartId() == partId) { return accessoryPart; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/AccessoryStore.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/AccessoryStore.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/AccessoryStore.h 2006-02-24 23:55:51.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/AccessoryStore.h 2006-09-19 05:32:14.000000000 +0900 @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -38,20 +39,19 @@ bool parseFile(OptionsGame &context, ProgressCounter *counter = 0); void clearAccessories(); - Accessory *findByAccessoryType(AccessoryPart::AccessoryType type); Accessory *findByAccessoryId(unsigned int id); Accessory *findByPrimaryAccessoryName(const char *name); // **careful there** + AccessoryPart *findAccessoryPartByAccessoryId(unsigned int id, const char *type); AccessoryPart *createAccessoryPart(OptionsGame &context, Accessory *parent, XMLNode *currentNode); Weapon *getDeathAnimation(); Weapon *getMuzzelFlash(); - std::list &getAccessories() { return accessories_; } - std::list getAllWeapons(bool sort=false); - std::list getAllOthers(bool sort=false); std::list getAllAccessories(bool sort=false); + std::list getAllAccessoriesByGroup(const char *group, bool sort=false); std::map &getParsingNodes() { return parsingNodes_; } + std::set &getGroupNames() { return groups_; } bool writeWeapon(NetBuffer &buffer, Weapon *weapon); Weapon *readWeapon(NetBufferReader &reader); @@ -61,11 +61,12 @@ bool writeEconomyToBuffer(NetBuffer &buffer); bool readEconomyFromBuffer(NetBufferReader &reader); - static void sortList(std::list &accList); + void sortList(std::list &accList, bool alpha); protected: AccessoryPart *findByAccessoryPartId(unsigned int id); + std::set groups_; std::list accessories_; std::list accessoryParts_; std::map parsingNodes_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Fuel.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Fuel.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Fuel.cpp 2006-02-23 00:53:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Fuel.cpp 1970-01-01 09:00:00.000000000 +0900 @@ -1,39 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Scorched3D (c) 2000-2003 -// -// This file is part of Scorched3D. -// -// Scorched3D is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// Scorched3D is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Scorched3D; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//////////////////////////////////////////////////////////////////////////////// - -#include -#include - -REGISTER_ACCESSORY_SOURCE(Fuel); - -Fuel::Fuel() : stepTime_(0.05f) -{ -} - -Fuel::~Fuel() -{ -} - -bool Fuel::parseXML(OptionsGame &context, - AccessoryStore *store, XMLNode *accessoryNode) -{ - accessoryNode->getNamedChild("steptime", stepTime_, false); - return true; -} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Fuel.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Fuel.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Fuel.h 2006-02-23 00:53:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Fuel.h 1970-01-01 09:00:00.000000000 +0900 @@ -1,42 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Scorched3D (c) 2000-2003 -// -// This file is part of Scorched3D. -// -// Scorched3D is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// Scorched3D is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Scorched3D; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//////////////////////////////////////////////////////////////////////////////// - -#if !defined(__INCLUDE_Fuelh_INCLUDE__) -#define __INCLUDE_Fuelh_INCLUDE__ - -#include - -class Fuel : public AccessoryPart -{ -public: - Fuel(); - virtual ~Fuel(); - - float getStepTime() { return stepTime_; } - - virtual bool parseXML(OptionsGame &context, - AccessoryStore *store, XMLNode *accessoryNode); - - REGISTER_ACCESSORY_HEADER(Fuel, AccessoryPart::AccessoryFuel); -protected: - float stepTime_; -}; - -#endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Parachute.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Parachute.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Parachute.cpp 2004-12-28 01:53:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Parachute.cpp 2006-08-20 03:19:19.000000000 +0900 @@ -35,5 +35,7 @@ bool Parachute::parseXML(OptionsGame &context, AccessoryStore *store, XMLNode *accessoryNode) { - return true; + accessoryNode->getNamedChild("slowforce", slowForce_, false); + + return accessoryNode->failChildren(); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Parachute.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Parachute.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Parachute.h 2004-12-28 01:53:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Parachute.h 2006-08-20 03:19:19.000000000 +0900 @@ -32,7 +32,12 @@ virtual bool parseXML(OptionsGame &context, AccessoryStore *store, XMLNode *accessoryNode); + Vector &getSlowForce() { return slowForce_; } + REGISTER_ACCESSORY_HEADER(Parachute, AccessoryPart::AccessoryParachute); + +protected: + Vector slowForce_; }; #endif // !defined(AFX_PARACHUTE_H__F934B35F_3195_45F7_A6B4_D10CCDB296BD__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Shield.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Shield.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Shield.cpp 2006-04-30 20:56:34.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Shield.cpp 2006-10-17 18:53:10.000000000 +0900 @@ -23,10 +23,9 @@ #include #include -REGISTER_ACCESSORY_SOURCE(Shield); - Shield::Shield() : - laserProof_(false), movementProof_(false), glow_(true) + laserProof_(false), + movementProof_(ShieldMovementAll) { } @@ -46,10 +45,6 @@ // Get the penetration if (!accessoryNode->getNamedChild("power", power_)) return false; - // Get the penetration - if (!accessoryNode->getNamedChild("radius", radius_)) return false; - if (radius_ <= 0.0f) return accessoryNode->returnError("Shield radius must be > 0"); - // Get the collision sound if (!accessoryNode->getNamedChild("collisionsound", collisionSound_)) return false; if (!checkDataFile(formatString("data/wav/%s", getCollisionSound()))) return false; @@ -61,12 +56,27 @@ if (!colorNode->getNamedChild("g", color_[1])) return false; if (!colorNode->getNamedChild("b", color_[2])) return false; - // Get the half size - if (!accessoryNode->getNamedChild("halfshield", halfShield_)) return false; - accessoryNode->getNamedChild("laserproof", laserProof_, false); - accessoryNode->getNamedChild("movementproof", movementProof_, false); - accessoryNode->getNamedChild("glow", glow_, false); + + std::string movementproof; + if (accessoryNode->getNamedChild("movementproof", movementproof, false)) + { + if (0 == strcmp(movementproof.c_str(), "false")) + movementProof_ = ShieldMovementAll; + else if (0 == strcmp(movementproof.c_str(), "true")) + movementProof_ = ShieldMovementSame; + else if (0 == strcmp(movementproof.c_str(), "none")) + movementProof_ = ShieldMovementNone; + else if (0 == strcmp(movementproof.c_str(), "team1")) + movementProof_ = ShieldMovementTeam1; + else if (0 == strcmp(movementproof.c_str(), "team2")) + movementProof_ = ShieldMovementTeam2; + else if (0 == strcmp(movementproof.c_str(), "team3")) + movementProof_ = ShieldMovementTeam3; + else if (0 == strcmp(movementproof.c_str(), "team4")) + movementProof_ = ShieldMovementTeam4; + else return accessoryNode->returnError("Unknown movementproof type"); + } return true; } @@ -76,8 +86,3 @@ if (!collisionSound_.c_str()[0]) return 0; return collisionSound_.c_str(); } - -Shield::ShieldType Shield::getShieldType() -{ - return ShieldTypeNormal; -} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Shield.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Shield.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/Shield.h 2006-04-30 20:56:34.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/Shield.h 2006-10-17 18:53:10.000000000 +0900 @@ -29,9 +29,21 @@ public: enum ShieldType { - ShieldTypeNormal, - ShieldTypeReflective, - ShieldTypeMag + ShieldTypeRoundNormal, + ShieldTypeRoundReflective, + ShieldTypeRoundMag, + ShieldTypeSquareNormal, + ShieldTypeSquareReflective + }; + enum ShieldMovementType + { + ShieldMovementAll, + ShieldMovementNone, + ShieldMovementSame, + ShieldMovementTeam1, + ShieldMovementTeam2, + ShieldMovementTeam3, + ShieldMovementTeam4 }; Shield(); @@ -44,28 +56,23 @@ const char *getCollisionSound(); float getHitRemovePower() { return removePower_; } float getHitPenetration() { return penetration_; } - float getActualRadius() { return radius_; } float getPower() { return power_; } Vector &getColor() { return color_; } - bool getHalfShield() { return halfShield_; } bool getLaserProof() { return laserProof_; } - bool getMovementProof() { return movementProof_; } - bool getGlow() { return glow_; } - virtual ShieldType getShieldType(); + ShieldMovementType getMovementProof() { return movementProof_; } - REGISTER_ACCESSORY_HEADER(Shield, AccessoryPart::AccessoryShield); + virtual bool inShield(Vector &offset) = 0; + virtual ShieldType getShieldType() = 0; + virtual bool getRound() = 0; protected: std::string collisionSound_; Vector color_; float removePower_; float penetration_; - float radius_; float power_; - bool halfShield_; bool laserProof_; - bool movementProof_; - bool glow_; + ShieldMovementType movementProof_; }; #endif // !defined(AFX_SHIELD_H__F9BCDF39_FB62_4BB4_9D64_C70215669F9C__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldMag.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldMag.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldMag.cpp 2004-12-28 01:53:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldMag.cpp 1970-01-01 09:00:00.000000000 +0900 @@ -1,47 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Scorched3D (c) 2000-2003 -// -// This file is part of Scorched3D. -// -// Scorched3D is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// Scorched3D is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Scorched3D; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//////////////////////////////////////////////////////////////////////////////// - -#include - -REGISTER_ACCESSORY_SOURCE(ShieldMag); - -ShieldMag::ShieldMag() -{ -} - -ShieldMag::~ShieldMag() -{ -} - -bool ShieldMag::parseXML(OptionsGame &context, - AccessoryStore *store, XMLNode *accessoryNode) -{ - if (!Shield::parseXML(context, store, accessoryNode)) return false; - - // Get the half size - if (!accessoryNode->getNamedChild("deflectpower", deflectPower_)) return false; - - return true; -} - -Shield::ShieldType ShieldMag::getShieldType() -{ - return ShieldTypeMag; -} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldMag.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldMag.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldMag.h 2004-12-28 01:53:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldMag.h 1970-01-01 09:00:00.000000000 +0900 @@ -1,44 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Scorched3D (c) 2000-2003 -// -// This file is part of Scorched3D. -// -// Scorched3D is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// Scorched3D is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Scorched3D; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//////////////////////////////////////////////////////////////////////////////// - -#if !defined(__INCLUDE_ShieldMagh_INCLUDE__) -#define __INCLUDE_ShieldMagh_INCLUDE__ - -#include - -class ShieldMag : public Shield -{ -public: - ShieldMag(); - virtual ~ShieldMag(); - - virtual bool parseXML(OptionsGame &context, - AccessoryStore *store, XMLNode *accessoryNode); - virtual ShieldType getShieldType(); - - float getDeflectPower() { return deflectPower_; } - - REGISTER_ACCESSORY_HEADER(ShieldMag, AccessoryPart::AccessoryShield); - -protected: - float deflectPower_; -}; - -#endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldReflective.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldReflective.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldReflective.cpp 2005-06-09 02:29:39.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldReflective.cpp 1970-01-01 09:00:00.000000000 +0900 @@ -1,47 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Scorched3D (c) 2000-2003 -// -// This file is part of Scorched3D. -// -// Scorched3D is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// Scorched3D is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Scorched3D; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//////////////////////////////////////////////////////////////////////////////// - -#include - -REGISTER_ACCESSORY_SOURCE(ShieldReflective); - -ShieldReflective::ShieldReflective() -{ -} - -ShieldReflective::~ShieldReflective() -{ -} - -bool ShieldReflective::parseXML(OptionsGame &context, - AccessoryStore *store, XMLNode *accessoryNode) -{ - if (!Shield::parseXML(context, store, accessoryNode)) return false; - - // Get the half size - if (!accessoryNode->getNamedChild("deflectfactor", deflectFactor_)) return false; - - return true; -} - -Shield::ShieldType ShieldReflective::getShieldType() -{ - return ShieldTypeReflective; -} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldReflective.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldReflective.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldReflective.h 2005-06-09 02:29:40.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldReflective.h 1970-01-01 09:00:00.000000000 +0900 @@ -1,44 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Scorched3D (c) 2000-2003 -// -// This file is part of Scorched3D. -// -// Scorched3D is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// Scorched3D is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Scorched3D; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -//////////////////////////////////////////////////////////////////////////////// - - -#if !defined(__INCLUDE_ShieldReflectiveh_INCLUDE__) -#define __INCLUDE_ShieldReflectiveh_INCLUDE__ -#include - -class ShieldReflective : public Shield -{ -public: - ShieldReflective(); - virtual ~ShieldReflective(); - - virtual bool parseXML(OptionsGame &context, - AccessoryStore *store, XMLNode *accessoryNode); - virtual ShieldType getShieldType(); - - float getDeflectFactor() { return deflectFactor_; } - - REGISTER_ACCESSORY_HEADER(ShieldReflective, AccessoryPart::AccessoryShield); - -protected: - float deflectFactor_; -}; - -#endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldRound.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldRound.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldRound.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldRound.cpp 2006-10-13 06:15:55.000000000 +0900 @@ -0,0 +1,62 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include + +REGISTER_ACCESSORY_SOURCE(ShieldRound); + +ShieldRound::ShieldRound() : + glow_(true) +{ +} + +ShieldRound::~ShieldRound() +{ +} + +Shield::ShieldType ShieldRound::getShieldType() +{ + return ShieldTypeRoundNormal; +} + +bool ShieldRound::inShield(Vector &offset) +{ + return offset.Magnitude() <= radius_; +} + +bool ShieldRound::parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode) +{ + if (!Shield::parseXML(context, store, accessoryNode)) return false; + + // Get the penetration + if (!accessoryNode->getNamedChild("radius", radius_)) return false; + if (radius_ <= 0.0f) return accessoryNode->returnError("ShieldRound radius must be > 0"); + + // Get the half size + if (!accessoryNode->getNamedChild("halfshield", halfShield_)) return false; + + accessoryNode->getNamedChild("glow", glow_, false); + + return true; +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldRound.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldRound.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldRound.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldRound.h 2006-10-13 06:15:55.000000000 +0900 @@ -0,0 +1,52 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(AFX_ShieldRound_H__F9BCDF39_FB62_4BB4_9D64_C70215669F9C__INCLUDED_) +#define AFX_ShieldRound_H__F9BCDF39_FB62_4BB4_9D64_C70215669F9C__INCLUDED_ + +#include + +class ShieldRound : public Shield +{ +public: + ShieldRound(); + virtual ~ShieldRound(); + + virtual bool parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode); + + // ShieldRound attributes + float getActualRadius() { return radius_; } + bool getHalfShield() { return halfShield_; } + bool getGlow() { return glow_; } + + virtual bool inShield(Vector &offset); + virtual ShieldType getShieldType(); + virtual bool getRound() { return true; } + + REGISTER_ACCESSORY_HEADER(ShieldRound, AccessoryPart::AccessoryShield); + +protected: + float radius_; + bool halfShield_; + bool glow_; +}; + +#endif // !defined(AFX_ShieldRound_H__F9BCDF39_FB62_4BB4_9D64_C70215669F9C__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldRoundMag.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldRoundMag.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldRoundMag.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldRoundMag.cpp 2006-10-13 06:15:55.000000000 +0900 @@ -0,0 +1,47 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include + +REGISTER_ACCESSORY_SOURCE(ShieldRoundMag); + +ShieldRoundMag::ShieldRoundMag() +{ +} + +ShieldRoundMag::~ShieldRoundMag() +{ +} + +bool ShieldRoundMag::parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode) +{ + if (!ShieldRound::parseXML(context, store, accessoryNode)) return false; + + // Get the half size + if (!accessoryNode->getNamedChild("deflectpower", deflectPower_)) return false; + + return true; +} + +Shield::ShieldType ShieldRoundMag::getShieldType() +{ + return ShieldTypeRoundMag; +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldRoundMag.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldRoundMag.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldRoundMag.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldRoundMag.h 2006-10-13 06:15:55.000000000 +0900 @@ -0,0 +1,44 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_ShieldRoundMagh_INCLUDE__) +#define __INCLUDE_ShieldRoundMagh_INCLUDE__ + +#include + +class ShieldRoundMag : public ShieldRound +{ +public: + ShieldRoundMag(); + virtual ~ShieldRoundMag(); + + virtual bool parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode); + virtual ShieldType getShieldType(); + + float getDeflectPower() { return deflectPower_; } + + REGISTER_ACCESSORY_HEADER(ShieldRoundMag, AccessoryPart::AccessoryShield); + +protected: + float deflectPower_; +}; + +#endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldRoundReflective.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldRoundReflective.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldRoundReflective.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldRoundReflective.cpp 2006-10-13 06:15:55.000000000 +0900 @@ -0,0 +1,47 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include + +REGISTER_ACCESSORY_SOURCE(ShieldRoundReflective); + +ShieldRoundReflective::ShieldRoundReflective() +{ +} + +ShieldRoundReflective::~ShieldRoundReflective() +{ +} + +bool ShieldRoundReflective::parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode) +{ + if (!ShieldRound::parseXML(context, store, accessoryNode)) return false; + + // Get the half size + if (!accessoryNode->getNamedChild("deflectfactor", deflectFactor_)) return false; + + return true; +} + +Shield::ShieldType ShieldRoundReflective::getShieldType() +{ + return ShieldTypeRoundReflective; +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldRoundReflective.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldRoundReflective.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldRoundReflective.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldRoundReflective.h 2006-10-13 06:15:55.000000000 +0900 @@ -0,0 +1,44 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_ShieldRoundReflectiveh_INCLUDE__) +#define __INCLUDE_ShieldRoundReflectiveh_INCLUDE__ + +#include + +class ShieldRoundReflective : public ShieldRound +{ +public: + ShieldRoundReflective(); + virtual ~ShieldRoundReflective(); + + virtual bool parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode); + virtual ShieldType getShieldType(); + + float getDeflectFactor() { return deflectFactor_; } + + REGISTER_ACCESSORY_HEADER(ShieldRoundReflective, AccessoryPart::AccessoryShield); + +protected: + float deflectFactor_; +}; + +#endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldSquare.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldSquare.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldSquare.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldSquare.cpp 2006-10-13 06:15:55.000000000 +0900 @@ -0,0 +1,60 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include + +REGISTER_ACCESSORY_SOURCE(ShieldSquare); + +ShieldSquare::ShieldSquare() +{ +} + +ShieldSquare::~ShieldSquare() +{ +} + +Shield::ShieldType ShieldSquare::getShieldType() +{ + return ShieldTypeSquareNormal; +} + +bool ShieldSquare::inShield(Vector &offset) +{ + return + offset[0] > -size_[0] && + offset[0] < +size_[0] && + offset[1] > -size_[1] && + offset[1] < +size_[1] && + offset[2] > -size_[2] && + offset[2] < +size_[2]; +} + +bool ShieldSquare::parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode) +{ + if (!Shield::parseXML(context, store, accessoryNode)) return false; + + // Get the size + if (!accessoryNode->getNamedChild("size", size_)) return false; + + return true; +} + + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldSquare.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldSquare.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldSquare.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldSquare.h 2006-10-13 06:15:56.000000000 +0900 @@ -0,0 +1,48 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(AFX_ShieldSquare_H__F9BCDF39_FB62_4BB4_9D64_C70215669F9C__INCLUDED_) +#define AFX_ShieldSquare_H__F9BCDF39_FB62_4BB4_9D64_C70215669F9C__INCLUDED_ + +#include + +class ShieldSquare : public Shield +{ +public: + ShieldSquare(); + virtual ~ShieldSquare(); + + virtual bool parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode); + + // ShieldSquare attributes + Vector &getSize() { return size_; } + + virtual bool inShield(Vector &offset); + virtual ShieldType getShieldType(); + virtual bool getRound() { return false; } + + REGISTER_ACCESSORY_HEADER(ShieldSquare, AccessoryPart::AccessoryShield); + +protected: + Vector size_; +}; + +#endif // !defined(AFX_ShieldSquare_H__F9BCDF39_FB62_4BB4_9D64_C70215669F9C__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldSquareReflective.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldSquareReflective.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldSquareReflective.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldSquareReflective.cpp 2006-10-13 06:15:56.000000000 +0900 @@ -0,0 +1,47 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include + +REGISTER_ACCESSORY_SOURCE(ShieldSquareReflective); + +ShieldSquareReflective::ShieldSquareReflective() +{ +} + +ShieldSquareReflective::~ShieldSquareReflective() +{ +} + +bool ShieldSquareReflective::parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode) +{ + if (!ShieldSquare::parseXML(context, store, accessoryNode)) return false; + + // Get the half size + if (!accessoryNode->getNamedChild("deflectfactor", deflectFactor_)) return false; + + return true; +} + +Shield::ShieldType ShieldSquareReflective::getShieldType() +{ + return ShieldTypeSquareReflective; +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldSquareReflective.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldSquareReflective.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/ShieldSquareReflective.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/ShieldSquareReflective.h 2006-10-13 06:15:56.000000000 +0900 @@ -0,0 +1,44 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_ShieldReflectiveh_INCLUDE__) +#define __INCLUDE_ShieldReflectiveh_INCLUDE__ + +#include + +class ShieldSquareReflective : public ShieldSquare +{ +public: + ShieldSquareReflective(); + virtual ~ShieldSquareReflective(); + + virtual bool parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode); + virtual ShieldType getShieldType(); + + float getDeflectFactor() { return deflectFactor_; } + + REGISTER_ACCESSORY_HEADER(ShieldSquareReflective, AccessoryPart::AccessoryShield); + +protected: + float deflectFactor_; +}; + +#endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponAimedOver.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponAimedOver.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponAimedOver.cpp 2005-12-18 00:01:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponAimedOver.cpp 2006-11-16 08:17:15.000000000 +0900 @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -77,11 +78,19 @@ unsigned int data) { Vector position = sentPosition; - if (position[0] < 6.0f) position[0] = 6.0f; - else if (position[0] > 249.0f) position[0] = 249.0f; - if (position[1] < 6.0f) position[1] = 6.0f; - else if (position[1] > 249.0f) position[1] = 249.0f; + // Make sure that this position is inside the walls (if any) + if (context.optionsTransient->getWallType() != OptionsTransient::wallNone) + { + if (position[0] < 6.0f) position[0] = 6.0f; + else if (position[0] > (float)context.landscapeMaps->getGroundMaps().getMapWidth() - 6) + position[0] = (float)context.landscapeMaps->getGroundMaps().getMapWidth() - 6; + if (position[1] < 6.0f) position[1] = 6.0f; + else if (position[1] > (float)context.landscapeMaps->getGroundMaps().getMapHeight() - 6) + position[1] = (float)context.landscapeMaps->getGroundMaps().getMapHeight() - 6; + } + + // Make sure that this position is above ground float minHeight = context.landscapeMaps->getGroundMaps().getInterpHeight( position[0], position[1]); if (position[2] < minHeight + 0.5f) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponAimedUnder.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponAimedUnder.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponAimedUnder.cpp 2005-12-18 00:01:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponAimedUnder.cpp 2006-09-05 01:36:30.000000000 +0900 @@ -29,7 +29,7 @@ REGISTER_ACCESSORY_SOURCE(WeaponAimedUnder); -WeaponAimedUnder::WeaponAimedUnder() : warHeads_(0) +WeaponAimedUnder::WeaponAimedUnder() : warHeads_(0), moveUnderground_(true) { } @@ -68,6 +68,9 @@ // Get the accessory percentage miss chance if (!accessoryNode->getNamedChild("inaccuracy", maxInacuracy_)) return false; + // Get optional moveunderground attribute + accessoryNode->getNamedChild("moveunderground", moveUnderground_, false); + return true; } @@ -77,12 +80,15 @@ { // NOTE: This code is very similar to the funky bomb code // except it works under ground - float height = context.landscapeMaps->getGroundMaps(). - getInterpHeight(position[0], position[1]); - if (position[2] < height + 1.0f) + if (moveUnderground_) { - position[2] = context.landscapeMaps->getGroundMaps(). - getInterpHeight(position[0], position[1]) / 2.0f; + float height = context.landscapeMaps->getGroundMaps(). + getInterpHeight(position[0], position[1]); + if (position[2] < height + 1.0f) + { + position[2] = context.landscapeMaps->getGroundMaps(). + getInterpHeight(position[0], position[1]) / 2.0f; + } } // Get all of the distances of the tanks less than 50 away diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponAimedUnder.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponAimedUnder.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponAimedUnder.h 2004-12-28 01:53:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponAimedUnder.h 2006-09-05 01:36:30.000000000 +0900 @@ -45,6 +45,7 @@ float maxAimedDistance_; float percentageMissChance_; float maxInacuracy_; + bool moveUnderground_; }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveAccessory.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveAccessory.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveAccessory.cpp 2006-04-23 00:16:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveAccessory.cpp 2006-09-25 07:59:38.000000000 +0900 @@ -85,16 +85,55 @@ itor++) { Accessory *accessory = (*itor); - tank->getAccessories().add(accessory, number_); - if (!context.serverMode) + if (number_ > 0) { - LoggerInfo info(LoggerInfo::TypeDeath, - formatString("\"%s\" received %i * %s", - tank->getName(), - number_, accessory->getName())); - info.setPlayerId(playerId); - Logger::log(info); + if (tank->getAccessories().accessoryAllowed(accessory, number_)) + { + tank->getAccessories().add(accessory, number_); + if (!context.serverMode) + { + LoggerInfo info(LoggerInfo::TypeDeath, + formatString("\"%s\" received %i * %s", + tank->getName(), + number_, accessory->getName())); + info.setPlayerId(playerId); + Logger::log(info); + } + } + else + { + int money = accessory->getSellPrice() * number_; + tank->getScore().setMoney(tank->getScore().getMoney() + money); + + if (!context.serverMode) + { + LoggerInfo info(LoggerInfo::TypeDeath, + formatString("\"%s\" received $%i", + tank->getName(), money)); + info.setPlayerId(playerId); + Logger::log(info); + } + } + } + else + { + int count = tank->getAccessories().getAccessoryCount(accessory); + if (count > 0) + { + int loose = MIN(count, -number_); + + tank->getAccessories().rm(accessory, loose); + if (!context.serverMode) + { + LoggerInfo info(LoggerInfo::TypeDeath, + formatString("\"%s\" lost %i * %s", + tank->getName(), + loose, accessory->getName())); + info.setPlayerId(playerId); + Logger::log(info); + } + } } } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveLife.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveLife.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveLife.cpp 2006-04-23 00:16:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveLife.cpp 2006-07-26 01:44:56.000000000 +0900 @@ -67,21 +67,46 @@ Tank *tank = context.tankContainer->getTankById(playerId); if (!tank) return; - if (life_ > tank->getLife().getMaxLife() && - exceedMax_) + if (life_ > 0.0f) { - tank->getLife().setMaxLife(life_); - } - tank->getLife().setLife( - tank->getLife().getLife() + life_); + if (life_ > tank->getLife().getMaxLife() && + exceedMax_) + { + tank->getLife().setMaxLife(life_); + } + tank->getLife().setLife( + tank->getLife().getLife() + life_); - if (!context.serverMode) + if (!context.serverMode) + { + LoggerInfo info(LoggerInfo::TypeDeath, + formatString("\"%s\" received %.0f life", + tank->getName(), life_)); + info.setPlayerId(playerId); + Logger::log(info); + } + } + else { - LoggerInfo info(LoggerInfo::TypeDeath, - formatString("\"%s\" received %.0f life", - tank->getName(), life_)); - info.setPlayerId(playerId); - Logger::log(info); + if (tank->getLife().getLife() + life_ <= 0.0f) + { + tank->getLife().setLife( + MIN(1.0f, tank->getLife().getLife())); + } + else + { + tank->getLife().setLife( + tank->getLife().getLife() + life_); + } + + if (!context.serverMode) + { + LoggerInfo info(LoggerInfo::TypeDeath, + formatString("\"%s\" lost %.0f life", + tank->getName(), -life_)); + info.setPlayerId(playerId); + Logger::log(info); + } } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveLives.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveLives.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveLives.cpp 2006-04-30 20:56:34.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveLives.cpp 2006-07-26 01:44:57.000000000 +0900 @@ -69,15 +69,26 @@ if (tank->getState().getMaxLives() > 0) { tank->getState().setLives( - tank->getState().getLives() + 1); + MAX(tank->getState().getLives() + lives_, 1)); if (!context.serverMode) { - LoggerInfo info(LoggerInfo::TypeDeath, - formatString("\"%s\" has received %i extra live(s)", - tank->getName(), lives_)); - info.setPlayerId(playerId); - Logger::log(info); + if (lives_ > 0) + { + LoggerInfo info(LoggerInfo::TypeDeath, + formatString("\"%s\" has received %i extra live(s)", + tank->getName(), lives_)); + info.setPlayerId(playerId); + Logger::log(info); + } + else + { + LoggerInfo info(LoggerInfo::TypeDeath, + formatString("\"%s\" has lost %i extra live(s)", + tank->getName(), -lives_)); + info.setPlayerId(playerId); + Logger::log(info); + } } } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveMoney.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveMoney.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveMoney.cpp 2006-04-23 00:16:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveMoney.cpp 2006-07-26 01:44:57.000000000 +0900 @@ -70,11 +70,22 @@ if (!context.serverMode) { - LoggerInfo info(LoggerInfo::TypeDeath, - formatString("\"%s\" received $%i", - tank->getName(), money_)); - info.setPlayerId(playerId); - Logger::log(info); + if (money_ > 0) + { + LoggerInfo info(LoggerInfo::TypeDeath, + formatString("\"%s\" received $%i", + tank->getName(), money_)); + info.setPlayerId(playerId); + Logger::log(info); + } + else + { + LoggerInfo info(LoggerInfo::TypeDeath, + formatString("\"%s\" lost $%i", + tank->getName(), -money_)); + info.setPlayerId(playerId); + Logger::log(info); + } } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveScore.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveScore.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveScore.cpp 2006-04-23 00:16:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveScore.cpp 2006-07-26 01:44:57.000000000 +0900 @@ -75,11 +75,22 @@ if (!context.serverMode) { - LoggerInfo info(LoggerInfo::TypeDeath, - formatString("\"%s\" received %i bonus score", - tank->getName(), score_)); - info.setPlayerId(playerId); - Logger::log(info); + if (score_ > 0) + { + LoggerInfo info(LoggerInfo::TypeDeath, + formatString("\"%s\" received %i bonus score", + tank->getName(), score_)); + info.setPlayerId(playerId); + Logger::log(info); + } + else + { + LoggerInfo info(LoggerInfo::TypeDeath, + formatString("\"%s\" lost %i bonus score", + tank->getName(), -score_)); + info.setPlayerId(playerId); + Logger::log(info); + } } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveWin.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveWin.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveWin.cpp 2006-04-23 00:16:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveWin.cpp 2006-10-16 18:37:20.000000000 +0900 @@ -31,7 +31,8 @@ REGISTER_ACCESSORY_SOURCE(WeaponGiveWin); -WeaponGiveWin::WeaponGiveWin() +WeaponGiveWin::WeaponGiveWin() : + winningTeam_(0) { } @@ -48,6 +49,8 @@ if (!accessoryNode->getNamedChild("objective", objective_)) return false; + accessoryNode->getNamedChild("winningteam", winningTeam_); + return true; } @@ -66,24 +69,32 @@ unsigned int data, unsigned int userData) { - Tank *tank = context.tankContainer->getTankById(playerId); - if (!tank) return; - if (context.optionsGame->getTeams() > 1) { - context.tankTeamScore->setWonGame(tank->getTeam()); + int team = winningTeam_; + if (team == 0) + { + Tank *tank = context.tankContainer->getTankById(playerId); + if (!tank) return; + + team = tank->getTeam(); + } + context.tankTeamScore->setWonGame(team); if (!context.serverMode) { LoggerInfo info(LoggerInfo::TypeDeath, formatString("%s team %s and won the game", - TankColorGenerator::getTeamName(tank->getTeam()), + TankColorGenerator::getTeamName(team), objective_.c_str())); Logger::log(info); } } else { + Tank *tank = context.tankContainer->getTankById(playerId); + if (!tank) return; + tank->getScore().setWonGame(); if (!context.serverMode) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveWin.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveWin.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponGiveWin.h 2006-04-23 00:16:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponGiveWin.h 2006-09-19 04:35:55.000000000 +0900 @@ -48,6 +48,7 @@ protected: std::string objective_; + int winningTeam_; }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponMoveTank.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponMoveTank.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponMoveTank.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponMoveTank.cpp 2006-09-19 05:32:14.000000000 +0900 @@ -0,0 +1,63 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include +#include +#include + +REGISTER_ACCESSORY_SOURCE(WeaponMoveTank); + +WeaponMoveTank::WeaponMoveTank() : + stepTime_(0.05f), useFuel_(true), maximumRange_(100) +{ + +} + +WeaponMoveTank::~WeaponMoveTank() +{ + +} + +bool WeaponMoveTank::parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode) +{ + if (!Weapon::parseXML(context, store, accessoryNode)) return false; + accessoryNode->getNamedChild("steptime", stepTime_, false); + accessoryNode->getNamedChild("usefuel", useFuel_, false); + accessoryNode->getNamedChild("maximumrange", maximumRange_, false); + return true; +} + +void WeaponMoveTank::fireWeapon(ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data) +{ + int posX = (int) position[0]; + int posY = (int) position[1]; + if (posX > 5 && posX < context.landscapeMaps->getDefinitions().getDefn()->landscapewidth - 5 && + posY > 5 && posY < context.landscapeMaps->getDefinitions().getDefn()->landscapeheight - 5) + { + context.actionController->addAction( + new TankMovement(playerId, this, posX, posY)); + } +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponMoveTank.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponMoveTank.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponMoveTank.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponMoveTank.h 2006-09-19 05:32:14.000000000 +0900 @@ -0,0 +1,53 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(AFX_WeaponMoveTank_H__B5C043F0_7DC6_4198_AE5B_E19002234FCE__INCLUDED_) +#define AFX_WeaponMoveTank_H__B5C043F0_7DC6_4198_AE5B_E19002234FCE__INCLUDED_ + +#include + +class WeaponMoveTank : public Weapon +{ +public: + WeaponMoveTank(); + virtual ~WeaponMoveTank(); + + virtual bool parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode); + + int getMaximumRange() { return maximumRange_; } + float getStepTime() { return stepTime_; } + bool getUseFuel() { return useFuel_; } + + // Inherited from Weapon + void fireWeapon(ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data = 0); + + REGISTER_ACCESSORY_HEADER(WeaponMoveTank, AccessoryPart::AccessoryWeapon); + +protected: + int maximumRange_; + float stepTime_; + bool useFuel_; + +}; + +#endif // !defined(AFX_WeaponMoveTank_H__B5C043F0_7DC6_4198_AE5B_E19002234FCE__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponNapalm.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponNapalm.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponNapalm.cpp 2006-07-10 02:55:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponNapalm.cpp 2006-07-23 09:43:48.000000000 +0900 @@ -29,7 +29,7 @@ WeaponNapalm::WeaponNapalm() : noSmoke_(false), noObjectDamage_(false), - groundScorchPer_(0.8f) + groundScorchPer_(0.2f) { } @@ -57,6 +57,11 @@ if (!accessoryNode->getNamedChild("allowunderwater", allowUnderWater_)) return false; if (!checkDataFile(formatString("data/wav/%s", getNapalmSound()))) return false; + // Get the optional luminance node + XMLNode *noLuminanceNode = 0; luminance_ = true; + accessoryNode->getNamedChild("noluminance", noLuminanceNode, false); + if (noLuminanceNode) luminance_ = false; + // Optional deform texture if (accessoryNode->getNamedChild("deformtexture", deformTexture_, false)) { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponNapalm.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponNapalm.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponNapalm.h 2006-07-10 02:55:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponNapalm.h 2006-07-23 09:43:48.000000000 +0900 @@ -47,6 +47,7 @@ const bool getNoObjectDamage() { return noObjectDamage_; } const bool getAllowUnderWater() { return allowUnderWater_; } const char *getDeformTexture() { return deformTexture_.c_str(); } + const bool getLuminance() { return luminance_; } // Inherited from Weapon virtual void fireWeapon(ScorchedContext &context, @@ -67,6 +68,7 @@ bool noSmoke_; // Turns off smoke emitted by napalm bool noObjectDamage_;// Turns off burning damage to landscape objects bool allowUnderWater_;// Turns on/off napalm working under water + bool luminance_; // The texutre luminance std::string napalmSound_; std::string napalmTexture_; std::string deformTexture_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponProjectile.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponProjectile.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponProjectile.cpp 2006-05-22 22:53:21.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponProjectile.cpp 2006-09-17 23:16:13.000000000 +0900 @@ -29,8 +29,8 @@ under_(false), collisionAction_(0), apexCollision_(false), showShotPath_(false), showEndPoint_(false), createSmoke_(true), createFlame_(true), - spinSpeed_(1.0f), apexNoDud_(false), - timedCollision_(0.0f), shieldHurtFactor_(1.0f), + spinSpeed_(1.0f), apexNoDud_(false), timedDud_(false), + timedCollision_(0.0f), shieldHurtFactor_(1.0f), windFactor_(1.0f), flameLife_(1.0f), smokeLife_(4.0f), flameStartColor1_(0.9f, 0.0f, 0.0f), flameStartColor2_(1.0f, 0.2f, 0.2f), flameEndColor1_(0.95f, 0.9f, 0.2f), flameEndColor2_(1.0f, 1.0f, 0.3f), @@ -102,7 +102,10 @@ if (apexNoDudNode) apexNoDud_ = true; // Get the timed collision point + XMLNode *timedDudNode = 0; accessoryNode->getNamedChild("timedcollision", timedCollision_, false); + accessoryNode->getNamedChild("timeddud", timedDudNode, false); + if (timedDudNode) timedDud_ = true; // Get the no smoke node XMLNode *noCreateSmokeNode = 0; @@ -123,6 +126,9 @@ // Get the hurt factor (if any) accessoryNode->getNamedChild("shieldhurtfactor", shieldHurtFactor_, false); + // Get the wind factor (if any) + accessoryNode->getNamedChild("windfactor", windFactor_, false); + // Get the next weapon XMLNode *subNode = 0; if (!accessoryNode->getNamedChild("collisionaction", subNode)) return false; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponProjectile.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponProjectile.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponProjectile.h 2006-05-19 02:17:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponProjectile.h 2006-09-17 23:16:13.000000000 +0900 @@ -49,6 +49,8 @@ bool getApexNoDud() { return apexNoDud_; } bool getCreateSmoke() { return createSmoke_; } bool getCreateFlame() { return createFlame_; } + bool getTimedDud() { return timedDud_; } + float getWindFactor() { return windFactor_; } float getShieldHurtFactor() { return shieldHurtFactor_; } float getTimedCollision() { return timedCollision_; } float getSpinSpeed() { return spinSpeed_; } @@ -71,7 +73,7 @@ bool showShotPath_; bool showEndPoint_; bool apexCollision_; - bool apexNoDud_; + bool apexNoDud_, timedDud_; float spinSpeed_; bool createSmoke_, createFlame_; float flameLife_, smokeLife_; @@ -80,6 +82,7 @@ float timedCollision_; float shieldHurtFactor_; float scale_; + float windFactor_; Vector flameStartColor1_, flameStartColor2_; Vector flameEndColor1_, flameEndColor2_; std::string engineSound_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponRoller.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponRoller.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponRoller.cpp 2005-12-18 00:01:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponRoller.cpp 2006-10-13 06:15:56.000000000 +0900 @@ -30,7 +30,8 @@ REGISTER_ACCESSORY_SOURCE(WeaponRoller); -WeaponRoller::WeaponRoller() : shieldHurtFactor_(0.0f) +WeaponRoller::WeaponRoller() : + shieldHurtFactor_(0.0f), windFactor_(1.0f) { } @@ -54,6 +55,9 @@ // Get the hurt factor (if any) accessoryNode->getNamedChild("shieldhurtfactor", shieldHurtFactor_, false); + // Get the wind factor (if any) + accessoryNode->getNamedChild("windfactor", windFactor_, false); + XMLNode *subNode = 0; if (!accessoryNode->getNamedChild("collisionaction", subNode)) return false; @@ -130,8 +134,8 @@ if (accessory) { Shield *shield = (Shield *) accessory->getAction(); - float shieldSize = shield->getActualRadius(); - if ((position - tankPos).Magnitude() < shieldSize) + Vector offset = position - tankPos; + if (shield->inShield(offset)) { ok = false; position[2] += 1.0f; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponRoller.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponRoller.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponRoller.h 2005-06-12 01:53:41.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponRoller.h 2006-09-17 23:16:14.000000000 +0900 @@ -37,6 +37,7 @@ ModelID &getRollerModelID() { return rollerModelId_; } float getShieldHurtFactor() { return shieldHurtFactor_; } float getTime() { return time_; } + float getWindFactor() { return windFactor_; } // Inherited from Weapon virtual void fireWeapon(ScorchedContext &context, @@ -50,6 +51,7 @@ Weapon *collisionAction_; ModelID rollerModelId_; float shieldHurtFactor_; + float windFactor_; float time_; void addRoller(ScorchedContext &context, unsigned int playerId, diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponSelectPosition.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponSelectPosition.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponSelectPosition.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponSelectPosition.cpp 2006-09-11 09:25:22.000000000 +0900 @@ -0,0 +1,78 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include + +REGISTER_ACCESSORY_SOURCE(WeaponSelectPosition); + +WeaponSelectPosition::WeaponSelectPosition() +{ + +} + +WeaponSelectPosition::~WeaponSelectPosition() +{ + +} + +bool WeaponSelectPosition::parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode) +{ + if (!Weapon::parseXML(context, store, accessoryNode)) return false; + + // Get the next weapon + XMLNode *subNode = 0; + if (!accessoryNode->getNamedChild("aimedweapon", subNode)) return false; + + // Check next weapon is correct type + AccessoryPart *accessory = store->createAccessoryPart(context, parent_, subNode); + if (!accessory || accessory->getType() != AccessoryPart::AccessoryWeapon) + { + return subNode->returnError("Failed to find sub weapon, not a weapon"); + } + aimedWeapon_ = (Weapon*) accessory; + + return true; +} + +void WeaponSelectPosition::fireWeapon(ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data) +{ + // This weapon re-centers the current shot on the user selected position + // This can be used for firing from a moving tank + + Tank *tank = context.tankContainer->getTankById(playerId); + if (tank && tank->getState().getState() == TankState::sNormal) + { + Vector newPosition; + newPosition[0] = (float) tank->getPosition().getSelectPositionX(); + newPosition[1] = (float) tank->getPosition().getSelectPositionY(); + newPosition[2] = context.landscapeMaps->getGroundMaps().getHeight( + tank->getPosition().getSelectPositionX(), + tank->getPosition().getSelectPositionY()); + + aimedWeapon_->fireWeapon(context, playerId, newPosition, velocity, data); + } +} + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponSelectPosition.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponSelectPosition.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponSelectPosition.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponSelectPosition.h 2006-09-11 09:25:22.000000000 +0900 @@ -0,0 +1,47 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(AFX_WeaponSelectPosition_H__B5C043F0_7DC6_4198_AE5B_E19002234FCE__INCLUDED_) +#define AFX_WeaponSelectPosition_H__B5C043F0_7DC6_4198_AE5B_E19002234FCE__INCLUDED_ + +#include + +class WeaponSelectPosition : public Weapon +{ +public: + WeaponSelectPosition(); + virtual ~WeaponSelectPosition(); + + virtual bool parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode); + + // Inherited from Weapon + void fireWeapon(ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data = 0); + + REGISTER_ACCESSORY_HEADER(WeaponSelectPosition, AccessoryPart::AccessoryWeapon); + +protected: + Weapon *aimedWeapon_; + +}; + +#endif // !defined(AFX_WeaponSelectPosition_H__B5C043F0_7DC6_4198_AE5B_E19002234FCE__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTankPosition.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTankPosition.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTankPosition.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTankPosition.cpp 2006-09-03 03:09:35.000000000 +0900 @@ -0,0 +1,78 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include + +REGISTER_ACCESSORY_SOURCE(WeaponTankPosition); + +WeaponTankPosition::WeaponTankPosition() : sightPos_(false) +{ + +} + +WeaponTankPosition::~WeaponTankPosition() +{ + +} + +bool WeaponTankPosition::parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode) +{ + if (!Weapon::parseXML(context, store, accessoryNode)) return false; + + // Get the next weapon + XMLNode *subNode = 0; + if (!accessoryNode->getNamedChild("aimedweapon", subNode)) return false; + + // Check next weapon is correct type + AccessoryPart *accessory = store->createAccessoryPart(context, parent_, subNode); + if (!accessory || accessory->getType() != AccessoryPart::AccessoryWeapon) + { + return subNode->returnError("Failed to find sub weapon, not a weapon"); + } + aimedWeapon_ = (Weapon*) accessory; + + accessoryNode->getNamedChild("sightpos", sightPos_, false); + + return true; +} + +void WeaponTankPosition::fireWeapon(ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data) +{ + // This weapon re-centers the current shot on the firing tank. + // This can be used for firing from a moving tank + + Tank *tank = context.tankContainer->getTankById(playerId); + if (tank && tank->getState().getState() == TankState::sNormal) + { + Vector newPosition = tank->getTargetPosition(); + if (sightPos_) + { + newPosition = tank->getPosition().getTankGunPosition(); + } + + aimedWeapon_->fireWeapon(context, playerId, newPosition, velocity, data); + } +} + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTankPosition.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTankPosition.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTankPosition.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTankPosition.h 2006-09-03 03:09:35.000000000 +0900 @@ -0,0 +1,48 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(AFX_WeaponTankPosition_H__B5C043F0_7DC6_4198_AE5B_E19002234FCE__INCLUDED_) +#define AFX_WeaponTankPosition_H__B5C043F0_7DC6_4198_AE5B_E19002234FCE__INCLUDED_ + +#include + +class WeaponTankPosition : public Weapon +{ +public: + WeaponTankPosition(); + virtual ~WeaponTankPosition(); + + virtual bool parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode); + + // Inherited from Weapon + void fireWeapon(ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data = 0); + + REGISTER_ACCESSORY_HEADER(WeaponTankPosition, AccessoryPart::AccessoryWeapon); + +protected: + Weapon *aimedWeapon_; + bool sightPos_; + +}; + +#endif // !defined(AFX_WeaponTankPosition_H__B5C043F0_7DC6_4198_AE5B_E19002234FCE__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTankVelocity.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTankVelocity.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTankVelocity.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTankVelocity.cpp 2006-09-03 03:09:35.000000000 +0900 @@ -0,0 +1,68 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include + +REGISTER_ACCESSORY_SOURCE(WeaponTankVelocity); + +WeaponTankVelocity::WeaponTankVelocity() +{ + +} + +WeaponTankVelocity::~WeaponTankVelocity() +{ + +} + +bool WeaponTankVelocity::parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode) +{ + if (!Weapon::parseXML(context, store, accessoryNode)) return false; + + // Get the next weapon + XMLNode *subNode = 0; + if (!accessoryNode->getNamedChild("aimedweapon", subNode)) return false; + + // Check next weapon is correct type + AccessoryPart *accessory = store->createAccessoryPart(context, parent_, subNode); + if (!accessory || accessory->getType() != AccessoryPart::AccessoryWeapon) + { + return subNode->returnError("Failed to find sub weapon, not a weapon"); + } + aimedWeapon_ = (Weapon*) accessory; + + return true; +} + +void WeaponTankVelocity::fireWeapon(ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data) +{ + Tank *tank = context.tankContainer->getTankById(playerId); + if (tank && tank->getState().getState() == TankState::sNormal) + { + Vector newVelocity = tank->getPosition().getVelocityVector(); + aimedWeapon_->fireWeapon(context, playerId, position, newVelocity, data); + } +} + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTankVelocity.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTankVelocity.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTankVelocity.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTankVelocity.h 2006-09-03 03:09:35.000000000 +0900 @@ -0,0 +1,47 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(AFX_WeaponTankVelocity_H__B5C043F0_7DC6_4198_AE5B_E19002234FCE__INCLUDED_) +#define AFX_WeaponTankVelocity_H__B5C043F0_7DC6_4198_AE5B_E19002234FCE__INCLUDED_ + +#include + +class WeaponTankVelocity : public Weapon +{ +public: + WeaponTankVelocity(); + virtual ~WeaponTankVelocity(); + + virtual bool parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode); + + // Inherited from Weapon + void fireWeapon(ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data = 0); + + REGISTER_ACCESSORY_HEADER(WeaponTankVelocity, AccessoryPart::AccessoryWeapon); + +protected: + Weapon *aimedWeapon_; + +}; + +#endif // !defined(AFX_WeaponTankVelocity_H__B5C043F0_7DC6_4198_AE5B_E19002234FCE__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTeamAction.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTeamAction.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTeamAction.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTeamAction.cpp 2006-09-19 04:35:55.000000000 +0900 @@ -0,0 +1,92 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include + +REGISTER_ACCESSORY_SOURCE(WeaponTeamAction); + +WeaponTeamAction::WeaponTeamAction() +{ +} + +WeaponTeamAction::~WeaponTeamAction() +{ +} + +bool WeaponTeamAction::parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode) +{ + if (!Weapon::parseXML(context, store, accessoryNode)) return false; + + bool actions = false; + for (int i=0; i<5; i++) + { + action_[i] = 0; + + XMLNode *subNode = 0; + if (accessoryNode->getNamedChild(formatString("team%i", i), subNode, false)) + { + // Check next weapon is correct type + AccessoryPart *accessory = store->createAccessoryPart(context, parent_, subNode); + if (!accessory || accessory->getType() != AccessoryPart::AccessoryWeapon) + { + return subNode->returnError("Failed to find sub weapon, not a weapon"); + } + action_[i] = (Weapon*) accessory; + actions = true; + } + } + + if (!actions) + { + return accessoryNode->returnError("No actions defined"); + } + + return true; +} + +void WeaponTeamAction::fireWeapon(ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data) +{ + context.actionController->addAction( + new CallbackWeapon(this, 0.0f, 0, + playerId, position, velocity, data)); +} + +void WeaponTeamAction::weaponCallback( + ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data, + unsigned int userData) +{ + Tank *tank = context.tankContainer->getTankById(playerId); + if (!tank) return; + + Weapon *action = action_[tank->getTeam()]; + if (action) + { + action->fireWeapon(context, playerId, position, velocity, data); + } +} + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTeamAction.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTeamAction.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTeamAction.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTeamAction.h 2006-09-19 04:35:55.000000000 +0900 @@ -0,0 +1,54 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_WeaponTeamActionh_INCLUDE__) +#define __INCLUDE_WeaponTeamActionh_INCLUDE__ + +#include + +class WeaponTeamAction : public WeaponCallback +{ +public: + WeaponTeamAction(); + virtual ~WeaponTeamAction(); + + virtual bool parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode); + + // Inherited from Weapon + void fireWeapon(ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data = 0); + + // Inherited from WeaponCallback + virtual void weaponCallback( + ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data, + unsigned int userData); + + REGISTER_ACCESSORY_HEADER(WeaponTeamAction, AccessoryPart::AccessoryWeapon); + +protected: + Weapon *action_[5]; + +}; + +#endif // __INCLUDE_WeaponTeamActionh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTeleport.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTeleport.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTeleport.cpp 2006-03-28 07:48:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTeleport.cpp 2006-08-07 01:04:40.000000000 +0900 @@ -27,7 +27,7 @@ REGISTER_ACCESSORY_SOURCE(WeaponTeleport); -WeaponTeleport::WeaponTeleport() +WeaponTeleport::WeaponTeleport() : groundOnly_(true) { } @@ -43,6 +43,8 @@ if (!Weapon::parseXML(context, store, accessoryNode)) return false; if (!accessoryNode->getNamedChild("delay", delay_)) return false; if (!accessoryNode->getNamedChild("sound", sound_)) return false; + accessoryNode->getNamedChild("groundonly", groundOnly_, false); + if (!checkDataFile(getSound())) return false; return true; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTeleport.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTeleport.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTeleport.h 2005-06-12 01:53:41.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTeleport.h 2006-08-07 01:04:40.000000000 +0900 @@ -33,6 +33,7 @@ AccessoryStore *store, XMLNode *accessoryNode); const char *getSound() { return sound_.c_str(); } + bool getGroundOnly() { return groundOnly_; } float getDelay() { return delay_; } // Inherited from Weapon @@ -45,6 +46,7 @@ protected: float delay_; std::string sound_; + bool groundOnly_; }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTypeAction.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTypeAction.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTypeAction.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTypeAction.cpp 2006-10-01 01:29:12.000000000 +0900 @@ -0,0 +1,97 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include + +REGISTER_ACCESSORY_SOURCE(WeaponTypeAction); + +WeaponTypeAction::WeaponTypeAction() +{ +} + +WeaponTypeAction::~WeaponTypeAction() +{ +} + +bool WeaponTypeAction::parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode) +{ + if (!Weapon::parseXML(context, store, accessoryNode)) return false; + + std::list children = accessoryNode->getChildren(); // Copy + std::list::iterator itor; + for (itor = children.begin(); + itor != children.end(); + itor++) + { + XMLNode *node = (*itor); + + XMLNode *tmpNode = 0; + accessoryNode->getNamedChild(node->getName(), tmpNode); // Just to remove child + + // Check next weapon is correct type + AccessoryPart *accessory = store->createAccessoryPart(context, parent_, node); + if (!accessory || accessory->getType() != AccessoryPart::AccessoryWeapon) + { + return node->returnError("Failed to find sub weapon, not a weapon"); + } + actions_[node->getName()] = (Weapon*) accessory; + } + + if (actions_.empty()) + { + return accessoryNode->returnError("No actions defined"); + } + + return true; +} + +void WeaponTypeAction::fireWeapon(ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data) +{ + context.actionController->addAction( + new CallbackWeapon(this, 0.0f, 0, + playerId, position, velocity, data)); +} + +void WeaponTypeAction::weaponCallback( + ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data, + unsigned int userData) +{ + Tank *tank = context.tankContainer->getTankById(playerId); + if (!tank) return; + + std::map::iterator itor = + actions_.find(tank->getModelContainer().getTankTypeName()); + if (itor == actions_.end()) return; + + Weapon *action = (*itor).second; + if (action) + { + action->fireWeapon(context, playerId, position, velocity, data); + } +} + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTypeAction.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTypeAction.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/weapons/WeaponTypeAction.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/weapons/WeaponTypeAction.h 2006-10-01 01:29:12.000000000 +0900 @@ -0,0 +1,54 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_WeaponTypeActionh_INCLUDE__) +#define __INCLUDE_WeaponTypeActionh_INCLUDE__ + +#include + +class WeaponTypeAction : public WeaponCallback +{ +public: + WeaponTypeAction(); + virtual ~WeaponTypeAction(); + + virtual bool parseXML(OptionsGame &context, + AccessoryStore *store, XMLNode *accessoryNode); + + // Inherited from Weapon + void fireWeapon(ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data = 0); + + // Inherited from WeaponCallback + virtual void weaponCallback( + ScorchedContext &context, + unsigned int playerId, Vector &position, Vector &velocity, + unsigned int data, + unsigned int userData); + + REGISTER_ACCESSORY_HEADER(WeaponTypeAction, AccessoryPart::AccessoryWeapon); + +protected: + std::map actions_; + +}; + +#endif // __INCLUDE_WeaponTypeActionh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/TODO /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/TODO --- /tmp/ZyiKWGPp1w/scorched3d-40/TODO 2006-07-15 21:21:52.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/TODO 2006-11-17 02:28:12.000000000 +0900 @@ -1,151 +1,32 @@ -- Bugs Fixed and Ready For Release -Fixed: Resign and disconnect messages are now shown correctly -Fixed: Teleport moving tank too close to arena edges -Fixed: Crash in dedicated server when using file logger -Fixed: Compiling failing when using the unicode version of the wxWindows library -Fixed: GUI so it matches the aspect ratio of the main screen -Fixed: Mac OS server crashes (due to opengl usage) -Fixed: Windows cannot be dragged off screen -Fixed: Windows are above the help and sound icons -Fixed: Client keepalive messages are now closed loop -Fixed: Client warns when keepalive messages are falling behind (for debug) -Fixed: Damage + money text above tanks now fades out -Fixed: Tank name first character sometimes flickered -Fixed: ROAM variance bug (how did I miss this so long!) -Fixed: ROAM variances for different distances -Fixed: Waves are now drawn more explicitly -Fixed: More acurate and faster landscape clicking code -Fixed: Faster landscape generation code -Fixed: A few DoS attack/exploits -Fixed: A few more DoS attack/exploits (thanks Hans de Goede) -Fixed: Faster movement calculation speed -Fixed: Made swear filter less obtrusive -Fixed: Tank explosion now more configurable -Fixed: Skip all text speeding up due to mouse movement -Fixed: Moved sections in landscapesound, landscapeplace, landscapetex and landscapedefn files to seperate files (splitlandscapefile.pl) -Fixed: Round win and interest awarded when too few players result in game ending -Fixed: Tanks will not move through newly created water when movement restriction in place -Fixed: Problem with adding AIs in the server interface when there are more than 9 AI types -Fixed: Avatar placing for very short names -Fixed: Lasers take into account how large an object is when calculating the hit box -Fixed: Parsing of XML boolean values now checks that only "true" and "false" are used -Fixed: Moved boids, ships and events to seperate definition files (also made available in defn files) -Fixed: XML parser will warn if there is content and child nodes in the same element -Fixed: Web server settings dialog is now much easier to use (most settings changed via menus) -Fixed: Score dialogs now disappear faster when game speed is set faster -Fixed: Team score now stays with the team when players leave or change team -Fixed: A small error in how roof collisions were calculated -Fixed: Gamma settings are applied/removed when window focus occurs -Fixed: Bug where double explosions could occur when hitting the ocean floor -Fixed: Damage to an object is now calculated by closeness to the nearest edge (not the center) -Fixed: The display of the players list when some players had illegal XML characters in their names -Fixed: Moved some of the more common options to the front of the single player settings dialog -Fixed: Sound from boids issued from wrong place -Fixed: Sounds from groups are only thined when using tree placement -Fixed: All bilboards are now correct for the current screen aspect (including in the camera window) -Fixed: Trees and models may appear where destroyed for client connecting during a round - -Added: Server sorting and refresh cancel to the NET/LAN dialog -Added: Chat window fades out text as it expires -Added: Chat window has scroll buttons to view older text -Added: Chat window wraps lines that are too long to display -Added: mask attribute to tree placement type, allows trees to be also bounded by a mask bitmap -Added: border attribute to models and trees, this is minimum distance other objects must be from this object -Added: referencedistance, gain and rolloff sound attributes to ambient sounds -Added: Sound is now culled by distance as well as priority (adds support for many more sounds) -Added: new sound types to the abmient sound files (updateAmbientSounds.pl script made to make changes) -Added: penguin models to ice landscape (thanks Shockwave) -Added: mincloseness attribute to the tankstart and tree placement types (default is 0) -Added: HideFinalScore option to allow the score dialog to be hidden at the end of games -Added: gain, relative, rolloff and referencedistance optional attributes to WeaponSound to fine tune sounds -Added: Mouse wheel support to windows -Added: soundgroup moved from placement to the objects (moveGroup.pl script made to make changes) -Added: "set" abmientsound placement type that better matches model sounds (does not work well for looped) -Added: Optional gain attribute to the ambientsound definition to allow volume to be set -Added: Tutorial game for ingame tutorial -Added: Log file download to the admin web interface -Added: flamestartcolor1, flamestartcolor2, flameendcolor1, flameendcolor2 attributes to WeaponProjectile -Added: None placement object to allow only shadows or texture maps to be placed -Added: Random placement object to allow one object out of a random set to be placed -Added: 24 new tree models, grouped into palms, oaks and pines -Added: flamestartsize, flameendsize, smokestartsize, smokeendsize attributes to WeaponProjectile -Added: The server browser dialog now shows which players are human, and how many bots are on a server -Added: WeaponGiveLives weapon primitive to award a tank an extra life -Added: Tanks can now have lives, if a tank has a remaining life they will be ressurrected after death -Added: flaretype attribute to WeaponProjective to allow the flare color to be set -Added: delay attribute to WeaponRepeat to give a time delay between each repeated weapon -Added: movementproof accessories.xml tag for shields so tank can't drive through -Added: aionly tanks.xml tag for tanks that only computer ais can use -Added: aionly accessories.xml tag for accessories that only computer ais can buy -Added: Napalm scorches ground -Added: Landscape files are now chosen on how many times they have been seen before -Added: Icon to progress dialog to show which landscape has been chosen -Added: Some extra landscape types (unfinished) -Added: flattenarea attribute to Targets, tanks and models so landscape is flattened under them -Added: Targets and tanks can use bounding boxes when it fits the model better -Added: WeaponGiveScore weapon to give bonus score for gaining objectives -Added: WeaponGiveWin weapon to give a round win for performing an objective -Added: The notion of a score, players gain score by winning, killing etc. The score ranks players. -Added: Kill Assists for players that hurt but dont kill tanks (this replaces money per damage) -Added: Automated method for adding new scorched3d settings to the gui -Added: New lower poly fighter models and powerup crate (thanks Shockwave) -Added: laserproof attribute to shields to make them impervious to lasers -Added: Tanks (with AIs) can be part of a level (bunkers/defences for bases etc..) -Added: A groundmap option to objects and targets, this map is textured below the object -Added: group placement object to allow placed objects to be placed in groups -Added: Streaming OGG/Vorbis for large sound files (windows only for the moment) -Added: Bases with physics and shields -Added: Ability to specify fuel parameters -Added: Changed accessory framework so different fuel, batteries and parachutes can be speced -Added: Fast, medium graphics settings buttons to display dialog -Added: Changed menus to be icons, and visible at all times (configurable) -Added: Welcome banner on first time startup (pointing out graphics settings) -Added: XML tags in tex and defns landscape files that are empty don't need to be in file -Added: Placements and sounds are available both in the tex and defn landscape files -Added: More powerups (WeaponGiveAcccessory, WeaponGiveLife, WeaponGivePower) -Added: Max power, max life, starting accessories and disallowed accessories tank attributes -Added: Tanks can have different attributes from each other (life, power, etc...) -Added: Shield power can be set for each shield (previously 100 for every shield) -Added: Players don't create a dummy landscape when connecting to servers -Added: Progress bars to the server startup -Added: Gui dialogs are now smoothed (AA) can be turned off for greater performance -Added: Players can choose their own colors when not in team mode -Added: A static sky layer that can be used for stars -Added: Powerups that can be bought or "dropped" from buildings etc... -Added: Tanks models restricted by team (team tag in tanks.xml) -Added: Bots can now use lasers (sniper tag in tankais.xml use this weapon when in sniper distance) -Added: Versioning in mod files (singlegames.xml moved to modinfo.xml) -Added: Server option to have shields and parachutes activate at the end of the aiming phase -Added: Sun/moon texture can be configured -Added: Targets (models) that can have shields, parachutes, health etc... -Added: WeaponRepeat, WeaponGiveAccessory, WeaponGiveMoney weapon primitives -Added: WeaponScatterDirection, WeaponScatterPosition, WeaponCenterPosition -Added: WeaponRandomChoice, WeaponInvokeWeapon, WeaponAddTarget weapon primitives -Added: Teleport to weapon explosion point -Added: New tank elevate, rotate, thunder sounds (thanks Shockwave) -Added: Tank shields can be any size -Added: Allow access to tank explosion animation (Animation: ExplosionRingRenderer) -Added: Better/different shield graphics -Added: Better/less intrusive talk dialog -Added: Ships can be drawn using shipping lanes around the island -Added: Some great ship models (thanks Shockwave) -Added: Tabs to the rules dialog and better scorched logo -Added: Scorched3D settings that are enums take text values -Added: Landscapes don't need to be square -Added: Landscapes can now be any size (not fixed) -Added: None wall type for no walls (no boundries) -Added: Mechanism to specify how many mushroom cloads are created -Added: Boids can be configured to move outside of the island -Added: Damage amount text floats out of tanks +Added: Progress bar for showing mod download progress +Added: Skip now button to the skip all dialog +Added: Score and money given for lives left + +Fixed: Clients are now informed when a client times out +Fixed: Collisions between disabled geoms are not performed +Fixed: Unique ID name lookup is not performed until ids tab is selected +Fixed: Unique ID name lookup is not performed when playing offline games +Fixed: Residual players that disconnect before loading the map will get correct weapons +Fixed: Fuel and select areas not being marked correctly on non-square maps +Fixed: Server refusing to allow move when client is trying to use all available fuel +Fixed: When balancing teams bots will not leave until the beginning of the next round +Fixed: Landscape movement texture and message displayed for incorrect players +Fixed: Players cannot move through moving movementproof shields +Fixed: Timeout kicks can be logged multiple times +Fixed: Keepalive packets are sent from client even when graphics thread is locked +Fixed: Scorched collision handling does not occur within ODE collision proccessing +Fixed: WeaponAimedOver will now work as expected outside of the walled arena +Fixed: Landscape border on plan dialog should always be in-sync with the game -- Bugs in current development release Dvorak keyboard support is broken +Crashing when minimized during texture/level load -- Things I am currently looking at Fix crashing when people win (Graphics card drivers??) -Better collision for models (not targets) -Dirt cannot be raised when underground (or other dirting stopping) -Too many mods over powering the single player choice dialog +Better collision for models (switch all models to targets, ODE issue?) +Better shadows? -- Server Stuff A way to set the maximum and minimum players for a map (half done) @@ -162,8 +43,10 @@ Make a count down sound when timer runs out. Add option for human players to say stuff when firing/killed Multi-kill bonuses +A way to add and remove players in single player game -- Other Stuff +Dirt cannot be raised when underground (or other dirting stopping) Add the ability to customize the languages (for dialogs etc..) (localisation) More weapons, always more weapons Smoke bombs
Mod Files
- - +
+ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/player.html /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/player.html --- /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/player.html 2006-04-05 09:42:09.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/player.html 2006-10-24 05:45:45.000000000 +0900 @@ -10,8 +10,8 @@ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/server.css /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/server.css --- /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/server.css 2006-06-16 08:47:09.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/server.css 2006-09-05 06:38:52.000000000 +0900 @@ -1 +1,2 @@ body {color: black} +tr.heading {background-color: #dddddd; font-weight: bold} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/server.html /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/server.html --- /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/server.html 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/server.html 2006-09-05 06:38:52.000000000 +0900 @@ -0,0 +1,19 @@ +#include header.html + +#include menu.html + +
FileName Compressed Size Compressed Crc
- - +
+ @@ -23,16 +23,26 @@ [[PLAYERS]]
Id Name Type
+ Players : [[NOPLAYERS]]

Selected Player Actions
- - - - + + + + + +
+ + + + +
+ +
+ + + + + + +
Current Server State : [[STATE]]
+ + + + +
+ +#include footer.html diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/settings.html /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/settings.html --- /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/settings.html 2005-08-15 04:11:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/settings.html 2006-09-05 06:38:52.000000000 +0900 @@ -11,8 +11,8 @@
- - +
+ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/talk.html /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/talk.html --- /tmp/ZyiKWGPp1w/scorched3d-40/data/html/server/talk.html 2006-06-23 01:56:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/html/server/talk.html 2006-09-05 06:38:52.000000000 +0900 @@ -2,8 +2,12 @@ #include menu.html -
Talk
-
Setting Description Value
+ +
+ + +
Talk
+ + - + - +
@@ -12,21 +16,22 @@
+
+ - -
@@ -34,8 +39,9 @@ - + +
+
+ #include footer.html diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/keys.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/keys.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/keys.xml 2006-07-14 07:23:55.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/keys.xml 2006-07-23 09:43:47.000000000 +0900 @@ -656,6 +656,29 @@ b + LOG_SCROLL_UP + Scroll chat log up + Scroll the chat log back one line + 8 + COMMA + + + LOG_SCROLL_DOWN + Scroll chat log down + Scroll the chat log forward one line + 8 + PERIOD + + + LOG_SCROLL_RESET + Reset chat log position + Reset the chat log scroll position + 8 + SEMICOLON + + + + LandscapeInfoGrid Turn landscape grid on Turns the landscape grid on diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/defnglaciation.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/defnglaciation.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/defnglaciation.xml 2006-04-12 23:05:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/defnglaciation.xml 2006-10-17 18:53:10.000000000 +0900 @@ -7,7 +7,7 @@ 20 - 5.560 + 2060 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/defnoldstyle.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/defnoldstyle.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/defnoldstyle.xml 2006-04-12 23:05:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/defnoldstyle.xml 2006-10-16 18:37:20.000000000 +0900 @@ -32,5 +32,8 @@ + + + data/landscapes/eventstest.xml + --> \ No newline at end of file diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/defntest.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/defntest.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/defntest.xml 2006-05-29 20:46:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/defntest.xml 2006-08-18 22:11:46.000000000 +0900 @@ -2,7 +2,7 @@ 0 24 256 - 256 + 512 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/eventstest.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/eventstest.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/eventstest.xml 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/eventstest.xml 2006-10-16 18:37:20.000000000 +0900 @@ -0,0 +1,11 @@ + + + + bob + 0 + + + GroupWin + + + Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/glaciation.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/glaciation.bmp differ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/placetest.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/placetest.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/placetest.xml 2006-06-29 09:01:05.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/placetest.xml 2006-10-13 08:16:18.000000000 +0900 @@ -16,7 +16,7 @@ 0 - data/accessories/pwrcrate/pwrcrate.txt + data/meshes/seagull/seagull.txt data/accessories/banana/banana.txt 0.1 45 @@ -27,7 +27,41 @@ data/landscapes/parkinga.bmp true - none + bob + sam + + + + + 0 + 0 + 0 + + + Test + data/globalmods/apoc/data/accessories/buildings/mainport_anim.txt + data/accessories/banana/banana.txt + 0.1 + 45 + 10 + -1.0 + TestPowerUpWeapon + + data/landscapes/parking.bmp + data/landscapes/parkinga.bmp + true + + bob + sams + + + + + 0 + 10 + 0 + + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texarizona.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texarizona.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texarizona.xml 2006-05-15 08:40:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texarizona.xml 2006-10-01 01:11:30.000000000 +0900 @@ -11,8 +11,8 @@ 3 110 15 - 0.30.30.3 - 0.70.70.7 + 0.50.50.5 + 0.90.90.9 0.40.40.4 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texasianspring.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texasianspring.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texasianspring.xml 2006-05-18 21:34:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texasianspring.xml 2006-10-01 01:11:30.000000000 +0900 @@ -11,7 +11,7 @@ 8 110 15 - 0.30.280.28 + 0.50.50.5 0.70.720.72 0.40.40.4 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texcastle.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texcastle.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texcastle.xml 2006-05-18 21:34:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texcastle.xml 2006-10-01 01:11:30.000000000 +0900 @@ -11,7 +11,7 @@ 3 110 15 - 0.30.30.3 + 0.50.50.5 0.70.70.7 0.40.40.4 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texcavern.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texcavern.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texcavern.xml 2006-03-28 07:48:05.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texcavern.xml 2006-10-01 01:11:30.000000000 +0900 @@ -9,7 +9,7 @@ 3 110 15 - 0.50.50.5 + 0.80.80.8 0.50.50.5 1.01.01.0 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texchina.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texchina.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texchina.xml 2006-05-18 21:34:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texchina.xml 2006-10-01 01:11:30.000000000 +0900 @@ -12,7 +12,7 @@ 110 15 0.30.30.3 - 0.550.550.55 + 0.70.70.7 0.40.40.4 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texdefault.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texdefault.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texdefault.xml 2006-05-20 01:20:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texdefault.xml 2006-10-01 01:11:30.000000000 +0900 @@ -9,8 +9,8 @@ 3 45 15 - 0.30.30.3 - 0.70.70.7 + 0.50.50.5 + 0.90.90.9 0.80.80.9 1.01.01.0 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texdenali.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texdenali.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texdenali.xml 2006-07-01 04:40:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texdenali.xml 2006-10-01 01:11:30.000000000 +0900 @@ -11,8 +11,8 @@ 3 110 15 - 0.30.30.3 - 0.70.70.7 + 0.50.50.5 + 0.90.90.9 0.40.40.4 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texplage.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texplage.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texplage.xml 2006-05-18 21:34:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texplage.xml 2006-10-01 01:11:30.000000000 +0900 @@ -11,7 +11,7 @@ 8 110 15 - 0.20.20.2 + 0.40.40.4 0.40.40.4 0.40.40.4 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texsahara.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texsahara.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texsahara.xml 2006-04-12 23:05:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texsahara.xml 2006-10-28 06:38:48.000000000 +0900 @@ -11,8 +11,8 @@ 3 110 15 - 0.250.230.3 - 0.750.720.7 + 0.40.40.4 + 0.70.70.7 0.40.40.4 data/textures/glow1.bmp @@ -34,4 +34,4 @@ data/textures/landscape/sahara/texture1.bmp data/textures/landscape/sahara/texture1.bmp - \ No newline at end of file + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texsand.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texsand.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texsand.xml 2006-03-28 07:48:05.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texsand.xml 2006-10-01 01:11:31.000000000 +0900 @@ -9,8 +9,8 @@ 3 110 45 - 0.20.20.2 - 0.80.80.8 + 0.40.40.4 + 1.01.01.0 1.01.01.0 data/textures/glow1.bmp 0.80.80.8 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texsnow.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texsnow.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texsnow.xml 2006-03-28 07:48:05.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texsnow.xml 2006-10-28 06:38:48.000000000 +0900 @@ -42,4 +42,4 @@ 60 data/landscapes/shipssub.xml - \ No newline at end of file + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texstorm.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texstorm.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texstorm.xml 2006-03-28 07:48:05.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texstorm.xml 2006-10-01 01:11:31.000000000 +0900 @@ -9,7 +9,7 @@ 12 110 15 - 0.20.20.2 + 0.50.50.5 0.20.20.2 0.80.80.8 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/textropical.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/textropical.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/textropical.xml 2006-05-20 01:20:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/textropical.xml 2006-10-28 06:38:48.000000000 +0900 @@ -9,7 +9,7 @@ 14 110 15 - 0.20.20.2 + 0.40.40.4 0.80.80.8 1.00.00.0 data/textures/glow1.bmp @@ -42,4 +42,4 @@ data/landscapes/boidsparrot.xml data/landscapes/shipspirate.xml - \ No newline at end of file + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/textuscan.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/textuscan.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/textuscan.xml 2006-05-15 08:40:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/textuscan.xml 2006-10-01 01:11:31.000000000 +0900 @@ -11,8 +11,8 @@ 3 110 15 - 0.30.30.3 - 0.70.70.7 + 0.50.50.5 + 0.90.90.9 0.80.70.5 data/textures/glow1.bmp diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texvulcano.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texvulcano.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/landscapes/texvulcano.xml 2006-02-01 01:11:32.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/landscapes/texvulcano.xml 2006-10-01 01:11:31.000000000 +0900 @@ -9,8 +9,8 @@ 9 110 15 - 0.30.30.3 - 0.70.70.7 + 0.50.50.5 + 0.90.90.9 1.01.01.0 data/textures/glow1.bmp 0.80.80.8 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/ah64d/ah64d.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/ah64d/ah64d.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/ah64d/ah64d.txt 2005-08-03 02:27:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/ah64d/ah64d.txt 2006-10-28 15:17:08.000000000 +0900 @@ -4455,7 +4455,7 @@ Materials: 5 "lside" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -4464,7 +4464,7 @@ ".\ah64.bmp" "" "rside" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -4473,7 +4473,7 @@ ".\ah64.bmp" "" "under" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -4482,7 +4482,7 @@ ".\ah64.bmp" "" "top" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -4491,7 +4491,7 @@ ".\ah64.bmp" "" "blade" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/arara/arara.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/arara/arara.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/arara/arara.txt 2005-11-28 04:17:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/arara/arara.txt 2006-10-28 15:17:08.000000000 +0900 @@ -526,7 +526,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/bat/bat.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/bat/bat.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/bat/bat.txt 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/bat/bat.txt 2006-10-28 15:17:08.000000000 +0900 @@ -438,7 +438,7 @@ Materials: 3 "body" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -447,7 +447,7 @@ ".\bat.bmp" "" "head" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -456,7 +456,7 @@ ".\bat.bmp" "" "wings" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/bird.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/bird.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/bird.txt 2005-03-29 08:14:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/bird.txt 2006-10-28 15:17:08.000000000 +0900 @@ -1348,8 +1348,8 @@ Materials: 3 "foomaterial000" -0.000000 0.000000 0.000000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -1357,8 +1357,8 @@ "" "" "foomaterial001" -0.000000 0.000000 0.000000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -1366,8 +1366,8 @@ "" "" "foomaterial002" -0.000000 0.000000 0.000000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/carrier/carrier.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/carrier/carrier.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/carrier/carrier.txt 2005-12-14 08:29:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/carrier/carrier.txt 2006-10-28 15:17:08.000000000 +0900 @@ -523,8 +523,8 @@ Materials: 6 "lside" -0.364706 0.364706 0.364706 1.000000 -0.827451 0.827451 0.827451 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.047059 0.047059 0.047059 1.000000 0.000000 @@ -532,8 +532,8 @@ ".\nimitz.bmp" "" "top" -0.243137 0.243137 0.243137 1.000000 -0.858824 0.858824 0.858824 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -541,8 +541,8 @@ ".\nimitz.bmp" "" "rside" -0.000000 0.000000 0.000000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -550,8 +550,8 @@ ".\nimitz.bmp" "" "front" -0.000000 0.000000 0.000000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -559,8 +559,8 @@ ".\nimitz.bmp" "" "grey" -0.000000 0.000000 0.000000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -568,7 +568,7 @@ ".\nimitz.bmp" "" "back" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/ddg24/ddg24.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/ddg24/ddg24.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/ddg24/ddg24.txt 2005-11-28 04:17:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/ddg24/ddg24.txt 2006-10-28 15:17:08.000000000 +0900 @@ -872,7 +872,7 @@ Materials: 7 "grey" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -881,7 +881,7 @@ ".\ddg24.bmp" "" "24r" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -890,7 +890,7 @@ ".\ddg24.bmp" "" "24l" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -899,7 +899,7 @@ ".\ddg24.bmp" "" "wht" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -908,7 +908,7 @@ ".\ddg24.bmp" "" "staks" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -917,7 +917,7 @@ ".\ddg24.bmp" "" "windws" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -926,7 +926,7 @@ ".\ddg24.bmp" "" "blk" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/destroyer/destroyer.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/destroyer/destroyer.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/destroyer/destroyer.txt 2005-11-28 04:17:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/destroyer/destroyer.txt 2006-10-28 15:17:08.000000000 +0900 @@ -2223,7 +2223,7 @@ Materials: 11 "white" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2232,7 +2232,7 @@ ".\destroy.bmp" "" "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2241,7 +2241,7 @@ ".\destroy.bmp" "" "lbow" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2250,7 +2250,7 @@ ".\destroy.bmp" "" "rbow" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2259,7 +2259,7 @@ ".\destroy.bmp" "" "deck1front" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2268,7 +2268,7 @@ ".\destroy.bmp" "" "deck1mid" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2277,7 +2277,7 @@ ".\destroy.bmp" "" "deck1back" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2286,7 +2286,7 @@ ".\destroy.bmp" "" "camo" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2295,7 +2295,7 @@ ".\destroy.bmp" "" "stacks" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2304,7 +2304,7 @@ ".\destroy.bmp" "" "sideright" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2313,7 +2313,7 @@ ".\destroy.bmp" "" "front" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/f16/f16.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/f16/f16.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/f16/f16.txt 2006-04-05 09:42:10.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/f16/f16.txt 2006-10-28 15:17:08.000000000 +0900 @@ -3903,8 +3903,8 @@ Materials: 3 "body" -0.392157 0.462745 0.549020 1.000000 -0.552941 0.552941 0.552941 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.313726 0.333333 0.411765 1.000000 0.000000 0.000000 0.000000 1.000000 128.000000 @@ -3912,8 +3912,8 @@ ".\f16.bmp" "" "flame" -1.000000 1.000000 1.000000 0.080000 -0.050980 0.050980 0.050980 0.080000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 0.080000 1.000000 1.000000 1.000000 0.080000 0.000000 @@ -3921,8 +3921,8 @@ ".\f16.bmp" "" "lights" -1.000000 1.000000 1.000000 1.000000 -0.823529 0.823529 0.823529 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/f18/f18.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/f18/f18.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/f18/f18.txt 2005-08-03 02:27:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/f18/f18.txt 2006-10-28 15:17:08.000000000 +0900 @@ -8770,7 +8770,7 @@ Materials: 10 "lwing" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -8779,7 +8779,7 @@ ".\f18.bmp" "" "tanks" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -8788,7 +8788,7 @@ ".\f18.bmp" "" "ordinance" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -8797,7 +8797,7 @@ ".\f18.bmp" "" "rwing" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -8806,7 +8806,7 @@ ".\f18.bmp" "" "tails" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -8815,8 +8815,8 @@ ".\f18.bmp" "" "fins" -0.392157 0.392157 0.392157 1.000000 -0.478431 0.478431 0.478431 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -8824,7 +8824,7 @@ ".\f18.bmp" "" "topfront" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -8833,7 +8833,7 @@ ".\f18.bmp" "" "hull" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -8842,7 +8842,7 @@ ".\f18.bmp" "" "cocpit" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -8851,8 +8851,8 @@ ".\f18.bmp" "" "Material12" -0.470588 0.780392 0.929412 0.230000 -0.713726 0.890196 0.945098 0.230000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 0.230000 0.003922 0.133333 0.203922 0.230000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/fishboat/fishboat.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/fishboat/fishboat.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/fishboat/fishboat.txt 2005-12-14 08:29:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/fishboat/fishboat.txt 2006-10-28 15:17:08.000000000 +0900 @@ -720,7 +720,7 @@ Materials: 1 "mat1" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/jollyroger/jollyroger.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/jollyroger/jollyroger.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/jollyroger/jollyroger.txt 2005-12-14 08:29:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/jollyroger/jollyroger.txt 2006-10-28 15:17:08.000000000 +0900 @@ -3011,8 +3011,8 @@ Materials: 3 "mat1" -0.392157 0.392157 0.392157 1.000000 -0.694118 0.694118 0.694118 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.411765 0.411765 0.411765 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -3020,8 +3020,8 @@ ".\pflag1.bmp" "" "mat3" -0.200000 0.200000 0.200000 1.000000 -0.360784 0.360784 0.360784 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.431373 0.431373 0.431373 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -3029,7 +3029,7 @@ ".\pflag2.bmp" "" "mat2" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/jollyroger/pflag1.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/jollyroger/pflag1.bmp differ Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/jollyroger/pflag2.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/jollyroger/pflag2.bmp differ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/sailboat/sailboat.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/sailboat/sailboat.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/sailboat/sailboat.txt 2005-12-14 08:29:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/sailboat/sailboat.txt 2006-10-28 15:17:09.000000000 +0900 @@ -666,7 +666,7 @@ Materials: 5 "boat" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -675,7 +675,7 @@ ".\sailboat.bmp" "" "deck" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -684,8 +684,8 @@ ".\sailboat.bmp" "" "front" -0.200000 0.200000 0.200000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.192157 0.192157 0.192157 1.000000 0.000000 @@ -693,8 +693,8 @@ ".\sailboat.bmp" "" "backsail" -0.200000 0.200000 0.200000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.192157 0.192157 0.192157 1.000000 0.000000 @@ -702,7 +702,7 @@ ".\sailboat.bmp" "" "white" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/seagull/seagull.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/seagull/seagull.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/seagull/seagull.txt 2005-04-17 06:43:56.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/seagull/seagull.txt 2006-10-28 15:17:09.000000000 +0900 @@ -528,7 +528,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/sub/sub.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/sub/sub.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/sub/sub.txt 2005-12-14 08:29:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/sub/sub.txt 2006-10-28 15:17:09.000000000 +0900 @@ -578,8 +578,8 @@ Materials: 1 "black" -0.200000 0.200000 0.200000 1.000000 -0.650980 0.650980 0.650980 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/survivalraft.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/survivalraft.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/survivalraft.txt 2003-09-01 23:07:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/survivalraft.txt 2006-10-28 15:17:08.000000000 +0900 @@ -208,8 +208,8 @@ Materials: 1 "Material01" -1.000000 1.000000 1.000000 1.000000 -1.000000 1.000000 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 23.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/t38/t38.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/t38/t38.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/meshes/t38/t38.txt 2006-04-05 09:42:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/meshes/t38/t38.txt 2006-10-28 15:17:09.000000000 +0900 @@ -3462,8 +3462,8 @@ Materials: 3 "mat1" -0.172549 0.172549 0.172549 1.000000 -0.858824 0.858824 0.858824 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.231373 0.231373 0.231373 1.000000 0.000000 0.000000 0.000000 1.000000 15.000000 @@ -3471,8 +3471,8 @@ ".\t38.bmp" "" "fire" -0.749020 0.749020 0.749020 0.400000 -0.901961 0.901961 0.901961 0.400000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.270588 0.270588 0.270588 0.400000 0.125490 0.125490 0.125490 0.400000 0.000000 @@ -3480,8 +3480,8 @@ ".\t38.bmp" ".\t38b.bmp" "heat" -0.588235 0.588235 0.588235 0.530000 -0.345098 0.345098 0.345098 0.530000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.976471 0.756863 0.356863 0.530000 0.000000 0.000000 0.000000 0.530000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/modinfo.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/modinfo.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/modinfo.xml 2006-07-11 01:48:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/modinfo.xml 2006-10-29 03:12:10.000000000 +0900 @@ -4,7 +4,7 @@ One or more people play against themselves or the computer. data/windows/tank2.bmp http://www.scorched3d.co.uk - cf + ck Start an target practice game. diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/prunetables.sql /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/prunetables.sql --- /tmp/ZyiKWGPp1w/scorched3d-40/data/prunetables.sql 2004-02-12 19:57:04.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/prunetables.sql 2006-10-26 01:43:23.000000000 +0900 @@ -1 +1,6 @@ -delete from scorched3d_events where TO_DAYS(NOW()) - TO_DAYS(scorched3d_events.eventtime) > 14; +delete from scorched3d_events where TO_DAYS(NOW()) - TO_DAYS(scorched3d_events.eventtime) > 7; + +create temporary table tmp select playerid from scorched3d_stats group by playerid having sum(shots) = 0; + +delete from scorched3d_players using scorched3d_players, tmp where scorched3d_players.playerid = tmp.playerid; + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/singletarget.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/singletarget.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/singletarget.xml 2005-03-23 02:45:48.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/singletarget.xml 2006-07-20 00:10:18.000000000 +0900 @@ -152,7 +152,7 @@ @@ -299,11 +299,11 @@ on on - + + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/statstables.sql /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/statstables.sql --- /tmp/ZyiKWGPp1w/scorched3d-40/data/statstables.sql 2006-02-22 08:45:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/statstables.sql 2006-10-26 01:43:23.000000000 +0900 @@ -71,9 +71,9 @@ seriesid INTEGER, PRIMARY KEY (serverid, prefixid, seriesid), - FOREIGN KEY (serverid) REFERENCES scorched3d_servers(serverid), - FOREIGN KEY (prefixid) REFERENCES scorched3d_prefixs(prefixid), - FOREIGN KEY (seriesid) REFERENCES scorched3d_series(seriesid) + FOREIGN KEY (serverid) REFERENCES scorched3d_servers(serverid) on delete cascade, + FOREIGN KEY (prefixid) REFERENCES scorched3d_prefixs(prefixid) on delete cascade, + FOREIGN KEY (seriesid) REFERENCES scorched3d_series(seriesid) on delete cascade ); create table if not exists scorched3d_stats ( @@ -95,12 +95,13 @@ timeplayed INTEGER NOT NULL DEFAULT 0, roundsplayed INTEGER NOT NULL DEFAULT 0, moneyearned INTEGER NOT NULL DEFAULT 0, + scoreearned INTEGER NOT NULL DEFAULT 0, skill INTEGER NOT NULL DEFAULT 1000, PRIMARY KEY (playerid, prefixid, seriesid), - FOREIGN KEY (playerid) REFERENCES scorched3d_players(playerid), - FOREIGN KEY (prefixid) REFERENCES scorched3d_prefixs(prefixid), - FOREIGN KEY (seriesid) REFERENCES scorched3d_series(seriesid) + FOREIGN KEY (playerid) REFERENCES scorched3d_players(playerid) on delete cascade, + FOREIGN KEY (prefixid) REFERENCES scorched3d_prefixs(prefixid) on delete cascade, + FOREIGN KEY (seriesid) REFERENCES scorched3d_series(seriesid) on delete cascade ); create table if not exists scorched3d_weapons ( @@ -120,8 +121,8 @@ deathkills INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (weaponid, prefixid, seriesid), - FOREIGN KEY (prefixid) REFERENCES scorched3d_prefixs(prefixid), - FOREIGN KEY (seriesid) REFERENCES scorched3d_series(seriesid) + FOREIGN KEY (prefixid) REFERENCES scorched3d_prefixs(prefixid) on delete cascade, + FOREIGN KEY (seriesid) REFERENCES scorched3d_series(seriesid) on delete cascade ); create table if not exists scorched3d_events ( @@ -136,10 +137,10 @@ eventtime DATETIME, PRIMARY KEY (eventid), - FOREIGN KEY (playerid) REFERENCES scorched3d_players(playerid), - FOREIGN KEY (eventtype) REFERENCES scorched3d_eventtypes(eventtype), - FOREIGN KEY (prefixid) REFERENCES scorched3d_prefixs(prefixid), - FOREIGN KEY (seriesid) REFERENCES scorched3d_series(seriesid) + FOREIGN KEY (playerid) REFERENCES scorched3d_players(playerid) on delete cascade, + FOREIGN KEY (eventtype) REFERENCES scorched3d_eventtypes(eventtype) on delete cascade, + FOREIGN KEY (prefixid) REFERENCES scorched3d_prefixs(prefixid) on delete cascade, + FOREIGN KEY (seriesid) REFERENCES scorched3d_series(seriesid) on delete cascade ); create table if not exists scorched3d_names ( @@ -149,7 +150,7 @@ count INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (playerid, name), - FOREIGN KEY (playerid) REFERENCES scorched3d_players(playerid) + FOREIGN KEY (playerid) REFERENCES scorched3d_players(playerid) on delete cascade ); create table if not exists scorched3d_ipaddress ( @@ -159,7 +160,7 @@ count INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (playerid, ipaddress), - FOREIGN KEY (playerid) REFERENCES scorched3d_players(playerid) + FOREIGN KEY (playerid) REFERENCES scorched3d_players(playerid) on delete cascade ); create table if not exists scorched3d_binary ( diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/talk/talk2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/talk/talk2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/talk/talk2.txt 2006-06-22 09:16:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/talk/talk2.txt 2006-11-12 08:57:32.000000000 +0900 @@ -250,7 +250,6 @@ It's just like a dream come true... I'm so hungry I could eat a Nuke!... You missed me!... just kidding... -Son of a bitch... I'm a deadman, like my father before me...! What? Sorry, I can't hear you, too many explosions around... Guns don't kill tanks, crazy tanks with guns kill tanks... diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/battleship/battleship.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/battleship/battleship.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/battleship/battleship.txt 2003-11-05 03:23:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/battleship/battleship.txt 2006-10-28 15:05:01.000000000 +0900 @@ -1744,7 +1744,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/bender/bender.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/bender/bender.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/bender/bender.txt 2005-03-19 20:54:19.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/bender/bender.txt 2006-10-28 15:05:01.000000000 +0900 @@ -9986,219 +9986,180 @@ 1 189 190 191 63 63 63 1 Materials: 20 - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\bender-tex.bmp" "" - - "Material" -0.8 0.8 0.8 1.0 -1.0 1.0 1.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/bm13/bm13-2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/bm13/bm13-2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/bm13/bm13-2.txt 2003-10-08 05:00:13.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/bm13/bm13-2.txt 2006-10-28 15:05:01.000000000 +0900 @@ -5482,7 +5482,7 @@ Materials: 5 "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -5491,7 +5491,7 @@ ".\tan.bmp" "" "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -5500,7 +5500,7 @@ ".\bigtire.bmp" "" "Material05" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -5509,7 +5509,7 @@ ".\white.bmp" "" "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -5518,7 +5518,7 @@ ".\cab.bmp" "" "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/bradley2/bradley2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/bradley2/bradley2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/bradley2/bradley2.txt 2005-04-12 07:19:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/bradley2/bradley2.txt 2006-10-28 15:05:01.000000000 +0900 @@ -1995,7 +1995,7 @@ Materials: 3 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2004,7 +2004,7 @@ "" "" "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2013,7 +2013,7 @@ ".\chrome.bmp" "" "camo" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/cannon/cannon.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/cannon/cannon.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/cannon/cannon.txt 2006-06-12 23:40:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/cannon/cannon.txt 2006-10-28 15:05:01.000000000 +0900 @@ -4310,7 +4310,6 @@ 1 1209 1210 1211 403 403 403 1 Materials: 11 - "main" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -4320,30 +4319,24 @@ 1.0 ".\cannon.bmp" "" - - "gun" -0.8 0.8 0.8 1.0 -0.0001 0.0001 0.0001 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\black.bmp" "" - - "gun" -0.8 0.8 0.8 1.0 -0.0001 0.0001 0.0001 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\black.bmp" "" - - "main" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -4353,8 +4346,6 @@ 1.0 ".\cannon.bmp" "" - - "main" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -4364,8 +4355,6 @@ 1.0 ".\cannon.bmp" "" - - "main" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -4375,8 +4364,6 @@ 1.0 ".\cannon.bmp" "" - - "main" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -4386,8 +4373,6 @@ 1.0 ".\cannon.bmp" "" - - "main" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -4397,8 +4382,6 @@ 1.0 ".\cannon.bmp" "" - - "main" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -4408,8 +4391,6 @@ 1.0 ".\cannon.bmp" "" - - "main" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -4419,8 +4400,6 @@ 1.0 ".\cannon.bmp" "" - - "main" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/cannont/cannontower.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/cannont/cannontower.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/cannont/cannontower.txt 2006-04-09 23:44:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/cannont/cannontower.txt 2006-10-28 15:05:01.000000000 +0900 @@ -843,7 +843,7 @@ Materials: 5 "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -852,7 +852,7 @@ ".\base.bmp" "" "top" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -861,7 +861,7 @@ ".\top.bmp" "" "side" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -870,7 +870,7 @@ ".\side.bmp" "" "side2" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -879,7 +879,7 @@ ".\side2.bmp" "" "gun" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/CF-104/104.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/CF-104/104.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/CF-104/104.txt 2006-07-03 04:18:22.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/CF-104/104.txt 2006-10-28 15:05:00.000000000 +0900 @@ -3474,7 +3474,6 @@ 1 780 781 782 260 260 260 1 Materials: 17 - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3484,8 +3483,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3495,8 +3492,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3506,8 +3501,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3517,8 +3510,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3528,8 +3519,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3539,8 +3528,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3550,8 +3537,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3561,8 +3546,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3572,8 +3555,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3583,8 +3564,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3594,8 +3573,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3605,8 +3582,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3616,8 +3591,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3627,8 +3600,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3638,8 +3609,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 @@ -3649,8 +3618,6 @@ 1.0 ".\104.bmp" "" - - "skin" 0.8 0.8 0.8 1.0 0.8 0.8 0.8 1.0 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/death/death.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/death/death.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/death/death.txt 2004-02-04 15:40:44.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/death/death.txt 2006-10-28 15:05:01.000000000 +0900 @@ -1101,7 +1101,7 @@ Materials: 4 "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1110,7 +1110,7 @@ ".\black.bmp" "" "tan" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1119,7 +1119,7 @@ ".\tan.bmp" "" "chrome" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1128,7 +1128,7 @@ ".\chrome.bmp" "" "white" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/gorilla/gorilla.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/gorilla/gorilla.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/gorilla/gorilla.txt 2004-05-05 03:11:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/gorilla/gorilla.txt 2006-10-28 15:05:01.000000000 +0900 @@ -1297,7 +1297,7 @@ Materials: 2 "gorilla" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1306,7 +1306,7 @@ ".\gorilla.bmp" "" "gun" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/guntower/guntower.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/guntower/guntower.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/guntower/guntower.txt 2003-08-31 20:30:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/guntower/guntower.txt 2006-10-28 15:05:01.000000000 +0900 @@ -336,7 +336,7 @@ Materials: 3 "base" -0.552941 0.552941 0.552941 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.752941 0.752941 0.752941 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -345,7 +345,7 @@ ".\guntower.bmp" ".\guntower2.bmp" "turret" -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.752941 0.752941 0.752941 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -354,7 +354,7 @@ ".\guntower.bmp" ".\guntower2.bmp" "gun" -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/hawk/hawk.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/hawk/hawk.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/hawk/hawk.txt 2003-10-11 08:03:52.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/hawk/hawk.txt 2006-10-28 15:05:01.000000000 +0900 @@ -4292,7 +4292,7 @@ Materials: 4 "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -4301,7 +4301,7 @@ ".\tan.bmp" "" "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -4310,7 +4310,7 @@ ".\bigtire.bmp" "" "Material05" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -4319,7 +4319,7 @@ ".\chrome.bmp" "" "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/helder/helder2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/helder/helder2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/helder/helder2.txt 2003-09-10 07:11:19.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/helder/helder2.txt 2006-10-28 15:05:01.000000000 +0900 @@ -1979,8 +1979,8 @@ Materials: 2 "silver" -1.000000 1.000000 1.000000 1.000000 -0.752941 0.752941 0.752941 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 128.000000 @@ -1988,10 +1988,10 @@ ".\whitespace.bmp" "" "red" -1.000000 0.000000 0.000000 0.970000 -1.000000 0.000000 0.000000 0.970000 -1.000000 1.000000 1.000000 0.970000 -1.000000 0.000000 0.000000 0.970000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +1.000000 1.000000 1.000000 1.000000 +1.000000 0.000000 0.000000 1.000000 128.000000 0.970000 ".\redspace.bmp" diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/helder/helder.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/helder/helder.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/helder/helder.txt 2003-09-10 07:11:19.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/helder/helder.txt 2006-10-28 15:05:01.000000000 +0900 @@ -732,8 +732,8 @@ Materials: 2 "silver" -1.000000 1.000000 1.000000 1.000000 -0.752941 0.752941 0.752941 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 128.000000 @@ -741,8 +741,8 @@ ".\whitespace.bmp" "" "red" -1.000000 0.000000 0.000000 1.000000 -1.000000 0.000000 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 1.000000 128.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/ignignokt/ignignokt.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/ignignokt/ignignokt.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/ignignokt/ignignokt.txt 2006-07-15 13:10:32.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/ignignokt/ignignokt.txt 2006-10-28 15:05:01.000000000 +0900 @@ -1059,9 +1059,9 @@ Materials: 1 "ignignokt" -1.000000 1.000000 1.000000 1.000000 -1.000000 1.000000 1.000000 1.000000 -0.349020 0.349020 0.349020 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.128000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/kenny2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/kenny2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/kenny2.txt 2003-12-24 21:43:32.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/kenny2.txt 2006-10-28 15:05:01.000000000 +0900 @@ -1438,7 +1438,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/lav-25/lav-25.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/lav-25/lav-25.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/lav-25/lav-25.txt 2003-10-24 09:04:51.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/lav-25/lav-25.txt 2006-10-28 15:05:01.000000000 +0900 @@ -2513,7 +2513,7 @@ Materials: 3 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2522,7 +2522,7 @@ ".\bigtire.bmp" "" "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2531,7 +2531,7 @@ ".\tan.bmp" "" "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/m1a1/m1a1.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/m1a1/m1a1.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/m1a1/m1a1.txt 2005-04-12 07:19:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/m1a1/m1a1.txt 2006-10-28 15:05:01.000000000 +0900 @@ -2476,7 +2476,7 @@ Materials: 4 "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2485,7 +2485,7 @@ "" "" "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2494,7 +2494,7 @@ ".\black.bmp" "" "tread" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2503,7 +2503,7 @@ ".\tread.bmp" "" "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/m48/m48.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/m48/m48.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/m48/m48.txt 2003-10-25 12:14:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/m48/m48.txt 2006-10-28 15:05:01.000000000 +0900 @@ -2842,7 +2842,7 @@ Materials: 4 "white" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2851,7 +2851,7 @@ ".\white.bmp" "" "tread" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2860,7 +2860,7 @@ ".\tread.bmp" "" "camo" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2869,7 +2869,7 @@ ".\camo.bmp" "" "glass" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/missileturret/missileturret.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/missileturret/missileturret.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/missileturret/missileturret.txt 2004-09-10 14:55:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/missileturret/missileturret.txt 2006-10-28 15:05:01.000000000 +0900 @@ -1403,7 +1403,7 @@ Materials: 4 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1412,7 +1412,7 @@ ".\chrome.bmp" "" "red" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1421,7 +1421,7 @@ ".\red.bmp" "" "white" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1430,7 +1430,7 @@ ".\white.bmp" "" "side" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/mlrs/mlrs.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/mlrs/mlrs.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/mlrs/mlrs.txt 2003-10-20 07:50:12.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/mlrs/mlrs.txt 2006-10-28 15:05:01.000000000 +0900 @@ -2922,7 +2922,7 @@ Materials: 3 "chrome" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2931,7 +2931,7 @@ ".\chrome.bmp" "" "tread" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2940,7 +2940,7 @@ ".\tread.bmp" "" "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/patriot/patriot.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/patriot/patriot.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/patriot/patriot.txt 2003-10-20 07:51:18.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/patriot/patriot.txt 2006-10-28 15:05:01.000000000 +0900 @@ -5099,7 +5099,7 @@ Materials: 4 "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -5108,7 +5108,7 @@ ".\bigtire.bmp" "" "Material04" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -5117,7 +5117,7 @@ ".\camo.bmp" "" "chrome" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -5126,7 +5126,7 @@ ".\chrome.bmp" "" "kaki" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/photoncannon/photoncannon.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/photoncannon/photoncannon.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/photoncannon/photoncannon.txt 2004-02-04 15:41:31.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/photoncannon/photoncannon.txt 2006-10-28 15:05:01.000000000 +0900 @@ -1232,7 +1232,7 @@ Materials: 3 "gold" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1241,7 +1241,7 @@ ".\yellow.bmp" "" "blue" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1250,7 +1250,7 @@ ".\blue.bmp" ".\gradient.bmp" "basetexture" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/sa6/sa6.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/sa6/sa6.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/sa6/sa6.txt 2003-11-03 19:43:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/sa6/sa6.txt 2006-10-28 15:05:01.000000000 +0900 @@ -4132,7 +4132,7 @@ Materials: 5 "Material05" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -4141,7 +4141,7 @@ ".\black.bmp" "" "Material06" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -4150,7 +4150,7 @@ ".\white.bmp" "" "camo" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -4159,7 +4159,7 @@ ".\zsu23.bmp" "" "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -4168,7 +4168,7 @@ ".\guncover.bmp" ".\guncoveralpha.bmp" "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/sentrygun/sentrygun.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/sentrygun/sentrygun.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/sentrygun/sentrygun.txt 2006-07-15 13:10:32.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/sentrygun/sentrygun.txt 2006-10-28 15:05:01.000000000 +0900 @@ -1197,8 +1197,8 @@ Materials: 1 "sentrygun" -0.151373 0.152941 0.183529 1.000000 -0.756863 0.764706 0.917647 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.128000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/shark.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/shark.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/shark.txt 2005-02-12 22:52:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/shark.txt 2006-10-28 15:05:01.000000000 +0900 @@ -3622,43 +3622,36 @@ 1 81 82 83 27 27 27 1 Materials: 4 - "Material.004" -0.92803 0.92803 0.92803 1.0 -0.7878 0.82957 0.8854 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.74032 0.74032 0.74032 1.0 0.00000 0.000000 0.000000 1.0 339 1.0 ".\shark.bmp" "" - - "Material.001" -0.88637 0.88637 0.88637 1.0 -0.8 0.8954 0.94639 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.33489 1.33489 1.33489 1.0 0.00000 0.000000 0.000000 1.0 511 1.0 ".\rlauncher.bmp" "" - - "Material.004" -0.92803 0.92803 0.92803 1.0 -0.7878 0.82957 0.8854 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.74032 0.74032 0.74032 1.0 0.00000 0.000000 0.000000 1.0 339 1.0 ".\shark.bmp" "" - - "Material.004" -0.92803 0.92803 0.92803 1.0 -0.7878 0.82957 0.8854 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.74032 0.74032 0.74032 1.0 0.00000 0.000000 0.000000 1.0 339 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/sonic/sonic.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/sonic/sonic.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/sonic/sonic.txt 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/sonic/sonic.txt 2006-10-28 15:05:01.000000000 +0900 @@ -6944,8 +6944,8 @@ Materials: 7 "blue" -0.200000 0.200000 0.200000 1.000000 -0.874510 0.874510 0.874510 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -6953,8 +6953,8 @@ ".\sonic.bmp" "" "white" -1.000000 1.000000 1.000000 1.000000 -0.909804 0.909804 0.909804 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.031373 0.031373 0.031373 1.000000 0.000000 @@ -6962,7 +6962,7 @@ ".\sonic.bmp" "" "skin" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -6971,7 +6971,7 @@ ".\sonic.bmp" "" "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -6980,8 +6980,8 @@ ".\sonic.bmp" "" "green" -0.513726 0.862745 0.305882 1.000000 -0.152941 0.419608 0.168627 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.078431 0.352941 0.121569 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -6989,8 +6989,8 @@ ".\sonic.bmp" "" "gold" -0.662745 0.639216 0.137255 1.000000 -0.752941 0.737255 0.070588 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.184314 0.176471 0.015686 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -6998,8 +6998,8 @@ ".\sonic.bmp" "" "red" -0.847059 0.180392 0.196078 1.000000 -0.866667 0.274510 0.274510 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.058824 0.007843 0.011765 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/t90/t90.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/t90/t90.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/t90/t90.txt 2003-11-04 20:52:06.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/t90/t90.txt 2006-10-28 15:05:01.000000000 +0900 @@ -2922,7 +2922,7 @@ Materials: 2 "Material02" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2931,7 +2931,7 @@ ".\black.bmp" "" "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/thel/thel.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/thel/thel.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/thel/thel.txt 2003-11-03 19:46:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/thel/thel.txt 2006-10-28 15:05:02.000000000 +0900 @@ -2035,7 +2035,7 @@ Materials: 5 "tan" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2044,7 +2044,7 @@ ".\tan.bmp" "" "black" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2053,7 +2053,7 @@ ".\black.bmp" "" "chrome" -1.000000 0.501961 0.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2062,7 +2062,7 @@ ".\chrome.bmp" "" "green" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2071,7 +2071,7 @@ ".\green.bmp" "" "kaki" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/tiger2/tiger2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/tiger2/tiger2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/tiger2/tiger2.txt 2005-06-11 09:03:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/tiger2/tiger2.txt 2006-10-28 15:05:02.000000000 +0900 @@ -3687,7 +3687,7 @@ Materials: 1 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/towedartillery2/towedartillery2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/towedartillery2/towedartillery2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/towedartillery2/towedartillery2.txt 2003-10-07 11:04:40.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/towedartillery2/towedartillery2.txt 2006-10-28 15:05:02.000000000 +0900 @@ -2616,8 +2616,8 @@ Materials: 3 "Material02" -0.200000 0.200000 0.200000 1.000000 -1.000000 1.000000 1.000000 1.000000 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 @@ -2625,7 +2625,7 @@ ".\tan.bmp" "" "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2634,7 +2634,7 @@ ".\bigtire.bmp" "" "Material05" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/tracksh.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/tracksh.bmp differ Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/trackshv.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/trackshv.bmp differ Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/tracksv.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/tracksv.bmp differ Binary files /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/tracksvh.bmp and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/tracksvh.bmp differ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/turret2/turret2.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/turret2/turret2.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/turret2/turret2.txt 2004-09-10 14:54:02.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/turret2/turret2.txt 2006-10-28 15:05:02.000000000 +0900 @@ -1267,7 +1267,7 @@ Materials: 2 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -1276,7 +1276,7 @@ ".\chrome.bmp" "" "missileskin" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/tux/tux.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/tux/tux.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/tux/tux.txt 2004-09-07 09:18:46.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/tux/tux.txt 2006-10-28 15:05:02.000000000 +0900 @@ -4216,186 +4216,153 @@ 1 5 14 8 31 31 31 1 Materials: 17 - "bodyBlack" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.0417849980295 0.0 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\black.bmp" "" - - "bodyBlack" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.0417849980295 0.0 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\black.bmp" "" - - "bodyBlack.001" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.0417849980295 0.0 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\black.bmp" "" - - "bodyBlack" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.0417849980295 0.0 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\black.bmp" "" - - "MediumGrey.001" -1.0 1.0 1.0 1.0 -0.261575847864 0.244212076068 0.293054491282 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.760736107826 0.760736107826 0.760736107826 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\grey.bmp" "" - - "white" -1.0 1.0 1.0 1.0 -1.0 1.0 0.958737850189 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.442359805107 0.442359805107 0.442359805107 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\white.bmp" "" - - "bodyBlack" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.0417849980295 0.0 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\black.bmp" "" - - "bodyBlack" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.0417849980295 0.0 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\black.bmp" "" - - "white" 1.0 1.0 1.0 1.0 -1.0 1.0 0.958737850189 1.0 +1.0 1.0 1.0 1.0 0.442359805107 0.442359805107 0.442359805107 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\white.bmp" "" - - "white" 1.0 1.0 1.0 1.0 -1.0 1.0 0.958737850189 1.0 +1.0 1.0 1.0 1.0 0.442359805107 0.442359805107 0.442359805107 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\white.bmp" "" - - "beak" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.914525806904 0.743577301502 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\yellow.bmp" "" - - "beak" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.914525806904 0.743577301502 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\yellow.bmp" "" - - "beak" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.914525806904 0.743577301502 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\yellow.bmp" "" - - "beak" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.914525806904 0.743577301502 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\yellow.bmp" "" - - "beak" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.914525806904 0.743577301502 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\yellow.bmp" "" - - "beak" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.914525806904 0.743577301502 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 1.0 ".\yellow.bmp" "" - - "beak" -0.800000011921 0.800000011921 0.800000011921 1.0 -0.914525806904 0.743577301502 0.0 1.0 +0.800000 0.800000 0.800000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.5 0.5 0.5 1.0 0.00000 0.000000 0.000000 1.0 50 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/zsu23/zsu23.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/zsu23/zsu23.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/zsu23/zsu23.txt 2003-10-25 12:15:38.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/zsu23/zsu23.txt 2006-10-28 15:05:02.000000000 +0900 @@ -2837,7 +2837,7 @@ Materials: 3 "Material05" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2846,7 +2846,7 @@ ".\black.bmp" "" "Material06" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2855,7 +2855,7 @@ ".\white.bmp" "" "camo" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/zsu57/zsu57.txt /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/zsu57/zsu57.txt --- /tmp/ZyiKWGPp1w/scorched3d-40/data/tanks/zsu57/zsu57.txt 2003-10-25 12:16:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/tanks/zsu57/zsu57.txt 2006-10-28 15:05:02.000000000 +0900 @@ -2792,7 +2792,7 @@ Materials: 2 "Material01" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 @@ -2801,7 +2801,7 @@ ".\black.bmp" "" "Material03" -0.200000 0.200000 0.200000 1.000000 +0.800000 0.800000 0.800000 1.000000 0.800000 0.800000 0.800000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/data/windows.xml /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/windows.xml --- /tmp/ZyiKWGPp1w/scorched3d-40/data/windows.xml 2006-07-06 22:58:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/data/windows.xml 2006-07-23 09:43:47.000000000 +0900 @@ -78,6 +78,9 @@ true true true + LOG_SCROLL_UP + LOG_SCROLL_DOWN + LOG_SCROLL_RESET diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/BUGS /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/BUGS --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/BUGS 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/BUGS 2007-01-09 10:06:01.000000000 +0900 @@ -0,0 +1,12 @@ +Scorched3D on x86_64/amd64 (and maybe other 64 bit architectures) +================================================================= + +If you're running Scorched3D on one of the above architectures (or if you +experience random crashes (segfaults)), you must disable the "bird sound". +To do so, start up Scorched3D, click "Change game settings" and select the +"No Bird Sound" option. + +When the game window is closed, the underlying process often crashes (segfaults) +and as a result the user is asked if he/she wishes Scorch3D to reduce some game +settings. Chose "No.", because having your settings changed usually won't help +either. diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/changelog /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/changelog --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/changelog 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/changelog 2007-01-09 10:06:01.000000000 +0900 @@ -1,3 +1,40 @@ +scorched3d (40.1d.dfsg-1ubuntu1) feisty; urgency=low + + * merge debian changes. Last change left: + + debian/rules: add dh_iconcache + + -- Emmet Hikory Tue, 9 Jan 2007 09:45:12 +0900 + +scorched3d (40.1d.dfsg-1) unstable; urgency=low + + [ Gonéri Le Bouder ] + * remove the Applications category from the desktop file since + its not an official categorie + http://standards.freedesktop.org/menu-spec/latest/apa.html + + [ Bruno "Fuddl" Kleinert ] + * New upstream release + * Replace non-free fronts (Closes: #298932) + * Removed all dpatches + 01-cleanup-configure.ac.dpatch: /usr/X11R6 is nearly empty, now + 01-fix-autogen.sh.dpatch: no need to call autogen.sh anymore + 01_HtmlHelpDialog_cpp.dpatch: documentation gets properly installed + 02_cast-fixes.dpatch: merged with upstream + 03_netserver.dpatch: merged with upstream + 04_alut-linkage.dpatch: fixed by ./configure LIBS=-lalut + 05_formatstring.dpatch: merged with upstream + 06_wx-wxT-breakage.dpatch: merged with upstream + + [ Reinhard Tartler ] + * Make the scorched3d package binNMU safe + * make scorched3d-doc recommending instead of depending on scorched3d + + [ Eddy PetriÈ™or ] + * added dependency on dpkg-dev (>= 1.13.19) because of the binNMU change + done by Reinhard + + -- Eddy PetriÈ™or Sat, 23 Dec 2006 14:57:22 +0200 + scorched3d (40-1ubuntu1) edgy; urgency=low * merge debian changes. Last change left: @@ -20,7 +57,8 @@ * dropping 09_HTML-injection * Introducing -dbg package. - * Improving README.Debian how to use it + * Improving README.Debian how to use the -dbg package + * Bumped Standards Version to 3.7.2 (no changes needed) -- Reinhard Tartler Sat, 29 Jul 2006 13:09:44 +0200 @@ -169,4 +207,3 @@ * Initial Release (Closes: #244750) -- Bartosz Fenski Mon, 30 May 2004 06:03:30 +0200 - diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/control /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/control --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/control 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/control 2007-01-09 10:06:01.000000000 +0900 @@ -2,16 +2,16 @@ Section: games Priority: optional Maintainer: Debian Games Team -Uploaders: Gonéri Le Bouder , Reinhard Tartler -Build-Depends: binutils (>= 2.14.90.0.7), debhelper (>= 5.0.0), autotools-dev, libsdl1.2-dev, libsdl-net1.2-dev, libopenal-dev, libalut-dev, libfreetype6-dev, libwxgtk2.6-dev, libgl1-mesa-dev, libglu1-mesa-dev, sharutils, libogg-dev, libvorbis-dev, dpatch, autoconf, automake1.9 +Uploaders: Reinhard Tartler , Bruno "Fuddl" Kleinert +Build-Depends: binutils (>= 2.14.90.0.7), debhelper (>= 5.0.0), autotools-dev, libsdl1.2-dev, libsdl-net1.2-dev, libopenal-dev, libalut-dev, libfreetype6-dev, libwxgtk2.6-dev, libgl1-mesa-dev, libglu1-mesa-dev, sharutils, libogg-dev, libvorbis-dev, autoconf, automake1.9, dpkg-dev (>= 1.13.19) Build-Conflicts: nvidia-glx Standards-Version: 3.7.2 Package: scorched3d Architecture: any Section: games -Depends: ${shlibs:Depends}, scorched3d-data (= ${Source-Version}) -Suggests: scorched3d-doc (= ${Source-Version}) +Depends: ${shlibs:Depends}, scorched3d-data (= ${source:Version}) +Suggests: scorched3d-doc (>= ${source:Version}) Description: 3D artillery game similar to Scorched Earth Scorched3D is a game based heavily on the classic DOS game Scorched Earth "The Mother Of All Games". Scorched3D adds amongst other new features @@ -21,7 +21,7 @@ Package: scorched3d-dbg Architecture: any -Depends: scorched3d (= ${Source-Version}) +Depends: scorched3d (= ${binary:Version}) Description: 3D artillery game similar to Scorched Earth, debug data Scorched3D is a game based heavily on the classic DOS game Scorched Earth "The Mother Of All Games". Scorched3D adds amongst other new features @@ -34,7 +34,6 @@ . Homepage: http://scorched3d.sourceforge.net/ - Package: scorched3d-data Architecture: all Recommends: scorched3d @@ -49,7 +48,7 @@ Package: scorched3d-doc Architecture: all -Depends: scorched3d (= ${Source-Version}) +Recommends: scorched3d (>= ${source:Version}) Description: documentation for Scorched3D game Scorched3D is a game based heavily on the classic DOS game Scorched Earth "The Mother Of All Games". Scorched3D adds amongst other new features diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/copyright /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/copyright --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/copyright 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/copyright 2007-01-09 10:06:01.000000000 +0900 @@ -97,3 +97,132 @@ Creative Commons may be contacted at http://creativecommons.org/. + + +The license text below is usually found in data/fonts/VERA-COPYRIGHT.TXT in the +Scorched 3D source distribution. + +Bitstream Vera Fonts Copyright + +The fonts have a generous copyright, allowing derivative works (as +long as "Bitstream" or "Vera" are not in the names), and full +redistribution (so long as they are not *sold* by themselves). They +can be be bundled, redistributed and sold with any software. + +The fonts are distributed under the following copyright: + +Copyright +========= + +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream +Vera is a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the fonts accompanying this license ("Fonts") and associated +documentation files (the "Font Software"), to reproduce and distribute +the Font Software, including without limitation the rights to use, +copy, merge, publish, distribute, and/or sell copies of the Font +Software, and to permit persons to whom the Font Software is furnished +to do so, subject to the following conditions: + +The above copyright and trademark notices and this permission notice +shall be included in all copies of one or more of the Font Software +typefaces. + +The Font Software may be modified, altered, or added to, and in +particular the designs of glyphs or characters in the Fonts may be +modified and additional glyphs or characters may be added to the +Fonts, only if the fonts are renamed to names not containing either +the words "Bitstream" or the word "Vera". + +This License becomes null and void to the extent applicable to Fonts +or Font Software that has been modified and is distributed under the +"Bitstream Vera" names. + +The Font Software may be sold as part of a larger software package but +no copy of one or more of the Font Software typefaces may be sold by +itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL +BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, +OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT +SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. + +Except as contained in this notice, the names of Gnome, the Gnome +Foundation, and Bitstream Inc., shall not be used in advertising or +otherwise to promote the sale, use or other dealings in this Font +Software without prior written authorization from the Gnome Foundation +or Bitstream Inc., respectively. For further information, contact: +fonts at gnome dot org. + +Copyright FAQ +============= + + 1. I don't understand the resale restriction... What gives? + + Bitstream is giving away these fonts, but wishes to ensure its + competitors can't just drop the fonts as is into a font sale system + and sell them as is. It seems fair that if Bitstream can't make money + from the Bitstream Vera fonts, their competitors should not be able to + do so either. You can sell the fonts as part of any software package, + however. + + 2. I want to package these fonts separately for distribution and + sale as part of a larger software package or system. Can I do so? + + Yes. A RPM or Debian package is a "larger software package" to begin + with, and you aren't selling them independently by themselves. + See 1. above. + + 3. Are derivative works allowed? + Yes! + + 4. Can I change or add to the font(s)? + Yes, but you must change the name(s) of the font(s). + + 5. Under what terms are derivative works allowed? + + You must change the name(s) of the fonts. This is to ensure the + quality of the fonts, both to protect Bitstream and Gnome. We want to + ensure that if an application has opened a font specifically of these + names, it gets what it expects (though of course, using fontconfig, + substitutions could still could have occurred during font + opening). You must include the Bitstream copyright. Additional + copyrights can be added, as per copyright law. Happy Font Hacking! + + 6. If I have improvements for Bitstream Vera, is it possible they might get + adopted in future versions? + + Yes. The contract between the Gnome Foundation and Bitstream has + provisions for working with Bitstream to ensure quality additions to + the Bitstream Vera font family. Please contact us if you have such + additions. Note, that in general, we will want such additions for the + entire family, not just a single font, and that you'll have to keep + both Gnome and Jim Lyles, Vera's designer, happy! To make sense to add + glyphs to the font, they must be stylistically in keeping with Vera's + design. Vera cannot become a "ransom note" font. Jim Lyles will be + providing a document describing the design elements used in Vera, as a + guide and aid for people interested in contributing to Vera. + + 7. I want to sell a software package that uses these fonts: Can I do so? + + Sure. Bundle the fonts with your software and sell your software + with the fonts. That is the intent of the copyright. + + 8. If applications have built the names "Bitstream Vera" into them, + can I override this somehow to use fonts of my choosing? + + This depends on exact details of the software. Most open source + systems and software (e.g., Gnome, KDE, etc.) are now converting to + use fontconfig (see www.fontconfig.org) to handle font configuration, + selection and substitution; it has provisions for overriding font + names and subsituting alternatives. An example is provided by the + supplied local.conf file, which chooses the family Bitstream Vera for + "sans", "serif" and "monospace". Other software (e.g., the XFree86 + core server) has other mechanisms for font substitution. + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/00list /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/00list --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/00list 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/00list 1970-01-01 09:00:00.000000000 +0900 @@ -1,8 +0,0 @@ -01-fix-autogen.sh -01-cleanup-configure.ac -01_HtmlHelpDialog_cpp -02_cast-fixes -#03_netserver -04_alut-linkage -05_formatstring -06_wx-wxT-breakage \ No newline at end of file diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/01-cleanup-configure.ac.dpatch /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/01-cleanup-configure.ac.dpatch --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/01-cleanup-configure.ac.dpatch 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/01-cleanup-configure.ac.dpatch 1970-01-01 09:00:00.000000000 +0900 @@ -1,20 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 01-cleanup-configure.ac.dpatch by Reinhard Tartler -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: unstable is using xorg 7 now, these includes are rather pointless, and -## DP: potentially harmfull - -@DPATCH@ -diff -urNad scorched3d~/configure.ac scorched3d/configure.ac ---- scorched3d~/configure.ac 2006-07-28 07:30:15.000000000 +0200 -+++ scorched3d/configure.ac 2006-07-28 07:33:03.000000000 +0200 -@@ -13,8 +13,6 @@ - AC_PROG_INSTALL - AC_PROG_RANLIB - --LDFLAGS="-L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib" --CPPFLAGS="-I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include" - if test `uname` == Darwin; then - LDFLAGS="$LDFLAGS -lmx" - CPPFLAGS="$CPPFLAGS -D__DARWIN__" diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/01-fix-autogen.sh.dpatch /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/01-fix-autogen.sh.dpatch --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/01-fix-autogen.sh.dpatch 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/01-fix-autogen.sh.dpatch 1970-01-01 09:00:00.000000000 +0900 @@ -1,17 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 01-fix-autogen.sh.dpatch by Reinhard Tartler -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Needed because source didn't include config.sub and config.guess - -@DPATCH@ -diff -urNad scorched3d~/autogen.sh scorched3d/autogen.sh ---- scorched3d~/autogen.sh 2003-08-03 23:57:10.000000000 +0200 -+++ scorched3d/autogen.sh 2006-07-26 15:26:39.000000000 +0200 -@@ -1,5 +1,5 @@ - #!/bin/sh -x - aclocal --automake --foreign -+automake --foreign --add-missing --copy - autoconf - ./configure $* diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/01_HtmlHelpDialog_cpp.dpatch /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/01_HtmlHelpDialog_cpp.dpatch --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/01_HtmlHelpDialog_cpp.dpatch 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/01_HtmlHelpDialog_cpp.dpatch 1970-01-01 09:00:00.000000000 +0900 @@ -1,32 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 01_HtmlHelpDialog_cpp.dpatch by Reinhard Tartler -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: The debian package installs documentation to -## DP: /usr/share/doc/scorched3d/html. Therefore, ./configure is called with -## DP: "--with-docdir=/usr/share/doc/scorched3d". Since installing the -## DP: documentation to /usr/share/doc/scorched3d/documentation/html is -## DP: rather pointless, the following hunk is applied to the source to match -## DP: the new location. - - -@DPATCH@ -diff -urNad scorched3d.work~/src/scorched/HtmlHelpDialog.cpp scorched3d.work/src/scorched/HtmlHelpDialog.cpp ---- scorched3d.work~/src/scorched/HtmlHelpDialog.cpp 2006-07-26 14:02:22.000000000 +0200 -+++ scorched3d.work/src/scorched/HtmlHelpDialog.cpp 2006-07-26 14:02:47.000000000 +0200 -@@ -137,13 +137,13 @@ - void HelpFrame::onHome(wxCommandEvent &event) - { - html_->HistoryClear(); -- html_->LoadPage(wxString(getDocFile("documentation/html/index.html"), wxConvUTF8)); -+ html_->LoadPage(wxString(getDocFile("html/index.html"), wxConvUTF8)); - } - - void showHtmlHelpDialog() - { - // For the moment just show the documentation in the default web browser -- showURL(formatString("file://%s", getDocFile("documentation/html/index.html"))); -+ showURL(formatString("file://%s", getDocFile("html/index.html"))); - - //HelpFrame *frame = new HelpFrame(); - //frame->Show(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/02_cast-fixes.dpatch /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/02_cast-fixes.dpatch --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/02_cast-fixes.dpatch 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/02_cast-fixes.dpatch 1970-01-01 09:00:00.000000000 +0900 @@ -1,223 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 02_cast_fixes.dpatch by Reinhard Tartler -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: needed to compile on 64 bit architectures - -@DPATCH@ -diff -urNad scorched3d.work~/src/client/ServerBrowser.cpp scorched3d.work/src/client/ServerBrowser.cpp ---- scorched3d.work~/src/client/ServerBrowser.cpp 2006-07-05 19:16:14.000000000 +0200 -+++ scorched3d.work/src/client/ServerBrowser.cpp 2006-07-26 14:17:27.000000000 +0200 -@@ -79,7 +79,7 @@ - - int ServerBrowser::threadFunc(void *var) - { -- bool lan = (bool) (int(var)==1); -+ bool lan = (bool) (long(var)==1); - bool result = false; - if (lan) result = instance_->serverCollector_.fetchLANList(); - else result = instance_->serverCollector_.fetchServerList(); -diff -urNad scorched3d.work~/src/coms/NetServer.cpp scorched3d.work/src/coms/NetServer.cpp ---- scorched3d.work~/src/coms/NetServer.cpp 2006-02-13 18:54:26.000000000 +0100 -+++ scorched3d.work/src/coms/NetServer.cpp 2006-07-26 14:17:27.000000000 +0200 -@@ -235,7 +235,7 @@ - itor++) - { - TCPsocket sock = (*itor).first; -- disconnectClient((unsigned int) sock); -+ disconnectClient((unsigned long) sock); - } - SDL_UnlockMutex(setMutex_); - } -@@ -247,7 +247,7 @@ - - NetMessage *message = NetMessagePool::instance()-> - getFromPool(NetMessage::DisconnectMessage, -- (unsigned int) client, -+ (unsigned long) client, - getIpAddress(client)); - - if (delayed) -@@ -264,7 +264,7 @@ - - void NetServer::sendMessage(NetBuffer &buffer) - { -- sendMessage(buffer, (unsigned int) firstDestination_); -+ sendMessage(buffer, (unsigned long) firstDestination_); - } - - void NetServer::sendMessage(NetBuffer &buffer, unsigned int dest) -@@ -276,7 +276,7 @@ - // Get a new buffer from the pool - NetMessage *message = NetMessagePool::instance()-> - getFromPool(NetMessage::NoMessage, -- (unsigned int) destination, -+ (unsigned long) destination, - getIpAddress(destination)); - - // Add message to new buffer -@@ -305,7 +305,7 @@ - { - NetMessagePool::instance()->addToPool(message); - Logger::log(formatString("Unknown sendMessage destination %i", -- (int) client)); -+ (long) client)); - } - SDL_UnlockMutex(setMutex_); - } - -diff -urNad scorched3d.work~/src/coms/NetServerProtocol.cpp scorched3d.work/src/coms/NetServerProtocol.cpp ---- scorched3d.work~/src/coms/NetServerProtocol.cpp 2006-02-13 18:54:26.000000000 +0100 -+++ scorched3d.work/src/coms/NetServerProtocol.cpp 2006-07-26 14:17:27.000000000 +0200 -@@ -125,7 +125,7 @@ - // allocate the buffer memory - NetMessage *buffer = NetMessagePool::instance()-> - getFromPool(NetMessage::BufferMessage, -- (unsigned int) socket, -+ (unsigned long) socket, - NetServer::getIpAddress(socket)); - buffer->getBuffer().allocate(len); - buffer->getBuffer().setBufferUsed(len); -@@ -161,7 +161,7 @@ - // Allocate a new buffer - NetMessage *newMessage = NetMessagePool::instance()-> - getFromPool(NetMessage::BufferMessage, -- (unsigned int) socket, -+ (unsigned long) socket, - NetServer::getIpAddress(socket)); - NetBuffer &newBuffer = newMessage->getBuffer(); - newBuffer.allocate(destLen); -@@ -291,7 +291,7 @@ - // allocate the buffer memory - NetMessage *netBuffer = NetMessagePool::instance()-> - getFromPool(NetMessage::BufferMessage, -- (unsigned int) socket, -+ (unsigned long) socket, - NetServer::getIpAddress(socket)); - netBuffer->getBuffer().reset(); - -@@ -354,7 +354,7 @@ - // allocate the buffer memory - NetMessage *netBuffer = NetMessagePool::instance()-> - getFromPool(NetMessage::BufferMessage, -- (unsigned int) socket, -+ (unsigned long) socket, - NetServer::getIpAddress(socket)); - netBuffer->getBuffer().reset(); - -diff -urNad scorched3d.work~/src/coms/NetServerRead.cpp scorched3d.work/src/coms/NetServerRead.cpp ---- scorched3d.work~/src/coms/NetServerRead.cpp 2006-02-13 18:54:26.000000000 +0100 -+++ scorched3d.work/src/coms/NetServerRead.cpp 2006-07-26 14:17:27.000000000 +0200 -@@ -62,7 +62,7 @@ - // Send the player connected notification - NetMessage *message = NetMessagePool::instance()-> - getFromPool(NetMessage::ConnectMessage, -- (unsigned int) socket_, -+ (unsigned long) socket_, - NetServer::getIpAddress(socket_)); - messageHandler_->addMessage(message); - -@@ -94,7 +94,7 @@ - sentDisconnect_ = true; - NetMessage *message = NetMessagePool::instance()-> - getFromPool(NetMessage::DisconnectMessage, -- (unsigned int) socket_, -+ (unsigned long) socket_, - NetServer::getIpAddress(socket_)); - messageHandler_->addMessage(message); - } -@@ -189,7 +189,7 @@ - Logger::log(formatString( - "Warning: %s net loop took %.2f seconds, client %i", - (send?"Send":"Recv"), -- timeDiff, (unsigned int) socket_)); -+ timeDiff, (unsigned long) socket_)); - } - } - -@@ -199,7 +199,7 @@ - sentDisconnect_ = true; - NetMessage *message = NetMessagePool::instance()-> - getFromPool(NetMessage::DisconnectMessage, -- (unsigned int) socket_, -+ (unsigned long) socket_, - NetServer::getIpAddress(socket_)); - messageHandler_->addMessage(message); - } -diff -urNad scorched3d.work~/src/dialogs/HelpButtonDialog.cpp scorched3d.work/src/dialogs/HelpButtonDialog.cpp ---- scorched3d.work~/src/dialogs/HelpButtonDialog.cpp 2006-04-30 13:56:33.000000000 +0200 -+++ scorched3d.work/src/dialogs/HelpButtonDialog.cpp 2006-07-26 14:17:27.000000000 +0200 -@@ -127,7 +127,7 @@ - void HelpButtonDialog::VolumeMenu::menuSelection(const char* menuName, - const int position, GLMenuItem &item) - { -- int data = (int) item.getUserData(); -+ int data = (long) item.getUserData(); - if (data != -1) - { - int volume = int(float(data) * 12.8f); -diff -urNad scorched3d.work~/src/engine/ScorchedCollisionHandler.cpp scorched3d.work/src/engine/ScorchedCollisionHandler.cpp ---- scorched3d.work~/src/engine/ScorchedCollisionHandler.cpp 2006-04-07 01:08:28.000000000 +0200 -+++ scorched3d.work/src/engine/ScorchedCollisionHandler.cpp 2006-07-26 14:17:27.000000000 +0200 -@@ -90,8 +90,8 @@ - ScorchedCollisionInfo *info1, ScorchedCollisionInfo *info2, - dContactGeom *contacts, int noContacts) - { -- unsigned int playerId1 = (unsigned int) info1->data; -- unsigned int playerId2 = (unsigned int) info2->data; -+ unsigned int playerId1 = (unsigned long) info1->data; -+ unsigned int playerId2 = (unsigned long) info2->data; - Target *target1 = context_->targetContainer->getTargetById(playerId1); - Target *target2 = context_->targetContainer->getTargetById(playerId2); - if (!target1 || !target2) return; -@@ -136,7 +136,7 @@ - } - - ShotBounce *particle = (ShotBounce *) bounceInfo->data; -- unsigned int id = (unsigned int) otherInfo->data; -+ unsigned int id = (unsigned long) otherInfo->data; - - // only collide with the ground, walls or landscape, - // or iteself -@@ -257,7 +257,7 @@ - otherInfo = (ScorchedCollisionInfo *) dGeomGetData(o1); - } - -- unsigned int id = (unsigned int) otherInfo->data; -+ unsigned int id = (unsigned long) otherInfo->data; - ShotProjectile *shot = (ShotProjectile *) particleInfo->data; - shot->incLandedCounter(); - Vector particlePositionV( -diff -urNad scorched3d.work~/src/ode/config.h scorched3d.work/src/ode/config.h ---- scorched3d.work~/src/ode/config.h 2004-11-02 10:20:35.000000000 +0100 -+++ scorched3d.work/src/ode/config.h 2006-07-26 14:17:27.000000000 +0200 -@@ -81,7 +81,7 @@ - /* an integer type that we can safely cast a pointer to and from without - * loss of bits. - */ --typedef unsigned int intP; -+typedef unsigned long intP; - - - /* if we're compiling on a pentium, we may need to know the clock rate so -diff -urNad scorched3d.work~/src/tankgraph/GLWTankTip.cpp scorched3d.work/src/tankgraph/GLWTankTip.cpp ---- scorched3d.work~/src/tankgraph/GLWTankTip.cpp 2006-07-11 03:36:06.000000000 +0200 -+++ scorched3d.work/src/tankgraph/GLWTankTip.cpp 2006-07-26 14:17:27.000000000 +0200 -@@ -68,7 +68,7 @@ - - void TankUndoMenu::itemSelected(GLWSelectorEntry *entry, int position) - { -- tank_->getPosition().revertSettings((unsigned int) entry->getUserData()); -+ tank_->getPosition().revertSettings((unsigned long) entry->getUserData()); - } - - TankFuelTip::TankFuelTip(Tank *tank) : -@@ -236,7 +236,7 @@ - void TankBatteryTip::itemSelected(GLWSelectorEntry *entry, int position) - { - TankAIHuman *tankAI = (TankAIHuman *) tank_->getTankAI(); -- for (int i=1; i<=(int) entry->getUserData(); i++) -+ for (int i=1; i<=(long) entry->getUserData(); i++) - { - if (tank_->getLife().getLife() < - tank_->getLife().getMaxLife()) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/03_netserver.dpatch /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/03_netserver.dpatch --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/03_netserver.dpatch 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/03_netserver.dpatch 1970-01-01 09:00:00.000000000 +0900 @@ -1,580 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 03_netserver.dpatch by Reinhard Tartler -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: No description. - -@DPATCH@ -diff -urNad scorched3d.work~/src/coms/NetServer.cpp scorched3d.work/src/coms/NetServer.cpp ---- scorched3d.work~/src/coms/NetServer.cpp 2006-07-26 14:54:39.000000000 +0200 -+++ scorched3d.work/src/coms/NetServer.cpp 2006-07-26 15:00:24.000000000 +0200 -@@ -32,6 +32,7 @@ - { - sockSet_ = SDLNet_AllocSocketSet(1); - setMutex_ = SDL_CreateMutex(); -+ lastId_ = 0; - SDL_CreateThread(NetServer::threadFunc, (void *) this); - } - -@@ -184,27 +185,25 @@ - bool NetServer::pollDeleted() - { - SDL_LockMutex(setMutex_); -- std::list remove; -- std::map::iterator itor; -+ std::list remove; -+ std::map::iterator itor; - for (itor = connections_.begin(); - itor != connections_.end(); - itor++) - { - NetServerRead *serverRead = (*itor).second; -- TCPsocket socket = (*itor).first; - if (serverRead->getDisconnect()) - { - delete serverRead; -- remove.push_back(socket); -+ remove.push_back((*itor).first); - } - } -- std::list::iterator itor2; -+ std::list::iterator itor2; - for (itor2 = remove.begin(); - itor2 != remove.end(); - itor2++) - { -- TCPsocket socket = (*itor2); -- connections_.erase(socket); -+ connections_.erase((*itor2)); - } - SDL_UnlockMutex(setMutex_); - return true; -@@ -212,13 +211,24 @@ - - void NetServer::addClient(TCPsocket client) - { -+ std::map::iterator itor; -+ -+ // Find a free ID -+ SDL_LockMutex(setMutex_); -+ do { -+ lastId_++; -+ /* ID 0 == broadcast so don't use it */ -+ if (lastId_ == 0) -+ lastId_++; -+ itor = connections_.find(lastId_); -+ } while (itor != connections_.end()); -+ - // Create the thread to read this socket -- NetServerRead *serverRead = new NetServerRead( -- client, protocol_, &messageHandler_, &checkDeleted_); -+ NetServerRead *serverRead = new NetServerRead(client, lastId_, -+ protocol_, &messageHandler_); - - // Add this to the collection of sockets (connections) -- SDL_LockMutex(setMutex_); -- connections_[client] = serverRead; -+ connections_[lastId_] = serverRead; - firstDestination_ = (*connections_.begin()).first; - SDL_UnlockMutex(setMutex_); - -@@ -228,27 +238,25 @@ - - void NetServer::disconnectAllClients() - { -+ std::map::iterator itor; - SDL_LockMutex(setMutex_); -- std::map::iterator itor; - for (itor = connections_.begin(); - itor != connections_.end(); - itor++) - { -- TCPsocket sock = (*itor).first; -- disconnectClient((unsigned long) sock); -+ disconnectClient((*itor).first); - } - SDL_UnlockMutex(setMutex_); - } - - void NetServer::disconnectClient(unsigned int dest, bool delayed) - { -- TCPsocket client = (TCPsocket) dest; -+ NetServerRead *serverRead = getServerRead(dest); - DIALOG_ASSERT(client); - - NetMessage *message = NetMessagePool::instance()-> - getFromPool(NetMessage::DisconnectMessage, -- (unsigned long) client, -- getIpAddress(client)); -+ dest, getIpAddress(serverRead)); - - if (delayed) - { -@@ -258,26 +266,22 @@ - else - { - // Add the message to the list of out going -- sendMessage(client, message); -+ sendMessage(serverRead, message); - } - } - - void NetServer::sendMessage(NetBuffer &buffer) - { -- sendMessage(buffer, (unsigned long) firstDestination_); -+ sendMessage(buffer, firstDestination_); - } - - void NetServer::sendMessage(NetBuffer &buffer, unsigned int dest) -- - { -- TCPsocket destination = (TCPsocket) dest; -- DIALOG_ASSERT(destination); -- -+ NetServerRead *serverRead = getServerRead(dest); - // Get a new buffer from the pool - NetMessage *message = NetMessagePool::instance()-> -- getFromPool(NetMessage::NoMessage, -- (unsigned long) destination, -- getIpAddress(destination)); -+ getFromPool(NetMessage::NoMessage, dest, -+ getIpAddress(serverRead)); - - // Add message to new buffer - message->getBuffer().allocate(buffer.getBufferUsed()); -@@ -286,28 +290,40 @@ - message->getBuffer().setBufferUsed(buffer.getBufferUsed()); - - // Send Mesage -- sendMessage(destination, message); -+ sendMessage(serverRead, message); - } - --void NetServer::sendMessage(TCPsocket client, NetMessage *message) -+void NetServer::sendMessage(NetServerRead *serverRead, NetMessage *message) - { -- // Find the client -- SDL_LockMutex(setMutex_); -- std::map::iterator itor = -- connections_.find(client); -- if (itor != connections_.end()) -+ if (serverRead) - { - // Add the message to the list of out going -- NetServerRead *serverRead = (*itor).second; - serverRead->addMessage(message); - } - else - { - NetMessagePool::instance()->addToPool(message); -- Logger::log(formatString("Unknown sendMessage destination %i", -- (long) client)); - } -- SDL_UnlockMutex(setMutex_); -+} -+ -+ -+NetServerRead *NetServer::getServerRead(unsigned int dest) -+{ -+ NetServerRead *serverRead = 0; -+ -+ if (dest) -+ { -+ SDL_LockMutex(setMutex_); -+ std::map::iterator itor = -+ connections_.find(dest); -+ if (itor != connections_.end()) -+ serverRead = (*itor).second; -+ // else -+ // Logger::log( "Unknown destination %u", dest); -+ SDL_UnlockMutex(setMutex_); -+ } -+ -+ return serverRead; - } - - unsigned int NetServer::getIpAddress(TCPsocket destination) -@@ -324,3 +340,14 @@ - return addr; - } - -+unsigned int NetServer::getIpAddress(NetServerRead *serverRead) -+{ -+ if (serverRead == 0) return 0; -+ -+ return getIpAddress(serverRead->getSocket()); -+} -+ -+unsigned int NetServer::getIpAddress(unsigned int destination) -+{ -+ return getIpAddress(getServerRead(destination)); -+} -diff -urNad scorched3d.work~/src/coms/NetServer.h scorched3d.work/src/coms/NetServer.h ---- scorched3d.work~/src/coms/NetServer.h 2006-07-26 14:50:46.000000000 +0200 -+++ scorched3d.work/src/coms/NetServer.h 2006-07-26 14:54:52.000000000 +0200 -@@ -46,26 +46,31 @@ - virtual void sendMessage(NetBuffer &buffer); - virtual void sendMessage(NetBuffer &buffer, unsigned int destination); - -+ unsigned int getIpAddress(unsigned int destination); - static unsigned int getIpAddress(TCPsocket destination); - - protected: - NetServerProtocol *protocol_; - TCPsocket server_; -- TCPsocket firstDestination_; -+ unsigned int firstDestination_; - SDLNet_SocketSet sockSet_; -- std::map connections_; -+ std::map connections_; - std::list > delayedMessages_; - Clock delayedClock_; - SDL_mutex *setMutex_; - NetMessageHandler messageHandler_; -+ bool sentNotification_; - bool checkDeleted_; -+ unsigned int lastId_; - - static int threadFunc(void *); - - bool pollIncoming(); - bool pollDeleted(); - void addClient(TCPsocket client); -- void sendMessage(TCPsocket client, NetMessage *message); -+ void sendMessage(NetServerRead *serverRead, NetMessage *message); -+ NetServerRead *getServerRead(unsigned int dest); -+ unsigned int getIpAddress(NetServerRead *serverRead); - - private: - -diff -urNad scorched3d.work~/src/coms/NetServerProtocol.cpp scorched3d.work/src/coms/NetServerProtocol.cpp ---- scorched3d.work~/src/coms/NetServerProtocol.cpp 2006-07-26 14:54:39.000000000 +0200 -+++ scorched3d.work/src/coms/NetServerProtocol.cpp 2006-07-26 15:01:19.000000000 +0200 -@@ -40,7 +40,8 @@ - { - } - --bool NetServerScorchedProtocol::sendBuffer(NetBuffer &buffer, TCPsocket socket) -+bool NetServerScorchedProtocol::sendBuffer(NetBuffer &buffer, -+ TCPsocket socket, unsigned int socketId) - { - Uint32 len = buffer.getBufferUsed(); - Uint32 netlen=0; -@@ -94,7 +95,8 @@ - return true; - } - --NetMessage *NetServerScorchedProtocol::readBuffer(TCPsocket socket) -+NetMessage *NetServerScorchedProtocol::readBuffer(TCPsocket socket, -+ unsigned int socketId) - { - // receive the length of the string message - char lenbuf[4]; -@@ -125,8 +127,7 @@ - // allocate the buffer memory - NetMessage *buffer = NetMessagePool::instance()-> - getFromPool(NetMessage::BufferMessage, -- (unsigned long) socket, -- NetServer::getIpAddress(socket)); -+ socketId, NetServer::getIpAddress(socket)); - buffer->getBuffer().allocate(len); - buffer->getBuffer().setBufferUsed(len); - -@@ -153,7 +154,8 @@ - { - } - --bool NetServerCompressedProtocol::sendBuffer(NetBuffer &buffer, TCPsocket socket) -+bool NetServerCompressedProtocol::sendBuffer(NetBuffer &buffer, -+ TCPsocket socket, unsigned int socketId) - { - unsigned long destLen = buffer.getBufferUsed() * 2; - unsigned long srcLen = buffer.getBufferUsed(); -@@ -161,8 +163,7 @@ - // Allocate a new buffer - NetMessage *newMessage = NetMessagePool::instance()-> - getFromPool(NetMessage::BufferMessage, -- (unsigned long) socket, -- NetServer::getIpAddress(socket)); -+ socketId, NetServer::getIpAddress(socket)); - NetBuffer &newBuffer = newMessage->getBuffer(); - newBuffer.allocate(destLen); - -@@ -185,7 +186,8 @@ - //Logger::log( "Compressed %i->%i", - // buffer.getBufferUsed(), newBuffer.getBufferUsed()); - -- retVal = NetServerScorchedProtocol::sendBuffer(newBuffer, socket); -+ retVal = NetServerScorchedProtocol::sendBuffer(newBuffer, -+ socket, socketId); - } - else - { -@@ -197,10 +199,12 @@ - return retVal; - } - --NetMessage *NetServerCompressedProtocol::readBuffer(TCPsocket socket) -+NetMessage *NetServerCompressedProtocol::readBuffer(TCPsocket socket, -+ unsigned int socketId) - { - // Read the message from the socket -- NetMessage *message = NetServerScorchedProtocol::readBuffer(socket); -+ NetMessage *message = NetServerScorchedProtocol::readBuffer(socket, -+ socketId); - if (message) - { - // Get the uncompressed size from the buffer -@@ -268,7 +272,8 @@ - { - } - --bool NetServerHTTPProtocolSend::sendBuffer(NetBuffer &buffer, TCPsocket socket) -+bool NetServerHTTPProtocolSend::sendBuffer(NetBuffer &buffer, -+ TCPsocket socket, unsigned int socketId) - { - Uint32 len = buffer.getBufferUsed(); - -@@ -286,13 +291,13 @@ - return true; - } - --NetMessage *NetServerHTTPProtocolSend::readBuffer(TCPsocket socket) -+NetMessage *NetServerHTTPProtocolSend::readBuffer(TCPsocket socket, -+ unsigned int socketId) - { - // allocate the buffer memory - NetMessage *netBuffer = NetMessagePool::instance()-> - getFromPool(NetMessage::BufferMessage, -- (unsigned long) socket, -- NetServer::getIpAddress(socket)); -+ socketId, NetServer::getIpAddress(socket)); - netBuffer->getBuffer().reset(); - - // get the string buffer over the socket -@@ -331,7 +336,8 @@ - { - } - --bool NetServerHTTPProtocolRecv::sendBuffer(NetBuffer &buffer, TCPsocket socket) -+bool NetServerHTTPProtocolRecv::sendBuffer(NetBuffer &buffer, -+ TCPsocket socket, unsigned int socketId) - { - Uint32 len = buffer.getBufferUsed(); - -@@ -349,13 +355,13 @@ - return true; - } - --NetMessage *NetServerHTTPProtocolRecv::readBuffer(TCPsocket socket) -+NetMessage *NetServerHTTPProtocolRecv::readBuffer(TCPsocket socket, -+ unsigned int socketId) - { - // allocate the buffer memory - NetMessage *netBuffer = NetMessagePool::instance()-> - getFromPool(NetMessage::BufferMessage, -- (unsigned long) socket, -- NetServer::getIpAddress(socket)); -+ socketId, NetServer::getIpAddress(socket)); - netBuffer->getBuffer().reset(); - - // get the string buffer over the socket -diff -urNad scorched3d.work~/src/coms/NetServerProtocol.h scorched3d.work/src/coms/NetServerProtocol.h ---- scorched3d.work~/src/coms/NetServerProtocol.h 2006-07-26 14:50:46.000000000 +0200 -+++ scorched3d.work/src/coms/NetServerProtocol.h 2006-07-26 14:54:52.000000000 +0200 -@@ -29,8 +29,10 @@ - NetServerProtocol(); - virtual ~NetServerProtocol(); - -- virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket) = 0; -- virtual NetMessage *readBuffer(TCPsocket socket) = 0; -+ virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket, -+ unsigned int socketId) = 0; -+ virtual NetMessage *readBuffer(TCPsocket socket, -+ unsigned int socketId) = 0; - }; - - class NetServerScorchedProtocol : public NetServerProtocol -@@ -39,8 +41,10 @@ - NetServerScorchedProtocol(); - virtual ~NetServerScorchedProtocol(); - -- virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket); -- virtual NetMessage *readBuffer(TCPsocket socket); -+ virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket, -+ unsigned int socketId); -+ virtual NetMessage *readBuffer(TCPsocket socket, -+ unsigned int socketId); - }; - - class NetServerCompressedProtocol : public NetServerScorchedProtocol -@@ -49,8 +53,10 @@ - NetServerCompressedProtocol(); - virtual ~NetServerCompressedProtocol(); - -- virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket); -- virtual NetMessage *readBuffer(TCPsocket socket); -+ virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket, -+ unsigned int socketId); -+ virtual NetMessage *readBuffer(TCPsocket socket, -+ unsigned int socketId); - }; - - class NetServerHTTPProtocolSend : public NetServerProtocol -@@ -59,8 +65,10 @@ - NetServerHTTPProtocolSend(); - virtual ~NetServerHTTPProtocolSend(); - -- virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket); -- virtual NetMessage *readBuffer(TCPsocket socket); -+ virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket, -+ unsigned int socketId); -+ virtual NetMessage *readBuffer(TCPsocket socket, -+ unsigned int socketId); - }; - - class NetServerHTTPProtocolRecv : public NetServerProtocol -@@ -69,8 +77,10 @@ - NetServerHTTPProtocolRecv(); - virtual ~NetServerHTTPProtocolRecv(); - -- virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket); -- virtual NetMessage *readBuffer(TCPsocket socket); -+ virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket, -+ unsigned int socketId); -+ virtual NetMessage *readBuffer(TCPsocket socket, -+ unsigned int socketId); - }; - - #endif -diff -urNad scorched3d.work~/src/coms/NetServerRead.cpp scorched3d.work/src/coms/NetServerRead.cpp ---- scorched3d.work~/src/coms/NetServerRead.cpp 2006-07-26 14:54:39.000000000 +0200 -+++ scorched3d.work/src/coms/NetServerRead.cpp 2006-07-26 15:02:12.000000000 +0200 -@@ -26,11 +26,11 @@ - #include - - NetServerRead::NetServerRead(TCPsocket socket, -+ unsigned int socketId, - NetServerProtocol *protocol, -- NetMessageHandler *messageHandler, -- bool *checkDeleted) : -- socket_(socket), sockSet_(0), protocol_(protocol), -- outgoingMessagesMutex_(0), checkDeleted_(checkDeleted), -+ NetMessageHandler *messageHandler) : -+ socket_(socket), socketId_(socketId), sockSet_(0), protocol_(protocol), -+ outgoingMessagesMutex_(0), - disconnect_(false), messageHandler_(messageHandler), - sentDisconnect_(false), startCount_(0), - ctrlThread_(0), recvThread_(0), sendThread_(0) -@@ -62,8 +62,7 @@ - // Send the player connected notification - NetMessage *message = NetMessagePool::instance()-> - getFromPool(NetMessage::ConnectMessage, -- (unsigned long) socket_, -- NetServer::getIpAddress(socket_)); -+ socketId_, NetServer::getIpAddress(socket_)); - messageHandler_->addMessage(message); - - recvThread_ = SDL_CreateThread( -@@ -94,8 +93,7 @@ - sentDisconnect_ = true; - NetMessage *message = NetMessagePool::instance()-> - getFromPool(NetMessage::DisconnectMessage, -- (unsigned long) socket_, -- NetServer::getIpAddress(socket_)); -+ socketId_, NetServer::getIpAddress(socket_)); - messageHandler_->addMessage(message); - } - SDL_UnlockMutex(outgoingMessagesMutex_); -@@ -159,7 +157,6 @@ - // Delete self - SDL_LockMutex(outgoingMessagesMutex_); - disconnect_ = true; -- *checkDeleted_ = true; - SDL_UnlockMutex(outgoingMessagesMutex_); - } - -@@ -187,9 +184,9 @@ - if (timeDiff > 15.0f) - { - Logger::log(formatString( -- "Warning: %s net loop took %.2f seconds, client %i", -+ "Warning: %s net loop took %.2f seconds, client %u", - (send?"Send":"Recv"), -- timeDiff, (unsigned long) socket_)); -+ timeDiff, socketId_)); - } - } - -@@ -199,8 +196,7 @@ - sentDisconnect_ = true; - NetMessage *message = NetMessagePool::instance()-> - getFromPool(NetMessage::DisconnectMessage, -- (unsigned long) socket_, -- NetServer::getIpAddress(socket_)); -+ socketId_, NetServer::getIpAddress(socket_)); - messageHandler_->addMessage(message); - } - SDL_UnlockMutex(outgoingMessagesMutex_); -@@ -218,7 +214,8 @@ - - if(SDLNet_SocketReady(socket_)) - { -- NetMessage *message = protocol_->readBuffer(socket_); -+ NetMessage *message = protocol_->readBuffer(socket_, -+ socketId_); - if (!message) - { - Logger::log( "Client socket has been closed."); -@@ -261,7 +258,8 @@ - } - else - { -- if (!protocol_->sendBuffer(message->getBuffer(), socket_)) -+ if (!protocol_->sendBuffer(message->getBuffer(), -+ socket_, socketId_)) - { - Logger::log( "Failed to send message to client"); - result = false; -diff -urNad scorched3d.work~/src/coms/NetServerRead.h scorched3d.work/src/coms/NetServerRead.h ---- scorched3d.work~/src/coms/NetServerRead.h 2006-07-26 14:50:46.000000000 +0200 -+++ scorched3d.work/src/coms/NetServerRead.h 2006-07-26 14:54:52.000000000 +0200 -@@ -28,19 +28,21 @@ - { - public: - NetServerRead(TCPsocket socket, -+ unsigned int socketId, - NetServerProtocol *protocol, -- NetMessageHandler *messageHandler, -- bool *checkDeleted); -+ NetMessageHandler *messageHandler); - virtual ~NetServerRead(); - - void start(); - bool getDisconnect(); - void addMessage(NetMessage *message); -+ TCPsocket getSocket() { return socket_; } - - protected: -- bool *checkDeleted_; - bool disconnect_, sentDisconnect_; -+ bool sentNotification_; - TCPsocket socket_; -+ unsigned int socketId_; - SDLNet_SocketSet sockSet_; - NetServerProtocol *protocol_; - NetMessageHandler *messageHandler_; -diff -urNad scorched3d.work~/src/server/ServerConnectHandler.cpp scorched3d.work/src/server/ServerConnectHandler.cpp ---- scorched3d.work~/src/server/ServerConnectHandler.cpp 2006-07-26 14:50:46.000000000 +0200 -+++ scorched3d.work/src/server/ServerConnectHandler.cpp 2006-07-26 14:54:52.000000000 +0200 -@@ -88,7 +88,9 @@ - } - - // Get the ip address -- ipAddress = NetServer::getIpAddress((TCPsocket) destinationId); -+ NetServer *netServer = (NetServer *) -+ ScorchedServer::instance()->getContext().netInterface; -+ ipAddress = netServer->getIpAddress(destinationId); - } - - // Decode the connect message diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/04_alut-linkage.dpatch /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/04_alut-linkage.dpatch --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/04_alut-linkage.dpatch 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/04_alut-linkage.dpatch 1970-01-01 09:00:00.000000000 +0900 @@ -1,27 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 04_alut-linkage.dpatch by Reinhard Tartler -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Recently, alut has been split off from libopenal to an own library -## DP: called libalut. In the debian package, I just added the following hunk -## DP: to force linking against alut as well. -## DP: -## DP: This is a bit hackish, since a prober fix would be to introduce a -## DP: proper check for alut/openal in configure.ac. Looking at configure.ac -## DP: however, it seems to me that scorched3d isn't prepared to be compiled -## DP: without openal/alut. So I decided to create a minimal patch: - - -@DPATCH@ -diff -urNad scorched3d.work~/src/scorched/Makefile.am scorched3d.work/src/scorched/Makefile.am ---- scorched3d.work~/src/scorched/Makefile.am 2006-07-15 17:14:50.000000000 +0200 -+++ scorched3d.work/src/scorched/Makefile.am 2006-07-26 14:30:37.000000000 +0200 -@@ -2,6 +2,8 @@ - - bin_PROGRAMS = scorched3d - -+scorched3d_LDFLAGS = -lalut -+ - scorched3d_SOURCES = \ - ../GLEXT/GLBitmap.cpp \ - ../GLEXT/GLBitmap.h \ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/05_formatstring.dpatch /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/05_formatstring.dpatch --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/05_formatstring.dpatch 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/05_formatstring.dpatch 1970-01-01 09:00:00.000000000 +0900 @@ -1,65 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 05_formatstring.dpatch by Reinhard Tartler -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: No description. - -@DPATCH@ -diff -urNad scorched3d.work~/src/ode/error.cpp scorched3d.work/src/ode/error.cpp ---- scorched3d.work~/src/ode/error.cpp 2004-09-15 00:10:04.000000000 +0200 -+++ scorched3d.work/src/ode/error.cpp 2006-07-26 14:34:20.000000000 +0200 -@@ -129,7 +129,7 @@ - else { - char s[1000],title[100]; - sprintf (title,"ODE Error %d",num); -- vsprintf (s,msg,ap); -+ vsnprintf (s,sizeof(s),msg,ap); - s[sizeof(s)-1] = 0; - MessageBox(0,s,title,MB_OK | MB_ICONWARNING); - } -@@ -145,7 +145,7 @@ - else { - char s[1000],title[100]; - sprintf (title,"ODE INTERNAL ERROR %d",num); -- vsprintf (s,msg,ap); -+ vsnprintf (s,sizeof(s),msg,ap); - s[sizeof(s)-1] = 0; - MessageBox(0,s,title,MB_OK | MB_ICONSTOP); - } -diff -urNad scorched3d.work~/src/ode/testing.cpp scorched3d.work/src/ode/testing.cpp ---- scorched3d.work~/src/ode/testing.cpp 2003-07-10 18:30:19.000000000 +0200 -+++ scorched3d.work/src/ode/testing.cpp 2006-07-26 14:34:20.000000000 +0200 -@@ -72,7 +72,7 @@ - - va_list ap; - va_start (ap,name); -- vsprintf (mi->name,name,ap); -+ vsnprintf (mi->name, sizeof(mi->name), name, ap); - if (strlen(mi->name) >= sizeof (mi->name)) dDebug (0,"name too long"); - - mat.push (mi); -@@ -88,7 +88,7 @@ - dMatInfo mi; - va_list ap; - va_start (ap,name); -- vsprintf (mi.name,name,ap); -+ vsnprintf (mi.name, sizeof(mi.name), name, ap); - if (strlen(mi.name) >= sizeof (mi.name)) dDebug (0,"name too long"); - - if (strcmp(mp->name,mi.name) != 0) -diff -urNad scorched3d.work~/src/server/ServerTimedMessage.cpp scorched3d.work/src/server/ServerTimedMessage.cpp ---- scorched3d.work~/src/server/ServerTimedMessage.cpp 2006-07-15 14:01:30.000000000 +0200 -+++ scorched3d.work/src/server/ServerTimedMessage.cpp 2006-07-26 14:34:20.000000000 +0200 -@@ -65,6 +65,12 @@ - entry.lastTime = currentTime; - - std::string message = entry.messages.front(); -+ /* Note message.c_str() is a user supplied printf format string -+ with possible a conversion specifier to display the ctime. -+ Since these messages are loaded from a local file this is -+ reasonable safe, although it would be better to just -+ always prefix times-messages with the ctime and to not -+ interpreted user supplied data this way. */ - ServerCommon::sendString(0, formatString(message.c_str(), ctime(¤tTime))); - Logger::log(formatString(message.c_str(), ctime(¤tTime))); - entry.messages.pop_front(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/06_wx-wxT-breakage.dpatch /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/06_wx-wxT-breakage.dpatch --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/patches/06_wx-wxT-breakage.dpatch 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/patches/06_wx-wxT-breakage.dpatch 1970-01-01 09:00:00.000000000 +0900 @@ -1,35 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 06_wx-wxT-breakage.dpatch by Reinhard Tartler -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: current wxWidgets2.6 requires strings casted like this. -## DP: Patch stolen from cvs HEAD - -@DPATCH@ -diff -urNad scorched3d~/src/scorched/NetLan.cpp scorched3d/src/scorched/NetLan.cpp ---- scorched3d~/src/scorched/NetLan.cpp 2006-07-27 10:28:09.000000000 +0200 -+++ scorched3d/src/scorched/NetLan.cpp 2006-07-27 15:55:10.000000000 +0200 -@@ -96,9 +96,9 @@ - // Radio Buttons - wxFlexGridSizer *radioSizer = new wxFlexGridSizer(1, 8, 5, 5); - IDC_RADIO_NET_CTRL = new wxRadioButton(parent, IDC_RADIO_NET, -- "Internet", wxDefaultPosition, wxDefaultSize, wxRB_GROUP); -+ wxT("Internet"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP); - IDC_RADIO_LAN_CTRL = new wxRadioButton(parent, IDC_RADIO_LAN, -- "LAN", wxDefaultPosition, wxDefaultSize, 0); -+ wxT("LAN"), wxDefaultPosition, wxDefaultSize, 0); - radioSizer->Add(IDC_RADIO_NET_CTRL, 0, wxRIGHT, 10); - radioSizer->Add(IDC_RADIO_LAN_CTRL, 0, wxRIGHT, 0); - sizer->Add(radioSizer, 0, wxALIGN_CENTER | wxALL, 5); -diff -urNad scorched3d~/src/scorched/OptionEntrySetter.cpp scorched3d/src/scorched/OptionEntrySetter.cpp ---- scorched3d~/src/scorched/OptionEntrySetter.cpp 2006-07-26 17:05:18.000000000 +0200 -+++ scorched3d/src/scorched/OptionEntrySetter.cpp 2006-07-27 15:55:22.000000000 +0200 -@@ -122,7 +122,7 @@ - { - sizer->Add(control = - new wxCheckBox(parent, -1, -- "", -+ wxT(""), - wxDefaultPosition, wxDefaultSize), - 0, wxALIGN_LEFT); - control->SetToolTip( diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/README.Debian /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/README.Debian --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/README.Debian 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/README.Debian 2007-01-09 10:06:01.000000000 +0900 @@ -40,3 +40,12 @@ (based on Bartosz Fenski , Fri, 30 Jul 2004 16:56:10 +0200) -- Reinhard Tartler , Sat Jul 29 13:08:57 2006 + + +On Debian, two non-free True Type fonts (data/fonts/{test.ttf,testout.ttf}) +which are distributed within the Scorched 3D tarball are replaced by +FreeSansBoldOblique. This font is licensed under the GNU GPL and can also be +found in the ttf-dejavu package on Debian. + +The files config.log and config.status are also removed from the upstream +sources. diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/rules /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/rules --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/rules 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/rules 2007-01-09 10:06:01.000000000 +0900 @@ -9,8 +9,6 @@ DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -include /usr/share/dpatch/dpatch.make - CFLAGS = -Wall -g ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) @@ -22,10 +20,11 @@ config.status: dh_testdir - - # http://www.scorched3d.co.uk/phpBB2/viewtopic.php?p=22999 - CFLAGS="$(CFLAGS) -D_GNU_SOURCE -DHAVE_VASPRINTF" \ - sh autogen.sh \ + uudecode -o data/fonts/test.ttf debian/test.ttf.uu + uudecode -o data/fonts/testout.ttf debian/testout.ttf.uu + ./configure \ + CFLAGS="$(CFLAGS) -D_GNU_SOURCE -DHAVE_VASPRINTF" \ + LIBS="-lalut" \ --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ --prefix=/usr --bindir=\$${prefix}/games \ --datadir=\$${prefix}/share/games/scorched3d \ @@ -33,22 +32,21 @@ --mandir=\$${prefix}/share/man \ --infodir=\$${prefix}/share/info -build: patch-stamp build-stamp - -build-stamp: config.status +build: build-stamp +build-stamp: config.status dh_testdir - - $(MAKE) - + LDFLAGS="-lalut" \ + $(MAKE) touch build-stamp -clean: unpatch +clean: dh_testdir dh_testroot rm -f build-stamp -$(MAKE) distclean - -find . -name Makefile.in | xargs rm - dh_clean debian/scorched3d.png config.status aclocal.m4 configure + #-find . -name Makefile.in | xargs rm + dh_clean debian/scorched3d.png + rm -f data/fonts/test.ttf data/fonts/testout.ttf dh_clean install: build @@ -57,7 +55,6 @@ dh_clean -k dh_installdirs dh_iconcache - $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp mkdir -p debian/tmp/usr/share/bug/scorched3d cp debian/presubj debian/tmp/usr/share/bug/scorched3d/ @@ -69,10 +66,11 @@ mkdir -p debian/tmp/usr/share/pixmaps cp debian/scorched3d.xpm debian/tmp/usr/share/pixmaps/ rm -f \ - debian/tmp/usr/share/games/scorched3d/data/globalmods/apoc/authors.txt \ - debian/tmp/usr/share/games/scorched3d/data/globalmods/apoc/license.txt \ - debian/tmp/usr/share/games/scorched3d/data/globalmods/apoc/readme-nexus.txt \ - debian/tmp/usr/share/games/scorched3d/data/globalmods/apoc/readme.txt + debian/tmp/usr/share/games/scorched3d/data/globalmods/apoc/authors.txt \ + debian/tmp/usr/share/games/scorched3d/data/globalmods/apoc/license.txt \ + debian/tmp/usr/share/games/scorched3d/data/globalmods/apoc/readme-nexus.txt \ + debian/tmp/usr/share/games/scorched3d/data/globalmods/apoc/readme.txt \ + debian/tmp/usr/share/games/scorched3d/data/fonts/VERA-COPYRIGHT.TXT binary-indep: build install dh_testdir -i @@ -109,4 +107,4 @@ dh_builddeb -a binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install patch unpatch +.PHONY: build clean binary-indep binary-arch binary install diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/scorched3d-data.docs /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/scorched3d-data.docs --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/scorched3d-data.docs 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/scorched3d-data.docs 2007-01-09 10:06:01.000000000 +0900 @@ -1,4 +1,3 @@ data/globalmods/apoc/authors.txt data/globalmods/apoc/readme-nexus.txt data/globalmods/apoc/readme.txt - diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/scorched3d.desktop /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/scorched3d.desktop --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/scorched3d.desktop 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/scorched3d.desktop 2007-01-09 10:06:01.000000000 +0900 @@ -13,5 +13,5 @@ Comment[lt_LT]=Nuotaikingas 3D taktinis-artilerinis žaidimas, panaÅ¡us į Scorched Earth Comment[pl_PL]=Artyleryjska gra 3D podobna do Scorched Earth Comment[ro_RO]=Un joc 3D cu artilerie similar cu Scorched Earth -Categories=Application;Game;ArcadeGame; +Categories=Game;ArcadeGame; StartupNotify=true diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/scorched3d-doc.install /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/scorched3d-doc.install --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/scorched3d-doc.install 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/scorched3d-doc.install 2007-01-09 10:06:01.000000000 +0900 @@ -1 +1 @@ -usr/share/doc/scorched3d/documentation/html usr/share/doc/scorched3d/ +usr/share/doc/scorched3d/html usr/share/doc/scorched3d/ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/scorched3d.docs /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/scorched3d.docs --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/scorched3d.docs 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/scorched3d.docs 2007-01-09 10:06:01.000000000 +0900 @@ -1,2 +1,3 @@ AUTHORS TODO +debian/BUGS diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/scorched3d.install /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/scorched3d.install --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/scorched3d.install 2007-01-09 10:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/scorched3d.install 2007-01-09 10:06:01.000000000 +0900 @@ -3,4 +3,3 @@ usr/share/applications/scorched3d.desktop usr/share/icons/hicolor/48x48/apps/scorched3d.png usr/share/pixmaps/scorched3d.xpm - diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/testout.ttf.uu /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/testout.ttf.uu --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/testout.ttf.uu 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/testout.ttf.uu 2007-01-09 10:06:01.000000000 +0900 @@ -0,0 +1,2510 @@ +begin 644 testout.ttf +M``$````0`0``!```1D9434/51E```;B`````'$=$149K$6]J``&A"````+I' +M4$]3GY*ZN0`!IH```!'^1U-50OGRL1D``:'$```$O$]3+S+&Z'```!5\;&]C87;FQGX``!UH```*P&UA>'`% +MLP#W```!:````"!N86UEC@;"W@`!:M0```:!<&]S=$Z.O?<``7%8```OIP`! +M`````4``I"."R5\///4"&P/H`````,%ND)@`````P6Z0F/YA_K$&?`2D``,` +M"`````````````$```,Y_QX`6@7[_F']D09\`&0`%0````````````````5? +M``$```5?`%0`!P!M``<``@````$``0```$``+@`$``4``0'H`KP`!0```HH" +MNP```=\"B@*[```````Q`0(```(+!P0"`@()`@3$``K_4`!@>P```"`````` +M4&9%9``A``#__0,@_S@```,Y`.)@``"_G_<``````;L`&``````!70```2,` +M``%0`&@!W@"F`C8`$0(V`"P#BP!M`N$`20#L`*P!4`!*`57_X@&(`(@"5`!* +M`1T`%0%2`#X!'``[`1G_]0(V`$,"-@"C`C<`#P(V`#4"-P`K`C8`+`(V`$<" +M,P!U`C8`+@(V`#8!40!J`5(`1`)3`#\"5``N`E4`&`)L`)L#Y``Q`N,`"0+A +M`$$"WP!9`N``.P*G`#T";0`Y`QD`60+@`#$!&0`W`C8`+`+?`#8"<`!"`U$` +M+`+@`#$#&0!7`J<`.P,9`%H"X``^`J@`.P)K`'X"W@!E`J,`HP._`)$"IP`" +M`J,`I@)N``P!40`,`1D`A@%3_]P"4P!K`CO_L`%0`*H".``D`G``+`(V`$`" +M;@`_`C<`,@%/`%`"<``*`G``-`$9`#L!&__+`C8`+`$9`#L#C0`F`G``,`)O +M`$0"`&4"W@!E`J,`I@*H`#L" +M;P`T`C@`)`(X`"0".``D`C<`)`(X`"0".``D`XP`(`(V`$`"-P`R`C<`,@(W +M`#("-P`R`1H`/`$6`#P!%P`\`18`/`)O`$4"<``P`F\`1`)O`$0";P!$`F\` +M1`)O`$0"5``_`F__^P)N`$D";@!)`FX`20)N`$D"-@`5`G'__`(V`!4"XP`) +M`C@`)`+C``D".``D`N,`"0(X`"0"WP!9`C8`0`+?`%D"-@!``M\`60(V`$`" +MWP!9`C8`/P+@`#L"W@`Z`N``-P)L`#X"IP`]`C<`,@*G`#T"-P`R`J<`/0(W +M`#("IP`]`C<`,@*G`#T"-P`R`QD`60)P``H#&0!9`G``"@,9`%D"<``*`QD` +M60)P``H"X``Q`G``-`+C_^0"=/_I`14`-P$6`#P!%@`T`1<`.@$6`#`&4";@!)`MX`90)N`$D"W@!E`FX`20+>`&4";@!)`MX`90)M +M`$@"W@!E`FX`20._`)$#%P!D`J,`I@(V`!4"HP"F`FX`#`'^``<";@`,`?X` +M!P)N``P!_@`'`4\`4`)S_^(#V@`Q`N$`00)S_^("PO_P`G/_X@+H_]0#```* +M`CT`!@+@`#<#WP`Q`N;_ZP)T_\P"KO^^`QT`"@*Q_^\"`&4" +M;@!)`MX`90)N`$D"J``[`C<`+@)K`'X!40`U`N``,0)P`#0"XP`)`C@`)`*G +M`#T"-P`C`QD`5P)O`$0"HP"F`C8`%0([__4"<0`%`G$`)`)S_^("//_F`G`` +M!@)P__`"//_9`CS_XP))_]0"+0`J`DG_\@$=_ZP"/_@`F\`1`,=`"T!D/_1`8W_X@&,``P!C?_D`8W_]P'2__H!T`!5`H#_Q@)^ +M_\P"/?]X`57_J`$<_Y0!50`A`57_I0%4``("?O_J`C__J@,C_Z8"/?^B`?__ +MY@(Y__$"<`!*`G``2P)Q`%<";P!$`D<`+@))_^0"9P`M`CO_Y`'0`#8";P`( +M`G``2@%.`'\!30"?`4X`C@%+`/$!4`"J`4T`M0%.`.T!3@#1`58`$0%.`&L! +M3P!'``/_3O___Y0``?\B``'_#@`!_S$``/]8``'_D``!_RX``?]T``+^Z@`` +M_T(``_[\``#_>``'_R+_Y@''`-4`%0#^`"$!@`O +M`DH`10.@`"8"B@`5`C,`,@(S`#(";``3`>,`,`(Y``H"-P`N`1D`.P$7`#D! +M&__+`YS_SP)L__$";0`!`AH`+`*)`"T",@`5`HD`+0*,`#(">@`O`I4`,P)S +M_]D"`*5`%,"X``Q`HD`+`/S`"D#.``H +M!$(`*@.``"<#6`!8`C0`0`-8`%@"-`!``FL`?@',`%H"HP"F`J8`D0*E`%0" +MIP!.`J0``@(U```#;P!Y`N8`5`+T`)$":`!Q`JD`D@)I`'("J0"2`FD`<@-= +M_YP"-O^R`UW_G`(V_[(!&0`W!#3_^0,7__L"W0`V`AH`+`+@`#$"B0`M`JD` +MD@)I`'("XP`)`C8`)`+C``D"-0`D`_[_Y@.,`"`"I@`]`C,`,@-8`%,",P`R +M`U@`4P(S`#($-/_Y`Q?_^P*@`#("-P`J`J``,@(W`"H"X``Q`HD`+0+@`#$" +MB0`M`QD`5P)O`$0#&0!7`F\`1`,9`%<";P!$`N\`6`)*`$4"Q`!V`C(`%0+$ +M`'8",@`5`L0`=@(R`!4"J@!]`FD`8P.^`"D#60`G`%O_3P%J_V$!9/]B`63_ +M8@!;_V@`W_]E`-__90#4_V4`U/]E`%(`$0%E_V(`5O^]`%O_4`(1`",`RP`. +M`3/_NP0>`I8$.0!Q`5$`:@!2`!$"WO_1`I__R`)`_ZL"C@`@`K[_R`$S_]$! +MQ@`4`K[_R`*Q__4!)``&`EX`(@)E_\<"K``?`K__R0+5_\\!-/^E`;O_R`*Q +M__("H/^I`J<`$@*G_\@">``5`K+_SP*T_YP":``B`U[_]`,+_[8".O_*`C4` +M``(L````\@`T`>0`+@)U`%D"D@!6`J8`5P-7`%X"?P!:`H(`6`-+`*$#LP!F +M`HH`<0*"`%D#R@!;`FD`50)J`&D#4P!E`H(`6@)M`$@#-0!7`G,`<`-(`%X" +M^`"7`W8`F@)^`%D#6`!A`GX`60*E`%L";@!&`RX`?@)@`%0"I`!G`J,`5P)L +M`&H#B``#`H$`5`'8`#0"#@`Y`D(```+2``;__P)Z`(@"U@`R`?@` +M-0'F__\#D@`+`?P`.`'[`#D"UP`V`?4`,P(``"`"U0`T`@$`10+7``\"K``R +M`M(`.0'3__@"PP`(`=K_^@'T`"\!Z0`5`I\`$@'[`#K_^`(!__0!_0`R`J'__`*A__P"H?_\`J'__`*A +M__P"H?_\`J'__`*A__P#%?]]`Q7_?0,5_WT#%?]]`Q7_?0,5_WT#%?]]`Q7_ +M?0))_]0"2?_4`DG_U`))_]0"2?_4`DC_U`+8_\8"V/_&`MW^]P+<_P0"W?[W +M`MS^^@)8__4"6/_U`EC_]0)7__4"5O_U`E;_]0)7__4"5O_U`OK_M0+Z_[4" +M__[G`O[^]`+__N<"__[K`P#^KP,`_J\!9/_N`6/_[@%C_^X!8?_N`6'_[@%@ +M_^X!8/_N`6#_[@$Q_[8!,/^M`37^[`$U_O@!-?[L`37^[P$W_K,!-_ZS`G+_ +MY`)R_^0"`6C_Z`%G__\! +M8`#,`6``<@%@`(H!:/_M`6?_[P%G__X!9@`=`6C_[P%;`.@!9P`#`6<``P%G +M__4!9@!0`6@`'@0U_[\"-P`%`EW__0/Y`+\#(O^=`QX`!P-Q`,P#@`!`WK_[0-Y`$,#>__O`WD`+@-Y`!8#>O_Z`W@`/`-T`,P!&0`W +M`C8`-P-3`#<#PP`W`J,`HP/"`*,$WP"C!?L`HP/#`#<"IP`"`\8``@3C``(" +M<`!"`M\`60+@`#L#40`L`1D`.P(V`#L#4P`[`U(`.P(T`',#40!S!&X` +M__0#7O_T`U[_]`+>_]$"WO_1`M[_T0*?_\@"0/^K`HX`(`*^_\@!>O_5`,![0'U`AL"'P(I`B\",P)4`ED"7`)A`FH" +M=0*%`HD"C@*0`I("E@*:`IP"H0+'`LL"W0,$`P@##`,/`Q$#%`-U`WH#?@.* +M`XP#H0/.!%\$Q`3(!,P$]03Y!;D%Q`7J!?00P!#U'Q4?'1]%'TT?5Q]9'UL? +M71]]'[0?Q!_3']L?Z1_O'_X@%2`:(!X@(B`F(#`@.B!$($D@<2".(*H@K""U +M(2(A)R%_(9LAJ"'*(@(B!B(3(A4B&B)@(F4ERB9O]D'VOO;#]MS[!OLV^SS[ +M/OM!^T3[3__]__\````@`*`!C@&5`9(!Y@'P +M`?@"'@(F`BX",@)0`E8"6P)>`F4";0)X`H<"C`*0`I("E`*8`IP"G@+&`LD" +MV`,``P8#"@,/`Q$#$P-T`WH#?@.$`XP#C@.C!``$C`3'!,L$T`3X!;`%NP70 +M!?`0H!#0'P`?&!\@'T@?4!]9'UL?71]?'X`?MA_&']8?W1_M'_8@$B`8(!P@ +M("`F(#`@.2!$($<@<"!T(*H@K""U(2(A)B%3(9`AGB'$(@(B!B(1(A4B&B)@ +M(F0ERB9I]CGVOO;#]MS[`/L=^SC[/OM`^T/[1O_]____X__"_\'_P/^__[W_ +MO/^[_[K_N?^W_ZS_I/^@_Y[_G/^:_YC_DO^._XS__UW_.?\X_RS_"O\)_PC_!O\%_P3^I?ZA_I[^F?Z8_I?^ +MEOYE_CG^-_XU_C+^,/UZ_7G];OUI\K[RK^2EY*/DH>2?Y)WDG.2;Y)KDF>27 +MY);DE>23Y)+DC^2)Y';D=.1SY'+D;^1FY%[D5>13Y"WD*^00Y`_D!^.;XYCC +M;>-=XUOC0.,)XP;B_.+[XO?BLN*OWTO>K0[D#F@.9`Y,"BD*$PH2"A$*$`H/ +M"@X%80`!```````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````&`@H``````0```0`````````` +M``````````$``@```````@`"```````````````````````````````````` +M``````$```````,`!``%``8`!P`(``D`"@`+``P`#0`.``\`$``1`!(`$P`4 +M`!4`%@`7`!@`&0`:`!L`'``=`!X`'P`@`"$`(@`C`"0`)0`F`"<`*``I`"H` +M*P`L`"T`+@`O`#``,0`R`#,`-``U`#8`-P`X`#D`.@`[`#P`/0`^`#\`0`!! +M`$(`0P!$`$4`1@!'`$@`20!*`$L`3`!-`$X`3P!0`%$`4@!3`%0`50!6`%<` +M6`!9`%H`6P!<`%T`7@!?`&``80```(8`AP")`(L`DP"8`)X`HP"B`*0`I@"E +M`*<`J0"K`*H`K`"M`*\`K@"P`+$`LP"U`+0`M@"X`+<`O`"[`+T`O@22`'(` +M9`!E`&D$E`!X`*$`<`!K!+T`=@!J!1(`B`":````02.!)$$E@"$ +M`(P`@P"-`(H`CP"0`)$`C@"5`)8```"4`)P`G0";`/,!_P((`'$"!`(%`@8` +M>@()`@<"`````"$">0```"P`+``L`"P`1@!@`)``Y@$T`8@!F@&T`=(!\`(( +M`AX"+`(Z`D@"?@*2`L("_`,<`U(#E`.N`_0$-`1(!&8$>@20!*0$W@5*!60% +MG`7(!>X&"@8B!EP&>`:(!JX&R@;#QP/1`]< +M#[H/SA`>$'00D!"B$*H1`A$0$3815A%^$;P1RA'^$B`2+A)4$F@2EA*V$N@3 +M)!.`$[83PA/.$]H3YA/R$_X4)A1R%'X4BA26%*(4KA2Z%,84TA4"%0X5&A4F +M%3(5/A5*%605JA6V%<(5SA7:%>86$A9.%EH69A9R%GX6BA:6%P`74!=<%V@7 +M=!>`%XP7F!>D%[`7]!@`&`P8&!@D&#`8/!AJ&+`8O!C(&-08X!CL&1H9)AE( +M&:`9T!HV&F@:R!K\&S0;0!M,&U@;9!N<&]8&AY8'F0>PI^"H$*C0J8BIN*GHJPBL(*SXK +M++XLXBT&+20M8"VF+:XMYBX.+D(N3"Z& +M+KXNQB[Z+P@O%B\D+V(OH"_$+_@P.C!V,(PPNC#@,1HQ0#%F,:0QYC(F,G(R +MIC+F,O0S`C,*,T(S6-Z(WKC>Z-\8WTC?>-^HW]C@".`XX&CAT.,8X[#DF.3(Y/CE*.58Y +M8CEN.7HYACF2.9XYJ#GH.?(Z-#H^.H`ZP#K..M@ZX#KH.S`[5CNJ.[([V#P. +M/%(\)!\$(T +M0G)"A$*60IY"ID*N0LI"V$+^0R!#1D-:0V1#;D-X0X)#C$.60Z!#JD.T0[Y# +MR$/<0^9$`$0,1!I$*$1(1%!$7D1J1'9$D$2<1*A$M$3`1,Q$V$3D109%1D58 +M17A%DD6N13R9/ +M9$^63\!/S$_83^1/^%``4"Q0-%!$4&Q0=%"<4-Q0]%$,4111-%$\45A18%%V +M47Y1AE&.4:)1]E(24BQ22E)F4HA2LE+@4P93.E.`4ZQ3M%0(5#Q43E1V5'Y4 +MH%365.Y5'%4V5595Y: +M+%I`6E1:<%J,6KQ:Z%L66SY;D%O:6_I<&%P^7&)5%Z67JY>QE[>7O1?%%\R7U1?92IE-F5R9:!EK&6X9<1ET&7<9>AE +M]&8`9@QF&&8D9C!F/&9(9EIF?F:89K9FPF;49NQF^&<*9QAG,&<^9TQG6F=H +M9W9GA&>29YIGJ&?29_IH(F@V:%YH;&B`:*!HXFCP:1)I/FEP:91IOFG,:>IJ +M)&I&:GQJQ&KD:P1K,&M0:XYKTFOH:_YL%&PD;#YL=FRT;0)M7FV4;=YN,FZ" +M;K!N[&],;Y9OVG`@<&APKG#X<2)QBG'>=FQVQG<"=U!WI'?F>`YX3'BN>/)Y/'ET>;AY^'I.>H1ZZGM` +M>Z9[Y'PT?&Y\OGS\?4)]='W.?AI^5'["?Q9_B'^\?_:`4H"F@+*`OH#*@-:` +MXH#N@/J!!H$2@1Z!*H$V@4*!3H%:@6:!@JJ"MH+"@LZ"VH+F@O*" +M_H,*@Q:#(H,N@SJ#1H-2@UZ#:H-V@X*#CH.:@Z:#LH.^@\J#UH/B@^Z#^H0& +MA!*$'H0JA#:$0H1.A%J$9H1RA'Z$BH26A**$KH2ZA,:$TH3>A.J$]H4"A0Z% +M&H4FA3*%/H5*A5:%8H5NA7J%AH62A9Z%JH6VA<*%SH7:A>:%\H7^A@J&%H8B +MABZ&.H9&AE*&7H9JAG:&@H:.AIJ&IH:RAKZ&RH;6AN*&[H;ZAP:'$H<>ARJ' +M-H="ATZ'6H=FAW*'?H>*AY:'HH>NA[J'QH?2A]Z'ZH?VB`*(#H@:B":(,H@^ +MB$J(5HABB&Z(>HB&B)*(GHBJB+:(PHC.B-J(Y(C^B0B)%(D@B2R).(E$B5") +M7(EHB72)@(F,B9B)I(FPB;R)R(G4B>")[(GXB@2*$(HD.Z0_I$0D2"1,I%"D5219)%TD821D)&8 +MD:21M)'`DEGR6L);BEQR74I=NEZ27K)>TE[R7Q)?,E]27W)?DE^R8")@@ +MF"B8-)AHF)28I)BTF,"8S)C@F0"9')D\F6B9?)FDF=29_)HBFD*:AIJ:FN"; +M))MPF[J;ZIP@G%":)ZHGN2?,I]8 +MGXJ?L)_TH#Z@5*""H+2A`J$@H58``@`8_^\!=P*K``,`!P`NL0$`+SRR!P0` +M[3*Q!@7(0+HW/Z[`47<_9^9F0`````"`*8!SP).`N``!0`+```!#P$C +M)S'B(B'AX@``@`1_\T"I`+,`!L` +M'P``%R,W(S)AH,-!J8S@P^+#\```4`;?_9`YL"V``#``\` +M&P`G`#,```$S`2,3,A85%`8C(B8U-#87(@85%!8S,C8U-"8!,A85%`8C(B8U +M-#87(@85%!8S,C8U-"8#`%']O5":1EJ/741:D$0J02P@*T$M`9A&6I!<1%J/ +M12I!+"`K02T"U_T#`O5605N,5T%9C6=!*AXG0"H>*/[P5D%;C%=!68UG02H= +M*$`J'B@```,`2?_6`N`"Y@`A`"L`-@```10.`P<7/@$W,PX!!QQT@/A(:5AH="'<) +M12YCJ"=)63UB;F9W.(Y>2%G^W39)-R<:.S0<5!T9'B8-`FHF1BHP"P^0&#(``````$`2O\@`=0"\0`,```! +M!@(5%!87(R8U-!(W`=.'A!HB:%&)E@+PN?[:J4B.<;J8G@$SK``!_^'_(`%N +M`O$`#P```10.`@UUI6VQ'&R5I5`&=/G*AP6I[MN%U +M28QSN0`````!`(@!C@'G`N(`#@``$R3%&,ELT`A\F2"9Z>B9))6,M8V,M```!`$K_Z0)A`>8`"P```0E-,?4XN4W^G8%<8)`L740````(`*__N`F4"UP`*``T```$'(PTY>=`:1`S,J0%0Q+D8DA)D!DQW^R3A$1E9C`2H:2F12.5Y.%!H3!!XE:E`N +M,3V6OP$2E(0``P`N_]8">@+G`!<`(P`O```!%`<>`144!@<&(R(F +M-30W+@$U-#8S,A8'(@85%!8S,C8U-"8#(@85%!8S,C8U-"8">HJDE'Z5R7'3I-4DQ*#A.-F8]53@K/E`T`D5T31X_+S5O*%9E5IU6'#4A8XY; +M&T0R(RM&,B(J_MA;0R0Q6$0H+P`"`#;_U@)Q`N<`(``L```!%`X$(R(F-30W +M,P85%!8S,C8W#@$C(B8U-#8S,A8C(@85%!8S,C8U-"8"<0T<.5!_351I!8T! +M+R0W3AHL0BU18+.!7G+J.5$M)S]8-`(/(%^&?W!%6T@-%@8'&2!5=28<8U6, +MQ79N4"HQ:TPN-`````(`:O_S`7T"%0`#``<``"4'(S<3!R,W`2DAGB'R(9XA +MC)F9`8F9F0`"`$3_0`%^`AH`"0`-```W,P<.`0(9&05EX,.A%K`B*9F0`````!`#__Z0*$`><`!@```0<-`0:'=W6)OW\``@`N`"L"?0&E``,`!P```0<`!@``%S`A44#@4'#@$'(SX$-"8C +M(@8'(SX$$P9[O(("FD3B4NL``"``G_[0+0`NP`!P`*```E +M(0R@C+R95F/ZHHP$(2CDN,*PE=DH_7[LJ`NL?-#4>;U$?02LO9B52`OW^ +MT$(J(2"M_K9+,TC&``$`6?_5`RL"^0`>```W-#X!,S(6%10'(S0C(@X$%10S +M,C8W,PX!(R(F6G/.?GJ7!)2+-ULX*14)FTMK%Y7D0`"`#O_[0,:`NP`"@`5```7$R$R%A44!PX!(R!SMP28ND1SZ#QH">`I$&6$J'3!TD9DPS +M534?!ZX<`8K^8EX^-J*)6[Q(F'MC!AT[0'8K@3A1:R4[,Q>$``$`,?_M`S\" +M[``+```!(0,C$S,#(1,S`R,"2/[029ZCGCT!+CV?HYX!2?ZE`OW^X@$>_0,` +M`````0`W_^T!>`+L``,```$#(Q,!>*.>HP+K_0,"_0`````!`"S_U@*0`NP` +M%0```3,#!@<&(R(F-30_`3,'!A44%C,R-P'RGGD:3TMQ76D($)T1!"<>5!0" +M[/W*?#0P5TTD($Q1$A(9'UD``````0`V_^T#7P+L``L``"4'(Q,S`P$S`1,C +M`P$)-9VCG4\MN/U`OW^L`%0_K'^4@%)```!`$+_[0)L`NP`!0`` +M`0,A!R$3`8.&`6X<_?2C`NO]AH,"_0`!`"S_[0.Y`NP`#```!2,+`2,3,Q,! +M,P,C$P'QG@>+E:/D%0$+YJ.5BA("BOUV`OW]M`),_0,"B@`````!`#'_[0-# +M`NP`"0```0,C"P$C$S,;`0-#HYO*=96CGLES`NO]`P(E_=L"_?WC`AT````` +M`@!7_]4#3P+Y`!``)````3(6%10&!PX!(R(F-30V-S83,CX$-30F(R(.!!44 +M%@(>CZ%$/4.>98RC1CV`1C9;."H4"EI.-ULZ*A8*70+XGHY>MDA02J&)6KM) +MFOUD*45-4CL55V(I0TU2/!569`````(`.__M`OP"[``.`!D```$R'@(5%`8' +M!BL!`R,;`3(^`C4T)BL!!P(A/ELN%#,K3GG%.9ZC\2D\'@TT*J(P`NLA.#D? +M/7PM5?[O`OW^EQPP+Q@E+N8````"`%K_M@-2`OD`$@`D```E%P%(NBD!78FYGAE9D%$T``@`^ +M_^T#(P+L`!\`*0``)30V-30K`0,C$R$R'@(5%`X#!Q85%`85%!<'(R83-"L! +M!S,R/@("`BA9M4">HP&,,TPF$1TC.A\74B`3!Z<(A'.Q*KXJ/!X,&227#SK^ +MT0+](#,R&"M,+RP1#!L[(Z82%0\<&@(62L@;*B<```$`.__5`N8"^0`S```3 +M-#8S,A85%``144#@,C(BX"-30W,P85%!8S,C8U-"8O +M`2X!B[B:?8L(DP*+1U,T2W)15!,R3H)2470[&@29`D]'4F(W1V==5`'>>*)? +M51LG$P97.S,=(`\7$%`])DM4/RHG0$,E$AP3!2TR0#4E)0\5$TL```$`?O_M +M`P$"[``'```!`R,3(S,"VJ>;@9%/$A2 +M#@+L_?E^0TYL7"8V`?+]^1P3*B]"1@````$`H__M`S("[``&```%(P,S$P$S +M`8N%8Y\O`2*?$@+]_<`"0``````!`)'_[016`NP`#```!2,+`2,#,P,3,P,3 +M,P+?C@3YC3:G`^NF`^RG$@)'_;D"_?W#`CW]P0(_``$``O_M`S8"[``+```! +M$R,+`2,!`S,7-S,!]Z2\7L>X`4:8NU/`N`%T_GH!!?[[`8$!?/CX`````0"F +M_^T#-0+L``@```$#(Q,#,QL!,P'A=A;_SP+P:?T#:0// +M```!`(;_U@$A`M@``P``$S,3(X9.34\"U_T``````?_<_R`!J@+Q``<`````````(`)/_:`E`"-``J`#8` +M``$R'@(5%`<#!A44%P*S@9C""49D!>+Q4\+E(",V5+#"$T-%I- +M6VPP-VES*$%!(DNF.&,``@`__]8"S`+L`!``'```!3<&(R(F-30W/@$S,A<3 +M,PL!(@85%!8S,C8U-"8!E@Q'9U)C4BEY0&@D.I.CK4)D,2I#9#$2.E)X8XAW +M.T13`1#]`@'+DU\Y0I-C-D$``````@`R_]H"70(T`!L`(0```3(6%10'(085 +M%!8S,C8W,PX!(R(F-30^!!5V!X8AE!7%-)+.%L?``````!`%#_[0':`NP` +M%````0)-X`NN#@\;]R0(W +M`````O_*_PX!>`+Q``,`$0```0 +M61T2&045&!D%A@+QA(3'_6=%/@9T!!49`G@``````0`L_^T"F@+L``L```$# +M-S,'$R,G#P$C$P%B6>JG](BM4T$%L((-% +M9C0J1&8R`B_\Y`$H7'5ACW<[0ET8E&,W091D-T```0`T__(!\@(S``X``!,S +M!SX!,S(7!R8C(@<#(ZV3&"5@,PD)(!D4@AQ`DP(I;SH_`94$@?[2```!`"[_ +MV@);`C0`+0``$S0V,S(6%10'(S8U-"8C(@85%!8?`185%`8C(BX"-30W,Q8S +M,C8U-"8O`2X!=9AY8W$%C@,Q*RHR'"AE@)^%0F$O%@20!&LP/1XQ4T9"`5U= +M>5%'$1'QD0%`L>)EQE=Q\T,1D+%4@A&1(5$!H7/P`````!`%W_UP&F +M`K0`&````0'AX*4BE^ +M,1\S'3L>`2-+3ALL&1TGF!HL&AT```#__P``````````$`(``P````(`$O\S +M`5,"+P`%``D``!!!44!R,T)B<#/@$W,PX!#P$C-RX$-30^!#\!,P<. +M`Q44%A +M3)YD.F0R:#9.&D5K$C_[H`6`_-S^]O3\W/P%R +M_O4!"_Z.``(`,O\@`58"\0`#``<```$#(Q,+`2,3`5975% +M(0=3&H\X0`,I`4,%"P8-"B`=(BPA+0%.5%1'"PD(!@LQ+24R1PD&`0,#!`<( +M#0<:%1EV*"0+$KT&"`UO&`0"`P$&!!\6'RH``````@!\`#T"1@'L``8`#0`` +M/P(/`1<'/P(/`1<'?!G1&GY6&5$9T1I^5AG7>)Q[75YWF7B<>UU>=P`!`%D` +M3@*&`8``!0``$R$#(S(5.%\G +M96/Y:&4I$`$,!6L%!BAM9+EQD&]DNG&1GA98!B6V +M`=!=92X3(15=#@X(%A'Z(2T3$'$!;K2*>^*(M(I[XHA+<+AC<))PN&1PD0`! +M`(X"@`';`M0``P```07D-`7EY")S8V)2@V-@*V7D%#75^" +M7D,V)R4W-BG@```?_Z_Q$" +MH`(O`"```!_J(B#AXC.S$!8_YG)PX8!%H3 +M&2$A&2@````!`&K_*@*[`O``$0``$S0^`C,A!R,#(Q,C`R,3+@%K)D-K/@$] +M$"Z]9[U!O6=F3UP!NS%I7CU-_(<#>?R'`>$$7P````$`BP"S`1(!'0`#```! +M!R,W`1$7;A*AD5&"`&0@<@'#0]'S4?&Q,0$PX````` +M`0#,`1$!O`+0``<```$C-S(W,P,C`3QP#GHF0E]C`D%`3_Y!``````,`4@#Z +M`>$"Y0`#``\`&P```09>9M[75YW``````0`O?_9!!T"W@`'``L`%@`9```!(S6@,:$3`48Q6Z$>1R.F(E +MDP)(0$_^0@'$_/W#36%A3`$1_O"NK@`````#`+W_V00O`MX`!P`+`"0```$C +M-S(W,P,C`3,!(P$4#@(',P8P)E6OV> +M6@-!0%!8$,$1_KX02%%-,C9&"6`-84U#20)(0$_^0@'$_/T!;C-6,3<45#I8 +M+RLY)C%>4E"&= +M(#8?+EL\,656+E,T+A4+("@U.5\#MA`C +M`@(`#@"]$@(`+```__\`-__M`=P#M1`C`?\`#P"\$@(`+```__\`-__M`>L# +MI1`C`&H`#@"]$@(`+`````(`-__M`QH"[``.`!T``!,C-S,3(3(6%10'#@$C +M(1,',S(V-SX!-30K`0HQC417(1LDD(TIMA(! +M5%0!0WV)P:-00P%FXS$[+I$^CL!4__\`,?_M`T,#IQ`C`@@`_`"\$@(`,0`` +M__\`5__5`T\#MA`C`@,!(0"]$@(`,@``__\`5__5`T\#M!`C`@(!#0"[$@(` +M,@``__\`5__5`T\#MA`C`?\!&0"]$@(`,@``__\`5__5`T\#IQ`C`@@!&@"\ +M$@(`,@``__\`5__5`T\#I1`C`&H!&`"]$@(`,@````$`6@`'`E(!QP`+```! +M%P<7!R<')S$],JD)F.B8-!P&5 +M+RED,6A(7%J[2)E67S!E25I9N$F9`B7^F#=O9XDCE#Q49TL;)",!:3L`__\` +M9?_6`SL#MA`C`@,!"P"]$@(`.```__\`9?_6`SL#MA`C`@(`Y`"]$@(`.``` +M__\`9?_6`SL#M1`C`?\`_@"\$@(`.```__\`9?_6`SL#I1`C`&H`_`"]$@(` +M.```__\`IO_M`S4#MA`C`@(`S`"]$@(`/`````(`.__M`N("[``0`!D```$R +M'@(5%`8'!BL!!R,3,P<3,C8U-"8K`0<""#]:+!0R*E%WQ""=HYT;5$Y"-2J@ +M,@)M(C@Y'CU\+563`OU^_I=9.B4NY@`````!`#3_U@*=`NP`)P``)3X!-30K +M`3=A`5/DTS*U@2 +M>)-]$I=O7W5&.C$U#RL_:T,8+QE3`5I(9V0_,B`D5/W,`DI28E5&/&(5#$DX +M&$5=2S8(=0```/__`"3_V@)0`OL0(@(#8`(2`@!$`````/__`"3_V@)8`OH0 +M(@("=P$2`@!$`````/__`"3_V@)0`O@0(@'_=O\2`@!$`````/__`"3_V@)K +M`MX0(@((;?(2`@!$`````/__`"3_V@)5`N80(@!J>/X2`@!$`````/__`"3_ +MV@)0`PL0(@(&>0$2`@!$```````#`"#_V@.U`C0`,P!"`$D```$R%A44!R$& +M%106,S(V-S,.`2,B)PX!(R(F-30^`S\!/@,U-",B!@+RMH(0(S=EH[2!\6 +M*#,D'E1C:3LN1T`0)CHR+`D*`0D-'Q@M)"M:*D`S,_ZC*`<$`@$,"#(E-46M +M'"TS?`````$`0/\0`F(".0`Z```E#@(K`@ +M-R$<$A`3#EP(*BPX(A%*IC=D94L,(30T6DU;;"\X`/__`#+_V@)=`OH0(@(# +M?P$2`@!(`````/__`#+_V@)=`OL0(@("7`(2`@!(`````/__`#+_V@)=`OD0 +M(@'_:P`2`@!(`````/__`#+_V@)=`N80(@!J*TD\*&TM8696P)EM?`&M0BPG/R06 +M"$`H2V.I'5!M6#\<0BTO+2L5'#0;&B\M*TR49:7=$",""`"2__(2`@!1``#__P!$_]H"B`+Z$","`P"@``$2`@!2 +M``#__P!$_]H"B`+Z$","`@"#``$2`@!2``#__P!$_]H"B`+Y$",!_P"5```2 +M`@!2``#__P!$_]H"B`+>$",""`"*__(2`@!2``#__P!$_]H"B`+F$",`:@"0 +M__X2`@!2`````P`___0";`':``,`#P`;```!!R$W%S(6%10&(R(F-30V$S(6 +M%10&(R(F-30V`FL:_>\:XQ<=,1X8'3%J&!TQ(!8=,0$G?GZP'Q<=,!X6'C$! +M8Q\7'3`>%AXQ```#__K_RP+7`CP`%``?`"H```$4!B,B)P`A44!P,&%107!R,F-#<&(R(F +M-30^`S\!/@,U-",B!@7(\B/AYH"CJ9):^"2\XYZ +M80XGBBM(4%@^%J=/28>7D0->GIX```(`0/_5`F(#"0`?`",```$R%A44!R,N +M`2,B!P85%#,R-C7(\B/AYH"$'%+4D!L4."2 +M\XYZ80XGBBM(4%@^%J=/28>7D0+$FF9F`````@`__]4";0,)`!\`)@```3(6 +M%10'(RX!(R('!A44,S(V-S,.`2,B+@(U-#8W-C<4M20&Q0`BYE2PPA-#-935ML+SAIHQC417(1LDD(TIMA(!5%0!0WV)P:-0 +M0P%FXS$[+I$^CL!4``(`/O_6`OL"[``8`"0```$W,P5V%Y8AE!6U-*+.)L?`&H5%3__P`]_^T# +M#`/;$","!`#V`.40`@`H``#__P`R_]H"70,5$"("!'L>$`(`2````````@`] +M_^D##`.M``L`#P```0#`OV#K8,">GY^```#`#+_U0)=`OD`&P`A`"4```$R%A44!R$& +M%106,S(V-S,.`2,B)C4T/@07-",B!S,3!R,W`7YC>Q/^@P,W+29`#Y$KF&!B +M>PH:,45MC%IJ(^!SMP28ND1SZ#QH">`I$&6$J'3!TD9DPS534? +M!ZXN'+V`%@A=/`LC,@1&`9'^8E\^-Z*)7+Q' +MF'MC!AT[0'8K@3A1:R4[,QB#_B5E/EP$,`8T)`````,`"O\+`J`#<0`@`"P` +M-P``%R(F-30W,P<4%C,R-C\!#@$C(B8U-#8W-C,R%S0#--+B1Q5DV@-VYA5_VV96T"L)=A +M-C^-8#M%LF4^700Q!C,D````__\`,?_M`S\#WQ`C`?\!`0#F$`(`*P``__\` +M-/_M`I0#WQ`C`?\`Q@#F$`(`2P````+_X__M`Q,"[``3`!<```$S!R,#(Q,A +M`R,3(S9-Y_A+^Z!(")?W)`C>_5%0`__\`-__M`>,#VQ`C`@0` +M%0#E$`(`+```__\`//_R`;@#%1`B`@3J'A`"`/,```````'__?[^`7H"\@`2 +M```!`PX!%10S,C<'!B,B)C4T-R,3`7FC+T,P'",++QP[1(M0HP+Q_0,:5B(O +M##<)*R=630+]`````O_W_OX!:`+R`!$`%0```0,&%10S,C<'!B,B)C0V-R,3 +M-P6DQ$B,,*Q<[0CY*37F]'),<`BO]R4I)+0LW"2Y222P"-\:#@P`` +M```"`#;_Z0&-`ZT``P`'```!`R,3-P`+L$`(` +M+```__\`.__M`7("[!`"`$P``/__`"S_U@*0`]\0(P'_`)``YA`"`"T````" +M_\C_"P''`WD`#0`4```!`PX!(R(G-Q8S,C8W&P$S%R,G!R,!2XT/7ED=$AD% +M%1@9!892`%2FF5E``````(`-OZS`U\"\P`+ +M`!8``"4'(Q,S`P$S`1,C"P$S!PX!!S<^`3_@RR3>9,!8\?^__[)T-`".``````"`$+_ +MZ`)L`\``!0`)```!`R$'(1,E!R,W`8.&`6X<_?2C`1"F2FL"YOV&@P+]V9V= +M`````@`X_^@!Y0/```,`!P```0,C$R4'(S`%@E," +M'=F=G0````(`,/_M`H0#"``6`!H``!,S!SX!,S(6%10'`R,3-C4T(R(&!P,C +M`0G@```@`Q_K,#0P+S``D`%````0,C"P$C$S,;`0$S!PX!!S<^`3R7/^:H`6"%P\"B,R!$8"\_T"`B;]V@+^_>,"'?S#9#Y=!#`' +M,R0``@`P_K<"A`([`!8`(0``$S,'/@$S,A85%`<#(Q,V-30C(@8'`R,7,P<. +M`0R7-F_H0!22,03TI" +M_L$``0`Q_^T#0P+L``D```$#(PL!(Q,S&P$#0Z.;RG65HY[)CEZV +M2%!*H8E:NTF:_60I14U2.Q578BE#35(\%59D`T145`````,`1/_6`H@"Y0`+ +M`!D`'0``-S0V,S(6%10&(R(F-S(^`C4T)B,B!A44%@$'(3=$P)QL?,2<:'S^ +M,DDD$3DP2&$`(`4@````0` +M5__1`UP#P``0`"0`*``L```!,A85%`8'#@$C(B8U-#8W-A,R/@0U-"8C(@X$ +M%106`0CEZV2$]+H8E;NDF:_60I14U2.Q578BE#35(\%59D`VF:FIJ: +M````!`!"_]4"U@,)``L`&0`=`"$``##/B\GFG]HV4B`'B4W +MA*V#`3H[5&=1'51>30%\30```P`P_]H#\0(T`"$`+P`V```!,A85%`%:GK!G#YC'$W^ES)))!$Y,$AG.0)<,"IG +M(@(S=EH[2!\7*#(D'E1C*B),<&&?Z"@C2_X=.E5*&C=$D&0X0O(=+3)\``,` +M/O_H`R,#P``?`"D`+0``)30V-30K`0,C$R$R'@(5%`X#!Q85%`85%!<'(R83 +M-"L!!S,R/@(3!R,W`@(H6;5`GJ,!C#-,)A$=(SH?%U(@$P>G"(1SL2J^*CP> +M#">F26L4(Y@/.O[1`OT@,S(8*TPO+!$,&SLDIA$5#QP:`A9*R!LJ)@&YG9T` +M`````@`T_^T!_P,(``X`$@``$S,'/@$S,A<')B,B!P,C`0`````P`^_K,#(P+S`!\`*0`T +M```E-#8U-"L!`R,3(3(>`A44#@,'%A44!A44%PG"(1SL2J^*CP>#/Z=@!8( +M7#P*(S($1B`DEQ`Z_M`"_B$R,ADK2R\M$`P;.R2F$18.'1L"%DK(&BHG_:-D +M/ET$,`&1`4"QXG6V5W'S,R&0L41R$9$A4/&Q<_`=R=G?__`#O_ +MU0+F`]\0(P'_`.(`YA`"`#8``/__`"[_V@);`QD0(@'_>Q\0`@!6```````! +M`#O_"P+F`OX`2```$S0V,S(6%10'(S8U-",B!A44%A\!'@$5%`X##P$V,S(6 +M%10&(R(G-Q8S,C8U-"8C(@6-Q!8X#,2LJ,APH98";@AL7%AXD5D<]3R!`)AXJ&147 +M(3D1.D$O!)`$:S`]'C%31D(!8EQZ44<1%P\%&1X?&1`4"QXG6V1W*@8@'#,] +M'C8@'!(0$PY:$2%`*0P42"$9$A40&A<_`````@`[_]$"Y@/```8`.@```2,G +M,Q6-Q!8X# +M,2LJ,QTH9(&?A4-@+Q8$D`1K,#T>,E-%0@%;<4I10&U/`5A<>E%'$1)UME=Q\S,AD+%$>B.D<`F4H.# +MPIIE90`"`%G_TP).`U,`&``C```!!R,#!A44,S(W!P8C(B8U-#<3(S,"VJ>;@9%/$A2#J$2_L42 +M`NC]^7Y#3FQ;)C$`(`6`````,`9?_0`SL#T@`6 +M`"(`+@```3,#!@<&(R(F-30W$S,#!A44%C,R-C<3,A85%`8C(B8U-#87(@85 +M%!8S,C8U-"8"G9UN&U5CD'>,"VJ>;@9%/$A2#@XA*T@N("M')!4C%!`5(10" +MYOWZ?D1-;%LF-@'R_?H=$RHO0D<"\2H@+48J(2U%-!\4#A,?%`X3``````,` +M2?_5`I\#&0`6`"(`+@``!2,W#@$C(B8U-#<3,P,&%10S,C8W$S,G,A85%`8C +M(B8U-#87(@85%!8S,C8U-"8")9,0*EH[150&5)-)!U`T2PY'D\@@*T```!,P,&!P8C(B8U-#<3,P,&%106,S(V-Q,' +M(S```%(S<.`2,B +M)C4T-Q,S`P85%#,R-C<3,R<'(S`8K^J24.3TM` +M`4X``/__`)'_[016`]\0(P'_`74`YA`"`#H``/__`&3_\@.%`QD0(P'_`.\` +M'Q`"`%H``/__`*;_[0,U`]\0(P'_`.@`YA`"`#P``/__`!7_$@*=`QD0(@'_ +M>A\0`@!<```````#`*;_Z0,U`Z\`"``,`!````$#(Q,#,QL!,R4'(S1P!S:9):P+F +M@_X)@X,!]X/9G9T``@`'_^T"30,(``D`#0```0F26L")'?^MW=W`4EWY)Z>``(`#/_I`N\#K0`)``T` +M``$'`2$'(3# +M/YIE90```@`'_^T"30,(``D`$````0`A44#@('%A44!@<&(R$3(R(&%10S +M!R(U-#8S`EY,06.\*O)&/F"K)/<_6BH0'CH<&5M`,DY__J>"1C@P6"##F7MQ +M3C!(Q@%*0RE!K0$P(#`/__`$'_[0+^ +M`NP0`@)V`````O_A_]8"0P+L``X`(P```2(.`A44%C,R/@$U-"87%`X"(R(G +M!R,3(0I_[5@44Y+U@@Q)IZ<3Q4:4T=E/X)`GISE'7B1ED"8"P?+)V?=)X`____ +MZO_M`LD"[!"#`G8";P``P````!LU0````/___\O_U@)<`NP0@P%%`:(``,`` +M```;-4````#___^]_^T"G0+L$(,`*`(_``#`````&S5```````(`"O_5`P," +M^0`'`"D``!,5%!8S,C8W!30W(30V-30F(R('(SX$,S(>`A44!@<&(R(N`ZM6 +M35"%(_W%'`([`E9.>U&E#R9'4WI#5'H^&V50=Z1#:D$I$`$B#E9B:ULA3U4$ +M#P-687,<-DLU)S9<8C9PV$9J)CQ03P`````!_^[_U0*@`OD`+```-S0V.P$W +M(R(U-#8S,A44!S,V-30N`B,B!A44%PX#%106,S(V-R,&(R(FA5U,:QA0?E5% +MB@&3!A@V:DN9NRHI.1@)C(.1O2"9(Z-`2*D[37Y3.$!E#`YI_F\R2T8E%WD6,T$! +MBVD^;6<2=Q!N*P`!``G_U0-F`P``*P```2(.`Q44%C,R-CP`````!_^#_W0.E`NP`)@```38U-",B!@<#(Q,S`S8S,A85%`\!!A44 +M%C,R-C<3,P,&(R(F-30W`8@%2#%."TB3HY,\46D^6`<<"24M.3D00I%*,O)T +M8`L!21<.1#\Q_JP"_O[G7#]*'1^"*1TD(D=+`3?^J/!/2B(U```"_^;_[0&> +M`NP``P`'```3(0\Z*?OA:U222>3APY*1"`(C'U\9;YYX`CTO0@QOGA)&*R0L*%1&/A$:`E?]RPT&&AUO`A#]RP@. +M-#LT`A```?^3_PX#$`+Q`!,``!,S&P$S`R,+`0X!(R(G-Q8S,C8WHY_`<)VC +MG<.%#DM$)3$9#@(8&`0"\?WW`@G]`@(/_8]&/09U!!08``````$`"_\D`E\" +M.``5```3,PD +MHTPX"R:%>(Y635"%(QP"5DY2AR$"^&I-`````P`$_]4#@`,/``@`&``I```!#@,'(S(W`3X!,S(6%10' +M#@$C(B8U-`$B#@,5%!8S,C8W-C4T)@-_`R8U*Q2;F@G])R;ZI8N<#"3YJ(N< +M`;8_93PG#U=-7Y,9"54##R5`*AD(L/Y7L>&?B3DVJN*AA3,!0SI39$\=5V&1 +M=3`H5V```````P`$_]D"WP)9``@`&``H```!#@,'(S(W!S(6%10'#@$C(B8U +M-#<^`1 +M$@8U,#I@$@8T`E@E0"H9!Z\F;F5F*1=B\I5F'^];'@45U53QP@_/@# +M"`X-/B\T1@DO.JGCH88X``````(`,?_M`ZL"[``(`"$```$R/@$U-"L!!R4T +M-C,A,A85%`<.`2L!`R,3(R(&%10S!R(";SE(%V>2,OY6F7L!EV5H"!B;:L0Z +MG8%&."]8(<,!@C,_)4_F5W2>5E,<*'6*_N\"8"P?+)T``O_4_Q("Y0)$`!`` +M*0```2(.`A44%C,R/@,U-"87#@$C(B<#(Q,S!S8S,A0+L +M`"$```$'(P,&%!8S,C<'!B,B-30W$R,W,S<^`3,R%P`5*2!1($@Y*1"4R&@P-%Q@%"P(:8O[+$2`,`V<,7144`5QB4$4] +M!78$%!@O`````0!(_PX"RP+Q`!0``!<3(S;PT[2EM2`YO_1I#6T=#&Q\!B_Z4&@E#/3(!8___`!+_[P-S`QH0"P(_`P\"[L````$` +M5?_M`VT"[``6```!-"8C(@<+`2,3`S,3-S8S,A85%`+^KLR&7DQ$6T0V``````'_\?\1`PD" +M1``A```!,AX"%10/`2@`S!("`#4` +M`/__`#3_\@'T`OL0(P(5`8<``A("`%4``/__`#[_[0,C!`(0(P(6`=T`QQ(" +M`#4``/__`#3_\@(,`S@0(P(6`7O__A("`%4``/__`&7_U@,[`\40(P(5`DT` +MS!("`#@``/__`$G_V@*?`OL0(P(5`=X``A("`%@``/__`&7_U@,[!`(0(P(6 +M`D(`QQ("`#@``/__`$G_V@*?`S@0(P(6`=+__A("`%@````"`#O^L@+F`P`` +M,P`^```3-#8S,A85%``144#@,C(BX"-30W,P85%!8S +M,C8U-"8O`2X!$S,'#@$'-SX!-R.+N)I]BPB3`HM'4S1+6-Q!8X#,2LJ,APH98"?A4)A+Q8$D`1K,#T> +M,5-&0E>`%@A5!($1'QD0%`L>)EQD>!\T,1D+%4@A +M&1(5$!H7/_Z#93Y>B.D<`F4<_?Z!%@EQ`C`@$`VP"G$@(`/```__\`%?\2`IT"LA`B`@%LW1("`%P````` +M____]/_U`A\"3A`+`$0"1`(HP````@`%_]H":P(T`!``*P``-S(^`S4T)B,B +M#@(5%!8G-#X!,S(7-S,#!A44%P*"!(&Q1LBQTV.2D:4U4Q33E23#`<`3Q#)3TG%0+QD-"BL(?16D@79F +M`Y@&5393#!$T3C%47P&Z95$?'#0^5$(P%!4T0/[M6;9_87!&/09U!"7]MF-O +M4C,,$$)`,TTN)&T``/__``K_$@*@`CD0`@!*`````0`E_Q,"?0(O`!4```4C +M$P8C(B8U-#<3,P,&%10S,C8W$S,!TI,_3VY+4`=4DTX$335/"TN3[0$H6T=# +M'1T!B_Z4$1)#/3(!8P````'_Z/_M`C$"[``@```!-"8C(@8'`R,3/@$S,A<' +M)B,B!@\!-C,R%A44!P,C$S8!EB(H,4T,1Y.&#TI$)R\8#@P9%P093VH^6`=0 +MDTD&`6\9*3XQ_JP">T4]!78%%!EU6S])'A[^A`%:'0````'___\.`D@"\0`J +M```!-"8C(@8'`R,3/@$S,A<')B,B!@\!-C,R%A44!P,.`2,B)S<6,S(V-Q,V +M`:TB*#%-"DF3A@]+1"4Q&0X+&!D$&4]J/U<&9@]*120R&0X,&!@$6`8!=1DI +M/S'^K`)[1CT&=004&'9_N(?0SQ#`BJ._N2.C@$<``````'_ZO\.`3T"\0`0```' +M$S,#!A44,S(W!P8C(B8U-`^XD[$#)`X-&3$G.#-O`V#\P`T%&@1U!B`144#@4C(B8U +M-#,QT4!A\<'#@5EOZU7Y.CDRH!_QNM,D,'$QTR/UXX8&T&CP(G +M%R(H'PP?+`D'8X_^/P+^QW:C$$D\#R@)($`L`4`.@`CK````!`"#_$P.@`B\`)P``!2,3#@$C(B8G!B,B)C4T-Q,S +M`P85%!8S,C8W$S,#!A44%C,R-C<3,P+UDT`N3C`T20M19TA-!5:340(C'S!# +M"DF340(B("]#"TB4[0$K*R4M)U1#/10<`9'^A@T&&1X\-`%4_H8-!AD>/#0! +M5````0`#_Q(#@0(Y`#```!,S!SX!,S(7-C,R%A44!P,.`2,B)S<6,S(V-Q,V +M-30F(R(&!P,C$S8U-"8C(@8'`R-\D@\N3S!N&E!H2$P%:@]*124P&0T-&!<$ +M7P(C'S!!"TF34`(B("]!#$B3`B]'*R545$(]%!S^#$4]!78%%!D!O`8-&1T[ +M-/ZL`7HD=.S3^K`````'_G/\2`F,".0`?```3,P3`;H)CE@R +M/P9?61N!(X!6RDY$QFN5<9BA`Y913T%=@4MYP,D(RD9%@XW`0\2*AM=A%%' +M#1L&##LC'`P."#4<```!_Z?_#@&E`O$`%0```0,.`2,B)S<6,S(V-Q,V,S(7 +M!R8C(@$RE@]+1"4Q&0X+&!D$DQV2*BD7$Q1_Z8`P1,,U$,#4-;1T0:'RV.T-#0T(X.$1)# +M.3O___^I``T!S@)%$`L`60)"`C?``/___Z4`#0+%`D40"P!:`RH"-\``____ +MH0`)`BD#)Q`+`%P"/@(XP````?_E_Q,"*@(O`!@```$'`2$'!A44,S(W!P8C +M(B8U-#\!(3`Q44#P$C-S8U-"X#-30W +M/@$S,AX#%10'(S8U-"8!;3E1&"0B&00"?`"/__P`N__("<@(J +M$`("EP````+_X__H`AP",0`9`#(``#)R(:%6R,&S,Z*!X!5E,Q +M23Q53"\:04!L-R'__P`M__("H0(J$`("H@``____X_](`E("1Q`+`$X"?0(T +MP`#__P`V``T!O@)%$(,"F`!Y`C=`````Y,K```````(`"/\/`M("QP`0`"X` +M`#;48]!G4$%!C\ZP$H7!0L5P`!`$K_[0)=`OL`*0`` +M`2(&!R,^`S,R%A44#@,'#@$/`3,'(P,`)_3TI4=3<59E4N4S0N%0LA +M*#028E]?8A(W4RTL(CDE*3,``````0!_`EX!S0+Y``8```$S%R,G!R,!$7%+ +M4D!L4`+YFV9F`````0"?`EX![0+Y``8```$C)S,7-S,!6W%+4D!L4`)>FV9F +M``#__P".`H`!VP+4$`(`<0``__\`\0);`>$"^1`"`'8``/__`*H"6P%8`OD0 +M`@!#`````0"U`E\!S@+V``\```$S#@$C(B8U-# +M`?T"^0`#``<```$'(SF26L!2:9):P+YFYN;F____TT"6__Z`OD0 +M`P!#_J(`````____DP);`(0"^1`#`';^H@````#___\A`EX`<`+Y$`,!__ZB +M`````/___PT":@"@`NP0`P((_J(`````____,`*``'X"U!`#`''^H@````#_ +M__]7`E\`<0+V$`,"!/ZB`````/___X\":@`?`N@0`P(%_J(`````____+0)J +M`(`"Z!`#`&K^H@````#___]S`DP`-0,*$`,"!OZB`````/___ND"7@"?`OD0 +M`P()_J(`````____00)>`)`"^1`#`@#^H@```````O[[`EL`;0+Y``,`!P`` +M`S,7(R4S%R,_?2]"_M!]+T("^9Z>G@``____=P*C`)$#.A`+`@0!1@69P``` +M`?\A`D/_M@+H``P```,S!PX!(S +M0(\G.`,D'S0R&T!QA"<9KBS^>!HL*18I'\T````!_\?_TP+"`OD`!0```2$# +M(Q,A`IW^::69R`(Q`FO]:0,D```"_W;_T@*%`OD`!``,```%)P4!,PL!)B`Q44`@<& +M(R(N`S4T/@,W-@$4'@(S,CX%-S0N`B,B#@0E(3HI3U$[)Y^+8VTH35,^ +M*!$O28!13O[W(#8Y(39=/C$=$P`+7Z5 +MR,4M!P$"`52S+`'T_@P!^OX&`R3]W%$#!`,X`CL```'_J__3`OH"^0`)```% +M(PL!(Q,S&P$S`C&.WX.5R)#>A),L`A'][P,D_>\"$0````/_N__3`M@"^0`# +M``<`"P```2$W(0,A-R$#(3L5'P^'&]=AK8B.#D>06I#,!@+%R4P+AA,>$(L +M#@,/-5E=,G_[37(U65TR?OI/`1<6!3(^`C4T)BL!!P+)$"93.4MNITR7 +MR`$V-C]1%RK^JCA,)`\V3:`1\!`2$"(OUY(`$\CA\"3B/^?@H,!&K^ +MS0'#+($!+OM\C!81";O^W0`!`#O_TP+I`OD`!P```2,#(Q,C-R$"Q?JEEZ7X +M(P*)`FO]:0*7C0```0`L_],#00+Y``T```D!`R,3`S,7%A<^`C<#0?Y'5)=4 +MQ;AA'P$K87T>`OC^+?ZO`5$!T^Y7`C)KB2$``__D_],"Y0+]`!0`&P`B```! +M'@$5%`X!#P$C-RX!-30^`C\!,P,^`34T)BENY=1.,$VU] +M-F*:6A:)E6%P0B^,9VI!,`*E!X=@6;*#"$U-"']@0HIY4P57_:86D%$X1`P7 +MCE`Z10L````!_W3_TP-%`OD`%P```3\!,P$3(P,G-S0W!PX!!P$C`0,S%QX! +M`8\)_J[^A,B\@0<+`0H%$0'^^+H!H+.V70(8`?,(_?Z#_ED!&!$+`0$,!1,! +M_N\!HP&!S`4N``'__O_1`T,"_@`D```3%!8[`1,S`S,R-C<3-P,.!B,S!R,W +M,R(F-30W$Q<#!IR#^ +MK!\>.U(]+`D8)D`H/W),+'D@_K8A@$(K5'"9451Z/QP!X7?20(1_"B%`3'9" +M&#$R)1A":'P[BCN`A$IH/HJ#:4`S6%X`____Q/_3`90#I1`C`&K_M@"]$`(" +M,```__\`+/_3`T$#I1`C`&H`I`"]$`(".P``____^__E`G<#)Q`C`AT`R0`Y +M$`("1P``____T__G`B@#*A`C`AT`BP`\$`("2P``____]/\5`E$#+1`B`AUI +M/Q`"`DT`````____[?_A`6P#*A`B`AWH/!`"`D\`````____X__*`DX#NQ`B +M`AX[91`"`EL```````+_^__E`G<"-P`/`"8``#2(``O^$_R," +M/@+S`!P`.````10.`R,B)P"S`=(C8<%@4&60P!"A="6D@S(]L"Q18;/BHV(AA7.S!Z*P$E_O$G +M.2T1&RI[(C$G#R`<&"(J)`S^L#\````!`#O_+`*9`CT`%```"0$'(S<#)BEI&:$%=*Q)J)#(_+A%A)#4_,1):,C9S:U`-;FMV4`@D*44F:,TD'B([.``` +M```!_]/_YP(H`C<`+@``-S(W,PX#(R(U-#3!D@ +M(QL)8$L]4"VX^'S(E1$,I`4Y,#!T$!T`J&QH9;@,,'!8*+0````'_X_\; +M`D0"]P`C```G-#X"-R,W(0<.`Q0>!A44!R<^`34T)B,B+@(<'D*(6[LA`;8; +M;JI=+3$S4Q45'1)L>BXC$!882%H]FR)EAY4\?&4TAG]I3"T,"@0($B<;1YTO +M/#@3"P<2)4T``?_T_Q4"40)``!\``!,R%A""4-W)E"1<@8"*@@_`C\M%`P2(ALN +M+!H?2?W/*`(%)A-B(A$0KP$P+N(SP])`XOD*63(B9A6"Z%K9!DV#$O +MRS[^SUT>*$$O(4H``?_M_^$`^0(P`!0``#<4.P$V-Q<&(R(F-30W$S,#!@<& +M%8H.!1`W$5LP,DH(;I1J`@$!?`X"&(4A,3H@'@&D_FX*!0,"`````?_5_^0" +M;`(M``L```4C`P\!(Q,S!S!1<3 +M%Q8!P0@T!%(M)"4&!AX#`N2?`6P!`AL>$#<4-#H>&RH=%@T,!`0U!P)K%70C +M'2@6YPL8_J8"$PTR(PD"?A(,$24:.!XC_G`:!`````'_P_\K`H8",@`G```W +M%!8S,CX!-S8U-C<3,P,&'0$B/0$?`08C(B<&(R(N`B<'(Q,S`P;!*"X?-!$/ +M!`L'5X]F"0H=$4,?1@M`5!4D%1,%.I')D5@$OB`V&Q03!`(1'@%2_G8E#@$# +M`0U0)2\Y!PD,!-\#!?ZN#P`````!`"+_Z0)@`BP`!@```3,!(P,S$P'(F/Z* +M>DZ:*P(L_;T"0_Z>`````?_/_Q0".P+P`"\``#"K84&1,1 +M(S\@`;L@R"9.?G$>CC10*!-&7"0X39\O?Q0+%!\K)Q:G60TT'"$Z&BGI: +M)D9T(S(K$"0L`````O_C_^<"0P(W`!@`*````10.!2,B+@(U-#X$,S(>`@$R +M/@,U)B,B#@(5%!8"0@H9)SY-;#\H244H#!XZ3WY,*4E%*OZB+DDH&P@%8352 +M*!,L`7<7/4Y*2C`A44!R,V-30C(@X" +M%106%QX!%`\!)S8W-",N`B+E4V20)$$"9*,RPT)AM,-DQ"%C$^`PDP9CU_,SY,!`8* +M&2(?7R47/%9-3A@B```"_^K_S`+!`CH`&@`J```G-#X%,S(6,R$'(Q85%`X# +M(R(N`A,4XS)%1J:2AM*W`^.48!V2Q(2R@\@W)+Q\<``````?]J_O\"Q`)'`",` +M``4&*P$B+P$#(P$#+@$C!B,W-C,V,S@``__\`/?_M`PP#I1`C`&H`Y0"]$@(" +M>@````$`0?]$`Q0"\``D```!,A85%`<##@0'#@$G!S2A4_50]&`R\9N%6>A\4;`B0;P1<"`UE" +M$!/^K1(C(Q\;!Q$$`P%B`D@!30H%)0H#_G(">X*":@``__\`.?_M`O8#Q1`C +M`@(`Y@#,$@(">`````$`#?_5`MH"^0`B```!+@$C(@8'(0:)-&/@Y`.*.JA +M=Y,$`>A`2F)8@QH84E=02H2:E(,[/KK8=V$<'```__\`.__5`N8"^1("`#8` +M`/__`#?_[0%X`NP2`@`L`````P`T_^D![@.O``,`!P`+```!`R,3-PHU,;=!P!-QQS&P+F_0,"_`A44#@,C(1,C!P(C-S,R/@(W$R$#$S(V-30G +M(R +M00$N09\ZQ%EA_L@Y2!=FDS(!(HFK`4;^N@+]_LT!,_[O8?[X,T$D3N8````! +M`"__[0,#`NP`%P```3(6%10'`R,3-C4T+P$C`R,3(S<0)Z_0,"_0#__P`)_^T"T`+L$@(`)`````(`0?_M`OX"[``1`!D` +M``$R'@,5%`8'!B,A$R$'(0<3,C8U-"L!!P'L-UC`AH=_H0E +M=TQ!8[PJ`;L9*#8R'#IT(S<"_8.M_K9.,$C&`/__`$'_[0,+`NP2`@`E```` +M`0`Y_^T"]@+L``4``!>HP(:'?Z$$@+]@P`"_[?_5`-J`N\`#@`4 +M```W(P,S-R$',Q,C$R$##@$W-C\!,P-;:SF)(0)6(8DY>8O]VSLB8Z9(*BOI +M:V/^\9Z>`0\"C/[GHM$29\C(_@D`__\`/?_M`PP"[!("`"@````!__C_[03# +M`NP`$0``"0$C`0,S&P$S`P$S"0$C"P$C`A7^H+P!R_JLPSZ>/@$_K/YI`2.\ +MX$">`1G^U0&-`7#^VP$E_ML!)?Z0_G,!*_[5``$`,O_5`MT"^0`N```E,CX! +M-30K`3!LR +M2S8H7%8^;B`G3(:K:&,:&`\':0```0`Q_^T#0P+L``D``!;P&>HJ.><1("_?WW`@G]`P(1`````0`Q_^T#0P+L``D``!;P&>HJ.><1("_?WW`@G]`P(1``#__P`V_^T#7P+L$@(`+@````'_ +MS?_M`O("[``1```!(P<.!",W,S(V-Q,A`R,"..DJ#2`Z16M`'P$U3",[`B2B +MG0)HR$!J?%0XF**J`1G]`___`"S_[0.Y`NP2`@`P`````0`Q_^T#/P+L``L` +M``$A`R,3,P,A$S,#(P)$_M!%GJ.>00$N09^CG@$T_KH"_?[-`3/]`P```/__ +M`%?_U0-/`OD2`@`R`````0`Q_^T#/P+L``<```$A`R,3(0,C`H7^T(:>HP)K +MHYX":/V&`OW]`P```/__`#O_[0+\`NP2`@`S``#__P!9_]4#*P+Y$@(`)@`` +M__\`?O_M`P$"[!("`#<````!`';_[0-3`NP`!P``!2,W`S,3`3,!+;:JFJQG +M`0*V$NT"$/Z6`6H``P`!_^T#?P+L`!T`*P`Z```!%`X#*P$'(S`CL!&P$R/@,U-"X#*P$#`WX3-E2072,5GA4C_O(1 +M-%.481T5GA4=)CM5."G^!SU;,R`*&S(K'B).@$) +M_OHIX!#0(W+0\'`6+^I@%:_0,``0`G_^T$Q`+L``L` +M``4A$S,#(1,S`R$3,P0@_`BCG88!$(:>AP$0AYT2`OW]A@)Z_88">@`````! +M`"?_5`3,`N\`#P``!2$3,P,A$S,#(1,S`S,#(P0K^_VBGH8!$(:=A@$0AIZ+ +MDSF)#@+]_88">OV&`GK]=/[Q``````(`?/_M`VH"[``,`!8```$4!B,A$R.L578?[**SX@#F>3,`+K_0,"_?XZ +MBZP"_?[O8/[W'3`Q&D[F`````@`R_^T"MP+L``H`%````10&(R$3,P,S,A8! +M,CX"-30K`0<"MJB)_JZBGCK%5V'^RBL^(`YGDS`!)8NL`OW^[V#^]QTP,1I. +MY@````$`6/_5`R4"^0`B```3/@$S,A85%`<.`2,B)C4T-S,&%106,S(V-R$W +M(34T)B,B!Y0CQ)*%D@XHZ)]_CP29`DE"4GP?_LX<`3)22X(_`>AVFI2%.SZY +MUWML'1H3"#U"B@```@`F_]4$M@+Y`!X`+P``!2(N`C4T-R,#(Q,S +M`S,^!#,R'@,5%`8'!@,B#@,5%!8S,C8W-C4T)@+F5'D^&P.Y1IZCG4&\#25* +M6XE.1&I`*1!G3G<7/V0\)P]63E^3&0I6*C9=7S4;'?ZY`O[^S"%&7T@R)3I1 +M3RMUUD-J`IPZ4V9/'%9BD78M*U9A```"``+_[0,H`NP`#0`7```3-#8S(0,C +M$R,!(P$N`0$B#@(5%#L!-Z2FBP%2HYTZ(_[!O`$\25(!-BL^(`YGDS`!MXFK +M_0,!$?[O`1('80$`'3`Q&D[F``#__P`D_]H"4`(T$@(`1`````(`//_5`K\# +M'0`F`#8```$4#@,C(B8U-#<2-SX!-SX!/P(.`@<.`0<.`0\!-C,R'@(!,CX" +M-30F(R(.`A44%@)L#B]'@E-J;!%#K2-_+Q8B!05M!@D:$S&N,QDT#@Y&:"`[ +M.B+^PRY'(A$Q*RY((A$Q`50>4W);05EI/$T!.V`3%`,#'`L-`1T@+`P?#2$1 +M0!@74Q0N6OZ^.E-'&#=`.E1'&38_``````,`+O_R`G("*@`/`!@`(```)10& +M(R$3(3(6%10.`@<6)S(V-30F*P$'%S(U-"8K`0<"3(-I_LYY`2Y91!8J%A-# +MQBTM(21Z%4UC(2B`&K)0<`(X2S`?,B40"BU>&B<5$&;J4A8/=P```0`P__(" +M%P(J``4```$'(P,C$P(7&MI@DWD"*G?^/P(X`````O_7_W("[P(M``X`%``` +M)3,'(S0(J +M`!$``"4'(P$#,Q,&.#E104"1\B```!`"W_\@*A`BH`"0`` +M$S,#`3,#(Q,!(Z:330$2HWF33?[NHP(J_I9--_NZC`P5!53TP$A<)'!^=_I@!:/W)`6C^F`````$`+/_R`G\" +M*@`*```!-S,!$R,G!R,3,P$/U)O^Z<>_@RR3>9,!8\?^__[)T-`".``````! +M_]3_\@)H`BH`$0``$R$#(Q,C!PX!(S)-?IPLMD7@>$Q\9$Q0, +M"0(J_<@!P3;1NHX2*2A',RT``0`K__("X`(J``P``"4G`R,3,QL!,P,C$P),YCD#`_O("./[X`0C]R`$.P``!`"W_\@*A`BH`"P``$S,' +M,S9,XU3B3`BK&QOW(^?D``/__`$3_V@*(`C02`@!2 +M`````0`M__("H0(J``<``!,A`R,3(P,CI@'[>9-@U6"3`BK]R`'!_C\`____ +M^_\2`HT".1("`%,``/__`$#_V@)B`C02`@!&`````0!:__("(@(J``<```$' +M(P,C$R,W`B(9CF"38(X9`BIW_C\!P7<```$`%?\2`ID"+P`2```!,P$.`2,B +M)S<6,S(V-S4W`S,3`@&7_H@D65H7'!<5$29!"`%6HB0"+_UA03T$;@8W*`,! +M`D[^8P````,`,?\.`^T"YP`@`#``0````10.`B,B)P,C$P8C(B8U-#8W/@$S +M,A<3,P,V,S(>`@$R/@(U-"8C(@X"%106`2(.`A44%C,R-C9,ENWP#`BK^[`$4_)-?O%^37[]?DPX"./X_`<'^/P'! +M```!`"3_<@/N`BT`#P``!2$3,P,S$S,#,Q,S`S,'(P-D_,%XDU^\7Y-?OU^3 +M8GXR=`H"-_X_`<'^/P'!_C/N`````@!5__("R@(J``T`%@``)10.`B,A$R,W +M(09<6,F)#_LYYDRYYR/-B(B>`&0(J_<@"./Z6'T%$*@(XVNI2%@]W +M``(`+__R`DX"*@`)`!$``"44!B,A$S,',S(',C4T)BL!!P).@FO^SGF3+GG( +M]&,B)X$9P%QR`CC:ZE(6#W<````!`$7_V@)B`C0`'P```10&(R(F-30W,QX! +M,S(V-R,W,S4T)B,B!@=P9A()V0(WYW%_;OZ,*#I&-Q0Y0#I5 +M21DX0P````(`%?_R`J("*@`-`!4``!,T-C,A`R,W(P" +M@VL!,GF3+B[%O-4S-?1B(2B`&0%<6G3]R-K:Y0]%BU(6#W<``/__`#+_V@)= +M`OL0(@(#8`(2`@*:`````/__`#+_V@)=`MP0(@!J;?,2`@*:```````!`!/_ +M/`)<`O``)P```3(5%`\!#@$/`18S,CX!/P$V-30N`2,B!S:%S$',C\E:E$9LQBS#9,-21A)?I-&"DD!K$03 +M$MMCA`)!`DZ<5^D>'S(_%5MW;CT];OVM`4LL0P#__P`P__("-P+[$"("`E8" +M$@("F````````0`*_]H"*@(T`!\``#T<5]5$Q8W +M,$0V=PPU.C`V9G9J``#__P`N_]H"6P(T$@(`5@``__\`.__M`7("[!("`$P` +M```#`#G_[0'$`O@``P`'``L```$#(Q,W!R,W(0)-X3AMT'`$V&W,; +M`B3]R0(WU'Y^?GX`____RO\.`7@"\1("`$T````"_\[_\@-D`BH`&P`C```! +M,A85%`8C(1,C!PX$!R,W,CX#/P$A!QIPH.&S$[ +M63<1'A),QU3&3,JU8;19S/"P!04T\23A:>`5?F54-.`2U45F!5A[`"0E1G`````@`O__("-0(J``@`&@`` +M-P#:O[I +M64T03PV3W73,9,A%SU(^"DR0DDZ/TK%.9ZC +M`5)D:`&[*S-/Y@<^+TPQAC-!+CDC_N\"_58``````O_8_Q(";`(Y`!$`)@`` +M`2(.`A44%C,R-R`@%Y+D```7 +M(Q,A!R$',S(5%`\!#@,K`3>HP(:'?Z$(9?;"#`)&2]1 +M.FT7.C`D!C('*#.6#@+]@YRO(2SB*3@T&7`>(.LD#1\?``````$`,/]K`A<" +M+0`:```!!S,R%A44#P$&*P$W,C8_`38U-"L!!R,3(0`A0& +M(R(O`18S,C4T)B`3,R-30K`3,PHA*C0K +M,K<$D"$E'GQ+81I=52HA9!&.%91R76@D'RF.'CM4)2L*-PPJ&T<>$(,4%`@= +M'@=0+W1-%1U-6V9.13%,%!\P7GL``````0`V_U0#70+O``X``"4S`R,W(P$# +M(Q,S`P$S`0)Z=#J((3/^^D"=HYT^`6FZ_C%C_O&>`2O^U0+]_ML!)?Z/``$` +M+/]R`G\"+0`.```E,P9,JU)O^Z6#N +MA-#0`C?'Q_[_``````$`-O_M`UT"[``3```E)P,C$S,#/P$S!S7@4[ +MF_P*MK\G!5ZA(=`".,-!(T"9,"`E1+Q_[__LG0T`&\5"@``````0!X_^T$ +M"`+L``P``!<3(S1O[019ZCGD$!+D&?8_[QG@%&_KH"_?[,`30```$` +M+/]R`K("+0`/```E,PHP+O_N&O(2SB*3@T&7`>(.LD#1\?_J8">OV&`OT` +M`0`G_VL#0'[`3!-/AP>=8M='B=+'`@^Q`'`_D`" +M-P`!`%C_U0,E`OD`&P```3(6%10'(RX!(R(&%106,S(V-S,.`2,B)C4T``(: +M>)($E@(Y3'";3$A):A>:)-&/@Y`!!0+X>&`0*$!*V9916%!*A)J4@]P!+P`` +M`0!`_]H"8`(T`!L```$B#@(5%#,R-C)($E@(Y3'";3$A):A>:(;DC +M.U0D*PDW#"H:1R`.D';<`2]W81`H0$K8EU!94$IYEP`!`$#_`P)@`CD`+@`` +M!1X#%10&(R(O`18S,C4T)B`GJ#@P`!`%K_<@(B`BT`"P`` +M)3,'(S+^K@%2``$`5/_M`S<" +M[``0```E(S+^K@%2_AYM```!``+_5`,S`N\`#P``)3,#(S`0G^]P&!`7S\_/Z) +M``````$``/]R`I8"+0`/```E,P`L?5@[H2PL`$=`1JLK/[F``$`>?]4`\\"[P`/```!`R$3,P,S`R,W(1,C +M-R$'`=YK`2^&GHN3.8DB_8R&QAH")!H";/X)`GK]=/[QG@)Z@X,``````0!4 +M_W("_@(M``\```$#,Q,S`S,'(S +M)5G.!R:3*`4A*F([DV#NA*V7'R"TNA@/&1D!$P`!`)+_[0,(`NP`%P```37":8A+.+K)`TW``$`(;2Z&`\G"%UA +M`13]R*YD`````0"2_^T#"`+L`!(```$S,A44#P$C-S8U-"8K`0,C$S,!E9C; +M"3"=,08F,Y9)GZ.=`<+34=) +M:AB9)-&/@Y`.,U$N&7=7.3\!518<'2L4"#=B.M,!Z$!)24`!$(%I:#DU-5%8 +M4$F#FY6#13L"(C0Z'6*,.C0/"2(<)C<+34=):AB9(;@![4!*2D#]\#M4)2L*-@LJ&D8A#H]W +M13L"(C0Z'6*,.C,0"2(<)3@K#T-\E(%I:#DT-E%84$EXF``"_['_`P)<`CD` +M"0!)```3,S8U,C4T(R(&$Q85%`8C(B\!%C,R-30F)RX!-30W+@$U-#8S,A85 +M%` +M,PH@*C4K-TE/!T-(4#DG*@(X`0X2%!P-!21(*J)A87(0_H0),RE3+9$EC0%< +M!0$%83;^4#=8)2L*-PPJ&DD@#F=3*R,)4BE`728A!`T6$Q@E'`LM8WIK8D,O +M%BT1*BQ(2V````$`-__M`7@"[``#```!`R,3`7BCGJ,"Z_T#`OT``````O_X +M_^@$PP/(``\`(0```3,.`2,B)C4T-S,5%!8S,@D!(P$#,QL!,P,!,PD!(PL! +M(P-3+`Q?/C(^!RPI)5#^WOZ@O`'+^JS#/IX^`3^L_FD!([S@0)X#R$)5/3$1 +M&`D<(/V1_M0!C0%Q_ML!)?[;`27^C_YS`2S^U`````+_^O_M`WD#`P`/`"$` +M``$S#@$C(B8U-#;9.9VCG3X!:;K^,7;;"!\(&3!0.FT7.C`D!B`'*/S^]@+]_ML! +M)?Z0KR$LCBDX-!EP'Q^7)`X>(`````$`+/]K`G\"+0`;```!,A85%`\!!BL! +M-S(V/P$V-30K`0"1(&0$XJE'F3*M2;_ND! +M+DL^'!YUBUT>)TL<"#[$`C?'Q_\``````0`Q_T,#/P+P`!4```43(0,C$S,# +M(1,S`PX#*P$W,S(V`?Y&_M!%GJ.>00$N09^C"1DO43IM%SHP)`X!1OZZ`OW^ +MS0$S_0,I.#09`0^N +MKR$LXNLD#AX@`5O]`P```0!R_W("@0(M`!8``"4W(R(U-#\!,P<&%106.P$3 +M,P,C!R,W`8L/6LX()I,H!B(J8CN3>9X<=#-@0Y$`("F@```````@!3 +M_]4#)0+Y`!<`'@``!2(F-30W(38U-"8C(@8'(SX!,S(6%10``1X!,S(V-P%C +M?),.`A@,34=*:A>9(]&/@Y#^^_[4`SA,/VTE*H%I:#DT-E%84$J$FI2#W/[1 +M`1!`2DI```(`,O_:`ED"-``7`"$``#6L: +M4#!'(Q`]-9DADP42,TA_4'9_-3,_RZF#B029`E04/S%9?AHJ*!,C*7@;,DLV +M*%Q6/FX@)TR&JVAC&A@/!VD```$`*O_:`E<"-``F```E,C4T*P$W,S(V-30F +M(R('(SX!,S(6%10&!Q85%`8C(C4T-S,5%!8!(WM*81IB+B%!A-6F9-1BU/%1XP8X.5%!0)'R(`__\`,?_M`T,# +MF1`C`'$`_0#$$`("?0``__\`+?_R`J$"TA`C`'$`D?_^$`("G0``__\`,?_M +M`T,#PQ`C`&H!`@#:$`("?0``__\`+?_R`J$"_!`C`&H`E@`4$`("G0``__\` +M5__5`T\#PQ`C`&H!'P#:$`("@P``__\`1/_:`H@"_!`C`&H`EP`4$`("HP`` +M``,`5__5`U`"^0`4`!T`)@``!2(N`C4T-C`Q44!@<&$S8U-"8C(@8' +M!2$&%106,S(V`7Y4>3X;8E-YHD1J0"D09%%YC`)535:*'P&0_ET#5DU7C2HX +M7&$U:]I):B8Z4D\K<=5&:@&_#1A68GAE5!@55F)]``,`1/_:`HD"-``+`!,` +M&P``-C0^`3,R%A44!B,B`34T)B,B!@<7(144%C,R-D15I&AN=L.?;0$X-3`T +M5A?T_OHW+S-62\RO;6]GG>4!51(Z04U`5!`X0TP```#__P!7_]4#4`/#$",` +M:@$?`-H0`@,:``#__P!$_]H"B0+\$",`:@"7`!00`@,;``#__P!8_]4#)0/# +M$",`:@$0`-H0`@*2``#__P!%_]H"90+\$",`:@"'`!00`@*R``#__P!V_^T# +M4P.9$",`<0#A`,00`@*(``#__P`5_Q("F0+2$"(`<6_^$`("J`````#__P!V +M_^T#4P/#$",`:@#F`-H0`@*(``#__P`5_Q("F0+\$"(`:G44$`("J`````#_ +M_P!V_^T#4P/?$",""0#\`.80`@*(``#__P`5_Q("F0,9$",""0"+`!\0`@*H +M``#__P!]_^T#"0/#$",`:@#A`-H0`@*,``#__P!C__("@0+\$",`:@"#`!00 +M`@*L``#__P`I_^T$)@/#$",`:@%U`-H0`@*0``#__P`G__(#<@+\$",`:@$` +M`!00`@*P`````O]._OW_TO_)``,`!P``!S,'(S`-(_+@```$"E@)\`P`"U``#```!,P5Z$@0!"@T:(AE,&0)G""5"0CC^!!44!P,C$RX!)R$W`Q,S`P%L(#5! +M*QX!4Y)2`B!/_NX:ADZ23@)G!`L<*D?V*`6[^D@```?_0 +M__$`Z0)G``,```<3,P,PAY*'#P)V_8H```$`%/_Q`8,"9P`'```3(S7G^`P`````!_\?_\0),`F<`#P```1X!%10'`R,3+@$G +M(P,C$P%L:'`1<^`3\!+@(G +M+@(!11(1$1PD$V9]`2`W9EQ29W\!4Y)1'"$4&D-&&!T!`@T-$Q45`>X&!H`% +M;UT;!IR3+"YP71H&`8G^@0U"%!,'`0)#.8@=&B0("@T$`````0`&`0L`X@)A +M``,``!,'$S.EGDB2`4@\`50```$`(O\D`>L";``2```!'@,5%`<#(Q,N!"!!44#P$.`P`2`3+DIO +M2\X:PD\X(!T"($_#&@)G!`L=*4@O&P:<,DI!*`AY#B=)B$8H$'D```$`'__M +M`FD#`0`<```E!R,W/@(W/@$W/@$_`2$3,P"!5+] +MT84!;#TPAE,!##@"`F=Q5109_GT"=MXN-0+^?`$*#P`!_\[_\0)E`F<`%P`` +M`30N`BL!`R,3(S6U1%Q[^?7D!"A`````!_Z3_)`#J`FP``P``!Q,S`URT +MDK3<`TC\N````?_'__$!3`)G``\``!,R%A44!P,A-S,3+@$G)B-:9XH$4_[4 +M&9HY`0L3)C`"9VQ9%!3^=WD!!BTH$!D``O_Q__$"2`)G`!(`(P```1X!%10/ +M`08'!BL"(B8U-#<3!2X!)R,#%107'@$7/@,W`6AI=@$@.&5>3`0%8(0$4P%J +M`B!/@#@<(10:)#8E%0T"9P5J71L&G),L+G!6%1(!B?=&*!#^^@U"%!,'`0$6 +M*",<```!_ZC_N`)<`FD`$0``)3X#-Q,S`PX"!P4_`0,S`/\C*!@1"TR131TN +M9%K^I!JH")6!#1D=)QH!8_Z31TA#(4]^)0(,``$`$O\C`C@";@`B```!'@$5 +M%`<#(Q,V-30G)B,'!A44%CL!!R,N!"%9@V4C(C#P-Y`08*'!<3)HHF+"$*4Q$+$`EY`0,# +M"1$,(2X-'-4```$`%?\D`C4";``/```!-C\!,P<.`P<#(Q,#,P$F/!TDDB8) +M'#15-622;8ZF`7(%4:2O&2]",`C^*0'^`4H````!_\[_\0);`F<`#P```3X! +M/P$S!PX!!Q,A-R$#,P%-&B49))(F&V$]=/W>&@$OW:4!;0(D,*2O1&(2_O%Y +M`?T``O^;_R0"<0)L`!(`%@``)08'-Q<^`C<^`C\!(3@$#`Q02#QD8$])Y_JR-\?VH`E@` +M``$`(O_Q`?8"9P`0```!'@05%`<#(Q,N`2@,#*`\:*P$(>0,*$1\J +M0"@9!?YW``````+_R?_Q`?$"9P`#``<``!<3,P,A$S,#V(:2AOY@AI*&#P)V +M_8H"=OV*`````@``__$!ZP)G``,`!P``%Q,S"P$'$S/2AY*'Q9])D@\"=OV* +M`5X\`50````"```!"P'J`F$``P`'```!!Q,S`0<3,P&NGTF2_K6?29(!2#P! +M5/[H/`%4``$`-`'/`.0"X``%```3#P$C)S?C'4D[#1T"WXB'AX@``@`N`<\! +MU@+@``4`"P``$P\!(R'B(B'AX@` +M``$`6?_N`FD"X@`G```!%`X$(R(F-30W,P85%!8S,CX"-30N`S4T-S,&%10> +M`P)I"Q@Q16M"76TEB2(K+#!%'@TK/#TK%8@+*CL[*@%?%SU844@L8E1(1D,U +M*S@]6409(T`R,4$E)D89("0\+313```"`%;_[@*+`N(`&@`H```!%`8C(B8U +M-#X#/P$C(B8U-#\!,P``(#E0+V`#0` +M0@```10.`R,B+@(U-#8U-",B#@(5%!X%%10'(BX!-30A(@*U4]$PD!`P6:"'P-/F.*OCP]7?%5/24N)#4L$"0L``````$`6O_M`J(" +M]P`D```3/@0S,A44!P,.`2,B)C4T-S,&%106,S(W$S8U-"8C(@85P`0U15,] +M%[T--QB;;V5]&Y(C-3%Z'D`$+"P[4P'\/&`S(@FN)S_^]W![8UE`1#XT+3F. +M`2P1%2@P44$```$`6/_M`K`"]P`S```!%`X"!Q85%`<.`2,B)C4T-S,&%106 +M,S(^`C4T)B,W,S(^`34T)B,B!@.BQ;VH[35E57`;^53`Q>2(U!ETK0"(.!34%`4N2MZN>WQ<* +M0S0F_JM'&4E/2<6^AP``0!Q``("N`+V +M`!P```$4#@$'(Q(U-",B#@0'!A44%R,F-302,S(6`KA+22E^KV(@-R8=%@L' +M%0]^$\JE87<"'EWIE$(!-MA]&3(Q1RT@8FA76FYE]@$K=0`````!`%G_[0*M +M`O<`*@```10.`R,B)C4T-S,&%106,S(^`C4T*P$W,S(V-30C-S(6%10.`@<6 +M`FL0+$%P1F%]&Y,D-3$L0!X+0!X6(2P[.Q9/8QXQ)A1(`2891UI+,V18.$LV +M.RTY,48U$D9I4#I!:$Y'+$HN&@@:```!`%L``@0.`O8`1P```10'(S8U-",B +M!@\!(S)0S4;*`4;?AL"+!LH!AM^&0,F&B83"1`7A9J58P2= +M`1X[.U)B.I)V)*%8M9,28S(S$J +M#R8P``$`90`"`WT"]@`N```!!@`P*;04%)!!>A;6-\'),D-#(H.AX, +M(2$>&@8>"%(K/#TK$WX&*ST]*P'^-5P3&U$*&FMQ9%@\1S$_+C@B,BH0'B5^ +M`4(3%A`7-"DH)AL*%R`9&S$``0!(_^X"N@+B`"\```$R-C4T)S<6,S(W,P,. +M`2,B)C4T-S,&%106,S(V-Q,&!Q85%`8C(B8U-#(EX.B@O +M"PA^`@L%0S9!'(@6.5%Z6G<2.2%^"3Q>6WXH/BXQ/T\H1FE)1P$,AX.68D0X +M1B`(*R$./&!22$)41EF36T\E+`<:/C!',"(L$QTZ(T)"50```0!P_^X":P+B +M`!H``"44!B,B-30W$S,#!A44,S(V-30F-#_^T#3P+W`#(`/@!* +M```!%`8C(BX"-30W,PX!%106,S(^`S4T)Q85%`8C(B8U-#X"-R8T-C,R%A44 +M!@<>`24R-C4T)B,B!A44%@8@J2&M:0&0\ +M*`]*$VM0.4L;*B(//G!1-5HC+5EK_M`7,QH6'BP;(!XK&Q4:+QL!3Y3-%S%: +M/X^4+89+3E`C-TA$(U\?'2M.8SHS)#PF%08BAEPW,!Q(&PEF=R0E%!LP&!4; +MTR\8%1PJ'Q0;``````$`E__M`RX"]P`\```!!A44,S(^`3,R%A,R@` +M```!`&$``@.7`O8`.0```10'(S8U-"8C(@8/`2,^`C4T(R(&%107'@47%A44 +M!R(N`34T(2,B!S,%EQV0(S4P0$L.,#]32E)$`N)-5$L_+G_]]W![9%D^13XU+#A.0.$K2D)88P`` +M`@!;_^T"T0+W`"D`.@``)0X!(R(F-30W/@$S,A`C,R-C4T)BL!-S(6,S(V-30N`C4T-S,&%10> +M`@-*6#Q:!`U,:7$UD91/5BV,0ULI$",Y.A]6=S@L/18&)@U+/3$[,1V"#S`Y +M,`(304\-'%T6$CI<-AN,?F#2A3--F8!:)RY%(@]:0B#RX``@!4_^X"K@+B``X`&@``-S0^`3,R%Q,S`PX!(R(F-S(V-30F(R(& +M%10656&$/SC(R*HY0 +M,CP911$Q4+\C6O(9("H>"BHN(3,H#2LO``(`5__N`QX"X@`G`#(``!,T/@(S +M,A`144!B,B)C4T-S,&%10S,C8U-"8C(@$=9'K&0@:%R<0?`B<2"\Y!!6+)"NP +M>SA2'WH)+BE'%A,6&!PH`0,0`@,($@T=-!:!)0(,590T.8M0$Q4/!6-%9C]C +MU!$/&"`P*I0QXR +M/Q\H+T)2/!=;?AF(%F,O2R$?!AH'$@4@"5E""B,%$@8F"U54=AP8$'X##A%9 +M33X"/S-""163<4Q@$W,1*2(T1B`N+2`,UUR'2D,O(QT@ +M'B5!,!LJ'!\S(1\A$`T<+2$A-@`"`#G_[@(E`N(`'0`L```!%`8C(B8U-#<^ +M`3\!(R(U-#\!,P85%!8[`08/`18!,C8U-"8C(@X#%106`B6CB%9K!A.+7R1N +M.@0/=`,6&H01!"QV_N]$5C(R)CDA%08W`0I[H5I.%!U??02K*@L/3`T*$@X@ +M%-(@_L==12PT'2(1?^V!(T0"TW,5IO2`D7/4X_*UA2164T +M(R,400<-&!QR%25#+R4W,R!"-A(A&Q\RR@X@1"XP1`H/<#XO,@`"``?^Z@+K +M`;8`-@!"```!%`X#(R(F-30W)B,B!A44'@(7'@85%",!P1!P(*:41O@[$]/53^^F-*3RU!,Q-(```!__S^ZP'Q +M`;4`)P```2(.`144%R,F-30W/@$S,A44!P,.`2,B)C4T-S,&%106,S(W$S8U +M-`$W*#81`W0!!!*-6YT'0A5_8U!E.',U*25>%4,$`58Y.1,-#@@1$Q-:9H4@ +M(?[,9&Q)1E%&3S,A)&H!.Q$500`````!__[^ZP('`;4`.````10&!Q85%`<. +M`2,B)C4T-S,&%10S,CX#-S8U-"8K`3%;5-D+W,L41XM&Q8+!P(>)104&BHY+2$V0@%S`042E55'9P$W +M0UD1&DT;+FZ!44E-/S5$3A8=.28E#08B%UY-(QP?034(!`((`@@@4EM````# +M`(C_[0*4`O<`'@`L`#L``!,T/@,S,A85%`"D$V2KTN44$<'F>% +M6$IPU21$""HJ$!D>+"L0&!S^3RH^,1-0*3PQ$24P```"`#+_]0+S`:\`'@`L +M```!%`X!!R,V-30C(@8'#@$C(B8U-#X#,S(7-C,R%@$R/@(U-",B#@(5%`+S +M,2P5EF]! +M135F>E9*&$%00BT]/4G^[RM`-!)+*3PQ$E0````!`#4`"@(.`:X`&````10& +M!R,V-30F(R(&%107(R8U-#<^`3,R%@(-/R-T8B\L.ED1 +M?"`/7S$````!``O^ZP.N`;4`2````10'(S8U-",B#@0'(S2:U=K!1278$,U(03>/E4K+"I`'P\Q`IA0.@B*A$15+_;1:1"HU*3LQ$"@P``(`.?_M`GT"]P`A`#$```$4#@,C +M(B8U-#<3-C#3,!`14Z +M4D,O6E`A(0%62ST^#@QS#R(P,ZLB7/\`)C*QL-!PAI"`E(+40.)X^/E,``````0`S_^X"00+B`#$``"44#@,C(B8U-#`Q44!@<6`@4,)CAI0TYM('0<*RHL/1T* +M-CX6)'(\1SP4VT&7B8Y&0LX''09->(S4B\?#%%/&B$!T!@P_?T< +M&%T=+",,'DH9)"<:%P]:``````,`#_[F`M,";P`R`#X`2@```10''@$5%`X% +M(R(F-30V-S,.`144%C,R-S8U-"<6%10&(R(F-30V-R8U-#8S,A8',C8U-"8C +M(@85%!8',C8U-"8C(@85%!8"94]<80L<*414>$5]HC\XT(S)EPE)#=">T.T41X<(C(Y'27T2"4=(#LM'"8```$` +M,O[K`M`!M0`^```3!A44,S(^`C,R%A7Q2444^&T03*BM01@$X"@PH47>/$PP:)2\E,2<_00`"`#G^ZP+P`;4` +M.@!*```%%`8C(BX!-30W,P85%#,R/@,U-"L!-S,R/@$U-",B!@<.`2,B)C4T +M-SX!,S(7-C,R%A44#@('%B4R/@(U-"8C(@X"%106`JNPBS]C32=K'8LM1"<8 +M""\C%B@?*@TS*2L1'(1<36$&$Y=76#5#7#Y&#!L]*DG^4"`S&0LH(R$R&0PH +M$W./%T4X0C$O+4P6(2\I%SUH.SH6-B\X76Q62!(95G!)24D[%#-!.1`B1B`N +M*`XB+!\N)PXB+@`````!__?^XP)5`ND`*@``-S0^`S,R%Q,S`P8'!B,B)C4T +M-C)@D%;3]4+"LJ01X/,0(21Q,L.7(E/3UQ(Q[^ +MBF9Z7$\6/DU!+2*^&P\J-SL4_CI<0BHU*3LQ$"@P``````(`%0`"`BH"]@`> +M`"<```$4!R,^`34T)B,B!@\!(Q,^`3,R%A44!P8%!S8S,A8E/@$U-"8C(@8" +M`FUT,3DJ*BU*"2YT>!217T!9`R'^YQ5&5D9(_OAC5AX4-D4!$G>90(DG)S!" +M+=@"-%UC-#<.#Y<#7C%2PP,U(Q$420`!`!+^Y0*P`;8`,0``)10&!Q85%`8C +M(B8U-#X"-S,&`A44%C,R-C4T)BL!-S,R-C4T+@(U-#EE/&QT!=DYD/3TE&2<```(`.?_N`A4"X@`4`"0```$4#@0C(B8U-#<3,P,W,P<>`04R +M/@(U-"8C(@X"%106`A0*%RT\7SE68@9Q=$J;=WI+5O[Z*CT<##(N*#P<#C(! +M`A`O03XU(5M.&AX"$_ZDBVD%6_PF."P1+#`3,R-C4T(R('/P$G)B,B!A44'@$7!R8T +M/@,S,A\!-S8W-BX!*P$W,S(6%10&#P$7%@86,S(V-30G-QX!`K)E25T9-X-' +M<5-611@83!\M*"\;#136+PT8%2`&"`%K%2,P/"T05Q"!4[.&I7OTD434A<(7(4(#<6*`1<>:4?'A@*%AD&-BI4 +M124:"%.87@T+!@0!7APF&T,6@)<),QTG$!$[,Q)&``$`-?_N`EH"X@`^```E +M%`8C(B8U-#`Q44!Q85%`<6`A"??%=H'G8=8TQ!1SP4!"<,74P,)@045AT:.E<( +M'S(!"3HP"2]$0R]3+U@SMUMN44LZ/2TT5$,H+UX"-2,"7Q@/%18*`PLO(`@$ +M)@$"`QT="PTG(U<>%397'1T```(`)__T`T("YP!,`%,```$4!Q85%`8C(#4T +M-P<_`3X#,S(5%`4&%106,S(V-30N`C0V,S(6,S(V-30N`C4T-C,R%C,R-C4T +M+@(U-#,R'P$6'P$6%10'%B4^`34T(R(#(%$3JX;^RP5:%ED))T)F.%S^^0AG +M<%1.+38M'!<*2AT4%RHS*A,6$306$A$H,"@J$PL/#B$W.D(@_?1`0Q4^`6M6 +M+!\>4F;Y'2@F:2,D8G=15[I^,")841DH%R(4*38G/100$B4:+QL5(3L7#!,B +M&3$?.1`<%`X6'#M*,!HI'V$B&`````(`$O_R`=`0'&G8%> +M4Q,K(AXK!A`."BTH/DQ+%!`JI>D6`7X,N`\M.`X&@Z57-BE?C=,)1`)%C$D)BQB1%1W$`593A$R5#I[94!,0B$`("1P````#____[_^4"=P,> +M$"($;UH>$`("1P````#____[_^4"=P,($"($8T0>$`("1P````#____[_^4" +M>`,-$"($<$P>$`("1P````#____[_^4"=P/%$",$9`#:`!X0`@)'``#____[ +M_^4">`/0$",$<0"U`!X0`@)'``#___]\_],"B0+Y$"($54`'$`("*`````#_ +M__]\_],"B0+Y$"($AP +M_T(0`@(H``#___]\_],"B0+Y$",$$`("2P````#____3_^<"2@,>$"($;T<>$`("2P````#____3_^<" +M*@,($"($8S$>$`("2P````#____3_^<"90,-$"($<#D>$`("2P````#____% +M_],"X@+Y$",$5?]P``$0`@(L``#____%_],"X@+Y$",$A_].``$0`@(L``#_ +M__[V_],"X@+Y$",$8OZ(``$0`@(L``#___\#_],"X@+Y$",$;_YH_^\0`@(L +M``#___[V_],"X@+Y$",$8_Z(``$0`@(L``#___[Y_],"X@+Y$",$$`("50````#____C_^<"60,. +M$"($;U8/$`("50````#____C_^<"7@,($"($8V8>$`("50````#____C_^<" +M@0,-$"($<%0>$`("50````#____M_[@#&`,0$"($5807$`("-@````#____M +M_[@#&`,0$"($AX$8$`("-@````#___\\_[@#&`,0$",$8O[.`!<0`@(V``#_ +M__]#_[@#&`,0$",$;_ZH``80`@(V``#___\S_[@#&`,0$",$8_[%``H0`@(V +M``#___]O_[@#&`,0$",$$"("&QL$$`(# +MJ`````#____[_P("=P,($"("&QL$$`(#J0````#____[_P(">`,-$"("&QL$ +M$`(#J@````#____[_P("=P/%$"("&QL$$`(#JP````#____[_P(">`/0$"(" +M&QL$$`(#K`````#___]\_],#N`+Y$",$5`+P_^80`@.M``#___]\_],#N`+Y +M$",$5`+P_^80`@.N``#___]\_],#N`+Y$",$5`+P_^80`@.O``#___]\_],# +MN`+Y$",$5`+P_^80`@.P``#___]\_],#N`+Y$",$5`+P_^80`@.Q``#___]\ +M_],#N`+Y$",$5`+P_^80`@.R``#___]\_],#N`+Y$",$5`+P_^80`@.S``#_ +M__]\_],#N`+Y$",$5`+P_^80`@.T``#____T_P\"40,,$"("&X41$`(#P0`` +M``#____T_P\"40,1$"("&X41$`(#P@````#____T_P\"4P,,$"("&X41$`(# +MPP````#____T_P\"DP,2$"("&X41$`(#Q`````#____T_P\"J`,,$"("&X41 +M$`(#Q0````#____T_P\"QP,1$"("&X41$`(#Q@````#____T_P\"GP/)$"(" +M&X41$`(#QP````#____T_P\"M`/5$"("&X41$`(#R`````#___^T_],#A@+Y +M$",$5`*^_^80`@/)``#___^T_],#A@+Y$",$5`*^_^80`@/*``#___[F_],# +MA@+Y$",$5`*^_^80`@/+``#___[S_],#A@+Y$",$5`*^_^80`@/,``#___[F +M_],#A@+Y$",$5`*^_^80`@/-``#___[J_],#A@+Y$",$5`*^_^80`@/.``#_ +M__ZN_],#A@+Y$",$5`*^_^80`@//``#___ZN_],#A@+Y$",$5`*^_^80`@/0 +M``#____F_NL"\P,+$"("&R3M$`(#^0````#____F_NL"\P,0$"("&R3M$`(# +M^@````#____F_NL"\P,+$"("&R3M$`(#^P````#____F_NL"\P,1$"("&R3M +M$`(#_`````#____F_NL"\P,+$"("&R3M$`(#_0````#____F_NL"\P,0$"(" +M&R3M$`(#_@````#____F_NL"\P.U$"("&R3M$`(#_P````#____F_NL"\P.Q +M$"("&R3M$`($``````#___^<_],#R0+_$",$5`,"_^80`@0!``#___^<_],# +MR0+_$",$5`,"_^80`@0"``#___\G_],#R0+_$",$5`,"_^80`@0#``#___\[ +M_],#R0+_$",$5`,"_^80`@0$``#___^)_],#R0+_$",$5`,"_^80`@0%``#_ +M__]M_],#R0+_$",$5`,"_^80`@0&``#___\N_],#R0,8$",$5`,"_^80`@0' +M``#___\8_],#R0,A$",$5`,"_^80`@0(``#____[_^4"=P+W$"("!$@!$`(" +M1P````#____[_^4"=P*U$"(`<4+A$`("1P````#____[_P("=P+^$"("&QL$ +M$`($"0````#____[_P("=P(W$"("&QL$$`("1P````#____[_P("=P+^$"($ +M"@``$`("&QL$``#____[_^4"=P+A$",$5@#Q_^X0`@)'``#____[_P("=P+A +M$"("&QL$$`($3`````#___]\_],"B0.^$","!`"G`,<0`@(H``#___]\_]," +MB0-[$",`<0"A`*<0`@(H``#___]\_],"B0+Y$"($?L/O$`("*`````#___]\ +M_],"B0+Y$",$AO]6_^\0`@(H``#___]\_],#N`+Y$",$5`+P_^80`@(H``#_ +M__^!`EH`I0.K$$,`#_]F`Q!1=T````#__P`(``@`R`##$`,"&_^1`0H````! +M`&X"0P$#`ND`#```$S<'#@$C-S,R/@$W(Y)Q$`I,+PH##0X2!2L"Z`%)*S(L +M`Q86``#____!`G(!5`+S$`,""/]6``<``/__`&P":@'_`Y80(P16`*L`HQ`" +M`&H``/____3_#P)1`P,0(@(;A1$0`@0-`````/____3_#P)1`D`0(@(;A1$0 +M`@)-`````/____3_#P)1`RT0(@(;A1$0`@)$`````/____3_%0)2`N40(P16 +M`/[_\A`"`DT``/___]_^Y`)2`N40(P(;_VC_YA`"!%L``/___X3_TP+B`OD0 +M(P1^_MK_[Q`"`BP``/___U[_TP+B`OD0(P2&_FW_[Q`"`BP``/___W7_TP+_ +M`OD0(P1^_LK_[Q`"`BX``/___T[_TP+_`OD0(P2&_EW_[Q`"`BX``/___[3_ +MTP.&`OD0(P14`K[_YA`"`BX``/__`&X"0P&I`ND0(@1^4NX0`@15`````/__ +M`&X"0P'X`ND0(@2&%^@0`@15`````/__``@"0P&;`Z80(P16`$<`M!`"!%4` +M`/___^W_X0%<`O00(@($COX0`@)/`````/___^W_X0%D`K(0(@!QB-T0`@)/ +M`````/___^W_X0%L`Y<0(@1\C_,0`@)/`````/___^W_X0&$`Y00(@1]C?,0 +M`@)/`````/___^W_X0&+`MX0(@16-^L0`@)/`````/___^W_X0&M`XD0(@17 +MKO,0`@)/`````/___\3_TP&&`[X0(P($_[@`QQ`"`C```/___\3_TP&-`WL0 +M(P!Q_[$`IQ`"`C```/___WG_TP$E`OD0(P1^_L[_[Q`"`C```/___U+_TP$E +M`OD0(P2&_F'_[Q`"`C```/__`)L"60(#`P`0(@2'`Q`0`P1^`*L`!O__`)@" +M20(M`N\0(@2'```0`@2&3/```/__`#`"20'#`[(0(@2'```0`P16`&\`O___ +M_^/_R@).`O00(@($-OX0`@);`````/___^/_R@).`K(0(@!Q+]T0`@);```` +M`/___^/_R@).`Y<0(@1\-_,0`@);`````/___^/_R@).`Y00(@1]-/,0`@); +M`````/___Z[_"P)M`PT0(P15`/P`)!`"`E<``/___Z[_"P)M`Q(0(P2'`/L` +M)!`"`E<``/___^/_R@).`MX0(P16`-__ZQ`"`EL``/___^/_R@)5`XD0(@17 +M5O,0`@);`````/__`"S_TP-!`[X0(P($`*4`QQ`"`CL``/__`"S_TP-!`WL0 +M(P!Q`)\`IQ`"`CL``/__`(H":@'>`Z,0(@!J```0`P1^`"(`JO__`(H":@'W +M`Z`0(P2&`!8`IQ`"`&H``/__`*H"6P%8`OD0`@!#``#____F_\\"\P+D$",$ +M5@%"__$0`@)?``#____F_NL"\P+D$"("&R3M$`($?P````#___^X_[@#&`,0 +M$",$?O\-``80`@(V``#____C_[@#&`,0$",$AO[R``80`@(V``#___^<_]," +M_0+_$",$?O\%__80`@(_``#___^<_],"_0+_$",$AO[P__80`@(_``#___^< +M_],#R0+_$",$5`,"_^80`@(_``#__P#Q`EL!X0+Y$`(`=@``__\`F`))`2@" +M[Q`#`AC^T@`&``#__P`4`,P"?P$Z$`($B0````$`%`#,`G\!.@`#```!!R$W +M`G\7_:P7`3IN;@`!``L`S`1(`3H``P```01PM:#E4! +MSG-$508Q$$T``0"@` +M`N``"0`3```3,P<.`01PM:#E4!$(X9"E]& +M"UH-50+@>SL>>MY[.P```$`:`"H +M`78!L``+```!,A85%`8C(B8U-#8!`S!"8#TP/UT!KS\N.UX^+SU<``````,` +M1O_\`\$`E@`#``<`"P``)0(0'[()XAEIJ: +MFIJ:F@`'`##_V`05`O8``P`/`!L`)P`S`#\`2P```3,!(P$R%A44!B,B)C4T +M-A139))Q[75YW`````0!:`#T!10'L +M``8```$/`3\!)S9M[75YW``````'_/O_9`?H"W@`#```! +M,P$C`:!:_9Y:`MW\_?__`)O_[04O`OL0(P`B`H(``!`"`"(``/__`)O_[00K +M`OL0(P`$`H(``!`"`"(``/__`&C_[00+`OL0(P`B`5X``!`"``0````"__X! +M`@%C`ML`$``?```3(BX!-30V-S8S,A85%`8'!B!!?$`)E_JP!5'=/ +M3P`````"_^P!$0%6`M``"@`-```!!R,'(S+BL0&B$``0`=`1$!AP+0``P```$'#@$' +M(S8W/@$W(SAE0 +M&'L1>AE0&`(;2W)R2W)R```!``,!T`%<`AL``P``$R$'(14!1A'^N@(;2P`` +M`O_T`8,!;`)F``,`!P```0'E1XJAR5%2&<)````O_\_VL"7P,2`"``*0```3A=(&(-/)26A`VD]0!@,"08?`M(@`T/;W,Y4$,H```"`+\!!015`N4`!P`4```! +M`R,3(S$"(` +M>ZP`$",%$/].```0`P2@`AC^R_____3_S0.(`MX0(P2@`AC^RQ`C!1#_6``` +M$`(`=((`__\``?_-`X@"WA`C!*`"&/[+$",%$/].```0`P!U_W@`````____ +M[/_-`X@"WA`C!*`"&/[+$",%$/]#```0`@2?``#__P!#_]@#=`+>$",`>_]X +M```0(P40_SD``!`#!*$"#?[6``#____N_]@#=`+>$",$H0(-_M80(P40_SD` +M`!`"!*```/__`"[_V`.%`MX0(P![_V(``!`C!1#_+@``$`,$HP(B_M8``/__ +M`!;_V`.%`MX0(P2C`B+^UA`C!1#_6```$`(`=8T`____^?_8`X4"WA`C!*," +M(O[6$",%$/].```0`@2@"@#__P`\_]@#A0+>$",$HP(B_M80(P40_RX``!`" +M!*(T`/__`,S_V0.K`MX0(@40X0`0`@![`````/__`#?_[0%X`NP2`@`L``#_ +M_P`W_^T"G`+L$",`+`$D```0`@`L``#__P`W_^T#P`+L$",`+`)(```0(P`L +M`20``!`"`"P``/__`#?_[016`NP0(P`Y`20``!`"`"P``/__`*/_[0,R`NP2 +M`@`Y``#__P"C_^T$-`+L$",`+`*\```0`@`Y``#__P"C_^T%6`+L$",`+`/@ +M```0(P`L`KP``!`"`#D``/__`*/_[09\`NP0(P`L!00``!`C`"P#X```$",` +M+`*\```0`@`Y``#__P`W_^T$6@+L$",`.P$D```0`@`L``#__P`"_^T#-@+L +M$@(`.P``__\``O_M!#0"[!`C`"P"O```$`(`.P``__\``O_M!5@"[!`C`"P# +MX```$",`+`*\```0`@`[``#__P!"_^T";`+L$@(`+P``__\`6?_5`RL"^1(" +M`"8``/__`#O_[0,:`NP2`@`G``#__P`L_^T#N0+L$@(`,```__\`.__M`7(" +M[!("`$P``/__`#O_[0*6`NP0(P!,`20``!`"`$P``/__`#O_[0.Z`NP0(P!, +M`D@``!`C`$P!)```$`(`3```__\`.__M`[P"[!`C`%D!)```$`(`3```__\` +M<__R`ID"*A("`%D``/__`'/_[0.Z`NP0(P!,`D@``!`"`%D``/__`'/_[03> +M`NP0(P!,`VP``!`C`$P"2```$`(`60``__\`<__M!@$"[!`C`$P$D```$",` +M3`-L```0(P!,`D@``!`"`%D``/__`#O_[0.\`NP0(P!;`20``!`"`$P``/__ +M``#_\@*8`BH2`@!;``#__P``_^T#N@+L$",`3`)(```0`@!;``#__P``_^T$ +MW@+L$",`3`-L```0(P!,`D@``!`"`%L``/__`#O_[0%R`NP2`@!/``#__P!` +M_]H"8@(T$@(`1@``__\`/__6`LP"[!("`$<``/__`";_\@.E`C,2`@!0```` +M`0`0`#T#M`&3``D```$5!R$5(1<5)34!M"T"+/W3+OY=`9)M$%D0;IL>`/__ +M`43_.@*9`MT0@P3M`08"[@``P`!```````#__P!$`%4#YP&J$`L$[0/W`>?` +M`/__`5O_"@*P`JT0@P3M`N[^^@``0`#``````````0`0`#T#M`&3``\```$5 +M!S,G-045!34W(Q<5)34!M"VT*P&C_ETPNB[^70&2;1`/;IL>FVT1$&Z;'@#_ +M_P%;_PH"L`*M$(,$\0+N_OH``$``P```````__\`C?^4`TH"4!"#!.W_Z`&M +M+4'2OBU!+4$``/__`)O_I`-7`F$0@P3M`K0#!M*^TKXM0=*^``#__P"J_Y<# +M9P)3$(,$[00,`#K2OBU!TK[2O@``__\`G?^&`UH"1!"#!.T!0/[A+4$M0=*^ +M+4$````!`!#_M0.T`AD`$0```14'(1,7!S,5(P,G-R,7%24U`;0M`12237BQ +MY)-->N,N_ET!DFT0`00MUUG^^2W:$&Z;'@````$`$/^U`[0"&0`1```E-3JG;DDYZ["X!HSYM$/[Z+=E9`04MV!!N +MFQX``````P`0`#T#MP&3``8`"@`1```!%0<7%24U)14A-245!Q<5)34"I:^O +M_ET"M/SC`1NPL/Y=`9)M/3QNFQX>65E];3T\;IL>``#__P%&_SD"FP+@$(,$ +M^0$)`O```,``0```````__\`00!5`^65E];3T\;IL>```` +M__\`00!5`^0!JA`+!/T#]`'GP````P`0``D#M`'(``,`!P`.```!$2,1%Q4A +M-245!Q<5)34#LU14_.8!&["P_ET!R/Y!`;^S65E];3T\;IL>````__\!#_\Z +M`L\"W1"#!/\!!@+N``#``$```````/__`$$`(`/D`=\0"P3_`_0!Z,``__\! +M)O\*`N4"K1"#!/\"[O[Z``!``,`````````!`0/_"@+!`P(`$P```3,7-0?``/__`)[_"@-M`JT0"P4(`_0! +MY\````(`"__=`=4#`@`@`#$``!,B!@)TH'49W5'0+'2Q,+BH^-0L0)$=I +M#C\A/UPR+!PP'QL0#@0"T`L8-QW-G5&W-7QU5Q$U1CLI&RE/)BA35#;^71LE +M@EQ$3!LL-SLY+0````+_]O_M`N,"[``#``8```1C+^ +MB_Z@(T8.<'X)!`&E`=D'J````0`_`*D";`$G``,```$'(3<":QK][QH!)WY^ +M__\`10`/`J<"J1`+`',"R@*9P````0$._]D#R@+>``,```$S`2,#<%K]GEH" +MW?S]``$`5O_$`M$#J0`'```!%P$#!R_B@:7FYN`B*(=G6*OX````(`'?_P`H(" +M@``#``H``"4'(3\"+0$W!0<"-A?]_A@('0%D_LX=`=D<7FYN)8AW=(K`?P`" +M`%/_[0(I`OL`!0`)```!$P$C`P$#$PL!`;)V_N1"=@$<=^YC[@+[_GG^>0&' +M`8?],0%(`4C^N``````!_^+_[@%I`L@`#P``)S0^`C,R%Q,S`PX!(R(F'2`Q +M*@XV''TMB`E:-RHY-APL%@D?`DG]?R +M`Q44#P$C-S4T+@(G`PX!(R(F-30V,S(7$S,'`6DD,S,D%@TL#2TV+@%6"%LV +M*CI#1C@;?2P,`H@/&QHD1B\E:CL[`@TG)3\C_FTG,"<@'4H?`DDY``````$` +M!?_M`O@"[``=```E-#8S,A<3)0,.`2,B)C4T-SX!,S(7$P4##@$C(B8!@D1* +M/!Q+_K%3"5T\+3T""5(R/AUE`:1O"5PY+#TV'T1?YU?K=')D`? +M_LL!!`('``(`+?\2`>8"X``'``L```4'-P<3-P,W`S``!`";^Q@#>_\L`"@``%S,'#@$'-SX!-R-=@!8(73L*(S($ +M1C9E/EP$,`8T)````/__`*/_[@(:`M<0`@`4``#__P!0_^T#-P+L$",`20%> +M```0`@!)`````P!%_^T"SP+L``,`!P`<```!`R,3-P)-XO1R3')855F&385$54`\05TP/0A2)+95L@\`50````!`"P"D`%O +M`S$`$@``$R(U-R,B%10>`C,R-S8_`2,&P2P!:0$:*"<67#T.#PYI$`+Y*@X> +M)S@9"TL3(2(X`````P```(`!Z@)D``,`!P`+```W,P;IF%^-;S^F3Q-.J2OQ$/```````$`&O_Q +M`TL"9P`'```!(3YY>?X#```"_\'_\0-,`F<` +M$``4```!'@05%`<#(Q,N`2'@$#"ADH(_XV +M&P)G!1(J43H;!IPR2D$H"'D.)TF((!HA#1`&>0````$`&/_M`VH#`0`6```E +M!R,W-C<^`S\!(1,S!R$'#@0!LQ:2&0U9*6A(/PP/_5P\DB("I"H+5FUJ35=J +M<4))(C(8+B)%`1>>Q31++RU!`````O_"__$#4`)G``@`$0```3(6%10'`R$3 +M!30F)R$#(1,V`F=F@P92_,J&`G,],?YS4@(2.`,"9W%5%!G^?0)VWBXU`OY\ +M`0H/``````$`'/_Q`O8"9P`0```!'@05%`<#(Q,N`2!144!P,C`P0!`0D*'2$?_J$Z`0H'%!DL +M'6)&&AH+"@D,+R@,"`HY1AH"0QXM-R@D$P%4D@%Q'Q4B"1$'!O[S!20;*R`E +M#BX%>@,#*`\:*P$(>0,*$1\J0"@9!?YW`````?_2`*0!Z`'A``<```$'(3@;_@4;ORE]*0$A?7W`P`````+_\__M`QH"Y``#`"P```$S!R,!(BX# +M-30W$S,#,S(V/P$S!PX#*P(7%CL!,C8W$S,##@$'!B,"NE825_Y90&4W)0L% +M2Y(]1R,N!2^2+P0A.&`Z"CD$*EU30X(+2Y)+"VMG2E0"XU;]82@X0S$1%1P! +M8/[=*1K@X!8Y02P*5V4X`6#^H#J++20``````O_S_^T#&@+D``,`+```$S,' +M(Q,B+@,U-#<3,P,S,C8_`3,'#@,K`A<6.P$R-C<3,P,.`0<&(WE6$E>:0&4W +M)0L%2Y(]1R,N!2^2+P0A.&`Z"CD$*EU30X(+2Y)+"VMG2E0"XU;]82@X0S$1 +M%1P!8/[=*1K@X!8Y02P*5V4X`6#^H#J++20```/_\__M`QH"Y``#``<`,``` +M`3,'(P$S!R,'(BX#-30W$S,#,S(V/P$S!PX#*P(7%CL!,C8W$S,##@$'!B," +MNE825_[P5A)6A4!E-R4+!4N2/4E5A)6>3=4+QT( +M`3IA&OW0&0$^.0$""QDH(K,9`556`6@&("7D!!B`:(0T0!GD` +M`O^J__$!L0)G``,`&P``$S,'(Q,>`Q<#(S<'(S5Z$@0!"@T:(AE,&0%55@%H""5"0CC^?X#`````__'__$"3`)G``,`%``8```!,P?V*`6[^D@`"_]3_\0$Q`F<``P`'```#,P7G^`P`````"__3_\0)(`F<``P`M```3,P`Q44 +M!P,C$RX$)R,WHU815WHK04LI`8"2?P$""QDH(\,:`5I6`6@%$BI1.AL&_:4" +M42`:(0T0!GD````"_\;_\0'\`F<``P`>```3,P0```@`?_^T":0,!``,`(```$S,'(Q<'(S<^ +M`C<^`3<^`3\!(1,S!R$'#@0'#@',5A%7?!:2&`D+&A4E;P<3$`>Q3A2+!L7"1,@``````+_ +MSO_Q`F4"9P`#`!L```$S!R,W-"X"*P$#(Q,C-R$R%A44!P,A-S,3-@$@5A%7 +MPPH5,"%(N).X8!L!.FB"!U'^Y!F*.00!55:3"1PA%OX#`?UY;5$7'OY]>0$* +M$`````+_Q__Q`4P"9P`#`!,``!,S!R,3,A85%`<#(30$&+2@0&0`````#__'_\0)(`F<` +M`P`6`"<``!,S!R,3'@$5%`\!!@<&*P(B)C4T-Q,%+@$G(P,5%!<>`1<^`S?Z +M5A%6?VEV`2`X95Y,!`5@A`13`6H"($^`.!PA%!HD-B45#0%55@%H!6I=&P:< +MDRPN<%85$@&)]T8H$/[Z#4(4$P0$#`PD1#"`N#![5``+_Q__Q`D$"9P`#`#0```$S!R,3'@$5%`\!#@0'(30$&"AP7$R:*)BPA"E,1"Q`)>0$#`PD1#"$N#1S5``+_SO_Q`EL"9P`# +M`!,``!,S!R,E/@$_`3,'#@$'$R$W(0,S+U825@$P&B49))(F&V$]=/W>&@$O +MW:4!'E:E`B0PI*]$8A+^\7D!_0`#_YO_)`)Q`FP``P`6`!H``!,S!R,7!@!!44!P,C$RX!)R,WHU825H0A-$(K'@%3DE("(4[-&0%55@%H!`L< +M*D0````+_\__Q`QH"9P`#`"P```$S!R,'(BX#-30W$S,# +M,S(V/P$S!PX#*P(7%CL!,C8W$S,##@$'!B,!EU825H5`93!144!P,C`5]6$E:W`@$("QPA'UDZ`0D(%!DL +M'&-%&QL*"P@-+B@,"0DY11D!/1TM."@D$P%4D@%55G(?%2()$0<&_O,%)!LK +M("4.+@5Z`P,H#QHK`0AY`PH1'RI`*!D%_G<``````O_0_^T`Z0+Y``,`!P`` +M$S,'(P,3,P.05Q)7KH>2AP+Y5_U+`G;]B@`````"_\?_[0(1`OD``P`;```3 +M,P7D!!Q\:(0X/!W@```+_QO_M`?P"^0`#`!X` +M`!,S!R,7'@05%`\!#@,'(S*4@N'`:;,TE!*`EY#R=(B44I$'@````"_\?_ +M[0)!`OD``P`T```3,P0')&S(B-!XE(!DN(3LC.D29,34I_KI$@0%Z`7G^ +MAP```````!@!)@`!`````````#,`:``!```````!``@`K@`!```````"``L` +MSP`!```````#`#(!00`!```````$`!8!H@`!```````%`!H![P`!```````& +M`!,",@`!```````-`$8"U``!```````.`"0#90`!```````3`"P#Y``#``$$ +M"0```&8````#``$$"0`!`!``G``#``$$"0`"`!8`MP`#``$$"0`#`&0`VP`# +M``$$"0`$`"P!=``#``$$"0`%`#0!N0`#``$$"0`&`"8""@`#``$$"0`-`(P" +M1@`#``$$"0`.`$@#&P`#``$$"0`3`%@#B@`#``$$)``"`"`$$0`#``$$)``- +M`(8$,P`#``$$)``.`$@$NP`#``$$)``3`%0%!0!#`&\`<`!Y`&P`90!F`'0` +M(``R`#``,``R`"P`(``R`#``,``S`"P`(``R`#``,``U`"``1@!R`&4`90`@ +M`%,`;P!F`'0`=P!A`'(`90`@`$8`;P!U`&X`9`!A`'0`:0!O`&X`+@``0V]P +M>6QE9G0@,C`P,BP@,C`P,RP@,C`P-2!&0`@`&0`;P!G`"X``%1H92!Q=6EC:R!B +M2!D;V@`@`&P` +M:0!C`&4`;@!C`&\`(`!'`$X`50`@`$<`90!N`&4`<@!A`&P`(`!0`'4`8@!L +M`&D`8P`@`$P`:0!C`&4`;@!S`&4`+@```&@`=`!T`'``.@`O`"\`=P!W`'<` +M+@!G`&X`=0`N`&\`<@!G`"\`8P!O`'``>0!L`&4`9@!T`"\`9P!P`&P`+@!H +M`'0`;0!L```!8`!E`'(`:0!F`"``8@!O`"``>@!A`"``=@!A`&H`;P`@`',` +M<`!E`'0`(`!K`'4`:`!A`&P`(`!D`&\`;0!A`0T`90`@`7X`9P!A`&X`8P!E +M`"X````````"``#_]```_Y$`10``````````````````````````!5\````! +M``(``P`$``4`!@`'``@`"0`*``L`#``-``X`#P`0`!$`$@`3`!0`%0`6`!<` +M&``9`!H`&P`<`!T`'@`?`"``(0`B`",`)``E`"8`)P`H`"D`*@`K`"P`+0`N +M`"\`,``Q`#(`,P`T`#4`-@`W`#@`.0`Z`#L`/``]`#X`/P!``$$`0@!#`$0` +M10!&`$<`2`!)`$H`2P!,`$T`3@!/`%``40!2`%,`5`!5`%8`5P!8`%D`6@!; +M`%P`70!>`%\`8`!A`*P`HP"$`(4`O0"6`.@`A@".`(L`G0"I`*0!`@"*`-H` +M@P"3`/(`\P"-`)<`B`##`-X`\0">`*H`]0#T`/8`H@"M`,D`QP"N`&(`8P"0 +M`&0`RP!E`,@`R@#/`,P`S0#.`.D`9@#3`-``T0"O`&<`\`"1`-8`U`#5`&@` +MZP#M`(D`:@!I`&L`;0!L`&X`H`!O`'$`<`!R`',`=0!T`'8`=P#J`'@`>@!Y +M`'L`?0!\`+@`H0!_`'X`@`"!`.P`[@"Z`0,!!`$%`08!!P$(`/T`_@$)`0H! +M"P$,`/\!``$-`0X!#P$!`1`!$0$2`1,!%`$5`18!%P$8`1D!&@$;`/@`^0$< +M`1T!'@$?`2`!(0$B`2,!)`$E`28!)P$H`2D!*@$K`/H`UP$L`2T!+@$O`3`! +M,0$R`3,!-`$U`38!-P$X`3D!.@#B`.,!.P$\`3T!/@$_`4`!00%"`4,!1`%% +M`48!1P%(`4D`L`"Q`4H!2P%,`4T!3@%/`5`!40%2`5,`^P#\`.0`Y0%4`54! +M5@%7`5@!60%:`5L!7`%=`5X!7P%@`6$!8@%C`60!90%F`6@%[`7P!?0%^`7\` +MI@&``8$!@@&#`80!A0&&`8`9\!H`&A`:(!HP&D`:4!I@&G`:@!J0&J`:L! +MK`&M`:X!KP&P`;$!L@&S`;0!M0&V`;$!X@'C`>0!Y0'F`>H!ZP'L`>T![@'O +M`?`!\0'R`?,!]`'U`?8!]P'X`?D!^@'[`?P!_0'^`?\"``(!`@("`P($`@4" +M!@('`@@""0(*`@L"#`(-`@X"#P(0`A$"$@(3`A0"%0(6`A<"&`(9`AH"&P(< +M`AT"'@(?`B`"(0(B`B,")`(E`B8")P(H`BD"*@#8`.$"*P(L`BT`VP#<`-T` +MX`#9`-\"+@(O`C`",0(R`C,"-`(U`C8"-P(X`CD".@([`CP"/0(^`C\"0`)! +M`D("0P)$`D4"1@)'`D@"20)*`DL"3`)-`DX`J`)/`E`"40)2`E,"5`)5`E8" +M5P)8`ED"6@);`EP"70)>`E\"8`)A`)\"8@)C`F0"90)F`F<":`)I`FH":P)L +M`FT";@)O`G`"<0)R`G,"=`)U`G8"=P";`G@">0)Z`GL"?`)]`GX"?P*``H$" +M@@*#`H0"A0*&`H<"B`*)`HH"BP*,`HT"C@*/`I`"D0*2`I,"E`*5`I8"EP*8 +M`ID"F@*;`IP"G0*>`I\"H`*A`J("HP*D`J4"I@*G`J@"J0*J`JL"K`*M`JX" +MKP*P`K$"L@*S`K0"M0*V`K<"N`*Y`KH"NP*\`KT"O@*_`L`"P0+"`L,"Q`+% +M`L8"QP+(`LD"R@++`LP"S0+.`L\"T`+1`M("TP+4`M4"U@+7`M@"V0+:`ML" +MW`+=`MX"WP+@`N$"X@+C`N0"Y0+F`N<"Z`+I`NH"ZP+L`NT"[@+O`O`"\0+R +M`O,"]`+U`O8"]P+X`OD"^@+[`OP"_0+^`O\#``,!`P(#`P,$`P4#!@,'`P@# +M"0,*`PL##`,-`PX##P,0`Q$#$@,3`Q0#%0,6`Q<#&`,9`QH#&P,<`QT#'@,? +M`R`#(0,B`R,#)`,E`R8#)P,H`RD#*@,K`RP#+0,N`R\#,`,Q`S(#,P,T`S4# +M-@,W`S@#.0,Z`SL#/`,]`SX#/P-``T$#0@-#`T0#10-&`T<#2`-)`TH#2P-, +M`TT#3@-/`U`#40-2`U,#5`-5`U8#5P-8`UD#6@-;`UP#70->`U\#8`-A`V(# +M8P-D`V4#9@-G`V@#:0-J`VL#;`-M`VX#;P-P`W$#<@-S`W0#=0-V`W<#>`-Y +M`WH#>P-\`WT#?@-_`X`#@0."`X,#A`.%`X8#AP.(`XD#B@.+`XP#C0..`X\# +MD`.1`Y(#DP.4`Y4#E@.7`Y@#F0.:`YL#G`.=`YX#GP.@`Z$#H@.C`Z0#I0.F +M`Z<#J`.I`ZH#JP.L`ZT#K@.O`[`#L0.R`[,#M`.U`[8#MP.X`[D#N@.[`[P# +MO0.^`[\#P`/!`\(#PP/$`\4#Q@/'`\@#R0/*`\L#S`/-`\X#SP/0`]$#T@/3 +M`]0#U0/6`]<#V`/9`]H#VP/<`]T#W@/?`^`#X0/B`^,#Y`/E`^8#YP/H`^D# +MZ@/K`^P#[0/N`^\#\`/Q`_(#\P/T`_4#]@/W`_@#^0/Z`_L#_`/]`_X#_P0` +M!`$$`@0#!`0$!00&!`<$"`0)!`H$"P0,!`T$#@0/!!`$$002!!,$%`05!!8$ +M%P08!!D$&@0;!!P$'00>!!\$(`0A!"($(P0D!"4$)@0G!"@$*00J!"L$+`0M +M!"X$+P0P!#$$,@0S!#0$-00V!#<$.`0Y!#H$.P0\!#T$/@0_!$`$001"!$,$ +M1`1%!$8$1P1(!$D$2@1+!$P$301.!$\$4`11!%($4P14!%4$5@17!%@$601: +M!%L$7`1=!%X$7P1@!&$$8@1C!&0$901F!&<$:`1I!&H$:P1L!&T$;@1O!'`$ +M<01R!',$=`1U!'8$=P1X!'D$>@1[!'P$?01^!'\$@`2!!(($@P2$!(4$A@2' +M!(@$B02*!(L$C`2-!(X$CP20!)$$D@23!)0$E026!)<$F`29!)H$FP2!1\%(`4A +M!2(%(P4D!24%)@4G!2@%*04J!2L%+`4M!2X%+P4P`,``P04Q!3(%,P4T!34% +M-@4W!3@%.04Z!3L%/`4]!3X%/P5`!4$%0@5#!40%105&!4<%2`5)!4H%2P5, +M!4T%3@5/!5`%4052!5,%5`55!58%5P58!5D%6@5;!5P%705>!5\%8`5A!6(% +M8PIS;V9T:'EP:&5N!T%M86-R;VX'86UA8W)O;@9!8G)E=F4&86)R979E!T%O +M9V]N96L'86]G;VYE:PM#8VER8W5M9FQE>`MC8VER8W5M9FQE>`I#9&]T86-C +M96YT"F-D;W1A8V-E;G0&1&-A`MJ8VER8W5M9FQE>`Q+ +M8V]M;6%A8V-E;G0,:V-O;6UA86-C96YT#&MG`MS +M8VER8W5M9FQE>`=U;FDP,38R!W5N:3`Q-C,&5&-A``"`7D!C``!`8T!CP`"`9`$F0`!!)H$G``"!)T$OP`! +M!,`$S``"!,T$S0`!!,X$T``"!-$$T0`!!-($U0`"!-8$U@`!!-<$V``"!-D$ +MW0`!!-X$X``"!.$$X0`!!.($Y0`"!.8$Y@`!!.<$Z``"!.D%*``!!2D%+P`" +M!3`%7``!!5T%70`"!5X%7@`!``0````"```````!````"@!*`*(``T1&3%0` +M%&AE8G(`(FQA=&X`+@`$`````/__``(``P`%``0`````__\``0`"``0````` +M__\`!`````$`!``&``=C8VUP`"QD;&EG`#)D;&EG`#AF``"`$T``0`&`"<`+P`Q`$<`3P!1``$` +MP@`&`!(`-@!6`&H`C@"N``0`"@`2`!@`'@3/``,`+``L!-```@`Y!-4``@`[ +M!,X``@`L``,`"``2`!H$U``$`"P`+``L!-,``P`L`"P$T@`"`"P``@`&``X$ +MV``#`"P`+`37``(`+``$``H`$@`8`!X$WP`#`$P`3`3@``(`603E``(`6P3> +M``(`3``#``@`$@`:!.0`!`!,`$P`3`3C``,`3`!,!.(``@!,``(`!@`.!.@` +M`P!,`$P$YP`"`$P``0`&`"P`.0`[`$P`60!;``$`)@`"``H`%``!``0$G``" +M`"(``@`&``P$FP`"``0$F@`"`"(``0`"``0`(@`!`!(``0`(``$`!`5=``(# +M2@`!``$#/@`!`&X`!0`0`!H`2`!2`%P``0`$`/0``@`M``4`#``4`!P`(@`H +M!2T``P!)`$\%+``#`$D`3`4K``(`3P4J``(`3`4I``(`20`!``0`]0`"`$T` +M`0`$!2\``@!7``(`!@`,!2T``@!/!2P``@!,``$`!0`L`$D`3`!6!2D``0`2 +M``$`"``!``0%+@`"`%<``0`!`4$``0$>``8`$@!T`)X`R`#>`0@`"@`6`!X` +M)@`N`#8`/@!&`$X`5@!!1\%(`4A +M!2(%(P4D!24%*``!#J8`!````$@`F@$L`7(!G`'2`D@">@*,`MX#/`.F`]`$ +M)@24!+X%=`6J!CP&S@;X!XH'E`>J![@'P@?<""8(4`A:"&0(J@BT",8(X`C^ +M"0@)$@G0"=H*&`H>"H@*\@L,"W8+I`P6#$0,<@SD#5H-8`UN#80-D@V@#;H- +MP`W&#>0-Z@X,#AH.*`XV#D0.4@Y@#FX.?`Z*#I``)``/``D`$``"`!$`#@`F +M_]H`*O_8`#+_V0`T_]<`-_^@`#C_V0`Y_[(`.O_$`#S_FP!$__0`1?_V`$;_ +M[@!'_^X`2/_V`$K_ZP!2_^P`5/_R`%?_Z@!8_^X`6?_4`%K_XP!<_]4`;?_. +M`(G_V@"8_]D`F__9`)S_V0"=_]D`GO_9`*G_[@2-_[H$D/^U!)?_T@`1`"3_ +MU0`R_^T`.?_0`#K_X0`\_[X`@__5`(3_U0"%_]4`AO_5`(?_U0"(_^$`E/_M +M`)7_[0"6_^T`F/_M`)K_[@$4__<`"@`D_]P`*___`"[__``R__,`@__<`(;_ +MW`"'_]P`B/_H`)7_\P"8__,`#0`D_]8`+?_\`#?_YP`Y_]D`.O_K`#O_U@`\ +M_[\`@O_6`(/_U@"$_]8`A?_6`(;_U@"'_]8`'0`/_Z@`$``$`!'_J@`D_[D` +M+?_=`#+_YP!$_^@`2/_S`$S_\`!-_^X`4O_J`%7_VP!8_]X`@O^Y`(/_N0"$ +M_[D`A?^Y`(;_N0"'_[D`F/_G`*/_Z`"F_^@`I__H`*C_Y0"K__,`M?_J`+C_ +MZ@"Z_^`#G_U@`Z_^<`.__3`#S_O`"#_]0`AO_4`(?_U`"(_]T`%0`/ +M_Y0`$/_Y`!'_E@`D_[4`+?_)`$3_\0!(__(`4O_I`(/_M0"&_[4`A_^U`(C_ +MOP"C__$`IO_Q`*?_\0"H__``J__R`+7_Z0"X_^D`NO_E`17_[@`;`!``"@`F +M__,`*O_R`#+_\@`W__,`./_S`#G_V``Z_^D`//_,`$3__`!2__<`6/_Z`%S_ +M_`")__,`E?_R`)C_\@">__,`H__\`*;__`"G__P`J/_[`+7_]P"X__<`O/_Z +M`+[_^@$4__T!%?_\``H`)/_E`#?_\``Y_]H`.O_K`#S_QP!7__P`@__E`(;_ +MY0"'_^4`B/_Q`"T`#_^Q`!#_R``1_[,`'?^3`![_D@`D_YX`)O_B`"K_X0`M +M_YP`,O_A`#;_^0`Y``D`.@`0`#P`!P!$_Z\`1O^M`$C_M`!*_ZT`3/_W`$W_ +M]`!2_ZL`5?^P`%;_JP!8_ZX`6?^@`%K_IP!<_Z,`;?^0`(+_G@"#_YX`A/^> +M`(7_G@"&_YX`A_^>`(C_IP"4_^$`E?_A`);_X0"7_^$`F/_A`)K_V@"H_ZX` +MNO^L`13_ZP27_Y0`#0`/_^X`$?_S`"3_U@!0__T`4?_[`%/__0!5__L`@__6 +M`(3_U@"%_]8`AO_6`(?_U@"(_^$`)``/_[``$/_E`!'_L@`=_[(`'O^O`"3_ +ML0`F_],`*O_2`#+_T@`V_]\`-P`-`$3_R@!(_]``2O_'`$S_\@!2_\4`5?_3 +M`%C_U`!<_^P`;?^K`(+_L0"#_[$`A/^Q`(7_L0"&_[$`A_^Q`(C_O`"4_](` +ME?_2`);_T@"7_](`F/_2`)K_U`"H_\D`NO_&!)?_KP`D``__R``0__<`$?_* +M`!W_P``>_[X`)/_"`";_XP`J_^(`,O_B`#;_Z0`W`!$`1/_<`$C_XP!*_]H` +M3/_W`%+_V`!5_]T`6/_>`%S_]P!M_[X`@O_"`(/_P@"$_\(`A?_"`(;_P@"' +M_\(`B/_,`)3_X@"5_^(`EO_B`)?_X@"8_^(`FO_D`*C_W`"Z_]D$E__"``H` +M$/_=`";_UP`R_]8`-/_3`$3_[@!(_]T`4O_3`%C_VP!<_\X`F/_6`"0`#_^G +M`!#_Q@`1_Z@`'?^B`![_G@`D_Z``)O_!`"K_P``R_\``-O_7`#<`#P!$_[4` +M2/^[`$K_LP!,__0`4O^P`%/_R`!8_\0`6?_:`&W_D@""_Z``@_^@`(3_H`"% +M_Z``AO^@`(?_H`"(_ZL`E/_``)7_P`"6_\``E__``)C_P`":_\,`J/^U`+K_ +ML@27_Y8``@!9_^H`7/_L``4`3?_Y`%G_Z`!:__8`7/_G!(W_\0`#`%G_Z`!: +M__<`7/_F``(`2__W`$[_^P`&`%?_]P!9_^D`6O_W`%O_Y@!<_^8$C?_R`!(` +M1/_Z`$C_^@!)``\`3/_R`$W_\`!/__(`4O_O`%;_]@!7``\`H__Z`*;_^@"G +M__H`J/_Z`*O_^@"U_^\`N/_O`+K_[P$5__0`"@!$__T`2``!`$__^P!5__T` +MIO_]`*?__0"H__P`JP`!`+7_^`"X__@``@!<_^8$C?_P``(`-__S`$W_^0`1 +M``___0`0_]\`$?_]`$3_\@!(_^P`2O_E`%+_XP!6_^@`6/_X`*/_\@"F__(` +MI__R`*C_\`"K_^P`M?_C`+C_XP"^__@``@!9__$`7/_T``0`4___`%G_Z`!: +M__<`7/_H``8`-_^E`%/__@!9_^<`6O_T`%S_Y@2-__``!P`W_Z(`5__R`%G_ +MY`!:__(`6__A`%S_X@2-_^P``@!7__8`7/_F``(`1O_]`%C__0`O``__O0`0 +M_]8`$?^^`!W_V@`>_]D`1/__`$;_^@!'__L`2``"`$D`$`!*__D`2__S`$S_ +M\P!-__(`3O_X`$__\P!0__@`4?_V`%+_^0!3__D`5/_^`%7_]@!6__P`5P`0 +M`%C_^`!9``T`6@`2`%L`!P!<``\`70`"`*+__P"C__\`I/__`*;__P"G__\` +MJ/_^`*G_^@"J``(`JP`"`*P``@"T__D`M?_Y`+;_^0"X__D`NO_S`17__@2- +M``0``@!7__<$C?_S``\`'?_5`![_U``V__<`1/_]`$C_^P!+__<`4O_P`*/_ +M_0"F__T`I__]`*C_^P"K__L`M?_P`+C_\`2-__T``02-__@`&@`/_\0`$/_[ +M`!'_Q@`=_]4`'O_3`$3_Z@!&_^8`2/_M`$K_Y0!/__,`4O_C`%;_Y@"B_^H` +MH__J`*3_Z@"E_^H`IO_J`*?_Z@"H_^H`JO_M`*O_[0"L_^T`M/_C`+7_XP"X +M_^,`NO_C`!H`#__8`!``!P`1_]H`'?_:`![_V`!$__0`1O_S`$C_^P!*__(` +M3__X`%+_\`!6__``HO_T`*/_]`"D__0`I?_T`*;_]`"G__0`J/_S`*K_^P"K +M__L`K/_[`+3_\`"U__``N/_P`+K_\0`&`$3_Z0!&_^0`2/_K`%+_X0!4_^@` +MJ__K`!H`#__#`!#__``1_\8`'?_6`![_TP!$_^L`1O_E`$C_[`!*_^0`3__T +M`%+_XP!6_^<`HO_K`*/_ZP"D_^L`I?_K`*;_ZP"G_^L`J/_K`*K_[`"K_^P` +MK/_L`+3_XP"U_^,`N/_C`+K_Y``+``\`"0`1``X`)O_:`"K_V``R_]D`-/_7 +M`#?_H``X_]D`.?^R`#K_Q``\_YL`'``/``D`$``"`!$`#0`F_]D`*O_8`#+_ +MV``T_]8`-_^@`#C_V``Y_[(`.O_$`#S_FP!$__0`1?_V`$;_[@!'_^X`2/_T +M`$K_ZP!2_^L`5/_Q`%?_Z0!8_^T`6?_4`%K_X@!<_]4`;?_.!(W_N@27_]$` +M"P`/``D`$0`.`";_V@`J_]@`,O_9`#3_UP`W_Z``./_9`#G_L@`Z_\0`//^; +M``L`#P`)`!$`#``F_]@`*O_6`#+_UP`T_]4`-_^?`#C_UP`Y_[(`.O_$`#S_ +MFP`<``\`"0`0``(`$0`-`";_V0`J_]@`,O_8`#3_UP`W_Z``./_8`#G_L@`Z +M_\0`//^;`$3_]`!%__8`1O_N`$?_[@!*_^L`4O_K`%3_\@!7_^D`6/_N`%G_ +MU`!:_^,`7/_5`&W_S@2-_[H$D/^U!)?_T@`=``\`"0`0``(`$0`.`";_V@`J +M_]@`,O_9`#3_UP`W_Z``./_9`#G_L@`Z_\0`//^;`$3_]`!%__8`1O_N`$?_ +M[@!(__8`2O_K`%+_[`!4__(`5__J`%C_[@!9_]0`6O_C`%S_U0!M_\X$C?^Z +M!)#_M027_](``0`D_]P``P`W_]X`.?_6`#S_O``%`"3_U``W_]X`.?_6`#K_ +MYP`\_[P``P`W_]X`.?_6`#S_O``#`#?_W@`Y_]8`//^\``8`)/_4`#?_W@`Y +M_]8`.O_G`#O_TP`\_[P``0`D_]P``0`D_]8`!P`/_^X`$?_S`"3_U@!0__T` +M4?_[`%/__0!5__L``0`D_]8`"``/_^X`$?_S`"3_U@!%__P`4/_]`%'_^P!3 +M__T`5?_[``,`6?_H`%K_]@!<_^<``P!9_^@`6O_V`%S_YP`#`%G_Z`!:__8` +M7/_G``,`6?_H`%K_]@!<_^<``P!9_^H`6O_Y`%S_Z``#`%G_Z0!:__<`7/_F +M``,`6?_I`%K_]P!<_^8``P!9_^0`6O_R`%S_X@`#`%G_Y`!:__(`7/_B``$` +M5__R``4`5__R`%G_Y`!:__(`6__A`%S_X@`"`!$`)``G````*0`J``0`+0`O +M``8`,0`S``D`-0`]``P`1`!&`!4`2`!,`!@`3@!<`!T`@@"'`"P`B0")`#(` +ME`"8`#,`F@">`#@`H@"C`#T`I@"H`#\`JP"L`$(`M`"V`$0`N`"X`$<````` +:``$`````P5TM20````#!"8B$`````,%ND((` +` +end diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/debian/test.ttf.uu /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/test.ttf.uu --- /tmp/ZyiKWGPp1w/scorched3d-40/debian/test.ttf.uu 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/debian/test.ttf.uu 2007-01-09 10:06:01.000000000 +0900 @@ -0,0 +1,2500 @@ +begin 644 test.ttf +M``$````/`(```P!P1T1%1FL3;VH``9]8````ND=03U.B_KV>``&DT```$?Y' +M4U5"^8VQ&@`!H!0```2\3U,O,L;;=P@```%X````5F-M87#EF^S4```73``` +M!0)C=G0@`"$">0``'%`````$9V%S69@G@KP```G +M%``!0A!H96%DY^Z50P```/P````V:&AE80A-"(<```$T````)&AM='@3AZN6 +M```!T```%7QL;V-A!]171@``'%0```K`;6%X<`6S`/<```%8````(&YA;66. +M!L+>``%I)```!H%P;W-T3HZ]]P`!;Z@``"^G``$````!0`#_76?&7P\\]0(+ +M`^@`````P0F(A`````#!"8B$_H3^RP8W!(L``P`(`````````````0```R#_ +M.`!:!=W^A/VO!C<`9``5````````````````!5\``0``!5\`5``'`&T`!P`" +M`````0`!````0``N``0`!0`!`=X"O``%```"B@*[```!WP**`KL``````#$! +M`@```@L'!`("`@D"!,0`"O]0`&![````(`````!09D5D`"$`#?_]`R#_.``` +M`R``R&```+^?]P`````!L``A``````%-```!%@```4T`<`':`+$"+``A`BP` +M.P-Y`($"T@!9`.X`L0%-`%0!3?_K`84`D0)(`%`BP`0P(L`#D"+``[`BP`50(L`(,"+``\`BP`1`%-`'$! +M30!,`D@`30)(`#T"2``F`F,`J`//`$D"T@`:`M(`4@+2`&L"T@!-`IL`3P)C +M`$H#"@!K`M(`1`$6`#\"+``[`M(`2@)C`%`#00!"`M(`1`,*`&H"FP!,`PH` +M;0+2`%`"FP!,`F,`C@+2`'<"FP"S`[``J`*;`!8"FP"V`F,`'@%-`!0`V`BP`30(L`$`"+`!``BP`0`(L`$`!%@!#`18`0P$6 +M`$,!%@!#`F,`4P)C`#\"8P!2`F,`4@)C`%("8P!2`F,`4@)(`$T"8P`,`F,` +M6`)C`%@"8P!8`F,`6`(L`"4"8P`+`BP`)0+2`!H"+``R`M(`&@(L`#("T@`: +M`BP`,@+2`&L"+`!-`M(`:P(L`$T"T@!K`BP`30+2`&L"+`!-`M(`30+2`$\" +MT@!)`F,`3P*;`$\"+`!``IL`3P(L`$`"FP!/`BP`0`*;`$\"+`!``IL`3P(L +M`$`#"@!K`F,`&@,*`&L"8P`:`PH`:P)C`!H#"@!K`F,`&@+2`$0"8P!#`M+_ +M]P)C__8!%@`_`18`0P$6`#\!%@!#`18`/P$6`$,!%@`'`0P```$6`#\!%@!# +M`18`/P$6`$,"+``[`1;_U0+2`$H"+``[`A$`.P)C`%`!%@!#`F,`4`$6``L" +M8P!0`8``0P)C`%`"+`!#`F,`-@$6`#("T@!$`F,`/P+2`$0"8P`_`M(`1`)C +M`#\"8P`_`M(`1`)C`#\#"@!J`F,`4@,*`&H"8P!2`PH`:@)C`%(#Z`!:`[`` +M1P+2`%`!A0`_`M(`4`&%``@"T@!0`84`/P*;`$P"+``\`IL`3`(L`#P"FP!, +M`BP`/`*;`$P"+``\`F,`A`%-_^L"8P".`90`90)C`(X!30!E`M(`=P)C`%@" +MT@!W`F,`6`+2`'<"8P!8`M(`=P)C`%@"T@!W`F,`6`+2`'<"8P!8`[``J`,* +M`'@"FP"V`BP`)0*;`+8"8P`>`?0`%0)C`!X!]``5`F,`'@'T`!4!30!:`F/_ +M\`/#`$<"T@!2`F/_\`*O__\"8__P`M+_P`+P`!X",@`6`M(`20/(`$<"TO_@ +M`F/_R0*;_[0#"@`=`J#__P)C_Z\"+/_K`PH`'@-Y__0`"`M+_J0)C`!H#"@`=`PH`&@)C`!8$5P`O`Y(`1P)C_^<"F_^J`BS_Q`*P +M_Z\!30`!`N8`3P%-`!H"8P!8`M(`&@)C``X##``"`IL`:`+"``0"+/_X`BS_ +M]P4U`$T$Q@!-!%<`3P2/`%`#>0!0`BP`0P3^`$0#Z`!$`WD`/P+2`!H"+``R +M`18`/P$6`$,#"@!J`F,`4@+2`'<"8P!8`BS_U`/H``$#>0`V`PH`:P)C`!H" +MT@!*`BP`.P,*`&H"8P!!`PH`:@)C`$$!%O_5!34`303&`$T$5P!/`PH`:P)C +M`!H"T@!$`F,`/P+2`!H"+``R`^@``0-Y`#8#"@`B`F,`#`+2`!H"+``R`M(` +M&@(L`#("FP!/`BP`0`*;`$\"+`!``18`/P$6`"@!%@`_`18`0P,*`&H"8P!2 +M`PH`:@)C`%("T@!0`84`/P+2`%`!A0`_`M(`=P)C`%@"T@!W`F,`6`*;`$P" +M+``\`F,`C@%-`#X"T@!$`F,`0P+2`!H"+``R`IL`3P(L`"@#"@!J`F,`4@*; +M`+8"+``E`BS_Y@)C`!0"8P`4`F/_\`(L_]<"8P`6`F,``0(L_]$"+/_4`CK_ +MX@(B`#@".O__`1;_M0)C_^H"8P`:`FL`-`)C__8"8P`-`1;_X@%8`!P!%@`# +M`2K_\P,*``0#>?_E`WD`-@-Y`!D"8_^M`F,`'`)G_]4"8P!2`PH`/@&%_\8! +MA?_M`84`%P&%_^\!A0`"`<<`!0''`$L";/^]`FS_O0(L_X@!3?^T`1;_H`%- +M`"@!2/^=`4T`"P)O__H"+/^;`PK_D@(L_Y8!]/_S`BP```)C`%<"8P!7`F,` +M0@)C`%("/``\`CK_\0);`#P"+/_4`<8`/`)C`!D"8P!7`4T`AP%-`*`!8"DP!#`M(` +M1`+2`$0"T@!*`M+_X0-!`$("T@!$`PH`:@+2`$0"FP!,`M(`:P)C`(X"N@"( +M`X8`%P*8`!8"V@!$`I\`C01-`$0$FP!$`S``C@.K`$("?P!"`N$`:@0X`$(" +ML@`6`BP`,@)C`$P";0`\`=L`/`,D_^H"+`!``P<`$`(L`#@"?``\`GP`/`(1 +M`#L"8/_D`KD`/`)\`#P"8P!2`GP`/`)C``L"+`!-`<8`90(H`"4#W0!(`BH` +M$`*R`#P"7@!P`Z8`/`/;`#P"Y0!D`T<`/`)K`#P"/P!2`XP`/`)\`"4"*`!` +M`B@`0`)>`"$!VP`\`BP`%P(L`#P!%@!#`18`0P$6_]4#A/_D`F,`!@)>``\" +M$0`[`GP`/`(H`"4"?``\`G\`0@)K`#P"B0!$`F/_Z`)C_^X!QO_Y`F,`2@'; +M`"("8P!*`=L`/`0>`!8#!P`0`I,`0P(L`#@"T`!*`A$`.P+0`$H"$0`[`M`` +M2@(1`#L#>0".`HH`9`+2`$0"?``\`^``1`,G`#P$*P!$`VP`/`-%`&H"*@!- +M`T4`:@(J`$T"8P".`<8`90*;`+8"FP"@`IL`9@*;`%X"F``6`BH`$`-@`(X" +MUP!E`N<`H0)>`'\"GP"A`EX`?P*?`*$"7@!_`T7_L0(H_\(#1?^Q`BC_P@$6 +M`#\$'@`6`P<`$`+0`$H"$0`[`M(`1`)\`#P"GP"A`EX`?P+2`!H"*@`R`M(` +M&@(J`#(#Z``!`WD`-@*:`$\"*`!``T4`90(H`$`#10!E`B@`0`0>`!8#!P`0 +M`I,`0P(L`#@"DP!#`BP`.`+2`$0"?``\`M(`1`)\`#P#"@!J`F,`4@,*`&H" +M8P!2`PH`:@)C`%("X0!J`C\`4@*Z`(@"*``E`KH`B`(H`"4"N@"(`B@`)0*? +M`(T"7@!P`ZL`0@-'`#P`4O]2`5O_:@%5_VH!5?]J`%+_:@#3_VH`T_]J`,C_ +M:@#(_VH`4@`4`57_:@!2_[\`4O]3`@0`+@#(`!0!*?_"!`X"F00.`'0!30!Q +M`%(`%`+*_^$"B__5`BW_MP)^`"X"JO_7`2G_UP&[`!T"JO_7`IX``@$<``P" +M3@`M`E/_U`*;`"T"J__8`L#_W@$I_ZP!K?_1`IX```*-_[D"E0`@`I3_UP)H +M`"("G__>`J#_K0)8`"X#2``'`O3_QP(J_]<")@`,`AX`#`#N`#D!V@`Y`F@` +M9@*%`&0"F`!E`T<`<@)S`&@"=@!G`SL`L0.@`'P"?P!_`G8`:`.W`'("7@!C +M`F``=P-#`'@"=@!H`F(`5P,D`&D"9P!]`S<`<`+K`*<#9@"M`G,`:`-(`'4" +M`$("PP!*`P`/0'@`"("D``B`?0`10'L`$4"#``&`?0`10*P_\\!_@!#`N,`.@'"`!T! +MWP`$`?8``0'U`$`"D``+`I``"P*0``L"D``+`I``"P*0``L"D``+`I``"P+\ +M_X\"_/^/`OS_CP+\_X\"_/^/`OS_CP+\_X\"_/^/`CK_X@(Z_^(".O_B`CK_ +MX@(Z_^(".O_B`L;_V`+&_]@"QO\,`L;_*0+&_PP"QO\@`DH``P)*``,"2@`# +M`DH``P)*``,"2@`#`DH``P)*``,"Y__)`N?_R0+G_OT"Y_\:`N?^_0+G_Q$" +MY_[-`N?^S0%:__0!6O_T`5K_]`%:__0!6O_T`5K_]`%:__0!6O_T`2C_P@$H +M_\H!*/\!`2C_'@$H_P$!*/\5`2C^T0$H_M$"8O_R`F+_\@)B__("8O_R`F+_ +M\@)B__(#-O_\`S8``0,V_T\#-O]F`S;_1@,V_Y`"/__R`C__\@(___("/__R +M`C__\@(___("/__R`C__\@+H_ZD"Z/[1`NC^R`+H_H0#(/_Y`R#_^0,@__D# +M(/_Y`R#_^0,@__D#(/_Y`R#_^0,,_[$##/^Q`PS_.P,,_UX##/^8`PS_C@,, +M_T<##/\R`I``"P*0``L".O_B`CK_X@)*``,"2@`#`5K_]`%:__0"8O_R`F+_ +M\@(___("/__R`R#_^0,@__D"D``+`I``"P*0``L"D``+`I``"P*0``L"D``+ +M`I``"P/O_X\#[_^/`^__CP/O_X\#[_^/`^__CP/O_X\#[_^/`DH``P)*``," +M2@`#`DH``P)*``,"2@`#`DH``P)*``,#VO_)`]K_R0/:_OT#VO\:`]K^_0/: +M_Q$#VO[-`]K^S0,@__D#(/_Y`R#_^0,@__D#(/_Y`R#_^0,@__D#(/_Y`___ +ML0/__[$#__\[`___7@/__Y@#__^.`___1P/__S("D``+`I``"P*0``L"D``+ +M`H``"P*0``L"D``+`OS_CP+\_X\"_/^/`OS_CP/O_X\!%O^0`,D`$@"3`'(! +M%O_3`4T`=@)*``,"2@`#`E4``P)*``,"2O_K`L;_EP+&_W<"Y_^(`N?_:`/: +M_\D!D@!R`9,`<@"3`!`&\#Z`!<`^@`2`%-`(`!30!@`*?_ +M3P3&`*@#L`"H`[``<`%?``0`\`\0`)P/$`4`#Q``J`\0!0`/$`"<#Q`%``\0` +MG@/$`(L#Q`"*`\0`G@/$`"<#Q``G`\0`)P/$`4(#Q``G`\0!0@/$`"<#Q``G +M`\0`)P/$`0X#Q``G`\0!#0/$`0X#Q``G`\0`C`/$`"<#Q``G`\0`C`/$`"<# +MQ`",`>H`%@+9``@"Q__N`D@`30)(`#($'P$?`AX`9@)(`#T"2``C`D@`+`'I +M`%\!3?_L`BS__0,*`!<#"@`7`BP`%P(L`#@"+``.`BP`40(L`!X"+`!#`BP` +M.0(L`#L"+`!5`BP`@P(L`#P"+`!$`1;_U0%-`"L"+`"L`IH`6@)C`%4"8P!8 +M`[``6@.P`%H"F@!:`WD`/`$<``P!,0`T`AX`#`*-_]X#Q/_A`W@`+@.D_]<# +M3?_4`Y4`+0.E_]@#4@`N`^[_QP)(_]\#2``'`T@`!P-(``<#2``'`LK_X0+* +M_^$"RO_A`HO_U0(M_[<"?@`N`JK_UP%O_]T!N__9`IX``@%B_^$"3@`M`E/_ +MU`*;`"T"P/_>`:W_T0*>```"E0`@`I3_UP*?_]X"H/^M`E@`+@-(``<"]/_' +M`2G_UP*+_]4"4__4`I3_UP+*`%0#%``C`````P````,````<``$``````_P` +M`P`!````'``$`^````#T`(``!@!T`'X!C`&3`94!F0&B`:4!J0&Q`;0!N`'4 +M`=T!XP'M`?4"&P(?`BD"+P(S`E0"60)<`F$":@)U`H4"B0*.`I`"D@*6`IH" +MG`*A`L<"RP+=`P0#"`,,`P\#$0,4`W4#>@-^`XH#C`.A`\X$7P3$!,@$S`3U +M!/D%N07$!>H%]!#`$/4?%1\='T4?31]7'UD?6Q]='WT?M!_$'],?VQ_I'^\? +M_B`5(!H@'B`B("8@,"`Z($0@22!Q((X@JB"L(+4A(B$G(7\AFR&H(`B8"+@(R`E`"5@); +M`EX"90)M`G@"AP*,`I`"D@*4`I@"G`*>`L8"R0+8`P`#!@,*`P\#$0,3`W0# +M>@-^`X0#C`..`Z,$``2,!,<$RP30!/@%L`6[!=`%\!"@$-`?`!\8'R`?2!]0 +M'UD?6Q]='U\?@!^V'\8?UA_='^T?]B`2(!@@'"`@("8@,"`Y($0@1R!P('0@ +MJB"L(+4A(B$F(5,AD"&>(<0B`B(&(A$B%2(:(F`B9"7*)FGV.?:^]L/VW/L` +M^QW[./L^^T#[0_M&__W____C_\+_P?_`_[__O?^\_[O_NO^Y_[?_K/^D_Z#_ +MGO^<_YK_F/^2_X[_C/]P_V__;O]M_VK_:/]F_V7_8_]B_V'_8/]?_U[_7?\Y +M_SC_+/\*_PG_"/\&_P7_!/ZE_J'^GOZ9_IC^E_Z6_F7^.?XW_C7^,OXP_7K] +M>?UN_6GROO*OY*7DH^2AY)_DG>20KY!#D#^0'XYOCF.-MXUWC6^-`XPGC!N+\XOOB +M]^*RXJ_?2]ZM#N0.:`YD#DP**0H3"A(*$0H0"@\*#@5A``$````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````!!@```0`````````!`@````(````````````````````! +M```#!`4&!P@)"@L,#0X/$!$2$Q05%A<8&1H;'!T>'R`A(B,D)28G*"DJ*RPM +M+B\P,3(S-#4V-S@Y.CL\/3X_0$%"0T1%1D=(24I+3$U.3U!14E-455976%E: +M6UQ=7E]@80"&AXF+DYB>HZ*DIJ6GJ:NJK*VOKK"QL[6TMKBWO+N]O@!R9&5I +M`'BA<&L`=FH`B)H`0```(2,@XV*CY"1CI66`)2@`` +M`````"$">0```"P`+``L`"P`1@!@`)``Y@$T`8@!F@&T`=(!\`((`AX"+`(Z +M`D@"?@*2`L("_`,<`U(#E`.N`_0$-`1(!&8$>@20!*0$W@5*!60%G`7(!>P& +M"`8@!EH&=@:&!JP&R`;:!O8'$`=(!W0'K`?J"#((1@AN"(`(G`BV",X(Z`C\ +M"0H)'@DR"4`)3@F>"6%Z(7YA?R%_X8"A@6&"(8+AA<&*`8K!BX&,08T!C<&0H9%ADX&9`9P!HF +M&E@:N!KL&R0;,!L\&T@;5!N,&\8;]!PT'&0(> +M"!Y&'E(>7AZN'P8?$A\>'VH?OA_*']8@`B`T($`@3"!B('@@A""0(+(@VB#P +M(0`A""$0(1PA1"%R(9XAMB'0(>8B"B(J(DPB;")X(H0BHB*^(MXC#",V(VXC +MDB/$(^HD!"0J)&HDFB2F)+(D^"4N)7`EP"8&)BHF>B:F)NXG%B=F)ZXGNB?& +M*"HHB"C<*2@I-"E`*5XIF"FL*=8IXBGN*AXJ3"I8*F0JK"KR*R@K7"N<*]0K +MX"OL*_@L!"PH+$@L:"R(+*@LS"SP+0XM2BV0+9@MT"WX+BPN-BYP+J@NL"[D +M+O(O`"\.+TPOBB^N+^(P)#!@,'8PI##*,00Q*C%0,8XQT#(0,EHRCC+.,MPR +MZC+R,RHS6C.0,[0S[#0>-"@T4C2*-,`T[#3X-00U$#4<-2@U-#5`-4PU6#5D +M-7`U?#6(-90UH#6L-;@UPC7.-=HUYC7R-?XV"C86-B(V+C8Z-D8V4C9>-FHV +M=C:"-HXVFC:F-K(VOC;*-M8VXC;N-OHW!C<2-QXW*CB-ZXWNC?&-](WWC?J-_8X`CA<.*XXU#D..1HY)CDR.3XY2CE6.6(Y +M;CEZ.88YD#G0.=HZ'#HF.F@ZJ#JV.L`ZR#K0.Q@[/CN2.YH[P#OV/#H\6CQX +M/)(\L#SP//H].#V"/;0]ZCWX/@`^0CY,/F@^E#ZP/MP^_C\,/QH_)#]P/Y8_ +MTC_^0`A`,$!B0&Q`=D"`0*Q`Y$$:051!7D%J07)!N$'`00EQ";D*` +M0HA"D$*80K1"PD+H0PI#,$-$0TY#6$-B0VQ#=D.`0XI#E$.>0ZA#LD/&0]!# +MZD/V1`1$$D0R1#I$2$141&!$>D2&1))$GD2J1+9$PD3.1/!%,$5"16)%?$68 +M1;)&`D801BQ&2$9L1H1&HD;B1O9')D=&1UI'>$>R1^!(&DA82&1(<$A\2(A( +ME$B@2*Q(YDDX26!)GDG>2A)*1DJ$2JA*PDK^2SQ+4$N22\Y+_$PR3'1,L$S6 +M309-1DV`3;9.!$X03AQ.*$XT3D!.3$Y83I1.H$[63MY.YD\"3PI/2$]Z3Z1/ +ML$^\3\A/W$_D4!!0&%`H4%!06%"`4,!0V%#P4/A1&%$@43Q11%%:46)1:E%R +M4891VE'T4@Y2+%)&4F92CE*\4N)3%E-<4XA3D%/D5!A4*E125%I4?%2R5,I4 +M^%4053!53%5D56Q5@%6(59!5I%7(5BA60E9:5G16CE:N5M16_E<>5TY7B%>N +M5[I7QE@$6!!80%A(6%!8;%AT6*Q8V%D(6119(%DL64!9;%F66<9:!%H86BQ: +M2%ID6I):OEKL6Q);9%NN6\Y;ZEP27#9<7%Q^7)Q1>(EYD7GQ>E%ZL7L)>XE\`7R!?/E]@7X!?IE_*7_)@&F`Z8%I@K&#\86!A +MQ&'48A)B2&)\8JIBTF+P8Q9C/&-(8U1C8&-L8W1C?&.(8Y1CQF/X9`1D$&0< +M9"AD-&1`9(!DMF3"9,YDVF3F9/)D_F4Z969E9GQFB&::9K)FOF;09MYF]F<$9Q)G(&89\!GZ&?\:"1H,FA&:&9HJ&BV:-AI!&DV:5IIA&F2:;!IZFH,:D)J +MBFJJ:LIJ]FL6:U1KEFNL:\)KV&OH;`)L.FQX;,9M(&U6;:!M]&Y$;G)NKF\. +M;UAOG&_B<"IP<'"Z<.1Q3'&@<@)R/G*.=BQVAG;"=Q!W9'>F=\YX#'AN>+)X_'DT>7AYN'H.>D1ZJGL`>V9[I'OT +M?"Y\?GR\?0)]-'V.?=I^$GZ`?M1_1G]Z?[2`$(!D@'"`?("(@)2`H("L@+B` +MQ(#0@-R`Z(#T@0"!#($8@22!,($\@4B!5(%@@6R!>(&$@9"!G(&H@;2!P(', +M@=B!Y('P@?R""((4@B""+((X@D2"4()<@FB"=(*`@HR"F(*D@K""O(+(@M2" +MX(+L@OB#!(,0@QR#*(,T@T"#3(-8@V2#<(-\@XB#E(.@@ZR#N(/$@]"#W(/H +M@_2$`(0,A!B$)(0PA#R$2(14A&"$;(1XA(2$D(2R%^(8$ +MAA"&'(8HAC2&0(9,AEB&9(9PAGR&B(:4AJ"&K(:XAL2&T(;0AYR'J(>TA\"'S(?8A^2'\(?\B`B(%(@@ +MB"R(.(A$B%"(7(AHB'2(@(B,B)B(HHB\B,:(THC>B.J(]HD"B0Z)&HDFB3*) +M/HE*B5:)8HENB7J)AHF2B9Z)JHFVB<*)SHG:B>:)\HG^B@J*%HHBBBZ*.HI& +MBE**7HIJBG:*@HJ.BIJ*HHJNBKJ*QHK2BMZ*ZHKVBOZ+"(L0BQZ++(LTBTJ+ +M8(MVBYR+PHOHC`*,)(P\C%:,Q(S6C.J,^(T$C1"-'(U.C62-@HVVC?:.$HY6 +MCF".>(Z&CIR.LH[(CNR.]H\`CPJ/%(\>CRB/,H\\CT:/4(]:CV2/;H]XCX*/ +MO(_ZD$"0:I!RD'R0C)"DJ:2KI*VDKZ2U)+BDNR2^I,8DR:3-)-"DU"37I-^DYZ3PI/0D]J3Z)0, +ME!:4-I1$E$Z47)1^E(R4FI2HE+:4Q)3.E-B5()4TE625$EXR7E)>')YYI\,GSZ?9)^H +MG_"@!J`TH&:@M*#2H0@``@`A```!;@*:``,`!P`NL0$`+SRR!P0`[3*Q!@7< +M/+(#`@#M,@"Q`P`O/+(%!`#M,K('!@'\/+(!`@#M,C,1(1$E(1$A(0%-_M0! +M"_[U`IK]9B$"6`````(`<````:$"U@`%``D```$'`R,3-Q,'(S.Q$94AD;"'$(0BQ>H"5% +M53I=:6%Q-8=:1%7^ZS1%-"49.#(;4!L8'20,`ETD0R@M"PZ)%S0K-W8HH#PR +M(5]4370T2R]0>$'^K1TG0"`MD`#@``$R+:V>+6U```!`!O_4@#U`)(`"0``-S,'#@$'-S8W(U^6 +M'0Y<4PQ<$U:2B5)9##@09@````$`1@#/`7,!5@`#```!!R$W`7,=_O`=`5:' +MAP`!`$````#U`)(``P``-P2#L?)Q\J*@MZ=$](=THL +M3WF?6U,7(@H630````(`.0```E<"Q0`*``T```$'(P`2P91E].-UI*$QD2!!TC94PL+S4!BWV4 +M*V`````"`%7_Z0)Q`M0`(0`M```W-#X%,S(6%10'(RX!(R(&!S8S,A85%`X# +M(R(F`2(&%106,S(V-30F50<6(#E(:CY580&"!R4D/CX>2DM/60\J/VM"6VP! +M"S=2,"8W3BVK'$QL:6I0,E)'#@DB'EIO.%E.&TI=3#5J`1!C1"^&/M@$%C7T``P`\_^D";`+4`!<`(P`O```!%`<>`144!@<&(R(F-30W+@$U +M-#8S,A8'(@85%!8S,C8U-"8#(@85%!8S,C8U-"8";($N)BXH5(%D=*$C'IUM +M6&[>,D8O)C5*,V$Z434I.TPQ`CIN2AP\+3-I)E)@4I52&S(@7H=6&D$O(BE# +M,"`H_N97/R,N4T$F+0`"`$3_Z0)C`M0`(``L```!%`X$(R(F-30W,P85%!8S +M,C8W#@$C(B8U-#8S,A8C(@85%!8S,C8U-"8"8PP;-DQY25!D!(-TTK)3Q4,@(''UJ`>6M!5D4,%04'&!Y1;R0;7E&&NW!I3"@O +M9DDK,@````(`<0```78""``#``<``"4'(S<3!R,W`28?EA_F'Y8?DI*2`7:2 +MD@`"`$S_4@%V`@@`"0`-```W,P<.`0`A44#@4'#@$'(SX$-"8C(@8'(SX$ +M$P<2R,LJ``"`!H```*_`MD`!P`*```E(0M89D@(YJ3DP+9_2/R@@'J7^ +MQD```W-#X!,S(6%10'(S0C(@X$%10S,C8W,PX! +M(R(F:V[$>'20!(V$-58V)Q0(DTAF%H\AOHF`D^N+Z(=T70TE@RE$35,[%9]+ +M18"0B@`"`$T```,(`MD`"@`5```S$R$R%A44!PX!(R*;6R&05(@&B*)AP+9=X.XFTQ`?2\X+(H[AP`!`$\```+Z`MD`"P`` +M`0I8"B@931X!)&R-A23!1,QT'IAL!B/YV +M6CLTFH-7LT21=5\%'#@]<"E[-4UF(S@Q%GT``0!$```#+`+9``L```$A`R,3 +M,P,A$S,#(P)!_M]&EIN6.@$@.I>;E@%+_K4"V?[O`1'])P`````!`#\```%P +M`MD``P```0,C$P%PFY:;`MG])P+9``````$`.__I`H$"V0`5```!,P,&!P8C +M(B8U-#\!,P<&%106,S(W`>N65V,2Y322(? +M2$T1$1@>50`````!`$H```-+`MD`"P``)0D(T5C8H$PE52S17-R@5"5@"Y9>'6:Y$3$>9@U:R19/]A"=!2DXX%%-=)T!) +M3CD44E\````"`$P```+K`MD`#@`9```!,AX"%10&!P8K`0,C&P$R/@(U-"8K +M`0<"&SM6+!,P*4MSNS>6F^8G.1P-,BB:+@+9(#4V'CIV*U'^_`+9_J@;+2T7 +M(RS;`````@!M_\H#/P+E`!(`)```)1<')P8C(B8U-#8W-C,R%A44!B<7/@$U +M-"8C(@<&%106,S(W)P*N0%U%6F6%FT(Y>KB)G%'302,K5TUR2T=62C$H/F=, +M45$RFH-7L423FH93%()!`;(C<=%DX?$@:?"'YNJ"BU*#D<#"DBD`\W_M\"V1\P,!$10.&QD!_4:^&2@E```!`$S_Z0+5`N4`,P``$S0V,S(6%10'(S8U-",B +M!A44%A\!'@$5%`X#(R(N`C4T-S,&%106,S(V-30F+P$N`9>PDG>%"(P"A$1/ +M,D=M35`2,$I\3DUO.!D$D@)+1$Y=-$1B65`!V'.:6U$9)1(%4S@P'!\.%@], +M.B1(4#PH)3U`(Q$;$@4K+STR(R0.%!)'```!`(X```+Q`MD`!P```0,C$R,W +M(0<"`H&6@=X;`D@;`ES]I`)$!*9U`^&?`BO] +MU0+9_=X"(OW<`B0```$`%@```R("V0`+```!$R,G!R,!`S,7-S,!\YRS6KVO +M`3:1LD^WKP%T_HSY^0%O`6KL[``!`+8```,E`MD`"````0,C$P,S&P$S`=TZ +MECJ1IU+/IP$._O(!#@'+_L4!.P`````!`!X```+=`MD`"0```0`A44!P,&%107!R,F-#<&(R(F +M-30^`S\!/@,U-",B!@CM].-P&UC5XS/HM;-S\````!`$W_Z0)5`B4`'P`` +M`3(6%10'(RX!(R('!A44,S(V-S,.`2,B+@(U-#8W-@&.6VP$A@$>,U`H)5DI +M-A>&'XUA/5DM%#DL3@(E8$@+(#(Q54I69RTU9&XF/CXA1YXU7P`"`$__Z0*\ +M`MD`$``<```A-P8C(B8U-#<^`3,R%Q,S"P$B!A44%C,R-C4T)@&5#$1B3EY. +M)W,]8R(WC)NE/F`O*$!?+S=.U]U +M$OZ5`S0K)#T/BBF16UYU"A@O0FB%5F4AW`(E;E@Y1!P1*3,B'5-<%0"'`````+_U?\F`6T"V0`#`!$```$'(S<7`PX! +M(R(G-Q8S,C8W$P%M&XP;9(<.654<$1@%%!<7!8`"V7U]O?V&03L%;P04&`): +M``````$`.P```HL"V0`+```!`S49W:ZE6-V\B]&(A`V+D1B-K&;V6M=GM9M`S=11ADU0(E? +M-3\```(`"_\F`GT")0`.`!H```$'-C,R%A44!B,B)P,C$Q68?/(RAZD!@,"A!7S`"'%!9<%^7UUC^Y@+V9XU?,SZ,7S0^ +M```"`$C_)@*3`B4`$``<```!,P,C$P8C(B8U-#<^`3,R%P-#Z- +M7S0]``$`/P```><")0`.```3,P<^`3,R%P,2\8"A1$ +M'Q@1%`\9%CP``````0!E_^D!G@*B`!@```$'(P,&%10S,C<'!B,B)C4T-Q,C +M-S,W,PQ)0"'/YU`8L```$`>````W$"'``,```A(PL! +M(P,S&P$S$1,S`FF1!::0)9$%GY"CD0%\_H0"'/Z&`7K^A@%Z`````0`0```" +MB`(<``L```$3(R<'(Q,#,QZ@[>ZCI;Z@S>Z@!$O[NJ*@!$@$*HZ,` +M``$`)?\E`HT"'``5```!,P$.!",B)S<6,S(V-28")S,3`?V0_IH(#2$I22X; +M$1<+$30]#3<)FB0"'/V"#!XA'!($;0(R*VL!@3_^=P`!`!4```(_`AP`"0`` +M`0`A44#P$&%10[`0"\=,1PX'`$@1TL:*A@<)9$9*AD<````__\` +M`````````!`"``,````"`!K_1@%+`AP`!0`)```7-Q,S`P<#-S,'&BUK0Q@M +M&A^6'[K2`37^R]("1)*2```"`$__A`)6`GH`)@`O```!'@05%`@)%4C`E%Q55&3%!$E=$)'@C,D$A3D(%60P\&@XI.V<_S`2# +M`5TN1`'P$586-PT--5TZ%@L1'6TM'AQE+E,T%",W3!\4-44X)[`6(0H074`` +M```"`$(`9`*$`EP`&P`G```!-Q<'%A44!Q<')P8C(B<')S-EX+-SY3/3<_-U(V2C`F-4LP +M`A!)14LA&T](3$1+'A].14TA'T]$3T1-'V)+-R8O3#8E,````0!K```"O@+` +M`!8```$'(P+$8K1DE0%R>@31XO$AD03!TT'P````(`DP)M`=4" +MY0`#``<```$'(S'AX>``#`#;_Z@-%`N<`'``L +M`#@``!,T-C,R%A44!R,T)B,B#@(5%!8S,C'"`J'RL!5E!0 +M0PH("`8*+BHD+T0(!@$#`P0&"`P'&108<"8B"Q&T!0@,:1<$`@(!!@0=%1XH +M``````(`AP!(`CL!X0`&``T``#\"#P$7!S\"#P$7!X<8QQEX4AA-&,<9>%(8 +MVG*5=5E9`%X``4``!,A`R,W(8`!^#UW)/Y_`7C^ +MWJH```#__P!&`,\![F-A)P\!#`5F!04E*1D>9A>=A:Z&W7F$ +MKH;=:&"P:XEI8+%KBJ@54P8CK0&Z66`L$A\460T-"!40[B`K$@]L`5VL@W77 +M@JR#==>"2&JO7VJ+:J]@:HH``0"6`H(!TP+2``,```$'(3"5*R,I`=<_`22AZ*,1PB4-%P16$A@?'Q@F`````0!Y_T$"K`+9`!$``!,T/@(S +M(021`9CL!+@\LM&*T/K1B84M8`;,N9%HZ2?RQ`T_\L0'* +M!%H````!`(\`M@$.`1H``P```0&S$Z'3,>&A(/$@T``0#2`1P!M@+%``<```$C-S(W,P,C`3QJ#70D/UI> +M`CT]2_Y7``````,`7`$&`=<"V0`#``\`&P```0%(8`4]SE'5967*2"5 +M*R,I`C]5_;M5`N`0+A->%+$0V6PW72.,`=<_`2@4U +M0T,M-"@R1PQR'Y8?.QTL5SDN8%(L3S$L%`H?)C(V4S$M/B&S$Z'3,>&A(/$@U4 +M"(QMB^B'=%X.(X,```#__P!/```"^@.H$","`P#A`+,2`@`H``#__P!/```" +M^@.I$","`@#(`+02`@`H``#__P!/```"^@.H$",!_P#<`+,2`@`H``#__P!/ +M```"^@.9$",`:@#:`+02`@`H``#__P`_```!<`.I$","`P`&`+02`@`L``#_ +M_P`_```!Z`.I$","`@`-`+02`@`L``#__P`_```!TP.H$",!_P`.`+,2`@`L +M``#__P`_```!X@.9$",`:@`-`+02`@`L`````@!)```#"`+9``X`'0``$R,W +M,Q,A,A85%`<.`2,A$P*;?[CWRZ& +M05(@&B*)AR>N$0%54`$T=X.XFTQ``578+S@LBCN'MU#__P!$```#,`.;$"," +M"`#P`+,2`@`Q``#__P!J_^D#/`.I$","`P$3`+02`@`R``#__P!J_^D#/`.G +M$","`@$``+(2`@`R``#__P!J_^D#/`.I$",!_P$,`+02`@`R``#__P!J_^D# +M/`.;$",""`$-`+,2`@`R``#__P!J_^D#/`.9$",`:@$+`+02`@`R`````0!F +M`!("1@&\``L```$7!Q<')P`A44!@<&*P$'(Q,S!Q,R-C4T)BL!!P("/%8J$S`H37&[ +M'I:;EAI02C\R*)DO`F$A-38=.G8K48P"V7C^J%4W(RS;``````$`0__I`HX" +MV0`G```E/@$U-"L!-S(V-30F(R('`R,3/@$S,A85%`8''@$5%`X#(R(G-P$_ +M3EIQ#Q0[23`I5!%RC'<1D&E;;T(X+S,/*3QF/Q<" +M+DY=44(Z710+1C470EA(,P=P````__\`,O_I`D("]Q`B`@-;`A("`$0````` +M__\`,O_I`DP"]A`B`@)Q`1("`$0`````__\`,O_I`D("]!`B`?]P_Q("`$0` +M````__\`,O_I`EP"VQ`B`@AH\Q("`$0`````__\`,O_I`D<"XQ`B`&IR_A(" +M`$0`````__\`,O_I`D(#!A`B`@9S`1("`$0```````,`-O_I`Y\")0`S`$(` +M20```3(6%10'(085%!8S,C8W,PX!(R(G#@$C(B8U-#X#/P$^`S4T(R(&!R,V +M-S8S,A"`T-`@X%0C$U1S1&`8HL +M*6,@`B5Q53E$'A4F,"(=4%]D."Q$/0\D."\J"0D!"0P>%BLB*58H/3$Q_K,F +M!@0"`0L(,",R0:4;*S!V`````0!-_R0"50(E`#H``"4.`BL"!S8S,A85%`8C +M(B-5]@2`L@,C%52E9G+34`__\` +M0/_I`D\"]A`B`@-Y`1("`$@`````__\`0/_I`D\"]Q`B`@)8`A("`$@````` +M__\`0/_I`D\"]1`B`?]F`!("`$@`````__\`0/_I`D\"XQ`B`&IK_A("`$@` +M````__\`0P```4("]1`B`@/D`!("`/,`````__\`0P```<`"]1`B`@+E`!(" +M`/,`````__\`0P```:H"]!`B`?_E_Q("`/,`````__\`0P```;H"Y!`B`&KE +M_Q("`/,```````(`4__I`GD"Z``=`"P``#`%1PO`21X +M>*@=%APM'!4=+@%2'18<+1P5'2X```,`#/_:`L4"+0`4`!\`*@```10&(R(G +M!RK'EF'SR,R<)`8#`H05\P`MG^\UEP7I?75_[F`[/^W(U> +M,SZ,7C0^````__\`)?\E`HT"Y1`B`&IR`!("`%P```````,`&@```L(#A0`' +M``H`#@``)2$'(P$S$R,+`@$'(3<"%/[P49D!EZUAF2`CF@%Y$?[4$9.3`MG] +M)P$0`1O^Y0)U4%```P`R_^D"0P+2`"H`-@`Z```!,AX"%10'`P85%!<'(R8T +M-P8C(B8U-#X#/P$^`S4T(R(&!R,^`1,W!@\!#@$5%#,R-A,'(3%BLB*6)9_K0F!P<+"#`C +M,D("-U!0```#`!H```*_`Z8`!P`*`!H``"4A!R,!,Q,C"P(!,PX!(R(F-30W +M,Q44%C,R`A3^\%&9`9>M89D@(YH!0BH+6SLO.P8J)R--DY,"V?TG`1`!&_[E +M`I8^43HN$18(&QX````#`#+_Z0)"`O(`*@`V`$8```$R'@(5%`<#!A44%P%BLB*6)9_K0F!P<+"#`C,D("5SY1.BX1%@@;'@`````"`!K_%P*_ +M`MD`&0`<```%-#X"-R,G(0M83I,-R`A44!P,&%107!P85%#,R-P<&(R(U-# +M1F;KB^B'=%T-)8,I1$U3.Q6?2T6`D(H#-9:6```"`$W_Z0)5`O4`'P`C```! +M,A85%`,U`H +M)5DI-A>&'XUA/5DM%#DL3@$]GD9F`B5@2`L@,C%52E9G+35D;B8^/B%'GC5? +MT):6``#__P!K_^D#&0/0$",!_P#_`-L0`@`F``#__P!-_^D"50,3$"(!_WL> +M$`(`1@````#__P!K_^D#&0.U$","!0#]`-`0`@`F``#__P!-_^D"50+X$"(" +M!7D3$`(`1@```````@!K_^D#&0.H`!X`)0``-S0^`3,R%A44!R,T(R(.!!44 +M,S(V-S,.`2,B)@$C)S,7-S-K;L1X=)`$C80U5C8G%`B32&86CR&^B8"3`?=L +M1TX]9TSKB^B'=%T-)8,I1$U3.Q6?2T6`D(H"HI-A80````(`3?_I`E\"]0`? +M`"8```$R%A44!R,N`2,B!P85%#,R-CW`WBFULAD%2(!HBB8?`;$=./6=,`MEW +M@[B;3$!]+S@LBCN'N9-A80`#`$__Z0-R`MD`$``<`"<``"$W!B,B)C4T-SX! +M,S(7$S,+`2(&%106,S(V-30F`3,'#@$'-SX!-R,!E0Q$8DY>3B=S/6,B-XR; +MI3Y@+RA`7R\!4WH5"%@Y"B$P!$,W3G)>@G$X04\!`_TG`;6,6S8_C%XT/@$D +M8#M8!"X&,2(```(`20```P@"V0`.`!T``!,C-S,3(3(6%10'#@$C(1,',S(V +M-SX!-30K`0W`WBFW^X]\NAD%2(!HBB8# +MN)M,0`%5V"\X+(H[A[=0``(`3__I`NH"V0`8`"0```$W,P@G$X04]^0^*,6S8_C%XT/@`"`$\```+Z +M`X4`"P`/```!!R$'(1,A!R$'(0<3!R$W`2@H`8L;_=^;`A`;_H8C`5T:*1'^ +MU!$!.KU]`ME]I7T"2U!0``,`0/_I`D\"T@`;`"$`)0```3(6%10'(085%!8S +M,C8W,PX!(R(F-30^!!U]U$OZ5`S0K)#T/BBF16UYU"A@O +M0FB%5F4AW($1_M01`B5N6#E$'!$I,R(=4UQS71@^5T]&*M=G=@&34%#__P!/ +M```"^@/,$","!`#J`-H0`@`H``#__P!`_^D"3P,/$"("!'4=$`(`2``````` +M`@!/```"^@.6``L`#P```0=0H8+T)HA59E(=PB&FX:`B5N6#E$'!$I,R(=4UQS71@^5T]&*M=G=@&F +M>'@```$`3_\7`OH"V0`;```%-#8W(1,A!R$'(0<+E0:`ME]I7V]?29$ +M)2@+-`DH``````(`0/\7`D\")0`K`#$``"4.`Q44,S(W!P8C(B8T-C<&(R(F +M-30^!#,R%A44!R$&%106,S(V/P$T(R(',P(H%5-(-S,H'PLN'D!&,$$F%5YV +M"A@O0FA`7W42_I4#-"LD/0\B5F4AW)@L5CA'(RL+-`DK3#HG!W1<&#]64$8J +M;E@Y1!P1*3,B';9G=@```@!/```"^@.H``L`$@```0U]U$OZ5`S0K)#T/BBF16UYU"A@O0FB%5F4AW`9L1TX] +M9TP")6Y8.40<$2DS(AU37'-=&#Y73T8JUV=V`2.386$``/__`&O_Z0,S`]`0 +M(P'_`0@`VQ`"`"H``/__`!K_)@*0`Q,0(P'_`(8`'A`"`$H````"`&O_Z0,S +M`Z8`)@`V```!`R,W#@$C(B8U-#8W-C,R%A44!R,N`2,B!PX!%106,S(^`C`21LC84DP +M43,=!Z8;L"H+6SLO.P8J)R--`8C^=EH[-)J#5[-$D75?!1PX/7`I>S5-9B,X +M,19]`AX^43HN$18(&QX``````P`:_R8"D`+R`"``+``\```7(B8U-#F&[1Z%0A8.0HA,`1#`8C^=EH[-)J# +M5[-$D75?!1PX/7`I>S5-9B,X,19]_CQ@.U@$+@8Q(@````,`&O\F`I`#5@`@ +M`"P`-P``%R(F-30W,P<4%C,R-C\!#@$C(B8U-#8W-C,R%SA0(63D*(BX%0MI),0T2#!8=/3%)+")L4DF8-6A<4_W28&@" +MCY!<-#R'6SA"JF`[6`0N!C$B````__\`1````RP#T!`C`?\`]0#;$`(`*P`` +M__\`0P```H(#T!`C`?\`O0#;$`(`2P````+_]P```O\"V0`3`!<```$S!R,# +M(Q,A`R,3(SP!2_ZU`A1#@H*"Q4P````!__8```(C`MD`'@```3(6%10'`R,3 +M-C4T)B,B!@<#(Q,C-S,W,P(3LO_KP"5$-"0D.&5P#__P`_```"!P.W$"," +M"``3`,\0`@`L``#__P!#```!W@+Z$"("".H2$`(`\P```````@`_```!T@.% +M``,`!P```0,C$S<'(3`````$`0P```4("'``#```!`R,3`4)SC',"'/WD`AP```#__P`_```!<`+9 +M$`(`+```__\`0P```6H"V1`"`$P``/__`#O_Z0*!`]`0(P'_`(D`VQ`"`"T` +M```"_]7_)@&Z`UX`#0`4```!`PX!(R(G-Q8S,C8W&P$S%R,G!R,!18<.654< +M$1@%%!<7!8!.;$=./6=,`AS]AD$[!6\$%!@"6@%"DV%A``````(`2O[-`TL" +MV0`+`!8``"4'(Q,S`P$S`1,C"P$S!PX!!S<^`3`MD0(P!Y`1L`A!`"`"\``/__`$,```(&`MD0(P!Y`/@`R +MC!(H5CA#4`9-C$,&2C))#D&,`A.>1F8"'%(P*T@\&QS^E@$Y(1!+1S[^T`+U +MEI8```(`1/[-`S`"V0`)`!0```$#(PL!(Q,S&P$!,P<.`049W:ZE6-V\B]&(A`V +M+D1B-@%'$?[4$;&;V6M=GM9M`S=11ADU0(E?-3\">5!0`/__`&K_Z0,\`\P0 +M(P($`1$`VA`"`#(``/__`%+_Z0)Z`P\0(P($`)``'1`"`%(````$`&K_Z0-) +M`Z@`$``D`"@`+````3(6%10&!PX!(R(F-30V-S83,CX$-30F(R(.!!44%@$' +M(S1F8!.IY& +M9@+EEX=9KD1,1YF#5K)%D_V$)T%*3C@44UTG0$E..1127P,_DY.3DP````0` +M4O_I`L8"]0`+`!D`'0`A```W-#8S,A85%`8C(B8W,CX"-30F(R(&%106$PUFT#-U%& +M&35`B5\U/P*ATC-'VE?0$K +M.%!B31Q064D!:DD```,`1__I`]H")0`A`"\`-@```3(6%10'(085%!8S,C8W +M,PX!(R(F)P8C(B8U-#8S,A87-@$R/@(U-"8C(@85%!8E-30F(R('`PI?<1+^ +ME@%B8O(AU07R@A26MRC!_[A`O66E@````,`4/[-`Q$"V0`?`"D`-```)30V +M-30K`0,C$R$R'@(5%`X#!Q85%`85%!<'(R83-"L!!S,R/@(!,P<.`0`A44#@,'%A44!A44 +M%P$10.&QD! +M_4:^&2@E`1&386$``@`_```"%0+U``X`%0``$S,'/@$S,A<')B,B!P,C`2,G +M,Q`144#@,C +M(BX"-30W,P85%!8S,C8U-"8O`2X!`0PDG>%"(P"A$1/,D=M35`2,$I\ +M3DUO.!D$D@)+1$Y=-$1B65`!\IY&90'8$`(`5@```````0!,_R0" +MU0+E`$@``!,T-C,R%A44!R,V-30C(@85%!8?`1X!%10.`P\!-C,R%A44!B,B +M)S<6,S(V-30F(R('-RX!-30W,P85%!8S,C8U-"8O`2X!E["2=X4(C`*$1$\R +M1VU-4!$P27M/&Q86'2)21#M*'CTF'"<8%!8?-W!N!)("2T1.731$8EE0`=AS +MFEM1&242!5,X,!P?#A8/3#HE2$\\)P$G!AX;,3H=,QX:$@\2#5017%<1&Q($ +M*S`],B,E#1021P`````!`#S_)`)-`B4`1```$S0V,S(6%10'(S8U-"8C(@85 +M%!8?`185%`8C!S8S,A85%`8C(B;`6'`R\I*#`;)F!ZDWP:%A4=(E)$.DL>/24<*!@4%A\V$#<^ +M+02)!&8N.ATO3T(_`5E8=$U$$!8.!1@<'1@/$PL<)5=?`144#@,C(BX"-30W,P85%!8S,C8U-"8O +M`2X!`AEL1TX]9TS]\["2=X4(C`*$1$\R1VU-4!(P2GQ.36\X&022`DM$3ETT +M1&)94`,5DV%A_C!SFEM1&242!5,X,!P?#A8/3#HD2%`\*"4]0",1&Q($*S`] +M,B,E#1021P````(`//_I`E4"]0`M`#0``!,T-C,R%A44!R,V-30F(R(&%106 +M'P$6%10&(R(N`C4T-S,6,S(V-30F+P$N`0$C)S,7-S-_D7->;`6'`R\I*#`; +M)F!ZEW\_7"T5!(D$9BXZ'2]/0C\!2VQ'3CUG3`%96'1-1!`6#@48'!T8#Q,+ +M'"578'(>,2\8"A1$'Q@1%`\9%CP!,Y-A80#__P"$_R0"\0+9$",`>@"1```0 +M`@`W``#____K_PT!G@*B$"(`>OCI$`(`5P```````@".```"\0.H``<`#@`` +M`0,C$R,W(0&P)(&\)L1TX]9TP"7/VD`EQ]?;F386$` +M`@!E_^D"0@,]`!@`(P```0/ZY(PY+2#T!/K904````/__`'?_Z0,I`\P0(P($`/<`VA`" +M`#@``/__`%C_Z0*0`P\0(P($`(X`'1`"`%@````#`'?_Z0,I`[D`%@`B`"X` +M``$S`P8'!B,B)C4T-Q,S`P85%!8S,C8W$S(6%10&(R(F-30V%R(&%106,S(V +M-30F`I.6:1I17HEQA@MEEFD%03I$3@X-'RE$+!\I1"(4(1,/%"`3`MG^$GA` +M2F=7)#0!VOX2&Q(H+3]#`LXH'RM"*!\K0C(=$PX2'A,-$@`````#`%C_Z0*0 +M`P4`%@`B`"X``"$C-PX!(R(F-30W$S,#!A44,S(V-Q,S)S(6%10&(R(F-30V +M%R(&%106,S(V-30F`AV,#RA6.$)0!E",1@9,,4@-1(R_'RE$+!\I1"(4(1,/ +M%"`31#`K2#P;'`%X_KDC#DM(/0$^Z2@?*T(H'RM",AT3#A(>$PT2``````,` +M=__I`RD#J``6`!H`'@```3,#!@<&(R(F-30W$S,#!A44%C,R-C<3!R,W(0[^$D1=*CXA+"`L```!`%C_%P*0`AP`(P```0,&%10S,C<' +M!B,B-30W(S<.`2,B)C4T-Q,S`P85%#,R-C<3`I!S?34A(PLK&XN500\H5CA" +M4`90C$8&3#%(#40"'/WD0$XI"S0)3UA"1#`K2#P;'`%X_KDC#DM(/0$^``#_ +M_P"H```$/P/0$",!_P%C`-L0`@`Z``#__P!X```#<0,3$",!_P#D`!X0`@!: +M``#__P"V```#)0/0$",!_P#=`-L0`@`\``#__P`E_R4"C0,3$"(!_W0>$`(` +M7````````P"V```#)0.8``@`#``0```!`R,3`S,;`3,E!R,W(0'@``@`>```"W0.H``D` +M#0```0>1F8"V7W^(7U] +M`=]]SY:6``(`%0```C\"]0`)``T```$'`2$'(31F8"'''^QG%Q`3IQV9:6```"`!X```+=`Y8`"0`-```!!P$A +M!R$W`2$W)0'@` +M`@`5```"/P+E``D`#0```0'@```(`'@```MT#J``)`!````$'`2$'(3LRCF0SM;HR/L/%4H$!TW&QA7/3!*>?ZX>T(V+50?NI)U?4HN1;T! +M.D`G/J4!(A\T,!LG03`2#CI1-&TB-0)#*ATJEIANEP#__P!2```"[0+9$`(" +M=@````+_\/_I`C0"V0`.`",```$B#@(5%!8S,CX!-30F%Q0.`B,B)P`@%.+$0A#RXJ,$PD+[TX5V@Q9"`,C)L!>QOO'$)D'S@V(0&P-E!$ +M�\3&0P-#Y:3HQ=-DXW`ME]AD\3*U8````"__\```)C`MD`"P`5```!%`8C +M(1,G)0,S,A8%,CX"-30K`0<"8Z""_KYC40$>-[M37?[8*CP>#6*,+P$GA*,! +MU$NZ_OQ=^QPM+QE*VP````+_\/_I`C4"V0`.`!\``"4R/@$U-"8C(@X"%106 +M)10.`2,B)P3&0P-#XW4$07-#S[4Z=V3CDB&;/46R.$IX3S4]8`P&(1H@.38@E7DZ)!,[0#$7 +M66%\=7DK``````'_K_\F`J\"V0`2```!(0_^D#40+L`"L```$B#@,5%!8S,C8W(S(QR!$HS2@I%C`(<3E=$ +M0!D>_G)&EB*RR"F&M@)BV%F7%@31X:-C]?3!\<-ST``````@`O +M_S@$4`+P`!``,@```2(.`Q44%C,R-C_1T"XPT-.RTR +M0@DM-Z'8F8`U``(`1P```Y4"V0`(`"$```$R/@$U-"L!!R4T-C,A,A85%`<. +M`2L!`R,3(R(&%10S!R(":39%%F*,+_YJDG4!A&!C"!>39;LWEGM"-BU4'[H! +M@3$\(TO;4VZ74D\;)F^$_OP"0RH=*I8``O_G_R8"T@(P`!``*0```2(.`A44 +M%C,R/@,U-"87#@$C(B<#(Q,S!S8S,A[^$CM=."0. +M``````(`#O_I`MT"PP`(`!X```$.`PG_3U`5T1` +M&1X!>/ZE&`E`.C`!4O__``+_WP,Y`N,0"P(_`NH"RL````$`:````UH"V0`6 +M```!-"8C(@<+`2,3`S,3-S8S,A85%`#F@9+A4A%?\C +M4U@6&Q84$"0^"5&:(XA%`C`*&3 +MP7U]TP4&&!XU(141:'M<41H@"Q-1```!__?_Z0(K`MD`&@``)S0V-R@+T$","``"#__\2`@!2``#__P!W_^D#*0.T$","``#Q`+\2`@`X``#_ +M_P!8_^D"D`+T$","``"'__\2`@!8``#____4_^D!XP(E$`L`2`(C`@[``/__ +M``$```10`W$0(P(!`=X`GQ("`(@``/__`#;_Z0.?`L40(P(!`0S_\Q("`*@` +M`/__`&O_Z0,S`[00(P(``0D`OQ("`"H``/__`!K_)@*0`O00(@(`8/\2`@!* +M`````/__`$H```-+`[00(P(``0$`OQ("`"X``/__`#L```*+`Z@0(P(```(` +MLQ("`$X``/__`&K_"`,\`N40(P('`(K_\1("`#(``/__`$'_"`)Z`B40(@(' +M*O$2`@!2`````/__`&K_"`,\`W$0(P(!`/L`GQ("`8@``/__`$'_"`)Z`K$0 +M(@(!?M\2`@&)`````/___]7_)@'*`NL0(@(`Y?82`@4F`````/__`$T```6O +M`MD0(@`G```0`P`]`M(``/__`$T```41`MD0(@`G```0`P!=`M(``/__`$__ +MZ02B`MD0(@!'```0`P!=`F,``/__`&O_Z0,S`[<0(P("`18`PA("`"H``/__ +M`!K_)@*0`O<0(@(";0(2`@!*`````/__`$0```,P`[<0(P(#`.0`PA("`#$` +M`/__`#\```)U`O<0(@(#?P(2`@!1`````/__`!H```,"!(L0(P("`2`144#@,C(BX"-30W,P85%!8S,C8U-"8O`2X! +M$S,'#@$'-SX!-R.7L))WA0B,`H1$3S)';4U0$C!*?$Y-;S@9!)("2T1.731$ +M8EE0>7D4"%DY"B(O!4,!V'.:6U$9)1(%4S@P'!\.%@],.B1(4#PH)3U`(Q$; +M$@0K,#TR(R4-%!)'_BI@.U@$+@8R(0`````"`#S^S0)-`B4`+0`X```3-#8S +M,A85%``J(`&``C```!!R,#!A44,S(W!P8C(B8U-#<3(S,J0(B#0T8+R4U,08?1&$?.#("PB%1,+ +M"`\R0'4M+T<6`1(.)SQD0'9@#PP<+T!@/0EE;!4C&0TL`3]'+`41%2HK)44< +M)A]%&A-FA!PS-B<93U$O239.22T;`3E`(SHE%`<@``'_M?\F`3D"'``5```W +M`PX!(R(G-Q8S,C8W$R,W,SG%A`Y$%431/"Q`Q +M2B]06P&P8$T>&C([4#\N$Q0Q/?[Z5:UY7&M".@5P!"/]TE]I3C`,#S\],4DL +M(F@``/__`!K_)@*0`B40`@!*`````0`T_R8";@(<`!4```4C$P8C(B8U-#<3 +M,P,&%10S,C8W$S,!S(P\2VE(3`=0C$H$23-+"DB,V@$:5T1`&QP!>/ZE$!%` +M.C`!4@````'_]@```B,"V0`@```!-"8C(@8'`R,3/@$S,A<')B,B!@\!-C,R +M%A44!P,C$S8!CR`F+TD+1(R`#D9!)2T7#0P7%@082V4[5`=,C$8%`6\8)SLO +M_KP"74(Z!7`$$Q=P5SQ&'!W^E@%*&P````$`#?\F`CH"V0`J```!-"8C(@8' +M`R,3/@$S,A<')B,B!@\!-C,R%A44!P,.`2,B)S<6,S(V-Q,V`:8@)B])"D6, +M@`Y'02,O&`T+%Q<$&$ME/%,&80Y'02,O&`T+%Q<$5`4!;Q@G/"[^O`)=0CH% +M<`03%W!7/$89(/XX0CH%<`03%P&)&P`````"_^(```$<`MD``P`/```!!R,W +M$POC*D"(@T-&"\E-3%>`S?\Z`P%&01P!24J$P````$`!/]Q`NH" +MV0`J```%,CX#-30F)R8C/P$A`R,3,P`144#@4C(B8U-#*@@' +M7HC^50+9O7&;#T8Y#B4V,S4G&5Q1&Q\0#E$```#____E__H#.`(?$`L`4`-T +M`A_````!`#;_)@.*`AP`)P``!2,3#@$C(B8G!B,B)C4T-Q,S`P85%!8S,C8W +M$S,#!A44%C,R-C<3,P+HC#TL2BXR10M-8D1*!5*,30(A'BU`"D6,30(A'BU` +M"D6-V@$=*2,J)E`_.A,;`7[^F`P&&!PY,0%$_I@,!A@<.3$!1````0`9_R8# +M:P(E`#```!,S!SX!,S(7-C,R%A44!P,.`2,B)S<6,S(V-Q,V-30F(R(&!P,C +M$S8U-"8C(@8'`R.,BP\L2RYI&4QC1$D%90Y'020M%PT,%Q8$6@(A'BT^"T6, +M3`(A'BT^"T6,`AQ#*2-04#\Z$QO^)$(Z!7`$$Q0CH%<`03%P`!`!S_)@)2`B4`(@``$S,'-C,R%A44!P,&%10S +M,C<'!B,B)C4T-Q,V-30C(@8'`R./C!%-:$=,!EL"(PP-%S`E-3$&6P-),TH* +M18P"'$Y71$`9'OY7#`49!'`%)2H3&@&K$@Y!.C#^O````/___]4```(K`AP0 +M@P*=`?0``,`````;-4````#__P!2_^D">P(E$`(#&P````,`/O\W`LL"V0`& +M``X`*````0X!%106%Q,#/@$W-C4T)QX!%10.!`\!(S9@H8,4)I0":,`;()AU0P/`8!5_ZI"5Q$ +M'1YE?P5I7!D^5$Y&+02SL@5J6Q@_54]&+@.T````____QO_X`6X"'1`+`%4! +MK0(=P````?_M__@!O`+9``X``"$C-PX!(R(G-Q8S,C<3,P$AC!QL"'?VE#`49 +M!'`%)2H4&<@V/0&.!'L``?_O_S@!P0(E``X``!,S!SX!,S(7!R8C(@<#(XV, +M%R)=,`D''A@3?!EHC`(<:C<\`8X$>_X9```!``+_)@'#`B4`&P``$S,'/@$S +M,A<')B,B!P,&%10S,C<'!B,B)C4T-X^,%R)=,`D''A@3?!E+`B,,#1_ZB#`49!'`%)2H3&@```0`%```!S0(E`!(```$V-30C(@8' +M`S,3/@$S,A44!S,!QP:?5G,338Q&"QT>(0J,`6H>&X)B6?Z6`4TT+2(4*P`` +M`/__`$L```'-`B40@P'D`7X``,`````;-4````#___^]```!]`(<$(,"M`'< +M``#`````&S5`````____O0```BH"'!`+`K0"3P(74&'`VD#*C4``````0`H_R8!+0(P`!P``!,#!A44%C,R/P$& +M(R(U-#<3-C4T(R(/`38S,A44F6L&,34E+Q@-#2(":`5R*B<6$A8?`9W^!1H3 +M*B4%<`09!0P!Z!L16P-I`QL)____G?]M`-8")A`+`%#`-B"U@4$P(/79&1```"__K_Z0)\`AP`%P`@```A +M(S<&(R(F-30_`2,W,S*X?&QL;&APX0$4`V.0#___^;```! +MI0(<$`L`60(F`AS``/___Y(```*+`AP0"P!:`P,"',``____E@`!`?X"^!`+ +M`%P"(P(=P````?_S_R8"'`(<`!@```$'`2$'!A44,S(W!P8C(B8U-#\!(3 +M<0$Z<0````'___]Q`D`"'``F```7,CX#-30F)R8C/P$C-R$/`1X!%10.!2,B +M)C4T-S,&%13@'3`<$P(`Q<6("8> +M"QXJ"`=>B'%QFP]&.0XE-C,U)QE<41L?$`Y1```!`%<```)0`N@`)````2(& +M!R,^!#,R%A44#@0'#@$/`2,W/@8U-"8!;"]/#X@/-CQ,/2%?;Q,?)B4@"C0> +M"BM\*PDE*S$L(Q8N`G)+1D%B-R(+85$E1"XK&1<$("8QR`Q44#P$C-S8U-"X#-30W/@$S,AX#%10' +M(S8U-"8!;#=-%R(A&`(S$2PV__\`0O_Q`C@"V1`+`?4"CP+9 +MP`#__P!2_^D">@(E$"(`4@``$`,`>0"7`"'__P`\```"9`(<$`("EP````+_ +M\/_V`@\"(P`9`#(``#("TB%1,*"`\Q04$T+2]'%O[N"R0[9T0)<%T/#!PQ +M0F)`:6A>+-D?)RP&$Q0L*21$'2<=)2$9%&:%&C`W)QP!4D\O13E122P9/CUG +M-!___P`\```"D@(<$`("H@``____U/]``B0"&1`+`$X"7P(9P`#__P`\```! +ML0(<$(,"F`!S`AQ`````Y,K```````(`&?\F`L$"L``0`"X``"4R/@(U-"8C +M(@X#%106)S0^`S,R%S<^`3,R%P4"]0`&```!(R`````0#Q`FT!>0+E``,```$'(S1IN&@+E>'@```(`U@)1 +M`8X#!0`+`!<```$R%A44!B,B)C4T-A#AH9-A$_*2`G,A4,(14"Z#\["QD.,#@]$14*,P`````"`%("8@'R`O4` +M`P`'```!!R,W(01F8"]9.3DY/___]B`E\`!@+U$`,`0_ZS +M`````/___ZH"7P".`O40`P!V_K,`````____.@)B`'@"]1`#`?_^LP````#_ +M__\H`FX`IP+H$`,""/ZS`````/___TD"@@"&`M(0`P!Q_K,`````____;P)C +M`'H"\A`#`@3^LP````#___^D`FT`+`+E$`,"!?ZS`````/___T8";0"(`N40 +M`P!J_K,`````____B0)1`$$#!1`#`@;^LP````#___\%`F(`I0+U$`,""?ZS +M`````/___UH"8@"8`O40`P(`_K,```````+_!`)?`&0"]0`#``<```,S%R,E +M,Q`````0"9`BT!?@+I``,```$'(S0#3!`B`AUF8Q`"`&KZE```____C__G`G8"Z1`C +M`AW_;```$`("*`````$`;@#Z`3X!O@`.```3-#X",S(6%10&*P$B)FX-&C8D +M)2I--`,D*`%$#20K'B4C,DHH`/___U?_YP+/`ND0(P(=_KX``!`"`BP``/__ +M_U#_YP+J`ND0(P(=_K<``!`"`BX``/___V7_YP$<`ND0(P(=_LP``!`"`C`` +M`/___Y__S0,$`OL0(P(=_P8``!`"`C8``/___S7_YP,N`ND0(P(=_IP``!`" +M`CL``/___WS_YP+H`NL0(P(=_N,``!`"`C\``/____3_\`%]`ZP0(@(>F6`0 +M`@)/```````"_X__YP)V`N4`!P`0```%(R:'<@4;;:H5`P49VMH"_L`+*K&D!1P?``````/_TO_G`I`"Y0`4`!T` +M*````1<>`A44!@<&(R$3(3(>`A44!B_`25!6RP2/EDT3W>'.#(-`C(;+^T:`P,"__V(`79B-@-"3/Y]``````'_V/_G`L\"Y0`+ +M```%(1,A!R$'(0_=\!K1EZ`=$H +M!89V_?X```'_R?_G`NH"Y0`+```%(Q,A`R,3,P,A$S,"*Y!4_KY4D+^02@%" +M2I`9`5+^K@+^_MH!)@`#``#_VP,"`O,`&``Q`#4```$R'@,5%`('!B,B+@,U +M-#X#-S8#%!X",S(^!3BMXCK^[*P+^'@+^_?9-`P0#-0(@```!_\#_YP+E`N4`"0``!2,+`2,3 +M,QL!,P(FA]1]CK^)TWZ,&0'X_@@"_OX(`?@````#_\[_YP+%`N4``P`'``L` +M``$A-R$#(3A0=CL;;%>`I%!V.QMJ67^M(#8V'#YE0"X7"A8C+BP627(_*@T"^S-5 +M6#!Y[TEM,U58,'CN2VW]^2Y$(@\N359;018E.R,7"4->(8```$`/__G`RX"Y0`-```)`0,C$P,S%Q87/@(W`R[^7%"04+NO7!X! +M*5QW'0+E_D/^OP%!`;WC4P(P9H(@``/_]__G`M("Z0`4`!L`(@```1X!%10. +M`0\!(S`7%6I?0=*2@=Y7#Z$`0&-"/*F +M_I:^LWL&"@$)!1`!_+$!C*JM60(7`>P(\?Z5_FT!"Q`*`0$+!1(!_OP!CP%O +MP@4L```!`!+_Y0,O`NH`)```$Q06.P$3,P,S,C8W$S<##@8C,PHAZ`4U)$UJ-7@TM+T(N1!L9`260)0%Q;PM>BUH(`48E(P'I +M_A'#E. +M.BH)%R0])CQM2"IS'O[&'WH_*5!KD4Y0=#P:`=MQR#U^>0H?/4EP/QGY&9#N#?60],519`/___\W_YP&/`YD0(P!J_[H`M!`"`C```/__ +M`#__YP,N`YD0(P!J`)P`M!`"`CL``/__``O_]`)G`Q\0(P(=`+\`-A`"`D<` +M`/___^+_]@(9`R(0(P(=`(0`.1`"`DL``/__``/_*0)"`R40(@(=9#P0`@)- +M`````/____3_\`%G`R(0(@(=Z3D0`@)/`````/____+_V0(_`ZP0(@(>.&`0 +M`@);```````"``O_]`)G`B@`#P`F```W,CX#-30F(R(.`A44!2(G!B,B-30^ +M`S,>`1H!1``````"_]__^P)4`M0`#P`I```W,CX#-30C(@X#%10G-#X"-RAR"&$-44#3/:2D;/7I4"7!8`H(!<$0U)C-)'4@8'B(9"6A( +M.DTE#G5I.QXO(T%`)P%*20LR'P&B&FFB6"LN +M,4\4%!P19W0L(0\5%T55.Z`A8("..7=A,8!Y9$@K"PH$!Q(E&426+3DV$@H' +M$2-*``$``_\I`D("+``?```3,A87-SX!,S(>`A44!P,G$S8U-",B!P,C$SPE`<21-BFT&`B@'/`(L*Q,+$2$:+"H8'D7] +MZ28![206-Y'^RP&W#`AV%````__Q__0")`+;`!4`'0`H```!,AX"%Q44#@(' +M!B,B)C4T/@,7-"8C(@8._MQ-'3,A'Q`*Y1("VR$Y.B(.+8F=C"`D7%0L?J6)7\TN+<$[_MU8 +M'"8^+2!'``'_]/_P`/("(0`4```W%#L!-C<7!B,B)C4T-Q,S`P8'!A6)#04/ +M-1!7+B]'"&F-90(!`8,.`A=_'R\W'AT!D/Z!"04#`@````'_Y?_R`EP"'P`+ +M```%(R)C(DKU;C^Z@[W'MD"+:NKV``````!_Y;_ +M^P'R`MP`)```)3(W%P8C(BX!+P$F)P,C`2*OXI3!+T>-!H3$@0"$!T!0OZ((PT!`P$-3",M +M-P<)"P35`N'^O@\``````0`P__<"4@(>``8```$S`2,#,Q,!PI#^G'1*DBD" +M'OW9`B?^KP````'_WO\L`BP"V``O```W,A85%`)0$W_C\$`<5X>/[+%P4"`@$!'W@<`````O^__Q\" +M7`(M`!$`(0```3(>`A44!@<&(R(G!R,3/@$#,CX"-30F(R(.`A44%@&+.UR6^!S--)A$[)C),)1$X`BTE/3\B5[0S3R7C`>^3C/XL/%9( +M&#@P.U9*&S8N`````0`,_RH".@(Q`"P```$R'@(5%` +M`10/`23$[2`0&"1@A'5LC +M%CE224H7(0```O_\_]L"KP(K`!H`*@``)S0^!3,R%C,A!R,6%10.`R,B+@(7 +M,CX"-28C(@X#%106!`@5(3A'9ST*(@```W%C,R/@0W +M$S,##@$C(B\0 +M!P(0```!`!3_'P+D`A\`(0``%RX#-30W$S,#!A44%A<3,P,^`S<3,P,.`P\! +M(]DB/C\F"E*,2PHL)&N(:Q,<+R4+2XQ2"RM&;T8RB!H!$")$+R,G`4G^TR@? +M)QX$`:O^50('&CXO`2W^MRQ-2"P#QP`!__G_W@+@`BL`-0```187%10&!P8C +M(B<&(R(N`ST!-#8W%P85%!8S%CX!-S8_`3,'!A44'@(W,CX#-S0F)P*>/P-K +M62PW72-$7"4Y(Q<(ETEWSQ@@#Q0)#QH&/H8^`@\4%`4>,!L3!P$?)@(K0H8. +M;_(N*;&M)28!!`4+%!KX^`H&$1<&!`$G-D0Q$SI0.?__ +M__3_\`%H`MD0(@!JD_00`@)/`````/____+_V0(_`MD0(@!J,O00`@);```` +M`/____+_]@(T`QP0(P(=`(L`,Q`"`E4``/____+_V0(_`R(0(@(=?3D0`@); +M`````/____G_W@+@`R(0(P(=`.,`.1`"`E\``/__`$\```+Z`[<0(P(#`,X` +MPA("`GH``/__`$\```+Z`YD0(P!J`-H`M!("`GH````!`%/_6P,"`MD`)``` +M`3(6%10'`PX$!PX!)P,#F``#``<`"P```0,C$S<'(S'AX>`#__P`[_^D"@0+9$@(`+0````+_X0``!`L"V0`;`"8```$R +M'@(5%`X#(R$3(P<"(S*%KM'@$A.R$<`S@""CY>.SI0`0&<)XP!LQ\V."`\7SDD#@)?ZXFP(`&_Z6(W%(/EZS*`&W&"8S,!HX;B$U +M`ME]I?[&2BY%O0#__P!2```"^@+9$@(`)0````$`2@```N4"V0`%```S(Q,A +M!R'@EIL"`!O^E@+9?0```O_._VH#4P+9``X`%```-R,#,S1"@IWF9L_OZ6E@$"`FW^])K'$6*_ +MOOXA`/__`$\```+Z`MD2`@`H`````0`6```$I0+9`!$```D!(P$#,QL!,P,! +M,PD!(PL!(P(8_K&S`;7NI+H[ECL!,*3^?`$5L]4]E@$=_N,!>@%?_ND!%_[I +M`1?^H?Z&`1W^XP`!`$/_Z0+,`N4`+@``)3(^`34T*P$W,S(^`C4T)B,B!R,^ +M!#,R%A44!@<6%10&(R(F-30W,P85%`%D*4!@H)A,A)W(9,$&1<. +M!V0```$`1````S`"V0`)```S(Q,S`P$S`R,3VI:;EFD!BIJ;EFL"V?X0`?#] +M)P'X``````$`1````S`"V0`)```S(Q,S`P$S`R,3VI:;EFD!BIJ;EFL"V?X0 +M`?#])P'X````__\`2@```TL"V1("`"X````!_^$```+>`MD`$0```2,'#@0C +M-S,R-C<3(0,C`B[>*`T>-T)F/1X!,D@B.`(*FI8"7+X]9790-I&:H@$,_2?_ +M_P!"```#HP+9$@(`,`````$`1````RP"V0`+```!(0,C$S,#(1,S`R,"/?[? +M0I:;ECX!(#Z7FY8!-_[)`MG^VP$E_2<```#__P!J_^D#/`+E$@(`,@````$` +M1````RP"V0`'```!(0,C$R$#(P)[_M^`EIL"39N6`ES]I`+9_2<```#__P!, +M```"ZP+9$@(`,P``__\`:__I`QD"Y1("`"8``/__`(X```+Q`MD2`@`W```` +M`0"(```#00+9``<``"$C-P,S&P$S`3:NHI*C8_6NX@'W_J"AHP*1PA2FTR3R\?"Q@@,2(6$$H!PBM89$LR7E[&+%1B2#!;6P06)4HG +M(#!".1XG,Q8'`6#^H"`Q0#P=("\7#0/^H`````$`%@```Q\"V0`+```!$R,G +M!R,!`S,7-S,!\INR5L&N`321LDVYK@%T_HS]_0%O`6KP\``!`$3_:@,T`MD` +M"P``)1,S`S,#(S8:`7PWNU-= +M_M@I.Q\-8HPN`2B$I`)<`7S^_%S\'"TO&4K;``,`0@``!`T"V0`#``X`&``` +M`0,C$P,4!B,A$S,#,S(6!3(^`C4T*P$'!`V;EIO0H(/^OIN6-[M37?[8*3L? +M#6*,+@+9_2<"V?Y/A*0"V?[\7/P<+2\92ML``````@!"```"IP+9``H`%``` +M`10&(R$3,P,S,A8%,CX"-30K`0<"IZ"#_KZ;EC>[4UW^V"D['PUBC"X!*(2D +M`MG^_%S\'"TO&4K;``````$`:O_I`Q,"Y0`B```3/@$S,A85%`<.`2,B)C4T +M-S,&%106,S(V-R$W(34T)B,B!Z(BNHM_BPTFW9AYB`22`D4_3G8>_MP;`2-. +M1WP\`>)PDXU_.#NPS75G'!@2!SH_;6-]"4]9@P```@!"_^D$F@+E`!X`+P`` +M!2(N`C4T-R,#(Q,S`S,^!#,R'@,5%`8'!@,B#@,5%!8S,C8W-C4T)@+@4',[ +M&@.P0Y:;ECZS#"-'5H-*064])P]B2G(5/&`Y)0Y22EJ,&`I2%S186S(:&_[) +M`MG^VR!"6T0P(SA-2REOS$!E`GPW3V%+&U)=BG`K*5)<```"`!8```,4`MD` +M#0`7```3-#8S(0,C$R,!(P$N`24B#@(5%#L!-Z^?A`%"FY8W(?[0LP$M14\! +M*"D['PUBC"X!LX.C_2*@L>#"`0/1<63Q,K5O[--T]$%S0]-U!$%S0\``````,`/````F0" +M'``/`!@`(```)10&(R$3(3(6%10.`@<6)S(V-30F*P$'%S(U-"8K`0<"0'UD +M_MUS`2!4014H%1)`O2LK'R-T%$I>("9Z&+9,:@(<1RX=,",/"BM:&244#V'? +M3A4.<0```0`\```""P(<``4```$'(P,C$P(+&-!;C',"'''^50(<`````O_J +M_X,"W`(<``X`%```)3,'(SA`;=RC%J?"BN* +MQAQ$G)D0P*P`!`#P```+/`AP`#```)2<#(Q,S +M%S,(2K?^_P(<^_O]Y`$!MP````$`/````I(" +M'``+```3,P3M[0``__\`4O_I +M`GH")1("`%(````!`#P```*2`AP`!P``$R$#(Q,C`R.O`>-SC%O+6XP"'/WD +M`:O^50#__P`+_R8"?0(E$@(`4P``__\`3?_I`E4")1("`$8````!`&4```(7 +M`AP`!P```0J@W@*CN=Z@U>J@!$/[PJ*@!$`$,HZ,```$`//^#`JP"'``+ +M```S$S,#,Q,S`S,'(S<\)]``$`<````G0" +M'``-```3,P,S$S,#(S0/[=A@"'/WD`AS^J!X^0"@"',_? +M3A4.<0`"`#P```)!`AP`"0`1```E%`8C(1,S!S,R!S(U-"8K`0<"07QF_MUS +MC"QTONA>("9Z&,18;`(`3,R-C6G^GB8W0S03 +M-CTW4448-C\````"`"4```*2`AP`#0`5```3-#8S(0,C-R,'(SA@!6%9N_>3/S]H.0H1.%0YQ``#__P!` +M_^D"3P+W$"("`UL"$@("F@````#__P!`_^D"3P+9$"(`:FCT$@("F@`````` +M`0`A_U,"3@+9`"<```$R%10/`0X!#P$6,S(^`3\!-C4T+@$C(@',0X#""F0DQ8N!S`\(V5-&*H7J@R,#$871GB,0PE& +M`:5!$A'17GX"/@%*E%/>'1TP/!170"',EX>'AX`/___]7_)@%M`MD2`@!-`````O_D```#3@(<`!L` +M(P```3(6%10&(R$3(P<.!`PG+SY%-SQ' +MNS>6FP%"7V,!MRDQ2]L'.RQ)+W\Q/BPW(O[\`ME2``````+_Z/\F`EP")0`1 +M`"8```$B#@(5%!8S,C,ST%N, +M<]P;`IKO_E4"''X```$`2@```N4"V0`-```!,P``$`//]\`@L" +M'``:```!!S,R%A44#P$&*P$W,C8_`38U-"L!!R,3(0"(#'5/98]_K&S`;7NI+H[ +MECL!,*3^?&S^_I8!'?[C`1W^XP%Z`5_^Z0$7_ND!%_ZA``````$`$/^#`V," +M'``5```E,P)]QL;&Q@$H]+V]O;WT```!`$/_%P+,`N4`/```!1X"%`8C(B\! +M%C,R-30F)RX!-30W,P85%!8S,C8U-"L!-S,R-C4T)B,B!R,^!#,R%A44!@<6 +M%10&`6@3*2I(/ATP"A\H,BDP96D$D@)*0TQ>4QQ +M>3)X<5.%`C*0DT"R@:0QT/?1,3"!L=!DPM +M;DD4'$E684I"+DD3'2Y9=@`````!`$K_:@-)`MD`#@``)3,#(S)]QL8" +M'+V]]``!`$H```-)`MD`$P```2<#(Q,S`S\!,P]]/[8QL8!IE`F``$`C@```_("V0`,```S +M$R,W(0,!,PD!(PL!\X#E&@%\.P%8L?Y'`46[_3T"7'W^Z0$7_J'^A@$=_N,` +M``$`9````ND"'``,```S$R,W(0"()9" +M_M]"EIN6/@$@/I=L_OZ6`3?^R0+9_ML!)0```0`\_X,"H@(<``\``"4S!R,W +M(SWM`AR\O``!`$0```1B +M`MD`#0``(2,3(0,C$S,#(1,A!R$"CY1"_M]"EIN6/@$@/0'.&_[(`3?^R0+9 +M_ML!)7T````!`#P```-7`AP`#0``(2,W(PT"'+R\<0```0!$_UH$4P+9`"````$#,S(5%`\!#@,K`3X"(-'1[^M@)<_:0"V0`!`#S_?`->`AP`'````3,R +M%A44#P$&*P$W,C8_`38U-"L!!R,3(P,C$R$"86Q!4`88''51$B(="!(%/4HH +MC%O+6XQS`>,!*TD[&QQPA%@=)4@:"#N[`:O^50(<``$`:O_I`Q,"Y0`;```! +M,A85%`E\1JO8I;9`.& +M`2,!M#Q71!AK+#5A<6AEI%H%0'+_KX!0OXU%6B1``$`7O]# +M`M,"'``.```%!R,W(SFIF@! +MR_Z^`4+^-6@```$`%O]J`Q\"V0`/```E,P,C-R,G!R,!`S,7-S,!`F!$-X(@ +M,%;!K@$TD;)-N:[^TVS^_I;]_0%O`6KP\/Z;```!`!#_@P*&`AP`#P``)3,' +M(SJCI9>)]J*@!$`$,HZ/^]``! +M`([_:@.Z`MD`#P```0,A$S,#,P,C-R$3(S"(/VJ@+T9 +M`@H9`ES^(0)<_9/^_I8"7'U]``````$`9?^#`NT"'``/```!`S,3,P,S!R,W +M(1,C-R$'`61#RUN,7G@P;AO^$UMS&`%R&`&K_L8!J_Y)XGT!JW%Q```!`*'_ +M:@,!`MD`%@``)3,#(S("K7X"(--``! +M`'\```)T`AP`%P``)28U-#\!,P<&%107-S,',Q,S`R,W(P2E7P````$`H0```OD"V0`2 +M```!,S(5%`\!(S;E@''IB,GU^`: +M%1T>_K8"V0`!`'\```)T`AP`$@``(2,W-C4T)BL!`R,3,PQ%PX8&/[Z`ARED!T?`````O^Q_^D#$P+V``8`.0```2X! +M(R(&!Q,R%A44!R$&%106,S(V-S,.`2,B)C4T-RX#-30V,S(6%10'(S0F(R(. +M`A44.P$^`0)[`C9(/&@CW7:,#?X!"TE$1F46DB+'B'V)#3%-+!=Q4S8\`5$5 +M&API$P@U73?)`>(]1D8]`0-[9&,V,C--5$Q&?9.-?4(X`B`R-QQ=A3=&4``O^Q_Q<#$P+V +M``8`2````2X!(R(&!Q,6%10&(R(O`18S,C4T)B=&5>0"P5*Q`H*D1'7`````$`/P```7`"V0`#```! +M`R,3`7";EIL"V?TG`MD``````@`6```$I0.P``\`(0```3,.`2,B)C4T-S,5 +M%!8S,@D!(P$#,QL!,P,!,PD!(PL!(P-'*@M;.R\[!BHG(TW^Z_ZQLP&U[J2Z +M.Y8[`3"D_GP!%;/5/98#L#Y1.BX1%@@;'OVN_N,!>@%?_ND!%_[I`1?^H?Z& +M`1W^XP````(`$````V,"\``/`"$```$S#@$C(B8U-#_A?&`2CTO;V]O?3^V,;&``$`2O]=`TD"V0`?```E(PD"(-'1X``````0`[_WP" +M<`(<`!L```$R%A44#P$&*P$W,C8_`38U-"L!!R,3,P;E@$"IJ8@*M?@(@T='@%*_2<````!`'__@P)T`AP`%@`` +M)3```%(B8U-#9[V% +M7&T!8-$!`54L.ZQ`+!4K$"@J1%!?9EV8X65M!@1=-```__\`9?_I`Q,#M1`C +M`&H!`@#0$`(#"@``__\`0/_I`E("^!`B`&I]$Q`"`PL`````__\`%@``!*4# +MM1`C`&H!KP#0$`(">P``__\`$````V,"^!`C`&H`\P`3$`("FP``__\`0__I +M`LP#M1`C`&H`S@#0$`("?```__\`./_I`DD"^!`B`&IQ$Q`"`IP```````$` +M0__I`LP"Y0`N```E,CX!-30K`3<>]P$B2E73"UN,QP3%TE684I"*TL4'2Y> +M?8X3$P@>(`#__P!$```#,`.-$",`<0#Q`+L0`@)]``#__P`\```"D@+0$",` +M<0"*__X0`@*=``#__P!$```#,`.U$",`:@#V`-`0`@)]``#__P`\```"D@+X +M$",`:@"/`!,0`@*=``#__P!J_^D#/`.U$",`:@$1`-`0`@*#``#__P!2_^D" +M>@+X$",`:@"0`!,0`@*C`````P!J_^D#/0+E`!0`'0`F```%(BX"-30V-S8S +M,AX#%10&!P83-C4T)B,B!@<%(085%!8S,C8!@E!S.QI=3W2:064])P]?372& +M`E%*4H,>`7W^<0-22E.&%S587#-FST9E)#A.2REKRT-E`:H,%U)=P(E``L`$P`;```V-#X!,S(6%10&(R(!-30F(R(&!Q$`("J```__\`C0```OD#M1`C`&H`U@#0$`("C```__\`<``` +M`G0"^!`B`&I]$Q`"`JP`````__\`0@``!`T#M1`C`&H!8P#0$`("D```__\` +M/````UT"^!`C`&H`]``3$`("L`````+_4O\"_\[_Q``#``<```4@`` +M```#_VK_`@#0_\0``P`'``\``!5S!!44!P,S!R$W(3L8 +M`2\V`0(*&"8AJA@"6`8>)3(K&AX$_OUS<_H>&1\-#P9S```!_[<```&D`E@` +M%P``$QX#%P,C-P+`>5S<_X;```"_]<```(\`E@`$``4```!'@05%`<#(Q,N +M`2`144!P,C$RX!)R,#(Q,!9V-R`4^+3@(?2WIGBX`"6`5E5AX$_HH!;44E +M#OX;`E@```$``@```CH"6``I```!(@\!-S8S,A85%`\!!@<&(R(F-30W$S,# +M%107'@$7/@$_`2X")RX"`4,1$!`:(Q)A=P$?-&%83F)Y`4^+31L?$QE`0A<< +M`0(,#1(4%`'E!@9Z!6I8&@:4C"HL:U@9!@%V_I,,/Q,2!P$"0#:"&QDB"`H, +M!`````$`#`$4`-P"6``#```3!Q,SHY=%BP%-.0%$```!`"W_.`'A`E@`$@`` +M`1X#%10'`R,3+@0G(SHMY`0(*&"8ANAD"6`41*$TW&@;]P@(U +M'AD?#0\&\"6``:```!'@05%`\!#@,'(S +M'T(!"9:\-4XJ&A8($A\``````O_8```"0`)8``@`$0```3(6%10'`R$3!30F +M)R,#(3M_`5LZ+H!/`/\V`@)8;%$3%_Z/`EC3*S,"_H[^#@`` +M`?_>```"50)8`!<```$T+@(K`0,C$R,W(3(6%10'`R$W,S`144#P$&!P8K`B(F-30W$P4N`2-B`P8'"49`5+^I$1$0!],>"0!\P`!`"#_ +M.`(J`ED`(@```1X!%10'`R,3-C4T)R8C!P85%!8[`00,U$I,0!!0;-AE!!B`3'1H+'@4K`ED#94D8&_W#`C<;"BH>"D\/#0X) +M +M```"2P)8``\```$^`3\!,P<.`0<3(3 +M`6H"(BZ$?[^EXK`G0!`P,3$0X8 +M%Q+(<_Z\AN7]Q0([```!`"X```'J`E@`$````1X$%10'`R,3+@$G(S0AD9 +M"@H(#"PF#`@)-D(8`2X<*S4F(A(!4(L!;AT4(0@0!P;_``4B&BD?(PTL!70# +M`R8/&"G\,"6``#``<``#,3,P,A$S,#V("+ +M@/YT@(N``EC]J`)8_:@``````@`,```!WP)8``,`!P``,Q,S"P$'$S/4@(N` +MO)=%BP)8_:@!33D!1``````"``P!%`'>`E@``P`'```!!Q,S`0<3,P&EET6+ +M_L6718L!33D!1/[U.0%$``$`.0'6`-\"V0`%```3#P$C)S??'$4X#1P"V8*! +M@8(``@`Y`=8!RP+9``4`"P``$P\!(R`P)<"A`S&.3U$_MTM02`..S%&7#\!#6Z?3U05,TL\+P..$14, +M%U4Z\@M0Y1PL*Q8J*TTY+"P``````@!E```"DP+D`"D`-P```10.!2,B)C4T +M-SX"-S8U-",B!A4C/@,S,A85%`85%!X#!3(V-30F(R(.`A44%@*3!Q,=,D!? +M.&.+!1%H?T\;*"HQ>`4[4SP81D\>%1T=%?[02UX_-1$S/BM"`1@.)S8U-BD9 +M5E42&TYJ+09D*3`_,$)<)PY`/!]O#A(?&ATNTE-$+S4/'T$K+S(``````@!R +M`!0#@0+D`#0`0@```10.`R,B+@(U-#8U-",B#@(5%!X%%10'(BX!-30A(@4TC4F5-7_XT1B,C)#49"B0"1!0W3#\L#!]!+Q]+ +M"#`]5T,5*C<=%API43H2"0$#!9('=@T[7X.U.3I9Y5$Z(RPB,RH/(BH``0!H +M```"E`+D`"0``!,^!#,R%10/`0X!(R(F-30W,P85%!8S,C<3-C4T)B,B!A7) +M!#)"3SH6M`PU%Y-J8'<:BR(S+G49#`P$B0K2CT,"&5R2P````,`L0```S`"Y``>`"H`.@`` +M`10&(R(F-30V-P8C(B8U-#X#,S(6%10&!S8S,A8E,C8U-"8C(@85%!83,CX" +M-30F(R(.`A44%@,PJ'Q:=27WA3 +M("T$0",P"$43G')<;0'2XE$T4!*AA$5D`Y8!'3@X4S0G_QA5/H5D21\Y2TP8/EP^10)>46E73#DC&GEY#@4J(QIY +M<`\-*C)'.Q,F'RTQ%B!93!(5`@@"(3$=$P<"<3A@@+`_/S\_2P````(`8P`` +M`H0"Y``F`#(```$B#@(5%!_LYI!$0.!2%7TXN159,3P`8I.CHI`?"8[+"\\2R9#9$5$`1&! +M?(Y>0#5#'@@I'PTY6TY%/E!"58Q72R,J!Q@[+40N("H2'#`M``&@```10&(R(U-#<3,P,&%10S,C8U-"8T-S,&%106`EZF>,,*8GA? +M"U@Y42$,@@LC`/]7J*XA,@'/_D`S(%E8,!M;(B`6$PY/```#`'````,]`N0` +M,@`^`$H```$4!B,B+@(U-#-S$B.204!B"`6#4N&D4:"&%Q(B03 +M&2T7%!K)+1<4&B@=$QH``````0"G```#'@+D`#P```$&%10S,CX!,S(6%S8S +M,A85%`<##@$C(B8U-#%1\%.DDU1`-'&ZV`87PAC"A"-T)<#D,$(S0.&7@8!A4.(R$\ +M(RTN$P+0$Q,9*2H;%"X[,@X/_K1_CFQ91TL[0S1!5T,!/!0*)T!X&@7DVI@=QJ+ +M(C,N(#0<%@8$*`$L'"4V"0&2+D0D%@4VP_X0:G9?53Q!.S$K-A@<+A40O`0( +M&1TQ)@````$`=0`4`X,"Y``Y```!%` +M!1<6%10'(BX!-30A(R('-S,F-30V,S(7-C,R%@.#68=<(B,K-P45>`$-!STX +M1(454RQ"*"L.$@%..PW^[G062!9*,YEX43--9T=1`D=F;WM)(2DZ&F8(,RH2 +M0W=8B!D$#0@4&2T>)R\.!P$#!9(':3UDBJA`0%D````!`&@```*\`M``(P`` +M`085%#,R-C\!,P,.`2,B)C4T-S,&%106,S(V/P$&(R(F-30W`;%!1"Q!"1IX +M:1>5:U]U'(DB,RX\2`TN/$]'3D$"T$E02#PL>?X0:W5?53M".S,J-4H]URE& +M/U1>```"`&H```+"`N0`*0`Z```E#@$C(B8U-#<^`3,R%S!`I.TX=/D)$'T)40D`'_J`E.B`5!S\N+4(>#3[257U43Q$98W`B +MM@\.+R\Y&$H*+$R(*#(R3C\9)?Y+%Q\H'`HH+"`P)@TI+``````"`%0`%`*! +M`N0`'P`I```!%`E8E+$$A#E8_)2MD`1\J&!@' +M)B0P*A<;&!T.+``"`&,```*?`M``#@`:```W-#X!,S(7$S,##@$C(B8W,C8U +M-"8C(@85%!9C77T\-3%(>&T4GF!1;-DU3"TF-DPNHDQX.B4!5?X!8'%8#%0Q +M)"]4+R4P`````@!X```"_`+D`"4`-@``)10&(R(F-30W$SX!,S(7-C,R%P5]5/$$[,2LV2CV7*#6(+A,6%B`K(@`` +M```"`'<```)<`M``$@`>```E#@$C(B8U-#<3,P,W,P<>`144!3(V-30F(R(& +M%106`E`4G5]5=`5M@DBLC9E#3_[Y-TPO)CA(+,U=<%E-$AD!__ZKG7H'64(4 +MA%0P)#!6+B4O`````0`<```#X0+C`%$``!,T-C,R%A\!-S8U-",B!S=`DL)T05$A47&R;W#P(#"!$,'#$5>R,"!5&-,C:%31(4#@5> +M06$\7\H0#ARLHVC<'+"%*B"\N)R\8#RA'(A(7"1%9:($.$!<+ +M.AL7'T`@``$`8P```IL"T`!%```!%`8'%A44!@<6%10.`R,B)C4T-S,&%10S +M,C8U-"8C(@8C-S(6,S(U-",B!B,W,A8S,C4T+@$G)C4T-S,&%107'@,"FT`= +M,#P=)BT_3CD65W@8@A5>+4`P';C&Q(7!)N$"<@,D(>+"L>"VX#'2HJ'=A8@$9`+2$< +M'ATC/BX9*!L>,"`='P\,&RL?(#,``@!%```"&0+0`!T`+````10&(R(F-30W +M/@$_`2,B-30_`3,&%106.P$&#P$6`3(V-30F(R(.`Q44%@(9FX%29@43A%HC +M:3<##VX#%1E^$`0J*U$T2#D-"P00'1\6_N81,CTK-2Y6:D4%%CI*/"E43D)@ +M,2(A$SX'#!<;;10C0"TC-#$>/S01'QH>+\$.'D$L+D`*#FL[+3```@`9_OL" +MV0&D`#8`0@```10.`R,B)C4T-R8C(@85%!X"%QX&%10G(RX%(R('-S,F-30V +M,S(7-C,R%@5!SX4>5],8#5N,RTU&23PR04L5'#8E(PP&(!9:22$;'CXS!P0"!P(('DY7/0`` +M`P"5```"AP+D`!X`+``[```3-#X#,S(6%10'-C,R%A44!PX!(R(F-30W!B,B +M)C*`P9&1XI#1M_(S,7"D4B-!H,)0(>+4@J'0H^-$:T+$X^&AUB +M?U1':LLB001+1DTZ-$%)%BLI'R8,!B`6 +M6G8>#UHO`````0`B_OP#EP&D`$@```$4!R,V-30C(@X$!R,W-C4T(R(.!``Q<6%10')S0G)BH..+"4!B-U6\Q-%/8EE +M028[4DHG/4D\10$73VQ=2#T2%BD9+P5<"!`V$!*Q```!`"W^_`(R`:0`+```-S(V-30G-S,R-S,##@$C +M(B8U-#8W,P85%#,R-Q,&!Q85%`8C(B8U-#DE,9A1]7T=C +M(Q1N,D=;%5$M.QMI439#'EH=IC86(`E,/?X>7V=$/BA3&T@X,$R$Y +M2S$O+BHF(BT```$`1P`4`QP"T``^```!%`%2HV(!TB/2`!YU8U!6A2%3Q13T\\)8%M.KI6 +M.JY-3EM9@7Y0&1<4-W4_,218(R(T/W4_K$T=&R`P-APCZ$0D&Q\X*QLD```! +M`$+^_`+``:0`/@``$P85%#,R/@(S,A87-C,R%A44!P,.`2,B)C4T-S,.`144 +M%C,R-C<3-C4T(R(/`2,W-C4T(R(.`B,B)C4T-^DS&Q0P)CD=&20$-%,P-P1" +M&*)U6X,Q9A(643!"8`T_`R4V#QAD'`03"RTO32DH+CD!I#$D&"(I(B(9.SHN +M"1C^RG-V3DU".QI`$R@I34(!*0H+)TYQB!(,&20L)"\E/#X``@!*_OP"WP&D +M`#H`2@``!10&(R(N`34T-S,&%10S,CX#-30K`3J(0\7TDE9AN$*T$E +M%P +M+"8-(2H>+"4-(2L``````0`&_OP"1@+0`"H``#)BPT +M#PP;``$`&O[\`LP!I``[```!%`+1H1!@(*9#MD%#9'0SHC.SE*```!``;^_`(,`:0`)0```085 +M%!8S,C8_`3,#!@<&(R(F-30V-S,&%106,S(_`08C(B8U-#4AT3,T(!%W&2/8(F)2T^ +M*\X"&5E>,C0-#X\#6B].N@(S(1`310```0`B_O<"H`&D`#$``"44!@<6%10& +M(R(F-30^`C%R4)_E`D-2H0*C0G-R\/)RX``@`&_OP" +M<@+0`"<`,@``-S0^`C,R%Q,S`S`3,R-C4T(R('/P$G)B,B!A44'@$7!R8T/@,S +M,A\!-S8W-BX!*P$W,S(6%10&#P$7%@86,S(V-30G-QX!`J%@15D8-'U$;$]2 +M0A<721TK)BT9#1/,+0P7%!X%"`%F%"$N.2L/4Q8HHA@"`0D'!H44G2\S'2;9 +M+`,!#A8:&!9:!Q0T-F53MD442418'VT3'S45)@18'1<)%1@&,RA00208 +M"$^16@P+!00!6ALD&D`5>H\),1LE#Q`Y,!%#``$`0P```DP"T``^```E%`8C +M(B8U-#`Q44!Q85%`<6`@:7=E-C'7`<7T@^1#D3!"4,6$@,)`034AP9.%(('B\! +M"#@M"2U`0"U/+50POU9I34@W.BLQ4#\F+5H",B("6A<.%!4*`PHM'@@$)`$" +M`QL<"@TE(5,=%#-3'!L```(`.@`&`R\"U0!,`%,```$4!Q85%`8C(#4T-P<_ +M`3X#,S(5%`<&%106,S(V-30N`C0V,S(6,S(V-30N`C4T-C,R%C,R-C4T+@(U +M-#,R'P$6'P$6%10'%B4^`34T(R(##TT2HX#^V@56%54()3]A-E?Z"&)K4$HK +M,RL;%@E'&Q,6*#`H$A40,142$"8N)B@2"@\-'S4W/Q_^#3T_%#L!:U(J'1U. +M8>T<)B1D(2)><4U3L7@N(%1-&"86(!,G-"4Z$P\1(QDM&A0?.!8+$B$8+AXV +M#QL3#14;.$7"`7``````(`'?_\``0&]EGM93Q(I +M(!TI!@\."2LF.TA'$Q`HGMX5`6L+KPXK-0X(?)Y3-"4V)Q4/+P0/$1\3(21> +M1T8$,+=C,L@N-``````!``'^[@(M`M0`0@```10.`@<6%10&(R(N`C4T/@(W +M%P85%#,R-C4T)S#1)(P\(%2\B)2I=05!R$`152A`O4#AV8#U(/R4=%1D6'B@, +M.VLH`0T1*SDY%"9%:(H7)R85$"`"8`,0`Z```3-#8S,A44#P$& +M!S,'(P``00`@(H``#_ +M__^/_^<"=@+K$",$;_\U__`0`@(H``#___^/_^<"=@+F$",$8_]1``$0`@(H +M``#___^/_^<"=@+E$",$$",$5@#F_^\0`@)'``#__P`+_P<"9P+>$"(" +M&QH$$`($3`````#___^/_^<"=@.P$","!`"?`+X0`@(H``#___^/_^<"=@-Q +M$",`<0"9`)\0`@(H``#___^/_^<"=@+E$"($?L;P$`("*`````#___^/_^<" +M=@+E$",$AO]>__`0`@(H``#___^/_^<#E`+E$",$5`+,_^<0`@(H``#___^/ +M`CT`I0-]$$,`#_]M`NM1=T````#__P`2````R`"Q$`,"&_^6`/T````!`'(" +M1P#_`N4`#```$S<'#@$C-S,R/@$W(Y1K#PE)+`D##`X1!2D"Y`%%*3`J`Q45 +M``#____3`G4!4@+O$`,""/]>``<``/__`'8";0'U`XH0(P16`*,`FQ`"`&H` +M`/__``/_$P)"`OX0(@(;BQ`0`@0-`````/__``/_$P)"`BP0(@(;BQ`0`@)- +M`````/__``/_$P)"`R40(@(;BQ`0`@)$`````/__``/_*0)$`N(0(P16`/+_ +M\Q`"`DT``/___^O^Z@)$`N(0(P(;_V__YQ`"!%L``/___Y?_YP+/`N40(P1^ +M_NC_\!`"`BP``/___W?_YP+/`N40(P2&_H#_\!`"`BP``/___XC_YP+J`N40 +M(P1^_MG_\!`"`BX``/___VC_YP+J`N40(P2&_G'_\!`"`BX``/___\G_YP-E +M`N40(P14`IW_YQ`"`BX``/__`'("1P&A`N40(@1^3N\0`@15`````/__`'(" +M1P'Q`N40(@2&%ND0`@15`````/__`!<"1P&6`YH0(P16`$0`JQ`"!%4``/__ +M__3_\`%:`O`0(@($D_X0`@)/`````/____3_\`%A`K$0(@!QCM\0`@)/```` +M`/____3_\`%I`XL0(@1\E/00`@)/`````/____3_\`&"`X@0(@1]DO00`@)/ +M`````/____3_\`&&`ML0(@16-.P0`@)/`````/____3_\`&G`WX0(@17LO00 +M`@)/`````/___\W_YP&"`[`0(P($_[L`OA`"`C```/___\W_YP&(`W$0(P!Q +M_[4`GQ`"`C```/___XS_YP$<`N40(P1^_MW_\!`"`C```/___VS_YP$<`N40 +M(P2&_G7_\!`"`C```/__`*T"7`'V`OL0(@2'`P\0`P1^`*,`!O__`*H"30(C +M`NH0(@2'```0`@2&2/$``/__`#T"30&\`Z40(@2'```0`P16`&H`MO____+_ +MV0(_`O`0(@($,_X0`@);`````/____+_V0(_`K$0(@!Q+=\0`@);`````/__ +M__+_V0(_`XL0(@1\-/00`@);`````/____+_V0(_`X@0(@1],O00`@);```` +M`/___[__'P)<`P<0(P15`/``(A`"`E<``/___[__'P)<`PP0(P2'`.\`(A`" +M`E<``/____+_V0(_`ML0(P16`-3_[!`"`EL``/____+_V0)'`WX0(@174O00 +M`@);`````/__`#__YP,N`[`0(P($`)T`OA`"`CL``/__`#__YP,N`W$0(P!Q +M`)<`GQ`"`CL``/__`),";0'5`Y<0(@!J```0`P1^`"``HO__`),";0'P`Y00 +M(P2&`!4`GQ`"`&H``/__`*\"7P%3`O40`@!#``#____Y_]X"X`+A$",$5@$S +M__(0`@)?``#____Y_O$"X`+A$"("&R+N$`($?P````#____(_\T#!`+[$",$ +M?O\9``80`@(V``#____V_\T#!`+[$",$AO[_``80`@(V``#___^Q_^<"Z`+K +M$",$?O\1__80`@(_``#___^Q_^<"Z`+K$",$AO[]__80`@(_``#___^Q_^<# +MI0+K$",$5`+=_^<0`@(_``#__P#W`E\!VP+U$`(`=@``__\`J@)-`3("ZA`# +M`AC^X``&``#__P`C`,\"<`$W$`($B0````$`(P#/`G`!-P`#```!!R$W`G`6 +M_0#D`'T`"0``-S,'#@$'-S8W(UR(%PE91@I6#5%];4)0!2X/ +M2@````(`JP'5`DP"V0`)`!,```$C-SX!-P<&!S,7(S<^`3<'!@5T_D"RP`#```!,P$C +M`915_;M5`LO](?__`*@```4#`N@0(P`B`F,``!`"`"(``/__`*@```0$`N@0 +M(P`$`F,``!`"`"(``/__`'````/M`N@0(P`B`4T``!`"``0````"``+@',% +M,#\!/4(?;A<5-7131"<= +M1(".'"B!)1Z,1"`D1(X4()4B`````@`*_X("40+[`"``*0```3@B6%;2@*)_H@! +M>%!0_H@!7?ZC`[`` +M$",%$/]6```0`P2@`?[^VO__``3_YP-E`LX0(P2@`?[^VA`C!1#_8```$`(` +M=(@`__\`$?_G`V4"SA`C!*`!_O[:$",%$/]6```0`P!U_WX`````____]?_G +M`V4"RQ`C!*`!_O[:$",%$/],```0`@2?``#__P!0_^P#4@++$",`>_]^```0 +M(P40_T(``!`#!*$!]/[D``#____X_^P#4@++$",$H0'T_N00(P40_T(``!`" +M!*```/__`#S_[`-B`LL0(P![_VH``!`C!1#_.```$`,$HP((_N0``/__`"7_ +M[`-B`LX0(P2C`@C^Y!`C!1#_8```$`(`=9(`__\``O_L`V("RQ`C!*,""/[D +M$",%$/]6```0`@2@"@#__P!7_^P#8@++$",$HP((_N00(P40_S@``!`"!*(R +M`/__`-+_[`.;`LL0(@40X@`0`@![`````/__`#\```%P`MD2`@`L``#__P`_ +M```"A@+9$",`+`$6```0`@`L``#__P`_```#G`+9$",`+`(L```0(P`L`18` +M`!`"`"P``/__`#\```0X`MD0(P`Y`18``!`"`"P``/__`+,```,B`MD2`@`Y +M``#__P"S```$"P+9$",`+`*;```0`@`Y``#__P"S```%(0+9$",`+`.Q```0 +M(P`L`IL``!`"`#D``/__`+,```8W`MD0(P`L!,<``!`C`"P#L0``$",`+`*; +M```0`@`Y``#__P`_```$.`+9$",`.P$6```0`@`L``#__P`6```#(@+9$@(` +M.P``__\`%@``!`L"V1`C`"P"FP``$`(`.P``__\`%@``!2$"V1`C`"P#L0`` +M$",`+`*;```0`@`[``#__P!0```"7@+9$@(`+P``__\`:__I`QD"Y1("`"8` +M`/__`$T```,(`MD2`@`G``#__P!"```#HP+9$@(`,```__\`0P```6H"V1(" +M`$P``/__`$,```*``MD0(P!,`18``!`"`$P``/__`$,```.6`MD0(P!,`BP` +M`!`C`$P!%@``$`(`3```__\`0P```Z$"V1`C`%D!%@``$`(`3```__\`@0`` +M`HL"'!("`%D``/__`($```.6`MD0(P!,`BP``!`"`%D``/__`($```2L`MD0 +M(P!,`T(``!`C`$P"+```$`(`60``__\`@0``!<("V1`C`$P$6```$",`3`-" +M```0(P!,`BP``!`"`%D``/__`$,```.>`MD0(P!;`18``!`"`$P``/__`!`` +M``*(`AP2`@!;``#__P`0```#E@+9$",`3`(L```0`@!;``#__P`0```$K`+9 +M$",`3`-"```0(P!,`BP``!`"`%L``/__`$,```%J`MD2`@!/``#__P!-_^D" +M50(E$@(`1@``__\`3__I`KP"V1("`$<``/__`#P```./`B42`@!0`````0`G +M`$8#G0&*``D```$5!R$5(1<5)34!MBL"$OWM+/YQ`8IH#U4/:90<`/__`4#_ +M+0*$`J,0@P3M`/H"R@``P`!```````#__P`J`$8#H`&*$`L$[0/'`=#``/__ +M`4#_+0*$`J,0@P3M`LK_!@``0`#``````````0`G`$8#G0&*``\```$5!S,G +M-045!34W(Q<5)34!MBNL*0&/_G$NLBS^<0&*:`\.:90+2G.IV8Q* +M==DL_G$!BF@/]RK-5?HJT`]IE!P``0`G_\0#G0(*`!$``"4U-R$')S8;`E%#+_Z=_K$A0PUK>`D$`9$!PP>@ +M`````0!-`*P"7@$D``,```$'(3<"7AG^"!D!)'AX__\`,@```G8">1`+`'," +MJ`)YP````0$?_^P#N0++``,```$S`2,#9%7]NU4"R_TA``$`9O_<`L$#D0`' +M```!%P$#!R(_Z?AV@+HVX#D07\4`'Q+B%)_G0``0`]_[8";@(@`!,` +M`#'B$/T5X>'A^/P`"`",```*1`G```P`*```E!R$W`0<-`00`"`%\```(=`N@`!0`)```! +M$P$C`P$#$PL!`:QQ_O$^<0$/XP+H_HS^C`%T`73]5`$X`3C^R``````! +M_^P```%?`K8`#P``)S0^`C,R%Q,S`PX!(R(F%!\N*`XS&W`Q44#P$C-S4T+@(G`PX! +M(R(F-30V,S(7$S,'`60B,3$B%0PJ#"LS+`%2"%8T*#=`0S4:=RH,`GH/&1DB +M0RTC93@X`@PE)#PA_H`E+B4?'$8=`BTW``````$`%P```N8"V0`=```E-#8S +M,A<3)0,.`2,B)C4T-SX!,S(7$P4##@$C(B8!@D%&.1M'_L%/"%DY*SH""$\O +M.QQ@`9!J"%@V*CI%'40>`4M^_HTH*2$@!`PF+1X!QI7^#R8M)0`"`!<```+F +M`MD``P`A```!-R4'$S0V,S(7-R4'#@$C(B8U-#<^`3,R%Q,%`PX!(R(F`I8. +M_L$/+$%&.1L?_L`F"%8W*D`""$\O.QQ@`9!J"%@V*CH!E#]^1?XY'40>CGVU +M*"D>(P0,)BT>`<:5_@\F+24```(`%__<`<0"V@`2`"$```$4#@(C(C4T-Q,W +M`R(^`3,R%@$R/@$U-",B!@<#%`85%`'$8H>`)1\"ED9#`2<]&4E-_J8D8TH> +M)D\&/P$!6$Z57SH?"P8"P@S^PAX=0OZ(>*Y$)#T=_MD!!`$'``(`./\J`=L" +MR``'``L```4'-P<3-P,W`S@``@`._SL"$0+Z`!L`'P``)0\"-P\"-P<_`@<_`P<_`@A4(6#D*(3`$0SQ@.U@$+@8Q(@```/__ +M`*P```(1`L40`@`4``#__P!:```#'0+9$",`20%-```0`@!)`````P!5```" +MOP+9``,`!P`<```!`R,3-P0"'+U]? +M`C,R-S8_`2,&PBH!9`$8)R455SH.#@UD#P+X*`T<)C48"D<2("`U`````P`, +M`(P!W@)8``,`!P`+```W,PT8`O$84V>+`>5S<_X;```"_]<```,W`E@`$``4```!'@05%`<#(Q,N +M`2)3(K&AX$_HH!;44E +M#G/]J`%=_J,```'_U````ND"6``<```!'@,5%`\!#@,'(3!!44!P,C$RX!)R$W`@\U4"T;"`%/BTX"'TO^0Q@"6`8>)3(K&AX$_HH! +M;44E#G,```'_QP```X("6``L```!+@4G(0,.!0<&(R+.D0A+`4MBRT$'S9;-PHV!"A83T!\"DB+2`IF8D=0 +M`M%2_HA2M28U0"\0%!L!3_[K)QG5U14W/2H*4V`V`4_^L3>%*R(``O_A_W(" +M=0)8``,`&P``%S,'(Q,.`@\!(S!)I2>HD34_N,6+!LDG*>81=0``````O_5```"`P)8``,`&P``$S,'(Q,> +M!!44!P,S!R$W(3L8`2\V`0(*&"8AJA@! +M4U(!5P8>)3(K&AX$_OUS<_H>&1\-#P9S```"_[<```&D`E@``P`;```3,P%A(,"@@%+`5-2Y'-S_AL````#_]<```(\`E@` +M`P`4`!@```$S!R,3'@05%`<#(Q,N`2@)8 +M``,`"P```S,'(SH4A%2="D^1RHMY`0(*&"8ANAD!4U(!5P41*$TW&@;]P@(U'AD?#0\&\" +M6``#`!X``!,S!R,3'@05%`\!#@,'(S'T(!"9:\-4XJ&A8($A\``````O_>```"50)8``,`&P```3,'(SC4;'Q,9(C0C%`P!4U(!5P5E6!H&E(PJ+&M2%!$!=NM")P_Z##\3$@`5ZBWD#-1*3$`04&S89008@$QT:"QX%*P&, +M4@$?`V5)&!O]PP(W&PHJ'@I/#PT."7,!`P,($`P>+`P`1]2G0(B+IRG0%X1_OYS`>4``_^M +M_S@"7P)8``,`%@`:```3,PHMZ`6Y2OBL"=`$#`Q,1#A@7$LAS_KR& +MY?W%`CL```(`+@```>H"6``#`!0``!,S!R,3'@05%`<#(Q,N`20AD9"@H(#"PF#`@)-D(8`2X<*S4F +M(A(!4(L!4U)M'10A"!`'!O\`!2(:*1\C#2P%=`,#)@\8*?QS`PD1'2@])A@% +M_HH``O_7````X@+F``,`!P``$S,'(P,3,P..4A%3I8"+@`+F4OUL`EC]J``` +M```"_]4```(#`N8``P`;```3,P!/[]\"Y@`#`!X``!,S!R,7'@05%`\!#@,'(S+((X7'PX0(HLD/&YKHP(YM9;^XQ8L&R2< +MIYA%U``#`"/_\@+R`L$`&``<`"````$4#@(=`3,U-#X"-30F(R(5,S0V,S(6 +M`R,5,P<)`@'8(RHC.",J(T@]B34C+B0L.#@X%?Z8`6@!9P'$&C`@,APC'A@L +M'S@B-T&2+S(G_LI!>P%H`6?^F0```````!@!)@`!`````````#,`:``!```` +M```!``@`K@`!```````"``L`SP`!```````#`#(!00`!```````$`!8!H@`! +M```````%`!H![P`!```````&`!,",@`!```````-`$8"U``!```````.`"0# +M90`!```````3`"P#Y``#``$$"0```&8````#``$$"0`!`!``G``#``$$"0`" +M`!8`MP`#``$$"0`#`&0`VP`#``$$"0`$`"P!=``#``$$"0`%`#0!N0`#``$$ +M"0`&`"8""@`#``$$"0`-`(P"1@`#``$$"0`.`$@#&P`#``$$"0`3`%@#B@`# +M``$$)``"`"`$$0`#``$$)``-`(8$,P`#``$$)``.`$@$NP`#``$$)``3`%0% +M!0!#`&\`<`!Y`&P`90!F`'0`(``R`#``,``R`"P`(``R`#``,``S`"P`(``R +M`#``,``U`"``1@!R`&4`90`@`%,`;P!F`'0`=P!A`'(`90`@`$8`;P!U`&X` +M9`!A`'0`:0!O`&X`+@``0V]P>6QE9G0@,C`P,BP@,C`P,RP@,C`P-2!&0`@`&0` +M;P!G`"X``%1H92!Q=6EC:R!B2!D;V@`@`&P`:0!C`&4`;@!C`&\`(`!'`$X`50`@`$<`90!N +M`&4`<@!A`&P`(`!0`'4`8@!L`&D`8P`@`$P`:0!C`&4`;@!S`&4`+@```&@` +M=`!T`'``.@`O`"\`=P!W`'<`+@!G`&X`=0`N`&\`<@!G`"\`8P!O`'``>0!L +M`&4`9@!T`"\`9P!P`&P`+@!H`'0`;0!L```!8`!E`'(`:0!F`"``8@!O`"`` +M>@!A`"``=@!A`&H`;P`@`',`<`!E`'0`(`!K`'4`:`!A`&P`(`!D`&\`;0!A +M`0T`90`@`7X`9P!A`&X`8P!E`"X````````"``#_]```_Y$`10`````````` +M````````````````!5\````!``(``P`$``4`!@`'``@`"0`*``L`#``-``X` +M#P`0`!$`$@`3`!0`%0`6`!<`&``9`!H`&P`<`!T`'@`?`"``(0`B`",`)``E +M`"8`)P`H`"D`*@`K`"P`+0`N`"\`,``Q`#(`,P`T`#4`-@`W`#@`.0`Z`#L` +M/``]`#X`/P!``$$`0@!#`$0`10!&`$<`2`!)`$H`2P!,`$T`3@!/`%``40!2 +M`%,`5`!5`%8`5P!8`%D`6@!;`%P`70!>`%\`8`!A`*P`HP"$`(4`O0"6`.@` +MA@".`(L`G0"I`*0!`@"*`-H`@P"3`/(`\P"-`)<`B`##`-X`\0">`*H`]0#T +M`/8`H@"M`,D`QP"N`&(`8P"0`&0`RP!E`,@`R@#/`,P`S0#.`.D`9@#3`-`` +MT0"O`&<`\`"1`-8`U`#5`&@`ZP#M`(D`:@!I`&L`;0!L`&X`H`!O`'$`<`!R +M`',`=0!T`'8`=P#J`'@`>@!Y`'L`?0!\`+@`H0!_`'X`@`"!`.P`[@"Z`0,! +M!`$%`08!!P$(`/T`_@$)`0H!"P$,`/\!``$-`0X!#P$!`1`!$0$2`1,!%`$5 +M`18!%P$8`1D!&@$;`/@`^0$<`1T!'@$?`2`!(0$B`2,!)`$E`28!)P$H`2D! +M*@$K`/H`UP$L`2T!+@$O`3`!,0$R`3,!-`$U`38!-P$X`3D!.@#B`.,!.P$\ +M`3T!/@$_`4`!00%"`4,!1`%%`48!1P%(`4D`L`"Q`4H!2P%,`4T!3@%/`5`! +M40%2`5,`^P#\`.0`Y0%4`54!5@%7`5@!60%:`5L!7`%=`5X!7P%@`6$!8@%C +M`60!90%F`6@%[`7P!?0%^`7\`I@&``8$!@@&#`80!A0&&`8`9\!H`&A`:(! +MHP&D`:4!I@&G`:@!J0&J`:L!K`&M`:X!KP&P`;$!L@&S`;0!M0&V`;$!X@'C`>0!Y0'F +M`>H!ZP'L`>T![@'O`?`!\0'R`?,!]`'U`?8!]P'X`?D!^@'[`?P! +M_0'^`?\"``(!`@("`P($`@4"!@('`@@""0(*`@L"#`(-`@X"#P(0`A$"$@(3 +M`A0"%0(6`A<"&`(9`AH"&P(<`AT"'@(?`B`"(0(B`B,")`(E`B8")P(H`BD" +M*@#8`.$"*P(L`BT`VP#<`-T`X`#9`-\"+@(O`C`",0(R`C,"-`(U`C8"-P(X +M`CD".@([`CP"/0(^`C\"0`)!`D("0P)$`D4"1@)'`D@"20)*`DL"3`)-`DX` +MJ`)/`E`"40)2`E,"5`)5`E8"5P)8`ED"6@);`EP"70)>`E\"8`)A`)\"8@)C +M`F0"90)F`F<":`)I`FH":P)L`FT";@)O`G`"<0)R`G,"=`)U`G8"=P";`G@" +M>0)Z`GL"?`)]`GX"?P*``H$"@@*#`H0"A0*&`H<"B`*)`HH"BP*,`HT"C@*/ +M`I`"D0*2`I,"E`*5`I8"EP*8`ID"F@*;`IP"G0*>`I\"H`*A`J("HP*D`J4" +MI@*G`J@"J0*J`JL"K`*M`JX"KP*P`K$"L@*S`K0"M0*V`K<"N`*Y`KH"NP*\ +M`KT"O@*_`L`"P0+"`L,"Q`+%`L8"QP+(`LD"R@++`LP"S0+.`L\"T`+1`M(" +MTP+4`M4"U@+7`M@"V0+:`ML"W`+=`MX"WP+@`N$"X@+C`N0"Y0+F`N<"Z`+I +M`NH"ZP+L`NT"[@+O`O`"\0+R`O,"]`+U`O8"]P+X`OD"^@+[`OP"_0+^`O\# +M``,!`P(#`P,$`P4#!@,'`P@#"0,*`PL##`,-`PX##P,0`Q$#$@,3`Q0#%0,6 +M`Q<#&`,9`QH#&P,<`QT#'@,?`R`#(0,B`R,#)`,E`R8#)P,H`RD#*@,K`RP# +M+0,N`R\#,`,Q`S(#,P,T`S4#-@,W`S@#.0,Z`SL#/`,]`SX#/P-``T$#0@-# +M`T0#10-&`T<#2`-)`TH#2P-,`TT#3@-/`U`#40-2`U,#5`-5`U8#5P-8`UD# +M6@-;`UP#70->`U\#8`-A`V(#8P-D`V4#9@-G`V@#:0-J`VL#;`-M`VX#;P-P +M`W$#<@-S`W0#=0-V`W<#>`-Y`WH#>P-\`WT#?@-_`X`#@0."`X,#A`.%`X8# +MAP.(`XD#B@.+`XP#C0..`X\#D`.1`Y(#DP.4`Y4#E@.7`Y@#F0.:`YL#G`.= +M`YX#GP.@`Z$#H@.C`Z0#I0.F`Z<#J`.I`ZH#JP.L`ZT#K@.O`[`#L0.R`[,# +MM`.U`[8#MP.X`[D#N@.[`[P#O0.^`[\#P`/!`\(#PP/$`\4#Q@/'`\@#R0/* +M`\L#S`/-`\X#SP/0`]$#T@/3`]0#U0/6`]<#V`/9`]H#VP/<`]T#W@/?`^`# +MX0/B`^,#Y`/E`^8#YP/H`^D#Z@/K`^P#[0/N`^\#\`/Q`_(#\P/T`_4#]@/W +M`_@#^0/Z`_L#_`/]`_X#_P0`!`$$`@0#!`0$!00&!`<$"`0)!`H$"P0,!`T$ +M#@0/!!`$$002!!,$%`05!!8$%P08!!D$&@0;!!P$'00>!!\$(`0A!"($(P0D +M!"4$)@0G!"@$*00J!"L$+`0M!"X$+P0P!#$$,@0S!#0$-00V!#<$.`0Y!#H$ +M.P0\!#T$/@0_!$`$001"!$,$1`1%!$8$1P1(!$D$2@1+!$P$301.!$\$4`11 +M!%($4P14!%4$5@17!%@$601:!%L$7`1=!%X$7P1@!&$$8@1C!&0$901F!&<$ +M:`1I!&H$:P1L!&T$;@1O!'`$<01R!',$=`1U!'8$=P1X!'D$>@1[!'P$?01^ +M!'\$@`2!!(($@P2$!(4$A@2'!(@$B02*!(L$C`2-!(X$CP20!)$$D@23!)0$ +ME026!)<$F`29!)H$FP2!1\%(`4A!2(%(P4D!24%)@4G!2@%*04J!2L%+`4M!2X% +M+P4P`,``P04Q!3(%,P4T!34%-@4W!3@%.04Z!3L%/`4]!3X%/P5`!4$%0@5# +M!40%105&!4<%2`5)!4H%2P5,!4T%3@5/!5`%4052!5,%5`55!58%5P58!5D% +M6@5;!5P%705>!5\%8`5A!6(%8PIS;V9T:'EP:&5N!T%M86-R;VX'86UA8W)O +M;@9!8G)E=F4&86)R979E!T%O9V]N96L'86]G;VYE:PM#8VER8W5M9FQE>`MC +M8VER8W5M9FQE>`I#9&]T86-C96YT"F-D;W1A8V-E;G0&1&-A`MJ8VER8W5M9FQE>`Q+8V]M;6%A8V-E;G0,:V-O;6UA86-C96YT#&MG +M`MS8VER8W5M9FQE>`=U;FDP,38R!W5N:3`Q-C,& +M5&-A``"`7D!C``!`8T!CP`" +M`9`$F0`!!)H$G``"!)T$OP`!!,`$S``"!,T$S0`!!,X$T``"!-$$T0`!!-($ +MU0`"!-8$U@`!!-<$V``"!-D$W0`!!-X$X``"!.$$X0`!!.($Y0`"!.8$Y@`! +M!.<$Z``"!.D%*``!!2D%+P`"!3`%7``!!5T%70`"!5X%7@`!``0````"```` +M```!````"@!*`*(``T1&3%0`%&AE8G(`(FQA=&X`+@`$`````/__``(``P`% +M``0`````__\``0`"``0`````__\`!`````$`!``&``=C8VUP`"QD;&EG`#)D +M;&EG`#AF``"`$T` +M`0`&`"<`+P`Q`$<`3P!1``$`P@`&`!(`-@!6`&H`C@"N``0`"@`2`!@`'@3/ +M``,`+``L!-```@`Y!-4``@`[!,X``@`L``,`"``2`!H$U``$`"P`+``L!-,` +M`P`L`"P$T@`"`"P``@`&``X$V``#`"P`+`37``(`+``$``H`$@`8`!X$WP`# +M`$P`3`3@``(`603E``(`6P3>``(`3``#``@`$@`:!.0`!`!,`$P`3`3C``,` +M3`!,!.(``@!,``(`!@`.!.@``P!,`$P$YP`"`$P``0`&`"P`.0`[`$P`60!; +M``$`)@`"``H`%``!``0$G``"`"(``@`&``P$FP`"``0$F@`"`"(``0`"``0` +M(@`!`!(``0`(``$`!`4N``(`5P`!``$!00`!`!(``0`(``$`!`5=``(#2@`! +M``$#/@`!`&X`!0`0`!H`2`!2`%P``0`$`/0``@`M``4`#``4`!P`(@`H!2T` +M`P!)`$\%+``#`$D`3`4K``(`3P4J``(`3`4I``(`20`!``0`]0`"`$T``0`$ +M!2\``@!7``(`!@`,!2T``@!/!2P``@!,``$`!0`L`$D`3`!6!2D``0$>``8` +M$@!T`)X`R`#>`0@`"@`6`!X`)@`N`#8`/@!&`$X`5@!`%7_[`!6_^4`5__U`%G_]0!:__P`7/_W`(/_L`"&_[``A_^P +M`(C_N``(`"3_N``W__4`.@`)`#S_\0"#_[@`AO^X`(?_N`"(_\``"0`D_[@` +M-__Y`#D``0`Z``L`//_R`(/_N`"&_[@`A_^X`(C_P``&`"0`!P`W_[$`.?^S +M`#K_R@`\_Z``B``3``D`)/_,`#?_D@`Y_[$`.O_$`#S_CP"#_\P`AO_,`(?_ +MS`"(_]8``P4@__T%(__K!2C_XP`#!2#_\`4C__0%*/_H``,%(/_^!2/_[04H +M_]X``@4C_]\%*/_)``,%(/_]!2/_[P4H_]L``P4@__\%(__S!2C_XP`+``__ +MH0`1_Z(`'?^Y!1[_]04?__D%(/^Z!2'_Y`4B_^L%(P`"!23_]@4H_^L``P4@ +M``(%(__Q!2C_X``#!2#_^@4C_^D%*/_B``P`#__-`!'_SP4=_]0%'O_(!1__ +MRP4@_[H%(?_.!2+_T`4C_[@%)/_1!27_T04H_Z0``0`4``\`$``1`'T$C`2- +M!(\$D`21!)@%'04>!1\%(`4A!2(%(P4D!24%*``!#J8`!````$@`F@$L`7(! +MG`'2`D@">@*,`MX#/`.F`]`$)@24!+X%=`6J!CP&S@;X!XH'E`>J![@'P@?< +M""8(4`A:"&0(J@BT",8(X`C^"0@)$@G0"=H*&`H>"H@*\@L,"W8+I`P6#$0, +M<@SD#5H-8`UN#80-D@V@#;H-P`W&#>0-Z@X,#AH.*`XV#D0.4@Y@#FX.?`Z* +M#I``)``/``D`$``"`!$`#0`F_]P`*O_:`#+_VP`T_]D`-_^E`#C_VP`Y_[8` +M.O_'`#S_H`!$__4`1?_V`$;_[P!'_^\`2/_V`$K_[`!2_^T`5/_S`%?_ZP!8 +M_^\`6?_6`%K_Y`!<_]<`;?_0`(G_W`"8_]L`F__;`)S_VP"=_]L`GO_;`*G_ +M[P2-_[T$D/^Y!)?_U``1`"3_UP`R_^X`.?_2`#K_X@`\_\$`@__7`(3_UP"% +M_]<`AO_7`(?_UP"(_^(`E/_N`)7_[@"6_^X`F/_N`)K_[P$4__<`"@`D_]X` +M*___`"[__``R__0`@__>`(;_W@"'_]X`B/_I`)7_]`"8__0`#0`D_]@`+?_\ +M`#?_Z``Y_]L`.O_L`#O_V``\_\(`@O_8`(/_V`"$_]@`A?_8`(;_V`"'_]@` +M'0`/_ZP`$``$`!'_K@`D_[P`+?_?`#+_Z`!$_^D`2/_T`$S_\0!-_^\`4O_K +M`%7_W0!8_^``@O^\`(/_O`"$_[P`A?^\`(;_O`"'_[P`F/_H`*/_Z0"F_^D` +MI__I`*C_Y@"K__0`M?_K`+C_ZP"Z_^@!%?_P``P`)/_O`#?_Y``Y_]<`.O_G +M`#S_OP""_^\`@__O`(3_[P"%_^\`AO_O`(?_[P"(__L`!``D_]H`AO_:`(?_ +MV@"(_^,`%``0_\P`)O_%`"K_PP`R_\0`-O_3`#<`!0!$_^\`2/_:`%+_TP!8 +M_]T`7/^V`)7_Q`"8_\0`IO_O`*?_[P"H_^\`M?_3`+C_TP"^_]T!%/_-`!<` +M$/_L`";_W0`J_]@`,O_9`#;_\@`W_Y@`./_=`#G_F@`Z_[$`//^'`%C_[P!< +M_\``B``,`(G_W`"4_]D`E?_9`);_V0"7_]D`F/_9`)[_W0"^_^\$C?]Q!)#_ +M;0`:``\`!P`1``@`)/_Q`";__P`J__X`,O_^`$0`!0!(``H`4@`!`%@`!`"# +M__$`AO_Q`(?_\0"(__X`B?__`)7__@"8__X`HP`%`*8`!0"G``4`J``$`*L` +M"@"U``$`N``!`+H``@"^``0`"@`D_]8`-__@`#G_V``Z_^@`.__5`#S_OP"# +M_]8`AO_6`(?_U@"(_]\`%0`/_YD`$/_Y`!'_FP`D_[D`+?_,`$3_\@!(__,` +M4O_J`(/_N0"&_[D`A_^Y`(C_P@"C__(`IO_R`*?_\@"H__$`J__S`+7_Z@"X +M_^H`NO_F`17_[P`;`!``"@`F__0`*O_S`#+_\P`W__0`./_T`#G_V@`Z_^H` +M//_.`$3__`!2__<`6/_Z`%S__`")__0`E?_S`)C_\P">__0`H__\`*;__`"G +M__P`J/_[`+7_]P"X__<`O/_Z`+[_^@$4__T!%?_\``H`)/_F`#?_\0`Y_]P` +M.O_L`#S_R@!7__P`@__F`(;_Y@"'_^8`B/_R`"T`#_^U`!#_RP`1_[<`'?^8 +M`![_EP`D_Z,`)O_C`"K_X@`M_Z$`,O_B`#;_^0`Y``D`.@`/`#P`!P!$_[,` +M1O^Q`$C_N`!*_[$`3/_W`$W_]0!2_Z\`5?^T`%;_KP!8_[(`6?^E`%K_JP!< +M_Z<`;?^5`(+_HP"#_Z,`A/^C`(7_HP"&_Z,`A_^C`(C_JP"4_^(`E?_B`);_ +MX@"7_^(`F/_B`)K_W`"H_[(`NO^P`13_[`27_YD`#0`/_^\`$?_T`"3_V`!0 +M__T`4?_[`%/__0!5__L`@__8`(3_V`"%_]@`AO_8`(?_V`"(_^(`)``/_[0` +M$/_F`!'_M@`=_[8`'O^S`"3_M0`F_]4`*O_4`#+_U``V_^$`-P`,`$3_S0!( +M_](`2O_*`$S_\P!2_\@`5?_5`%C_U@!<_^T`;?^O`(+_M0"#_[4`A/^U`(7_ +MM0"&_[4`A_^U`(C_OP"4_]0`E?_4`);_U`"7_]0`F/_4`)K_U@"H_\P`NO_) +M!)?_LP`D``__RP`0__<`$?_-`!W_PP`>_\$`)/_%`";_Y``J_^,`,O_C`#;_ +MZ@`W`!``1/_>`$C_Y`!*_]P`3/_W`%+_V@!5_]\`6/_@`%S_]P!M_\$`@O_% +M`(/_Q0"$_\4`A?_%`(;_Q0"'_\4`B/_.`)3_XP"5_^,`EO_C`)?_XP"8_^,` +MFO_E`*C_W@"Z_]L$E__%``H`$/_?`";_V0`R_]@`-/_5`$3_[P!(_]\`4O_5 +M`%C_W0!<_]``F/_8`"0`#_^K`!#_R0`1_ZP`'?^F`![_HP`D_Z4`)O_$`"K_ +MPP`R_\,`-O_9`#<`#@!$_[D`2/^^`$K_MP!,__4`4O^T`%/_RP!8_\<`6?_< +M`&W_EP""_Z4`@_^E`(3_I0"%_Z4`AO^E`(?_I0"(_Z\`E/_#`)7_PP"6_\,` +ME__#`)C_PP":_\8`J/^Y`+K_M@27_YL``@!9_^L`7/_M``4`3?_Y`%G_Z0!: +M__8`7/_H!(W_\@`#`%G_Z0!:__<`7/_G``(`2__W`$[_^P`&`%?_]P!9_^H` +M6O_W`%O_YP!<_^<$C?_S`!(`1/_Z`$C_^@!)``X`3/_S`$W_\0!/__,`4O_P +M`%;_]@!7``X`H__Z`*;_^@"G__H`J/_Z`*O_^@"U__``N/_P`+K_\`$5__4` +M"@!$__T`2``!`$__^P!5__T`IO_]`*?__0"H__P`JP`!`+7_^`"X__@``@!< +M_^<$C?_Q``(`-__T`$W_^0`1``___0`0_^$`$?_]`$3_\P!(_^T`2O_F`%+_ +MY`!6_^D`6/_X`*/_\P"F__,`I__S`*C_\0"K_^T`M?_D`+C_Y`"^__@``@!9 +M__(`7/_U``0`4___`%G_Z0!:__<`7/_I``8`-_^I`%/__@!9_^@`6O_U`%S_ +MYP2-__$`!P`W_Z8`5__S`%G_Y0!:__,`6__B`%S_XP2-_^T``@!7__8`7/_G +M``(`1O_]`%C__0`O``__P``0_]@`$?_!`!W_W``>_]L`1/__`$;_^@!'__L` +M2``"`$D`#P!*__D`2__T`$S_]`!-__,`3O_X`$__]`!0__@`4?_V`%+_^0!3 +M__D`5/_^`%7_]@!6__P`5P`/`%C_^`!9``P`6@`1`%L`!P!<``X`70`"`*+_ +M_P"C__\`I/__`*;__P"G__\`J/_^`*G_^@"J``(`JP`"`*P``@"T__D`M?_Y +M`+;_^0"X__D`NO_T`17__@2-``0``@!7__<$C?_T``\`'?_7`![_U@`V__<` +M1/_]`$C_^P!+__<`4O_Q`*/__0"F__T`I__]`*C_^P"K__L`M?_Q`+C_\02- +M__T``02-__@`&@`/_\<`$/_[`!'_R0`=_]<`'O_5`$3_ZP!&_^<`2/_N`$K_ +MY@!/__0`4O_D`%;_YP"B_^L`H__K`*3_ZP"E_^L`IO_K`*?_ZP"H_^L`JO_N +M`*O_[@"L_^X`M/_D`+7_Y`"X_^0`NO_D`!H`#__:`!``!P`1_]P`'?_<`![_ +MV@!$__4`1O_T`$C_^P!*__,`3__X`%+_\0!6__$`HO_U`*/_]0"D__4`I?_U +M`*;_]0"G__4`J/_T`*K_^P"K__L`K/_[`+3_\0"U__$`N/_Q`+K_\@`&`$3_ +MZ@!&_^4`2/_L`%+_X@!4_^D`J__L`!H`#__&`!#__``1_\D`'?_8`![_U0!$ +M_^P`1O_F`$C_[0!*_^4`3__U`%+_Y`!6_^@`HO_L`*/_[`"D_^P`I?_L`*;_ +M[`"G_^P`J/_L`*K_[0"K_^T`K/_M`+3_Y`"U_^0`N/_D`+K_Y0`+``\`"0`1 +M``T`)O_<`"K_V@`R_]L`-/_9`#?_I0`X_]L`.?^V`#K_QP`\_Z``'``/``D` +M$``"`!$`#``F_]L`*O_:`#+_V@`T_]@`-_^E`#C_V@`Y_[8`.O_'`#S_H`!$ +M__4`1?_V`$;_[P!'_^\`2/_U`$K_[`!2_^P`5/_R`%?_Z@!8_^X`6?_6`%K_ +MXP!<_]<`;?_0!(W_O027_],`"P`/``D`$0`-`";_W``J_]H`,O_;`#3_V0`W +M_Z4`./_;`#G_M@`Z_\<`//^@``L`#P`)`!$`"P`F_]H`*O_8`#+_V0`T_]<` +M-_^D`#C_V0`Y_[8`.O_'`#S_H``<``\`"0`0``(`$0`,`";_VP`J_]H`,O_: +M`#3_V0`W_Z4`./_:`#G_M@`Z_\<`//^@`$3_]0!%__8`1O_O`$?_[P!*_^P` +M4O_L`%3_\P!7_^H`6/_O`%G_U@!:_^0`7/_7`&W_T`2-_[T$D/^Y!)?_U``= +M``\`"0`0``(`$0`-`";_W``J_]H`,O_;`#3_V0`W_Z4`./_;`#G_M@`Z_\<` +M//^@`$3_]0!%__8`1O_O`$?_[P!(__8`2O_L`%+_[0!4__,`5__K`%C_[P!9 +M_]8`6O_D`%S_UP!M_]`$C?^]!)#_N027_]0``0`D_]X``P`W_^``.?_8`#S_ +MOP`%`"3_U@`W_^``.?_8`#K_Z``\_[\``P`W_^``.?_8`#S_OP`#`#?_X``Y +M_]@`//^_``8`)/_6`#?_X``Y_]@`.O_H`#O_U0`\_[\``0`D_]X``0`D_]@` +M!P`/_^\`$?_T`"3_V`!0__T`4?_[`%/__0!5__L``0`D_]@`"``/_^\`$?_T +M`"3_V`!%__P`4/_]`%'_^P!3__T`5?_[``,`6?_I`%K_]@!<_^@``P!9_^D` +M6O_V`%S_Z``#`%G_Z0!:__8`7/_H``,`6?_I`%K_]@!<_^@``P!9_^L`6O_Y +M`%S_Z0`#`%G_Z@!:__<`7/_G``,`6?_J`%K_]P!<_^<``P!9_^4`6O_S`%S_ +MXP`#`%G_Y0!:__,`7/_C``$`5__S``4`5__S`%G_Y0!:__,`6__B`%S_XP`" +M`!$`)``G````*0`J``0`+0`O``8`,0`S``D`-0`]``P`1`!&`!4`2`!,`!@` +M3@!<`!T`@@"'`"P`B0")`#(`E`"8`#,`F@">`#@`H@"C`#T`I@"H`#\`JP"L +0`$(`M`"V`$0`N`"X`$<````` +` +end diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/Makefile /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/Makefile --- /tmp/ZyiKWGPp1w/scorched3d-40/Makefile 2006-07-16 00:15:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/Makefile 2006-11-17 20:46:01.000000000 +0900 @@ -38,10 +38,10 @@ pkgincludedir = $(includedir)/scorched3d top_builddir = . -ACLOCAL = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run aclocal-1.6 -AUTOCONF = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run autoconf -AUTOMAKE = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run automake-1.6 -AUTOHEADER = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run autoheader +ACLOCAL = ${SHELL} /opt/export/scorched/missing --run aclocal-1.6 +AUTOCONF = ${SHELL} /opt/export/scorched/missing --run autoconf +AUTOMAKE = ${SHELL} /opt/export/scorched/missing --run automake-1.6 +AUTOHEADER = ${SHELL} /opt/export/scorched/missing --run autoheader am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = /usr/bin/install -c @@ -63,11 +63,12 @@ EXEEXT = OBJEXT = o PATH_SEPARATOR = : -AMTAR = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run tar +AMTAR = ${SHELL} /opt/export/scorched/missing --run tar AWK = gawk CC = gcc CXX = g++ DEPDIR = .deps +FREEALUT_CONFIG = no FT2_CFLAGS = -I/usr/include/freetype2 FT2_CONFIG = /usr/bin/freetype-config FT2_LIBS = -lfreetype @@ -98,11 +99,11 @@ am__include = include am__quote = -docdir = ${datadir} -install_sh = /opt/scorched3d-serversrc/scorched/install-sh +docdir = ${datadir}/documentation +install_sh = /opt/export/scorched/install-sh SUBDIRS = src -scorcheddocumentationdir = ${docdir}/documentation +scorcheddocumentationdir = ${docdir} scorcheddocumentation_DATA = documentation/README-EXPAT.txt \ documentation/README-ODE.txt \ documentation/README-SDL.txt \ @@ -112,7 +113,7 @@ documentation/README-wxwindows.txt \ documentation/README-zlib.txt -scorcheddocumentationhtmldir = ${docdir}/documentation/html +scorcheddocumentationhtmldir = ${docdir}/html scorcheddocumentationhtml_DATA = documentation/html/accessories.html \ documentation/html/aiming.html \ documentation/html/camera.html \ @@ -128,12 +129,12 @@ documentation/html/screen.html \ documentation/html/serverfiles.html -scorcheddocumentationhtmlbuttonsdir = ${docdir}/documentation/html/buttons +scorcheddocumentationhtmlbuttonsdir = ${docdir}/html/buttons scorcheddocumentationhtmlbuttons_DATA = documentation/html/buttons/donate.gif \ documentation/html/buttons/dummies.gif \ documentation/html/buttons/scorchedlarge2.gif -scorcheddocumentationhtmlnumbersdir = ${docdir}/documentation/html/numbers +scorcheddocumentationhtmlnumbersdir = ${docdir}/html/numbers scorcheddocumentationhtmlnumbers_DATA = documentation/html/numbers/number-1.gif \ documentation/html/numbers/number-2.gif \ documentation/html/numbers/number-3.gif \ @@ -144,7 +145,7 @@ documentation/html/numbers/number-8.gif \ documentation/html/numbers/number-9.gif -scorcheddocumentationhtmlscreenshotsdir = ${docdir}/documentation/html/screenshots +scorcheddocumentationhtmlscreenshotsdir = ${docdir}/html/screenshots scorcheddocumentationhtmlscreenshots_DATA = documentation/html/screenshots/aiming.gif \ documentation/html/screenshots/3ds.gif \ documentation/html/screenshots/indicators.gif \ @@ -175,7 +176,6 @@ data/autoexec.xml \ data/fastestdisplay.xml \ data/keys.xml \ - data/landscapes.xml \ data/modinfo.xml \ data/mysql.xml \ data/pgprunetables.sql \ @@ -201,7 +201,8 @@ data/textureset.xml \ data/tips.txt \ data/tutorial.xml \ - data/windows.xml + data/windows.xml \ + data/landscapes.xml scorcheddataaccessoriesdir = ${datadir}/data/accessories scorcheddataaccessories_DATA = data/accessories/clusterbomb.ase \ @@ -376,6 +377,8 @@ data/accessories/v2missile/v2missile.txt \ data/accessories/v2missile/yellow.bmp +scorcheddataacessoriesdir = ${datadir}/data/acessories +scorcheddataacessories_DATA = scorcheddataavatarsdir = ${datadir}/data/avatars scorcheddataavatars_DATA = data/avatars/agreement.txt \ data/avatars/animal.gif \ @@ -400,7 +403,8 @@ scorcheddatafontsdir = ${datadir}/data/fonts scorcheddatafonts_DATA = data/fonts/test.ttf \ data/fonts/testout.ttf \ - data/fonts/veramobd.ttf + data/fonts/veramobd.ttf \ + data/fonts/VERA-COPYRIGHT.TXT scorcheddataglobalmodsdir = ${datadir}/data/globalmods scorcheddataglobalmods_DATA = data/globalmods/globalmods.txt @@ -428,6 +432,12 @@ data/globalmods/apoc/data/accessories/green.bmp \ data/globalmods/apoc/data/accessories/molten.bmp +scorcheddataglobalmodsapocdataaccessories50caldir = ${datadir}/data/globalmods/apoc/data/accessories/50cal +scorcheddataglobalmodsapocdataaccessories50cal_DATA = +scorcheddataglobalmodsapocdataaccessoriesbouldersdir = ${datadir}/data/globalmods/apoc/data/accessories/boulders +scorcheddataglobalmodsapocdataaccessoriesboulders_DATA = +scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir = ${datadir}/data/globalmods/apoc/data/accessories/brownboulders +scorcheddataglobalmodsapocdataaccessoriesbrownboulders_DATA = scorcheddataglobalmodsapocdataaccessoriesbuildingsdir = ${datadir}/data/globalmods/apoc/data/accessories/buildings scorcheddataglobalmodsapocdataaccessoriesbuildings_DATA = data/globalmods/apoc/data/accessories/buildings/bar1.txt \ data/globalmods/apoc/data/accessories/buildings/builds1.bmp \ @@ -473,8 +483,40 @@ data/globalmods/apoc/data/accessories/buildings/store1.txt \ data/globalmods/apoc/data/accessories/buildings/store1burnt.txt \ data/globalmods/apoc/data/accessories/buildings/trailorhouse1.txt \ - data/globalmods/apoc/data/accessories/buildings/trailorhouse1burnt.txt - + data/globalmods/apoc/data/accessories/buildings/trailorhouse1burnt.txt \ + data/globalmods/apoc/data/accessories/buildings/igloo.bmp \ + data/globalmods/apoc/data/accessories/buildings/igloo.txt + +scorcheddataglobalmodsapocdataaccessoriesbulletdir = ${datadir}/data/globalmods/apoc/data/accessories/bullet +scorcheddataglobalmodsapocdataaccessoriesbullet_DATA = +scorcheddataglobalmodsapocdataaccessoriescactusdir = ${datadir}/data/globalmods/apoc/data/accessories/cactus +scorcheddataglobalmodsapocdataaccessoriescactus_DATA = +scorcheddataglobalmodsapocdataaccessorieschurch1dir = ${datadir}/data/globalmods/apoc/data/accessories/church1 +scorcheddataglobalmodsapocdataaccessorieschurch1_DATA = +scorcheddataglobalmodsapocdataaccessoriescityofficedir = ${datadir}/data/globalmods/apoc/data/accessories/cityoffice +scorcheddataglobalmodsapocdataaccessoriescityoffice_DATA = +scorcheddataglobalmodsapocdataaccessoriescommondir = ${datadir}/data/globalmods/apoc/data/accessories/common +scorcheddataglobalmodsapocdataaccessoriescommon_DATA = +scorcheddataglobalmodsapocdataaccessoriesdeerdir = ${datadir}/data/globalmods/apoc/data/accessories/deer +scorcheddataglobalmodsapocdataaccessoriesdeer_DATA = +scorcheddataglobalmodsapocdataaccessoriesfactory1dir = ${datadir}/data/globalmods/apoc/data/accessories/factory1 +scorcheddataglobalmodsapocdataaccessoriesfactory1_DATA = +scorcheddataglobalmodsapocdataaccessoriesfarm1dir = ${datadir}/data/globalmods/apoc/data/accessories/farm1 +scorcheddataglobalmodsapocdataaccessoriesfarm1_DATA = +scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir = ${datadir}/data/globalmods/apoc/data/accessories/fusionbarrel +scorcheddataglobalmodsapocdataaccessoriesfusionbarrel_DATA = +scorcheddataglobalmodsapocdataaccessoriesgasstation1dir = ${datadir}/data/globalmods/apoc/data/accessories/gasstation1 +scorcheddataglobalmodsapocdataaccessoriesgasstation1_DATA = +scorcheddataglobalmodsapocdataaccessoriesgrenadedir = ${datadir}/data/globalmods/apoc/data/accessories/grenade +scorcheddataglobalmodsapocdataaccessoriesgrenade_DATA = +scorcheddataglobalmodsapocdataaccessorieshouse1dir = ${datadir}/data/globalmods/apoc/data/accessories/house1 +scorcheddataglobalmodsapocdataaccessorieshouse1_DATA = +scorcheddataglobalmodsapocdataaccessorieslogcabin1dir = ${datadir}/data/globalmods/apoc/data/accessories/logcabin1 +scorcheddataglobalmodsapocdataaccessorieslogcabin1_DATA = +scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir = ${datadir}/data/globalmods/apoc/data/accessories/m7a3grenade +scorcheddataglobalmodsapocdataaccessoriesm7a3grenade_DATA = +scorcheddataglobalmodsapocdataaccessoriesnapalmdir = ${datadir}/data/globalmods/apoc/data/accessories/napalm +scorcheddataglobalmodsapocdataaccessoriesnapalm_DATA = scorcheddataglobalmodsapocdataaccessoriesobjectsdir = ${datadir}/data/globalmods/apoc/data/accessories/objects scorcheddataglobalmodsapocdataaccessoriesobjects_DATA = data/globalmods/apoc/data/accessories/objects/9volt.txt \ data/globalmods/apoc/data/accessories/objects/atom.txt \ @@ -507,8 +549,36 @@ data/globalmods/apoc/data/accessories/objects/rock3.txt \ data/globalmods/apoc/data/accessories/objects/rock4.txt \ data/globalmods/apoc/data/accessories/objects/smalloakburnt.txt \ - data/globalmods/apoc/data/accessories/objects/smalloakfall.txt - + data/globalmods/apoc/data/accessories/objects/smalloakfall.txt \ + data/globalmods/apoc/data/accessories/objects/acidpod.bmp \ + data/globalmods/apoc/data/accessories/objects/acidpod.txt \ + data/globalmods/apoc/data/accessories/objects/fleshpod.bmp \ + data/globalmods/apoc/data/accessories/objects/fleshpod.txt \ + data/globalmods/apoc/data/accessories/objects/satellite.bmp \ + data/globalmods/apoc/data/accessories/objects/satellite.txt + +scorcheddataglobalmodsapocdataaccessoriesoffice3dir = ${datadir}/data/globalmods/apoc/data/accessories/office3 +scorcheddataglobalmodsapocdataaccessoriesoffice3_DATA = +scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir = ${datadir}/data/globalmods/apoc/data/accessories/officeplaza1 +scorcheddataglobalmodsapocdataaccessoriesofficeplaza1_DATA = +scorcheddataglobalmodsapocdataaccessoriesredhornetdir = ${datadir}/data/globalmods/apoc/data/accessories/redhornet +scorcheddataglobalmodsapocdataaccessoriesredhornet_DATA = +scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir = ${datadir}/data/globalmods/apoc/data/accessories/remorcebomblet +scorcheddataglobalmodsapocdataaccessoriesremorcebomblet_DATA = +scorcheddataglobalmodsapocdataaccessoriesshockbombletdir = ${datadir}/data/globalmods/apoc/data/accessories/shockbomblet +scorcheddataglobalmodsapocdataaccessoriesshockbomblet_DATA = +scorcheddataglobalmodsapocdataaccessoriesshockrocketdir = ${datadir}/data/globalmods/apoc/data/accessories/shockrocket +scorcheddataglobalmodsapocdataaccessoriesshockrocket_DATA = +scorcheddataglobalmodsapocdataaccessoriesshotgundir = ${datadir}/data/globalmods/apoc/data/accessories/shotgun +scorcheddataglobalmodsapocdataaccessoriesshotgun_DATA = +scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir = ${datadir}/data/globalmods/apoc/data/accessories/skyscraper1 +scorcheddataglobalmodsapocdataaccessoriesskyscraper1_DATA = +scorcheddataglobalmodsapocdataaccessoriessmalloakdir = ${datadir}/data/globalmods/apoc/data/accessories/smalloak +scorcheddataglobalmodsapocdataaccessoriessmalloak_DATA = +scorcheddataglobalmodsapocdataaccessoriesstore1dir = ${datadir}/data/globalmods/apoc/data/accessories/store1 +scorcheddataglobalmodsapocdataaccessoriesstore1_DATA = +scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir = ${datadir}/data/globalmods/apoc/data/accessories/trailorhouse1 +scorcheddataglobalmodsapocdataaccessoriestrailorhouse1_DATA = scorcheddataglobalmodsapocdataaccessoriesweaponsdir = ${datadir}/data/globalmods/apoc/data/accessories/weapons scorcheddataglobalmodsapocdataaccessoriesweapons_DATA = data/globalmods/apoc/data/accessories/weapons/50cal.txt \ data/globalmods/apoc/data/accessories/weapons/bullet.txt \ @@ -527,6 +597,11 @@ data/globalmods/apoc/data/accessories/weapons/weapons1.bmp \ data/globalmods/apoc/data/accessories/weapons/wobblebomb.txt +scorcheddataglobalmodsapocdataaccessoriespeopledir = ${datadir}/data/globalmods/apoc/data/accessories/people +scorcheddataglobalmodsapocdataaccessoriespeople_DATA = data/globalmods/apoc/data/accessories/people/male1_soldier.bmp \ + data/globalmods/apoc/data/accessories/people/male1_soldier.txt \ + data/globalmods/apoc/data/accessories/people/male1_soldier_standing.txt + scorcheddataglobalmodsapocdatalandscapesdir = ${datadir}/data/globalmods/apoc/data/landscapes scorcheddataglobalmodsapocdatalandscapes_DATA = data/globalmods/apoc/data/landscapes/ambientsoundbuildings.xml \ data/globalmods/apoc/data/landscapes/ambientsoundcars.xml \ @@ -662,7 +737,15 @@ data/globalmods/apoc/data/landscapes/weathered-pic.bmp \ data/globalmods/apoc/data/landscapes/weathered.bmp \ data/globalmods/apoc/data/landscapes/world-map.bmp \ - data/globalmods/apoc/data/landscapes/world.bmp + data/globalmods/apoc/data/landscapes/world.bmp \ + data/globalmods/apoc/data/landscapes/eventsflamespurt.xml \ + data/globalmods/apoc/data/landscapes/placefleshpods.xml \ + data/globalmods/apoc/data/landscapes/placeigloo.xml \ + data/globalmods/apoc/data/landscapes/texchina_bldg.xml \ + data/globalmods/apoc/data/landscapes/texhell.xml \ + data/globalmods/apoc/data/landscapes/texice_bldg.xml \ + data/globalmods/apoc/data/landscapes/texice.xml \ + data/globalmods/apoc/data/landscapes/eventsatellitecrash.xml scorcheddataglobalmodsapocdatalandscapesmasksdir = ${datadir}/data/globalmods/apoc/data/landscapes/masks scorcheddataglobalmodsapocdatalandscapesmasks_DATA = data/globalmods/apoc/data/landscapes/masks/anywhere.bmp \ @@ -823,7 +906,8 @@ data/globalmods/apoc/data/textures/wicons/up.bmp \ data/globalmods/apoc/data/textures/wicons/volcano.bmp \ data/globalmods/apoc/data/textures/wicons/x.bmp \ - data/globalmods/apoc/data/textures/wicons/xmirv.bmp + data/globalmods/apoc/data/textures/wicons/xmirv.bmp \ + data/globalmods/apoc/data/textures/wicons/mirror.bmp scorcheddataglobalmodsapocdatawavdir = ${datadir}/data/globalmods/apoc/data/wav scorcheddataglobalmodsapocdatawav_DATA = @@ -924,7 +1008,9 @@ data/html/server/player.html \ data/html/server/server.css \ data/html/server/settings.html \ - data/html/server/talk.html + data/html/server/talk.html \ + data/html/server/message.html \ + data/html/server/server.html scorcheddatalandscapesdir = ${datadir}/data/landscapes scorcheddatalandscapes_DATA = data/landscapes/ambientsoundjet.xml \ @@ -1032,7 +1118,8 @@ data/landscapes/textuscan.xml \ data/landscapes/texvulcano.xml \ data/landscapes/valley-mask.bmp \ - data/landscapes/valley-pic.bmp + data/landscapes/valley-pic.bmp \ + data/landscapes/eventstest.xml scorcheddatameshesdir = ${datadir}/data/meshes scorcheddatameshes_DATA = data/meshes/autoaim.ase \ @@ -1224,12 +1311,18 @@ data/tanks/wespe.ase \ data/tanks/wespe.bmp \ data/tanks/zsu-24-1.ase \ - data/tanks/zsu-24-1.bmp + data/tanks/zsu-24-1.bmp \ + data/tanks/tracksh.bmp \ + data/tanks/trackshv.bmp \ + data/tanks/tracksv.bmp \ + data/tanks/tracksvh.bmp scorcheddatatanksCF104dir = ${datadir}/data/tanks/CF-104 scorcheddatatanksCF104_DATA = data/tanks/CF-104/104.bmp \ data/tanks/CF-104/104.txt +scorcheddatatanksCannonTowerdir = ${datadir}/data/tanks/CannonTower +scorcheddatatanksCannonTower_DATA = scorcheddatatanksbattleshipdir = ${datadir}/data/tanks/battleship scorcheddatatanksbattleship_DATA = data/tanks/battleship/battleship.txt \ data/tanks/battleship/grey.bmp @@ -1264,6 +1357,8 @@ data/tanks/cannont/side2.bmp \ data/tanks/cannont/top.bmp +scorcheddatatankscannontowerdir = ${datadir}/data/tanks/cannontower +scorcheddatatankscannontower_DATA = scorcheddatatanksdeathdir = ${datadir}/data/tanks/death scorcheddatatanksdeath_DATA = data/tanks/death/black.bmp \ data/tanks/death/chrome.bmp \ @@ -1294,10 +1389,6 @@ data/tanks/helder/redspace.bmp \ data/tanks/helder/whitespace.bmp -scorcheddatatanksignignoktdir = ${datadir}/data/tanks/ignignokt -scorcheddatatanksignignokt_DATA = data/tanks/ignignokt/ignignokt.bmp \ - data/tanks/ignignokt/ignignokt.txt - scorcheddatatankslav25dir = ${datadir}/data/tanks/lav-25 scorcheddatatankslav25_DATA = data/tanks/lav-25/bigtire.bmp \ data/tanks/lav-25/camo.bmp \ @@ -1352,14 +1443,12 @@ data/tanks/sa6/white.bmp \ data/tanks/sa6/zsu23.bmp -scorcheddatatankssentrygundir = ${datadir}/data/tanks/sentrygun -scorcheddatatankssentrygun_DATA = data/tanks/sentrygun/sentrygun.bmp \ - data/tanks/sentrygun/sentrygun.txt - scorcheddatatankssonicdir = ${datadir}/data/tanks/sonic scorcheddatatankssonic_DATA = data/tanks/sonic/sonic.bmp \ data/tanks/sonic/sonic.txt +scorcheddatatankssonicringdir = ${datadir}/data/tanks/sonicring +scorcheddatatankssonicring_DATA = scorcheddatatankst90dir = ${datadir}/data/tanks/t90 scorcheddatatankst90_DATA = data/tanks/t90/black.bmp \ data/tanks/t90/t90.bmp \ @@ -1405,6 +1494,14 @@ data/tanks/zsu57/zsu57.bmp \ data/tanks/zsu57/zsu57.txt +scorcheddatatanksignignoktdir = ${datadir}/data/tanks/ignignokt +scorcheddatatanksignignokt_DATA = data/tanks/ignignokt/ignignokt.bmp \ + data/tanks/ignignokt/ignignokt.txt + +scorcheddatatankssentrygundir = ${datadir}/data/tanks/sentrygun +scorcheddatatankssentrygun_DATA = data/tanks/sentrygun/sentrygun.bmp \ + data/tanks/sentrygun/sentrygun.txt + scorcheddatatexturesdir = ${datadir}/data/textures scorcheddatatextures_DATA = data/textures/clearsky.bmp \ data/textures/glow1.bmp \ @@ -1975,13 +2072,43 @@ $(scorcheddataaccessoriessonicring_DATA) \ $(scorcheddataaccessoriesteleport_DATA) \ $(scorcheddataaccessoriesv2missile_DATA) \ - $(scorcheddataavatars_DATA) $(scorcheddatafonts_DATA) \ - $(scorcheddataglobalmods_DATA) \ + $(scorcheddataacessories_DATA) $(scorcheddataavatars_DATA) \ + $(scorcheddatafonts_DATA) $(scorcheddataglobalmods_DATA) \ $(scorcheddataglobalmodsapoc_DATA) \ $(scorcheddataglobalmodsapocdata_DATA) \ $(scorcheddataglobalmodsapocdataaccessories_DATA) \ + $(scorcheddataglobalmodsapocdataaccessories50cal_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesboulders_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesbrownboulders_DATA) \ $(scorcheddataglobalmodsapocdataaccessoriesbuildings_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesbullet_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriescactus_DATA) \ + $(scorcheddataglobalmodsapocdataaccessorieschurch1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriescityoffice_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriescommon_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesdeer_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesfactory1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesfarm1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesfusionbarrel_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesgasstation1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesgrenade_DATA) \ + $(scorcheddataglobalmodsapocdataaccessorieshouse1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessorieslogcabin1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesm7a3grenade_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesnapalm_DATA) \ $(scorcheddataglobalmodsapocdataaccessoriesobjects_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesoffice3_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriespeople_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesredhornet_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesremorcebomblet_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesshockbomblet_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesshockrocket_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesshotgun_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesskyscraper1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriessmalloak_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesstore1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1_DATA) \ $(scorcheddataglobalmodsapocdataaccessoriesweapons_DATA) \ $(scorcheddataglobalmodsapocdatalandscapes_DATA) \ $(scorcheddataglobalmodsapocdatalandscapesmasks_DATA) \ @@ -2015,12 +2142,14 @@ $(scorcheddatameshest38_DATA) $(scorcheddatatalk_DATA) \ $(scorcheddatatalkgerman_DATA) $(scorcheddatatalkpolish_DATA) \ $(scorcheddatatanks_DATA) $(scorcheddatatanksCF104_DATA) \ + $(scorcheddatatanksCannonTower_DATA) \ $(scorcheddatatanksbattleship_DATA) \ $(scorcheddatatanksbender_DATA) $(scorcheddatatanksbm13_DATA) \ $(scorcheddatatanksbradley2_DATA) \ $(scorcheddatatankscannon_DATA) \ - $(scorcheddatatankscannont_DATA) $(scorcheddatatanksdeath_DATA) \ - $(scorcheddatatanksgorilla_DATA) \ + $(scorcheddatatankscannont_DATA) \ + $(scorcheddatatankscannontower_DATA) \ + $(scorcheddatatanksdeath_DATA) $(scorcheddatatanksgorilla_DATA) \ $(scorcheddatatanksguntower_DATA) $(scorcheddatatankshawk_DATA) \ $(scorcheddatatankshelder_DATA) \ $(scorcheddatatanksignignokt_DATA) \ @@ -2030,7 +2159,8 @@ $(scorcheddatatanksmlrs_DATA) $(scorcheddatatankspatriot_DATA) \ $(scorcheddatatanksphotoncannon_DATA) \ $(scorcheddatatankssa6_DATA) $(scorcheddatatankssentrygun_DATA) \ - $(scorcheddatatankssonic_DATA) $(scorcheddatatankst90_DATA) \ + $(scorcheddatatankssonic_DATA) \ + $(scorcheddatatankssonicring_DATA) $(scorcheddatatankst90_DATA) \ $(scorcheddatatanksthel_DATA) $(scorcheddatatankstiger2_DATA) \ $(scorcheddatatankstowedartillery2_DATA) \ $(scorcheddatatanksturret2_DATA) $(scorcheddatatankstux_DATA) \ @@ -2672,6 +2802,24 @@ echo " rm -f $(DESTDIR)$(scorcheddataaccessoriesv2missiledir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddataaccessoriesv2missiledir)/$$f; \ done +scorcheddataacessoriesDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataacessoriesDATA: $(scorcheddataacessories_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataacessoriesdir) + @list='$(scorcheddataacessories_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataacessoriesDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataacessoriesdir)/$$f"; \ + $(scorcheddataacessoriesDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataacessoriesdir)/$$f; \ + done + +uninstall-scorcheddataacessoriesDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataacessories_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataacessoriesdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataacessoriesdir)/$$f; \ + done scorcheddataavatarsDATA_INSTALL = $(INSTALL_DATA) install-scorcheddataavatarsDATA: $(scorcheddataavatars_DATA) @$(NORMAL_INSTALL) @@ -2780,6 +2928,60 @@ echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdir)/$$f; \ done +scorcheddataglobalmodsapocdataaccessories50calDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessories50calDATA: $(scorcheddataglobalmodsapocdataaccessories50cal_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessories50caldir) + @list='$(scorcheddataglobalmodsapocdataaccessories50cal_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessories50calDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessories50caldir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessories50calDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessories50caldir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessories50calDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessories50cal_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessories50caldir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessories50caldir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesbouldersDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesbouldersDATA: $(scorcheddataglobalmodsapocdataaccessoriesboulders_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbouldersdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesboulders_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesbouldersDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbouldersdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesbouldersDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbouldersdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesbouldersDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesboulders_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbouldersdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbouldersdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA: $(scorcheddataglobalmodsapocdataaccessoriesbrownboulders_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesbrownboulders_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesbrownboulders_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir)/$$f; \ + done scorcheddataglobalmodsapocdataaccessoriesbuildingsDATA_INSTALL = $(INSTALL_DATA) install-scorcheddataglobalmodsapocdataaccessoriesbuildingsDATA: $(scorcheddataglobalmodsapocdataaccessoriesbuildings_DATA) @$(NORMAL_INSTALL) @@ -2798,6 +3000,276 @@ echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbuildingsdir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbuildingsdir)/$$f; \ done +scorcheddataglobalmodsapocdataaccessoriesbulletDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesbulletDATA: $(scorcheddataglobalmodsapocdataaccessoriesbullet_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbulletdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesbullet_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesbulletDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbulletdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesbulletDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbulletdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesbulletDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesbullet_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbulletdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbulletdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriescactusDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriescactusDATA: $(scorcheddataglobalmodsapocdataaccessoriescactus_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescactusdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriescactus_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriescactusDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescactusdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriescactusDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescactusdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriescactusDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriescactus_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescactusdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescactusdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessorieschurch1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessorieschurch1DATA: $(scorcheddataglobalmodsapocdataaccessorieschurch1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieschurch1dir) + @list='$(scorcheddataglobalmodsapocdataaccessorieschurch1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessorieschurch1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieschurch1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessorieschurch1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieschurch1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessorieschurch1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessorieschurch1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieschurch1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieschurch1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriescityofficeDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriescityofficeDATA: $(scorcheddataglobalmodsapocdataaccessoriescityoffice_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescityofficedir) + @list='$(scorcheddataglobalmodsapocdataaccessoriescityoffice_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriescityofficeDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescityofficedir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriescityofficeDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescityofficedir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriescityofficeDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriescityoffice_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescityofficedir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescityofficedir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriescommonDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriescommonDATA: $(scorcheddataglobalmodsapocdataaccessoriescommon_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescommondir) + @list='$(scorcheddataglobalmodsapocdataaccessoriescommon_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriescommonDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescommondir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriescommonDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescommondir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriescommonDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriescommon_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescommondir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescommondir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesdeerDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesdeerDATA: $(scorcheddataglobalmodsapocdataaccessoriesdeer_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdeerdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesdeer_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesdeerDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdeerdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesdeerDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdeerdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesdeerDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesdeer_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdeerdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdeerdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesfactory1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesfactory1DATA: $(scorcheddataglobalmodsapocdataaccessoriesfactory1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfactory1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesfactory1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesfactory1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfactory1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesfactory1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfactory1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesfactory1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesfactory1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfactory1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfactory1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesfarm1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesfarm1DATA: $(scorcheddataglobalmodsapocdataaccessoriesfarm1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfarm1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesfarm1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesfarm1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfarm1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesfarm1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfarm1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesfarm1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesfarm1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfarm1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfarm1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA: $(scorcheddataglobalmodsapocdataaccessoriesfusionbarrel_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesfusionbarrel_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesfusionbarrel_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA: $(scorcheddataglobalmodsapocdataaccessoriesgasstation1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgasstation1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesgasstation1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgasstation1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgasstation1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesgasstation1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgasstation1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgasstation1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA: $(scorcheddataglobalmodsapocdataaccessoriesgrenade_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgrenadedir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesgrenade_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgrenadedir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgrenadedir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesgrenade_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgrenadedir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgrenadedir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessorieshouse1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessorieshouse1DATA: $(scorcheddataglobalmodsapocdataaccessorieshouse1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieshouse1dir) + @list='$(scorcheddataglobalmodsapocdataaccessorieshouse1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessorieshouse1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieshouse1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessorieshouse1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieshouse1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessorieshouse1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessorieshouse1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieshouse1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieshouse1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA: $(scorcheddataglobalmodsapocdataaccessorieslogcabin1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieslogcabin1dir) + @list='$(scorcheddataglobalmodsapocdataaccessorieslogcabin1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieslogcabin1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieslogcabin1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessorieslogcabin1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieslogcabin1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieslogcabin1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA: $(scorcheddataglobalmodsapocdataaccessoriesm7a3grenade_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenade_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenade_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesnapalmDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesnapalmDATA: $(scorcheddataglobalmodsapocdataaccessoriesnapalm_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesnapalmdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesnapalm_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesnapalmDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesnapalmdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesnapalmDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesnapalmdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesnapalmDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesnapalm_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesnapalmdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesnapalmdir)/$$f; \ + done scorcheddataglobalmodsapocdataaccessoriesobjectsDATA_INSTALL = $(INSTALL_DATA) install-scorcheddataglobalmodsapocdataaccessoriesobjectsDATA: $(scorcheddataglobalmodsapocdataaccessoriesobjects_DATA) @$(NORMAL_INSTALL) @@ -2816,6 +3288,222 @@ echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesobjectsdir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesobjectsdir)/$$f; \ done +scorcheddataglobalmodsapocdataaccessoriesoffice3DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesoffice3DATA: $(scorcheddataglobalmodsapocdataaccessoriesoffice3_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesoffice3dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesoffice3_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesoffice3DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesoffice3dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesoffice3DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesoffice3dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesoffice3DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesoffice3_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesoffice3dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesoffice3dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA: $(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriespeopleDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriespeopleDATA: $(scorcheddataglobalmodsapocdataaccessoriespeople_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriespeopledir) + @list='$(scorcheddataglobalmodsapocdataaccessoriespeople_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriespeopleDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriespeopledir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriespeopleDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriespeopledir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriespeopleDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriespeople_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriespeopledir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriespeopledir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesredhornetDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesredhornetDATA: $(scorcheddataglobalmodsapocdataaccessoriesredhornet_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesredhornetdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesredhornet_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesredhornetDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesredhornetdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesredhornetDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesredhornetdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesredhornetDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesredhornet_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesredhornetdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesredhornetdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA: $(scorcheddataglobalmodsapocdataaccessoriesremorcebomblet_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesremorcebomblet_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesremorcebomblet_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA: $(scorcheddataglobalmodsapocdataaccessoriesshockbomblet_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockbombletdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesshockbomblet_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockbombletdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockbombletdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesshockbomblet_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockbombletdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockbombletdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA: $(scorcheddataglobalmodsapocdataaccessoriesshockrocket_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockrocketdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesshockrocket_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockrocketdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockrocketdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesshockrocket_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockrocketdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockrocketdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesshotgunDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesshotgunDATA: $(scorcheddataglobalmodsapocdataaccessoriesshotgun_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshotgundir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesshotgun_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesshotgunDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshotgundir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesshotgunDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshotgundir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesshotgunDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesshotgun_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshotgundir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshotgundir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA: $(scorcheddataglobalmodsapocdataaccessoriesskyscraper1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriessmalloakDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriessmalloakDATA: $(scorcheddataglobalmodsapocdataaccessoriessmalloak_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriessmalloakdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriessmalloak_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriessmalloakDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriessmalloakdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriessmalloakDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriessmalloakdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriessmalloakDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriessmalloak_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriessmalloakdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriessmalloakdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesstore1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesstore1DATA: $(scorcheddataglobalmodsapocdataaccessoriesstore1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesstore1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesstore1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesstore1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesstore1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesstore1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesstore1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesstore1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesstore1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesstore1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesstore1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA: $(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir)/$$f; \ + done scorcheddataglobalmodsapocdataaccessoriesweaponsDATA_INSTALL = $(INSTALL_DATA) install-scorcheddataglobalmodsapocdataaccessoriesweaponsDATA: $(scorcheddataglobalmodsapocdataaccessoriesweapons_DATA) @$(NORMAL_INSTALL) @@ -3572,6 +4260,24 @@ echo " rm -f $(DESTDIR)$(scorcheddatatanksCF104dir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddatatanksCF104dir)/$$f; \ done +scorcheddatatanksCannonTowerDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddatatanksCannonTowerDATA: $(scorcheddatatanksCannonTower_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddatatanksCannonTowerdir) + @list='$(scorcheddatatanksCannonTower_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddatatanksCannonTowerDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddatatanksCannonTowerdir)/$$f"; \ + $(scorcheddatatanksCannonTowerDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddatatanksCannonTowerdir)/$$f; \ + done + +uninstall-scorcheddatatanksCannonTowerDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddatatanksCannonTower_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddatatanksCannonTowerdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddatatanksCannonTowerdir)/$$f; \ + done scorcheddatatanksbattleshipDATA_INSTALL = $(INSTALL_DATA) install-scorcheddatatanksbattleshipDATA: $(scorcheddatatanksbattleship_DATA) @$(NORMAL_INSTALL) @@ -3680,6 +4386,24 @@ echo " rm -f $(DESTDIR)$(scorcheddatatankscannontdir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddatatankscannontdir)/$$f; \ done +scorcheddatatankscannontowerDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddatatankscannontowerDATA: $(scorcheddatatankscannontower_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddatatankscannontowerdir) + @list='$(scorcheddatatankscannontower_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddatatankscannontowerDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddatatankscannontowerdir)/$$f"; \ + $(scorcheddatatankscannontowerDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddatatankscannontowerdir)/$$f; \ + done + +uninstall-scorcheddatatankscannontowerDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddatatankscannontower_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddatatankscannontowerdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddatatankscannontowerdir)/$$f; \ + done scorcheddatatanksdeathDATA_INSTALL = $(INSTALL_DATA) install-scorcheddatatanksdeathDATA: $(scorcheddatatanksdeath_DATA) @$(NORMAL_INSTALL) @@ -3968,6 +4692,24 @@ echo " rm -f $(DESTDIR)$(scorcheddatatankssonicdir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddatatankssonicdir)/$$f; \ done +scorcheddatatankssonicringDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddatatankssonicringDATA: $(scorcheddatatankssonicring_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddatatankssonicringdir) + @list='$(scorcheddatatankssonicring_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddatatankssonicringDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddatatankssonicringdir)/$$f"; \ + $(scorcheddatatankssonicringDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddatatankssonicringdir)/$$f; \ + done + +uninstall-scorcheddatatankssonicringDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddatatankssonicring_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddatatankssonicringdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddatatankssonicringdir)/$$f; \ + done scorcheddatatankst90DATA_INSTALL = $(INSTALL_DATA) install-scorcheddatatankst90DATA: $(scorcheddatatankst90_DATA) @$(NORMAL_INSTALL) @@ -4962,7 +5704,7 @@ all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(scorcheddatadir) $(DESTDIR)$(scorcheddataaccessoriesdir) $(DESTDIR)$(scorcheddataaccessoriesbananadir) $(DESTDIR)$(scorcheddataaccessoriesbarragedir) $(DESTDIR)$(scorcheddataaccessoriesbeer_bottledir) $(DESTDIR)$(scorcheddataaccessoriesbombdir) $(DESTDIR)$(scorcheddataaccessoriesbombletdir) $(DESTDIR)$(scorcheddataaccessoriesbouncingbettydir) $(DESTDIR)$(scorcheddataaccessoriesdiggerdir) $(DESTDIR)$(scorcheddataaccessoriesdirtdir) $(DESTDIR)$(scorcheddataaccessoriesfatmandir) $(DESTDIR)$(scorcheddataaccessorieshawkmissiledir) $(DESTDIR)$(scorcheddataaccessoriesherringdir) $(DESTDIR)$(scorcheddataaccessoriesicbmdir) $(DESTDIR)$(scorcheddataaccessorieslaserdir) $(DESTDIR)$(scorcheddataaccessorieslittleboydir) $(DESTDIR)$(scorcheddataaccessoriesm48dir) $(DESTDIR)$(scorcheddataaccessoriesmirvwarheaddir) $(DESTDIR)$(scorcheddataaccessoriesnapalmdir) $(DESTDIR)$(scorcheddataaccessoriespalmtreedir) $(DESTDIR)$(scorcheddataaccessoriespatriotdir) $(DESTDIR)$(scorcheddataaccessoriespinguinsdir) $(DESTDIR)$(scorcheddataaccessoriespwrcratedir) $(DESTDIR)$(scorcheddataaccessoriesriotdir) $(DESTDIR)$(scorcheddataaccessoriesrollerdir) $(DESTDIR)$(scorcheddataaccessoriessa6dir) $(DESTDIR)$(scorcheddataaccessoriesshackdir) $(DESTDIR)$(scorcheddataaccessoriesshelldir) $(DESTDIR)$(scorcheddataaccessoriessmallpinedir) $(DESTDIR)$(scorcheddataaccessoriessonicringdir) $(DESTDIR)$(scorcheddataaccessoriesteleportdir) $(DESTDIR)$(scorcheddataaccessoriesv2missiledir) $(DESTDIR)$(scorcheddataavatarsdir) $(DESTDIR)$(scorcheddatafontsdir) $(DESTDIR)$(scorcheddataglobalmodsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatadir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbuildingsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesobjectsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesweaponsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatalandscapesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatalandscapesmasksdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshes737uadir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshescessnadir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshesfight4lifedir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatexturesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatexturesexplodedir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapedir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapedesertdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapegrassdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapemoondir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureswiconsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavexplosionsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavmiscdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavshootdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawindowsdir) $(DESTDIR)$(scorcheddatahtmldir) $(DESTDIR)$(scorcheddatahtmlserverdir) $(DESTDIR)$(scorcheddatalandscapesdir) $(DESTDIR)$(scorcheddatameshesdir) $(DESTDIR)$(scorcheddatameshesah64ddir) $(DESTDIR)$(scorcheddatameshesararadir) $(DESTDIR)$(scorcheddatameshesbatdir) $(DESTDIR)$(scorcheddatameshescarrierdir) $(DESTDIR)$(scorcheddatameshesddg24dir) $(DESTDIR)$(scorcheddatameshesdestroyerdir) $(DESTDIR)$(scorcheddatameshesf16dir) $(DESTDIR)$(scorcheddatameshesf18dir) $(DESTDIR)$(scorcheddatameshesfishboatdir) $(DESTDIR)$(scorcheddatameshesjollyrogerdir) $(DESTDIR)$(scorcheddatameshessailboatdir) $(DESTDIR)$(scorcheddatameshesseagulldir) $(DESTDIR)$(scorcheddatameshessubdir) $(DESTDIR)$(scorcheddatameshest38dir) $(DESTDIR)$(scorcheddatatalkdir) $(DESTDIR)$(scorcheddatatalkgermandir) $(DESTDIR)$(scorcheddatatalkpolishdir) $(DESTDIR)$(scorcheddatatanksdir) $(DESTDIR)$(scorcheddatatanksCF104dir) $(DESTDIR)$(scorcheddatatanksbattleshipdir) $(DESTDIR)$(scorcheddatatanksbenderdir) $(DESTDIR)$(scorcheddatatanksbm13dir) $(DESTDIR)$(scorcheddatatanksbradley2dir) $(DESTDIR)$(scorcheddatatankscannondir) $(DESTDIR)$(scorcheddatatankscannontdir) $(DESTDIR)$(scorcheddatatanksdeathdir) $(DESTDIR)$(scorcheddatatanksgorilladir) $(DESTDIR)$(scorcheddatatanksguntowerdir) $(DESTDIR)$(scorcheddatatankshawkdir) $(DESTDIR)$(scorcheddatatankshelderdir) $(DESTDIR)$(scorcheddatatanksignignoktdir) $(DESTDIR)$(scorcheddatatankslav25dir) $(DESTDIR)$(scorcheddatatanksm1a1dir) $(DESTDIR)$(scorcheddatatanksm48dir) $(DESTDIR)$(scorcheddatatanksmissileturretdir) $(DESTDIR)$(scorcheddatatanksmlrsdir) $(DESTDIR)$(scorcheddatatankspatriotdir) $(DESTDIR)$(scorcheddatatanksphotoncannondir) $(DESTDIR)$(scorcheddatatankssa6dir) $(DESTDIR)$(scorcheddatatankssentrygundir) $(DESTDIR)$(scorcheddatatankssonicdir) $(DESTDIR)$(scorcheddatatankst90dir) $(DESTDIR)$(scorcheddatatankstheldir) $(DESTDIR)$(scorcheddatatankstiger2dir) $(DESTDIR)$(scorcheddatatankstowedartillery2dir) $(DESTDIR)$(scorcheddatatanksturret2dir) $(DESTDIR)$(scorcheddatatankstuxdir) $(DESTDIR)$(scorcheddatatankszsu23dir) $(DESTDIR)$(scorcheddatatankszsu57dir) $(DESTDIR)$(scorcheddatatexturesdir) $(DESTDIR)$(scorcheddatatexturesbordershielddir) $(DESTDIR)$(scorcheddatatexturesexplodedir) $(DESTDIR)$(scorcheddatatexturesflamedir) $(DESTDIR)$(scorcheddatatextureslandscapedir) $(DESTDIR)$(scorcheddatatextureslandscapearizonadir) $(DESTDIR)$(scorcheddatatextureslandscapeasianspringdir) $(DESTDIR)$(scorcheddatatextureslandscapecastledir) $(DESTDIR)$(scorcheddatatextureslandscapechinadir) $(DESTDIR)$(scorcheddatatextureslandscapedefaultdir) $(DESTDIR)$(scorcheddatatextureslandscapedenalidir) $(DESTDIR)$(scorcheddatatextureslandscapehelldir) $(DESTDIR)$(scorcheddatatextureslandscapeicedir) $(DESTDIR)$(scorcheddatatextureslandscapeplagedir) $(DESTDIR)$(scorcheddatatextureslandscapesaharadir) $(DESTDIR)$(scorcheddatatextureslandscapesanddir) $(DESTDIR)$(scorcheddatatextureslandscapesnowdir) $(DESTDIR)$(scorcheddatatextureslandscapestormdir) $(DESTDIR)$(scorcheddatatextureslandscapetropicaldir) $(DESTDIR)$(scorcheddatatextureslandscapetuscandir) $(DESTDIR)$(scorcheddatatextureslandscapevulcanodir) $(DESTDIR)$(scorcheddatatextureslensflaredir) $(DESTDIR)$(scorcheddatatextureswiconsdir) $(DESTDIR)$(scorcheddatawavdir) $(DESTDIR)$(scorcheddatawavbatterydir) $(DESTDIR)$(scorcheddatawavexplosionsdir) $(DESTDIR)$(scorcheddatawavmiscdir) $(DESTDIR)$(scorcheddatawavmovementdir) $(DESTDIR)$(scorcheddatawavshielddir) $(DESTDIR)$(scorcheddatawavshootdir) $(DESTDIR)$(scorcheddatawindowsdir) $(DESTDIR)$(scorcheddocumentationdir) $(DESTDIR)$(scorcheddocumentationhtmldir) $(DESTDIR)$(scorcheddocumentationhtmlbuttonsdir) $(DESTDIR)$(scorcheddocumentationhtmlnumbersdir) $(DESTDIR)$(scorcheddocumentationhtmlscreenshotsdir) + $(mkinstalldirs) $(DESTDIR)$(scorcheddatadir) $(DESTDIR)$(scorcheddataaccessoriesdir) $(DESTDIR)$(scorcheddataaccessoriesbananadir) $(DESTDIR)$(scorcheddataaccessoriesbarragedir) $(DESTDIR)$(scorcheddataaccessoriesbeer_bottledir) $(DESTDIR)$(scorcheddataaccessoriesbombdir) $(DESTDIR)$(scorcheddataaccessoriesbombletdir) $(DESTDIR)$(scorcheddataaccessoriesbouncingbettydir) $(DESTDIR)$(scorcheddataaccessoriesdiggerdir) $(DESTDIR)$(scorcheddataaccessoriesdirtdir) $(DESTDIR)$(scorcheddataaccessoriesfatmandir) $(DESTDIR)$(scorcheddataaccessorieshawkmissiledir) $(DESTDIR)$(scorcheddataaccessoriesherringdir) $(DESTDIR)$(scorcheddataaccessoriesicbmdir) $(DESTDIR)$(scorcheddataaccessorieslaserdir) $(DESTDIR)$(scorcheddataaccessorieslittleboydir) $(DESTDIR)$(scorcheddataaccessoriesm48dir) $(DESTDIR)$(scorcheddataaccessoriesmirvwarheaddir) $(DESTDIR)$(scorcheddataaccessoriesnapalmdir) $(DESTDIR)$(scorcheddataaccessoriespalmtreedir) $(DESTDIR)$(scorcheddataaccessoriespatriotdir) $(DESTDIR)$(scorcheddataaccessoriespinguinsdir) $(DESTDIR)$(scorcheddataaccessoriespwrcratedir) $(DESTDIR)$(scorcheddataaccessoriesriotdir) $(DESTDIR)$(scorcheddataaccessoriesrollerdir) $(DESTDIR)$(scorcheddataaccessoriessa6dir) $(DESTDIR)$(scorcheddataaccessoriesshackdir) $(DESTDIR)$(scorcheddataaccessoriesshelldir) $(DESTDIR)$(scorcheddataaccessoriessmallpinedir) $(DESTDIR)$(scorcheddataaccessoriessonicringdir) $(DESTDIR)$(scorcheddataaccessoriesteleportdir) $(DESTDIR)$(scorcheddataaccessoriesv2missiledir) $(DESTDIR)$(scorcheddataacessoriesdir) $(DESTDIR)$(scorcheddataavatarsdir) $(DESTDIR)$(scorcheddatafontsdir) $(DESTDIR)$(scorcheddataglobalmodsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatadir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessories50caldir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbouldersdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbuildingsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbulletdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescactusdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieschurch1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescityofficedir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescommondir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdeerdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfactory1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfarm1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgasstation1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgrenadedir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieshouse1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieslogcabin1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesnapalmdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesobjectsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesoffice3dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriespeopledir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesredhornetdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockbombletdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockrocketdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshotgundir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriessmalloakdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesstore1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesweaponsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatalandscapesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatalandscapesmasksdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshes737uadir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshescessnadir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshesfight4lifedir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatexturesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatexturesexplodedir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapedir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapedesertdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapegrassdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapemoondir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureswiconsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavexplosionsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavmiscdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavshootdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawindowsdir) $(DESTDIR)$(scorcheddatahtmldir) $(DESTDIR)$(scorcheddatahtmlserverdir) $(DESTDIR)$(scorcheddatalandscapesdir) $(DESTDIR)$(scorcheddatameshesdir) $(DESTDIR)$(scorcheddatameshesah64ddir) $(DESTDIR)$(scorcheddatameshesararadir) $(DESTDIR)$(scorcheddatameshesbatdir) $(DESTDIR)$(scorcheddatameshescarrierdir) $(DESTDIR)$(scorcheddatameshesddg24dir) $(DESTDIR)$(scorcheddatameshesdestroyerdir) $(DESTDIR)$(scorcheddatameshesf16dir) $(DESTDIR)$(scorcheddatameshesf18dir) $(DESTDIR)$(scorcheddatameshesfishboatdir) $(DESTDIR)$(scorcheddatameshesjollyrogerdir) $(DESTDIR)$(scorcheddatameshessailboatdir) $(DESTDIR)$(scorcheddatameshesseagulldir) $(DESTDIR)$(scorcheddatameshessubdir) $(DESTDIR)$(scorcheddatameshest38dir) $(DESTDIR)$(scorcheddatatalkdir) $(DESTDIR)$(scorcheddatatalkgermandir) $(DESTDIR)$(scorcheddatatalkpolishdir) $(DESTDIR)$(scorcheddatatanksdir) $(DESTDIR)$(scorcheddatatanksCF104dir) $(DESTDIR)$(scorcheddatatanksCannonTowerdir) $(DESTDIR)$(scorcheddatatanksbattleshipdir) $(DESTDIR)$(scorcheddatatanksbenderdir) $(DESTDIR)$(scorcheddatatanksbm13dir) $(DESTDIR)$(scorcheddatatanksbradley2dir) $(DESTDIR)$(scorcheddatatankscannondir) $(DESTDIR)$(scorcheddatatankscannontdir) $(DESTDIR)$(scorcheddatatankscannontowerdir) $(DESTDIR)$(scorcheddatatanksdeathdir) $(DESTDIR)$(scorcheddatatanksgorilladir) $(DESTDIR)$(scorcheddatatanksguntowerdir) $(DESTDIR)$(scorcheddatatankshawkdir) $(DESTDIR)$(scorcheddatatankshelderdir) $(DESTDIR)$(scorcheddatatanksignignoktdir) $(DESTDIR)$(scorcheddatatankslav25dir) $(DESTDIR)$(scorcheddatatanksm1a1dir) $(DESTDIR)$(scorcheddatatanksm48dir) $(DESTDIR)$(scorcheddatatanksmissileturretdir) $(DESTDIR)$(scorcheddatatanksmlrsdir) $(DESTDIR)$(scorcheddatatankspatriotdir) $(DESTDIR)$(scorcheddatatanksphotoncannondir) $(DESTDIR)$(scorcheddatatankssa6dir) $(DESTDIR)$(scorcheddatatankssentrygundir) $(DESTDIR)$(scorcheddatatankssonicdir) $(DESTDIR)$(scorcheddatatankssonicringdir) $(DESTDIR)$(scorcheddatatankst90dir) $(DESTDIR)$(scorcheddatatankstheldir) $(DESTDIR)$(scorcheddatatankstiger2dir) $(DESTDIR)$(scorcheddatatankstowedartillery2dir) $(DESTDIR)$(scorcheddatatanksturret2dir) $(DESTDIR)$(scorcheddatatankstuxdir) $(DESTDIR)$(scorcheddatatankszsu23dir) $(DESTDIR)$(scorcheddatatankszsu57dir) $(DESTDIR)$(scorcheddatatexturesdir) $(DESTDIR)$(scorcheddatatexturesbordershielddir) $(DESTDIR)$(scorcheddatatexturesexplodedir) $(DESTDIR)$(scorcheddatatexturesflamedir) $(DESTDIR)$(scorcheddatatextureslandscapedir) $(DESTDIR)$(scorcheddatatextureslandscapearizonadir) $(DESTDIR)$(scorcheddatatextureslandscapeasianspringdir) $(DESTDIR)$(scorcheddatatextureslandscapecastledir) $(DESTDIR)$(scorcheddatatextureslandscapechinadir) $(DESTDIR)$(scorcheddatatextureslandscapedefaultdir) $(DESTDIR)$(scorcheddatatextureslandscapedenalidir) $(DESTDIR)$(scorcheddatatextureslandscapehelldir) $(DESTDIR)$(scorcheddatatextureslandscapeicedir) $(DESTDIR)$(scorcheddatatextureslandscapeplagedir) $(DESTDIR)$(scorcheddatatextureslandscapesaharadir) $(DESTDIR)$(scorcheddatatextureslandscapesanddir) $(DESTDIR)$(scorcheddatatextureslandscapesnowdir) $(DESTDIR)$(scorcheddatatextureslandscapestormdir) $(DESTDIR)$(scorcheddatatextureslandscapetropicaldir) $(DESTDIR)$(scorcheddatatextureslandscapetuscandir) $(DESTDIR)$(scorcheddatatextureslandscapevulcanodir) $(DESTDIR)$(scorcheddatatextureslensflaredir) $(DESTDIR)$(scorcheddatatextureswiconsdir) $(DESTDIR)$(scorcheddatawavdir) $(DESTDIR)$(scorcheddatawavbatterydir) $(DESTDIR)$(scorcheddatawavexplosionsdir) $(DESTDIR)$(scorcheddatawavmiscdir) $(DESTDIR)$(scorcheddatawavmovementdir) $(DESTDIR)$(scorcheddatawavshielddir) $(DESTDIR)$(scorcheddatawavshootdir) $(DESTDIR)$(scorcheddatawindowsdir) $(DESTDIR)$(scorcheddocumentationdir) $(DESTDIR)$(scorcheddocumentationhtmldir) $(DESTDIR)$(scorcheddocumentationhtmlbuttonsdir) $(DESTDIR)$(scorcheddocumentationhtmlnumbersdir) $(DESTDIR)$(scorcheddocumentationhtmlscreenshotsdir) install: install-recursive install-exec: install-exec-recursive @@ -5036,13 +5778,44 @@ install-scorcheddataaccessoriessonicringDATA \ install-scorcheddataaccessoriesteleportDATA \ install-scorcheddataaccessoriesv2missileDATA \ + install-scorcheddataacessoriesDATA \ install-scorcheddataavatarsDATA install-scorcheddatafontsDATA \ install-scorcheddataglobalmodsDATA \ install-scorcheddataglobalmodsapocDATA \ install-scorcheddataglobalmodsapocdataDATA \ + install-scorcheddataglobalmodsapocdataaccessories50calDATA \ install-scorcheddataglobalmodsapocdataaccessoriesDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesbouldersDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA \ install-scorcheddataglobalmodsapocdataaccessoriesbuildingsDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesbulletDATA \ + install-scorcheddataglobalmodsapocdataaccessoriescactusDATA \ + install-scorcheddataglobalmodsapocdataaccessorieschurch1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriescityofficeDATA \ + install-scorcheddataglobalmodsapocdataaccessoriescommonDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesdeerDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesfactory1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesfarm1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA \ + install-scorcheddataglobalmodsapocdataaccessorieshouse1DATA \ + install-scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesnapalmDATA \ install-scorcheddataglobalmodsapocdataaccessoriesobjectsDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesoffice3DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriespeopleDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesredhornetDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesshotgunDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriessmalloakDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesstore1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA \ install-scorcheddataglobalmodsapocdataaccessoriesweaponsDATA \ install-scorcheddataglobalmodsapocdatalandscapesDATA \ install-scorcheddataglobalmodsapocdatalandscapesmasksDATA \ @@ -5082,6 +5855,7 @@ install-scorcheddatatalkgermanDATA \ install-scorcheddatatalkpolishDATA \ install-scorcheddatatanksCF104DATA \ + install-scorcheddatatanksCannonTowerDATA \ install-scorcheddatatanksDATA \ install-scorcheddatatanksbattleshipDATA \ install-scorcheddatatanksbenderDATA \ @@ -5089,6 +5863,7 @@ install-scorcheddatatanksbradley2DATA \ install-scorcheddatatankscannonDATA \ install-scorcheddatatankscannontDATA \ + install-scorcheddatatankscannontowerDATA \ install-scorcheddatatanksdeathDATA \ install-scorcheddatatanksgorillaDATA \ install-scorcheddatatanksguntowerDATA \ @@ -5105,6 +5880,7 @@ install-scorcheddatatankssa6DATA \ install-scorcheddatatankssentrygunDATA \ install-scorcheddatatankssonicDATA \ + install-scorcheddatatankssonicringDATA \ install-scorcheddatatankst90DATA \ install-scorcheddatatanksthelDATA \ install-scorcheddatatankstiger2DATA \ @@ -5198,14 +5974,45 @@ uninstall-scorcheddataaccessoriessonicringDATA \ uninstall-scorcheddataaccessoriesteleportDATA \ uninstall-scorcheddataaccessoriesv2missileDATA \ + uninstall-scorcheddataacessoriesDATA \ uninstall-scorcheddataavatarsDATA \ uninstall-scorcheddatafontsDATA \ uninstall-scorcheddataglobalmodsDATA \ uninstall-scorcheddataglobalmodsapocDATA \ uninstall-scorcheddataglobalmodsapocdataDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessories50calDATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesbouldersDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesbuildingsDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesbulletDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriescactusDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessorieschurch1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriescityofficeDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriescommonDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesdeerDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesfactory1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesfarm1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessorieshouse1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesnapalmDATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesobjectsDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesoffice3DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriespeopleDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesredhornetDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesshotgunDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriessmalloakDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesstore1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesweaponsDATA \ uninstall-scorcheddataglobalmodsapocdatalandscapesDATA \ uninstall-scorcheddataglobalmodsapocdatalandscapesmasksDATA \ @@ -5247,6 +6054,7 @@ uninstall-scorcheddatatalkgermanDATA \ uninstall-scorcheddatatalkpolishDATA \ uninstall-scorcheddatatanksCF104DATA \ + uninstall-scorcheddatatanksCannonTowerDATA \ uninstall-scorcheddatatanksDATA \ uninstall-scorcheddatatanksbattleshipDATA \ uninstall-scorcheddatatanksbenderDATA \ @@ -5254,6 +6062,7 @@ uninstall-scorcheddatatanksbradley2DATA \ uninstall-scorcheddatatankscannonDATA \ uninstall-scorcheddatatankscannontDATA \ + uninstall-scorcheddatatankscannontowerDATA \ uninstall-scorcheddatatanksdeathDATA \ uninstall-scorcheddatatanksgorillaDATA \ uninstall-scorcheddatatanksguntowerDATA \ @@ -5270,6 +6079,7 @@ uninstall-scorcheddatatankssa6DATA \ uninstall-scorcheddatatankssentrygunDATA \ uninstall-scorcheddatatankssonicDATA \ + uninstall-scorcheddatatankssonicringDATA \ uninstall-scorcheddatatankst90DATA \ uninstall-scorcheddatatanksthelDATA \ uninstall-scorcheddatatankstiger2DATA \ @@ -5356,13 +6166,44 @@ install-scorcheddataaccessoriessonicringDATA \ install-scorcheddataaccessoriesteleportDATA \ install-scorcheddataaccessoriesv2missileDATA \ + install-scorcheddataacessoriesDATA \ install-scorcheddataavatarsDATA install-scorcheddatafontsDATA \ install-scorcheddataglobalmodsDATA \ install-scorcheddataglobalmodsapocDATA \ install-scorcheddataglobalmodsapocdataDATA \ + install-scorcheddataglobalmodsapocdataaccessories50calDATA \ install-scorcheddataglobalmodsapocdataaccessoriesDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesbouldersDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA \ install-scorcheddataglobalmodsapocdataaccessoriesbuildingsDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesbulletDATA \ + install-scorcheddataglobalmodsapocdataaccessoriescactusDATA \ + install-scorcheddataglobalmodsapocdataaccessorieschurch1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriescityofficeDATA \ + install-scorcheddataglobalmodsapocdataaccessoriescommonDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesdeerDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesfactory1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesfarm1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA \ + install-scorcheddataglobalmodsapocdataaccessorieshouse1DATA \ + install-scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesnapalmDATA \ install-scorcheddataglobalmodsapocdataaccessoriesobjectsDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesoffice3DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriespeopleDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesredhornetDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesshotgunDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriessmalloakDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesstore1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA \ install-scorcheddataglobalmodsapocdataaccessoriesweaponsDATA \ install-scorcheddataglobalmodsapocdatalandscapesDATA \ install-scorcheddataglobalmodsapocdatalandscapesmasksDATA \ @@ -5402,6 +6243,7 @@ install-scorcheddatatalkgermanDATA \ install-scorcheddatatalkpolishDATA \ install-scorcheddatatanksCF104DATA \ + install-scorcheddatatanksCannonTowerDATA \ install-scorcheddatatanksDATA \ install-scorcheddatatanksbattleshipDATA \ install-scorcheddatatanksbenderDATA \ @@ -5409,6 +6251,7 @@ install-scorcheddatatanksbradley2DATA \ install-scorcheddatatankscannonDATA \ install-scorcheddatatankscannontDATA \ + install-scorcheddatatankscannontowerDATA \ install-scorcheddatatanksdeathDATA \ install-scorcheddatatanksgorillaDATA \ install-scorcheddatatanksguntowerDATA \ @@ -5425,6 +6268,7 @@ install-scorcheddatatankssa6DATA \ install-scorcheddatatankssentrygunDATA \ install-scorcheddatatankssonicDATA \ + install-scorcheddatatankssonicringDATA \ install-scorcheddatatankst90DATA \ install-scorcheddatatanksthelDATA \ install-scorcheddatatankstiger2DATA \ @@ -5505,14 +6349,45 @@ uninstall-scorcheddataaccessoriessonicringDATA \ uninstall-scorcheddataaccessoriesteleportDATA \ uninstall-scorcheddataaccessoriesv2missileDATA \ + uninstall-scorcheddataacessoriesDATA \ uninstall-scorcheddataavatarsDATA \ uninstall-scorcheddatafontsDATA \ uninstall-scorcheddataglobalmodsDATA \ uninstall-scorcheddataglobalmodsapocDATA \ uninstall-scorcheddataglobalmodsapocdataDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessories50calDATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesbouldersDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesbuildingsDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesbulletDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriescactusDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessorieschurch1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriescityofficeDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriescommonDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesdeerDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesfactory1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesfarm1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessorieshouse1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesnapalmDATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesobjectsDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesoffice3DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriespeopleDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesredhornetDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesshotgunDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriessmalloakDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesstore1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesweaponsDATA \ uninstall-scorcheddataglobalmodsapocdatalandscapesDATA \ uninstall-scorcheddataglobalmodsapocdatalandscapesmasksDATA \ @@ -5554,6 +6429,7 @@ uninstall-scorcheddatatalkgermanDATA \ uninstall-scorcheddatatalkpolishDATA \ uninstall-scorcheddatatanksCF104DATA \ + uninstall-scorcheddatatanksCannonTowerDATA \ uninstall-scorcheddatatanksDATA \ uninstall-scorcheddatatanksbattleshipDATA \ uninstall-scorcheddatatanksbenderDATA \ @@ -5561,6 +6437,7 @@ uninstall-scorcheddatatanksbradley2DATA \ uninstall-scorcheddatatankscannonDATA \ uninstall-scorcheddatatankscannontDATA \ + uninstall-scorcheddatatankscannontowerDATA \ uninstall-scorcheddatatanksdeathDATA \ uninstall-scorcheddatatanksgorillaDATA \ uninstall-scorcheddatatanksguntowerDATA \ @@ -5577,6 +6454,7 @@ uninstall-scorcheddatatankssa6DATA \ uninstall-scorcheddatatankssentrygunDATA \ uninstall-scorcheddatatankssonicDATA \ + uninstall-scorcheddatatankssonicringDATA \ uninstall-scorcheddatatankst90DATA \ uninstall-scorcheddatatanksthelDATA \ uninstall-scorcheddatatankstiger2DATA \ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/Makefile.am /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/Makefile.am --- /tmp/ZyiKWGPp1w/scorched3d-40/Makefile.am 2006-07-16 00:14:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/Makefile.am 2006-10-29 21:56:13.000000000 +0900 @@ -2,7 +2,7 @@ docdir = @docdir@ -scorcheddocumentationdir = ${docdir}/documentation +scorcheddocumentationdir = ${docdir} scorcheddocumentation_DATA = documentation/README-EXPAT.txt \ documentation/README-ODE.txt \ documentation/README-SDL.txt \ @@ -11,7 +11,7 @@ documentation/README-apoc.txt \ documentation/README-wxwindows.txt \ documentation/README-zlib.txt -scorcheddocumentationhtmldir = ${docdir}/documentation/html +scorcheddocumentationhtmldir = ${docdir}/html scorcheddocumentationhtml_DATA = documentation/html/accessories.html \ documentation/html/aiming.html \ documentation/html/camera.html \ @@ -26,11 +26,11 @@ documentation/html/quickstart.html \ documentation/html/screen.html \ documentation/html/serverfiles.html -scorcheddocumentationhtmlbuttonsdir = ${docdir}/documentation/html/buttons +scorcheddocumentationhtmlbuttonsdir = ${docdir}/html/buttons scorcheddocumentationhtmlbuttons_DATA = documentation/html/buttons/donate.gif \ documentation/html/buttons/dummies.gif \ documentation/html/buttons/scorchedlarge2.gif -scorcheddocumentationhtmlnumbersdir = ${docdir}/documentation/html/numbers +scorcheddocumentationhtmlnumbersdir = ${docdir}/html/numbers scorcheddocumentationhtmlnumbers_DATA = documentation/html/numbers/number-1.gif \ documentation/html/numbers/number-2.gif \ documentation/html/numbers/number-3.gif \ @@ -40,7 +40,7 @@ documentation/html/numbers/number-7.gif \ documentation/html/numbers/number-8.gif \ documentation/html/numbers/number-9.gif -scorcheddocumentationhtmlscreenshotsdir = ${docdir}/documentation/html/screenshots +scorcheddocumentationhtmlscreenshotsdir = ${docdir}/html/screenshots scorcheddocumentationhtmlscreenshots_DATA = documentation/html/screenshots/aiming.gif \ documentation/html/screenshots/3ds.gif \ documentation/html/screenshots/indicators.gif \ @@ -70,7 +70,6 @@ data/autoexec.xml \ data/fastestdisplay.xml \ data/keys.xml \ - data/landscapes.xml \ data/modinfo.xml \ data/mysql.xml \ data/pgprunetables.sql \ @@ -96,7 +95,8 @@ data/textureset.xml \ data/tips.txt \ data/tutorial.xml \ - data/windows.xml + data/windows.xml \ + data/landscapes.xml scorcheddataaccessoriesdir = ${datadir}/data/accessories scorcheddataaccessories_DATA = data/accessories/clusterbomb.ase \ data/accessories/clusterbomb2.ase \ @@ -239,6 +239,8 @@ data/accessories/v2missile/gradient.bmp \ data/accessories/v2missile/v2missile.txt \ data/accessories/v2missile/yellow.bmp +scorcheddataacessoriesdir = ${datadir}/data/acessories +scorcheddataacessories_DATA = scorcheddataavatarsdir = ${datadir}/data/avatars scorcheddataavatars_DATA = data/avatars/agreement.txt \ data/avatars/animal.gif \ @@ -262,7 +264,8 @@ scorcheddatafontsdir = ${datadir}/data/fonts scorcheddatafonts_DATA = data/fonts/test.ttf \ data/fonts/testout.ttf \ - data/fonts/veramobd.ttf + data/fonts/veramobd.ttf \ + data/fonts/VERA-COPYRIGHT.TXT scorcheddataglobalmodsdir = ${datadir}/data/globalmods scorcheddataglobalmods_DATA = data/globalmods/globalmods.txt scorcheddataglobalmodsapocdir = ${datadir}/data/globalmods/apoc @@ -286,6 +289,12 @@ scorcheddataglobalmodsapocdataaccessories_DATA = data/globalmods/apoc/data/accessories/black.bmp \ data/globalmods/apoc/data/accessories/green.bmp \ data/globalmods/apoc/data/accessories/molten.bmp +scorcheddataglobalmodsapocdataaccessories50caldir = ${datadir}/data/globalmods/apoc/data/accessories/50cal +scorcheddataglobalmodsapocdataaccessories50cal_DATA = +scorcheddataglobalmodsapocdataaccessoriesbouldersdir = ${datadir}/data/globalmods/apoc/data/accessories/boulders +scorcheddataglobalmodsapocdataaccessoriesboulders_DATA = +scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir = ${datadir}/data/globalmods/apoc/data/accessories/brownboulders +scorcheddataglobalmodsapocdataaccessoriesbrownboulders_DATA = scorcheddataglobalmodsapocdataaccessoriesbuildingsdir = ${datadir}/data/globalmods/apoc/data/accessories/buildings scorcheddataglobalmodsapocdataaccessoriesbuildings_DATA = data/globalmods/apoc/data/accessories/buildings/bar1.txt \ data/globalmods/apoc/data/accessories/buildings/builds1.bmp \ @@ -331,7 +340,39 @@ data/globalmods/apoc/data/accessories/buildings/store1.txt \ data/globalmods/apoc/data/accessories/buildings/store1burnt.txt \ data/globalmods/apoc/data/accessories/buildings/trailorhouse1.txt \ - data/globalmods/apoc/data/accessories/buildings/trailorhouse1burnt.txt + data/globalmods/apoc/data/accessories/buildings/trailorhouse1burnt.txt \ + data/globalmods/apoc/data/accessories/buildings/igloo.bmp \ + data/globalmods/apoc/data/accessories/buildings/igloo.txt +scorcheddataglobalmodsapocdataaccessoriesbulletdir = ${datadir}/data/globalmods/apoc/data/accessories/bullet +scorcheddataglobalmodsapocdataaccessoriesbullet_DATA = +scorcheddataglobalmodsapocdataaccessoriescactusdir = ${datadir}/data/globalmods/apoc/data/accessories/cactus +scorcheddataglobalmodsapocdataaccessoriescactus_DATA = +scorcheddataglobalmodsapocdataaccessorieschurch1dir = ${datadir}/data/globalmods/apoc/data/accessories/church1 +scorcheddataglobalmodsapocdataaccessorieschurch1_DATA = +scorcheddataglobalmodsapocdataaccessoriescityofficedir = ${datadir}/data/globalmods/apoc/data/accessories/cityoffice +scorcheddataglobalmodsapocdataaccessoriescityoffice_DATA = +scorcheddataglobalmodsapocdataaccessoriescommondir = ${datadir}/data/globalmods/apoc/data/accessories/common +scorcheddataglobalmodsapocdataaccessoriescommon_DATA = +scorcheddataglobalmodsapocdataaccessoriesdeerdir = ${datadir}/data/globalmods/apoc/data/accessories/deer +scorcheddataglobalmodsapocdataaccessoriesdeer_DATA = +scorcheddataglobalmodsapocdataaccessoriesfactory1dir = ${datadir}/data/globalmods/apoc/data/accessories/factory1 +scorcheddataglobalmodsapocdataaccessoriesfactory1_DATA = +scorcheddataglobalmodsapocdataaccessoriesfarm1dir = ${datadir}/data/globalmods/apoc/data/accessories/farm1 +scorcheddataglobalmodsapocdataaccessoriesfarm1_DATA = +scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir = ${datadir}/data/globalmods/apoc/data/accessories/fusionbarrel +scorcheddataglobalmodsapocdataaccessoriesfusionbarrel_DATA = +scorcheddataglobalmodsapocdataaccessoriesgasstation1dir = ${datadir}/data/globalmods/apoc/data/accessories/gasstation1 +scorcheddataglobalmodsapocdataaccessoriesgasstation1_DATA = +scorcheddataglobalmodsapocdataaccessoriesgrenadedir = ${datadir}/data/globalmods/apoc/data/accessories/grenade +scorcheddataglobalmodsapocdataaccessoriesgrenade_DATA = +scorcheddataglobalmodsapocdataaccessorieshouse1dir = ${datadir}/data/globalmods/apoc/data/accessories/house1 +scorcheddataglobalmodsapocdataaccessorieshouse1_DATA = +scorcheddataglobalmodsapocdataaccessorieslogcabin1dir = ${datadir}/data/globalmods/apoc/data/accessories/logcabin1 +scorcheddataglobalmodsapocdataaccessorieslogcabin1_DATA = +scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir = ${datadir}/data/globalmods/apoc/data/accessories/m7a3grenade +scorcheddataglobalmodsapocdataaccessoriesm7a3grenade_DATA = +scorcheddataglobalmodsapocdataaccessoriesnapalmdir = ${datadir}/data/globalmods/apoc/data/accessories/napalm +scorcheddataglobalmodsapocdataaccessoriesnapalm_DATA = scorcheddataglobalmodsapocdataaccessoriesobjectsdir = ${datadir}/data/globalmods/apoc/data/accessories/objects scorcheddataglobalmodsapocdataaccessoriesobjects_DATA = data/globalmods/apoc/data/accessories/objects/9volt.txt \ data/globalmods/apoc/data/accessories/objects/atom.txt \ @@ -364,7 +405,35 @@ data/globalmods/apoc/data/accessories/objects/rock3.txt \ data/globalmods/apoc/data/accessories/objects/rock4.txt \ data/globalmods/apoc/data/accessories/objects/smalloakburnt.txt \ - data/globalmods/apoc/data/accessories/objects/smalloakfall.txt + data/globalmods/apoc/data/accessories/objects/smalloakfall.txt \ + data/globalmods/apoc/data/accessories/objects/acidpod.bmp \ + data/globalmods/apoc/data/accessories/objects/acidpod.txt \ + data/globalmods/apoc/data/accessories/objects/fleshpod.bmp \ + data/globalmods/apoc/data/accessories/objects/fleshpod.txt \ + data/globalmods/apoc/data/accessories/objects/satellite.bmp \ + data/globalmods/apoc/data/accessories/objects/satellite.txt +scorcheddataglobalmodsapocdataaccessoriesoffice3dir = ${datadir}/data/globalmods/apoc/data/accessories/office3 +scorcheddataglobalmodsapocdataaccessoriesoffice3_DATA = +scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir = ${datadir}/data/globalmods/apoc/data/accessories/officeplaza1 +scorcheddataglobalmodsapocdataaccessoriesofficeplaza1_DATA = +scorcheddataglobalmodsapocdataaccessoriesredhornetdir = ${datadir}/data/globalmods/apoc/data/accessories/redhornet +scorcheddataglobalmodsapocdataaccessoriesredhornet_DATA = +scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir = ${datadir}/data/globalmods/apoc/data/accessories/remorcebomblet +scorcheddataglobalmodsapocdataaccessoriesremorcebomblet_DATA = +scorcheddataglobalmodsapocdataaccessoriesshockbombletdir = ${datadir}/data/globalmods/apoc/data/accessories/shockbomblet +scorcheddataglobalmodsapocdataaccessoriesshockbomblet_DATA = +scorcheddataglobalmodsapocdataaccessoriesshockrocketdir = ${datadir}/data/globalmods/apoc/data/accessories/shockrocket +scorcheddataglobalmodsapocdataaccessoriesshockrocket_DATA = +scorcheddataglobalmodsapocdataaccessoriesshotgundir = ${datadir}/data/globalmods/apoc/data/accessories/shotgun +scorcheddataglobalmodsapocdataaccessoriesshotgun_DATA = +scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir = ${datadir}/data/globalmods/apoc/data/accessories/skyscraper1 +scorcheddataglobalmodsapocdataaccessoriesskyscraper1_DATA = +scorcheddataglobalmodsapocdataaccessoriessmalloakdir = ${datadir}/data/globalmods/apoc/data/accessories/smalloak +scorcheddataglobalmodsapocdataaccessoriessmalloak_DATA = +scorcheddataglobalmodsapocdataaccessoriesstore1dir = ${datadir}/data/globalmods/apoc/data/accessories/store1 +scorcheddataglobalmodsapocdataaccessoriesstore1_DATA = +scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir = ${datadir}/data/globalmods/apoc/data/accessories/trailorhouse1 +scorcheddataglobalmodsapocdataaccessoriestrailorhouse1_DATA = scorcheddataglobalmodsapocdataaccessoriesweaponsdir = ${datadir}/data/globalmods/apoc/data/accessories/weapons scorcheddataglobalmodsapocdataaccessoriesweapons_DATA = data/globalmods/apoc/data/accessories/weapons/50cal.txt \ data/globalmods/apoc/data/accessories/weapons/bullet.txt \ @@ -382,6 +451,10 @@ data/globalmods/apoc/data/accessories/weapons/tsarbomba.txt \ data/globalmods/apoc/data/accessories/weapons/weapons1.bmp \ data/globalmods/apoc/data/accessories/weapons/wobblebomb.txt +scorcheddataglobalmodsapocdataaccessoriespeopledir = ${datadir}/data/globalmods/apoc/data/accessories/people +scorcheddataglobalmodsapocdataaccessoriespeople_DATA = data/globalmods/apoc/data/accessories/people/male1_soldier.bmp \ + data/globalmods/apoc/data/accessories/people/male1_soldier.txt \ + data/globalmods/apoc/data/accessories/people/male1_soldier_standing.txt scorcheddataglobalmodsapocdatalandscapesdir = ${datadir}/data/globalmods/apoc/data/landscapes scorcheddataglobalmodsapocdatalandscapes_DATA = data/globalmods/apoc/data/landscapes/ambientsoundbuildings.xml \ data/globalmods/apoc/data/landscapes/ambientsoundcars.xml \ @@ -517,7 +590,15 @@ data/globalmods/apoc/data/landscapes/weathered-pic.bmp \ data/globalmods/apoc/data/landscapes/weathered.bmp \ data/globalmods/apoc/data/landscapes/world-map.bmp \ - data/globalmods/apoc/data/landscapes/world.bmp + data/globalmods/apoc/data/landscapes/world.bmp \ + data/globalmods/apoc/data/landscapes/eventsflamespurt.xml \ + data/globalmods/apoc/data/landscapes/placefleshpods.xml \ + data/globalmods/apoc/data/landscapes/placeigloo.xml \ + data/globalmods/apoc/data/landscapes/texchina_bldg.xml \ + data/globalmods/apoc/data/landscapes/texhell.xml \ + data/globalmods/apoc/data/landscapes/texice_bldg.xml \ + data/globalmods/apoc/data/landscapes/texice.xml \ + data/globalmods/apoc/data/landscapes/eventsatellitecrash.xml scorcheddataglobalmodsapocdatalandscapesmasksdir = ${datadir}/data/globalmods/apoc/data/landscapes/masks scorcheddataglobalmodsapocdatalandscapesmasks_DATA = data/globalmods/apoc/data/landscapes/masks/anywhere.bmp \ data/globalmods/apoc/data/landscapes/masks/center-square.bmp \ @@ -670,7 +751,8 @@ data/globalmods/apoc/data/textures/wicons/up.bmp \ data/globalmods/apoc/data/textures/wicons/volcano.bmp \ data/globalmods/apoc/data/textures/wicons/x.bmp \ - data/globalmods/apoc/data/textures/wicons/xmirv.bmp + data/globalmods/apoc/data/textures/wicons/xmirv.bmp \ + data/globalmods/apoc/data/textures/wicons/mirror.bmp scorcheddataglobalmodsapocdatawavdir = ${datadir}/data/globalmods/apoc/data/wav scorcheddataglobalmodsapocdatawav_DATA = scorcheddataglobalmodsapocdatawavexplosionsdir = ${datadir}/data/globalmods/apoc/data/wav/explosions @@ -766,7 +848,9 @@ data/html/server/player.html \ data/html/server/server.css \ data/html/server/settings.html \ - data/html/server/talk.html + data/html/server/talk.html \ + data/html/server/message.html \ + data/html/server/server.html scorcheddatalandscapesdir = ${datadir}/data/landscapes scorcheddatalandscapes_DATA = data/landscapes/ambientsoundjet.xml \ data/landscapes/ambientsoundjungle.xml \ @@ -873,7 +957,8 @@ data/landscapes/textuscan.xml \ data/landscapes/texvulcano.xml \ data/landscapes/valley-mask.bmp \ - data/landscapes/valley-pic.bmp + data/landscapes/valley-pic.bmp \ + data/landscapes/eventstest.xml scorcheddatameshesdir = ${datadir}/data/meshes scorcheddatameshes_DATA = data/meshes/autoaim.ase \ data/meshes/bird.txt \ @@ -1046,10 +1131,16 @@ data/tanks/wespe.ase \ data/tanks/wespe.bmp \ data/tanks/zsu-24-1.ase \ - data/tanks/zsu-24-1.bmp + data/tanks/zsu-24-1.bmp \ + data/tanks/tracksh.bmp \ + data/tanks/trackshv.bmp \ + data/tanks/tracksv.bmp \ + data/tanks/tracksvh.bmp scorcheddatatanksCF104dir = ${datadir}/data/tanks/CF-104 scorcheddatatanksCF104_DATA = data/tanks/CF-104/104.bmp \ data/tanks/CF-104/104.txt +scorcheddatatanksCannonTowerdir = ${datadir}/data/tanks/CannonTower +scorcheddatatanksCannonTower_DATA = scorcheddatatanksbattleshipdir = ${datadir}/data/tanks/battleship scorcheddatatanksbattleship_DATA = data/tanks/battleship/battleship.txt \ data/tanks/battleship/grey.bmp @@ -1078,6 +1169,8 @@ data/tanks/cannont/side.bmp \ data/tanks/cannont/side2.bmp \ data/tanks/cannont/top.bmp +scorcheddatatankscannontowerdir = ${datadir}/data/tanks/cannontower +scorcheddatatankscannontower_DATA = scorcheddatatanksdeathdir = ${datadir}/data/tanks/death scorcheddatatanksdeath_DATA = data/tanks/death/black.bmp \ data/tanks/death/chrome.bmp \ @@ -1103,9 +1196,6 @@ data/tanks/helder/helder2.txt \ data/tanks/helder/redspace.bmp \ data/tanks/helder/whitespace.bmp -scorcheddatatanksignignoktdir = ${datadir}/data/tanks/ignignokt -scorcheddatatanksignignokt_DATA = data/tanks/ignignokt/ignignokt.bmp \ - data/tanks/ignignokt/ignignokt.txt scorcheddatatankslav25dir = ${datadir}/data/tanks/lav-25 scorcheddatatankslav25_DATA = data/tanks/lav-25/bigtire.bmp \ data/tanks/lav-25/camo.bmp \ @@ -1152,12 +1242,11 @@ data/tanks/sa6/sa6.txt \ data/tanks/sa6/white.bmp \ data/tanks/sa6/zsu23.bmp -scorcheddatatankssentrygundir = ${datadir}/data/tanks/sentrygun -scorcheddatatankssentrygun_DATA = data/tanks/sentrygun/sentrygun.bmp \ - data/tanks/sentrygun/sentrygun.txt scorcheddatatankssonicdir = ${datadir}/data/tanks/sonic scorcheddatatankssonic_DATA = data/tanks/sonic/sonic.bmp \ data/tanks/sonic/sonic.txt +scorcheddatatankssonicringdir = ${datadir}/data/tanks/sonicring +scorcheddatatankssonicring_DATA = scorcheddatatankst90dir = ${datadir}/data/tanks/t90 scorcheddatatankst90_DATA = data/tanks/t90/black.bmp \ data/tanks/t90/t90.bmp \ @@ -1195,6 +1284,12 @@ scorcheddatatankszsu57_DATA = data/tanks/zsu57/black.bmp \ data/tanks/zsu57/zsu57.bmp \ data/tanks/zsu57/zsu57.txt +scorcheddatatanksignignoktdir = ${datadir}/data/tanks/ignignokt +scorcheddatatanksignignokt_DATA = data/tanks/ignignokt/ignignokt.bmp \ + data/tanks/ignignokt/ignignokt.txt +scorcheddatatankssentrygundir = ${datadir}/data/tanks/sentrygun +scorcheddatatankssentrygun_DATA = data/tanks/sentrygun/sentrygun.bmp \ + data/tanks/sentrygun/sentrygun.txt scorcheddatatexturesdir = ${datadir}/data/textures scorcheddatatextures_DATA = data/textures/clearsky.bmp \ data/textures/glow1.bmp \ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/Makefile.in /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/Makefile.in --- /tmp/ZyiKWGPp1w/scorched3d-40/Makefile.in 2006-07-16 00:15:23.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/Makefile.in 2006-11-17 20:45:48.000000000 +0900 @@ -68,6 +68,7 @@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +FREEALUT_CONFIG = @FREEALUT_CONFIG@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_CONFIG = @FT2_CONFIG@ FT2_LIBS = @FT2_LIBS@ @@ -102,7 +103,7 @@ install_sh = @install_sh@ SUBDIRS = src -scorcheddocumentationdir = ${docdir}/documentation +scorcheddocumentationdir = ${docdir} scorcheddocumentation_DATA = documentation/README-EXPAT.txt \ documentation/README-ODE.txt \ documentation/README-SDL.txt \ @@ -112,7 +113,7 @@ documentation/README-wxwindows.txt \ documentation/README-zlib.txt -scorcheddocumentationhtmldir = ${docdir}/documentation/html +scorcheddocumentationhtmldir = ${docdir}/html scorcheddocumentationhtml_DATA = documentation/html/accessories.html \ documentation/html/aiming.html \ documentation/html/camera.html \ @@ -128,12 +129,12 @@ documentation/html/screen.html \ documentation/html/serverfiles.html -scorcheddocumentationhtmlbuttonsdir = ${docdir}/documentation/html/buttons +scorcheddocumentationhtmlbuttonsdir = ${docdir}/html/buttons scorcheddocumentationhtmlbuttons_DATA = documentation/html/buttons/donate.gif \ documentation/html/buttons/dummies.gif \ documentation/html/buttons/scorchedlarge2.gif -scorcheddocumentationhtmlnumbersdir = ${docdir}/documentation/html/numbers +scorcheddocumentationhtmlnumbersdir = ${docdir}/html/numbers scorcheddocumentationhtmlnumbers_DATA = documentation/html/numbers/number-1.gif \ documentation/html/numbers/number-2.gif \ documentation/html/numbers/number-3.gif \ @@ -144,7 +145,7 @@ documentation/html/numbers/number-8.gif \ documentation/html/numbers/number-9.gif -scorcheddocumentationhtmlscreenshotsdir = ${docdir}/documentation/html/screenshots +scorcheddocumentationhtmlscreenshotsdir = ${docdir}/html/screenshots scorcheddocumentationhtmlscreenshots_DATA = documentation/html/screenshots/aiming.gif \ documentation/html/screenshots/3ds.gif \ documentation/html/screenshots/indicators.gif \ @@ -175,7 +176,6 @@ data/autoexec.xml \ data/fastestdisplay.xml \ data/keys.xml \ - data/landscapes.xml \ data/modinfo.xml \ data/mysql.xml \ data/pgprunetables.sql \ @@ -201,7 +201,8 @@ data/textureset.xml \ data/tips.txt \ data/tutorial.xml \ - data/windows.xml + data/windows.xml \ + data/landscapes.xml scorcheddataaccessoriesdir = ${datadir}/data/accessories scorcheddataaccessories_DATA = data/accessories/clusterbomb.ase \ @@ -376,6 +377,8 @@ data/accessories/v2missile/v2missile.txt \ data/accessories/v2missile/yellow.bmp +scorcheddataacessoriesdir = ${datadir}/data/acessories +scorcheddataacessories_DATA = scorcheddataavatarsdir = ${datadir}/data/avatars scorcheddataavatars_DATA = data/avatars/agreement.txt \ data/avatars/animal.gif \ @@ -400,7 +403,8 @@ scorcheddatafontsdir = ${datadir}/data/fonts scorcheddatafonts_DATA = data/fonts/test.ttf \ data/fonts/testout.ttf \ - data/fonts/veramobd.ttf + data/fonts/veramobd.ttf \ + data/fonts/VERA-COPYRIGHT.TXT scorcheddataglobalmodsdir = ${datadir}/data/globalmods scorcheddataglobalmods_DATA = data/globalmods/globalmods.txt @@ -428,6 +432,12 @@ data/globalmods/apoc/data/accessories/green.bmp \ data/globalmods/apoc/data/accessories/molten.bmp +scorcheddataglobalmodsapocdataaccessories50caldir = ${datadir}/data/globalmods/apoc/data/accessories/50cal +scorcheddataglobalmodsapocdataaccessories50cal_DATA = +scorcheddataglobalmodsapocdataaccessoriesbouldersdir = ${datadir}/data/globalmods/apoc/data/accessories/boulders +scorcheddataglobalmodsapocdataaccessoriesboulders_DATA = +scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir = ${datadir}/data/globalmods/apoc/data/accessories/brownboulders +scorcheddataglobalmodsapocdataaccessoriesbrownboulders_DATA = scorcheddataglobalmodsapocdataaccessoriesbuildingsdir = ${datadir}/data/globalmods/apoc/data/accessories/buildings scorcheddataglobalmodsapocdataaccessoriesbuildings_DATA = data/globalmods/apoc/data/accessories/buildings/bar1.txt \ data/globalmods/apoc/data/accessories/buildings/builds1.bmp \ @@ -473,8 +483,40 @@ data/globalmods/apoc/data/accessories/buildings/store1.txt \ data/globalmods/apoc/data/accessories/buildings/store1burnt.txt \ data/globalmods/apoc/data/accessories/buildings/trailorhouse1.txt \ - data/globalmods/apoc/data/accessories/buildings/trailorhouse1burnt.txt - + data/globalmods/apoc/data/accessories/buildings/trailorhouse1burnt.txt \ + data/globalmods/apoc/data/accessories/buildings/igloo.bmp \ + data/globalmods/apoc/data/accessories/buildings/igloo.txt + +scorcheddataglobalmodsapocdataaccessoriesbulletdir = ${datadir}/data/globalmods/apoc/data/accessories/bullet +scorcheddataglobalmodsapocdataaccessoriesbullet_DATA = +scorcheddataglobalmodsapocdataaccessoriescactusdir = ${datadir}/data/globalmods/apoc/data/accessories/cactus +scorcheddataglobalmodsapocdataaccessoriescactus_DATA = +scorcheddataglobalmodsapocdataaccessorieschurch1dir = ${datadir}/data/globalmods/apoc/data/accessories/church1 +scorcheddataglobalmodsapocdataaccessorieschurch1_DATA = +scorcheddataglobalmodsapocdataaccessoriescityofficedir = ${datadir}/data/globalmods/apoc/data/accessories/cityoffice +scorcheddataglobalmodsapocdataaccessoriescityoffice_DATA = +scorcheddataglobalmodsapocdataaccessoriescommondir = ${datadir}/data/globalmods/apoc/data/accessories/common +scorcheddataglobalmodsapocdataaccessoriescommon_DATA = +scorcheddataglobalmodsapocdataaccessoriesdeerdir = ${datadir}/data/globalmods/apoc/data/accessories/deer +scorcheddataglobalmodsapocdataaccessoriesdeer_DATA = +scorcheddataglobalmodsapocdataaccessoriesfactory1dir = ${datadir}/data/globalmods/apoc/data/accessories/factory1 +scorcheddataglobalmodsapocdataaccessoriesfactory1_DATA = +scorcheddataglobalmodsapocdataaccessoriesfarm1dir = ${datadir}/data/globalmods/apoc/data/accessories/farm1 +scorcheddataglobalmodsapocdataaccessoriesfarm1_DATA = +scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir = ${datadir}/data/globalmods/apoc/data/accessories/fusionbarrel +scorcheddataglobalmodsapocdataaccessoriesfusionbarrel_DATA = +scorcheddataglobalmodsapocdataaccessoriesgasstation1dir = ${datadir}/data/globalmods/apoc/data/accessories/gasstation1 +scorcheddataglobalmodsapocdataaccessoriesgasstation1_DATA = +scorcheddataglobalmodsapocdataaccessoriesgrenadedir = ${datadir}/data/globalmods/apoc/data/accessories/grenade +scorcheddataglobalmodsapocdataaccessoriesgrenade_DATA = +scorcheddataglobalmodsapocdataaccessorieshouse1dir = ${datadir}/data/globalmods/apoc/data/accessories/house1 +scorcheddataglobalmodsapocdataaccessorieshouse1_DATA = +scorcheddataglobalmodsapocdataaccessorieslogcabin1dir = ${datadir}/data/globalmods/apoc/data/accessories/logcabin1 +scorcheddataglobalmodsapocdataaccessorieslogcabin1_DATA = +scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir = ${datadir}/data/globalmods/apoc/data/accessories/m7a3grenade +scorcheddataglobalmodsapocdataaccessoriesm7a3grenade_DATA = +scorcheddataglobalmodsapocdataaccessoriesnapalmdir = ${datadir}/data/globalmods/apoc/data/accessories/napalm +scorcheddataglobalmodsapocdataaccessoriesnapalm_DATA = scorcheddataglobalmodsapocdataaccessoriesobjectsdir = ${datadir}/data/globalmods/apoc/data/accessories/objects scorcheddataglobalmodsapocdataaccessoriesobjects_DATA = data/globalmods/apoc/data/accessories/objects/9volt.txt \ data/globalmods/apoc/data/accessories/objects/atom.txt \ @@ -507,8 +549,36 @@ data/globalmods/apoc/data/accessories/objects/rock3.txt \ data/globalmods/apoc/data/accessories/objects/rock4.txt \ data/globalmods/apoc/data/accessories/objects/smalloakburnt.txt \ - data/globalmods/apoc/data/accessories/objects/smalloakfall.txt - + data/globalmods/apoc/data/accessories/objects/smalloakfall.txt \ + data/globalmods/apoc/data/accessories/objects/acidpod.bmp \ + data/globalmods/apoc/data/accessories/objects/acidpod.txt \ + data/globalmods/apoc/data/accessories/objects/fleshpod.bmp \ + data/globalmods/apoc/data/accessories/objects/fleshpod.txt \ + data/globalmods/apoc/data/accessories/objects/satellite.bmp \ + data/globalmods/apoc/data/accessories/objects/satellite.txt + +scorcheddataglobalmodsapocdataaccessoriesoffice3dir = ${datadir}/data/globalmods/apoc/data/accessories/office3 +scorcheddataglobalmodsapocdataaccessoriesoffice3_DATA = +scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir = ${datadir}/data/globalmods/apoc/data/accessories/officeplaza1 +scorcheddataglobalmodsapocdataaccessoriesofficeplaza1_DATA = +scorcheddataglobalmodsapocdataaccessoriesredhornetdir = ${datadir}/data/globalmods/apoc/data/accessories/redhornet +scorcheddataglobalmodsapocdataaccessoriesredhornet_DATA = +scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir = ${datadir}/data/globalmods/apoc/data/accessories/remorcebomblet +scorcheddataglobalmodsapocdataaccessoriesremorcebomblet_DATA = +scorcheddataglobalmodsapocdataaccessoriesshockbombletdir = ${datadir}/data/globalmods/apoc/data/accessories/shockbomblet +scorcheddataglobalmodsapocdataaccessoriesshockbomblet_DATA = +scorcheddataglobalmodsapocdataaccessoriesshockrocketdir = ${datadir}/data/globalmods/apoc/data/accessories/shockrocket +scorcheddataglobalmodsapocdataaccessoriesshockrocket_DATA = +scorcheddataglobalmodsapocdataaccessoriesshotgundir = ${datadir}/data/globalmods/apoc/data/accessories/shotgun +scorcheddataglobalmodsapocdataaccessoriesshotgun_DATA = +scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir = ${datadir}/data/globalmods/apoc/data/accessories/skyscraper1 +scorcheddataglobalmodsapocdataaccessoriesskyscraper1_DATA = +scorcheddataglobalmodsapocdataaccessoriessmalloakdir = ${datadir}/data/globalmods/apoc/data/accessories/smalloak +scorcheddataglobalmodsapocdataaccessoriessmalloak_DATA = +scorcheddataglobalmodsapocdataaccessoriesstore1dir = ${datadir}/data/globalmods/apoc/data/accessories/store1 +scorcheddataglobalmodsapocdataaccessoriesstore1_DATA = +scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir = ${datadir}/data/globalmods/apoc/data/accessories/trailorhouse1 +scorcheddataglobalmodsapocdataaccessoriestrailorhouse1_DATA = scorcheddataglobalmodsapocdataaccessoriesweaponsdir = ${datadir}/data/globalmods/apoc/data/accessories/weapons scorcheddataglobalmodsapocdataaccessoriesweapons_DATA = data/globalmods/apoc/data/accessories/weapons/50cal.txt \ data/globalmods/apoc/data/accessories/weapons/bullet.txt \ @@ -527,6 +597,11 @@ data/globalmods/apoc/data/accessories/weapons/weapons1.bmp \ data/globalmods/apoc/data/accessories/weapons/wobblebomb.txt +scorcheddataglobalmodsapocdataaccessoriespeopledir = ${datadir}/data/globalmods/apoc/data/accessories/people +scorcheddataglobalmodsapocdataaccessoriespeople_DATA = data/globalmods/apoc/data/accessories/people/male1_soldier.bmp \ + data/globalmods/apoc/data/accessories/people/male1_soldier.txt \ + data/globalmods/apoc/data/accessories/people/male1_soldier_standing.txt + scorcheddataglobalmodsapocdatalandscapesdir = ${datadir}/data/globalmods/apoc/data/landscapes scorcheddataglobalmodsapocdatalandscapes_DATA = data/globalmods/apoc/data/landscapes/ambientsoundbuildings.xml \ data/globalmods/apoc/data/landscapes/ambientsoundcars.xml \ @@ -662,7 +737,15 @@ data/globalmods/apoc/data/landscapes/weathered-pic.bmp \ data/globalmods/apoc/data/landscapes/weathered.bmp \ data/globalmods/apoc/data/landscapes/world-map.bmp \ - data/globalmods/apoc/data/landscapes/world.bmp + data/globalmods/apoc/data/landscapes/world.bmp \ + data/globalmods/apoc/data/landscapes/eventsflamespurt.xml \ + data/globalmods/apoc/data/landscapes/placefleshpods.xml \ + data/globalmods/apoc/data/landscapes/placeigloo.xml \ + data/globalmods/apoc/data/landscapes/texchina_bldg.xml \ + data/globalmods/apoc/data/landscapes/texhell.xml \ + data/globalmods/apoc/data/landscapes/texice_bldg.xml \ + data/globalmods/apoc/data/landscapes/texice.xml \ + data/globalmods/apoc/data/landscapes/eventsatellitecrash.xml scorcheddataglobalmodsapocdatalandscapesmasksdir = ${datadir}/data/globalmods/apoc/data/landscapes/masks scorcheddataglobalmodsapocdatalandscapesmasks_DATA = data/globalmods/apoc/data/landscapes/masks/anywhere.bmp \ @@ -823,7 +906,8 @@ data/globalmods/apoc/data/textures/wicons/up.bmp \ data/globalmods/apoc/data/textures/wicons/volcano.bmp \ data/globalmods/apoc/data/textures/wicons/x.bmp \ - data/globalmods/apoc/data/textures/wicons/xmirv.bmp + data/globalmods/apoc/data/textures/wicons/xmirv.bmp \ + data/globalmods/apoc/data/textures/wicons/mirror.bmp scorcheddataglobalmodsapocdatawavdir = ${datadir}/data/globalmods/apoc/data/wav scorcheddataglobalmodsapocdatawav_DATA = @@ -924,7 +1008,9 @@ data/html/server/player.html \ data/html/server/server.css \ data/html/server/settings.html \ - data/html/server/talk.html + data/html/server/talk.html \ + data/html/server/message.html \ + data/html/server/server.html scorcheddatalandscapesdir = ${datadir}/data/landscapes scorcheddatalandscapes_DATA = data/landscapes/ambientsoundjet.xml \ @@ -1032,7 +1118,8 @@ data/landscapes/textuscan.xml \ data/landscapes/texvulcano.xml \ data/landscapes/valley-mask.bmp \ - data/landscapes/valley-pic.bmp + data/landscapes/valley-pic.bmp \ + data/landscapes/eventstest.xml scorcheddatameshesdir = ${datadir}/data/meshes scorcheddatameshes_DATA = data/meshes/autoaim.ase \ @@ -1224,12 +1311,18 @@ data/tanks/wespe.ase \ data/tanks/wespe.bmp \ data/tanks/zsu-24-1.ase \ - data/tanks/zsu-24-1.bmp + data/tanks/zsu-24-1.bmp \ + data/tanks/tracksh.bmp \ + data/tanks/trackshv.bmp \ + data/tanks/tracksv.bmp \ + data/tanks/tracksvh.bmp scorcheddatatanksCF104dir = ${datadir}/data/tanks/CF-104 scorcheddatatanksCF104_DATA = data/tanks/CF-104/104.bmp \ data/tanks/CF-104/104.txt +scorcheddatatanksCannonTowerdir = ${datadir}/data/tanks/CannonTower +scorcheddatatanksCannonTower_DATA = scorcheddatatanksbattleshipdir = ${datadir}/data/tanks/battleship scorcheddatatanksbattleship_DATA = data/tanks/battleship/battleship.txt \ data/tanks/battleship/grey.bmp @@ -1264,6 +1357,8 @@ data/tanks/cannont/side2.bmp \ data/tanks/cannont/top.bmp +scorcheddatatankscannontowerdir = ${datadir}/data/tanks/cannontower +scorcheddatatankscannontower_DATA = scorcheddatatanksdeathdir = ${datadir}/data/tanks/death scorcheddatatanksdeath_DATA = data/tanks/death/black.bmp \ data/tanks/death/chrome.bmp \ @@ -1294,10 +1389,6 @@ data/tanks/helder/redspace.bmp \ data/tanks/helder/whitespace.bmp -scorcheddatatanksignignoktdir = ${datadir}/data/tanks/ignignokt -scorcheddatatanksignignokt_DATA = data/tanks/ignignokt/ignignokt.bmp \ - data/tanks/ignignokt/ignignokt.txt - scorcheddatatankslav25dir = ${datadir}/data/tanks/lav-25 scorcheddatatankslav25_DATA = data/tanks/lav-25/bigtire.bmp \ data/tanks/lav-25/camo.bmp \ @@ -1352,14 +1443,12 @@ data/tanks/sa6/white.bmp \ data/tanks/sa6/zsu23.bmp -scorcheddatatankssentrygundir = ${datadir}/data/tanks/sentrygun -scorcheddatatankssentrygun_DATA = data/tanks/sentrygun/sentrygun.bmp \ - data/tanks/sentrygun/sentrygun.txt - scorcheddatatankssonicdir = ${datadir}/data/tanks/sonic scorcheddatatankssonic_DATA = data/tanks/sonic/sonic.bmp \ data/tanks/sonic/sonic.txt +scorcheddatatankssonicringdir = ${datadir}/data/tanks/sonicring +scorcheddatatankssonicring_DATA = scorcheddatatankst90dir = ${datadir}/data/tanks/t90 scorcheddatatankst90_DATA = data/tanks/t90/black.bmp \ data/tanks/t90/t90.bmp \ @@ -1405,6 +1494,14 @@ data/tanks/zsu57/zsu57.bmp \ data/tanks/zsu57/zsu57.txt +scorcheddatatanksignignoktdir = ${datadir}/data/tanks/ignignokt +scorcheddatatanksignignokt_DATA = data/tanks/ignignokt/ignignokt.bmp \ + data/tanks/ignignokt/ignignokt.txt + +scorcheddatatankssentrygundir = ${datadir}/data/tanks/sentrygun +scorcheddatatankssentrygun_DATA = data/tanks/sentrygun/sentrygun.bmp \ + data/tanks/sentrygun/sentrygun.txt + scorcheddatatexturesdir = ${datadir}/data/textures scorcheddatatextures_DATA = data/textures/clearsky.bmp \ data/textures/glow1.bmp \ @@ -1975,13 +2072,43 @@ $(scorcheddataaccessoriessonicring_DATA) \ $(scorcheddataaccessoriesteleport_DATA) \ $(scorcheddataaccessoriesv2missile_DATA) \ - $(scorcheddataavatars_DATA) $(scorcheddatafonts_DATA) \ - $(scorcheddataglobalmods_DATA) \ + $(scorcheddataacessories_DATA) $(scorcheddataavatars_DATA) \ + $(scorcheddatafonts_DATA) $(scorcheddataglobalmods_DATA) \ $(scorcheddataglobalmodsapoc_DATA) \ $(scorcheddataglobalmodsapocdata_DATA) \ $(scorcheddataglobalmodsapocdataaccessories_DATA) \ + $(scorcheddataglobalmodsapocdataaccessories50cal_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesboulders_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesbrownboulders_DATA) \ $(scorcheddataglobalmodsapocdataaccessoriesbuildings_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesbullet_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriescactus_DATA) \ + $(scorcheddataglobalmodsapocdataaccessorieschurch1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriescityoffice_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriescommon_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesdeer_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesfactory1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesfarm1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesfusionbarrel_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesgasstation1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesgrenade_DATA) \ + $(scorcheddataglobalmodsapocdataaccessorieshouse1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessorieslogcabin1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesm7a3grenade_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesnapalm_DATA) \ $(scorcheddataglobalmodsapocdataaccessoriesobjects_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesoffice3_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriespeople_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesredhornet_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesremorcebomblet_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesshockbomblet_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesshockrocket_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesshotgun_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesskyscraper1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriessmalloak_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriesstore1_DATA) \ + $(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1_DATA) \ $(scorcheddataglobalmodsapocdataaccessoriesweapons_DATA) \ $(scorcheddataglobalmodsapocdatalandscapes_DATA) \ $(scorcheddataglobalmodsapocdatalandscapesmasks_DATA) \ @@ -2015,12 +2142,14 @@ $(scorcheddatameshest38_DATA) $(scorcheddatatalk_DATA) \ $(scorcheddatatalkgerman_DATA) $(scorcheddatatalkpolish_DATA) \ $(scorcheddatatanks_DATA) $(scorcheddatatanksCF104_DATA) \ + $(scorcheddatatanksCannonTower_DATA) \ $(scorcheddatatanksbattleship_DATA) \ $(scorcheddatatanksbender_DATA) $(scorcheddatatanksbm13_DATA) \ $(scorcheddatatanksbradley2_DATA) \ $(scorcheddatatankscannon_DATA) \ - $(scorcheddatatankscannont_DATA) $(scorcheddatatanksdeath_DATA) \ - $(scorcheddatatanksgorilla_DATA) \ + $(scorcheddatatankscannont_DATA) \ + $(scorcheddatatankscannontower_DATA) \ + $(scorcheddatatanksdeath_DATA) $(scorcheddatatanksgorilla_DATA) \ $(scorcheddatatanksguntower_DATA) $(scorcheddatatankshawk_DATA) \ $(scorcheddatatankshelder_DATA) \ $(scorcheddatatanksignignokt_DATA) \ @@ -2030,7 +2159,8 @@ $(scorcheddatatanksmlrs_DATA) $(scorcheddatatankspatriot_DATA) \ $(scorcheddatatanksphotoncannon_DATA) \ $(scorcheddatatankssa6_DATA) $(scorcheddatatankssentrygun_DATA) \ - $(scorcheddatatankssonic_DATA) $(scorcheddatatankst90_DATA) \ + $(scorcheddatatankssonic_DATA) \ + $(scorcheddatatankssonicring_DATA) $(scorcheddatatankst90_DATA) \ $(scorcheddatatanksthel_DATA) $(scorcheddatatankstiger2_DATA) \ $(scorcheddatatankstowedartillery2_DATA) \ $(scorcheddatatanksturret2_DATA) $(scorcheddatatankstux_DATA) \ @@ -2672,6 +2802,24 @@ echo " rm -f $(DESTDIR)$(scorcheddataaccessoriesv2missiledir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddataaccessoriesv2missiledir)/$$f; \ done +scorcheddataacessoriesDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataacessoriesDATA: $(scorcheddataacessories_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataacessoriesdir) + @list='$(scorcheddataacessories_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataacessoriesDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataacessoriesdir)/$$f"; \ + $(scorcheddataacessoriesDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataacessoriesdir)/$$f; \ + done + +uninstall-scorcheddataacessoriesDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataacessories_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataacessoriesdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataacessoriesdir)/$$f; \ + done scorcheddataavatarsDATA_INSTALL = $(INSTALL_DATA) install-scorcheddataavatarsDATA: $(scorcheddataavatars_DATA) @$(NORMAL_INSTALL) @@ -2780,6 +2928,60 @@ echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdir)/$$f; \ done +scorcheddataglobalmodsapocdataaccessories50calDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessories50calDATA: $(scorcheddataglobalmodsapocdataaccessories50cal_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessories50caldir) + @list='$(scorcheddataglobalmodsapocdataaccessories50cal_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessories50calDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessories50caldir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessories50calDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessories50caldir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessories50calDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessories50cal_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessories50caldir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessories50caldir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesbouldersDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesbouldersDATA: $(scorcheddataglobalmodsapocdataaccessoriesboulders_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbouldersdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesboulders_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesbouldersDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbouldersdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesbouldersDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbouldersdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesbouldersDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesboulders_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbouldersdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbouldersdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA: $(scorcheddataglobalmodsapocdataaccessoriesbrownboulders_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesbrownboulders_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesbrownboulders_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir)/$$f; \ + done scorcheddataglobalmodsapocdataaccessoriesbuildingsDATA_INSTALL = $(INSTALL_DATA) install-scorcheddataglobalmodsapocdataaccessoriesbuildingsDATA: $(scorcheddataglobalmodsapocdataaccessoriesbuildings_DATA) @$(NORMAL_INSTALL) @@ -2798,6 +3000,276 @@ echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbuildingsdir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbuildingsdir)/$$f; \ done +scorcheddataglobalmodsapocdataaccessoriesbulletDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesbulletDATA: $(scorcheddataglobalmodsapocdataaccessoriesbullet_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbulletdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesbullet_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesbulletDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbulletdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesbulletDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbulletdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesbulletDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesbullet_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbulletdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbulletdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriescactusDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriescactusDATA: $(scorcheddataglobalmodsapocdataaccessoriescactus_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescactusdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriescactus_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriescactusDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescactusdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriescactusDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescactusdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriescactusDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriescactus_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescactusdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescactusdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessorieschurch1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessorieschurch1DATA: $(scorcheddataglobalmodsapocdataaccessorieschurch1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieschurch1dir) + @list='$(scorcheddataglobalmodsapocdataaccessorieschurch1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessorieschurch1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieschurch1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessorieschurch1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieschurch1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessorieschurch1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessorieschurch1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieschurch1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieschurch1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriescityofficeDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriescityofficeDATA: $(scorcheddataglobalmodsapocdataaccessoriescityoffice_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescityofficedir) + @list='$(scorcheddataglobalmodsapocdataaccessoriescityoffice_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriescityofficeDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescityofficedir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriescityofficeDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescityofficedir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriescityofficeDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriescityoffice_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescityofficedir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescityofficedir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriescommonDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriescommonDATA: $(scorcheddataglobalmodsapocdataaccessoriescommon_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescommondir) + @list='$(scorcheddataglobalmodsapocdataaccessoriescommon_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriescommonDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescommondir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriescommonDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescommondir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriescommonDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriescommon_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescommondir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescommondir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesdeerDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesdeerDATA: $(scorcheddataglobalmodsapocdataaccessoriesdeer_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdeerdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesdeer_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesdeerDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdeerdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesdeerDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdeerdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesdeerDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesdeer_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdeerdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdeerdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesfactory1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesfactory1DATA: $(scorcheddataglobalmodsapocdataaccessoriesfactory1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfactory1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesfactory1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesfactory1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfactory1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesfactory1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfactory1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesfactory1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesfactory1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfactory1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfactory1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesfarm1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesfarm1DATA: $(scorcheddataglobalmodsapocdataaccessoriesfarm1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfarm1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesfarm1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesfarm1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfarm1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesfarm1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfarm1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesfarm1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesfarm1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfarm1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfarm1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA: $(scorcheddataglobalmodsapocdataaccessoriesfusionbarrel_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesfusionbarrel_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesfusionbarrel_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA: $(scorcheddataglobalmodsapocdataaccessoriesgasstation1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgasstation1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesgasstation1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgasstation1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgasstation1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesgasstation1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgasstation1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgasstation1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA: $(scorcheddataglobalmodsapocdataaccessoriesgrenade_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgrenadedir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesgrenade_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgrenadedir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgrenadedir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesgrenade_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgrenadedir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgrenadedir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessorieshouse1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessorieshouse1DATA: $(scorcheddataglobalmodsapocdataaccessorieshouse1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieshouse1dir) + @list='$(scorcheddataglobalmodsapocdataaccessorieshouse1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessorieshouse1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieshouse1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessorieshouse1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieshouse1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessorieshouse1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessorieshouse1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieshouse1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieshouse1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA: $(scorcheddataglobalmodsapocdataaccessorieslogcabin1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieslogcabin1dir) + @list='$(scorcheddataglobalmodsapocdataaccessorieslogcabin1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieslogcabin1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieslogcabin1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessorieslogcabin1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieslogcabin1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieslogcabin1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA: $(scorcheddataglobalmodsapocdataaccessoriesm7a3grenade_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenade_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenade_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesnapalmDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesnapalmDATA: $(scorcheddataglobalmodsapocdataaccessoriesnapalm_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesnapalmdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesnapalm_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesnapalmDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesnapalmdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesnapalmDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesnapalmdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesnapalmDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesnapalm_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesnapalmdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesnapalmdir)/$$f; \ + done scorcheddataglobalmodsapocdataaccessoriesobjectsDATA_INSTALL = $(INSTALL_DATA) install-scorcheddataglobalmodsapocdataaccessoriesobjectsDATA: $(scorcheddataglobalmodsapocdataaccessoriesobjects_DATA) @$(NORMAL_INSTALL) @@ -2816,6 +3288,222 @@ echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesobjectsdir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesobjectsdir)/$$f; \ done +scorcheddataglobalmodsapocdataaccessoriesoffice3DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesoffice3DATA: $(scorcheddataglobalmodsapocdataaccessoriesoffice3_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesoffice3dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesoffice3_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesoffice3DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesoffice3dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesoffice3DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesoffice3dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesoffice3DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesoffice3_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesoffice3dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesoffice3dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA: $(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriespeopleDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriespeopleDATA: $(scorcheddataglobalmodsapocdataaccessoriespeople_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriespeopledir) + @list='$(scorcheddataglobalmodsapocdataaccessoriespeople_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriespeopleDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriespeopledir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriespeopleDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriespeopledir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriespeopleDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriespeople_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriespeopledir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriespeopledir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesredhornetDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesredhornetDATA: $(scorcheddataglobalmodsapocdataaccessoriesredhornet_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesredhornetdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesredhornet_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesredhornetDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesredhornetdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesredhornetDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesredhornetdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesredhornetDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesredhornet_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesredhornetdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesredhornetdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA: $(scorcheddataglobalmodsapocdataaccessoriesremorcebomblet_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesremorcebomblet_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesremorcebomblet_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA: $(scorcheddataglobalmodsapocdataaccessoriesshockbomblet_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockbombletdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesshockbomblet_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockbombletdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockbombletdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesshockbomblet_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockbombletdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockbombletdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA: $(scorcheddataglobalmodsapocdataaccessoriesshockrocket_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockrocketdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesshockrocket_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockrocketdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockrocketdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesshockrocket_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockrocketdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockrocketdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesshotgunDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesshotgunDATA: $(scorcheddataglobalmodsapocdataaccessoriesshotgun_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshotgundir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesshotgun_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesshotgunDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshotgundir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesshotgunDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshotgundir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesshotgunDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesshotgun_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshotgundir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshotgundir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA: $(scorcheddataglobalmodsapocdataaccessoriesskyscraper1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriessmalloakDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriessmalloakDATA: $(scorcheddataglobalmodsapocdataaccessoriessmalloak_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriessmalloakdir) + @list='$(scorcheddataglobalmodsapocdataaccessoriessmalloak_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriessmalloakDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriessmalloakdir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriessmalloakDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriessmalloakdir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriessmalloakDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriessmalloak_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriessmalloakdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriessmalloakdir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriesstore1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriesstore1DATA: $(scorcheddataglobalmodsapocdataaccessoriesstore1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesstore1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriesstore1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriesstore1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesstore1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriesstore1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesstore1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriesstore1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriesstore1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesstore1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesstore1dir)/$$f; \ + done +scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA_INSTALL = $(INSTALL_DATA) +install-scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA: $(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir) + @list='$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir)/$$f"; \ + $(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir)/$$f; \ + done + +uninstall-scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir)/$$f; \ + done scorcheddataglobalmodsapocdataaccessoriesweaponsDATA_INSTALL = $(INSTALL_DATA) install-scorcheddataglobalmodsapocdataaccessoriesweaponsDATA: $(scorcheddataglobalmodsapocdataaccessoriesweapons_DATA) @$(NORMAL_INSTALL) @@ -3572,6 +4260,24 @@ echo " rm -f $(DESTDIR)$(scorcheddatatanksCF104dir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddatatanksCF104dir)/$$f; \ done +scorcheddatatanksCannonTowerDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddatatanksCannonTowerDATA: $(scorcheddatatanksCannonTower_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddatatanksCannonTowerdir) + @list='$(scorcheddatatanksCannonTower_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddatatanksCannonTowerDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddatatanksCannonTowerdir)/$$f"; \ + $(scorcheddatatanksCannonTowerDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddatatanksCannonTowerdir)/$$f; \ + done + +uninstall-scorcheddatatanksCannonTowerDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddatatanksCannonTower_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddatatanksCannonTowerdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddatatanksCannonTowerdir)/$$f; \ + done scorcheddatatanksbattleshipDATA_INSTALL = $(INSTALL_DATA) install-scorcheddatatanksbattleshipDATA: $(scorcheddatatanksbattleship_DATA) @$(NORMAL_INSTALL) @@ -3680,6 +4386,24 @@ echo " rm -f $(DESTDIR)$(scorcheddatatankscannontdir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddatatankscannontdir)/$$f; \ done +scorcheddatatankscannontowerDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddatatankscannontowerDATA: $(scorcheddatatankscannontower_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddatatankscannontowerdir) + @list='$(scorcheddatatankscannontower_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddatatankscannontowerDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddatatankscannontowerdir)/$$f"; \ + $(scorcheddatatankscannontowerDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddatatankscannontowerdir)/$$f; \ + done + +uninstall-scorcheddatatankscannontowerDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddatatankscannontower_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddatatankscannontowerdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddatatankscannontowerdir)/$$f; \ + done scorcheddatatanksdeathDATA_INSTALL = $(INSTALL_DATA) install-scorcheddatatanksdeathDATA: $(scorcheddatatanksdeath_DATA) @$(NORMAL_INSTALL) @@ -3968,6 +4692,24 @@ echo " rm -f $(DESTDIR)$(scorcheddatatankssonicdir)/$$f"; \ rm -f $(DESTDIR)$(scorcheddatatankssonicdir)/$$f; \ done +scorcheddatatankssonicringDATA_INSTALL = $(INSTALL_DATA) +install-scorcheddatatankssonicringDATA: $(scorcheddatatankssonicring_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(scorcheddatatankssonicringdir) + @list='$(scorcheddatatankssonicring_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(scorcheddatatankssonicringDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddatatankssonicringdir)/$$f"; \ + $(scorcheddatatankssonicringDATA_INSTALL) $$d$$p $(DESTDIR)$(scorcheddatatankssonicringdir)/$$f; \ + done + +uninstall-scorcheddatatankssonicringDATA: + @$(NORMAL_UNINSTALL) + @list='$(scorcheddatatankssonicring_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(scorcheddatatankssonicringdir)/$$f"; \ + rm -f $(DESTDIR)$(scorcheddatatankssonicringdir)/$$f; \ + done scorcheddatatankst90DATA_INSTALL = $(INSTALL_DATA) install-scorcheddatatankst90DATA: $(scorcheddatatankst90_DATA) @$(NORMAL_INSTALL) @@ -4962,7 +5704,7 @@ all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(scorcheddatadir) $(DESTDIR)$(scorcheddataaccessoriesdir) $(DESTDIR)$(scorcheddataaccessoriesbananadir) $(DESTDIR)$(scorcheddataaccessoriesbarragedir) $(DESTDIR)$(scorcheddataaccessoriesbeer_bottledir) $(DESTDIR)$(scorcheddataaccessoriesbombdir) $(DESTDIR)$(scorcheddataaccessoriesbombletdir) $(DESTDIR)$(scorcheddataaccessoriesbouncingbettydir) $(DESTDIR)$(scorcheddataaccessoriesdiggerdir) $(DESTDIR)$(scorcheddataaccessoriesdirtdir) $(DESTDIR)$(scorcheddataaccessoriesfatmandir) $(DESTDIR)$(scorcheddataaccessorieshawkmissiledir) $(DESTDIR)$(scorcheddataaccessoriesherringdir) $(DESTDIR)$(scorcheddataaccessoriesicbmdir) $(DESTDIR)$(scorcheddataaccessorieslaserdir) $(DESTDIR)$(scorcheddataaccessorieslittleboydir) $(DESTDIR)$(scorcheddataaccessoriesm48dir) $(DESTDIR)$(scorcheddataaccessoriesmirvwarheaddir) $(DESTDIR)$(scorcheddataaccessoriesnapalmdir) $(DESTDIR)$(scorcheddataaccessoriespalmtreedir) $(DESTDIR)$(scorcheddataaccessoriespatriotdir) $(DESTDIR)$(scorcheddataaccessoriespinguinsdir) $(DESTDIR)$(scorcheddataaccessoriespwrcratedir) $(DESTDIR)$(scorcheddataaccessoriesriotdir) $(DESTDIR)$(scorcheddataaccessoriesrollerdir) $(DESTDIR)$(scorcheddataaccessoriessa6dir) $(DESTDIR)$(scorcheddataaccessoriesshackdir) $(DESTDIR)$(scorcheddataaccessoriesshelldir) $(DESTDIR)$(scorcheddataaccessoriessmallpinedir) $(DESTDIR)$(scorcheddataaccessoriessonicringdir) $(DESTDIR)$(scorcheddataaccessoriesteleportdir) $(DESTDIR)$(scorcheddataaccessoriesv2missiledir) $(DESTDIR)$(scorcheddataavatarsdir) $(DESTDIR)$(scorcheddatafontsdir) $(DESTDIR)$(scorcheddataglobalmodsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatadir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbuildingsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesobjectsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesweaponsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatalandscapesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatalandscapesmasksdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshes737uadir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshescessnadir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshesfight4lifedir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatexturesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatexturesexplodedir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapedir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapedesertdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapegrassdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapemoondir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureswiconsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavexplosionsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavmiscdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavshootdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawindowsdir) $(DESTDIR)$(scorcheddatahtmldir) $(DESTDIR)$(scorcheddatahtmlserverdir) $(DESTDIR)$(scorcheddatalandscapesdir) $(DESTDIR)$(scorcheddatameshesdir) $(DESTDIR)$(scorcheddatameshesah64ddir) $(DESTDIR)$(scorcheddatameshesararadir) $(DESTDIR)$(scorcheddatameshesbatdir) $(DESTDIR)$(scorcheddatameshescarrierdir) $(DESTDIR)$(scorcheddatameshesddg24dir) $(DESTDIR)$(scorcheddatameshesdestroyerdir) $(DESTDIR)$(scorcheddatameshesf16dir) $(DESTDIR)$(scorcheddatameshesf18dir) $(DESTDIR)$(scorcheddatameshesfishboatdir) $(DESTDIR)$(scorcheddatameshesjollyrogerdir) $(DESTDIR)$(scorcheddatameshessailboatdir) $(DESTDIR)$(scorcheddatameshesseagulldir) $(DESTDIR)$(scorcheddatameshessubdir) $(DESTDIR)$(scorcheddatameshest38dir) $(DESTDIR)$(scorcheddatatalkdir) $(DESTDIR)$(scorcheddatatalkgermandir) $(DESTDIR)$(scorcheddatatalkpolishdir) $(DESTDIR)$(scorcheddatatanksdir) $(DESTDIR)$(scorcheddatatanksCF104dir) $(DESTDIR)$(scorcheddatatanksbattleshipdir) $(DESTDIR)$(scorcheddatatanksbenderdir) $(DESTDIR)$(scorcheddatatanksbm13dir) $(DESTDIR)$(scorcheddatatanksbradley2dir) $(DESTDIR)$(scorcheddatatankscannondir) $(DESTDIR)$(scorcheddatatankscannontdir) $(DESTDIR)$(scorcheddatatanksdeathdir) $(DESTDIR)$(scorcheddatatanksgorilladir) $(DESTDIR)$(scorcheddatatanksguntowerdir) $(DESTDIR)$(scorcheddatatankshawkdir) $(DESTDIR)$(scorcheddatatankshelderdir) $(DESTDIR)$(scorcheddatatanksignignoktdir) $(DESTDIR)$(scorcheddatatankslav25dir) $(DESTDIR)$(scorcheddatatanksm1a1dir) $(DESTDIR)$(scorcheddatatanksm48dir) $(DESTDIR)$(scorcheddatatanksmissileturretdir) $(DESTDIR)$(scorcheddatatanksmlrsdir) $(DESTDIR)$(scorcheddatatankspatriotdir) $(DESTDIR)$(scorcheddatatanksphotoncannondir) $(DESTDIR)$(scorcheddatatankssa6dir) $(DESTDIR)$(scorcheddatatankssentrygundir) $(DESTDIR)$(scorcheddatatankssonicdir) $(DESTDIR)$(scorcheddatatankst90dir) $(DESTDIR)$(scorcheddatatankstheldir) $(DESTDIR)$(scorcheddatatankstiger2dir) $(DESTDIR)$(scorcheddatatankstowedartillery2dir) $(DESTDIR)$(scorcheddatatanksturret2dir) $(DESTDIR)$(scorcheddatatankstuxdir) $(DESTDIR)$(scorcheddatatankszsu23dir) $(DESTDIR)$(scorcheddatatankszsu57dir) $(DESTDIR)$(scorcheddatatexturesdir) $(DESTDIR)$(scorcheddatatexturesbordershielddir) $(DESTDIR)$(scorcheddatatexturesexplodedir) $(DESTDIR)$(scorcheddatatexturesflamedir) $(DESTDIR)$(scorcheddatatextureslandscapedir) $(DESTDIR)$(scorcheddatatextureslandscapearizonadir) $(DESTDIR)$(scorcheddatatextureslandscapeasianspringdir) $(DESTDIR)$(scorcheddatatextureslandscapecastledir) $(DESTDIR)$(scorcheddatatextureslandscapechinadir) $(DESTDIR)$(scorcheddatatextureslandscapedefaultdir) $(DESTDIR)$(scorcheddatatextureslandscapedenalidir) $(DESTDIR)$(scorcheddatatextureslandscapehelldir) $(DESTDIR)$(scorcheddatatextureslandscapeicedir) $(DESTDIR)$(scorcheddatatextureslandscapeplagedir) $(DESTDIR)$(scorcheddatatextureslandscapesaharadir) $(DESTDIR)$(scorcheddatatextureslandscapesanddir) $(DESTDIR)$(scorcheddatatextureslandscapesnowdir) $(DESTDIR)$(scorcheddatatextureslandscapestormdir) $(DESTDIR)$(scorcheddatatextureslandscapetropicaldir) $(DESTDIR)$(scorcheddatatextureslandscapetuscandir) $(DESTDIR)$(scorcheddatatextureslandscapevulcanodir) $(DESTDIR)$(scorcheddatatextureslensflaredir) $(DESTDIR)$(scorcheddatatextureswiconsdir) $(DESTDIR)$(scorcheddatawavdir) $(DESTDIR)$(scorcheddatawavbatterydir) $(DESTDIR)$(scorcheddatawavexplosionsdir) $(DESTDIR)$(scorcheddatawavmiscdir) $(DESTDIR)$(scorcheddatawavmovementdir) $(DESTDIR)$(scorcheddatawavshielddir) $(DESTDIR)$(scorcheddatawavshootdir) $(DESTDIR)$(scorcheddatawindowsdir) $(DESTDIR)$(scorcheddocumentationdir) $(DESTDIR)$(scorcheddocumentationhtmldir) $(DESTDIR)$(scorcheddocumentationhtmlbuttonsdir) $(DESTDIR)$(scorcheddocumentationhtmlnumbersdir) $(DESTDIR)$(scorcheddocumentationhtmlscreenshotsdir) + $(mkinstalldirs) $(DESTDIR)$(scorcheddatadir) $(DESTDIR)$(scorcheddataaccessoriesdir) $(DESTDIR)$(scorcheddataaccessoriesbananadir) $(DESTDIR)$(scorcheddataaccessoriesbarragedir) $(DESTDIR)$(scorcheddataaccessoriesbeer_bottledir) $(DESTDIR)$(scorcheddataaccessoriesbombdir) $(DESTDIR)$(scorcheddataaccessoriesbombletdir) $(DESTDIR)$(scorcheddataaccessoriesbouncingbettydir) $(DESTDIR)$(scorcheddataaccessoriesdiggerdir) $(DESTDIR)$(scorcheddataaccessoriesdirtdir) $(DESTDIR)$(scorcheddataaccessoriesfatmandir) $(DESTDIR)$(scorcheddataaccessorieshawkmissiledir) $(DESTDIR)$(scorcheddataaccessoriesherringdir) $(DESTDIR)$(scorcheddataaccessoriesicbmdir) $(DESTDIR)$(scorcheddataaccessorieslaserdir) $(DESTDIR)$(scorcheddataaccessorieslittleboydir) $(DESTDIR)$(scorcheddataaccessoriesm48dir) $(DESTDIR)$(scorcheddataaccessoriesmirvwarheaddir) $(DESTDIR)$(scorcheddataaccessoriesnapalmdir) $(DESTDIR)$(scorcheddataaccessoriespalmtreedir) $(DESTDIR)$(scorcheddataaccessoriespatriotdir) $(DESTDIR)$(scorcheddataaccessoriespinguinsdir) $(DESTDIR)$(scorcheddataaccessoriespwrcratedir) $(DESTDIR)$(scorcheddataaccessoriesriotdir) $(DESTDIR)$(scorcheddataaccessoriesrollerdir) $(DESTDIR)$(scorcheddataaccessoriessa6dir) $(DESTDIR)$(scorcheddataaccessoriesshackdir) $(DESTDIR)$(scorcheddataaccessoriesshelldir) $(DESTDIR)$(scorcheddataaccessoriessmallpinedir) $(DESTDIR)$(scorcheddataaccessoriessonicringdir) $(DESTDIR)$(scorcheddataaccessoriesteleportdir) $(DESTDIR)$(scorcheddataaccessoriesv2missiledir) $(DESTDIR)$(scorcheddataacessoriesdir) $(DESTDIR)$(scorcheddataavatarsdir) $(DESTDIR)$(scorcheddatafontsdir) $(DESTDIR)$(scorcheddataglobalmodsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatadir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessories50caldir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbouldersdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbrownbouldersdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbuildingsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesbulletdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescactusdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieschurch1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescityofficedir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriescommondir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesdeerdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfactory1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfarm1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesfusionbarreldir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgasstation1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesgrenadedir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieshouse1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessorieslogcabin1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesm7a3grenadedir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesnapalmdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesobjectsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesoffice3dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesofficeplaza1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriespeopledir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesredhornetdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesremorcebombletdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockbombletdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshockrocketdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesshotgundir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesskyscraper1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriessmalloakdir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesstore1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriestrailorhouse1dir) $(DESTDIR)$(scorcheddataglobalmodsapocdataaccessoriesweaponsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatalandscapesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatalandscapesmasksdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshes737uadir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshescessnadir) $(DESTDIR)$(scorcheddataglobalmodsapocdatameshesfight4lifedir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatexturesdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatexturesexplodedir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapedir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapedesertdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapegrassdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureslandscapemoondir) $(DESTDIR)$(scorcheddataglobalmodsapocdatatextureswiconsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavexplosionsdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavmiscdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawavshootdir) $(DESTDIR)$(scorcheddataglobalmodsapocdatawindowsdir) $(DESTDIR)$(scorcheddatahtmldir) $(DESTDIR)$(scorcheddatahtmlserverdir) $(DESTDIR)$(scorcheddatalandscapesdir) $(DESTDIR)$(scorcheddatameshesdir) $(DESTDIR)$(scorcheddatameshesah64ddir) $(DESTDIR)$(scorcheddatameshesararadir) $(DESTDIR)$(scorcheddatameshesbatdir) $(DESTDIR)$(scorcheddatameshescarrierdir) $(DESTDIR)$(scorcheddatameshesddg24dir) $(DESTDIR)$(scorcheddatameshesdestroyerdir) $(DESTDIR)$(scorcheddatameshesf16dir) $(DESTDIR)$(scorcheddatameshesf18dir) $(DESTDIR)$(scorcheddatameshesfishboatdir) $(DESTDIR)$(scorcheddatameshesjollyrogerdir) $(DESTDIR)$(scorcheddatameshessailboatdir) $(DESTDIR)$(scorcheddatameshesseagulldir) $(DESTDIR)$(scorcheddatameshessubdir) $(DESTDIR)$(scorcheddatameshest38dir) $(DESTDIR)$(scorcheddatatalkdir) $(DESTDIR)$(scorcheddatatalkgermandir) $(DESTDIR)$(scorcheddatatalkpolishdir) $(DESTDIR)$(scorcheddatatanksdir) $(DESTDIR)$(scorcheddatatanksCF104dir) $(DESTDIR)$(scorcheddatatanksCannonTowerdir) $(DESTDIR)$(scorcheddatatanksbattleshipdir) $(DESTDIR)$(scorcheddatatanksbenderdir) $(DESTDIR)$(scorcheddatatanksbm13dir) $(DESTDIR)$(scorcheddatatanksbradley2dir) $(DESTDIR)$(scorcheddatatankscannondir) $(DESTDIR)$(scorcheddatatankscannontdir) $(DESTDIR)$(scorcheddatatankscannontowerdir) $(DESTDIR)$(scorcheddatatanksdeathdir) $(DESTDIR)$(scorcheddatatanksgorilladir) $(DESTDIR)$(scorcheddatatanksguntowerdir) $(DESTDIR)$(scorcheddatatankshawkdir) $(DESTDIR)$(scorcheddatatankshelderdir) $(DESTDIR)$(scorcheddatatanksignignoktdir) $(DESTDIR)$(scorcheddatatankslav25dir) $(DESTDIR)$(scorcheddatatanksm1a1dir) $(DESTDIR)$(scorcheddatatanksm48dir) $(DESTDIR)$(scorcheddatatanksmissileturretdir) $(DESTDIR)$(scorcheddatatanksmlrsdir) $(DESTDIR)$(scorcheddatatankspatriotdir) $(DESTDIR)$(scorcheddatatanksphotoncannondir) $(DESTDIR)$(scorcheddatatankssa6dir) $(DESTDIR)$(scorcheddatatankssentrygundir) $(DESTDIR)$(scorcheddatatankssonicdir) $(DESTDIR)$(scorcheddatatankssonicringdir) $(DESTDIR)$(scorcheddatatankst90dir) $(DESTDIR)$(scorcheddatatankstheldir) $(DESTDIR)$(scorcheddatatankstiger2dir) $(DESTDIR)$(scorcheddatatankstowedartillery2dir) $(DESTDIR)$(scorcheddatatanksturret2dir) $(DESTDIR)$(scorcheddatatankstuxdir) $(DESTDIR)$(scorcheddatatankszsu23dir) $(DESTDIR)$(scorcheddatatankszsu57dir) $(DESTDIR)$(scorcheddatatexturesdir) $(DESTDIR)$(scorcheddatatexturesbordershielddir) $(DESTDIR)$(scorcheddatatexturesexplodedir) $(DESTDIR)$(scorcheddatatexturesflamedir) $(DESTDIR)$(scorcheddatatextureslandscapedir) $(DESTDIR)$(scorcheddatatextureslandscapearizonadir) $(DESTDIR)$(scorcheddatatextureslandscapeasianspringdir) $(DESTDIR)$(scorcheddatatextureslandscapecastledir) $(DESTDIR)$(scorcheddatatextureslandscapechinadir) $(DESTDIR)$(scorcheddatatextureslandscapedefaultdir) $(DESTDIR)$(scorcheddatatextureslandscapedenalidir) $(DESTDIR)$(scorcheddatatextureslandscapehelldir) $(DESTDIR)$(scorcheddatatextureslandscapeicedir) $(DESTDIR)$(scorcheddatatextureslandscapeplagedir) $(DESTDIR)$(scorcheddatatextureslandscapesaharadir) $(DESTDIR)$(scorcheddatatextureslandscapesanddir) $(DESTDIR)$(scorcheddatatextureslandscapesnowdir) $(DESTDIR)$(scorcheddatatextureslandscapestormdir) $(DESTDIR)$(scorcheddatatextureslandscapetropicaldir) $(DESTDIR)$(scorcheddatatextureslandscapetuscandir) $(DESTDIR)$(scorcheddatatextureslandscapevulcanodir) $(DESTDIR)$(scorcheddatatextureslensflaredir) $(DESTDIR)$(scorcheddatatextureswiconsdir) $(DESTDIR)$(scorcheddatawavdir) $(DESTDIR)$(scorcheddatawavbatterydir) $(DESTDIR)$(scorcheddatawavexplosionsdir) $(DESTDIR)$(scorcheddatawavmiscdir) $(DESTDIR)$(scorcheddatawavmovementdir) $(DESTDIR)$(scorcheddatawavshielddir) $(DESTDIR)$(scorcheddatawavshootdir) $(DESTDIR)$(scorcheddatawindowsdir) $(DESTDIR)$(scorcheddocumentationdir) $(DESTDIR)$(scorcheddocumentationhtmldir) $(DESTDIR)$(scorcheddocumentationhtmlbuttonsdir) $(DESTDIR)$(scorcheddocumentationhtmlnumbersdir) $(DESTDIR)$(scorcheddocumentationhtmlscreenshotsdir) install: install-recursive install-exec: install-exec-recursive @@ -5036,13 +5778,44 @@ install-scorcheddataaccessoriessonicringDATA \ install-scorcheddataaccessoriesteleportDATA \ install-scorcheddataaccessoriesv2missileDATA \ + install-scorcheddataacessoriesDATA \ install-scorcheddataavatarsDATA install-scorcheddatafontsDATA \ install-scorcheddataglobalmodsDATA \ install-scorcheddataglobalmodsapocDATA \ install-scorcheddataglobalmodsapocdataDATA \ + install-scorcheddataglobalmodsapocdataaccessories50calDATA \ install-scorcheddataglobalmodsapocdataaccessoriesDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesbouldersDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA \ install-scorcheddataglobalmodsapocdataaccessoriesbuildingsDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesbulletDATA \ + install-scorcheddataglobalmodsapocdataaccessoriescactusDATA \ + install-scorcheddataglobalmodsapocdataaccessorieschurch1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriescityofficeDATA \ + install-scorcheddataglobalmodsapocdataaccessoriescommonDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesdeerDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesfactory1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesfarm1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA \ + install-scorcheddataglobalmodsapocdataaccessorieshouse1DATA \ + install-scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesnapalmDATA \ install-scorcheddataglobalmodsapocdataaccessoriesobjectsDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesoffice3DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriespeopleDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesredhornetDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesshotgunDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriessmalloakDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesstore1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA \ install-scorcheddataglobalmodsapocdataaccessoriesweaponsDATA \ install-scorcheddataglobalmodsapocdatalandscapesDATA \ install-scorcheddataglobalmodsapocdatalandscapesmasksDATA \ @@ -5082,6 +5855,7 @@ install-scorcheddatatalkgermanDATA \ install-scorcheddatatalkpolishDATA \ install-scorcheddatatanksCF104DATA \ + install-scorcheddatatanksCannonTowerDATA \ install-scorcheddatatanksDATA \ install-scorcheddatatanksbattleshipDATA \ install-scorcheddatatanksbenderDATA \ @@ -5089,6 +5863,7 @@ install-scorcheddatatanksbradley2DATA \ install-scorcheddatatankscannonDATA \ install-scorcheddatatankscannontDATA \ + install-scorcheddatatankscannontowerDATA \ install-scorcheddatatanksdeathDATA \ install-scorcheddatatanksgorillaDATA \ install-scorcheddatatanksguntowerDATA \ @@ -5105,6 +5880,7 @@ install-scorcheddatatankssa6DATA \ install-scorcheddatatankssentrygunDATA \ install-scorcheddatatankssonicDATA \ + install-scorcheddatatankssonicringDATA \ install-scorcheddatatankst90DATA \ install-scorcheddatatanksthelDATA \ install-scorcheddatatankstiger2DATA \ @@ -5198,14 +5974,45 @@ uninstall-scorcheddataaccessoriessonicringDATA \ uninstall-scorcheddataaccessoriesteleportDATA \ uninstall-scorcheddataaccessoriesv2missileDATA \ + uninstall-scorcheddataacessoriesDATA \ uninstall-scorcheddataavatarsDATA \ uninstall-scorcheddatafontsDATA \ uninstall-scorcheddataglobalmodsDATA \ uninstall-scorcheddataglobalmodsapocDATA \ uninstall-scorcheddataglobalmodsapocdataDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessories50calDATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesbouldersDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesbuildingsDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesbulletDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriescactusDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessorieschurch1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriescityofficeDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriescommonDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesdeerDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesfactory1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesfarm1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessorieshouse1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesnapalmDATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesobjectsDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesoffice3DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriespeopleDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesredhornetDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesshotgunDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriessmalloakDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesstore1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesweaponsDATA \ uninstall-scorcheddataglobalmodsapocdatalandscapesDATA \ uninstall-scorcheddataglobalmodsapocdatalandscapesmasksDATA \ @@ -5247,6 +6054,7 @@ uninstall-scorcheddatatalkgermanDATA \ uninstall-scorcheddatatalkpolishDATA \ uninstall-scorcheddatatanksCF104DATA \ + uninstall-scorcheddatatanksCannonTowerDATA \ uninstall-scorcheddatatanksDATA \ uninstall-scorcheddatatanksbattleshipDATA \ uninstall-scorcheddatatanksbenderDATA \ @@ -5254,6 +6062,7 @@ uninstall-scorcheddatatanksbradley2DATA \ uninstall-scorcheddatatankscannonDATA \ uninstall-scorcheddatatankscannontDATA \ + uninstall-scorcheddatatankscannontowerDATA \ uninstall-scorcheddatatanksdeathDATA \ uninstall-scorcheddatatanksgorillaDATA \ uninstall-scorcheddatatanksguntowerDATA \ @@ -5270,6 +6079,7 @@ uninstall-scorcheddatatankssa6DATA \ uninstall-scorcheddatatankssentrygunDATA \ uninstall-scorcheddatatankssonicDATA \ + uninstall-scorcheddatatankssonicringDATA \ uninstall-scorcheddatatankst90DATA \ uninstall-scorcheddatatanksthelDATA \ uninstall-scorcheddatatankstiger2DATA \ @@ -5356,13 +6166,44 @@ install-scorcheddataaccessoriessonicringDATA \ install-scorcheddataaccessoriesteleportDATA \ install-scorcheddataaccessoriesv2missileDATA \ + install-scorcheddataacessoriesDATA \ install-scorcheddataavatarsDATA install-scorcheddatafontsDATA \ install-scorcheddataglobalmodsDATA \ install-scorcheddataglobalmodsapocDATA \ install-scorcheddataglobalmodsapocdataDATA \ + install-scorcheddataglobalmodsapocdataaccessories50calDATA \ install-scorcheddataglobalmodsapocdataaccessoriesDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesbouldersDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA \ install-scorcheddataglobalmodsapocdataaccessoriesbuildingsDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesbulletDATA \ + install-scorcheddataglobalmodsapocdataaccessoriescactusDATA \ + install-scorcheddataglobalmodsapocdataaccessorieschurch1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriescityofficeDATA \ + install-scorcheddataglobalmodsapocdataaccessoriescommonDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesdeerDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesfactory1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesfarm1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA \ + install-scorcheddataglobalmodsapocdataaccessorieshouse1DATA \ + install-scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesnapalmDATA \ install-scorcheddataglobalmodsapocdataaccessoriesobjectsDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesoffice3DATA \ + install-scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriespeopleDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesredhornetDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesshotgunDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriessmalloakDATA \ + install-scorcheddataglobalmodsapocdataaccessoriesstore1DATA \ + install-scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA \ install-scorcheddataglobalmodsapocdataaccessoriesweaponsDATA \ install-scorcheddataglobalmodsapocdatalandscapesDATA \ install-scorcheddataglobalmodsapocdatalandscapesmasksDATA \ @@ -5402,6 +6243,7 @@ install-scorcheddatatalkgermanDATA \ install-scorcheddatatalkpolishDATA \ install-scorcheddatatanksCF104DATA \ + install-scorcheddatatanksCannonTowerDATA \ install-scorcheddatatanksDATA \ install-scorcheddatatanksbattleshipDATA \ install-scorcheddatatanksbenderDATA \ @@ -5409,6 +6251,7 @@ install-scorcheddatatanksbradley2DATA \ install-scorcheddatatankscannonDATA \ install-scorcheddatatankscannontDATA \ + install-scorcheddatatankscannontowerDATA \ install-scorcheddatatanksdeathDATA \ install-scorcheddatatanksgorillaDATA \ install-scorcheddatatanksguntowerDATA \ @@ -5425,6 +6268,7 @@ install-scorcheddatatankssa6DATA \ install-scorcheddatatankssentrygunDATA \ install-scorcheddatatankssonicDATA \ + install-scorcheddatatankssonicringDATA \ install-scorcheddatatankst90DATA \ install-scorcheddatatanksthelDATA \ install-scorcheddatatankstiger2DATA \ @@ -5505,14 +6349,45 @@ uninstall-scorcheddataaccessoriessonicringDATA \ uninstall-scorcheddataaccessoriesteleportDATA \ uninstall-scorcheddataaccessoriesv2missileDATA \ + uninstall-scorcheddataacessoriesDATA \ uninstall-scorcheddataavatarsDATA \ uninstall-scorcheddatafontsDATA \ uninstall-scorcheddataglobalmodsDATA \ uninstall-scorcheddataglobalmodsapocDATA \ uninstall-scorcheddataglobalmodsapocdataDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessories50calDATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesbouldersDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesbrownbouldersDATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesbuildingsDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesbulletDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriescactusDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessorieschurch1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriescityofficeDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriescommonDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesdeerDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesfactory1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesfarm1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesfusionbarrelDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesgasstation1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesgrenadeDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessorieshouse1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessorieslogcabin1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesm7a3grenadeDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesnapalmDATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesobjectsDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesoffice3DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesofficeplaza1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriespeopleDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesredhornetDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesremorcebombletDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesshockbombletDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesshockrocketDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesshotgunDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesskyscraper1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriessmalloakDATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriesstore1DATA \ + uninstall-scorcheddataglobalmodsapocdataaccessoriestrailorhouse1DATA \ uninstall-scorcheddataglobalmodsapocdataaccessoriesweaponsDATA \ uninstall-scorcheddataglobalmodsapocdatalandscapesDATA \ uninstall-scorcheddataglobalmodsapocdatalandscapesmasksDATA \ @@ -5554,6 +6429,7 @@ uninstall-scorcheddatatalkgermanDATA \ uninstall-scorcheddatatalkpolishDATA \ uninstall-scorcheddatatanksCF104DATA \ + uninstall-scorcheddatatanksCannonTowerDATA \ uninstall-scorcheddatatanksDATA \ uninstall-scorcheddatatanksbattleshipDATA \ uninstall-scorcheddatatanksbenderDATA \ @@ -5561,6 +6437,7 @@ uninstall-scorcheddatatanksbradley2DATA \ uninstall-scorcheddatatankscannonDATA \ uninstall-scorcheddatatankscannontDATA \ + uninstall-scorcheddatatankscannontowerDATA \ uninstall-scorcheddatatanksdeathDATA \ uninstall-scorcheddatatanksgorillaDATA \ uninstall-scorcheddatatanksguntowerDATA \ @@ -5577,6 +6454,7 @@ uninstall-scorcheddatatankssa6DATA \ uninstall-scorcheddatatankssentrygunDATA \ uninstall-scorcheddatatankssonicDATA \ + uninstall-scorcheddatatankssonicringDATA \ uninstall-scorcheddatatankst90DATA \ uninstall-scorcheddatatanksthelDATA \ uninstall-scorcheddatatankstiger2DATA \ Binary files /tmp/ZyiKWGPp1w/scorched3d-40/Scorched3D-40-src.tar.gz and /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/Scorched3D-40-src.tar.gz differ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/Scorched3D.spec /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/Scorched3D.spec --- /tmp/ZyiKWGPp1w/scorched3d-40/Scorched3D.spec 2006-07-15 21:01:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/Scorched3D.spec 2006-11-02 02:12:38.000000000 +0900 @@ -1,5 +1,5 @@ Name: scorched3d -Version: 40 +Version: 40.1d Release: 1 License: GPL Group: Amusements/Games diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/scorched.nsi /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scorched.nsi --- /tmp/ZyiKWGPp1w/scorched3d-40/scorched.nsi 2006-07-15 21:01:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scorched.nsi 2006-11-02 02:12:38.000000000 +0900 @@ -1,6 +1,6 @@ ; Helper defines !define PRODUCT_NAME "Scorched3D" -!define PRODUCT_VERSION "40" +!define PRODUCT_VERSION "40.1d" !define PRODUCT_PUBLISHER "Scorched" !define PRODUCT_WEB_SITE "http://www.scorched3d.co.uk" !define PRODUCT_DONATE_WEB_SITE "https://www.paypal.com/xclick/business=donations%40scorched3d.co.uk&item_name=Scorched3D&no_note=1&tax=0¤cy_code=GBP" @@ -57,6 +57,10 @@ Section "MainSection" SEC01 SetOutPath "$INSTDIR" SetOverwrite try + + RMDir /r "$INSTDIR\data" + RMDir /r "$INSTDIR\.scorched3d\mods" + RMDir /r "$PROFILE\.scorched3d\mods" File /r /x "CVS" /x "*.db" "data" File /r /x "CVS" /x "*.db" "documentation" diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/scorched-patch.nsi /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scorched-patch.nsi --- /tmp/ZyiKWGPp1w/scorched3d-40/scorched-patch.nsi 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scorched-patch.nsi 2006-11-02 02:12:38.000000000 +0900 @@ -0,0 +1,943 @@ +; Helper defines +!define PRODUCT_NAME "Scorched3D" +!define PRODUCT_VERSION "40.1d" +!define PRODUCT_PUBLISHER "Scorched" +!define PRODUCT_WEB_SITE "http://www.scorched3d.co.uk" +!define PRODUCT_DONATE_WEB_SITE "https://www.paypal.com/xclick/business=donations%40scorched3d.co.uk&item_name=Scorched3D&no_note=1&tax=0¤cy_code=GBP" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" + +SetCompressor lzma + +; MUI 1.67 compatible ------ +!include "MUI.nsh" + +; MUI Settings +!define MUI_ABORTWARNING +!define MUI_ICON "data\windows\tank2.ico" +!define MUI_UNICON "data\windows\tank2.ico" + +; Welcome page +!insertmacro MUI_PAGE_WELCOME +; License page +!insertmacro MUI_PAGE_LICENSE "COPYING" +; Directory page +!insertmacro MUI_PAGE_DIRECTORY +; Instfiles page +!insertmacro MUI_PAGE_INSTFILES +; Finish page +!insertmacro MUI_PAGE_FINISH + +; Uninstaller pages +!insertmacro MUI_UNPAGE_INSTFILES + +; Language files +!insertmacro MUI_LANGUAGE "English" + +; Reserve files +!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS + +; MUI end ------ + +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +OutFile "Scorched3D-${PRODUCT_VERSION}-patch.exe" +InstallDir "$PROGRAMFILES\Scorched3D" +ShowInstDetails show +ShowUnInstDetails show + +Function .onInit + ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" + StrCmp $R0 "" 0 done + MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "${PRODUCT_NAME} is not already installed, do you wish to patch anyway?" IDOK done + Abort +done: +FunctionEnd + +Section "MainSection" SEC01 + SetOutPath "$INSTDIR" + SetOverwrite try + + RMDir /r "$INSTDIR\.scorched3d\mods" + RMDir /r "$PROFILE\.scorched3d\mods" + + +File "/oname=$INSTDIR\.\data\accessories\banana\banana.txt" ".\data\accessories\banana\banana.txt" +File "/oname=$INSTDIR\.\data\accessories\barrage\barrage.txt" ".\data\accessories\barrage\barrage.txt" +File "/oname=$INSTDIR\.\data\accessories\beer_bottle\bottle.txt" ".\data\accessories\beer_bottle\bottle.txt" +File "/oname=$INSTDIR\.\data\accessories\bomb\bomb.txt" ".\data\accessories\bomb\bomb.txt" +File "/oname=$INSTDIR\.\data\accessories\bomblet\bomblet.txt" ".\data\accessories\bomblet\bomblet.txt" +File "/oname=$INSTDIR\.\data\accessories\bouncingbetty\bouncingbetty.txt" ".\data\accessories\bouncingbetty\bouncingbetty.txt" +File "/oname=$INSTDIR\.\data\accessories\digger\digger.txt" ".\data\accessories\digger\digger.txt" +File "/oname=$INSTDIR\.\data\accessories\dirt\dirt.txt" ".\data\accessories\dirt\dirt.txt" +File "/oname=$INSTDIR\.\data\accessories\fatman\fatman.txt" ".\data\accessories\fatman\fatman.txt" +File "/oname=$INSTDIR\.\data\accessories\hawkmissile\hawk.txt" ".\data\accessories\hawkmissile\hawk.txt" +File "/oname=$INSTDIR\.\data\accessories\herring\herring.txt" ".\data\accessories\herring\herring.txt" +File "/oname=$INSTDIR\.\data\accessories\icbm\icbm.txt" ".\data\accessories\icbm\icbm.txt" +File "/oname=$INSTDIR\.\data\accessories\laser\hlaser.txt" ".\data\accessories\laser\hlaser.txt" +File "/oname=$INSTDIR\.\data\accessories\laser\laser.txt" ".\data\accessories\laser\laser.txt" +File "/oname=$INSTDIR\.\data\accessories\littleboy\littleboy.txt" ".\data\accessories\littleboy\littleboy.txt" +File "/oname=$INSTDIR\.\data\accessories\m48\m48.txt" ".\data\accessories\m48\m48.txt" +File "/oname=$INSTDIR\.\data\accessories\mirvwarhead\mirvwarhead.txt" ".\data\accessories\mirvwarhead\mirvwarhead.txt" +File "/oname=$INSTDIR\.\data\accessories\napalm\napalm.txt" ".\data\accessories\napalm\napalm.txt" +File "/oname=$INSTDIR\.\data\accessories\palmtree\burntpalm.txt" ".\data\accessories\palmtree\burntpalm.txt" +File "/oname=$INSTDIR\.\data\accessories\palmtree\burntpalm2.txt" ".\data\accessories\palmtree\burntpalm2.txt" +File "/oname=$INSTDIR\.\data\accessories\palmtree\palm.txt" ".\data\accessories\palmtree\palm.txt" +File "/oname=$INSTDIR\.\data\accessories\palmtree\palm2.txt" ".\data\accessories\palmtree\palm2.txt" +File "/oname=$INSTDIR\.\data\accessories\patriot\patriot.txt" ".\data\accessories\patriot\patriot.txt" +CreateDirectory "$INSTDIR\.\data\accessories\pinguins" +File "/oname=$INSTDIR\.\data\accessories\pinguins\2pinguins.txt" ".\data\accessories\pinguins\2pinguins.txt" +File "/oname=$INSTDIR\.\data\accessories\pinguins\birdmat.bmp" ".\data\accessories\pinguins\birdmat.bmp" +File "/oname=$INSTDIR\.\data\accessories\pinguins\pinguin1.txt" ".\data\accessories\pinguins\pinguin1.txt" +File "/oname=$INSTDIR\.\data\accessories\pinguins\pinguin2.txt" ".\data\accessories\pinguins\pinguin2.txt" +CreateDirectory "$INSTDIR\.\data\accessories\pwrcrate" +File "/oname=$INSTDIR\.\data\accessories\pwrcrate\pwrcrate.bmp" ".\data\accessories\pwrcrate\pwrcrate.bmp" +File "/oname=$INSTDIR\.\data\accessories\pwrcrate\pwrcrate.txt" ".\data\accessories\pwrcrate\pwrcrate.txt" +File "/oname=$INSTDIR\.\data\accessories\riot\riot.txt" ".\data\accessories\riot\riot.txt" +File "/oname=$INSTDIR\.\data\accessories\roller\roller.bmp" ".\data\accessories\roller\roller.bmp" +File "/oname=$INSTDIR\.\data\accessories\roller\roller.txt" ".\data\accessories\roller\roller.txt" +Delete "$INSTDIR\.\data\accessories\roller\metal.bmp" +Delete "$INSTDIR\.\data\accessories\roller\warning.bmp" +Delete "$INSTDIR\.\data\accessories\roller\worn.bmp" +File "/oname=$INSTDIR\.\data\accessories\sa6\sa6.txt" ".\data\accessories\sa6\sa6.txt" +CreateDirectory "$INSTDIR\.\data\accessories\shack" +File "/oname=$INSTDIR\.\data\accessories\shack\roof.bmp" ".\data\accessories\shack\roof.bmp" +File "/oname=$INSTDIR\.\data\accessories\shack\shack.bmp" ".\data\accessories\shack\shack.bmp" +File "/oname=$INSTDIR\.\data\accessories\shack\shack.txt" ".\data\accessories\shack\shack.txt" +File "/oname=$INSTDIR\.\data\accessories\shack\window.bmp" ".\data\accessories\shack\window.bmp" +File "/oname=$INSTDIR\.\data\accessories\shell\shell.txt" ".\data\accessories\shell\shell.txt" +File "/oname=$INSTDIR\.\data\accessories\smallpine\burntsmallpine.txt" ".\data\accessories\smallpine\burntsmallpine.txt" +File "/oname=$INSTDIR\.\data\accessories\smallpine\smallpine.txt" ".\data\accessories\smallpine\smallpine.txt" +File "/oname=$INSTDIR\.\data\accessories\smallpine\smallpine2.txt" ".\data\accessories\smallpine\smallpine2.txt" +File "/oname=$INSTDIR\.\data\accessories\smallpine\smallpine3.txt" ".\data\accessories\smallpine\smallpine3.txt" +File "/oname=$INSTDIR\.\data\accessories\smallpine\wintersmallpine.txt" ".\data\accessories\smallpine\wintersmallpine.txt" +File "/oname=$INSTDIR\.\data\accessories\smallpine\wintersmallpine2.txt" ".\data\accessories\smallpine\wintersmallpine2.txt" +File "/oname=$INSTDIR\.\data\accessories\smallpine\wintersmallpine3.txt" ".\data\accessories\smallpine\wintersmallpine3.txt" +File "/oname=$INSTDIR\.\data\accessories\sonicring\sonicring.txt" ".\data\accessories\sonicring\sonicring.txt" +File "/oname=$INSTDIR\.\data\accessories\teleport\teleport.txt" ".\data\accessories\teleport\teleport.txt" +File "/oname=$INSTDIR\.\data\accessories\v2missile\v2missile.txt" ".\data\accessories\v2missile\v2missile.txt" +File "/oname=$INSTDIR\.\data\accessories.xml" ".\data\accessories.xml" +File "/oname=$INSTDIR\.\data\ainames.txt" ".\data\ainames.txt" +File "/oname=$INSTDIR\.\data\fastestdisplay.xml" ".\data\fastestdisplay.xml" +File "/oname=$INSTDIR\.\data\fonts\VERA-COPYRIGHT.TXT" ".\data\fonts\VERA-COPYRIGHT.TXT" +File "/oname=$INSTDIR\.\data\globalmods\apoc\authors.txt" ".\data\globalmods\apoc\authors.txt" +CreateDirectory "$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\bar1.txt" ".\data\globalmods\apoc\data\accessories\buildings\bar1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\builds1.bmp" ".\data\globalmods\apoc\data\accessories\buildings\builds1.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\builds2.bmp" ".\data\globalmods\apoc\data\accessories\buildings\builds2.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\builds3.bmp" ".\data\globalmods\apoc\data\accessories\buildings\builds3.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\builds4.bmp" ".\data\globalmods\apoc\data\accessories\buildings\builds4.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\builds5.bmp" ".\data\globalmods\apoc\data\accessories\buildings\builds5.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\church1.txt" ".\data\globalmods\apoc\data\accessories\buildings\church1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\church1burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\church1burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\factory1.txt" ".\data\globalmods\apoc\data\accessories\buildings\factory1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\factory1burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\factory1burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\farm1.txt" ".\data\globalmods\apoc\data\accessories\buildings\farm1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\farm1burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\farm1burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\fence1.bmp" ".\data\globalmods\apoc\data\accessories\buildings\fence1.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\fence1trans.bmp" ".\data\globalmods\apoc\data\accessories\buildings\fence1trans.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\gasstation1.txt" ".\data\globalmods\apoc\data\accessories\buildings\gasstation1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\gasstation1burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\gasstation1burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\hospital.txt" ".\data\globalmods\apoc\data\accessories\buildings\hospital.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\house1-2.txt" ".\data\globalmods\apoc\data\accessories\buildings\house1-2.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\house1-2burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\house1-2burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\house1-3.txt" ".\data\globalmods\apoc\data\accessories\buildings\house1-3.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\house1-3burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\house1-3burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\house1.txt" ".\data\globalmods\apoc\data\accessories\buildings\house1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\house1burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\house1burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\igloo.bmp" ".\data\globalmods\apoc\data\accessories\buildings\igloo.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\igloo.txt" ".\data\globalmods\apoc\data\accessories\buildings\igloo.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\logcabin1.txt" ".\data\globalmods\apoc\data\accessories\buildings\logcabin1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\logcabin1burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\logcabin1burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\mainport.txt" ".\data\globalmods\apoc\data\accessories\buildings\mainport.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\mainport_anim.txt" ".\data\globalmods\apoc\data\accessories\buildings\mainport_anim.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\nuclearplant.txt" ".\data\globalmods\apoc\data\accessories\buildings\nuclearplant.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\office1.txt" ".\data\globalmods\apoc\data\accessories\buildings\office1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\office1burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\office1burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\office2.txt" ".\data\globalmods\apoc\data\accessories\buildings\office2.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\office2burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\office2burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\office3.txt" ".\data\globalmods\apoc\data\accessories\buildings\office3.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\office4.txt" ".\data\globalmods\apoc\data\accessories\buildings\office4.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\office5.txt" ".\data\globalmods\apoc\data\accessories\buildings\office5.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\skyscraper1.txt" ".\data\globalmods\apoc\data\accessories\buildings\skyscraper1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\skyscraper1burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\skyscraper1burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\skyscraper2.txt" ".\data\globalmods\apoc\data\accessories\buildings\skyscraper2.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\skyscraper3.txt" ".\data\globalmods\apoc\data\accessories\buildings\skyscraper3.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\stadium.bmp" ".\data\globalmods\apoc\data\accessories\buildings\stadium.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\stadium.txt" ".\data\globalmods\apoc\data\accessories\buildings\stadium.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\store1.txt" ".\data\globalmods\apoc\data\accessories\buildings\store1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\store1burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\store1burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\trailorhouse1.txt" ".\data\globalmods\apoc\data\accessories\buildings\trailorhouse1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\buildings\trailorhouse1burnt.txt" ".\data\globalmods\apoc\data\accessories\buildings\trailorhouse1burnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\molten.bmp" ".\data\globalmods\apoc\data\accessories\molten.bmp" +CreateDirectory "$INSTDIR\.\data\globalmods\apoc\data\accessories\objects" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\9volt.txt" ".\data\globalmods\apoc\data\accessories\objects\9volt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\acidpod.bmp" ".\data\globalmods\apoc\data\accessories\objects\acidpod.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\acidpod.txt" ".\data\globalmods\apoc\data\accessories\objects\acidpod.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\atom.txt" ".\data\globalmods\apoc\data\accessories\objects\atom.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\brownrock1.txt" ".\data\globalmods\apoc\data\accessories\objects\brownrock1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\brownrock2.txt" ".\data\globalmods\apoc\data\accessories\objects\brownrock2.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\brownrock3.txt" ".\data\globalmods\apoc\data\accessories\objects\brownrock3.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\brownrock4.txt" ".\data\globalmods\apoc\data\accessories\objects\brownrock4.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\cactus.txt" ".\data\globalmods\apoc\data\accessories\objects\cactus.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\cactusburnt.txt" ".\data\globalmods\apoc\data\accessories\objects\cactusburnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\cactussmall.txt" ".\data\globalmods\apoc\data\accessories\objects\cactussmall.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\cactussmallburnt.txt" ".\data\globalmods\apoc\data\accessories\objects\cactussmallburnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\cash.txt" ".\data\globalmods\apoc\data\accessories\objects\cash.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\container.txt" ".\data\globalmods\apoc\data\accessories\objects\container.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\cow1.txt" ".\data\globalmods\apoc\data\accessories\objects\cow1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\cowmat.bmp" ".\data\globalmods\apoc\data\accessories\objects\cowmat.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\deer1.txt" ".\data\globalmods\apoc\data\accessories\objects\deer1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\deer2.txt" ".\data\globalmods\apoc\data\accessories\objects\deer2.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\deerburnt.txt" ".\data\globalmods\apoc\data\accessories\objects\deerburnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\earth.bmp" ".\data\globalmods\apoc\data\accessories\objects\earth.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\earth.txt" ".\data\globalmods\apoc\data\accessories\objects\earth.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\earth_half.txt" ".\data\globalmods\apoc\data\accessories\objects\earth_half.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\fleshpod.bmp" ".\data\globalmods\apoc\data\accessories\objects\fleshpod.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\fleshpod.txt" ".\data\globalmods\apoc\data\accessories\objects\fleshpod.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\fuelbarrel.txt" ".\data\globalmods\apoc\data\accessories\objects\fuelbarrel.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\medkit.txt" ".\data\globalmods\apoc\data\accessories\objects\medkit.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\mushroom.txt" ".\data\globalmods\apoc\data\accessories\objects\mushroom.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\objs1.bmp" ".\data\globalmods\apoc\data\accessories\objects\objs1.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\objs2.bmp" ".\data\globalmods\apoc\data\accessories\objects\objs2.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\parachute.txt" ".\data\globalmods\apoc\data\accessories\objects\parachute.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\rock1.txt" ".\data\globalmods\apoc\data\accessories\objects\rock1.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\rock2.txt" ".\data\globalmods\apoc\data\accessories\objects\rock2.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\rock3.txt" ".\data\globalmods\apoc\data\accessories\objects\rock3.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\rock4.txt" ".\data\globalmods\apoc\data\accessories\objects\rock4.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\satellite.bmp" ".\data\globalmods\apoc\data\accessories\objects\satellite.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\satellite.txt" ".\data\globalmods\apoc\data\accessories\objects\satellite.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\smalloakburnt.txt" ".\data\globalmods\apoc\data\accessories\objects\smalloakburnt.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\objects\smalloakfall.txt" ".\data\globalmods\apoc\data\accessories\objects\smalloakfall.txt" +CreateDirectory "$INSTDIR\.\data\globalmods\apoc\data\accessories\people" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\people\male1_soldier.bmp" ".\data\globalmods\apoc\data\accessories\people\male1_soldier.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\people\male1_soldier.txt" ".\data\globalmods\apoc\data\accessories\people\male1_soldier.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\people\male1_soldier_standing.txt" ".\data\globalmods\apoc\data\accessories\people\male1_soldier_standing.txt" +CreateDirectory "$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\50cal.txt" ".\data\globalmods\apoc\data\accessories\weapons\50cal.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\bullet.txt" ".\data\globalmods\apoc\data\accessories\weapons\bullet.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\fthrower.txt" ".\data\globalmods\apoc\data\accessories\weapons\fthrower.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\fusionbarrel.txt" ".\data\globalmods\apoc\data\accessories\weapons\fusionbarrel.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\grenade.txt" ".\data\globalmods\apoc\data\accessories\weapons\grenade.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\m7a3.txt" ".\data\globalmods\apoc\data\accessories\weapons\m7a3.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\megamirv.txt" ".\data\globalmods\apoc\data\accessories\weapons\megamirv.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\moab.txt" ".\data\globalmods\apoc\data\accessories\weapons\moab.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\redhornet.txt" ".\data\globalmods\apoc\data\accessories\weapons\redhornet.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\redhornet_anim.txt" ".\data\globalmods\apoc\data\accessories\weapons\redhornet_anim.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\shockbomblet.txt" ".\data\globalmods\apoc\data\accessories\weapons\shockbomblet.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\shockrocket.txt" ".\data\globalmods\apoc\data\accessories\weapons\shockrocket.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\shotgunshell.txt" ".\data\globalmods\apoc\data\accessories\weapons\shotgunshell.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\tsarbomba.txt" ".\data\globalmods\apoc\data\accessories\weapons\tsarbomba.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\weapons1.bmp" ".\data\globalmods\apoc\data\accessories\weapons\weapons1.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories\weapons\wobblebomb.txt" ".\data\globalmods\apoc\data\accessories\weapons\wobblebomb.txt" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\50cal" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\boulders" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\brownboulders" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\bullet" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\cactus" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\church1" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\cityoffice" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\common" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\deer" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\factory1" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\farm1" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\fusionbarrel" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\gasstation1" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\grenade" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\house1" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\logcabin1" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\m7a3grenade" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\napalm" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\office3" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\officeplaza1" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\redhornet" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\remorcebomblet" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\shockbomblet" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\shockrocket" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\shotgun" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\skyscraper1" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\smalloak" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\store1" +RMDir /r "$INSTDIR\.\data\globalmods\apoc\data\accessories\trailorhouse1" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\accessories.xml" ".\data\globalmods\apoc\data\accessories.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\ambientsoundbuildings.xml" ".\data\globalmods\apoc\data\landscapes\ambientsoundbuildings.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\ambientsoundcars.xml" ".\data\globalmods\apoc\data\landscapes\ambientsoundcars.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\ambientsoundhelicopter.xml" ".\data\globalmods\apoc\data\landscapes\ambientsoundhelicopter.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\apoccity-pic.bmp" ".\data\globalmods\apoc\data\landscapes\apoccity-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\apoccity.bmp" ".\data\globalmods\apoc\data\landscapes\apoccity.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\bighill-pic.bmp" ".\data\globalmods\apoc\data\landscapes\bighill-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\boidsah64d.xml" ".\data\globalmods\apoc\data\landscapes\boidsah64d.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\boidscity.xml" ".\data\globalmods\apoc\data\landscapes\boidscity.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\boidsf18.xml" ".\data\globalmods\apoc\data\landscapes\boidsf18.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\boidshornets.xml" ".\data\globalmods\apoc\data\landscapes\boidshornets.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\bullseye.bmp" ".\data\globalmods\apoc\data\landscapes\bullseye.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\cars.bmp" ".\data\globalmods\apoc\data\landscapes\cars.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\cars2.bmp" ".\data\globalmods\apoc\data\landscapes\cars2.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\carsa.bmp" ".\data\globalmods\apoc\data\landscapes\carsa.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\castle-pic.bmp" ".\data\globalmods\apoc\data\landscapes\castle-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\colosseum-pic.bmp" ".\data\globalmods\apoc\data\landscapes\colosseum-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\craters-pic.bmp" ".\data\globalmods\apoc\data\landscapes\craters-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnapoccity.xml" ".\data\globalmods\apoc\data\landscapes\defnapoccity.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnarizonaislands.xml" ".\data\globalmods\apoc\data\landscapes\defnarizonaislands.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnbighill.xml" ".\data\globalmods\apoc\data\landscapes\defnbighill.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnbullseye.xml" ".\data\globalmods\apoc\data\landscapes\defnbullseye.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defncastle.xml" ".\data\globalmods\apoc\data\landscapes\defncastle.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defncolosseum.xml" ".\data\globalmods\apoc\data\landscapes\defncolosseum.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defncraters.xml" ".\data\globalmods\apoc\data\landscapes\defncraters.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defndesertmesa.xml" ".\data\globalmods\apoc\data\landscapes\defndesertmesa.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defndonuthills.xml" ".\data\globalmods\apoc\data\landscapes\defndonuthills.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnhexisle.xml" ".\data\globalmods\apoc\data\landscapes\defnhexisle.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnmaze.xml" ".\data\globalmods\apoc\data\landscapes\defnmaze.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnmoon.xml" ".\data\globalmods\apoc\data\landscapes\defnmoon.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnmountains.xml" ".\data\globalmods\apoc\data\landscapes\defnmountains.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnnexuscanyon.xml" ".\data\globalmods\apoc\data\landscapes\defnnexuscanyon.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnpillars.xml" ".\data\globalmods\apoc\data\landscapes\defnpillars.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnplateau.xml" ".\data\globalmods\apoc\data\landscapes\defnplateau.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnpyramids.xml" ".\data\globalmods\apoc\data\landscapes\defnpyramids.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnpyramids2.xml" ".\data\globalmods\apoc\data\landscapes\defnpyramids2.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnruffles.xml" ".\data\globalmods\apoc\data\landscapes\defnruffles.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnsteppes.xml" ".\data\globalmods\apoc\data\landscapes\defnsteppes.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnterraces.xml" ".\data\globalmods\apoc\data\landscapes\defnterraces.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defntwotowers.xml" ".\data\globalmods\apoc\data\landscapes\defntwotowers.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnusa.xml" ".\data\globalmods\apoc\data\landscapes\defnusa.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnvolcano.xml" ".\data\globalmods\apoc\data\landscapes\defnvolcano.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnweathered.xml" ".\data\globalmods\apoc\data\landscapes\defnweathered.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\defnworld.xml" ".\data\globalmods\apoc\data\landscapes\defnworld.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\desertmesa-pic.bmp" ".\data\globalmods\apoc\data\landscapes\desertmesa-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\dirt.bmp" ".\data\globalmods\apoc\data\landscapes\dirt.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\donuthills-pic.bmp" ".\data\globalmods\apoc\data\landscapes\donuthills-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\eventsatellitecrash.xml" ".\data\globalmods\apoc\data\landscapes\eventsatellitecrash.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\eventscargodrop.xml" ".\data\globalmods\apoc\data\landscapes\eventscargodrop.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\eventsflamespurt.xml" ".\data\globalmods\apoc\data\landscapes\eventsflamespurt.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\farmland.bmp" ".\data\globalmods\apoc\data\landscapes\farmland.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\farmlanda.bmp" ".\data\globalmods\apoc\data\landscapes\farmlanda.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\hexisle-pic.bmp" ".\data\globalmods\apoc\data\landscapes\hexisle-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\moon-pic.bmp" ".\data\globalmods\apoc\data\landscapes\moon-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\mountains-pic.bmp" ".\data\globalmods\apoc\data\landscapes\mountains-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\nexuscanyon-pic.bmp" ".\data\globalmods\apoc\data\landscapes\nexuscanyon-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\pillars-pic.bmp" ".\data\globalmods\apoc\data\landscapes\pillars-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placebuildings.xml" ".\data\globalmods\apoc\data\landscapes\placebuildings.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placecity1.xml" ".\data\globalmods\apoc\data\landscapes\placecity1.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placecity2.xml" ".\data\globalmods\apoc\data\landscapes\placecity2.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placecity3.xml" ".\data\globalmods\apoc\data\landscapes\placecity3.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placecityport.xml" ".\data\globalmods\apoc\data\landscapes\placecityport.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placedesert.xml" ".\data\globalmods\apoc\data\landscapes\placedesert.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placefleshpods.xml" ".\data\globalmods\apoc\data\landscapes\placefleshpods.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placeigloo.xml" ".\data\globalmods\apoc\data\landscapes\placeigloo.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placemoon.xml" ".\data\globalmods\apoc\data\landscapes\placemoon.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placeoak2_bldg.xml" ".\data\globalmods\apoc\data\landscapes\placeoak2_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placeoak_bldg.xml" ".\data\globalmods\apoc\data\landscapes\placeoak_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placepalm2_bldg.xml" ".\data\globalmods\apoc\data\landscapes\placepalm2_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placepalm_bldg.xml" ".\data\globalmods\apoc\data\landscapes\placepalm_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placepine2_bldg.xml" ".\data\globalmods\apoc\data\landscapes\placepine2_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placepine_bldg.xml" ".\data\globalmods\apoc\data\landscapes\placepine_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placesnowpine_bldg.xml" ".\data\globalmods\apoc\data\landscapes\placesnowpine_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placesummercitypine.xml" ".\data\globalmods\apoc\data\landscapes\placesummercitypine.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placeusa_summer.xml" ".\data\globalmods\apoc\data\landscapes\placeusa_summer.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\placewintercitypine.xml" ".\data\globalmods\apoc\data\landscapes\placewintercitypine.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\plateau-pic.bmp" ".\data\globalmods\apoc\data\landscapes\plateau-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\pyramids-pic.bmp" ".\data\globalmods\apoc\data\landscapes\pyramids-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\pyramids-v2-pic.bmp" ".\data\globalmods\apoc\data\landscapes\pyramids-v2-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\roads1.bmp" ".\data\globalmods\apoc\data\landscapes\roads1.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\roads1a.bmp" ".\data\globalmods\apoc\data\landscapes\roads1a.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\ruffles-pic.bmp" ".\data\globalmods\apoc\data\landscapes\ruffles-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\steppes-pic.bmp" ".\data\globalmods\apoc\data\landscapes\steppes-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\terraces-pic.bmp" ".\data\globalmods\apoc\data\landscapes\terraces-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texarizona_bldg.xml" ".\data\globalmods\apoc\data\landscapes\texarizona_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texasianspring_bldg.xml" ".\data\globalmods\apoc\data\landscapes\texasianspring_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texcastle_bldg.xml" ".\data\globalmods\apoc\data\landscapes\texcastle_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texchina_bldg.xml" ".\data\globalmods\apoc\data\landscapes\texchina_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texcity1_storm.xml" ".\data\globalmods\apoc\data\landscapes\texcity1_storm.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texcity1_summer.xml" ".\data\globalmods\apoc\data\landscapes\texcity1_summer.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texcity1_winter.xml" ".\data\globalmods\apoc\data\landscapes\texcity1_winter.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texcity2_storm.xml" ".\data\globalmods\apoc\data\landscapes\texcity2_storm.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texcity2_summer.xml" ".\data\globalmods\apoc\data\landscapes\texcity2_summer.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texcity2_winter.xml" ".\data\globalmods\apoc\data\landscapes\texcity2_winter.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texcity3_storm.xml" ".\data\globalmods\apoc\data\landscapes\texcity3_storm.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texcity3_summer.xml" ".\data\globalmods\apoc\data\landscapes\texcity3_summer.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texcity3_winter.xml" ".\data\globalmods\apoc\data\landscapes\texcity3_winter.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texdefault_bldg.xml" ".\data\globalmods\apoc\data\landscapes\texdefault_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texdenali_bldg.xml" ".\data\globalmods\apoc\data\landscapes\texdenali_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texdesert.xml" ".\data\globalmods\apoc\data\landscapes\texdesert.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texhell.xml" ".\data\globalmods\apoc\data\landscapes\texhell.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texice.xml" ".\data\globalmods\apoc\data\landscapes\texice.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texice_bldg.xml" ".\data\globalmods\apoc\data\landscapes\texice_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texmoon.xml" ".\data\globalmods\apoc\data\landscapes\texmoon.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texnight_bldg.xml" ".\data\globalmods\apoc\data\landscapes\texnight_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texsand_bldg.xml" ".\data\globalmods\apoc\data\landscapes\texsand_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texsnow_bldg.xml" ".\data\globalmods\apoc\data\landscapes\texsnow_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texstorm_bldg.xml" ".\data\globalmods\apoc\data\landscapes\texstorm_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\textropical_bldg.xml" ".\data\globalmods\apoc\data\landscapes\textropical_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\textuscan_bldg.xml" ".\data\globalmods\apoc\data\landscapes\textuscan_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texusa_summer.xml" ".\data\globalmods\apoc\data\landscapes\texusa_summer.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\texvulcano_bldg.xml" ".\data\globalmods\apoc\data\landscapes\texvulcano_bldg.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\twotowers-pic.bmp" ".\data\globalmods\apoc\data\landscapes\twotowers-pic.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes\weathered-pic.bmp" ".\data\globalmods\apoc\data\landscapes\weathered-pic.bmp" +Delete "$INSTDIR\.\data\globalmods\apoc\data\landscapes\hillcity-pic.bmp" +Delete "$INSTDIR\.\data\globalmods\apoc\data\landscapes\hillcity.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\landscapes.xml" ".\data\globalmods\apoc\data\landscapes.xml" +CreateDirectory "$INSTDIR\.\data\globalmods\apoc\data\meshes" +CreateDirectory "$INSTDIR\.\data\globalmods\apoc\data\meshes\737ua" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\meshes\737ua\737ua.bmp" ".\data\globalmods\apoc\data\meshes\737ua\737ua.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\meshes\737ua\737ua.txt" ".\data\globalmods\apoc\data\meshes\737ua\737ua.txt" +CreateDirectory "$INSTDIR\.\data\globalmods\apoc\data\meshes\cessna" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\meshes\cessna\body.bmp" ".\data\globalmods\apoc\data\meshes\cessna\body.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\meshes\cessna\cessna.txt" ".\data\globalmods\apoc\data\meshes\cessna\cessna.txt" +CreateDirectory "$INSTDIR\.\data\globalmods\apoc\data\meshes\fight4life" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\meshes\fight4life\body1.bmp" ".\data\globalmods\apoc\data\meshes\fight4life\body1.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\meshes\fight4life\body2.bmp" ".\data\globalmods\apoc\data\meshes\fight4life\body2.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\meshes\fight4life\fight4life.txt" ".\data\globalmods\apoc\data\meshes\fight4life\fight4life.txt" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\modinfo.xml" ".\data\globalmods\apoc\data\modinfo.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\singleeasy.xml" ".\data\globalmods\apoc\data\singleeasy.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\singlehard.xml" ".\data\globalmods\apoc\data\singlehard.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\singlenormal.xml" ".\data\globalmods\apoc\data\singlenormal.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\singletarget.xml" ".\data\globalmods\apoc\data\singletarget.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\tankais.xml" ".\data\globalmods\apoc\data\tankais.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\lava00_1.bmp" ".\data\globalmods\apoc\data\textures\explode\lava00_1.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\lava00_10.bmp" ".\data\globalmods\apoc\data\textures\explode\lava00_10.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\lava00_11.bmp" ".\data\globalmods\apoc\data\textures\explode\lava00_11.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\lava00_12.bmp" ".\data\globalmods\apoc\data\textures\explode\lava00_12.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\lava00_2.bmp" ".\data\globalmods\apoc\data\textures\explode\lava00_2.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\lava00_3.bmp" ".\data\globalmods\apoc\data\textures\explode\lava00_3.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\lava00_4.bmp" ".\data\globalmods\apoc\data\textures\explode\lava00_4.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\lava00_5.bmp" ".\data\globalmods\apoc\data\textures\explode\lava00_5.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\lava00_6.bmp" ".\data\globalmods\apoc\data\textures\explode\lava00_6.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\lava00_7.bmp" ".\data\globalmods\apoc\data\textures\explode\lava00_7.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\lava00_8.bmp" ".\data\globalmods\apoc\data\textures\explode\lava00_8.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\lava00_9.bmp" ".\data\globalmods\apoc\data\textures\explode\lava00_9.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\light01_1.bmp" ".\data\globalmods\apoc\data\textures\explode\light01_1.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\explode\smoke_orange.bmp" ".\data\globalmods\apoc\data\textures\explode\smoke_orange.bmp" +CreateDirectory "$INSTDIR\.\data\globalmods\apoc\data\textures\landscape\desert" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\landscape\desert\surround.bmp" ".\data\globalmods\apoc\data\textures\landscape\desert\surround.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\landscape\moon\earth.bmp" ".\data\globalmods\apoc\data\textures\landscape\moon\earth.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\landscape\moon\sky.bmp" ".\data\globalmods\apoc\data\textures\landscape\moon\sky.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\landscape\moon\stars.bmp" ".\data\globalmods\apoc\data\textures\landscape\moon\stars.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\wicons\fthrower.bmp" ".\data\globalmods\apoc\data\textures\wicons\fthrower.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\wicons\harmor.bmp" ".\data\globalmods\apoc\data\textures\wicons\harmor.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\wicons\larmor.bmp" ".\data\globalmods\apoc\data\textures\wicons\larmor.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\wicons\mirror.bmp" ".\data\globalmods\apoc\data\textures\wicons\mirror.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\wicons\satellite.bmp" ".\data\globalmods\apoc\data\textures\wicons\satellite.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textures\wicons\volcano.bmp" ".\data\globalmods\apoc\data\textures\wicons\volcano.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\textureset.xml" ".\data\globalmods\apoc\data\textureset.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\explosions\acid.wav" ".\data\globalmods\apoc\data\wav\explosions\acid.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\explosions\beesting.wav" ".\data\globalmods\apoc\data\wav\explosions\beesting.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\explosions\empsmall.wav" ".\data\globalmods\apoc\data\wav\explosions\empsmall.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\explosions\exp.wav" ".\data\globalmods\apoc\data\wav\explosions\exp.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\explosions\quake.wav" ".\data\globalmods\apoc\data\wav\explosions\quake.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\explosions\radiation.wav" ".\data\globalmods\apoc\data\wav\explosions\radiation.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\explosions\tank.wav" ".\data\globalmods\apoc\data\wav\explosions\tank.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\explosions\thud.wav" ".\data\globalmods\apoc\data\wav\explosions\thud.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\beamup.wav" ".\data\globalmods\apoc\data\wav\misc\beamup.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\carhorn3.wav" ".\data\globalmods\apoc\data\wav\misc\carhorn3.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\cessna.wav" ".\data\globalmods\apoc\data\wav\misc\cessna.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\cheeringloop.wav" ".\data\globalmods\apoc\data\wav\misc\cheeringloop.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\cows.wav" ".\data\globalmods\apoc\data\wav\misc\cows.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\extralife.wav" ".\data\globalmods\apoc\data\wav\misc\extralife.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\factoryloop1.wav" ".\data\globalmods\apoc\data\wav\misc\factoryloop1.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\fight4life.wav" ".\data\globalmods\apoc\data\wav\misc\fight4life.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\firetruck.wav" ".\data\globalmods\apoc\data\wav\misc\firetruck.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\lockon.wav" ".\data\globalmods\apoc\data\wav\misc\lockon.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\moo.wav" ".\data\globalmods\apoc\data\wav\misc\moo.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\nuclearloop.wav" ".\data\globalmods\apoc\data\wav\misc\nuclearloop.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\policecar.wav" ".\data\globalmods\apoc\data\wav\misc\policecar.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\riftcollapse.wav" ".\data\globalmods\apoc\data\wav\misc\riftcollapse.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\rooster.wav" ".\data\globalmods\apoc\data\wav\misc\rooster.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\scream1.wav" ".\data\globalmods\apoc\data\wav\misc\scream1.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\scream2.wav" ".\data\globalmods\apoc\data\wav\misc\scream2.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\scream3.wav" ".\data\globalmods\apoc\data\wav\misc\scream3.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\scream4.wav" ".\data\globalmods\apoc\data\wav\misc\scream4.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\screaming.wav" ".\data\globalmods\apoc\data\wav\misc\screaming.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\misc\sheep.wav" ".\data\globalmods\apoc\data\wav\misc\sheep.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\shoot\launch.wav" ".\data\globalmods\apoc\data\wav\shoot\launch.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\wav\shoot\machinegun.wav" ".\data\globalmods\apoc\data\wav\shoot\machinegun.wav" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\windows\plan.bmp" ".\data\globalmods\apoc\data\windows\plan.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\windows\plana.bmp" ".\data\globalmods\apoc\data\windows\plana.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\windows\playera.bmp" ".\data\globalmods\apoc\data\windows\playera.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\windows\weapona.bmp" ".\data\globalmods\apoc\data\windows\weapona.bmp" +File "/oname=$INSTDIR\.\data\globalmods\apoc\data\windows\winda.bmp" ".\data\globalmods\apoc\data\windows\winda.bmp" +Delete "$INSTDIR\.\data\globalmods\apoc\data\.#landscapesdefn.xml.1.9" +Delete "$INSTDIR\.\data\globalmods\apoc\data\landscapesdefn.xml" +Delete "$INSTDIR\.\data\globalmods\apoc\data\landscapesplace.xml" +Delete "$INSTDIR\.\data\globalmods\apoc\data\landscapessound.xml" +Delete "$INSTDIR\.\data\globalmods\apoc\data\landscapestex.xml" +Delete "$INSTDIR\.\data\globalmods\apoc\data\singlegames.xml" +File "/oname=$INSTDIR\.\data\globalmods\apoc\readme.txt" ".\data\globalmods\apoc\readme.txt" +File "/oname=$INSTDIR\.\data\html\server\banned.html" ".\data\html\server\banned.html" +File "/oname=$INSTDIR\.\data\html\server\game.html" ".\data\html\server\game.html" +File "/oname=$INSTDIR\.\data\html\server\header.html" ".\data\html\server\header.html" +File "/oname=$INSTDIR\.\data\html\server\log.html" ".\data\html\server\log.html" +File "/oname=$INSTDIR\.\data\html\server\logfile.html" ".\data\html\server\logfile.html" +File "/oname=$INSTDIR\.\data\html\server\logfiles.html" ".\data\html\server\logfiles.html" +File "/oname=$INSTDIR\.\data\html\server\menu.html" ".\data\html\server\menu.html" +File "/oname=$INSTDIR\.\data\html\server\message.html" ".\data\html\server\message.html" +File "/oname=$INSTDIR\.\data\html\server\mods.html" ".\data\html\server\mods.html" +File "/oname=$INSTDIR\.\data\html\server\player.html" ".\data\html\server\player.html" +File "/oname=$INSTDIR\.\data\html\server\server.css" ".\data\html\server\server.css" +File "/oname=$INSTDIR\.\data\html\server\server.html" ".\data\html\server\server.html" +File "/oname=$INSTDIR\.\data\html\server\settings.html" ".\data\html\server\settings.html" +File "/oname=$INSTDIR\.\data\html\server\talk.html" ".\data\html\server\talk.html" +File "/oname=$INSTDIR\.\data\keys.xml" ".\data\keys.xml" +File "/oname=$INSTDIR\.\data\landscapes\ambientsoundjet.xml" ".\data\landscapes\ambientsoundjet.xml" +File "/oname=$INSTDIR\.\data\landscapes\ambientsoundjungle.xml" ".\data\landscapes\ambientsoundjungle.xml" +File "/oname=$INSTDIR\.\data\landscapes\ambientsoundlava.xml" ".\data\landscapes\ambientsoundlava.xml" +File "/oname=$INSTDIR\.\data\landscapes\ambientsoundnight.xml" ".\data\landscapes\ambientsoundnight.xml" +File "/oname=$INSTDIR\.\data\landscapes\ambientsoundrain.xml" ".\data\landscapes\ambientsoundrain.xml" +File "/oname=$INSTDIR\.\data\landscapes\ambientsoundtrees.xml" ".\data\landscapes\ambientsoundtrees.xml" +File "/oname=$INSTDIR\.\data\landscapes\ambientsoundwaves.xml" ".\data\landscapes\ambientsoundwaves.xml" +File "/oname=$INSTDIR\.\data\landscapes\ascencion-pic.bmp" ".\data\landscapes\ascencion-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\ascencion.bmp" ".\data\landscapes\ascencion.bmp" +File "/oname=$INSTDIR\.\data\landscapes\boidsah64.xml" ".\data\landscapes\boidsah64.xml" +File "/oname=$INSTDIR\.\data\landscapes\boidsbats.xml" ".\data\landscapes\boidsbats.xml" +File "/oname=$INSTDIR\.\data\landscapes\boidsf16.xml" ".\data\landscapes\boidsf16.xml" +File "/oname=$INSTDIR\.\data\landscapes\boidsf18.xml" ".\data\landscapes\boidsf18.xml" +File "/oname=$INSTDIR\.\data\landscapes\boidsgulls.xml" ".\data\landscapes\boidsgulls.xml" +File "/oname=$INSTDIR\.\data\landscapes\boidsparrot.xml" ".\data\landscapes\boidsparrot.xml" +File "/oname=$INSTDIR\.\data\landscapes\boidst38.xml" ".\data\landscapes\boidst38.xml" +File "/oname=$INSTDIR\.\data\landscapes\canyon-pic.bmp" ".\data\landscapes\canyon-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\canyon.bmp" ".\data\landscapes\canyon.bmp" +File "/oname=$INSTDIR\.\data\landscapes\cavern-pic.bmp" ".\data\landscapes\cavern-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\defnascencion.xml" ".\data\landscapes\defnascencion.xml" +File "/oname=$INSTDIR\.\data\landscapes\defncanyon.xml" ".\data\landscapes\defncanyon.xml" +File "/oname=$INSTDIR\.\data\landscapes\defncavern.xml" ".\data\landscapes\defncavern.xml" +File "/oname=$INSTDIR\.\data\landscapes\defndenali.xml" ".\data\landscapes\defndenali.xml" +File "/oname=$INSTDIR\.\data\landscapes\defnglaciation.xml" ".\data\landscapes\defnglaciation.xml" +File "/oname=$INSTDIR\.\data\landscapes\defnhalfed.xml" ".\data\landscapes\defnhalfed.xml" +File "/oname=$INSTDIR\.\data\landscapes\defnhilly.xml" ".\data\landscapes\defnhilly.xml" +File "/oname=$INSTDIR\.\data\landscapes\defnicebergs2.xml" ".\data\landscapes\defnicebergs2.xml" +File "/oname=$INSTDIR\.\data\landscapes\defnicebergs3.xml" ".\data\landscapes\defnicebergs3.xml" +File "/oname=$INSTDIR\.\data\landscapes\defnislands.xml" ".\data\landscapes\defnislands.xml" +File "/oname=$INSTDIR\.\data\landscapes\defnlowlands.xml" ".\data\landscapes\defnlowlands.xml" +File "/oname=$INSTDIR\.\data\landscapes\defnoldstyle.xml" ".\data\landscapes\defnoldstyle.xml" +File "/oname=$INSTDIR\.\data\landscapes\defnridge.xml" ".\data\landscapes\defnridge.xml" +File "/oname=$INSTDIR\.\data\landscapes\defnspike.xml" ".\data\landscapes\defnspike.xml" +File "/oname=$INSTDIR\.\data\landscapes\defntest.xml" ".\data\landscapes\defntest.xml" +File "/oname=$INSTDIR\.\data\landscapes\defnvalley.xml" ".\data\landscapes\defnvalley.xml" +File "/oname=$INSTDIR\.\data\landscapes\denali-pic.bmp" ".\data\landscapes\denali-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\denali.bmp" ".\data\landscapes\denali.bmp" +File "/oname=$INSTDIR\.\data\landscapes\eventslightning.xml" ".\data\landscapes\eventslightning.xml" +File "/oname=$INSTDIR\.\data\landscapes\eventsmeteor.xml" ".\data\landscapes\eventsmeteor.xml" +File "/oname=$INSTDIR\.\data\landscapes\eventstest.xml" ".\data\landscapes\eventstest.xml" +File "/oname=$INSTDIR\.\data\landscapes\glaciation-pic.bmp" ".\data\landscapes\glaciation-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\glaciation.bmp" ".\data\landscapes\glaciation.bmp" +File "/oname=$INSTDIR\.\data\landscapes\halfed-pic.bmp" ".\data\landscapes\halfed-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\hilly-pic.bmp" ".\data\landscapes\hilly-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\icebergs002-pic.bmp" ".\data\landscapes\icebergs002-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\icebergs002.bmp" ".\data\landscapes\icebergs002.bmp" +File "/oname=$INSTDIR\.\data\landscapes\icebergs003-pic.bmp" ".\data\landscapes\icebergs003-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\icebergs003.bmp" ".\data\landscapes\icebergs003.bmp" +File "/oname=$INSTDIR\.\data\landscapes\islands-pic.bmp" ".\data\landscapes\islands-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\nomask.bmp" ".\data\landscapes\nomask.bmp" +File "/oname=$INSTDIR\.\data\landscapes\oldstyle-pic.bmp" ".\data\landscapes\oldstyle-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\parking.bmp" ".\data\landscapes\parking.bmp" +File "/oname=$INSTDIR\.\data\landscapes\parkinga.bmp" ".\data\landscapes\parkinga.bmp" +File "/oname=$INSTDIR\.\data\landscapes\path.bmp" ".\data\landscapes\path.bmp" +File "/oname=$INSTDIR\.\data\landscapes\patha.bmp" ".\data\landscapes\patha.bmp" +File "/oname=$INSTDIR\.\data\landscapes\placeburntpine.xml" ".\data\landscapes\placeburntpine.xml" +File "/oname=$INSTDIR\.\data\landscapes\placedenali.xml" ".\data\landscapes\placedenali.xml" +File "/oname=$INSTDIR\.\data\landscapes\placenone.xml" ".\data\landscapes\placenone.xml" +File "/oname=$INSTDIR\.\data\landscapes\placeoak.xml" ".\data\landscapes\placeoak.xml" +File "/oname=$INSTDIR\.\data\landscapes\placeoak2.xml" ".\data\landscapes\placeoak2.xml" +File "/oname=$INSTDIR\.\data\landscapes\placepalm.xml" ".\data\landscapes\placepalm.xml" +File "/oname=$INSTDIR\.\data\landscapes\placepalm2.xml" ".\data\landscapes\placepalm2.xml" +File "/oname=$INSTDIR\.\data\landscapes\placepine.xml" ".\data\landscapes\placepine.xml" +File "/oname=$INSTDIR\.\data\landscapes\placepine2.xml" ".\data\landscapes\placepine2.xml" +File "/oname=$INSTDIR\.\data\landscapes\placepingu.xml" ".\data\landscapes\placepingu.xml" +File "/oname=$INSTDIR\.\data\landscapes\placesnowpine.xml" ".\data\landscapes\placesnowpine.xml" +File "/oname=$INSTDIR\.\data\landscapes\placetest.xml" ".\data\landscapes\placetest.xml" +File "/oname=$INSTDIR\.\data\landscapes\ridge-pic.bmp" ".\data\landscapes\ridge-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\shipsdestroyer1.xml" ".\data\landscapes\shipsdestroyer1.xml" +File "/oname=$INSTDIR\.\data\landscapes\shipsdestroyer2.xml" ".\data\landscapes\shipsdestroyer2.xml" +File "/oname=$INSTDIR\.\data\landscapes\shipsfish.xml" ".\data\landscapes\shipsfish.xml" +File "/oname=$INSTDIR\.\data\landscapes\shipspirate.xml" ".\data\landscapes\shipspirate.xml" +File "/oname=$INSTDIR\.\data\landscapes\shipssail.xml" ".\data\landscapes\shipssail.xml" +File "/oname=$INSTDIR\.\data\landscapes\shipssub.xml" ".\data\landscapes\shipssub.xml" +File "/oname=$INSTDIR\.\data\landscapes\spike-pic.bmp" ".\data\landscapes\spike-pic.bmp" +File "/oname=$INSTDIR\.\data\landscapes\spike.bmp" ".\data\landscapes\spike.bmp" +File "/oname=$INSTDIR\.\data\landscapes\texarizona.xml" ".\data\landscapes\texarizona.xml" +File "/oname=$INSTDIR\.\data\landscapes\texasianspring.xml" ".\data\landscapes\texasianspring.xml" +File "/oname=$INSTDIR\.\data\landscapes\texcastle.xml" ".\data\landscapes\texcastle.xml" +File "/oname=$INSTDIR\.\data\landscapes\texcavern.xml" ".\data\landscapes\texcavern.xml" +File "/oname=$INSTDIR\.\data\landscapes\texchina.xml" ".\data\landscapes\texchina.xml" +File "/oname=$INSTDIR\.\data\landscapes\texdefault.xml" ".\data\landscapes\texdefault.xml" +File "/oname=$INSTDIR\.\data\landscapes\texdenali.xml" ".\data\landscapes\texdenali.xml" +File "/oname=$INSTDIR\.\data\landscapes\texhell.xml" ".\data\landscapes\texhell.xml" +File "/oname=$INSTDIR\.\data\landscapes\texice.xml" ".\data\landscapes\texice.xml" +File "/oname=$INSTDIR\.\data\landscapes\texnight.xml" ".\data\landscapes\texnight.xml" +File "/oname=$INSTDIR\.\data\landscapes\texplage.xml" ".\data\landscapes\texplage.xml" +File "/oname=$INSTDIR\.\data\landscapes\texsahara.xml" ".\data\landscapes\texsahara.xml" +File "/oname=$INSTDIR\.\data\landscapes\texsand.xml" ".\data\landscapes\texsand.xml" +File "/oname=$INSTDIR\.\data\landscapes\texsnow.xml" ".\data\landscapes\texsnow.xml" +File "/oname=$INSTDIR\.\data\landscapes\texstorm.xml" ".\data\landscapes\texstorm.xml" +File "/oname=$INSTDIR\.\data\landscapes\textropical.xml" ".\data\landscapes\textropical.xml" +File "/oname=$INSTDIR\.\data\landscapes\textuscan.xml" ".\data\landscapes\textuscan.xml" +File "/oname=$INSTDIR\.\data\landscapes\texvulcano.xml" ".\data\landscapes\texvulcano.xml" +File "/oname=$INSTDIR\.\data\landscapes\valley-pic.bmp" ".\data\landscapes\valley-pic.bmp" +Delete "$INSTDIR\.\data\landscapes\halved.bmp" +Delete "$INSTDIR\.\data\landscapes\hilly.bmp" +Delete "$INSTDIR\.\data\landscapes\islands.bmp" +Delete "$INSTDIR\.\data\landscapes\lowlands.bmp" +Delete "$INSTDIR\.\data\landscapes\oldstyle.bmp" +Delete "$INSTDIR\.\data\landscapes\ridge.bmp" +Delete "$INSTDIR\.\data\landscapes\valley.bmp" +File "/oname=$INSTDIR\.\data\landscapes.xml" ".\data\landscapes.xml" +File "/oname=$INSTDIR\.\data\meshes\ah64d\ah64d.txt" ".\data\meshes\ah64d\ah64d.txt" +CreateDirectory "$INSTDIR\.\data\meshes\arara" +File "/oname=$INSTDIR\.\data\meshes\arara\arara.bmp" ".\data\meshes\arara\arara.bmp" +File "/oname=$INSTDIR\.\data\meshes\arara\arara.txt" ".\data\meshes\arara\arara.txt" +File "/oname=$INSTDIR\.\data\meshes\bat\bat.txt" ".\data\meshes\bat\bat.txt" +File "/oname=$INSTDIR\.\data\meshes\bird.txt" ".\data\meshes\bird.txt" +CreateDirectory "$INSTDIR\.\data\meshes\carrier" +File "/oname=$INSTDIR\.\data\meshes\carrier\carrier.txt" ".\data\meshes\carrier\carrier.txt" +File "/oname=$INSTDIR\.\data\meshes\carrier\nimitz.bmp" ".\data\meshes\carrier\nimitz.bmp" +CreateDirectory "$INSTDIR\.\data\meshes\ddg24" +File "/oname=$INSTDIR\.\data\meshes\ddg24\ddg24.bmp" ".\data\meshes\ddg24\ddg24.bmp" +File "/oname=$INSTDIR\.\data\meshes\ddg24\ddg24.txt" ".\data\meshes\ddg24\ddg24.txt" +CreateDirectory "$INSTDIR\.\data\meshes\destroyer" +File "/oname=$INSTDIR\.\data\meshes\destroyer\destroy.bmp" ".\data\meshes\destroyer\destroy.bmp" +File "/oname=$INSTDIR\.\data\meshes\destroyer\destroyer.txt" ".\data\meshes\destroyer\destroyer.txt" +CreateDirectory "$INSTDIR\.\data\meshes\f16" +File "/oname=$INSTDIR\.\data\meshes\f16\f16.bmp" ".\data\meshes\f16\f16.bmp" +File "/oname=$INSTDIR\.\data\meshes\f16\f16.txt" ".\data\meshes\f16\f16.txt" +File "/oname=$INSTDIR\.\data\meshes\f18\f18.txt" ".\data\meshes\f18\f18.txt" +CreateDirectory "$INSTDIR\.\data\meshes\fishboat" +File "/oname=$INSTDIR\.\data\meshes\fishboat\fishboat.bmp" ".\data\meshes\fishboat\fishboat.bmp" +File "/oname=$INSTDIR\.\data\meshes\fishboat\fishboat.txt" ".\data\meshes\fishboat\fishboat.txt" +CreateDirectory "$INSTDIR\.\data\meshes\jollyroger" +File "/oname=$INSTDIR\.\data\meshes\jollyroger\jollyroger.txt" ".\data\meshes\jollyroger\jollyroger.txt" +File "/oname=$INSTDIR\.\data\meshes\jollyroger\pflag1.bmp" ".\data\meshes\jollyroger\pflag1.bmp" +File "/oname=$INSTDIR\.\data\meshes\jollyroger\pflag2.bmp" ".\data\meshes\jollyroger\pflag2.bmp" +File "/oname=$INSTDIR\.\data\meshes\jollyroger\ship.bmp" ".\data\meshes\jollyroger\ship.bmp" +CreateDirectory "$INSTDIR\.\data\meshes\sailboat" +File "/oname=$INSTDIR\.\data\meshes\sailboat\sailboat.bmp" ".\data\meshes\sailboat\sailboat.bmp" +File "/oname=$INSTDIR\.\data\meshes\sailboat\sailboat.txt" ".\data\meshes\sailboat\sailboat.txt" +File "/oname=$INSTDIR\.\data\meshes\seagull\seagull.txt" ".\data\meshes\seagull\seagull.txt" +CreateDirectory "$INSTDIR\.\data\meshes\sub" +File "/oname=$INSTDIR\.\data\meshes\sub\black.bmp" ".\data\meshes\sub\black.bmp" +File "/oname=$INSTDIR\.\data\meshes\sub\sub.txt" ".\data\meshes\sub\sub.txt" +File "/oname=$INSTDIR\.\data\meshes\survivalraft.txt" ".\data\meshes\survivalraft.txt" +CreateDirectory "$INSTDIR\.\data\meshes\t38" +File "/oname=$INSTDIR\.\data\meshes\t38\t38.bmp" ".\data\meshes\t38\t38.bmp" +File "/oname=$INSTDIR\.\data\meshes\t38\t38.txt" ".\data\meshes\t38\t38.txt" +File "/oname=$INSTDIR\.\data\meshes\t38\t38b.bmp" ".\data\meshes\t38\t38b.bmp" +File "/oname=$INSTDIR\.\data\meshes\wind.ase" ".\data\meshes\wind.ase" +File "/oname=$INSTDIR\.\data\modinfo.xml" ".\data\modinfo.xml" +File "/oname=$INSTDIR\.\data\prunetables.sql" ".\data\prunetables.sql" +File "/oname=$INSTDIR\.\data\safedisplay.xml" ".\data\safedisplay.xml" +File "/oname=$INSTDIR\.\data\singletarget.xml" ".\data\singletarget.xml" +File "/oname=$INSTDIR\.\data\singletutorial.xml" ".\data\singletutorial.xml" +File "/oname=$INSTDIR\.\data\statstables.sql" ".\data\statstables.sql" +File "/oname=$INSTDIR\.\data\talk\talk1.txt" ".\data\talk\talk1.txt" +File "/oname=$INSTDIR\.\data\talk\talk2.txt" ".\data\talk\talk2.txt" +File "/oname=$INSTDIR\.\data\tankais.xml" ".\data\tankais.xml" +File "/oname=$INSTDIR\.\data\tanks\battleship\battleship.txt" ".\data\tanks\battleship\battleship.txt" +File "/oname=$INSTDIR\.\data\tanks\bender\bender-info.txt" ".\data\tanks\bender\bender-info.txt" +File "/oname=$INSTDIR\.\data\tanks\bender\bender.txt" ".\data\tanks\bender\bender.txt" +File "/oname=$INSTDIR\.\data\tanks\bm13\bm13-2.txt" ".\data\tanks\bm13\bm13-2.txt" +File "/oname=$INSTDIR\.\data\tanks\bradley2\bradley2.txt" ".\data\tanks\bradley2\bradley2.txt" +File "/oname=$INSTDIR\.\data\tanks\cannon\black.bmp" ".\data\tanks\cannon\black.bmp" +File "/oname=$INSTDIR\.\data\tanks\cannon\cannon.bmp" ".\data\tanks\cannon\cannon.bmp" +File "/oname=$INSTDIR\.\data\tanks\cannon\cannon.txt" ".\data\tanks\cannon\cannon.txt" +Delete "$INSTDIR\.\data\tanks\cannon\turretBase.bmp" +Delete "$INSTDIR\.\data\tanks\cannon\uprights.bmp" +Delete "$INSTDIR\.\data\tanks\cannon\wheelouter.bmp" +CreateDirectory "$INSTDIR\.\data\tanks\cannont" +File "/oname=$INSTDIR\.\data\tanks\cannont\base.bmp" ".\data\tanks\cannont\base.bmp" +File "/oname=$INSTDIR\.\data\tanks\cannont\cannontower.txt" ".\data\tanks\cannont\cannontower.txt" +File "/oname=$INSTDIR\.\data\tanks\cannont\gun.bmp" ".\data\tanks\cannont\gun.bmp" +File "/oname=$INSTDIR\.\data\tanks\cannont\side.bmp" ".\data\tanks\cannont\side.bmp" +File "/oname=$INSTDIR\.\data\tanks\cannont\side2.bmp" ".\data\tanks\cannont\side2.bmp" +File "/oname=$INSTDIR\.\data\tanks\cannont\top.bmp" ".\data\tanks\cannont\top.bmp" +File "/oname=$INSTDIR\.\data\tanks\CF-104\104.bmp" ".\data\tanks\CF-104\104.bmp" +File "/oname=$INSTDIR\.\data\tanks\CF-104\104.txt" ".\data\tanks\CF-104\104.txt" +Delete "$INSTDIR\.\data\tanks\CF-104\black.bmp" +Delete "$INSTDIR\.\data\tanks\CF-104\cockpit.bmp" +Delete "$INSTDIR\.\data\tanks\CF-104\engine.bmp" +Delete "$INSTDIR\.\data\tanks\CF-104\gunFuselage.bmp" +Delete "$INSTDIR\.\data\tanks\CF-104\wheel.bmp" +File "/oname=$INSTDIR\.\data\tanks\death\death.txt" ".\data\tanks\death\death.txt" +File "/oname=$INSTDIR\.\data\tanks\gorilla\gorilla.txt" ".\data\tanks\gorilla\gorilla.txt" +File "/oname=$INSTDIR\.\data\tanks\guntower\guntower.txt" ".\data\tanks\guntower\guntower.txt" +File "/oname=$INSTDIR\.\data\tanks\hawk\hawk.txt" ".\data\tanks\hawk\hawk.txt" +File "/oname=$INSTDIR\.\data\tanks\helder\helder.txt" ".\data\tanks\helder\helder.txt" +File "/oname=$INSTDIR\.\data\tanks\helder\helder2.txt" ".\data\tanks\helder\helder2.txt" +CreateDirectory "$INSTDIR\.\data\tanks\ignignokt" +File "/oname=$INSTDIR\.\data\tanks\ignignokt\ignignokt.bmp" ".\data\tanks\ignignokt\ignignokt.bmp" +File "/oname=$INSTDIR\.\data\tanks\ignignokt\ignignokt.txt" ".\data\tanks\ignignokt\ignignokt.txt" +File "/oname=$INSTDIR\.\data\tanks\kenny2.txt" ".\data\tanks\kenny2.txt" +File "/oname=$INSTDIR\.\data\tanks\lav-25\lav-25.txt" ".\data\tanks\lav-25\lav-25.txt" +File "/oname=$INSTDIR\.\data\tanks\m1a1\m1a1.txt" ".\data\tanks\m1a1\m1a1.txt" +File "/oname=$INSTDIR\.\data\tanks\m48\m48.txt" ".\data\tanks\m48\m48.txt" +File "/oname=$INSTDIR\.\data\tanks\missileturret\missileturret.txt" ".\data\tanks\missileturret\missileturret.txt" +File "/oname=$INSTDIR\.\data\tanks\mlrs\mlrs.txt" ".\data\tanks\mlrs\mlrs.txt" +File "/oname=$INSTDIR\.\data\tanks\patriot\patriot.txt" ".\data\tanks\patriot\patriot.txt" +File "/oname=$INSTDIR\.\data\tanks\photoncannon\photoncannon.txt" ".\data\tanks\photoncannon\photoncannon.txt" +File "/oname=$INSTDIR\.\data\tanks\sa6\sa6.txt" ".\data\tanks\sa6\sa6.txt" +CreateDirectory "$INSTDIR\.\data\tanks\sentrygun" +File "/oname=$INSTDIR\.\data\tanks\sentrygun\sentrygun.bmp" ".\data\tanks\sentrygun\sentrygun.bmp" +File "/oname=$INSTDIR\.\data\tanks\sentrygun\sentrygun.txt" ".\data\tanks\sentrygun\sentrygun.txt" +File "/oname=$INSTDIR\.\data\tanks\shark.txt" ".\data\tanks\shark.txt" +File "/oname=$INSTDIR\.\data\tanks\sonic\sonic.txt" ".\data\tanks\sonic\sonic.txt" +File "/oname=$INSTDIR\.\data\tanks\t90\t90.txt" ".\data\tanks\t90\t90.txt" +File "/oname=$INSTDIR\.\data\tanks\thel\thel.txt" ".\data\tanks\thel\thel.txt" +File "/oname=$INSTDIR\.\data\tanks\tiger2\tiger2.txt" ".\data\tanks\tiger2\tiger2.txt" +File "/oname=$INSTDIR\.\data\tanks\towedartillery2\towedartillery2.txt" ".\data\tanks\towedartillery2\towedartillery2.txt" +File "/oname=$INSTDIR\.\data\tanks\tracksh.bmp" ".\data\tanks\tracksh.bmp" +File "/oname=$INSTDIR\.\data\tanks\trackshv.bmp" ".\data\tanks\trackshv.bmp" +File "/oname=$INSTDIR\.\data\tanks\tracksv.bmp" ".\data\tanks\tracksv.bmp" +File "/oname=$INSTDIR\.\data\tanks\tracksvh.bmp" ".\data\tanks\tracksvh.bmp" +File "/oname=$INSTDIR\.\data\tanks\turret2\turret2.txt" ".\data\tanks\turret2\turret2.txt" +File "/oname=$INSTDIR\.\data\tanks\tux\tux.txt" ".\data\tanks\tux\tux.txt" +File "/oname=$INSTDIR\.\data\tanks\zsu23\zsu23.txt" ".\data\tanks\zsu23\zsu23.txt" +File "/oname=$INSTDIR\.\data\tanks\zsu57\zsu57.txt" ".\data\tanks\zsu57\zsu57.txt" +RMDir /r "$INSTDIR\.\data\tanks\cannontower" +File "/oname=$INSTDIR\.\data\tanks.xml" ".\data\tanks.xml" +File "/oname=$INSTDIR\.\data\tanktypes.xml" ".\data\tanktypes.xml" +File "/oname=$INSTDIR\.\data\textures\bordershield\hit.bmp" ".\data\textures\bordershield\hit.bmp" +CreateDirectory "$INSTDIR\.\data\textures\landscape\arizona" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\clearsky.bmp" ".\data\textures\landscape\arizona\clearsky.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\cloud1.bmp" ".\data\textures\landscape\arizona\cloud1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\cubemap.bmp" ".\data\textures\landscape\arizona\cubemap.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\detail.bmp" ".\data\textures\landscape\arizona\detail.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\rockside.bmp" ".\data\textures\landscape\arizona\rockside.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\scorch.bmp" ".\data\textures\landscape\arizona\scorch.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\shore.bmp" ".\data\textures\landscape\arizona\shore.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\texture0.bmp" ".\data\textures\landscape\arizona\texture0.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\texture1.bmp" ".\data\textures\landscape\arizona\texture1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\texture2.bmp" ".\data\textures\landscape\arizona\texture2.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\texture3.bmp" ".\data\textures\landscape\arizona\texture3.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\texture4.bmp" ".\data\textures\landscape\arizona\texture4.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\arizona\water.bmp" ".\data\textures\landscape\arizona\water.bmp" +CreateDirectory "$INSTDIR\.\data\textures\landscape\asianspring" +File "/oname=$INSTDIR\.\data\textures\landscape\asianspring\cloud1.bmp" ".\data\textures\landscape\asianspring\cloud1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\asianspring\cubemap.bmp" ".\data\textures\landscape\asianspring\cubemap.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\asianspring\detail.bmp" ".\data\textures\landscape\asianspring\detail.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\asianspring\rockside.bmp" ".\data\textures\landscape\asianspring\rockside.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\asianspring\scorch.bmp" ".\data\textures\landscape\asianspring\scorch.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\asianspring\shore.bmp" ".\data\textures\landscape\asianspring\shore.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\asianspring\texture0.bmp" ".\data\textures\landscape\asianspring\texture0.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\asianspring\texture1.bmp" ".\data\textures\landscape\asianspring\texture1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\asianspring\texture2.bmp" ".\data\textures\landscape\asianspring\texture2.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\asianspring\texture3.bmp" ".\data\textures\landscape\asianspring\texture3.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\asianspring\texture4.bmp" ".\data\textures\landscape\asianspring\texture4.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\asianspring\water.bmp" ".\data\textures\landscape\asianspring\water.bmp" +CreateDirectory "$INSTDIR\.\data\textures\landscape\castle" +File "/oname=$INSTDIR\.\data\textures\landscape\castle\cloud1.bmp" ".\data\textures\landscape\castle\cloud1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\castle\cubemap.bmp" ".\data\textures\landscape\castle\cubemap.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\castle\detail.bmp" ".\data\textures\landscape\castle\detail.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\castle\rockside.bmp" ".\data\textures\landscape\castle\rockside.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\castle\scorch.bmp" ".\data\textures\landscape\castle\scorch.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\castle\shore.bmp" ".\data\textures\landscape\castle\shore.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\castle\texture0.bmp" ".\data\textures\landscape\castle\texture0.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\castle\texture1.bmp" ".\data\textures\landscape\castle\texture1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\castle\texture2.bmp" ".\data\textures\landscape\castle\texture2.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\castle\texture3.bmp" ".\data\textures\landscape\castle\texture3.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\castle\texture4.bmp" ".\data\textures\landscape\castle\texture4.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\castle\water.bmp" ".\data\textures\landscape\castle\water.bmp" +CreateDirectory "$INSTDIR\.\data\textures\landscape\china" +File "/oname=$INSTDIR\.\data\textures\landscape\china\cloud1.bmp" ".\data\textures\landscape\china\cloud1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\china\cubemap.bmp" ".\data\textures\landscape\china\cubemap.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\china\detail.bmp" ".\data\textures\landscape\china\detail.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\china\rockside.bmp" ".\data\textures\landscape\china\rockside.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\china\scorch.bmp" ".\data\textures\landscape\china\scorch.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\china\shore.bmp" ".\data\textures\landscape\china\shore.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\china\texture0.bmp" ".\data\textures\landscape\china\texture0.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\china\texture1.bmp" ".\data\textures\landscape\china\texture1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\china\texture2.bmp" ".\data\textures\landscape\china\texture2.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\china\texture2.jpg" ".\data\textures\landscape\china\texture2.jpg" +File "/oname=$INSTDIR\.\data\textures\landscape\china\texture3.bmp" ".\data\textures\landscape\china\texture3.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\china\texture4.bmp" ".\data\textures\landscape\china\texture4.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\china\water.bmp" ".\data\textures\landscape\china\water.bmp" +CreateDirectory "$INSTDIR\.\data\textures\landscape\denali" +File "/oname=$INSTDIR\.\data\textures\landscape\denali\cloud1.bmp" ".\data\textures\landscape\denali\cloud1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\denali\cubemap.bmp" ".\data\textures\landscape\denali\cubemap.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\denali\detail.bmp" ".\data\textures\landscape\denali\detail.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\denali\rockside.bmp" ".\data\textures\landscape\denali\rockside.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\denali\scorch.bmp" ".\data\textures\landscape\denali\scorch.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\denali\shore.bmp" ".\data\textures\landscape\denali\shore.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\denali\texture0.bmp" ".\data\textures\landscape\denali\texture0.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\denali\texture1.bmp" ".\data\textures\landscape\denali\texture1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\denali\texture2.bmp" ".\data\textures\landscape\denali\texture2.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\denali\texture3.bmp" ".\data\textures\landscape\denali\texture3.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\denali\texture4.bmp" ".\data\textures\landscape\denali\texture4.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\denali\water.bmp" ".\data\textures\landscape\denali\water.bmp" +CreateDirectory "$INSTDIR\.\data\textures\landscape\ice" +File "/oname=$INSTDIR\.\data\textures\landscape\ice\cloud1.bmp" ".\data\textures\landscape\ice\cloud1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\ice\cubemap.bmp" ".\data\textures\landscape\ice\cubemap.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\ice\detail.bmp" ".\data\textures\landscape\ice\detail.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\ice\rockside.bmp" ".\data\textures\landscape\ice\rockside.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\ice\scorch.bmp" ".\data\textures\landscape\ice\scorch.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\ice\shore.bmp" ".\data\textures\landscape\ice\shore.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\ice\texture0.bmp" ".\data\textures\landscape\ice\texture0.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\ice\texture1.bmp" ".\data\textures\landscape\ice\texture1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\ice\texture2.bmp" ".\data\textures\landscape\ice\texture2.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\ice\texture3.bmp" ".\data\textures\landscape\ice\texture3.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\ice\texture4.bmp" ".\data\textures\landscape\ice\texture4.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\ice\water.bmp" ".\data\textures\landscape\ice\water.bmp" +CreateDirectory "$INSTDIR\.\data\textures\landscape\plage" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\cloud1.bmp" ".\data\textures\landscape\plage\cloud1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\cubemap.bmp" ".\data\textures\landscape\plage\cubemap.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\detail.bmp" ".\data\textures\landscape\plage\detail.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\detailold.bmp" ".\data\textures\landscape\plage\detailold.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\rockside.bmp" ".\data\textures\landscape\plage\rockside.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\scorch.bmp" ".\data\textures\landscape\plage\scorch.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\shore.bmp" ".\data\textures\landscape\plage\shore.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\texture0.bmp" ".\data\textures\landscape\plage\texture0.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\texture1.bmp" ".\data\textures\landscape\plage\texture1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\texture2.bmp" ".\data\textures\landscape\plage\texture2.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\texture3.bmp" ".\data\textures\landscape\plage\texture3.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\texture4.bmp" ".\data\textures\landscape\plage\texture4.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\plage\water.bmp" ".\data\textures\landscape\plage\water.bmp" +CreateDirectory "$INSTDIR\.\data\textures\landscape\sahara" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\clearsky.bmp" ".\data\textures\landscape\sahara\clearsky.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\cloud1.bmp" ".\data\textures\landscape\sahara\cloud1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\cubemap.bmp" ".\data\textures\landscape\sahara\cubemap.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\detail.bmp" ".\data\textures\landscape\sahara\detail.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\rockside.bmp" ".\data\textures\landscape\sahara\rockside.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\scorch.bmp" ".\data\textures\landscape\sahara\scorch.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\shore.bmp" ".\data\textures\landscape\sahara\shore.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\texture0.bmp" ".\data\textures\landscape\sahara\texture0.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\texture1.bmp" ".\data\textures\landscape\sahara\texture1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\texture2.bmp" ".\data\textures\landscape\sahara\texture2.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\texture3.bmp" ".\data\textures\landscape\sahara\texture3.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\texture4.bmp" ".\data\textures\landscape\sahara\texture4.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\sahara\water.bmp" ".\data\textures\landscape\sahara\water.bmp" +CreateDirectory "$INSTDIR\.\data\textures\landscape\tuscan" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\clearsky.bmp" ".\data\textures\landscape\tuscan\clearsky.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\cloud1.bmp" ".\data\textures\landscape\tuscan\cloud1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\cubemap.bmp" ".\data\textures\landscape\tuscan\cubemap.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\detail.bmp" ".\data\textures\landscape\tuscan\detail.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\rockside.bmp" ".\data\textures\landscape\tuscan\rockside.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\scorch.bmp" ".\data\textures\landscape\tuscan\scorch.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\shore.bmp" ".\data\textures\landscape\tuscan\shore.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\texture0.bmp" ".\data\textures\landscape\tuscan\texture0.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\texture1.bmp" ".\data\textures\landscape\tuscan\texture1.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\texture2.bmp" ".\data\textures\landscape\tuscan\texture2.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\texture3.bmp" ".\data\textures\landscape\tuscan\texture3.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\texture4.bmp" ".\data\textures\landscape\tuscan\texture4.bmp" +File "/oname=$INSTDIR\.\data\textures\landscape\tuscan\water.bmp" ".\data\textures\landscape\tuscan\water.bmp" +File "/oname=$INSTDIR\.\data\textures\moon.bmp" ".\data\textures\moon.bmp" +File "/oname=$INSTDIR\.\data\textures\oak.bmp" ".\data\textures\oak.bmp" +File "/oname=$INSTDIR\.\data\textures\oaka.bmp" ".\data\textures\oaka.bmp" +File "/oname=$INSTDIR\.\data\textures\palm2.bmp" ".\data\textures\palm2.bmp" +File "/oname=$INSTDIR\.\data\textures\palm2a.bmp" ".\data\textures\palm2a.bmp" +File "/oname=$INSTDIR\.\data\textures\pine2.bmp" ".\data\textures\pine2.bmp" +File "/oname=$INSTDIR\.\data\textures\pine2a.bmp" ".\data\textures\pine2a.bmp" +File "/oname=$INSTDIR\.\data\textures\pine3.bmp" ".\data\textures\pine3.bmp" +File "/oname=$INSTDIR\.\data\textures\pine3a.bmp" ".\data\textures\pine3a.bmp" +File "/oname=$INSTDIR\.\data\textures\shield.bmp" ".\data\textures\shield.bmp" +File "/oname=$INSTDIR\.\data\textures\shield2.bmp" ".\data\textures\shield2.bmp" +File "/oname=$INSTDIR\.\data\textures\shielda.bmp" ".\data\textures\shielda.bmp" +File "/oname=$INSTDIR\.\data\textures\stars.bmp" ".\data\textures\stars.bmp" +File "/oname=$INSTDIR\.\data\tips.txt" ".\data\tips.txt" +File "/oname=$INSTDIR\.\data\tutorial.xml" ".\data\tutorial.xml" +File "/oname=$INSTDIR\.\data\wav\misc\f16_1.wav" ".\data\wav\misc\f16_1.wav" +File "/oname=$INSTDIR\.\data\wav\misc\f16_2.wav" ".\data\wav\misc\f16_2.wav" +File "/oname=$INSTDIR\.\data\wav\misc\lava2.wav" ".\data\wav\misc\lava2.wav" +File "/oname=$INSTDIR\.\data\wav\misc\oceanwaves.wav" ".\data\wav\misc\oceanwaves.wav" +File "/oname=$INSTDIR\.\data\wav\misc\para.wav" ".\data\wav\misc\para.wav" +File "/oname=$INSTDIR\.\data\wav\misc\t38.wav" ".\data\wav\misc\t38.wav" +File "/oname=$INSTDIR\.\data\wav\misc\thunder2.wav" ".\data\wav\misc\thunder2.wav" +File "/oname=$INSTDIR\.\data\wav\misc\thunder3.wav" ".\data\wav\misc\thunder3.wav" +File "/oname=$INSTDIR\.\data\wav\movement\elevate.wav" ".\data\wav\movement\elevate.wav" +File "/oname=$INSTDIR\.\data\wav\movement\power.wav" ".\data\wav\movement\power.wav" +File "/oname=$INSTDIR\.\data\wav\movement\turn.wav" ".\data\wav\movement\turn.wav" +File "/oname=$INSTDIR\.\data\wav\shield\activate3.wav" ".\data\wav\shield\activate3.wav" +File "/oname=$INSTDIR\.\data\wav\shield\activmag.wav" ".\data\wav\shield\activmag.wav" +File "/oname=$INSTDIR\.\data\windows\bomb.bmp" ".\data\windows\bomb.bmp" +File "/oname=$INSTDIR\.\data\windows\bomba.bmp" ".\data\windows\bomba.bmp" +File "/oname=$INSTDIR\.\data\windows\book.bmp" ".\data\windows\book.bmp" +File "/oname=$INSTDIR\.\data\windows\camera.bmp" ".\data\windows\camera.bmp" +File "/oname=$INSTDIR\.\data\windows\cameraa.bmp" ".\data\windows\cameraa.bmp" +File "/oname=$INSTDIR\.\data\windows\client.bmp" ".\data\windows\client.bmp" +File "/oname=$INSTDIR\.\data\windows\display.bmp" ".\data\windows\display.bmp" +File "/oname=$INSTDIR\.\data\windows\scorched.gif" ".\data\windows\scorched.gif" +File "/oname=$INSTDIR\.\data\windows\scorcheda.gif" ".\data\windows\scorcheda.gif" +File "/oname=$INSTDIR\.\data\windows\screen.bmp" ".\data\windows\screen.bmp" +File "/oname=$INSTDIR\.\data\windows\screena.bmp" ".\data\windows\screena.bmp" +File "/oname=$INSTDIR\.\data\windows\server.bmp" ".\data\windows\server.bmp" +File "/oname=$INSTDIR\.\data\windows\setting.bmp" ".\data\windows\setting.bmp" +File "/oname=$INSTDIR\.\data\windows\settinga.bmp" ".\data\windows\settinga.bmp" +File "/oname=$INSTDIR\.\data\windows\tank.bmp" ".\data\windows\tank.bmp" +File "/oname=$INSTDIR\.\data\windows\triangle.bmp" ".\data\windows\triangle.bmp" +File "/oname=$INSTDIR\.\data\windows\wait.bmp" ".\data\windows\wait.bmp" +File "/oname=$INSTDIR\.\data\windows\white.bmp" ".\data\windows\white.bmp" +Delete "$INSTDIR\.\data\windows\Copy of scorched.gif" +File "/oname=$INSTDIR\.\data\windows.xml" ".\data\windows.xml" +Delete "$INSTDIR\.\data\landscapesdefn.xml" +Delete "$INSTDIR\.\data\landscapesplace.xml" +Delete "$INSTDIR\.\data\landscapessound.xml" +Delete "$INSTDIR\.\data\landscapestex.xml" +Delete "$INSTDIR\.\data\singlegames.xml" +File "/oname=$INSTDIR\.\documentation\html\modelling.html" ".\documentation\html\modelling.html" +File "/oname=$INSTDIR\.\ogg.dll" ".\ogg.dll" +File "/oname=$INSTDIR\.\scorched.exe" ".\scorched.exe" +File "/oname=$INSTDIR\.\TODO" ".\TODO" +File "/oname=$INSTDIR\.\uninst.exe" ".\uninst.exe" +File "/oname=$INSTDIR\.\vorbis.dll" ".\vorbis.dll" +File "/oname=$INSTDIR\.\vorbisfile.dll" ".\vorbisfile.dll" + + + + + + + + +SectionEnd + +Section -AdditionalIcons + WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" + WriteIniStr "$INSTDIR\${PRODUCT_NAME}-donate.url" "InternetShortcut" "URL" "${PRODUCT_DONATE_WEB_SITE}" + + CreateDirectory "$SMPROGRAMS\Scorched3D" + + CreateShortCut "$SMPROGRAMS\Scorched3D\Uninstall Scorched3D.lnk" "$INSTDIR\uninst.exe" + CreateShortCut "$SMPROGRAMS\Scorched3D\Scorched3D.lnk" "$INSTDIR\scorched.exe" "" "$INSTDIR\data\windows\tank2.ico" + CreateShortCut "$SMPROGRAMS\Scorched3D\Scorched3D Documentation.lnk" "$INSTDIR\documentation\html\index.html" + CreateShortCut "$SMPROGRAMS\Scorched3D\Scorched3D Homepage.lnk" "$INSTDIR\${PRODUCT_NAME}.url" + CreateShortCut "$SMPROGRAMS\Scorched3D\Scorched3D Donations.lnk" "$INSTDIR\${PRODUCT_NAME}-donate.url" +SectionEnd + +Section -Post + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" +SectionEnd + +Function un.onUninstSuccess + HideWindow + MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." +FunctionEnd + +Var DEL_USER +Function un.onInit + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES remove + Abort +remove: + + StrCpy $DEL_USER "FALSE" + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Do you want to remove all $(^Name) user data. Warning: this includes STATS, saved games, mods etc?" IDNO nodel + StrCpy $DEL_USER "TRUE"; +nodel: +FunctionEnd + +Section Uninstall + + RMDir /r "$INSTDIR\data" + RMDir /r "$INSTDIR\documentation" + RMDir /r "$SMPROGRAMS\Scorched3D" + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + SetAutoClose true + + StrCmp $DEL_USER "FALSE" nodel + RMDir /r "$INSTDIR\.scorched3d" + RMDir /r "$PROFILE\.scorched3d" +nodel: + + Delete "$INSTDIR\*.*" + RMDir "$INSTDIR" + +SectionEnd diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/scorched.sln /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scorched.sln --- /tmp/ZyiKWGPp1w/scorched3d-40/scorched.sln 2005-06-01 02:33:07.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scorched.sln 2006-09-03 00:59:05.000000000 +0900 @@ -1,8 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 7.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scorched", "src\scorched\scorched.vcproj", "{EB4F3DB9-D924-4469-B69C-C8BB62FEEC7A}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "skincreator", "src\skincreator\skincreator.vcproj", "{B9B5E9FF-3641-4A90-AA46-C9E5AFA335CB}" -EndProject Global GlobalSection(SolutionConfiguration) = preSolution ConfigName.0 = Debug @@ -15,8 +13,6 @@ {EB4F3DB9-D924-4469-B69C-C8BB62FEEC7A}.Debug.Build.0 = Debug|Win32 {EB4F3DB9-D924-4469-B69C-C8BB62FEEC7A}.Release.ActiveCfg = Release|Win32 {EB4F3DB9-D924-4469-B69C-C8BB62FEEC7A}.Release.Build.0 = Release|Win32 - {B9B5E9FF-3641-4A90-AA46-C9E5AFA335CB}.Debug.ActiveCfg = Debug|Win32 - {B9B5E9FF-3641-4A90-AA46-C9E5AFA335CB}.Release.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/scripts/createAMMakefile.pl /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scripts/createAMMakefile.pl --- /tmp/ZyiKWGPp1w/scorched3d-40/scripts/createAMMakefile.pl 2004-05-01 02:49:22.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scripts/createAMMakefile.pl 2006-10-29 21:56:14.000000000 +0900 @@ -25,7 +25,7 @@ sub locatefiles { - my ($dir, $basetypedir) = @_; + my ($dir, $basetypedir, $destdir) = @_; opendir(DIR, "../$dir") || die "ERROR: DIR ../$dir"; my @files = grep { !/^\./ && !/CVS/ } readdir(DIR); closedir(DIR); @@ -37,7 +37,7 @@ { if (-d "../$dir/$file") { - push @newdirs, "$dir/$file"; + push @newdirs, "$file"; } else { @@ -48,19 +48,19 @@ my $newdir = $dir; $newdir =~ s!/!!g; $newdir =~ s!-!!g; - print CLIENT "scorched${newdir}dir = $basetypedir/$dir\n"; + print CLIENT "scorched${newdir}dir = $destdir\n"; print CLIENT "scorched${newdir}_DATA = " . join(" \\\n\t", @newfiles) . "\n"; foreach $file (@newdirs) { - locatefiles($file, $basetypedir); + locatefiles("$dir/$file", $basetypedir, "$destdir/$file"); } } open (CLIENT, ">../Makefile.am") || die "ERROR: Failed to write to ../Makefile.am"; print CLIENT "SUBDIRS = src\n\n"; print CLIENT "docdir = \@docdir\@\n\n"; -locatefiles("documentation", "\$\{docdir\}"); -locatefiles("data", "\$\{datadir\}"); +locatefiles("documentation", "\$\{docdir\}", "\$\{docdir\}"); +locatefiles("data", "\$\{datadir\}", "\$\{datadir\}/data"); close(CLIENT); my @clientfiles = getFiles("../src/scorched/scorched.vcproj"); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/scripts/generateDiff.pl /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scripts/generateDiff.pl --- /tmp/ZyiKWGPp1w/scorched3d-40/scripts/generateDiff.pl 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scripts/generateDiff.pl 2006-10-28 23:08:35.000000000 +0900 @@ -0,0 +1,98 @@ +use strict; +use File::Compare; + +if (!defined $ARGV[0]) +{ + die "Usage : $0 "; +} + +my ($dir1, $dir2) = @ARGV; + +open(OUT, ">diff.txt") || die "ERROR: Cannot open diff.txt"; + +checkDir($dir1, ".", $dir2, "."); + +sub checkDir() +{ + my ($dir1, $offset1, $dir2, $offset2) = @_; + + my $actualdir1 = $dir1."\\".$offset1; + my $actualdir2 = $dir2."\\".$offset2; + + # Src dir + opendir(DIR, $actualdir1) || die "ERROR $actualdir1"; + my @files = readdir(DIR); + closedir(DIR); + + if (! -d $actualdir2) + { + # New Dir + print "New Dir : $actualdir2\n"; + print OUT "CreateDirectory \"\$INSTDIR\\$offset2\"\n"; + } + + foreach my $file (@files) + { + my $file1 = $actualdir1."\\".$file; + my $file2 = $actualdir2."\\".$file; + my $offfile = $offset1."\\".$file; + + if (-f $file1) + { + if (! -f $file2) + { + # New file + print "New : $offfile\n"; + print OUT "File \"/oname=\$INSTDIR\\$offfile\" \"$offfile\" \n"; + } + else + { + if (compare($file1, $file2) != 0) + { + # Different file + print "Diff : $offfile\n"; + print OUT "File \"/oname=\$INSTDIR\\$offfile\" \"$offfile\" \n"; + } + } + } + elsif (-d $file1 && $file !~ /^\./) + { + checkDir($dir1, $offset1."\\".$file, $dir2, $offset2."\\".$file); + } + } + + if (-d $actualdir2) + { + # Dest dir + opendir(DIR, $actualdir2) || die "ERROR $actualdir2"; + my @files = readdir(DIR); + closedir(DIR); + + foreach my $file (@files) + { + my $file1 = $actualdir1."\\".$file; + my $file2 = $actualdir2."\\".$file; + my $offfile = $offset2."\\".$file; + + if (-f $file2) + { + if (! -f $file1) + { + # Old file + + print "Old : $offfile\n"; + print OUT "Delete \"\$INSTDIR\\$offfile\" \n"; + } + } + elsif (-d $file2 && $file !~ /^\./) + { + if (! -d $file1) + { + # Old dir + print "Old Dir : $offfile\n"; + print OUT "RMDir /r \"\$INSTDIR\\$offfile\" \n"; + } + } + } + } +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/scripts/ms3d_ascii_export.py /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scripts/ms3d_ascii_export.py --- /tmp/ZyiKWGPp1w/scorched3d-40/scripts/ms3d_ascii_export.py 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scripts/ms3d_ascii_export.py 2006-11-06 08:58:20.000000000 +0900 @@ -0,0 +1,220 @@ +#!BPY + +""" +Name: 'MS3D ASCII (.txt) v 1.3' +Blender: 242 +Group: 'Export' +Tooltip: 'MilkShape3d ASCII format for Scorched3d models v1.3' +""" + +#Copyright (C) 2004-2006 Paul Vint cbx550f@sourceforge.net +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# +#------------------------------------------------------------- +# +# initial alpha release, 17/08/2004 +# update: Fixed point of view - front, side top etc are now correct 27/08/2004 +# Added error checking for number of verts per face 07/09/2004 +# Reversed vertex winding to fix flipped normals problem & misc speedups 12/03/06 +# Updated for Blender 2.4x - thanks for the help, Berem! +# TODO: Stop using face nrmals, should be vertex normals! - done. 05/09/06 +# Added proper support for emitted light 05/11/06 + +import Blender +import os, time +import meshtools + +#======= Write ms3d .txt format ========= + +dbg = 0 #set to enable debugging + + +def write(filename): + start = time.clock() + + file = open(filename, "wb") + + # ms3d header + file.write("// MilkShape 3D ASCII\n\nFrames: 30\nFrame: 1\n\n") + + file.write("Meshes: " + str(len(Blender.Object.GetSelected())) + '\n') + + objects = Blender.Object.GetSelected() + + for obj in range(len(objects)): + meshname = objects[ obj].data.name + mesh = Blender.NMesh.GetRaw(meshname) + thismesh = meshname + + if dbg: + print "\nDEBUG: Mesh", mesh, "Obj: ", obj, "Name: ", objects[obj].data.name + if mesh: + print "Mesh",objects[obj].data.name, + meshname = "\"" + objects[obj].data.name + "\" 0 " + str(obj) + "\n" # Setting flags=0, mat index=object number for now, also note that I'm using object name, not meshname + file.write(meshname) + + file.write(str(3 * len(mesh.faces)) + '\n') # should be better way to get # of verts, but this is fast + for i in range(len(mesh.faces)): # New in v 0.3 - getting verts from faces directly + faceVerts = len(mesh.faces[i].v) # Reversing the winding to fix flipped normals problem + for fv in range(faceVerts): # Scan through each vert in face + line = '0 ' + str(-round(mesh.faces[i].v[faceVerts-fv-1][0],4)) + ' ' + str(round(mesh.faces[i].v[faceVerts-fv-1][2],4)) + ' ' + str(round(-mesh.faces[i].v[faceVerts-fv-1][1],4)) + ' ' #+ str(round(mesh.faces[i].uv[fv][0],5)) + ' ' + str(round(mesh.faces[i].uv[fv][1],5)) + ' -1\n' + if (len(mesh.faces[i].uv)): + line += str(round(mesh.faces[i].uv[faceVerts-fv-1][0],5)) + ' ' + str(round(1-mesh.faces[i].uv[faceVerts-fv-1][1],5)) + ' -1\n' + else: + line += '0.0 0.0 -1\n' + + if not i%50 and meshtools.show_progress: + Blender.Window.DrawProgressBar(float(i)/len(mesh.faces), thismesh + "Verts") + file.write(line) + + # Normals + #print "Norms: ",len(mesh.faces), #FIX! Temp only using # of faces + file.write(str(3 * len(mesh.faces))) + for i in range(len(mesh.faces)): + if not i%50 and meshtools.show_progress: + Blender.Window.DrawProgressBar(float(i)/len(mesh.faces), thismesh + "Normals") + #file.write('\n' + str(round(mesh.faces[i].no[0],4)) + ' ' + str(round(mesh.faces[i].no[2],4)) + ' ' + str(round(mesh.faces[i].no[1],4))) + faceVerts = len(mesh.faces[i].v) + for fv in range(faceVerts): # Scan through each vert in face + file.write('\n' + str(round(-mesh.faces[i].v[faceVerts-fv-1].no[0],4))) + file.write(' ' + str(round(mesh.faces[i].v[faceVerts-fv-1].no[2],4))) + file.write(' ' + str(round(-mesh.faces[i].v[faceVerts-fv-1].no[1],4))) + + + # Faces + print "Triangles: " ,len(mesh.faces) + file.write('\n' + str(len(mesh.faces)) + '\n') + idx = 0 + line = "" + for i in range(len(mesh.faces)): # one face at a time + if not i%50 and meshtools.show_progress: + Blender.Window.DrawProgressBar(float(i)/len(mesh.faces), thismesh + "Triangles") + if (len(mesh.faces[i].v) != 3): #Ensure each face is a triangle! + print "\n\n*********** Error! **********\n" + print "Object",objects[obj].data.name, "has", len(mesh.faces[i].v), "vertices in face", i, "Must have THREE verts per face - convert to triangles with CTRL-T!" + Blender.Window.WaitCursor(0) + exitmsg = 'MS3D Export Error:|Mesh \"' + objects[obj].data.name + '\" has ' + str(len(mesh.faces[i].v)) + ' verts in a face, needs to be converted to triangles with CTRL-T!' + Blender.Draw.PupMenu(exitmsg) + return + + for v in range(len(mesh.faces[i].v)): #Go through each vertex in face - only need triangles for MS3D, but this would allow for quads too for portability + line += str(idx) + " " + idx += 1 + #print cnt #debug info + #file.write('1 ' + line + str( i) + ' ' + str(i) + ' ' + str(i) + ' 1\n') + file.write('1 ' + line + line + ' 1\n') + + line = "" # fresh start for next face + + ######### Materials! ########## + numMats = 0 + for obj in range(len(objects)): #FIXME! Stupid cludge for counting materials + meshname = objects[ obj].data.name + mesh = Blender.NMesh.GetRaw(meshname) + if (len(mesh.materials) == 0): #Ensure the mesh has a material + print '*** Error! ', meshname, 'must have a material & texture!' + message = 'MS3D Export Error:|Mesh \"' + objects[obj].data.name + '\"needs to have a material!' + meshtools.print_boxed(message) + Blender.Window.WaitCursor(0) + Blender.Draw.PupMenu(message) + return + + if mesh.materials[0]: + numMats+=1 + file.write("\nMaterials: " + str(numMats) + "\n") + + for obj in range(len(objects)): + meshname = objects[ obj].data.name + mesh = Blender.NMesh.GetRaw(meshname) + + for material in mesh.materials: + file.write("\"" + material.name + "\"\n") + + #file.write(str(round(material.ref,5))+ " " + str(round(material.ref,5))+ " " + str(round(material.ref,5)) + " " + str(round(material.alpha,5)) + "\n") + #TODO Why are these values the same??? TODO + # file.write(str("%5f %5f %5f %5f\n" % (material.ref,material.ref,material.ref,material.alpha))) + file.write(str("%5f %5f %5f %5f\n" % (material.amb,material.amb,material.amb,material.alpha))) + #file.write(str(round(material.rgbCol[0],5)) + " " + str(round(material.rgbCol[1],5)) + " " + str(round(material.rgbCol[2],5)) + " " + str(round(material.alpha,5)) + "\n") + file.write(str("%5f %5f %5f %5f\n" % (material.rgbCol[0],material.rgbCol[1],material.rgbCol[2],material.alpha))) + file.write(str("%5f %5f %5f %5f\n" % (material.spec,material.spec,material.spec,material.alpha))) + + #file.write(str(round(material.spec,5)) + " " + str(round(material.spec,5)) + " " + str(round(material.spec,5)) + " " + str(round(material.alpha,5))) + file.write(str("%5f %5f %5f %5f\n" % (material.emit,material.emit,material.emit,material.alpha))) + file.write(str(material.ref) + "\n") + file.write(str(material.alpha) + "\n") + # get the current texture image + imageName="" + mytex = material.getTextures() + if (dbg): + print 'MyTex: ', mytex[0] + if ( mytex[0] != None ): + image = material.getTextures()[0].tex.getImage() + imageName = Blender.sys.basename(image.getFilename()) + + file.write("\".\\" + imageName + "\"") + + else: + print 'Warning: Mesh ' + meshname + ' does not have a texture image!' + message = 'MS3D Export Warning:|Mesh \"' + meshname + '\" does not have a texture image!' + meshtools.print_boxed(message) + Blender.Window.WaitCursor(0) + Blender.Draw.PupMenu(message) + + file.write("\"\"") + + #file.write("\".\\" + imageName + "\"") + file.write("\n\"\"\n") + + + + + file.write('\nBones: 0\n') # we don't need no stinking bones for Scorched! ;) + file.write('GroupComments: 0\n') + file.write('MaterialComments: 0\n') + file.write('BoneComments: 0\n') + file.write('ModelComment: 0\n') + Blender.Window.DrawProgressBar(1.0, '') #clear progressbar + file.close() + end = time.clock() + seconds = " in %.2f %s" % (end-start, "seconds") + message = "Successfully exported " + os.path.basename(filename) + seconds + meshtools.print_boxed(message) + Blender.Window.WaitCursor(0) + Blender.Draw.PupMenu(message) + return + + +def fs_callback(filename): + if filename.find('.txt', -4) <= 0: filename += '.txt' + write(filename) + +def createS3DPath(): + filename = Blender.Get('filename') + print filename + + if filename.find('.') != -1: + filename = filename.split('.')[0] + filename += ".txt" + + return filename + + +Blender.Window.FileSelector(fs_callback, "txt Export", createS3DPath()) + + + + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/scripts/showChangedOptions.pl /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scripts/showChangedOptions.pl --- /tmp/ZyiKWGPp1w/scorched3d-40/scripts/showChangedOptions.pl 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scripts/showChangedOptions.pl 2006-09-05 19:34:02.000000000 +0900 @@ -0,0 +1,34 @@ +#!/bin/perl + +use strict; + +if (!defined $ARGV[0]) +{ + print "Usaged : $0 \n"; + exit 0; +} + +my ($buffer, $default, $changed) = ("", "", 0); +open (IN, $ARGV[0]) || die "ERROR: Cannot open ".$ARGV[0]; +while () +{ + if (/default value : "([^"]+)/) + { + print $buffer if ($changed); + + $changed = 0; + $default = $1; + $buffer = ""; + } + elsif (/([^<]+)<\/value>/) + { + if ($1 ne $default) + { + $changed = 1; + } + } + $buffer .= $_; +} +close (IN); +print $buffer if ($changed); + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/scripts/weaponDocs.pl /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scripts/weaponDocs.pl --- /tmp/ZyiKWGPp1w/scorched3d-40/scripts/weaponDocs.pl 2006-06-30 23:21:54.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/scripts/weaponDocs.pl 2006-09-16 07:51:49.000000000 +0900 @@ -11,10 +11,11 @@ my %result = parseFile($file); if (defined $result{"Class"}) { - print "----------\n"; - print "Class - ".$result{"Class"}."\n"; + #print "----------\n"; + print "\n"; - if ($result{"Extends"} ne "") + #if ($result{"Extends"} ne "AccessoryPart") + if (($result{"Extends"} ne "") & ($result{"Extends"} ne "AccessoryPart")) { print "Extends - ".$result{"Extends"}."\n"; } @@ -26,9 +27,11 @@ { my %attrh = %{$attr}; print "=========" if ($attrh{"Type"} eq ""); - print "Attribute : ".$attrh{"Type"}." ".$attrh{"Name"}." ".$attrh{"Rest"}."\n"; + #print "Attribute : ".$attrh{"Type"}." ".$attrh{"Name"}." ".$attrh{"Rest"}."\n"; + print "\t<".$attrh{"Name"}.">".$attrh{"Type"}."\n"; } } + print "\n\n" } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/aseFile.tab.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/aseFile.tab.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/aseFile.tab.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/aseFile.tab.cpp 2006-10-25 07:50:43.000000000 +0900 @@ -792,8 +792,25 @@ switch (yyn) { case 9: -{ ASEModelFactory::getCurrent()->getCurrentMesh()->setColor(aseVector); ; - break;} +{ + Vector4 ambientColor(0.6f, 0.6f, 0.6f, 1.0f); + Vector4 diffuseColor(0.8f, 0.8f, 0.8f, 1.0f); + ASEModelFactory::getCurrent()->getCurrentMesh()->getAmbientColor() = ambientColor; + ASEModelFactory::getCurrent()->getCurrentMesh()->getDiffuseColor() = diffuseColor; + ASEModelFactory::getCurrent()->getCurrentMesh()->getEmissiveColor() = Vector::nullVector; + ASEModelFactory::getCurrent()->getCurrentMesh()->getSpecularColor() = Vector::nullVector; + + Vector ambientNoTexColor = aseVector * 0.6f; + Vector diffuseNoTexColor = aseVector * 0.8f; + ASEModelFactory::getCurrent()->getCurrentMesh()->getAmbientNoTexColor() = ambientNoTexColor; + ASEModelFactory::getCurrent()->getCurrentMesh()->getDiffuseNoTexColor() = diffuseNoTexColor; + ASEModelFactory::getCurrent()->getCurrentMesh()->getEmissiveNoTexColor() = Vector::nullVector; + ASEModelFactory::getCurrent()->getCurrentMesh()->getSpecularNoTexColor() = Vector::nullVector; + + ASEModelFactory::getCurrent()->getCurrentMesh()->getShininessColor() = 0.0f; + + break; +} case 10: { ASEModelFactory::getCurrent()->addMesh(aseString); ; break;} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/Bone.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/Bone.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/Bone.cpp 2005-04-12 07:19:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/Bone.cpp 2006-08-08 23:34:34.000000000 +0900 @@ -19,6 +19,7 @@ //////////////////////////////////////////////////////////////////////////////// #include <3dsparse/Bone.h> +#include <3dsparse/ModelMaths.h> #include BoneType::BoneType() : parent_(-1) @@ -92,9 +93,8 @@ return tmp; } -Vector &Bone::getRotationAtTime(float currentTime) +void Bone::getRotationAtTime(float currentTime, BoneMatrixType &m) { - static Vector tmp; BoneRotationKey *lastRotationKey = 0, *thisRotationKey = 0; std::vector::iterator itor; for (itor = rotationKeys_.begin(); @@ -114,24 +114,37 @@ float d = thisRotationKey->time - lastRotationKey->time; float s = (currentTime - lastRotationKey->time) / d; - tmp[0] = lastRotationKey->rotation[0] + (thisRotationKey->rotation[0] - lastRotationKey->rotation[0]) * s; - tmp[1] = lastRotationKey->rotation[1] + (thisRotationKey->rotation[1] - lastRotationKey->rotation[1]) * s; - tmp[2] = lastRotationKey->rotation[2] + (thisRotationKey->rotation[2] - lastRotationKey->rotation[2]) * s; - tmp[0] *= 180.0f / PI; - tmp[1] *= 180.0f / PI; - tmp[2] *= 180.0f / PI; +#ifndef MODEL_FAST_ANGLE_CALC + float q1[4], q2[4], q[4]; + ModelMaths::angleQuaternion(lastRotationKey->rotation, q1); + ModelMaths::angleQuaternion(thisRotationKey->rotation, q2); + ModelMaths::quaternionSlerp(q1, q2, s, q); + ModelMaths::quaternionMatrix(q, m); +#else + Vector rot; + rot[0] = lastRotationKey->rotation[0] + (thisRotationKey->rotation[0] - lastRotationKey->rotation[0]) * s; + rot[1] = lastRotationKey->rotation[1] + (thisRotationKey->rotation[1] - lastRotationKey->rotation[1]) * s; + rot[2] = lastRotationKey->rotation[2] + (thisRotationKey->rotation[2] - lastRotationKey->rotation[2]) * s; + rot[0] *= 180.0f / PI; + rot[1] *= 180.0f / PI; + rot[2] *= 180.0f / PI; + ModelMaths::angleMatrix(rot, m); +#endif } else if (thisRotationKey) { - tmp[0] = thisRotationKey->rotation[0] * 180.0f / PI; - tmp[1] = thisRotationKey->rotation[1] * 180.0f / PI; - tmp[2] = thisRotationKey->rotation[2] * 180.0f / PI; + Vector rot; + rot[0] = thisRotationKey->rotation[0] * 180.0f / PI; + rot[1] = thisRotationKey->rotation[1] * 180.0f / PI; + rot[2] = thisRotationKey->rotation[2] * 180.0f / PI; + ModelMaths::angleMatrix(rot, m); } else if (lastRotationKey ) { - tmp[0] = lastRotationKey->rotation[0] * 180.0f / PI; - tmp[1] = lastRotationKey->rotation[1] * 180.0f / PI; - tmp[2] = lastRotationKey->rotation[2] * 180.0f / PI; + Vector rot; + rot[0] = lastRotationKey->rotation[0] * 180.0f / PI; + rot[1] = lastRotationKey->rotation[1] * 180.0f / PI; + rot[2] = lastRotationKey->rotation[2] * 180.0f / PI; + ModelMaths::angleMatrix(rot, m); } - return tmp; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/Bone.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/Bone.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/Bone.h 2005-04-12 07:19:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/Bone.h 2006-08-08 23:34:34.000000000 +0900 @@ -72,7 +72,7 @@ { return rotationKeys_; } Vector &getPositionAtTime(float currentTime); - Vector &getRotationAtTime(float currentTime); + void getRotationAtTime(float currentTime, BoneMatrixType &m); void addPositionKey(BonePositionKey *key) { positionKeys_.push_back(key); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/Mesh.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/Mesh.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/Mesh.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/Mesh.cpp 2006-09-20 08:04:22.000000000 +0900 @@ -25,7 +25,7 @@ #include Mesh::Mesh(const char *name) : name_(name), texture_(0), - referencesBones_(false) + referencesBones_(false), sphereMap_(false) { } @@ -96,6 +96,7 @@ { if (0 != strcmp(t, "none")) { + sphereMap_ = (strstr(t, "/sphere_") != 0); textureName_ = t; } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/Mesh.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/Mesh.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/Mesh.h 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/Mesh.h 2006-10-03 00:34:25.000000000 +0900 @@ -22,6 +22,7 @@ #define __INCLUDE_Meshh_INCLUDE__ #include +#include #include <3dsparse/Face.h> #include <3dsparse/Vertex.h> #include @@ -36,9 +37,18 @@ // Accessors const char *getName() { return name_.c_str(); } + bool getSphereMap() { return sphereMap_; } Vector &getMin() { return min_; } Vector &getMax() { return max_; } - Vector &getColor() { return baseColor_; } + Vector4 &getAmbientColor() { return ambientColor_; } + Vector4 &getDiffuseColor() { return diffuseColor_; } + Vector4 &getSpecularColor() { return specularColor_; } + Vector4 &getEmissiveColor() { return emissiveColor_; } + Vector4 &getAmbientNoTexColor() { return ambientNoTexColor_; } + Vector4 &getDiffuseNoTexColor() { return diffuseNoTexColor_; } + Vector4 &getSpecularNoTexColor() { return specularNoTexColor_; } + Vector4 &getEmissiveNoTexColor() { return emissiveNoTexColor_; } + float &getShininessColor() { return shininessColor_; } const char *getTextureName() { return textureName_.c_str(); } const char *getATextureName() @@ -67,7 +77,6 @@ void insertFace(Face &face) { faces_.push_back(new Face(face)); } void insertVertex(Vertex &vertex); - void setColor(Vector &color) { baseColor_ = color; } void setTextureName(const char *t); void setATextureName(const char *t) { aTextureName_ = t; } void setFaceNormal(Vector &normal, int faceIndex, int normalIndex) @@ -84,7 +93,12 @@ std::vector vertexes_; std::vector collapseMap_; bool referencesBones_; - Vector baseColor_; + bool sphereMap_; + float shininessColor_; + Vector4 diffuseColor_, specularColor_; + Vector4 ambientColor_, emissiveColor_; + Vector4 diffuseNoTexColor_, specularNoTexColor_; + Vector4 ambientNoTexColor_, emissiveNoTexColor_; Vector min_, max_; GLTexture *texture_; }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/Model.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/Model.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/Model.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/Model.cpp 2006-09-27 01:13:13.000000000 +0900 @@ -129,9 +129,9 @@ (((lightpos.dotP(normal.Normalize())) / 2.0f) + 0.5f); float intense = diffuseLightMult * diffuseLight + ambientLight; if (intense > 1.0f) intense = 1.0f; - vertex->color[0] = intense; - vertex->color[1] = intense; - vertex->color[2] = intense; + vertex->lightintense[0] = intense; + vertex->lightintense[1] = intense; + vertex->lightintense[2] = intense; } } } @@ -165,7 +165,6 @@ rot[0] = bone->getRotation()[0] * 180.0f / PI; rot[1] = bone->getRotation()[1] * 180.0f / PI; rot[2] = bone->getRotation()[2] * 180.0f / PI; - if (type->parent_ == -1) rot[0] -= 90.0f; ModelMaths::angleMatrix(rot, type->relative_); type->relative_[0][3] = bone->getPosition()[0]; @@ -199,15 +198,24 @@ BoneType *type = baseBoneTypes_[vertex->boneIndex]; mesh->getReferencesBones() = true; + // Note: Translation of MS to S3D coords + // Translation vertex->position[0] -= type->absolute_[0][3]; - vertex->position[1] -= type->absolute_[1][3]; - vertex->position[2] -= type->absolute_[2][3]; + vertex->position[1] -= type->absolute_[2][3]; + vertex->position[2] -= type->absolute_[1][3]; // Rotation + Vector tmpPos; + tmpPos[0] = vertex->position[0]; + tmpPos[1] = vertex->position[2]; + tmpPos[2] = vertex->position[1]; + Vector tmp; - ModelMaths::vectorIRotate(vertex->position, type->absolute_, tmp); - vertex->position = tmp; + ModelMaths::vectorIRotate(tmpPos, type->absolute_, tmp); + vertex->position[0] = tmp[0]; + vertex->position[1] = tmp[2]; + vertex->position[2] = tmp[1]; } } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/ModelMaths.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/ModelMaths.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/ModelMaths.cpp 2005-04-12 07:19:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/ModelMaths.cpp 2006-08-08 23:34:35.000000000 +0900 @@ -22,6 +22,92 @@ #include #include +void ModelMaths::quaternionSlerp(float p[4], float q[4], float t, float qt[4]) +{ + int i; + float omega, cosom, sinom, sclp, sclq; + + // decide if one of the quaternions is backwards + float a = 0; + float b = 0; + for (i = 0; i < 4; i++) { + a += (p[i]-q[i])*(p[i]-q[i]); + b += (p[i]+q[i])*(p[i]+q[i]); + } + if (a > b) { + for (i = 0; i < 4; i++) { + q[i] = -q[i]; + } + } + + cosom = p[0]*q[0] + p[1]*q[1] + p[2]*q[2] + p[3]*q[3]; + + if ((1.0 + cosom) > 0.00000001) { + if ((1.0 - cosom) > 0.00000001) { + omega = (float) acos( cosom ); + sinom = sinf( omega ); + sclp = sinf( (1.0f - t)*omega) / sinom; + sclq = sinf( t*omega ) / sinom; + } + else { + sclp = 1.0f - t; + sclq = t; + } + for (i = 0; i < 4; i++) { + qt[i] = sclp * p[i] + sclq * q[i]; + } + } + else { + qt[0] = -p[1]; + qt[1] = p[0]; + qt[2] = -p[3]; + qt[3] = p[2]; + const float Q_PI = 3.14f; + sclp = sinf( (1.0f - t) * 0.5f * Q_PI); + sclq = sinf( t * 0.5f * Q_PI); + for (i = 0; i < 3; i++) { + qt[i] = sclp * p[i] + sclq * qt[i]; + } + } +} + +void ModelMaths::quaternionMatrix(float quaternion[4], float matrix[3][4]) +{ + matrix[0][0] = 1.0f - 2.0f * quaternion[1] * quaternion[1] - 2.0f * quaternion[2] * quaternion[2]; + matrix[1][0] = 2.0f * quaternion[0] * quaternion[1] + 2.0f * quaternion[3] * quaternion[2]; + matrix[2][0] = 2.0f * quaternion[0] * quaternion[2] - 2.0f * quaternion[3] * quaternion[1]; + + matrix[0][1] = 2.0f * quaternion[0] * quaternion[1] - 2.0f * quaternion[3] * quaternion[2]; + matrix[1][1] = 1.0f - 2.0f * quaternion[0] * quaternion[0] - 2.0f * quaternion[2] * quaternion[2]; + matrix[2][1] = 2.0f * quaternion[1] * quaternion[2] + 2.0f * quaternion[3] * quaternion[0]; + + matrix[0][2] = 2.0f * quaternion[0] * quaternion[2] + 2.0f * quaternion[3] * quaternion[1]; + matrix[1][2] = 2.0f * quaternion[1] * quaternion[2] - 2.0f * quaternion[3] * quaternion[0]; + matrix[2][2] = 1.0f - 2.0f * quaternion[0] * quaternion[0] - 2.0f * quaternion[1] * quaternion[1]; +} + +void ModelMaths::angleQuaternion(const Vector &angles, float quaternion[4]) +{ + float angle; + float sr, sp, sy, cr, cp, cy; + + // FIXME: rescale the inputs to 1/2 angle + angle = angles[2] * 0.5f; + sy = sinf(angle); + cy = cosf(angle); + angle = angles[1] * 0.5f; + sp = sinf(angle); + cp = cosf(angle); + angle = angles[0] * 0.5f; + sr = sinf(angle); + cr = cosf(angle); + + quaternion[0] = sr*cp*cy-cr*sp*sy; // X + quaternion[1] = cr*sp*cy+sr*cp*sy; // Y + quaternion[2] = cr*cp*sy-sr*sp*cy; // Z + quaternion[3] = cr*cp*cy+sr*sp*sy; // W +} + void ModelMaths::angleMatrix(const Vector &angles, float matrix[3][4]) { float angle; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/ModelMaths.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/ModelMaths.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/ModelMaths.h 2005-04-12 07:19:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/ModelMaths.h 2006-08-08 23:34:35.000000000 +0900 @@ -26,8 +26,16 @@ class ModelMaths { public: + static void angleQuaternion(const Vector &angles, + float quaternion[4]); + static void quaternionSlerp(float p[4], + float q[4], float t, float qt[4]); + static void angleMatrix( const Vector &angles, float matrix[3][4]); + static void quaternionMatrix( + float quaternion[4], float matrix[3][4]); + static void concatTransforms(const float in1[3][4], const float in2[3][4], float out[3][4]); static void vectorIRotate(const Vector &in1, diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/ModelRenderer.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/ModelRenderer.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/ModelRenderer.cpp 2005-06-08 06:50:29.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/ModelRenderer.cpp 2006-10-03 00:34:25.000000000 +0900 @@ -63,6 +63,7 @@ for (unsigned int m=0; mgetMeshes().size(); m++) { displayLists_.push_back(0); + lastCachedState_.push_back(0); } } @@ -104,11 +105,10 @@ continue; } - Vector &pos = bone->getPositionAtTime(currentFrame_); - Vector &rot = bone->getRotationAtTime(currentFrame_); - BoneMatrixType m; - ModelMaths::angleMatrix(rot, m); + bone->getRotationAtTime(currentFrame_, m); + + Vector &pos = bone->getPositionAtTime(currentFrame_); m[0][3] = pos[0]; m[1][3] = pos[1]; m[2][3] = pos[2]; @@ -136,20 +136,67 @@ { state = GLState::TEXTURE_ON; mesh->getTexture()->draw(); + if (mesh->getSphereMap()) + { + state |= GLState::NORMALIZE_ON; + + glEnable(GL_TEXTURE_GEN_S); + glEnable(GL_TEXTURE_GEN_T); + glEnable(GL_TEXTURE_GEN_R); + glTexGenf(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); + glTexGenf(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); + glTexGenf(GL_R, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); + } + } + bool vertexLighting = OptionsDisplay::instance()->getNoModelLighting(); + if (!vertexLighting) + { + state |= + GLState::NORMALIZE_ON | + GLState::LIGHTING_ON | + GLState::LIGHT1_ON; + + if (useTextures) + { + glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, mesh->getAmbientColor()); + glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, mesh->getDiffuseColor()); + glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, mesh->getSpecularColor()); + glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, mesh->getEmissiveColor()); + glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, mesh->getShininessColor()); + } + else + { + glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, mesh->getAmbientNoTexColor()); + glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, mesh->getDiffuseNoTexColor()); + glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, mesh->getSpecularNoTexColor()); + glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, mesh->getEmissiveNoTexColor()); + glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, mesh->getShininessColor()); + } } - GLState glState(state); + GLState glState(state); if (dontCache) { - drawVerts(m, mesh, LOD); + drawVerts(m, mesh, LOD, vertexLighting); } else { + unsigned int lastState = lastCachedState_[m]; unsigned int displayList = displayLists_[m]; + if (lastState != state) + { + if (displayList != 0) + { + glDeleteLists(displayList, 1); + displayList = 0; + } + lastCachedState_[m] = state; + } + if (!displayList) { glNewList(displayList = glGenLists(1), GL_COMPILE); - drawVerts(m, mesh, LOD); + drawVerts(m, mesh, LOD, vertexLighting); glEndList(); displayLists_[m] = displayList; @@ -158,9 +205,19 @@ glCallList(displayList); GLInfo::addNoTriangles((int) mesh->getFaces().size()); } + + if (useTextures) + { + if (mesh->getSphereMap()) + { + glDisable(GL_TEXTURE_GEN_S); + glDisable(GL_TEXTURE_GEN_T); + glDisable(GL_TEXTURE_GEN_R); + } + } } -void ModelRenderer::drawVerts(unsigned int m, Mesh *mesh, float LOD) +void ModelRenderer::drawVerts(unsigned int m, Mesh *mesh, float LOD, bool vertexLighting) { Vector vec; glBegin(GL_TRIANGLES); @@ -205,25 +262,42 @@ { Vertex *vertex = mesh->getVertex(faceVerts[i]); - if (GLState::getState() & GLState::TEXTURE_OFF) glColor3f( - mesh->getColor()[0] * vertex->color[0], - mesh->getColor()[1] * vertex->color[1], - mesh->getColor()[2] * vertex->color[2]); - else + if (vertexLighting) { - glColor3fv(vertex->color); - glTexCoord2f(face->tcoord[i][0], - face->tcoord[i][1]); + if (GLState::getState() & GLState::TEXTURE_OFF) + { + glColor3f( + mesh->getDiffuseNoTexColor()[0] * vertex->lightintense[0], + mesh->getDiffuseNoTexColor()[1] * vertex->lightintense[1], + mesh->getDiffuseNoTexColor()[2] * vertex->lightintense[2]); + } + else + { + glColor3fv(vertex->lightintense); + } } + glTexCoord2f(face->tcoord[i][0], face->tcoord[i][1]); + glNormal3fv(face->normal[i]); + if (vertex->boneIndex != -1) { BoneType *type = boneTypes_[vertex->boneIndex]; - ModelMaths::vectorRotate(vertex->position, type->final_, vec); + // Note: Translation of MS to S3D coords + Vector newPos, newVec; + newPos[0] = vertex->position[0]; + newPos[1] = vertex->position[2]; + newPos[2] = vertex->position[1]; + + ModelMaths::vectorRotate(newPos, type->final_, newVec); + vec[0] = newVec[0]; + vec[1] = newVec[2]; + vec[2] = newVec[1]; + vec[0] += type->final_[0][3] + vertexTranslation_[0]; - vec[1] += type->final_[1][3] + vertexTranslation_[1]; - vec[2] += type->final_[2][3] + vertexTranslation_[2]; + vec[1] += type->final_[2][3] + vertexTranslation_[1]; + vec[2] += type->final_[1][3] + vertexTranslation_[2]; } else @@ -238,4 +312,75 @@ } } glEnd(); + + /* + // draw normals + { + glBegin(GL_LINES); + for (itor = mesh->getFaces().begin(); + itor != mesh->getFaces().end(); + itor++) + { + Face *face = *itor; + + for (int i=0; i<3; i++) + { + int index = face->v[i]; + if (!OptionsDisplay::instance()->getNoModelLOD() && + LOD < 1.0f) + { + while (index > maxIndex) + { + index = mesh->getCollapseMap()[index]; + } + } + + faceVerts[i] = index; + } + + if (faceVerts[0] != faceVerts[1] && + faceVerts[1] != faceVerts[2] && + faceVerts[0] != faceVerts[2]) + { + GLInfo::addNoTriangles(1); + for (int i=0; i<3; i++) + { + Vertex *vertex = mesh->getVertex(faceVerts[i]); + + glColor3f(1.0f, 0.0f, 0.0f); + if (vertex->boneIndex != -1) + { + BoneType *type = boneTypes_[vertex->boneIndex]; + + // Note: Translation of MS to S3D coords + Vector newPos, newVec; + newPos[0] = vertex->position[0]; + newPos[1] = vertex->position[2]; + newPos[2] = vertex->position[1]; + + ModelMaths::vectorRotate(newPos, type->final_, newVec); + vec[0] = newVec[0]; + vec[1] = newVec[2]; + vec[2] = newVec[1]; + + vec[0] += type->final_[0][3] + vertexTranslation_[0]; + vec[1] += type->final_[2][3] + vertexTranslation_[1]; + vec[2] += type->final_[1][3] + vertexTranslation_[2]; + + } + else + { + vec[0] = vertex->position[0] + vertexTranslation_[0]; + vec[1] = vertex->position[1] + vertexTranslation_[1]; + vec[2] = vertex->position[2] + vertexTranslation_[2]; + } + + glVertex3fv(vec); + glVertex3fv(vec + face->normal[i] * 2.0f); + } + } + } + glEnd(); + } + */ } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/ModelRenderer.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/ModelRenderer.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/ModelRenderer.h 2005-06-08 04:58:41.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/ModelRenderer.h 2006-10-01 01:11:31.000000000 +0900 @@ -40,10 +40,11 @@ float currentFrame_; std::vector boneTypes_; std::vector displayLists_; + std::vector lastCachedState_; Vector vertexTranslation_; virtual void drawMesh(unsigned int m, Mesh *mesh, bool dontCache, float LOD); - virtual void drawVerts(unsigned int m, Mesh *mesh, float LOD); + virtual void drawVerts(unsigned int m, Mesh *mesh, float LOD, bool vertexLighting); virtual void setup(); }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/MSModelFactory.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/MSModelFactory.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/MSModelFactory.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/MSModelFactory.cpp 2006-10-03 04:52:52.000000000 +0900 @@ -225,7 +225,7 @@ returnError(fileName, "Incorrect material name format"); // ambient - float ambient[4]; + Vector4 ambient; if (!getNextLine(buffer, in)) returnError(fileName, "No material ambient"); if (sscanf(buffer, "%f %f %f %f", @@ -233,16 +233,15 @@ returnError(fileName, "Incorrect material ambient format"); // diffuse - float diffuse[4]; + Vector4 diffuse; if (!getNextLine(buffer, in)) returnError(fileName, "No material diffuse"); if (sscanf(buffer, "%f %f %f %f", &diffuse[0], &diffuse[1], &diffuse[2], &diffuse[3]) != 4) returnError(fileName, "Incorrect material diffuse format"); - Vector dcolor(diffuse[0], diffuse[1], diffuse[2]); // specular - float specular[4]; + Vector4 specular; if (!getNextLine(buffer, in)) returnError(fileName, "No material specular"); if (sscanf(buffer, "%f %f %f %f", @@ -250,7 +249,7 @@ returnError(fileName, "Incorrect material specular format"); // emissive - float emissive[4]; + Vector4 emissive; if (!getNextLine(buffer, in)) returnError(fileName, "No material emissive"); if (sscanf(buffer, "%f %f %f %f", @@ -293,6 +292,7 @@ snprintf(fullTextureAlphaName, 256, "%s/%s", filePath, &textureNameAlpha[1]); while (sep=strchr(fullTextureAlphaName, '\\')) *sep = '/'; + // Assign this material to the appropriate meshes int modelIndex = 0; std::vector::iterator mitor; for (mitor = model->getMeshes().begin(); @@ -322,11 +322,54 @@ fullTextureAlphaName)); } } - mesh->setColor(dcolor); + mesh->getDiffuseColor() = diffuse; + mesh->getAmbientColor() = ambient; + mesh->getSpecularColor() = specular; + mesh->getEmissiveColor() = emissive; + mesh->getShininessColor() = shininess; + mesh->getDiffuseNoTexColor() = diffuse; + mesh->getAmbientNoTexColor() = ambient; + mesh->getSpecularNoTexColor() = specular; + mesh->getEmissiveNoTexColor() = emissive; } } } + // Setup meshes with no materials + int modelIndex = 0; + std::vector::iterator mitor; + for (mitor = model->getMeshes().begin(); + mitor != model->getMeshes().end(); + mitor++, modelIndex++) + { + int materialIndex = meshMaterials[modelIndex]; + if (materialIndex == -1) + { + Mesh *mesh = *mitor; + + Vector4 ambientColor(0.3f, 0.3f, 0.3f, 1.0f); + Vector4 diffuseColor(0.8f, 0.8f, 0.8f, 1.0f); + mesh->getAmbientColor() = ambientColor; + mesh->getDiffuseColor() = diffuseColor; + mesh->getEmissiveColor() = Vector::nullVector; + mesh->getSpecularColor() = Vector::nullVector; + + mesh->getAmbientNoTexColor() = ambientColor; + mesh->getDiffuseNoTexColor() = diffuseColor; + mesh->getEmissiveNoTexColor() = Vector::nullVector; + mesh->getSpecularNoTexColor() = Vector::nullVector; + + mesh->getShininessColor() = 0.0f; + } + } + + + //////////////// + // The bone's position and rotation are left in the milkshape native xyz coord + // system and are not read in translated into the S3D system. + // The translation is done during the bone calculation at runtime + /////////////// + // Read number bones int noBones = 0; if (!getNextLine(buffer, in)) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/Vertex.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/Vertex.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/3dsparse/Vertex.h 2005-04-12 07:19:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/3dsparse/Vertex.h 2006-09-27 01:13:13.000000000 +0900 @@ -31,7 +31,7 @@ virtual ~Vertex(); Vector position; - Vector color; + Vector lightintense; int boneIndex; }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/Laser.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/Laser.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/Laser.cpp 2006-04-07 08:08:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/Laser.cpp 2006-10-13 06:15:53.000000000 +0900 @@ -99,27 +99,35 @@ if (current->getAlive() && current->getPlayerId() != playerId_) { - float targetDistance = - (current->getTargetPosition() - pos).Magnitude(); + Vector offset = current->getTargetPosition() - pos; + float targetDistance = offset.Magnitude(); + bool laserProof = false; + if (current->getShield().getCurrentShield()) { Shield *shield = (Shield *) current->getShield().getCurrentShield()->getAction(); - if (shield->getLaserProof() && - targetDistance < shield->getActualRadius()) + if (shield->getLaserProof()) { - context_->actionController->addAction( - new ShieldHit(current->getPlayerId(), pos, 0.0f)); - - end = true; - break; + laserProof = true; + if (shield->inShield(offset)) + { + context_->actionController->addAction( + new ShieldHit(current->getPlayerId(), pos, 0.0f)); + + end = true; + break; + } } } - if (targetDistance < weapon_->getHurtRadius() + - MAX(current->getLife().getSize()[0], current->getLife().getSize()[1])) + if (!laserProof) { - damagedTargets_.insert(current->getPlayerId()); + if (targetDistance < weapon_->getHurtRadius() + + MAX(current->getLife().getSize()[0], current->getLife().getSize()[1])) + { + damagedTargets_.insert(current->getPlayerId()); + } } } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/Lightning.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/Lightning.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/Lightning.cpp 2005-12-13 10:12:13.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/Lightning.cpp 2006-09-05 01:16:01.000000000 +0900 @@ -301,7 +301,8 @@ { float distance = (target->getTargetPosition() - position).Magnitude(); - if (distance < weapon_->getSegHurtRadius()) + if (distance < weapon_->getSegHurtRadius() + + MAX(target->getLife().getSize()[0], target->getLife().getSize()[1])) { std::map::iterator findItor = hurtMap.find(target); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/Napalm.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/Napalm.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/Napalm.cpp 2006-07-10 02:55:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/Napalm.cpp 2006-07-23 09:43:47.000000000 +0900 @@ -260,7 +260,7 @@ 1.5f, 1.5f, 1.5f, 1.5f, // Start Size 1.5f, 1.5f, 1.5f, 1.5f, // EndSize Vector(0.0f, 0.0f, 0.0f), // Gravity - true, + weapon_->getLuminance(), false); Vector position1(float(x_) + 0.5f, float(y_) - 0.2f, 0.0f); Vector position2(float(x_) - 0.5f, float(y_) - 0.2f, 0.0f); @@ -303,7 +303,7 @@ // Add the ground scorch if (!GLStateExtension::getNoTexSubImage()) { - if (RAND > weapon_->getGroundScorchPer()) + if (RAND < weapon_->getGroundScorchPer()) { Vector pos(x_, y_); DeformTextures::deformLandscape(pos, diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/ShotBounce.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/ShotBounce.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/ShotBounce.cpp 2006-04-10 02:04:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/ShotBounce.cpp 2006-09-17 23:16:12.000000000 +0900 @@ -51,7 +51,7 @@ void ShotBounce::init() { - setPhysics(startPosition_, velocity_, 1.0f, 5.0f); + setPhysics(startPosition_, velocity_, 1.0f, 5.0f, weapon_->getWindFactor()); collisionInfo_.data = this; collisionInfo_.collisionOnSurface = true; physicsObject_.setData(&collisionInfo_); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/ShotProjectile.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/ShotProjectile.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/ShotProjectile.cpp 2006-04-10 02:04:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/ShotProjectile.cpp 2006-10-29 10:14:10.000000000 +0900 @@ -64,7 +64,7 @@ } vPoint_ = context_->viewPoints->getNewViewPoint(playerId_); - setPhysics(startPosition_, velocity_); + setPhysics(startPosition_, velocity_, 0.0f, 0.0f, weapon_->getWindFactor()); collisionInfo_.data = this; collisionInfo_.collisionOnSurface = !getWeapon()->getUnder(); physicsObject_.setData(&collisionInfo_); @@ -79,13 +79,20 @@ { if (!collision_) { + bool doColl = true; + // Apex collisions dud if they collide with the ground // unless no dud is set - if (!getWeapon()->getApexCollision() || - getWeapon()->getApexNoDud()) + if (getWeapon()->getApexCollision() && !getWeapon()->getApexNoDud()) + { + doColl = false; + } + if ((getWeapon()->getTimedCollision() > 0.0f) && getWeapon()->getTimedDud()) { - doCollision(position); + doColl = false; } + + if (doColl) doCollision(position); } PhysicsParticleMeta::collision(position); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankDamage.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankDamage.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankDamage.cpp 2006-07-11 11:05:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankDamage.cpp 2006-10-13 08:16:18.000000000 +0900 @@ -141,28 +141,7 @@ } // Check if the tank is dead - bool killedTank = false; - if (damagedTarget->getLife().getLife() == 0.0f) - { - // The tank has died, make it blow up etc. - calculateDeath(); - - if (!damagedTarget->isTarget()) - { - // The tank is now dead - Tank *damagedTank = (Tank *) damagedTarget; - damagedTank->getState().setState(TankState::sDead); - - // This tank has lost a life - if (damagedTank->getState().getMaxLives() > 0) - { - damagedTank->getState().setLives( - damagedTank->getState().getLives() - 1); - } - } - - killedTank = true; - } + bool killedTank = (damagedTarget->getLife().getLife() == 0.0f); // Add any score got from this endevour // Should always be a tank that has fired @@ -175,13 +154,41 @@ // Add this tank as a tank that assisted in the kill damagedTank->getScore().getHurtBy().insert(firedTank->getPlayerId()); - // Calculate the wins - int wins = 0; - if (killedTank) + // Calculate team kills + bool selfKill = (damagedPlayerId_ == firedPlayerId_); + bool teamKill = ((context_->optionsGame->getTeams() > 1) && + (firedTank->getTeam() == damagedTank->getTeam())); + + if (!killedTank) + { + // Calculate money won for not killing this tank + int moneyPerHit = + context_->optionsGame->getMoneyWonPerHitPoint() * + weapon_->getArmsLevel(); + if (context_->optionsGame->getMoneyPerHealthPoint()) + moneyPerHit = (moneyPerHit * int(damage_)) / 100; + if (selfKill || teamKill) moneyPerHit *= -1; + + firedTank->getScore().setMoney( + firedTank->getScore().getMoney() + moneyPerHit); + } + else { int moneyPerKill = context_->optionsGame->getMoneyWonPerKillPoint() * weapon_->getArmsLevel(); + if (!selfKill && !teamKill) + { + // Note this is done before turn kills is updated + // so for the first kill turn kills will be 0 + // i.e. no multikill bonus for 1st kill + moneyPerKill += + context_->optionsGame->getMoneyWonPerMultiKillPoint() * + weapon_->getArmsLevel() * + firedTank->getScore().getTurnKills(); + } + if (context_->optionsGame->getMoneyPerHealthPoint()) + moneyPerKill = (moneyPerKill * int(damage_)) / 100; int scorePerKill = context_->optionsGame->getScorePerKill(); int moneyPerAssist = @@ -190,21 +197,29 @@ int scorePerAssist = context_->optionsGame->getScorePerAssist(); // Update kills and score - if (damagedPlayerId_ == firedPlayerId_) + if (selfKill || teamKill) { firedTank->getScore().setKills( firedTank->getScore().getKills() - 1); firedTank->getScore().setMoney( firedTank->getScore().getMoney() - moneyPerKill); + firedTank->getScore().setScore( + firedTank->getScore().getScore() - scorePerKill); + + if (firedTank->getTeam() > 0) + { + context_->tankTeamScore->addScore( + -scorePerKill, firedTank->getTeam()); + } } else { firedTank->getScore().setKills( firedTank->getScore().getKills() + 1); + firedTank->getScore().setTurnKills( + firedTank->getScore().getTurnKills() + 1); firedTank->getScore().setMoney( firedTank->getScore().getMoney() + moneyPerKill); - firedTank->getScore().addTotalMoneyEarnedStat( - moneyPerKill); firedTank->getScore().setScore( firedTank->getScore().getScore() + scorePerKill); @@ -226,28 +241,54 @@ unsigned int hurtByPlayer = (*itor); Tank *hurtByTank = context_->tankContainer->getTankById(hurtByPlayer); + if (!hurtByTank) continue; // Only score when the tank does not hurt itself - if (hurtByTank && hurtByTank != damagedTank) + if (hurtByTank == damagedTank) continue; + + // You don't get an assist for your kill + if (hurtByTank == firedTank) continue; + + // or a team member + if ((context_->optionsGame->getTeams() > 1) && + (hurtByTank->getTeam() == damagedTank->getTeam())) continue; + + // Update assist score + hurtByTank->getScore().setAssists( + hurtByTank->getScore().getAssists() + 1); + hurtByTank->getScore().setMoney( + hurtByTank->getScore().getMoney() + moneyPerAssist); + hurtByTank->getScore().setScore( + hurtByTank->getScore().getScore() + scorePerAssist); + + if (hurtByTank->getTeam() > 0) { - hurtByTank->getScore().setAssists( - hurtByTank->getScore().getAssists() + 1); - hurtByTank->getScore().setMoney( - hurtByTank->getScore().getMoney() + moneyPerAssist); - hurtByTank->getScore().addTotalMoneyEarnedStat( - moneyPerAssist); - hurtByTank->getScore().setScore( - hurtByTank->getScore().getScore() + scorePerAssist); - - if (hurtByTank->getTeam() > 0) - { - context_->tankTeamScore->addScore( - scorePerAssist, hurtByTank->getTeam()); - } + context_->tankTeamScore->addScore( + scorePerAssist, hurtByTank->getTeam()); } } } } + + if (killedTank) + { + // The tank has died, make it blow up etc. + calculateDeath(); + + if (!damagedTarget->isTarget()) + { + // The tank is now dead + Tank *damagedTank = (Tank *) damagedTarget; + damagedTank->getState().setState(TankState::sDead); + + // This tank has lost a life + if (damagedTank->getState().getMaxLives() > 0) + { + damagedTank->getState().setLives( + damagedTank->getState().getLives() - 1); + } + } + } } // Tell this tanks ai that is has been hurt by another tank @@ -271,15 +312,26 @@ TankFalling::fallingTanks.find(damagedPlayerId_); if (findItor == TankFalling::fallingTanks.end()) { + Parachute *parachute = 0; + Accessory *paraAccessory = + damagedTarget->getParachute().getCurrentParachute(); + if (paraAccessory) + { + parachute = (Parachute *) paraAccessory->getAction(); + } + // Tank falling context_->actionController->addAction( new TankFalling(weapon_, damagedPlayerId_, firedPlayerId_, - damagedTarget->getParachute().parachutesEnabled(), - data_)); + parachute, data_)); } } } + // Remove from groups + context_->landscapeMaps->getGroundMaps().getObjects(). + removeFromGroups(&damagedTarget->getGroup()); + // DO LAST // If the tank is a target, remove the target if (!damagedTarget->getAlive() && @@ -288,14 +340,6 @@ Target *removedTarget = context_->targetContainer-> removeTarget(damagedTarget->getPlayerId()); - TargetRendererImplTarget *targetRenderer = - (TargetRendererImplTarget *) removedTarget->getRenderer(); - if (targetRenderer) - { - context_->landscapeMaps->getGroundMaps().getObjects(). - removeFromGroups(targetRenderer); - } - delete removedTarget; } } @@ -391,8 +435,9 @@ weaponKilled(weapon_, (data_ & Weapon::eDataDeathAnimation)); LoggerInfo info(LoggerInfo::TypeDeath, - formatString("\"%s\" killed \"%s\" with a %s", + formatString("\"%s\" %skilled \"%s\" with a %s", firedTank->getName(), + ((firedTank->getScore().getTurnKills() > 1)?"multi-":""), killedTank->getName(), weapon_->getParent()->getName())); info.setPlayerId(firedPlayerId_); @@ -416,8 +461,9 @@ weaponKilled(weapon_, (data_ & Weapon::eDataDeathAnimation)); LoggerInfo info(LoggerInfo::TypeDeath, - formatString("\"%s\" killed \"%s\" with a \"%s\"", + formatString("\"%s\" %skilled \"%s\" with a \"%s\"", firedTank.getName(), + ((firedTank.getScore().getTurnKills() > 1)?"multi-":""), killedTank->getName(), weapon_->getParent()->getName())); info.setPlayerId(firedPlayerId_); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankFalling.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankFalling.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankFalling.cpp 2005-12-13 10:12:13.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankFalling.cpp 2006-09-17 23:16:12.000000000 +0900 @@ -24,6 +24,7 @@ #include #include #include +#include REGISTER_ACTION_SOURCE(TankFalling); @@ -58,11 +59,11 @@ TankFalling::TankFalling(Weapon *weapon, unsigned int fallingPlayerId, unsigned int firedPlayerId, - bool parachutes, + Parachute *parachute, unsigned int data) : weapon_(weapon), remove_(false), fallingPlayerId_(fallingPlayerId), firedPlayerId_(firedPlayerId), - data_(data), parachutes_(parachutes) + data_(data), parachute_(parachute) { } @@ -131,6 +132,8 @@ { if (!remove_) { + applyForce(); + Vector spherePosition; getAllPositions(spherePosition); @@ -148,6 +151,17 @@ target->setTargetPosition(position); } } + + // Simulate the particles + bool fakeRemove = false; + std::list::iterator itor; + for (itor = particles_.begin(); + itor != particles_.end(); + itor++) + { + TankFallingParticle *part = (*itor); + part->simulate(frameTime, fakeRemove); + } } else { @@ -162,7 +176,7 @@ buffer.addToBuffer(fallingPlayerId_); buffer.addToBuffer(firedPlayerId_); buffer.addToBuffer(data_); - buffer.addToBuffer(parachutes_); + context_->accessoryStore->writeAccessoryPart(buffer, parachute_); context_->accessoryStore->writeWeapon(buffer, weapon_); return true; } @@ -172,11 +186,26 @@ if (!reader.getFromBuffer(fallingPlayerId_)) return false; if (!reader.getFromBuffer(firedPlayerId_)) return false; if (!reader.getFromBuffer(data_)) return false; - if (!reader.getFromBuffer(parachutes_)) return false; + parachute_ = (Parachute *) context_->accessoryStore->readAccessoryPart(reader); weapon_ = context_->accessoryStore->readWeapon(reader); if (!weapon_) return false; return true; } +void TankFalling::applyForce() +{ + if (!parachute_) return; + Vector force = parachute_->getSlowForce(); + + std::list::iterator itor; + for (itor = particles_.begin(); + itor != particles_.end(); + itor++) + { + TankFallingParticle *part = (*itor); + part->applyForce(force); + } +} + void TankFalling::getAllPositions(Vector &spherePosition) { std::list::iterator itor; @@ -237,6 +266,6 @@ // Say we have ended TankFallingEnd *end = new TankFallingEnd( weapon_, tankStartPosition_, position, - fallingPlayerId_, firedPlayerId_, data_); + fallingPlayerId_, firedPlayerId_, parachute_, data_); context_->actionController->addAction(end); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankFallingEnd.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankFallingEnd.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankFallingEnd.cpp 2006-02-24 23:55:49.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankFallingEnd.cpp 2006-09-05 19:31:07.000000000 +0900 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -31,7 +32,8 @@ TankFallingEnd::TankFallingEnd() : weapon_(0), - fallingPlayerId_(0), firedPlayerId_(0) + fallingPlayerId_(0), firedPlayerId_(0), + parachute_(0) { } @@ -40,12 +42,14 @@ Vector &endPosition, unsigned int fallingPlayerId, unsigned int firedPlayerId, + Parachute *parachute, unsigned int data) : weapon_(weapon), startPosition_(startPosition), endPosition_(endPosition), fallingPlayerId_(fallingPlayerId), firedPlayerId_(firedPlayerId), + parachute_(parachute), data_(data) { } @@ -77,22 +81,22 @@ damage = 0.0f; } else - if (current->getParachute().parachutesEnabled()) + if (parachute_) { const float ParachuteThreshold = 0.0f; if (dist >= ParachuteThreshold) { // No damage we were using parachutes damage = 0.0f; + + // Remove parachutes if we have one if (!current->isTarget()) { Tank *currentTank = (Tank *) current; - std::list result; - currentTank->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryParachute, result); - if (!result.empty()) + currentTank->getAccessories().rm(parachute_->getParent()); + if (currentTank->getAccessories().getAccessoryCount(parachute_->getParent()) == 0) { - currentTank->getAccessories().rm(result.front()); + current->getParachute().setCurrentParachute(0); } } } @@ -126,6 +130,7 @@ buffer.addToBuffer(fallingPlayerId_); buffer.addToBuffer(firedPlayerId_); buffer.addToBuffer(data_); + context_->accessoryStore->writeAccessoryPart(buffer, parachute_); context_->accessoryStore->writeWeapon(buffer, weapon_); return true; } @@ -137,6 +142,7 @@ if (!reader.getFromBuffer(fallingPlayerId_)) return false; if (!reader.getFromBuffer(firedPlayerId_)) return false; if (!reader.getFromBuffer(data_)) return false; + parachute_ = (Parachute *) context_->accessoryStore->readAccessoryPart(reader); weapon_ = context_->accessoryStore->readWeapon(reader); if (!weapon_) return false; return true; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankFallingEnd.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankFallingEnd.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankFallingEnd.h 2005-01-16 02:32:06.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankFallingEnd.h 2006-09-05 19:31:07.000000000 +0900 @@ -25,6 +25,7 @@ #include #include +class Parachute; class TankFallingEnd : public ActionMeta { public: @@ -34,6 +35,7 @@ Vector &endPosition, unsigned int fallingPlayerId, unsigned int firedPlayerId, + Parachute *parachute, unsigned int data); virtual ~TankFallingEnd(); @@ -49,6 +51,7 @@ unsigned int fallingPlayerId_; unsigned int firedPlayerId_; unsigned int data_; + Parachute *parachute_; Vector startPosition_, endPosition_; }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankFalling.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankFalling.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankFalling.h 2005-07-20 06:45:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankFalling.h 2006-09-05 19:31:06.000000000 +0900 @@ -43,6 +43,7 @@ ScorchedCollisionInfo collisionInfo_; }; +class Parachute; class TankFalling : public ActionMeta { public: @@ -50,7 +51,7 @@ TankFalling(); TankFalling(Weapon *weapon, unsigned int fallingPlayerId, - unsigned int firedPlayerId, bool parachutes, + unsigned int firedPlayerId, Parachute *parachute, unsigned int data); virtual ~TankFalling(); @@ -62,20 +63,21 @@ void collision(); void remove(); - bool getParachutes() { return parachutes_; } + Parachute *getParachute() { return parachute_; } REGISTER_ACTION_HEADER(TankFalling); protected: std::list particles_; Weapon *weapon_; + Parachute *parachute_; unsigned int fallingPlayerId_; unsigned int firedPlayerId_; unsigned int data_; Vector tankStartPosition_; bool remove_; - bool parachutes_; + void applyForce(); void getAllPositions(Vector &spherePositions); }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankMovement.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankMovement.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankMovement.cpp 2006-07-11 23:35:31.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankMovement.cpp 2006-11-08 05:53:27.000000000 +0900 @@ -24,13 +24,17 @@ #include #include #include -#include +#include #include #include #include #include #include +#include #include +#include +#include <3dsparse/ImageStore.h> +#include #include #include #include @@ -41,18 +45,20 @@ REGISTER_ACTION_SOURCE(TankMovement); TankMovement::TankMovement() : - timePassed_(0.0f), vPoint_(0), fuel_(0), - remove_(false), moving_(true), moveSoundSource_(0) + timePassed_(0.0f), vPoint_(0), weapon_(0), + remove_(false), moving_(true), moveSoundSource_(0), + smokeCounter_(0.1f, 0.1f), stepCount_(0) { } TankMovement::TankMovement(unsigned int playerId, - Fuel *fuel, + WeaponMoveTank *weapon, int positionX, int positionY) : playerId_(playerId), positionX_(positionX), positionY_(positionY), - timePassed_(0.0f), vPoint_(0), fuel_(fuel), - remove_(false), moving_(true), moveSoundSource_(0) + timePassed_(0.0f), vPoint_(0), weapon_(weapon), + remove_(false), moving_(true), moveSoundSource_(0), + smokeCounter_(0.1f, 0.1f), stepCount_(0) { } @@ -89,13 +95,19 @@ // to save space, z is calculated from the landscape // Lower 32 bits = y position // Upper 32 bits = x positions + bool maxFuel = true; + if (weapon_->getUseFuel()) + { + maxFuel = !context_->serverMode; // Check fuel only on server + } std::list positions; MovementMap mmap( context_->landscapeMaps->getDefinitions().getDefn()->landscapewidth, context_->landscapeMaps->getDefinitions().getDefn()->landscapeheight); mmap.calculateForTank(tank, - fuel_->getParent()->getAccessoryId(), - *context_, true); + weapon_, + *context_, + maxFuel); MovementMap::MovementMapEntry entry = mmap.getEntry(positionX_, positionY_); @@ -198,10 +210,31 @@ TankFalling::fallingTanks.find(playerId_); if (findItor == TankFalling::fallingTanks.end()) { + // Add a smoke trail + // Check if we are not on the server + if (!context_->serverMode) + { + // Check if this tank type allows smoke trails + TankModel *model = context_->tankModelStore->getModelByName( + tank->getModelContainer().getTankModelName(), + tank->getTeam(), + tank->isTemp()); + if (model && model->getMovementSmoke()) + { + if (smokeCounter_.nextDraw(frameTime)) + { + Landscape::instance()->getSmoke().addSmoke( + tank->getTargetPosition()[0], + tank->getTargetPosition()[1], + tank->getTargetPosition()[2]); + } + } + } + // Move the tank one position every stepTime seconds // i.e. 1/stepTime positions a second timePassed_ += frameTime; - float stepTime = fuel_->getStepTime(); + float stepTime = weapon_->getStepTime(); while (timePassed_ >= stepTime) { timePassed_ -= stepTime; @@ -236,10 +269,13 @@ float a = expandedPositions_.front().ang; bool useF = expandedPositions_.front().useFuel; - float firstz = context_->landscapeMaps->getGroundMaps().getHeight( - expandedPositions_.front().firstX, expandedPositions_.front().firstY); - float secondz = context_->landscapeMaps->getGroundMaps().getHeight( - expandedPositions_.front().secondX, expandedPositions_.front().secondY); + int firstx = expandedPositions_.front().firstX; + int firsty = expandedPositions_.front().firstY; + float firstz = context_->landscapeMaps->getGroundMaps().getHeight(firstx, firsty); + + int secondx = expandedPositions_.front().secondX; + int secondy = expandedPositions_.front().secondY; + float secondz = context_->landscapeMaps->getGroundMaps().getHeight(secondx, secondy); float z = context_->landscapeMaps->getGroundMaps().getInterpHeight(x, y); expandedPositions_.pop_front(); @@ -286,17 +322,69 @@ } } + // Check this new position is allowed + if (!MovementMap::allowedPosition(*context_, tank, newPos)) + { + expandedPositions_.clear(); + return; + } + // Move the tank to this new position // Use up one unit of fuel - if (useF) + if (useF && weapon_->getUseFuel()) { - tank->getAccessories().rm(fuel_->getParent()); + tank->getAccessories().rm(weapon_->getParent()); } // Actually move the tank tank->getLife().setRotation(a); tank->setTargetPosition(newPos); + // Add tracks + if (!context_->serverMode) + { + stepCount_++; + if (stepCount_ % 5 == 0) + { + TankModel *model = context_->tankModelStore->getModelByName( + tank->getModelContainer().getTankModelName(), + tank->getTeam(), + tank->isTemp()); + if (model) + { + GLImage *image = 0; + if (firstx == secondx) + { + image = ImageStore::instance()-> + loadImage(model->getTracksVId()); + } + else if (firsty == secondy) + { + image = ImageStore::instance()-> + loadImage(model->getTracksHId()); + } + else if (firsty - secondy == firstx - secondx) + { + image = ImageStore::instance()-> + loadImage(model->getTracksVHId()); + } + else + { + image = ImageStore::instance()-> + loadImage(model->getTracksHVId()); + } + + GLBitmapModifier::addBitmapToLandscape( + *context_, + *image, + newPos[0], + newPos[1], + 0.04f, 0.04f, + true); + } + } + } + // Set viewpoints if (vPoint_) vPoint_->setPosition(newPos); if (moveSoundSource_) moveSoundSource_->setPosition(newPos); @@ -305,7 +393,7 @@ bool TankMovement::writeAction(NetBuffer &buffer) { buffer.addToBuffer(playerId_); - context_->accessoryStore->writeAccessoryPart(buffer, fuel_); + context_->accessoryStore->writeWeapon(buffer, weapon_); buffer.addToBuffer(positionX_); buffer.addToBuffer(positionY_); return true; @@ -314,7 +402,7 @@ bool TankMovement::readAction(NetBufferReader &reader) { if (!reader.getFromBuffer(playerId_)) return false; - fuel_ = (Fuel *) context_->accessoryStore->readAccessoryPart(reader); if (!fuel_) return false; + weapon_ = (WeaponMoveTank *) context_->accessoryStore->readWeapon(reader); if (!weapon_) return false; if (!reader.getFromBuffer(positionX_)) return false; if (!reader.getFromBuffer(positionY_)) return false; return true; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankMovement.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankMovement.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/TankMovement.h 2006-07-11 23:35:32.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/TankMovement.h 2006-09-11 09:25:22.000000000 +0900 @@ -24,11 +24,12 @@ #include #include #include +#include #include #include class VirtualSoundSource; -class Fuel; +class WeaponMoveTank; class Tank; class TankMovement : public ActionMeta { @@ -37,7 +38,7 @@ TankMovement(); TankMovement(unsigned int playerId, - Fuel *fuel, + WeaponMoveTank *weapon_, int positionX, int positionY); virtual ~TankMovement(); @@ -71,15 +72,17 @@ float ang; bool useFuel; }; - Fuel *fuel_; + WeaponMoveTank *weapon_; std::list expandedPositions_; float timePassed_; ViewPoints::ViewPoint *vPoint_; VirtualSoundSource *moveSoundSource_; + SmokeCounter smokeCounter_; unsigned int playerId_; Vector startPosition_; int positionX_, positionY_; + int stepCount_; bool remove_, moving_; void moveTank(Tank *tank); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/Teleport.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/Teleport.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/actions/Teleport.cpp 2005-12-11 01:50:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/actions/Teleport.cpp 2006-08-07 01:04:39.000000000 +0900 @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -91,9 +92,18 @@ Tank *tank = context_->tankContainer->getTankById(playerId_); if (tank && tank->getState().getState() == TankState::sNormal) { - float height = context_->landscapeMaps->getGroundMaps().getInterpHeight( - position_[0], position_[1]); - position_[2] = height; + if (weapon_->getGroundOnly()) + { + float height = context_->landscapeMaps->getGroundMaps().getInterpHeight( + position_[0], position_[1]); + position_[2] = height; + } + else + { + // Check if this tank can fall + TargetDamageCalc::damageTarget(*context_, tank, weapon_, + 0, 0.0f, false, true, false, 0); + } tank->setTargetPosition(position_); DeformLandscape::flattenArea(*context_, position_, 0); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientAddPlayerHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientAddPlayerHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientAddPlayerHandler.cpp 2006-05-15 08:40:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientAddPlayerHandler.cpp 2006-07-23 09:43:47.000000000 +0900 @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -77,6 +78,9 @@ tank->setRenderer(new TargetRendererImplTank(tank)); tank->getState().setSpectator(true); ScorchedClient::instance()->getTankContainer().addTank(tank); + + Logger::log( + formatString("Existing tank connected \"%s\"", tank->getName())); } else { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientConnectionAcceptHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientConnectionAcceptHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientConnectionAcceptHandler.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientConnectionAcceptHandler.cpp 2006-08-04 22:35:15.000000000 +0900 @@ -26,10 +26,10 @@ #include #include #include +#include #include #include #include -#include #include #include #include @@ -68,7 +68,8 @@ if (OptionsParam::instance()->getConnectedToServer()) { - unsigned int ip = NetServer::getIpAddress((TCPsocket) id); + unsigned int ip = ScorchedClient::instance()->getNetInterface(). + getIpAddress(id); if (!ConnectDialog::instance()->getIdStore().saveUniqueId( ip, message.getUniqueId(), message.getPublishAddress())) { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientDefenseHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientDefenseHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientDefenseHandler.cpp 2006-02-23 00:53:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientDefenseHandler.cpp 2006-09-03 08:04:02.000000000 +0900 @@ -133,12 +133,12 @@ paraSound, tank->getPosition().getTankPosition()); } - tank->getParachute().setParachutesEnabled(true); + tank->getParachute().setCurrentParachute(parachute); } break; case ComsDefenseMessage::eParachutesDown: { - tank->getParachute().setParachutesEnabled(false); + tank->getParachute().setCurrentParachute(0); } break; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientFileHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientFileHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientFileHandler.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientFileHandler.cpp 2006-11-01 10:32:35.000000000 +0900 @@ -19,8 +19,10 @@ //////////////////////////////////////////////////////////////////////////////// #include +#include #include #include +#include #include #include #include @@ -39,7 +41,7 @@ return instance_; } -ClientFileHandler::ClientFileHandler() +ClientFileHandler::ClientFileHandler() : totalBytes_(0) { ScorchedClient::instance()->getComsMessageHandler().addHandler( "ComsFileMessage", @@ -58,6 +60,13 @@ if (!message.readMessage(mainreader)) return false; NetBufferReader reader(message.fileBuffer); + if (ScorchedClient::instance()->getGameState().getState() != + ClientState::StateLoadFiles) + { + ScorchedClient::instance()->getGameState().stimulate( + ClientState::StimLoadFiles); + } + std::map &files = ScorchedClient::instance()->getModFiles().getFiles(); @@ -77,8 +86,17 @@ reader.getFromBuffer(lastChunk); // Read file count - unsigned int filesLeft = 0; - reader.getFromBuffer(filesLeft); + unsigned int bytesLeft = 0; + reader.getFromBuffer(bytesLeft); + if (totalBytes_ == 0) totalBytes_ = bytesLeft; + + // Update progress + const char *shortFileName = fileName.c_str(); + if (strrchr(shortFileName, '/')) shortFileName = strrchr(shortFileName, '/') + 1; + unsigned int doneBytes = totalBytes_ - bytesLeft; + ProgressDialog::instance()->setProgress( + formatString("Downloading %s", + shortFileName), float(doneBytes * 100 / totalBytes_)); // Read the size unsigned int maxsize = 0; @@ -130,16 +148,18 @@ if (lastChunk) { // Finished - Logger::log(formatString(" %u %s - %i bytes", - filesLeft, + Logger::log(formatString(" %u/%u %s - %i bytes", + doneBytes, + totalBytes_, fileName.c_str(), entry->getCompressedSize())); // Wrong size if (entry->getCompressedSize() != maxsize) { - Logger::log(formatString("Downloaded mod file incorrect size \"%s\"", - fileName.c_str())); + Logger::log(formatString("Downloaded mod file incorrect size \"%s\".\n" + "Expected %u, got %u.", + fileName.c_str(), entry->getCompressedSize(), maxsize)); return false; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientFileHandler.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientFileHandler.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientFileHandler.h 2004-06-21 08:55:20.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientFileHandler.h 2006-11-01 10:32:35.000000000 +0900 @@ -35,6 +35,7 @@ protected: static ClientFileHandler* instance_; + unsigned int totalBytes_; private: ClientFileHandler(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientGameStateHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientGameStateHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientGameStateHandler.cpp 2006-07-13 08:29:37.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientGameStateHandler.cpp 2006-07-23 09:43:47.000000000 +0900 @@ -26,8 +26,6 @@ #include #include #include -#include -#include ClientGameStateHandler *ClientGameStateHandler::instance_ = 0; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientKeepAliveSender.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientKeepAliveSender.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientKeepAliveSender.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientKeepAliveSender.cpp 2006-11-13 23:53:38.000000000 +0900 @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include #include @@ -39,11 +39,11 @@ } ClientKeepAliveSender::ClientKeepAliveSender() : - lastSendTime_(0), recvMessage_(true) + lastSendTime_(0), recvMessage_(true), sendThread_(0) { - ScorchedClient::instance()->getComsMessageHandler().addSentHandler( - "ComsKeepAliveMessage", - this); + ComsKeepAliveMessage message; + message.writeTypeMessage(buffer_); + message.writeMessage(buffer_, 0); } ClientKeepAliveSender::~ClientKeepAliveSender() @@ -52,46 +52,48 @@ void ClientKeepAliveSender::sendKeepAlive() { - if (ScorchedClient::instance()->getTankContainer().getCurrentDestinationId() == 0 || - ScorchedClient::instance()->getOptionsGame().getKeepAliveTimeoutTime() == 0) + if (ScorchedClient::instance()->getOptionsGame().getKeepAliveTimeoutTime() == 0) { return; } - unsigned int sendTime = (unsigned int) - ScorchedClient::instance()->getOptionsGame().getKeepAliveTime(); - unsigned int theTime = (unsigned int) time(0); - if (recvMessage_) + if (sendThread_) { - if (theTime - lastSendTime_ >= sendTime) - { - ComsKeepAliveMessage message; - ComsMessageSender::sendToServer(message); - - recvMessage_ = false; - lastSendTime_ = theTime; - lastWarnTime_ = theTime; - } + return; } - else + + // Create the processing thread + sendThread_ = SDL_CreateThread(ClientKeepAliveSender::sendThreadFunc, 0); + if (sendThread_ == 0) + { + Logger::log(formatString("ClientKeepAliveSender: Failed to create send thread")); + return; + } +} + +int ClientKeepAliveSender::sendThreadFunc(void *) +{ + while (true) { - if (theTime - lastSendTime_ >= sendTime) - { - if (theTime - lastWarnTime_ >= sendTime) - { - Logger::log(formatString("Warning: Keepalive has not been sent in %u seconds", - theTime - lastSendTime_)); - lastWarnTime_ = theTime; - } - } + SDL_Delay(500); + instance_->send(); } + return 1; } -bool ClientKeepAliveSender::processSentMessage( - unsigned int id, - const char *message, - NetBufferReader &reader) +void ClientKeepAliveSender::send() { - recvMessage_ = true; - return true; + unsigned int sendTime = (unsigned int) + ScorchedClient::instance()->getOptionsGame().getKeepAliveTime(); + unsigned int theTime = (unsigned int) time(0); + + if (theTime - lastSendTime_ >= sendTime) + { + // Use this directly as it is thread safe + ScorchedClient::instance()->getNetInterface().sendMessage(buffer_); + + lastSendTime_ = theTime; + lastWarnTime_ = theTime; + } } + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientKeepAliveSender.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientKeepAliveSender.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientKeepAliveSender.h 2005-10-25 05:58:29.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientKeepAliveSender.h 2006-11-13 23:53:39.000000000 +0900 @@ -23,24 +23,23 @@ #include -class ClientKeepAliveSender : public ComsMessageHandlerSentI +class ClientKeepAliveSender { public: static ClientKeepAliveSender *instance(); void sendKeepAlive(); - // Inherited from ComsMessageHandlerSentI - virtual bool processSentMessage( - unsigned int id, - const char *message, - NetBufferReader &reader); - protected: static ClientKeepAliveSender *instance_; + static int sendThreadFunc(void *); unsigned int lastSendTime_; unsigned int lastWarnTime_; + SDL_Thread *sendThread_; bool recvMessage_; + NetBuffer buffer_; + + void send(); private: ClientKeepAliveSender(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientLinesHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientLinesHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientLinesHandler.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientLinesHandler.cpp 2006-09-23 02:11:40.000000000 +0900 @@ -0,0 +1,76 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include +#include + +ClientLinesHandler *ClientLinesHandler::instance_ = 0; + +ClientLinesHandler *ClientLinesHandler::instance() +{ + if (!instance_) + { + instance_ = new ClientLinesHandler; + } + return instance_; +} + +ClientLinesHandler::ClientLinesHandler() +{ + ScorchedClient::instance()->getComsMessageHandler().addHandler( + "ComsLinesMessage", + this); +} + +ClientLinesHandler::~ClientLinesHandler() +{ +} + +bool ClientLinesHandler::processMessage(unsigned int id, + const char *messageType, + NetBufferReader &reader) +{ + ComsLinesMessage message; + if (!message.readMessage(reader)) return false; + + Tank *tank = ScorchedClient::instance()-> + getTankContainer().getTankById(message.getPlayerId()); + if (!tank || tank->getState().getMuted()) return true; + + std::list::iterator itor; + for (itor = callbacks_.begin(); + itor != callbacks_.end(); + itor++) + { + GLWPlanView *view = (*itor); + view->addRecievePoints( + message.getPlayerId(), message.getLines()); + } + + return true; +} + +void ClientLinesHandler::registerCallback(GLWPlanView *planView) +{ + callbacks_.push_back(planView); +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientLinesHandler.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientLinesHandler.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientLinesHandler.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientLinesHandler.h 2006-09-23 02:11:40.000000000 +0900 @@ -0,0 +1,49 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_ClientLinesHandlerh_INCLUDE__) +#define __INCLUDE_ClientLinesHandlerh_INCLUDE__ + +#include + +class GLWPlanView; +class ClientLinesHandler : + public ComsMessageHandlerI +{ +public: + static ClientLinesHandler *instance(); + + virtual bool processMessage(unsigned int id, + const char *message, + NetBufferReader &reader); + + void registerCallback(GLWPlanView *planView); + +protected: + static ClientLinesHandler *instance_; + std::list callbacks_; + +private: + ClientLinesHandler(); + virtual ~ClientLinesHandler(); + +}; + +#endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientLoadPlayersState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientLoadPlayersState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientLoadPlayersState.cpp 2004-05-19 06:53:53.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientLoadPlayersState.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -32,7 +32,8 @@ return instance_; } -ClientLoadPlayersState::ClientLoadPlayersState() +ClientLoadPlayersState::ClientLoadPlayersState() : + GameStateI("ClientLoadPlayersState") { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientMain.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientMain.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientMain.cpp 2006-04-09 23:39:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientMain.cpp 2006-09-23 02:11:40.000000000 +0900 @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -53,6 +54,7 @@ #include #include #include +#include #include #include #include @@ -144,6 +146,7 @@ ScorchedClient::instance()->getComsMessageHandler().setConnectionHandler( ClientMessageHandler::instance()); ClientTextHandler::instance(); + ClientLinesHandler::instance(); ClientConnectionAcceptHandler::instance(); ClientAddPlayerHandler::instance(); ClientNewGameHandler::instance(); @@ -285,13 +288,22 @@ // Enter the SDL main loop to process SDL events Clock loopClock; + FrameLimiter limiter; for (;;) { bool idle = clientEventLoop(); if (!ScorchedClient::instance()->getMainLoop().mainLoop()) break; - if ((!paused) && (idle) ) ScorchedClient::instance()->getMainLoop().draw(); - if (paused) SDL_Delay(100); // Otherwise when not drawing graphics its an infinite loop + if ((!paused) && (idle) ) + { + ScorchedClient::instance()->getMainLoop().draw(); + limiter.limitFrameTime(); // Make sure frame rate is not exceeded + } + else + { + limiter.dontLimitFrameTime(); + } + if (paused) SDL_Delay(100); // Otherwise when not drawing graphics its an infinite loop } ScorchedClient::instance()->getNetInterface().disconnectAllClients(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientPlayerStateHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientPlayerStateHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientPlayerStateHandler.cpp 2006-01-14 21:51:56.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientPlayerStateHandler.cpp 2006-07-23 09:43:47.000000000 +0900 @@ -50,7 +50,7 @@ const char *messageType, NetBufferReader &reader) { - ComsPlayerStateMessage message; + ComsPlayerStateMessage message(false); if (!message.readMessage(reader)) return false; return true; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientScoreHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientScoreHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientScoreHandler.cpp 2006-04-05 09:42:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientScoreHandler.cpp 2006-11-10 23:57:06.000000000 +0900 @@ -19,7 +19,6 @@ //////////////////////////////////////////////////////////////////////////////// #include -#include #include #include #include @@ -59,7 +58,7 @@ finalScore_ = message.getFinalScore(); if (finalScore_) { - GLConsole::instance()->addLine(false, "Final scores -------"); + Logger::log("Final scores -------"); std::map &tanks = ScorchedClient::instance()->getTankContainer().getPlayingTanks(); std::map::iterator itor; @@ -68,11 +67,11 @@ itor++) { Tank *tank = (*itor).second; - GLConsole::instance()->addLine(false, formatString("%s - %s", + Logger::log(formatString("%s - %s", tank->getName(), tank->getScore().getScoreString())); } - GLConsole::instance()->addLine(false, "--------------------"); + Logger::log("--------------------"); } ScorchedClient::instance()->getGameState().stimulate(ClientState::StimWait); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientShotState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientShotState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientShotState.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientShotState.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include #include @@ -37,7 +39,8 @@ return instance_; } -ClientShotState::ClientShotState() +ClientShotState::ClientShotState() : + GameStateI("ClientShotState") { } @@ -58,6 +61,9 @@ // All the shots have finished, move to finished if (ScorchedClient::instance()->getActionController().noReferencedActions()) { + // Check area around tank has correct variance + Landscape::instance()->getPatchGrid().recalculateTankVariance(); + // Tell the server we have finished processing the landscape ClientWaitState::instance()->sendClientReady(); return false; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientStartGameHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientStartGameHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientStartGameHandler.cpp 2005-07-11 08:41:56.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientStartGameHandler.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -31,6 +31,7 @@ #include #include #include +#include ClientStartGameHandler *ClientStartGameHandler::instance_ = 0; @@ -90,6 +91,22 @@ { ScorchedClient::instance()->getGameState().stimulate( ClientState::StimPlaying); + + // Set the current weapon, so any graphics are updated + Tank *currentTank = + ScorchedClient::instance()->getTankContainer().getCurrentTank(); + if (currentTank) + { + Accessory *currentWeapon = currentTank->getAccessories().getWeapons().getCurrent(); + if (currentWeapon && + currentWeapon->getPositionSelect() != Accessory::ePositionSelectNone) + { + std::list &entries = + currentTank->getAccessories().getAllAccessoriesByGroup("weapon"); + if (!entries.empty()) currentWeapon = entries.front(); + } + currentTank->getAccessories().getWeapons().setWeapon(currentWeapon); + } } return true; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientState.cpp 2006-06-23 00:44:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientState.cpp 2006-11-01 10:32:35.000000000 +0900 @@ -36,7 +36,9 @@ #include #include #include -#include +#include +#include +#include #include #include @@ -46,11 +48,11 @@ gameState.addStateEntry(state, GLWWindowManager::instance()); gameState.addStateLoop(state, Main2DCamera::instance(), GLWWindowManager::instance()); - gameState.addStateMouseDownEntry(state, GameState::MouseButtonLeft, + gameState.addStateMouseDownEntry(state, GameState::MouseButtonLeft | GameState::MouseButtonRight, GLWWindowManager::instance()); - gameState.addStateMouseDragEntry(state, GameState::MouseButtonLeft, + gameState.addStateMouseDragEntry(state, GameState::MouseButtonLeft | GameState::MouseButtonRight, GLWWindowManager::instance()); - gameState.addStateMouseUpEntry(state, GameState::MouseButtonLeft, + gameState.addStateMouseUpEntry(state, GameState::MouseButtonLeft | GameState::MouseButtonRight, GLWWindowManager::instance()); gameState.addStateKeyEntry(state, GLWWindowManager::instance()); gameState.addStateMouseWheelEntry(state, GLWWindowManager::instance()); @@ -66,12 +68,19 @@ { gameState.addStateKeyEntry(state, SpeedChange::instance()); } + + gameState.addStateLoop(state, + LandscapeShadowCamera::instance(), LandscapeShadowHandler::instance()); gameState.addStateLoop(state, MainCamera::instance(), GLCameraFrustum::instance()); gameState.addStateLoop(state, + MainCamera::instance(), new LandscapeStateLandHandler()); + gameState.addStateLoop(state, MainCamera::instance(), &RenderTargets::instance()->render3D); gameState.addStateLoop(state, - MainCamera::instance(), Landscape::instance()); + MainCamera::instance(), new LandscapeStateWaterHandler()); + gameState.addStateLoop(state, + MainCamera::instance(), new LandscapeStateObjectsHandler()); gameState.addStateLoop(state, MainCamera::instance(), &ScorchedClient::instance()->getActionController()); gameState.addStateLoop(state, MainCamera::instance(), @@ -121,6 +130,8 @@ StimGetPlayers, StateGetPlayers); gameState.addStateStimulus(StateConnect, StimLoadPlayers, StateLoadPlayers); + gameState.addStateStimulus(StateConnect, + StimLoadFiles, StateLoadFiles); // StateGetPlayers addWindowManager(gameState, StateGetPlayers); @@ -135,6 +146,21 @@ gameState.addStateStimulus(StateGetPlayers, StimWait, StateWait); + // StateLoadFiles + addWindowManager(gameState, StateLoadFiles); + gameState.addStateLoop(StateLoadFiles, + Main2DCamera::instance(), GLWToolTip::instance()); + gameState.addStateLoop(StateLoadFiles, + Main2DCamera::instance(), SoftwareMouse::instance()); + gameState.addStateStimulus(StateLoadFiles, + StimGetPlayers, StateGetPlayers); + gameState.addStateStimulus(StateLoadFiles, + StimGameStopped, StateConnect); + gameState.addStateStimulus(StateLoadFiles, + StimDisconnected, StateDisconnected); + gameState.addStateStimulus(StateLoadFiles, + StimWait, StateWait); + // StateLoadPlayers (Single Player Only) addWindowManager(gameState, StateLoadPlayers); gameState.addStateEntry(StateLoadPlayers, diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientState.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientState.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientState.h 2006-01-28 02:14:41.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientState.h 2006-11-01 10:32:35.000000000 +0900 @@ -31,6 +31,7 @@ StimNextPlayerDialog = 1, StimGetPlayers, StimLoadPlayers, + StimLoadFiles, StimWait, StimBuyWeapons, StimAutoDefense, @@ -44,6 +45,7 @@ enum State { StateConnect = 1, + StateLoadFiles, StateGetPlayers, StateLoadPlayers, StateWait, diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientWaitState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientWaitState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ClientWaitState.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ClientWaitState.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -36,7 +36,8 @@ return instance_; } -ClientWaitState::ClientWaitState() +ClientWaitState::ClientWaitState() : + GameStateI("ClientWaitState") { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/GLSetup.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/GLSetup.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/GLSetup.cpp 2004-09-10 21:45:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/GLSetup.cpp 2006-09-03 00:59:05.000000000 +0900 @@ -20,6 +20,7 @@ #include #include +#include void GLSetup::setup() { @@ -45,6 +46,7 @@ //glFogf(GL_FOG_END, 2.0f); //glFogf(GL_FOG_DISTANCE_MODE_NV, GL_EYE_RADIAL_NV); + GLConsole::instance(); // Make sure console is inited GLState::setBaseState(GLState::TEXTURE_ON | GLState::BLEND_OFF | GLState::DEPTH_ON); GLStateExtension::setup(); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/Main2DCamera.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/Main2DCamera.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/Main2DCamera.cpp 2004-06-06 00:53:38.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/Main2DCamera.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -36,7 +36,8 @@ return instance_; } -Main2DCamera::Main2DCamera() +Main2DCamera::Main2DCamera() : + GameStateI("Main2DCamera") { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/MainCamera.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/MainCamera.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/MainCamera.cpp 2006-06-12 07:32:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/MainCamera.cpp 2006-11-10 23:57:06.000000000 +0900 @@ -26,7 +26,6 @@ #include #include #include -#include #include #include #include @@ -49,7 +48,9 @@ return instance_; } -MainCamera::MainCamera() : scrollTime_(0.0f) +MainCamera::MainCamera() : + GameStateI("MainCamera"), + scrollTime_(0.0f) { GLBitmap *map = new GLBitmap( formatString(getDataFile("data/windows/camera.bmp")), @@ -306,7 +307,7 @@ // Don't print to banner otherwise this message will be in // the screenshot! - GLConsole::instance()->addLine(false, + Logger::log( formatString("Screen shot saved as file \"%s\"", fileName)); // snapshot sound diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/MainCamera.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/MainCamera.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/MainCamera.h 2006-06-12 07:32:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/MainCamera.h 2006-09-17 02:15:44.000000000 +0900 @@ -62,7 +62,7 @@ class SaveScreen : public GameStateI { public: - SaveScreen() : saveScreen_(false) {} + SaveScreen() : GameStateI("SaveScreen"), saveScreen_(false) {} virtual void draw(const unsigned state); bool saveScreen_; @@ -71,7 +71,7 @@ class Precipitation : public GameStateI { public: - Precipitation() {} + Precipitation() : GameStateI("Precipitation") {} virtual void draw(const unsigned state); } precipitation_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ServerBrowserCollect.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ServerBrowserCollect.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ServerBrowserCollect.cpp 2006-07-08 00:59:54.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ServerBrowserCollect.cpp 2006-10-21 04:42:43.000000000 +0900 @@ -21,10 +21,10 @@ #include #include #include +#include #include -#include #include -#include +#include #include ServerBrowserCollect::ServerBrowserCollect(ServerBrowserServerList &list) : @@ -33,19 +33,6 @@ complete_(false), cancel_(false) { - // Create the message that will be sent to the master server - static char buffer[1024]; - snprintf(buffer, 1024, - "GET %s/servers.php HTTP/1.0\r\n" - "User-Agent: Scorched3D\r\n" - "Host: %s\r\n" - "Connection: Keep-Alive\r\n" - "\r\n" - "\r\n", - ScorchedClient::instance()->getOptionsGame().getMasterListServerURI(), - ScorchedClient::instance()->getOptionsGame().getMasterListServer()); - sendNetBuffer_.addDataToBuffer(buffer, strlen(buffer)); // Note no null - // All messages will come to this class netServer_.setMessageHandler(this); recvPacket_ = SDLNet_AllocPacket(10000); @@ -58,24 +45,39 @@ { } - -bool ServerBrowserCollect::fetchServerList() +bool ServerBrowserCollect::fetchServerList( + const char *masterListServer, + const char *masterListServerURI) { + // Create the message that will be sent to the master server + static char buffer[1024]; + snprintf(buffer, 1024, + "GET %s/servers.php HTTP/1.0\r\n" + "User-Agent: Scorched3D\r\n" + "Host: %s\r\n" + "Connection: Keep-Alive\r\n" + "\r\n" + "\r\n", + masterListServerURI, + masterListServer); + sendNetBuffer_.reset(); + sendNetBuffer_.addDataToBuffer(buffer, strlen(buffer)); // Note no null + complete_ = false; list_.clear(); // Connect to the master server - if (!netServer_.connect(ScorchedClient::instance()->getOptionsGame().getMasterListServer(), 80)) + if (!netServer_.connect(masterListServer, 80)) { - Logger::log( "Failed to contact registration server"); return false; } // Send the master server request netServer_.sendMessage(sendNetBuffer_); - const unsigned int WaitTime = 30; + const int WaitTime = + OptionsMasterListServer::instance()->getMasterListServerTimeout(); // Wait WaitTime seconds for the result time_t startTime, currentTime; startTime = currentTime = time(0); @@ -87,7 +89,7 @@ // Check if the messages have made us complete if (complete_) { - return true; + return (list_.getNoEntries() > 0); } SDL_Delay(100); @@ -97,6 +99,9 @@ // Ensure that we only have one open connection to the server netServer_.disconnectAllClients(); + // Process any waiting messages caused by the disconnect all + netServer_.processMessages(); + complete_ = true; return false; } @@ -118,6 +123,9 @@ // Send the request for info SDLNet_UDP_Send(udpsock, -1, sendPacket_); + const int WaitTime = + OptionsMasterListServer::instance()->getMasterListServerTimeout(); + // Accept the results time_t startTime = time(0); for (;;) @@ -143,7 +151,7 @@ } time_t theTime = time(0); - if ((theTime - startTime > 5) || cancel_) break; + if ((theTime - startTime > WaitTime) || cancel_) break; } SDLNet_UDP_Close(udpsock); @@ -155,7 +163,10 @@ void ServerBrowserCollect::processMessage(NetMessage &message) { // We have received a reply from the web server - if (message.getMessageType() == NetMessage::DisconnectMessage) + if (message.getMessageType() == NetMessage::ConnectMessage) + { + } + else if (message.getMessageType() == NetMessage::DisconnectMessage) { complete_ = true; } @@ -202,3 +213,74 @@ } } } + +bool ServerBrowserCollect::fetchFavoritesList() +{ + list_.clear(); + std::set favs = getFavourites(); + std::set::iterator itor; + for (itor = favs.begin(); + itor != favs.end(); + itor++) + { + const char *fav = (*itor).c_str(); + + ServerBrowserEntry newEntry; + newEntry.addAttribute("address", fav); + + // Add the new and its attributes + list_.addEntry(newEntry); + } + + return true; +} + +std::set ServerBrowserCollect::getFavourites() +{ + std::set result; + const char *filePath = getSettingsFile("netfavourites.xml"); + + XMLFile file; + if (!file.readFile(filePath)) + { + dialogMessage("Scorched3D", formatString( + "ERROR: Failed to parse file \"%s\"\n" + "%s", + filePath, + file.getParserError())); + return result; + } + + // return true for an empty file + if (!file.getRootNode()) return result; + + // Itterate all of the addresses in the file + std::list::iterator childrenItor; + for (childrenItor = file.getRootNode()->getChildren().begin(); + childrenItor != file.getRootNode()->getChildren().end(); + childrenItor++) + { + XMLNode *currentNode = (*childrenItor); + result.insert(currentNode->getContent()); + } + + return result; +} + +void ServerBrowserCollect::setFavourites(std::set &favs) +{ + XMLNode favouritesNode("favourites"); + + std::set::iterator itor; + for (itor = favs.begin(); + itor != favs.end(); + itor++) + { + const char *fav = (*itor).c_str(); + favouritesNode.addChild(new XMLNode("favourite", fav)); + } + + const char *filePath = getSettingsFile("netfavourites.xml"); + favouritesNode.writeToFile(filePath); +} + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ServerBrowserCollect.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ServerBrowserCollect.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ServerBrowserCollect.h 2006-07-08 00:59:54.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ServerBrowserCollect.h 2006-10-21 01:35:43.000000000 +0900 @@ -23,6 +23,7 @@ #include #include +#include class ServerBrowserCollect : public NetMessageHandlerI { @@ -31,8 +32,14 @@ virtual ~ServerBrowserCollect(); // Fetch the new list from the server - bool fetchServerList(); + bool fetchServerList( + const char *masterListServer, + const char *masterListServerURI); bool fetchLANList(); + bool fetchFavoritesList(); + + std::set getFavourites(); + void setFavourites(std::set &favs); void setCancel(bool cancel) { cancel_ = cancel; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ServerBrowser.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ServerBrowser.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ServerBrowser.cpp 2006-07-06 02:16:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ServerBrowser.cpp 2006-10-21 01:35:43.000000000 +0900 @@ -19,6 +19,7 @@ //////////////////////////////////////////////////////////////////////////////// #include +#include ServerBrowser *ServerBrowser::instance_ = 0; @@ -65,7 +66,7 @@ } } -void ServerBrowser::refresh(bool lan) +void ServerBrowser::refreshList(RefreshType t) { bool alreadyRefreshing = false; SDL_LockMutex(refreshingMutex_); @@ -74,15 +75,37 @@ SDL_UnlockMutex(refreshingMutex_); if (alreadyRefreshing) return; - SDL_CreateThread(ServerBrowser::threadFunc, (void *) int(lan?1:0)); + SDL_CreateThread(ServerBrowser::threadFunc, (void *) int(t)); } int ServerBrowser::threadFunc(void *var) { - bool lan = (bool) (int(var)==1); + RefreshType typ = (RefreshType) long(var); + bool result = false; - if (lan) result = instance_->serverCollector_.fetchLANList(); - else result = instance_->serverCollector_.fetchServerList(); + switch (typ) + { + case RefreshNone: + // No new list + break; + case RefreshLan: + result = instance_->serverCollector_.fetchLANList(); + break; + case RefreshNet: + result = + instance_->serverCollector_.fetchServerList( + OptionsMasterListServer::instance()->getMasterListServer(), + OptionsMasterListServer::instance()->getMasterListServerURI()) + || + instance_->serverCollector_.fetchServerList( + OptionsMasterListServer::instance()->getMasterListBackupServer(), + OptionsMasterListServer::instance()->getMasterListBackupServerURI()); + + break; + case RefreshFavourites: + result = instance_->serverCollector_.fetchFavoritesList(); + break; + } if (result) { instance_->serverRefresh_.refreshList(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ServerBrowser.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ServerBrowser.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ServerBrowser.h 2006-07-06 02:16:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ServerBrowser.h 2006-07-27 00:33:43.000000000 +0900 @@ -29,11 +29,20 @@ public: static ServerBrowser *instance(); + enum RefreshType + { + RefreshNone = 0, + RefreshLan = 1, + RefreshNet = 2, + RefreshFavourites = 3 + }; + bool getRefreshing() { return refreshing_; } - void refresh(bool lan); + void refreshList(RefreshType t); void cancel(); ServerBrowserServerList &getServerList() { return serverList_; } + ServerBrowserCollect &getCollect() { return serverCollector_; } protected: static ServerBrowser *instance_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ShotCountDown.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ShotCountDown.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/ShotCountDown.cpp 2006-03-13 01:20:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/ShotCountDown.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -39,7 +39,9 @@ } ShotCountDown::ShotCountDown() : - counter_(0.0f), blinkTimer_(0.0f), showTime_(true), timerOff_(true) + GameStateI("ShotCountDown"), + counter_(0.0f), blinkTimer_(0.0f), + showTime_(true), timerOff_(true) { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/SoftwareMouse.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/SoftwareMouse.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/SoftwareMouse.cpp 2004-09-10 21:45:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/SoftwareMouse.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -38,7 +38,8 @@ return instance_; } -SoftwareMouse::SoftwareMouse() +SoftwareMouse::SoftwareMouse() : + GameStateI("SoftwareMouse") { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/SpeedChange.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/SpeedChange.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/SpeedChange.cpp 2006-04-05 09:42:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/SpeedChange.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -40,7 +40,8 @@ return instance_; } -SpeedChange::SpeedChange() +SpeedChange::SpeedChange() : + GameStateI("SpeedChange") { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/TargetCamera.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/TargetCamera.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/TargetCamera.cpp 2006-06-24 02:53:22.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/TargetCamera.cpp 2006-09-22 06:39:13.000000000 +0900 @@ -20,8 +20,10 @@ #include #include +#include #include #include +#include #include #include #include @@ -31,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -421,65 +424,98 @@ void TargetCamera::mouseDown(GameState::MouseButton button, int x, int y, bool &skipRest) { + // Set the current viewport etc... mainCam_.draw(); + // Try to find the intersection point Vector intersect; Line direction; - if (mainCam_.getDirectionFromPt((GLfloat) x, (GLfloat) y, direction)) + if (!mainCam_.getDirectionFromPt((GLfloat) x, (GLfloat) y, direction)) { - if (ScorchedClient::instance()->getLandscapeMaps().getGroundMaps(). - getIntersect(direction, intersect)) - { - skipRest = true; + return; + } + if (!ScorchedClient::instance()->getLandscapeMaps().getGroundMaps(). + getIntersect(direction, intersect)) + { + return; + } + + skipRest = true; - // Does the click on the landscape mean we move there - // or do we just want to look there - // This depends on the mode the landscape texture is in... - if (Landscape::instance()->getTextureType() == Landscape::eMovement) + // Does the click on the landscape mean we move there + // or do we just want to look there + // This depends on the mode the current weapon is + Accessory *currentWeapon = 0; + Tank *currentTank = 0; + Accessory::PositionSelectType selectType = Accessory::ePositionSelectNone; + if (ScorchedClient::instance()->getGameState().getState() == + ClientState::StatePlaying) + { + currentTank = ScorchedClient::instance()-> + getTankContainer().getCurrentTank(); + if (currentTank) + { + currentWeapon = currentTank->getAccessories().getWeapons().getCurrent(); + if (currentWeapon) { - // Try to move the tank to the position on the landscape - Tank *currentTank = ScorchedClient::instance()-> - getTankContainer().getCurrentTank(); - if (currentTank && currentTank->getState().getState() == TankState::sNormal) - { - int landWidth = ScorchedClient::instance()-> - getLandscapeMaps().getDefinitions().getDefn()->landscapewidth; - int landHeight = ScorchedClient::instance()-> - getLandscapeMaps().getDefinitions().getDefn()->landscapeheight; - int posX = (int) intersect[0]; - int posY = (int) intersect[1]; - if (posX > 0 && posX < landWidth && - posY > 0 && posY < landHeight) - { - Accessory *accessory = - ScorchedClient::instance()->getAccessoryStore().findByAccessoryId(MovementMap::getFuelId()); - if (accessory) - { - MovementMap mmap(landWidth, landHeight); - mmap.calculateForTank(currentTank, - MovementMap::getFuelId(), - ScorchedClient::instance()->getContext()); - - MovementMap::MovementMapEntry &entry = mmap.getEntry(posX, posY); - if (entry.type == MovementMap::eMovement && - (entry.dist < currentTank->getAccessories().getAccessoryCount(accessory) || - currentTank->getAccessories().getAccessoryCount(accessory) == -1)) - { - TankAIHuman *ai = (TankAIHuman *) currentTank->getTankAI(); - if (ai) ai->move(posX, posY, MovementMap::getFuelId()); - } - } - } - } + selectType = currentWeapon->getPositionSelect(); } - else + } + } + + // Just look at the point on the landscape + if (selectType == Accessory::ePositionSelectNone) + { + cameraPos_ = CamFree; + mainCam_.setLookAt((Vector &) intersect); + return; + } + + // Try to move the tank to the position on the landscape + int landWidth = ScorchedClient::instance()-> + getLandscapeMaps().getDefinitions().getDefn()->landscapewidth; + int landHeight = ScorchedClient::instance()-> + getLandscapeMaps().getDefinitions().getDefn()->landscapeheight; + int posX = (int) intersect[0]; + int posY = (int) intersect[1]; + if (posX > 0 && posX < landWidth && + posY > 0 && posY < landHeight) + { + if (selectType == Accessory::ePositionSelectFuel) + { + WeaponMoveTank *moveWeapon = (WeaponMoveTank *) + ScorchedClient::instance()->getAccessoryStore(). + findAccessoryPartByAccessoryId( + currentWeapon->getAccessoryId(), "WeaponMoveTank"); + if (!moveWeapon) return; + + MovementMap mmap(landWidth, landHeight); + mmap.calculateForTank(currentTank, + moveWeapon, + ScorchedClient::instance()->getContext(), + !moveWeapon->getUseFuel()); + + MovementMap::MovementMapEntry &entry = mmap.getEntry(posX, posY); + if (entry.type != MovementMap::eMovement) return; // Do nothing + } + else if (selectType == Accessory::ePositionSelectLimit) + { + int limit = currentWeapon->getPositionSelectLimit(); + Vector position(posX, posY); + if ((currentTank->getTargetPosition() - position).Magnitude() > limit) { - // Just look at the point on the landscape - cameraPos_ = CamFree; - mainCam_.setLookAt((Vector &) intersect); + // Out of limit + return; } } - } + + TankAIHuman *ai = (TankAIHuman *) currentTank->getTankAI(); + if (ai) + { + currentTank->getPosition().setSelectPosition(posX, posY); + ai->fireShot(); + } + } } void TargetCamera::keyboardCheck(float frameTime, diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/client/WindowSetup.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/WindowSetup.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/client/WindowSetup.cpp 2006-06-23 00:44:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/client/WindowSetup.cpp 2006-11-01 10:32:35.000000000 +0900 @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -173,6 +174,12 @@ // StateLoadPlayers GLWWindowManager::instance()->addWindow(ClientState::StateLoadPlayers, BackdropDialog::instance(), 0, true); + + // StateLoadFiles + GLWWindowManager::instance()->addWindow(ClientState::StateLoadFiles, + BackdropDialog::instance(), 0, true); + GLWWindowManager::instance()->addWindow(ClientState::StateLoadFiles, + ProgressDialog::instance(), 0, true); } // This is called after the correct mod has been loaded diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/Clock.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/Clock.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/Clock.cpp 2004-06-08 04:42:19.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/Clock.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -31,16 +31,22 @@ { } -float Clock::getTimeDifference() +unsigned int Clock::getTicksDifference() { unsigned int dwCurrentTime = SDL_GetTicks(); unsigned int dwTimeDiff = 1; - if (dwCurrentTime > dwLastTime_) + if (dwCurrentTime >= dwLastTime_) { dwTimeDiff = dwCurrentTime - dwLastTime_; } dwLastTime_ = dwCurrentTime; + return dwTimeDiff; +} + +float Clock::getTimeDifference() +{ + unsigned int dwTimeDiff = getTicksDifference(); return ((float) dwTimeDiff) / 1000.0f; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/Clock.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/Clock.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/Clock.h 2004-06-08 04:42:21.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/Clock.h 2006-09-03 08:04:02.000000000 +0900 @@ -27,7 +27,8 @@ Clock(); virtual ~Clock(); - virtual float getTimeDifference(); + float getTimeDifference(); + unsigned int getTicksDifference(); protected: unsigned int dwLastTime_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/DefinesFile.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/DefinesFile.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/DefinesFile.cpp 2006-07-07 23:39:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/DefinesFile.cpp 2006-07-16 01:21:31.000000000 +0900 @@ -69,5 +69,5 @@ memset(&buf, 0, sizeof(buf)); int result = stat(file, &buf ); - return buf.st_atime; + return buf.st_mtime; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/DefinesScorched.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/DefinesScorched.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/DefinesScorched.cpp 2006-07-11 01:48:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/DefinesScorched.cpp 2006-11-10 23:57:06.000000000 +0900 @@ -34,8 +34,13 @@ #endif unsigned int ScorchedPort = 27270; -char *ScorchedVersion = "40"; -char *ScorchedProtocolVersion = "cf"; +char *ScorchedVersion = "40.1d"; +char *ScorchedProtocolVersion = "ck"; +#ifdef __DATE__ +char *ScorchedBuildTime = __DATE__; +#else +char *ScorchedBuildTime = "Unknown"; +#endif static char exeName[1024]; static char *dataModFile = 0; static std::string settingsDir = ".scorched3d"; @@ -71,7 +76,7 @@ #define S3D_DATADIR "." #endif #ifndef S3D_DOCDIR -#define S3D_DOCDIR "." +#define S3D_DOCDIR "./documentation" #endif #ifndef S3D_BINDIR #define S3D_BINDIR "." @@ -87,6 +92,11 @@ #else getcwd(path, sizeof(path)); #endif // _WIN32 + if (strlen(path) + strlen(dir) + 1 < sizeof(path)) + { + strcat(path, "/"); + strcat(path, dir); + } dir = path; /*dir = (char *) formatString("%s", getExeName()); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/DefinesScorched.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/DefinesScorched.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/DefinesScorched.h 2006-02-18 02:48:54.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/DefinesScorched.h 2006-11-10 23:57:06.000000000 +0900 @@ -40,5 +40,6 @@ extern unsigned int ScorchedPort; extern char *ScorchedVersion; extern char *ScorchedProtocolVersion; +extern char *ScorchedBuildTime; #endif // __DEFINESSCORCHED__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsDisplay.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsDisplay.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsDisplay.cpp 2006-07-15 20:42:07.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsDisplay.cpp 2006-10-12 08:07:07.000000000 +0900 @@ -64,6 +64,8 @@ "The player name that will be used for all online games.", RAccess | NoRestore, "Player"), onlineTankModel_(options_, "OnlineTankModel", "The tank model that will be used for all online games.", RAccess | NoRestore, ""), + onlineColor_(options_, "OnlineColor", + "The tank color that will be used for all online (non-team) games.", RAccess | NoRestore, Vector::nullVector), explosionParts_(options_, "ExplosionParts", "How many explosion clouds are drawn", RAccess, 8, 0, 10, 1), explosionSubParts_(options_, "ExplosionSubParts", @@ -86,6 +88,8 @@ "The milliseconds before showing a tool tip.", RWAccess, 100), toolTipSpeed_(options_, "ToolTipSpeed", "The speed at which a tool tip will fade in.", RWAccess, 6), + framesPerSecondLimit_(options_, "FramesPerSecondLimit", + "The maximum frame rate that the game will run at", RWAccess, 250), brightness_(options_, "Brightness", "The game screen brightness (gamma).", RAccess, 10, 3, 40, 1), fullScreen_(options_, "FullScreen", @@ -124,6 +128,8 @@ "Should the menu title bars always be visible", RWAccess, false), noGLTexSubImage_(options_, "NoGLTexSubImage", "Do not use texture area replacing. Required to be able to scorch the ground.", RAccess, false), + noPlanDraw_(options_, "NoPlanDraw", + "Do not show any drawings from other players on the plan window.", RWAccess, false), noFog_(options_, "NoFog", "Do not use any fog extensions.", RWAccess, false), noGLExt_(options_, "NoGLExt", @@ -164,6 +170,8 @@ "Do not depth sort sprites.", RWAccess, false), clientLogToFile_(options_, "ClientLogToFile", "Client logs to file", RAccess, false), + clientLogState_(options_, "ClientLogState", + "Client logs state (0 is off)", RAccess, 0), validateServerIp_(options_, "ValidateServerIp", "Checks if the server ip address matches the published address", RAccess, true), drawLines_(options_, "DrawLines", @@ -208,6 +216,8 @@ "Do not use vertex or pixel shaders (if avaialable)", RWAccess, true), noModelLOD_(options_, "NoModelLOD", "Do not use LOD optimizations for models", RWAccess, true), + noModelLighting_(options_, "NoModelLighting", + "Do not use dynamic lighting calculations for models", RWAccess, false), useLandscapeTexture_(options_, "LandscapeTexture", "Texture the landscape", RWAccess, true), noLenseFlare_(options_,"NoLenseFlare", diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsDisplay.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsDisplay.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsDisplay.h 2006-06-13 00:44:09.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsDisplay.h 2006-10-12 08:07:08.000000000 +0900 @@ -39,6 +39,9 @@ bool getHideFinalScore() { return hideFinalScore_; } OptionEntryBool &getHideFinalScoreEntry() { return hideFinalScore_; } + bool getNoPlanDraw() { return noPlanDraw_; } + OptionEntryBool &getNoPlanDrawEntry() { return noPlanDraw_; } + int getTankModelSize() { return tankModelSize_; } OptionEntryInt &getTankModelSizeEntry() { return tankModelSize_; } @@ -96,6 +99,9 @@ bool getNoModelLOD() { return noModelLOD_; } OptionEntryBool &getNoModelLODEntry() { return noModelLOD_; } + bool getNoModelLighting() { return noModelLighting_; } + OptionEntryBool &getNoModelLightingEntry() { return noModelLighting_; } + bool getNoVBO() { return noVBO_; } OptionEntryBool &getNoVBOEntry() { return noVBO_; } @@ -264,6 +270,9 @@ bool getClientLogToFile() { return clientLogToFile_; } OptionEntryBool &getClientLogToFileEntry() { return clientLogToFile_; } + int getClientLogState() { return clientLogState_; } + OptionEntryInt &getClientLogStateEntry() { return clientLogState_; } + bool getValidateServerIp() { return validateServerIp_; } OptionEntryBool &getValidateServerIpEntry() { return validateServerIp_; } @@ -306,6 +315,9 @@ const char * getOnlineUserIcon() { return onlineUserIcon_; } OptionEntryString &getOnlineUserIconEntry() { return onlineUserIcon_; } + Vector getOnlineColor() { return onlineColor_; } + OptionEntryVector &getOnlineColorEntry() { return onlineColor_; } + const char * getHostDescription() { return hostDescription_; } OptionEntryString &getHostDescriptionEntry() { return hostDescription_; } @@ -318,6 +330,9 @@ int getToolTipSpeed() { return toolTipSpeed_; } OptionEntryInt &getToolTipSpeedEntry() { return toolTipSpeed_; } + int getFramesPerSecondLimit() { return framesPerSecondLimit_; } + OptionEntryInt &getFramesPerSecondLimitEntry() { return framesPerSecondLimit_; } + void loadSafeValues(); void loadDefaultValues(); void loadFastestValues(); @@ -345,6 +360,7 @@ OptionEntryInt tankModelSize_; OptionEntryInt toolTipTime_; OptionEntryInt toolTipSpeed_; + OptionEntryInt framesPerSecondLimit_; OptionEntryBool noFog_; OptionEntryBool detailTexture_; OptionEntryBool useHex_; @@ -402,6 +418,7 @@ OptionEntryBool noVBO_; OptionEntryBool noCg_; OptionEntryBool noModelLOD_; + OptionEntryBool noModelLighting_; OptionEntryBool useLandscapeTexture_; OptionEntryBool noSkyLayers_; OptionEntryBool noSkyMovement_; @@ -415,7 +432,9 @@ OptionEntryBool sideScroll_; OptionEntryBool swapYAxis_; OptionEntryBool clientLogToFile_; + OptionEntryInt clientLogState_; OptionEntryBool validateServerIp_; + OptionEntryBool noPlanDraw_; OptionEntryBoundedInt dialogSize_; OptionEntryBoundedInt texSize_; OptionEntryBoundedInt tankDetail_; @@ -428,6 +447,7 @@ OptionEntryString onlineUserName_; OptionEntryString onlineTankModel_; OptionEntryString onlineUserIcon_; + OptionEntryVector onlineColor_; OptionEntryString buyTab_; private: diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsGame.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsGame.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsGame.cpp 2006-06-30 02:58:44.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsGame.cpp 2006-11-08 20:45:47.000000000 +0900 @@ -117,12 +117,16 @@ "The speed at which the physics engine will calculate steps", 0, 66, 20, 100, 1), tutorial_(options_, "Tutorial", "The tutorial to load for this game", 0, ""), + scorePerMoney_(options_, "ScorePerMoney", + "The amount of score awarded for 100 money units earned", 0, 0, 0, 100, 2), scorePerAssist_(options_, "ScorePerAssist", "The amount of score awarded for each kill assist", 0, 2, 0, 50, 1), scorePerKill_(options_, "ScorePerKill", "The amount of score awarded for each kill", 0, 10, 0, 50, 1), scoreWonForRound_(options_, "ScoreWonForRound", "The amount of score awarded for round won", 0, 250, 0, 1000, 50), + scoreWonForLives_(options_, "ScoreWonForLives", + "The amount of score awarded for lives left", 0, 250, 0, 1000, 50), teams_(options_, "Teams", "The number of teams (1 == no teams)", 0, 1, 1, 4, 1), startArmsLevel_(options_, "StartArmsLevel", @@ -187,20 +191,26 @@ "The first round players are allowed to buy on", 0 ,2, 1, 50, 1), moneyWonForRound_(options_, "MoneyWonForRound", "The money awarded for each won round", 0, 5000, 0, 100000, 1000), + moneyWonForLives_(options_, "MoneyWonForLives", + "The money awarded for each life remaining", 0, 5000, 0, 100000, 1000), moneyPerKillPoint_(options_, "MoneyWonPerKillPoint", "The money awarded for each person killed * weapon used", 0, 750, 0, 2000, 50), + moneyPerMultiKillPoint_(options_, "MoneyWonPerMultiKillPoint", + "The extra money awarded for each person multi-killed * weapon used * multi-kill", 0, 0, 0, 2000, 50), moneyPerAssistPoint_(options_, "MoneyWonPerAssistPoint", "The money awarded for each kill assist * weapon used", 0, 250, 0, 2000, 50), + moneyPerHitPoint_(options_, "MoneyWonPerHitPoint", + "The money awarded for each person hit * weapon used", 0, 250, 0, 2000, 50), moneyPerRound_(options_, "MoneyPerRound", "The money given at the end of each round", 0, 0, 0, 250000, 5000), + moneyPerHealthPoint_(options_, "MoneyPerHealthPoint", + "The money awarded is proportional to the amount of health removed", 0, true), moneyStarting_(options_, "MoneyStarting", "The money each player starts with", 0, 10000, 0, 500000, 10000), moneyInterest_(options_, "MoneyInterest", "The interest awarded at the end of each round", 0, 15, 0, 100, 5), freeMarketAdjustment_(options_, "FreeMarketAdjustment", "The scale of the adjustment changes made by the free market", 0, 100), - scoreType_(options_, "ScoreType", - "How the winnder is choosen", 0, int(ScoreWins), scoreEnum), windForce_(options_, "WindForce", "The force of the wind", 0, int(WindRandom), windForceEnum), windType_(options_, "WindType", @@ -209,10 +219,6 @@ "The type of walls allowed", 0, int(WallRandom), wallEnum), weapScale_(options_, "WeaponScale", "The scale of the weapons used", 0, int(ScaleMedium), weapScaleEnum), - masterListServer_(options_, "MasterListServer", - "The master list server for scorched3d", 0, "scorched3d.sourceforge.net"), - masterListServerURI_(options_, "MasterListServerURI", - "The URI on the master list server for scorched3d", 0, "/scorched"), statsLogger_(options_, "StatsLogger", "The type of player stats to be logged (none, pgsql, mysql, file)", 0, "none"), serverFileLogger_(options_, "ServerLogger", @@ -269,16 +275,18 @@ "The percentage chance the computers will say something when shooting", 0, 25, 0, 100, 10), // Deprecated options + depricatedMasterListServer_(options_, "MasterListServer", + "The master list server for scorched3d", OptionEntry::DataDepricated, "scorched3d.sourceforge.net"), + depricatedMasterListServerURI_(options_, "MasterListServerURI", + "The URI on the master list server for scorched3d", OptionEntry::DataDepricated, "/scorched"), depricatedServerAdminPassword_(options_, "ServerAdminPassword", "The admin password for this server (empty password = no access)", OptionEntry::DataDepricated, ""), depricatedMaxArmsLevel_(options_, "MaxArmsLevel", "", OptionEntry::DataDepricated, 10, 0, 10, 1), - depricatedMoneyPerHealthPoint_(options_, "MoneyPerHealthPoint", - "The money awarded is proportional to the amount of health removed", OptionEntry::DataDepricated, true), - depricatedMoneyPerHitPoint_(options_, "MoneyWonPerHitPoint", - "The money awarded for each person hit * weapon used", OptionEntry::DataDepricated, 200), depricatedAutoBallanceTeams_(options_, "AutoBallanceTeams", - "", OptionEntry::DataDepricated, true) + "", OptionEntry::DataDepricated, true), + depricatedScoreType_(options_, "ScoreType", + "How the winnder is choosen", OptionEntry::DataDepricated, 0, scoreEnum) { char buffer[128]; for (int i=0; i<24; i++) @@ -435,6 +443,9 @@ { OptionEntry *entry = *itor; OptionEntry *otherentry = *otheritor; + if (!(entry->getData() & OptionEntry::DataProtected) && + !(otherentry->getData() & OptionEntry::DataProtected)) + { std::string str = entry->getValueAsString(); std::string otherstr = otherentry->getValueAsString(); if (str != otherstr) @@ -450,6 +461,7 @@ entry->getName())); } } + } } NetBufferReader reader(testBuffer); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsGame.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsGame.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsGame.h 2006-06-30 02:58:44.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsGame.h 2006-11-08 20:45:47.000000000 +0900 @@ -29,12 +29,6 @@ OptionsGame(); virtual ~OptionsGame(); - enum ScoreType - { - ScoreWins = 0, - ScoreKills = 1, - ScoreMoney = 2 - }; enum TurnType { TurnSimultaneous = 0, @@ -99,6 +93,9 @@ int getPhysicsFPS() { return physicsFPS_; } OptionEntryInt &getPhysicsFPSEntry() { return physicsFPS_; } + int getScorePerMoney() { return scorePerMoney_; } + OptionEntryInt &getScorePerMoneyEntry() { return scorePerMoney_; } + int getScorePerAssist() { return scorePerAssist_; } OptionEntryInt &getScorePerAssistEntry() { return scorePerAssist_; } @@ -108,6 +105,9 @@ int getScoreWonForRound() { return scoreWonForRound_; } OptionEntryInt &getScoreWonForRoundEntry() { return scoreWonForRound_; } + int getScoreWonForLives() { return scoreWonForLives_; } + OptionEntryInt &getScoreWonForLivesEntry() { return scoreWonForLives_; } + int getTeams() { return teams_; } OptionEntryInt &getTeamsEntry() { return teams_; } @@ -213,12 +213,24 @@ int getMoneyWonForRound() { return moneyWonForRound_; } OptionEntryInt &getMoneyWonForRoundEntry() { return moneyWonForRound_; } + int getMoneyWonForLives() { return moneyWonForLives_; } + OptionEntryInt &getMoneyWonForLivesEntry() { return moneyWonForLives_; } + int getMoneyWonPerKillPoint() { return moneyPerKillPoint_; } OptionEntryInt &getMoneyWonPerKillPointEntry() { return moneyPerKillPoint_; } + int getMoneyWonPerMultiKillPoint() { return moneyPerMultiKillPoint_; } + OptionEntryInt &getMoneyWonPerMultiKillPointEntry() { return moneyPerMultiKillPoint_; } + int getMoneyWonPerAssistPoint() { return moneyPerAssistPoint_; } OptionEntryInt &getMoneyWonPerAssistPointEntry() { return moneyPerAssistPoint_; } + int getMoneyWonPerHitPoint() { return moneyPerHitPoint_; } + OptionEntryInt &getMoneyWonPerHitPointEntry() { return moneyPerHitPoint_; } + + bool getMoneyPerHealthPoint() { return moneyPerHealthPoint_; } + OptionEntryBool &getMoneyPerHealthPointEntry() { return moneyPerHealthPoint_; } + bool getLimitPowerByHealth() { return limitPowerByHealth_; } OptionEntryBool &getLimitPowerByHealthEntry() { return limitPowerByHealth_; } @@ -237,12 +249,6 @@ const char * getLandscapes() { return landscapes_; } OptionEntryString &getLandscapesEntry() { return landscapes_; } - const char * getMasterListServer() { return masterListServer_; } - OptionEntryString &getMasterListServerEntry() { return masterListServer_; } - - const char * getMasterListServerURI() { return masterListServerURI_; } - OptionEntryString &getMasterListServerURIEntry() { return masterListServerURI_; } - const char * getStatsLogger() { return statsLogger_; } OptionEntryString &getStatsLoggerEntry() { return statsLogger_; } @@ -349,7 +355,6 @@ OptionEntryBoundedInt minFallingDistance_; OptionEntryBoundedInt maxClimbingDistance_; OptionEntryBoundedInt playerLives_; - OptionEntryEnum scoreType_; OptionEntryBoundedInt teams_; OptionEntryBoundedInt numberOfPlayers_; OptionEntryBoundedInt numberOfMinPlayers_; @@ -358,12 +363,18 @@ OptionEntryBoundedInt computersAttackTalk_; OptionEntryBoundedInt moneyBuyOnRound_; OptionEntryBoundedInt moneyWonForRound_; + OptionEntryBoundedInt moneyWonForLives_; OptionEntryBoundedInt moneyPerKillPoint_; + OptionEntryBoundedInt moneyPerMultiKillPoint_; OptionEntryBoundedInt moneyPerAssistPoint_; + OptionEntryBoundedInt moneyPerHitPoint_; OptionEntryBoundedInt moneyPerRound_; + OptionEntryBool moneyPerHealthPoint_; + OptionEntryBoundedInt scorePerMoney_; OptionEntryBoundedInt scorePerAssist_; OptionEntryBoundedInt scorePerKill_; OptionEntryBoundedInt scoreWonForRound_; + OptionEntryBoundedInt scoreWonForLives_; OptionEntryInt maxLandscapeSize_; OptionEntryInt freeMarketAdjustment_; OptionEntryBoundedInt moneyStarting_; @@ -388,8 +399,6 @@ OptionEntryString motd_; OptionEntryStringEnum economy_; OptionEntryString landscapes_; - OptionEntryString masterListServer_; - OptionEntryString masterListServerURI_; OptionEntryString statsLogger_; OptionEntryString serverFileLogger_; @@ -411,11 +420,13 @@ OptionEntryBool allowSameUniqueId_; // Depricated (old) options - OptionEntryBool depricatedMoneyPerHealthPoint_; + OptionEntryEnum depricatedScoreType_; OptionEntryBool depricatedAutoBallanceTeams_; - OptionEntryInt depricatedMoneyPerHitPoint_; OptionEntryBoundedInt depricatedMaxArmsLevel_; OptionEntryString depricatedServerAdminPassword_; + OptionEntryString depricatedMasterListServer_; + OptionEntryString depricatedMasterListServerURI_; + }; class OptionsGameWrapper : public OptionsGame @@ -426,7 +437,6 @@ // Options that can be changed on the fly OptionsGame &getChangedOptions() { return changedOptions_; } - OptionsGame &getChangedOptionsEntry() { return changedOptions_; } void updateChangeSet(); bool commitChanges(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsMasterListServer.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsMasterListServer.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsMasterListServer.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsMasterListServer.cpp 2006-10-21 04:42:43.000000000 +0900 @@ -0,0 +1,62 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include + +OptionsMasterListServer *OptionsMasterListServer::instance_ = 0; + +OptionsMasterListServer *OptionsMasterListServer::instance() +{ + if (!instance_) instance_ = new OptionsMasterListServer(); + return instance_; +} + +OptionsMasterListServer::OptionsMasterListServer() : + masterListServer_(options_, "MasterListServer", + "The master list server for scorched3d", 0, "scorched3d.sourceforge.net"), + masterListServerURI_(options_, "MasterListServerURI", + "The URI on the master list server for scorched3d", 0, "/scorched"), + masterListBackupServer_(options_, "MasterListBackupServer", + "The backup master list server for scorched3d", 0, "www.scorched3d.co.uk"), + masterListBackupServerURI_(options_, "MasterListBackupServerURI", + "The URI on the backup master list server for scorched3d", 0, "/scorched"), + masterListServerTimeout_(options_, "MasterListServerTimeout", + "The amount of time to allow for list communications", 0, 10) +{ + readOptionsFromFile(); +} + +OptionsMasterListServer::~OptionsMasterListServer() +{ +} + +bool OptionsMasterListServer::writeOptionsToFile() +{ + char *filePath = (char *) getSettingsFile("masterlistservers.xml"); + if (!OptionEntryHelper::writeToFile(options_, filePath)) return false; + return true; +} + +bool OptionsMasterListServer::readOptionsFromFile() +{ + char *filePath = (char *) getSettingsFile("masterlistservers.xml"); + if (!OptionEntryHelper::readFromFile(options_, filePath)) return false; + return true; +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsMasterListServer.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsMasterListServer.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsMasterListServer.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsMasterListServer.h 2006-10-21 04:42:43.000000000 +0900 @@ -0,0 +1,56 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_OptionsMasterListServerh_INCLUDE__) +#define __INCLUDE_OptionsMasterListServerh_INCLUDE__ + +#include + +class OptionsMasterListServer +{ +public: + static OptionsMasterListServer *instance(); + + const char * getMasterListServer() { return masterListServer_; } + const char * getMasterListServerURI() { return masterListServerURI_; } + const char * getMasterListBackupServer() { return masterListBackupServer_; } + const char * getMasterListBackupServerURI() { return masterListBackupServerURI_; } + int getMasterListServerTimeout() { return masterListServerTimeout_; } + +protected: + static OptionsMasterListServer *instance_; + + std::list options_; + + OptionEntryString masterListServer_; + OptionEntryString masterListServerURI_; + OptionEntryString masterListBackupServer_; + OptionEntryString masterListBackupServerURI_; + OptionEntryInt masterListServerTimeout_; + + bool readOptionsFromFile(); + bool writeOptionsToFile(); + +private: + OptionsMasterListServer(); + virtual ~OptionsMasterListServer(); +}; + +#endif // __INCLUDE_OptionsMasterListServerh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsTransient.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsTransient.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsTransient.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsTransient.cpp 2006-08-20 03:19:19.000000000 +0900 @@ -131,6 +131,11 @@ currentRoundNo_.setValue(optionsGame_.getNoRounds()+1); } +void OptionsTransient::startNewRound() +{ + currentGameNo_.setValue(optionsGame_.getNoMaxRoundTurns() + 1); +} + void OptionsTransient::newGame() { newGame_ = true; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsTransient.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsTransient.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/OptionsTransient.h 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/OptionsTransient.h 2006-08-20 03:19:19.000000000 +0900 @@ -55,6 +55,7 @@ void nextRound(); void startNewGame(); + void startNewRound(); // Walls WallType getWallType() { return (WallType) wallType_.getValue(); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/SplineCurve.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/SplineCurve.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/SplineCurve.cpp 2005-11-26 02:42:07.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/SplineCurve.cpp 2006-09-26 22:27:00.000000000 +0900 @@ -110,7 +110,7 @@ interval = 0; increment = (n - t + 2) / (float)(res - 1); - for (i=0;i weapons = - ScorchedServer::instance()->getAccessoryStore().getAllWeapons(); + ScorchedServer::instance()->getAccessoryStore().getAllAccessories(); std::list::iterator itor; for (itor = weapons.begin(); itor != weapons.end(); @@ -530,10 +530,12 @@ { if (!tank->getState().getSpectator()) { - runQuery("UPDATE scorched3d_stats SET timeplayed=timeplayed+%i, moneyearned=moneyearned+%i " + runQuery("UPDATE scorched3d_stats SET " + "timeplayed=timeplayed+%i, moneyearned=moneyearned+%i, scoreearned=scoreearned+%i " "WHERE playerid = %i AND prefixid = %i AND seriesid = %i;", tank->getScore().getTimePlayedStat(), tank->getScore().getTotalMoneyEarnedStat(), + tank->getScore().getTotalScoreEarnedStat(), playerId_[tank->getUniqueId()], prefixid_, seriesid_); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/Vector4.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/Vector4.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/Vector4.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/Vector4.cpp 2006-09-27 01:13:14.000000000 +0900 @@ -0,0 +1,23 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include + +Vector4 Vector4::nullVector; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/common/Vector4.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/Vector4.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/common/Vector4.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/common/Vector4.h 2006-09-27 01:13:14.000000000 +0900 @@ -0,0 +1,102 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(AFX_Vector4_H__AD959187_7A1C_11D2_957C_00A0C9A4CA3E__INCLUDED_) +#define AFX_Vector4_H__AD959187_7A1C_11D2_957C_00A0C9A4CA3E__INCLUDED_ + +#include + +class Vector4 +{ +public: + static Vector4 nullVector; + + Vector4() + { + V[0] = V[1] = V[2] = V[3] = 0.0f; + } + + Vector4(const Vector &v) + { + V[0] = ((Vector &) v)[0]; + V[1] = ((Vector &) v)[1]; + V[2] = ((Vector &) v)[2]; + V[3] = 1.0f; + } + + Vector4(const Vector4 &v) + { + V[0] = ((Vector4 &) v)[0]; + V[1] = ((Vector4 &) v)[1]; + V[2] = ((Vector4 &) v)[2]; + V[3] = ((Vector4 &) v)[3]; + } + + Vector4(const float Pt[4]) + { + V[0] = Pt[0]; + V[1] = Pt[1]; + V[2] = Pt[2]; + V[3] = Pt[3]; + } + + Vector4(const float ptA, const float ptB, const float ptC, float ptD=0.0f) + { + V[0] = ptA; + V[1] = ptB; + V[2] = ptC; + V[3] = ptD; + } + + Vector4(const int ptA, const int ptB, const int ptC, const int ptD=0) + { + V[0] = (float) ptA; + V[1] = (float) ptB; + V[2] = (float) ptC; + V[3] = (float) ptD; + } + + void zero() + { + V[0] = V[1] = V[2] = V[3] = 0.0f; + } + + bool operator==(const Vector4 &Vin1) + { + return (Vin1.V[0]==V[0] && Vin1.V[1]==V[1] && Vin1.V[2]==V[2] && Vin1.V[3]==V[3]); + } + + bool operator!=(const Vector4 &Vin1) + { + return !((*this) == Vin1); + } + + float &operator[](const int m) { DIALOG_ASSERT(m<=3); return V[m]; } + float const &operator[](const int m) const { DIALOG_ASSERT(m<=3); return V[m]; } + + operator float*() { return V; } + +protected: + float V[4]; + +}; + +#endif // !defined(AFX_Vector4_H__AD959187_7A1C_11D2_957C_00A0C9A4CA3E__INCLUDED_) + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsGameStateMessage.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsGameStateMessage.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsGameStateMessage.h 2006-03-28 07:48:05.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsGameStateMessage.h 2006-07-23 09:43:47.000000000 +0900 @@ -22,7 +22,6 @@ #define __INCLUDE_ComsGameStateMessageh_INCLUDE__ #include -#include class ComsGameStateMessage : public ComsMessage { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsGameStoppedMessage.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsGameStoppedMessage.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsGameStoppedMessage.cpp 2005-07-20 06:45:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsGameStoppedMessage.cpp 2006-07-23 09:43:47.000000000 +0900 @@ -21,7 +21,8 @@ #include ComsGameStoppedMessage::ComsGameStoppedMessage() : - ComsMessage("ComsGameStoppedMessage") + ComsMessage("ComsGameStoppedMessage"), + stateMessage_(true) { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsLinesMessage.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsLinesMessage.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsLinesMessage.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsLinesMessage.cpp 2006-09-23 02:11:40.000000000 +0900 @@ -0,0 +1,62 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include + +ComsLinesMessage::ComsLinesMessage(unsigned int playerId) : + ComsMessage("ComsLinesMessage"), + playerId_(playerId) +{ +} + +ComsLinesMessage::~ComsLinesMessage() +{ +} + +bool ComsLinesMessage::writeMessage(NetBuffer &buffer, unsigned int destinationId) +{ + buffer.addToBuffer(playerId_); + buffer.addToBuffer((int) lines_.size()); + std::list::iterator itor; + for (itor = lines_.begin(); + itor != lines_.end(); + itor++) + { + Vector &v = (*itor); + buffer.addToBuffer(v); + } + return true; +} + +bool ComsLinesMessage::readMessage(NetBufferReader &reader) +{ + if (!reader.getFromBuffer(playerId_)) return false; + int t = 0; + if (!reader.getFromBuffer(t)) return false; + Vector v; + for (int i=0; i +#include +#include + +class ComsLinesMessage : public ComsMessage +{ +public: + ComsLinesMessage(unsigned int playerId = 0); + virtual ~ComsLinesMessage(); + + unsigned int getPlayerId() { return playerId_; } + std::list &getLines() { return lines_; } + + // Inherited from ComsMessage + virtual bool writeMessage(NetBuffer &buffer, unsigned int destinationId); + virtual bool readMessage(NetBufferReader &reader); + +protected: + unsigned int playerId_; + std::list lines_; + +private: + ComsLinesMessage(const ComsLinesMessage &); + const ComsLinesMessage & operator=(const ComsLinesMessage &); + +}; + +#endif // __INCLUDE_ComsLinesMessageh_INCLUDE__ + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsMessageSender.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsMessageSender.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsMessageSender.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsMessageSender.cpp 2006-09-09 00:07:59.000000000 +0900 @@ -59,8 +59,12 @@ bool ComsMessageSender::sendToSingleClient(ComsMessage &message, unsigned int destination) { - if (!ScorchedServer::instance()->getNetInterface().started()) return false; if (destination == 0) return true; + if (!ScorchedServer::instance()->getNetInterface().started()) + { + Logger::log( "ERROR: ComsMessageSender::sendToSingleClient - Client not started"); + return false; + } NetBufferDefault::defaultBuffer.reset(); if (!message.writeTypeMessage(NetBufferDefault::defaultBuffer)) @@ -106,7 +110,7 @@ std::set::iterator findItor; std::map::iterator itor; - std::map &tanks = + std::map tanks = ScorchedServer::instance()->getTankContainer().getPlayingTanks(); for (itor = tanks.begin(); itor != tanks.end(); @@ -139,7 +143,7 @@ std::set::iterator findItor; std::map::iterator itor; - std::map &tanks = + std::map tanks = ScorchedServer::instance()->getTankContainer().getPlayingTanks(); for (itor = tanks.begin(); itor != tanks.end(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsNewGameMessage.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsNewGameMessage.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsNewGameMessage.cpp 2005-08-15 04:11:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsNewGameMessage.cpp 2006-09-15 23:58:25.000000000 +0900 @@ -20,6 +20,7 @@ #include #include +#include #include #include #include @@ -48,6 +49,8 @@ { if (!ScorchedServer::instance()-> getOptionsGame().writeToBuffer(buffer, false, false)) return false; + if (!ScorchedServer::instance()-> + getOptionsTransient().writeToBuffer(buffer)) return false; } if (!levelMessage_.writeMessage(buffer, destinationId)) return false; if (!ScorchedServer::instance()->getAccessoryStore(). @@ -63,6 +66,8 @@ { if (!ScorchedClient::instance()-> getOptionsGame().readFromBuffer(reader, false, false)) return false; + if (!ScorchedClient::instance()-> + getOptionsTransient().readFromBuffer(reader)) return false; } if (!levelMessage_.readMessage(reader)) return false; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsPlayedMoveMessage.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsPlayedMoveMessage.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsPlayedMoveMessage.cpp 2006-07-09 23:23:48.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsPlayedMoveMessage.cpp 2006-09-11 09:25:22.000000000 +0900 @@ -18,14 +18,14 @@ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //////////////////////////////////////////////////////////////////////////////// - #include ComsPlayedMoveMessage::ComsPlayedMoveMessage(unsigned int playerId, MoveType type) : ComsMessage("ComsPlayedMoveMessage"), moveType_(type), weaponId_(0), - rotationXY_(0.0f), rotationYZ_(0.0f), power_(0.0f), playerId_(playerId) + rotationXY_(0.0f), rotationYZ_(0.0f), power_(0.0f), playerId_(playerId), + selectPositionX_(0), selectPositionY_(0) { } @@ -33,40 +33,33 @@ { } -void ComsPlayedMoveMessage::setPosition(unsigned int fuelId, int x, int y) -{ - weaponId_ = fuelId; - rotationXY_ = (float)x; - rotationYZ_ = (float)y; -} - void ComsPlayedMoveMessage::setShot(unsigned int weaponId, - float rotationXY, - float rotationYZ, - float power) + float rotationXY, + float rotationYZ, + float power, + int selectPositionX, + int selectPositionY) { weaponId_ = weaponId; rotationXY_ = rotationXY; rotationYZ_ = rotationYZ; power_ = power; + selectPositionX_ = selectPositionX; + selectPositionY_ = selectPositionY; } bool ComsPlayedMoveMessage::writeMessage(NetBuffer &buffer, unsigned int destinationId) { buffer.addToBuffer(playerId_); buffer.addToBuffer((int) moveType_); - if (moveType_ == eMove) - { - buffer.addToBuffer(weaponId_); - buffer.addToBuffer(rotationXY_); - buffer.addToBuffer(rotationYZ_); - } - else if (moveType_ == eShot) + if (moveType_ == eShot) { buffer.addToBuffer(weaponId_); buffer.addToBuffer(rotationXY_); buffer.addToBuffer(rotationYZ_); buffer.addToBuffer(power_); + buffer.addToBuffer(selectPositionX_); + buffer.addToBuffer(selectPositionY_); } return true; } @@ -77,18 +70,14 @@ int mt; if (!reader.getFromBuffer(mt)) return false; moveType_ = (MoveType) mt; - if (moveType_ == eMove) - { - if (!reader.getFromBuffer(weaponId_)) return false; - if (!reader.getFromBuffer(rotationXY_)) return false; - if (!reader.getFromBuffer(rotationYZ_)) return false; - } - else if (moveType_ == eShot) + if (moveType_ == eShot) { if (!reader.getFromBuffer(weaponId_)) return false; if (!reader.getFromBuffer(rotationXY_)) return false; if (!reader.getFromBuffer(rotationYZ_)) return false; if (!reader.getFromBuffer(power_)) return false; + if (!reader.getFromBuffer(selectPositionX_)) return false; + if (!reader.getFromBuffer(selectPositionY_)) return false; } return true; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsPlayedMoveMessage.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsPlayedMoveMessage.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsPlayedMoveMessage.h 2006-02-23 00:53:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsPlayedMoveMessage.h 2006-09-11 09:25:22.000000000 +0900 @@ -18,7 +18,6 @@ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //////////////////////////////////////////////////////////////////////////////// - #if !defined(__INCLUDE_ComsPlayedMoveMessageh_INCLUDE__) #define __INCLUDE_ComsPlayedMoveMessageh_INCLUDE__ @@ -32,7 +31,6 @@ eNone, eShot, eResign, - eMove, eSkip, eFinishedBuy }; @@ -41,18 +39,19 @@ MoveType type = eNone); virtual ~ComsPlayedMoveMessage(); - void setPosition(unsigned int fuelId, int x, int y); void setShot(unsigned int weaponId, float rotationXY, float rotationYZ, - float power); + float power, + int positionX, + int positionY); unsigned int getPlayerId() { return playerId_; } unsigned int getWeaponId() { return weaponId_; } float getRotationXY() { return rotationXY_; } float getRotationYZ() { return rotationYZ_; } - int getPositionX() { return (int) rotationXY_; } - int getPositionY() { return (int) rotationYZ_; } + int getSelectPositionX() { return selectPositionX_; } + int getSelectPositionY() { return selectPositionY_; } float getPower() { return power_; } MoveType getType() { return moveType_; } @@ -67,11 +66,12 @@ float rotationXY_; float rotationYZ_; float power_; + int selectPositionX_; + int selectPositionY_; private: ComsPlayedMoveMessage(const ComsPlayedMoveMessage &); const ComsPlayedMoveMessage & operator=(const ComsPlayedMoveMessage &); }; - #endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsPlayerStateMessage.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsPlayerStateMessage.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsPlayerStateMessage.cpp 2006-07-11 01:48:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsPlayerStateMessage.cpp 2006-07-23 09:43:47.000000000 +0900 @@ -56,7 +56,10 @@ itor != tanks.end(); itor++) { - targets[(*itor).first] = (*itor).second; + if (!(*itor).second->isTemp()) + { + targets[(*itor).first] = (*itor).second; + } } } else diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsPlayerStateMessage.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsPlayerStateMessage.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/ComsPlayerStateMessage.h 2006-07-11 01:48:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/ComsPlayerStateMessage.h 2006-07-23 09:43:47.000000000 +0900 @@ -27,7 +27,7 @@ class ComsPlayerStateMessage : public ComsMessage { public: - ComsPlayerStateMessage(bool playersOnly = false); + ComsPlayerStateMessage(bool playersOnly); virtual ~ComsPlayerStateMessage(); // Inherited from ComsMessage diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetInterface.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetInterface.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetInterface.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetInterface.cpp 2006-08-04 22:35:15.000000000 +0900 @@ -45,3 +45,7 @@ return result; } +unsigned int NetInterface::getIpAddress(unsigned int destination) +{ + return 0; +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetInterface.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetInterface.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetInterface.h 2004-12-10 05:56:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetInterface.h 2006-08-04 22:35:15.000000000 +0900 @@ -47,6 +47,7 @@ static unsigned int &getConnects() { return connects_; } static const char *getIpName(unsigned int ipAddress); + virtual unsigned int getIpAddress(unsigned int destination); protected: static unsigned int bytesIn_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetMessage.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetMessage.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetMessage.h 2005-10-25 05:58:29.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetMessage.h 2006-11-14 21:17:14.000000000 +0900 @@ -35,6 +35,7 @@ NoMessage, ConnectMessage, DisconnectMessage, + DisconnectAllMessage, BufferMessage, SentMessage }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetMessageHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetMessageHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetMessageHandler.cpp 2004-06-24 20:56:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetMessageHandler.cpp 2006-07-23 09:43:48.000000000 +0900 @@ -50,21 +50,21 @@ if (!messagesWaiting_) return 0; // Get the list of messages that should be processed - std::list newMessages; + // Process one at a time, incase this method is called re-entrantly + NetMessage *message = 0; SDL_LockMutex(messagesMutex_); - newMessages = messages_; - messages_.clear(); - messagesWaiting_ = false; + if (!messages_.empty()) + { + message = messages_.front(); + messages_.pop_front(); + } + messagesWaiting_ = !messages_.empty(); SDL_UnlockMutex(messagesMutex_); int result = 0; - while (!newMessages.empty()) + if (message) { result ++; - // Retrieve first message to be processed - NetMessage *message = - newMessages.front(); - newMessages.pop_front(); // Call user to process message if (handler_) handler_->processMessage(*message); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServer.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServer.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServer.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServer.cpp 2006-10-21 04:42:43.000000000 +0900 @@ -28,7 +28,8 @@ NetServer::NetServer(NetServerProtocol *protocol) : sockSet_(0), firstDestination_(0), - server_(0), protocol_(protocol), checkDeleted_(false) + server_(0), protocol_(protocol), checkDeleted_(false), + lastId_(0) { sockSet_ = SDLNet_AllocSocketSet(1); setMutex_ = SDL_CreateMutex(); @@ -65,7 +66,7 @@ { NetMessage *message = (delayedMessages_.front()).second; delayedMessages_.pop_front(); - sendMessage((TCPsocket) message->getDestinationId(), message); + sendMessage(message->getDestinationId(), message); } } @@ -184,27 +185,27 @@ bool NetServer::pollDeleted() { SDL_LockMutex(setMutex_); - std::list remove; - std::map::iterator itor; + std::list remove; + std::map::iterator itor; for (itor = connections_.begin(); itor != connections_.end(); itor++) { NetServerRead *serverRead = (*itor).second; - TCPsocket socket = (*itor).first; + unsigned int id = (*itor).first; if (serverRead->getDisconnect()) { delete serverRead; - remove.push_back(socket); + remove.push_back(id); } } - std::list::iterator itor2; + std::list::iterator itor2; for (itor2 = remove.begin(); itor2 != remove.end(); itor2++) { - TCPsocket socket = (*itor2); - connections_.erase(socket); + unsigned int id = (*itor2); + connections_.erase(id); } SDL_UnlockMutex(setMutex_); return true; @@ -212,14 +213,22 @@ void NetServer::addClient(TCPsocket client) { + // Calculate the current client id + // Mutex protect incase addClient is called from different threads + // (unlikely) + SDL_LockMutex(setMutex_); + if (++lastId_ == 0) ++lastId_; + unsigned int currentId = lastId_; + SDL_UnlockMutex(setMutex_); + // Create the thread to read this socket NetServerRead *serverRead = new NetServerRead( - client, protocol_, &messageHandler_, &checkDeleted_); + currentId, client, protocol_, &messageHandler_, &checkDeleted_); // Add this to the collection of sockets (connections) SDL_LockMutex(setMutex_); - connections_[client] = serverRead; - firstDestination_ = (*connections_.begin()).first; + connections_[currentId] = serverRead; + firstDestination_ = currentId; SDL_UnlockMutex(setMutex_); // Start the sockets @@ -229,27 +238,22 @@ void NetServer::disconnectAllClients() { SDL_LockMutex(setMutex_); - std::map::iterator itor; + std::map::iterator itor; for (itor = connections_.begin(); itor != connections_.end(); itor++) { - TCPsocket sock = (*itor).first; - disconnectClient((unsigned int) sock); + unsigned int id = (*itor).first; + disconnectClient(id); } SDL_UnlockMutex(setMutex_); } void NetServer::disconnectClient(unsigned int dest, bool delayed) { - TCPsocket client = (TCPsocket) dest; - DIALOG_ASSERT(client); - NetMessage *message = NetMessagePool::instance()-> getFromPool(NetMessage::DisconnectMessage, - (unsigned int) client, - getIpAddress(client)); - + dest, getIpAddress(dest)); if (delayed) { std::pair item(1.0f, message); @@ -258,26 +262,22 @@ else { // Add the message to the list of out going - sendMessage(client, message); + sendMessage(dest, message); } } void NetServer::sendMessage(NetBuffer &buffer) { - sendMessage(buffer, (unsigned int) firstDestination_); + sendMessage(buffer, firstDestination_); } void NetServer::sendMessage(NetBuffer &buffer, unsigned int dest) { - TCPsocket destination = (TCPsocket) dest; - DIALOG_ASSERT(destination); - // Get a new buffer from the pool NetMessage *message = NetMessagePool::instance()-> getFromPool(NetMessage::NoMessage, - (unsigned int) destination, - getIpAddress(destination)); + dest, getIpAddress(dest)); // Add message to new buffer message->getBuffer().allocate(buffer.getBufferUsed()); @@ -286,14 +286,14 @@ message->getBuffer().setBufferUsed(buffer.getBufferUsed()); // Send Mesage - sendMessage(destination, message); + sendMessage(dest, message); } -void NetServer::sendMessage(TCPsocket client, NetMessage *message) +void NetServer::sendMessage(unsigned int client, NetMessage *message) { // Find the client SDL_LockMutex(setMutex_); - std::map::iterator itor = + std::map::iterator itor = connections_.find(client); if (itor != connections_.end()) { @@ -304,22 +304,24 @@ else { NetMessagePool::instance()->addToPool(message); - Logger::log(formatString("Unknown sendMessage destination %i", - (int) client)); + Logger::log(formatString("Unknown sendMessage destination %u", + client)); } SDL_UnlockMutex(setMutex_); } -unsigned int NetServer::getIpAddress(TCPsocket destination) +unsigned int NetServer::getIpAddress(unsigned int destination) { - if (destination == 0) return 0; - unsigned int addr = 0; - IPaddress *address = SDLNet_TCP_GetPeerAddress(destination); - if (address) + SDL_LockMutex(setMutex_); + std::map::iterator itor = + connections_.find(destination); + if (itor != connections_.end()) { - addr = SDLNet_Read32(&address->host); + NetServerRead *read = (*itor).second; + addr = read->getIpAddress(); } + SDL_UnlockMutex(setMutex_); return addr; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServer.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServer.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServer.h 2005-10-25 05:58:29.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServer.h 2006-08-04 22:35:15.000000000 +0900 @@ -46,14 +46,15 @@ virtual void sendMessage(NetBuffer &buffer); virtual void sendMessage(NetBuffer &buffer, unsigned int destination); - static unsigned int getIpAddress(TCPsocket destination); + virtual unsigned int getIpAddress(unsigned int destination); protected: NetServerProtocol *protocol_; TCPsocket server_; - TCPsocket firstDestination_; + unsigned int lastId_; + unsigned int firstDestination_; SDLNet_SocketSet sockSet_; - std::map connections_; + std::map connections_; std::list > delayedMessages_; Clock delayedClock_; SDL_mutex *setMutex_; @@ -65,7 +66,7 @@ bool pollIncoming(); bool pollDeleted(); void addClient(TCPsocket client); - void sendMessage(TCPsocket client, NetMessage *message); + void sendMessage(unsigned int client, NetMessage *message); private: diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerProtocol.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerProtocol.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerProtocol.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerProtocol.cpp 2006-08-04 22:35:15.000000000 +0900 @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include @@ -40,7 +40,7 @@ { } -bool NetServerScorchedProtocol::sendBuffer(NetBuffer &buffer, TCPsocket socket) +bool NetServerScorchedProtocol::sendBuffer(NetBuffer &buffer, TCPsocket socket, unsigned int id) { Uint32 len = buffer.getBufferUsed(); Uint32 netlen=0; @@ -94,7 +94,7 @@ return true; } -NetMessage *NetServerScorchedProtocol::readBuffer(TCPsocket socket) +NetMessage *NetServerScorchedProtocol::readBuffer(TCPsocket socket, unsigned int id) { // receive the length of the string message char lenbuf[4]; @@ -125,8 +125,8 @@ // allocate the buffer memory NetMessage *buffer = NetMessagePool::instance()-> getFromPool(NetMessage::BufferMessage, - (unsigned int) socket, - NetServer::getIpAddress(socket)); + id, + NetServerRead::getIpAddressFromSocket(socket)); buffer->getBuffer().allocate(len); buffer->getBuffer().setBufferUsed(len); @@ -153,7 +153,7 @@ { } -bool NetServerCompressedProtocol::sendBuffer(NetBuffer &buffer, TCPsocket socket) +bool NetServerCompressedProtocol::sendBuffer(NetBuffer &buffer, TCPsocket socket, unsigned int id) { unsigned long destLen = buffer.getBufferUsed() * 2; unsigned long srcLen = buffer.getBufferUsed(); @@ -161,8 +161,8 @@ // Allocate a new buffer NetMessage *newMessage = NetMessagePool::instance()-> getFromPool(NetMessage::BufferMessage, - (unsigned int) socket, - NetServer::getIpAddress(socket)); + id, + NetServerRead::getIpAddressFromSocket(socket)); NetBuffer &newBuffer = newMessage->getBuffer(); newBuffer.allocate(destLen); @@ -185,7 +185,7 @@ //Logger::log( "Compressed %i->%i", // buffer.getBufferUsed(), newBuffer.getBufferUsed()); - retVal = NetServerScorchedProtocol::sendBuffer(newBuffer, socket); + retVal = NetServerScorchedProtocol::sendBuffer(newBuffer, socket, id); } else { @@ -197,10 +197,10 @@ return retVal; } -NetMessage *NetServerCompressedProtocol::readBuffer(TCPsocket socket) +NetMessage *NetServerCompressedProtocol::readBuffer(TCPsocket socket, unsigned int id) { // Read the message from the socket - NetMessage *message = NetServerScorchedProtocol::readBuffer(socket); + NetMessage *message = NetServerScorchedProtocol::readBuffer(socket, id); if (message) { // Get the uncompressed size from the buffer @@ -229,7 +229,7 @@ NetMessage *newMessage = NetMessagePool::instance()->getFromPool(message->getMessageType(), message->getDestinationId(), - NetServer::getIpAddress(socket)); + NetServerRead::getIpAddressFromSocket(socket)); NetBuffer &newBuffer = newMessage->getBuffer(); newBuffer.allocate(destLen); newBuffer.setBufferUsed(destLen); @@ -268,7 +268,7 @@ { } -bool NetServerHTTPProtocolSend::sendBuffer(NetBuffer &buffer, TCPsocket socket) +bool NetServerHTTPProtocolSend::sendBuffer(NetBuffer &buffer, TCPsocket socket, unsigned int id) { Uint32 len = buffer.getBufferUsed(); @@ -286,13 +286,13 @@ return true; } -NetMessage *NetServerHTTPProtocolSend::readBuffer(TCPsocket socket) +NetMessage *NetServerHTTPProtocolSend::readBuffer(TCPsocket socket, unsigned int id) { // allocate the buffer memory NetMessage *netBuffer = NetMessagePool::instance()-> getFromPool(NetMessage::BufferMessage, - (unsigned int) socket, - NetServer::getIpAddress(socket)); + id, + NetServerRead::getIpAddressFromSocket(socket)); netBuffer->getBuffer().reset(); // get the string buffer over the socket @@ -331,7 +331,7 @@ { } -bool NetServerHTTPProtocolRecv::sendBuffer(NetBuffer &buffer, TCPsocket socket) +bool NetServerHTTPProtocolRecv::sendBuffer(NetBuffer &buffer, TCPsocket socket, unsigned int id) { Uint32 len = buffer.getBufferUsed(); @@ -349,13 +349,13 @@ return true; } -NetMessage *NetServerHTTPProtocolRecv::readBuffer(TCPsocket socket) +NetMessage *NetServerHTTPProtocolRecv::readBuffer(TCPsocket socket, unsigned int id) { // allocate the buffer memory NetMessage *netBuffer = NetMessagePool::instance()-> getFromPool(NetMessage::BufferMessage, - (unsigned int) socket, - NetServer::getIpAddress(socket)); + id, + NetServerRead::getIpAddressFromSocket(socket)); netBuffer->getBuffer().reset(); // get the string buffer over the socket diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerProtocol.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerProtocol.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerProtocol.h 2005-06-09 02:29:38.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerProtocol.h 2006-08-04 22:35:15.000000000 +0900 @@ -29,8 +29,8 @@ NetServerProtocol(); virtual ~NetServerProtocol(); - virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket) = 0; - virtual NetMessage *readBuffer(TCPsocket socket) = 0; + virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket, unsigned int id) = 0; + virtual NetMessage *readBuffer(TCPsocket socket, unsigned int id) = 0; }; class NetServerScorchedProtocol : public NetServerProtocol @@ -39,8 +39,8 @@ NetServerScorchedProtocol(); virtual ~NetServerScorchedProtocol(); - virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket); - virtual NetMessage *readBuffer(TCPsocket socket); + virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket, unsigned int id); + virtual NetMessage *readBuffer(TCPsocket socket, unsigned int id); }; class NetServerCompressedProtocol : public NetServerScorchedProtocol @@ -49,8 +49,8 @@ NetServerCompressedProtocol(); virtual ~NetServerCompressedProtocol(); - virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket); - virtual NetMessage *readBuffer(TCPsocket socket); + virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket, unsigned int id); + virtual NetMessage *readBuffer(TCPsocket socket, unsigned int id); }; class NetServerHTTPProtocolSend : public NetServerProtocol @@ -59,8 +59,8 @@ NetServerHTTPProtocolSend(); virtual ~NetServerHTTPProtocolSend(); - virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket); - virtual NetMessage *readBuffer(TCPsocket socket); + virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket, unsigned int id); + virtual NetMessage *readBuffer(TCPsocket socket, unsigned int id); }; class NetServerHTTPProtocolRecv : public NetServerProtocol @@ -69,8 +69,8 @@ NetServerHTTPProtocolRecv(); virtual ~NetServerHTTPProtocolRecv(); - virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket); - virtual NetMessage *readBuffer(TCPsocket socket); + virtual bool sendBuffer(NetBuffer &buffer, TCPsocket socket, unsigned int id); + virtual NetMessage *readBuffer(TCPsocket socket, unsigned int id); }; #endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerRead.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerRead.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerRead.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerRead.cpp 2006-10-21 04:42:43.000000000 +0900 @@ -25,10 +25,12 @@ #include #include -NetServerRead::NetServerRead(TCPsocket socket, +NetServerRead::NetServerRead(unsigned int id, + TCPsocket socket, NetServerProtocol *protocol, NetMessageHandler *messageHandler, bool *checkDeleted) : + id_(id), socket_(socket), sockSet_(0), protocol_(protocol), outgoingMessagesMutex_(0), checkDeleted_(checkDeleted), disconnect_(false), messageHandler_(messageHandler), @@ -57,13 +59,29 @@ sockSet_ = 0; } +unsigned int NetServerRead::getIpAddressFromSocket(TCPsocket socket) +{ + unsigned int addr = 0; + IPaddress *address = SDLNet_TCP_GetPeerAddress(socket); + if (address) + { + addr = SDLNet_Read32(&address->host); + } + return addr; +} + +unsigned int NetServerRead::getIpAddress() +{ + return getIpAddressFromSocket(socket_); +} + void NetServerRead::start() { // Send the player connected notification NetMessage *message = NetMessagePool::instance()-> getFromPool(NetMessage::ConnectMessage, - (unsigned int) socket_, - NetServer::getIpAddress(socket_)); + id_, + getIpAddress()); messageHandler_->addMessage(message); recvThread_ = SDL_CreateThread( @@ -94,8 +112,8 @@ sentDisconnect_ = true; NetMessage *message = NetMessagePool::instance()-> getFromPool(NetMessage::DisconnectMessage, - (unsigned int) socket_, - NetServer::getIpAddress(socket_)); + id_, + getIpAddress()); messageHandler_->addMessage(message); } SDL_UnlockMutex(outgoingMessagesMutex_); @@ -187,9 +205,9 @@ if (timeDiff > 15.0f) { Logger::log(formatString( - "Warning: %s net loop took %.2f seconds, client %i", + "Warning: %s net loop took %.2f seconds, client %u", (send?"Send":"Recv"), - timeDiff, (unsigned int) socket_)); + timeDiff, id_)); } } @@ -199,8 +217,8 @@ sentDisconnect_ = true; NetMessage *message = NetMessagePool::instance()-> getFromPool(NetMessage::DisconnectMessage, - (unsigned int) socket_, - NetServer::getIpAddress(socket_)); + id_, + getIpAddress()); messageHandler_->addMessage(message); } SDL_UnlockMutex(outgoingMessagesMutex_); @@ -218,10 +236,10 @@ if(SDLNet_SocketReady(socket_)) { - NetMessage *message = protocol_->readBuffer(socket_); + NetMessage *message = protocol_->readBuffer(socket_, id_); if (!message) { - Logger::log( "Client socket has been closed."); + //Logger::log( "Client socket has been closed."); return false; } else @@ -261,7 +279,7 @@ } else { - if (!protocol_->sendBuffer(message->getBuffer(), socket_)) + if (!protocol_->sendBuffer(message->getBuffer(), socket_, id_)) { Logger::log( "Failed to send message to client"); result = false; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerRead.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerRead.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerRead.h 2005-10-25 05:58:29.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerRead.h 2006-08-04 22:35:15.000000000 +0900 @@ -27,7 +27,8 @@ class NetServerRead { public: - NetServerRead(TCPsocket socket, + NetServerRead(unsigned int id, + TCPsocket socket, NetServerProtocol *protocol, NetMessageHandler *messageHandler, bool *checkDeleted); @@ -36,8 +37,12 @@ void start(); bool getDisconnect(); void addMessage(NetMessage *message); + unsigned int getIpAddress(); + + static unsigned int getIpAddressFromSocket(TCPsocket socket); protected: + unsigned int id_; bool *checkDeleted_; bool disconnect_, sentDisconnect_; TCPsocket socket_; @@ -58,7 +63,6 @@ static int ctrlThreadFunc(void *); static int sendThreadFunc(void *); static int recvThreadFunc(void *); - }; #endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerUDP.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerUDP.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerUDP.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerUDP.cpp 2006-11-17 09:06:04.000000000 +0900 @@ -0,0 +1,438 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include + +NetServerUDP::NetServerUDP() : + serverDestinationId_(0), udpsock_(0), nextDestinationId_(1), + sendRecvThread_(0) +{ + packetVIn_ = SDLNet_AllocPacketV(20, 10000); + packetVOut_ = SDLNet_AllocPacketV(20, 10000); +} + +NetServerUDP::~NetServerUDP() +{ + SDLNet_FreePacketV(packetVIn_); + SDLNet_FreePacketV(packetVOut_); + SDLNet_UDP_Close(udpsock_); +} + +bool NetServerUDP::started() +{ + // Do we have a valid socket + return (udpsock_ != 0); +} + +bool NetServerUDP::connect(const char *hostName, int portNo) +{ + // Resolve server address + IPaddress serverAddress; + if (SDLNet_ResolveHost(&serverAddress, hostName, portNo) != 0) + { + Logger::log(formatString("NetServerUDP: Failed to resolve host %s:%i", + hostName, portNo)); + return false; + } + + // Create a new socket with anon port + if (!udpsock_) udpsock_ = SDLNet_UDP_Open(0); + if (!udpsock_) + { + Logger::log(formatString("NetServerUDP: Failed to open client socket")); + return false; + } + + // Send connect message + if (!sendConnect(serverAddress, eConnect)) return false; + + // Start sending/recieving on the anon port + if (!startProcessing()) return false; + + return true; +} + +bool NetServerUDP::start(int portNo) +{ + // Create a new server listening socket + if (!udpsock_) udpsock_ = SDLNet_UDP_Open(portNo); + if (!udpsock_) + { + Logger::log(formatString("NetServerUDP: Failed to open server socket %i", portNo)); + return false; + } + + // Start sending/recieving on this socket + if (!startProcessing()) return false; + + return true; +} + +bool NetServerUDP::sendConnect(IPaddress &address, PacketType type) +{ + // Send a small message with a type + packetVOut_[0]->len = 1; + packetVOut_[0]->address.host = address.host; + packetVOut_[0]->address.port = address.port; + packetVOut_[0]->data[0] = type; + packetVOut_[0]->channel = -1; + if (SDLNet_UDP_SendV(udpsock_, packetVOut_, 1) == 0) + { + Logger::log(formatString("NetServerUDP: Failed to send connect packet")); + return false; + } + return true; +} + +bool NetServerUDP::startProcessing() +{ + // Check if we are already running + if (sendRecvThread_) return true; + + // We are going to process all incoming message + outgoingMessageHandler_.setMessageHandler(this); + + // Create the processing thread + sendRecvThread_ = SDL_CreateThread( + NetServerUDP::sendRecvThreadFunc, (void *) this); + if (sendRecvThread_ == 0) + { + Logger::log(formatString("NetServerUDP: Failed to create NetServerUDP thread")); + return false; + } + + return true; +} + +int NetServerUDP::sendRecvThreadFunc(void *c) +{ + // Call a non-static class thread to do the processing in (just for convienience) + NetServerUDP *th = (NetServerUDP*) c; + th->actualSendRecvFunc(); + + Logger::log(formatString("NetServerUDP: shutdown")); + return 0; +} + +void NetServerUDP::actualSendRecvFunc() +{ + Clock netClock; + while(true) + { + // Send/recv packets + if (!checkOutgoing() && + !checkIncoming()) + { + SDL_Delay(10); + } + + // Check for any new messages we should send and process them + outgoingMessageHandler_.processMessages(); + + // Make sure this loop is progressing as expected + float timeDiff = netClock.getTimeDifference(); + if (timeDiff > 1.0f) + { + Logger::log(formatString( + "Warning: udp coms loop took %.2f seconds", + timeDiff)); + } + } +} + +void NetServerUDP::processMessage(NetMessage &message) +{ + // We have been told to send a message to a client + + // Check if we have been told to disconect all clients + if (message.getMessageType() == NetMessage::DisconnectAllMessage) + { + // Foreach client + while (!destinations_.empty()) + { + // Get the first client + std::map::iterator itor = + destinations_.begin(); + unsigned int destinationId = (*itor).first; + NetServerUDPDestination *destination = (*itor).second; + + // Tell the client they are kicked + sendConnect(destination->getAddress(), eDisconnect); + + // This is a message telling us to kick the client, do so + Logger::log(formatString("Disconnected %u - kicked", destinationId)); + destroyDestination(destinationId); + } + + return; + } + + // Look up this destination in the list of current + std::map::iterator itor = + destinations_.find(message.getDestinationId()); + if (itor == destinations_.end()) + { + Logger::log(formatString( + "NetServerUDP: Invalid send destination %u", message.getDestinationId())); + return; + } + + NetServerUDPDestination *destination = (*itor).second; + if (message.getMessageType() == NetMessage::DisconnectMessage) + { + // Tell the client they are kicked + sendConnect(destination->getAddress(), eDisconnect); + + // This is a message telling us to kick the client, do so + Logger::log(formatString("Disconnected %u - kicked", message.getDestinationId())); + destroyDestination(message.getDestinationId()); + } + else + { + // Add this buffer to the list of items to be sent + destination->addMessage(message); + } +} + +bool NetServerUDP::checkOutgoing() +{ + bool sent = false; + + // Each client checks to see if they have any parts to send + std::map::iterator itor; + for (itor = destinations_.begin(); + itor != destinations_.end(); + itor ++) + { + unsigned int destinationId = (*itor).first; + NetServerUDPDestination *destination = (*itor).second; + + NetServerUDPDestination::OutgoingResult outResult = destination->checkOutgoing(); + switch (outResult) + { + case NetServerUDPDestination::OutgoingTimeout: + + // Client timedout + Logger::log(formatString("Disconnected %u - timedout", destinationId)); + destroyDestination(destinationId); + return true; // Because we are in iterator + break; + case NetServerUDPDestination::OutgoingSent: + sent = true; + break; + } + } + + return sent; +} + +bool NetServerUDP::checkIncoming() +{ + // Get the next set of packets from the socket + int numrecv = SDLNet_UDP_RecvV(udpsock_, packetVIn_); + if(numrecv <=0) return false; + + // For each packet + for(int i=0; ilen; + unsigned char *packetData = packetVIn_[i]->data; + if (packetLen < 1) + { + Logger::log(formatString("NetServerUDP: Invalid incoming packet size %i", packetLen)); + continue; + } + + // Check what type of packet we have recieved + unsigned char packetType = packetData[0]; + unsigned int destinationId = getDestination(packetVIn_[i]->address); + switch (packetType) + { + case eConnect: + // A connect request + if (destinationId == 0) + { + addDestination(packetVIn_[i]->address); + } + sendConnect(packetVIn_[i]->address, eConnectAck); + break; + case eConnectAck: + // A connect accept + if (destinationId == 0) + { + addDestination(packetVIn_[i]->address); + } + break; + case eDisconnect: + // A disconnect request + if (destinationId != 0) + { + Logger::log(formatString("Disconnected %u - user", destinationId)); + destroyDestination(destinationId); + } + break; + case eData: + case eDataFin: + // A data packet + if (destinationId != 0) + { + NetServerUDPDestination *destination = destinations_[destinationId]; + destination->processData( + destinationId, packetLen, packetData, (packetType == eDataFin)); + } + break; + case eDataAck: + // A data packet ack + if (destinationId != 0) + { + NetServerUDPDestination *destination = destinations_[destinationId]; + destination->processDataAck( + destinationId, packetLen, packetData); + } + break; + } + } + + return true; +} + +void NetServerUDP::disconnectAllClients() +{ + // Get a new buffer from the pool (with the discconect type set) + NetMessage *message = NetMessagePool::instance()-> + getFromPool(NetMessage::DisconnectAllMessage, 0, 0); + + // Send Mesage + outgoingMessageHandler_.addMessage(message); +} + +void NetServerUDP::disconnectClient(unsigned int destination, bool delay) +{ + // Get a new buffer from the pool (with the discconect type set) + NetMessage *message = NetMessagePool::instance()-> + getFromPool(NetMessage::DisconnectMessage, destination, 0); + + // Send Mesage + outgoingMessageHandler_.addMessage(message); +} + +void NetServerUDP::sendMessage(NetBuffer &buffer) +{ + // Send a message to the server + sendMessage(buffer, serverDestinationId_); +} + +void NetServerUDP::sendMessage(NetBuffer &buffer, unsigned int destination) +{ + // Get a new buffer from the pool + NetMessage *message = NetMessagePool::instance()-> + getFromPool(NetMessage::BufferMessage, + destination, getIpAddress(destination)); + + // Add message to new buffer + message->getBuffer().allocate(buffer.getBufferUsed()); + memcpy(message->getBuffer().getBuffer(), + buffer.getBuffer(), buffer.getBufferUsed()); + message->getBuffer().setBufferUsed(buffer.getBufferUsed()); + + // Send Mesage + outgoingMessageHandler_.addMessage(message); +} + +int NetServerUDP::processMessages() +{ + // Process any messages that we have recieved + return incomingMessageHandler_.processMessages(); +} + +void NetServerUDP::setMessageHandler(NetMessageHandlerI *handler) +{ + // Set the message handler to process any messages that we recieve + incomingMessageHandler_.setMessageHandler(handler); +} + +void NetServerUDP::destroyDestination(unsigned int destinationId) +{ + // Destroy this destination + std::map::iterator itor = + destinations_.find(destinationId); + if (itor != destinations_.end()) + { + NetServerUDPDestination *destination = (*itor).second; + destinations_.erase(destinationId); + destination->printStats(destinationId); + delete destination; + } + + // Get a new buffer from the pool (with the discconect type set) + NetMessage *message = NetMessagePool::instance()-> + getFromPool(NetMessage::DisconnectMessage, + destinationId, getIpAddress(destinationId)); + + // Add to outgoing message pool + incomingMessageHandler_.addMessage(message); +} + +unsigned int NetServerUDP::getDestination(IPaddress &address) +{ + // Search all destinations to find those that match + // port and ip address + std::map::iterator itor; + for (itor = destinations_.begin(); + itor != destinations_.end(); + itor ++) + { + unsigned int destinationId = (*itor).first; + NetServerUDPDestination *destination = (*itor).second; + if (destination->getAddress().host == address.host && + destination->getAddress().port == address.port) + { + return destinationId; + } + } + return 0; +} + +unsigned int NetServerUDP::addDestination(IPaddress &address) +{ + // Allocate new destination id + unsigned int destinationId = nextDestinationId_++; + + // Create new destination + NetServerUDPDestination *destination = + new NetServerUDPDestination(this, address); + destinations_[destinationId] = destination; + + // Get a new buffer from the pool (with the connect type set) + NetMessage *message = NetMessagePool::instance()-> + getFromPool(NetMessage::ConnectMessage, + destinationId, getIpAddress(destinationId)); + incomingMessageHandler_.addMessage(message); + + // Make the server destination id the first destination + if (serverDestinationId_ == 0) serverDestinationId_ = destinationId; + + // Return new id + return destinationId; +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerUDPDestination.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerUDPDestination.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerUDPDestination.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerUDPDestination.cpp 2006-11-17 09:06:04.000000000 +0900 @@ -0,0 +1,376 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include + +//#define UDP_TEST + +NetServerUDPDestination::NetServerUDPDestination(NetServerUDP *server, IPaddress &address) : + server_(server), + sendSeq_(1), recvSeq_(1), recvMessage_(0), + packetLogging_(false), + packetsSent_(0), packetsWaiting_(0), droppedPackets_(0) +{ + memcpy(&address_, &address, sizeof(address)); +} + +NetServerUDPDestination::~NetServerUDPDestination() +{ + // Tidy the currently recieving message + if (recvMessage_) NetMessagePool::instance()->addToPool(recvMessage_); + recvMessage_ = 0; + + // Tidy the current list of outgoing messages + while (!outgoingMessages_.empty()) + { + OutgoingMessage *message = outgoingMessages_.front(); + outgoingMessages_.pop_front(); + NetMessagePool::instance()->addToPool(message->message_); + delete message; + } + + // Tidy the current list of incoming messages + std::map::iterator itor; + for (itor = incomingMessages_.begin(); + itor != incomingMessages_.end(); + itor++) + { + NetMessagePool::instance()->addToPool((*itor).second); + } +} + +void NetServerUDPDestination::processData(unsigned int destinationId, int len, unsigned char *data, bool fin) +{ + if (len<6) + { + Logger::log(formatString("NetServerUDP: Small packet encountered, size %i", len)); + return; + } + + // We've got new data, remove the headers (packet type and sequence no) + data++; len--;// Remove type + Uint32 seqValue = 0; + memcpy(&seqValue, data, sizeof(seqValue)); + unsigned int seq = SDLNet_Read32(&seqValue); + data+=4; len-=4;// Remove seq + + if (packetLogging_) + { + Logger::log(formatString("Recieving part %u%s - %i bytes", seq, (fin?"*":" "), len)); + } + + // Is this is next packet we want + if (seq == recvSeq_) + { + // We've recieved the next message in the sequence + // add the data to the current buffer + addData(destinationId, len, data, fin); + recvSeq_++; + + // Check if we already have recieved the parts in the sequence after this one + std::map::iterator finditor; + while ((finditor = incomingMessages_.find(recvSeq_)) != incomingMessages_.end()) + { + // For each one we have, add it to the current buffer + NetMessage *message = (*finditor).second; + incomingMessages_.erase(finditor); + + addData(destinationId, + (int) message->getBuffer().getBufferUsed(), + (unsigned char *) message->getBuffer().getBuffer(), + (message->getMessageType() == NetMessage::DisconnectMessage)); + + NetMessagePool::instance()->addToPool(message); + + recvSeq_++; + } + } + else if (seq > recvSeq_) + { + // We've recieved a message later on in the sequence + // Check we have not already got this message + if (incomingMessages_.find(seq) == incomingMessages_.end()) + { + // We don't have this packet yet, add the data + NetMessage *message = NetMessagePool::instance()-> + getFromPool((fin?NetMessage::DisconnectMessage:NetMessage::BufferMessage), + 0, 0); + message->getBuffer().addDataToBuffer(data, len); + incomingMessages_[seq] = message; + } + } + + bool sendAck = true; +#ifdef UDP_TEST + // Test code to simulate packet loss + if (rand() < RAND_MAX / 4) + { + Logger::log("WARNING: UDP Test Enabled - Drop"); + sendAck = false; + } +#endif // UDP_TEST + + if (sendAck) + { + // Send an ack + if (packetLogging_) + { + Logger::log(formatString("Sending ack %u", seq)); + } + server_->packetVOut_[0]->len = 5; + server_->packetVOut_[0]->address.host = address_.host; + server_->packetVOut_[0]->address.port = address_.port; + server_->packetVOut_[0]->data[0] = server_->eDataAck; + server_->packetVOut_[0]->channel = -1; + SDLNet_Write32(seq, &server_->packetVOut_[0]->data[1]); + if (SDLNet_UDP_SendV(server_->udpsock_, server_->packetVOut_, 1) == 0) + { + Logger::log(formatString("NetServerUDP: Failed to send ack packet")); + } + } +} + +void NetServerUDPDestination::addData(unsigned int destinationId, int len, unsigned char *data, bool fin) +{ + // If this is a new message, create it + if (!recvMessage_) + { + recvMessage_ = NetMessagePool::instance()-> + getFromPool(NetMessage::BufferMessage, + destinationId, server_->getIpAddress(destinationId)); + } + + // Add the data + recvMessage_->getBuffer().addDataToBuffer(data, len); + + // If this is a finished message, complete it + if (fin) + { + server_->incomingMessageHandler_.addMessage(recvMessage_); + recvMessage_ = 0; + } +} + +void NetServerUDPDestination::processDataAck(unsigned int destinationId, int len, unsigned char *data) +{ + if (outgoingMessages_.empty()) return; + + // Get the sequence number + data++; len--;// Remove type + Uint32 seqValue = 0; + memcpy(&seqValue, data, sizeof(seqValue)); + unsigned int seq = SDLNet_Read32(&seqValue); + + if (packetLogging_) + { + Logger::log(formatString("Recieving ack %u", seq)); + } + + // Remove this packet from the list of sent packets + OutgoingMessage *message = outgoingMessages_.front(); + std::map::iterator findItor = + message->sentParts_.find(seq); + if (findItor != message->sentParts_.end()) + { + unsigned int theTime = SDL_GetTicks(); + MessagePart &part = (*findItor).second; + packetTime_ = theTime - part.sendtime; + packetsWaiting_--; // One packet sent and acked + + message->sentParts_.erase(findItor); + } + + // Check if we have finished sending this message + if (message->pendingParts_.empty() && + message->sentParts_.empty()) + { + // Inform the client that this message has been fully sent + server_->incomingMessageHandler_.addMessage(message->message_); + delete message; + outgoingMessages_.pop_front(); + } +} + +NetServerUDPDestination::OutgoingResult NetServerUDPDestination::checkOutgoing() +{ + OutgoingResult result = OutgoingEmpty; + + // Check we have stuff to send + if (outgoingMessages_.empty()) return result; + + const unsigned int MaximumOutstandingParts = 10; + // Send more parts if + // 1) There are more parts to send + // 2) We dont have more than MaximumOutstandingParts parts + OutgoingMessage *message = outgoingMessages_.front(); + while (!message->pendingParts_.empty() && + message->sentParts_.size() < MaximumOutstandingParts) + { + result = OutgoingSent; + + // Get the next part to send + MessagePart part = message->pendingParts_.front(); + + // Send this part + if (sendPart(part, *message->message_)) + { + message->pendingParts_.pop_front(); + message->sentParts_[part.seq] = part; + } + } + + // Check for any out of date parts + // Any parts we have sent and not recieved an ack for + if (!message->sentParts_.empty()) + { + // Iterate through all of the parts we have sent + // and have no ack for + unsigned int theTime = SDL_GetTicks(); + std::map::iterator itor; + for (itor = message->sentParts_.begin(); + itor != message->sentParts_.end(); + itor++) + { + // Check if this part was sent longer than the timeout + // period ago + MessagePart &part = (*itor).second; + if (theTime - part.sendtime > (part.retries + 2) * 250) + { + // If it was then this is a dropped part (or ack) + droppedPackets_++; + part.retries ++; + + // Check if we have exceeded maximum number of part retries + const int MaxNumberOfRetries = 10; + if (part.retries >= MaxNumberOfRetries) + { + // We have, its a timeout + return OutgoingTimeout; + } + else + { + // We have not, resent the part + sendPart(part, *message->message_); + } + } + else break; + } + } + + return result; +} + +void NetServerUDPDestination::addMessage(NetMessage &oldmessage) +{ + // Add a whole new buffer to send to this destination + + // Get a new buffer from the pool + NetMessage *message = NetMessagePool::instance()-> + getFromPool(NetMessage::SentMessage, + oldmessage.getDestinationId(), 0); + + // Add message to new buffer + NetBuffer &buffer = oldmessage.getBuffer(); + message->getBuffer().allocate(buffer.getBufferUsed()); + memcpy(message->getBuffer().getBuffer(), + buffer.getBuffer(), buffer.getBufferUsed()); + message->getBuffer().setBufferUsed(buffer.getBufferUsed()); + + // Split this message into parts that will be sent + const int SendLength = 800; + OutgoingMessage *outgoingMessage = new OutgoingMessage(); + outgoingMessage->message_ = message; + + // Check how many parts + // Remainder is the amount to send in last part + int parts = message->getBuffer().getBufferUsed() / SendLength; + int remainder = message->getBuffer().getBufferUsed() % SendLength; + if (remainder > 0) parts ++; + else remainder = SendLength; + + // Add each part into the list of parts pending to send to this client + for (int p=0; p RAND_MAX / 2) + { + outgoingMessage->pendingParts_.push_back(part); + } + else + { + Logger::log("WARNING: UDP Test Enabled - Out of sequence"); + outgoingMessage->pendingParts_.push_front(part); + } +#else // UDP_TEST + // The "normal" code to send sequenced packets + outgoingMessage->pendingParts_.push_back(part); +#endif // UDP_TEST + } + outgoingMessages_.push_back(outgoingMessage); +} + +bool NetServerUDPDestination::sendPart(MessagePart &part, NetMessage &message) +{ + // Actually send a part in a UDP packet + packetsSent_++; + + // Update the last time this part was sent + part.sendtime = SDL_GetTicks(); + + // Send this part + server_->packetVOut_[0]->len = 5 + part.length; + server_->packetVOut_[0]->address.host = address_.host; + server_->packetVOut_[0]->address.port = address_.port; + server_->packetVOut_[0]->channel = -1; + server_->packetVOut_[0]->data[0] = (part.end?server_->eDataFin:server_->eData); + SDLNet_Write32(part.seq, &server_->packetVOut_[0]->data[1]); + memcpy(&server_->packetVOut_[0]->data[5], &message.getBuffer().getBuffer()[part.offset], part.length); + if (SDLNet_UDP_SendV(server_->udpsock_, server_->packetVOut_, 1) == 0) + { + Logger::log(formatString("NetServerUDP: Failed to send part packet")); + return false; + } + + if (packetLogging_) + { + Logger::log(formatString("Sending part %u%s - %i bytes, %i offset", + part.seq, (part.end?"*":" "), part.length, part.offset)); + } + + return true; +} + +void NetServerUDPDestination::printStats(unsigned int destination) +{ + Logger::log(formatString("UDP Destination %u - %u sent, %u waiting, %u dropped, %u time", + destination, packetsSent_, packetsWaiting_, droppedPackets_, packetTime_)); +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerUDPDestination.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerUDPDestination.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerUDPDestination.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerUDPDestination.h 2006-11-17 09:06:04.000000000 +0900 @@ -0,0 +1,86 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_NetServerUDPDestinationh_INCLUDE__) +#define __INCLUDE_NetServerUDPDestinationh_INCLUDE__ + +#include +#include +#include +#include + +class NetServerUDP; +class NetServerUDPDestination +{ +public: + NetServerUDPDestination(NetServerUDP *server, IPaddress &address); + virtual ~NetServerUDPDestination(); + + IPaddress &getAddress() { return address_; } + + void processData(unsigned int destinationId, int len, unsigned char *data, bool fin); + void processDataAck(unsigned int destinationId, int len, unsigned char *data); + void addMessage(NetMessage &message); + void printStats(unsigned int destinationId); + + enum OutgoingResult + { + OutgoingSent, + OutgoingEmpty, + OutgoingTimeout + }; + + OutgoingResult checkOutgoing(); + +protected: + struct MessagePart + { + unsigned int seq; + unsigned int offset; + unsigned int length; + unsigned int sendtime; + unsigned int retries; + bool end; + }; + struct OutgoingMessage + { + NetMessage *message_; + std::list pendingParts_; + std::map sentParts_; + }; + + unsigned int droppedPackets_; // Packets droped + unsigned int packetsWaiting_; // Packets waiting to be sent + unsigned int packetsSent_; // Packets sent + unsigned int packetTime_; // Time for last packet + bool packetLogging_; + NetServerUDP *server_; + IPaddress address_; + unsigned int sendSeq_; + unsigned int recvSeq_; + NetMessage *recvMessage_; + std::map incomingMessages_; + std::list outgoingMessages_; + + void addData(unsigned int destinationId, int len, unsigned char *data, bool fin); + bool sendPart(MessagePart &part, NetMessage &message); +}; + +#endif // __INCLUDE_NetServerUDPDestinationh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerUDP.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerUDP.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/coms/NetServerUDP.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/coms/NetServerUDP.h 2006-11-14 21:17:14.000000000 +0900 @@ -0,0 +1,86 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_NetServerUDPh_INCLUDE__) +#define __INCLUDE_NetServerUDPh_INCLUDE__ + +#include +#include + +class NetServerUDP : + public NetInterface, + public NetMessageHandlerI +{ +public: + NetServerUDP(); + virtual ~NetServerUDP(); + + // NetInterface + virtual bool started(); + virtual bool connect(const char *hostName, int portNo); + virtual bool start(int portNo); + + virtual int processMessages(); + virtual void setMessageHandler(NetMessageHandlerI *handler); + + virtual void disconnectAllClients(); + virtual void disconnectClient(unsigned int client, bool delay = false); + virtual void sendMessage(NetBuffer &buffer); + virtual void sendMessage(NetBuffer &buffer, unsigned int destination); + + // NetMessageHandlerI + virtual void processMessage(NetMessage &message); + +protected: + friend class NetServerUDPDestination; + + enum PacketType + { + eConnect = 1, + eConnectAck = 2, + eDisconnect = 3, + eData = 4, + eDataFin = 5, + eDataAck = 6 + }; + + NetMessageHandler outgoingMessageHandler_; + NetMessageHandler incomingMessageHandler_; + UDPsocket udpsock_; + UDPpacket **packetVIn_; + UDPpacket **packetVOut_; + SDL_Thread *sendRecvThread_; + std::map destinations_; + unsigned int serverDestinationId_; + unsigned int nextDestinationId_; + + bool checkIncoming(); + bool checkOutgoing(); + bool startProcessing(); + void actualSendRecvFunc(); + bool sendConnect(IPaddress &address, PacketType type); + static int sendRecvThreadFunc(void *); + + void destroyDestination(unsigned int destinationId); + unsigned int getDestination(IPaddress &address); + unsigned int addDestination(IPaddress &address); +}; + +#endif // __INCLUDE_NetServerUDPh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/AutoDefenseDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/AutoDefenseDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/AutoDefenseDialog.cpp 2006-02-24 23:55:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/AutoDefenseDialog.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -116,13 +116,16 @@ } else { - std::list parachutes; - tank->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryParachute, parachutes); - if (parachutes.size() == 1) + std::list ¶s = + tank->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryParachute); + std::list::iterator parasItor = paras.begin(); + for (int i=1; igetCurrentPosition() && parasItor != paras.end(); i++) parasItor++; + + if (parasItor != paras.end()) { ((TankAIHuman *) tank->getTankAI())->parachutesUpDown( - parachutes.front()->getAccessoryId()); + (*parasItor)->getAccessoryId()); } } @@ -133,9 +136,9 @@ } else { - std::list shields; - tank->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryShield, shields); + std::list &shields = + tank->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryShield); std::list::iterator shieldsItor = shields.begin(); for (int i=1; igetCurrentPosition() && shieldsItor != shields.end(); i++) shieldsItor++; @@ -177,9 +180,9 @@ "Turns off shields."); ddshields_->clear(); std::list::iterator shieldsItor; - std::list shields; - tank->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryShield, shields); + std::list &shields = + tank->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryShield); ddshields_->addEntry(GLWSelectorEntry("Shields Off", &shieldsOffTip)); for (shieldsItor = shields.begin(); shieldsItor != shields.end(); @@ -203,26 +206,35 @@ &shield->getToolTip(), 0, shield->getTexture())); } - // Put parachutes info - static GLWTip paraOffTip("Parachutesields Off", + // Put paras info + static GLWTip parachutesOffTip("Parachutes Off", "Turns off parachutes."); - static GLWTip paraOnTip("Parachutesields On", - "Turns on parachutes."); ddpara_->clear(); - ddpara_->addEntry(GLWSelectorEntry("Parachutes Off", ¶OffTip)); - if (tank->getAccessories().getParachutes().getNoParachutes() != 0) + std::list::iterator parachutesItor; + std::list ¶chutes = + tank->getAccessories().getAllAccessoriesByType( + AccessoryPart::AccessoryParachute); + ddpara_->addEntry(GLWSelectorEntry("Parachutes Off", ¶chutesOffTip)); + for (parachutesItor = parachutes.begin(); + parachutesItor != parachutes.end(); + parachutesItor++) { + Accessory *parachute = (*parachutesItor); + int paracount = tank->getAccessories().getAccessoryCount(parachute); char buffer[256]; - if (tank->getAccessories().getParachutes().getNoParachutes() > 0) + if (paracount > 0) { - snprintf(buffer, 256, "Parachutes On (%i)", - tank->getAccessories().getParachutes().getNoParachutes()); + snprintf(buffer, 256, "%s (%i)", + parachute->getName(), + paracount); } else { - snprintf(buffer, 256, "Parachutes On (In)"); + snprintf(buffer, 256, "%s (In)", + parachute->getName()); } - ddpara_->addEntry(GLWSelectorEntry(buffer, ¶OnTip)); + ddpara_->addEntry(GLWSelectorEntry(buffer, + ¶chute->getToolTip(), 0, parachute->getTexture())); } // Set the currently shown items @@ -247,18 +259,23 @@ { ddshields_->setCurrentText("Shields Off"); } - if (tank->getParachute().parachutesEnabled()) + + // Set the currently shown items + Accessory *currentParachute = tank->getParachute().getCurrentParachute(); + if (currentParachute) { char buffer[256]; - if (tank->getAccessories().getParachutes().getNoParachutes() > 0) + if (tank->getAccessories().getAccessoryCount(currentParachute) > 0) { - snprintf(buffer, 256, "Parachutes On (%i)", - tank->getAccessories().getParachutes().getNoParachutes()); + snprintf(buffer, 256, "%s (%i)", + currentParachute->getName(), + tank->getAccessories().getAccessoryCount(currentParachute)); } else { - snprintf(buffer, 256, "Parachutes On (In)"); - } + snprintf(buffer, 256, "%s (In)", + currentParachute->getName()); + } ddpara_->setCurrentText(buffer); } else diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/BuyAccessoryDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/BuyAccessoryDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/BuyAccessoryDialog.cpp 2006-05-16 00:12:39.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/BuyAccessoryDialog.cpp 2006-10-03 05:46:55.000000000 +0900 @@ -39,27 +39,14 @@ GLWWindow("", 10.0f, 10.0f, 465.0f, 300.0f, 0, "Allows the current player to buy and sell\n" "weapons and other accessories."), - firstDrawTime_(true) + firstDrawTime_(true), sellTab_(0) { okId_ = addWidget(new GLWTextButton("Ok", 400, 10, 55, this, GLWButton::ButtonFlagOk | GLWButton::ButtonFlagCenterX))->getId(); - buyWeaponTab_ = (GLWTab *) - addWidget(new GLWTab("Weapons", 10, 40, 450, 160)); - buyOtherTab_ = (GLWTab *) - addWidget(new GLWTab("Defense", 10, 40, 450, 160)); - sellTab_ = (GLWTab *) - addWidget(new GLWTab("Inv", 10, 40, 450, 160)); - favouritesTab_ = (GLWTab *) - addWidget(new GLWTab("Favorites", 10, 40, 450, 160)); topPanel_ = (GLWPanel *) addWidget(new GLWPanel(10, 265, 450, 50)); - buyWeaponTab_->setHandler(this); - buyOtherTab_->setHandler(this); - sellTab_->setHandler(this); - favouritesTab_->setHandler(this); - defaultTab_ = (GLWCheckBoxText *) addWidget(new GLWCheckBoxText(18.0f, 230.0f, "Default Tab", false, 3.0f)); defaultTab_->getCheckBox().setW(12); @@ -82,7 +69,7 @@ void BuyAccessoryDialog::draw() { - if (firstDrawTime_) + if (sellTab_ && firstDrawTime_) { firstDrawTime_ = false; float screenHeight = (float) GLViewPort::getHeight(); @@ -91,13 +78,22 @@ if (addition > 200) addition = 200; setH(300 + addition); - buyWeaponTab_->setH(165 + addition); - sellTab_->setH(165 + addition); - buyOtherTab_->setH(165 + addition); - favouritesTab_->setH(165 + addition); topPanel_->setY(240 + addition); defaultTab_->setY(190 + addition); + std::list::iterator itor; + for (itor = getWidgets().begin(); + itor != getWidgets().end(); + itor++) + { + GLWPanel::GLWPanelEntry &entry = (*itor); + if (entry.widget->getMetaClassId() == sellTab_->getMetaClassId()) + { + GLWTab *tab = (GLWTab *) entry.widget; + tab->setH(165 + addition); + } + } + needCentered_ = true; } @@ -127,6 +123,33 @@ ScorchedClient::instance()->getOptionsGame().getNoRounds()))); } +void BuyAccessoryDialog::addTabs() +{ + if (sellTab_) return; + + std::set &groupNames = + ScorchedClient::instance()-> + getAccessoryStore().getGroupNames(); + std::set::reverse_iterator itor; + for (itor = groupNames.rbegin(); + itor != groupNames.rend(); + itor++) + { + std::string name = (*itor); + GLWTab *tab = (GLWTab *) + addWidget(new GLWTab((char *) name.c_str(), 10, 40, 450, 160)); + buyTabs_[name] = tab; + tab->setHandler(this); + } + sellTab_ = (GLWTab *) + addWidget(new GLWTab("inv", 10, 40, 450, 160)); + sellTab_->setHandler(this); + + favouritesTab_ = (GLWTab *) + addWidget(new GLWTab("fav", 10, 40, 450, 160)); + favouritesTab_->setHandler(this); +} + void BuyAccessoryDialog::playerRefresh() { addPlayerName(); @@ -135,33 +158,64 @@ void BuyAccessoryDialog::playerRefreshKeepPos() { - int buyCurrent = buyWeaponTab_->getScrollBar().getCurrent(); - int otherCurrent = buyOtherTab_->getScrollBar().getCurrent(); - int sellCurrent = sellTab_->getScrollBar().getCurrent(); - int favCurrent = favouritesTab_->getScrollBar().getCurrent(); + std::map scrollPositions; + std::list::iterator itor; + for (itor = getWidgets().begin(); + itor != getWidgets().end(); + itor++) + { + GLWPanel::GLWPanelEntry &entry = (*itor); + if (entry.widget->getMetaClassId() == sellTab_->getMetaClassId()) + { + GLWTab *tab = (GLWTab *) entry.widget; + scrollPositions[tab->getName()] = tab->getScrollBar().getCurrent(); + } + } + addPlayerName(); addPlayerWeapons(); - buyWeaponTab_->getScrollBar().setCurrent(buyCurrent); - buyOtherTab_->getScrollBar().setCurrent(otherCurrent); - sellTab_->getScrollBar().setCurrent(sellCurrent); - favouritesTab_->getScrollBar().setCurrent(favCurrent); + + for (itor = getWidgets().begin(); + itor != getWidgets().end(); + itor++) + { + GLWPanel::GLWPanelEntry &entry = (*itor); + if (entry.widget->getMetaClassId() == sellTab_->getMetaClassId()) + { + GLWTab *tab = (GLWTab *) entry.widget; + tab->getScrollBar().setCurrent(scrollPositions[tab->getName()]); + } + } } void BuyAccessoryDialog::addPlayerWeapons() { - buyMap_.clear(); - sellMap_.clear(); - favMap_.clear(); - - favouritesTab_->clear(); - sellTab_->clear(); - buyWeaponTab_->clear(); - buyOtherTab_->clear(); + std::list::iterator itor; + for (itor = getWidgets().begin(); + itor != getWidgets().end(); + itor++) + { + GLWPanel::GLWPanelEntry &entry = (*itor); + if (entry.widget->getMetaClassId() == sellTab_->getMetaClassId()) + { + GLWTab *tab = (GLWTab *) entry.widget; + tab->clear(); + } + } addPlayerFavorites(); addPlayerWeaponsSell(); - addPlayerWeaponsBuy(buyWeaponTab_, true); - addPlayerWeaponsBuy(buyOtherTab_, false); + + std::set &groupNames = + ScorchedClient::instance()-> + getAccessoryStore().getGroupNames(); + std::set::iterator groupItor; + for (groupItor = groupNames.begin(); + groupItor != groupNames.end(); + groupItor++) + { + addPlayerWeaponsBuy(buyTabs_[*groupItor], (*groupItor).c_str()); + } } void BuyAccessoryDialog::addPlayerFavorites() @@ -174,9 +228,9 @@ ScorchedClient::instance()-> getAccessoryStore().getAllAccessories( OptionsDisplay::instance()->getSortAccessories()); - std::list::iterator itor; - for (itor = acessories.begin(); - itor != acessories.end(); + std::list::reverse_iterator itor; + for (itor = acessories.rbegin(); + itor != acessories.rend(); itor++) { Accessory *current = *itor; @@ -187,33 +241,20 @@ } } -void BuyAccessoryDialog::addPlayerWeaponsBuy(GLWTab *tab, bool showWeapons) +void BuyAccessoryDialog::addPlayerWeaponsBuy(GLWTab *tab, const char *group) { Tank *tank = ScorchedClient::instance()->getTankContainer().getCurrentTank(); if (!tank) return; - std::list weapons; - if (showWeapons) weapons = ScorchedClient::instance()-> - getAccessoryStore().getAllWeapons( - OptionsDisplay::instance()->getSortAccessories()); - else weapons = ScorchedClient::instance()-> - getAccessoryStore().getAllOthers( - OptionsDisplay::instance()->getSortAccessories()); - - std::list accessories; - std::list::iterator itor; - for (itor = weapons.begin(); - itor != weapons.end(); - itor++) - { - Accessory *current = (*itor); - accessories.push_back(current); - } + std::list weapons = ScorchedClient::instance()-> + getAccessoryStore().getAllAccessoriesByGroup( + group, + OptionsDisplay::instance()->getSortAccessories()); float height = 10.0f; - std::list::iterator itor2; - for (itor2 = accessories.begin(); - itor2 != accessories.end(); + std::list::reverse_iterator itor2; + for (itor2 = weapons.rbegin(); + itor2 != weapons.rend(); itor2++) { Accessory *current = (*itor2); @@ -229,11 +270,12 @@ float height = 10.0f; std::list tankAccessories; tank->getAccessories().getAllAccessories( - tankAccessories, + tankAccessories); + ScorchedClient::instance()->getAccessoryStore().sortList(tankAccessories, OptionsDisplay::instance()->getSortAccessories()); - std::list::iterator itor; - for (itor = tankAccessories.begin(); - itor != tankAccessories.end(); + std::list::reverse_iterator itor; + for (itor = tankAccessories.rbegin(); + itor != tankAccessories.rend(); itor++) { Accessory *current = *itor; @@ -323,13 +365,17 @@ void BuyAccessoryDialog::windowInit(const unsigned state) { + addTabs(); loadFavorites(); sortBox_->setState(OptionsDisplay::instance()->getSortAccessories()); Tank *tank = ScorchedClient::instance()->getTankContainer().getCurrentTank(); if (tank) { - buyWeaponTab_->setDepressed(); + if (buyTabs_.find("weapon") != buyTabs_.end()) + { + buyTabs_["weapon"]->setDepressed(); + } const char *buyTab = OptionsDisplay::instance()->getBuyTab(); std::list::iterator itor; for (itor = getWidgets().begin(); @@ -337,7 +383,7 @@ itor++) { GLWPanel::GLWPanelEntry &entry = (*itor); - if (entry.widget->getMetaClassId() == buyWeaponTab_->getMetaClassId()) + if (entry.widget->getMetaClassId() == sellTab_->getMetaClassId()) { GLWTab *tab = (GLWTab *) entry.widget; if (0 == strcmp(buyTab, tab->getName())) @@ -362,7 +408,7 @@ itor++) { GLWPanel::GLWPanelEntry &entry = (*itor); - if (entry.widget->getMetaClassId() == buyWeaponTab_->getMetaClassId()) + if (entry.widget->getMetaClassId() == sellTab_->getMetaClassId()) { GLWTab *tab = (GLWTab *) entry.widget; if (tab->getDepressed()) @@ -399,7 +445,7 @@ itor++) { GLWPanel::GLWPanelEntry &entry = (*itor); - if (entry.widget->getMetaClassId() == buyWeaponTab_->getMetaClassId()) + if (entry.widget->getMetaClassId() == sellTab_->getMetaClassId()) { GLWTab *tab = (GLWTab *) entry.widget; if (tab->getDepressed()) @@ -430,8 +476,11 @@ { favorites_.erase((*findItor).second->getName()); } + + playerRefreshKeepPos(); + favouritesTab_->calculateVisible(); + playerRefreshKeepPos(); } - playerRefreshKeepPos(); } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/BuyAccessoryDialog.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/BuyAccessoryDialog.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/BuyAccessoryDialog.h 2006-01-28 02:14:41.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/BuyAccessoryDialog.h 2006-09-11 09:25:22.000000000 +0900 @@ -55,8 +55,7 @@ protected: unsigned int okId_; bool firstDrawTime_; - GLWTab *buyWeaponTab_; - GLWTab *buyOtherTab_; + std::map buyTabs_; GLWTab *sellTab_; GLWTab *favouritesTab_; GLWPanel *topPanel_; @@ -67,6 +66,7 @@ std::map favMap_; std::set favorites_; + void addTabs(); void loadFavorites(); void saveFavorites(); void playerRefresh(); @@ -75,7 +75,7 @@ void addPlayerWeapons(); void addPlayerWeaponsSell(); void addPlayerFavorites(); - void addPlayerWeaponsBuy(GLWTab *tab, bool weapons); + void addPlayerWeaponsBuy(GLWTab *tab, const char *group); bool addAccessory(Tank *tank, GLWTab *tab, float height, Accessory *current); }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/CameraDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/CameraDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/CameraDialog.cpp 2006-03-10 09:58:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/CameraDialog.cpp 2006-10-03 00:34:26.000000000 +0900 @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -157,16 +156,18 @@ void CameraDialog::drawLandscape() { GLCameraFrustum::instance()->draw(0); + Landscape::instance()->drawLand(); RenderTargets::instance()->render3D.draw(0); - Landscape::instance()->draw(0); + Landscape::instance()->drawWater(); + Landscape::instance()->drawObjects(); ScorchedClient::instance()->getActionController().draw(0); ScorchedClient::instance()->getParticleEngine().draw(0); targetCam_.drawPrecipitation(); } -void CameraDialog::mouseDown(float x, float y, bool &skipRest) +void CameraDialog::mouseDown(int button, float x, float y, bool &skipRest) { - GLWWindow::mouseDown(x, y, skipRest); + GLWWindow::mouseDown(button, x, y, skipRest); if (x > x_ && x < x_ + 120 && y > y_ && y < y_ + 40) { int type = (int) targetCam_.getCameraType(); type++; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/CameraDialog.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/CameraDialog.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/CameraDialog.h 2005-06-13 17:24:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/CameraDialog.h 2006-09-22 06:02:30.000000000 +0900 @@ -34,7 +34,7 @@ // Inherited from GLWWindow virtual void draw(); virtual void simulate(float frameTime); - virtual void mouseDown(float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); virtual void savePosition(XMLNode *node); virtual void loadPosition(XMLNode *node); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/ConnectDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/ConnectDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/ConnectDialog.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/ConnectDialog.cpp 2006-11-01 10:32:35.000000000 +0900 @@ -28,7 +28,6 @@ #include #include #include -#include #include #include #include @@ -48,7 +47,8 @@ ConnectDialog::ConnectDialog() : GLWWindow("Connect", -100.0f, 10.0f, 20.0f, 20.0f, eNoDraw | eNoTitle, "Connection dialog"), - tryConnection_(true) + connectionState_(eWaiting), + tryCount_(0), lastTime_(0), idStore_(0) { } @@ -56,33 +56,63 @@ { } -void ConnectDialog::simulate(float frameTime) +UniqueIdStore &ConnectDialog::getIdStore() { - if (tryConnection_) + if (!idStore_) { - tryConnection_ = false; + idStore_ = new UniqueIdStore(); + // Get the unique id + if (!idStore_->loadStore()) + { + LoggerInfo info (LoggerInfo::TypeNormal, + "Failed to load id store", ""); + LogDialog::instance()->logMessage(info); + } + } + return *idStore_; +} - int tryCount = 0; - while (!tryConnection()) +void ConnectDialog::simulate(float frameTime) +{ + time_t currentTime = time(0); + if (connectionState_ == eWaiting) + { + if (currentTime - lastTime_ > 3) { - if (++tryCount>2) + if (tryCount_<3) { - LoggerInfo info (LoggerInfo::TypeNormal, - "Could not connect to server.", ""); - LogDialog::instance()->logMessage(info); - break; + lastTime_ = currentTime; + tryConnection(); } } } + else if (connectionState_ == eFinishedTryingConnection) + { + finishedTryingConnection(); + } } -bool ConnectDialog::tryConnection() +void ConnectDialog::tryConnection() { const char *serverName = (OptionsParam::instance()->getConnect()[0]? OptionsParam::instance()->getConnect(): "Localhost"); - unsigned int noPlayers = 1; + + std::string hostPart = serverName; + char *colon = strchr((char *)serverName, ':'); + int port = ScorchedPort; + if (colon) + { + char *stop; + *colon = '\0'; + colon++; + port = strtol(colon, &stop, 10); + hostPart = serverName; + colon--; + *colon = ':'; + } + LogDialog::instance()->setServerName( formatString("Connecting to : %s", serverName)); @@ -98,65 +128,82 @@ LogDialog::instance()->logMessage(info); } - ScorchedClient::instance()->getMainLoop().draw(); - ScorchedClient::instance()->getMainLoop().swapBuffers(); - - const char *uniqueId = ""; + connectionState_ = eTryingConnection; if (OptionsParam::instance()->getConnectedToServer()) { - std::string hostPart; - hostPart = serverName; - char *colon = strchr((char *)serverName, ':'); - DWORD port = ScorchedPort; - if (colon) - { - char *stop; - *colon = '\0'; - colon++; - port = strtol(colon, &stop, 10); - hostPart = serverName; - colon--; - *colon = ':'; - } + // This point should only ever be called by one thread + // so cheat + static ThreadParams params; + params.host = hostPart; + params.port = port; + params.dialog = this; - // Try to connect to the server - if (!ScorchedClient::instance()->getNetInterface(). - connect((char *) hostPart.c_str(), port)) + SDL_CreateThread(ConnectDialog::tryRemoteConnection, ¶ms); + } + else + { + tryLocalConnection(); + } +} + +int ConnectDialog::tryRemoteConnection(void *inParams) +{ + ThreadParams *params = (ThreadParams *) inParams; + char *host = (char *) params->host.c_str(); + int port = params->port; + ConnectDialog *dialog = params->dialog; + + if (ScorchedClient::instance()->getNetInterface(). + connect(host, port)) + { + if (OptionsParam::instance()->getConnectedToServer()) { + IPaddress address; + if (SDLNet_ResolveHost(&address, host, 0) == 0) { - LoggerInfo info (LoggerInfo::TypeNormal, - " Connection Failed.", ""); - LogDialog::instance()->logMessage(info); + unsigned int ipAddress = SDLNet_Read32(&address.host); + dialog->uniqueId_ = dialog->getIdStore().getUniqueId(ipAddress); } + } + } - ScorchedClient::instance()->getMainLoop().draw(); - ScorchedClient::instance()->getMainLoop().swapBuffers(); + dialog->connectionState_ = eFinishedTryingConnection; + return 0; +} - SDL_Delay(3 * 1000); - return false; - } +void ConnectDialog::tryLocalConnection() +{ + connectionState_ = eFinishedTryingConnection; +} - // Get the unique id - if (!idStore_.loadStore()) +void ConnectDialog::finishedTryingConnection() +{ + // Check to see if the connection attempt was successful + if (!ScorchedClient::instance()->getNetInterface().started()) + { + LoggerInfo info (LoggerInfo::TypeNormal, + " Connection Failed.", ""); + LogDialog::instance()->logMessage(info); + + if (++tryCount_>2) { LoggerInfo info (LoggerInfo::TypeNormal, - "Failed to load id store", ""); + "Could not connect to server.", ""); LogDialog::instance()->logMessage(info); - return false; + + connectionState_ = eFinished; } - IPaddress address; - if (SDLNet_ResolveHost(&address, (char *) hostPart.c_str(), 0) != 0) + else { - LoggerInfo info (LoggerInfo::TypeNormal, - formatString("Failed to resolve server name %s", - hostPart.c_str()), ""); - LogDialog::instance()->logMessage(info); - return false; + connectionState_ = eWaiting; } - unsigned int ipAddress = SDLNet_Read32(&address.host); - uniqueId = idStore_.getUniqueId(ipAddress); + + return; } - else + + // Check the number of players that are connecting + unsigned int noPlayers = 1; + if (!OptionsParam::instance()->getConnectedToServer()) { noPlayers = ScorchedServer::instance()->getOptionsGame().getNoMaxPlayers() - ScorchedServer::instance()->getTankContainer().getNoOfTanks(); @@ -168,7 +215,7 @@ connectMessage.setProtocolVersion(ScorchedProtocolVersion); connectMessage.setUserName(OptionsParam::instance()->getUserName()); connectMessage.setPassword(OptionsParam::instance()->getPassword()); - connectMessage.setUniqueId(uniqueId); + connectMessage.setUniqueId(uniqueId_.c_str()); connectMessage.setHostDesc(OptionsDisplay::instance()->getHostDescription()); connectMessage.setNoPlayers(noPlayers); if (!ComsMessageSender::sendToServer(connectMessage)) @@ -178,6 +225,6 @@ LogDialog::instance()->logMessage(info); } - return true; + connectionState_ = eFinished; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/ConnectDialog.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/ConnectDialog.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/ConnectDialog.h 2004-11-27 11:56:04.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/ConnectDialog.h 2006-11-01 10:32:35.000000000 +0900 @@ -23,6 +23,7 @@ #include #include +#include class ConnectDialog : public GLWWindow { @@ -32,14 +33,34 @@ // Inherited from GLWWindow virtual void simulate(float frameTime); - UniqueIdStore &getIdStore() { return idStore_; } + UniqueIdStore &getIdStore(); protected: - static ConnectDialog *instance_; - UniqueIdStore idStore_; - bool tryConnection_; + enum ConnectState + { + eWaiting, + eTryingConnection, + eFinishedTryingConnection, + eFinished + }; + struct ThreadParams + { + ConnectDialog *dialog; + std::string host; + int port; + }; - bool tryConnection(); + static ConnectDialog *instance_; + UniqueIdStore *idStore_; + int tryCount_; + ConnectState connectionState_; + time_t lastTime_; + std::string uniqueId_; + + void tryConnection(); + static int tryRemoteConnection(void *); + void tryLocalConnection(); + void finishedTryingConnection(); private: ConnectDialog(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/HelpButtonDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/HelpButtonDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/HelpButtonDialog.cpp 2006-04-30 20:56:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/HelpButtonDialog.cpp 2006-08-04 19:09:49.000000000 +0900 @@ -127,7 +127,7 @@ void HelpButtonDialog::VolumeMenu::menuSelection(const char* menuName, const int position, GLMenuItem &item) { - int data = (int) item.getUserData(); + int data = (long) item.getUserData(); if (data != -1) { int volume = int(float(data) * 12.8f); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/InventoryDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/InventoryDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/InventoryDialog.cpp 2006-04-05 09:42:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/InventoryDialog.cpp 2006-09-22 06:02:30.000000000 +0900 @@ -113,12 +113,13 @@ if (!tank) return; std::list tankAccessories; - tank->getAccessories().getAllAccessories( - tankAccessories, + tank->getAccessories().getAllAccessories(tankAccessories); + ScorchedClient::instance()->getAccessoryStore().sortList(tankAccessories, OptionsDisplay::instance()->getSortAccessories()); - std::list::iterator itor; - for (itor = tankAccessories.begin(); - itor != tankAccessories.end(); + + std::list::reverse_iterator itor; + for (itor = tankAccessories.rbegin(); + itor != tankAccessories.rend(); itor++) { Accessory *current = *itor; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/MessageDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/MessageDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/MessageDialog.cpp 2006-06-23 00:44:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/MessageDialog.cpp 2006-09-30 01:09:39.000000000 +0900 @@ -58,11 +58,6 @@ { if (!texts_.empty()) { - if (currentText_.size()) - { - GLConsole::instance()->addLine( - false, currentText_.c_str()); - } currentText_ = texts_.front(); texts_.pop_front(); showTime_ = 5.0f; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/PlayerDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/PlayerDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/PlayerDialog.cpp 2006-07-10 07:01:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/PlayerDialog.cpp 2006-09-22 08:43:12.000000000 +0900 @@ -249,9 +249,13 @@ aiitor != tankAIStore.getAis().end(); aiitor++) { - typeDropDown_->addEntry( - GLWSelectorEntry((*aiitor)->getName(), - &(*aiitor)->getDescription())); + TankAI *ai = (*aiitor); + if (ai->availableForPlayers()) + { + typeDropDown_->addEntry( + GLWSelectorEntry(ai->getName(), + &(*aiitor)->getDescription())); + } } } currentPlayerId_ = 0; @@ -319,7 +323,21 @@ entry.getTextureWidth() = 32; colorDropDown_->addEntry(entry); } - colorDropDown_->setCurrentColor(tank->getColor()); + + if (OptionsParam::instance()->getConnectedToServer()) + { + Vector onlineColor = + OptionsDisplay::instance()->getOnlineColor(); + colorDropDown_->setCurrentColor(onlineColor); + if (colorDropDown_->getCurrentColor() != onlineColor) + { + colorDropDown_->setCurrentColor(tank->getColor()); + } + } + else + { + colorDropDown_->setCurrentColor(tank->getColor()); + } } } @@ -369,6 +387,11 @@ viewer_->getModelName()); OptionsDisplay::instance()->getOnlineUserIconEntry().setValue( imageList_->getCurrent()); + if (ScorchedClient::instance()->getOptionsGame().getTeams() == 1) + { + OptionsDisplay::instance()->getOnlineColorEntry().setValue( + colorDropDown_->getCurrentColor()); + } } // Get the model type (turns a "Random" choice into a proper name) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/ProgressDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/ProgressDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/ProgressDialog.cpp 2006-04-13 00:19:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/ProgressDialog.cpp 2006-11-01 10:32:35.000000000 +0900 @@ -208,10 +208,7 @@ timeDelay += localTimer.getTimeDifference(); clientEventLoop(); - - progressLabel_->setText(op); - progress_->setCurrent(percentage); - + setProgress(op, percentage); //for (int i=0; i<100000000; i++); if ((timeDelay > 0.25f) || @@ -227,3 +224,9 @@ } } +void ProgressDialog::setProgress(const char *op, const float percentage) +{ + progressLabel_->setText(op); + progress_->setCurrent(percentage); +} + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/ProgressDialog.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/ProgressDialog.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/ProgressDialog.h 2006-04-13 00:19:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/ProgressDialog.h 2006-11-01 10:32:35.000000000 +0900 @@ -41,6 +41,7 @@ void changeTip(); void setIcon(const char *iconName); + void setProgress(const char *op, const float percentage); protected: static ProgressDialog *instance_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/ScoreDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/ScoreDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/ScoreDialog.cpp 2006-06-13 00:44:10.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/ScoreDialog.cpp 2006-11-08 20:45:47.000000000 +0900 @@ -40,9 +40,10 @@ static const float rankLeft = 15.0f; static const float iconLeft = 5.0f; static const float nameLeft = 35.0f; -static const float killsLeft = 235.0f; -static const float assistsLeft = 265.0f; -static const float winsLeft = 295.0f; +static const float livesLeft = 230.0f; +static const float killsLeft = 255.0f; +static const float assistsLeft = 280.0f; +static const float winsLeft = 305.0f; static const float moneyLeft = 325.0f; static const float scoreLeft = 405.0f; static const float statsLeft = 475.0f; @@ -215,36 +216,78 @@ 12, x_ + nameLeft, y_ + h_ - y - lineSpacer - 26.0f, 0.0f, "Name"); + GLWToolTip::instance()->addToolTip("Name", "The name of the player", + x_ + nameLeft, y_ + h_ - y - lineSpacer - 26.0f, 100.0f, 16.0f); + GLWFont::instance()->getSmallPtFont()->draw( white, 12, x_ + killsLeft, y_ + h_ - y - lineSpacer - 26.0f, 0.0f, "K"); + GLWToolTip::instance()->addToolTip("Kills", + formatString("The number of players this player has killed.\n%i score awarded per kill.", + ScorchedClient::instance()->getOptionsGame().getScorePerKill()), + x_ + killsLeft, y_ + h_ - y - lineSpacer - 26.0f, 20.0f, 16.0f); + GLWFont::instance()->getSmallPtFont()->draw( white, 12, x_ + winsLeft, y_ + h_ - y - lineSpacer - 26.0f, 0.0f, "W"); + GLWToolTip::instance()->addToolTip("Wins", + formatString("The number of rounds this player has won.\n%i score awarded per round won.", + ScorchedClient::instance()->getOptionsGame().getScoreWonForRound()), + x_ + winsLeft, y_ + h_ - y - lineSpacer - 26.0f, 20.0f, 16.0f); + GLWFont::instance()->getSmallPtFont()->draw( white, 12, x_ + assistsLeft, y_ + h_ - y - lineSpacer - 26.0f, 0.0f, "A"); + GLWToolTip::instance()->addToolTip("Assists", + formatString("The number of kills this player has assisted in.\n%i score awarded per assist.", + ScorchedClient::instance()->getOptionsGame().getScorePerAssist()), + x_ + assistsLeft, y_ + h_ - y - lineSpacer - 26.0f, 20.0f, 16.0f); + GLWFont::instance()->getSmallPtFont()->draw( white, 12, - x_ + moneyLeft, y_ + h_ - y - lineSpacer - 26.0f, 0.0f, + x_ + moneyLeft + 10, y_ + h_ - y - lineSpacer - 26.0f, 0.0f, "$"); + GLWToolTip::instance()->addToolTip("Money", + formatString("The amount of money this player has.\n%.1f score awarded per dollar.", + float(ScorchedClient::instance()->getOptionsGame().getScorePerMoney()) / 100.0f), + x_ + moneyLeft, y_ + h_ - y - lineSpacer - 26.0f, 20.0f, 16.0f); + GLWFont::instance()->getSmallPtFont()->draw( white, 12, x_ + scoreLeft, y_ + h_ - y - lineSpacer - 26.0f, 0.0f, "Score"); + GLWToolTip::instance()->addToolTip("Score", + "The current score for this player.\nCalculated from the number of kills, wins, money and bonus score awards.", + x_ + scoreLeft, y_ + h_ - y - lineSpacer - 26.0f, 80.0f, 16.0f); + GLWFont::instance()->getSmallPtFont()->draw( white, 12, x_ + statsLeft, y_ + h_ - y - lineSpacer - 26.0f, 0.0f, "Rank"); + GLWToolTip::instance()->addToolTip("Rank", "The current online ranking for this player.", + x_ + statsLeft, y_ + h_ - y - lineSpacer - 26.0f, 40.0f, 16.0f); + + if (ScorchedClient::instance()->getOptionsGame().getPlayerLives() > 1) + { + GLWFont::instance()->getSmallPtFont()->draw( + white, + 12, + x_ + livesLeft, y_ + h_ - y - lineSpacer - 26.0f, 0.0f, + "L"); + GLWToolTip::instance()->addToolTip("Lives", + formatString("The current number of lives this player has left.\n%i score awarded for each life remaining.", + ScorchedClient::instance()->getOptionsGame().getScoreWonForLives()), + x_ + livesLeft, y_ + h_ - y - lineSpacer - 26.0f, 20.0f, 16.0f); + } y+= lineSpacer + lineSpacer; int tmpLastScoreValue = 0; @@ -390,10 +433,11 @@ strcat(name, current->getState().getSmallStateString()); strcat(name, ")"); } - name[26] = '\0'; // Limit length if (current->getState().getSpectator()) { + name[50] = '\0'; // Limit length + // Print the name on the screen GLWFont::instance()->getSmallPtFont()->draw( current->getColor(), @@ -409,6 +453,8 @@ } else { + name[26] = '\0'; // Limit length + GLState state(GLState::TEXTURE_ON); glColor3f(1.0f, 1.0f, 1.0f); current->getAvatar().getTexture()->draw(); @@ -475,5 +521,11 @@ 10, textX + statsLeft, textY, 0.0f, formatString("%s", current->getScore().getStatsRank())); + if (ScorchedClient::instance()->getOptionsGame().getPlayerLives() > 1) + GLWFont::instance()->getSmallPtFont()->draw( + current->getColor(), + 10, + textX + livesLeft, textY, 0.0f, + formatString("%i", current->getState().getLives())); } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/SkipAllDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/SkipAllDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/SkipAllDialog.cpp 2005-12-19 20:27:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/SkipAllDialog.cpp 2006-11-01 10:32:35.000000000 +0900 @@ -40,11 +40,13 @@ } SkipAllDialog::SkipAllDialog() : - GLWWindow("", 250.0f, 80.0f, 0, ""), + GLWWindow("", 270.0f, 80.0f, 0, ""), skipAll_(false) { label_ = (GLWLabel *) addWidget(new GLWLabel(10, 45)); - cancelId_ = addWidget(new GLWTextButton("Cancel", 135, 10, 105, this, + nowId_ = addWidget(new GLWTextButton("Skip Now", 10, 10, 130, this, + GLWButton::ButtonFlagCenterX))->getId(); + cancelId_ = addWidget(new GLWTextButton("Cancel", 155, 10, 105, this, GLWButton::ButtonFlagCancel | GLWButton::ButtonFlagCenterX))->getId(); } @@ -60,8 +62,7 @@ unsigned int currentTime = time(0); unsigned int passedTime = currentTime - startTime_; - label_->setText(formatString("Skipping move in %i...", (5 - passedTime))); - if (passedTime == 5) + if (passedTime >= 5) { Tank *firstTank = ScorchedClient::instance()->getTankContainer().getCurrentTank(); if (firstTank) @@ -74,14 +75,22 @@ } GLWWindowManager::instance()->hideWindow(id_); } + else + { + label_->setText(formatString("Skipping move in %i...", (5 - passedTime))); + } } GLWWindow::simulate(frameTime); } -void SkipAllDialog::windowInit(const unsigned state) +void SkipAllDialog::display() { startTime_ = time(0); +} + +void SkipAllDialog::windowInit(const unsigned state) +{ skipAll_ = false; Tank *firstTank = ScorchedClient::instance()->getTankContainer().getCurrentTank(); @@ -114,4 +123,8 @@ } GLWWindowManager::instance()->hideWindow(id_); } + else if (id == nowId_) + { + startTime_ = 0; + } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/SkipAllDialog.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/SkipAllDialog.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/dialogs/SkipAllDialog.h 2005-12-19 20:27:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/dialogs/SkipAllDialog.h 2006-11-01 10:32:35.000000000 +0900 @@ -34,8 +34,10 @@ virtual void buttonDown(unsigned int id); virtual void windowInit(const unsigned state); virtual void simulate(float frameTime); + virtual void display(); + protected: - unsigned int cancelId_; + unsigned int cancelId_, nowId_; GLWLabel *label_; unsigned int startTime_; bool skipAll_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ActionController.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ActionController.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ActionController.cpp 2006-05-21 03:06:20.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ActionController.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -24,6 +24,7 @@ #include ActionController::ActionController() : + GameStateI("ActionController"), speed_(1.0f), referenceCount_(0), time_(0.0f), context_(0), lastTraceTime_(0.0f), actionTracing_(false), totalTime_(0.0f), diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/EventContainer.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/EventContainer.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/EventContainer.cpp 2006-03-28 07:48:05.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/EventContainer.cpp 2006-10-16 18:37:20.000000000 +0900 @@ -87,11 +87,13 @@ EventEntry &entry = (*itor).second; entry.eventTime -= frameTime; - if (entry.eventTime < 0.0f) + if (event->condition->fireEvent(context, + entry.eventTime, entry.eventNumber)) { event->action->fireAction(context); entry.eventTime = - event->condition->getNextEventTime(++entry.eventNumber); + event->condition->getNextEventTime( + ++entry.eventNumber); } } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/FrameLimiter.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/FrameLimiter.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/FrameLimiter.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/FrameLimiter.cpp 2006-09-05 01:16:01.000000000 +0900 @@ -0,0 +1,51 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include + +FrameLimiter::FrameLimiter() +{ +} + +FrameLimiter::~FrameLimiter() +{ +} + +void FrameLimiter::dontLimitFrameTime() +{ + unsigned int lastFrameTicks = frameTime_.getTicksDifference(); +} + +void FrameLimiter::limitFrameTime() +{ + unsigned int lastFrameTicks = frameTime_.getTicksDifference(); + + unsigned int wantedFramesPerSecond = + (unsigned int) OptionsDisplay::instance()->getFramesPerSecondLimit(); + unsigned int wantedTicksPerFrame = 1000 / wantedFramesPerSecond; + + if (wantedTicksPerFrame > lastFrameTicks) + { + SDL_Delay(wantedTicksPerFrame - lastFrameTicks); + frameTime_.getTicksDifference(); // Remove time taken in delay + } +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/FrameLimiter.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/FrameLimiter.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/FrameLimiter.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/FrameLimiter.h 2006-09-03 08:04:02.000000000 +0900 @@ -0,0 +1,39 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_FrameLimiterh_INCLUDE__) +#define __INCLUDE_FrameLimiterh_INCLUDE__ + +#include + +class FrameLimiter +{ +public: + FrameLimiter(); + virtual ~FrameLimiter(); + + void limitFrameTime(); + void dontLimitFrameTime(); + +protected: + Clock frameTime_; +}; + +#endif // __INCLUDE_FrameLimiterh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/FrameTimer.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/FrameTimer.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/FrameTimer.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/FrameTimer.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -46,7 +46,9 @@ return instance_; } -FrameTimer::FrameTimer() : totalTime_(0.0f), totalCount_(0) +FrameTimer::FrameTimer() : + GameStateI("FrameTimer"), + totalTime_(0.0f), frameCount_(0) { } @@ -56,13 +58,33 @@ } +void FrameTimer::draw(const unsigned state) +{ + frameCount_++; +} + +int FrameTimer::geomCount(dSpaceID space) +{ + int enabledGeoms = 0; + int geoms = dSpaceGetNumGeoms(space); + for (int i=0; i 5.0f) { + float timeTaken = frameClock_.getTimeDifference(); + float fps = float(frameCount_) / timeTaken; + totalTime_ = 0.0f; + frameCount_ = 0; + unsigned int pOnScreen = ScorchedClient::instance()-> getParticleEngine().getParticlesOnScreen() + @@ -72,24 +94,19 @@ unsigned int tris = GLInfo::getNoTriangles(); if (OptionsDisplay::instance()->getFrameTimer()) { - int enabledGeoms = 0; - int geoms = - dSpaceGetNumGeoms( - ScorchedClient::instance()->getActionController(). - getPhysics().getSpace()); - for (int i=0; igetActionController(). - getPhysics().getSpace(), i); - if (dGeomIsEnabled(geom) == 1) enabledGeoms++; - } + int enabledGeoms = + //geomCount(ScorchedClient::instance()->getActionController(). + // getPhysics().getTargetSpace()) + + geomCount(ScorchedClient::instance()->getActionController(). + getPhysics().getTankSpace()) + + geomCount(ScorchedClient::instance()->getActionController(). + getPhysics().getParticleSpace()) + + geomCount(ScorchedClient::instance()->getActionController(). + getPhysics().getGroundSpace()); Logger::log(LoggerInfo(LoggerInfo::TypePerformance, - formatString("%.2f FPS", - float(totalCount_) / totalTime_))); - Logger::log(LoggerInfo(LoggerInfo::TypePerformance, + formatString("%.2f FPS", fps))); + Logger::log(LoggerInfo(LoggerInfo::TypeNormal, formatString("%iTRI %iPART %iGEOM %iSQR %iSND %uSHD", tris, pOnScreen, @@ -98,7 +115,6 @@ Sound::instance()->getPlayingChannels(), Landscape::instance()->getShadowMap().getShadowCount()))); } - totalCount_ = 0; - totalTime_ = 0.0f; + } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/FrameTimer.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/FrameTimer.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/FrameTimer.h 2003-07-11 01:29:09.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/FrameTimer.h 2006-09-13 07:27:40.000000000 +0900 @@ -18,29 +18,28 @@ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //////////////////////////////////////////////////////////////////////////////// - -// FrameTimer.h: interface for the FrameTimer class. -// -////////////////////////////////////////////////////////////////////// - #if !defined(AFX_FRAMETIMER_H__00CDF717_3628_42C1_B84E_6F9B15C4FC4E__INCLUDED_) #define AFX_FRAMETIMER_H__00CDF717_3628_42C1_B84E_6F9B15C4FC4E__INCLUDED_ #include +#include +#include -class FrameTimer : - public GameStateI +class FrameTimer : public GameStateI { public: static FrameTimer *instance(); // Inherited from GameStateI + virtual void draw(const unsigned state); virtual void simulate(const unsigned state, float frameTime); protected: static FrameTimer *instance_; float totalTime_; - int totalCount_; + int frameCount_; + int geomCount(dSpaceID space); + Clock frameClock_; private: FrameTimer(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/GameState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/GameState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/GameState.cpp 2006-06-12 07:32:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/GameState.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -1,4 +1,4 @@ -//////////////////////////////////////////////////////////////////////////////// + // Scorched3D (c) 2000-2003 // // This file is part of Scorched3D. @@ -24,6 +24,7 @@ #include #include #include +#include #include GameState::GameState(const char *name) : @@ -35,9 +36,9 @@ currentEntry_(0), currentMouseX_(0), currentMouseY_(0), - stateLogging_(false) + stateLogging_(false), stateTimeLogging_(false) { - + clearTimers(); } GameState::~GameState() @@ -239,6 +240,12 @@ GameStateEntry *thisEntry = currentEntry_; unsigned thisState = currentState_; + timerSimulateTime_ += simTime; + if (timerSimulateTime_ > 10.0f) clearTimers(true); + + timerClock_.getTicksDifference(); + int timerCount = 0; + std::list::iterator itor; for (itor = thisEntry->loopList.begin(); itor != thisEntry->loopList.end(); @@ -247,10 +254,15 @@ StateIList::iterator subItor; for (subItor = itor->subLoopList.begin(); subItor != itor->subLoopList.end(); - subItor++) + subItor++, timerCount++) { - (*subItor)->simulate(thisState, simTime); + GameStateI *stateI = (*subItor); + stateI->simulate(thisState, simTime); if (checkStimulate()) return; + + timers_[timerCount % 50].simulateTime += + timerClock_.getTicksDifference(); + timers_[timerCount % 50].gameStateI = stateI; } // Draw after all other elements as the camera @@ -265,10 +277,10 @@ unsigned int historySize; unsigned int bufferSize; - KeyboardHistory::HistoryElement *history = - Keyboard::instance()->getkeyboardhistory(historySize); char *buffer = Keyboard::instance()->getkeyboardbuffer(bufferSize); + KeyboardHistory::HistoryElement *history = + Keyboard::instance()->getkeyboardhistory(historySize); unsigned int keyState = Keyboard::instance()->getKeyboardState(); @@ -316,6 +328,9 @@ GameStateEntry *thisEntry = currentEntry_; unsigned thisState = currentState_; + timerClock_.getTicksDifference(); + int timerCount = 0; + std::list::iterator itor; for (itor = thisEntry->loopList.begin(); itor != thisEntry->loopList.end(); @@ -326,10 +341,15 @@ StateIList::iterator subItor; for (subItor = itor->subLoopList.begin(); subItor != itor->subLoopList.end(); - subItor++) + subItor++, timerCount++) { - (*subItor)->draw(thisState); + GameStateI *stateI = (*subItor); + stateI->draw(thisState); if (checkStimulate()) return; + + timers_[timerCount % 50].drawTime += + timerClock_.getTicksDifference(); + timers_[timerCount % 50].gameStateI = stateI; } } } @@ -342,6 +362,8 @@ Logger::log(formatString("%s::setState(%i)", name_.c_str(), state)); } + clearTimers(); + currentState_ = state; currentEntry_ = 0; pendingStimulus_ = UINT_MAX; @@ -568,3 +590,55 @@ SimulusIPair pair(check, nexts); entry->condStimList.push_back(pair); } + +void GameState::clearTimers(bool printTimers) +{ + unsigned int sinceLastTime = overallTimerClock_.getTicksDifference(); + if (printTimers && stateTimeLogging_) + { + unsigned int simulateTotal = 0, drawTotal = 0; + for (int i=0; i<50; i++) + { + if (timers_[i].gameStateI) + { + simulateTotal += timers_[i].simulateTime; + drawTotal += timers_[i].drawTime; + } + } + int bothTotal = drawTotal + simulateTotal; + int timeLeft = int(sinceLastTime) - int(bothTotal); + if (bothTotal == 0) bothTotal = 1; + + unsigned int drawTotalPer = (100 * drawTotal) / bothTotal; + unsigned int simulateTotalPer = (100 * simulateTotal) / bothTotal; + unsigned int timeLeftPer = (100 * timeLeft) / bothTotal; + + Logger::log(LoggerInfo(LoggerInfo::TypeNormal, + "----------------------------------------")); + Logger::log(LoggerInfo(LoggerInfo::TypeNormal, + formatString("%s Draw : %u (%u), Simulate : %u (%u), Other : %i (%u)", + name_.c_str(), + drawTotal, drawTotalPer, + simulateTotal, simulateTotalPer, + timeLeft, timeLeftPer))); + for (int i=0; i<50; i++) + { + if (timers_[i].gameStateI) + { + unsigned int percentageSimulate = + (100 * timers_[i].simulateTime) / bothTotal; + unsigned int percentageDraw = + (100 * timers_[i].drawTime) / bothTotal; + Logger::log(LoggerInfo(LoggerInfo::TypeNormal, + formatString("%i:%s - Draw : %u (%u), Simulate : %u (%u)", + i, + timers_[i].gameStateI->getGameStateIName(), + timers_[i].drawTime, percentageDraw, + timers_[i].simulateTime, percentageSimulate))); + } + } + } + + memset(&timers_, 0, sizeof(timers_)); + timerSimulateTime_ = 0.0f; +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/GameState.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/GameState.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/GameState.h 2003-11-15 09:29:41.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/GameState.h 2006-09-17 02:15:44.000000000 +0900 @@ -25,6 +25,7 @@ #include #include #include +#include class GameStateI; class GameStateStimulusI; @@ -63,6 +64,7 @@ int getMouseX() { return currentMouseX_; } int getMouseY() { return currentMouseY_; } bool &getStateLogging() { return stateLogging_; } + bool &getStateTimeLogging() { return stateTimeLogging_; } // User fns to add classes to state management void addStateStimulus(const unsigned state, @@ -95,6 +97,13 @@ typedef std::pair SimulusIPair; typedef std::list StiulusIList; + struct TimerInfo + { + GameStateI *gameStateI; + unsigned int drawTime; + unsigned int simulateTime; + }; + struct GameStateSubEntry { GameStateI *current; @@ -143,7 +152,11 @@ std::string name_; unsigned pendingStimulus_; bool fakeMiddleButton_; - bool stateLogging_; + bool stateLogging_, stateTimeLogging_; + float timerSimulateTime_; + Clock timerClock_; + Clock overallTimerClock_; + TimerInfo timers_[50]; // Dragging stuff // Up or down for each button (bit field) @@ -162,6 +175,7 @@ getEntry(const unsigned state); GameState::GameStateSubEntry* getSubEntry(const unsigned state, GameStateI *entry); + void clearTimers(bool printTimers = false); }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/GameStateI.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/GameStateI.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/GameStateI.cpp 2006-06-12 07:32:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/GameStateI.cpp 2006-09-22 06:02:30.000000000 +0900 @@ -20,6 +20,12 @@ #include +GameStateI::GameStateI(const char *name) : + gameStateIName_(name) +{ + +} + GameStateI::~GameStateI() { @@ -56,7 +62,7 @@ } void GameStateI::mouseDrag(const unsigned state, GameState::MouseButton button, - int mx, int my, int x, int y, bool &skipRest) + int x, int y, int dx, int dy, bool &skipRest) { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/GameStateI.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/GameStateI.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/GameStateI.h 2006-06-12 07:32:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/GameStateI.h 2006-09-22 06:02:30.000000000 +0900 @@ -27,6 +27,7 @@ class GameStateI { public: + GameStateI(const char *name); virtual ~GameStateI(); virtual void simulate(const unsigned state, float simTime); @@ -37,13 +38,18 @@ virtual void mouseUp(const unsigned state, GameState::MouseButton button, int x, int y, bool &skipRest); virtual void mouseDrag(const unsigned state, GameState::MouseButton button, - int mx, int my, int x, int y, bool &skipRest); + int x, int y, int dx, int dy, bool &skipRest); virtual void mouseWheel(const unsigned state, int x, int y, int z, bool &skipRest); virtual void enterState(const unsigned state); virtual void keyboardCheck(const unsigned state, float frameTime, char *buffer, unsigned int keyState, KeyboardHistory::HistoryElement *history, int hisCount, bool &skipRest); + + const char *getGameStateIName() { return gameStateIName_; } + +protected: + const char *gameStateIName_; }; #endif // !defined(AFX_GAMESTATEI_H__B6753299_ED54_45EB_A635_733A34F0C920__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ModDirs.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ModDirs.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ModDirs.cpp 2006-07-01 04:40:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ModDirs.cpp 2006-11-02 02:12:38.000000000 +0900 @@ -104,13 +104,20 @@ ModInfo newInfo(fileName); setDataFileMod(fileName); - if (!newInfo.parse(modGamesFile.c_str())) + bool parseResult = newInfo.parse(modGamesFile.c_str()); + setDataFileMod("none"); + + if (!parseResult) { - dialogExit("Scorched3D", formatString( + // Just log and return as this may be the result of + // only downloading 1/2 the mod and not having the icons required + // for the modinfo + Logger::log(formatString( "Failed to parse mod info file \"%s\"", modGamesFile.c_str())); + return true; } - setDataFileMod("none"); + if (0 != strcmp(newInfo.getProtocolVersion(), ScorchedProtocolVersion)) { @@ -129,6 +136,10 @@ } // The gloabl mod is out of date, move it out the way + // This is done because this mod is included with S3D (i.e. a global mod) + // but also exists in the users custom mod directory. + // The one in the user's directory may be out of date, so it needs to be + // removed incase it masks the newer one that comes with the game. std::string src = getModFile(fileName); std::string dest = getSettingsFile(formatString("/oldmods/%s-%u", fileName, time(0))); if (s3d_dirExists(src.c_str())) @@ -143,8 +154,18 @@ "\"%s\"\n" "as it may be incompatable with this version of Scorched3D", src.c_str(), dest.c_str())); + + return loadModFile(oldFileName.c_str(), global); } } + else + { + dialogExit("Scorched3D", formatString( + "Bundled mod \"%s\" has an out of date modinfo file.\n" + "Mod version = %s, scorched version = %s", + oldFileName.c_str(), + newInfo.getProtocolVersion(), ScorchedProtocolVersion)); + } } dirs_.push_back(newInfo); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ModFiles.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ModFiles.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ModFiles.cpp 2006-07-01 04:40:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ModFiles.cpp 2006-09-08 23:22:52.000000000 +0900 @@ -160,13 +160,13 @@ // Load all files contained in this directory wxArrayString files; wxDir::GetAllFiles(wxString(modDir, wxConvUTF8), &files); - wxString *strings = files.GetStringArray(); for (int i=0; i<(int) files.Count(); i++) { - if (counter) counter->setNewPercentage(float(i) / float(files.Count()) * 100.0f); + if (counter) counter->setNewPercentage(float(i) + / float(files.Count()) * 100.0f); // Get the name of the current file - wxString ¤t = strings[i]; + wxString ¤t = files.Item(i); // Load the file if (!loadModFile(current.mb_str(wxConvUTF8), modDir, mod)) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ModInfo.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ModInfo.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ModInfo.cpp 2006-02-14 14:01:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ModInfo.cpp 2006-08-20 03:19:19.000000000 +0900 @@ -60,8 +60,14 @@ if (!mainNode->getNamedChild("url", url_)) return false; if (!mainNode->getNamedChild("protocolversion", protocolversion_)) return false; - icon_ = getDataFile(tmpicon.c_str()); - if (!checkDataFile(tmpicon.c_str())) return false; + if (checkDataFile(tmpicon.c_str())) + { + icon_ = getDataFile(tmpicon.c_str()); + } + else + { + icon_ = getDataFile("data/windows/tank2.bmp"); + } XMLNode *gameNode = 0; while (file.getRootNode()->getNamedChild("game", gameNode, false)) @@ -71,8 +77,14 @@ if (!gameNode->getNamedChild("icon", tmpicon)) return false; if (!gameNode->getNamedChild("gamefile", tmpgamefile)) return false; - entry.icon = getDataFile(tmpicon.c_str()); - if (!checkDataFile(tmpicon.c_str())) return false; + if (checkDataFile(tmpicon.c_str())) + { + entry.icon = getDataFile(tmpicon.c_str()); + } + else + { + entry.icon = getDataFile("data/windows/tank2.bmp"); + } entry.gamefile = getDataFile(tmpgamefile.c_str()); if (!checkDataFile(tmpgamefile.c_str())) return false; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ParticleEngine.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ParticleEngine.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ParticleEngine.cpp 2005-08-21 05:17:58.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ParticleEngine.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -30,6 +30,7 @@ ParticleEngine::ParticleEngine(GLCamera *camera, unsigned int maxParticles) : + GameStateI("ParticleEngine"), camera_(camera), particlesOnScreen_(0), particles_(0), freeParticles_(0), usedParticles_(0), diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/PhysicsEngine.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/PhysicsEngine.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/PhysicsEngine.cpp 2006-04-19 04:39:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/PhysicsEngine.cpp 2006-11-15 01:16:55.000000000 +0900 @@ -23,15 +23,23 @@ #include PhysicsEngine::PhysicsEngine() : - world_(0), space_(0), - contactgroup_(0), handler_(0) + world_(0), + targetSpace_(0), groundSpace_(0), + particleSpace_(0), tankSpace_(0), + contactgroup_(0), handler_(0), + contactGeomsCount_(0), contactInfosCount_(0), + maxContacts_(1000) { + contactGeoms_ = new dContactGeom[maxContacts_]; + contactInfos_ = new dContactInfo[maxContacts_]; create(); } PhysicsEngine::~PhysicsEngine() { destroy(); + delete [] contactGeoms_; + delete [] contactInfos_; } void PhysicsEngine::setCollisionHandler(PhysicsEngineCollision *handler) @@ -43,7 +51,28 @@ { // Create the simultion world world_ = dWorldCreate(); - space_ = dHashSpaceCreate(0); + + dVector3 staticCenter; + staticCenter[0] = 128.0; + staticCenter[1] = 128.0; + staticCenter[2] = 0.0; + staticCenter[3] = 0.0; + dVector3 staticSize; + staticSize[0] = 256.0; + staticSize[1] = 256.0; + staticSize[2] = 128.0; + staticSize[3] = 0.0; + + + typedef dReal dVector3[4]; + targetSpace_ = dHashSpaceCreate(0);/*dQuadTreeSpaceCreate( + 0, // Existing space id + staticCenter, // Center + staticSize, // size, + 5); // Depth*/ + tankSpace_ = dHashSpaceCreate(0); + particleSpace_ = dHashSpaceCreate(0); + groundSpace_ = dHashSpaceCreate(0); contactgroup_ = dJointGroupCreate(0); // Setup the world's settings @@ -58,18 +87,37 @@ dWorldSetGravity(world_, gravity[0], gravity[1], gravity[2]); } +void PhysicsEngine::setWind(Vector &wind) +{ + wind_ = wind; +} + void PhysicsEngine::destroy() { dJointGroupDestroy(contactgroup_); - dSpaceDestroy(space_); + dSpaceDestroy(targetSpace_); + dSpaceDestroy(tankSpace_); + dSpaceDestroy(particleSpace_); + dSpaceDestroy(groundSpace_); dWorldDestroy(world_); } void PhysicsEngine::nearCallback(void *data, dGeomID o1, dGeomID o2) { - const int maxContacts = 100; + PhysicsEngine *engine = (PhysicsEngine *) data; + engine->realNearCallback(data, o1, o2); +} + +void PhysicsEngine::realNearCallback(void *data, dGeomID o1, dGeomID o2) +{ + if (dGeomIsEnabled(o1) == 0 || + dGeomIsEnabled(o1) == 0) + { + // Check that both bodies should actualy count in the collision + // Does it seem odd that I have to do this, I think so! + return; + } - PhysicsEngine *engine = (PhysicsEngine *) data; if (dGeomIsSpace(o1) || dGeomIsSpace(o2)) { // colliding a space with something @@ -92,28 +140,74 @@ // exit without doing anything if the two bodies are connected by a joint dBodyID b1 = dGeomGetBody(o1); dBodyID b2 = dGeomGetBody(o2); + if (b1 && b2 && dAreConnectedExcluding(b1,b2,dJointTypeContact)) return; - // Get the contacts for these two objects - static dContactGeom contacts[maxContacts]; - int numc = dCollide(o1, o2, maxContacts, contacts, sizeof(dContactGeom)); - if ((numc > 0) && engine->handler_) + // Find how many contacts we are allowed from the pool + unsigned int contactsLeft = maxContacts_ - contactGeomsCount_; + if (contactsLeft > 0) { - // We have collisions, ask the user to process them - engine->handler_->collision(o1, o2, contacts, numc); + // We have contacts left in the pool + // Get the contacts for these two objects + int numc = dCollide(o1, o2, + contactsLeft, &contactGeoms_[contactGeomsCount_], + sizeof(dContactGeom)); + if (numc > 0) + { + // We have a collision + // Record this collision for processing + dContactInfo &info = contactInfos_[contactInfosCount_]; + info.o1 = o1; + info.o2 = o2; + info.contacts = &contactGeoms_[contactGeomsCount_]; + info.contactCount = numc; + + contactInfosCount_ += 1; // We've used one collision + contactGeomsCount_ += numc; // We've used numc contacts + } } } } void PhysicsEngine::stepSimulation(float stepSize) { + // Find collisions + contactGeomsCount_ = 0; + contactInfosCount_ = 0; + dSpaceCollide2((dGeomID) targetSpace_, (dGeomID) particleSpace_, this, &nearCallback); + dSpaceCollide2((dGeomID) groundSpace_, (dGeomID) particleSpace_, this, &nearCallback); + dSpaceCollide2((dGeomID) tankSpace_, (dGeomID) particleSpace_, this, &nearCallback); + dSpaceCollide2((dGeomID) targetSpace_, (dGeomID) tankSpace_, this, &nearCallback); + + // Perform collision actions + if (handler_ && contactInfosCount_ > 0) + { + for (unsigned int c=0; ccollision(info.o1, info.o2, info.contacts, info.contactCount); + } + } + // Simulate the world - dSpaceCollide(space_, this, &nearCallback); - //dWorldStep(world_, stepSize); - //dWorldStepFast1(world_, stepSize, 5); dWorldQuickStep(world_, stepSize); // remove all contact joints dJointGroupEmpty(contactgroup_); + + // Destroy all dead geoms + while (!deadGeoms_.empty()) + { + dGeomID geom = deadGeoms_.back(); + deadGeoms_.pop_back(); + dGeomDestroy(geom); + } } +void PhysicsEngine::destroyGeom(dGeomID geom) +{ + dGeomDisable(geom); + deadGeoms_.push_back(geom); +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/PhysicsEngine.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/PhysicsEngine.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/PhysicsEngine.h 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/PhysicsEngine.h 2006-11-15 01:16:55.000000000 +0900 @@ -23,6 +23,7 @@ #include #include +#include class PhysicsEngineCollision { @@ -38,22 +39,47 @@ void setCollisionHandler(PhysicsEngineCollision *handler); void setGravity(Vector &gravity); + void setWind(Vector &wind); + Vector &getWind() { return wind_; } dWorldID &getWorld() { return world_; } - dSpaceID &getSpace() { return space_; } + dSpaceID &getTargetSpace() { return targetSpace_; } + dSpaceID &getParticleSpace() { return particleSpace_; } + dSpaceID &getTankSpace() { return tankSpace_; } + dSpaceID &getGroundSpace() { return groundSpace_; } dJointGroupID &getContactGroup() { return contactgroup_; } + void destroyGeom(dGeomID geom); // Dispose of a geom outside collision loop + virtual void stepSimulation(float frameTime); protected: PhysicsEngineCollision *handler_; + struct dContactInfo + { + dGeomID o1; + dGeomID o2; + dContactGeom *contacts; + int contactCount; + }; dWorldID world_; - dSpaceID space_; + dSpaceID targetSpace_; + dSpaceID tankSpace_; + dSpaceID particleSpace_; + dSpaceID groundSpace_; + dContactGeom *contactGeoms_; + dContactInfo *contactInfos_; + const unsigned int maxContacts_; + unsigned int contactGeomsCount_; + unsigned int contactInfosCount_; dJointGroupID contactgroup_; + std::list deadGeoms_; + Vector wind_; bool create(); void destroy(); static void nearCallback(void *data, dGeomID o1, dGeomID o2); + void realNearCallback(void *data, dGeomID o1, dGeomID o2); }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/PhysicsParticle.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/PhysicsParticle.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/PhysicsParticle.cpp 2004-09-16 03:17:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/PhysicsParticle.cpp 2006-09-17 23:16:13.000000000 +0900 @@ -33,10 +33,13 @@ } -void PhysicsParticle::setPhysics(Vector &position, Vector &velocity) +void PhysicsParticle::setPhysics( + Vector &position, Vector &velocity, + float sphereSize, float sphereDensity, float windFactor) { physicsObject_.setPhysics(context_->actionController->getPhysics(), - position, velocity); + position, velocity, + sphereSize, sphereDensity, windFactor); } void PhysicsParticle::collision(Vector &position) @@ -49,6 +52,11 @@ physicsObject_.setData(data); } +void PhysicsParticle::applyForce(Vector &force) +{ + physicsObject_.applyForce(force); +} + Vector &PhysicsParticle::getCurrentPosition() { return physicsObject_.getPosition(); @@ -61,6 +69,7 @@ void PhysicsParticle::simulate(float frameTime, bool &remove) { + physicsObject_.simulate(frameTime); Action::simulate(frameTime, remove); if (collision_) remove = true; totalActionTime_ += frameTime; @@ -78,12 +87,13 @@ } -void PhysicsParticleMeta::setPhysics(Vector &position, Vector &velocity, - float sphereSize, float sphereDensity) +void PhysicsParticleMeta::setPhysics( + Vector &position, Vector &velocity, + float sphereSize, float sphereDensity, float windFactor) { physicsObject_.setPhysics(context_->actionController->getPhysics(), position, velocity, - sphereSize, sphereDensity); + sphereSize, sphereDensity, windFactor); } void PhysicsParticleMeta::applyForce(Vector &force) @@ -130,6 +140,7 @@ physicsObject_.setPosition(warpPosition_); } + physicsObject_.simulate(frameTime); Action::simulate(frameTime, remove); if (collision_) remove = true; totalActionTime_ += frameTime; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/PhysicsParticle.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/PhysicsParticle.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/PhysicsParticle.h 2004-09-16 03:17:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/PhysicsParticle.h 2006-09-17 23:16:13.000000000 +0900 @@ -34,11 +34,17 @@ PhysicsParticle(); virtual ~PhysicsParticle(); - virtual void setPhysics(Vector &position, Vector &velocity); + virtual void setPhysics( + Vector &position, Vector &velocity, + float sphereSize = 0.0f, + float sphereDensity = 0.0f, + float windFactor = 1.0f); virtual void collision(Vector &position); Vector &getCurrentPosition(); Vector &getCurrentVelocity(); + + void applyForce(Vector &force); void setData(void *data); // Inherited from action @@ -57,8 +63,11 @@ PhysicsParticleMeta(); virtual ~PhysicsParticleMeta(); - virtual void setPhysics(Vector &position, Vector &velocity, - float sphereSize = 0.0f, float sphereDensity = 0.0f); + virtual void setPhysics( + Vector &position, Vector &velocity, + float sphereSize = 0.0f, + float sphereDensity = 0.0f, + float windFactor = 1.0f); virtual void collision(Vector &position); Vector &getCurrentPosition(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/PhysicsParticleObject.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/PhysicsParticleObject.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/PhysicsParticleObject.cpp 2004-09-15 09:18:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/PhysicsParticleObject.cpp 2006-09-17 23:16:13.000000000 +0900 @@ -36,15 +36,20 @@ void PhysicsParticleObject::applyForce(Vector &force) { - dBodyAddForce(body_, force[0], force[1], force[2]); + if (body_) + { + dBodyAddForce(body_, force[0], force[1], force[2]); + } } void PhysicsParticleObject::setPhysics(PhysicsEngine &engine, Vector &position, Vector &velocity, - float sphereSize, float sphereDensity) + float sphereSize, float sphereDensity, + float windFactor) { if (sphereSize == 0.0f) sphereSize = 0.25f; if (sphereDensity == 0.0f) sphereDensity = 5.0f; + windFactor_ = engine.getWind() * windFactor / 2.5f; // Create the mass for the object dMass m; @@ -59,7 +64,7 @@ dBodySetMass(body_,&m); // Create the geom representing the object - geom_ = dCreateSphere(engine.getSpace(), sphereSize); + geom_ = dCreateSphere(engine.getParticleSpace(), sphereSize); dGeomSetBody(geom_, body_); } @@ -116,3 +121,8 @@ return result; } +void PhysicsParticleObject::simulate(float frameTime) +{ + applyForce(windFactor_); +} + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/PhysicsParticleObject.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/PhysicsParticleObject.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/PhysicsParticleObject.h 2004-09-15 09:18:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/PhysicsParticleObject.h 2006-09-17 23:16:13.000000000 +0900 @@ -34,9 +34,11 @@ void setPhysics(PhysicsEngine &engine, Vector &position, Vector &velocity, float sphereSize = 0.0f, - float sphereDensity = 0.0f); + float sphereDensity = 0.0f, + float windFactor = 1.0f); void applyForce(Vector &force); + void simulate(float frameTime); Vector &getPosition(); Vector &getVelocity(); @@ -47,6 +49,7 @@ protected: dBodyID body_; dGeomID geom_; + Vector windFactor_; }; #endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ScorchedCollisionHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ScorchedCollisionHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ScorchedCollisionHandler.cpp 2006-04-07 08:08:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ScorchedCollisionHandler.cpp 2006-10-29 10:14:10.000000000 +0900 @@ -30,8 +30,9 @@ #include #include #include -#include -#include +#include +#include +#include #include #include @@ -90,16 +91,14 @@ ScorchedCollisionInfo *info1, ScorchedCollisionInfo *info2, dContactGeom *contacts, int noContacts) { - unsigned int playerId1 = (unsigned int) info1->data; - unsigned int playerId2 = (unsigned int) info2->data; + unsigned int playerId1 = (unsigned long) info1->data; + unsigned int playerId2 = (unsigned long) info2->data; Target *target1 = context_->targetContainer->getTargetById(playerId1); Target *target2 = context_->targetContainer->getTargetById(playerId2); if (!target1 || !target2) return; //Dummy weapon, should'nt be used anywhere - Weapon *weapon = (Weapon *) - context_->accessoryStore->findByAccessoryType( - AccessoryPart::AccessoryWeapon)->getAction(); + Weapon *weapon = context_->accessoryStore->getDeathAnimation(); if (target1->isTarget() && !target2->isTarget()) { if (target1->getLife().getDriveOverToDestroy()) @@ -123,7 +122,7 @@ void ScorchedCollisionHandler::bounceCollision(dGeomID o1, dGeomID o2, dContactGeom *contacts, int noContacts) { - const dReal *bouncePosition = dGeomGetPosition(o1); + const dReal *bouncePosition = 0; ScorchedCollisionInfo *bounceInfo = (ScorchedCollisionInfo *) dGeomGetData(o1); ScorchedCollisionInfo *otherInfo = @@ -134,9 +133,13 @@ bounceInfo = (ScorchedCollisionInfo *) dGeomGetData(o2); otherInfo = (ScorchedCollisionInfo *) dGeomGetData(o1); } + else + { + bouncePosition = dGeomGetPosition(o1); + } ShotBounce *particle = (ShotBounce *) bounceInfo->data; - unsigned int id = (unsigned int) otherInfo->data; + unsigned int id = (unsigned long) otherInfo->data; // only collide with the ground, walls or landscape, // or iteself @@ -145,7 +148,7 @@ case CollisionIdGround: case CollisionIdLandscape: case CollisionIdRoof: - collisionBounce(o1, o2, contacts, noContacts, 10000.0, 1.0f); + collisionBounce(o1, o2, contacts, noContacts, 0.0f); break; case CollisionIdBounce: //collisionBounce(o1, o2, contacts, noContacts); @@ -194,7 +197,7 @@ void ScorchedCollisionHandler::groundCollision(dGeomID o1, dGeomID o2, dContactGeom *contacts, int noContacts, bool metaAction) { - const dReal *tankPosition = dGeomGetPosition(o1); + const dReal *tankPosition = 0; ScorchedCollisionInfo *tankInfo = (ScorchedCollisionInfo *) dGeomGetData(o1); ScorchedCollisionInfo *otherInfo = @@ -205,6 +208,10 @@ tankInfo = (ScorchedCollisionInfo *) dGeomGetData(o2); otherInfo = (ScorchedCollisionInfo *) dGeomGetData(o1); } + else + { + tankPosition = dGeomGetPosition(o1); + } // only collide with the ground, walls or landscape if (otherInfo->id == CollisionIdWallLeft || @@ -242,22 +249,23 @@ { float deflectPower = 1.0f; ScorchedCollisionType collisionType = CollisionNone; - const dReal *particlePosition = dGeomGetPosition(o1); + const dReal *particlePosition = 0; ScorchedCollisionInfo *particleInfo = (ScorchedCollisionInfo *) dGeomGetData(o1); ScorchedCollisionInfo *otherInfo = (ScorchedCollisionInfo *) dGeomGetData(o2); - - DIALOG_ASSERT(particleInfo && otherInfo); - if (otherInfo->id == CollisionIdShot) { particlePosition = dGeomGetPosition(o2); particleInfo = (ScorchedCollisionInfo *) dGeomGetData(o2); otherInfo = (ScorchedCollisionInfo *) dGeomGetData(o1); } + else + { + particlePosition = dGeomGetPosition(o1); + } - unsigned int id = (unsigned int) otherInfo->data; + unsigned int id = (unsigned long) otherInfo->data; ShotProjectile *shot = (ShotProjectile *) particleInfo->data; shot->incLandedCounter(); Vector particlePositionV( @@ -457,31 +465,35 @@ Tank *shotTank = context_->tankContainer->getTankById(shotId); if (shotTank) { - float distance = (shotTank->getPosition().getTankPosition() - - hitTarget->getTargetPosition()).Magnitude(); - float shieldSize = shield->getActualRadius(); - if (distance < shieldSize) + Vector offset = shotTank->getPosition().getTankPosition() - + hitTarget->getTargetPosition(); + if (shield->inShield(offset)) { return ParticleActionNone; } } // Check for half shields - if (shield->getHalfShield()) + if (shield->getRound()) { - Vector normal = (collisionPos - - hitTarget->getTargetPosition()).Normalize(); - Vector up(0.0f, 0.0f, 1.0f); - if (!(normal.dotP(up) > 0.7f)) + ShieldRound *round = (ShieldRound *) shield; + if (round->getHalfShield()) { - return ParticleActionNone; + Vector normal = (collisionPos - + hitTarget->getTargetPosition()).Normalize(); + Vector up(0.0f, 0.0f, 1.0f); + if (!(normal.dotP(up) > 0.7f)) + { + return ParticleActionNone; + } } } // Check for other shield types switch (shield->getShieldType()) { - case Shield::ShieldTypeNormal: + case Shield::ShieldTypeSquareNormal: + case Shield::ShieldTypeRoundNormal: if (hitPercentage > 0.0f) { context_->actionController->addAction( @@ -490,8 +502,18 @@ hitPercentage)); } return ParticleActionFinished; - case Shield::ShieldTypeReflective: - deflectPower = ((ShieldReflective *)shield)->getDeflectFactor(); + case Shield::ShieldTypeRoundReflective: + deflectPower = ((ShieldRoundReflective *)shield)->getDeflectFactor(); + if (hitPercentage > 0.0f) + { + context_->actionController->addAction( + new ShieldHit(hitTarget->getPlayerId(), + collisionPos, + hitPercentage)); + } + return ParticleActionBounce; + case Shield::ShieldTypeSquareReflective: + deflectPower = ((ShieldSquareReflective *)shield)->getDeflectFactor(); if (hitPercentage > 0.0f) { context_->actionController->addAction( @@ -500,9 +522,9 @@ hitPercentage)); } return ParticleActionBounce; - case Shield::ShieldTypeMag: + case Shield::ShieldTypeRoundMag: { - ShieldMag *magShield = (ShieldMag *) shield; + ShieldRoundMag *magShield = (ShieldRoundMag *) shield; Vector force(0.0f, 0.0f, magShield->getDeflectPower()); shot->applyForce(force); @@ -519,14 +541,15 @@ } void ScorchedCollisionHandler::collisionBounce(dGeomID o1, dGeomID o2, - dContactGeom *contacts, int noContacts, double bounceVel, double bounceFactor) + dContactGeom *contacts, int noContacts, double bounceFactor) { dContact contact; - contact.surface.mode = dContactBounce;// | dContactSoftCFM; + if (bounceFactor != 0.0f) contact.surface.mode = dContactBounce; + else contact.surface.mode = dContactSoftCFM; contact.surface.mu = dInfinity; contact.surface.mu2 = 0; contact.surface.bounce = bounceFactor; - contact.surface.bounce_vel = bounceVel; + contact.surface.bounce_vel = 0.0f; contact.surface.soft_cfm = 0.01; for (int i=0; ioptionsGame->getGravity(); - Vector gravityVec = wind; - gravityVec[2] += gravity; - - setGravity(gravityVec); -} - void ScorchedPhysicsEngine::generate() { // Set the wind for the next shot @@ -72,6 +62,10 @@ wind = context_->optionsTransient->getWindDirection(); wind *= context_->optionsTransient->getWindSpeed() / 2.0f; } + + float gravity = (float) context_->optionsGame->getGravity(); + Vector gravityVec(0.0f, 0.0f, gravity); + setGravity(gravityVec); setWind(wind); // Set the walls diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ScorchedPhysicsEngine.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ScorchedPhysicsEngine.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/engine/ScorchedPhysicsEngine.h 2005-11-26 02:42:07.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/engine/ScorchedPhysicsEngine.h 2006-09-17 23:16:13.000000000 +0900 @@ -42,8 +42,6 @@ HeightMapCollision *hmcol_; SkyRoofCollision *srcol_; ScorchedCollisionHandler *sccol_; - - void setWind(Vector &wind); }; #endif // __INCLUDE_ScorchedPhysicsEngineh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLBitmap.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLBitmap.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLBitmap.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLBitmap.cpp 2006-08-18 22:11:46.000000000 +0900 @@ -107,12 +107,17 @@ newbits_ = 0; createBlank(newWidth, newHeight, alpha_); - gluScaleImage( + int result = gluScaleImage( (alpha_?GL_RGBA:GL_RGB), oldWidth, oldHeight, GL_UNSIGNED_BYTE, oldbits, newWidth, newHeight, GL_UNSIGNED_BYTE, newbits_); + if (result != 0) + { + const char *error = (const char *) gluErrorString(result); + dialogExit("gluScaleImage", error); + } delete [] oldbits; } @@ -159,6 +164,13 @@ SDL_Surface *image = SDL_LoadBMP(filename); if (!image) return false; + if (image->format->BitsPerPixel != 24) + { + dialogExit("GLBitmap", + formatString("ERROR: Bitmap \"%s\" is not encoded as a 24bit bitmap", + filename)); + } + // Create the internal byte array createBlank(image->w, image->h, alpha); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLBitmapModifier.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLBitmapModifier.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLBitmapModifier.cpp 2006-03-26 23:14:31.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLBitmapModifier.cpp 2006-10-01 01:11:31.000000000 +0900 @@ -22,6 +22,9 @@ #include #include #include +#include +#include +#include #include bool GLBitmapModifier::findIntersection(HeightMap &hMap, @@ -138,6 +141,9 @@ Vector diffuseLight = diffuse * diffuseLightMult; Vector ambientLight = ambience; Vector lightColor = diffuseLight + ambientLight; + lightColor[0] = MIN(1.0f, lightColor[0]); + lightColor[1] = MIN(1.0f, lightColor[1]); + lightColor[2] = MIN(1.0f, lightColor[2]); bitmapBits[0] = lightColor[0]; bitmapBits[1] = lightColor[1]; @@ -556,6 +562,20 @@ } } +void GLBitmapModifier::addCircleToLandscape( + ScorchedContext &context, + float sx, float sy, float sw, float opacity) +{ + float shadowMultWidth = (float) Landscape::instance()->getMainMap().getWidth() / + context.landscapeMaps->getGroundMaps().getMapWidth(); + float shadowMultHeight = (float) Landscape::instance()->getMainMap().getHeight() / + context.landscapeMaps->getGroundMaps().getMapHeight(); + + addCircle(Landscape::instance()->getMainMap(), + sx * shadowMultWidth, sy * shadowMultHeight, + sw * shadowMultWidth, opacity); +} + void GLBitmapModifier::addCircle(GLBitmap &destBitmap, float sx, float sy, float sw, float opacity) { @@ -604,9 +624,32 @@ } } + +void GLBitmapModifier::addBitmapToLandscape( + ScorchedContext &context, + GLImage &srcBitmap, + float sx, float sy, float scalex, float scaley, + bool commit) +{ + float shadowMultWidth = (float) Landscape::instance()->getMainMap().getWidth() / + context.landscapeMaps->getGroundMaps().getMapWidth(); + float shadowMultHeight = (float) Landscape::instance()->getMainMap().getHeight() / + context.landscapeMaps->getGroundMaps().getMapHeight(); + + addBitmap( + Landscape::instance()->getMainMap(), + srcBitmap, + sx * shadowMultWidth, + sy * shadowMultHeight, + shadowMultWidth * scalex, + shadowMultHeight * scaley, + commit); +} + void GLBitmapModifier::addBitmap(GLBitmap &destBitmap, GLImage &srcBitmap, - float sx, float sy, float scalex, float scaley) + float sx, float sy, float scalex, float scaley, + bool commit) { int srcScaleWidth = int(float(srcBitmap.getWidth()) * scalex); int srcScaleHeight = int(float(srcBitmap.getHeight()) * scaley); @@ -661,6 +704,27 @@ tmpDest += 3; } } + + if (commit) + { + int landscapeWidth = Landscape::instance()->getMainMap().getWidth(); + int width = 3 * landscapeWidth; + width = (width + 3) & ~3; + + GLubyte *bytes = + Landscape::instance()->getMainMap().getBits() + ((width * yStart) + xStart * 3); + + GLState currentState(GLState::TEXTURE_ON); + Landscape::instance()->getMainTexture().draw(true); + + glPixelStorei(GL_UNPACK_ROW_LENGTH, landscapeWidth); + glTexSubImage2D(GL_TEXTURE_2D, 0, + xStart, yStart, + xWidth, yWidth, + GL_RGB, GL_UNSIGNED_BYTE, + bytes); + glPixelStorei(GL_UNPACK_ROW_LENGTH, 0); + } } void GLBitmapModifier::scalePlanBitmap(GLBitmap &destBitmap, @@ -683,8 +747,8 @@ { for (int x=0; x #include +class ScorchedContext; namespace GLBitmapModifier { bool findIntersection(HeightMap &hMap, @@ -70,12 +71,21 @@ GLBitmap &input, GLBitmap &mask); + void addCircleToLandscape( + ScorchedContext &context, + float sx, float sy, float sw, float opacity); void addCircle(GLBitmap &destBitmap, float sx, float sy, float sw, float opacity); + void addBitmapToLandscape( + ScorchedContext &context, + GLImage &srcBitmap, + float sx, float sy, float scalex, float scaley, + bool commit = false); void addBitmap(GLBitmap &destBitmap, GLImage &srcBitmap, - float sx, float sy, float scalex, float scaley); + float sx, float sy, float scalex, float scaley, + bool commit); void scalePlanBitmap(GLBitmap &destBitmap, GLBitmap &srcBitmap, diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLCameraFrustum.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLCameraFrustum.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLCameraFrustum.cpp 2006-06-28 05:37:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLCameraFrustum.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -40,7 +40,8 @@ return instance_; } -GLCameraFrustum::GLCameraFrustum() +GLCameraFrustum::GLCameraFrustum() : + GameStateI("GLCameraFrustum") { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLConsole.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLConsole.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLConsole.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLConsole.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -39,6 +39,7 @@ } GLConsole::GLConsole() : + GameStateI("GLConsole"), height_(0.0f), opening_(false), lines_(1000), methods_(rules_, lines_), showCursor_(true) { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLConsoleLines.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLConsoleLines.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLConsoleLines.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLConsoleLines.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -47,6 +47,7 @@ { lineNumber_ = nextLineNumber_; } + lineNumberStr_= formatString("%4i", lineNumber_); } void GLConsoleLine::drawLine(float x, float y, GLFont2d *font) @@ -58,19 +59,18 @@ { // We show a line number of those lines with commands // on them - font->draw(color, 12, x, y, 0.0f, - formatString("%4i : %s", lineNumber_, line_.c_str())); + font->draw(color, 12, x, y, 0.0f, lineNumberStr_.c_str()); + font->draw(color, 12, x + 50.0f, y, 0.0f, line_.c_str()); } else { - font->draw(color, 12, x, y, 0.0f, - formatString(" %s %s", "... ", line_.c_str())); + font->draw(color, 12, x + 50.0f, y, 0.0f, "..."); + font->draw(color, 12, x + 90.0f, y, 0.0f, line_.c_str()); } } else { - font->draw(color, 12, x, y, 0.0f, - formatString(" %s", line_.c_str())); + font->draw(color, 12, x + 50.0f, y, 0.0f, line_.c_str()); } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLConsoleLines.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLConsoleLines.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLConsoleLines.h 2005-04-13 02:06:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLConsoleLines.h 2006-09-17 02:15:44.000000000 +0900 @@ -47,6 +47,7 @@ protected: unsigned int lineNumber_; std::string line_; + std::string lineNumberStr_; static unsigned nextLineNumber_; LineType lineType_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLConsoleRuleFnIAdapter.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLConsoleRuleFnIAdapter.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLConsoleRuleFnIAdapter.cpp 2006-04-05 09:42:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLConsoleRuleFnIAdapter.cpp 2006-07-23 09:43:47.000000000 +0900 @@ -70,6 +70,8 @@ case OptionEntry::OptionEntryBoundedIntType: type = GLConsoleRuleTypeNumber; break; + case OptionEntry::OptionEntryVectorType: + case OptionEntry::OptionEntryStringEnumType: case OptionEntry::OptionEntryStringType: case OptionEntry::OptionEntryTextType: type = GLConsoleRuleTypeString; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLMenu.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLMenu.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLMenu.cpp 2006-06-25 20:36:29.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLMenu.cpp 2006-09-22 06:02:25.000000000 +0900 @@ -149,7 +149,7 @@ } } -void GLMenu::mouseDown(float x, float y, bool &hitMenu) +void GLMenu::mouseDown(int button, float x, float y, bool &hitMenu) { hitMenu = false; float currentTop = (float) GLViewPort::getHeight(); @@ -174,12 +174,12 @@ } } -void GLMenu::mouseUp(float x, float y, bool &skipRest) +void GLMenu::mouseUp(int button, float x, float y, bool &skipRest) { } -void GLMenu::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLMenu::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLMenu.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLMenu.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLMenu.h 2006-06-25 20:36:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLMenu.h 2006-09-22 06:02:25.000000000 +0900 @@ -48,9 +48,9 @@ GLMenuEntry *getMenu(char *menuItem); virtual void draw(); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual void keyDown(char *buffer, unsigned int keyState, KeyboardHistory::HistoryElement *history, int hisCount, bool &skipRest); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLMissingExt.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLMissingExt.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLMissingExt.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLMissingExt.h 2006-09-03 00:59:05.000000000 +0900 @@ -0,0 +1,193 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(AFX_GLMISSINGEXT_H__9DA92C48_B9A4_4517_AB9F_55141CCDA817__INCLUDED_) +#define AFX_GLMISSINGEXT_H__9DA92C48_B9A4_4517_AB9F_55141CCDA817__INCLUDED_ + +// Some newer official GL extensions that may not have made it into the SDL +// implementation yet + +#ifndef GL_COMBINE_ARB +#define GL_COMBINE_ARB 0x8570 +#endif + +#ifndef GL_RGB_SCALE_ARB +#define GL_RGB_SCALE_ARB 0x8573 +#endif + +#ifndef GL_NV_texture_rectangle +#define GL_TEXTURE_RECTANGLE_NV 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8 +#endif + +#ifndef GL_ARB_depth_texture +#define GL_DEPTH_COMPONENT16_ARB 0x81A5 +#define GL_DEPTH_COMPONENT24_ARB 0x81A6 +#define GL_DEPTH_COMPONENT32_ARB 0x81A7 +#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A +#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B +#endif + +#ifndef GL_ARB_shadow +#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C +#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D +#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E +#endif + +#ifndef GL_EXT_framebuffer_object +#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 +#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 +#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 +#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT 0x8CD8 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 +#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF +#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 +#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 +#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 +#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 +#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 +#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 +#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 +#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 +#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 +#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 +#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA +#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB +#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC +#define GL_COLOR_ATTACHMENT13_EXT 0x8CED +#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE +#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF +#define GL_DEPTH_ATTACHMENT_EXT 0x8D00 +#define GL_STENCIL_ATTACHMENT_EXT 0x8D20 +#define GL_FRAMEBUFFER_EXT 0x8D40 +#define GL_RENDERBUFFER_EXT 0x8D41 +#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 +#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 +#define GL_STENCIL_INDEX_EXT 0x8D45 +#define GL_STENCIL_INDEX1_EXT 0x8D46 +#define GL_STENCIL_INDEX4_EXT 0x8D47 +#define GL_STENCIL_INDEX8_EXT 0x8D48 +#define GL_STENCIL_INDEX16_EXT 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 +#endif + +#ifndef GL_ARRAY_BUFFER_ARB +#define GL_ARRAY_BUFFER_ARB 0x8892 +#define GL_STATIC_DRAW_ARB 0x88E4 +#define GL_DYNAMIC_DRAW_ARB 0x88E8 +#define GL_WRITE_ONLY_ARB 0x88B9 +#endif + +#ifndef GL_EXT_framebuffer_object +#define GL_EXT_framebuffer_object 1 +typedef GLboolean (APIENTRY * PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer); +typedef void (APIENTRY * PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer); +typedef void (APIENTRY * PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers); +typedef void (APIENTRY * PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers); +typedef void (APIENTRY * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params); +typedef GLboolean (APIENTRY * PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer); +typedef void (APIENTRY * PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer); +typedef void (APIENTRY * PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers); +typedef void (APIENTRY * PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers); +typedef GLenum (APIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target); +typedef void (APIENTRY * PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRY * PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRY * PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (APIENTRY * PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (APIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params); +typedef void (APIENTRY * PFNGLGENERATEMIPMAPEXTPROC) (GLenum target); +#endif + +#ifndef GL_ARB_multitexture +#define GL_ARB_multitexture 1 +typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture); +typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture); +typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s); +typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s); +typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s); +typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s); +typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t); +typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t); +typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t); +typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t); +typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); +typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); +typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r); +typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r); +typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); +typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); +typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v); +typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); +typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v); +#endif + +#ifndef GL_ARB_vertex_buffer_object +#define GL_ARB_vertex_buffer_object 1 +typedef void (APIENTRY * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer); +typedef void (APIENTRY * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers); +typedef void (APIENTRY * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers); +typedef GLboolean (APIENTRY * PFNGLISBUFFERARBPROC) (GLuint buffer); +typedef void (APIENTRY * PFNGLBUFFERDATAARBPROC) (GLenum target, int size, const GLvoid *data, GLenum usage); +typedef void (APIENTRY * PFNGLBUFFERSUBDATAARBPROC) (GLenum target, int offset, int size, const GLvoid *data); +typedef void (APIENTRY * PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, int offset, int size, GLvoid *data); +typedef GLvoid* (APIENTRY * PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access); +typedef GLboolean (APIENTRY * PFNGLUNMAPBUFFERARBPROC) (GLenum target); +typedef void (APIENTRY * PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRY * PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params); +#endif + +#endif // !defined(AFX_GLMISSINGEXT_H__9DA92C48_B9A4_4517_AB9F_55141CCDA817__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLShadowFrameBuffer.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLShadowFrameBuffer.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLShadowFrameBuffer.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLShadowFrameBuffer.cpp 2006-09-03 00:59:05.000000000 +0900 @@ -0,0 +1,110 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include + +GLShadowFrameBuffer::GLShadowFrameBuffer() : frameBufferObject_(0) +{ +} + +GLShadowFrameBuffer::~GLShadowFrameBuffer() +{ + destroy(); +} + +bool GLShadowFrameBuffer::create(GLTexture &texture, GLenum type) +{ + type_ = type; + + //Generate the frame buffer object + GLStateExtension::glGenFramebuffersEXT()(1, &frameBufferObject_); + + //Activate the frame buffer object + GLStateExtension::glBindFramebufferEXT()(GL_FRAMEBUFFER_EXT, frameBufferObject_); + + //Attach our depth texture to the frame buffer object + GLStateExtension::glFramebufferTexture2DEXT()( + GL_FRAMEBUFFER_EXT, + type, // e.g. GL_DEPTH_ATTACHMENT_EXT or GL_COLOR_ATTACHMENT0_EXT, + GL_TEXTURE_2D, + texture.getTexName(), + 0); + + //You must set DrawBuffer and ReadBuffer to none since we're rendering to depth only + if (type == GL_DEPTH_ATTACHMENT_EXT) + { + glDrawBuffer(GL_NONE); + glReadBuffer(GL_NONE); + } + + //Check the completeness of our frame buffer object, with depth textures, there is no need for stencil + //and depth attachment for a FBO to be considered as complete + GLenum status = GLStateExtension::glCheckFramebufferStatusEXT()(GL_FRAMEBUFFER_EXT); + switch(status) { + case GL_FRAMEBUFFER_COMPLETE_EXT: + break; + case GL_FRAMEBUFFER_UNSUPPORTED_EXT: + return false; + break; + default: + return false; + break; + } + + //Turn off our frame buffer object + GLStateExtension::glBindFramebufferEXT()(GL_FRAMEBUFFER_EXT, 0); + + return true; +} + +void GLShadowFrameBuffer::destroy() +{ + if (!bufferValid()) return; + + //Activate the frame buffer objcet + GLStateExtension::glBindFramebufferEXT()(GL_FRAMEBUFFER_EXT, frameBufferObject_); + + //Detach our depth texture from the frame buffer object + GLStateExtension::glFramebufferTexture2DEXT()( + GL_FRAMEBUFFER_EXT, + type_, + GL_TEXTURE_2D, + 0, + 0); + + //DeActivate the frame buffer objcet + GLStateExtension::glBindFramebufferEXT()(GL_FRAMEBUFFER_EXT, 0); + + //Delete the frame buffer object + GLStateExtension::glDeleteFramebuffersEXT()(1, &frameBufferObject_); + + frameBufferObject_ = 0; +} + +void GLShadowFrameBuffer::bind() +{ + GLStateExtension::glBindFramebufferEXT()(GL_FRAMEBUFFER_EXT, frameBufferObject_); +} + +void GLShadowFrameBuffer::unBind() +{ + GLStateExtension::glBindFramebufferEXT()(GL_FRAMEBUFFER_EXT, 0); +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLShadowFrameBuffer.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLShadowFrameBuffer.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLShadowFrameBuffer.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLShadowFrameBuffer.h 2006-09-03 00:59:05.000000000 +0900 @@ -0,0 +1,44 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_GLShadowFrameBufferh_INCLUDE__) +#define __INCLUDE_GLShadowFrameBufferh_INCLUDE__ + +#include + +class GLShadowFrameBuffer +{ +public: + GLShadowFrameBuffer(); + virtual ~GLShadowFrameBuffer(); + + bool create(GLTexture &texture, GLenum type); + void destroy(); + + void bind(); + void unBind(); + bool bufferValid() { return frameBufferObject_ != 0; } + +protected: + GLenum type_; + GLuint frameBufferObject_; +}; + +#endif // __INCLUDE_GLShadowFrameBufferh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLState.cpp 2006-02-13 23:17:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLState.cpp 2006-09-27 08:49:28.000000000 +0900 @@ -21,9 +21,13 @@ #include #include #include +#include unsigned GLState::currentState_ = - GLState::TEXTURE_OFF | GLState::BLEND_OFF | GLState::DEPTH_OFF | GLState::CUBEMAP_OFF; + GLState::TEXTURE_OFF | GLState::BLEND_OFF | + GLState::DEPTH_OFF | GLState::CUBEMAP_OFF | + GLState::LIGHTING_OFF | GLState::NORMALIZE_OFF | + GLState::LIGHT1_OFF; GLState::GLState(unsigned wantedState) { @@ -40,6 +44,45 @@ void GLState::setState(unsigned wanted) { + if ((wanted & LIGHT1_ON) && (currentState_ & LIGHT1_OFF)) + { + currentState_ ^= LIGHT1_OFF; + currentState_ |= LIGHT1_ON; + glEnable(GL_LIGHT1); + } + else if ((wanted & LIGHT1_OFF) && (currentState_ & LIGHT1_ON)) + { + currentState_ ^= LIGHT1_ON; + currentState_ |= LIGHT1_OFF; + glDisable(GL_LIGHT1); + } + + if ((wanted & LIGHTING_ON) && (currentState_ & LIGHTING_OFF)) + { + currentState_ ^= LIGHTING_OFF; + currentState_ |= LIGHTING_ON; + glEnable(GL_LIGHTING); + } + else if ((wanted & LIGHTING_OFF) && (currentState_ & LIGHTING_ON)) + { + currentState_ ^= LIGHTING_ON; + currentState_ |= LIGHTING_OFF; + glDisable(GL_LIGHTING); + } + + if ((wanted & NORMALIZE_ON) && (currentState_ & NORMALIZE_OFF)) + { + currentState_ ^= NORMALIZE_OFF; + currentState_ |= NORMALIZE_ON; + glEnable(GL_NORMALIZE); + } + else if ((wanted & NORMALIZE_OFF) && (currentState_ & NORMALIZE_ON)) + { + currentState_ ^= NORMALIZE_ON; + currentState_ |= NORMALIZE_OFF; + glDisable(GL_NORMALIZE); + } + if ((wanted & TEXTURE_ON) && (currentState_ & TEXTURE_OFF)) { currentState_ ^= TEXTURE_OFF; @@ -93,22 +136,31 @@ } } -char *GLState::getStateString() +static void addToBuffer(std::string &buffer, unsigned int value, const char *name) +{ + if (GLState::getState() & value) buffer.append(name).append("\n"); +} + +const char *GLState::getStateString() { - static char buffer[1024]; - buffer[0] = '\0'; - - snprintf(buffer, sizeof(buffer), "%s%s%s%s%s%s%s%s", - (currentState_ & TEXTURE_ON)? "TEXTURE_ON\n":"", - (currentState_ & TEXTURE_OFF)? "TEXTURE_ON\n":"", - (currentState_ & DEPTH_ON)? "DEPTH_ON\n":"", - (currentState_ & DEPTH_OFF)? "DEPTH_OFF\n":"", - (currentState_ & BLEND_ON)? "BLEND_ON\n":"", - (currentState_ & BLEND_OFF)? "BLEND_OFF\n":"", - (currentState_ & CUBEMAP_ON)? "CUBEMAP_ON\n":"", - (currentState_ & CUBEMAP_OFF)? "CUBEMAP_OFF\n":""); + static std::string buffer; + buffer = ""; + addToBuffer(buffer, NORMALIZE_ON, "NORMALIZE_ON"); + addToBuffer(buffer, NORMALIZE_OFF, "NORMALIZE_OFF"); + addToBuffer(buffer, LIGHTING_ON, "LIGHTING_ON"); + addToBuffer(buffer, LIGHTING_OFF, "LIGHTING_OFF"); + addToBuffer(buffer, LIGHT1_ON, "LIGHT1_ON"); + addToBuffer(buffer, LIGHT1_OFF, "LIGHT1_OFF"); + addToBuffer(buffer, TEXTURE_ON, "TEXTURE_ON"); + addToBuffer(buffer, TEXTURE_OFF, "TEXTURE_OFF"); + addToBuffer(buffer, DEPTH_ON, "DEPTH_ON"); + addToBuffer(buffer, DEPTH_OFF, "DEPTH_OFF"); + addToBuffer(buffer, BLEND_ON, "BLEND_ON"); + addToBuffer(buffer, BLEND_OFF, "BLEND_OFF"); + addToBuffer(buffer, CUBEMAP_ON, "CUBEMAP_ON"); + addToBuffer(buffer, CUBEMAP_OFF, "CUBEMAP_OFF"); - return buffer; + return buffer.c_str(); } void GLState::setBaseState(unsigned bs) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLStateExtension.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLStateExtension.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLStateExtension.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLStateExtension.cpp 2006-11-10 23:57:06.000000000 +0900 @@ -19,13 +19,14 @@ //////////////////////////////////////////////////////////////////////////////// #include -#include #include // Hmm library code pollution #include +#include #include #include #include +bool GLStateExtension::hasHardwareShadows_ = false; bool GLStateExtension::hasCubeMap_ = false; bool GLStateExtension::hasHardwareMipmaps_ = false; bool GLStateExtension::envCombine_ = false; @@ -34,6 +35,7 @@ PFNGLACTIVETEXTUREARBPROC GLStateExtension::glActiveTextureARB_ = 0; PFNGLMULTITEXCOORD2FARBPROC GLStateExtension::glMultiTextCoord2fARB_ = 0; PFNGLCLIENTACTIVETEXTUREARBPROC GLStateExtension::glClientActiveTextureARB_ = 0; + PFNGLGENBUFFERSARBPROC GLStateExtension::glGenBuffersARB_ = 0; PFNGLBINDBUFFERARBPROC GLStateExtension::glBindBufferARB_ = 0; PFNGLBUFFERDATAARBPROC GLStateExtension::glBufferDataARB_ = 0; @@ -41,6 +43,12 @@ PFNGLMAPBUFFERARBPROC GLStateExtension::glMapBufferARB_ = 0; PFNGLUNMAPBUFFERARBPROC GLStateExtension::glUnmapBufferARB_ = 0; +PFNGLGENFRAMEBUFFERSEXTPROC GLStateExtension::glGenFramebuffersEXT_ = 0; +PFNGLBINDFRAMEBUFFEREXTPROC GLStateExtension::glBindFramebufferEXT_ = 0; +PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC GLStateExtension::glCheckFramebufferStatusEXT_ = 0; +PFNGLFRAMEBUFFERTEXTURE2DEXTPROC GLStateExtension::glFramebufferTexture2DEXT_ = 0; +PFNGLDELETEFRAMEBUFFERSEXTPROC GLStateExtension::glDeleteFramebuffersEXT_ = 0; + bool GLStateExtension::hasExtension(char *name) { bool result = false; @@ -57,13 +65,10 @@ } } -// HACK for skin creator -#ifdef dDOUBLE - GLConsole::instance()->addLine(false, + Logger::log( formatString("GL extension \"%s\" = %s", name, (result?"on":"off"))); -#endif return result; } @@ -93,7 +98,10 @@ { if (hasExtension("GL_ARB_multitexture")) { - glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &textureUnits_); + GLint textureUnits; + glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &textureUnits); + textureUnits_ = textureUnits; + glActiveTextureARB_ = (PFNGLACTIVETEXTUREARBPROC) SDL_GL_GetProcAddress("glActiveTextureARB"); glMultiTextCoord2fARB_ = (PFNGLMULTITEXCOORD2FARBPROC) @@ -119,27 +127,47 @@ hasHardwareMipmaps_ = hasExtension("GL_SGIS_generate_mipmap"); } + { + if (hasExtension("GL_EXT_framebuffer_object") && + hasExtension("GL_ARB_shadow") && + hasExtension("GL_ARB_depth_texture") && + hasExtension("GL_ARB_multitexture")) + { + hasHardwareShadows_ = false; //true; + + glGenFramebuffersEXT_ = (PFNGLGENFRAMEBUFFERSEXTPROC) + SDL_GL_GetProcAddress("glGenFramebuffersEXT"); + glBindFramebufferEXT_ = (PFNGLBINDFRAMEBUFFEREXTPROC) + SDL_GL_GetProcAddress("glBindFramebufferEXT"); + glCheckFramebufferStatusEXT_ = (PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) + SDL_GL_GetProcAddress("glCheckFramebufferStatusEXT"); + glFramebufferTexture2DEXT_ = (PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) + SDL_GL_GetProcAddress("glFramebufferTexture2DEXT"); + glDeleteFramebuffersEXT_ = (PFNGLDELETEFRAMEBUFFERSEXTPROC) + SDL_GL_GetProcAddress("glDeleteFramebuffersEXT"); + } + } + noTexSubImage_ = OptionsDisplay::instance()->getNoGLTexSubImage(); -// HACK for skin creator -#ifdef dDOUBLE - GLConsole::instance()->addLine(false, "GL_VENDOR:"); - GLConsole::instance()->addLine(false, (const char *) glGetString(GL_VENDOR)); - GLConsole::instance()->addLine(false, "GL_RENDERER:"); - GLConsole::instance()->addLine(false, (const char *) glGetString(GL_RENDERER)); - GLConsole::instance()->addLine(false, "GL_VERSION:"); - GLConsole::instance()->addLine(false, (const char *) glGetString(GL_VERSION)); - GLConsole::instance()->addLine(false, "GL_EXTENSIONS:"); - GLConsole::instance()->addLine(false, (const char *) glGetString(GL_EXTENSIONS)); - GLConsole::instance()->addLine(false, "TEXTURE_UNITS:"); - GLConsole::instance()->addLine(false, formatString("%s (%i units)", ((glActiveTextureARB_==0)?"Off":"On"),textureUnits_)); - GLConsole::instance()->addLine(false, "VBO:"); - GLConsole::instance()->addLine(false, formatString("%s", ((glGenBuffersARB_==0)?"Off":"On"))); - GLConsole::instance()->addLine(false, "ENV COMBINE:"); - GLConsole::instance()->addLine(false, formatString("%s", (envCombine_?"On":"Off"))); - GLConsole::instance()->addLine(false, "CUBE MAP:"); - GLConsole::instance()->addLine(false, formatString("%s", (hasCubeMap_?"On":"Off"))); - GLConsole::instance()->addLine(false, "HW MIP MAPS:"); - GLConsole::instance()->addLine(false, formatString("%s", (hasHardwareMipmaps_?"On":"Off"))); -#endif + Logger::log("GL_VENDOR:"); + Logger::log((const char *) glGetString(GL_VENDOR)); + Logger::log("GL_RENDERER:"); + Logger::log((const char *) glGetString(GL_RENDERER)); + Logger::log("GL_VERSION:"); + Logger::log((const char *) glGetString(GL_VERSION)); + Logger::log("GL_EXTENSIONS:"); + Logger::log((const char *) glGetString(GL_EXTENSIONS)); + Logger::log("TEXTURE_UNITS:"); + Logger::log(formatString("%s (%i units)", ((glActiveTextureARB_==0)?"Off":"On"),textureUnits_)); + Logger::log("VBO:"); + Logger::log(formatString("%s", ((glGenBuffersARB_==0)?"Off":"On"))); + Logger::log("ENV COMBINE:"); + Logger::log(formatString("%s", (envCombine_?"On":"Off"))); + Logger::log("CUBE MAP:"); + Logger::log(formatString("%s", (hasCubeMap_?"On":"Off"))); + Logger::log("HW MIP MAPS:"); + Logger::log(formatString("%s", (hasHardwareMipmaps_?"On":"Off"))); + Logger::log("HW SHADOWS:"); + Logger::log(formatString("%s", (hasHardwareShadows_?"On":"Off"))); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLStateExtension.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLStateExtension.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLStateExtension.h 2005-04-12 07:19:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLStateExtension.h 2006-09-03 00:59:05.000000000 +0900 @@ -22,33 +22,7 @@ #define __INCLUDE_GLStateExtensionh_INCLUDE__ #include - -#ifndef GL_COMBINE_ARB -#define GL_COMBINE_ARB 0x8570 -#endif - -#ifndef GL_RGB_SCALE_ARB -#define GL_RGB_SCALE_ARB 0x8573 -#endif - -#ifndef _WIN32 -typedef void (* PFNGLACTIVETEXTUREARBPROC) (GLenum texture); -typedef void (* PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t); -typedef void (* PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture); -#endif - -#ifndef GL_ARRAY_BUFFER_ARB -#define GL_ARRAY_BUFFER_ARB 0x8892 -#define GL_STATIC_DRAW_ARB 0x88E4 -#define GL_DYNAMIC_DRAW_ARB 0x88E8 -#define GL_WRITE_ONLY_ARB 0x88B9 -typedef void (APIENTRY * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer); -typedef void (APIENTRY * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers); -typedef void (APIENTRY * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers); -typedef void (APIENTRY * PFNGLBUFFERDATAARBPROC) (GLenum target, int size, const GLvoid *data, GLenum usage); -typedef void *(APIENTRY * PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access); -typedef GLboolean (APIENTRY * PFNGLUNMAPBUFFERARBPROC) (GLenum target); -#endif +#include class GLStateExtension { @@ -67,6 +41,12 @@ inline static PFNGLACTIVETEXTUREARBPROC glActiveTextureARB() { return glActiveTextureARB_; } inline static PFNGLMULTITEXCOORD2FARBPROC glMultiTextCoord2fARB() { return glMultiTextCoord2fARB_; } inline static PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB() { return glClientActiveTextureARB_; } + // Use frame buffers + inline static PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT() { return glGenFramebuffersEXT_; } + inline static PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT() { return glBindFramebufferEXT_; } + inline static PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT() { return glDeleteFramebuffersEXT_; } + inline static PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT() { return glCheckFramebufferStatusEXT_; } + inline static PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT() { return glFramebufferTexture2DEXT_; } // Use tex sub image extension? static bool getNoTexSubImage() { return noTexSubImage_; } @@ -76,8 +56,10 @@ static bool hasHardwareMipmaps() { return hasHardwareMipmaps_; } // Use env combine static bool hasEnvCombine() { return envCombine_; } - // How many texture units + // How many texture units static int getTextureUnits() { return textureUnits_; } + // Use FrameBuffer extension + static bool hasHardwareShadows() { return hasHardwareShadows_; } protected: static bool hasExtension(char *name); @@ -96,10 +78,17 @@ static PFNGLMULTITEXCOORD2FARBPROC glMultiTextCoord2fARB_; static PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB_; + static PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT_; + static PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT_; + static PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT_; + static PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT_; + static PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT_; + static int textureUnits_; static bool hasCubeMap_; static bool hasHardwareMipmaps_; static bool noTexSubImage_; + static bool hasHardwareShadows_; private: GLStateExtension(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLState.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLState.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLState.h 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLState.h 2006-09-27 08:49:28.000000000 +0900 @@ -18,11 +18,6 @@ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //////////////////////////////////////////////////////////////////////////////// - -// GLState.h: interface for the GLState class. -// -////////////////////////////////////////////////////////////////////// - #if !defined(AFX_GLSTATE_H__32B0E2D0_566D_4438_94E4_B12FE82430B1__INCLUDED_) #define AFX_GLSTATE_H__32B0E2D0_566D_4438_94E4_B12FE82430B1__INCLUDED_ @@ -42,14 +37,20 @@ DEPTH_ON = 0x10, DEPTH_OFF = 0x20, CUBEMAP_ON = 0x40, - CUBEMAP_OFF = 0x80 + CUBEMAP_OFF = 0x80, + NORMALIZE_ON = 0x100, + NORMALIZE_OFF = 0x200, + LIGHTING_ON = 0x400, + LIGHTING_OFF = 0x800, + LIGHT1_ON = 0x1000, + LIGHT1_OFF = 0x2000 }; GLState(unsigned wantedState); virtual ~GLState(); static void setBaseState(unsigned baseState); - static char *getStateString(); + static const char *getStateString(); static unsigned int getState() { return currentState_; } protected: diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLTexture.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLTexture.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLTexture.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLTexture.cpp 2006-09-30 23:29:50.000000000 +0900 @@ -71,9 +71,7 @@ if (textureValid()) { - glBindTexture(texType_, texNum_); - if (glGetError() != GL_INVALID_VALUE && - glGetError() != GL_INVALID_OPERATION) + draw(); // Bind texture { glPixelStorei(GL_UNPACK_ROW_LENGTH, bitmap.getWidth()); glTexSubImage2D(texType_, 0, @@ -106,6 +104,31 @@ return success; } +bool GLTexture::createObject() +{ + if (!textureValid()) + { + GLfloat priority = 1.0f; + glGenTextures(1, &texNum_); + + if (usedNumbers_.find(texNum_) != usedNumbers_.end()) + { + DIALOG_ASSERT("Texture Reuse" == 0); + } + usedNumbers_.insert(texNum_); + + if (glGetError() == GL_INVALID_VALUE || + glGetError() == GL_INVALID_OPERATION) + { + //DIALOG_ASSERT("Failed to create texture" == 0); + return false; + } + glPrioritizeTextures(1, &texNum_, &priority); + } + + return true; +} + bool GLTexture::create(const void * data, GLint width, GLint height, @@ -120,30 +143,15 @@ if (height == 1 || width == 1) texType_ = GL_TEXTURE_1D; else texType_ = GL_TEXTURE_2D; - if (!textureValid()) + if (!validateSize(width) || !validateSize(height)) { - GLfloat priority = 1.0f; - glGenTextures(1, &texNum_); - - if (usedNumbers_.find(texNum_) != usedNumbers_.end()) - { - DIALOG_ASSERT("Texture Reuse" == 0); - } - usedNumbers_.insert(texNum_); - - if (glGetError() == GL_INVALID_VALUE || - glGetError() == GL_INVALID_OPERATION) - { - //DIALOG_ASSERT("Failed to create texture" == 0); - } - glPrioritizeTextures(1, &texNum_, &priority); + dialogExit("Scorched3D", + formatString("Invalid OpenGL texture size %ix%i specified", + width, height)); } + + createObject(); glBindTexture(texType_, texNum_); - if (glGetError() == GL_INVALID_VALUE || - glGetError() == GL_INVALID_OPERATION) - { - //DIALOG_ASSERT("Failed to bind create texture" == 0); - } success = createTexture(data, width, height, components, alignment, format, mipMap); } @@ -231,7 +239,73 @@ return true; } +bool GLTexture::createBufferTexture(GLint width, GLint height, bool depthTex) +{ + // Init internals + texType_ = GL_TEXTURE_2D; + width_ = width; + height_ = height; + + // Create texture + if (!createObject()) return false; + + glBindTexture(texType_, texNum_); + if (glGetError() == GL_INVALID_VALUE || + glGetError() == GL_INVALID_OPERATION) + { + return false; + } + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + if (!depthTex) + { + texFormat_ = GL_RGBA; + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, + GL_RGBA, GL_UNSIGNED_BYTE,NULL); + } + else + { + texFormat_ = GL_DEPTH_COMPONENT; + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE_ARB, GL_COMPARE_R_TO_TEXTURE_ARB); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC_ARB, GL_LEQUAL); + + // Find current depth buffer and use the same depth + GLint depth_bits; + glGetIntegerv(GL_DEPTH_BITS, &depth_bits); + GLenum depth_format; + if(depth_bits == 16) depth_format = GL_DEPTH_COMPONENT16_ARB; + else depth_format = GL_DEPTH_COMPONENT24_ARB; + + glTexImage2D(GL_TEXTURE_2D, 0, depth_format, width, height, 0, + GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 0); + } + + return true; +} + bool GLTexture::textureValid() { return (glIsTexture(texNum_) == GL_TRUE); } + +bool GLTexture::validateSize(int size) +{ + return (!(size != 1 && + size != 2 && + size != 4 && + size != 8 && + size != 16 && + size != 32 && + size != 64 && + size != 128 && + size != 256 && + size != 512 && + size != 1024 && + size != 2048)); +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLTexture.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLTexture.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLTexture.h 2005-06-04 10:55:11.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLTexture.h 2006-09-03 03:09:35.000000000 +0900 @@ -42,6 +42,9 @@ GLint alignment = 4, GLenum format = GL_RGB, bool mipMap = true); + bool createBufferTexture(GLint width, + GLint height, + bool depthTex); bool replace(GLImage &bitmap, GLenum format = GL_RGB, bool mipMap = true); @@ -62,6 +65,7 @@ GLenum texType_; GLenum texFormat_; + bool validateSize(int size); bool createTexture(const void * data, GLint width, GLint height, @@ -69,6 +73,7 @@ GLint alignment, GLenum format, bool mipMap); + bool createObject(); }; #endif // !defined(AFX_GLTEXTURE_H__9DA92C48_B9A4_4517_AB9F_55141CCDA817__INCLUDED_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLVertexArray.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLVertexArray.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLEXT/GLVertexArray.h 2004-09-09 06:28:49.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLEXT/GLVertexArray.h 2006-11-09 04:19:57.000000000 +0900 @@ -71,9 +71,9 @@ bool setup_; bool secondTexture_; bool useVBO_; - unsigned int verticesVBO_; - unsigned int colorsVBO_; - unsigned int textureVBO_; + GLuint verticesVBO_; + GLuint colorsVBO_; + GLuint textureVBO_; unsigned int listNo_; GLTexture *texture_; GLenum prim_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWButton.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWButton.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWButton.cpp 2005-11-25 21:23:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWButton.cpp 2006-09-22 06:02:25.000000000 +0900 @@ -84,7 +84,7 @@ } } -void GLWButton::mouseDown(float x, float y, bool &skipRest) +void GLWButton::mouseDown(int button, float x, float y, bool &skipRest) { if (enabled_ && inBox(x, y, x_, y_, w_, h_)) @@ -101,7 +101,7 @@ } } -void GLWButton::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWButton::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { if (startdrag_) { @@ -117,7 +117,7 @@ } } -void GLWButton::mouseUp(float x, float y, bool &skipRest) +void GLWButton::mouseUp(int button, float x, float y, bool &skipRest) { startdrag_ = false; if (pressed_) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWButton.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWButton.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWButton.h 2004-06-17 08:47:34.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWButton.h 2006-09-22 06:02:25.000000000 +0900 @@ -49,9 +49,9 @@ virtual void draw(); virtual void simulate(float frameTime); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); virtual void keyDown(char *buffer, unsigned int keyState, KeyboardHistory::HistoryElement *history, int hisCount, bool &skipRest); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWCheckBox.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWCheckBox.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWCheckBox.cpp 2005-05-24 05:52:55.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWCheckBox.cpp 2006-09-22 06:02:25.000000000 +0900 @@ -62,7 +62,7 @@ GLWidget::draw(); } -void GLWCheckBox::mouseDown(float x, float y, bool &skipRest) +void GLWCheckBox::mouseDown(int button, float x, float y, bool &skipRest) { if (x > x_ && x y_ && ystateChange(state_, getId()); } - GLWidget::mouseDown(x, y, skipRest); + GLWidget::mouseDown(button, x, y, skipRest); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWCheckBox.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWCheckBox.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWCheckBox.h 2004-06-17 08:47:34.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWCheckBox.h 2006-09-22 06:02:25.000000000 +0900 @@ -39,7 +39,7 @@ virtual ~GLWCheckBox(); virtual void draw(); - virtual void mouseDown(float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); bool &getState() { return state_; } void setState(bool state) { state_ = state; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWCheckBoxText.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWCheckBoxText.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWCheckBoxText.cpp 2005-08-17 05:23:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWCheckBoxText.cpp 2006-09-22 06:02:28.000000000 +0900 @@ -44,25 +44,25 @@ label_.draw(); } -void GLWCheckBoxText::mouseDown(float x, float y, bool &skipRest) +void GLWCheckBoxText::mouseDown(int button, float x, float y, bool &skipRest) { - GLWidget::mouseDown(x, y, skipRest); - box_.mouseDown(x, y, skipRest); - label_.mouseDown(x, y, skipRest); + GLWidget::mouseDown(button, x, y, skipRest); + box_.mouseDown(button, x, y, skipRest); + label_.mouseDown(button, x, y, skipRest); } -void GLWCheckBoxText::mouseUp(float x, float y, bool &skipRest) +void GLWCheckBoxText::mouseUp(int button, float x, float y, bool &skipRest) { - GLWidget::mouseUp(x, y, skipRest); - box_.mouseUp(x, y, skipRest); - label_.mouseUp(x, y, skipRest); + GLWidget::mouseUp(button, x, y, skipRest); + box_.mouseUp(button, x, y, skipRest); + label_.mouseUp(button, x, y, skipRest); } -void GLWCheckBoxText::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWCheckBoxText::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { - GLWidget::mouseDrag(mx, my, x, y, skipRest); - box_.mouseDrag(mx, my, x, y, skipRest); - label_.mouseDrag(mx, my, x, y, skipRest); + GLWidget::mouseDrag(button, mx, my, x, y, skipRest); + box_.mouseDrag(button, mx, my, x, y, skipRest); + label_.mouseDrag(button, mx, my, x, y, skipRest); } float GLWCheckBoxText::getW() diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWCheckBoxText.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWCheckBoxText.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWCheckBoxText.h 2005-08-17 05:23:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWCheckBoxText.h 2006-09-22 06:02:28.000000000 +0900 @@ -34,9 +34,9 @@ virtual ~GLWCheckBoxText(); virtual void draw(); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual float getW(); virtual void setX(float x); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWDropDown.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWDropDown.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWDropDown.cpp 2006-01-17 02:01:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWDropDown.cpp 2006-09-22 06:02:28.000000000 +0900 @@ -149,9 +149,9 @@ { } -void GLWDropDown::mouseDown(float x, float y, bool &skipRest) +void GLWDropDown::mouseDown(int button, float x, float y, bool &skipRest) { - button_.mouseDown(x, y, skipRest); + button_.mouseDown(button, x, y, skipRest); } void GLWDropDown::setX(float x) @@ -192,7 +192,7 @@ button_.getPressed() = false; } -void GLWDropDown::mouseUp(float x, float y, bool &skipRest) +void GLWDropDown::mouseUp(int button, float x, float y, bool &skipRest) { - button_.mouseUp(x, y, skipRest); + button_.mouseUp(button, x, y, skipRest); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWDropDown.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWDropDown.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWDropDown.h 2006-01-17 02:01:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWDropDown.h 2006-09-22 06:02:28.000000000 +0900 @@ -50,8 +50,8 @@ // Inherited from GLWidget virtual void draw(); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); virtual void setX(float x); virtual void setY(float y); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWFileView.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWFileView.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWFileView.cpp 2006-06-12 07:32:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWFileView.cpp 2006-09-22 06:02:28.000000000 +0900 @@ -68,19 +68,19 @@ scroll_.draw(); } -void GLWFileView::mouseDown(float x, float y, bool &skipRest) +void GLWFileView::mouseDown(int button, float x, float y, bool &skipRest) { - scroll_.mouseDown(x, y, skipRest); + scroll_.mouseDown(button, x, y, skipRest); } -void GLWFileView::mouseUp(float x, float y, bool &skipRest) +void GLWFileView::mouseUp(int button, float x, float y, bool &skipRest) { - scroll_.mouseUp(x, y, skipRest); + scroll_.mouseUp(button, x, y, skipRest); } -void GLWFileView::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWFileView::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { - scroll_.mouseDrag(mx, my, x, y, skipRest); + scroll_.mouseDrag(button, mx, my, x, y, skipRest); } void GLWFileView::mouseWheel(float x, float y, float z, bool &skipRest) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWFileView.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWFileView.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWFileView.h 2006-06-12 07:32:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWFileView.h 2006-09-22 06:02:28.000000000 +0900 @@ -36,9 +36,9 @@ virtual void draw(); virtual void simulate(float frameTime); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual void mouseWheel(float x, float y, float z, bool &skipRest); REGISTER_CLASS_HEADER(GLWFileView); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWidget.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWidget.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWidget.cpp 2006-07-05 02:47:31.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWidget.cpp 2006-09-22 06:02:29.000000000 +0900 @@ -88,17 +88,17 @@ parent_ = parent; } -void GLWidget::mouseDown(float x, float y, bool &skipRest) +void GLWidget::mouseDown(int button, float x, float y, bool &skipRest) { } -void GLWidget::mouseUp(float x, float y, bool &skipRest) +void GLWidget::mouseUp(int button, float x, float y, bool &skipRest) { } -void GLWidget::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWidget::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWidget.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWidget.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWidget.h 2006-06-12 07:32:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWidget.h 2006-09-22 06:02:29.000000000 +0900 @@ -42,9 +42,9 @@ // The widgets implementation virtual void draw(); virtual void simulate(float frameTime); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual void keyDown(char *buffer, unsigned int keyState, KeyboardHistory::HistoryElement *history, int hisCount, bool &skipRest); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWImageList.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWImageList.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWImageList.cpp 2005-02-12 22:52:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWImageList.cpp 2006-09-22 06:02:28.000000000 +0900 @@ -138,10 +138,10 @@ GLWidget::simulate(frameTime); } -void GLWImageList::mouseDown(float x, float y, +void GLWImageList::mouseDown(int button, float x, float y, bool &skipRest) { - GLWidget::mouseDown(x, y, skipRest); + GLWidget::mouseDown(button, x, y, skipRest); if (inBox(x, y, x_, y_, w_, h_)) { @@ -170,16 +170,16 @@ } } -void GLWImageList::mouseUp(float x, float y, +void GLWImageList::mouseUp(int button, float x, float y, bool &skipRest) { - GLWidget::mouseUp(x, y, skipRest); + GLWidget::mouseUp(button, x, y, skipRest); } -void GLWImageList::mouseDrag(float mx, float my, +void GLWImageList::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { - GLWidget::mouseDrag(mx, my, x, y, skipRest); + GLWidget::mouseDrag(button, mx, my, x, y, skipRest); } void GLWImageList::itemSelected(GLWSelectorEntry *entry, int position) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWImageList.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWImageList.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWImageList.h 2005-02-12 22:52:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWImageList.h 2006-09-22 06:02:28.000000000 +0900 @@ -41,9 +41,9 @@ // GLWidget virtual void draw(); virtual void simulate(float frameTime); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); // GLWSelectorI virtual void itemSelected(GLWSelectorEntry *entry, int position); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWListView.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWListView.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWListView.cpp 2006-07-10 07:01:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWListView.cpp 2006-09-22 06:02:28.000000000 +0900 @@ -171,7 +171,7 @@ scroll_.simulate(frameTime); } -void GLWListView::mouseDown(float x, float y, bool &skipRest) +void GLWListView::mouseDown(int button, float x, float y, bool &skipRest) { std::vector::iterator itor; for (itor = urls_.begin(); @@ -191,17 +191,17 @@ } } - scroll_.mouseDown(x, y, skipRest); + scroll_.mouseDown(button, x, y, skipRest); } -void GLWListView::mouseUp(float x, float y, bool &skipRest) +void GLWListView::mouseUp(int button, float x, float y, bool &skipRest) { - scroll_.mouseUp(x, y, skipRest); + scroll_.mouseUp(button, x, y, skipRest); } -void GLWListView::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWListView::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { - scroll_.mouseDrag(mx, my, x, y, skipRest); + scroll_.mouseDrag(button, mx, my, x, y, skipRest); } void GLWListView::mouseWheel(float x, float y, float z, bool &skipRest) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWListView.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWListView.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWListView.h 2006-07-10 07:01:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWListView.h 2006-09-22 06:02:28.000000000 +0900 @@ -58,9 +58,9 @@ virtual void draw(); virtual void simulate(float frameTime); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual void mouseWheel(float x, float y, float z, bool &skipRest); virtual void setX(float x) { x_ = x; scroll_.setX(x_ + w_ - 17); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWLoggerView.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWLoggerView.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWLoggerView.cpp 2006-07-08 22:15:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWLoggerView.cpp 2006-10-05 20:24:48.000000000 +0900 @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -45,7 +46,8 @@ scrollPosition_(-1), allowScroll_(false), upButton_(x_ + 2.0f, y_ + 2.0f, 10.0f, 10.0f), downButton_(x_ + 2.0f, y_ + 2.0f, 10.0f, 10.0f), - resetButton_(x_ + 2.0f, y_ + 2.0f, 10.0f, 10.0f) + resetButton_(x_ + 2.0f, y_ + 2.0f, 10.0f, 10.0f), + scrollUpKey_(0), scrollDownKey_(0), scrollResetKey_(0) { upButton_.setHandler(this); downButton_.setHandler(this); @@ -156,7 +158,7 @@ entry.timeRemaining = displayTime_; textLines_.push_front(entry); - if (scrollPosition_ > -1) + if (scrollPosition_ > 0) { scrollPosition_ ++; if (scrollPosition_ > (int) textLines_.size() - 1) @@ -410,35 +412,49 @@ } } -void GLWLoggerView::mouseDown(float x, float y, bool &skipRest) +void GLWLoggerView::mouseDown(int button, float x, float y, bool &skipRest) { skipRest = false; - upButton_.mouseDown(x, y, skipRest); - downButton_.mouseDown(x, y, skipRest); - resetButton_.mouseDown(x, y, skipRest); + upButton_.mouseDown(button, x, y, skipRest); + downButton_.mouseDown(button, x, y, skipRest); + resetButton_.mouseDown(button, x, y, skipRest); } -void GLWLoggerView::mouseUp(float x, float y, bool &skipRest) +void GLWLoggerView::mouseUp(int button, float x, float y, bool &skipRest) { skipRest = false; - upButton_.mouseUp(x, y, skipRest); - downButton_.mouseUp(x, y, skipRest); - resetButton_.mouseUp(x, y, skipRest); + upButton_.mouseUp(button, x, y, skipRest); + downButton_.mouseUp(button, x, y, skipRest); + resetButton_.mouseUp(button, x, y, skipRest); } -void GLWLoggerView::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWLoggerView::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { skipRest = false; - upButton_.mouseDrag(mx, my, x, y, skipRest); - downButton_.mouseDrag(mx, my, x, y, skipRest); - resetButton_.mouseDrag(mx, my, x, y, skipRest); + upButton_.mouseDrag(button, mx, my, x, y, skipRest); + downButton_.mouseDrag(button, mx, my, x, y, skipRest); + resetButton_.mouseDrag(button, mx, my, x, y, skipRest); } void GLWLoggerView::keyDown(char *buffer, unsigned int keyState, KeyboardHistory::HistoryElement *history, int hisCount, bool &skipRest) { - skipRest = false; + if (scrollUpKey_ && scrollUpKey_->keyDown(buffer, keyState, false)) + { + buttonDown(upButton_.getId()); + skipRest = true; + } + if (scrollDownKey_ && scrollDownKey_->keyDown(buffer, keyState, false)) + { + buttonDown(downButton_.getId()); + skipRest = true; + } + if (scrollResetKey_ && scrollResetKey_->keyDown(buffer, keyState, false)) + { + buttonDown(resetButton_.getId()); + skipRest = true; + } } bool GLWLoggerView::initFromXML(XMLNode *node) @@ -457,6 +473,20 @@ if (!node->getNamedChild("parentsized", parentSized_)) return false; if (!node->getNamedChild("splitlargelines", splitLargeLines_)) return false; if (!node->getNamedChild("allowscroll", allowScroll_)) return false; + + std::string scrollUpKey, scrollDownKey, scrollResetKey; + if (node->getNamedChild("scrollupkey", scrollUpKey, false)) + { + scrollUpKey_ = Keyboard::instance()->getKey(scrollUpKey.c_str()); + } + if (node->getNamedChild("scrolldownkey", scrollDownKey, false)) + { + scrollDownKey_ = Keyboard::instance()->getKey(scrollDownKey.c_str()); + } + if (node->getNamedChild("scrollresetkey", scrollResetKey, false)) + { + scrollResetKey_ = Keyboard::instance()->getKey(scrollResetKey.c_str()); + } return true; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWLoggerView.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWLoggerView.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWLoggerView.h 2006-07-05 02:47:31.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWLoggerView.h 2006-09-22 06:02:28.000000000 +0900 @@ -24,6 +24,7 @@ #include #include #include +#include #include class GLWLoggerViewEntry @@ -46,9 +47,9 @@ virtual void draw(); virtual void simulate(float frameTime); virtual bool initFromXML(XMLNode *node); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual void keyDown(char *buffer, unsigned int keyState, KeyboardHistory::HistoryElement *history, int hisCount, bool &skipRest); @@ -78,6 +79,9 @@ int visibleLines_, totalLines_; int currentVisible_; std::list textLines_; + KeyboardKey *scrollUpKey_; + KeyboardKey *scrollDownKey_; + KeyboardKey *scrollResetKey_; void addInfo(LoggerInfo &info); int splitLine(const char *message, std::string &result); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWPanel.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWPanel.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWPanel.cpp 2006-06-12 07:32:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWPanel.cpp 2006-09-22 06:02:28.000000000 +0900 @@ -213,7 +213,7 @@ } } -void GLWPanel::mouseDown(float x, float y, bool &skipRest) +void GLWPanel::mouseDown(int button, float x, float y, bool &skipRest) { x -= x_; y -= y_; @@ -230,13 +230,13 @@ (!entry.condition || entry.condition->getResult(entry.widget))) { - (*itor).widget->mouseDown(x, y, skipRest); + (*itor).widget->mouseDown(button, x, y, skipRest); if (skipRest) break; } } } -void GLWPanel::mouseUp(float x, float y, bool &skipRest) +void GLWPanel::mouseUp(int button, float x, float y, bool &skipRest) { x -= x_; y -= y_; @@ -252,12 +252,12 @@ if ((*itor).widget->getVisible() && (!entry.condition || entry.condition->getResult(entry.widget))) - (*itor).widget->mouseUp(x, y, skipRest); + (*itor).widget->mouseUp(button, x, y, skipRest); if (skipRest) break; } } -void GLWPanel::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWPanel::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { mx -= x_; my -= y_; @@ -272,7 +272,7 @@ (!entry.condition || entry.condition->getResult(entry.widget))) { - (*itor).widget->mouseDrag(mx, my, x, y, skipRest); + (*itor).widget->mouseDrag(button, mx, my, x, y, skipRest); if (skipRest) break; } } @@ -373,6 +373,7 @@ widgetTypeNode->getContent())); return false; } + if (!widgetNode->failChildren()) return false; // The condition (if any) GLWCondition *condition = 0; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWPanel.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWPanel.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWPanel.h 2006-06-12 07:32:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWPanel.h 2006-09-22 06:02:28.000000000 +0900 @@ -76,9 +76,9 @@ virtual void simulate(float frameTime); virtual void draw(); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual void keyDown(char *buffer, unsigned int keyState, KeyboardHistory::HistoryElement *history, int hisCount, bool &skipRest); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWPlanView.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWPlanView.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWPlanView.cpp 2006-05-16 00:12:39.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWPlanView.cpp 2006-10-01 01:11:31.000000000 +0900 @@ -26,11 +26,16 @@ #include #include #include +#include #include #include #include #include #include +#include +#include +#include +#include #include REGISTER_CLASS_SOURCE(GLWPlanView); @@ -40,8 +45,8 @@ GLWPlanView::GLWPlanView(float x, float y, float w, float h) : GLWidget(x, y, w, h), - animationTime_(0.0f), flashTime_(0.0f), - flash_(true) + animationTime_(0.0f), flashTime_(0.0f), totalTime_(0.0f), pointTime_(0.0f), + flash_(true), dragging_(false), firstTime_(true) { setToolTip(new GLWTip("Plan View", "Shows the position of the the tanks\n" @@ -57,6 +62,7 @@ void GLWPlanView::simulate(float frameTime) { + totalTime_ += frameTime; flashTime_ += frameTime; if (flashTime_ > 0.3f) { @@ -69,10 +75,70 @@ { animationTime_ = 0.0f; } + + // Send messages about lines that have been drawn once every + // 2 seconds + pointTime_ += frameTime; + if (pointTime_ > 2.0f) + { + pointTime_ = 0.0f; + + if (!sendPoints.empty()) + { + Vector last = sendPoints.back(); + last[2] = 0.0f; + + ComsLinesMessage message( + ScorchedClient::instance()->getTankContainer().getCurrentPlayerId()); + message.getLines() = sendPoints; + if (dragging_) message.getLines().push_back(Vector::nullVector); + sendPoints.clear(); + ComsMessageSender::sendToServer(message); + + if (dragging_) sendPoints.push_back(last); + } + } + + // Simulate all points + simulateLine(localPoints_); // Local + std::list::iterator playeritor; // Remote + for (playeritor = dragPoints_.begin(); + playeritor != dragPoints_.end(); + ) + { + PlayerDrawnInfo &info = (*playeritor); + std::list::iterator recieveitor; + for (recieveitor = info.recievepoints.begin(); + recieveitor != info.recievepoints.end(); + recieveitor++) + { + Vector &v = (*recieveitor); + if (v[2] > 3.0f) v[2] = 3.0f; + v[2] -= frameTime; + } + + if (!simulateLine(info)) + { + playeritor = dragPoints_.erase(playeritor); + } + else + { + playeritor++; + } + } } void GLWPlanView::draw() { + if (firstTime_) + { + firstTime_ = false; + if (!OptionsDisplay::instance()->getNoPlanDraw()) + { + ClientLinesHandler::instance()->registerCallback(this); + } + } + GLWidget::draw(); drawMap(); } @@ -90,10 +156,101 @@ GLState currentState2(GLState::TEXTURE_OFF); drawCameraPointer(); drawTanks(); + drawLines(); } glPopMatrix(); } +void GLWPlanView::drawLines() +{ + if (!localPoints_.points.empty()) + { + localPoints_.playerId = ScorchedClient::instance()-> + getTankContainer().getCurrentPlayerId(); + drawLine(localPoints_); + } + + if (!dragPoints_.empty()) + { + std::list::iterator playeritor; + for (playeritor = dragPoints_.begin(); + playeritor != dragPoints_.end(); + playeritor++) + { + PlayerDrawnInfo &info = (*playeritor); + drawLine(info); + } + } +} + +bool GLWPlanView::simulateLine(PlayerDrawnInfo &info) +{ + while (!info.recievepoints.empty()) + { + Vector &first = info.recievepoints.front(); + if (first[2] > 0.0f) break; + first[2] = totalTime_; + info.points.push_back(first); + info.recievepoints.pop_front(); + } + + while (!info.points.empty()) + { + Vector &first = info.points.front(); + float time = totalTime_ - first[2]; + if (time < 3.0f) break; + info.points.pop_front(); + } + + return !(info.points.empty() && info.recievepoints.empty()); +} + +void GLWPlanView::drawLine(PlayerDrawnInfo &info) +{ + Tank *current = + ScorchedClient::instance()->getTankContainer().getTankById( + info.playerId); + if (!current) + { + info.points.clear(); + info.recievepoints.clear(); + return; + } + + if (info.points.empty()) return; + + glBegin(GL_LINE_STRIP); + std::list::iterator itor; + for (itor = info.points.begin(); + itor != info.points.end(); + itor++) + { + Vector &v = (*itor); + + if (v[0] == 0.0f && v[1] == 0.0f) + { + glEnd(); + glBegin(GL_LINE_STRIP); + } + else + { + if (v[0] >= 0.0f && v[1] >= 0.0f && + v[0] <= 1.0f && v[1] <= 1.0f) + { + float time = totalTime_ - v[2]; + time = 1.0f - (time / 3.0f); + glColor4f( + current->getColor()[0], + current->getColor()[1], + current->getColor()[2], + time); + glVertex2f(v[0], v[1]); + } + } + } + glEnd(); +} + void GLWPlanView::drawTexture() { // Draw the camera pointer @@ -313,26 +470,99 @@ } -void GLWPlanView::mouseDown(float x, float y, bool &skipRest) +void GLWPlanView::mouseDown(int button, float x, float y, bool &skipRest) { if (inBox(x, y, x_, y_, w_, h_)) { skipRest = true; - float mapWidth = (float) ScorchedClient::instance()-> - getLandscapeMaps().getGroundMaps().getMapWidth(); - float mapHeight = (float) ScorchedClient::instance()-> - getLandscapeMaps().getGroundMaps().getMapHeight(); - float maxWidth = MAX(mapWidth, mapHeight); - - float mapX = ((x - x_) / w_) * maxWidth; - float mapY = ((y - y_) / h_) * maxWidth; - mapX -= (maxWidth - mapWidth) / 2.0f; - mapY -= (maxWidth - mapHeight) / 2.0f; - - Vector lookAt(mapX, mapY, ScorchedClient::instance()-> - getLandscapeMaps().getGroundMaps().getInterpHeight(mapX, mapY) + 5.0f); - MainCamera::instance()->getTarget().setCameraType(TargetCamera::CamFree); - MainCamera::instance()->getCamera().setLookAt(lookAt); + if (button == 1) + { + float mapWidth = (float) ScorchedClient::instance()-> + getLandscapeMaps().getGroundMaps().getMapWidth(); + float mapHeight = (float) ScorchedClient::instance()-> + getLandscapeMaps().getGroundMaps().getMapHeight(); + float maxWidth = MAX(mapWidth, mapHeight); + + float mapX = ((x - x_) / w_) * maxWidth; + float mapY = ((y - y_) / h_) * maxWidth; + mapX -= (maxWidth - mapWidth) / 2.0f; + mapY -= (maxWidth - mapHeight) / 2.0f; + + Vector lookAt(mapX, mapY, ScorchedClient::instance()-> + getLandscapeMaps().getGroundMaps().getInterpHeight(mapX, mapY) + 5.0f); + MainCamera::instance()->getTarget().setCameraType(TargetCamera::CamFree); + MainCamera::instance()->getCamera().setLookAt(lookAt); + } + else if (button == 4) + { + dragging_ = true; + + dragLastX_ = x; + dragLastY_ = y; + + float mapX = ((x - x_) / w_); + float mapY = ((y - y_) / h_); + localPoints_.points.push_back(Vector(mapX, mapY, totalTime_)); + sendPoints.push_back(Vector(mapX, mapY, pointTime_)); + } + } +} + +void GLWPlanView::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) +{ + if (dragging_) + { + skipRest = true; + if (inBox(mx, my, x_, y_, w_, h_)) + { + if (fabsf(mx - dragLastX_) > 5.0f || + fabsf(my - dragLastY_) > 5.0f) + { + dragLastX_ = mx; + dragLastY_ = my; + + float mapX = ((mx - x_) / w_); + float mapY = ((my - y_) / h_); + localPoints_.points.push_back(Vector(mapX, mapY, totalTime_)); + sendPoints.push_back(Vector(mapX, mapY, pointTime_)); + } + } + } +} + +void GLWPlanView::mouseUp(int button, float x, float y, bool &skipRest) +{ + if (dragging_) + { + dragging_ = false; + localPoints_.points.push_back(Vector::nullVector); + sendPoints.push_back(Vector::nullVector); + } +} + +void GLWPlanView::addRecievePoints(unsigned int playerId, + std::list &recievepoints) +{ + PlayerDrawnInfo *foundInfo = 0; + std::list::iterator dragItor; + for (dragItor = dragPoints_.begin(); + dragItor != dragPoints_.end(); + dragItor++) + { + PlayerDrawnInfo &info = (*dragItor); + if (info.playerId == playerId) + { + foundInfo = &info; + } + } + if (!foundInfo) + { + dragPoints_.push_back(PlayerDrawnInfo()); + foundInfo = &dragPoints_.back(); + foundInfo->playerId = playerId; } + + foundInfo->recievepoints.insert(foundInfo->recievepoints.end(), + recievepoints.begin(), recievepoints.end()); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWPlanView.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWPlanView.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWPlanView.h 2004-06-17 08:47:34.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWPlanView.h 2006-09-23 02:11:40.000000000 +0900 @@ -22,6 +22,9 @@ #define __INCLUDE_GLWPlanViewh_INCLUDE__ #include +#include +#include +#include class GLWPlanView : public GLWidget { @@ -31,15 +34,33 @@ virtual ~GLWPlanView(); virtual void simulate(float frameTime); - virtual void mouseDown(float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); virtual void draw(); + void addRecievePoints(unsigned int playerId, std::list &recievepoints); + REGISTER_CLASS_HEADER(GLWPlanView); protected: + struct PlayerDrawnInfo + { + unsigned int playerId; + std::list points; + std::list recievepoints; + }; + float animationTime_; float flashTime_; - bool flash_; + float totalTime_; + float pointTime_; + bool flash_, firstTime_; + bool dragging_; + float dragLastX_, dragLastY_; + PlayerDrawnInfo localPoints_; + std::list dragPoints_; + std::list sendPoints; void drawMap(); void drawTexture(); @@ -47,6 +68,9 @@ void drawCameraPointer(); void drawTanks(); void drawCurrentTank(); + void drawLines(); + void drawLine(PlayerDrawnInfo &info); + bool simulateLine(PlayerDrawnInfo &info); }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWPushButton.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWPushButton.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWPushButton.cpp 2004-03-23 08:24:19.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWPushButton.cpp 2006-09-22 06:02:28.000000000 +0900 @@ -38,7 +38,7 @@ } -void GLWPushButton::mouseDown(float x, float y, bool &skipRest) +void GLWPushButton::mouseDown(int button, float x, float y, bool &skipRest) { if (x > x_ && x y_ && ygetRenderer(); if (!renderer) return; - Accessory *weapon = current->getAccessories().getWeapons().getCurrent(); - if (!weapon) return; - // Items relating to the current player switch (infoType_) { @@ -171,7 +168,7 @@ break; case eParachuteCount: setToolTip(&renderer->getTips()->paraTip); - if (!current->getParachute().parachutesEnabled()) + if (!current->getParachute().getCurrentParachute()) { GLWFont::instance()->getSmallPtFont()->draw( *fontColor, fontSize_, @@ -180,8 +177,8 @@ } else { - int count = current->getAccessories(). - getParachutes().getNoParachutes(); + int count = current->getAccessories().getAccessoryCount( + current->getParachute().getCurrentParachute()); char buffer[128]; if (count >= 0) snprintf(buffer, 128, "%i", count); else snprintf(buffer, 128, "In"); @@ -227,41 +224,37 @@ break; case eFuelCount: { - int totalCount = 0; - std::list entries; - current->getAccessories().getAllAccessoriesByType( - AccessoryPart::AccessoryFuel, entries); - std::list::iterator itor; - for (itor = entries.begin(); - itor != entries.end(); - itor++) - { - Accessory *accessory = (*itor); - int count = current->getAccessories().getAccessoryCount(accessory); - if (count == -1 || totalCount == -1) - { - totalCount = -1; - } - else - { - totalCount += count; - } - } + Accessory *weapon = current->getAccessories().getWeapons().getCurrent(); setToolTip(&renderer->getTips()->fuelTip); - GLWFont::instance()->getSmallPtFont()->draw( - *fontColor, fontSize_, - x_, y_, 0.0f, - formatString((totalCount==-1?"In":"%i"), totalCount)); + + if (!weapon || + weapon->getPositionSelect() != Accessory::ePositionSelectFuel) + { + GLWFont::instance()->getSmallPtFont()->draw( + *fontColor, fontSize_, + x_, y_, 0.0f, + "Off"); + } + else + { + int count = current->getAccessories().getAccessoryCount(weapon); + GLWFont::instance()->getSmallPtFont()->draw( + *fontColor, fontSize_, + x_, y_, 0.0f, + formatString((count==-1?"In":"%i"), count)); + } } break; case eWeaponName: { + Accessory *weapon = current->getAccessories().getWeapons().getCurrent(); + if (!weapon) return; + setToolTip(&renderer->getTips()->weaponTip); static char buffer[256]; - snprintf(buffer, 256, "%s", - current->getAccessories().getWeapons().getCurrent()->getName()); + snprintf(buffer, 256, "%s", weapon->getName()); float weaponWidth = (float) GLWFont::instance()->getSmallPtFont()-> getWidth(fontSize_, buffer); @@ -275,9 +268,11 @@ break; case eWeaponCount: { + Accessory *weapon = current->getAccessories().getWeapons().getCurrent(); + if (!weapon) return; + setToolTip(&renderer->getTips()->weaponTip); - int count = current->getAccessories().getAccessoryCount( - current->getAccessories().getWeapons().getCurrent()); + int count = current->getAccessories().getAccessoryCount(weapon); const char *format = "%i"; if (count < 0) format = "In"; GLWFont::instance()->getSmallPtFont()->draw( @@ -288,6 +283,9 @@ break; case eWeaponIcon: { + Accessory *weapon = current->getAccessories().getWeapons().getCurrent(); + if (!weapon) return; + setToolTip(&renderer->getTips()->weaponTip); GLState state(GLState::TEXTURE_ON | GLState::BLEND_ON); @@ -353,7 +351,7 @@ } } -void GLWScorchedInfo::mouseDown(float x, float y, bool &skipRest) +void GLWScorchedInfo::mouseDown(int button, float x, float y, bool &skipRest) { Tank *current = ScorchedClient::instance()->getTankContainer().getCurrentTank(); @@ -429,7 +427,7 @@ } else { - GLWidget::mouseDown(x, y, skipRest); + GLWidget::mouseDown(button, x, y, skipRest); } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScorchedInfo.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScorchedInfo.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScorchedInfo.h 2005-01-09 01:21:47.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScorchedInfo.h 2006-09-22 06:02:28.000000000 +0900 @@ -68,7 +68,7 @@ virtual ~GLWScorchedInfo(); virtual void draw(); - virtual void mouseDown(float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); virtual bool initFromXML(XMLNode *node); REGISTER_CLASS_HEADER(GLWScorchedInfo); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScrollButton.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScrollButton.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScrollButton.cpp 2004-03-23 08:24:19.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScrollButton.cpp 2006-09-22 06:02:28.000000000 +0900 @@ -37,7 +37,7 @@ } -void GLWScrollButton::mouseDown(float x, float y, bool &skipRest) +void GLWScrollButton::mouseDown(int button, float x, float y, bool &skipRest) { startX_ = 0.0f; startY_ = 0.0f; @@ -47,10 +47,10 @@ scrollHandler_->startDrag(id_); } - GLWButton::mouseDown(x, y, skipRest); + GLWButton::mouseDown(button, x, y, skipRest); } -void GLWScrollButton::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWScrollButton::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { if (pressed_) { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScrollButton.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScrollButton.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScrollButton.h 2004-03-23 08:24:19.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScrollButton.h 2006-09-22 06:02:28.000000000 +0900 @@ -38,8 +38,8 @@ GLWScrollButton(float x, float y, float w, float h); virtual ~GLWScrollButton(); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); void setScrollHandler(GLWScrollButtonI *handler); protected: diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScrollPanel.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScrollPanel.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScrollPanel.cpp 2006-06-24 02:53:22.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScrollPanel.cpp 2006-10-23 06:19:20.000000000 +0900 @@ -27,7 +27,7 @@ GLWScrollPanel::GLWScrollPanel(float x, float y, float w, float h) : GLWPanel(x, y, w, h), scrollW_(x + w - 19, y + 4, h - 10, 0, 0), - drawScrollBar_(true), maxSee_(0) + drawScrollBar_(true), maxSee_(0), widgetHeight_(0.0f) { scrollW_.setHandler(this); } @@ -49,27 +49,19 @@ scrollW_.simulate(frameTime); } -void GLWScrollPanel::draw() +void GLWScrollPanel::calculateVisible() { drawScrollBar_ = false; int canSee = 0; float widgetMinY = FLT_MAX; float widgetMaxY = FLT_MIN; - glPushMatrix(); { - GLWTranslate trans(x_, y_); - glTranslatef(x_, y_, 0.0f); - - GLState currentState(GLState::DEPTH_OFF | GLState::TEXTURE_OFF); - std::list::iterator itor; for (itor = getWidgets().begin(); itor != getWidgets().end(); itor++) { - glPushMatrix(); - GLWidget *vw = - (GLWidget *) (*itor).widget; + GLWidget *vw = (GLWidget *) (*itor).widget; if (vw->getY() < 0.0f || vw->getY() + vw->getH() > h_) { drawScrollBar_ = true; @@ -77,15 +69,12 @@ else { canSee++; - vw->draw(); } if (vw->getY() < widgetMinY) widgetMinY = vw->getY(); if (vw->getY() + vw->getH() > widgetMaxY) widgetMaxY = vw->getY() + vw->getH(); - glPopMatrix(); } } - glPopMatrix(); widgetHeight_ = widgetMaxY - widgetMinY; @@ -95,15 +84,44 @@ if (canSee > maxSee_) maxSee_ = canSee; scrollW_.setSee(maxSee_); scrollW_.setMax((int) getWidgets().size()); - scrollW_.draw(); } } -void GLWScrollPanel::mouseUp(float x, float y, bool &skipRest) +void GLWScrollPanel::draw() +{ + calculateVisible(); + + glPushMatrix(); + { + GLWTranslate trans(x_, y_); + glTranslatef(x_, y_, 0.0f); + + GLState currentState(GLState::DEPTH_OFF | GLState::TEXTURE_OFF); + + std::list::iterator itor; + for (itor = getWidgets().begin(); + itor != getWidgets().end(); + itor++) + { + glPushMatrix(); + GLWidget *vw = (GLWidget *) (*itor).widget; + if (vw->getY() >= 0.0f && vw->getY() + vw->getH() <= h_) + { + vw->draw(); + } + glPopMatrix(); + } + } + glPopMatrix(); + + if (drawScrollBar_) scrollW_.draw(); +} + +void GLWScrollPanel::mouseUp(int button, float x, float y, bool &skipRest) { if (drawScrollBar_) { - scrollW_.mouseUp(x, y, skipRest); + scrollW_.mouseUp(button, x, y, skipRest); } if (!skipRest) { @@ -123,18 +141,18 @@ } else { - vw->mouseUp(x, y, skipRest); + vw->mouseUp(button, x, y, skipRest); } if (skipRest) break; } } } -void GLWScrollPanel::mouseDown(float x, float y, bool &skipRest) +void GLWScrollPanel::mouseDown(int button, float x, float y, bool &skipRest) { if (drawScrollBar_) { - scrollW_.mouseDown(x, y, skipRest); + scrollW_.mouseDown(button, x, y, skipRest); } if (!skipRest) { @@ -154,18 +172,18 @@ } else { - vw->mouseDown(x, y, skipRest); + vw->mouseDown(button, x, y, skipRest); } if (skipRest) break; } } } -void GLWScrollPanel::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWScrollPanel::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { if (drawScrollBar_) { - scrollW_.mouseDrag(mx, my, x, y, skipRest); + scrollW_.mouseDrag(button, mx, my, x, y, skipRest); } if (!skipRest) { @@ -185,7 +203,7 @@ } else { - vw->mouseDrag(mx, my, x, y, skipRest); + vw->mouseDrag(button, mx, my, x, y, skipRest); } if (skipRest) break; } @@ -200,8 +218,8 @@ if (drawScrollBar_) { - if (z < 0.0f) scrollW_.setCurrent(scrollW_.getCurrent() + 1); - else scrollW_.setCurrent(scrollW_.getCurrent() - 1); + if (z < 0.0f) scrollW_.setCurrent(scrollW_.getCurrent() + 2); + else scrollW_.setCurrent(scrollW_.getCurrent() - 2); } else { @@ -212,9 +230,6 @@ void GLWScrollPanel::positionChange(unsigned int id, int current, int movement) { - GLWidget *widget = (GLWidget *) - getWidgets().front().widget; - float move = ((widgetHeight_ + 2.0f) / float(getWidgets().size())) * float(movement); std::list::iterator itor; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScrollPanel.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScrollPanel.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScrollPanel.h 2006-06-12 07:32:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScrollPanel.h 2006-10-03 05:46:55.000000000 +0900 @@ -34,9 +34,9 @@ virtual void draw(); virtual void simulate(float frameTime); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual void mouseWheel(float x, float y, float z, bool &skipRest); virtual void positionChange(unsigned int id, int current, int movement); @@ -44,6 +44,7 @@ virtual void setH(float h); + void calculateVisible(); bool &getDrawScrollBar() { return drawScrollBar_; } GLWScrollW &getScrollBar() { return scrollW_; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScrollW.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScrollW.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScrollW.cpp 2006-06-12 07:32:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScrollW.cpp 2006-10-03 05:46:55.000000000 +0900 @@ -156,55 +156,55 @@ bottomButton_.simulate(frameTime); } -void GLWScrollW::mouseDown(float x, float y, bool &skipRest) +void GLWScrollW::mouseDown(int button, float x, float y, bool &skipRest) { - topButton_.mouseDown(x, y, skipRest); + topButton_.mouseDown(button, x, y, skipRest); if (skipRest) return; - bottomButton_.mouseDown(x, y, skipRest); + bottomButton_.mouseDown(button, x, y, skipRest); if (skipRest) return; - middleButton_.mouseDown(x, y, skipRest); + middleButton_.mouseDown(button, x, y, skipRest); if (skipRest) return; - backButtonTop_.mouseDown(x, y, skipRest); + backButtonTop_.mouseDown(button, x, y, skipRest); if (skipRest) return; - backButtonBot_.mouseDown(x, y, skipRest); + backButtonBot_.mouseDown(button, x, y, skipRest); } -void GLWScrollW::mouseUp(float x, float y, bool &skipRest) +void GLWScrollW::mouseUp(int button, float x, float y, bool &skipRest) { - topButton_.mouseUp(x, y, skipRest); + topButton_.mouseUp(button, x, y, skipRest); if (skipRest) return; - bottomButton_.mouseUp(x, y, skipRest); + bottomButton_.mouseUp(button, x, y, skipRest); if (skipRest) return; - middleButton_.mouseUp(x, y, skipRest); + middleButton_.mouseUp(button, x, y, skipRest); if (skipRest) return; - backButtonTop_.mouseUp(x, y, skipRest); + backButtonTop_.mouseUp(button, x, y, skipRest); if (skipRest) return; - backButtonBot_.mouseUp(x, y, skipRest); + backButtonBot_.mouseUp(button, x, y, skipRest); } -void GLWScrollW::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWScrollW::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { - topButton_.mouseDrag(mx, my, x, y, skipRest); + topButton_.mouseDrag(button, mx, my, x, y, skipRest); if (skipRest) return; - bottomButton_.mouseDrag(mx, my, x, y, skipRest); + bottomButton_.mouseDrag(button, mx, my, x, y, skipRest); if (skipRest) return; - middleButton_.mouseDrag(mx, my, x, y, skipRest); + middleButton_.mouseDrag(button, mx, my, x, y, skipRest); if (skipRest) return; - backButtonTop_.mouseDrag(mx, my, x, y, skipRest); + backButtonTop_.mouseDrag(button, mx, my, x, y, skipRest); if (skipRest) return; - backButtonBot_.mouseDrag(mx, my, x, y, skipRest); + backButtonBot_.mouseDrag(button, mx, my, x, y, skipRest); } void GLWScrollW::mouseWheel(float x, float y, float z, bool &skipRest) @@ -239,7 +239,15 @@ const int possibilites = (max_ - min_) - see_; if (possibilites > 0) { - int diff = int(y / 5.0f); + const float buttonWidth = w_ - 4.0f; + float totalheight = (h_ - buttonWidth - buttonWidth - 8.0f); + float percentageSeen = float(see_) / float(max_ - min_); + float barSize = percentageSeen * totalheight; + + float heightLeft = totalheight - barSize; + float eachPosSize = heightLeft / float(possibilites); + + int diff = int(y / eachPosSize); int newCurrent = dragCurrent_ + diff; if (newCurrent < min_) newCurrent = min_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScrollW.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScrollW.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWScrollW.h 2006-06-12 07:32:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWScrollW.h 2006-09-22 06:02:29.000000000 +0900 @@ -61,9 +61,9 @@ virtual void draw(); virtual void simulate(float frameTime); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual void buttonDown(unsigned int id); virtual void mouseWheel(float x, float y, float z, bool &skipRest); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWSelector.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWSelector.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWSelector.cpp 2006-01-17 02:01:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWSelector.cpp 2006-09-22 06:02:29.000000000 +0900 @@ -162,7 +162,7 @@ } } -void GLWSelector::mouseDown(float mouseX, float mouseY, bool &hitMenu) +void GLWSelector::mouseDown(int button, float mouseX, float mouseY, bool &hitMenu) { // Override default window behaviour if (!visible_) return; @@ -193,12 +193,12 @@ hideSelector(); } -void GLWSelector::mouseUp(float x, float y, bool &skipRest) +void GLWSelector::mouseUp(int button, float x, float y, bool &skipRest) { // Override and disable default window behaviour } -void GLWSelector::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWSelector::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { // Override and disable default window behaviour } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWSelector.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWSelector.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWSelector.h 2006-01-17 02:01:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWSelector.h 2006-09-22 06:02:29.000000000 +0900 @@ -91,9 +91,9 @@ // Inherited from GLWWindow virtual void draw(); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual void keyDown(char *buffer, unsigned int keyState, KeyboardHistory::HistoryElement *history, int hisCount, bool &skipRest); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWSlider.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWSlider.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWSlider.cpp 2005-12-11 01:50:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWSlider.cpp 2006-09-22 06:02:29.000000000 +0900 @@ -40,7 +40,7 @@ } -void GLWSlider::mouseDown(float x, float y, bool &skipRest) +void GLWSlider::mouseDown(int button, float x, float y, bool &skipRest) { if (inBox(x, y, x_, y_, w_, h_)) { @@ -49,12 +49,12 @@ } } -void GLWSlider::mouseUp(float x, float y, bool &skipRest) +void GLWSlider::mouseUp(int button, float x, float y, bool &skipRest) { dragging_ = false; } -void GLWSlider::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWSlider::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { if (dragging_) { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWSlider.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWSlider.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWSlider.h 2004-06-17 08:47:34.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWSlider.h 2006-09-22 06:02:29.000000000 +0900 @@ -41,9 +41,9 @@ float getCurrent() { return current_; } void setCurrent(float current) { current_ = current; } - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); REGISTER_CLASS_HEADER(GLWSlider); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWSpinBox.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWSpinBox.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWSpinBox.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWSpinBox.cpp 2006-09-22 06:02:29.000000000 +0900 @@ -73,12 +73,12 @@ formatString("%i", value_)); } -void GLWSpinBox::mouseDown(float x, float y, bool &skipRest) +void GLWSpinBox::mouseDown(int button, float x, float y, bool &skipRest) { - top_.mouseDown(x, y, skipRest); + top_.mouseDown(button, x, y, skipRest); if (skipRest) return; - bottom_.mouseDown(x, y, skipRest); + bottom_.mouseDown(button, x, y, skipRest); if (!skipRest) { if (inBox(x, y, x_, y_, w_, h_)) @@ -89,17 +89,17 @@ } } -void GLWSpinBox::mouseUp(float x, float y, bool &skipRest) +void GLWSpinBox::mouseUp(int button, float x, float y, bool &skipRest) { dragging_ = false; - top_.mouseUp(x, y, skipRest); + top_.mouseUp(button, x, y, skipRest); if (skipRest) return; - bottom_.mouseUp(x, y, skipRest); + bottom_.mouseUp(button, x, y, skipRest); } -void GLWSpinBox::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWSpinBox::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { if (dragging_) { @@ -109,10 +109,10 @@ return; } - top_.mouseDrag(mx, my, x, y, skipRest); + top_.mouseDrag(button, mx, my, x, y, skipRest); if (skipRest) return; - bottom_.mouseDrag(mx, my, x, y, skipRest); + bottom_.mouseDrag(button, mx, my, x, y, skipRest); if (skipRest) return; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWSpinBox.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWSpinBox.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWSpinBox.h 2004-06-17 08:47:34.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWSpinBox.h 2006-09-22 06:02:29.000000000 +0900 @@ -32,9 +32,9 @@ virtual ~GLWSpinBox(); virtual void draw(); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual void keyDown(char *buffer, unsigned int keyState, KeyboardHistory::HistoryElement *history, int hisCount, bool &skipRest); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTab.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTab.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTab.cpp 2006-06-20 10:19:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTab.cpp 2006-10-23 06:19:20.000000000 +0900 @@ -34,7 +34,7 @@ GLWTab::GLWTab(char *tabName, float x, float y, float w, float h) : GLWScrollPanel(x, y, w, h), index_(-1.0f), - label_(x + 5.0f + index_, y + h - 3.0f, tabName), + label_(x + 5.0f + -1.0f, y + h - 3.0f, tabName), handler_(0), depressed_(true) { label_.setSize(12.0f); @@ -55,7 +55,7 @@ return label_.getW() + tabSpacing; } -void GLWTab::mouseDown(float x, float y, bool &skipRest) +void GLWTab::mouseDown(int button, float x, float y, bool &skipRest) { float tw = getTw(); if (x > x_ + index_ && @@ -69,7 +69,7 @@ if (!skipRest && depressed_) { - GLWScrollPanel::mouseDown(x, y, skipRest); + GLWScrollPanel::mouseDown(button, x, y, skipRest); } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTab.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTab.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTab.h 2006-06-12 07:32:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTab.h 2006-09-22 06:02:29.000000000 +0900 @@ -42,7 +42,7 @@ virtual ~GLWTab(); virtual void setParent(GLWPanel *parent); - virtual void mouseDown(float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); virtual void mouseWheel(float x, float y, float z, bool &skipRest); virtual void draw(); virtual void setH(float h); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTankFire.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTankFire.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTankFire.cpp 2004-06-17 08:47:34.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTankFire.cpp 2006-09-22 06:02:29.000000000 +0900 @@ -38,7 +38,7 @@ } -void GLWTankFire::mouseDown(float x, float y, bool &skipRest) +void GLWTankFire::mouseDown(int button, float x, float y, bool &skipRest) { if (inBox(x, y, x_, y_, w_, h_)) { @@ -46,7 +46,7 @@ } } -void GLWTankFire::mouseUp(float x, float y, bool &skipRest) +void GLWTankFire::mouseUp(int button, float x, float y, bool &skipRest) { if (dragging_) { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTankFire.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTankFire.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTankFire.h 2004-06-17 08:47:34.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTankFire.h 2006-09-22 06:02:29.000000000 +0900 @@ -29,8 +29,8 @@ GLWTankFire(); virtual ~GLWTankFire(); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); REGISTER_CLASS_HEADER(GLWTankFire); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTankModel.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTankModel.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTankModel.cpp 2006-03-10 09:58:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTankModel.cpp 2006-10-01 01:11:31.000000000 +0900 @@ -24,6 +24,9 @@ #include #include #include +#include +#include +#include #include REGISTER_CLASS_SOURCE(GLWTankModel); @@ -47,6 +50,12 @@ current->getRenderer(); if (!renderer) return; + Vector4 sunPosition(-100.0f, 100.0f, 400.0f, 1.0f); + Vector4 sunDiffuse(0.9f, 0.9f, 0.9f, 1.0f); + Vector4 sunAmbient(0.4f, 0.4f, 0.4f, 1.0f); + glLightfv(GL_LIGHT1, GL_AMBIENT, sunAmbient); + glLightfv(GL_LIGHT1, GL_DIFFUSE, sunDiffuse); + // Add the tooltip for the model name+attributes GLWToolTip::instance()->addToolTip(&renderer->getTips()->tankTip, GLWTranslate::getPosX() + x_ + 20.0f, @@ -65,6 +74,9 @@ glPushMatrix(); // Set the tank angle glTranslatef(x_ + w_ / 2.0f, y_ + w_ / 2.0f, 0.0f); + + glLightfv(GL_LIGHT1, GL_POSITION, sunPosition); + glRotatef(angYZ, 1.0f, 0.0f, 0.0f); glRotatef(angXY, 0.0f, 0.0f, 1.0f); @@ -78,9 +90,11 @@ current->getPosition().getRotationGunYZ(), true); glPopMatrix(); + + Landscape::instance()->getSky().getSun().setLightPosition(); // Reset light } -void GLWTankModel::mouseDown(float x, float y, bool &skipRest) +void GLWTankModel::mouseDown(int button, float x, float y, bool &skipRest) { if (inBox(x, y, x_, y_, w_, h_)) { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTankModel.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTankModel.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTankModel.h 2004-11-02 01:49:25.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTankModel.h 2006-09-22 06:02:29.000000000 +0900 @@ -31,7 +31,7 @@ virtual ~GLWTankModel(); virtual void draw(); - virtual void mouseDown(float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); REGISTER_CLASS_HEADER(GLWTankModel); }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWToolTip.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWToolTip.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWToolTip.cpp 2006-06-28 04:21:54.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWToolTip.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -43,6 +43,7 @@ } GLWToolTip::GLWToolTip() : + GameStateI("GLWToolTip"), lastTip_(0), currentTip_(0), timeDrawn_(0.0f), timeSeen_(0.0), refreshTime_(100.0f) @@ -53,6 +54,32 @@ { } +bool GLWToolTip::addToolTip(const char *title, const char *text, + float x, float y, float w, float h) +{ + if (!OptionsDisplay::instance()->getShowContextHelp()) return false; + + int mouseX = ScorchedClient::instance()->getGameState().getMouseX(); + int mouseY = ScorchedClient::instance()->getGameState().getMouseY(); + + bool result = false; + if (x < mouseX && mouseX < x + w && + y < mouseY && mouseY < y + h) + { + static GLWTip singleTip; + singleTip.setText(title, text); + + currentX_ = x; + currentY_ = y; + currentW_ = w; + currentH_ = h; + currentTip_ = &singleTip; + + result = true; + } + return result; +} + bool GLWToolTip::addToolTip(GLWTip *tip, float x, float y, float w, float h) { if (!OptionsDisplay::instance()->getShowContextHelp()) return false; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWToolTip.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWToolTip.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWToolTip.h 2006-06-28 04:21:54.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWToolTip.h 2006-09-03 03:09:35.000000000 +0900 @@ -30,7 +30,10 @@ public: static GLWToolTip *instance(); - bool addToolTip(GLWTip *tip, float x, float y, float w, float h); + bool addToolTip(const char *title, const char *text, + float x, float y, float w, float h); + bool addToolTip(GLWTip *tip, + float x, float y, float w, float h); void clearToolTip(float x, float y, float w, float h); // Inherited from GameStateI diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTracker.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTracker.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTracker.cpp 2005-12-11 01:50:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTracker.cpp 2006-09-22 06:02:29.000000000 +0900 @@ -42,7 +42,7 @@ } -void GLWTracker::mouseDown(float x, float y, bool &skipRest) +void GLWTracker::mouseDown(int button, float x, float y, bool &skipRest) { if (inBox(x, y, x_, y_, w_, h_)) { @@ -51,12 +51,12 @@ } } -void GLWTracker::mouseUp(float x, float y, bool &skipRest) +void GLWTracker::mouseUp(int button, float x, float y, bool &skipRest) { dragging_ = false; } -void GLWTracker::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWTracker::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { if (dragging_) { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTracker.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTracker.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWTracker.h 2004-06-17 08:47:34.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWTracker.h 2006-09-22 06:02:29.000000000 +0900 @@ -43,9 +43,9 @@ void setCurrentX(float currentx) { currentX_ = currentx; } void setCurrentY(float currenty) { currentY_ = currenty; } - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); REGISTER_CLASS_HEADER(GLWTracker); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWeaponModel.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWeaponModel.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWeaponModel.cpp 2006-03-10 09:58:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWeaponModel.cpp 2006-10-01 01:11:31.000000000 +0900 @@ -28,6 +28,9 @@ #include #include #include +#include +#include +#include #include REGISTER_CLASS_SOURCE(GLWWeaponModel); @@ -68,6 +71,12 @@ Accessory *weapon = current->getAccessories().getWeapons().getCurrent(); if (!weapon) return; + Vector4 sunPosition(-100.0f, 100.0f, 400.0f, 1.0f); + Vector4 sunDiffuse(0.9f, 0.9f, 0.9f, 1.0f); + Vector4 sunAmbient(0.4f, 0.4f, 0.4f, 1.0f); + glLightfv(GL_LIGHT1, GL_AMBIENT, sunAmbient); + glLightfv(GL_LIGHT1, GL_DIFFUSE, sunDiffuse); + // Cache some stuff we should only fetch when tank // or tank's weapon changes static Accessory *storedWeapon = 0; @@ -86,6 +95,9 @@ // Draw the current weapon glPushMatrix(); glTranslatef(x_ + w_ / 2.0f, y_ + w_ / 2.0f, 0.0f); + + glLightfv(GL_LIGHT1, GL_POSITION, sunPosition); + glRotatef(totalTime_ * 45.0f, 0.0f, 0.0f, 1.0f); Vector position; Vector direction(0.3f, 1.0f, 1.0f); @@ -93,9 +105,11 @@ storedMesh->setScale(w_ / 3.0f * scale); storedMesh->draw(position, direction, 0, totalTime_ * 45.0f); glPopMatrix(); + + Landscape::instance()->getSky().getSun().setLightPosition(); // Reset light } -void GLWWeaponModel::mouseDown(float x, float y, bool &skipRest) +void GLWWeaponModel::mouseDown(int button, float x, float y, bool &skipRest) { Tank *current = ScorchedClient::instance()->getTankContainer().getCurrentTank(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWeaponModel.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWeaponModel.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWeaponModel.h 2004-11-02 01:49:25.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWeaponModel.h 2006-09-22 06:02:29.000000000 +0900 @@ -32,7 +32,7 @@ virtual void draw(); virtual void simulate(float frameTime); - virtual void mouseDown(float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); REGISTER_CLASS_HEADER(GLWWeaponModel); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWindow.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWindow.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWindow.cpp 2006-07-05 02:47:31.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWindow.cpp 2006-09-22 06:02:29.000000000 +0900 @@ -306,7 +306,7 @@ } } -void GLWWindow::mouseDown(float x, float y, bool &skipRest) +void GLWWindow::mouseDown(int button, float x, float y, bool &skipRest) { if (disabled_) return; @@ -329,7 +329,7 @@ else if (y > y_ && y < y_ + h_) { // There is a mouse down in the actual window - GLWPanel::mouseDown(x, y, skipRest); + GLWPanel::mouseDown(button, x, y, skipRest); skipRest = !(eClickTransparent & windowState_) || skipRest; } } @@ -356,7 +356,7 @@ else if (y > y_ && y < y_ + h_) { // There is a mouse down in the actual window - GLWPanel::mouseDown(x, y, skipRest); + GLWPanel::mouseDown(button, x, y, skipRest); skipRest = !(eClickTransparent & windowState_) || skipRest; } } @@ -364,15 +364,15 @@ } } -void GLWWindow::mouseUp(float x, float y, bool &skipRest) +void GLWWindow::mouseUp(int button, float x, float y, bool &skipRest) { if (disabled_) return; dragging_ = NoDrag; - GLWPanel::mouseUp(x, y, skipRest); + GLWPanel::mouseUp(button, x, y, skipRest); } -void GLWWindow::mouseDrag(float mx, float my, float x, float y, bool &skipRest) +void GLWWindow::mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest) { if (disabled_) return; @@ -404,7 +404,7 @@ skipRest = true; break; default: - GLWPanel::mouseDrag(mx, my, x, -y, skipRest); + GLWPanel::mouseDrag(button, mx, my, x, -y, skipRest); break; } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWindow.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWindow.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWindow.h 2006-07-05 02:47:31.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWindow.h 2006-09-22 06:02:29.000000000 +0900 @@ -56,9 +56,9 @@ virtual bool initFromXML(XMLNode *node); virtual void windowInit(const unsigned state); virtual void draw(); - virtual void mouseDown(float x, float y, bool &skipRest); - virtual void mouseUp(float x, float y, bool &skipRest); - virtual void mouseDrag(float mx, float my, float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); + virtual void mouseUp(int button, float x, float y, bool &skipRest); + virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest); virtual void keyDown(char *buffer, unsigned int keyState, KeyboardHistory::HistoryElement *history, int hisCount, bool &skipRest); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWindowManager.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWindowManager.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWindowManager.cpp 2006-07-10 07:31:21.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWindowManager.cpp 2006-09-22 06:02:29.000000000 +0900 @@ -40,7 +40,9 @@ return instance_; } -GLWWindowManager::GLWWindowManager() : currentStateEntry_(0) +GLWWindowManager::GLWWindowManager() : + GameStateI("GLWWindowManager"), + currentStateEntry_(0) { setCurrentEntry(UINT_MAX); @@ -411,7 +413,7 @@ GLWWindow *window = (*itor); if (windowVisible(window->getId())) { - window->mouseDown((float) x, (float) y, skipRest); + window->mouseDown((int) button, (float) x, (float) y, skipRest); if (skipRest) break; } } @@ -429,14 +431,14 @@ GLWWindow *window = (*itor); if (windowVisible(window->getId())) { - window->mouseUp((float) x, (float) y, skipRest); + window->mouseUp((int) button, (float) x, (float) y, skipRest); if (skipRest) break; } } } void GLWWindowManager::mouseDrag(const unsigned state, GameState::MouseButton button, - int mx, int my, int x, int y, bool &skipRest) + int x, int y, int dx, int dy, bool &skipRest) { if (currentStateEntry_->state_ != state) setCurrentEntry(state); @@ -448,7 +450,7 @@ GLWWindow *window = (*itor); if (windowVisible(window->getId())) { - window->mouseDrag((float) mx, (float) my, (float) x, (float) y, skipRest); + window->mouseDrag((int) button, (float) x, (float) y, (float) dx, (float) dy, skipRest); if (skipRest) break; } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWindowManager.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWindowManager.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWindowManager.h 2006-06-12 07:32:17.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWindowManager.h 2006-09-22 06:02:29.000000000 +0900 @@ -64,7 +64,7 @@ virtual void mouseUp(const unsigned state, GameState::MouseButton button, int x, int y, bool &skipRest); virtual void mouseDrag(const unsigned state, GameState::MouseButton button, - int mx, int my, int x, int y, bool &skipRest); + int x, int y, int dx, int dy, bool &skipRest); virtual void mouseWheel(const unsigned state, int x, int y, int z, bool &skipRest); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWindView.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWindView.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWindView.cpp 2006-02-14 02:54:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWindView.cpp 2006-10-28 20:44:36.000000000 +0900 @@ -28,6 +28,7 @@ #include <3dsparse/ModelRenderer.h> #include #include +#include #include REGISTER_CLASS_SOURCE(GLWWindView); @@ -42,22 +43,41 @@ void WindDialogToolTip::populate() { + const char *wallTypeStr = "Currently no walls"; + OptionsTransient::WallType wallType = + ScorchedClient::instance()->getOptionsTransient().getWallType(); + switch (wallType) + { + case OptionsTransient::wallBouncy: + wallTypeStr = "Current Wall Type : Bouncy"; + break; + case OptionsTransient::wallConcrete: + wallTypeStr = "Current Wall Type : Concrete"; + break; + case OptionsTransient::wallWrapAround: + wallTypeStr = "Current Wall Type : Wrap Around"; + break; + } + if ((int) ScorchedClient::instance()-> getOptionsTransient().getWindSpeed() == 0) { - setText("Wind", + setText("Wind", formatString( "Displays the current wind direction\n" - "and speed.\n" - "Currently No Wind.\n"); + "and speed, and the wall type.\n" + "Currently No Wind.\n" + "%s", wallTypeStr)); } else { setText("Wind", formatString( "Displays the current wind direction\n" - "and speed.\n" - "Current Wind Force : %i (out of 5)\n", + "and speed, and the wall type.\n" + "Current Wind Force : %i (out of 5)\n" + "%s", (int) ScorchedClient::instance()-> - getOptionsTransient().getWindSpeed())); + getOptionsTransient().getWindSpeed(), + wallTypeStr)); } } @@ -113,6 +133,8 @@ glRotatef(angYZ, 1.0f, 0.0f, 0.0f); glRotatef(angXY, 0.0f, 0.0f, 1.0f); + Landscape::instance()->getSky().getSun().setLightPosition(); // Reset light + // Draw the minature landscape glScalef(scale2, scale2, scale2); if (listNo_) glCallList(listNo_); @@ -127,6 +149,13 @@ GLState texState(GLState::TEXTURE_OFF); if (ScorchedClient::instance()->getOptionsTransient().getWindOn()) { + Vector4 sunPosition(-100.0f, 100.0f, 400.0f, 1.0f); + Vector4 sunDiffuse(0.9f, 0.9f, 0.9f, 1.0f); + Vector4 sunAmbient(0.4f, 0.4f, 0.4f, 1.0f); + glLightfv(GL_LIGHT1, GL_AMBIENT, sunAmbient); + glLightfv(GL_LIGHT1, GL_DIFFUSE, sunDiffuse); + glLightfv(GL_LIGHT1, GL_POSITION, sunPosition); + glTranslatef(0.0f, 0.0f, 20.0f); glScalef(scale, scale, scale); @@ -134,6 +163,8 @@ drawArrow(); } glPopMatrix(); + + Landscape::instance()->getSky().getSun().setLightPosition(); // Reset light } void GLWWindView::drawScene() @@ -205,7 +236,7 @@ windModel_->draw(); } -void GLWWindView::mouseDown(float x, float y, bool &skipRest) +void GLWWindView::mouseDown(int button, float x, float y, bool &skipRest) { if (inBox(x, y, x_, y_, w_, h_)) { diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWindView.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWindView.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/GLW/GLWWindView.h 2005-04-12 07:19:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/GLW/GLWWindView.h 2006-09-22 06:02:29.000000000 +0900 @@ -42,7 +42,7 @@ virtual ~GLWWindView(); virtual void draw(); - virtual void mouseDown(float x, float y, bool &skipRest); + virtual void mouseDown(int button, float x, float y, bool &skipRest); REGISTER_CLASS_HEADER(GLWWindView); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/HeightMapCollision.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/HeightMapCollision.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/HeightMapCollision.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/HeightMapCollision.cpp 2006-09-13 07:27:40.000000000 +0900 @@ -56,7 +56,7 @@ // Create the walls and ground // Create the ground { - dGeomID ground = dCreatePlane(engine.getSpace(),0,0,1,0); + dGeomID ground = dCreatePlane(engine.getGroundSpace(),0,0,1,0); dGeomSetData(ground, (void *) &groundInfo_); } @@ -72,7 +72,7 @@ dGeomID geom = dCreateGeom(landscapeClass_); dGeomSetData(geom, (void *) &info_); - dSpaceAdd(engine.getSpace(), geom); + dSpaceAdd(engine.getGroundSpace(), geom); } void HeightMapCollision::generate() @@ -96,23 +96,23 @@ // Create the side walls { - sidea_ = dCreatePlane(engine.getSpace(),0,1,0,5); + sidea_ = dCreatePlane(engine.getGroundSpace(),0,1,0,5); dGeomSetData(sidea_, (void *) &wallInfoTop_); } { int mapHeight = context_->landscapeMaps->getGroundMaps().getMapHeight(); - sideb_ = dCreatePlane(engine.getSpace(),0,-1,0,-mapHeight + 5); + sideb_ = dCreatePlane(engine.getGroundSpace(),0,-1,0,-mapHeight + 5); dGeomSetData(sideb_, (void *) &wallInfoBottom_); } { - sidec_ = dCreatePlane(engine.getSpace(),1,0,0,5); + sidec_ = dCreatePlane(engine.getGroundSpace(),1,0,0,5); dGeomSetData(sidec_, (void *) &wallInfoLeft_); } { int mapWidth = context_->landscapeMaps->getGroundMaps().getMapWidth(); - sided_ = dCreatePlane(engine.getSpace(),-1,0,0,-mapWidth + 5); + sided_ = dCreatePlane(engine.getGroundSpace(),-1,0,0,-mapWidth + 5); dGeomSetData(sided_, (void *) &wallInfoRight_); } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/HeightMap.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/HeightMap.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/HeightMap.cpp 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/HeightMap.cpp 2006-10-23 06:19:20.000000000 +0900 @@ -23,11 +23,11 @@ #include #include -Vector HeightMap::nvec(0.0f, 0.0f, 1.0f); static const int minMapShift = 3; HeightMap::HeightMap() : - hMap_(0), normals_(0), minMap_(0), maxMap_(0), backupMap_(0) + hMap_(0), normals_(0), minMap_(0), maxMap_(0), backupMap_(0), + nvec(0.0f, 0.0f, 1.0f) { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/HeightMap.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/HeightMap.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/HeightMap.h 2005-11-25 19:35:42.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/HeightMap.h 2006-10-23 06:19:20.000000000 +0900 @@ -74,7 +74,7 @@ float *getData() { return hMap_; } protected: - static Vector nvec; + Vector nvec; int width_, height_, minWidth_, minHeight_; float *hMap_, *backupMap_; float *minMap_, *maxMap_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/Landscape.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/Landscape.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/Landscape.cpp 2006-04-18 02:07:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/Landscape.cpp 2006-10-03 00:34:26.000000000 +0900 @@ -21,11 +21,8 @@ #include #include #include -#include -#include +#include #include -#include -#include #include #include #include @@ -36,6 +33,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -49,6 +50,7 @@ #include #include #include +#include #include Landscape *Landscape::instance_ = 0; @@ -79,7 +81,6 @@ ships_ = new ScorchedShips(); smoke_ = new Smoke(); wall_ = new Wall(); - shadowMap_ = new ShadowMap(); new GLConsoleRuleMethodIAdapter( this, &Landscape::savePlan, "SavePlan"); @@ -89,7 +90,7 @@ { } -void Landscape::simulate(const unsigned state, float frameTime) +void Landscape::simulate(float frameTime) { if (resetLandscape_) { @@ -115,6 +116,8 @@ boids_->simulate(frameTime * speedMult); ships_->simulate(frameTime * speedMult); soundManager_->simulate(frameTime * speedMult); + + ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getObjects().simulate(frameTime * speedMult); } void Landscape::recalculate(int posX, int posY, int dist) @@ -145,7 +148,14 @@ getPrecipitationEngine().killAll(); } -void Landscape::draw(const unsigned state) +void Landscape::drawShadow() +{ + glColor3f(1.0f, 1.0f, 1.0f); + patchGrid_->draw(PatchSide::typeTop); + ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getObjects().draw(true); +} + +void Landscape::drawSetup() { if (OptionsDisplay::instance()->getDrawLines()) glPolygonMode(GL_FRONT, GL_LINE); @@ -155,20 +165,45 @@ { glEnable(GL_FOG); // NOTE: Fog on } +} + +void Landscape::drawTearDown() +{ + glDisable(GL_FOG); // NOTE: Fog off + if (OptionsDisplay::instance()->getDrawLines()) glPolygonMode(GL_FRONT, GL_FILL); +} + +void Landscape::drawLand() +{ + drawSetup(); sky_->draw(); - drawLand(); + actualDrawLand(); points_->draw(); surround_->draw(); + + drawTearDown(); +} + +void Landscape::drawWater() +{ + drawSetup(); + water_->draw(); + + drawTearDown(); +} + +void Landscape::drawObjects() +{ + drawSetup(); + boids_->draw(); ships_->draw(); - ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getObjects().draw(); + ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getObjects().draw(false); wall_->draw(); - glDisable(GL_FOG); // NOTE: Fog off - - if (OptionsDisplay::instance()->getDrawLines()) glPolygonMode(GL_FRONT, GL_FILL); + drawTearDown(); } int Landscape::getPlanTexSize() @@ -286,10 +321,13 @@ // Add lighting to the landscape texture sky_->getSun().setPosition(tex->skysunxy, tex->skysunyz); - GLBitmapModifier::addLightMapToBitmap(mainMap_, - ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getHeightMap(), - sky_->getSun().getPosition(), - tex->skyambience, tex->skydiffuse, counter); + if (!GLStateExtension::hasHardwareShadows()) + { + GLBitmapModifier::addLightMapToBitmap(mainMap_, + ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getHeightMap(), + sky_->getSun().getPosition(), + tex->skyambience, tex->skydiffuse, counter); + } // Add shadows to the mainmap { @@ -384,10 +422,17 @@ ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getHeightMap(), bitmapPlan_, water_->getWaterBitmap(), water_->getWaterHeight()); } + if (ScorchedClient::instance()->getOptionsTransient().getWallType() != + OptionsTransient::wallNone) + { + GLBitmapModifier::addBorderToBitmap(bitmapPlan_, 3, + ScorchedClient::instance()->getOptionsTransient().getWallColor()); + } + DIALOG_ASSERT(planTexture_.replace(bitmapPlan_, GL_RGB, false)); } -void Landscape::drawLand() +void Landscape::actualDrawLand() { GLState *textureState = 0; if (OptionsDisplay::instance()->getUseLandscapeTexture()) @@ -408,7 +453,52 @@ GLStateExtension::glActiveTextureARB()(GL_TEXTURE1_ARB); glEnable(GL_TEXTURE_2D); - shadowMap_->setTexture(); + + if (GLStateExtension::hasHardwareShadows()) + { + glMatrixMode(GL_TEXTURE); + glLoadIdentity(); + glTranslatef(0.5f, 0.5f, 0.5f); + glScalef(0.5f, 0.5f, 0.5f); + + glMultMatrixd(LandscapeShadowHandler::instance()->getLightProjMatrix()); + glMultMatrixd(LandscapeShadowHandler::instance()->getLightModelMatrix()); + + GLdouble textureMatrix[16]; + glGetDoublev(GL_TEXTURE_MATRIX, textureMatrix); + + glLoadIdentity(); + + glMatrixMode(GL_MODELVIEW); + + //Set up texture coordinate generation. + double row0[4] = { textureMatrix[0], textureMatrix[4], textureMatrix[8], textureMatrix[12] }; + glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR); + glTexGendv(GL_S, GL_EYE_PLANE, row0); + glEnable(GL_TEXTURE_GEN_S); + + double row1[4] = { textureMatrix[1], textureMatrix[5], textureMatrix[9], textureMatrix[13] }; + glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR); + glTexGendv(GL_T, GL_EYE_PLANE, row1); + glEnable(GL_TEXTURE_GEN_T); + + double row2[4] = { textureMatrix[2], textureMatrix[6], textureMatrix[10], textureMatrix[14] }; + glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR); + glTexGendv(GL_R, GL_EYE_PLANE, row2); + glEnable(GL_TEXTURE_GEN_R); + + double row3[4] = { textureMatrix[3], textureMatrix[7], textureMatrix[11], textureMatrix[15] }; + glTexGeni(GL_Q, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR); + glTexGendv(GL_Q, GL_EYE_PLANE, row3); + glEnable(GL_TEXTURE_GEN_Q); + + LandscapeShadowHandler::instance()->getShadowTexture().draw(true); + glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + } + else + { + getShadowMap().setTexture(); + } GLStateExtension::glActiveTextureARB()(GL_TEXTURE0_ARB); } @@ -455,6 +545,10 @@ GLStateExtension::glActiveTextureARB()(GL_TEXTURE1_ARB); glDisable(GL_TEXTURE_2D); + glDisable(GL_TEXTURE_GEN_S); + glDisable(GL_TEXTURE_GEN_T); + glDisable(GL_TEXTURE_GEN_R); + glDisable(GL_TEXTURE_GEN_Q); GLStateExtension::glActiveTextureARB()(GL_TEXTURE0_ARB); } @@ -494,3 +588,21 @@ formatString("PlanShot-%i-%i.bmp", currentTime, counter++))); } +Landscape::CameraContext::CameraContext() +{ + shadowMap_ = new ShadowMap(); +} + +ShadowMap &Landscape::getShadowMap() +{ + if (GLCamera::getCurrentCamera() == + &MainCamera::instance()->getCamera()) + { + return *cameraContexts_[0].shadowMap_; + } + else + { + return *cameraContexts_[1].shadowMap_; + } +} + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/Landscape.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/Landscape.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/Landscape.h 2006-01-16 17:18:18.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/Landscape.h 2006-10-03 00:34:26.000000000 +0900 @@ -21,7 +21,6 @@ #if !defined(__INCLUDE_Landscapeh_INCLUDE__) #define __INCLUDE_Landscapeh_INCLUDE__ -#include #include #include @@ -37,7 +36,7 @@ class ScorchedShips; class Surround; class Sky; -class Landscape : public GameStateI +class Landscape { public: static Landscape *instance(); @@ -45,7 +44,6 @@ enum LandscapeTextureType { eDefault, - eMovement, eOther }; @@ -56,7 +54,7 @@ // Access to internal objects Smoke &getSmoke() { return *smoke_; } - ShadowMap &getShadowMap() { return *shadowMap_; } + ShadowMap &getShadowMap(); Wall &getWall() { return *wall_; } Sky &getSky() { return *sky_; } Water &getWater() { return *water_; } @@ -85,9 +83,14 @@ unsigned int getChangeCount() { return changeCount_; } - // Inherited from GameStateI - virtual void draw(const unsigned state); - virtual void simulate(const unsigned state, float frameTime); + void drawShadow(); + void drawTearDown(); + void drawSetup(); + void drawLand(); + void drawWater(); + void drawObjects(); + + void simulate(float frameTime); protected: static Landscape *instance_; @@ -99,7 +102,6 @@ ScorchedBoids *boids_; ScorchedShips *ships_; Surround *surround_; - ShadowMap *shadowMap_; Smoke *smoke_; Water *water_; LandscapeTextureType textureType_; @@ -128,7 +130,18 @@ unsigned int changeCount_; void savePlan(); - void drawLand(); + void actualDrawLand(); + + // Nasty, we really need some kind of viewport/rendering context + // that the current rendering state for the scene can be stored. + // Useful for things that relate to each drawn scene rather than + // global. e.g. camera window vs main window + struct CameraContext + { + CameraContext(); + + ShadowMap *shadowMap_; + } cameraContexts_[2]; private: Landscape(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjects.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjects.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjects.cpp 2006-07-05 22:16:32.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjects.cpp 2006-09-27 08:49:28.000000000 +0900 @@ -75,9 +75,24 @@ return 0; } -void LandscapeObjects::draw() +void LandscapeObjects::draw(bool shadowView) { - GLState state(GLState::TEXTURE_ON | GLState::BLEND_ON | GLState::DEPTH_ON); + unsigned int wantedState = GLState::BLEND_ON | GLState::DEPTH_ON; + if (!shadowView) + { + wantedState |= GLState::TEXTURE_ON; + + bool vertexLighting = OptionsDisplay::instance()->getNoModelLighting(); + if (!vertexLighting) + { + wantedState |= + GLState::NORMALIZE_ON | + GLState::LIGHTING_ON | + GLState::LIGHT1_ON; + } + } + + GLState state(wantedState); glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_GREATER, 0.00f); @@ -101,6 +116,19 @@ glDisable(GL_ALPHA_TEST); } +void LandscapeObjects::simulate(float frameTime) +{ + std::multimap::iterator + itor = entries_.begin(); + std::multimap::iterator + enditor = entries_.end(); + for (; itor != enditor; itor++) + { + LandscapeObjectsEntry *entry = (*itor).second; + entry->simulate(frameTime); + } +} + static inline unsigned int pointToUInt(unsigned int x, unsigned int y) { return (x << 16) | (y & 0xffff); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjectsEntry.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjectsEntry.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjectsEntry.h 2006-06-28 05:37:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjectsEntry.h 2006-08-07 01:04:39.000000000 +0900 @@ -53,6 +53,7 @@ std::string burnaction; virtual void render(float distance) = 0; + virtual void simulate(float frameTime) = 0; }; #endif // __INCLUDE_LandscapeObjectsEntryh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjectsEntryModel.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjectsEntryModel.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjectsEntryModel.cpp 2006-04-07 08:08:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjectsEntryModel.cpp 2006-08-07 01:04:39.000000000 +0900 @@ -59,3 +59,9 @@ else model->drawBottomAligned(); glPopMatrix(); } + +void LandscapeObjectsEntryModel::simulate(float frameTime) +{ + if (burnt) modelburnt->simulate(frameTime * 20.0f); + else model->simulate(frameTime * 20.0f); +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjectsEntryModel.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjectsEntryModel.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjectsEntryModel.h 2005-04-12 07:19:09.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjectsEntryModel.h 2006-08-07 01:04:39.000000000 +0900 @@ -32,6 +32,7 @@ virtual ~LandscapeObjectsEntryModel(); virtual void render(float distance); + virtual void simulate(float frameTime); ModelRenderer *model; ModelRenderer *modelburnt; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjectsEntryTree.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjectsEntryTree.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjectsEntryTree.cpp 2006-05-21 21:00:12.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjectsEntryTree.cpp 2006-09-29 02:33:28.000000000 +0900 @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -91,28 +92,41 @@ { glBegin(GL_TRIANGLE_FAN); glTexCoord2f(texX, texY); + glNormal3f(0.0f, 0.0f, 1.0f); glVertex3f(0.0f, 0.0f, height); for (float i=360.0f; i>=0.0f; i-=360.0f / count) { + float diff = RAND * 40.0f - 20.0f; glTexCoord2f( texX + (sinf((i + angOffset)/180.0f * PI) * texWidth), texY + (cosf((i + angOffset)/180.0f * PI) * texWidth)); + glNormal3f( + sinf((i+diff)/180.0f * PI) * (height - lowheight), + cosf((i+diff)/180.0f * PI) * (height - lowheight), + width); glVertex3f( sinf(i/180.0f * PI) * width, cosf(i/180.0f * PI) * width, lowheight); } glEnd(); + if (doubleSide) { glBegin(GL_TRIANGLE_FAN); glTexCoord2f(texX, texY); + glNormal3f(0.0f, 0.0f, 1.0f); glVertex3f(0.0f, 0.0f, height); for (float i=0.0f; i<=360.0f; i+=360.0f / count) { + float diff = RAND * 40.0f - 20.0f; glTexCoord2f( texX + (sinf((i + angOffset)/180.0f * PI) * texWidth), texY + (cosf((i + angOffset)/180.0f * PI) * texWidth)); + glNormal3f( + -sinf((i+diff)/180.0f * PI) * (height - lowheight), + -cosf((i+diff)/180.0f * PI) * (height - lowheight), + -width); glVertex3f( sinf(i/180.0f * PI) * width, cosf(i/180.0f * PI) * width, @@ -128,10 +142,15 @@ { glBegin(GL_TRIANGLE_FAN); glTexCoord2f(x , y); + glNormal3f(0.0, 0.0f, 1.0f); glVertex3f(0.0f, 0.0f, height); for (float i=360.0f; i>=0.0f; i-=360.0f / steps) { glTexCoord2f(x + w*(float(int(i*5.0f)%360)/360.0f), y + h); + glNormal3f( + sinf(i/180.0f * PI), + cosf(i/180.0f * PI), + 0.0f); glVertex3f( sinf(i/180.0f * PI) * width, cosf(i/180.0f * PI) * width, @@ -148,6 +167,10 @@ glBegin(GL_QUAD_STRIP); for (float i=360.0f; i>=0.0f; i-=360.0f / count) { + glNormal3f( + sinf(i/180.0f * PI), + cosf(i/180.0f * PI), + 0.0f); if (tex) glTexCoord2f(x, y); else glTexCoord2f(x, y + h); glVertex3f( @@ -165,11 +188,16 @@ glEnd(); glBegin(GL_TRIANGLE_FAN); glTexCoord2f(x + w, y); + glNormal3f(0.0, 0.0f, 1.0f); glVertex3f(0.0f, 0.0f, height + 0.05f); for (float i=360.0f; i>=0.0f; i-=360.0f / count) { if (tex) glTexCoord2f(x + w, y); else glTexCoord2f(x + w, y + h); + glNormal3f( + sinf(i/180.0f * PI), + cosf(i/180.0f * PI), + 0.0f); glVertex3f( sinf(i/180.0f * PI) * 0.03f, cosf(i/180.0f * PI) * 0.03f, @@ -188,93 +216,122 @@ { float diff = 0.5f * RAND - 0.25f; float width2 = (w2 * RAND * 0.3f) + (0.7f * w2); - glTexCoord2f(texX, texY); - glVertex3f( + + Vector A1( sinf((i-15.0f)/180.0f * PI) * width1, cosf((i-15.0f)/180.0f * PI) * width1, height); - glTexCoord2f(texX, texY + 0.123f); - glVertex3f( + Vector A2( sinf(i/180.0f * PI) * width1, cosf(i/180.0f * PI) * width1, height2); - glTexCoord2f(texX + 0.37f, texY + 0.123f); - glVertex3f( + Vector A3( sinf(i/180.0f * PI) * width2, cosf(i/180.0f * PI) * width2, height2 + diff); - glTexCoord2f(texX + 0.37f, texY); - glVertex3f( + Vector A4( sinf((i-15.0f)/180.0f * PI) * width2, cosf((i-15.0f)/180.0f * PI) * width2, height + diff); + Vector AN = ((A3 - A4) * (A3 - A2)); + glNormal3fv(AN); + glTexCoord2f(texX, texY); + glVertex3fv(A1); + glTexCoord2f(texX, texY + 0.123f); + glVertex3fv(A2); + glTexCoord2f(texX + 0.37f, texY + 0.123f); + glVertex3fv(A3); glTexCoord2f(texX + 0.37f, texY); - glVertex3f( + glVertex3fv(A4); + + Vector B1( sinf((i-15.0f)/180.0f * PI) * width2, cosf((i-15.0f)/180.0f * PI) * width2, height + diff); - glTexCoord2f(texX + 0.37f, texY + 0.123f); - glVertex3f( + Vector B2( sinf(i/180.0f * PI) * width2, cosf(i/180.0f * PI) * width2, height2 + diff); - glTexCoord2f(texX, texY + 0.123f); - glVertex3f( + Vector B3( sinf(i/180.0f * PI) * width1, cosf(i/180.0f * PI) * width1, height2); - glTexCoord2f(texX, texY); - glVertex3f( + Vector B4( sinf((i-15.0f)/180.0f * PI) * width1, cosf((i-15.0f)/180.0f * PI) * width1, height); - + Vector BN = ((B1 - B3) * (B2 - B1)); + glNormal3fv(BN); glTexCoord2f(texX + 0.37f, texY); - glVertex3f( + glVertex3fv(B1); + glTexCoord2f(texX + 0.37f, texY + 0.123f); + glVertex3fv(B2); + glTexCoord2f(texX, texY + 0.123f); + glVertex3fv(B3); + glTexCoord2f(texX, texY); + glVertex3fv(B4); + + Vector C1( sinf((i+15.0f)/180.0f * PI) * width2, cosf((i+15.0f)/180.0f * PI) * width2, height + diff); - glTexCoord2f(texX + 0.37f, texY + 0.123f); - glVertex3f( + Vector C2( sinf(i/180.0f * PI) * width2, cosf(i/180.0f * PI) * width2, height2 + diff); - glTexCoord2f(texX, texY + 0.123f); - glVertex3f( + Vector C3( sinf(i/180.0f * PI) * width1, cosf(i/180.0f * PI) * width1, height2); - glTexCoord2f(texX, texY); - glVertex3f( + Vector C4( sinf((i+15.0f)/180.0f * PI) * width1, cosf((i+15.0f)/180.0f * PI) * width1, height); + Vector CN = ((C2 - C1) * (C3 - C2)); + glNormal3fv(CN); + glTexCoord2f(texX + 0.37f, texY); + glVertex3fv(C1); + glTexCoord2f(texX + 0.37f, texY + 0.123f); + glVertex3fv(C2); + glTexCoord2f(texX, texY + 0.123f); + glVertex3fv(C3); glTexCoord2f(texX, texY); - glVertex3f( + glVertex3fv(C4); + + Vector D1( sinf((i+15.0f)/180.0f * PI) * width1, cosf((i+15.0f)/180.0f * PI) * width1, height); - glTexCoord2f(texX, texY + 0.123f); - glVertex3f( + Vector D2( sinf(i/180.0f * PI) * width1, cosf(i/180.0f * PI) * width1, height2); - glTexCoord2f(texX + 0.37f, texY + 0.123f); - glVertex3f( + Vector D3( sinf(i/180.0f * PI) * width2, cosf(i/180.0f * PI) * width2, height2 + diff); - glTexCoord2f(texX + 0.37f, texY); - glVertex3f( + Vector D4( sinf((i+15.0f)/180.0f * PI) * width2, cosf((i+15.0f)/180.0f * PI) * width2, height + diff); + Vector DN = ((D4 - D3) * (D2 - D4)); + glNormal3fv(DN); + glTexCoord2f(texX, texY); + glVertex3fv(D1); + glTexCoord2f(texX, texY + 0.123f); + glVertex3fv(D2); + glTexCoord2f(texX + 0.37f, texY + 0.123f); + glVertex3fv(D3); + glTexCoord2f(texX + 0.37f, texY); + glVertex3fv(D4); + i-= (360.0f / (count + (count-1) * RAND)); } glEnd(); + } bool LandscapeObjectsEntryTree::setup(const char *type, bool snow) @@ -827,6 +884,21 @@ DIALOG_ASSERT(treeList && smallTreeList); + bool vertexLighting = OptionsDisplay::instance()->getNoModelLighting(); + if (!vertexLighting) + { + Vector4 ambientColor(0.4f, 0.4f, 0.4f, 1.0f); + Vector4 diffuseColor(1.2f, 1.2f, 1.2f, 1.2f); + Vector4 specularColor(0.0f, 0.0f, 0.0f, 1.0f); + Vector4 emissiveColor(0.0f, 0.0f, 0.0f, 1.0f); + float shininess = 0.0f; + glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, ambientColor); + glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, diffuseColor); + glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specularColor); + glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, emissiveColor); + glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess); + } + glPushMatrix(); glTranslatef(position[0], position[1], position[2]); glRotatef(rotation, 0.0f, 0.0f, 1.0f); @@ -845,3 +917,7 @@ } glPopMatrix(); } + +void LandscapeObjectsEntryTree::simulate(float frameTime) +{ +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjectsEntryTree.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjectsEntryTree.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjectsEntryTree.h 2006-05-20 01:20:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjectsEntryTree.h 2006-08-07 01:04:39.000000000 +0900 @@ -31,6 +31,7 @@ bool setup(const char *type, bool snow); virtual void render(float distance); + virtual void simulate(float frameTime); protected: enum TreeType diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjects.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjects.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeObjects.h 2006-06-09 07:54:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeObjects.h 2006-09-03 00:59:05.000000000 +0900 @@ -40,7 +40,8 @@ LandscapeObjects(); virtual ~LandscapeObjects(); - void draw(); + void draw(bool shadowView); + void simulate(float frameTime); void generate(RandomGenerator &generator, LandscapePlace &place, ScorchedContext &context, diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeShadowCamera.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeShadowCamera.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeShadowCamera.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeShadowCamera.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -0,0 +1,45 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include + +LandscapeShadowCamera *LandscapeShadowCamera::instance() +{ + static LandscapeShadowCamera *inst = new LandscapeShadowCamera(); + return inst; +} + +LandscapeShadowCamera::LandscapeShadowCamera() : + GameStateI("LandscapeShadowCamera") +{ +} + +LandscapeShadowCamera::~LandscapeShadowCamera() +{ +} + +void LandscapeShadowCamera::simulate(const unsigned state, float frameTime) +{ +} + +void LandscapeShadowCamera::draw(const unsigned state) +{ +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeShadowCamera.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeShadowCamera.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeShadowCamera.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeShadowCamera.h 2006-09-03 00:59:05.000000000 +0900 @@ -0,0 +1,40 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_LandscapeShadowCamerah_INCLUDE__) +#define __INCLUDE_LandscapeShadowCamerah_INCLUDE__ + +#include + +class LandscapeShadowCamera : public GameStateI +{ +public: + static LandscapeShadowCamera *instance(); + + // Inherited from GameStateI + virtual void draw(const unsigned state); + virtual void simulate(const unsigned state, float frameTime); + +private: + LandscapeShadowCamera(); + virtual ~LandscapeShadowCamera(); +}; + +#endif // __INCLUDE_LandscapeShadowCamerah_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeShadowHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeShadowHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeShadowHandler.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeShadowHandler.cpp 2006-09-17 23:16:13.000000000 +0900 @@ -0,0 +1,128 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include +#include +#include +#include + +LandscapeShadowHandler *LandscapeShadowHandler::instance() +{ + static LandscapeShadowHandler *instance_ = new LandscapeShadowHandler(); + return instance_; +} + +LandscapeShadowHandler::LandscapeShadowHandler() : + GameStateI("LandscapeShadowHandler"), + initialized_(false) +{ +} + +LandscapeShadowHandler::~LandscapeShadowHandler() +{ +} + +void LandscapeShadowHandler::simulate(const unsigned state, float frameTime) +{ +} + +void LandscapeShadowHandler::initialize() +{ + // Create the shadow texture + // Set to false to allow rendering a non-depth scene that we can view + if (!shadowTexture_.createBufferTexture(2048 * 2, 2048 * 2, true)) + { + dialogExit("Scorched3D", "Failed to create shadow texture"); + } + + // Create the frame buffer + // Set to GL_COLOR_ATTACHMENT0_EXT to allow viewing a non-depth scene + if (!frameBuffer_.create(shadowTexture_, GL_DEPTH_ATTACHMENT_EXT)) + { + dialogExit("Scorched3D", "Failed to create shadow frame buffer"); + } +} + +void LandscapeShadowHandler::draw(const unsigned state) +{ + // Check if we are doing hardware shadows + if (!GLStateExtension::hasHardwareShadows()) return; + if (!initialized_) + { + initialize(); + initialized_ = true; + } + + // Turn off texturing + GLState glstate(GLState::TEXTURE_OFF | GLState::DEPTH_ON); + + // Get the sun's position and landscape dimensions + Vector sunPosition = Landscape::instance()->getSky().getSun().getPosition(); + sunPosition /= 2.0f; + float landWidth = ScorchedClient::instance()->getLandscapeMaps(). + getGroundMaps().getMapWidth() / 2.0f; + float landHeight = ScorchedClient::instance()->getLandscapeMaps(). + getGroundMaps().getMapHeight() / 2.0f; + + // Bind the frame buffer so we can render into it + frameBuffer_.bind(); + + // Setup the view from the sun + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glViewport(0, 0, shadowTexture_.getWidth(), shadowTexture_.getHeight()); + gluPerspective(60.0f, 1.0f, 1.0f, 1000.0f); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + gluLookAt( + sunPosition[0], sunPosition[1], sunPosition[2], + landWidth, landHeight, 0.0f , + 0.0f, 0.0f, 1.0f); + + // Save the matrixs used for the sun + glGetDoublev(GL_MODELVIEW_MATRIX, lightModelMatrix_); + glGetDoublev(GL_PROJECTION_MATRIX, lightProjMatrix_); + + // Clear and setup the offset + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + // Set poly offset so that the shadows dont get precision artifacts + glPolygonOffset(2.5f, 10.0f); + glEnable(GL_POLYGON_OFFSET_FILL); + + // Draw + drawLandscape(); + + // Reset offset + glDisable(GL_POLYGON_OFFSET_FILL); + + // Stop drawing to frame buffer + frameBuffer_.unBind(); +} + +void LandscapeShadowHandler::drawLandscape() +{ + GLCameraFrustum::instance()->draw(0); + + Landscape::instance()->drawShadow(); +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeShadowHandler.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeShadowHandler.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeShadowHandler.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeShadowHandler.h 2006-09-03 00:59:05.000000000 +0900 @@ -0,0 +1,55 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_LandscapeShadowHandlerh_INCLUDE__) +#define __INCLUDE_LandscapeShadowHandlerh_INCLUDE__ + +#include +#include + +class LandscapeShadowHandler : public GameStateI +{ +public: + static LandscapeShadowHandler *instance(); + + GLTexture &getShadowTexture() { return shadowTexture_; } + GLdouble *getLightModelMatrix() { return lightModelMatrix_; } + GLdouble *getLightProjMatrix() { return lightProjMatrix_; } + + // Inherited from GameStateI + virtual void draw(const unsigned state); + virtual void simulate(const unsigned state, float frameTime); + +protected: + bool initialized_; + GLTexture shadowTexture_; + GLShadowFrameBuffer frameBuffer_; + GLdouble lightModelMatrix_[16]; + GLdouble lightProjMatrix_[16]; + + void initialize(); + void drawLandscape(); + +private: + LandscapeShadowHandler(); + virtual ~LandscapeShadowHandler(); +}; + +#endif // __INCLUDE_LandscapeShadowHandlerh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeStateHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeStateHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeStateHandler.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeStateHandler.cpp 2006-09-17 23:16:13.000000000 +0900 @@ -0,0 +1,77 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include + +LandscapeStateLandHandler::LandscapeStateLandHandler() : + GameStateI("LandscapeLandStateHandler") +{ +} + +LandscapeStateLandHandler::~LandscapeStateLandHandler() +{ +} + +void LandscapeStateLandHandler::draw(const unsigned state) +{ + Landscape::instance()->drawLand(); +} + +void LandscapeStateLandHandler::simulate(const unsigned state, float frameTime) +{ + Landscape::instance()->simulate(frameTime); +} + +LandscapeStateWaterHandler::LandscapeStateWaterHandler() : + GameStateI("LandscapeStateWaterHandler") +{ +} + +LandscapeStateWaterHandler::~LandscapeStateWaterHandler() +{ +} + +void LandscapeStateWaterHandler::draw(const unsigned state) +{ + Landscape::instance()->drawWater(); +} + +void LandscapeStateWaterHandler::simulate(const unsigned state, float frameTime) +{ +} + +LandscapeStateObjectsHandler::LandscapeStateObjectsHandler() : + GameStateI("LandscapeStateObjectsHandler") +{ +} + +LandscapeStateObjectsHandler::~LandscapeStateObjectsHandler() +{ +} + +void LandscapeStateObjectsHandler::draw(const unsigned state) +{ + Landscape::instance()->drawObjects(); +} + +void LandscapeStateObjectsHandler::simulate(const unsigned state, float frameTime) +{ +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeStateHandler.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeStateHandler.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/LandscapeStateHandler.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/LandscapeStateHandler.h 2006-09-17 23:16:13.000000000 +0900 @@ -0,0 +1,59 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_LandscapeStateHandlerh_INCLUDE__) +#define __INCLUDE_LandscapeStateHandlerh_INCLUDE__ + +#include + +class LandscapeStateLandHandler : public GameStateI +{ +public: + LandscapeStateLandHandler(); + virtual ~LandscapeStateLandHandler(); + + // Inherited from GameStateI + virtual void draw(const unsigned state); + virtual void simulate(const unsigned state, float frameTime); +}; + +class LandscapeStateWaterHandler : public GameStateI +{ +public: + LandscapeStateWaterHandler(); + virtual ~LandscapeStateWaterHandler(); + + // Inherited from GameStateI + virtual void draw(const unsigned state); + virtual void simulate(const unsigned state, float frameTime); +}; + +class LandscapeStateObjectsHandler : public GameStateI +{ +public: + LandscapeStateObjectsHandler(); + virtual ~LandscapeStateObjectsHandler(); + + // Inherited from GameStateI + virtual void draw(const unsigned state); + virtual void simulate(const unsigned state, float frameTime); +}; + +#endif // __INCLUDE_LandscapeStateHandlerh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/MovementMap.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/MovementMap.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/MovementMap.cpp 2006-07-08 00:59:54.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/MovementMap.cpp 2006-11-08 05:53:27.000000000 +0900 @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -32,8 +33,6 @@ #include #include -unsigned int MovementMap::fuelId_ = 0; - MovementMap::MovementMap(int width, int height) : width_(width), height_(height) { @@ -54,12 +53,14 @@ MovementMap::MovementMapEntry &MovementMap::getEntry(int w, int h) { - if (w >= 0 && h >= 0 && w<=width_ && h<=width_) + if (w >= 0 && h >= 0 && w<=width_ && h<=height_) { MovementMapEntry &entry = entries_[(width_+1) * h + w]; return entry; } static MovementMapEntry entry(MovementMap::eNoMovement, 1000.0f, 0, 0); + entry.type = MovementMap::eNoMovement; + return entry; } @@ -72,9 +73,9 @@ unsigned int epoc) { // Check that we are not going outside the arena - if (x < 0 || y < 0 || - x > (unsigned int) width_ || - y > (unsigned int) height_) return; + if (x < 5 || y < 5 || + x > (unsigned int) (width_ - 5) || + y > (unsigned int) (height_ - 5)) return; // Check if we can already reach this point // Through a shorted already visited path @@ -133,13 +134,89 @@ } } +bool MovementMap::allowedPosition(ScorchedContext &context, Tank *tank, Vector &position) +{ + std::map::iterator targetItor; + std::map &targets = + context.targetContainer->getTargets(); + for (targetItor = targets.begin(); + targetItor != targets.end(); + targetItor++) + { + Target *target = (*targetItor).second; + + if (target->getShield().getCurrentShield()) + { + Shield *shield = (Shield *) + (target->getShield().getCurrentShield()->getAction()); + + bool movementProof = true; + switch (shield->getMovementProof()) + { + case Shield::ShieldMovementAll: + movementProof = false; + break; + case Shield::ShieldMovementNone: + movementProof = true; + break; + case Shield::ShieldMovementSame: + if (target->getPlayerId() == tank->getPlayerId()) + { + movementProof = false; + } + else if (context.optionsGame->getTeams() > 1 && + !target->isTarget()) + { + Tank *targetTank = (Tank *) target; + if (targetTank->getTeam() == tank->getTeam()) + { + movementProof = false; + } + } + break; + case Shield::ShieldMovementTeam1: + if (tank->getTeam() == 1 || + tank->getTeam() == 0) movementProof = false; + break; + case Shield::ShieldMovementTeam2: + if (tank->getTeam() == 2 || + tank->getTeam() == 0) movementProof = false; + break; + case Shield::ShieldMovementTeam3: + if (tank->getTeam() == 3 || + tank->getTeam() == 0) movementProof = false; + break; + case Shield::ShieldMovementTeam4: + if (tank->getTeam() == 4 || + tank->getTeam() == 0) movementProof = false; + break; + } + + if (movementProof) + { + Vector offset = position - target->getTargetPosition(); + offset[0] = fabsf(offset[0]); + offset[1] = fabsf(offset[1]); + offset[2] = 0.0f; + Vector surround = offset.Normalize() * 2.0f; + offset[0] = MAX(0.0f, offset[0] - surround[0]); + offset[1] = MAX(0.0f, offset[1] - surround[1]); + + if (shield->inShield(offset)) + { + return false; + } + } + } + } + return true; +} + void MovementMap::calculateForTank(Tank *tank, - unsigned int fuelId, + WeaponMoveTank *weapon, ScorchedContext &context, bool maxFuel) { - fuelId_ = fuelId; - // Check if the tank is buried and cannot move float landscapeHeight = context.landscapeMaps->getGroundMaps().getInterpHeight( tank->getPosition().getTankPosition()[0], @@ -154,39 +231,18 @@ } // If other tanks have shields then check if we can move into the shields - std::map::iterator targetItor; - std::map &targets = - context.targetContainer->getTargets(); for (int y=0; ygetGroundMaps().getHeight(x, y); Vector pos((float)x, (float)y, height); - for (targetItor = targets.begin(); - targetItor != targets.end(); - targetItor++) + MovementMapEntryType type = eNotSeen; + if (!allowedPosition(context, tank, pos)) { - Target *target = (*targetItor).second; - - if (target->getShield().getCurrentShield()) - { - Shield *shield = (Shield *) - (target->getShield().getCurrentShield()->getAction()); - if (shield->getMovementProof()) - { - float dist = (pos - target->getTargetPosition()).Magnitude(); - if (dist < shield->getActualRadius() + 4.0f) - { - type = eNoMovement; - break; - } - } - } + type = eNoMovement; } MovementMapEntry &priorEntry = getEntry(x, y); @@ -225,27 +281,36 @@ tank->getPosition().getTankPosition()[0]; unsigned int posY = (unsigned int) tank->getPosition().getTankPosition()[1]; - Accessory *accessory = context.accessoryStore->findByAccessoryId(fuelId); - float fuel = (float) tank->getAccessories().getAccessoryCount(accessory); - float maxFuelWeapons = (float) context.optionsGame->getMaxNumberWeapons(); - - if (fuel == -1.0f) fuel = maxFuelWeapons; - if (maxFuel) fuel = maxFuelWeapons; - fuel = MIN(fuel, maxFuelWeapons); - // Add this point to the movement map - unsigned int epoc = 0; - getEntry(posX, posY) = - MovementMap::MovementMapEntry( - MovementMap::eMovement, - 0.0f, - 0, - epoc); + float fuel = 0.0f; + int numberFuel = tank->getAccessories().getAccessoryCount(weapon->getParent()); + if (numberFuel == -1 || maxFuel) + { + fuel = (float) weapon->getMaximumRange(); + } + else + { + fuel = (float) MIN(weapon->getMaximumRange(), numberFuel); + } - // And add it to the list of next edge points std::list edgeList; - unsigned int pt = POINT_TO_UINT(posX, posY); - edgeList.push_back(pt); + unsigned int epoc = 0; + + // Check we can move at all + if (getEntry(posX, posY).type == eNotSeen) + { + // Add this point to the movement map + getEntry(posX, posY) = + MovementMap::MovementMapEntry( + MovementMap::eMovement, + 0.0f, + 0, + epoc); + + // And add it to the list of next edge points + unsigned int pt = POINT_TO_UINT(posX, posY); + edgeList.push_back(pt); + } // Find all the edges for the current edges and so on while (!edgeList.empty()) @@ -303,23 +368,104 @@ GLubyte *dest = newMap.getBits(); for (int y=0; ygetMainTexture().replace(newMap, GL_RGB, false); + Landscape::instance()->setTextureType(Landscape::eOther); +} + +void MovementMap::limitTexture(Vector ¢er, int limit) +{ + GLBitmap newMap( + Landscape::instance()->getMainMap().getWidth(), + Landscape::instance()->getMainMap().getHeight()); + + float width = (float) + ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getMapWidth(); + float height = (float) + ScorchedClient::instance()->getLandscapeMaps().getGroundMaps().getMapHeight(); + + GLubyte *src = Landscape::instance()->getMainMap().getBits(); + GLubyte *dest = newMap.getBits(); + for (int y=0; ygetMainTexture().replace(newMap, GL_RGB, false); - Landscape::instance()->setTextureType(Landscape::eMovement); + Landscape::instance()->setTextureType(Landscape::eOther); } + diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/MovementMap.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/MovementMap.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/MovementMap.h 2006-06-24 02:53:22.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/MovementMap.h 2006-11-08 05:53:27.000000000 +0900 @@ -24,6 +24,7 @@ #include #include +class WeaponMoveTank; class Tank; class ScorchedContext; class MovementMap @@ -54,15 +55,16 @@ virtual ~MovementMap(); void calculateForTank(Tank *tank, - unsigned int fuelId, + WeaponMoveTank *weapon, ScorchedContext &context, bool maxFuel = false); void movementTexture(); + static void limitTexture(Vector ¢er, int limit); + static bool allowedPosition(ScorchedContext &context, + Tank *tank, Vector &position); MovementMapEntry &getEntry(int w, int h); - static unsigned int getFuelId() { return fuelId_; } protected: - static unsigned int fuelId_; MovementMapEntry *entries_; int width_, height_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/Sky.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/Sky.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/Sky.cpp 2006-03-28 07:48:06.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/Sky.cpp 2006-09-27 08:49:28.000000000 +0900 @@ -35,6 +35,8 @@ { LandscapeDefinitionCache &defnCache = ScorchedClient::instance()-> getLandscapeMaps().getDefinitions(); + + sun_.setLightPosition(); if (defnCache.getDefn()->roof->getType() == LandscapeDefnType::eRoofCavern) { roof_.draw(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/SkyDome.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/SkyDome.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/SkyDome.cpp 2006-03-28 07:48:06.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/SkyDome.cpp 2006-10-03 00:34:26.000000000 +0900 @@ -26,8 +26,8 @@ #include #include #include +#include #include -#include #include #include #include @@ -102,7 +102,7 @@ void SkyDome::draw() { - Vector &pos = MainCamera::instance()->getCamera().getCurrentPos(); + Vector &pos = GLCamera::getCurrentCamera()->getCurrentPos(); // Cannot use a display list for heimisphere as we change texture // coordinates all the time glPushMatrix(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/SkyRoofCollision.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/SkyRoofCollision.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/SkyRoofCollision.cpp 2006-04-06 22:26:56.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/SkyRoofCollision.cpp 2006-09-13 07:27:40.000000000 +0900 @@ -57,7 +57,7 @@ dGeomID geom = dCreateGeom(roofClass_); dGeomSetData(geom, (void *) &info_); - dSpaceAdd(engine.getSpace(), geom); + dSpaceAdd(engine.getGroundSpace(), geom); } dColliderFn * SkyRoofCollision::dLandscapeGetColliderFn(int num) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/SkyRoof.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/SkyRoof.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/SkyRoof.cpp 2006-03-28 07:48:06.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/SkyRoof.cpp 2006-10-01 01:11:32.000000000 +0900 @@ -58,6 +58,9 @@ float diffuseLight = (((normal.dotP(sunDirection)) / 2.0f) + 0.5f); Vector light = diffuse * diffuseLight + ambient; + light[0] = MIN(1.0f, light[0]); + light[1] = MIN(1.0f, light[1]); + light[2] = MIN(1.0f, light[2]); glColor3fv(light); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/Sun.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/Sun.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/Sun.cpp 2006-06-28 05:37:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/Sun.cpp 2006-09-27 08:49:28.000000000 +0900 @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -64,6 +65,19 @@ DIALOG_ASSERT(texture_.replace(map, GL_RGBA, true)); } +void Sun::setLightPosition() +{ + LandscapeTex &tex = *ScorchedClient::instance()-> + getLandscapeMaps().getDefinitions().getTex(); + + Vector4 sunPosition = getPosition(); + Vector4 sunDiffuse = tex.skydiffuse; + Vector4 sunAmbient = tex.skyambience; + glLightfv(GL_LIGHT1, GL_AMBIENT, sunAmbient); + glLightfv(GL_LIGHT1, GL_DIFFUSE, sunDiffuse); + glLightfv(GL_LIGHT1, GL_POSITION, sunPosition); +} + void Sun::draw() { GLState currentStateOne(GLState::TEXTURE_ON | GLState::DEPTH_OFF | GLState::BLEND_ON); @@ -71,6 +85,7 @@ LandscapeTex &tex = *ScorchedClient::instance()-> getLandscapeMaps().getDefinitions().getTex(); + GLCameraFrustum::instance()->drawBilboard( position_, tex.suncolor, 1.0f, // alpha diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/Sun.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/Sun.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/Sun.h 2005-12-28 22:35:29.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/Sun.h 2006-09-27 08:49:28.000000000 +0900 @@ -32,6 +32,7 @@ virtual ~Sun(); void draw(); + void setLightPosition(); void setPosition(float sunRotXY, float sunRotYZ); void generate(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/SurroundDefault.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/SurroundDefault.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/SurroundDefault.cpp 2006-03-28 07:48:06.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/SurroundDefault.cpp 2006-10-01 01:11:32.000000000 +0900 @@ -162,6 +162,9 @@ float diffuseLightMult = (((normal.dotP(sunDirection)) / 2.0f) + 0.5f); Vector light = diffuse * diffuseLightMult + ambient; + light[0] = MIN(1.0f, light[0]); + light[1] = MIN(1.0f, light[1]); + light[2] = MIN(1.0f, light[2]); glTexCoord2f(x, y); if (detail) GLStateExtension::glMultiTextCoord2fARB() diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/SurroundLandscape.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/SurroundLandscape.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscape/SurroundLandscape.cpp 2006-03-28 07:48:06.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscape/SurroundLandscape.cpp 2006-10-01 01:11:32.000000000 +0900 @@ -59,6 +59,9 @@ float diffuseLight = (((normal.dotP(sunDirection)) / 2.0f) + 0.5f); Vector light = diffuse * diffuseLight + ambient; + light[0] = MIN(1.0f, light[0]); + light[1] = MIN(1.0f, light[1]); + light[2] = MIN(1.0f, light[2]); float alpha = 1.0f; if (position[2] < 1.0f) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscapedef/LandscapeDefinitions.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscapedef/LandscapeDefinitions.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscapedef/LandscapeDefinitions.cpp 2006-04-13 00:19:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscapedef/LandscapeDefinitions.cpp 2006-09-08 07:33:27.000000000 +0900 @@ -220,6 +220,25 @@ return result; } +void LandscapeDefinitions::checkEnabled(OptionsGame &context) +{ + std::list::iterator itor; + for (itor = entries_.begin(); + itor != entries_.end(); + itor++) + { + LandscapeDefinitionsEntry &result = *itor; + if (landscapeEnabled(context, result.name.c_str())) + { + return; + } + } + + dialogExit("Scorched3D", formatString( + "No existing landscapes are enabled (Landscapes : %s)", + context.getLandscapes())); +} + LandscapeDefinition LandscapeDefinitions::getRandomLandscapeDefn( OptionsGame &context) { @@ -240,12 +259,7 @@ } // Check we have a least one map - if (passedLandscapes.empty()) - { - dialogExit("Scorched3D", formatString( - "No existing landscapes are enabled (Landscapes : %s)", - context.getLandscapes())); - } + DIALOG_ASSERT(!passedLandscapes.empty()); // Map cycle mode LandscapeDefinitionsEntry *result = 0; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscapedef/LandscapeDefinitions.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscapedef/LandscapeDefinitions.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscapedef/LandscapeDefinitions.h 2006-04-13 00:19:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscapedef/LandscapeDefinitions.h 2006-09-08 07:33:27.000000000 +0900 @@ -61,6 +61,7 @@ bool readLandscapeDefinitions(); void clearLandscapeDefinitions(); + void checkEnabled(OptionsGame &context); LandscapeDefinition getRandomLandscapeDefn(OptionsGame &context); LandscapeTex *getTex(const char *file, bool load = false); LandscapeDefn *getDefn(const char *file, bool load = false); @@ -70,6 +71,7 @@ LandscapeShips *getShips(const char *file, bool load = false); LandscapeEvents *getEvents(const char *file, bool load = false); + bool landscapeEnabled(OptionsGame &context, const char *name); LandscapeDefinitionsEntry *getLandscapeByName(const char *name); std::list &getAllLandscapes() diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscapedef/LandscapeEvents.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscapedef/LandscapeEvents.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscapedef/LandscapeEvents.cpp 2006-03-28 07:48:06.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscapedef/LandscapeEvents.cpp 2006-10-16 18:37:20.000000000 +0900 @@ -19,6 +19,8 @@ //////////////////////////////////////////////////////////////////////////////// #include +#include +#include #include #include #include @@ -58,10 +60,41 @@ { if (0 == strcmp(type, "time")) return new LandscapeConditionTime; if (0 == strcmp(type, "random")) return new LandscapeConditionRandom; + if (0 == strcmp(type, "groupsize")) return new LandscapeConditionGroupSize; dialogMessage("LandscapeCondition", formatString("Unknown condition type %s", type)); return 0; } +// LandscapeConditionGroupSize +float LandscapeConditionGroupSize::getNextEventTime(int eventNumber) +{ + return FLT_MAX; +} + +bool LandscapeConditionGroupSize::fireEvent(ScorchedContext &context, + float timeLeft, int eventNumber) +{ + if (eventNumber == 1) // i.e. the first event + { + LandscapeObjectsGroupEntry *groupEntry = + context.landscapeMaps->getGroundMaps().getObjects().getGroup( + groupname.c_str()); + if (groupEntry) + { + if (groupEntry->getObjectCount() <= groupsize) return true; + } + } + + return false; +} + +bool LandscapeConditionGroupSize::readXML(XMLNode *node) +{ + if (!node->getNamedChild("groupname", groupname)) return false; + if (!node->getNamedChild("groupsize", groupsize)) return false; + return node->failChildren(); +} + // LandscapeConditionTime float LandscapeConditionTime::getNextEventTime(int eventNumber) { @@ -74,6 +107,12 @@ return RAND * (maxtime - mintime) + mintime; } +bool LandscapeConditionTime::fireEvent(ScorchedContext &context, + float timeLeft, int eventNumber) +{ + return (timeLeft < 0.0f); +} + bool LandscapeConditionTime::readXML(XMLNode *node) { if (!node->getNamedChild("mintime", mintime)) return false; @@ -97,6 +136,12 @@ return FLT_MAX; } +bool LandscapeConditionRandom::fireEvent(ScorchedContext &context, + float timeLeft, int eventNumber) +{ + return (timeLeft < 0.0f); +} + bool LandscapeConditionRandom::readXML(XMLNode *node) { if (!node->getNamedChild("randomchance", randomchance)) return false; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/landscapedef/LandscapeEvents.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscapedef/LandscapeEvents.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/landscapedef/LandscapeEvents.h 2006-03-28 07:48:06.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/landscapedef/LandscapeEvents.h 2006-10-16 18:37:20.000000000 +0900 @@ -31,11 +31,25 @@ { public: virtual float getNextEventTime(int eventNumber) = 0; + virtual bool fireEvent(ScorchedContext &context, + float timeLeft, int eventNumber) = 0; virtual bool readXML(XMLNode *node) = 0; static LandscapeCondition *create(const char *name); }; +class LandscapeConditionGroupSize : public LandscapeCondition +{ +public: + int groupsize; + std::string groupname; + + virtual float getNextEventTime(int eventNumber); + virtual bool fireEvent(ScorchedContext &context, + float timeLeft, int eventNumber); + virtual bool readXML(XMLNode *node); +}; + class LandscapeConditionTime : public LandscapeCondition { public: @@ -44,6 +58,8 @@ bool singletimeonly; virtual float getNextEventTime(int eventNumber); + virtual bool fireEvent(ScorchedContext &context, + float timeLeft, int eventNumber); virtual bool readXML(XMLNode *node); }; @@ -54,6 +70,8 @@ float randomdelay; virtual float getNextEventTime(int eventNumber); + virtual bool fireEvent(ScorchedContext &context, + float timeLeft, int eventNumber); virtual bool readXML(XMLNode *node); }; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/Makefile /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/Makefile --- /tmp/ZyiKWGPp1w/scorched3d-40/src/Makefile 2006-07-16 00:15:36.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/Makefile 2006-11-17 20:46:01.000000000 +0900 @@ -38,10 +38,10 @@ pkgincludedir = $(includedir)/scorched3d top_builddir = .. -ACLOCAL = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run aclocal-1.6 -AUTOCONF = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run autoconf -AUTOMAKE = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run automake-1.6 -AUTOHEADER = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run autoheader +ACLOCAL = ${SHELL} /opt/export/scorched/missing --run aclocal-1.6 +AUTOCONF = ${SHELL} /opt/export/scorched/missing --run autoconf +AUTOMAKE = ${SHELL} /opt/export/scorched/missing --run automake-1.6 +AUTOHEADER = ${SHELL} /opt/export/scorched/missing --run autoheader am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = /usr/bin/install -c @@ -63,11 +63,12 @@ EXEEXT = OBJEXT = o PATH_SEPARATOR = : -AMTAR = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run tar +AMTAR = ${SHELL} /opt/export/scorched/missing --run tar AWK = gawk CC = gcc CXX = g++ DEPDIR = .deps +FREEALUT_CONFIG = no FT2_CFLAGS = -I/usr/include/freetype2 FT2_CONFIG = /usr/bin/freetype-config FT2_LIBS = -lfreetype @@ -97,8 +98,8 @@ WX_VERSION = 2.4.1 am__include = include am__quote = -docdir = ${datadir} -install_sh = /opt/scorched3d-serversrc/scorched/install-sh +docdir = ${datadir}/documentation +install_sh = /opt/export/scorched/install-sh SUBDIRS = scorched subdir = src mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/Makefile.in /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/Makefile.in --- /tmp/ZyiKWGPp1w/scorched3d-40/src/Makefile.in 2006-07-16 00:15:23.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/Makefile.in 2006-11-17 20:45:48.000000000 +0900 @@ -68,6 +68,7 @@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +FREEALUT_CONFIG = @FREEALUT_CONFIG@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_CONFIG = @FT2_CONFIG@ FT2_LIBS = @FT2_LIBS@ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/ode/collision_quadtreespace.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ode/collision_quadtreespace.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/ode/collision_quadtreespace.cpp 2004-09-14 22:18:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ode/collision_quadtreespace.cpp 2006-09-15 02:07:35.000000000 +0900 @@ -351,7 +351,7 @@ int BlockCount = 0; for (int i = 0; i <= Depth; i++){ - BlockCount += (int)pow(SPLITS, i); + BlockCount += (int)pow((double) SPLITS, i); } Blocks = (Block*)dAlloc(BlockCount * sizeof(Block)); @@ -384,7 +384,7 @@ int BlockCount = 0; for (int i = 0; i < Depth; i++){ - BlockCount += (int)pow(SPLITS, i); + BlockCount += (int)pow((double) SPLITS, i); } dFree(Blocks, BlockCount * sizeof(Block)); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/ode/config.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ode/config.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/ode/config.h 2004-11-02 18:20:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ode/config.h 2006-08-04 19:09:49.000000000 +0900 @@ -81,7 +81,7 @@ /* an integer type that we can safely cast a pointer to and from without * loss of bits. */ -typedef unsigned int intP; +typedef unsigned long intP; /* if we're compiling on a pentium, we may need to know the clock rate so diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/ode/error.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ode/error.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/ode/error.cpp 2004-09-15 07:10:04.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ode/error.cpp 2006-08-04 19:09:49.000000000 +0900 @@ -22,6 +22,7 @@ #include #include +#include static dMessageFunction *error_function = 0; @@ -129,7 +130,7 @@ else { char s[1000],title[100]; sprintf (title,"ODE Error %d",num); - vsprintf (s,msg,ap); + vsnprintf (s,sizeof(s),msg,ap); s[sizeof(s)-1] = 0; MessageBox(0,s,title,MB_OK | MB_ICONWARNING); } @@ -145,7 +146,7 @@ else { char s[1000],title[100]; sprintf (title,"ODE INTERNAL ERROR %d",num); - vsprintf (s,msg,ap); + vsnprintf (s,sizeof(s),msg,ap); s[sizeof(s)-1] = 0; MessageBox(0,s,title,MB_OK | MB_ICONSTOP); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/ode/testing.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ode/testing.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/ode/testing.cpp 2003-07-11 01:30:19.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/ode/testing.cpp 2006-08-04 19:09:49.000000000 +0900 @@ -23,6 +23,7 @@ #include #include #include +#include #include "testing.h" #ifdef dDOUBLE @@ -72,7 +73,7 @@ va_list ap; va_start (ap,name); - vsprintf (mi->name,name,ap); + vsnprintf (mi->name, sizeof(mi->name), name, ap); if (strlen(mi->name) >= sizeof (mi->name)) dDebug (0,"name too long"); mat.push (mi); @@ -88,7 +89,7 @@ dMatInfo mi; va_list ap; va_start (ap,name); - vsprintf (mi.name,name,ap); + vsnprintf (mi.name, sizeof(mi.name), name, ap); if (strlen(mi.name) >= sizeof (mi.name)) dDebug (0,"name too long"); if (strcmp(mp->name,mi.name) != 0) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObject.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObject.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObject.cpp 2006-05-22 22:03:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObject.cpp 2006-08-07 01:04:39.000000000 +0900 @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -38,6 +39,7 @@ if (0 == strcmp(type, "group")) return new PlacementObjectGroup; if (0 == strcmp(type, "random")) return new PlacementObjectRandom; if (0 == strcmp(type, "shadow")) return new PlacementObjectShadow; + if (0 == strcmp(type, "none")) return new PlacementObjectNone; dialogMessage("PlacementObject", formatString("Unknown object type %s", type)); return 0; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObject.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObject.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObject.h 2006-06-09 07:54:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObject.h 2006-08-07 01:04:39.000000000 +0900 @@ -35,7 +35,8 @@ eGroup, eRandom, eTank, - eShadow + eShadow, + eNone }; static PlacementObject *create(const char *type); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectModel.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectModel.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectModel.cpp 2006-06-20 10:19:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectModel.cpp 2006-09-27 08:49:28.000000000 +0900 @@ -22,7 +22,6 @@ #include #include #include <3dsparse/ModelStore.h> -#include <3dsparse/ModelRenderer.h> #include #include #include diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectNone.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectNone.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectNone.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectNone.cpp 2006-08-07 01:04:39.000000000 +0900 @@ -0,0 +1,43 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include + +PlacementObjectNone::PlacementObjectNone() +{ +} + +PlacementObjectNone::~PlacementObjectNone() +{ +} + +bool PlacementObjectNone::readXML(XMLNode *node) +{ + return PlacementObject::readXML(node); +} + +void PlacementObjectNone::createObject(ScorchedContext &context, + RandomGenerator &generator, + unsigned int &playerId, + PlacementType::Position &position) +{ +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectNone.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectNone.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectNone.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectNone.h 2006-08-07 01:04:39.000000000 +0900 @@ -0,0 +1,40 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2004 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_PlacementObjectNoneh_INCLUDE__) +#define __INCLUDE_PlacementObjectNoneh_INCLUDE__ + +#include + +class PlacementObjectNone : public PlacementObject +{ +public: + PlacementObjectNone(); + virtual ~PlacementObjectNone(); + + virtual bool readXML(XMLNode *node); + virtual PlacementObject::Type getType() { return PlacementObject::eNone; } + virtual void createObject(ScorchedContext &context, + RandomGenerator &generator, + unsigned int &playerId, + PlacementType::Position &position); +}; + +#endif // __INCLUDE_PlacementObjectNoneh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectRandom.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectRandom.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectRandom.cpp 2006-06-09 07:54:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectRandom.cpp 2006-08-07 01:04:39.000000000 +0900 @@ -22,7 +22,7 @@ #include #include -PlacementObjectRandom::PlacementObjectRandom() +PlacementObjectRandom::PlacementObjectRandom() : totalWeight_(0.0f) { } @@ -37,6 +37,12 @@ { RandomObject randomObject; + // Get the weight + randomObject.weight = 1.0f; + node->getNamedChild("weight", randomObject.weight, false); + totalWeight_ += randomObject.weight; + + // Get the object std::string objecttype; XMLNode *objectNode; if (!node->getNamedChild("object", objectNode)) return false; @@ -56,8 +62,22 @@ unsigned int &playerId, PlacementType::Position &position) { - int entryPos = generator.getRandUInt() % objects_.size(); + float totalWeight = generator.getRandFloat() * totalWeight_; + float currentWeight = 0.0f; + + std::vector::iterator itor; + for (itor = objects_.begin(); + itor != objects_.end(); + itor++) + { + RandomObject &object = (*itor); + currentWeight += object.weight; - PlacementObject *entry = objects_[entryPos].object; - entry->createObject(context, generator, playerId, position); + if (currentWeight > totalWeight) + { + PlacementObject *entry = object.object; + entry->createObject(context, generator, playerId, position); + break; + } + } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectRandom.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectRandom.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectRandom.h 2006-06-09 07:54:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectRandom.h 2006-08-07 01:04:39.000000000 +0900 @@ -41,7 +41,9 @@ struct RandomObject { PlacementObject *object; + float weight; }; + float totalWeight_; std::vector objects_; }; #endif // __INCLUDE_PlacementObjectRandomh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectTank.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectTank.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectTank.cpp 2006-06-09 07:54:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectTank.cpp 2006-10-16 18:37:20.000000000 +0900 @@ -22,7 +22,6 @@ #include #include #include <3dsparse/ModelStore.h> -#include <3dsparse/ModelRenderer.h> #include #include #include @@ -40,6 +39,7 @@ bool PlacementObjectTank::readXML(XMLNode *node) { if (!tankDef_.readXML(node, ".")) return false; + if (!groups_.readXML(node)) return false; return PlacementObject::readXML(node); } @@ -58,4 +58,5 @@ &tankDef_.getShadow(), position.position, tankDef_.getSize())); + groups_.addToGroups(context, &tank->getGroup(), false); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectTank.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectTank.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectTank.h 2006-06-09 07:54:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectTank.h 2006-10-16 18:37:20.000000000 +0900 @@ -22,6 +22,7 @@ #define __INCLUDE_PlacementObjectTankh_INCLUDE__ #include +#include #include class PlacementObjectTank : public PlacementObject @@ -39,6 +40,7 @@ protected: TankDefinition tankDef_; + PlacementGroupDefinition groups_; }; #endif // __INCLUDE_PlacementObjectTankh_INCLUDE__ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectTarget.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectTarget.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectTarget.cpp 2006-06-20 10:19:26.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectTarget.cpp 2006-10-13 08:16:18.000000000 +0900 @@ -21,8 +21,7 @@ #include #include #include -#include <3dsparse/ModelStore.h> -#include <3dsparse/ModelRenderer.h> +#include #include #include #include @@ -60,10 +59,5 @@ &targetDef_.getShadow(), position.position, targetDef_.getSize())); - - if (target->getRenderer()) - { - groups_.addToGroups(context, - (LandscapeObjectsEntry *) target->getRenderer(), false); - } + groups_.addToGroups(context, &target->getGroup(), false); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectTree.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectTree.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementObjectTree.cpp 2006-07-05 22:16:32.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementObjectTree.cpp 2006-10-13 08:16:18.000000000 +0900 @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include #include #include @@ -63,30 +65,76 @@ PlacementType::Position &position) { bool useSnow = (position.position[2] > snow + (generator.getRandFloat() * 10.0f) - 5.0f); + float color = generator.getRandFloat() * 0.5f + 0.5f; + float size = generator.getRandFloat() * 2.0f + 1.0f; - LandscapeObjectsEntryTree *treeEntry = new LandscapeObjectsEntryTree(); - treeEntry->setup(tree.c_str(), useSnow); - treeEntry->color = generator.getRandFloat() * 0.5f + 0.5f; - treeEntry->modelscale = generator.getRandFloat() * 2.0f + 1.0f; - treeEntry->position = position.position; - treeEntry->rotation = generator.getRandFloat() * 360.0f; - treeEntry->removeaction = removeaction; - treeEntry->burnaction = burnaction; - treeEntry->border = border_; - treeEntry->boundingsize = Vector(1.0f, 1.0f, 2.0f) * treeEntry->modelscale; - - context.landscapeMaps->getGroundMaps().getObjects().addObject( - (unsigned int) position.position[0], - (unsigned int) position.position[1], - treeEntry); - - if (context.serverMode || - !OptionsDisplay::instance()->getNoTrees()) + if (false) + { + Target *target = new Target(playerId++, "", context); + target->getLife().setBoundingSphere(true); + if (!context.serverMode) + { + target->setRenderer( + new TargetRendererImplTargetTree( + target, tree.c_str(), size, color, useSnow)); + } + + Vector vSize = Vector(1.0f, 1.0f, 2.0f) * size; + target->getLife().setMaxLife(1.0f); + target->getLife().setSize(vSize); + target->getLife().setDriveOverToDestroy(true); + target->getLife().setRotation(generator.getRandFloat() * 360.0f); + target->setBorder(border_); + target->newGame(); + + if (removeaction.c_str()[0] && 0 != strcmp(removeaction.c_str(), "none")) + { + Accessory *action = context.accessoryStore-> + findByPrimaryAccessoryName(removeaction.c_str()); + if (!action || action->getType() != AccessoryPart::AccessoryWeapon) + { + dialogExit("Scorched3D", + formatString("Failed to find death action \"%s\"", + removeaction.c_str())); + } + + target->setDeathAction((Weapon *) action->getAction()); + } + + target->setTargetPosition(position.position); + context.targetContainer->addTarget(target); + group_.addToGroups(context, &target->getGroup(), true); + } + else { - context.landscapeMaps->getGroundMaps().getObjects().getShadows().push_back( - PlacementShadowDefinition::Entry(&shadow_, - position.position, - treeEntry->boundingsize)); - group_.addToGroups(context, treeEntry, true); + LandscapeObjectsEntryTree *treeEntry = new LandscapeObjectsEntryTree(); + treeEntry->setup(tree.c_str(), useSnow); + treeEntry->color = color; + treeEntry->modelscale = size; + treeEntry->position = position.position; + treeEntry->rotation = generator.getRandFloat() * 360.0f; + treeEntry->removeaction = removeaction; + treeEntry->burnaction = burnaction; + treeEntry->border = border_; + treeEntry->boundingsize = Vector(1.0f, 1.0f, 2.0f) * treeEntry->modelscale; + + context.landscapeMaps->getGroundMaps().getObjects().addObject( + (unsigned int) position.position[0], + (unsigned int) position.position[1], + treeEntry); + + if (context.serverMode || + !OptionsDisplay::instance()->getNoTrees()) + { + context.landscapeMaps->getGroundMaps().getObjects().getShadows().push_back( + PlacementShadowDefinition::Entry(&shadow_, + position.position, + treeEntry->boundingsize)); + } + + if (!context.serverMode) + { + group_.addToGroups(context, treeEntry, true); + } } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementShadowDefinition.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementShadowDefinition.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementShadowDefinition.cpp 2006-06-29 09:01:05.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementShadowDefinition.cpp 2006-09-08 07:33:27.000000000 +0900 @@ -70,29 +70,23 @@ ScorchedContext &context, Vector &position, Vector &size) { - float shadowMultWidth = (float) Landscape::instance()->getMainMap().getWidth() / - context.landscapeMaps->getGroundMaps().getMapWidth(); - float shadowMultHeight = (float) Landscape::instance()->getMainMap().getHeight() / - context.landscapeMaps->getGroundMaps().getMapHeight(); - if (groundMap_.imageValid()) { GLImage *image = ImageStore::instance()->loadImage(groundMap_); - GLBitmapModifier::addBitmap( - Landscape::instance()->getMainMap(), + GLBitmapModifier::addBitmapToLandscape( + context, *image, - position[0] * shadowMultWidth, - position[1] * shadowMultHeight, - shadowMultWidth / 4.0f, - shadowMultHeight / 4.0f); + position[0], + position[1], + 0.25f, 0.25f); } if (drawShadow_) { - GLBitmapModifier::addCircle( - Landscape::instance()->getMainMap(), - position[0] * shadowMultWidth, - position[1] * shadowMultHeight, - MAX(size[0], size[1]) * shadowMultWidth, 1.0f); + GLBitmapModifier::addCircleToLandscape( + context, + position[0], + position[1], + MAX(size[0], size[1]), 1.0f); } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementType.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementType.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/placement/PlacementType.cpp 2006-06-28 05:37:35.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/placement/PlacementType.cpp 2006-08-07 01:04:39.000000000 +0900 @@ -26,6 +26,8 @@ #include #include #include +#include +#include #include #include #include @@ -83,6 +85,7 @@ std::list &returnPositions, float mincloseness) { + // Check for border closeness for existing objects std::multimap &entries = context.landscapeMaps->getGroundMaps().getObjects().getEntries(); std::multimap::iterator objectsitor; @@ -105,6 +108,32 @@ } } + // Check for border closeness for targets + std::map &targets = + context.targetContainer->getTargets(); + std::map::iterator targetsitor; + for (targetsitor = targets.begin(); + targetsitor != targets.end(); + targetsitor++) + { + Target *target = (*targetsitor).second; + if (!target->isTarget()) continue; + + float distx = target->getTargetPosition()[0] - position[0]; + float disty = target->getTargetPosition()[1] - position[1]; + float closeness = mincloseness + target->getBorder(); + + if (closeness > 0.0f) + { + float distsq = closeness * closeness; + if (distx * distx + disty *disty < distsq) + { + return false; + } + } + } + + // Check for mincloseness closeness for objects in the current group if (mincloseness > 0.0f) { std::list::iterator currentItor; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ClientLinesHandler.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ClientLinesHandler.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ClientLinesHandler.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ClientLinesHandler.Po 2006-11-17 20:46:02.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/collision_quadtreespace.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/collision_quadtreespace.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/collision_quadtreespace.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/collision_quadtreespace.Po 2006-11-17 20:46:05.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ComsLinesMessage.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ComsLinesMessage.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ComsLinesMessage.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ComsLinesMessage.Po 2006-11-17 20:46:03.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/FrameLimiter.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/FrameLimiter.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/FrameLimiter.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/FrameLimiter.Po 2006-11-17 20:46:03.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/Fuel.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/Fuel.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/Fuel.Po 2006-07-15 16:49:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/Fuel.Po 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/GLShadowFrameBuffer.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/GLShadowFrameBuffer.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/GLShadowFrameBuffer.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/GLShadowFrameBuffer.Po 2006-11-17 20:46:03.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/LandscapeShadowCamera.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/LandscapeShadowCamera.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/LandscapeShadowCamera.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/LandscapeShadowCamera.Po 2006-11-17 20:46:03.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/LandscapeShadowHandler.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/LandscapeShadowHandler.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/LandscapeShadowHandler.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/LandscapeShadowHandler.Po 2006-11-17 20:46:03.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/LandscapeStateHandler.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/LandscapeStateHandler.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/LandscapeStateHandler.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/LandscapeStateHandler.Po 2006-11-17 20:46:03.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/OptionsMasterListServer.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/OptionsMasterListServer.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/OptionsMasterListServer.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/OptionsMasterListServer.Po 2006-11-17 20:46:03.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/PlacementObjectNone.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/PlacementObjectNone.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/PlacementObjectNone.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/PlacementObjectNone.Po 2006-11-17 20:46:04.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ServerLinesHandler.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ServerLinesHandler.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ServerLinesHandler.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ServerLinesHandler.Po 2006-11-17 20:46:04.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldMag.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldMag.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldMag.Po 2006-07-15 16:49:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldMag.Po 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldReflective.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldReflective.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldReflective.Po 2006-07-15 16:49:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldReflective.Po 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldRoundMag.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldRoundMag.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldRoundMag.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldRoundMag.Po 2006-11-17 20:46:04.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldRound.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldRound.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldRound.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldRound.Po 2006-11-17 20:46:04.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldRoundReflective.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldRoundReflective.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldRoundReflective.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldRoundReflective.Po 2006-11-17 20:46:04.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldSquare.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldSquare.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldSquare.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldSquare.Po 2006-11-17 20:46:04.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldSquareReflective.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldSquareReflective.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/ShieldSquareReflective.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/ShieldSquareReflective.Po 2006-11-17 20:46:04.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/TankFuel.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/TankFuel.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/TankFuel.Po 2006-07-15 16:49:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/TankFuel.Po 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/TankParachutes.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/TankParachutes.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/TankParachutes.Po 2006-07-15 16:49:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/TankParachutes.Po 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/TankShields.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/TankShields.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/TankShields.Po 2006-07-15 16:49:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/TankShields.Po 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/TargetGroupEntry.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/TargetGroupEntry.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/TargetGroupEntry.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/TargetGroupEntry.Po 2006-11-17 20:46:04.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/TargetRendererImplTargetModel.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/TargetRendererImplTargetModel.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/TargetRendererImplTargetModel.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/TargetRendererImplTargetModel.Po 2006-11-17 20:46:04.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/TargetRendererImplTargetTree.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/TargetRendererImplTargetTree.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/TargetRendererImplTargetTree.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/TargetRendererImplTargetTree.Po 2006-11-17 20:46:04.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/Vector4.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/Vector4.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/Vector4.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/Vector4.Po 2006-11-17 20:46:04.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/WeaponMoveTank.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/WeaponMoveTank.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/WeaponMoveTank.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/WeaponMoveTank.Po 2006-11-17 20:46:04.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/WeaponSelectPosition.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/WeaponSelectPosition.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/WeaponSelectPosition.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/WeaponSelectPosition.Po 2006-11-17 20:46:05.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/WeaponTankPosition.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/WeaponTankPosition.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/WeaponTankPosition.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/WeaponTankPosition.Po 2006-11-17 20:46:05.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/WeaponTankVelocity.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/WeaponTankVelocity.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/WeaponTankVelocity.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/WeaponTankVelocity.Po 2006-11-17 20:46:05.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/WeaponTeamAction.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/WeaponTeamAction.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/WeaponTeamAction.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/WeaponTeamAction.Po 2006-11-17 20:46:05.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/WeaponTypeAction.Po /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/WeaponTypeAction.Po --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/.deps/WeaponTypeAction.Po 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/.deps/WeaponTypeAction.Po 2006-11-17 20:46:05.000000000 +0900 @@ -0,0 +1 @@ +# dummy diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/Display.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/Display.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/Display.cpp 2006-07-15 20:42:07.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/Display.cpp 2006-11-01 20:16:00.000000000 +0900 @@ -218,8 +218,11 @@ new wxCheckBox(parent, -1, wxT("Don't use detail textures")); detailSizer2->Add(IDC_NODETAILTEX_CTRL, 0); IDC_NOSKINS_CTRL = - new wxCheckBox(parent, -1, wxT("No tank skins")); + new wxCheckBox(parent, -1, wxT("No model skins")); detailSizer2->Add(IDC_NOSKINS_CTRL, 0); + IDC_NODYNAMICLIGHT_CTRL = + new wxCheckBox(parent, -1, wxT("No model dynamic lighting")); + detailSizer2->Add(IDC_NODYNAMICLIGHT_CTRL, 0); IDC_NOBOIDS_CTRL = new wxCheckBox(parent, -1, wxT("No birds")); detailSizer2->Add(IDC_NOBOIDS_CTRL, 0); @@ -303,21 +306,38 @@ sizer->Add(tankModelSizer, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP, 5); } - UniqueIdStore idStore; - idStore.loadStore(); - // User id edit box wxStaticBox *userBox = new wxStaticBox(parent, -1, wxT("User ID (Uniquely identifies this player for stats, not generated from any user information.)")); wxStaticBoxSizer *userSizer = new wxStaticBoxSizer(userBox, wxVERTICAL); IDC_USERID_CTRL = new wxGrid(parent, -1, wxDefaultPosition, wxDefaultSize); - IDC_USERID_CTRL->CreateGrid(idStore.getIds().size(), 3); + IDC_USERID_CTRL->CreateGrid(0, 3); IDC_USERID_CTRL->SetColLabelValue(0, wxT("Published Ip")); IDC_USERID_CTRL->SetColLabelValue(1, wxT("Current Ip")); IDC_USERID_CTRL->SetColLabelValue(2, wxT("Unique Id")); IDC_USERID_CTRL->SetColLabelSize(20); IDC_USERID_CTRL->SetRowLabelSize(0); + + userSizer->Add(IDC_USERID_CTRL, 1, wxALIGN_CENTER | wxGROW); + IDC_HOSTDESC_CTRL = new wxTextCtrl(parent, -1, wxString(), wxDefaultPosition, wxSize(300, -1), wxTE_READONLY); + userSizer->Add(IDC_HOSTDESC_CTRL, 0, wxALIGN_CENTER); + sizer->Add(userSizer, 1, wxGROW | wxLEFT | wxRIGHT | wxTOP, 5); +} + +static void refreshIdentControls() +{ + UniqueIdStore idStore; + idStore.loadStore(); + + if (int(idStore.getIds().size()) > IDC_USERID_CTRL->GetNumberRows()) + { + IDC_USERID_CTRL->AppendRows( + int(idStore.getIds().size()) - IDC_USERID_CTRL->GetNumberRows()); + } + + // User id edit box int pos = 0; + IDC_USERID_CTRL->ClearGrid(); std::list::iterator itor; for (itor = idStore.getIds().begin(); itor != idStore.getIds().end(); @@ -333,11 +353,6 @@ IDC_USERID_CTRL->EnableEditing(true); IDC_USERID_CTRL->AutoSizeColumns(true); IDC_USERID_CTRL->ForceRefresh(); - - userSizer->Add(IDC_USERID_CTRL, 1, wxALIGN_CENTER | wxGROW); - IDC_HOSTDESC_CTRL = new wxTextCtrl(parent, -1, wxString(), wxDefaultPosition, wxSize(300, -1), wxTE_READONLY); - userSizer->Add(IDC_HOSTDESC_CTRL, 0, wxALIGN_CENTER); - sizer->Add(userSizer, 1, wxGROW | wxLEFT | wxRIGHT | wxTOP, 5); } class KeyButtonData : public wxObjectRefData diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/Display-def.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/Display-def.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/Display-def.cpp 2006-02-21 01:06:56.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/Display-def.cpp 2006-10-03 04:52:52.000000000 +0900 @@ -27,6 +27,8 @@ ID_KEYDEFAULTS, ID_IMPORT, ID_EXPORT, + ID_NOTEBOOK, + ID_PANEL_IDENT, ID_KEY = 200 }; @@ -72,6 +74,7 @@ static wxRadioButton *IDC_LARGEDIALOGS_CTRL = 0; static wxRadioButton *IDC_HUGEDIALOGS_CTRL = 0; static wxCheckBox *IDC_NOSKINS_CTRL = 0; +static wxCheckBox *IDC_NODYNAMICLIGHT_CTRL = 0; static wxCheckBox *IDC_FULLSCREEN_CTRL = 0; static wxCheckBox *IDC_MORERES_CTRL = 0; static wxCheckBox *IDC_LOGGING_CTRL = 0; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/DisplayDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/DisplayDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/DisplayDialog.cpp 2006-07-15 20:42:07.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/DisplayDialog.cpp 2006-10-25 07:37:18.000000000 +0900 @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include "Display.cpp" @@ -56,6 +57,7 @@ void onImportMod(wxCommandEvent &event); void onExportMod(wxCommandEvent &event); void onMoreRes(wxCommandEvent &event); + void onPageChange(wxNotebookEvent &event); void onKey(); wxNotebook *book_; @@ -82,6 +84,7 @@ EVT_BUTTON(ID_IMPORT, DisplayFrame::onImportMod) EVT_BUTTON(ID_EXPORT, DisplayFrame::onExportMod) EVT_CHECKBOX(ID_MORERES, DisplayFrame::onMoreRes) + EVT_NOTEBOOK_PAGE_CHANGED(ID_NOTEBOOK, DisplayFrame::onPageChange) END_EVENT_TABLE() DisplayFrame::DisplayFrame() : @@ -97,7 +100,7 @@ wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL); // Create all the display controls - book_ = new wxNotebook(this, -1); + book_ = new wxNotebook(this, ID_NOTEBOOK); wxNotebookSizer *nbs = new wxNotebookSizer(book_); // Main Panel @@ -135,7 +138,7 @@ #endif // Ident Panel - identPanel_ = new wxPanel(book_, -1); + identPanel_ = new wxPanel(book_, ID_PANEL_IDENT); wxSizer *identPanelSizer = new wxBoxSizer(wxVERTICAL); createIdentControls(identPanel_, identPanelSizer); book_->AddPage(identPanel_, wxT("Identity")); @@ -198,6 +201,14 @@ refreshResolutions(); } +void DisplayFrame::onPageChange(wxNotebookEvent &event) +{ + if (event.GetSelection() == 3) + { + refreshIdentControls(); + } +} + void DisplayFrame::onKeyButton(wxCommandEvent &event) { // Find which button was pressed @@ -325,6 +336,8 @@ IDC_NOBOIDSOUND_CTRL->SetToolTip(wxString(OptionsDisplay::instance()->getNoBoidSoundEntry().getDescription(), wxConvUTF8)); IDC_NOSKINS_CTRL->SetValue(OptionsDisplay::instance()->getNoSkins()); IDC_NOSKINS_CTRL->SetToolTip(wxString(OptionsDisplay::instance()->getNoSkinsEntry().getDescription(), wxConvUTF8)); + IDC_NODYNAMICLIGHT_CTRL->SetValue(OptionsDisplay::instance()->getNoModelLighting()); + IDC_NODYNAMICLIGHT_CTRL->SetToolTip(wxString(OptionsDisplay::instance()->getNoModelLightingEntry().getDescription(), wxConvUTF8)); IDC_FULLSCREEN_CTRL->SetValue(OptionsDisplay::instance()->getFullScreen()); IDC_FULLSCREEN_CTRL->SetToolTip(wxString(OptionsDisplay::instance()->getFullScreenEntry().getDescription(), wxConvUTF8)); IDC_SINGLESKYLAYER_CTRL->SetValue(OptionsDisplay::instance()->getNoSkyLayers()); @@ -534,6 +547,7 @@ OptionsDisplay::instance()->getNoBoidSoundEntry().setValue(IDC_NOBOIDSOUND_CTRL->GetValue()); OptionsDisplay::instance()->getSoundChannelsEntry().setValue(atoi(IDC_SOUNDCHANNELS_CTRL->GetValue().mb_str(wxConvUTF8))); OptionsDisplay::instance()->getNoSkinsEntry().setValue(IDC_NOSKINS_CTRL->GetValue()); + OptionsDisplay::instance()->getNoModelLightingEntry().setValue(IDC_NODYNAMICLIGHT_CTRL->GetValue()); OptionsDisplay::instance()->getNoTreesEntry().setValue(IDC_NOTREES_CTRL->GetValue()); OptionsDisplay::instance()->getNoPrecipitationEntry().setValue(IDC_NOPRECIPITATION_CTRL->GetValue()); OptionsDisplay::instance()->getNoWavesEntry().setValue(IDC_NOWAVES_CTRL->GetValue()); @@ -561,7 +575,7 @@ OptionsDisplay::instance()->getNoShipsEntry().setValue(IDC_NOSHIPS_CTRL->GetValue()); OptionsDisplay::instance()->getMoreResEntry().setValue(IDC_MORERES_CTRL->GetValue()); //OptionsDisplay::instance()->getSwapYAxisEntry().setValue(IDC_SWAPYAXIS_CTRL->GetValue()); - //OptionsDisplay::instance()->getClientLogToFileEntry().setValue(IDC_LOGGING_CTRL->GetValue()); + OptionsDisplay::instance()->getClientLogToFileEntry().setValue(IDC_LOGGING_CTRL->GetValue()); wxString buffer = IDC_DISPLAY_CTRL->GetValue(); int windowWidth, windowHeight; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/HtmlHelpDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/HtmlHelpDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/HtmlHelpDialog.cpp 2006-02-18 02:48:54.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/HtmlHelpDialog.cpp 2006-08-04 22:35:15.000000000 +0900 @@ -137,13 +137,13 @@ void HelpFrame::onHome(wxCommandEvent &event) { html_->HistoryClear(); - html_->LoadPage(wxString(getDocFile("documentation/html/index.html"), wxConvUTF8)); + html_->LoadPage(wxString(getDocFile("html/index.html"), wxConvUTF8)); } void showHtmlHelpDialog() { // For the moment just show the documentation in the default web browser - showURL(formatString("file://%s", getDocFile("documentation/html/index.html"))); + showURL(formatString("file://%s", getDocFile("html/index.html"))); //HelpFrame *frame = new HelpFrame(); //frame->Show(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/main.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/main.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/main.cpp 2006-07-08 00:59:54.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/main.cpp 2006-10-21 01:35:43.000000000 +0900 @@ -88,12 +88,6 @@ ModDirs dirs; dirs.loadModDirs(); - // Read the game options (allows us to modify any settings only - // used by the chooser screens) - const char *optionsGamePath = getSettingsFile("game.xml"); - ScorchedClient::instance()->getOptionsGame().readOptionsFromFile( - (char *) optionsGamePath); - return true; } @@ -105,8 +99,16 @@ return 1; // Error has been handled. } +void _no_storage() +{ + printf("Failed to allocate memory!!"); + std::exit(1); +} + int main(int argc, char *argv[]) { + std::set_new_handler(&_no_storage); + // Set the path the executable was run with setExeName((const char *) argv[0]); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/Makefile /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/Makefile --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/Makefile 2006-07-16 00:15:37.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/Makefile 2006-11-17 20:46:02.000000000 +0900 @@ -38,10 +38,10 @@ pkgincludedir = $(includedir)/scorched3d top_builddir = ../.. -ACLOCAL = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run aclocal-1.6 -AUTOCONF = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run autoconf -AUTOMAKE = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run automake-1.6 -AUTOHEADER = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run autoheader +ACLOCAL = ${SHELL} /opt/export/scorched/missing --run aclocal-1.6 +AUTOCONF = ${SHELL} /opt/export/scorched/missing --run autoconf +AUTOMAKE = ${SHELL} /opt/export/scorched/missing --run automake-1.6 +AUTOHEADER = ${SHELL} /opt/export/scorched/missing --run autoheader am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = /usr/bin/install -c @@ -63,11 +63,12 @@ EXEEXT = OBJEXT = o PATH_SEPARATOR = : -AMTAR = ${SHELL} /opt/scorched3d-serversrc/scorched/missing --run tar +AMTAR = ${SHELL} /opt/export/scorched/missing --run tar AWK = gawk CC = gcc CXX = g++ DEPDIR = .deps +FREEALUT_CONFIG = no FT2_CFLAGS = -I/usr/include/freetype2 FT2_CONFIG = /usr/bin/freetype-config FT2_LIBS = -lfreetype @@ -97,8 +98,8 @@ WX_VERSION = 2.4.1 am__include = include am__quote = -docdir = ${datadir} -install_sh = /opt/scorched3d-serversrc/scorched/install-sh +docdir = ${datadir}/documentation +install_sh = /opt/export/scorched/install-sh bin_PROGRAMS = scorched3d @@ -153,6 +154,9 @@ ../GLEXT/GLMenuEntry.h \ ../GLEXT/GLMenuI.cpp \ ../GLEXT/GLMenuI.h \ + ../GLEXT/GLMissingExt.h \ + ../GLEXT/GLShadowFrameBuffer.cpp \ + ../GLEXT/GLShadowFrameBuffer.h \ ../GLEXT/GLState.cpp \ ../GLEXT/GLState.h \ ../GLEXT/GLStateExtension.cpp \ @@ -289,6 +293,10 @@ ../tankgraph/TargetRendererImplTank.h \ ../tankgraph/TargetRendererImplTarget.cpp \ ../tankgraph/TargetRendererImplTarget.h \ + ../tankgraph/TargetRendererImplTargetModel.cpp \ + ../tankgraph/TargetRendererImplTargetModel.h \ + ../tankgraph/TargetRendererImplTargetTree.cpp \ + ../tankgraph/TargetRendererImplTargetTree.h \ ../common/ARGParser.cpp \ ../common/ARGParser.h \ ../common/Clock.cpp \ @@ -336,6 +344,8 @@ ../common/OptionsDisplay.h \ ../common/OptionsGame.cpp \ ../common/OptionsGame.h \ + ../common/OptionsMasterListServer.cpp \ + ../common/OptionsMasterListServer.h \ ../common/OptionsParam.cpp \ ../common/OptionsParam.h \ ../common/OptionsTransient.cpp \ @@ -358,6 +368,8 @@ ../common/Triangle.h \ ../common/Vector.cpp \ ../common/Vector.h \ + ../common/Vector4.cpp \ + ../common/Vector4.h \ ../common/VectorLib.cpp \ ../common/VectorLib.h \ ../common/snprintf.c \ @@ -454,6 +466,8 @@ ../engine/ActionMeta.h \ ../engine/EventContainer.cpp \ ../engine/EventContainer.h \ + ../engine/FrameLimiter.cpp \ + ../engine/FrameLimiter.h \ ../engine/FrameTimer.cpp \ ../engine/FrameTimer.h \ ../engine/GameState.cpp \ @@ -542,8 +556,14 @@ ../landscape/LandscapeObjectsSetEntry.h \ ../landscape/LandscapePoints.cpp \ ../landscape/LandscapePoints.h \ + ../landscape/LandscapeShadowCamera.cpp \ + ../landscape/LandscapeShadowCamera.h \ + ../landscape/LandscapeShadowHandler.cpp \ + ../landscape/LandscapeShadowHandler.h \ ../landscape/LandscapeSoundManager.cpp \ ../landscape/LandscapeSoundManager.h \ + ../landscape/LandscapeStateHandler.cpp \ + ../landscape/LandscapeStateHandler.h \ ../landscape/MapPoints.cpp \ ../landscape/MapPoints.h \ ../landscape/MovementMap.cpp \ @@ -618,16 +638,20 @@ ../weapons/EconomyNone.h \ ../weapons/EconomyStore.cpp \ ../weapons/EconomyStore.h \ - ../weapons/Fuel.cpp \ - ../weapons/Fuel.h \ ../weapons/Parachute.cpp \ ../weapons/Parachute.h \ ../weapons/Shield.cpp \ ../weapons/Shield.h \ - ../weapons/ShieldMag.cpp \ - ../weapons/ShieldMag.h \ - ../weapons/ShieldReflective.cpp \ - ../weapons/ShieldReflective.h \ + ../weapons/ShieldRound.cpp \ + ../weapons/ShieldRound.h \ + ../weapons/ShieldRoundMag.cpp \ + ../weapons/ShieldRoundMag.h \ + ../weapons/ShieldRoundReflective.cpp \ + ../weapons/ShieldRoundReflective.h \ + ../weapons/ShieldSquare.cpp \ + ../weapons/ShieldSquare.h \ + ../weapons/ShieldSquareReflective.cpp \ + ../weapons/ShieldSquareReflective.h \ ../weapons/Weapon.cpp \ ../weapons/Weapon.h \ ../weapons/WeaponAddTarget.cpp \ @@ -668,6 +692,8 @@ ../weapons/WeaponLightning.h \ ../weapons/WeaponMirv.cpp \ ../weapons/WeaponMirv.h \ + ../weapons/WeaponMoveTank.cpp \ + ../weapons/WeaponMoveTank.h \ ../weapons/WeaponMulti.cpp \ ../weapons/WeaponMulti.h \ ../weapons/WeaponMuzzle.cpp \ @@ -692,14 +718,24 @@ ../weapons/WeaponScatterDirection.h \ ../weapons/WeaponScatterPosition.cpp \ ../weapons/WeaponScatterPosition.h \ + ../weapons/WeaponSelectPosition.cpp \ + ../weapons/WeaponSelectPosition.h \ ../weapons/WeaponSkyFlash.cpp \ ../weapons/WeaponSkyFlash.h \ ../weapons/WeaponSound.cpp \ ../weapons/WeaponSound.h \ + ../weapons/WeaponTankPosition.cpp \ + ../weapons/WeaponTankPosition.h \ + ../weapons/WeaponTankVelocity.cpp \ + ../weapons/WeaponTankVelocity.h \ + ../weapons/WeaponTeamAction.cpp \ + ../weapons/WeaponTeamAction.h \ ../weapons/WeaponTeleport.cpp \ ../weapons/WeaponTeleport.h \ ../weapons/WeaponTranslate.cpp \ ../weapons/WeaponTranslate.h \ + ../weapons/WeaponTypeAction.cpp \ + ../weapons/WeaponTypeAction.h \ ../weapons/WeaponVelocity.cpp \ ../weapons/WeaponVelocity.h \ ../ode/array.cpp \ @@ -707,6 +743,7 @@ ../ode/collision.h \ ../ode/collision_kernel.cpp \ ../ode/collision_kernel.h \ + ../ode/collision_quadtreespace.cpp \ ../ode/collision_space.cpp \ ../ode/collision_space.h \ ../ode/collision_space_internal.h \ @@ -921,6 +958,8 @@ ../client/ClientKeepAliveSender.h \ ../client/ClientLastChanceHandler.cpp \ ../client/ClientLastChanceHandler.h \ + ../client/ClientLinesHandler.cpp \ + ../client/ClientLinesHandler.h \ ../client/ClientLoadPlayersState.cpp \ ../client/ClientLoadPlayersState.h \ ../client/ClientMain.cpp \ @@ -1021,6 +1060,8 @@ ../server/ServerInitializeHandler.h \ ../server/ServerKeepAliveHandler.cpp \ ../server/ServerKeepAliveHandler.h \ + ../server/ServerLinesHandler.cpp \ + ../server/ServerLinesHandler.h \ ../server/ServerLog.cpp \ ../server/ServerLog.h \ ../server/ServerMain.cpp \ @@ -1108,22 +1149,16 @@ ../tank/TankDeadContainer.h \ ../tank/TankDefinition.cpp \ ../tank/TankDefinition.h \ - ../tank/TankFuel.cpp \ - ../tank/TankFuel.h \ ../tank/TankLib.cpp \ ../tank/TankLib.h \ ../tank/TankMod.cpp \ ../tank/TankMod.h \ ../tank/TankModelContainer.cpp \ ../tank/TankModelContainer.h \ - ../tank/TankParachutes.cpp \ - ../tank/TankParachutes.h \ ../tank/TankPosition.cpp \ ../tank/TankPosition.h \ ../tank/TankScore.cpp \ ../tank/TankScore.h \ - ../tank/TankShields.cpp \ - ../tank/TankShields.h \ ../tank/TankSort.cpp \ ../tank/TankSort.h \ ../tank/TankState.cpp \ @@ -1216,6 +1251,8 @@ ../target/TargetDamageCalc.h \ ../target/TargetDefinition.cpp \ ../target/TargetDefinition.h \ + ../target/TargetGroupEntry.cpp \ + ../target/TargetGroupEntry.h \ ../target/TargetLife.cpp \ ../target/TargetLife.h \ ../target/TargetParachute.cpp \ @@ -1234,6 +1271,8 @@ ../placement/PlacementObjectGroup.h \ ../placement/PlacementObjectModel.cpp \ ../placement/PlacementObjectModel.h \ + ../placement/PlacementObjectNone.cpp \ + ../placement/PlacementObjectNone.h \ ../placement/PlacementObjectRandom.cpp \ ../placement/PlacementObjectRandom.h \ ../placement/PlacementObjectShadow.cpp \ @@ -1313,6 +1352,8 @@ ../coms/ComsLastChanceMessage.h \ ../coms/ComsLevelMessage.cpp \ ../coms/ComsLevelMessage.h \ + ../coms/ComsLinesMessage.cpp \ + ../coms/ComsLinesMessage.h \ ../coms/ComsMessage.cpp \ ../coms/ComsMessage.h \ ../coms/ComsMessageHandler.cpp \ @@ -1381,7 +1422,8 @@ GLDynamicVertexArray.$(OBJEXT) GLFont2d.$(OBJEXT) \ GLGif.$(OBJEXT) GLImage.$(OBJEXT) GLInfo.$(OBJEXT) \ GLLenseFlare.$(OBJEXT) GLLuminance.$(OBJEXT) GLMenu.$(OBJEXT) \ - GLMenuEntry.$(OBJEXT) GLMenuI.$(OBJEXT) GLState.$(OBJEXT) \ + GLMenuEntry.$(OBJEXT) GLMenuI.$(OBJEXT) \ + GLShadowFrameBuffer.$(OBJEXT) GLState.$(OBJEXT) \ GLStateExtension.$(OBJEXT) GLTexture.$(OBJEXT) \ GLTextureBase.$(OBJEXT) GLTextureCubeMap.$(OBJEXT) \ GLTextureSet.$(OBJEXT) GLVertexArray.$(OBJEXT) \ @@ -1412,7 +1454,9 @@ TankMenus.$(OBJEXT) TankMesh.$(OBJEXT) TankModel.$(OBJEXT) \ TankModelStore.$(OBJEXT) TargetParticleRenderer.$(OBJEXT) \ TargetRendererImpl.$(OBJEXT) TargetRendererImplTank.$(OBJEXT) \ - TargetRendererImplTarget.$(OBJEXT) ARGParser.$(OBJEXT) \ + TargetRendererImplTarget.$(OBJEXT) \ + TargetRendererImplTargetModel.$(OBJEXT) \ + TargetRendererImplTargetTree.$(OBJEXT) ARGParser.$(OBJEXT) \ Clock.$(OBJEXT) Defines.$(OBJEXT) DefinesAssert.$(OBJEXT) \ DefinesFile.$(OBJEXT) DefinesMath.$(OBJEXT) \ DefinesScorched.$(OBJEXT) DefinesString.$(OBJEXT) \ @@ -1421,11 +1465,12 @@ KeyboardKey.$(OBJEXT) Line.$(OBJEXT) Logger.$(OBJEXT) \ LoggerI.$(OBJEXT) Mouse.$(OBJEXT) OptionEntry.$(OBJEXT) \ OptionsDisplay.$(OBJEXT) OptionsGame.$(OBJEXT) \ - OptionsParam.$(OBJEXT) OptionsTransient.$(OBJEXT) \ - ProgressCounter.$(OBJEXT) RandomGenerator.$(OBJEXT) \ - SplineCurve.$(OBJEXT) SplinePath.$(OBJEXT) \ - StatsLogger.$(OBJEXT) StatsLoggerFile.$(OBJEXT) \ - StatsLoggerMySQL.$(OBJEXT) Triangle.$(OBJEXT) Vector.$(OBJEXT) \ + OptionsMasterListServer.$(OBJEXT) OptionsParam.$(OBJEXT) \ + OptionsTransient.$(OBJEXT) ProgressCounter.$(OBJEXT) \ + RandomGenerator.$(OBJEXT) SplineCurve.$(OBJEXT) \ + SplinePath.$(OBJEXT) StatsLogger.$(OBJEXT) \ + StatsLoggerFile.$(OBJEXT) StatsLoggerMySQL.$(OBJEXT) \ + Triangle.$(OBJEXT) Vector.$(OBJEXT) Vector4.$(OBJEXT) \ VectorLib.$(OBJEXT) snprintf.$(OBJEXT) \ ASEModelFactory.$(OBJEXT) Bone.$(OBJEXT) Face.$(OBJEXT) \ ImageID.$(OBJEXT) ImageStore.$(OBJEXT) MSModelFactory.$(OBJEXT) \ @@ -1447,8 +1492,8 @@ TalkSettingsDialog.$(OBJEXT) TutorialDialog.$(OBJEXT) \ Action.$(OBJEXT) ActionBuffer.$(OBJEXT) \ ActionController.$(OBJEXT) ActionMeta.$(OBJEXT) \ - EventContainer.$(OBJEXT) FrameTimer.$(OBJEXT) \ - GameState.$(OBJEXT) GameStateI.$(OBJEXT) \ + EventContainer.$(OBJEXT) FrameLimiter.$(OBJEXT) \ + FrameTimer.$(OBJEXT) GameState.$(OBJEXT) GameStateI.$(OBJEXT) \ GameStateStimulusI.$(OBJEXT) MainLoop.$(OBJEXT) \ MainLoopI.$(OBJEXT) MetaClass.$(OBJEXT) ModDirs.$(OBJEXT) \ ModFileEntry.$(OBJEXT) ModFiles.$(OBJEXT) ModInfo.$(OBJEXT) \ @@ -1471,23 +1516,27 @@ LandscapeObjectsEntryTree.$(OBJEXT) \ LandscapeObjectsGroupEntry.$(OBJEXT) \ LandscapeObjectsSetEntry.$(OBJEXT) LandscapePoints.$(OBJEXT) \ - LandscapeSoundManager.$(OBJEXT) MapPoints.$(OBJEXT) \ - MovementMap.$(OBJEXT) NapalmMap.$(OBJEXT) Patch.$(OBJEXT) \ - PatchGrid.$(OBJEXT) PatchSide.$(OBJEXT) PatchTexCoord.$(OBJEXT) \ - RoofMaps.$(OBJEXT) ShadowMap.$(OBJEXT) Sky.$(OBJEXT) \ - SkyDome.$(OBJEXT) SkyRoof.$(OBJEXT) SkyRoofCollision.$(OBJEXT) \ - Smoke.$(OBJEXT) Sun.$(OBJEXT) Surround.$(OBJEXT) \ - SurroundDefault.$(OBJEXT) SurroundLandscape.$(OBJEXT) \ - TriNode.$(OBJEXT) TriNodePool.$(OBJEXT) Variance.$(OBJEXT) \ - Wall.$(OBJEXT) Water.$(OBJEXT) WaterMap.$(OBJEXT) \ - WaterMapModifier.$(OBJEXT) WaterMapPoints.$(OBJEXT) \ - WaterMapSurround.$(OBJEXT) WaterWaves.$(OBJEXT) \ - Accessory.$(OBJEXT) AccessoryPart.$(OBJEXT) \ - AccessoryStore.$(OBJEXT) AutoDefense.$(OBJEXT) \ - Battery.$(OBJEXT) Economy.$(OBJEXT) EconomyFreeMarket.$(OBJEXT) \ - EconomyNone.$(OBJEXT) EconomyStore.$(OBJEXT) Fuel.$(OBJEXT) \ - Parachute.$(OBJEXT) Shield.$(OBJEXT) ShieldMag.$(OBJEXT) \ - ShieldReflective.$(OBJEXT) Weapon.$(OBJEXT) \ + LandscapeShadowCamera.$(OBJEXT) \ + LandscapeShadowHandler.$(OBJEXT) \ + LandscapeSoundManager.$(OBJEXT) LandscapeStateHandler.$(OBJEXT) \ + MapPoints.$(OBJEXT) MovementMap.$(OBJEXT) NapalmMap.$(OBJEXT) \ + Patch.$(OBJEXT) PatchGrid.$(OBJEXT) PatchSide.$(OBJEXT) \ + PatchTexCoord.$(OBJEXT) RoofMaps.$(OBJEXT) ShadowMap.$(OBJEXT) \ + Sky.$(OBJEXT) SkyDome.$(OBJEXT) SkyRoof.$(OBJEXT) \ + SkyRoofCollision.$(OBJEXT) Smoke.$(OBJEXT) Sun.$(OBJEXT) \ + Surround.$(OBJEXT) SurroundDefault.$(OBJEXT) \ + SurroundLandscape.$(OBJEXT) TriNode.$(OBJEXT) \ + TriNodePool.$(OBJEXT) Variance.$(OBJEXT) Wall.$(OBJEXT) \ + Water.$(OBJEXT) WaterMap.$(OBJEXT) WaterMapModifier.$(OBJEXT) \ + WaterMapPoints.$(OBJEXT) WaterMapSurround.$(OBJEXT) \ + WaterWaves.$(OBJEXT) Accessory.$(OBJEXT) \ + AccessoryPart.$(OBJEXT) AccessoryStore.$(OBJEXT) \ + AutoDefense.$(OBJEXT) Battery.$(OBJEXT) Economy.$(OBJEXT) \ + EconomyFreeMarket.$(OBJEXT) EconomyNone.$(OBJEXT) \ + EconomyStore.$(OBJEXT) Parachute.$(OBJEXT) Shield.$(OBJEXT) \ + ShieldRound.$(OBJEXT) ShieldRoundMag.$(OBJEXT) \ + ShieldRoundReflective.$(OBJEXT) ShieldSquare.$(OBJEXT) \ + ShieldSquareReflective.$(OBJEXT) Weapon.$(OBJEXT) \ WeaponAddTarget.$(OBJEXT) WeaponAimedOver.$(OBJEXT) \ WeaponAimedUnder.$(OBJEXT) WeaponAnimation.$(OBJEXT) \ WeaponCenterPosition.$(OBJEXT) WeaponDelay.$(OBJEXT) \ @@ -1497,16 +1546,20 @@ WeaponGiveScore.$(OBJEXT) WeaponGiveWin.$(OBJEXT) \ WeaponInvokeWeapon.$(OBJEXT) WeaponLaser.$(OBJEXT) \ WeaponLeapFrog.$(OBJEXT) WeaponLightning.$(OBJEXT) \ - WeaponMirv.$(OBJEXT) WeaponMulti.$(OBJEXT) \ - WeaponMuzzle.$(OBJEXT) WeaponNapalm.$(OBJEXT) \ - WeaponNull.$(OBJEXT) WeaponProjectile.$(OBJEXT) \ - WeaponRandomChoice.$(OBJEXT) WeaponRedirect.$(OBJEXT) \ - WeaponReference.$(OBJEXT) WeaponRepeat.$(OBJEXT) \ - WeaponRoller.$(OBJEXT) WeaponScatterDirection.$(OBJEXT) \ - WeaponScatterPosition.$(OBJEXT) WeaponSkyFlash.$(OBJEXT) \ - WeaponSound.$(OBJEXT) WeaponTeleport.$(OBJEXT) \ - WeaponTranslate.$(OBJEXT) WeaponVelocity.$(OBJEXT) \ - array.$(OBJEXT) collision_kernel.$(OBJEXT) \ + WeaponMirv.$(OBJEXT) WeaponMoveTank.$(OBJEXT) \ + WeaponMulti.$(OBJEXT) WeaponMuzzle.$(OBJEXT) \ + WeaponNapalm.$(OBJEXT) WeaponNull.$(OBJEXT) \ + WeaponProjectile.$(OBJEXT) WeaponRandomChoice.$(OBJEXT) \ + WeaponRedirect.$(OBJEXT) WeaponReference.$(OBJEXT) \ + WeaponRepeat.$(OBJEXT) WeaponRoller.$(OBJEXT) \ + WeaponScatterDirection.$(OBJEXT) \ + WeaponScatterPosition.$(OBJEXT) WeaponSelectPosition.$(OBJEXT) \ + WeaponSkyFlash.$(OBJEXT) WeaponSound.$(OBJEXT) \ + WeaponTankPosition.$(OBJEXT) WeaponTankVelocity.$(OBJEXT) \ + WeaponTeamAction.$(OBJEXT) WeaponTeleport.$(OBJEXT) \ + WeaponTranslate.$(OBJEXT) WeaponTypeAction.$(OBJEXT) \ + WeaponVelocity.$(OBJEXT) array.$(OBJEXT) \ + collision_kernel.$(OBJEXT) collision_quadtreespace.$(OBJEXT) \ collision_space.$(OBJEXT) collision_std.$(OBJEXT) \ collision_transform.$(OBJEXT) collision_util.$(OBJEXT) \ error.$(OBJEXT) export-dif.$(OBJEXT) fastdot.$(OBJEXT) \ @@ -1554,7 +1607,7 @@ ClientGameStoppedHandler.$(OBJEXT) \ ClientInitializeHandler.$(OBJEXT) \ ClientKeepAliveSender.$(OBJEXT) \ - ClientLastChanceHandler.$(OBJEXT) \ + ClientLastChanceHandler.$(OBJEXT) ClientLinesHandler.$(OBJEXT) \ ClientLoadPlayersState.$(OBJEXT) ClientMain.$(OBJEXT) \ ClientMessageHandler.$(OBJEXT) ClientNewGameHandler.$(OBJEXT) \ ClientPlayerAimHandler.$(OBJEXT) \ @@ -1583,11 +1636,11 @@ ServerDefenseHandler.$(OBJEXT) ServerFileAkHandler.$(OBJEXT) \ ServerFileServer.$(OBJEXT) ServerHaveModFilesHandler.$(OBJEXT) \ ServerInitializeHandler.$(OBJEXT) \ - ServerKeepAliveHandler.$(OBJEXT) ServerLog.$(OBJEXT) \ - ServerMain.$(OBJEXT) ServerMessageHandler.$(OBJEXT) \ - ServerNewGameState.$(OBJEXT) ServerNextRoundState.$(OBJEXT) \ - ServerNextShotState.$(OBJEXT) ServerNextTurnState.$(OBJEXT) \ - ServerPlayedMoveHandler.$(OBJEXT) \ + ServerKeepAliveHandler.$(OBJEXT) ServerLinesHandler.$(OBJEXT) \ + ServerLog.$(OBJEXT) ServerMain.$(OBJEXT) \ + ServerMessageHandler.$(OBJEXT) ServerNewGameState.$(OBJEXT) \ + ServerNextRoundState.$(OBJEXT) ServerNextShotState.$(OBJEXT) \ + ServerNextTurnState.$(OBJEXT) ServerPlayedMoveHandler.$(OBJEXT) \ ServerPlayerAimHandler.$(OBJEXT) \ ServerPlayerReadyHandler.$(OBJEXT) ServerPlayingState.$(OBJEXT) \ ServerReadyState.$(OBJEXT) ServerRegistration.$(OBJEXT) \ @@ -1606,36 +1659,35 @@ TankAutoDefense.$(OBJEXT) TankAvatar.$(OBJEXT) \ TankBatteries.$(OBJEXT) TankColorGenerator.$(OBJEXT) \ TankContainer.$(OBJEXT) TankDeadContainer.$(OBJEXT) \ - TankDefinition.$(OBJEXT) TankFuel.$(OBJEXT) TankLib.$(OBJEXT) \ - TankMod.$(OBJEXT) TankModelContainer.$(OBJEXT) \ - TankParachutes.$(OBJEXT) TankPosition.$(OBJEXT) \ - TankScore.$(OBJEXT) TankShields.$(OBJEXT) TankSort.$(OBJEXT) \ - TankState.$(OBJEXT) TankTeamScore.$(OBJEXT) TankType.$(OBJEXT) \ - TankTypes.$(OBJEXT) TankWeapon.$(OBJEXT) \ - PlayingSoundSource.$(OBJEXT) Sound.$(OBJEXT) \ - SoundBuffer.$(OBJEXT) SoundBufferDynamicOV.$(OBJEXT) \ - SoundBufferEmpty.$(OBJEXT) SoundBufferFactory.$(OBJEXT) \ - SoundBufferStaticWav.$(OBJEXT) SoundListener.$(OBJEXT) \ - SoundSource.$(OBJEXT) SoundUtils.$(OBJEXT) \ - VirtualSoundSource.$(OBJEXT) CGFog.$(OBJEXT) CGLoader.$(OBJEXT) \ - CGProgram.$(OBJEXT) TankAI.$(OBJEXT) TankAIAdder.$(OBJEXT) \ - TankAIComputer.$(OBJEXT) TankAIComputerAim.$(OBJEXT) \ - TankAIComputerBuyer.$(OBJEXT) TankAIComputerTarget.$(OBJEXT) \ - TankAIHuman.$(OBJEXT) TankAIHumanCtrl.$(OBJEXT) \ - TankAIStore.$(OBJEXT) TankAIStrings.$(OBJEXT) \ - ScorchedShips.$(OBJEXT) Ship.$(OBJEXT) ShipGroup.$(OBJEXT) \ - XMLFile.$(OBJEXT) XMLNode.$(OBJEXT) XMLParser.$(OBJEXT) \ - XMLStringBuffer.$(OBJEXT) xmlparse.$(OBJEXT) xmlrole.$(OBJEXT) \ - xmltok.$(OBJEXT) Target.$(OBJEXT) TargetContainer.$(OBJEXT) \ + TankDefinition.$(OBJEXT) TankLib.$(OBJEXT) TankMod.$(OBJEXT) \ + TankModelContainer.$(OBJEXT) TankPosition.$(OBJEXT) \ + TankScore.$(OBJEXT) TankSort.$(OBJEXT) TankState.$(OBJEXT) \ + TankTeamScore.$(OBJEXT) TankType.$(OBJEXT) TankTypes.$(OBJEXT) \ + TankWeapon.$(OBJEXT) PlayingSoundSource.$(OBJEXT) \ + Sound.$(OBJEXT) SoundBuffer.$(OBJEXT) \ + SoundBufferDynamicOV.$(OBJEXT) SoundBufferEmpty.$(OBJEXT) \ + SoundBufferFactory.$(OBJEXT) SoundBufferStaticWav.$(OBJEXT) \ + SoundListener.$(OBJEXT) SoundSource.$(OBJEXT) \ + SoundUtils.$(OBJEXT) VirtualSoundSource.$(OBJEXT) \ + CGFog.$(OBJEXT) CGLoader.$(OBJEXT) CGProgram.$(OBJEXT) \ + TankAI.$(OBJEXT) TankAIAdder.$(OBJEXT) TankAIComputer.$(OBJEXT) \ + TankAIComputerAim.$(OBJEXT) TankAIComputerBuyer.$(OBJEXT) \ + TankAIComputerTarget.$(OBJEXT) TankAIHuman.$(OBJEXT) \ + TankAIHumanCtrl.$(OBJEXT) TankAIStore.$(OBJEXT) \ + TankAIStrings.$(OBJEXT) ScorchedShips.$(OBJEXT) Ship.$(OBJEXT) \ + ShipGroup.$(OBJEXT) XMLFile.$(OBJEXT) XMLNode.$(OBJEXT) \ + XMLParser.$(OBJEXT) XMLStringBuffer.$(OBJEXT) \ + xmlparse.$(OBJEXT) xmlrole.$(OBJEXT) xmltok.$(OBJEXT) \ + Target.$(OBJEXT) TargetContainer.$(OBJEXT) \ TargetDamageCalc.$(OBJEXT) TargetDefinition.$(OBJEXT) \ - TargetLife.$(OBJEXT) TargetParachute.$(OBJEXT) \ - TargetRenderer.$(OBJEXT) TargetShield.$(OBJEXT) \ - PlacementGroupDefinition.$(OBJEXT) \ + TargetGroupEntry.$(OBJEXT) TargetLife.$(OBJEXT) \ + TargetParachute.$(OBJEXT) TargetRenderer.$(OBJEXT) \ + TargetShield.$(OBJEXT) PlacementGroupDefinition.$(OBJEXT) \ PlacementModelDefinition.$(OBJEXT) PlacementObject.$(OBJEXT) \ PlacementObjectGroup.$(OBJEXT) PlacementObjectModel.$(OBJEXT) \ - PlacementObjectRandom.$(OBJEXT) PlacementObjectShadow.$(OBJEXT) \ - PlacementObjectTank.$(OBJEXT) PlacementObjectTarget.$(OBJEXT) \ - PlacementObjectTree.$(OBJEXT) \ + PlacementObjectNone.$(OBJEXT) PlacementObjectRandom.$(OBJEXT) \ + PlacementObjectShadow.$(OBJEXT) PlacementObjectTank.$(OBJEXT) \ + PlacementObjectTarget.$(OBJEXT) PlacementObjectTree.$(OBJEXT) \ PlacementShadowDefinition.$(OBJEXT) PlacementType.$(OBJEXT) \ PlacementTypeDirect.$(OBJEXT) PlacementTypeMask.$(OBJEXT) \ PlacementTypeTankStart.$(OBJEXT) PlacementTypeTree.$(OBJEXT) \ @@ -1654,10 +1706,11 @@ ComsHaveModFilesMessage.$(OBJEXT) \ ComsHeightMapMessage.$(OBJEXT) ComsInitializeMessage.$(OBJEXT) \ ComsKeepAliveMessage.$(OBJEXT) ComsLastChanceMessage.$(OBJEXT) \ - ComsLevelMessage.$(OBJEXT) ComsMessage.$(OBJEXT) \ - ComsMessageHandler.$(OBJEXT) ComsMessageSender.$(OBJEXT) \ - ComsNewGameMessage.$(OBJEXT) ComsPlayedMoveMessage.$(OBJEXT) \ - ComsPlayerAimMessage.$(OBJEXT) ComsPlayerReadyMessage.$(OBJEXT) \ + ComsLevelMessage.$(OBJEXT) ComsLinesMessage.$(OBJEXT) \ + ComsMessage.$(OBJEXT) ComsMessageHandler.$(OBJEXT) \ + ComsMessageSender.$(OBJEXT) ComsNewGameMessage.$(OBJEXT) \ + ComsPlayedMoveMessage.$(OBJEXT) ComsPlayerAimMessage.$(OBJEXT) \ + ComsPlayerReadyMessage.$(OBJEXT) \ ComsPlayerStateMessage.$(OBJEXT) \ ComsPlayerStatusMessage.$(OBJEXT) ComsRmPlayerMessage.$(OBJEXT) \ ComsScoreMessage.$(OBJEXT) ComsStartGameMessage.$(OBJEXT) \ @@ -1672,7 +1725,7 @@ scorched3d_DEPENDENCIES = scorched3d_LDFLAGS = -DEFS = -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"scorched3d\" -DVERSION=\"40\" -DHAVE_OGG=1 -DHAVE_VSNPRINTF=1 -DHAVE_SNPRINTF=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 +DEFS = -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"scorched3d\" -DVERSION=\"40\" -DHAVE_OGG=1 -DHAVE_VSNPRINTF=1 -DHAVE_SNPRINTF=1 -DHAVE_VASPRINTF=1 -DHAVE_ASPRINTF=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 DEFAULT_INCLUDES = -I. -I$(srcdir) CPPFLAGS = -I/usr/X11R6/include -I/usr/X11R6 -I/usr/local/include -I/usr/local/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES LDFLAGS = -L/usr/X11R6/lib -L/usr/X11R6 -L/usr/local/lib @@ -1711,6 +1764,7 @@ ./$(DEPDIR)/ClientInitializeHandler.Po \ ./$(DEPDIR)/ClientKeepAliveSender.Po \ ./$(DEPDIR)/ClientLastChanceHandler.Po \ + ./$(DEPDIR)/ClientLinesHandler.Po \ ./$(DEPDIR)/ClientLoadPlayersState.Po \ ./$(DEPDIR)/ClientMain.Po \ ./$(DEPDIR)/ClientMessageHandler.Po \ @@ -1745,6 +1799,7 @@ ./$(DEPDIR)/ComsKeepAliveMessage.Po \ ./$(DEPDIR)/ComsLastChanceMessage.Po \ ./$(DEPDIR)/ComsLevelMessage.Po \ + ./$(DEPDIR)/ComsLinesMessage.Po \ ./$(DEPDIR)/ComsMessage.Po \ ./$(DEPDIR)/ComsMessageHandler.Po \ ./$(DEPDIR)/ComsMessageSender.Po \ @@ -1782,8 +1837,8 @@ ./$(DEPDIR)/ExplosionTextures.Po \ ./$(DEPDIR)/Face.Po ./$(DEPDIR)/FileLines.Po \ ./$(DEPDIR)/FileList.Po ./$(DEPDIR)/FileLogger.Po \ - ./$(DEPDIR)/FrameTimer.Po ./$(DEPDIR)/Fuel.Po \ - ./$(DEPDIR)/GLBitmap.Po \ + ./$(DEPDIR)/FrameLimiter.Po \ + ./$(DEPDIR)/FrameTimer.Po ./$(DEPDIR)/GLBitmap.Po \ ./$(DEPDIR)/GLBitmapItterator.Po \ ./$(DEPDIR)/GLBitmapModifier.Po \ ./$(DEPDIR)/GLCamera.Po \ @@ -1804,7 +1859,9 @@ ./$(DEPDIR)/GLLenseFlare.Po \ ./$(DEPDIR)/GLLuminance.Po ./$(DEPDIR)/GLMenu.Po \ ./$(DEPDIR)/GLMenuEntry.Po ./$(DEPDIR)/GLMenuI.Po \ - ./$(DEPDIR)/GLSetup.Po ./$(DEPDIR)/GLState.Po \ + ./$(DEPDIR)/GLSetup.Po \ + ./$(DEPDIR)/GLShadowFrameBuffer.Po \ + ./$(DEPDIR)/GLState.Po \ ./$(DEPDIR)/GLStateExtension.Po \ ./$(DEPDIR)/GLTexture.Po \ ./$(DEPDIR)/GLTextureBase.Po \ @@ -1883,9 +1940,12 @@ ./$(DEPDIR)/LandscapeObjectsSetEntry.Po \ ./$(DEPDIR)/LandscapePlace.Po \ ./$(DEPDIR)/LandscapePoints.Po \ + ./$(DEPDIR)/LandscapeShadowCamera.Po \ + ./$(DEPDIR)/LandscapeShadowHandler.Po \ ./$(DEPDIR)/LandscapeShips.Po \ ./$(DEPDIR)/LandscapeSound.Po \ ./$(DEPDIR)/LandscapeSoundManager.Po \ + ./$(DEPDIR)/LandscapeStateHandler.Po \ ./$(DEPDIR)/LandscapeTex.Po \ ./$(DEPDIR)/LandscapeTexDefn.Po \ ./$(DEPDIR)/Laser.Po ./$(DEPDIR)/Lightning.Po \ @@ -1929,6 +1989,7 @@ ./$(DEPDIR)/OptionEntrySetter.Po \ ./$(DEPDIR)/OptionsDisplay.Po \ ./$(DEPDIR)/OptionsGame.Po \ + ./$(DEPDIR)/OptionsMasterListServer.Po \ ./$(DEPDIR)/OptionsParam.Po \ ./$(DEPDIR)/OptionsTransient.Po \ ./$(DEPDIR)/Parachute.Po ./$(DEPDIR)/Particle.Po \ @@ -1946,6 +2007,7 @@ ./$(DEPDIR)/PlacementObject.Po \ ./$(DEPDIR)/PlacementObjectGroup.Po \ ./$(DEPDIR)/PlacementObjectModel.Po \ + ./$(DEPDIR)/PlacementObjectNone.Po \ ./$(DEPDIR)/PlacementObjectRandom.Po \ ./$(DEPDIR)/PlacementObjectShadow.Po \ ./$(DEPDIR)/PlacementObjectTank.Po \ @@ -2004,6 +2066,7 @@ ./$(DEPDIR)/ServerHaveModFilesHandler.Po \ ./$(DEPDIR)/ServerInitializeHandler.Po \ ./$(DEPDIR)/ServerKeepAliveHandler.Po \ + ./$(DEPDIR)/ServerLinesHandler.Po \ ./$(DEPDIR)/ServerLog.Po ./$(DEPDIR)/ServerMain.Po \ ./$(DEPDIR)/ServerMessageHandler.Po \ ./$(DEPDIR)/ServerNewGameState.Po \ @@ -2032,9 +2095,13 @@ ./$(DEPDIR)/ServerWebServer.Po \ ./$(DEPDIR)/SettingsDialog.Po \ ./$(DEPDIR)/ShadowMap.Po ./$(DEPDIR)/Shield.Po \ - ./$(DEPDIR)/ShieldHit.Po ./$(DEPDIR)/ShieldMag.Po \ - ./$(DEPDIR)/ShieldReflective.Po ./$(DEPDIR)/Ship.Po \ - ./$(DEPDIR)/ShipGroup.Po ./$(DEPDIR)/ShotBounce.Po \ + ./$(DEPDIR)/ShieldHit.Po ./$(DEPDIR)/ShieldRound.Po \ + ./$(DEPDIR)/ShieldRoundMag.Po \ + ./$(DEPDIR)/ShieldRoundReflective.Po \ + ./$(DEPDIR)/ShieldSquare.Po \ + ./$(DEPDIR)/ShieldSquareReflective.Po \ + ./$(DEPDIR)/Ship.Po ./$(DEPDIR)/ShipGroup.Po \ + ./$(DEPDIR)/ShotBounce.Po \ ./$(DEPDIR)/ShotCountDown.Po \ ./$(DEPDIR)/ShotProjectile.Po \ ./$(DEPDIR)/SingleChoiceDialog.Po \ @@ -2092,19 +2159,17 @@ ./$(DEPDIR)/TankDefinition.Po \ ./$(DEPDIR)/TankFalling.Po \ ./$(DEPDIR)/TankFallingEnd.Po \ - ./$(DEPDIR)/TankFired.Po ./$(DEPDIR)/TankFuel.Po \ - ./$(DEPDIR)/TankLib.Po ./$(DEPDIR)/TankMenus.Po \ - ./$(DEPDIR)/TankMesh.Po ./$(DEPDIR)/TankMod.Po \ - ./$(DEPDIR)/TankModel.Po \ + ./$(DEPDIR)/TankFired.Po ./$(DEPDIR)/TankLib.Po \ + ./$(DEPDIR)/TankMenus.Po ./$(DEPDIR)/TankMesh.Po \ + ./$(DEPDIR)/TankMod.Po ./$(DEPDIR)/TankModel.Po \ ./$(DEPDIR)/TankModelContainer.Po \ ./$(DEPDIR)/TankModelStore.Po \ ./$(DEPDIR)/TankMovement.Po \ ./$(DEPDIR)/TankMovementEnd.Po \ - ./$(DEPDIR)/TankParachutes.Po \ ./$(DEPDIR)/TankPosition.Po \ ./$(DEPDIR)/TankResign.Po ./$(DEPDIR)/TankSay.Po \ - ./$(DEPDIR)/TankScore.Po ./$(DEPDIR)/TankShields.Po \ - ./$(DEPDIR)/TankSort.Po ./$(DEPDIR)/TankState.Po \ + ./$(DEPDIR)/TankScore.Po ./$(DEPDIR)/TankSort.Po \ + ./$(DEPDIR)/TankState.Po \ ./$(DEPDIR)/TankTeamScore.Po \ ./$(DEPDIR)/TankType.Po ./$(DEPDIR)/TankTypes.Po \ ./$(DEPDIR)/TankWeapon.Po ./$(DEPDIR)/Target.Po \ @@ -2112,6 +2177,7 @@ ./$(DEPDIR)/TargetContainer.Po \ ./$(DEPDIR)/TargetDamageCalc.Po \ ./$(DEPDIR)/TargetDefinition.Po \ + ./$(DEPDIR)/TargetGroupEntry.Po \ ./$(DEPDIR)/TargetLife.Po \ ./$(DEPDIR)/TargetParachute.Po \ ./$(DEPDIR)/TargetParticleRenderer.Po \ @@ -2119,6 +2185,8 @@ ./$(DEPDIR)/TargetRendererImpl.Po \ ./$(DEPDIR)/TargetRendererImplTank.Po \ ./$(DEPDIR)/TargetRendererImplTarget.Po \ + ./$(DEPDIR)/TargetRendererImplTargetModel.Po \ + ./$(DEPDIR)/TargetRendererImplTargetTree.Po \ ./$(DEPDIR)/TargetShield.Po ./$(DEPDIR)/Teleport.Po \ ./$(DEPDIR)/TextActionRenderer.Po \ ./$(DEPDIR)/TriNode.Po ./$(DEPDIR)/TriNodePool.Po \ @@ -2128,8 +2196,8 @@ ./$(DEPDIR)/TutorialFile.Po \ ./$(DEPDIR)/UniqueIdStore.Po \ ./$(DEPDIR)/Variance.Po ./$(DEPDIR)/Vector.Po \ - ./$(DEPDIR)/VectorLib.Po ./$(DEPDIR)/Vertex.Po \ - ./$(DEPDIR)/ViewPoints.Po \ + ./$(DEPDIR)/Vector4.Po ./$(DEPDIR)/VectorLib.Po \ + ./$(DEPDIR)/Vertex.Po ./$(DEPDIR)/ViewPoints.Po \ ./$(DEPDIR)/VirtualSoundSource.Po \ ./$(DEPDIR)/Wall.Po \ ./$(DEPDIR)/WallActionRenderer.Po \ @@ -2158,6 +2226,7 @@ ./$(DEPDIR)/WeaponLeapFrog.Po \ ./$(DEPDIR)/WeaponLightning.Po \ ./$(DEPDIR)/WeaponMirv.Po \ + ./$(DEPDIR)/WeaponMoveTank.Po \ ./$(DEPDIR)/WeaponMulti.Po \ ./$(DEPDIR)/WeaponMuzzle.Po \ ./$(DEPDIR)/WeaponNapalm.Po \ @@ -2170,10 +2239,15 @@ ./$(DEPDIR)/WeaponRoller.Po \ ./$(DEPDIR)/WeaponScatterDirection.Po \ ./$(DEPDIR)/WeaponScatterPosition.Po \ + ./$(DEPDIR)/WeaponSelectPosition.Po \ ./$(DEPDIR)/WeaponSkyFlash.Po \ ./$(DEPDIR)/WeaponSound.Po \ + ./$(DEPDIR)/WeaponTankPosition.Po \ + ./$(DEPDIR)/WeaponTankVelocity.Po \ + ./$(DEPDIR)/WeaponTeamAction.Po \ ./$(DEPDIR)/WeaponTeleport.Po \ ./$(DEPDIR)/WeaponTranslate.Po \ + ./$(DEPDIR)/WeaponTypeAction.Po \ ./$(DEPDIR)/WeaponVelocity.Po \ ./$(DEPDIR)/WindowSetup.Po ./$(DEPDIR)/XMLFile.Po \ ./$(DEPDIR)/XMLNode.Po ./$(DEPDIR)/XMLParser.Po \ @@ -2182,6 +2256,7 @@ ./$(DEPDIR)/aseFile.lex.Po \ ./$(DEPDIR)/aseFile.tab.Po \ ./$(DEPDIR)/collision_kernel.Po \ + ./$(DEPDIR)/collision_quadtreespace.Po \ ./$(DEPDIR)/collision_space.Po \ ./$(DEPDIR)/collision_std.Po \ ./$(DEPDIR)/collision_transform.Po \ @@ -2211,13 +2286,13 @@ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -CFLAGS = -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -DS3D_DOCDIR=\"${datadir}\" -DS3D_DATADIR=\"${prefix}/share\" -DS3D_BINDIR=\"${exec_prefix}/bin\" -DdDOUBLE +CFLAGS = -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -DS3D_DOCDIR=\"${datadir}/documentation\" -DS3D_DATADIR=\"${prefix}/share\" -DS3D_BINDIR=\"${exec_prefix}/bin\" -DdDOUBLE CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ -CXXFLAGS = -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -DS3D_DOCDIR=\"${datadir}\" -DS3D_DATADIR=\"${prefix}/share\" -DS3D_BINDIR=\"${exec_prefix}/bin\" -DdDOUBLE +CXXFLAGS = -g -O2 -I/usr/include/SDL -D_REENTRANT -I/usr/local/include -I/usr/include/freetype2 -DS3D_DOCDIR=\"${datadir}/documentation\" -DS3D_DATADIR=\"${prefix}/share\" -DS3D_BINDIR=\"${exec_prefix}/bin\" -DdDOUBLE DIST_SOURCES = $(scorched3d_SOURCES) DIST_COMMON = Makefile.am Makefile.in SOURCES = $(scorched3d_SOURCES) @@ -2281,6 +2356,7 @@ GLMenu.$(OBJEXT): ../GLEXT/GLMenu.cpp GLMenuEntry.$(OBJEXT): ../GLEXT/GLMenuEntry.cpp GLMenuI.$(OBJEXT): ../GLEXT/GLMenuI.cpp +GLShadowFrameBuffer.$(OBJEXT): ../GLEXT/GLShadowFrameBuffer.cpp GLState.$(OBJEXT): ../GLEXT/GLState.cpp GLStateExtension.$(OBJEXT): ../GLEXT/GLStateExtension.cpp GLTexture.$(OBJEXT): ../GLEXT/GLTexture.cpp @@ -2352,6 +2428,10 @@ ../tankgraph/TargetRendererImplTank.cpp TargetRendererImplTarget.$(OBJEXT): \ ../tankgraph/TargetRendererImplTarget.cpp +TargetRendererImplTargetModel.$(OBJEXT): \ + ../tankgraph/TargetRendererImplTargetModel.cpp +TargetRendererImplTargetTree.$(OBJEXT): \ + ../tankgraph/TargetRendererImplTargetTree.cpp ARGParser.$(OBJEXT): ../common/ARGParser.cpp Clock.$(OBJEXT): ../common/Clock.cpp Defines.$(OBJEXT): ../common/Defines.cpp @@ -2374,6 +2454,7 @@ OptionEntry.$(OBJEXT): ../common/OptionEntry.cpp OptionsDisplay.$(OBJEXT): ../common/OptionsDisplay.cpp OptionsGame.$(OBJEXT): ../common/OptionsGame.cpp +OptionsMasterListServer.$(OBJEXT): ../common/OptionsMasterListServer.cpp OptionsParam.$(OBJEXT): ../common/OptionsParam.cpp OptionsTransient.$(OBJEXT): ../common/OptionsTransient.cpp ProgressCounter.$(OBJEXT): ../common/ProgressCounter.cpp @@ -2385,6 +2466,7 @@ StatsLoggerMySQL.$(OBJEXT): ../common/StatsLoggerMySQL.cpp Triangle.$(OBJEXT): ../common/Triangle.cpp Vector.$(OBJEXT): ../common/Vector.cpp +Vector4.$(OBJEXT): ../common/Vector4.cpp VectorLib.$(OBJEXT): ../common/VectorLib.cpp snprintf.$(OBJEXT): ../common/snprintf.c ASEModelFactory.$(OBJEXT): ../3dsparse/ASEModelFactory.cpp @@ -2434,6 +2516,7 @@ ActionController.$(OBJEXT): ../engine/ActionController.cpp ActionMeta.$(OBJEXT): ../engine/ActionMeta.cpp EventContainer.$(OBJEXT): ../engine/EventContainer.cpp +FrameLimiter.$(OBJEXT): ../engine/FrameLimiter.cpp FrameTimer.$(OBJEXT): ../engine/FrameTimer.cpp GameState.$(OBJEXT): ../engine/GameState.cpp GameStateI.$(OBJEXT): ../engine/GameStateI.cpp @@ -2483,7 +2566,11 @@ LandscapeObjectsSetEntry.$(OBJEXT): \ ../landscape/LandscapeObjectsSetEntry.cpp LandscapePoints.$(OBJEXT): ../landscape/LandscapePoints.cpp +LandscapeShadowCamera.$(OBJEXT): ../landscape/LandscapeShadowCamera.cpp +LandscapeShadowHandler.$(OBJEXT): \ + ../landscape/LandscapeShadowHandler.cpp LandscapeSoundManager.$(OBJEXT): ../landscape/LandscapeSoundManager.cpp +LandscapeStateHandler.$(OBJEXT): ../landscape/LandscapeStateHandler.cpp MapPoints.$(OBJEXT): ../landscape/MapPoints.cpp MovementMap.$(OBJEXT): ../landscape/MovementMap.cpp NapalmMap.$(OBJEXT): ../landscape/NapalmMap.cpp @@ -2521,11 +2608,13 @@ EconomyFreeMarket.$(OBJEXT): ../weapons/EconomyFreeMarket.cpp EconomyNone.$(OBJEXT): ../weapons/EconomyNone.cpp EconomyStore.$(OBJEXT): ../weapons/EconomyStore.cpp -Fuel.$(OBJEXT): ../weapons/Fuel.cpp Parachute.$(OBJEXT): ../weapons/Parachute.cpp Shield.$(OBJEXT): ../weapons/Shield.cpp -ShieldMag.$(OBJEXT): ../weapons/ShieldMag.cpp -ShieldReflective.$(OBJEXT): ../weapons/ShieldReflective.cpp +ShieldRound.$(OBJEXT): ../weapons/ShieldRound.cpp +ShieldRoundMag.$(OBJEXT): ../weapons/ShieldRoundMag.cpp +ShieldRoundReflective.$(OBJEXT): ../weapons/ShieldRoundReflective.cpp +ShieldSquare.$(OBJEXT): ../weapons/ShieldSquare.cpp +ShieldSquareReflective.$(OBJEXT): ../weapons/ShieldSquareReflective.cpp Weapon.$(OBJEXT): ../weapons/Weapon.cpp WeaponAddTarget.$(OBJEXT): ../weapons/WeaponAddTarget.cpp WeaponAimedOver.$(OBJEXT): ../weapons/WeaponAimedOver.cpp @@ -2546,6 +2635,7 @@ WeaponLeapFrog.$(OBJEXT): ../weapons/WeaponLeapFrog.cpp WeaponLightning.$(OBJEXT): ../weapons/WeaponLightning.cpp WeaponMirv.$(OBJEXT): ../weapons/WeaponMirv.cpp +WeaponMoveTank.$(OBJEXT): ../weapons/WeaponMoveTank.cpp WeaponMulti.$(OBJEXT): ../weapons/WeaponMulti.cpp WeaponMuzzle.$(OBJEXT): ../weapons/WeaponMuzzle.cpp WeaponNapalm.$(OBJEXT): ../weapons/WeaponNapalm.cpp @@ -2558,13 +2648,19 @@ WeaponRoller.$(OBJEXT): ../weapons/WeaponRoller.cpp WeaponScatterDirection.$(OBJEXT): ../weapons/WeaponScatterDirection.cpp WeaponScatterPosition.$(OBJEXT): ../weapons/WeaponScatterPosition.cpp +WeaponSelectPosition.$(OBJEXT): ../weapons/WeaponSelectPosition.cpp WeaponSkyFlash.$(OBJEXT): ../weapons/WeaponSkyFlash.cpp WeaponSound.$(OBJEXT): ../weapons/WeaponSound.cpp +WeaponTankPosition.$(OBJEXT): ../weapons/WeaponTankPosition.cpp +WeaponTankVelocity.$(OBJEXT): ../weapons/WeaponTankVelocity.cpp +WeaponTeamAction.$(OBJEXT): ../weapons/WeaponTeamAction.cpp WeaponTeleport.$(OBJEXT): ../weapons/WeaponTeleport.cpp WeaponTranslate.$(OBJEXT): ../weapons/WeaponTranslate.cpp +WeaponTypeAction.$(OBJEXT): ../weapons/WeaponTypeAction.cpp WeaponVelocity.$(OBJEXT): ../weapons/WeaponVelocity.cpp array.$(OBJEXT): ../ode/array.cpp collision_kernel.$(OBJEXT): ../ode/collision_kernel.cpp +collision_quadtreespace.$(OBJEXT): ../ode/collision_quadtreespace.cpp collision_space.$(OBJEXT): ../ode/collision_space.cpp collision_std.$(OBJEXT): ../ode/collision_std.cpp collision_transform.$(OBJEXT): ../ode/collision_transform.cpp @@ -2659,6 +2755,7 @@ ClientInitializeHandler.$(OBJEXT): ../client/ClientInitializeHandler.cpp ClientKeepAliveSender.$(OBJEXT): ../client/ClientKeepAliveSender.cpp ClientLastChanceHandler.$(OBJEXT): ../client/ClientLastChanceHandler.cpp +ClientLinesHandler.$(OBJEXT): ../client/ClientLinesHandler.cpp ClientLoadPlayersState.$(OBJEXT): ../client/ClientLoadPlayersState.cpp ClientMain.$(OBJEXT): ../client/ClientMain.cpp ClientMessageHandler.$(OBJEXT): ../client/ClientMessageHandler.cpp @@ -2716,6 +2813,7 @@ ../server/ServerHaveModFilesHandler.cpp ServerInitializeHandler.$(OBJEXT): ../server/ServerInitializeHandler.cpp ServerKeepAliveHandler.$(OBJEXT): ../server/ServerKeepAliveHandler.cpp +ServerLinesHandler.$(OBJEXT): ../server/ServerLinesHandler.cpp ServerLog.$(OBJEXT): ../server/ServerLog.cpp ServerMain.$(OBJEXT): ../server/ServerMain.cpp ServerMessageHandler.$(OBJEXT): ../server/ServerMessageHandler.cpp @@ -2762,14 +2860,11 @@ TankContainer.$(OBJEXT): ../tank/TankContainer.cpp TankDeadContainer.$(OBJEXT): ../tank/TankDeadContainer.cpp TankDefinition.$(OBJEXT): ../tank/TankDefinition.cpp -TankFuel.$(OBJEXT): ../tank/TankFuel.cpp TankLib.$(OBJEXT): ../tank/TankLib.cpp TankMod.$(OBJEXT): ../tank/TankMod.cpp TankModelContainer.$(OBJEXT): ../tank/TankModelContainer.cpp -TankParachutes.$(OBJEXT): ../tank/TankParachutes.cpp TankPosition.$(OBJEXT): ../tank/TankPosition.cpp TankScore.$(OBJEXT): ../tank/TankScore.cpp -TankShields.$(OBJEXT): ../tank/TankShields.cpp TankSort.$(OBJEXT): ../tank/TankSort.cpp TankState.$(OBJEXT): ../tank/TankState.cpp TankTeamScore.$(OBJEXT): ../tank/TankTeamScore.cpp @@ -2814,6 +2909,7 @@ TargetContainer.$(OBJEXT): ../target/TargetContainer.cpp TargetDamageCalc.$(OBJEXT): ../target/TargetDamageCalc.cpp TargetDefinition.$(OBJEXT): ../target/TargetDefinition.cpp +TargetGroupEntry.$(OBJEXT): ../target/TargetGroupEntry.cpp TargetLife.$(OBJEXT): ../target/TargetLife.cpp TargetParachute.$(OBJEXT): ../target/TargetParachute.cpp TargetRenderer.$(OBJEXT): ../target/TargetRenderer.cpp @@ -2825,6 +2921,7 @@ PlacementObject.$(OBJEXT): ../placement/PlacementObject.cpp PlacementObjectGroup.$(OBJEXT): ../placement/PlacementObjectGroup.cpp PlacementObjectModel.$(OBJEXT): ../placement/PlacementObjectModel.cpp +PlacementObjectNone.$(OBJEXT): ../placement/PlacementObjectNone.cpp PlacementObjectRandom.$(OBJEXT): ../placement/PlacementObjectRandom.cpp PlacementObjectShadow.$(OBJEXT): ../placement/PlacementObjectShadow.cpp PlacementObjectTank.$(OBJEXT): ../placement/PlacementObjectTank.cpp @@ -2867,6 +2964,7 @@ ComsKeepAliveMessage.$(OBJEXT): ../coms/ComsKeepAliveMessage.cpp ComsLastChanceMessage.$(OBJEXT): ../coms/ComsLastChanceMessage.cpp ComsLevelMessage.$(OBJEXT): ../coms/ComsLevelMessage.cpp +ComsLinesMessage.$(OBJEXT): ../coms/ComsLinesMessage.cpp ComsMessage.$(OBJEXT): ../coms/ComsMessage.cpp ComsMessageHandler.$(OBJEXT): ../coms/ComsMessageHandler.cpp ComsMessageSender.$(OBJEXT): ../coms/ComsMessageSender.cpp @@ -2939,6 +3037,7 @@ include ./$(DEPDIR)/ClientInitializeHandler.Po include ./$(DEPDIR)/ClientKeepAliveSender.Po include ./$(DEPDIR)/ClientLastChanceHandler.Po +include ./$(DEPDIR)/ClientLinesHandler.Po include ./$(DEPDIR)/ClientLoadPlayersState.Po include ./$(DEPDIR)/ClientMain.Po include ./$(DEPDIR)/ClientMessageHandler.Po @@ -2974,6 +3073,7 @@ include ./$(DEPDIR)/ComsKeepAliveMessage.Po include ./$(DEPDIR)/ComsLastChanceMessage.Po include ./$(DEPDIR)/ComsLevelMessage.Po +include ./$(DEPDIR)/ComsLinesMessage.Po include ./$(DEPDIR)/ComsMessage.Po include ./$(DEPDIR)/ComsMessageHandler.Po include ./$(DEPDIR)/ComsMessageSender.Po @@ -3015,8 +3115,8 @@ include ./$(DEPDIR)/FileLines.Po include ./$(DEPDIR)/FileList.Po include ./$(DEPDIR)/FileLogger.Po +include ./$(DEPDIR)/FrameLimiter.Po include ./$(DEPDIR)/FrameTimer.Po -include ./$(DEPDIR)/Fuel.Po include ./$(DEPDIR)/GLBitmap.Po include ./$(DEPDIR)/GLBitmapItterator.Po include ./$(DEPDIR)/GLBitmapModifier.Po @@ -3043,6 +3143,7 @@ include ./$(DEPDIR)/GLMenuEntry.Po include ./$(DEPDIR)/GLMenuI.Po include ./$(DEPDIR)/GLSetup.Po +include ./$(DEPDIR)/GLShadowFrameBuffer.Po include ./$(DEPDIR)/GLState.Po include ./$(DEPDIR)/GLStateExtension.Po include ./$(DEPDIR)/GLTexture.Po @@ -3138,9 +3239,12 @@ include ./$(DEPDIR)/LandscapeObjectsSetEntry.Po include ./$(DEPDIR)/LandscapePlace.Po include ./$(DEPDIR)/LandscapePoints.Po +include ./$(DEPDIR)/LandscapeShadowCamera.Po +include ./$(DEPDIR)/LandscapeShadowHandler.Po include ./$(DEPDIR)/LandscapeShips.Po include ./$(DEPDIR)/LandscapeSound.Po include ./$(DEPDIR)/LandscapeSoundManager.Po +include ./$(DEPDIR)/LandscapeStateHandler.Po include ./$(DEPDIR)/LandscapeTex.Po include ./$(DEPDIR)/LandscapeTexDefn.Po include ./$(DEPDIR)/Laser.Po @@ -3198,6 +3302,7 @@ include ./$(DEPDIR)/OptionEntrySetter.Po include ./$(DEPDIR)/OptionsDisplay.Po include ./$(DEPDIR)/OptionsGame.Po +include ./$(DEPDIR)/OptionsMasterListServer.Po include ./$(DEPDIR)/OptionsParam.Po include ./$(DEPDIR)/OptionsTransient.Po include ./$(DEPDIR)/Parachute.Po @@ -3217,6 +3322,7 @@ include ./$(DEPDIR)/PlacementObject.Po include ./$(DEPDIR)/PlacementObjectGroup.Po include ./$(DEPDIR)/PlacementObjectModel.Po +include ./$(DEPDIR)/PlacementObjectNone.Po include ./$(DEPDIR)/PlacementObjectRandom.Po include ./$(DEPDIR)/PlacementObjectShadow.Po include ./$(DEPDIR)/PlacementObjectTank.Po @@ -3276,6 +3382,7 @@ include ./$(DEPDIR)/ServerHaveModFilesHandler.Po include ./$(DEPDIR)/ServerInitializeHandler.Po include ./$(DEPDIR)/ServerKeepAliveHandler.Po +include ./$(DEPDIR)/ServerLinesHandler.Po include ./$(DEPDIR)/ServerLog.Po include ./$(DEPDIR)/ServerMain.Po include ./$(DEPDIR)/ServerMessageHandler.Po @@ -3307,8 +3414,11 @@ include ./$(DEPDIR)/ShadowMap.Po include ./$(DEPDIR)/Shield.Po include ./$(DEPDIR)/ShieldHit.Po -include ./$(DEPDIR)/ShieldMag.Po -include ./$(DEPDIR)/ShieldReflective.Po +include ./$(DEPDIR)/ShieldRound.Po +include ./$(DEPDIR)/ShieldRoundMag.Po +include ./$(DEPDIR)/ShieldRoundReflective.Po +include ./$(DEPDIR)/ShieldSquare.Po +include ./$(DEPDIR)/ShieldSquareReflective.Po include ./$(DEPDIR)/Ship.Po include ./$(DEPDIR)/ShipGroup.Po include ./$(DEPDIR)/ShotBounce.Po @@ -3375,7 +3485,6 @@ include ./$(DEPDIR)/TankFalling.Po include ./$(DEPDIR)/TankFallingEnd.Po include ./$(DEPDIR)/TankFired.Po -include ./$(DEPDIR)/TankFuel.Po include ./$(DEPDIR)/TankLib.Po include ./$(DEPDIR)/TankMenus.Po include ./$(DEPDIR)/TankMesh.Po @@ -3385,12 +3494,10 @@ include ./$(DEPDIR)/TankModelStore.Po include ./$(DEPDIR)/TankMovement.Po include ./$(DEPDIR)/TankMovementEnd.Po -include ./$(DEPDIR)/TankParachutes.Po include ./$(DEPDIR)/TankPosition.Po include ./$(DEPDIR)/TankResign.Po include ./$(DEPDIR)/TankSay.Po include ./$(DEPDIR)/TankScore.Po -include ./$(DEPDIR)/TankShields.Po include ./$(DEPDIR)/TankSort.Po include ./$(DEPDIR)/TankState.Po include ./$(DEPDIR)/TankTeamScore.Po @@ -3402,6 +3509,7 @@ include ./$(DEPDIR)/TargetContainer.Po include ./$(DEPDIR)/TargetDamageCalc.Po include ./$(DEPDIR)/TargetDefinition.Po +include ./$(DEPDIR)/TargetGroupEntry.Po include ./$(DEPDIR)/TargetLife.Po include ./$(DEPDIR)/TargetParachute.Po include ./$(DEPDIR)/TargetParticleRenderer.Po @@ -3409,6 +3517,8 @@ include ./$(DEPDIR)/TargetRendererImpl.Po include ./$(DEPDIR)/TargetRendererImplTank.Po include ./$(DEPDIR)/TargetRendererImplTarget.Po +include ./$(DEPDIR)/TargetRendererImplTargetModel.Po +include ./$(DEPDIR)/TargetRendererImplTargetTree.Po include ./$(DEPDIR)/TargetShield.Po include ./$(DEPDIR)/Teleport.Po include ./$(DEPDIR)/TextActionRenderer.Po @@ -3421,6 +3531,7 @@ include ./$(DEPDIR)/UniqueIdStore.Po include ./$(DEPDIR)/Variance.Po include ./$(DEPDIR)/Vector.Po +include ./$(DEPDIR)/Vector4.Po include ./$(DEPDIR)/VectorLib.Po include ./$(DEPDIR)/Vertex.Po include ./$(DEPDIR)/ViewPoints.Po @@ -3454,6 +3565,7 @@ include ./$(DEPDIR)/WeaponLeapFrog.Po include ./$(DEPDIR)/WeaponLightning.Po include ./$(DEPDIR)/WeaponMirv.Po +include ./$(DEPDIR)/WeaponMoveTank.Po include ./$(DEPDIR)/WeaponMulti.Po include ./$(DEPDIR)/WeaponMuzzle.Po include ./$(DEPDIR)/WeaponNapalm.Po @@ -3466,10 +3578,15 @@ include ./$(DEPDIR)/WeaponRoller.Po include ./$(DEPDIR)/WeaponScatterDirection.Po include ./$(DEPDIR)/WeaponScatterPosition.Po +include ./$(DEPDIR)/WeaponSelectPosition.Po include ./$(DEPDIR)/WeaponSkyFlash.Po include ./$(DEPDIR)/WeaponSound.Po +include ./$(DEPDIR)/WeaponTankPosition.Po +include ./$(DEPDIR)/WeaponTankVelocity.Po +include ./$(DEPDIR)/WeaponTeamAction.Po include ./$(DEPDIR)/WeaponTeleport.Po include ./$(DEPDIR)/WeaponTranslate.Po +include ./$(DEPDIR)/WeaponTypeAction.Po include ./$(DEPDIR)/WeaponVelocity.Po include ./$(DEPDIR)/WindowSetup.Po include ./$(DEPDIR)/XMLFile.Po @@ -3481,6 +3598,7 @@ include ./$(DEPDIR)/aseFile.lex.Po include ./$(DEPDIR)/aseFile.tab.Po include ./$(DEPDIR)/collision_kernel.Po +include ./$(DEPDIR)/collision_quadtreespace.Po include ./$(DEPDIR)/collision_space.Po include ./$(DEPDIR)/collision_std.Po include ./$(DEPDIR)/collision_transform.Po @@ -4119,6 +4237,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GLMenuI.obj `cygpath -w ../GLEXT/GLMenuI.cpp` +GLShadowFrameBuffer.o: ../GLEXT/GLShadowFrameBuffer.cpp + source='../GLEXT/GLShadowFrameBuffer.cpp' object='GLShadowFrameBuffer.o' libtool=no \ + depfile='$(DEPDIR)/GLShadowFrameBuffer.Po' tmpdepfile='$(DEPDIR)/GLShadowFrameBuffer.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GLShadowFrameBuffer.o `test -f '../GLEXT/GLShadowFrameBuffer.cpp' || echo '$(srcdir)/'`../GLEXT/GLShadowFrameBuffer.cpp + +GLShadowFrameBuffer.obj: ../GLEXT/GLShadowFrameBuffer.cpp + source='../GLEXT/GLShadowFrameBuffer.cpp' object='GLShadowFrameBuffer.obj' libtool=no \ + depfile='$(DEPDIR)/GLShadowFrameBuffer.Po' tmpdepfile='$(DEPDIR)/GLShadowFrameBuffer.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GLShadowFrameBuffer.obj `cygpath -w ../GLEXT/GLShadowFrameBuffer.cpp` + GLState.o: ../GLEXT/GLState.cpp source='../GLEXT/GLState.cpp' object='GLState.o' libtool=no \ depfile='$(DEPDIR)/GLState.Po' tmpdepfile='$(DEPDIR)/GLState.TPo' \ @@ -4935,6 +5065,30 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetRendererImplTarget.obj `cygpath -w ../tankgraph/TargetRendererImplTarget.cpp` +TargetRendererImplTargetModel.o: ../tankgraph/TargetRendererImplTargetModel.cpp + source='../tankgraph/TargetRendererImplTargetModel.cpp' object='TargetRendererImplTargetModel.o' libtool=no \ + depfile='$(DEPDIR)/TargetRendererImplTargetModel.Po' tmpdepfile='$(DEPDIR)/TargetRendererImplTargetModel.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetRendererImplTargetModel.o `test -f '../tankgraph/TargetRendererImplTargetModel.cpp' || echo '$(srcdir)/'`../tankgraph/TargetRendererImplTargetModel.cpp + +TargetRendererImplTargetModel.obj: ../tankgraph/TargetRendererImplTargetModel.cpp + source='../tankgraph/TargetRendererImplTargetModel.cpp' object='TargetRendererImplTargetModel.obj' libtool=no \ + depfile='$(DEPDIR)/TargetRendererImplTargetModel.Po' tmpdepfile='$(DEPDIR)/TargetRendererImplTargetModel.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetRendererImplTargetModel.obj `cygpath -w ../tankgraph/TargetRendererImplTargetModel.cpp` + +TargetRendererImplTargetTree.o: ../tankgraph/TargetRendererImplTargetTree.cpp + source='../tankgraph/TargetRendererImplTargetTree.cpp' object='TargetRendererImplTargetTree.o' libtool=no \ + depfile='$(DEPDIR)/TargetRendererImplTargetTree.Po' tmpdepfile='$(DEPDIR)/TargetRendererImplTargetTree.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetRendererImplTargetTree.o `test -f '../tankgraph/TargetRendererImplTargetTree.cpp' || echo '$(srcdir)/'`../tankgraph/TargetRendererImplTargetTree.cpp + +TargetRendererImplTargetTree.obj: ../tankgraph/TargetRendererImplTargetTree.cpp + source='../tankgraph/TargetRendererImplTargetTree.cpp' object='TargetRendererImplTargetTree.obj' libtool=no \ + depfile='$(DEPDIR)/TargetRendererImplTargetTree.Po' tmpdepfile='$(DEPDIR)/TargetRendererImplTargetTree.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetRendererImplTargetTree.obj `cygpath -w ../tankgraph/TargetRendererImplTargetTree.cpp` + ARGParser.o: ../common/ARGParser.cpp source='../common/ARGParser.cpp' object='ARGParser.o' libtool=no \ depfile='$(DEPDIR)/ARGParser.Po' tmpdepfile='$(DEPDIR)/ARGParser.TPo' \ @@ -5199,6 +5353,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OptionsGame.obj `cygpath -w ../common/OptionsGame.cpp` +OptionsMasterListServer.o: ../common/OptionsMasterListServer.cpp + source='../common/OptionsMasterListServer.cpp' object='OptionsMasterListServer.o' libtool=no \ + depfile='$(DEPDIR)/OptionsMasterListServer.Po' tmpdepfile='$(DEPDIR)/OptionsMasterListServer.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OptionsMasterListServer.o `test -f '../common/OptionsMasterListServer.cpp' || echo '$(srcdir)/'`../common/OptionsMasterListServer.cpp + +OptionsMasterListServer.obj: ../common/OptionsMasterListServer.cpp + source='../common/OptionsMasterListServer.cpp' object='OptionsMasterListServer.obj' libtool=no \ + depfile='$(DEPDIR)/OptionsMasterListServer.Po' tmpdepfile='$(DEPDIR)/OptionsMasterListServer.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OptionsMasterListServer.obj `cygpath -w ../common/OptionsMasterListServer.cpp` + OptionsParam.o: ../common/OptionsParam.cpp source='../common/OptionsParam.cpp' object='OptionsParam.o' libtool=no \ depfile='$(DEPDIR)/OptionsParam.Po' tmpdepfile='$(DEPDIR)/OptionsParam.TPo' \ @@ -5331,6 +5497,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Vector.obj `cygpath -w ../common/Vector.cpp` +Vector4.o: ../common/Vector4.cpp + source='../common/Vector4.cpp' object='Vector4.o' libtool=no \ + depfile='$(DEPDIR)/Vector4.Po' tmpdepfile='$(DEPDIR)/Vector4.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Vector4.o `test -f '../common/Vector4.cpp' || echo '$(srcdir)/'`../common/Vector4.cpp + +Vector4.obj: ../common/Vector4.cpp + source='../common/Vector4.cpp' object='Vector4.obj' libtool=no \ + depfile='$(DEPDIR)/Vector4.Po' tmpdepfile='$(DEPDIR)/Vector4.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Vector4.obj `cygpath -w ../common/Vector4.cpp` + VectorLib.o: ../common/VectorLib.cpp source='../common/VectorLib.cpp' object='VectorLib.o' libtool=no \ depfile='$(DEPDIR)/VectorLib.Po' tmpdepfile='$(DEPDIR)/VectorLib.TPo' \ @@ -5907,6 +6085,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o EventContainer.obj `cygpath -w ../engine/EventContainer.cpp` +FrameLimiter.o: ../engine/FrameLimiter.cpp + source='../engine/FrameLimiter.cpp' object='FrameLimiter.o' libtool=no \ + depfile='$(DEPDIR)/FrameLimiter.Po' tmpdepfile='$(DEPDIR)/FrameLimiter.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FrameLimiter.o `test -f '../engine/FrameLimiter.cpp' || echo '$(srcdir)/'`../engine/FrameLimiter.cpp + +FrameLimiter.obj: ../engine/FrameLimiter.cpp + source='../engine/FrameLimiter.cpp' object='FrameLimiter.obj' libtool=no \ + depfile='$(DEPDIR)/FrameLimiter.Po' tmpdepfile='$(DEPDIR)/FrameLimiter.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FrameLimiter.obj `cygpath -w ../engine/FrameLimiter.cpp` + FrameTimer.o: ../engine/FrameTimer.cpp source='../engine/FrameTimer.cpp' object='FrameTimer.o' libtool=no \ depfile='$(DEPDIR)/FrameTimer.Po' tmpdepfile='$(DEPDIR)/FrameTimer.TPo' \ @@ -6435,6 +6625,30 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapePoints.obj `cygpath -w ../landscape/LandscapePoints.cpp` +LandscapeShadowCamera.o: ../landscape/LandscapeShadowCamera.cpp + source='../landscape/LandscapeShadowCamera.cpp' object='LandscapeShadowCamera.o' libtool=no \ + depfile='$(DEPDIR)/LandscapeShadowCamera.Po' tmpdepfile='$(DEPDIR)/LandscapeShadowCamera.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeShadowCamera.o `test -f '../landscape/LandscapeShadowCamera.cpp' || echo '$(srcdir)/'`../landscape/LandscapeShadowCamera.cpp + +LandscapeShadowCamera.obj: ../landscape/LandscapeShadowCamera.cpp + source='../landscape/LandscapeShadowCamera.cpp' object='LandscapeShadowCamera.obj' libtool=no \ + depfile='$(DEPDIR)/LandscapeShadowCamera.Po' tmpdepfile='$(DEPDIR)/LandscapeShadowCamera.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeShadowCamera.obj `cygpath -w ../landscape/LandscapeShadowCamera.cpp` + +LandscapeShadowHandler.o: ../landscape/LandscapeShadowHandler.cpp + source='../landscape/LandscapeShadowHandler.cpp' object='LandscapeShadowHandler.o' libtool=no \ + depfile='$(DEPDIR)/LandscapeShadowHandler.Po' tmpdepfile='$(DEPDIR)/LandscapeShadowHandler.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeShadowHandler.o `test -f '../landscape/LandscapeShadowHandler.cpp' || echo '$(srcdir)/'`../landscape/LandscapeShadowHandler.cpp + +LandscapeShadowHandler.obj: ../landscape/LandscapeShadowHandler.cpp + source='../landscape/LandscapeShadowHandler.cpp' object='LandscapeShadowHandler.obj' libtool=no \ + depfile='$(DEPDIR)/LandscapeShadowHandler.Po' tmpdepfile='$(DEPDIR)/LandscapeShadowHandler.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeShadowHandler.obj `cygpath -w ../landscape/LandscapeShadowHandler.cpp` + LandscapeSoundManager.o: ../landscape/LandscapeSoundManager.cpp source='../landscape/LandscapeSoundManager.cpp' object='LandscapeSoundManager.o' libtool=no \ depfile='$(DEPDIR)/LandscapeSoundManager.Po' tmpdepfile='$(DEPDIR)/LandscapeSoundManager.TPo' \ @@ -6447,6 +6661,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeSoundManager.obj `cygpath -w ../landscape/LandscapeSoundManager.cpp` +LandscapeStateHandler.o: ../landscape/LandscapeStateHandler.cpp + source='../landscape/LandscapeStateHandler.cpp' object='LandscapeStateHandler.o' libtool=no \ + depfile='$(DEPDIR)/LandscapeStateHandler.Po' tmpdepfile='$(DEPDIR)/LandscapeStateHandler.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeStateHandler.o `test -f '../landscape/LandscapeStateHandler.cpp' || echo '$(srcdir)/'`../landscape/LandscapeStateHandler.cpp + +LandscapeStateHandler.obj: ../landscape/LandscapeStateHandler.cpp + source='../landscape/LandscapeStateHandler.cpp' object='LandscapeStateHandler.obj' libtool=no \ + depfile='$(DEPDIR)/LandscapeStateHandler.Po' tmpdepfile='$(DEPDIR)/LandscapeStateHandler.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeStateHandler.obj `cygpath -w ../landscape/LandscapeStateHandler.cpp` + MapPoints.o: ../landscape/MapPoints.cpp source='../landscape/MapPoints.cpp' object='MapPoints.o' libtool=no \ depfile='$(DEPDIR)/MapPoints.Po' tmpdepfile='$(DEPDIR)/MapPoints.TPo' \ @@ -6891,18 +7117,6 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o EconomyStore.obj `cygpath -w ../weapons/EconomyStore.cpp` -Fuel.o: ../weapons/Fuel.cpp - source='../weapons/Fuel.cpp' object='Fuel.o' libtool=no \ - depfile='$(DEPDIR)/Fuel.Po' tmpdepfile='$(DEPDIR)/Fuel.TPo' \ - $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Fuel.o `test -f '../weapons/Fuel.cpp' || echo '$(srcdir)/'`../weapons/Fuel.cpp - -Fuel.obj: ../weapons/Fuel.cpp - source='../weapons/Fuel.cpp' object='Fuel.obj' libtool=no \ - depfile='$(DEPDIR)/Fuel.Po' tmpdepfile='$(DEPDIR)/Fuel.TPo' \ - $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Fuel.obj `cygpath -w ../weapons/Fuel.cpp` - Parachute.o: ../weapons/Parachute.cpp source='../weapons/Parachute.cpp' object='Parachute.o' libtool=no \ depfile='$(DEPDIR)/Parachute.Po' tmpdepfile='$(DEPDIR)/Parachute.TPo' \ @@ -6927,29 +7141,65 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Shield.obj `cygpath -w ../weapons/Shield.cpp` -ShieldMag.o: ../weapons/ShieldMag.cpp - source='../weapons/ShieldMag.cpp' object='ShieldMag.o' libtool=no \ - depfile='$(DEPDIR)/ShieldMag.Po' tmpdepfile='$(DEPDIR)/ShieldMag.TPo' \ +ShieldRound.o: ../weapons/ShieldRound.cpp + source='../weapons/ShieldRound.cpp' object='ShieldRound.o' libtool=no \ + depfile='$(DEPDIR)/ShieldRound.Po' tmpdepfile='$(DEPDIR)/ShieldRound.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldRound.o `test -f '../weapons/ShieldRound.cpp' || echo '$(srcdir)/'`../weapons/ShieldRound.cpp + +ShieldRound.obj: ../weapons/ShieldRound.cpp + source='../weapons/ShieldRound.cpp' object='ShieldRound.obj' libtool=no \ + depfile='$(DEPDIR)/ShieldRound.Po' tmpdepfile='$(DEPDIR)/ShieldRound.TPo' \ $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldMag.o `test -f '../weapons/ShieldMag.cpp' || echo '$(srcdir)/'`../weapons/ShieldMag.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldRound.obj `cygpath -w ../weapons/ShieldRound.cpp` -ShieldMag.obj: ../weapons/ShieldMag.cpp - source='../weapons/ShieldMag.cpp' object='ShieldMag.obj' libtool=no \ - depfile='$(DEPDIR)/ShieldMag.Po' tmpdepfile='$(DEPDIR)/ShieldMag.TPo' \ +ShieldRoundMag.o: ../weapons/ShieldRoundMag.cpp + source='../weapons/ShieldRoundMag.cpp' object='ShieldRoundMag.o' libtool=no \ + depfile='$(DEPDIR)/ShieldRoundMag.Po' tmpdepfile='$(DEPDIR)/ShieldRoundMag.TPo' \ $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldMag.obj `cygpath -w ../weapons/ShieldMag.cpp` + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldRoundMag.o `test -f '../weapons/ShieldRoundMag.cpp' || echo '$(srcdir)/'`../weapons/ShieldRoundMag.cpp -ShieldReflective.o: ../weapons/ShieldReflective.cpp - source='../weapons/ShieldReflective.cpp' object='ShieldReflective.o' libtool=no \ - depfile='$(DEPDIR)/ShieldReflective.Po' tmpdepfile='$(DEPDIR)/ShieldReflective.TPo' \ +ShieldRoundMag.obj: ../weapons/ShieldRoundMag.cpp + source='../weapons/ShieldRoundMag.cpp' object='ShieldRoundMag.obj' libtool=no \ + depfile='$(DEPDIR)/ShieldRoundMag.Po' tmpdepfile='$(DEPDIR)/ShieldRoundMag.TPo' \ $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldReflective.o `test -f '../weapons/ShieldReflective.cpp' || echo '$(srcdir)/'`../weapons/ShieldReflective.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldRoundMag.obj `cygpath -w ../weapons/ShieldRoundMag.cpp` -ShieldReflective.obj: ../weapons/ShieldReflective.cpp - source='../weapons/ShieldReflective.cpp' object='ShieldReflective.obj' libtool=no \ - depfile='$(DEPDIR)/ShieldReflective.Po' tmpdepfile='$(DEPDIR)/ShieldReflective.TPo' \ +ShieldRoundReflective.o: ../weapons/ShieldRoundReflective.cpp + source='../weapons/ShieldRoundReflective.cpp' object='ShieldRoundReflective.o' libtool=no \ + depfile='$(DEPDIR)/ShieldRoundReflective.Po' tmpdepfile='$(DEPDIR)/ShieldRoundReflective.TPo' \ $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldReflective.obj `cygpath -w ../weapons/ShieldReflective.cpp` + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldRoundReflective.o `test -f '../weapons/ShieldRoundReflective.cpp' || echo '$(srcdir)/'`../weapons/ShieldRoundReflective.cpp + +ShieldRoundReflective.obj: ../weapons/ShieldRoundReflective.cpp + source='../weapons/ShieldRoundReflective.cpp' object='ShieldRoundReflective.obj' libtool=no \ + depfile='$(DEPDIR)/ShieldRoundReflective.Po' tmpdepfile='$(DEPDIR)/ShieldRoundReflective.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldRoundReflective.obj `cygpath -w ../weapons/ShieldRoundReflective.cpp` + +ShieldSquare.o: ../weapons/ShieldSquare.cpp + source='../weapons/ShieldSquare.cpp' object='ShieldSquare.o' libtool=no \ + depfile='$(DEPDIR)/ShieldSquare.Po' tmpdepfile='$(DEPDIR)/ShieldSquare.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldSquare.o `test -f '../weapons/ShieldSquare.cpp' || echo '$(srcdir)/'`../weapons/ShieldSquare.cpp + +ShieldSquare.obj: ../weapons/ShieldSquare.cpp + source='../weapons/ShieldSquare.cpp' object='ShieldSquare.obj' libtool=no \ + depfile='$(DEPDIR)/ShieldSquare.Po' tmpdepfile='$(DEPDIR)/ShieldSquare.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldSquare.obj `cygpath -w ../weapons/ShieldSquare.cpp` + +ShieldSquareReflective.o: ../weapons/ShieldSquareReflective.cpp + source='../weapons/ShieldSquareReflective.cpp' object='ShieldSquareReflective.o' libtool=no \ + depfile='$(DEPDIR)/ShieldSquareReflective.Po' tmpdepfile='$(DEPDIR)/ShieldSquareReflective.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldSquareReflective.o `test -f '../weapons/ShieldSquareReflective.cpp' || echo '$(srcdir)/'`../weapons/ShieldSquareReflective.cpp + +ShieldSquareReflective.obj: ../weapons/ShieldSquareReflective.cpp + source='../weapons/ShieldSquareReflective.cpp' object='ShieldSquareReflective.obj' libtool=no \ + depfile='$(DEPDIR)/ShieldSquareReflective.Po' tmpdepfile='$(DEPDIR)/ShieldSquareReflective.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldSquareReflective.obj `cygpath -w ../weapons/ShieldSquareReflective.cpp` Weapon.o: ../weapons/Weapon.cpp source='../weapons/Weapon.cpp' object='Weapon.o' libtool=no \ @@ -7191,6 +7441,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponMirv.obj `cygpath -w ../weapons/WeaponMirv.cpp` +WeaponMoveTank.o: ../weapons/WeaponMoveTank.cpp + source='../weapons/WeaponMoveTank.cpp' object='WeaponMoveTank.o' libtool=no \ + depfile='$(DEPDIR)/WeaponMoveTank.Po' tmpdepfile='$(DEPDIR)/WeaponMoveTank.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponMoveTank.o `test -f '../weapons/WeaponMoveTank.cpp' || echo '$(srcdir)/'`../weapons/WeaponMoveTank.cpp + +WeaponMoveTank.obj: ../weapons/WeaponMoveTank.cpp + source='../weapons/WeaponMoveTank.cpp' object='WeaponMoveTank.obj' libtool=no \ + depfile='$(DEPDIR)/WeaponMoveTank.Po' tmpdepfile='$(DEPDIR)/WeaponMoveTank.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponMoveTank.obj `cygpath -w ../weapons/WeaponMoveTank.cpp` + WeaponMulti.o: ../weapons/WeaponMulti.cpp source='../weapons/WeaponMulti.cpp' object='WeaponMulti.o' libtool=no \ depfile='$(DEPDIR)/WeaponMulti.Po' tmpdepfile='$(DEPDIR)/WeaponMulti.TPo' \ @@ -7335,6 +7597,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponScatterPosition.obj `cygpath -w ../weapons/WeaponScatterPosition.cpp` +WeaponSelectPosition.o: ../weapons/WeaponSelectPosition.cpp + source='../weapons/WeaponSelectPosition.cpp' object='WeaponSelectPosition.o' libtool=no \ + depfile='$(DEPDIR)/WeaponSelectPosition.Po' tmpdepfile='$(DEPDIR)/WeaponSelectPosition.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponSelectPosition.o `test -f '../weapons/WeaponSelectPosition.cpp' || echo '$(srcdir)/'`../weapons/WeaponSelectPosition.cpp + +WeaponSelectPosition.obj: ../weapons/WeaponSelectPosition.cpp + source='../weapons/WeaponSelectPosition.cpp' object='WeaponSelectPosition.obj' libtool=no \ + depfile='$(DEPDIR)/WeaponSelectPosition.Po' tmpdepfile='$(DEPDIR)/WeaponSelectPosition.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponSelectPosition.obj `cygpath -w ../weapons/WeaponSelectPosition.cpp` + WeaponSkyFlash.o: ../weapons/WeaponSkyFlash.cpp source='../weapons/WeaponSkyFlash.cpp' object='WeaponSkyFlash.o' libtool=no \ depfile='$(DEPDIR)/WeaponSkyFlash.Po' tmpdepfile='$(DEPDIR)/WeaponSkyFlash.TPo' \ @@ -7359,6 +7633,42 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponSound.obj `cygpath -w ../weapons/WeaponSound.cpp` +WeaponTankPosition.o: ../weapons/WeaponTankPosition.cpp + source='../weapons/WeaponTankPosition.cpp' object='WeaponTankPosition.o' libtool=no \ + depfile='$(DEPDIR)/WeaponTankPosition.Po' tmpdepfile='$(DEPDIR)/WeaponTankPosition.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTankPosition.o `test -f '../weapons/WeaponTankPosition.cpp' || echo '$(srcdir)/'`../weapons/WeaponTankPosition.cpp + +WeaponTankPosition.obj: ../weapons/WeaponTankPosition.cpp + source='../weapons/WeaponTankPosition.cpp' object='WeaponTankPosition.obj' libtool=no \ + depfile='$(DEPDIR)/WeaponTankPosition.Po' tmpdepfile='$(DEPDIR)/WeaponTankPosition.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTankPosition.obj `cygpath -w ../weapons/WeaponTankPosition.cpp` + +WeaponTankVelocity.o: ../weapons/WeaponTankVelocity.cpp + source='../weapons/WeaponTankVelocity.cpp' object='WeaponTankVelocity.o' libtool=no \ + depfile='$(DEPDIR)/WeaponTankVelocity.Po' tmpdepfile='$(DEPDIR)/WeaponTankVelocity.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTankVelocity.o `test -f '../weapons/WeaponTankVelocity.cpp' || echo '$(srcdir)/'`../weapons/WeaponTankVelocity.cpp + +WeaponTankVelocity.obj: ../weapons/WeaponTankVelocity.cpp + source='../weapons/WeaponTankVelocity.cpp' object='WeaponTankVelocity.obj' libtool=no \ + depfile='$(DEPDIR)/WeaponTankVelocity.Po' tmpdepfile='$(DEPDIR)/WeaponTankVelocity.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTankVelocity.obj `cygpath -w ../weapons/WeaponTankVelocity.cpp` + +WeaponTeamAction.o: ../weapons/WeaponTeamAction.cpp + source='../weapons/WeaponTeamAction.cpp' object='WeaponTeamAction.o' libtool=no \ + depfile='$(DEPDIR)/WeaponTeamAction.Po' tmpdepfile='$(DEPDIR)/WeaponTeamAction.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTeamAction.o `test -f '../weapons/WeaponTeamAction.cpp' || echo '$(srcdir)/'`../weapons/WeaponTeamAction.cpp + +WeaponTeamAction.obj: ../weapons/WeaponTeamAction.cpp + source='../weapons/WeaponTeamAction.cpp' object='WeaponTeamAction.obj' libtool=no \ + depfile='$(DEPDIR)/WeaponTeamAction.Po' tmpdepfile='$(DEPDIR)/WeaponTeamAction.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTeamAction.obj `cygpath -w ../weapons/WeaponTeamAction.cpp` + WeaponTeleport.o: ../weapons/WeaponTeleport.cpp source='../weapons/WeaponTeleport.cpp' object='WeaponTeleport.o' libtool=no \ depfile='$(DEPDIR)/WeaponTeleport.Po' tmpdepfile='$(DEPDIR)/WeaponTeleport.TPo' \ @@ -7383,6 +7693,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTranslate.obj `cygpath -w ../weapons/WeaponTranslate.cpp` +WeaponTypeAction.o: ../weapons/WeaponTypeAction.cpp + source='../weapons/WeaponTypeAction.cpp' object='WeaponTypeAction.o' libtool=no \ + depfile='$(DEPDIR)/WeaponTypeAction.Po' tmpdepfile='$(DEPDIR)/WeaponTypeAction.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTypeAction.o `test -f '../weapons/WeaponTypeAction.cpp' || echo '$(srcdir)/'`../weapons/WeaponTypeAction.cpp + +WeaponTypeAction.obj: ../weapons/WeaponTypeAction.cpp + source='../weapons/WeaponTypeAction.cpp' object='WeaponTypeAction.obj' libtool=no \ + depfile='$(DEPDIR)/WeaponTypeAction.Po' tmpdepfile='$(DEPDIR)/WeaponTypeAction.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTypeAction.obj `cygpath -w ../weapons/WeaponTypeAction.cpp` + WeaponVelocity.o: ../weapons/WeaponVelocity.cpp source='../weapons/WeaponVelocity.cpp' object='WeaponVelocity.o' libtool=no \ depfile='$(DEPDIR)/WeaponVelocity.Po' tmpdepfile='$(DEPDIR)/WeaponVelocity.TPo' \ @@ -7419,6 +7741,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o collision_kernel.obj `cygpath -w ../ode/collision_kernel.cpp` +collision_quadtreespace.o: ../ode/collision_quadtreespace.cpp + source='../ode/collision_quadtreespace.cpp' object='collision_quadtreespace.o' libtool=no \ + depfile='$(DEPDIR)/collision_quadtreespace.Po' tmpdepfile='$(DEPDIR)/collision_quadtreespace.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o collision_quadtreespace.o `test -f '../ode/collision_quadtreespace.cpp' || echo '$(srcdir)/'`../ode/collision_quadtreespace.cpp + +collision_quadtreespace.obj: ../ode/collision_quadtreespace.cpp + source='../ode/collision_quadtreespace.cpp' object='collision_quadtreespace.obj' libtool=no \ + depfile='$(DEPDIR)/collision_quadtreespace.Po' tmpdepfile='$(DEPDIR)/collision_quadtreespace.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o collision_quadtreespace.obj `cygpath -w ../ode/collision_quadtreespace.cpp` + collision_space.o: ../ode/collision_space.cpp source='../ode/collision_space.cpp' object='collision_space.o' libtool=no \ depfile='$(DEPDIR)/collision_space.Po' tmpdepfile='$(DEPDIR)/collision_space.TPo' \ @@ -8295,6 +8629,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ClientLastChanceHandler.obj `cygpath -w ../client/ClientLastChanceHandler.cpp` +ClientLinesHandler.o: ../client/ClientLinesHandler.cpp + source='../client/ClientLinesHandler.cpp' object='ClientLinesHandler.o' libtool=no \ + depfile='$(DEPDIR)/ClientLinesHandler.Po' tmpdepfile='$(DEPDIR)/ClientLinesHandler.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ClientLinesHandler.o `test -f '../client/ClientLinesHandler.cpp' || echo '$(srcdir)/'`../client/ClientLinesHandler.cpp + +ClientLinesHandler.obj: ../client/ClientLinesHandler.cpp + source='../client/ClientLinesHandler.cpp' object='ClientLinesHandler.obj' libtool=no \ + depfile='$(DEPDIR)/ClientLinesHandler.Po' tmpdepfile='$(DEPDIR)/ClientLinesHandler.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ClientLinesHandler.obj `cygpath -w ../client/ClientLinesHandler.cpp` + ClientLoadPlayersState.o: ../client/ClientLoadPlayersState.cpp source='../client/ClientLoadPlayersState.cpp' object='ClientLoadPlayersState.o' libtool=no \ depfile='$(DEPDIR)/ClientLoadPlayersState.Po' tmpdepfile='$(DEPDIR)/ClientLoadPlayersState.TPo' \ @@ -8895,6 +9241,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ServerKeepAliveHandler.obj `cygpath -w ../server/ServerKeepAliveHandler.cpp` +ServerLinesHandler.o: ../server/ServerLinesHandler.cpp + source='../server/ServerLinesHandler.cpp' object='ServerLinesHandler.o' libtool=no \ + depfile='$(DEPDIR)/ServerLinesHandler.Po' tmpdepfile='$(DEPDIR)/ServerLinesHandler.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ServerLinesHandler.o `test -f '../server/ServerLinesHandler.cpp' || echo '$(srcdir)/'`../server/ServerLinesHandler.cpp + +ServerLinesHandler.obj: ../server/ServerLinesHandler.cpp + source='../server/ServerLinesHandler.cpp' object='ServerLinesHandler.obj' libtool=no \ + depfile='$(DEPDIR)/ServerLinesHandler.Po' tmpdepfile='$(DEPDIR)/ServerLinesHandler.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ServerLinesHandler.obj `cygpath -w ../server/ServerLinesHandler.cpp` + ServerLog.o: ../server/ServerLog.cpp source='../server/ServerLog.cpp' object='ServerLog.o' libtool=no \ depfile='$(DEPDIR)/ServerLog.Po' tmpdepfile='$(DEPDIR)/ServerLog.TPo' \ @@ -9411,18 +9769,6 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankDefinition.obj `cygpath -w ../tank/TankDefinition.cpp` -TankFuel.o: ../tank/TankFuel.cpp - source='../tank/TankFuel.cpp' object='TankFuel.o' libtool=no \ - depfile='$(DEPDIR)/TankFuel.Po' tmpdepfile='$(DEPDIR)/TankFuel.TPo' \ - $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankFuel.o `test -f '../tank/TankFuel.cpp' || echo '$(srcdir)/'`../tank/TankFuel.cpp - -TankFuel.obj: ../tank/TankFuel.cpp - source='../tank/TankFuel.cpp' object='TankFuel.obj' libtool=no \ - depfile='$(DEPDIR)/TankFuel.Po' tmpdepfile='$(DEPDIR)/TankFuel.TPo' \ - $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankFuel.obj `cygpath -w ../tank/TankFuel.cpp` - TankLib.o: ../tank/TankLib.cpp source='../tank/TankLib.cpp' object='TankLib.o' libtool=no \ depfile='$(DEPDIR)/TankLib.Po' tmpdepfile='$(DEPDIR)/TankLib.TPo' \ @@ -9459,18 +9805,6 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankModelContainer.obj `cygpath -w ../tank/TankModelContainer.cpp` -TankParachutes.o: ../tank/TankParachutes.cpp - source='../tank/TankParachutes.cpp' object='TankParachutes.o' libtool=no \ - depfile='$(DEPDIR)/TankParachutes.Po' tmpdepfile='$(DEPDIR)/TankParachutes.TPo' \ - $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankParachutes.o `test -f '../tank/TankParachutes.cpp' || echo '$(srcdir)/'`../tank/TankParachutes.cpp - -TankParachutes.obj: ../tank/TankParachutes.cpp - source='../tank/TankParachutes.cpp' object='TankParachutes.obj' libtool=no \ - depfile='$(DEPDIR)/TankParachutes.Po' tmpdepfile='$(DEPDIR)/TankParachutes.TPo' \ - $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankParachutes.obj `cygpath -w ../tank/TankParachutes.cpp` - TankPosition.o: ../tank/TankPosition.cpp source='../tank/TankPosition.cpp' object='TankPosition.o' libtool=no \ depfile='$(DEPDIR)/TankPosition.Po' tmpdepfile='$(DEPDIR)/TankPosition.TPo' \ @@ -9495,18 +9829,6 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankScore.obj `cygpath -w ../tank/TankScore.cpp` -TankShields.o: ../tank/TankShields.cpp - source='../tank/TankShields.cpp' object='TankShields.o' libtool=no \ - depfile='$(DEPDIR)/TankShields.Po' tmpdepfile='$(DEPDIR)/TankShields.TPo' \ - $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankShields.o `test -f '../tank/TankShields.cpp' || echo '$(srcdir)/'`../tank/TankShields.cpp - -TankShields.obj: ../tank/TankShields.cpp - source='../tank/TankShields.cpp' object='TankShields.obj' libtool=no \ - depfile='$(DEPDIR)/TankShields.Po' tmpdepfile='$(DEPDIR)/TankShields.TPo' \ - $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankShields.obj `cygpath -w ../tank/TankShields.cpp` - TankSort.o: ../tank/TankSort.cpp source='../tank/TankSort.cpp' object='TankSort.o' libtool=no \ depfile='$(DEPDIR)/TankSort.Po' tmpdepfile='$(DEPDIR)/TankSort.TPo' \ @@ -9999,6 +10321,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetDefinition.obj `cygpath -w ../target/TargetDefinition.cpp` +TargetGroupEntry.o: ../target/TargetGroupEntry.cpp + source='../target/TargetGroupEntry.cpp' object='TargetGroupEntry.o' libtool=no \ + depfile='$(DEPDIR)/TargetGroupEntry.Po' tmpdepfile='$(DEPDIR)/TargetGroupEntry.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetGroupEntry.o `test -f '../target/TargetGroupEntry.cpp' || echo '$(srcdir)/'`../target/TargetGroupEntry.cpp + +TargetGroupEntry.obj: ../target/TargetGroupEntry.cpp + source='../target/TargetGroupEntry.cpp' object='TargetGroupEntry.obj' libtool=no \ + depfile='$(DEPDIR)/TargetGroupEntry.Po' tmpdepfile='$(DEPDIR)/TargetGroupEntry.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetGroupEntry.obj `cygpath -w ../target/TargetGroupEntry.cpp` + TargetLife.o: ../target/TargetLife.cpp source='../target/TargetLife.cpp' object='TargetLife.o' libtool=no \ depfile='$(DEPDIR)/TargetLife.Po' tmpdepfile='$(DEPDIR)/TargetLife.TPo' \ @@ -10107,6 +10441,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PlacementObjectModel.obj `cygpath -w ../placement/PlacementObjectModel.cpp` +PlacementObjectNone.o: ../placement/PlacementObjectNone.cpp + source='../placement/PlacementObjectNone.cpp' object='PlacementObjectNone.o' libtool=no \ + depfile='$(DEPDIR)/PlacementObjectNone.Po' tmpdepfile='$(DEPDIR)/PlacementObjectNone.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PlacementObjectNone.o `test -f '../placement/PlacementObjectNone.cpp' || echo '$(srcdir)/'`../placement/PlacementObjectNone.cpp + +PlacementObjectNone.obj: ../placement/PlacementObjectNone.cpp + source='../placement/PlacementObjectNone.cpp' object='PlacementObjectNone.obj' libtool=no \ + depfile='$(DEPDIR)/PlacementObjectNone.Po' tmpdepfile='$(DEPDIR)/PlacementObjectNone.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PlacementObjectNone.obj `cygpath -w ../placement/PlacementObjectNone.cpp` + PlacementObjectRandom.o: ../placement/PlacementObjectRandom.cpp source='../placement/PlacementObjectRandom.cpp' object='PlacementObjectRandom.o' libtool=no \ depfile='$(DEPDIR)/PlacementObjectRandom.Po' tmpdepfile='$(DEPDIR)/PlacementObjectRandom.TPo' \ @@ -10575,6 +10921,18 @@ $(CXXDEPMODE) $(depcomp) \ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ComsLevelMessage.obj `cygpath -w ../coms/ComsLevelMessage.cpp` +ComsLinesMessage.o: ../coms/ComsLinesMessage.cpp + source='../coms/ComsLinesMessage.cpp' object='ComsLinesMessage.o' libtool=no \ + depfile='$(DEPDIR)/ComsLinesMessage.Po' tmpdepfile='$(DEPDIR)/ComsLinesMessage.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ComsLinesMessage.o `test -f '../coms/ComsLinesMessage.cpp' || echo '$(srcdir)/'`../coms/ComsLinesMessage.cpp + +ComsLinesMessage.obj: ../coms/ComsLinesMessage.cpp + source='../coms/ComsLinesMessage.cpp' object='ComsLinesMessage.obj' libtool=no \ + depfile='$(DEPDIR)/ComsLinesMessage.Po' tmpdepfile='$(DEPDIR)/ComsLinesMessage.TPo' \ + $(CXXDEPMODE) $(depcomp) \ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ComsLinesMessage.obj `cygpath -w ../coms/ComsLinesMessage.cpp` + ComsMessage.o: ../coms/ComsMessage.cpp source='../coms/ComsMessage.cpp' object='ComsMessage.o' libtool=no \ depfile='$(DEPDIR)/ComsMessage.Po' tmpdepfile='$(DEPDIR)/ComsMessage.TPo' \ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/Makefile.am /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/Makefile.am --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/Makefile.am 2006-07-16 00:14:50.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/Makefile.am 2006-10-28 03:48:23.000000000 +0900 @@ -53,6 +53,9 @@ ../GLEXT/GLMenuEntry.h \ ../GLEXT/GLMenuI.cpp \ ../GLEXT/GLMenuI.h \ + ../GLEXT/GLMissingExt.h \ + ../GLEXT/GLShadowFrameBuffer.cpp \ + ../GLEXT/GLShadowFrameBuffer.h \ ../GLEXT/GLState.cpp \ ../GLEXT/GLState.h \ ../GLEXT/GLStateExtension.cpp \ @@ -189,6 +192,10 @@ ../tankgraph/TargetRendererImplTank.h \ ../tankgraph/TargetRendererImplTarget.cpp \ ../tankgraph/TargetRendererImplTarget.h \ + ../tankgraph/TargetRendererImplTargetModel.cpp \ + ../tankgraph/TargetRendererImplTargetModel.h \ + ../tankgraph/TargetRendererImplTargetTree.cpp \ + ../tankgraph/TargetRendererImplTargetTree.h \ ../common/ARGParser.cpp \ ../common/ARGParser.h \ ../common/Clock.cpp \ @@ -236,6 +243,8 @@ ../common/OptionsDisplay.h \ ../common/OptionsGame.cpp \ ../common/OptionsGame.h \ + ../common/OptionsMasterListServer.cpp \ + ../common/OptionsMasterListServer.h \ ../common/OptionsParam.cpp \ ../common/OptionsParam.h \ ../common/OptionsTransient.cpp \ @@ -258,6 +267,8 @@ ../common/Triangle.h \ ../common/Vector.cpp \ ../common/Vector.h \ + ../common/Vector4.cpp \ + ../common/Vector4.h \ ../common/VectorLib.cpp \ ../common/VectorLib.h \ ../common/snprintf.c \ @@ -354,6 +365,8 @@ ../engine/ActionMeta.h \ ../engine/EventContainer.cpp \ ../engine/EventContainer.h \ + ../engine/FrameLimiter.cpp \ + ../engine/FrameLimiter.h \ ../engine/FrameTimer.cpp \ ../engine/FrameTimer.h \ ../engine/GameState.cpp \ @@ -442,8 +455,14 @@ ../landscape/LandscapeObjectsSetEntry.h \ ../landscape/LandscapePoints.cpp \ ../landscape/LandscapePoints.h \ + ../landscape/LandscapeShadowCamera.cpp \ + ../landscape/LandscapeShadowCamera.h \ + ../landscape/LandscapeShadowHandler.cpp \ + ../landscape/LandscapeShadowHandler.h \ ../landscape/LandscapeSoundManager.cpp \ ../landscape/LandscapeSoundManager.h \ + ../landscape/LandscapeStateHandler.cpp \ + ../landscape/LandscapeStateHandler.h \ ../landscape/MapPoints.cpp \ ../landscape/MapPoints.h \ ../landscape/MovementMap.cpp \ @@ -518,16 +537,20 @@ ../weapons/EconomyNone.h \ ../weapons/EconomyStore.cpp \ ../weapons/EconomyStore.h \ - ../weapons/Fuel.cpp \ - ../weapons/Fuel.h \ ../weapons/Parachute.cpp \ ../weapons/Parachute.h \ ../weapons/Shield.cpp \ ../weapons/Shield.h \ - ../weapons/ShieldMag.cpp \ - ../weapons/ShieldMag.h \ - ../weapons/ShieldReflective.cpp \ - ../weapons/ShieldReflective.h \ + ../weapons/ShieldRound.cpp \ + ../weapons/ShieldRound.h \ + ../weapons/ShieldRoundMag.cpp \ + ../weapons/ShieldRoundMag.h \ + ../weapons/ShieldRoundReflective.cpp \ + ../weapons/ShieldRoundReflective.h \ + ../weapons/ShieldSquare.cpp \ + ../weapons/ShieldSquare.h \ + ../weapons/ShieldSquareReflective.cpp \ + ../weapons/ShieldSquareReflective.h \ ../weapons/Weapon.cpp \ ../weapons/Weapon.h \ ../weapons/WeaponAddTarget.cpp \ @@ -568,6 +591,8 @@ ../weapons/WeaponLightning.h \ ../weapons/WeaponMirv.cpp \ ../weapons/WeaponMirv.h \ + ../weapons/WeaponMoveTank.cpp \ + ../weapons/WeaponMoveTank.h \ ../weapons/WeaponMulti.cpp \ ../weapons/WeaponMulti.h \ ../weapons/WeaponMuzzle.cpp \ @@ -592,14 +617,24 @@ ../weapons/WeaponScatterDirection.h \ ../weapons/WeaponScatterPosition.cpp \ ../weapons/WeaponScatterPosition.h \ + ../weapons/WeaponSelectPosition.cpp \ + ../weapons/WeaponSelectPosition.h \ ../weapons/WeaponSkyFlash.cpp \ ../weapons/WeaponSkyFlash.h \ ../weapons/WeaponSound.cpp \ ../weapons/WeaponSound.h \ + ../weapons/WeaponTankPosition.cpp \ + ../weapons/WeaponTankPosition.h \ + ../weapons/WeaponTankVelocity.cpp \ + ../weapons/WeaponTankVelocity.h \ + ../weapons/WeaponTeamAction.cpp \ + ../weapons/WeaponTeamAction.h \ ../weapons/WeaponTeleport.cpp \ ../weapons/WeaponTeleport.h \ ../weapons/WeaponTranslate.cpp \ ../weapons/WeaponTranslate.h \ + ../weapons/WeaponTypeAction.cpp \ + ../weapons/WeaponTypeAction.h \ ../weapons/WeaponVelocity.cpp \ ../weapons/WeaponVelocity.h \ ../ode/array.cpp \ @@ -607,6 +642,7 @@ ../ode/collision.h \ ../ode/collision_kernel.cpp \ ../ode/collision_kernel.h \ + ../ode/collision_quadtreespace.cpp \ ../ode/collision_space.cpp \ ../ode/collision_space.h \ ../ode/collision_space_internal.h \ @@ -821,6 +857,8 @@ ../client/ClientKeepAliveSender.h \ ../client/ClientLastChanceHandler.cpp \ ../client/ClientLastChanceHandler.h \ + ../client/ClientLinesHandler.cpp \ + ../client/ClientLinesHandler.h \ ../client/ClientLoadPlayersState.cpp \ ../client/ClientLoadPlayersState.h \ ../client/ClientMain.cpp \ @@ -921,6 +959,8 @@ ../server/ServerInitializeHandler.h \ ../server/ServerKeepAliveHandler.cpp \ ../server/ServerKeepAliveHandler.h \ + ../server/ServerLinesHandler.cpp \ + ../server/ServerLinesHandler.h \ ../server/ServerLog.cpp \ ../server/ServerLog.h \ ../server/ServerMain.cpp \ @@ -1008,22 +1048,16 @@ ../tank/TankDeadContainer.h \ ../tank/TankDefinition.cpp \ ../tank/TankDefinition.h \ - ../tank/TankFuel.cpp \ - ../tank/TankFuel.h \ ../tank/TankLib.cpp \ ../tank/TankLib.h \ ../tank/TankMod.cpp \ ../tank/TankMod.h \ ../tank/TankModelContainer.cpp \ ../tank/TankModelContainer.h \ - ../tank/TankParachutes.cpp \ - ../tank/TankParachutes.h \ ../tank/TankPosition.cpp \ ../tank/TankPosition.h \ ../tank/TankScore.cpp \ ../tank/TankScore.h \ - ../tank/TankShields.cpp \ - ../tank/TankShields.h \ ../tank/TankSort.cpp \ ../tank/TankSort.h \ ../tank/TankState.cpp \ @@ -1116,6 +1150,8 @@ ../target/TargetDamageCalc.h \ ../target/TargetDefinition.cpp \ ../target/TargetDefinition.h \ + ../target/TargetGroupEntry.cpp \ + ../target/TargetGroupEntry.h \ ../target/TargetLife.cpp \ ../target/TargetLife.h \ ../target/TargetParachute.cpp \ @@ -1134,6 +1170,8 @@ ../placement/PlacementObjectGroup.h \ ../placement/PlacementObjectModel.cpp \ ../placement/PlacementObjectModel.h \ + ../placement/PlacementObjectNone.cpp \ + ../placement/PlacementObjectNone.h \ ../placement/PlacementObjectRandom.cpp \ ../placement/PlacementObjectRandom.h \ ../placement/PlacementObjectShadow.cpp \ @@ -1213,6 +1251,8 @@ ../coms/ComsLastChanceMessage.h \ ../coms/ComsLevelMessage.cpp \ ../coms/ComsLevelMessage.h \ + ../coms/ComsLinesMessage.cpp \ + ../coms/ComsLinesMessage.h \ ../coms/ComsMessage.cpp \ ../coms/ComsMessage.h \ ../coms/ComsMessageHandler.cpp \ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/Makefile.in /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/Makefile.in --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/Makefile.in 2006-07-16 00:15:28.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/Makefile.in 2006-11-17 20:45:54.000000000 +0900 @@ -68,6 +68,7 @@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +FREEALUT_CONFIG = @FREEALUT_CONFIG@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_CONFIG = @FT2_CONFIG@ FT2_LIBS = @FT2_LIBS@ @@ -153,6 +154,9 @@ ../GLEXT/GLMenuEntry.h \ ../GLEXT/GLMenuI.cpp \ ../GLEXT/GLMenuI.h \ + ../GLEXT/GLMissingExt.h \ + ../GLEXT/GLShadowFrameBuffer.cpp \ + ../GLEXT/GLShadowFrameBuffer.h \ ../GLEXT/GLState.cpp \ ../GLEXT/GLState.h \ ../GLEXT/GLStateExtension.cpp \ @@ -289,6 +293,10 @@ ../tankgraph/TargetRendererImplTank.h \ ../tankgraph/TargetRendererImplTarget.cpp \ ../tankgraph/TargetRendererImplTarget.h \ + ../tankgraph/TargetRendererImplTargetModel.cpp \ + ../tankgraph/TargetRendererImplTargetModel.h \ + ../tankgraph/TargetRendererImplTargetTree.cpp \ + ../tankgraph/TargetRendererImplTargetTree.h \ ../common/ARGParser.cpp \ ../common/ARGParser.h \ ../common/Clock.cpp \ @@ -336,6 +344,8 @@ ../common/OptionsDisplay.h \ ../common/OptionsGame.cpp \ ../common/OptionsGame.h \ + ../common/OptionsMasterListServer.cpp \ + ../common/OptionsMasterListServer.h \ ../common/OptionsParam.cpp \ ../common/OptionsParam.h \ ../common/OptionsTransient.cpp \ @@ -358,6 +368,8 @@ ../common/Triangle.h \ ../common/Vector.cpp \ ../common/Vector.h \ + ../common/Vector4.cpp \ + ../common/Vector4.h \ ../common/VectorLib.cpp \ ../common/VectorLib.h \ ../common/snprintf.c \ @@ -454,6 +466,8 @@ ../engine/ActionMeta.h \ ../engine/EventContainer.cpp \ ../engine/EventContainer.h \ + ../engine/FrameLimiter.cpp \ + ../engine/FrameLimiter.h \ ../engine/FrameTimer.cpp \ ../engine/FrameTimer.h \ ../engine/GameState.cpp \ @@ -542,8 +556,14 @@ ../landscape/LandscapeObjectsSetEntry.h \ ../landscape/LandscapePoints.cpp \ ../landscape/LandscapePoints.h \ + ../landscape/LandscapeShadowCamera.cpp \ + ../landscape/LandscapeShadowCamera.h \ + ../landscape/LandscapeShadowHandler.cpp \ + ../landscape/LandscapeShadowHandler.h \ ../landscape/LandscapeSoundManager.cpp \ ../landscape/LandscapeSoundManager.h \ + ../landscape/LandscapeStateHandler.cpp \ + ../landscape/LandscapeStateHandler.h \ ../landscape/MapPoints.cpp \ ../landscape/MapPoints.h \ ../landscape/MovementMap.cpp \ @@ -618,16 +638,20 @@ ../weapons/EconomyNone.h \ ../weapons/EconomyStore.cpp \ ../weapons/EconomyStore.h \ - ../weapons/Fuel.cpp \ - ../weapons/Fuel.h \ ../weapons/Parachute.cpp \ ../weapons/Parachute.h \ ../weapons/Shield.cpp \ ../weapons/Shield.h \ - ../weapons/ShieldMag.cpp \ - ../weapons/ShieldMag.h \ - ../weapons/ShieldReflective.cpp \ - ../weapons/ShieldReflective.h \ + ../weapons/ShieldRound.cpp \ + ../weapons/ShieldRound.h \ + ../weapons/ShieldRoundMag.cpp \ + ../weapons/ShieldRoundMag.h \ + ../weapons/ShieldRoundReflective.cpp \ + ../weapons/ShieldRoundReflective.h \ + ../weapons/ShieldSquare.cpp \ + ../weapons/ShieldSquare.h \ + ../weapons/ShieldSquareReflective.cpp \ + ../weapons/ShieldSquareReflective.h \ ../weapons/Weapon.cpp \ ../weapons/Weapon.h \ ../weapons/WeaponAddTarget.cpp \ @@ -668,6 +692,8 @@ ../weapons/WeaponLightning.h \ ../weapons/WeaponMirv.cpp \ ../weapons/WeaponMirv.h \ + ../weapons/WeaponMoveTank.cpp \ + ../weapons/WeaponMoveTank.h \ ../weapons/WeaponMulti.cpp \ ../weapons/WeaponMulti.h \ ../weapons/WeaponMuzzle.cpp \ @@ -692,14 +718,24 @@ ../weapons/WeaponScatterDirection.h \ ../weapons/WeaponScatterPosition.cpp \ ../weapons/WeaponScatterPosition.h \ + ../weapons/WeaponSelectPosition.cpp \ + ../weapons/WeaponSelectPosition.h \ ../weapons/WeaponSkyFlash.cpp \ ../weapons/WeaponSkyFlash.h \ ../weapons/WeaponSound.cpp \ ../weapons/WeaponSound.h \ + ../weapons/WeaponTankPosition.cpp \ + ../weapons/WeaponTankPosition.h \ + ../weapons/WeaponTankVelocity.cpp \ + ../weapons/WeaponTankVelocity.h \ + ../weapons/WeaponTeamAction.cpp \ + ../weapons/WeaponTeamAction.h \ ../weapons/WeaponTeleport.cpp \ ../weapons/WeaponTeleport.h \ ../weapons/WeaponTranslate.cpp \ ../weapons/WeaponTranslate.h \ + ../weapons/WeaponTypeAction.cpp \ + ../weapons/WeaponTypeAction.h \ ../weapons/WeaponVelocity.cpp \ ../weapons/WeaponVelocity.h \ ../ode/array.cpp \ @@ -707,6 +743,7 @@ ../ode/collision.h \ ../ode/collision_kernel.cpp \ ../ode/collision_kernel.h \ + ../ode/collision_quadtreespace.cpp \ ../ode/collision_space.cpp \ ../ode/collision_space.h \ ../ode/collision_space_internal.h \ @@ -921,6 +958,8 @@ ../client/ClientKeepAliveSender.h \ ../client/ClientLastChanceHandler.cpp \ ../client/ClientLastChanceHandler.h \ + ../client/ClientLinesHandler.cpp \ + ../client/ClientLinesHandler.h \ ../client/ClientLoadPlayersState.cpp \ ../client/ClientLoadPlayersState.h \ ../client/ClientMain.cpp \ @@ -1021,6 +1060,8 @@ ../server/ServerInitializeHandler.h \ ../server/ServerKeepAliveHandler.cpp \ ../server/ServerKeepAliveHandler.h \ + ../server/ServerLinesHandler.cpp \ + ../server/ServerLinesHandler.h \ ../server/ServerLog.cpp \ ../server/ServerLog.h \ ../server/ServerMain.cpp \ @@ -1108,22 +1149,16 @@ ../tank/TankDeadContainer.h \ ../tank/TankDefinition.cpp \ ../tank/TankDefinition.h \ - ../tank/TankFuel.cpp \ - ../tank/TankFuel.h \ ../tank/TankLib.cpp \ ../tank/TankLib.h \ ../tank/TankMod.cpp \ ../tank/TankMod.h \ ../tank/TankModelContainer.cpp \ ../tank/TankModelContainer.h \ - ../tank/TankParachutes.cpp \ - ../tank/TankParachutes.h \ ../tank/TankPosition.cpp \ ../tank/TankPosition.h \ ../tank/TankScore.cpp \ ../tank/TankScore.h \ - ../tank/TankShields.cpp \ - ../tank/TankShields.h \ ../tank/TankSort.cpp \ ../tank/TankSort.h \ ../tank/TankState.cpp \ @@ -1216,6 +1251,8 @@ ../target/TargetDamageCalc.h \ ../target/TargetDefinition.cpp \ ../target/TargetDefinition.h \ + ../target/TargetGroupEntry.cpp \ + ../target/TargetGroupEntry.h \ ../target/TargetLife.cpp \ ../target/TargetLife.h \ ../target/TargetParachute.cpp \ @@ -1234,6 +1271,8 @@ ../placement/PlacementObjectGroup.h \ ../placement/PlacementObjectModel.cpp \ ../placement/PlacementObjectModel.h \ + ../placement/PlacementObjectNone.cpp \ + ../placement/PlacementObjectNone.h \ ../placement/PlacementObjectRandom.cpp \ ../placement/PlacementObjectRandom.h \ ../placement/PlacementObjectShadow.cpp \ @@ -1313,6 +1352,8 @@ ../coms/ComsLastChanceMessage.h \ ../coms/ComsLevelMessage.cpp \ ../coms/ComsLevelMessage.h \ + ../coms/ComsLinesMessage.cpp \ + ../coms/ComsLinesMessage.h \ ../coms/ComsMessage.cpp \ ../coms/ComsMessage.h \ ../coms/ComsMessageHandler.cpp \ @@ -1381,7 +1422,8 @@ GLDynamicVertexArray.$(OBJEXT) GLFont2d.$(OBJEXT) \ GLGif.$(OBJEXT) GLImage.$(OBJEXT) GLInfo.$(OBJEXT) \ GLLenseFlare.$(OBJEXT) GLLuminance.$(OBJEXT) GLMenu.$(OBJEXT) \ - GLMenuEntry.$(OBJEXT) GLMenuI.$(OBJEXT) GLState.$(OBJEXT) \ + GLMenuEntry.$(OBJEXT) GLMenuI.$(OBJEXT) \ + GLShadowFrameBuffer.$(OBJEXT) GLState.$(OBJEXT) \ GLStateExtension.$(OBJEXT) GLTexture.$(OBJEXT) \ GLTextureBase.$(OBJEXT) GLTextureCubeMap.$(OBJEXT) \ GLTextureSet.$(OBJEXT) GLVertexArray.$(OBJEXT) \ @@ -1412,7 +1454,9 @@ TankMenus.$(OBJEXT) TankMesh.$(OBJEXT) TankModel.$(OBJEXT) \ TankModelStore.$(OBJEXT) TargetParticleRenderer.$(OBJEXT) \ TargetRendererImpl.$(OBJEXT) TargetRendererImplTank.$(OBJEXT) \ - TargetRendererImplTarget.$(OBJEXT) ARGParser.$(OBJEXT) \ + TargetRendererImplTarget.$(OBJEXT) \ + TargetRendererImplTargetModel.$(OBJEXT) \ + TargetRendererImplTargetTree.$(OBJEXT) ARGParser.$(OBJEXT) \ Clock.$(OBJEXT) Defines.$(OBJEXT) DefinesAssert.$(OBJEXT) \ DefinesFile.$(OBJEXT) DefinesMath.$(OBJEXT) \ DefinesScorched.$(OBJEXT) DefinesString.$(OBJEXT) \ @@ -1421,11 +1465,12 @@ KeyboardKey.$(OBJEXT) Line.$(OBJEXT) Logger.$(OBJEXT) \ LoggerI.$(OBJEXT) Mouse.$(OBJEXT) OptionEntry.$(OBJEXT) \ OptionsDisplay.$(OBJEXT) OptionsGame.$(OBJEXT) \ - OptionsParam.$(OBJEXT) OptionsTransient.$(OBJEXT) \ - ProgressCounter.$(OBJEXT) RandomGenerator.$(OBJEXT) \ - SplineCurve.$(OBJEXT) SplinePath.$(OBJEXT) \ - StatsLogger.$(OBJEXT) StatsLoggerFile.$(OBJEXT) \ - StatsLoggerMySQL.$(OBJEXT) Triangle.$(OBJEXT) Vector.$(OBJEXT) \ + OptionsMasterListServer.$(OBJEXT) OptionsParam.$(OBJEXT) \ + OptionsTransient.$(OBJEXT) ProgressCounter.$(OBJEXT) \ + RandomGenerator.$(OBJEXT) SplineCurve.$(OBJEXT) \ + SplinePath.$(OBJEXT) StatsLogger.$(OBJEXT) \ + StatsLoggerFile.$(OBJEXT) StatsLoggerMySQL.$(OBJEXT) \ + Triangle.$(OBJEXT) Vector.$(OBJEXT) Vector4.$(OBJEXT) \ VectorLib.$(OBJEXT) snprintf.$(OBJEXT) \ ASEModelFactory.$(OBJEXT) Bone.$(OBJEXT) Face.$(OBJEXT) \ ImageID.$(OBJEXT) ImageStore.$(OBJEXT) MSModelFactory.$(OBJEXT) \ @@ -1447,8 +1492,8 @@ TalkSettingsDialog.$(OBJEXT) TutorialDialog.$(OBJEXT) \ Action.$(OBJEXT) ActionBuffer.$(OBJEXT) \ ActionController.$(OBJEXT) ActionMeta.$(OBJEXT) \ - EventContainer.$(OBJEXT) FrameTimer.$(OBJEXT) \ - GameState.$(OBJEXT) GameStateI.$(OBJEXT) \ + EventContainer.$(OBJEXT) FrameLimiter.$(OBJEXT) \ + FrameTimer.$(OBJEXT) GameState.$(OBJEXT) GameStateI.$(OBJEXT) \ GameStateStimulusI.$(OBJEXT) MainLoop.$(OBJEXT) \ MainLoopI.$(OBJEXT) MetaClass.$(OBJEXT) ModDirs.$(OBJEXT) \ ModFileEntry.$(OBJEXT) ModFiles.$(OBJEXT) ModInfo.$(OBJEXT) \ @@ -1471,23 +1516,27 @@ LandscapeObjectsEntryTree.$(OBJEXT) \ LandscapeObjectsGroupEntry.$(OBJEXT) \ LandscapeObjectsSetEntry.$(OBJEXT) LandscapePoints.$(OBJEXT) \ - LandscapeSoundManager.$(OBJEXT) MapPoints.$(OBJEXT) \ - MovementMap.$(OBJEXT) NapalmMap.$(OBJEXT) Patch.$(OBJEXT) \ - PatchGrid.$(OBJEXT) PatchSide.$(OBJEXT) PatchTexCoord.$(OBJEXT) \ - RoofMaps.$(OBJEXT) ShadowMap.$(OBJEXT) Sky.$(OBJEXT) \ - SkyDome.$(OBJEXT) SkyRoof.$(OBJEXT) SkyRoofCollision.$(OBJEXT) \ - Smoke.$(OBJEXT) Sun.$(OBJEXT) Surround.$(OBJEXT) \ - SurroundDefault.$(OBJEXT) SurroundLandscape.$(OBJEXT) \ - TriNode.$(OBJEXT) TriNodePool.$(OBJEXT) Variance.$(OBJEXT) \ - Wall.$(OBJEXT) Water.$(OBJEXT) WaterMap.$(OBJEXT) \ - WaterMapModifier.$(OBJEXT) WaterMapPoints.$(OBJEXT) \ - WaterMapSurround.$(OBJEXT) WaterWaves.$(OBJEXT) \ - Accessory.$(OBJEXT) AccessoryPart.$(OBJEXT) \ - AccessoryStore.$(OBJEXT) AutoDefense.$(OBJEXT) \ - Battery.$(OBJEXT) Economy.$(OBJEXT) EconomyFreeMarket.$(OBJEXT) \ - EconomyNone.$(OBJEXT) EconomyStore.$(OBJEXT) Fuel.$(OBJEXT) \ - Parachute.$(OBJEXT) Shield.$(OBJEXT) ShieldMag.$(OBJEXT) \ - ShieldReflective.$(OBJEXT) Weapon.$(OBJEXT) \ + LandscapeShadowCamera.$(OBJEXT) \ + LandscapeShadowHandler.$(OBJEXT) \ + LandscapeSoundManager.$(OBJEXT) LandscapeStateHandler.$(OBJEXT) \ + MapPoints.$(OBJEXT) MovementMap.$(OBJEXT) NapalmMap.$(OBJEXT) \ + Patch.$(OBJEXT) PatchGrid.$(OBJEXT) PatchSide.$(OBJEXT) \ + PatchTexCoord.$(OBJEXT) RoofMaps.$(OBJEXT) ShadowMap.$(OBJEXT) \ + Sky.$(OBJEXT) SkyDome.$(OBJEXT) SkyRoof.$(OBJEXT) \ + SkyRoofCollision.$(OBJEXT) Smoke.$(OBJEXT) Sun.$(OBJEXT) \ + Surround.$(OBJEXT) SurroundDefault.$(OBJEXT) \ + SurroundLandscape.$(OBJEXT) TriNode.$(OBJEXT) \ + TriNodePool.$(OBJEXT) Variance.$(OBJEXT) Wall.$(OBJEXT) \ + Water.$(OBJEXT) WaterMap.$(OBJEXT) WaterMapModifier.$(OBJEXT) \ + WaterMapPoints.$(OBJEXT) WaterMapSurround.$(OBJEXT) \ + WaterWaves.$(OBJEXT) Accessory.$(OBJEXT) \ + AccessoryPart.$(OBJEXT) AccessoryStore.$(OBJEXT) \ + AutoDefense.$(OBJEXT) Battery.$(OBJEXT) Economy.$(OBJEXT) \ + EconomyFreeMarket.$(OBJEXT) EconomyNone.$(OBJEXT) \ + EconomyStore.$(OBJEXT) Parachute.$(OBJEXT) Shield.$(OBJEXT) \ + ShieldRound.$(OBJEXT) ShieldRoundMag.$(OBJEXT) \ + ShieldRoundReflective.$(OBJEXT) ShieldSquare.$(OBJEXT) \ + ShieldSquareReflective.$(OBJEXT) Weapon.$(OBJEXT) \ WeaponAddTarget.$(OBJEXT) WeaponAimedOver.$(OBJEXT) \ WeaponAimedUnder.$(OBJEXT) WeaponAnimation.$(OBJEXT) \ WeaponCenterPosition.$(OBJEXT) WeaponDelay.$(OBJEXT) \ @@ -1497,16 +1546,20 @@ WeaponGiveScore.$(OBJEXT) WeaponGiveWin.$(OBJEXT) \ WeaponInvokeWeapon.$(OBJEXT) WeaponLaser.$(OBJEXT) \ WeaponLeapFrog.$(OBJEXT) WeaponLightning.$(OBJEXT) \ - WeaponMirv.$(OBJEXT) WeaponMulti.$(OBJEXT) \ - WeaponMuzzle.$(OBJEXT) WeaponNapalm.$(OBJEXT) \ - WeaponNull.$(OBJEXT) WeaponProjectile.$(OBJEXT) \ - WeaponRandomChoice.$(OBJEXT) WeaponRedirect.$(OBJEXT) \ - WeaponReference.$(OBJEXT) WeaponRepeat.$(OBJEXT) \ - WeaponRoller.$(OBJEXT) WeaponScatterDirection.$(OBJEXT) \ - WeaponScatterPosition.$(OBJEXT) WeaponSkyFlash.$(OBJEXT) \ - WeaponSound.$(OBJEXT) WeaponTeleport.$(OBJEXT) \ - WeaponTranslate.$(OBJEXT) WeaponVelocity.$(OBJEXT) \ - array.$(OBJEXT) collision_kernel.$(OBJEXT) \ + WeaponMirv.$(OBJEXT) WeaponMoveTank.$(OBJEXT) \ + WeaponMulti.$(OBJEXT) WeaponMuzzle.$(OBJEXT) \ + WeaponNapalm.$(OBJEXT) WeaponNull.$(OBJEXT) \ + WeaponProjectile.$(OBJEXT) WeaponRandomChoice.$(OBJEXT) \ + WeaponRedirect.$(OBJEXT) WeaponReference.$(OBJEXT) \ + WeaponRepeat.$(OBJEXT) WeaponRoller.$(OBJEXT) \ + WeaponScatterDirection.$(OBJEXT) \ + WeaponScatterPosition.$(OBJEXT) WeaponSelectPosition.$(OBJEXT) \ + WeaponSkyFlash.$(OBJEXT) WeaponSound.$(OBJEXT) \ + WeaponTankPosition.$(OBJEXT) WeaponTankVelocity.$(OBJEXT) \ + WeaponTeamAction.$(OBJEXT) WeaponTeleport.$(OBJEXT) \ + WeaponTranslate.$(OBJEXT) WeaponTypeAction.$(OBJEXT) \ + WeaponVelocity.$(OBJEXT) array.$(OBJEXT) \ + collision_kernel.$(OBJEXT) collision_quadtreespace.$(OBJEXT) \ collision_space.$(OBJEXT) collision_std.$(OBJEXT) \ collision_transform.$(OBJEXT) collision_util.$(OBJEXT) \ error.$(OBJEXT) export-dif.$(OBJEXT) fastdot.$(OBJEXT) \ @@ -1554,7 +1607,7 @@ ClientGameStoppedHandler.$(OBJEXT) \ ClientInitializeHandler.$(OBJEXT) \ ClientKeepAliveSender.$(OBJEXT) \ - ClientLastChanceHandler.$(OBJEXT) \ + ClientLastChanceHandler.$(OBJEXT) ClientLinesHandler.$(OBJEXT) \ ClientLoadPlayersState.$(OBJEXT) ClientMain.$(OBJEXT) \ ClientMessageHandler.$(OBJEXT) ClientNewGameHandler.$(OBJEXT) \ ClientPlayerAimHandler.$(OBJEXT) \ @@ -1583,11 +1636,11 @@ ServerDefenseHandler.$(OBJEXT) ServerFileAkHandler.$(OBJEXT) \ ServerFileServer.$(OBJEXT) ServerHaveModFilesHandler.$(OBJEXT) \ ServerInitializeHandler.$(OBJEXT) \ - ServerKeepAliveHandler.$(OBJEXT) ServerLog.$(OBJEXT) \ - ServerMain.$(OBJEXT) ServerMessageHandler.$(OBJEXT) \ - ServerNewGameState.$(OBJEXT) ServerNextRoundState.$(OBJEXT) \ - ServerNextShotState.$(OBJEXT) ServerNextTurnState.$(OBJEXT) \ - ServerPlayedMoveHandler.$(OBJEXT) \ + ServerKeepAliveHandler.$(OBJEXT) ServerLinesHandler.$(OBJEXT) \ + ServerLog.$(OBJEXT) ServerMain.$(OBJEXT) \ + ServerMessageHandler.$(OBJEXT) ServerNewGameState.$(OBJEXT) \ + ServerNextRoundState.$(OBJEXT) ServerNextShotState.$(OBJEXT) \ + ServerNextTurnState.$(OBJEXT) ServerPlayedMoveHandler.$(OBJEXT) \ ServerPlayerAimHandler.$(OBJEXT) \ ServerPlayerReadyHandler.$(OBJEXT) ServerPlayingState.$(OBJEXT) \ ServerReadyState.$(OBJEXT) ServerRegistration.$(OBJEXT) \ @@ -1606,36 +1659,35 @@ TankAutoDefense.$(OBJEXT) TankAvatar.$(OBJEXT) \ TankBatteries.$(OBJEXT) TankColorGenerator.$(OBJEXT) \ TankContainer.$(OBJEXT) TankDeadContainer.$(OBJEXT) \ - TankDefinition.$(OBJEXT) TankFuel.$(OBJEXT) TankLib.$(OBJEXT) \ - TankMod.$(OBJEXT) TankModelContainer.$(OBJEXT) \ - TankParachutes.$(OBJEXT) TankPosition.$(OBJEXT) \ - TankScore.$(OBJEXT) TankShields.$(OBJEXT) TankSort.$(OBJEXT) \ - TankState.$(OBJEXT) TankTeamScore.$(OBJEXT) TankType.$(OBJEXT) \ - TankTypes.$(OBJEXT) TankWeapon.$(OBJEXT) \ - PlayingSoundSource.$(OBJEXT) Sound.$(OBJEXT) \ - SoundBuffer.$(OBJEXT) SoundBufferDynamicOV.$(OBJEXT) \ - SoundBufferEmpty.$(OBJEXT) SoundBufferFactory.$(OBJEXT) \ - SoundBufferStaticWav.$(OBJEXT) SoundListener.$(OBJEXT) \ - SoundSource.$(OBJEXT) SoundUtils.$(OBJEXT) \ - VirtualSoundSource.$(OBJEXT) CGFog.$(OBJEXT) CGLoader.$(OBJEXT) \ - CGProgram.$(OBJEXT) TankAI.$(OBJEXT) TankAIAdder.$(OBJEXT) \ - TankAIComputer.$(OBJEXT) TankAIComputerAim.$(OBJEXT) \ - TankAIComputerBuyer.$(OBJEXT) TankAIComputerTarget.$(OBJEXT) \ - TankAIHuman.$(OBJEXT) TankAIHumanCtrl.$(OBJEXT) \ - TankAIStore.$(OBJEXT) TankAIStrings.$(OBJEXT) \ - ScorchedShips.$(OBJEXT) Ship.$(OBJEXT) ShipGroup.$(OBJEXT) \ - XMLFile.$(OBJEXT) XMLNode.$(OBJEXT) XMLParser.$(OBJEXT) \ - XMLStringBuffer.$(OBJEXT) xmlparse.$(OBJEXT) xmlrole.$(OBJEXT) \ - xmltok.$(OBJEXT) Target.$(OBJEXT) TargetContainer.$(OBJEXT) \ + TankDefinition.$(OBJEXT) TankLib.$(OBJEXT) TankMod.$(OBJEXT) \ + TankModelContainer.$(OBJEXT) TankPosition.$(OBJEXT) \ + TankScore.$(OBJEXT) TankSort.$(OBJEXT) TankState.$(OBJEXT) \ + TankTeamScore.$(OBJEXT) TankType.$(OBJEXT) TankTypes.$(OBJEXT) \ + TankWeapon.$(OBJEXT) PlayingSoundSource.$(OBJEXT) \ + Sound.$(OBJEXT) SoundBuffer.$(OBJEXT) \ + SoundBufferDynamicOV.$(OBJEXT) SoundBufferEmpty.$(OBJEXT) \ + SoundBufferFactory.$(OBJEXT) SoundBufferStaticWav.$(OBJEXT) \ + SoundListener.$(OBJEXT) SoundSource.$(OBJEXT) \ + SoundUtils.$(OBJEXT) VirtualSoundSource.$(OBJEXT) \ + CGFog.$(OBJEXT) CGLoader.$(OBJEXT) CGProgram.$(OBJEXT) \ + TankAI.$(OBJEXT) TankAIAdder.$(OBJEXT) TankAIComputer.$(OBJEXT) \ + TankAIComputerAim.$(OBJEXT) TankAIComputerBuyer.$(OBJEXT) \ + TankAIComputerTarget.$(OBJEXT) TankAIHuman.$(OBJEXT) \ + TankAIHumanCtrl.$(OBJEXT) TankAIStore.$(OBJEXT) \ + TankAIStrings.$(OBJEXT) ScorchedShips.$(OBJEXT) Ship.$(OBJEXT) \ + ShipGroup.$(OBJEXT) XMLFile.$(OBJEXT) XMLNode.$(OBJEXT) \ + XMLParser.$(OBJEXT) XMLStringBuffer.$(OBJEXT) \ + xmlparse.$(OBJEXT) xmlrole.$(OBJEXT) xmltok.$(OBJEXT) \ + Target.$(OBJEXT) TargetContainer.$(OBJEXT) \ TargetDamageCalc.$(OBJEXT) TargetDefinition.$(OBJEXT) \ - TargetLife.$(OBJEXT) TargetParachute.$(OBJEXT) \ - TargetRenderer.$(OBJEXT) TargetShield.$(OBJEXT) \ - PlacementGroupDefinition.$(OBJEXT) \ + TargetGroupEntry.$(OBJEXT) TargetLife.$(OBJEXT) \ + TargetParachute.$(OBJEXT) TargetRenderer.$(OBJEXT) \ + TargetShield.$(OBJEXT) PlacementGroupDefinition.$(OBJEXT) \ PlacementModelDefinition.$(OBJEXT) PlacementObject.$(OBJEXT) \ PlacementObjectGroup.$(OBJEXT) PlacementObjectModel.$(OBJEXT) \ - PlacementObjectRandom.$(OBJEXT) PlacementObjectShadow.$(OBJEXT) \ - PlacementObjectTank.$(OBJEXT) PlacementObjectTarget.$(OBJEXT) \ - PlacementObjectTree.$(OBJEXT) \ + PlacementObjectNone.$(OBJEXT) PlacementObjectRandom.$(OBJEXT) \ + PlacementObjectShadow.$(OBJEXT) PlacementObjectTank.$(OBJEXT) \ + PlacementObjectTarget.$(OBJEXT) PlacementObjectTree.$(OBJEXT) \ PlacementShadowDefinition.$(OBJEXT) PlacementType.$(OBJEXT) \ PlacementTypeDirect.$(OBJEXT) PlacementTypeMask.$(OBJEXT) \ PlacementTypeTankStart.$(OBJEXT) PlacementTypeTree.$(OBJEXT) \ @@ -1654,10 +1706,11 @@ ComsHaveModFilesMessage.$(OBJEXT) \ ComsHeightMapMessage.$(OBJEXT) ComsInitializeMessage.$(OBJEXT) \ ComsKeepAliveMessage.$(OBJEXT) ComsLastChanceMessage.$(OBJEXT) \ - ComsLevelMessage.$(OBJEXT) ComsMessage.$(OBJEXT) \ - ComsMessageHandler.$(OBJEXT) ComsMessageSender.$(OBJEXT) \ - ComsNewGameMessage.$(OBJEXT) ComsPlayedMoveMessage.$(OBJEXT) \ - ComsPlayerAimMessage.$(OBJEXT) ComsPlayerReadyMessage.$(OBJEXT) \ + ComsLevelMessage.$(OBJEXT) ComsLinesMessage.$(OBJEXT) \ + ComsMessage.$(OBJEXT) ComsMessageHandler.$(OBJEXT) \ + ComsMessageSender.$(OBJEXT) ComsNewGameMessage.$(OBJEXT) \ + ComsPlayedMoveMessage.$(OBJEXT) ComsPlayerAimMessage.$(OBJEXT) \ + ComsPlayerReadyMessage.$(OBJEXT) \ ComsPlayerStateMessage.$(OBJEXT) \ ComsPlayerStatusMessage.$(OBJEXT) ComsRmPlayerMessage.$(OBJEXT) \ ComsScoreMessage.$(OBJEXT) ComsStartGameMessage.$(OBJEXT) \ @@ -1711,6 +1764,7 @@ @AMDEP_TRUE@ ./$(DEPDIR)/ClientInitializeHandler.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ClientKeepAliveSender.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ClientLastChanceHandler.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/ClientLinesHandler.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ClientLoadPlayersState.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ClientMain.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ClientMessageHandler.Po \ @@ -1745,6 +1799,7 @@ @AMDEP_TRUE@ ./$(DEPDIR)/ComsKeepAliveMessage.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ComsLastChanceMessage.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ComsLevelMessage.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/ComsLinesMessage.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ComsMessage.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ComsMessageHandler.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ComsMessageSender.Po \ @@ -1782,8 +1837,8 @@ @AMDEP_TRUE@ ./$(DEPDIR)/ExplosionTextures.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/Face.Po ./$(DEPDIR)/FileLines.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/FileList.Po ./$(DEPDIR)/FileLogger.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/FrameTimer.Po ./$(DEPDIR)/Fuel.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/GLBitmap.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/FrameLimiter.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/FrameTimer.Po ./$(DEPDIR)/GLBitmap.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/GLBitmapItterator.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/GLBitmapModifier.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/GLCamera.Po \ @@ -1804,7 +1859,9 @@ @AMDEP_TRUE@ ./$(DEPDIR)/GLLenseFlare.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/GLLuminance.Po ./$(DEPDIR)/GLMenu.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/GLMenuEntry.Po ./$(DEPDIR)/GLMenuI.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/GLSetup.Po ./$(DEPDIR)/GLState.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/GLSetup.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/GLShadowFrameBuffer.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/GLState.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/GLStateExtension.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/GLTexture.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/GLTextureBase.Po \ @@ -1883,9 +1940,12 @@ @AMDEP_TRUE@ ./$(DEPDIR)/LandscapeObjectsSetEntry.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/LandscapePlace.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/LandscapePoints.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/LandscapeShadowCamera.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/LandscapeShadowHandler.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/LandscapeShips.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/LandscapeSound.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/LandscapeSoundManager.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/LandscapeStateHandler.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/LandscapeTex.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/LandscapeTexDefn.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/Laser.Po ./$(DEPDIR)/Lightning.Po \ @@ -1929,6 +1989,7 @@ @AMDEP_TRUE@ ./$(DEPDIR)/OptionEntrySetter.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/OptionsDisplay.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/OptionsGame.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/OptionsMasterListServer.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/OptionsParam.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/OptionsTransient.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/Parachute.Po ./$(DEPDIR)/Particle.Po \ @@ -1946,6 +2007,7 @@ @AMDEP_TRUE@ ./$(DEPDIR)/PlacementObject.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/PlacementObjectGroup.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/PlacementObjectModel.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/PlacementObjectNone.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/PlacementObjectRandom.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/PlacementObjectShadow.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/PlacementObjectTank.Po \ @@ -2004,6 +2066,7 @@ @AMDEP_TRUE@ ./$(DEPDIR)/ServerHaveModFilesHandler.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ServerInitializeHandler.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ServerKeepAliveHandler.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/ServerLinesHandler.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ServerLog.Po ./$(DEPDIR)/ServerMain.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ServerMessageHandler.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ServerNewGameState.Po \ @@ -2032,9 +2095,13 @@ @AMDEP_TRUE@ ./$(DEPDIR)/ServerWebServer.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/SettingsDialog.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ShadowMap.Po ./$(DEPDIR)/Shield.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/ShieldHit.Po ./$(DEPDIR)/ShieldMag.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/ShieldReflective.Po ./$(DEPDIR)/Ship.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/ShipGroup.Po ./$(DEPDIR)/ShotBounce.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/ShieldHit.Po ./$(DEPDIR)/ShieldRound.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/ShieldRoundMag.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/ShieldRoundReflective.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/ShieldSquare.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/ShieldSquareReflective.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/Ship.Po ./$(DEPDIR)/ShipGroup.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/ShotBounce.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ShotCountDown.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ShotProjectile.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/SingleChoiceDialog.Po \ @@ -2092,19 +2159,17 @@ @AMDEP_TRUE@ ./$(DEPDIR)/TankDefinition.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TankFalling.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TankFallingEnd.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/TankFired.Po ./$(DEPDIR)/TankFuel.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/TankLib.Po ./$(DEPDIR)/TankMenus.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/TankMesh.Po ./$(DEPDIR)/TankMod.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/TankModel.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/TankFired.Po ./$(DEPDIR)/TankLib.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/TankMenus.Po ./$(DEPDIR)/TankMesh.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/TankMod.Po ./$(DEPDIR)/TankModel.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TankModelContainer.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TankModelStore.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TankMovement.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TankMovementEnd.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/TankParachutes.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TankPosition.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TankResign.Po ./$(DEPDIR)/TankSay.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/TankScore.Po ./$(DEPDIR)/TankShields.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/TankSort.Po ./$(DEPDIR)/TankState.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/TankScore.Po ./$(DEPDIR)/TankSort.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/TankState.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TankTeamScore.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TankType.Po ./$(DEPDIR)/TankTypes.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TankWeapon.Po ./$(DEPDIR)/Target.Po \ @@ -2112,6 +2177,7 @@ @AMDEP_TRUE@ ./$(DEPDIR)/TargetContainer.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TargetDamageCalc.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TargetDefinition.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/TargetGroupEntry.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TargetLife.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TargetParachute.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TargetParticleRenderer.Po \ @@ -2119,6 +2185,8 @@ @AMDEP_TRUE@ ./$(DEPDIR)/TargetRendererImpl.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TargetRendererImplTank.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TargetRendererImplTarget.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/TargetRendererImplTargetModel.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/TargetRendererImplTargetTree.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TargetShield.Po ./$(DEPDIR)/Teleport.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TextActionRenderer.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/TriNode.Po ./$(DEPDIR)/TriNodePool.Po \ @@ -2128,8 +2196,8 @@ @AMDEP_TRUE@ ./$(DEPDIR)/TutorialFile.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/UniqueIdStore.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/Variance.Po ./$(DEPDIR)/Vector.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/VectorLib.Po ./$(DEPDIR)/Vertex.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/ViewPoints.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/Vector4.Po ./$(DEPDIR)/VectorLib.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/Vertex.Po ./$(DEPDIR)/ViewPoints.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/VirtualSoundSource.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/Wall.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WallActionRenderer.Po \ @@ -2158,6 +2226,7 @@ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponLeapFrog.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponLightning.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponMirv.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/WeaponMoveTank.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponMulti.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponMuzzle.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponNapalm.Po \ @@ -2170,10 +2239,15 @@ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponRoller.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponScatterDirection.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponScatterPosition.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/WeaponSelectPosition.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponSkyFlash.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponSound.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/WeaponTankPosition.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/WeaponTankVelocity.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/WeaponTeamAction.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponTeleport.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponTranslate.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/WeaponTypeAction.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WeaponVelocity.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/WindowSetup.Po ./$(DEPDIR)/XMLFile.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/XMLNode.Po ./$(DEPDIR)/XMLParser.Po \ @@ -2182,6 +2256,7 @@ @AMDEP_TRUE@ ./$(DEPDIR)/aseFile.lex.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/aseFile.tab.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/collision_kernel.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/collision_quadtreespace.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/collision_space.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/collision_std.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/collision_transform.Po \ @@ -2281,6 +2356,7 @@ GLMenu.$(OBJEXT): ../GLEXT/GLMenu.cpp GLMenuEntry.$(OBJEXT): ../GLEXT/GLMenuEntry.cpp GLMenuI.$(OBJEXT): ../GLEXT/GLMenuI.cpp +GLShadowFrameBuffer.$(OBJEXT): ../GLEXT/GLShadowFrameBuffer.cpp GLState.$(OBJEXT): ../GLEXT/GLState.cpp GLStateExtension.$(OBJEXT): ../GLEXT/GLStateExtension.cpp GLTexture.$(OBJEXT): ../GLEXT/GLTexture.cpp @@ -2352,6 +2428,10 @@ ../tankgraph/TargetRendererImplTank.cpp TargetRendererImplTarget.$(OBJEXT): \ ../tankgraph/TargetRendererImplTarget.cpp +TargetRendererImplTargetModel.$(OBJEXT): \ + ../tankgraph/TargetRendererImplTargetModel.cpp +TargetRendererImplTargetTree.$(OBJEXT): \ + ../tankgraph/TargetRendererImplTargetTree.cpp ARGParser.$(OBJEXT): ../common/ARGParser.cpp Clock.$(OBJEXT): ../common/Clock.cpp Defines.$(OBJEXT): ../common/Defines.cpp @@ -2374,6 +2454,7 @@ OptionEntry.$(OBJEXT): ../common/OptionEntry.cpp OptionsDisplay.$(OBJEXT): ../common/OptionsDisplay.cpp OptionsGame.$(OBJEXT): ../common/OptionsGame.cpp +OptionsMasterListServer.$(OBJEXT): ../common/OptionsMasterListServer.cpp OptionsParam.$(OBJEXT): ../common/OptionsParam.cpp OptionsTransient.$(OBJEXT): ../common/OptionsTransient.cpp ProgressCounter.$(OBJEXT): ../common/ProgressCounter.cpp @@ -2385,6 +2466,7 @@ StatsLoggerMySQL.$(OBJEXT): ../common/StatsLoggerMySQL.cpp Triangle.$(OBJEXT): ../common/Triangle.cpp Vector.$(OBJEXT): ../common/Vector.cpp +Vector4.$(OBJEXT): ../common/Vector4.cpp VectorLib.$(OBJEXT): ../common/VectorLib.cpp snprintf.$(OBJEXT): ../common/snprintf.c ASEModelFactory.$(OBJEXT): ../3dsparse/ASEModelFactory.cpp @@ -2434,6 +2516,7 @@ ActionController.$(OBJEXT): ../engine/ActionController.cpp ActionMeta.$(OBJEXT): ../engine/ActionMeta.cpp EventContainer.$(OBJEXT): ../engine/EventContainer.cpp +FrameLimiter.$(OBJEXT): ../engine/FrameLimiter.cpp FrameTimer.$(OBJEXT): ../engine/FrameTimer.cpp GameState.$(OBJEXT): ../engine/GameState.cpp GameStateI.$(OBJEXT): ../engine/GameStateI.cpp @@ -2483,7 +2566,11 @@ LandscapeObjectsSetEntry.$(OBJEXT): \ ../landscape/LandscapeObjectsSetEntry.cpp LandscapePoints.$(OBJEXT): ../landscape/LandscapePoints.cpp +LandscapeShadowCamera.$(OBJEXT): ../landscape/LandscapeShadowCamera.cpp +LandscapeShadowHandler.$(OBJEXT): \ + ../landscape/LandscapeShadowHandler.cpp LandscapeSoundManager.$(OBJEXT): ../landscape/LandscapeSoundManager.cpp +LandscapeStateHandler.$(OBJEXT): ../landscape/LandscapeStateHandler.cpp MapPoints.$(OBJEXT): ../landscape/MapPoints.cpp MovementMap.$(OBJEXT): ../landscape/MovementMap.cpp NapalmMap.$(OBJEXT): ../landscape/NapalmMap.cpp @@ -2521,11 +2608,13 @@ EconomyFreeMarket.$(OBJEXT): ../weapons/EconomyFreeMarket.cpp EconomyNone.$(OBJEXT): ../weapons/EconomyNone.cpp EconomyStore.$(OBJEXT): ../weapons/EconomyStore.cpp -Fuel.$(OBJEXT): ../weapons/Fuel.cpp Parachute.$(OBJEXT): ../weapons/Parachute.cpp Shield.$(OBJEXT): ../weapons/Shield.cpp -ShieldMag.$(OBJEXT): ../weapons/ShieldMag.cpp -ShieldReflective.$(OBJEXT): ../weapons/ShieldReflective.cpp +ShieldRound.$(OBJEXT): ../weapons/ShieldRound.cpp +ShieldRoundMag.$(OBJEXT): ../weapons/ShieldRoundMag.cpp +ShieldRoundReflective.$(OBJEXT): ../weapons/ShieldRoundReflective.cpp +ShieldSquare.$(OBJEXT): ../weapons/ShieldSquare.cpp +ShieldSquareReflective.$(OBJEXT): ../weapons/ShieldSquareReflective.cpp Weapon.$(OBJEXT): ../weapons/Weapon.cpp WeaponAddTarget.$(OBJEXT): ../weapons/WeaponAddTarget.cpp WeaponAimedOver.$(OBJEXT): ../weapons/WeaponAimedOver.cpp @@ -2546,6 +2635,7 @@ WeaponLeapFrog.$(OBJEXT): ../weapons/WeaponLeapFrog.cpp WeaponLightning.$(OBJEXT): ../weapons/WeaponLightning.cpp WeaponMirv.$(OBJEXT): ../weapons/WeaponMirv.cpp +WeaponMoveTank.$(OBJEXT): ../weapons/WeaponMoveTank.cpp WeaponMulti.$(OBJEXT): ../weapons/WeaponMulti.cpp WeaponMuzzle.$(OBJEXT): ../weapons/WeaponMuzzle.cpp WeaponNapalm.$(OBJEXT): ../weapons/WeaponNapalm.cpp @@ -2558,13 +2648,19 @@ WeaponRoller.$(OBJEXT): ../weapons/WeaponRoller.cpp WeaponScatterDirection.$(OBJEXT): ../weapons/WeaponScatterDirection.cpp WeaponScatterPosition.$(OBJEXT): ../weapons/WeaponScatterPosition.cpp +WeaponSelectPosition.$(OBJEXT): ../weapons/WeaponSelectPosition.cpp WeaponSkyFlash.$(OBJEXT): ../weapons/WeaponSkyFlash.cpp WeaponSound.$(OBJEXT): ../weapons/WeaponSound.cpp +WeaponTankPosition.$(OBJEXT): ../weapons/WeaponTankPosition.cpp +WeaponTankVelocity.$(OBJEXT): ../weapons/WeaponTankVelocity.cpp +WeaponTeamAction.$(OBJEXT): ../weapons/WeaponTeamAction.cpp WeaponTeleport.$(OBJEXT): ../weapons/WeaponTeleport.cpp WeaponTranslate.$(OBJEXT): ../weapons/WeaponTranslate.cpp +WeaponTypeAction.$(OBJEXT): ../weapons/WeaponTypeAction.cpp WeaponVelocity.$(OBJEXT): ../weapons/WeaponVelocity.cpp array.$(OBJEXT): ../ode/array.cpp collision_kernel.$(OBJEXT): ../ode/collision_kernel.cpp +collision_quadtreespace.$(OBJEXT): ../ode/collision_quadtreespace.cpp collision_space.$(OBJEXT): ../ode/collision_space.cpp collision_std.$(OBJEXT): ../ode/collision_std.cpp collision_transform.$(OBJEXT): ../ode/collision_transform.cpp @@ -2659,6 +2755,7 @@ ClientInitializeHandler.$(OBJEXT): ../client/ClientInitializeHandler.cpp ClientKeepAliveSender.$(OBJEXT): ../client/ClientKeepAliveSender.cpp ClientLastChanceHandler.$(OBJEXT): ../client/ClientLastChanceHandler.cpp +ClientLinesHandler.$(OBJEXT): ../client/ClientLinesHandler.cpp ClientLoadPlayersState.$(OBJEXT): ../client/ClientLoadPlayersState.cpp ClientMain.$(OBJEXT): ../client/ClientMain.cpp ClientMessageHandler.$(OBJEXT): ../client/ClientMessageHandler.cpp @@ -2716,6 +2813,7 @@ ../server/ServerHaveModFilesHandler.cpp ServerInitializeHandler.$(OBJEXT): ../server/ServerInitializeHandler.cpp ServerKeepAliveHandler.$(OBJEXT): ../server/ServerKeepAliveHandler.cpp +ServerLinesHandler.$(OBJEXT): ../server/ServerLinesHandler.cpp ServerLog.$(OBJEXT): ../server/ServerLog.cpp ServerMain.$(OBJEXT): ../server/ServerMain.cpp ServerMessageHandler.$(OBJEXT): ../server/ServerMessageHandler.cpp @@ -2762,14 +2860,11 @@ TankContainer.$(OBJEXT): ../tank/TankContainer.cpp TankDeadContainer.$(OBJEXT): ../tank/TankDeadContainer.cpp TankDefinition.$(OBJEXT): ../tank/TankDefinition.cpp -TankFuel.$(OBJEXT): ../tank/TankFuel.cpp TankLib.$(OBJEXT): ../tank/TankLib.cpp TankMod.$(OBJEXT): ../tank/TankMod.cpp TankModelContainer.$(OBJEXT): ../tank/TankModelContainer.cpp -TankParachutes.$(OBJEXT): ../tank/TankParachutes.cpp TankPosition.$(OBJEXT): ../tank/TankPosition.cpp TankScore.$(OBJEXT): ../tank/TankScore.cpp -TankShields.$(OBJEXT): ../tank/TankShields.cpp TankSort.$(OBJEXT): ../tank/TankSort.cpp TankState.$(OBJEXT): ../tank/TankState.cpp TankTeamScore.$(OBJEXT): ../tank/TankTeamScore.cpp @@ -2814,6 +2909,7 @@ TargetContainer.$(OBJEXT): ../target/TargetContainer.cpp TargetDamageCalc.$(OBJEXT): ../target/TargetDamageCalc.cpp TargetDefinition.$(OBJEXT): ../target/TargetDefinition.cpp +TargetGroupEntry.$(OBJEXT): ../target/TargetGroupEntry.cpp TargetLife.$(OBJEXT): ../target/TargetLife.cpp TargetParachute.$(OBJEXT): ../target/TargetParachute.cpp TargetRenderer.$(OBJEXT): ../target/TargetRenderer.cpp @@ -2825,6 +2921,7 @@ PlacementObject.$(OBJEXT): ../placement/PlacementObject.cpp PlacementObjectGroup.$(OBJEXT): ../placement/PlacementObjectGroup.cpp PlacementObjectModel.$(OBJEXT): ../placement/PlacementObjectModel.cpp +PlacementObjectNone.$(OBJEXT): ../placement/PlacementObjectNone.cpp PlacementObjectRandom.$(OBJEXT): ../placement/PlacementObjectRandom.cpp PlacementObjectShadow.$(OBJEXT): ../placement/PlacementObjectShadow.cpp PlacementObjectTank.$(OBJEXT): ../placement/PlacementObjectTank.cpp @@ -2867,6 +2964,7 @@ ComsKeepAliveMessage.$(OBJEXT): ../coms/ComsKeepAliveMessage.cpp ComsLastChanceMessage.$(OBJEXT): ../coms/ComsLastChanceMessage.cpp ComsLevelMessage.$(OBJEXT): ../coms/ComsLevelMessage.cpp +ComsLinesMessage.$(OBJEXT): ../coms/ComsLinesMessage.cpp ComsMessage.$(OBJEXT): ../coms/ComsMessage.cpp ComsMessageHandler.$(OBJEXT): ../coms/ComsMessageHandler.cpp ComsMessageSender.$(OBJEXT): ../coms/ComsMessageSender.cpp @@ -2939,6 +3037,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ClientInitializeHandler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ClientKeepAliveSender.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ClientLastChanceHandler.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ClientLinesHandler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ClientLoadPlayersState.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ClientMain.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ClientMessageHandler.Po@am__quote@ @@ -2974,6 +3073,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ComsKeepAliveMessage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ComsLastChanceMessage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ComsLevelMessage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ComsLinesMessage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ComsMessage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ComsMessageHandler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ComsMessageSender.Po@am__quote@ @@ -3015,8 +3115,8 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileLines.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileList.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileLogger.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FrameLimiter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FrameTimer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Fuel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GLBitmap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GLBitmapItterator.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GLBitmapModifier.Po@am__quote@ @@ -3043,6 +3143,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GLMenuEntry.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GLMenuI.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GLSetup.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GLShadowFrameBuffer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GLState.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GLStateExtension.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GLTexture.Po@am__quote@ @@ -3138,9 +3239,12 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LandscapeObjectsSetEntry.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LandscapePlace.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LandscapePoints.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LandscapeShadowCamera.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LandscapeShadowHandler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LandscapeShips.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LandscapeSound.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LandscapeSoundManager.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LandscapeStateHandler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LandscapeTex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LandscapeTexDefn.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Laser.Po@am__quote@ @@ -3198,6 +3302,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OptionEntrySetter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OptionsDisplay.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OptionsGame.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OptionsMasterListServer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OptionsParam.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OptionsTransient.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Parachute.Po@am__quote@ @@ -3217,6 +3322,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PlacementObject.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PlacementObjectGroup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PlacementObjectModel.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PlacementObjectNone.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PlacementObjectRandom.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PlacementObjectShadow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PlacementObjectTank.Po@am__quote@ @@ -3276,6 +3382,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServerHaveModFilesHandler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServerInitializeHandler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServerKeepAliveHandler.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServerLinesHandler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServerLog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServerMain.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServerMessageHandler.Po@am__quote@ @@ -3307,8 +3414,11 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShadowMap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Shield.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShieldHit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShieldMag.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShieldReflective.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShieldRound.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShieldRoundMag.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShieldRoundReflective.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShieldSquare.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShieldSquareReflective.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Ship.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShipGroup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShotBounce.Po@am__quote@ @@ -3375,7 +3485,6 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankFalling.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankFallingEnd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankFired.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankFuel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankLib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankMenus.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankMesh.Po@am__quote@ @@ -3385,12 +3494,10 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankModelStore.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankMovement.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankMovementEnd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankParachutes.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankPosition.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankResign.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankSay.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankScore.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankShields.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankSort.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankState.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TankTeamScore.Po@am__quote@ @@ -3402,6 +3509,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetContainer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetDamageCalc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetDefinition.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetGroupEntry.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetLife.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetParachute.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetParticleRenderer.Po@am__quote@ @@ -3409,6 +3517,8 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetRendererImpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetRendererImplTank.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetRendererImplTarget.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetRendererImplTargetModel.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetRendererImplTargetTree.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetShield.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Teleport.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TextActionRenderer.Po@am__quote@ @@ -3421,6 +3531,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UniqueIdStore.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Variance.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Vector.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Vector4.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VectorLib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Vertex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ViewPoints.Po@am__quote@ @@ -3454,6 +3565,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponLeapFrog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponLightning.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponMirv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponMoveTank.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponMulti.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponMuzzle.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponNapalm.Po@am__quote@ @@ -3466,10 +3578,15 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponRoller.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponScatterDirection.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponScatterPosition.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponSelectPosition.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponSkyFlash.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponSound.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponTankPosition.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponTankVelocity.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponTeamAction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponTeleport.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponTranslate.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponTypeAction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WeaponVelocity.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WindowSetup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XMLFile.Po@am__quote@ @@ -3481,6 +3598,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aseFile.lex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aseFile.tab.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision_kernel.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision_quadtreespace.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision_space.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision_std.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision_transform.Po@am__quote@ @@ -4119,6 +4237,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GLMenuI.obj `cygpath -w ../GLEXT/GLMenuI.cpp` +GLShadowFrameBuffer.o: ../GLEXT/GLShadowFrameBuffer.cpp +@AMDEP_TRUE@ source='../GLEXT/GLShadowFrameBuffer.cpp' object='GLShadowFrameBuffer.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/GLShadowFrameBuffer.Po' tmpdepfile='$(DEPDIR)/GLShadowFrameBuffer.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GLShadowFrameBuffer.o `test -f '../GLEXT/GLShadowFrameBuffer.cpp' || echo '$(srcdir)/'`../GLEXT/GLShadowFrameBuffer.cpp + +GLShadowFrameBuffer.obj: ../GLEXT/GLShadowFrameBuffer.cpp +@AMDEP_TRUE@ source='../GLEXT/GLShadowFrameBuffer.cpp' object='GLShadowFrameBuffer.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/GLShadowFrameBuffer.Po' tmpdepfile='$(DEPDIR)/GLShadowFrameBuffer.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GLShadowFrameBuffer.obj `cygpath -w ../GLEXT/GLShadowFrameBuffer.cpp` + GLState.o: ../GLEXT/GLState.cpp @AMDEP_TRUE@ source='../GLEXT/GLState.cpp' object='GLState.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/GLState.Po' tmpdepfile='$(DEPDIR)/GLState.TPo' @AMDEPBACKSLASH@ @@ -4935,6 +5065,30 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetRendererImplTarget.obj `cygpath -w ../tankgraph/TargetRendererImplTarget.cpp` +TargetRendererImplTargetModel.o: ../tankgraph/TargetRendererImplTargetModel.cpp +@AMDEP_TRUE@ source='../tankgraph/TargetRendererImplTargetModel.cpp' object='TargetRendererImplTargetModel.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/TargetRendererImplTargetModel.Po' tmpdepfile='$(DEPDIR)/TargetRendererImplTargetModel.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetRendererImplTargetModel.o `test -f '../tankgraph/TargetRendererImplTargetModel.cpp' || echo '$(srcdir)/'`../tankgraph/TargetRendererImplTargetModel.cpp + +TargetRendererImplTargetModel.obj: ../tankgraph/TargetRendererImplTargetModel.cpp +@AMDEP_TRUE@ source='../tankgraph/TargetRendererImplTargetModel.cpp' object='TargetRendererImplTargetModel.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/TargetRendererImplTargetModel.Po' tmpdepfile='$(DEPDIR)/TargetRendererImplTargetModel.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetRendererImplTargetModel.obj `cygpath -w ../tankgraph/TargetRendererImplTargetModel.cpp` + +TargetRendererImplTargetTree.o: ../tankgraph/TargetRendererImplTargetTree.cpp +@AMDEP_TRUE@ source='../tankgraph/TargetRendererImplTargetTree.cpp' object='TargetRendererImplTargetTree.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/TargetRendererImplTargetTree.Po' tmpdepfile='$(DEPDIR)/TargetRendererImplTargetTree.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetRendererImplTargetTree.o `test -f '../tankgraph/TargetRendererImplTargetTree.cpp' || echo '$(srcdir)/'`../tankgraph/TargetRendererImplTargetTree.cpp + +TargetRendererImplTargetTree.obj: ../tankgraph/TargetRendererImplTargetTree.cpp +@AMDEP_TRUE@ source='../tankgraph/TargetRendererImplTargetTree.cpp' object='TargetRendererImplTargetTree.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/TargetRendererImplTargetTree.Po' tmpdepfile='$(DEPDIR)/TargetRendererImplTargetTree.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetRendererImplTargetTree.obj `cygpath -w ../tankgraph/TargetRendererImplTargetTree.cpp` + ARGParser.o: ../common/ARGParser.cpp @AMDEP_TRUE@ source='../common/ARGParser.cpp' object='ARGParser.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/ARGParser.Po' tmpdepfile='$(DEPDIR)/ARGParser.TPo' @AMDEPBACKSLASH@ @@ -5199,6 +5353,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OptionsGame.obj `cygpath -w ../common/OptionsGame.cpp` +OptionsMasterListServer.o: ../common/OptionsMasterListServer.cpp +@AMDEP_TRUE@ source='../common/OptionsMasterListServer.cpp' object='OptionsMasterListServer.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/OptionsMasterListServer.Po' tmpdepfile='$(DEPDIR)/OptionsMasterListServer.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OptionsMasterListServer.o `test -f '../common/OptionsMasterListServer.cpp' || echo '$(srcdir)/'`../common/OptionsMasterListServer.cpp + +OptionsMasterListServer.obj: ../common/OptionsMasterListServer.cpp +@AMDEP_TRUE@ source='../common/OptionsMasterListServer.cpp' object='OptionsMasterListServer.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/OptionsMasterListServer.Po' tmpdepfile='$(DEPDIR)/OptionsMasterListServer.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OptionsMasterListServer.obj `cygpath -w ../common/OptionsMasterListServer.cpp` + OptionsParam.o: ../common/OptionsParam.cpp @AMDEP_TRUE@ source='../common/OptionsParam.cpp' object='OptionsParam.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/OptionsParam.Po' tmpdepfile='$(DEPDIR)/OptionsParam.TPo' @AMDEPBACKSLASH@ @@ -5331,6 +5497,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Vector.obj `cygpath -w ../common/Vector.cpp` +Vector4.o: ../common/Vector4.cpp +@AMDEP_TRUE@ source='../common/Vector4.cpp' object='Vector4.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/Vector4.Po' tmpdepfile='$(DEPDIR)/Vector4.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Vector4.o `test -f '../common/Vector4.cpp' || echo '$(srcdir)/'`../common/Vector4.cpp + +Vector4.obj: ../common/Vector4.cpp +@AMDEP_TRUE@ source='../common/Vector4.cpp' object='Vector4.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/Vector4.Po' tmpdepfile='$(DEPDIR)/Vector4.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Vector4.obj `cygpath -w ../common/Vector4.cpp` + VectorLib.o: ../common/VectorLib.cpp @AMDEP_TRUE@ source='../common/VectorLib.cpp' object='VectorLib.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/VectorLib.Po' tmpdepfile='$(DEPDIR)/VectorLib.TPo' @AMDEPBACKSLASH@ @@ -5907,6 +6085,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o EventContainer.obj `cygpath -w ../engine/EventContainer.cpp` +FrameLimiter.o: ../engine/FrameLimiter.cpp +@AMDEP_TRUE@ source='../engine/FrameLimiter.cpp' object='FrameLimiter.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/FrameLimiter.Po' tmpdepfile='$(DEPDIR)/FrameLimiter.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FrameLimiter.o `test -f '../engine/FrameLimiter.cpp' || echo '$(srcdir)/'`../engine/FrameLimiter.cpp + +FrameLimiter.obj: ../engine/FrameLimiter.cpp +@AMDEP_TRUE@ source='../engine/FrameLimiter.cpp' object='FrameLimiter.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/FrameLimiter.Po' tmpdepfile='$(DEPDIR)/FrameLimiter.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FrameLimiter.obj `cygpath -w ../engine/FrameLimiter.cpp` + FrameTimer.o: ../engine/FrameTimer.cpp @AMDEP_TRUE@ source='../engine/FrameTimer.cpp' object='FrameTimer.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/FrameTimer.Po' tmpdepfile='$(DEPDIR)/FrameTimer.TPo' @AMDEPBACKSLASH@ @@ -6435,6 +6625,30 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapePoints.obj `cygpath -w ../landscape/LandscapePoints.cpp` +LandscapeShadowCamera.o: ../landscape/LandscapeShadowCamera.cpp +@AMDEP_TRUE@ source='../landscape/LandscapeShadowCamera.cpp' object='LandscapeShadowCamera.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/LandscapeShadowCamera.Po' tmpdepfile='$(DEPDIR)/LandscapeShadowCamera.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeShadowCamera.o `test -f '../landscape/LandscapeShadowCamera.cpp' || echo '$(srcdir)/'`../landscape/LandscapeShadowCamera.cpp + +LandscapeShadowCamera.obj: ../landscape/LandscapeShadowCamera.cpp +@AMDEP_TRUE@ source='../landscape/LandscapeShadowCamera.cpp' object='LandscapeShadowCamera.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/LandscapeShadowCamera.Po' tmpdepfile='$(DEPDIR)/LandscapeShadowCamera.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeShadowCamera.obj `cygpath -w ../landscape/LandscapeShadowCamera.cpp` + +LandscapeShadowHandler.o: ../landscape/LandscapeShadowHandler.cpp +@AMDEP_TRUE@ source='../landscape/LandscapeShadowHandler.cpp' object='LandscapeShadowHandler.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/LandscapeShadowHandler.Po' tmpdepfile='$(DEPDIR)/LandscapeShadowHandler.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeShadowHandler.o `test -f '../landscape/LandscapeShadowHandler.cpp' || echo '$(srcdir)/'`../landscape/LandscapeShadowHandler.cpp + +LandscapeShadowHandler.obj: ../landscape/LandscapeShadowHandler.cpp +@AMDEP_TRUE@ source='../landscape/LandscapeShadowHandler.cpp' object='LandscapeShadowHandler.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/LandscapeShadowHandler.Po' tmpdepfile='$(DEPDIR)/LandscapeShadowHandler.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeShadowHandler.obj `cygpath -w ../landscape/LandscapeShadowHandler.cpp` + LandscapeSoundManager.o: ../landscape/LandscapeSoundManager.cpp @AMDEP_TRUE@ source='../landscape/LandscapeSoundManager.cpp' object='LandscapeSoundManager.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/LandscapeSoundManager.Po' tmpdepfile='$(DEPDIR)/LandscapeSoundManager.TPo' @AMDEPBACKSLASH@ @@ -6447,6 +6661,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeSoundManager.obj `cygpath -w ../landscape/LandscapeSoundManager.cpp` +LandscapeStateHandler.o: ../landscape/LandscapeStateHandler.cpp +@AMDEP_TRUE@ source='../landscape/LandscapeStateHandler.cpp' object='LandscapeStateHandler.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/LandscapeStateHandler.Po' tmpdepfile='$(DEPDIR)/LandscapeStateHandler.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeStateHandler.o `test -f '../landscape/LandscapeStateHandler.cpp' || echo '$(srcdir)/'`../landscape/LandscapeStateHandler.cpp + +LandscapeStateHandler.obj: ../landscape/LandscapeStateHandler.cpp +@AMDEP_TRUE@ source='../landscape/LandscapeStateHandler.cpp' object='LandscapeStateHandler.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/LandscapeStateHandler.Po' tmpdepfile='$(DEPDIR)/LandscapeStateHandler.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o LandscapeStateHandler.obj `cygpath -w ../landscape/LandscapeStateHandler.cpp` + MapPoints.o: ../landscape/MapPoints.cpp @AMDEP_TRUE@ source='../landscape/MapPoints.cpp' object='MapPoints.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/MapPoints.Po' tmpdepfile='$(DEPDIR)/MapPoints.TPo' @AMDEPBACKSLASH@ @@ -6891,18 +7117,6 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o EconomyStore.obj `cygpath -w ../weapons/EconomyStore.cpp` -Fuel.o: ../weapons/Fuel.cpp -@AMDEP_TRUE@ source='../weapons/Fuel.cpp' object='Fuel.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/Fuel.Po' tmpdepfile='$(DEPDIR)/Fuel.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Fuel.o `test -f '../weapons/Fuel.cpp' || echo '$(srcdir)/'`../weapons/Fuel.cpp - -Fuel.obj: ../weapons/Fuel.cpp -@AMDEP_TRUE@ source='../weapons/Fuel.cpp' object='Fuel.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/Fuel.Po' tmpdepfile='$(DEPDIR)/Fuel.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Fuel.obj `cygpath -w ../weapons/Fuel.cpp` - Parachute.o: ../weapons/Parachute.cpp @AMDEP_TRUE@ source='../weapons/Parachute.cpp' object='Parachute.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/Parachute.Po' tmpdepfile='$(DEPDIR)/Parachute.TPo' @AMDEPBACKSLASH@ @@ -6927,29 +7141,65 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Shield.obj `cygpath -w ../weapons/Shield.cpp` -ShieldMag.o: ../weapons/ShieldMag.cpp -@AMDEP_TRUE@ source='../weapons/ShieldMag.cpp' object='ShieldMag.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldMag.Po' tmpdepfile='$(DEPDIR)/ShieldMag.TPo' @AMDEPBACKSLASH@ +ShieldRound.o: ../weapons/ShieldRound.cpp +@AMDEP_TRUE@ source='../weapons/ShieldRound.cpp' object='ShieldRound.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldRound.Po' tmpdepfile='$(DEPDIR)/ShieldRound.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldRound.o `test -f '../weapons/ShieldRound.cpp' || echo '$(srcdir)/'`../weapons/ShieldRound.cpp + +ShieldRound.obj: ../weapons/ShieldRound.cpp +@AMDEP_TRUE@ source='../weapons/ShieldRound.cpp' object='ShieldRound.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldRound.Po' tmpdepfile='$(DEPDIR)/ShieldRound.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldMag.o `test -f '../weapons/ShieldMag.cpp' || echo '$(srcdir)/'`../weapons/ShieldMag.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldRound.obj `cygpath -w ../weapons/ShieldRound.cpp` -ShieldMag.obj: ../weapons/ShieldMag.cpp -@AMDEP_TRUE@ source='../weapons/ShieldMag.cpp' object='ShieldMag.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldMag.Po' tmpdepfile='$(DEPDIR)/ShieldMag.TPo' @AMDEPBACKSLASH@ +ShieldRoundMag.o: ../weapons/ShieldRoundMag.cpp +@AMDEP_TRUE@ source='../weapons/ShieldRoundMag.cpp' object='ShieldRoundMag.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldRoundMag.Po' tmpdepfile='$(DEPDIR)/ShieldRoundMag.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldMag.obj `cygpath -w ../weapons/ShieldMag.cpp` + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldRoundMag.o `test -f '../weapons/ShieldRoundMag.cpp' || echo '$(srcdir)/'`../weapons/ShieldRoundMag.cpp -ShieldReflective.o: ../weapons/ShieldReflective.cpp -@AMDEP_TRUE@ source='../weapons/ShieldReflective.cpp' object='ShieldReflective.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldReflective.Po' tmpdepfile='$(DEPDIR)/ShieldReflective.TPo' @AMDEPBACKSLASH@ +ShieldRoundMag.obj: ../weapons/ShieldRoundMag.cpp +@AMDEP_TRUE@ source='../weapons/ShieldRoundMag.cpp' object='ShieldRoundMag.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldRoundMag.Po' tmpdepfile='$(DEPDIR)/ShieldRoundMag.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldReflective.o `test -f '../weapons/ShieldReflective.cpp' || echo '$(srcdir)/'`../weapons/ShieldReflective.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldRoundMag.obj `cygpath -w ../weapons/ShieldRoundMag.cpp` -ShieldReflective.obj: ../weapons/ShieldReflective.cpp -@AMDEP_TRUE@ source='../weapons/ShieldReflective.cpp' object='ShieldReflective.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldReflective.Po' tmpdepfile='$(DEPDIR)/ShieldReflective.TPo' @AMDEPBACKSLASH@ +ShieldRoundReflective.o: ../weapons/ShieldRoundReflective.cpp +@AMDEP_TRUE@ source='../weapons/ShieldRoundReflective.cpp' object='ShieldRoundReflective.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldRoundReflective.Po' tmpdepfile='$(DEPDIR)/ShieldRoundReflective.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldReflective.obj `cygpath -w ../weapons/ShieldReflective.cpp` + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldRoundReflective.o `test -f '../weapons/ShieldRoundReflective.cpp' || echo '$(srcdir)/'`../weapons/ShieldRoundReflective.cpp + +ShieldRoundReflective.obj: ../weapons/ShieldRoundReflective.cpp +@AMDEP_TRUE@ source='../weapons/ShieldRoundReflective.cpp' object='ShieldRoundReflective.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldRoundReflective.Po' tmpdepfile='$(DEPDIR)/ShieldRoundReflective.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldRoundReflective.obj `cygpath -w ../weapons/ShieldRoundReflective.cpp` + +ShieldSquare.o: ../weapons/ShieldSquare.cpp +@AMDEP_TRUE@ source='../weapons/ShieldSquare.cpp' object='ShieldSquare.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldSquare.Po' tmpdepfile='$(DEPDIR)/ShieldSquare.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldSquare.o `test -f '../weapons/ShieldSquare.cpp' || echo '$(srcdir)/'`../weapons/ShieldSquare.cpp + +ShieldSquare.obj: ../weapons/ShieldSquare.cpp +@AMDEP_TRUE@ source='../weapons/ShieldSquare.cpp' object='ShieldSquare.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldSquare.Po' tmpdepfile='$(DEPDIR)/ShieldSquare.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldSquare.obj `cygpath -w ../weapons/ShieldSquare.cpp` + +ShieldSquareReflective.o: ../weapons/ShieldSquareReflective.cpp +@AMDEP_TRUE@ source='../weapons/ShieldSquareReflective.cpp' object='ShieldSquareReflective.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldSquareReflective.Po' tmpdepfile='$(DEPDIR)/ShieldSquareReflective.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldSquareReflective.o `test -f '../weapons/ShieldSquareReflective.cpp' || echo '$(srcdir)/'`../weapons/ShieldSquareReflective.cpp + +ShieldSquareReflective.obj: ../weapons/ShieldSquareReflective.cpp +@AMDEP_TRUE@ source='../weapons/ShieldSquareReflective.cpp' object='ShieldSquareReflective.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ShieldSquareReflective.Po' tmpdepfile='$(DEPDIR)/ShieldSquareReflective.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ShieldSquareReflective.obj `cygpath -w ../weapons/ShieldSquareReflective.cpp` Weapon.o: ../weapons/Weapon.cpp @AMDEP_TRUE@ source='../weapons/Weapon.cpp' object='Weapon.o' libtool=no @AMDEPBACKSLASH@ @@ -7191,6 +7441,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponMirv.obj `cygpath -w ../weapons/WeaponMirv.cpp` +WeaponMoveTank.o: ../weapons/WeaponMoveTank.cpp +@AMDEP_TRUE@ source='../weapons/WeaponMoveTank.cpp' object='WeaponMoveTank.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponMoveTank.Po' tmpdepfile='$(DEPDIR)/WeaponMoveTank.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponMoveTank.o `test -f '../weapons/WeaponMoveTank.cpp' || echo '$(srcdir)/'`../weapons/WeaponMoveTank.cpp + +WeaponMoveTank.obj: ../weapons/WeaponMoveTank.cpp +@AMDEP_TRUE@ source='../weapons/WeaponMoveTank.cpp' object='WeaponMoveTank.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponMoveTank.Po' tmpdepfile='$(DEPDIR)/WeaponMoveTank.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponMoveTank.obj `cygpath -w ../weapons/WeaponMoveTank.cpp` + WeaponMulti.o: ../weapons/WeaponMulti.cpp @AMDEP_TRUE@ source='../weapons/WeaponMulti.cpp' object='WeaponMulti.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponMulti.Po' tmpdepfile='$(DEPDIR)/WeaponMulti.TPo' @AMDEPBACKSLASH@ @@ -7335,6 +7597,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponScatterPosition.obj `cygpath -w ../weapons/WeaponScatterPosition.cpp` +WeaponSelectPosition.o: ../weapons/WeaponSelectPosition.cpp +@AMDEP_TRUE@ source='../weapons/WeaponSelectPosition.cpp' object='WeaponSelectPosition.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponSelectPosition.Po' tmpdepfile='$(DEPDIR)/WeaponSelectPosition.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponSelectPosition.o `test -f '../weapons/WeaponSelectPosition.cpp' || echo '$(srcdir)/'`../weapons/WeaponSelectPosition.cpp + +WeaponSelectPosition.obj: ../weapons/WeaponSelectPosition.cpp +@AMDEP_TRUE@ source='../weapons/WeaponSelectPosition.cpp' object='WeaponSelectPosition.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponSelectPosition.Po' tmpdepfile='$(DEPDIR)/WeaponSelectPosition.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponSelectPosition.obj `cygpath -w ../weapons/WeaponSelectPosition.cpp` + WeaponSkyFlash.o: ../weapons/WeaponSkyFlash.cpp @AMDEP_TRUE@ source='../weapons/WeaponSkyFlash.cpp' object='WeaponSkyFlash.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponSkyFlash.Po' tmpdepfile='$(DEPDIR)/WeaponSkyFlash.TPo' @AMDEPBACKSLASH@ @@ -7359,6 +7633,42 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponSound.obj `cygpath -w ../weapons/WeaponSound.cpp` +WeaponTankPosition.o: ../weapons/WeaponTankPosition.cpp +@AMDEP_TRUE@ source='../weapons/WeaponTankPosition.cpp' object='WeaponTankPosition.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponTankPosition.Po' tmpdepfile='$(DEPDIR)/WeaponTankPosition.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTankPosition.o `test -f '../weapons/WeaponTankPosition.cpp' || echo '$(srcdir)/'`../weapons/WeaponTankPosition.cpp + +WeaponTankPosition.obj: ../weapons/WeaponTankPosition.cpp +@AMDEP_TRUE@ source='../weapons/WeaponTankPosition.cpp' object='WeaponTankPosition.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponTankPosition.Po' tmpdepfile='$(DEPDIR)/WeaponTankPosition.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTankPosition.obj `cygpath -w ../weapons/WeaponTankPosition.cpp` + +WeaponTankVelocity.o: ../weapons/WeaponTankVelocity.cpp +@AMDEP_TRUE@ source='../weapons/WeaponTankVelocity.cpp' object='WeaponTankVelocity.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponTankVelocity.Po' tmpdepfile='$(DEPDIR)/WeaponTankVelocity.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTankVelocity.o `test -f '../weapons/WeaponTankVelocity.cpp' || echo '$(srcdir)/'`../weapons/WeaponTankVelocity.cpp + +WeaponTankVelocity.obj: ../weapons/WeaponTankVelocity.cpp +@AMDEP_TRUE@ source='../weapons/WeaponTankVelocity.cpp' object='WeaponTankVelocity.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponTankVelocity.Po' tmpdepfile='$(DEPDIR)/WeaponTankVelocity.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTankVelocity.obj `cygpath -w ../weapons/WeaponTankVelocity.cpp` + +WeaponTeamAction.o: ../weapons/WeaponTeamAction.cpp +@AMDEP_TRUE@ source='../weapons/WeaponTeamAction.cpp' object='WeaponTeamAction.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponTeamAction.Po' tmpdepfile='$(DEPDIR)/WeaponTeamAction.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTeamAction.o `test -f '../weapons/WeaponTeamAction.cpp' || echo '$(srcdir)/'`../weapons/WeaponTeamAction.cpp + +WeaponTeamAction.obj: ../weapons/WeaponTeamAction.cpp +@AMDEP_TRUE@ source='../weapons/WeaponTeamAction.cpp' object='WeaponTeamAction.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponTeamAction.Po' tmpdepfile='$(DEPDIR)/WeaponTeamAction.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTeamAction.obj `cygpath -w ../weapons/WeaponTeamAction.cpp` + WeaponTeleport.o: ../weapons/WeaponTeleport.cpp @AMDEP_TRUE@ source='../weapons/WeaponTeleport.cpp' object='WeaponTeleport.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponTeleport.Po' tmpdepfile='$(DEPDIR)/WeaponTeleport.TPo' @AMDEPBACKSLASH@ @@ -7383,6 +7693,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTranslate.obj `cygpath -w ../weapons/WeaponTranslate.cpp` +WeaponTypeAction.o: ../weapons/WeaponTypeAction.cpp +@AMDEP_TRUE@ source='../weapons/WeaponTypeAction.cpp' object='WeaponTypeAction.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponTypeAction.Po' tmpdepfile='$(DEPDIR)/WeaponTypeAction.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTypeAction.o `test -f '../weapons/WeaponTypeAction.cpp' || echo '$(srcdir)/'`../weapons/WeaponTypeAction.cpp + +WeaponTypeAction.obj: ../weapons/WeaponTypeAction.cpp +@AMDEP_TRUE@ source='../weapons/WeaponTypeAction.cpp' object='WeaponTypeAction.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponTypeAction.Po' tmpdepfile='$(DEPDIR)/WeaponTypeAction.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WeaponTypeAction.obj `cygpath -w ../weapons/WeaponTypeAction.cpp` + WeaponVelocity.o: ../weapons/WeaponVelocity.cpp @AMDEP_TRUE@ source='../weapons/WeaponVelocity.cpp' object='WeaponVelocity.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/WeaponVelocity.Po' tmpdepfile='$(DEPDIR)/WeaponVelocity.TPo' @AMDEPBACKSLASH@ @@ -7419,6 +7741,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o collision_kernel.obj `cygpath -w ../ode/collision_kernel.cpp` +collision_quadtreespace.o: ../ode/collision_quadtreespace.cpp +@AMDEP_TRUE@ source='../ode/collision_quadtreespace.cpp' object='collision_quadtreespace.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/collision_quadtreespace.Po' tmpdepfile='$(DEPDIR)/collision_quadtreespace.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o collision_quadtreespace.o `test -f '../ode/collision_quadtreespace.cpp' || echo '$(srcdir)/'`../ode/collision_quadtreespace.cpp + +collision_quadtreespace.obj: ../ode/collision_quadtreespace.cpp +@AMDEP_TRUE@ source='../ode/collision_quadtreespace.cpp' object='collision_quadtreespace.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/collision_quadtreespace.Po' tmpdepfile='$(DEPDIR)/collision_quadtreespace.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o collision_quadtreespace.obj `cygpath -w ../ode/collision_quadtreespace.cpp` + collision_space.o: ../ode/collision_space.cpp @AMDEP_TRUE@ source='../ode/collision_space.cpp' object='collision_space.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/collision_space.Po' tmpdepfile='$(DEPDIR)/collision_space.TPo' @AMDEPBACKSLASH@ @@ -8295,6 +8629,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ClientLastChanceHandler.obj `cygpath -w ../client/ClientLastChanceHandler.cpp` +ClientLinesHandler.o: ../client/ClientLinesHandler.cpp +@AMDEP_TRUE@ source='../client/ClientLinesHandler.cpp' object='ClientLinesHandler.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ClientLinesHandler.Po' tmpdepfile='$(DEPDIR)/ClientLinesHandler.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ClientLinesHandler.o `test -f '../client/ClientLinesHandler.cpp' || echo '$(srcdir)/'`../client/ClientLinesHandler.cpp + +ClientLinesHandler.obj: ../client/ClientLinesHandler.cpp +@AMDEP_TRUE@ source='../client/ClientLinesHandler.cpp' object='ClientLinesHandler.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ClientLinesHandler.Po' tmpdepfile='$(DEPDIR)/ClientLinesHandler.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ClientLinesHandler.obj `cygpath -w ../client/ClientLinesHandler.cpp` + ClientLoadPlayersState.o: ../client/ClientLoadPlayersState.cpp @AMDEP_TRUE@ source='../client/ClientLoadPlayersState.cpp' object='ClientLoadPlayersState.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/ClientLoadPlayersState.Po' tmpdepfile='$(DEPDIR)/ClientLoadPlayersState.TPo' @AMDEPBACKSLASH@ @@ -8895,6 +9241,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ServerKeepAliveHandler.obj `cygpath -w ../server/ServerKeepAliveHandler.cpp` +ServerLinesHandler.o: ../server/ServerLinesHandler.cpp +@AMDEP_TRUE@ source='../server/ServerLinesHandler.cpp' object='ServerLinesHandler.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ServerLinesHandler.Po' tmpdepfile='$(DEPDIR)/ServerLinesHandler.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ServerLinesHandler.o `test -f '../server/ServerLinesHandler.cpp' || echo '$(srcdir)/'`../server/ServerLinesHandler.cpp + +ServerLinesHandler.obj: ../server/ServerLinesHandler.cpp +@AMDEP_TRUE@ source='../server/ServerLinesHandler.cpp' object='ServerLinesHandler.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ServerLinesHandler.Po' tmpdepfile='$(DEPDIR)/ServerLinesHandler.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ServerLinesHandler.obj `cygpath -w ../server/ServerLinesHandler.cpp` + ServerLog.o: ../server/ServerLog.cpp @AMDEP_TRUE@ source='../server/ServerLog.cpp' object='ServerLog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/ServerLog.Po' tmpdepfile='$(DEPDIR)/ServerLog.TPo' @AMDEPBACKSLASH@ @@ -9411,18 +9769,6 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankDefinition.obj `cygpath -w ../tank/TankDefinition.cpp` -TankFuel.o: ../tank/TankFuel.cpp -@AMDEP_TRUE@ source='../tank/TankFuel.cpp' object='TankFuel.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/TankFuel.Po' tmpdepfile='$(DEPDIR)/TankFuel.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankFuel.o `test -f '../tank/TankFuel.cpp' || echo '$(srcdir)/'`../tank/TankFuel.cpp - -TankFuel.obj: ../tank/TankFuel.cpp -@AMDEP_TRUE@ source='../tank/TankFuel.cpp' object='TankFuel.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/TankFuel.Po' tmpdepfile='$(DEPDIR)/TankFuel.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankFuel.obj `cygpath -w ../tank/TankFuel.cpp` - TankLib.o: ../tank/TankLib.cpp @AMDEP_TRUE@ source='../tank/TankLib.cpp' object='TankLib.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/TankLib.Po' tmpdepfile='$(DEPDIR)/TankLib.TPo' @AMDEPBACKSLASH@ @@ -9459,18 +9805,6 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankModelContainer.obj `cygpath -w ../tank/TankModelContainer.cpp` -TankParachutes.o: ../tank/TankParachutes.cpp -@AMDEP_TRUE@ source='../tank/TankParachutes.cpp' object='TankParachutes.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/TankParachutes.Po' tmpdepfile='$(DEPDIR)/TankParachutes.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankParachutes.o `test -f '../tank/TankParachutes.cpp' || echo '$(srcdir)/'`../tank/TankParachutes.cpp - -TankParachutes.obj: ../tank/TankParachutes.cpp -@AMDEP_TRUE@ source='../tank/TankParachutes.cpp' object='TankParachutes.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/TankParachutes.Po' tmpdepfile='$(DEPDIR)/TankParachutes.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankParachutes.obj `cygpath -w ../tank/TankParachutes.cpp` - TankPosition.o: ../tank/TankPosition.cpp @AMDEP_TRUE@ source='../tank/TankPosition.cpp' object='TankPosition.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/TankPosition.Po' tmpdepfile='$(DEPDIR)/TankPosition.TPo' @AMDEPBACKSLASH@ @@ -9495,18 +9829,6 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankScore.obj `cygpath -w ../tank/TankScore.cpp` -TankShields.o: ../tank/TankShields.cpp -@AMDEP_TRUE@ source='../tank/TankShields.cpp' object='TankShields.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/TankShields.Po' tmpdepfile='$(DEPDIR)/TankShields.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankShields.o `test -f '../tank/TankShields.cpp' || echo '$(srcdir)/'`../tank/TankShields.cpp - -TankShields.obj: ../tank/TankShields.cpp -@AMDEP_TRUE@ source='../tank/TankShields.cpp' object='TankShields.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/TankShields.Po' tmpdepfile='$(DEPDIR)/TankShields.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TankShields.obj `cygpath -w ../tank/TankShields.cpp` - TankSort.o: ../tank/TankSort.cpp @AMDEP_TRUE@ source='../tank/TankSort.cpp' object='TankSort.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/TankSort.Po' tmpdepfile='$(DEPDIR)/TankSort.TPo' @AMDEPBACKSLASH@ @@ -9999,6 +10321,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetDefinition.obj `cygpath -w ../target/TargetDefinition.cpp` +TargetGroupEntry.o: ../target/TargetGroupEntry.cpp +@AMDEP_TRUE@ source='../target/TargetGroupEntry.cpp' object='TargetGroupEntry.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/TargetGroupEntry.Po' tmpdepfile='$(DEPDIR)/TargetGroupEntry.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetGroupEntry.o `test -f '../target/TargetGroupEntry.cpp' || echo '$(srcdir)/'`../target/TargetGroupEntry.cpp + +TargetGroupEntry.obj: ../target/TargetGroupEntry.cpp +@AMDEP_TRUE@ source='../target/TargetGroupEntry.cpp' object='TargetGroupEntry.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/TargetGroupEntry.Po' tmpdepfile='$(DEPDIR)/TargetGroupEntry.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o TargetGroupEntry.obj `cygpath -w ../target/TargetGroupEntry.cpp` + TargetLife.o: ../target/TargetLife.cpp @AMDEP_TRUE@ source='../target/TargetLife.cpp' object='TargetLife.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/TargetLife.Po' tmpdepfile='$(DEPDIR)/TargetLife.TPo' @AMDEPBACKSLASH@ @@ -10107,6 +10441,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PlacementObjectModel.obj `cygpath -w ../placement/PlacementObjectModel.cpp` +PlacementObjectNone.o: ../placement/PlacementObjectNone.cpp +@AMDEP_TRUE@ source='../placement/PlacementObjectNone.cpp' object='PlacementObjectNone.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/PlacementObjectNone.Po' tmpdepfile='$(DEPDIR)/PlacementObjectNone.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PlacementObjectNone.o `test -f '../placement/PlacementObjectNone.cpp' || echo '$(srcdir)/'`../placement/PlacementObjectNone.cpp + +PlacementObjectNone.obj: ../placement/PlacementObjectNone.cpp +@AMDEP_TRUE@ source='../placement/PlacementObjectNone.cpp' object='PlacementObjectNone.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/PlacementObjectNone.Po' tmpdepfile='$(DEPDIR)/PlacementObjectNone.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PlacementObjectNone.obj `cygpath -w ../placement/PlacementObjectNone.cpp` + PlacementObjectRandom.o: ../placement/PlacementObjectRandom.cpp @AMDEP_TRUE@ source='../placement/PlacementObjectRandom.cpp' object='PlacementObjectRandom.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/PlacementObjectRandom.Po' tmpdepfile='$(DEPDIR)/PlacementObjectRandom.TPo' @AMDEPBACKSLASH@ @@ -10575,6 +10921,18 @@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ComsLevelMessage.obj `cygpath -w ../coms/ComsLevelMessage.cpp` +ComsLinesMessage.o: ../coms/ComsLinesMessage.cpp +@AMDEP_TRUE@ source='../coms/ComsLinesMessage.cpp' object='ComsLinesMessage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ComsLinesMessage.Po' tmpdepfile='$(DEPDIR)/ComsLinesMessage.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ComsLinesMessage.o `test -f '../coms/ComsLinesMessage.cpp' || echo '$(srcdir)/'`../coms/ComsLinesMessage.cpp + +ComsLinesMessage.obj: ../coms/ComsLinesMessage.cpp +@AMDEP_TRUE@ source='../coms/ComsLinesMessage.cpp' object='ComsLinesMessage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/ComsLinesMessage.Po' tmpdepfile='$(DEPDIR)/ComsLinesMessage.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ComsLinesMessage.obj `cygpath -w ../coms/ComsLinesMessage.cpp` + ComsMessage.o: ../coms/ComsMessage.cpp @AMDEP_TRUE@ source='../coms/ComsMessage.cpp' object='ComsMessage.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/ComsMessage.Po' tmpdepfile='$(DEPDIR)/ComsMessage.TPo' @AMDEPBACKSLASH@ diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/NetDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/NetDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/NetDialog.cpp 2006-07-06 02:16:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/NetDialog.cpp 2006-09-19 03:28:32.000000000 +0900 @@ -187,8 +187,8 @@ virtual bool TransferDataFromWindow(); void onJoinButton(wxCommandEvent &event); + void onFavouritesButton(wxCommandEvent &event); void onRefreshButton(wxCommandEvent &event); - void onStopRefreshButton(wxCommandEvent &event); void onClearButton(wxCommandEvent &event); void onClearPasswordButton(wxCommandEvent &event); void onSelectServer(wxListEvent &event); @@ -203,7 +203,7 @@ BEGIN_EVENT_TABLE(NetLanFrame, wxDialog) EVT_BUTTON(IDC_BUTTON_REFRESH, NetLanFrame::onRefreshButton) - EVT_BUTTON(IDC_BUTTON_STOPREFRESH, NetLanFrame::onStopRefreshButton) + EVT_BUTTON(IDC_BUTTON_FAVOURITES, NetLanFrame::onFavouritesButton) EVT_BUTTON(IDC_BUTTON_JOIN, NetLanFrame::onJoinButton) EVT_BUTTON(IDC_CLEAR, NetLanFrame::onClearButton) EVT_BUTTON(IDC_CLEAR_PASSWORD, NetLanFrame::onClearPasswordButton) @@ -212,6 +212,7 @@ EVT_TEXT(IDC_EDIT_SERVER, NetLanFrame::onServerChanged) EVT_RADIOBUTTON(IDC_RADIO_LAN, NetLanFrame::onSourceChanged) EVT_RADIOBUTTON(IDC_RADIO_NET, NetLanFrame::onSourceChanged) + EVT_RADIOBUTTON(IDC_RADIO_FAV, NetLanFrame::onSourceChanged) END_EVENT_TABLE() NetLanFrame::NetLanFrame() : @@ -311,6 +312,16 @@ void NetLanFrame::onClearButton(wxCommandEvent &event) { + long item = -1; + for ( ;; ) + { + item = IDC_SERVER_LIST_CTRL->GetNextItem( + item, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + if (item == -1) break; + IDC_SERVER_LIST_CTRL->SetItemState( + item, 0, wxLIST_STATE_SELECTED|wxLIST_STATE_FOCUSED); + } + IDC_EDIT_SERVER_CTRL->SetValue(wxT("")); onServerChanged(event); } @@ -323,8 +334,7 @@ void NetLanFrame::onSelectServer(wxListEvent &event) { IDC_PLAYER_LIST_CTRL->DeleteAllItems(); - wxCommandEvent ev; - onClearButton(ev); + IDC_EDIT_SERVER_CTRL->SetValue(wxT("")); long item = -1; for ( ;; ) @@ -389,38 +399,76 @@ SetItem(index, 5, wxString(ServerBrowser::instance()->getServerList().getEntryValue(item, tmp), wxConvUTF8)); } - - wxCommandEvent event; - onServerChanged(event); } } + + wxCommandEvent cmdevent; + onServerChanged(cmdevent); } void NetLanFrame::onSourceChanged(wxCommandEvent &event) { ServerBrowser::instance()->cancel(); + + if (IDC_RADIO_FAV_CTRL->GetValue()) + { + IDC_BUTTON_FAVOURITES_CTRL->SetLabel(wxT("Del Favourite")); + } + else + { + IDC_BUTTON_FAVOURITES_CTRL->SetLabel(wxT("Add Favourite")); + } + + onClearButton(event); onRefreshButton(event); } -void NetLanFrame::onRefreshButton(wxCommandEvent &event) +void NetLanFrame::onFavouritesButton(wxCommandEvent &event) { - IDC_PLAYER_LIST_CTRL->DeleteAllItems(); - - ServerBrowser::instance()->refresh(IDC_RADIO_LAN_CTRL->GetValue()); + if (!IDC_EDIT_SERVER_CTRL->GetValue().empty()) + { + wxString value = IDC_EDIT_SERVER_CTRL->GetValue(); + std::set favs = + ServerBrowser::instance()->getCollect().getFavourites(); + const char *cvar = value.mb_str(wxConvUTF8); + if (IDC_RADIO_FAV_CTRL->GetValue()) favs.erase(cvar); + else favs.insert(cvar); + ServerBrowser::instance()->getCollect().setFavourites(favs); - IDC_BUTTON_STOPREFRESH_CTRL->Disable(); - IDC_BUTTON_REFRESH_CTRL->Disable(); + if (IDC_RADIO_FAV_CTRL->GetValue()) + { + onSourceChanged(event); + } + } } -void NetLanFrame::onStopRefreshButton(wxCommandEvent &event) +void NetLanFrame::onRefreshButton(wxCommandEvent &event) { - ServerBrowser::instance()->cancel(); + if (ServerBrowser::instance()->getRefreshing()) + { + ServerBrowser::instance()->cancel(); + } + else + { + IDC_PLAYER_LIST_CTRL->DeleteAllItems(); + + ServerBrowser::RefreshType t = ServerBrowser::RefreshNone; + if (IDC_RADIO_LAN_CTRL->GetValue()) t = ServerBrowser::RefreshLan; + else if (IDC_RADIO_NET_CTRL->GetValue()) t = ServerBrowser::RefreshNet; + else if (IDC_RADIO_FAV_CTRL->GetValue()) t = ServerBrowser::RefreshFavourites; + + ServerBrowser::instance()->refreshList(t); + } + + wxTimerEvent tevent; + onTimer(tevent); } void NetLanFrame::onServerChanged(wxCommandEvent &event) { wxString value = IDC_EDIT_SERVER_CTRL->GetValue(); bool enabled = !value.empty(); + IDC_BUTTON_FAVOURITES_CTRL->Enable(enabled); IDOK_CTRL->Enable(enabled); IDOK_CTRL->SetDefault(); } @@ -429,13 +477,11 @@ { if (!ServerBrowser::instance()->getRefreshing()) { - IDC_BUTTON_REFRESH_CTRL->Enable(); - IDC_BUTTON_STOPREFRESH_CTRL->Disable(); + IDC_BUTTON_REFRESH_CTRL->SetLabel(wxT("Refresh List")); } else { - IDC_BUTTON_REFRESH_CTRL->Disable(); - IDC_BUTTON_STOPREFRESH_CTRL->Enable(); + IDC_BUTTON_REFRESH_CTRL->SetLabel(wxT("Stop Refresh")); } if (invalidateId != ServerBrowser::instance()-> diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/NetLan.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/NetLan.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/NetLan.cpp 2006-07-06 02:16:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/NetLan.cpp 2006-07-27 00:33:43.000000000 +0900 @@ -96,11 +96,14 @@ // Radio Buttons wxFlexGridSizer *radioSizer = new wxFlexGridSizer(1, 8, 5, 5); IDC_RADIO_NET_CTRL = new wxRadioButton(parent, IDC_RADIO_NET, - "Internet", wxDefaultPosition, wxDefaultSize, wxRB_GROUP); + wxT("Internet"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP); IDC_RADIO_LAN_CTRL = new wxRadioButton(parent, IDC_RADIO_LAN, - "LAN", wxDefaultPosition, wxDefaultSize, 0); + wxT("LAN"), wxDefaultPosition, wxDefaultSize, 0); + IDC_RADIO_FAV_CTRL = new wxRadioButton(parent, IDC_RADIO_FAV, + wxT("Favorites"), wxDefaultPosition, wxDefaultSize, 0); radioSizer->Add(IDC_RADIO_NET_CTRL, 0, wxRIGHT, 10); - radioSizer->Add(IDC_RADIO_LAN_CTRL, 0, wxRIGHT, 0); + radioSizer->Add(IDC_RADIO_LAN_CTRL, 0, wxRIGHT, 10); + radioSizer->Add(IDC_RADIO_FAV_CTRL, 0, wxRIGHT, 0); sizer->Add(radioSizer, 0, wxALIGN_CENTER | wxALL, 5); } @@ -146,11 +149,11 @@ // Lan/Internet refresh wxBoxSizer *refreshButtonSizer = new wxBoxSizer(wxHORIZONTAL); - IDC_BUTTON_STOPREFRESH_CTRL = - new wxButton(parent, IDC_BUTTON_STOPREFRESH, wxT("Stop List Refresh")); + IDC_BUTTON_FAVOURITES_CTRL = + new wxButton(parent, IDC_BUTTON_FAVOURITES, wxT("Add Favourite")); IDC_BUTTON_REFRESH_CTRL = - new wxButton(parent, IDC_BUTTON_REFRESH, wxT("Refresh List")); - refreshButtonSizer->Add(IDC_BUTTON_STOPREFRESH_CTRL, 0, wxALL, 5); + new wxButton(parent, IDC_BUTTON_REFRESH, wxT("")); + refreshButtonSizer->Add(IDC_BUTTON_FAVOURITES_CTRL, 0, wxALL, 5); refreshButtonSizer->Add(IDC_BUTTON_REFRESH_CTRL, 0, wxALL, 5); overallButtonSizer->Add(refreshButtonSizer, 0, wxALIGN_RIGHT); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/NetLan-def.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/NetLan-def.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/NetLan-def.cpp 2006-07-06 02:16:14.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/NetLan-def.cpp 2006-07-27 00:33:43.000000000 +0900 @@ -23,7 +23,7 @@ IDC_SERVER_LIST = 1, IDC_PLAYER_LIST, IDC_BUTTON_REFRESH, - IDC_BUTTON_STOPREFRESH, + IDC_BUTTON_FAVOURITES, IDC_BUTTON_JOIN, IDC_EDIT_NAME, IDC_EDIT_SERVER, @@ -32,15 +32,16 @@ IDC_CLEAR_NAME, IDC_CLEAR_PASSWORD, IDC_RADIO_LAN, - IDC_RADIO_NET + IDC_RADIO_NET, + IDC_RADIO_FAV }; static wxImageList *netLanImageList = 0; static wxTextCtrl *IDC_EDIT_SERVER_CTRL = 0; static wxTextCtrl *IDC_EDIT_NAME_CTRL = 0; static wxTextCtrl *IDC_EDIT_PASSWORD_CTRL = 0; -static wxButton *IDC_BUTTON_STOPREFRESH_CTRL = 0; static wxButton *IDC_BUTTON_REFRESH_CTRL = 0; +static wxButton *IDC_BUTTON_FAVOURITES_CTRL = 0; static wxButton *IDC_CLEAR_CTRL = 0; static wxButton *IDC_CLEAR_NAME_CTRL = 0; static wxButton *IDC_CLEAR_PASSWORD_CTRL = 0; @@ -48,4 +49,5 @@ static wxButton *IDCANCEL_CTRL = 0; static wxRadioButton *IDC_RADIO_NET_CTRL = 0; static wxRadioButton *IDC_RADIO_LAN_CTRL = 0; +static wxRadioButton *IDC_RADIO_FAV_CTRL = 0; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/OptionEntrySetter.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/OptionEntrySetter.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/OptionEntrySetter.cpp 2006-07-11 23:35:32.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/OptionEntrySetter.cpp 2006-07-19 19:19:56.000000000 +0900 @@ -122,7 +122,7 @@ { sizer->Add(control = new wxCheckBox(parent, -1, - "", + wxT(""), wxDefaultPosition, wxDefaultSize), 0, wxALIGN_LEFT); control->SetToolTip( diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/scorched.vcproj /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/scorched.vcproj --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/scorched.vcproj 2006-06-30 09:37:59.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/scorched.vcproj 2006-10-21 01:35:43.000000000 +0900 @@ -269,6 +269,15 @@ RelativePath="..\GLEXT\GLMenuI.h"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + RelativePath="..\weapons\ShieldRound.cpp"> + RelativePath="..\weapons\ShieldRound.h"> + RelativePath="..\weapons\ShieldRoundMag.cpp"> + RelativePath="..\weapons\ShieldRoundMag.h"> + + + + + + + + + + + + @@ -1858,6 +1927,12 @@ RelativePath="..\weapons\WeaponMirv.h"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + #include #include -#include #include #include #include @@ -426,9 +425,12 @@ aiitor++, aicount++) { TankAI *ai = (*aiitor); - char buffer[256]; - snprintf(buffer, 256, "Add %s", ai->getName()); - menuAddPlayer->Append(IDC_MENU_PLAYERADD_1 + aicount, wxString(buffer, wxConvUTF8)); + if (ai->availableForPlayers()) + { + char buffer[256]; + snprintf(buffer, 256, "Add %s", ai->getName()); + menuAddPlayer->Append(IDC_MENU_PLAYERADD_1 + aicount, wxString(buffer, wxConvUTF8)); + } } wxMenu *menuPlayer = new wxMenu; @@ -465,9 +467,12 @@ aiitor++, aicount++) { TankAI *ai = (*aiitor); - if (aicount == i) + if (ai->availableForPlayers()) { - TankAIAdder::addTankAI(*ScorchedServer::instance(), ai->getName()); + if (aicount == i) + { + TankAIAdder::addTankAI(*ScorchedServer::instance(), ai->getName()); + } } } } @@ -568,11 +573,12 @@ char buffer[256]; std::map &tanks = ScorchedServer::instance()->getTankContainer().getPlayingTanks(); + unsigned int state = ScorchedServer::instance()->getGameState().getState(); snprintf(buffer, 256, "%i/%i Players", tanks.size(), ScorchedServer::instance()->getOptionsGame().getNoMaxPlayers()); frame->statusBar_->SetStatusText(wxString(buffer, wxConvUTF8), 0); frame->statusBar_->SetStatusText( - (ServerTooFewPlayersStimulus::instance()->acceptStateChange(0, 0, 0.0f)? + ((state == ServerState::ServerStateTooFewPlayers)? wxT("Not Playing"):wxT("Playing")), 1); snprintf(buffer, 256, "Round %i/%i, %i/%i Moves", ScorchedServer::instance()->getOptionsTransient().getCurrentRoundNo(), @@ -580,9 +586,9 @@ ScorchedServer::instance()->getOptionsTransient().getCurrentGameNo(), ScorchedServer::instance()->getOptionsGame().getNoMaxRoundTurns()); frame->statusBar_->SetStatusText(wxString(buffer, wxConvUTF8), 2); - snprintf(buffer, 256, "BI:%i BO:%i P:%i C:%i", - NetInterface::getBytesIn(), - NetInterface::getBytesOut(), + snprintf(buffer, 256, "BI:%uK BO:%uK P:%u C:%u", + NetInterface::getBytesIn() / 1000, + NetInterface::getBytesOut() / 1000, NetInterface::getPings(), NetInterface::getConnects()); frame->statusBar_->SetStatusText(wxString(buffer, wxConvUTF8), 3); @@ -758,8 +764,9 @@ getOptionsGame().getChangedOptions())) { dialogMessage("Server", - "These changes will only take place at the start of the next round (map).\n" - "Be careful, some changes may not work without restarting server."); + "These changes will only take place if the server is stopped\n" + "or at the start of the next round (map).\n" + "Be careful, some changes may not work without restarting server!!"); } } @@ -777,10 +784,10 @@ if(ScorchedServer::instance()->getOptionsGame().getChangedOptions(). readOptionsFromFile((char *) fileName.c_str())) { - dialogMessage("Server", - "These changes will only take place at the start of the next round (map).\n" - "Be careful, some changes may not work without restarting server."); - } + dialogMessage("Server", + "These changes will only take place if the server is stopped\n" + "or at the start of the next round (map).\n" + "Be careful, some changes may not work without restarting server!!"); } } } @@ -875,10 +882,10 @@ { char serverName[1024]; snprintf(serverName, 1024, - "Scorched 3D Dedicated Server [ %s : %i ] [%s]", + "Scorched3D Server - Version %s (%s) [%s:%i]", + ScorchedVersion, ScorchedProtocolVersion, ScorchedServer::instance()->getOptionsGame().getServerName(), - ScorchedServer::instance()->getOptionsGame().getPortNo(), - (ScorchedServer::instance()->getOptionsGame().getPublishServer()?"Published":"Not Published")); + ScorchedServer::instance()->getOptionsGame().getPortNo()); frame = new ServerFrame(serverName); frame->Show(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/SettingsDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/SettingsDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/SettingsDialog.cpp 2006-07-11 23:35:32.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/SettingsDialog.cpp 2006-11-08 20:45:48.000000000 +0900 @@ -175,6 +175,12 @@ ecoPanel_, sizer, context_.getMoneyWonPerKillPointEntry())); setters_.push_back( OptionEntrySetterUtil::createOtherSetter( + ecoPanel_, sizer, context_.getMoneyWonPerMultiKillPointEntry())); + setters_.push_back( + OptionEntrySetterUtil::createOtherSetter( + ecoPanel_, sizer, context_.getMoneyWonPerHitPointEntry())); + setters_.push_back( + OptionEntrySetterUtil::createOtherSetter( ecoPanel_, sizer, context_.getStartMoneyEntry())); setters_.push_back( OptionEntrySetterUtil::createOtherSetter( @@ -190,11 +196,22 @@ ecoPanel_, sizer, context_.getScoreWonForRoundEntry())); setters_.push_back( OptionEntrySetterUtil::createOtherSetter( + ecoPanel_, sizer, context_.getScoreWonForLivesEntry())); + setters_.push_back( + OptionEntrySetterUtil::createOtherSetter( + ecoPanel_, sizer, context_.getMoneyWonForLivesEntry())); + setters_.push_back( + OptionEntrySetterUtil::createOtherSetter( ecoPanel_, sizer, context_.getScorePerKillEntry())); setters_.push_back( OptionEntrySetterUtil::createOtherSetter( ecoPanel_, sizer, context_.getScorePerAssistEntry())); - + setters_.push_back( + OptionEntrySetterUtil::createOtherSetter( + ecoPanel_, sizer, context_.getScorePerMoneyEntry())); + setters_.push_back( + OptionEntrySetterUtil::createOtherSetter( + ecoPanel_, sizer, context_.getMoneyPerHealthPointEntry())); book_->AddPage(ecoPanel_, wxT("Eco")); ecoPanel_->SetAutoLayout(TRUE); @@ -557,8 +574,11 @@ itor++) { TankAI *ai = *itor; - IDC_COMBO_PTYPE_CTRL[i]->Append( - wxString(ai->getName(), wxConvUTF8)); + if (ai->availableForPlayers()) + { + IDC_COMBO_PTYPE_CTRL[i]->Append( + wxString(ai->getName(), wxConvUTF8)); + } } IDC_COMBO_PTYPE_CTRL[i]->Append(wxT("Human")); IDC_COMBO_PTYPE_CTRL[i]->SetValue( diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/SingleDialog.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/SingleDialog.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/scorched/SingleDialog.cpp 2006-05-29 20:46:16.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/scorched/SingleDialog.cpp 2006-07-27 00:33:43.000000000 +0900 @@ -84,6 +84,17 @@ EVT_BUTTON(ID_BUTTON_GAME + 7, SingleFrame::onGameButton) EVT_BUTTON(ID_BUTTON_GAME + 8, SingleFrame::onGameButton) EVT_BUTTON(ID_BUTTON_GAME + 9, SingleFrame::onGameButton) + EVT_BUTTON(ID_BUTTON_GAME + 10, SingleFrame::onGameButton) + EVT_BUTTON(ID_BUTTON_GAME + 11, SingleFrame::onGameButton) + EVT_BUTTON(ID_BUTTON_GAME + 12, SingleFrame::onGameButton) + EVT_BUTTON(ID_BUTTON_GAME + 13, SingleFrame::onGameButton) + EVT_BUTTON(ID_BUTTON_GAME + 14, SingleFrame::onGameButton) + EVT_BUTTON(ID_BUTTON_GAME + 15, SingleFrame::onGameButton) + EVT_BUTTON(ID_BUTTON_GAME + 16, SingleFrame::onGameButton) + EVT_BUTTON(ID_BUTTON_GAME + 17, SingleFrame::onGameButton) + EVT_BUTTON(ID_BUTTON_GAME + 18, SingleFrame::onGameButton) + EVT_BUTTON(ID_BUTTON_GAME + 19, SingleFrame::onGameButton) + EVT_BUTTON(ID_BUTTON_GAME + 20, SingleFrame::onGameButton) END_EVENT_TABLE() SingleFrame::SingleFrame() : @@ -105,8 +116,14 @@ getDataFile("data/windows/scorched.bmp"), ID_BUTTON_SCORCHED3D); + // Add all of the mods + wxStaticBox *modbox = + new wxStaticBox(this, -1, wxT("Start a single player game")); + wxStaticBoxSizer *modboxsizer = + new wxStaticBoxSizer(modbox, wxVERTICAL); + wxFlexGridSizer *modgridsizer = new wxFlexGridSizer(4, 8, 5, 5); + int count = ID_BUTTON_GAME; - ModDirs modDirs; if (!modDirs.loadModDirs()) dialogExit("SingleFrame", "Failed to load mod dirs"); std::list::iterator itor; @@ -119,10 +136,36 @@ if (!info.getMenuEntries().empty()) { - addModButton(count, info, gridsizer); + wxObjectRefData *refData = new SingleFrameData(info); + wxButton *button = 0; + wxBitmap bitmap; + if (bitmap.LoadFile(wxString((char *) info.getIcon(), + wxConvUTF8), wxBITMAP_TYPE_BMP) && + bitmap.Ok()) + { + button = new wxBitmapButton(this, count++, bitmap); + } + else + { + button = new wxButton(this, count++, wxT("Select")); + } + button->SetRefData(refData); + + wxStaticText *staticText = new wxStaticText( + this, -1, + wxString(modName, wxConvUTF8)); + + wxBoxSizer *tmpsizer = new wxBoxSizer(wxVERTICAL); + tmpsizer->Add(button, 0, wxCENTER); + tmpsizer->Add(staticText, 0, wxCENTER); + + modgridsizer->Add(tmpsizer); } } + modboxsizer->Add(modgridsizer); + topsizer->Add(modboxsizer, 1, wxGROW | wxALL, 5); + { addButtonToWindow(ID_BUTTON_CUSTOM, "Select your own game settings.\n" diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerAddPlayerHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerAddPlayerHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerAddPlayerHandler.cpp 2006-06-28 06:40:01.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerAddPlayerHandler.cpp 2006-09-22 06:57:13.000000000 +0900 @@ -74,7 +74,7 @@ (tank->getState().getState() != TankState::sDead) && (tank->getState().getState() != TankState::sPending)) { - ServerCommon::sendString(destinationId, "Can only change tank when dead."); + ServerCommon::sendString(destinationId, "Can only change tank when dead.", false); return true; } @@ -84,7 +84,7 @@ if (ScorchedServer::instance()->getGameState().getState() != ServerState::ServerStateTooFewPlayers) { - ServerCommon::sendString(destinationId, "Can only change type before game starts."); + ServerCommon::sendString(destinationId, "Can only change type before game starts.", false); return true; } @@ -176,7 +176,7 @@ { ServerCommon::sendString(0, formatString("Welcome back %s, you are ranked %s", - tank->getName(), rank)); + tank->getName(), rank), false); } if (tank->getState().getSpectator()) @@ -223,7 +223,7 @@ ScorchedServer::instance()->getTankModels(). getModelByName(message.getModelName(), tank->getTeam(), - (tank->getDestinationId() == 0)); + tank->isTemp()); tank->getModelContainer().setTankModelName( tankModel->getName(), message.getModelName(), tankModel->getTypeName()); @@ -232,7 +232,7 @@ if (ScorchedServer::instance()->getGameState().getState() == ServerState::ServerStateTooFewPlayers || ScorchedServer::instance()->getGameState().getState() == ServerState::ServerStateStarting) { - ComsPlayerStateMessage message; + ComsPlayerStateMessage message(true); ComsMessageSender::sendToAllConnectedClients(message); } return true; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerAdminHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerAdminHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerAdminHandler.cpp 2006-03-27 07:19:33.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerAdminHandler.cpp 2006-08-18 01:24:09.000000000 +0900 @@ -98,9 +98,6 @@ ServerCommon::sendString(destinationId, formatString("Incorrect admin password (try %i/3)", adminTank->getState().getAdminTries())); - ServerCommon::serverLog( - formatString("Incorrect admin password (try %i/3)", - adminTank->getState().getAdminTries())); if (adminTank->getState().getAdminTries() > 3) { ServerCommon::kickPlayer(adminTank->getPlayerId()); @@ -112,7 +109,7 @@ else if (!adminTank->getState().getAdmin()) { ServerCommon::sendString(destinationId, - "You are not logged in as admin"); + "You are not logged in as admin", false); return true; } @@ -144,7 +141,7 @@ result += "-----------------------------------------------------\n"; - ServerCommon::sendString(destinationId, result.c_str()); + ServerCommon::sendString(destinationId, result.c_str(), false); } break; case ComsAdminMessage::AdminLogout: @@ -195,7 +192,7 @@ result += "-----------------------------------------------------\n"; - ServerCommon::sendString(destinationId, result.c_str()); + ServerCommon::sendString(destinationId, result.c_str(), false); } break; case ComsAdminMessage::AdminShowAliases: @@ -223,9 +220,9 @@ result += "-----------------------------------------------------\n"; - ServerCommon::sendString(destinationId, result.c_str()); + ServerCommon::sendString(destinationId, result.c_str(), false); } - else ServerCommon::sendString(destinationId, "Unknown player for showaliases"); + else ServerCommon::sendString(destinationId, "Unknown player for showaliases", false); } break; case ComsAdminMessage::AdminShowIpAliases: @@ -253,9 +250,9 @@ result += "-----------------------------------------------------\n"; - ServerCommon::sendString(destinationId, result.c_str()); + ServerCommon::sendString(destinationId, result.c_str(), false); } - else ServerCommon::sendString(destinationId, "Unknown player for showipaliases"); + else ServerCommon::sendString(destinationId, "Unknown player for showipaliases", false); } break; case ComsAdminMessage::AdminBan: @@ -271,7 +268,7 @@ ServerCommon::banPlayer( targetTank->getPlayerId()); } - else ServerCommon::sendString(destinationId, "Unknown player for ban"); + else ServerCommon::sendString(destinationId, "Unknown player for ban", false); } break; case ComsAdminMessage::AdminFlag: @@ -287,7 +284,7 @@ ServerCommon::banPlayer( targetTank->getPlayerId(), ServerBanned::Flagged); } - else ServerCommon::sendString(destinationId, "Unknown player for flag"); + else ServerCommon::sendString(destinationId, "Unknown player for flag", false); } break; case ComsAdminMessage::AdminPoor: @@ -303,7 +300,7 @@ ServerCommon::poorPlayer( targetTank->getPlayerId()); } - else ServerCommon::sendString(destinationId, "Unknown player for poor"); + else ServerCommon::sendString(destinationId, "Unknown player for poor", false); } break; case ComsAdminMessage::AdminKick: @@ -319,7 +316,7 @@ ServerCommon::kickPlayer( targetTank->getPlayerId()); } - else ServerCommon::sendString(destinationId, "Unknown player for kick"); + else ServerCommon::sendString(destinationId, "Unknown player for kick", false); } break; case ComsAdminMessage::AdminMute: @@ -330,18 +327,13 @@ if (targetTank) { bool mute = (message.getType() == ComsAdminMessage::AdminMute); - ServerCommon::serverLog( - formatString("\"%s\" admin %s \"%s\"", - adminTank->getName(), - (mute?"mute":"unmute"), - targetTank->getName())); ServerCommon::sendString(0, formatString("admin %s \"%s\"", (mute?"mute":"unmute"), targetTank->getName())); targetTank->getState().setMuted(mute); } - else ServerCommon::sendString(destinationId, "Unknown player for mute"); + else ServerCommon::sendString(destinationId, "Unknown player for mute", false); } break; case ComsAdminMessage::AdminPermMute: @@ -350,10 +342,6 @@ getTankContainer().getTankById(atoi(message.getParam1())); if (targetTank) { - ServerCommon::serverLog( - formatString("\"%s\" admin permmute \"%s\"", - adminTank->getName(), - targetTank->getName())); ServerCommon::sendString(0, formatString("admin permmute \"%s\"", targetTank->getName())); @@ -362,7 +350,7 @@ ServerBanned::Muted); targetTank->getState().setMuted(true); } - else ServerCommon::sendString(destinationId, "Unknown player for permmute"); + else ServerCommon::sendString(destinationId, "Unknown player for permmute", false); } break; case ComsAdminMessage::AdminUnPermMute: @@ -371,10 +359,6 @@ getTankContainer().getTankById(atoi(message.getParam1())); if (targetTank) { - ServerCommon::serverLog( - formatString("\"%s\" admin unpermmute \"%s\"", - adminTank->getName(), - targetTank->getName())); ServerCommon::sendString(0, formatString("admin unpermmute \"%s\"", targetTank->getName())); @@ -383,44 +367,24 @@ ServerBanned::NotBanned); targetTank->getState().setMuted(false); } - else ServerCommon::sendString(destinationId, "Unknown player for unpermmute"); + else ServerCommon::sendString(destinationId, "Unknown player for unpermmute", false); } break; case ComsAdminMessage::AdminTalk: - ServerCommon::serverLog( - formatString("\"%s\" admin talk \"%s\"", - adminTank->getName(), - message.getParam1())); ServerCommon::sendString(0, message.getParam1()); break; case ComsAdminMessage::AdminAdminTalk: - ServerCommon::serverLog( - formatString("\"%s\" admin admintalk \"%s\"", - adminTank->getName(), - message.getParam1())); ServerCommon::sendStringAdmin(message.getParam1()); break; case ComsAdminMessage::AdminMessage: - ServerCommon::serverLog( - formatString("\"%s\" admin message \"%s\"", - adminTank->getName(), - message.getParam1())); ServerCommon::sendStringMessage(0, message.getParam1()); break; case ComsAdminMessage::AdminKillAll: - ServerCommon::serverLog( - formatString("\"%s\" admin killall", - adminTank->getName())); - ServerCommon::sendString(0, - "admin killall"); + ServerCommon::sendString(0, "admin killall"); ServerCommon::killAll(); break; case ComsAdminMessage::AdminNewGame: - ServerCommon::serverLog( - formatString("\"%s\" admin new game", - adminTank->getName())); - ServerCommon::sendString(0, - "admin new game"); + ServerCommon::sendString(0, "admin new game"); ServerCommon::killAll(); ScorchedServer::instance()->getOptionsTransient().startNewGame(); break; @@ -430,11 +394,6 @@ getTankContainer().getTankById(atoi(message.getParam1())); if (targetTank) { - ServerCommon::serverLog( - formatString("\"%s\" admin slap \"%s\" %.0f", - adminTank->getName(), - targetTank->getName(), - (float) atof(message.getParam2()))); ServerCommon::sendString(0, formatString("admin slap \"%s\" %.0f", targetTank->getName(), @@ -443,7 +402,7 @@ targetTank->getPlayerId(), (float) atof(message.getParam2())); } - else ServerCommon::sendString(destinationId, "Unknown player for slap"); + else ServerCommon::sendString(destinationId, "Unknown player for slap", false); } break; } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerAuthHandlerMinKills.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerAuthHandlerMinKills.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerAuthHandlerMinKills.cpp 2006-02-14 02:54:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerAuthHandlerMinKills.cpp 2006-09-05 06:38:52.000000000 +0900 @@ -93,4 +93,6 @@ Logger::log(formatString("Failed to parse %s settings file.", fileName)); return; } + Logger::log(formatString("ServerAuthHandlerMinKills : minkills=%i, maxkills=%i", + minKills_, maxKills_)); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerBrowserInfo.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerBrowserInfo.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerBrowserInfo.cpp 2006-05-15 08:40:15.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerBrowserInfo.cpp 2006-10-25 07:37:18.000000000 +0900 @@ -21,7 +21,6 @@ #include #include #include -#include #include #include #include @@ -141,7 +140,7 @@ char version[256]; snprintf(version, 256, "%s (%s)", ScorchedVersion, ScorchedProtocolVersion); unsigned currentState = ScorchedServer::instance()->getGameState().getState(); - bool started = !ServerTooFewPlayersStimulus::instance()->acceptStateChange(0, 0, 0.0f); + bool started = (currentState != ServerState::ServerStateTooFewPlayers); char players[25]; snprintf(players, 25, "%i", ScorchedServer::instance()->getTankContainer().getNoOfTanks()); char maxplayers[25]; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerCommon.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerCommon.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerCommon.cpp 2006-06-28 06:40:01.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerCommon.cpp 2006-09-15 02:07:35.000000000 +0900 @@ -58,8 +58,22 @@ } } -void ServerCommon::sendStringMessage(unsigned int dest, const char *text) +void ServerCommon::sendStringMessage(unsigned int dest, const char *text, bool blogMessage) { + // Remove any bad characters + for (char *r = (char *) text; *r; r++) + { + if (*r == '%') *r = ' '; + if (*r < 0) *r = ' '; + } + + if (blogMessage) + { + const char *logMessage = formatString("Messages : %s", text); + ServerTextHandler::instance()->addMessage(logMessage); + ServerCommon::serverLog(logMessage); + } + ComsTextMessage message(text, 0, true); if (dest == 0) { @@ -71,10 +85,23 @@ } } -void ServerCommon::sendString(unsigned int dest, const char *text) +void ServerCommon::sendString(unsigned int dest, const char *text, bool blogMessage) { + // Remove any bad characters + for (char *r = (char *) text; *r; r++) + { + if (*r == '%') *r = ' '; + if (*r < 0) *r = ' '; + } + + if (blogMessage) + { + const char *logMessage = formatString("Says : %s", text); + ServerTextHandler::instance()->addMessage(logMessage); + ServerCommon::serverLog(logMessage); + } + ComsTextMessage message(text); - ServerTextHandler::instance()->addMessage(text); if (dest == 0) { ComsMessageSender::sendToAllConnectedClients(message); @@ -87,6 +114,17 @@ void ServerCommon::sendStringAdmin(const char *text) { + // Remove any bad characters + for (char *r = (char *) text; *r; r++) + { + if (*r == '%') *r = ' '; + if (*r < 0) *r = ' '; + } + + const char *logMessage = formatString("Admin Says : %s", text); + ServerTextHandler::instance()->addMessage(logMessage); + ServerCommon::serverLog(logMessage); + std::map &tanks = ScorchedServer::instance()-> getTankContainer().getPlayingTanks(); @@ -100,7 +138,7 @@ { ServerCommon::sendString( tank->getDestinationId(), - formatString("(Admin) %s", text)); + formatString("(Admin) %s", text), false); } } } @@ -133,8 +171,6 @@ sendString(0, formatString("Slapping player \"%s\" %.0f", tank->getName(), slap)); - Logger::log(formatString("Slapping client \"%s\" \"%i\" %.0f", - tank->getName(), tank->getPlayerId(), slap)); } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerCommon.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerCommon.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerCommon.h 2006-06-28 00:59:20.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerCommon.h 2006-08-18 01:24:09.000000000 +0900 @@ -27,8 +27,8 @@ namespace ServerCommon { void startFileLogger(); - void sendString(unsigned int destinationId, const char *text); - void sendStringMessage(unsigned int destinationId, const char *text); + void sendString(unsigned int destinationId, const char *text, bool logMessage = true); + void sendStringMessage(unsigned int destinationId, const char *text, bool logMessage = true); void sendStringAdmin(const char *text); void serverLog(const char *text); void kickDestination(unsigned int destinationId, bool delayed = false); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerConnectHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerConnectHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerConnectHandler.cpp 2006-07-11 01:48:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerConnectHandler.cpp 2006-08-18 01:24:09.000000000 +0900 @@ -26,7 +26,6 @@ #include #include #include -#include #include #include #include @@ -37,12 +36,12 @@ #include #include #include +#include #include #include #include #include #include -#include ServerConnectHandler *ServerConnectHandler::instance_ = 0; @@ -81,14 +80,15 @@ ServerCommon::sendString(destinationId, "--------------------------------------------------\n" "This server is full, you cannot join!\n" - "--------------------------------------------------"); + "--------------------------------------------------", false); ServerCommon::serverLog("Server full, kicking"); ServerCommon::kickDestination(destinationId, true); return true; } // Get the ip address - ipAddress = NetServer::getIpAddress((TCPsocket) destinationId); + ipAddress = ScorchedServer::instance()->getNetInterface(). + getIpAddress(destinationId); } // Decode the connect message @@ -110,7 +110,7 @@ "Connection failed.\n" "--------------------------------------------------", ScorchedVersion, ScorchedProtocolVersion, - message.getVersion(), message.getProtocolVersion())); + message.getVersion(), message.getProtocolVersion()), false); Logger::log( formatString( "Player connected with out of date version \"%s(%s)\"", @@ -161,7 +161,7 @@ "This server is running a password protected game.\n" "Your supplied password does not match.\n" "Connection failed.\n" - "--------------------------------------------------"); + "--------------------------------------------------", false); Logger::log( "Player connected with an invalid password"); ServerCommon::kickDestination(destinationId, true); @@ -196,7 +196,7 @@ "%s" "Connection failed.\n" "--------------------------------------------------", - resultMessage.c_str())); + resultMessage.c_str()), false); Logger::log(formatString("User failed authentication \"%s\" [%s]", message.getUserName(), uniqueId.c_str())); @@ -324,9 +324,9 @@ } // Send the state of all the currently connect clients - /*ComsPlayerStateMessage comsPlayerStateMessage(true); + ComsPlayerStateMessage comsPlayerStateMessage(true); if (!ComsMessageSender::sendToSingleClient( - comsPlayerStateMessage, destinationId)) return false;*/ + comsPlayerStateMessage, destinationId)) return false; return true; } @@ -385,38 +385,6 @@ tank->setName(alias.c_str()); } - // Check if this is a bot - // if not update from any residual tank we have. - // Residual tanks are only available until the next - // whole game starts. - if (destinationId != 0) - { - Tank *savedTank = ScorchedServer::instance()-> - getTankDeadContainer().getTank(sentUniqueId); - if (savedTank) - { - Logger::log( "Found residual player info"); - NetBufferDefault::defaultBuffer.reset(); - if (savedTank->getAccessories().writeMessage( - NetBufferDefault::defaultBuffer, true) && - savedTank->getScore().writeMessage( - NetBufferDefault::defaultBuffer)) - { - NetBufferReader reader(NetBufferDefault::defaultBuffer); - if (!tank->getAccessories().readMessage(reader) || - !tank->getScore().readMessage(reader)) - { - Logger::log( "Failed to update residual player info (read)"); - } - } - else - { - Logger::log( "Failed to update residual player info (write)"); - } - delete savedTank; - } - } - // Add the tank to the list of tanks ScorchedServer::instance()->getTankContainer().addTank(tank); @@ -457,13 +425,11 @@ if (type == ServerBanned::Muted) { tank->getState().setMuted(true); - Logger::log("Player admin muted"); ServerCommon::sendStringAdmin(formatString("Player admin muted \"%s\"", tank->getName())); } else if (type == ServerBanned::Flagged) { - Logger::log( "Player admin flagged"); ServerCommon::sendStringAdmin(formatString("Player admin flagged \"%s\"", tank->getName())); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerDefenseHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerDefenseHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerDefenseHandler.cpp 2006-02-23 00:53:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerDefenseHandler.cpp 2006-09-03 08:04:02.000000000 +0900 @@ -149,22 +149,24 @@ } break; case ComsDefenseMessage::eParachutesUp: - if (tank->getAccessories().getParachutes().getNoParachutes() != 0) { - Accessory *parachute = - ScorchedServer::instance()->getAccessoryStore(). + Accessory *accessory = + ScorchedServer::instance()->getContext().accessoryStore-> findByAccessoryId(message.getInfoId()); - if (parachute) + if (accessory->getType() == AccessoryPart::AccessoryParachute) { - tank->getParachute().setParachutesEnabled(true); - sendMessage = true; + if (tank->getAccessories().getAccessoryCount(accessory) != 0) + { + tank->getParachute().setCurrentParachute(accessory); + sendMessage = true; + } } } break; case ComsDefenseMessage::eParachutesDown: - if (tank->getParachute().parachutesEnabled()) + if (tank->getParachute().getCurrentParachute()) { - tank->getParachute().setParachutesEnabled(false); + tank->getParachute().setCurrentParachute(0); sendMessage = true; } break; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerFileServer.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerFileServer.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerFileServer.cpp 2006-01-21 03:09:01.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerFileServer.cpp 2006-11-01 10:32:35.000000000 +0900 @@ -57,7 +57,7 @@ // Check how many people are currently downloading // also check for any that have finished downloading - std::map &tanks = + std::map tanks = ScorchedServer::instance()->getTankContainer().getPlayingTanks(); std::map::iterator itor; for (itor = tanks.begin(); @@ -78,10 +78,27 @@ // Check if this tank had had a chance to get its mod files if (tank->getMod().getInit()) { - // This tank has finished being sent mod files + // Set this tank to finished tank->getState().setLoading(false); - if (tank->getState().getInitializing()) + // If all tanks at this destination have finished send init message + bool allComplete = true; + std::map::iterator seconditor; + for (seconditor = tanks.begin(); + seconditor != tanks.end(); + seconditor++) + { + Tank *secondtank = (*seconditor).second; + if (secondtank->getState().getLoading()) + { + allComplete = false; + break; + } + } + + // If this tank is not initialized make it initialized + if (tank->getState().getInitializing() && + allComplete) { // Tell this destination to start initializing ComsInitializeMessage initMessage; @@ -203,7 +220,7 @@ unsigned int sizeSent = entry.length; unsigned int sizeLeftToSend = modentry->getCompressedSize() - sizeSent; unsigned int sizeToSend = MIN(sizeLeftToSend, size); - unsigned int filesLeft = (unsigned int) files.size(); + unsigned int bytesLeft = tank->getMod().getTotalLeft(); bool firstChunk = (sizeSent == 0); bool lastChunk = (sizeToSend == sizeLeftToSend); @@ -211,7 +228,7 @@ message.fileBuffer.addToBuffer(modentry->getFileName()); message.fileBuffer.addToBuffer(firstChunk); message.fileBuffer.addToBuffer(lastChunk); - message.fileBuffer.addToBuffer(filesLeft); + message.fileBuffer.addToBuffer(bytesLeft); message.fileBuffer.addToBuffer(modentry->getCompressedSize()); message.fileBuffer.addToBuffer(modentry->getUncompressedSize()); message.fileBuffer.addToBuffer(modentry->getCompressedCrc()); @@ -221,6 +238,7 @@ // Update how much we have sent entry.length += sizeToSend; + tank->getMod().setTotalLeft(tank->getMod().getTotalLeft() - sizeToSend); // Have we sent the whole file if (sizeToSend == sizeLeftToSend) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerHaveModFilesHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerHaveModFilesHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerHaveModFilesHandler.cpp 2006-07-15 21:13:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerHaveModFilesHandler.cpp 2006-11-01 10:32:35.000000000 +0900 @@ -112,7 +112,7 @@ { // No files need downloading ServerCommon::sendString(destinationId, - "No mod files need downloading"); + "No mod files need downloading", false); } else if (OptionsParam::instance()->getSinglePlayer()) { @@ -132,7 +132,7 @@ "The server does not allow in game file downloads.\n" "You must download and install this mod before you\n" "can connect to this server.", - ScorchedServer::instance()->getOptionsGame().getMod())); + ScorchedServer::instance()->getOptionsGame().getMod()), false); ServerCommon::kickDestination(destinationId, true); } else @@ -141,18 +141,21 @@ float(neededLength) / float(ScorchedServer::instance()->getOptionsGame().getModDownloadSpeed()) ); + int timeMinutes = timeLeft / 60; + int timeSeconds = timeLeft % 60; // This server allows file downloads // The the client how much needs to be downloaded ServerCommon::sendString(destinationId, formatString("This server requires the \"%s\" Scorched3D mod.\n" "This will require downloading %u bytes\n" - "Maximun %i bytes per second = Minimum of %i seconds.\n" + "Maximun %i bytes per second = Minimum of %i minutes, %i seconds.\n" "Note: This will also depend on how many server\n" "downloads and your link speed.", ScorchedServer::instance()->getOptionsGame().getMod(), neededLength, ScorchedServer::instance()->getOptionsGame().getModDownloadSpeed(), - timeLeft)); + timeMinutes, + timeSeconds), false); } // Set the files to download in this tanks profile @@ -181,6 +184,7 @@ tank->getMod().addFile(newEntry); } tank->getMod().setInit(true); + tank->getMod().setTotalLeft(neededLength); } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerKeepAliveHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerKeepAliveHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerKeepAliveHandler.cpp 2006-06-28 00:59:20.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerKeepAliveHandler.cpp 2006-11-13 23:53:10.000000000 +0900 @@ -94,12 +94,15 @@ if (current->getKeepAlive() != 0 && theTime - current->getKeepAlive() > allowedTime) { - ServerCommon::serverLog( - formatString("\"%s\" Kicked for exceeding keep alive timeout (%u seconds)", + ServerCommon::sendString(0, + formatString("\"%s\" Kicked for exceeding keep alive timeout (%u seconds)", current->getName(), theTime - current->getKeepAlive())); ServerCommon::kickDestination(current->getDestinationId()); + + // To give more time until we repeat this message + current->setKeepAlive(0); break; // As now the tank container may be out of date } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerLinesHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerLinesHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerLinesHandler.cpp 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerLinesHandler.cpp 2006-09-24 03:01:35.000000000 +0900 @@ -0,0 +1,95 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include +#include +#include +#include +#include + +ServerLinesHandler *ServerLinesHandler::instance() +{ + static ServerLinesHandler *instance = + new ServerLinesHandler; + return instance; +} + +ServerLinesHandler::ServerLinesHandler() +{ + ScorchedServer::instance()->getComsMessageHandler().addHandler( + "ComsLinesMessage", + this); +} + +ServerLinesHandler::~ServerLinesHandler() +{ +} + +bool ServerLinesHandler::processMessage(unsigned int destinationId, + const char *messageType, + NetBufferReader &reader) +{ + ComsLinesMessage message; + if (!message.readMessage(reader)) return false; + + // Reject large messages + if (message.getLines().size() > 150) return true; + + // Check the player id has been supplied + unsigned int playerId = message.getPlayerId(); + if (playerId == 0) return true; + + // Check this is a tank, and comes from the correct destination + Tank *tank = ScorchedServer::instance()->getTankContainer().getTankById(playerId); + if (!tank || tank->getDestinationId() != destinationId) return true; + + // If this tank has been muted also don't allow lines + if (tank->getState().getMuted()) return true; + + // Send all team messages to everyone in the team (or any admins) + // Only send to the same destination once + std::set doneDests; + doneDests.insert(destinationId); // Don't send to recieved dest + std::map &tanks = + ScorchedServer::instance()->getTankContainer().getPlayingTanks(); + std::map::iterator itor; + for (itor = tanks.begin(); + itor != tanks.end(); + itor++) + { + Tank *currentTank = (*itor).second; + if (tank->getTeam() == currentTank->getTeam() || + currentTank->getState().getAdmin()) + { + if (doneDests.find(currentTank->getDestinationId()) == + doneDests.end()) + { + doneDests.insert(currentTank->getDestinationId()); + ComsMessageSender::sendToSingleClient(message, + currentTank->getDestinationId()); + } + } + } + + return true; +} diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerLinesHandler.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerLinesHandler.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerLinesHandler.h 1970-01-01 09:00:00.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerLinesHandler.h 2006-09-23 02:11:43.000000000 +0900 @@ -0,0 +1,42 @@ +//////////////////////////////////////////////////////////////////////////////// +// Scorched3D (c) 2000-2003 +// +// This file is part of Scorched3D. +// +// Scorched3D is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Scorched3D is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Scorched3D; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +#if !defined(__INCLUDE_ServerLinesHandlerh_INCLUDE__) +#define __INCLUDE_ServerLinesHandlerh_INCLUDE__ + +#include + +class ServerLinesHandler : + public ComsMessageHandlerI +{ +public: + static ServerLinesHandler *instance(); + + virtual bool processMessage(unsigned int id, + const char *messageType, + NetBufferReader &reader); + +private: + ServerLinesHandler(); + virtual ~ServerLinesHandler(); + +}; + +#endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerMain.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerMain.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerMain.cpp 2006-07-11 01:48:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerMain.cpp 2006-11-10 23:57:06.000000000 +0900 @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -78,6 +79,25 @@ dialogExit("ScorchedServer", "Cannot start a game with more teams than minimum players"); }*/ + + if (ScorchedServer::instance()->getOptionsGame().getRemoveBotsAtPlayers() > 0) + { + int maxComputerAIs = + ScorchedServer::instance()->getOptionsGame().getNoMaxPlayers(); + for (int i=0; igetOptionsGame().getPlayerType(i); + if (0 == stricmp(playerType, "Random")) + { + dialogExit("ScorchedServer", + "Cannot use removebots setting with random bots"); + } + } + } + + ScorchedServer::instance()->getLandscapes().checkEnabled( + ScorchedServer::instance()->getOptionsGame()); if (ScorchedServer::instance()->getOptionsGame().getTeamBallance() == OptionsGame::TeamBallanceBotsVs && @@ -90,7 +110,8 @@ bool startServer(bool local, ProgressCounter *counter) { - checkSettings(); + Logger::log(formatString("Scorched3D - Version %s (%s) - %s", + ScorchedVersion, ScorchedProtocolVersion, ScorchedBuildTime)); // Setup the message handling classes if (!local) @@ -108,6 +129,7 @@ ScorchedServer::instance()->getComsMessageHandler().setConnectionHandler( ServerMessageHandler::instance()); ServerConnectHandler::instance(); + ServerLinesHandler::instance(); ServerTextHandler::instance(); ServerPlayerReadyHandler::instance(); ServerPlayerAimHandler::instance(); @@ -153,6 +175,8 @@ ServerState::setupStates(ScorchedServer::instance()->getGameState()); EconomyStore::instance(); + checkSettings(); + return true; } @@ -196,8 +220,11 @@ { Logger::processLogEntries(); ScorchedServer::instance()->getNetInterface().processMessages(); - ServerBrowserInfo::instance()->processMessages(); - ServerWebServer::instance()->processMessages(); + if (OptionsParam::instance()->getDedicatedServer()) + { + ServerBrowserInfo::instance()->processMessages(); + ServerWebServer::instance()->processMessages(); + } float timeDifference = serverTimer.getTimeDifference(); ScorchedServer::instance()->getGameState().simulate(timeDifference); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerMessageHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerMessageHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerMessageHandler.cpp 2006-02-14 02:54:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerMessageHandler.cpp 2006-10-31 05:43:41.000000000 +0900 @@ -168,7 +168,9 @@ ComsMessageSender::sendToAllConnectedClients(rmPlayerMessage); // Tidy player - if (ScorchedServer::instance()->getOptionsGame().getResidualPlayers()) + if (ScorchedServer::instance()->getOptionsGame().getResidualPlayers() && + tank->getState().getState() != TankState::sPending && + tank->getUniqueId()[0]) { ScorchedServer::instance()->getTankDeadContainer().addTank(tank); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerNewGameState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerNewGameState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerNewGameState.cpp 2006-07-13 08:29:37.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerNewGameState.cpp 2006-11-17 02:28:13.000000000 +0900 @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -51,7 +52,8 @@ extern Clock serverTimer; -ServerNewGameState::ServerNewGameState() +ServerNewGameState::ServerNewGameState() : + GameStateI("ServerNewGameState") { } @@ -81,9 +83,20 @@ EconomyStore::instance()->getEconomy()->calculatePrices(); EconomyStore::instance()->getEconomy()->savePrices(); - // Make sure the most uptodate options have been used - bool optionsChanged = - ScorchedServer::instance()->getOptionsGame().commitChanges(); + // Make sure the most up-to-date options are used and sent to the client + // The original options are sent in the connection accept message + // but send new options if the server has changed the options + bool sendGameState = (ScorchedServer::instance()->getContext(). + optionsTransient->getCurrentRoundNo() == 0); + sendGameState = true; // HACK always send state until we bump + // protocol version and change game state message to + // always send options transient, also do we need to send + // when current round == 0?? Check later. + if (ScorchedServer::instance()->getOptionsGame().commitChanges()) + { + sendGameState = true; + ServerCommon::sendString(0, "Game options have been changed!"); + } // Set all options (wind etc..) ScorchedServer::instance()->getContext().optionsTransient->newGame(); @@ -124,7 +137,7 @@ checkTeams(); // Check that we dont have too many bots - checkBots(); + checkBots(true); // Generate the new level LandscapeDefinition defn = ScorchedServer::instance()->getLandscapes().getRandomLandscapeDefn( @@ -138,7 +151,7 @@ calculateStartPosition(ScorchedServer::instance()->getContext()); // Add pending tanks (all tanks should be pending) into the game - addTanksToGame(state, optionsChanged); + addTanksToGame(state, sendGameState); // Create the player order for this game TurnController::instance()->newGame(); @@ -186,8 +199,6 @@ if (addState) { // Tell client(s) of game settings changes - ServerCommon::serverLog( "Sending a new game state"); - ServerCommon::sendString(0, "Game options have been changed!"); newGameMessage.addGameState(); } @@ -212,7 +223,6 @@ if (newGameMessage.getLevelMessage().getHeightMap().getLevelLen() > (unsigned int) ScorchedServer::instance()->getOptionsGame().getMaxLandscapeSize()) { - ServerCommon::serverLog( "Landscape too large to send to waiting clients."); ServerCommon::sendString(0, formatString("Landscape too large to send to waiting clients (%i bytes).", newGameMessage.getLevelMessage().getHeightMap().getLevelLen())); return 0; @@ -244,6 +254,40 @@ if (tank->getState().getState() == TankState::sPending) { tank->newMatch(); + + // Check if this is a bot + // if not update from any residual tank we have. + // Residual tanks are only available until the next + // whole game starts. + if (tank->getDestinationId() != 0) + { + Tank *savedTank = ScorchedServer::instance()-> + getTankDeadContainer().getTank(tank->getUniqueId()); + if (savedTank) + { + Logger::log( "Found residual player info"); + NetBufferDefault::defaultBuffer.reset(); + if (savedTank->getAccessories().writeMessage( + NetBufferDefault::defaultBuffer, true) && + savedTank->getScore().writeMessage( + NetBufferDefault::defaultBuffer)) + { + NetBufferReader reader(NetBufferDefault::defaultBuffer); + if (!tank->getAccessories().readMessage(reader) || + !tank->getScore().readMessage(reader)) + { + Logger::log( "Failed to update residual player info (read)"); + } + // Don't get credited for the new game stats + tank->getScore().resetTotalEarnedStats(); + } + else + { + Logger::log( "Failed to update residual player info (write)"); + } + delete savedTank; + } + } } if (tank->getState().getSpectator()) @@ -516,7 +560,7 @@ ScorchedServer::instance()->getTankModels().getModelByName( current->getModelContainer().getTankModelName(), current->getTeam(), - (current->getDestinationId() == 0)); + current->isTemp()); if (0 != strcmp(model->getName(), current->getModelContainer().getTankModelName())) { @@ -619,18 +663,15 @@ OptionsGame::TeamBallanceAutoByScore) { ServerCommon::sendString(0, "Auto ballancing teams, by score"); - ServerCommon::serverLog( "Auto ballancing teams, by score"); } else if (ScorchedServer::instance()->getOptionsGame().getTeamBallance() == OptionsGame::TeamBallanceAutoByBots) { ServerCommon::sendString(0, "Auto ballancing teams, by bots"); - ServerCommon::serverLog( "Auto ballancing teams, by bots"); } else { ServerCommon::sendString(0, "Auto ballancing teams"); - ServerCommon::serverLog( "Auto ballancing teams"); } } } @@ -653,7 +694,7 @@ } } -void ServerNewGameState::checkBots() +void ServerNewGameState::checkBots(bool removeBots) { int requiredPlayers = ScorchedServer::instance()->getOptionsGame(). @@ -683,7 +724,8 @@ } } - if (noPlayers > requiredPlayers) + if (noPlayers > requiredPlayers && + removeBots) { std::multimap ais_; @@ -717,7 +759,7 @@ noPlayers--; } } - else if (noPlayers < requiredPlayers) + if (noPlayers < requiredPlayers) { std::multimap ais_; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerNewGameState.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerNewGameState.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerNewGameState.h 2006-06-02 02:36:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerNewGameState.h 2006-11-03 06:40:36.000000000 +0900 @@ -40,7 +40,7 @@ static int addTanksToGame(const unsigned state, bool addState = false); static void checkTeams(); - static void checkBots(); + static void checkBots(bool removeBots); static void removeTargets(); static void calculateStartPosition( ScorchedContext &contex); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerNextRoundState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerNextRoundState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerNextRoundState.cpp 2005-11-25 19:35:43.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerNextRoundState.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -33,7 +33,8 @@ #include #include -ServerNextRoundState::ServerNextRoundState() +ServerNextRoundState::ServerNextRoundState() : + GameStateI("ServerNextRoundState") { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerNextShotState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerNextShotState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerNextShotState.cpp 2006-04-05 09:42:12.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerNextShotState.cpp 2006-10-25 07:37:18.000000000 +0900 @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -31,7 +30,8 @@ #include #include -ServerNextShotState::ServerNextShotState() +ServerNextShotState::ServerNextShotState() : + GameStateI("ServerNextShotState") { } @@ -104,7 +104,6 @@ ScorchedServer::instance()->getOptionsGame().getNoMaxRoundTurns() && ScorchedServer::instance()->getOptionsGame().getNoMaxRoundTurns() > 0) { - ServerCommon::serverLog( "Skipping round due to turn limit"); ServerCommon::sendString(0, "Skipping round due to turn limit"); // We have shots to make, lets make them diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerNextTurnState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerNextTurnState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerNextTurnState.cpp 2006-02-14 02:54:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerNextTurnState.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -34,7 +34,8 @@ #include #include -ServerNextTurnState::ServerNextTurnState() +ServerNextTurnState::ServerNextTurnState() : + GameStateI("ServerNextTurnState") { } @@ -105,7 +106,7 @@ else { ServerCommon::sendStringMessage(tank->getDestinationId(), - formatString("%s's Move", tank->getName())); + formatString("%s's Move", tank->getName()), false); // Tell the clients to start the game ComsStartGameMessage startMessage(tank->getPlayerId(), weaponBuy); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerPlayingState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerPlayingState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerPlayingState.cpp 2006-06-28 00:59:20.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerPlayingState.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -28,7 +28,9 @@ #include #include -ServerPlayingState::ServerPlayingState() : time_(0.0f) +ServerPlayingState::ServerPlayingState() : + GameStateI("ServerPlayingState"), + time_(0.0f) { } @@ -86,11 +88,6 @@ // If the allowed missed moves has been specified if (ScorchedServer::instance()->getOptionsGame().getAllowedMissedMoves() > 0) { - ServerCommon::serverLog( - formatString("Player \"%s\" failed to %s, allowed %i more missed move(s)", - tank->getName(), - ((state == ServerState::ServerStateBuying)?"buy":"move"), - ScorchedServer::instance()->getOptionsGame().getAllowedMissedMoves() - movesMissed)); ServerCommon::sendString(0, formatString("Player \"%s\" failed to %s, allowed %i more missed move(s)", tank->getName(), diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerReadyState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerReadyState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerReadyState.cpp 2006-06-28 00:59:20.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerReadyState.cpp 2006-11-01 10:32:35.000000000 +0900 @@ -27,7 +27,6 @@ #include #include #include -#include #include #include #include @@ -36,6 +35,7 @@ #include ServerReadyState::ServerReadyState(ServerShotState *shotState) : + GameStateI("ServerReadyState"), time_(0.0f), shotState_(shotState) { } @@ -192,16 +192,9 @@ Tank *tank = (*itor).second; if (tank->getState().getReadyState() == TankState::SNotReady) { - if (OptionsParam::instance()->getDedicatedServer()) - { - Logger::log( - formatString("Player \"%s\" not returned ready for %0.f seconds", - tank->getName(), - idleTime_)); - } - - ServerCommon::sendString(tank->getDestinationId(), - formatString("Kicked for not responding for %.0f seconds", idleTime_)); + ServerCommon::sendString(0, + formatString("%s kicked for not responding for %.0f seconds", + tank->getName(), idleTime_)); ServerCommon::kickDestination(tank->getDestinationId()); } } @@ -216,30 +209,11 @@ void ServerReadyState::finished() { - // Update the stats for the players before sending out the - // stats message - std::map &tanks = - ScorchedServer::instance()->getTankContainer().getPlayingTanks(); - std::map::iterator itor; - for (itor = tanks.begin(); - itor != tanks.end(); - itor++) - { - Tank *tank = (*itor).second; - - // Ensure stats are uptodate - StatsLogger::instance()->updateStats(tank); - - // Get the new tanks rank - char *rank = StatsLogger::instance()->tankRank(tank); - tank->getScore().setStatsRank(rank); - } - // Say we are waiting on no one ComsPlayerStatusMessage statusMessage; ComsMessageSender::sendToAllPlayingClients(statusMessage); // Make sure all clients have the correct game settings - ComsPlayerStateMessage playerState; + ComsPlayerStateMessage playerState(false); ComsMessageSender::sendToAllPlayingClients(playerState); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerRegistration.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerRegistration.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerRegistration.cpp 2006-02-14 02:54:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerRegistration.cpp 2006-10-21 04:42:43.000000000 +0900 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -36,8 +37,31 @@ return instance_; } -ServerRegistration::ServerRegistration() : - netServer_(new NetServerHTTPProtocolSend) +ServerRegistration::ServerRegistration() : + mainServer_( + OptionsMasterListServer::instance()->getMasterListServer(), + OptionsMasterListServer::instance()->getMasterListServerURI()), + backupServer_( + OptionsMasterListServer::instance()->getMasterListBackupServer(), + OptionsMasterListServer::instance()->getMasterListBackupServerURI()) +{ +} + +ServerRegistration::~ServerRegistration() +{ +} + +void ServerRegistration::start() +{ + mainServer_.start(); + backupServer_.start(); +} + +ServerRegistrationEntry::ServerRegistrationEntry( + const char *masterListServer, + const char *masterListServerURI) : + netServer_(new NetServerHTTPProtocolSend), + masterListServer_(masterListServer) { static char buffer[1024]; snprintf(buffer, @@ -48,83 +72,100 @@ "Connection: Keep-Alive\r\n" "\r\n" "\r\n", - ScorchedServer::instance()->getOptionsGame().getMasterListServerURI(), + masterListServerURI, ScorchedServer::instance()->getOptionsGame().getPublishAddress(), ScorchedServer::instance()->getOptionsGame().getPortNo(), - ScorchedServer::instance()->getOptionsGame().getMasterListServer()); + masterListServer); sendNetBuffer_.addDataToBuffer(buffer, strlen(buffer)); // Note no null netServer_.setMessageHandler(this); } -ServerRegistration::~ServerRegistration() +ServerRegistrationEntry::~ServerRegistrationEntry() { } -void ServerRegistration::start() +void ServerRegistrationEntry::start() +{ + SDL_CreateThread(ServerRegistrationEntry::threadFunc, (void *) this); +} + +int ServerRegistrationEntry::threadFunc(void *param) { - SDL_CreateThread(ServerRegistration::threadFunc, (void *) this); + ServerRegistrationEntry *entry = + (ServerRegistrationEntry *) param; + + entry->actualThreadFunc(); + return 0; } -int ServerRegistration::threadFunc(void *param) +void ServerRegistrationEntry::actualThreadFunc() { const int TimeBetweenRegistrations = 540; for (;;) { // Ensure no connections are hanging around - instance_->netServer_.disconnectAllClients(); + netServer_.disconnectAllClients(); + netServer_.processMessages(); // Get rid of disconnect messages // Register this game on the web - registerGame(); - time_t lastTime = time(0); + success_ = false; + finished_ = false; - // Wait for TimeBetweenRegistrations seconds before registering again - int waitTime = TimeBetweenRegistrations; - for (;;) + Logger::log(formatString( + "Connecting to registration server %s...", masterListServer_)); + if (registerGame()) { - // Check for any replies or timeout every 1 seconds - SDL_Delay(1000); - instance_->netServer_.processMessages(); - - // If we have finished and it was not a success only - // wait 30 seconds before registering again - if (instance_->finished_ && !instance_->success_) + time_t lastTime = time(0); + for (;;) { - waitTime = 30; + // Check for any replies or timeout every 1 seconds + SDL_Delay(1000); + netServer_.processMessages(); + + // We have recieved a disconnect + if (finished_) break; + + // Check for timeout + int timeOut = + OptionsMasterListServer::instance()->getMasterListServerTimeout(); + time_t currentTime = time(0); + if (currentTime - lastTime > timeOut) + { + break; + } } - // Wait for TimeBetweenRegistrations seconds before sending again - time_t currentTime = time(0); - if (currentTime - lastTime > waitTime) - { - break; - } + Logger::log( + formatString("Registration to %s %s.", + masterListServer_, + (success_?"was successfull":"failed"))); } + else + { + Logger::log(formatString( + "Failed to connect to registration server %s", masterListServer_)); + } + + // Wait for TimeBetweenRegistrations seconds before registering again + // unless we have had an error, in which case try again in 30 seconds + int waitTime = (success_?TimeBetweenRegistrations:30); + SDL_Delay(1000 * waitTime); } - return 0; } -void ServerRegistration::registerGame() +bool ServerRegistrationEntry::registerGame() { // Connect to the web server - Logger::log( "Contacting registration server..."); - if (!instance_->netServer_.connect(ScorchedServer::instance()->getOptionsGame().getMasterListServer(), 80)) - { - Logger::log( "Failed to contact registration server"); - instance_->finished_ = true; - instance_->success_ = false; - return; - } - instance_->finished_ = false; - instance_->success_ = false; + if (!netServer_.connect(masterListServer_, 80)) return false; // Send the web request - instance_->netServer_.sendMessage(instance_->sendNetBuffer_); - Logger::log( "Registration request sent."); + netServer_.sendMessage(sendNetBuffer_); + return true; } -void ServerRegistration::processMessage(NetMessage &message) +void ServerRegistrationEntry::processMessage(NetMessage &message) { // We have received a reply from the web server if (message.getMessageType() == NetMessage::BufferMessage) @@ -134,7 +175,6 @@ } else if (message.getMessageType() == NetMessage::DisconnectMessage) { - Logger::log(formatString("Registration complete (%s).", (success_?"Success":"Failure"))); finished_ = true; } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerRegistration.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerRegistration.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerRegistration.h 2004-06-29 19:11:45.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerRegistration.h 2006-10-21 04:42:43.000000000 +0900 @@ -23,24 +23,40 @@ #include -class ServerRegistration : public NetMessageHandlerI +class ServerRegistrationEntry : public NetMessageHandlerI { public: - static ServerRegistration *instance(); + ServerRegistrationEntry(const char *masterListServer, + const char *masterListServerURI); + virtual ~ServerRegistrationEntry(); void start(); protected: - static ServerRegistration *instance_; - + const char *masterListServer_; bool finished_, success_; NetServer netServer_; NetBuffer sendNetBuffer_; static int threadFunc(void *); - static void registerGame(); + void actualThreadFunc(); + bool registerGame(); // Inherited from NetMessageHandlerI virtual void processMessage(NetMessage &message); +}; + +class ServerRegistration +{ +public: + static ServerRegistration *instance(); + + void start(); + +protected: + static ServerRegistration *instance_; + + ServerRegistrationEntry mainServer_; + ServerRegistrationEntry backupServer_; private: ServerRegistration(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerResetState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerResetState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerResetState.cpp 2006-04-05 09:42:12.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerResetState.cpp 2006-09-17 02:15:44.000000000 +0900 @@ -28,7 +28,8 @@ #include #include -ServerResetState::ServerResetState() +ServerResetState::ServerResetState() : + GameStateI("ServerResetState") { } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerShotFinishedState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerShotFinishedState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerShotFinishedState.cpp 2006-06-28 06:40:01.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerShotFinishedState.cpp 2006-11-08 20:45:48.000000000 +0900 @@ -38,7 +38,8 @@ float ServerShotFinishedState::speed_(1.0f); -ServerShotFinishedState::ServerShotFinishedState() +ServerShotFinishedState::ServerShotFinishedState() : + GameStateI("ServerShotFinishedState") { } @@ -72,7 +73,7 @@ getOptionsGame().getRoundScoreTime(); } - ComsPlayerStateMessage playerMessage; + ComsPlayerStateMessage playerMessage(false); ComsMessageSender::sendToAllPlayingClients(playerMessage); ComsScoreMessage message(finalScore); ComsMessageSender::sendToAllPlayingClients(message); @@ -107,13 +108,46 @@ int moneyWonForRound = ScorchedServer::instance()->getOptionsGame().getMoneyWonForRound(); + int moneyWonForLives = + ScorchedServer::instance()->getOptionsGame().getMoneyWonForLives(); int scoreWonForRound = ScorchedServer::instance()->getOptionsGame().getScoreWonForRound(); + int scoreWonForLives = + ScorchedServer::instance()->getOptionsGame().getScoreWonForLives(); + // Add score for each life left + std::map::iterator itor; + for (itor = playingTank.begin(); + itor != playingTank.end(); + itor++) + { + Tank *tank = (*itor).second; + if (tank->getState().getSpectator()) continue; + if (tank->getAlive()) + tank->getScore().setScore( + tank->getScore().getScore() + (scoreWonForLives * tank->getState().getLives())); + } + // Is it a team game? if (ScorchedServer::instance()->getOptionsGame().getTeams() > 1) { // Yes, check which team has won and give points accordingly + // Add score for round wins + std::map::iterator itor; + for (itor = playingTank.begin(); + itor != playingTank.end(); + itor++) + { + Tank *tank = (*itor).second; + if (tank->getState().getSpectator()) continue; + + if (tank->getAlive()) + { + ScorchedServer::instance()->getContext().tankTeamScore->addScore( + scoreWonForLives * tank->getState().getLives(), tank->getTeam()); + } + } + std::set winningTeams; int winningTeam = ScorchedServer::instance()->getContext().tankTeamScore->getWonGame(); @@ -125,7 +159,6 @@ } else { - std::map::iterator itor; for (itor = playingTank.begin(); itor != playingTank.end(); itor++) @@ -140,12 +173,12 @@ ScorchedServer::instance()->getContext().tankTeamScore->addScore( scoreWonForRound, tank->getTeam()); winningTeams.insert(tank->getTeam()); + } } } } - std::map::iterator itor; for (itor = playingTank.begin(); itor != playingTank.end(); itor++) @@ -158,10 +191,10 @@ StatsLogger::instance()->tankWon(tank); tank->getScore().setMoney( tank->getScore().getMoney() + moneyWonForRound); + tank->getScore().setMoney( + tank->getScore().getMoney() + (moneyWonForLives * tank->getState().getLives())); tank->getScore().setWins( tank->getScore().getWins() + 1); - tank->getScore().setScore( - tank->getScore().getScore() + scoreWonForRound); } } } @@ -182,6 +215,8 @@ StatsLogger::instance()->tankWon(tank); tank->getScore().setMoney( tank->getScore().getMoney() + moneyWonForRound); + tank->getScore().setMoney( + tank->getScore().getMoney() + (moneyWonForLives * tank->getState().getLives())); tank->getScore().setWins( tank->getScore().getWins() + 1); tank->getScore().setScore( @@ -205,6 +240,8 @@ StatsLogger::instance()->tankWon(tank); tank->getScore().setMoney( tank->getScore().getMoney() + moneyWonForRound); + tank->getScore().setMoney( + tank->getScore().getMoney() + (moneyWonForLives * tank->getState().getLives())); tank->getScore().setWins( tank->getScore().getWins() + 1); tank->getScore().setScore( @@ -236,6 +273,34 @@ } } + // Update the stats for the players before sending out the + // stats message + std::map &tanks = + ScorchedServer::instance()->getTankContainer().getPlayingTanks(); + for (itor = tanks.begin(); + itor != tanks.end(); + itor++) + { + Tank *tank = (*itor).second; + + // Money earned + int newMoney = tank->getScore().getTotalMoneyEarnedStat(); + int scoreAdded = (newMoney * + ScorchedServer::instance()->getOptionsGame().getScorePerMoneyEntry()) + / 100; + tank->getScore().setScore(tank->getScore().getScore() + scoreAdded); + + // Ensure stats are uptodate + StatsLogger::instance()->updateStats(tank); + + // Reset the totaled stats + tank->getScore().resetTotalEarnedStats(); + + // Get the new tanks rank + char *rank = StatsLogger::instance()->tankRank(tank); + tank->getScore().setStatsRank(rank); + } + // Check if this is the last round that will be played bool overAllWinner = false; if (ScorchedServer::instance()->getOptionsTransient().getCurrentRoundNo() >= @@ -277,16 +342,48 @@ itor != tanks.end(); itor++) { - sortedTanks.push_back((*itor).second); + Tank *current = (*itor).second; + sortedTanks.push_back(current); } TankSort::getSortedTanks(sortedTanks, ScorchedServer::instance()->getContext()); - std::list::iterator scoreitor = sortedTanks.begin(); - ServerCommon::serverLog(formatString("\"%s\" is the overall winner!", (*scoreitor)->getName())); - ServerCommon::sendStringMessage(0, formatString("\"%s\" is the overall winner!", (*scoreitor)->getName())); - - // Score the winning tank as the overall winner - StatsLogger::instance()->tankOverallWinner((*scoreitor)); + if (!sortedTanks.empty()) + { + Tank *topScore = *(sortedTanks.begin()); + + std::string names; + std::list winners; + std::list::iterator scoreitor; + for (scoreitor = sortedTanks.begin(); + scoreitor != sortedTanks.end(); + scoreitor++) + { + Tank *current = *scoreitor; + if (topScore->getScore().getScore() == + current->getScore().getScore()) + { + winners.push_back(current); + if (!names.empty()) names.append(","); + names.append(current->getName()); + + // Score the winning tank as the overall winner + StatsLogger::instance()->tankOverallWinner(current); + } + } + + if (winners.size() == 1) + { + ServerCommon::sendStringMessage(0, + formatString("%s is the overall winner!", + names.c_str())); + } + else + { + ServerCommon::sendStringMessage(0, + formatString("%s are the overall winners!", + names.c_str())); + } + } } else { @@ -294,14 +391,12 @@ ScorchedServer::instance()->getContext()); if (winningTeam == 0) { - ServerCommon::serverLog( "The game is a draw!"); ServerCommon::sendStringMessage(0, "The game is a draw!"); } else { - ServerCommon::serverLog(formatString("%s team is the overall winner!", - TankColorGenerator::getTeamName(winningTeam))); - ServerCommon::sendStringMessage(0, formatString("%s team is the overall winner!", + ServerCommon::sendStringMessage(0, + formatString("%s team is the overall winner!", TankColorGenerator::getTeamName(winningTeam))); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerShotHolder.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerShotHolder.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerShotHolder.cpp 2006-06-24 02:53:22.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerShotHolder.cpp 2006-11-02 03:11:44.000000000 +0900 @@ -100,6 +100,25 @@ } } +bool ServerShotHolder::allSkipped() +{ + if (messages_.empty()) return false; + + std::map::iterator itor; + for (itor = messages_.begin(); + itor != messages_.end(); + itor++) + { + unsigned int playerId = (*itor).first; + ComsPlayedMoveMessage *message = (*itor).second; + if (message->getType() != ComsPlayedMoveMessage::eSkip) + { + return false; + } + } + return true; +} + bool ServerShotHolder::haveShot(unsigned int playerId) { std::map::iterator itor = @@ -185,9 +204,6 @@ } } break; - case ComsPlayedMoveMessage::eMove: - processMoveMessage(context, message, tank); - break; default: // add other START round types break; @@ -212,44 +228,6 @@ } } -void ServerShotHolder::processMoveMessage(ScorchedContext &context, - ComsPlayedMoveMessage &message, Tank *tank) -{ - // Check the is alive - if (tank->getState().getState() != TankState::sNormal) return; - - Accessory *accessory = - context.accessoryStore->findByAccessoryId( - message.getWeaponId()); - if (!accessory || accessory->getType() != AccessoryPart::AccessoryFuel) - { - return; - } - - int posX = message.getPositionX(); - int posY = message.getPositionY(); - if (posX > 0 && posX < context.landscapeMaps->getDefinitions().getDefn()->landscapewidth && - posY > 0 && posY < context.landscapeMaps->getDefinitions().getDefn()->landscapeheight) - { - MovementMap mmap( - context.landscapeMaps->getDefinitions().getDefn()->landscapewidth, - context.landscapeMaps->getDefinitions().getDefn()->landscapeheight); - mmap.calculateForTank(tank, accessory->getAccessoryId(), context); - MovementMap::MovementMapEntry entry = - mmap.getEntry(posX, posY); - if (entry.type == MovementMap::eMovement && - (entry.dist < tank->getAccessories().getAccessoryCount(accessory) || - tank->getAccessories().getAccessoryCount(accessory) == -1)) - { - TankMovement *move = - new TankMovement(tank->getPlayerId(), - (Fuel *) accessory->getAction(), - posX, posY); - context.actionController->addAction(move); - } - } -} - void ServerShotHolder::processResignMessage(ScorchedContext &context, ComsPlayedMoveMessage &message, Tank *tank) { @@ -268,62 +246,87 @@ ComsPlayedMoveMessage &message, Tank *tank) { // Check the tank is alive - if (tank->getState().getState() == TankState::sNormal) + if (tank->getState().getState() != TankState::sNormal) { - // Check the weapon name exists and is a weapon - Accessory *accessory = - context.accessoryStore->findByAccessoryId( - message.getWeaponId()); - if (accessory && accessory->getType() == AccessoryPart::AccessoryWeapon) - { - // Check this tank has these weapons - int count = - tank->getAccessories().getAccessoryCount(accessory); - if (count > 0 || count == -1) - { - if ((10 - accessory->getArmsLevel()) <= - context.optionsTransient->getArmsLevel() || - context.optionsGame->getGiveAllWeapons()) - { - // Actually use up one of the weapons - tank->getAccessories().rm(accessory, 1); + return; + } - // shot fired action - Weapon *weapon = (Weapon *) accessory->getAction(); - TankFired *fired = new TankFired(tank->getPlayerId(), - weapon, - message.getRotationXY(), message.getRotationYZ()); - context.actionController->addAction(fired); - - // Set the tank to have the correct rotation etc.. - tank->getPosition().rotateGunXY( - message.getRotationXY(), false); - tank->getPosition().rotateGunYZ( - message.getRotationYZ(), false); - tank->getPosition().changePower( - message.getPower(), false); - - // Create the action for the weapon and - // add it to the action controller - Vector velocity = tank->getPosition().getVelocityVector() * - (tank->getPosition().getPower() + 1.0f); - Vector position = tank->getPosition().getTankGunPosition(); - - weapon->fireWeapon(context, tank->getPlayerId(), position, velocity, 0); - StatsLogger::instance()->tankFired(tank, weapon); - StatsLogger::instance()->weaponFired(weapon, false); + // Check the weapon name exists and is a weapon + Accessory *accessory = + context.accessoryStore->findByAccessoryId( + message.getWeaponId()); + if (accessory && accessory->getType() != AccessoryPart::AccessoryWeapon) + { + return; + } - // Does a computer tank want to say something? - if (tank->getDestinationId() == 0 && tank->getTankAI()) - { - const char *line = TankAIStrings::instance()->getAttackLine(); - if (line) - { - ((TankAIComputer*)tank->getTankAI())->say(line); - } - } - } - } + // Check this tank has these weapons + int count = + tank->getAccessories().getAccessoryCount(accessory); + if (count > 0 || count == -1) {} + else return; + + // Check armslevel + if ((10 - accessory->getArmsLevel()) <= + context.optionsTransient->getArmsLevel() || + context.optionsGame->getGiveAllWeapons()) {} + else return; + + // Check weapons selection parameters + if (accessory->getPositionSelect() == Accessory::ePositionSelectLimit) + { + Vector position( + message.getSelectPositionX(), message.getSelectPositionY()); + if ((position - tank->getTargetPosition()).Magnitude() > + accessory->getPositionSelectLimit()) + { + return; + } + } + + if (accessory->getPositionSelect() != Accessory::ePositionSelectFuel) + { + // Actually use up one of the weapons + // Fuel, is used up differently at the rate of one weapon per movement square + // This is done sperately in the tank movement action + tank->getAccessories().rm(accessory, 1); + } + + // shot fired action + Weapon *weapon = (Weapon *) accessory->getAction(); + TankFired *fired = new TankFired(tank->getPlayerId(), + weapon, + message.getRotationXY(), message.getRotationYZ()); + context.actionController->addAction(fired); + + // Set the tank to have the correct rotation etc.. + tank->getPosition().rotateGunXY( + message.getRotationXY(), false); + tank->getPosition().rotateGunYZ( + message.getRotationYZ(), false); + tank->getPosition().changePower( + message.getPower(), false); + tank->getPosition().setSelectPosition( + message.getSelectPositionX(), + message.getSelectPositionY()); + + // Create the action for the weapon and + // add it to the action controller + Vector velocity = tank->getPosition().getVelocityVector() * + (tank->getPosition().getPower() + 1.0f); + Vector position = tank->getPosition().getTankGunPosition(); + + weapon->fireWeapon(context, tank->getPlayerId(), position, velocity, 0); + StatsLogger::instance()->tankFired(tank, weapon); + StatsLogger::instance()->weaponFired(weapon, false); + + // Does a computer tank want to say something? + if (tank->getDestinationId() == 0 && tank->getTankAI()) + { + const char *line = TankAIStrings::instance()->getAttackLine(); + if (line) + { + ((TankAIComputer*)tank->getTankAI())->say(line); } } } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerShotHolder.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerShotHolder.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerShotHolder.h 2005-07-20 06:45:37.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerShotHolder.h 2006-09-11 09:25:22.000000000 +0900 @@ -38,6 +38,7 @@ ComsPlayedMoveMessage *message); bool haveShot(unsigned int playerId); bool haveAllTurnShots(); + bool allSkipped(); protected: static ServerShotHolder *instance_; @@ -47,8 +48,6 @@ void processPlayedMoveMessage( ScorchedContext &context, ComsPlayedMoveMessage &message, Tank *tank, bool roundStart); - void processMoveMessage( - ScorchedContext &context, ComsPlayedMoveMessage &message, Tank *tank); void processResignMessage( ScorchedContext &context, ComsPlayedMoveMessage &message, Tank *tank); void processFiredMessage( diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerShotState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerShotState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerShotState.cpp 2006-06-02 02:36:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerShotState.cpp 2006-09-30 00:12:45.000000000 +0900 @@ -31,9 +31,12 @@ #include #include #include +#include +#include -ServerShotState::ServerShotState() - : totalTime_(0.0f), firstTime_(true) +ServerShotState::ServerShotState() : + GameStateI("ServerShotState"), + totalTime_(0.0f), firstTime_(true) { } @@ -43,11 +46,57 @@ void ServerShotState::enterState(const unsigned state) { + // Check if all the players have skipped, and only + // computer AIs are playing + if (ServerShotHolder::instance()->allSkipped() && + ScorchedServer::instance()->getOptionsGame().getTurnType().getValue() == OptionsGame::TurnSimultaneous) + { + bool allAis = true; + bool someAlive = false; + std::map &tanks = + ScorchedServer::instance()->getTankContainer().getPlayingTanks(); + std::map::iterator itor; + for (itor = tanks.begin(); + itor != tanks.end(); + itor++) + { + Tank *tank = (*itor).second; + if (tank->getState().getState() == TankState::sNormal) + { + someAlive = true; + if (tank->getDestinationId() != 0) + { + allAis = false; + } + } + } + + if (allAis && someAlive) + { + ServerCommon::sendString(0, "Skipping all turns due to stalemate..."); + ScorchedServer::instance()->getOptionsTransient().startNewRound(); + } + } + + // Set all player kills this turn to 0 (used for multikill) + { + std::map &tanks = + ScorchedServer::instance()->getTankContainer().getPlayingTanks(); + std::map::iterator itor; + for (itor = tanks.begin(); + itor != tanks.end(); + itor++) + { + Tank *tank = (*itor).second; + tank->getScore().setTurnKills(0); + } + } + // Send the player state to all players to ensure that the playing field // is consistent before the shots start // This should be done before the actual shots are fired or // any play is made - ComsPlayerStateMessage playerState; + ComsPlayerStateMessage playerState(false); ComsMessageSender::sendToAllPlayingClients(playerState); // Reset the counts in the action controller @@ -86,6 +135,9 @@ // to the action controller ServerShotHolder::instance()->playShots(false); + // Make sure that the new actions are run + stepActions(state, 0.5f, false); + // Resurect any tanks that have more lives resurectTanks(); diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerStartingState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerStartingState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerStartingState.cpp 2006-03-28 07:48:08.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerStartingState.cpp 2006-11-03 06:40:36.000000000 +0900 @@ -27,7 +27,8 @@ #include #include -ServerStartingState::ServerStartingState() +ServerStartingState::ServerStartingState() : + GameStateI("ServerStartingState") { } @@ -51,13 +52,12 @@ { if (int(startTime) % 5 == 0) { - ServerCommon::serverLog(formatString("Game starting in %.0f seconds...", timeLeft_)); ServerCommon::sendString(0, formatString("Game starting in %.0f seconds...", timeLeft_)); } } // Check if we need to add any new bots - ServerNewGameState::checkBots(); + ServerNewGameState::checkBots(true); return (timeLeft_ < 0.0f); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerStateTooFewPlayersState.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerStateTooFewPlayersState.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerStateTooFewPlayersState.cpp 2006-04-05 09:42:12.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerStateTooFewPlayersState.cpp 2006-10-25 07:37:18.000000000 +0900 @@ -31,7 +31,10 @@ #include #include -ServerStateTooFewPlayersState::ServerStateTooFewPlayersState() +ServerStateTooFewPlayersState::ServerStateTooFewPlayersState() : + GameStateI("ServerStateTooFewPlayersState"), + totalTime_(0.0f) + { } @@ -48,7 +51,6 @@ ComsGameStoppedMessage gameStopped; ComsMessageSender::sendToAllPlayingClients(gameStopped); - ServerCommon::serverLog( "Too few players, stopping play"); ServerCommon::sendString(0, "Too few players, stopping play"); } @@ -58,30 +60,32 @@ { bool readyToPlay = !ServerTooFewPlayersStimulus::instance()-> acceptStateChange(state, nextState, frameTime); + if (readyToPlay) return true; - if (!readyToPlay) + // Check if the game options have changed + totalTime_ += frameTime; + if (totalTime_ > 1.0f) { - if (!OptionsParam::instance()->getDedicatedServer()) + totalTime_ = 0.0f; + if (ScorchedServer::instance()->getOptionsGame().commitChanges()) { - if (ScorchedServer::instance()->getTankContainer().getNoOfNonSpectatorTanks() == - ScorchedServer::instance()->getOptionsGame().getNoMinPlayers()) - { - // Something has gone wrong - // We are playing a single player game. - // We have enough players but have not started - dialogExit("Scorched3D", - "Incorrect players added for current game settings." - "Is this a team game with un-even teams?"); - } - } - - // Check if we need to add any new bots - ServerNewGameState::checkBots(); + ServerCommon::sendString(0, "Game options have been changed!"); + } } - else + + // Check settings + if (!OptionsParam::instance()->getDedicatedServer()) { - // Just to make it more obvious we do one thing or the other - return true; + if (ScorchedServer::instance()->getTankContainer().getNoOfNonSpectatorTanks() == + ScorchedServer::instance()->getOptionsGame().getNoMinPlayers()) + { + // Something has gone wrong + // We are playing a single player game. + // We have enough players but have not started + dialogExit("Scorched3D", + "Incorrect players added for current game settings." + "Is this a team game with un-even teams?"); + } } return false; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerStateTooFewPlayersState.h /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerStateTooFewPlayersState.h --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerStateTooFewPlayersState.h 2003-11-22 00:14:03.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerStateTooFewPlayersState.h 2006-09-05 01:16:01.000000000 +0900 @@ -35,6 +35,9 @@ virtual bool acceptStateChange(const unsigned state, const unsigned nextState, float frameTime); + +protected: + float totalTime_; }; #endif diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerTextHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerTextHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerTextHandler.cpp 2006-07-11 01:48:27.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerTextHandler.cpp 2006-09-15 02:07:35.000000000 +0900 @@ -109,6 +109,7 @@ for (char *r = (char *) newText.c_str(); *r; r++) { if (*r == '%') *r = ' '; + if (*r < 0) *r = ' '; } const char *sayType = "Says"; diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerTimedMessage.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerTimedMessage.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerTimedMessage.cpp 2006-07-15 21:01:30.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerTimedMessage.cpp 2006-08-18 01:24:09.000000000 +0900 @@ -65,8 +65,13 @@ entry.lastTime = currentTime; std::string message = entry.messages.front(); + /* Note message.c_str() is a user supplied printf format string + with possible a conversion specifier to display the ctime. + Since these messages are loaded from a local file this is + reasonable safe, although it would be better to just + always prefix times-messages with the ctime and to not + interpreted user supplied data this way. */ ServerCommon::sendString(0, formatString(message.c_str(), ctime(¤tTime))); - Logger::log(formatString(message.c_str(), ctime(¤tTime))); entry.messages.pop_front(); entry.messages.push_back(message); } diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerTooFewPlayersStimulus.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerTooFewPlayersStimulus.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerTooFewPlayersStimulus.cpp 2006-06-30 02:58:44.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerTooFewPlayersStimulus.cpp 2006-11-03 06:40:36.000000000 +0900 @@ -49,6 +49,9 @@ const unsigned nextState, float frameTime) { + // Check if we need to add any new bots + ServerNewGameState::checkBots(false); + // Make sure we have enough players to play a game if (ScorchedServer::instance()->getTankContainer().getNoOfNonSpectatorTanks() < ScorchedServer::instance()->getOptionsGame().getNoMinPlayers()) diff -Nru /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerWebHandler.cpp /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerWebHandler.cpp --- /tmp/ZyiKWGPp1w/scorched3d-40/src/server/ServerWebHandler.cpp 2006-07-06 22:57:38.000000000 +0900 +++ /tmp/m5ZQMRuQSB/scorched3d-40.1d.dfsg/src/server/ServerWebHandler.cpp 2006-11-10 23:57:06.000000000 +0900 @@ -24,11 +24,14 @@ #include #include #include +#include #include #include #include #include #include +#include +#include #include #include #include @@ -78,10 +81,31 @@ return file; } +static std::string concatLines(std::list &lines) +{ + std::string result; + std::list::iterator itor; + for (itor = lines.begin(); + itor != lines.end(); + itor++) + { + result.append(*itor).append("
"); + + } + return result; +} + bool ServerWebHandler::PlayerHandler::processRequest(const char *url, std::map &fields, std::string &text) { + // Check for an add + const char *addType = getField(fields, "add"); + if (addType) + { + TankAIAdder::addTankAI(*ScorchedServer::instance(), addType); + } + std::map &tanks = ScorchedServer::instance()->getTankContainer().getAllTanks(); std::map::iterator itor; @@ -109,6 +133,10 @@ { tank->getState().setMuted(false); } + else if (0 == strcmp(action, "Flag")) + { + ServerCommon::banPlayer(tank->getPlayerId(), ServerBanned::Flagged); + } else if (0 == strcmp(action, "Poor")) { ServerCommon::poorPlayer(tank->getPlayerId()); @@ -129,6 +157,20 @@ { ServerCommon::slapPlayer(tank->getPlayerId(), 25.0f); } + else if (0 == strcmp(action, "ShowAliases")) + { + std::list aliases = + StatsLogger::instance()->getAliases(tank); + fields["MESSAGE"] = concatLines(aliases); + return ServerWebServer::getHtmlTemplate("message.html", fields, text); + } + else if (0 == strcmp(action, "ShowIPAliases")) + { + std::list aliases = + StatsLogger::instance()->getIpAliases(tank); + fields["MESSAGE"] = concatLines(aliases); + return ServerWebServer::getHtmlTemplate("message.html", fields, text); + } else { Logger::log(formatString("Unknown web handler player action \"%s\"", action)); @@ -137,13 +179,6 @@ } } - // Check for an add - const char *addType = getField(fields, "add"); - if (addType) - { - TankAIAdder::addTankAI(*ScorchedServer::instance(), addType); - } - // Player Entries std::string players; for (itor = tanks.begin(); itor != tanks.end(); itor++) @@ -174,6 +209,8 @@ ); } fields["PLAYERS"] = players; + fields["NOPLAYERS"] = formatString("%i/%i", tanks.size(), + ScorchedServer::instance()->getOptionsGame().getNoMaxPlayers()); // Add entries std::string add; @@ -184,10 +221,12 @@ aiitor++) { TankAI *ai = (*aiitor); - - add += formatString( - "", - ai->getName()); + if (ai->availableForPlayers()) + { + add += formatString( + "", + ai->getName()); + } } fields["ADD"] = add; @@ -253,11 +292,19 @@ const char *logFilename = getField(fields, "filename"); if (logFilename) { + text.append(formatString( + "HTTP/1.1 200 OK\r\n" + "Server: Scorched3D\r\n" + "Content-Type: text/plain\r\n" + "Content-Disposition: filename=%s.txt\r\n" + "Connection: Close\r\n" + "\r\n", logFilename)); + const char *filename = getLogFile(logFilename); std::string file = getFile(filename); fields["FILE"] = file; - return ServerWebServer::getHtmlTemplate("logfile.html", fields, text); + return ServerWebServer::getTemplate("logfile.html", fields, text); } else { @@ -291,14 +338,15 @@ itor++) { LogFile &logFile = *itor; + const char *fileName = logFile.fileName.mb_str(wxConvUTF8); log += formatString( "
%s%s
%s%s%s