From: <eg...@us...> - 2006-07-16 20:50:33
|
Revision: 91 Author: egore Date: 2006-07-16 13:50:22 -0700 (Sun, 16 Jul 2006) ViewCVS: http://svn.sourceforge.net/opengate/?rev=91&view=rev Log Message: ----------- add docs and templates folder Added Paths: ----------- doc/ doc/Makefile.am doc/Makefile.in templates/ Added: doc/Makefile.am =================================================================== --- doc/Makefile.am (rev 0) +++ doc/Makefile.am 2006-07-16 20:50:22 UTC (rev 91) @@ -0,0 +1,2 @@ +INCLUDES = +METASOURCES = AUTO Property changes on: doc/Makefile.am ___________________________________________________________________ Name: svn:eolstyle + native Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: doc/Makefile.in =================================================================== --- doc/Makefile.in (rev 0) +++ doc/Makefile.in 2006-07-16 20:50:22 UTC (rev 91) @@ -0,0 +1,322 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = doc +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AM_CXXFLAGS = @AM_CXXFLAGS@ +AM_LDFLAGS = @AM_LDFLAGS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CEGUI_CFLAGS = @CEGUI_CFLAGS@ +CEGUI_LIBS = @CEGUI_LIBS@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +OGRE_CFLAGS = @OGRE_CFLAGS@ +OGRE_LIBS = @OGRE_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +INCLUDES = +METASOURCES = AUTO +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign doc/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Property changes on: doc/Makefile.in ___________________________________________________________________ Name: svn:eolstyle + native Name: svn:mime-type + text/plain Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eg...@us...> - 2006-07-16 20:54:08
|
Revision: 93 Author: egore Date: 2006-07-16 13:53:47 -0700 (Sun, 16 Jul 2006) ViewCVS: http://svn.sourceforge.net/opengate/?rev=93&view=rev Log Message: ----------- update some files and add kdevelop files Modified Paths: -------------- Makefile.am Makefile.in aclocal.m4 configure configure.in Added Paths: ----------- opengate.kdevelop Modified: Makefile.am =================================================================== --- Makefile.am 2006-07-16 20:51:04 UTC (rev 92) +++ Makefile.am 2006-07-16 20:53:47 UTC (rev 93) @@ -2,4 +2,4 @@ # have all needed files, that a GNU package needs AUTOMAKE_OPTIONS = foreign 1.4 -SUBDIRS = src po doc data +SUBDIRS = src doc data Modified: Makefile.in =================================================================== --- Makefile.in 2006-07-16 20:51:04 UTC (rev 92) +++ Makefile.in 2006-07-16 20:53:47 UTC (rev 93) @@ -76,6 +76,8 @@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AM_CXXFLAGS = @AM_CXXFLAGS@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -83,6 +85,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ +CEGUI_CFLAGS = @CEGUI_CFLAGS@ +CEGUI_LIBS = @CEGUI_LIBS@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ @@ -114,6 +118,8 @@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ OBJEXT = @OBJEXT@ +OGRE_CFLAGS = @OGRE_CFLAGS@ +OGRE_LIBS = @OGRE_LIBS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -121,6 +127,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -177,7 +184,7 @@ # not a GNU package. You can remove this line, if # have all needed files, that a GNU package needs AUTOMAKE_OPTIONS = foreign 1.4 -SUBDIRS = src po doc data +SUBDIRS = src doc data all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive Modified: aclocal.m4 =================================================================== --- aclocal.m4 2006-07-16 20:51:04 UTC (rev 92) +++ aclocal.m4 2006-07-16 20:53:47 UTC (rev 93) @@ -6468,6 +6468,163 @@ AC_MSG_RESULT([$SED]) ]) +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# +# Copyright © 2004 Scott James Remnant <sc...@ne...>. +# +# 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. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi + +fi[]dnl +])# PKG_PROG_PKG_CONFIG + +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# +# Similar to PKG_CHECK_MODULES, make sure that the first instance of +# this or PKG_CHECK_MODULES is called, or make sure to call +# PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_EXISTS], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_ifval([$2], [$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) + + +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- +m4_define([_PKG_CONFIG], +[if test -n "$PKG_CONFIG"; then + if test -n "$$1"; then + pkg_cv_[]$1="$$1" + else + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], + [pkg_failed=yes]) + fi +else + pkg_failed=untried +fi[]dnl +])# _PKG_CONFIG + +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])# _PKG_SHORT_ERRORS_SUPPORTED + + +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl + +pkg_failed=no +AC_MSG_CHECKING([for $1]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + +if test $pkg_failed = yes; then + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + + ifelse([$4], , [AC_MSG_ERROR(dnl +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +_PKG_TEXT +])], + [$4]) +elif test $pkg_failed = untried; then + ifelse([$4], , [AC_MSG_FAILURE(dnl +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +_PKG_TEXT + +To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])], + [$4]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + ifelse([$3], , :, [$3]) +fi[]dnl +])# PKG_CHECK_MODULES + # Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation Modified: configure =================================================================== --- configure 2006-07-16 20:51:04 UTC (rev 92) +++ configure 2006-07-16 20:53:47 UTC (rev 93) @@ -852,6 +852,13 @@ FFLAGS ac_ct_F77 LIBTOOL +PKG_CONFIG +OGRE_CFLAGS +OGRE_LIBS +AM_CXXFLAGS +AM_LDFLAGS +CEGUI_CFLAGS +CEGUI_LIBS LIBOBJS LTLIBOBJS' ac_subst_files='' @@ -868,7 +875,12 @@ CPP CXXCPP F77 -FFLAGS' +FFLAGS +PKG_CONFIG +OGRE_CFLAGS +OGRE_LIBS +CEGUI_CFLAGS +CEGUI_LIBS' # Initialize some variables set by options. @@ -1475,6 +1487,12 @@ CXXCPP C++ preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags + PKG_CONFIG path to pkg-config utility + OGRE_CFLAGS C compiler flags for OGRE, overriding pkg-config + OGRE_LIBS linker flags for OGRE, overriding pkg-config + CEGUI_CFLAGS + C compiler flags for CEGUI, overriding pkg-config + CEGUI_LIBS linker flags for CEGUI, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -4882,7 +4900,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4885 "configure"' > conftest.$ac_ext + echo '#line 4903 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7361,11 +7379,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7364: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7382: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7368: \$? = $ac_status" >&5 + echo "$as_me:7386: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7629,11 +7647,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7632: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7650: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7636: \$? = $ac_status" >&5 + echo "$as_me:7654: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7733,11 +7751,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7736: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7754: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7740: \$? = $ac_status" >&5 + echo "$as_me:7758: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10222,7 +10240,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 10225 "configure" +#line 10243 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10322,7 +10340,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 10325 "configure" +#line 10343 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12690,11 +12708,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12693: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12711: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:12697: \$? = $ac_status" >&5 + echo "$as_me:12715: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -12794,11 +12812,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12797: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12815: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:12801: \$? = $ac_status" >&5 + echo "$as_me:12819: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14401,11 +14419,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14404: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14422: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:14408: \$? = $ac_status" >&5 + echo "$as_me:14426: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -14505,11 +14523,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14508: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14526: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14512: \$? = $ac_status" >&5 + echo "$as_me:14530: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -16772,11 +16790,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16775: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16793: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16779: \$? = $ac_status" >&5 + echo "$as_me:16797: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -17040,11 +17058,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17043: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17061: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:17047: \$? = $ac_status" >&5 + echo "$as_me:17065: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -17144,11 +17162,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17147: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17165: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:17151: \$? = $ac_status" >&5 + echo "$as_me:17169: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -19876,8 +19894,364 @@ -ac_config_files="$ac_config_files Makefile src/Makefile po/Makefile doc/Makefile src/common/Makefile src/client/Makefile src/server/Makefile src/common/objects/Makefile src/common/equipment/Makefile src/common/equipment/engines/Makefile src/common/equipment/ecms/Makefile src/common/objects/ships/Makefile data/Makefile data/Ships/Makefile data/Ships/Conflux/Makefile data/Ships/Conflux/C-0/Makefile data/Ships/Conflux/C-1/Makefile data/Ships/Conflux/C-2/Makefile data/Ships/Conflux/C-3/Makefile src/common/components/Makefile" + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-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_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_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 +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-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_ac_pt_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ac_pt_PKG_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 +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 +echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to aut...@gn...." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to aut...@gn...." >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 +echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; 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; } + PKG_CONFIG="" + fi + +fi + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for OGRE" >&5 +echo $ECHO_N "checking for OGRE... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$OGRE_CFLAGS"; then + pkg_cv_OGRE_CFLAGS="$OGRE_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"OGRE >= 1.2.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "OGRE >= 1.2.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_OGRE_CFLAGS=`$PKG_CONFIG --cflags "OGRE >= 1.2.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$OGRE_LIBS"; then + pkg_cv_OGRE_LIBS="$OGRE_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"OGRE >= 1.2.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "OGRE >= 1.2.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_OGRE_LIBS=`$PKG_CONFIG --libs "OGRE >= 1.2.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + OGRE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "OGRE >= 1.2.0"` + else + OGRE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "OGRE >= 1.2.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$OGRE_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements (OGRE >= 1.2.0) were not met: + +$OGRE_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables OGRE_CFLAGS +and OGRE_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements (OGRE >= 1.2.0) were not met: + +$OGRE_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables OGRE_CFLAGS +and OGRE_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables OGRE_CFLAGS +and OGRE_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>. +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables OGRE_CFLAGS +and OGRE_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + OGRE_CFLAGS=$pkg_cv_OGRE_CFLAGS + OGRE_LIBS=$pkg_cv_OGRE_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi +AM_CXXFLAGS="$AM_CXXFLAGS $OGRE_CFLAGS" +AM_LDFLAGS="$AM_LDFLAGS $OGRE_LIBS" +AM_CXXFLAGS="$AM_CXXFLAGS" + +AM_LDFLAGS="$AM_LDFLAGS" + + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for CEGUI" >&5 +echo $ECHO_N "checking for CEGUI... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$CEGUI_CFLAGS"; then + pkg_cv_CEGUI_CFLAGS="$CEGUI_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"CEGUI >= 0.4.1\"") >&5 + ($PKG_CONFIG --exists --print-errors "CEGUI >= 0.4.1") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_CEGUI_CFLAGS=`$PKG_CONFIG --cflags "CEGUI >= 0.4.1" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$CEGUI_LIBS"; then + pkg_cv_CEGUI_LIBS="$CEGUI_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"CEGUI >= 0.4.1\"") >&5 + ($PKG_CONFIG --exists --print-errors "CEGUI >= 0.4.1") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_CEGUI_LIBS=`$PKG_CONFIG --libs "CEGUI >= 0.4.1" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + CEGUI_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "CEGUI >= 0.4.1"` + else + CEGUI_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "CEGUI >= 0.4.1"` + fi + # Put the nasty error message in config.log where it belongs + echo "$CEGUI_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements (CEGUI >= 0.4.1) were not met: + +$CEGUI_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables CEGUI_CFLAGS +and CEGUI_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements (CEGUI >= 0.4.1) were not met: + +$CEGUI_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables CEGUI_CFLAGS +and CEGUI_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables CEGUI_CFLAGS +and CEGUI_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>. +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables CEGUI_CFLAGS +and CEGUI_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + CEGUI_CFLAGS=$pkg_cv_CEGUI_CFLAGS + CEGUI_LIBS=$pkg_cv_CEGUI_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi +AM_CXXFLAGS="$AM_CXXFLAGS $CEGUI_CFLAGS" +AM_LDFLAGS="$AM_LDFLAGS $CEGUI_LIBS" +AM_CXXFLAGS="$AM_CXXFLAGS" + +AM_LDFLAGS="$AM_LDFLAGS" + + +ac_config_files="$ac_config_files Makefile src/Makefile doc/Makefile src/common/Makefile src/client/Makefile src/server/Makefile src/common/objects/Makefile src/common/equipment/Makefile src/common/equipment/engines/Makefile src/common/equipment/ecms/Makefile src/common/objects/ships/Makefile data/Makefile data/Ships/Makefile data/Ships/Conflux/Makefile data/Ships/Conflux/C-0/Makefile data/Ships/Conflux/C-1/Makefile data/Ships/Conflux/C-2/Makefile data/Ships/Conflux/C-3/Makefile src/common/components/Makefile src/client/input/Makefile src/client/ui/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 @@ -20452,7 +20826,6 @@ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "po/Makefile") CONFIG_FILES="$CONFIG_FILES po/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "src/common/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/Makefile" ;; "src/client/Makefile") CONFIG_FILES="$CONFIG_FILES src/client/Makefile" ;; @@ -20470,6 +20843,8 @@ "data/Ships/Conflux/C-2/Makefile") CONFIG_FILES="$CONFIG_FILES data/Ships/Conflux/C-2/Makefile" ;; "data/Ships/Conflux/C-3/Makefile") CONFIG_FILES="$CONFIG_FILES data/Ships/Conflux/C-3/Makefile" ;; "src/common/components/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/components/Makefile" ;; + "src/client/input/Makefile") CONFIG_FILES="$CONFIG_FILES src/client/input/Makefile" ;; + "src/client/ui/Makefile") CONFIG_FILES="$CONFIG_FILES src/client/ui/Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} @@ -20673,11 +21048,18 @@ FFLAGS!$FFLAGS$ac_delim ac_ct_F77!$ac_ct_F77$ac_delim LIBTOOL!$LIBTOOL$ac_delim +PKG_CONFIG!$PKG_CONFIG$ac_delim +OGRE_CFLAGS!$OGRE_CFLAGS$ac_delim +OGRE_LIBS!$OGRE_LIBS$ac_delim +AM_CXXFLAGS!$AM_CXXFLAGS$ac_delim +AM_LDFLAGS!$AM_LDFLAGS$ac_delim +CEGUI_CFLAGS!$CEGUI_CFLAGS$ac_delim +CEGUI_LIBS!$CEGUI_LIBS$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 5; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 12; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 Modified: configure.in =================================================================== --- configure.in 2006-07-16 20:51:04 UTC (rev 92) +++ configure.in 2006-07-16 20:53:47 UTC (rev 93) @@ -7,4 +7,16 @@ AC_PROG_CXX AM_PROG_LIBTOOL -AC_OUTPUT(Makefile src/Makefile po/Makefile doc/Makefile src/common/Makefile src/client/Makefile src/server/Makefile src/common/objects/Makefile src/common/equipment/Makefile src/common/equipment/engines/Makefile src/common/equipment/ecms/Makefile src/common/objects/ships/Makefile data/Makefile data/Ships/Makefile data/Ships/Conflux/Makefile data/Ships/Conflux/C-0/Makefile data/Ships/Conflux/C-1/Makefile data/Ships/Conflux/C-2/Makefile data/Ships/Conflux/C-3/Makefile src/common/components/Makefile) +PKG_CHECK_MODULES(OGRE, [OGRE >= 1.2.0]) +AM_CXXFLAGS="$AM_CXXFLAGS $OGRE_CFLAGS" +AM_LDFLAGS="$AM_LDFLAGS $OGRE_LIBS" +AC_SUBST(AM_CXXFLAGS, "$AM_CXXFLAGS") +AC_SUBST(AM_LDFLAGS, "$AM_LDFLAGS") + +PKG_CHECK_MODULES(CEGUI, [CEGUI >= 0.4.1]) +AM_CXXFLAGS="$AM_CXXFLAGS $CEGUI_CFLAGS" +AM_LDFLAGS="$AM_LDFLAGS $CEGUI_LIBS" +AC_SUBST(AM_CXXFLAGS, "$AM_CXXFLAGS") +AC_SUBST(AM_LDFLAGS, "$AM_LDFLAGS") + +AC_OUTPUT(Makefile src/Makefile doc/Makefile src/common/Makefile src/client/Makefile src/server/Makefile src/common/objects/Makefile src/common/equipment/Makefile src/common/equipment/engines/Makefile src/common/equipment/ecms/Makefile src/common/objects/ships/Makefile data/Makefile data/Ships/Makefile data/Ships/Conflux/Makefile data/Ships/Conflux/C-0/Makefile data/Ships/Conflux/C-1/Makefile data/Ships/Conflux/C-2/Makefile data/Ships/Conflux/C-3/Makefile src/common/components/Makefile src/client/input/Makefile src/client/ui/Makefile) Added: opengate.kdevelop =================================================================== --- opengate.kdevelop (rev 0) +++ opengate.kdevelop 2006-07-16 20:53:47 UTC (rev 93) @@ -0,0 +1,216 @@ +<?xml version = '1.0'?> +<kdevelop> + <general> + <author>Christoph Brill</author> + <email>eg...@us...</email> + <version>0.1</version> + <projectmanagement>KDevAutoProject</projectmanagement> + <primarylanguage>C++</primarylanguage> + <keywords> + <keyword>C++</keyword> + <keyword>Code</keyword> + </keywords> + <ignoreparts/> + <projectdirectory>.</projectdirectory> + <absoluteprojectpath>false</absoluteprojectpath> + <description/> + <versioncontrol>kdevsubversion</versioncontrol> + </general> + <kdevautoproject> + <general> + <activetarget>src/opengate-client</activetarget> + <useconfiguration>debug</useconfiguration> + <useactivetarget>true</useactivetarget> + </general> + <run> + <mainprogram>src/opengate-client</mainprogram> + <terminal>true</terminal> + <directoryradio>executable</directoryradio> + <runarguments> + <opengate/> + <opengate-server/> + <opengate-client/> + </runarguments> + <customdirectory>/</customdirectory> + <programargs/> + <autocompile>true</autocompile> + <envvars/> + </run> + <configurations> + <optimized> + <builddir>optimized</builddir> + <ccompiler>kdevgccoptions</ccompiler> + <cxxcompiler>kdevgppoptions</cxxcompiler> + <f77compiler>kdevg77options</f77compiler> + <cxxflags>-O2 -g0</cxxflags> + </optimized> + <debug> + <configargs>--enable-debug=full</configargs> + <builddir>debug</builddir> + <ccompiler>kdevgccoptions</ccompiler> + <cxxcompiler>kdevgppoptions</cxxcompiler> + <f77compiler>kdevg77options</f77compiler> + <cxxflags>-O0 -g3</cxxflags> + <envvars/> + <topsourcedir/> + <cppflags>`xml2-config --cflags` `sdl-config --cflags`</cppflags> + <ldflags>`xml2-config --libs` `sdl-config --libs` -lSDL_net</ldflags> + <ccompilerbinary/> + <cxxcompilerbinary/> + <f77compilerbinary/> + <cflags/> + <f77flags/> + </debug> + </configurations> + <make> + <envvars> + <envvar value="1" name="WANT_AUTOCONF_2_5" /> + <envvar value="1" name="WANT_AUTOMAKE_1_6" /> + </envvars> + <abortonerror>true</abortonerror> + <runmultiplejobs>false</runmultiplejobs> + <numberofjobs>1</numberofjobs> + <dontact>false</dontact> + <makebin/> + <prio>0</prio> + </make> + </kdevautoproject> + <kdevdoctreeview> + <ignoretocs> + <toc>ada</toc> + <toc>ada_bugs_gcc</toc> + <toc>bash</toc> + <toc>bash_bugs</toc> + <toc>clanlib</toc> + <toc>w3c-dom-level2-html</toc> + <toc>fortran_bugs_gcc</toc> + <toc>gnome1</toc> + <toc>gnustep</toc> + <toc>gtk</toc> + <toc>gtk_bugs</toc> + <toc>haskell</toc> + <toc>haskell_bugs_ghc</toc> + <toc>java_bugs_gcc</toc> + <toc>java_bugs_sun</toc> + <toc>kde2book</toc> + <toc>opengl</toc> + <toc>pascal_bugs_fp</toc> + <toc>php</toc> + <toc>php_bugs</toc> + <toc>perl</toc> + <toc>perl_bugs</toc> + <toc>python</toc> + <toc>python_bugs</toc> + <toc>qt-kdev3</toc> + <toc>ruby</toc> + <toc>ruby_bugs</toc> + <toc>sdl</toc> + <toc>w3c-svg</toc> + <toc>sw</toc> + <toc>w3c-uaag10</toc> + <toc>wxwidgets_bugs</toc> + </ignoretocs> + <ignoreqt_xml> + <toc>Guide to the Qt Translation Tools</toc> + <toc>Qt Assistant Manual</toc> + <toc>Qt Designer Manual</toc> + <toc>Qt Reference Documentation</toc> + <toc>qmake User Guide</toc> + </ignoreqt_xml> + <ignoredoxygen> + <toc>KDE Libraries (Doxygen)</toc> + </ignoredoxygen> + </kdevdoctreeview> + <kdevfilecreate> + <filetypes/> + <useglobaltypes> + <type ext="cpp" /> + <type ext="h" /> + </useglobaltypes> + </kdevfilecreate> + <kdevfileview> + <groups> + <group pattern="*.h" name="Header files" /> + <group pattern="*.cpp" name="Source files" /> + <hidenonprojectfiles>false</hidenonprojectfiles> + <hidenonlocation>false</hidenonlocation> + </groups> + <tree> + <hidepatterns>*.o,*.lo,CVS</hidepatterns> + <hidenonprojectfiles>false</hidenonprojectfiles> + <showvcsfields>false</showvcsfields> + </tree> + </kdevfileview> + <kdevdocumentation> + <projectdoc> + <docsystem>Doxygen-Dokumentation</docsystem> + <docurl>opengate.tag</docurl> + <usermanualurl/> + </projectdoc> + </kdevdocumentation> + <substmap> + <APPNAME>opengate</APPNAME> + <APPNAMELC>opengate</APPNAMELC> + <APPNAMESC>Opengate3</APPNAMESC> + <APPNAMEUC>OPENGATE3</APPNAMEUC> + <AUTHOR>Christoph Brill</AUTHOR> + <EMAIL>eg...@us...</EMAIL> + <LICENSE>GPL</LICENSE> + <LICENSEFILE>COPYING</LICENSEFILE> + <VERSION>0.1</VERSION> + <YEAR>2006</YEAR> + <dest>/home/egore/source/opengate</dest> + </substmap> + <cppsupportpart> + <filetemplates> + <interfacesuffix>.h</interfacesuffix> + <implementationsuffix>.cpp</implementationsuffix> + </filetemplates> + </cppsupportpart> + <kdevcppsupport> + <qt> + <used>false</used> + <version>3</version> + <root>/usr/qt/3</root> + </qt> + <codecompletion> + <includeGlobalFunctions>true</includeGlobalFunctions> + <includeTypes>true</includeTypes> + <includeEnums>true</includeEnums> + <includeTypedefs>false</includeTypedefs> + <automaticCodeCompletion>true</automaticCodeCompletion> + <automaticArgumentsHint>true</automaticArgumentsHint> + <automaticHeaderCompletion>true</automaticHeaderCompletion> + <codeCompletionDelay>250</codeCompletionDelay> + <argumentsHintDelay>400</argumentsHintDelay> + <headerCompletionDelay>250</headerCompletionDelay> + </codecompletion> + <creategettersetter> + <prefixGet/> + <prefixSet>set</prefixSet> + <prefixVariable>m_,_</prefixVariable> + <parameterName>theValue</parameterName> + <inlineGet>true</inlineGet> + <inlineSet>true</inlineSet> + </creategettersetter> + <references/> + </kdevcppsupport> + <kdevdebugger> + <general> + <programargs/> + <gdbpath/> + <dbgshell>libtool</dbgshell> + <configGdbScript/> + <runShellScript/> + <runGdbScript/> + <breakonloadinglibs>true</breakonloadinglibs> + <separatetty>false</separatetty> + <floatingtoolbar>false</floatingtoolbar> + </general> + <display> + <staticmembers>false</staticmembers> + <demanglenames>true</demanglenames> + <outputradix>10</outputradix> + </display> + </kdevdebugger> +</kdevelop> Property changes on: opengate.kdevelop ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eg...@us...> - 2006-07-18 21:11:44
|
Revision: 109 Author: egore Date: 2006-07-18 14:11:38 -0700 (Tue, 18 Jul 2006) ViewCVS: http://svn.sourceforge.net/opengate/?rev=109&view=rev Log Message: ----------- update autogenerated stuff Modified Paths: -------------- configure configure.in opengate.kdevelop Modified: configure =================================================================== --- configure 2006-07-18 20:42:49 UTC (rev 108) +++ configure 2006-07-18 21:11:38 UTC (rev 109) @@ -1,7 +1,9 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.60. +# Generated by GNU Autoconf 2.60 for opengate 0.0.1. # +# Report bugs to <eg...@us...>. +# # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation @@ -709,13 +711,12 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= +PACKAGE_NAME='opengate' +PACKAGE_TARNAME='opengate' +PACKAGE_VERSION='0.0.1' +PACKAGE_STRING='opengate 0.0.1' +PACKAGE_BUGREPORT='eg...@us...' -ac_unique_file="configure.in" # Factoring default headers for most tests. ac_includes_default="\ #include <stdio.h> @@ -923,7 +924,7 @@ localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE}' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' @@ -1387,7 +1388,7 @@ # 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. +\`configure' configures opengate 0.0.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1435,7 +1436,7 @@ --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --docdir=DIR documentation root [DATAROOTDIR/doc/opengate] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1456,7 +1457,9 @@ fi if test -n "$ac_init_help"; then - + case $ac_init_help in + short | recursive ) echo "Configuration of opengate 0.0.1:";; + esac cat <<\_ACEOF Optional Features: @@ -1505,6 +1508,7 @@ Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. +Report bugs to <eg...@us...>. _ACEOF ac_status=$? fi @@ -1565,7 +1569,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -configure +opengate configure 0.0.1 generated by GNU Autoconf 2.60 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1579,7 +1583,7 @@ 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 +It was created by opengate $as_me 0.0.1, which was generated by GNU Autoconf 2.60. Invocation command line was $ $0 $@ @@ -1917,6 +1921,14 @@ + + + + + + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -2244,7 +2256,7 @@ # Define the identity of the package. PACKAGE=opengate - VERSION=0.1 + VERSION=0.0.1 cat >>confdefs.h <<_ACEOF @@ -4908,7 +4920,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4911 "configure"' > conftest.$ac_ext + echo '#line 4923 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -5779,7 +5791,12 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - + ( cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to eg...@us... ## +## ------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 @@ -7387,11 +7404,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7390: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7407: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7394: \$? = $ac_status" >&5 + echo "$as_me:7411: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7655,11 +7672,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7658: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7662: \$? = $ac_status" >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7759,11 +7776,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7762: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7779: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7766: \$? = $ac_status" >&5 + echo "$as_me:7783: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10248,7 +10265,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 10251 "configure" +#line 10268 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10348,7 +10365,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 10351 "configure" +#line 10368 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12716,11 +12733,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12719: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12736: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:12723: \$? = $ac_status" >&5 + echo "$as_me:12740: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -12820,11 +12837,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12823: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12840: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:12827: \$? = $ac_status" >&5 + echo "$as_me:12844: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14427,11 +14444,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14430: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14447: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:14434: \$? = $ac_status" >&5 + echo "$as_me:14451: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -14531,11 +14548,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14534: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14551: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14538: \$? = $ac_status" >&5 + echo "$as_me:14555: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -16798,11 +16815,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16801: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16818: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16805: \$? = $ac_status" >&5 + echo "$as_me:16822: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -17066,11 +17083,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17069: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17086: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:17073: \$? = $ac_status" >&5 + echo "$as_me:17090: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -17170,11 +17187,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17173: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17190: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:17177: \$? = $ac_status" >&5 + echo "$as_me:17194: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -20376,7 +20393,7 @@ AM_LDFLAGS="$AM_LDFLAGS" -ac_config_files="$ac_config_files Makefile src/Makefile doc/Makefile src/common/Makefile src/client/Makefile src/server/Makefile src/common/objects/Makefile src/common/equipment/Makefile src/common/equipment/engines/Makefile src/common/equipment/ecms/Makefile src/common/objects/ships/Makefile data/Makefile data/Ships/Makefile data/Ships/Conflux/Makefile data/Ships/Conflux/C-0/Makefile data/Ships/Conflux/C-1/Makefile data/Ships/Conflux/C-2/Makefile data/Ships/Conflux/C-3/Makefile src/client/input/Makefile src/client/ui/Makefile src/common/equipment/capacitors/Makefile src/common/equipment/guns/Makefile src/common/components/Makefile" +ac_config_files="$ac_config_files Makefile src/Makefile doc/Makefile src/common/Makefile src/client/Makefile src/server/Makefile src/common/objects/Makefile src/common/equipment/Makefile data/Makefile data/Ships/Makefile data/Ships/Conflux/Makefile data/Ships/Conflux/C-0/Makefile data/Ships/Conflux/C-1/Makefile data/Ships/Conflux/C-2/Makefile data/Ships/Conflux/C-3/Makefile src/client/input/Makefile src/client/ui/Makefile src/common/components/Makefile data/Rankings/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -20782,7 +20799,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by $as_me, which was +This file was extended by opengate $as_me 0.0.1, which was generated by GNU Autoconf 2.60. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20835,7 +20852,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -config.status +opengate config.status 0.0.1 configured by $0, generated by GNU Autoconf 2.60, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" @@ -20958,9 +20975,6 @@ "src/server/Makefile") CONFIG_FILES="$CONFIG_FILES src/server/Makefile" ;; "src/common/objects/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/objects/Makefile" ;; "src/common/equipment/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/equipment/Makefile" ;; - "src/common/equipment/engines/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/equipment/engines/Makefile" ;; - "src/common/equipment/ecms/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/equipment/ecms/Makefile" ;; - "src/common/objects/ships/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/objects/ships/Makefile" ;; "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "data/Ships/Makefile") CONFIG_FILES="$CONFIG_FILES data/Ships/Makefile" ;; "data/Ships/Conflux/Makefile") CONFIG_FILES="$CONFIG_FILES data/Ships/Conflux/Makefile" ;; @@ -20970,9 +20984,8 @@ "data/Ships/Conflux/C-3/Makefile") CONFIG_FILES="$CONFIG_FILES data/Ships/Conflux/C-3/Makefile" ;; "src/client/input/Makefile") CONFIG_FILES="$CONFIG_FILES src/client/input/Makefile" ;; "src/client/ui/Makefile") CONFIG_FILES="$CONFIG_FILES src/client/ui/Makefile" ;; - "src/common/equipment/capacitors/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/equipment/capacitors/Makefile" ;; - "src/common/equipment/guns/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/equipment/guns/Makefile" ;; "src/common/components/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/components/Makefile" ;; + "data/Rankings/Makefile") CONFIG_FILES="$CONFIG_FILES data/Rankings/Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} Modified: configure.in =================================================================== --- configure.in 2006-07-18 20:42:49 UTC (rev 108) +++ configure.in 2006-07-18 21:11:38 UTC (rev 109) @@ -1,7 +1,8 @@ -AC_INIT(configure.in) +AC_PREREQ(2.59) +AC_INIT([opengate], [0.0.1], [eg...@us...]) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(opengate, 0.1) +AM_INIT_AUTOMAKE(opengate, 0.0.1) AC_LANG_CPLUSPLUS AC_PROG_CXX @@ -25,4 +26,4 @@ AC_SUBST(AM_CXXFLAGS, "$AM_CXXFLAGS") AC_SUBST(AM_LDFLAGS, "$AM_LDFLAGS") -AC_OUTPUT(Makefile src/Makefile doc/Makefile src/common/Makefile src/client/Makefile src/server/Makefile src/common/objects/Makefile src/common/equipment/Makefile src/common/equipment/engines/Makefile src/common/equipment/ecms/Makefile src/common/objects/ships/Makefile data/Makefile data/Ships/Makefile data/Ships/Conflux/Makefile data/Ships/Conflux/C-0/Makefile data/Ships/Conflux/C-1/Makefile data/Ships/Conflux/C-2/Makefile data/Ships/Conflux/C-3/Makefile src/client/input/Makefile src/client/ui/Makefile src/common/equipment/capacitors/Makefile src/common/equipment/guns/Makefile src/common/components/Makefile) +AC_OUTPUT(Makefile src/Makefile doc/Makefile src/common/Makefile src/client/Makefile src/server/Makefile src/common/objects/Makefile src/common/equipment/Makefile data/Makefile data/Ships/Makefile data/Ships/Conflux/Makefile data/Ships/Conflux/C-0/Makefile data/Ships/Conflux/C-1/Makefile data/Ships/Conflux/C-2/Makefile data/Ships/Conflux/C-3/Makefile src/client/input/Makefile src/client/ui/Makefile src/common/components/Makefile data/Rankings/Makefile) Modified: opengate.kdevelop =================================================================== --- opengate.kdevelop 2006-07-18 20:42:49 UTC (rev 108) +++ opengate.kdevelop 2006-07-18 21:11:38 UTC (rev 109) @@ -18,7 +18,7 @@ </general> <kdevautoproject> <general> - <activetarget>src/common/equipment/libopengate-equipment.la</activetarget> + <activetarget>src/common/objects/libopengate-objects.la</activetarget> <useconfiguration>debug</useconfiguration> <useactivetarget>true</useactivetarget> </general> @@ -29,7 +29,7 @@ <runarguments> <opengate/> <opengate-server/> - <opengate-client/> + <opengate-client></opengate-client> </runarguments> <customdirectory>/</customdirectory> <programargs/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eg...@us...> - 2006-07-31 20:35:10
|
Revision: 145 Author: egore Date: 2006-07-31 13:34:53 -0700 (Mon, 31 Jul 2006) ViewCVS: http://svn.sourceforge.net/opengate/?rev=145&view=rev Log Message: ----------- start better documentation and customization of the code Modified Paths: -------------- data/Ships/Octavius/Apteryx/octavius_apteryx.mesh opengate.kdevelop src/client/ui/application.cpp src/client/ui/application.h Modified: data/Ships/Octavius/Apteryx/octavius_apteryx.mesh =================================================================== (Binary files differ) Modified: opengate.kdevelop =================================================================== --- opengate.kdevelop 2006-07-31 20:34:00 UTC (rev 144) +++ opengate.kdevelop 2006-07-31 20:34:53 UTC (rev 145) @@ -18,7 +18,7 @@ </general> <kdevautoproject> <general> - <activetarget>src/client/ogre/libopengate-ogre.la</activetarget> + <activetarget>src/client/ui/libopengate-ui.la</activetarget> <useconfiguration>debug</useconfiguration> <useactivetarget>true</useactivetarget> </general> Modified: src/client/ui/application.cpp =================================================================== --- src/client/ui/application.cpp 2006-07-31 20:34:00 UTC (rev 144) +++ src/client/ui/application.cpp 2006-07-31 20:34:53 UTC (rev 145) @@ -31,17 +31,18 @@ #include <CEGUI/CEGUIWindow.h> #include <CEGUI/elements/CEGUIPushButton.h> -OpengateApp::OpengateApp() : mGUIRenderer(0), mGUISystem(0), actionConfig(0) { - mFrameListener = 0; - mRoot = 0; +OpengateApp::OpengateApp() : mGUISystem(0), mGUIRenderer(0), actionConfig(0), mRoot(0), mFrameListener(0), mAvatar(0), mExCamera(0) { + } OpengateApp::~OpengateApp() { - delete actionConfig; delete mGUISystem; delete mGUIRenderer; - delete mFrameListener; + delete actionConfig; delete mRoot; + delete mFrameListener; + delete mAvatar; + delete mExCamera; } void OpengateApp::go(void) { @@ -111,14 +112,9 @@ mCamera->setPosition (0, 0, 0); // Required or else the camera will have an offset // Main character - ogre = new OgreCharacter ("Ogre 1", mSceneMgr); - exCamera = new ExtendedCamera ("Extended Camera", mSceneMgr, mCamera); + mAvatar = new OgreCharacter ("Ogre 1", mSceneMgr); + mExCamera = new ExtendedCamera ("Extended Camera", mSceneMgr, mCamera); - - - Ogre::Entity* ent = mSceneMgr->createEntity( "Octavius Apteryx", "Ships/Octavius/Apteryx/octavius_apteryx.mesh" ); - mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(ent); - //--------------- setup GUI system ---------------------// mGUIRenderer = new CEGUI::OgreCEGUIRenderer(mWindow, Ogre::RENDER_QUEUE_OVERLAY, false, 3000, mSceneMgr); @@ -153,7 +149,7 @@ OIS::JoyStick* joy = gUI->getJoyStick(); //Utility class for configuring, & testing ActionMap - actionConfig = new ActionConfig( mouse, kb, joy, mSceneMgr, ogre, exCamera); + actionConfig = new ActionConfig( mouse, kb, joy, mSceneMgr, mAvatar, mExCamera); } void OpengateApp::setupResources(void) { @@ -165,17 +161,14 @@ Ogre::ConfigFile::SectionIterator seci = cf.getSectionIterator(); Ogre::String secName, typeName, archName; - while (seci.hasMoreElements()) - { + while (seci.hasMoreElements()) { secName = seci.peekNextKey(); Ogre::ConfigFile::SettingsMultiMap *settings = seci.getNext(); Ogre::ConfigFile::SettingsMultiMap::iterator i; - for (i = settings->begin(); i != settings->end(); ++i) - { + for (i = settings->begin(); i != settings->end(); ++i) { typeName = i->first; archName = i->second; - Ogre::ResourceGroupManager::getSingleton().addResourceLocation( - archName, typeName, secName); + Ogre::ResourceGroupManager::getSingleton().addResourceLocation(archName, typeName, secName); } } } Modified: src/client/ui/application.h =================================================================== --- src/client/ui/application.h 2006-07-31 20:34:00 UTC (rev 144) +++ src/client/ui/application.h 2006-07-31 20:34:53 UTC (rev 145) @@ -34,8 +34,17 @@ extern "C" { #endif +/*! + * \brief This class is the main class of the client. It binds together the user interface with the game logic. + * + * This class references everything else that lives on the clients side and is visible to the user or + * affected by input by the user. So you will find references to the users avatar, the input system and + * the camera. Most of the stuff here combines the world of OGRE with the world of CEGUI with the world + * of OIS. + * + * \author Christoph Brill + */ class OpengateApp { - public: OpengateApp(); ~OpengateApp(); @@ -43,19 +52,34 @@ private: - OgreCharacter *ogre; - ExtendedCamera *exCamera; + /*! Handle to the players avatar in this game */ + OgreCharacter *mAvatar; + /*! Handle to the camera that is used by the player */ + ExtendedCamera *mExCamera; + /*! Handle to the main menu rendering routines */ CEGUI::OgreCEGUIRenderer* mGUIRenderer; + /*! Handle to the user interface */ CEGUI::System* mGUISystem; + /*! Handle to the keybindings of the player */ ActionConfig *actionConfig; + /*! Handle to the root where everything from the OGRE-world lives */ Ogre::Root *mRoot; - Ogre::Camera* mCamera; + /*! Handle to the camera that is used by the player */ + Ogre::Camera* mCamera; //FIXME: remove an totally replace by mExCamera + /*! Handle to the scenemanager where the objects (like the avatar or the camera) live in */ Ogre::SceneManager* mSceneMgr; + /*! Handle to the framelistener (the thing that does changes to the ogre world) */ OpengateListener* mFrameListener; + /*! Handle to the window through which the player is looking into the opengate universe */ Ogre::RenderWindow* mWindow; + /*! + * \brief Creates the startscene + * + * This method + */ void createScene(void); void createFrameListener(void); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eg...@us...> - 2006-08-27 18:19:40
|
Revision: 148 Author: egore Date: 2006-08-27 11:19:29 -0700 (Sun, 27 Aug 2006) ViewCVS: http://svn.sourceforge.net/opengate/?rev=148&view=rev Log Message: ----------- fix libxml2 start connection to metaserver Modified Paths: -------------- ChangeLog configure.in opengate.kdevelop src/opengate_server.cpp Modified: ChangeLog =================================================================== --- ChangeLog 2006-08-27 12:53:34 UTC (rev 147) +++ ChangeLog 2006-08-27 18:19:29 UTC (rev 148) @@ -10,6 +10,10 @@ * src/opengate-client.cpp: connect to the server and send a message + * configure.in: fix libxml2 support + + * src/opengate-server.cpp: start work on connection to metaserver + 2006-07-30 Christoph Brill <eg...@us...> * src/client/input: drop old handmade inputsystem Modified: configure.in =================================================================== --- configure.in 2006-08-27 12:53:34 UTC (rev 147) +++ configure.in 2006-08-27 18:19:29 UTC (rev 148) @@ -32,7 +32,7 @@ AM_LDFLAGS="$AM_LDFLAGS $GRAPPLE_LIBS" #libxml2 - http://www.xmlsoft.org/ -PKG_CHECK_MODULES(LIBXML2, [libxml2 >= 2.6]) +PKG_CHECK_MODULES(LIBXML2, [libxml-2.0 >= 2.6]) AM_CXXFLAGS="$AM_CXXFLAGS $LIBXML2_CFLAGS" AM_LDFLAGS="$AM_LDFLAGS $LIBXML2_LIBS" Modified: opengate.kdevelop =================================================================== --- opengate.kdevelop 2006-08-27 12:53:34 UTC (rev 147) +++ opengate.kdevelop 2006-08-27 18:19:29 UTC (rev 148) @@ -13,7 +13,7 @@ <ignoreparts/> <projectdirectory>.</projectdirectory> <absoluteprojectpath>false</absoluteprojectpath> - <description></description> + <description/> <versioncontrol>kdevsubversion</versioncontrol> </general> <kdevautoproject> @@ -32,7 +32,7 @@ <opengate-client/> </runarguments> <customdirectory>/</customdirectory> - <programargs></programargs> + <programargs/> <autocompile>true</autocompile> <envvars/> </run> @@ -62,14 +62,14 @@ <f77compiler>kdevg77options</f77compiler> <cxxflags>-O0 -g3</cxxflags> <envvars/> - <topsourcedir></topsourcedir> - <cppflags></cppflags> - <ldflags></ldflags> - <ccompilerbinary></ccompilerbinary> - <cxxcompilerbinary></cxxcompilerbinary> - <f77compilerbinary></f77compilerbinary> - <cflags></cflags> - <f77flags></f77flags> + <topsourcedir/> + <cppflags/> + <ldflags/> + <ccompilerbinary/> + <cxxcompilerbinary/> + <f77compilerbinary/> + <cflags/> + <f77flags/> </debug> <default> <envvars/> @@ -224,12 +224,12 @@ </kdevcppsupport> <kdevdebugger> <general> - <programargs></programargs> - <gdbpath></gdbpath> + <programargs/> + <gdbpath/> <dbgshell>libtool</dbgshell> - <configGdbScript></configGdbScript> - <runShellScript></runShellScript> - <runGdbScript></runGdbScript> + <configGdbScript/> + <runShellScript/> + <runGdbScript/> <breakonloadinglibs>true</breakonloadinglibs> <separatetty>false</separatetty> <floatingtoolbar>false</floatingtoolbar> Modified: src/opengate_server.cpp =================================================================== --- src/opengate_server.cpp 2006-08-27 12:53:34 UTC (rev 147) +++ src/opengate_server.cpp 2006-08-27 18:19:29 UTC (rev 148) @@ -29,6 +29,16 @@ #include "server/network.h" + +#include <stdio.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <netdb.h> +#include <string.h> + +#define DIRSIZE 1024 + bool done; /*! @brief a signal handler @@ -46,19 +56,66 @@ std::cout << "Statring up" << std::endl; std::cout << "-----------" << std::endl; - signal(SIGINT, shutdown_server); + /*signal(SIGINT, shutdown_server); done = false; Network* nw = new Network(2); while (!done) { nw->pull(); sleep(1); + }*/ + + char dir[DIRSIZE]; + int sd; + struct sockaddr_in sin; + struct sockaddr_in pin; + struct hostent *hp; + + /* go find out about the desired host machine */ + if ((hp = gethostbyname("opengate.sourceforge.net")) == 0) { + perror("gethostbyname"); + exit(1); } + /* fill in the socket structure with host information */ + memset(&pin, 0, sizeof(pin)); + pin.sin_family = AF_INET; + pin.sin_addr.s_addr = ((struct in_addr *)(hp->h_addr))->s_addr; + pin.sin_port = htons(80); + + /* grab an Internet domain socket */ + if ((sd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { + perror("socket"); + exit(1); + } + + /* connect to PORT on HOST */ + if (connect(sd,(struct sockaddr *) &pin, sizeof(pin)) == -1) { + perror("connect"); + exit(1); + } + + char* request = "GET /game/game_login.php HTTP/1.1\r\nHost: opengate.sourceforge.net\r\n\r\n"; + + /* send a message to the server PORT on machine HOST */ + if (send(sd, request, strlen(request), 0) == -1) { + perror("send"); + exit(1); + } + + /* wait for a message to come back from the server */ + if (recv(sd, dir, DIRSIZE, 0) == -1) { + perror("recv"); + exit(1); + } + + // spew-out the results and bail out of here! + printf("%s\n---\n", dir); + std::cout << "Shutting down" << std::endl; std::cout << "-------------" << std::endl; - delete(nw); + //delete(nw); return EXIT_SUCCESS; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qr...@us...> - 2006-12-09 17:17:51
|
Revision: 263 http://svn.sourceforge.net/opengate/?rev=263&view=rev Author: qrstuvw Date: 2006-12-09 09:17:49 -0800 (Sat, 09 Dec 2006) Log Message: ----------- Creating a trunk/tags/branch structure Added Paths: ----------- branches/ tags/ trunk/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-08-07 18:10:00
|
Revision: 656 http://opengate.svn.sourceforge.net/opengate/?rev=656&view=rev Author: spom_spom Date: 2007-08-07 11:10:01 -0700 (Tue, 07 Aug 2007) Log Message: ----------- trying fix collision issues Modified Paths: -------------- branches/ogsector/src/OpcodeWrapper.cpp branches/ogsector/src/OpcodeWrapper.h branches/ogsector/src/SectorObjects.cpp branches/ogsector/src/UnDockedState.cpp branches/ogsector/src/UnDockedState.h trunk/data/stations/tauseti_wake.xml Modified: branches/ogsector/src/OpcodeWrapper.cpp =================================================================== --- branches/ogsector/src/OpcodeWrapper.cpp 2007-08-06 19:29:24 UTC (rev 655) +++ branches/ogsector/src/OpcodeWrapper.cpp 2007-08-07 18:10:01 UTC (rev 656) @@ -125,21 +125,28 @@ OgreOpcode::CollisionManager::getSingletonPtr()->destroyShape( obj->getShape() ); } -bool OpcodeCollisionDetection::checkCollideRay( Projectile * ammo, const Ogre::Ray & ray, double rayLength){ +bool OpcodeCollisionDetection::checkCollideRay( BaseObject * obj, const Ogre::Ray & ray, double rayLength){ OgreOpcode::CollisionPair ** rayPickReport; int nColl = collideInSectorContext_->rayCheck( ray, rayLength, OgreOpcode::COLLTYPE_EXACT, OgreOpcode::COLLTYPE_ALWAYS_EXACT, rayPickReport ); +// std::cout << "checkCollideRay: " << " " << rayLength << std::endl; + if ( nColl > 0 ){ OgreOpcode::CollisionObject* col1 = rayPickReport[ 0 ]->this_object; OgreOpcode::CollisionObject* col2 = rayPickReport[ 0 ]->other_object; - if ( ammo->parent()->name() != static_cast< BaseObject * >( col1->getClientData() )->name() ){ - - ammo->mainNode()->setPosition( rayPickReport[ 0 ]->contact ); - - ammo->collide( static_cast< BaseObject * >( col2->getClientData() ) ); - static_cast< BaseObject * >( col1->getClientData() )->collide( ammo ); + std::cout << "checkCollideRay: " << static_cast< BaseObject * >(col1->getClientData())->name() + << " " << static_cast< BaseObject * >(col2->getClientData())->name() << std::endl; + + if ( obj->getTypeID() == PROJECTILE_RTTI ){ + if ( dynamic_cast< Projectile * >( obj )->parent() != static_cast< BaseObject * >( col1->getClientData() ) ){ + obj->mainNode()->setPosition( rayPickReport[ 0 ]->contact ); + } + } + if ( obj != col1->getClientData() ){ + obj->collide( static_cast< BaseObject * >( col2->getClientData() ) ); + static_cast< BaseObject * >( col1->getClientData() )->collide( obj ); return true; } } @@ -147,8 +154,7 @@ } void OpcodeCollisionDetection::changeCollClass( OgreOpcode::CollisionObject * collObj, const std::string & collClass ){ - - collObj->setCollClass( OgreOpcode::CollisionManager::getSingletonPtr()->queryCollClass( collClass ) ); + if ( collObj ) collObj->setCollClass( OgreOpcode::CollisionManager::getSingletonPtr()->queryCollClass( collClass ) ); } OpcodeCollisionDetection & OpcodeCollisionDetection::getSingleton( ){ Modified: branches/ogsector/src/OpcodeWrapper.h =================================================================== --- branches/ogsector/src/OpcodeWrapper.h 2007-08-06 19:29:24 UTC (rev 655) +++ branches/ogsector/src/OpcodeWrapper.h 2007-08-07 18:10:01 UTC (rev 656) @@ -49,7 +49,7 @@ void destroyObject( OgreOpcode::CollisionObject * obj ); - bool checkCollideRay( Projectile * ammo, const Ogre::Ray & bulletRay, double rayLength); + bool checkCollideRay( BaseObject * obj, const Ogre::Ray & bulletRay, double rayLength ); OgreOpcode::CollisionContext * collideInSectorContext(){ return collideInSectorContext_; } Modified: branches/ogsector/src/SectorObjects.cpp =================================================================== --- branches/ogsector/src/SectorObjects.cpp 2007-08-06 19:29:24 UTC (rev 655) +++ branches/ogsector/src/SectorObjects.cpp 2007-08-07 18:10:01 UTC (rev 656) @@ -277,6 +277,10 @@ vel_ += acc_ * elapsedTime; mainNode_->translate( ( vel_ + interpolateVel_ ) * elapsedTime ); + //** because of the discrete jumps between to frames we have to check for collisions via ray; + Ogre::Ray rayNoNextPos( mainNode_->getPosition(), vel_.normalisedCopy() ); + OpcodeCollisionDetection::getSingleton().checkCollideRay( this, rayNoNextPos, (vel_ * elapsedTime).length() ); + for ( std::set < Projectile * >::iterator it = projectiles_.begin(); it != projectiles_.end();){ if ( !(*it)->update( elapsedTime ) ) { delete *it; @@ -284,9 +288,9 @@ } else ++it; } - //** snap quaternion - Ogre::Quaternion rnd( mainNode_->getOrientation() ); - mainNode_->setOrientation( round( rnd.w, 5 ), round( rnd.x, 5 ), round( rnd.y, 5 ), round( rnd.z, 5 ) ); +// //** snap quaternion +// Ogre::Quaternion rnd( mainNode_->getOrientation() ); +// mainNode_->setOrientation( round( rnd.w, 5 ), round( rnd.x, 5 ), round( rnd.y, 5 ), round( rnd.z, 5 ) ); return true; } Modified: branches/ogsector/src/UnDockedState.cpp =================================================================== --- branches/ogsector/src/UnDockedState.cpp 2007-08-06 19:29:24 UTC (rev 655) +++ branches/ogsector/src/UnDockedState.cpp 2007-08-07 18:10:01 UTC (rev 656) @@ -59,6 +59,7 @@ mainCamera_ = sceneMgr_->createCamera( "MainCamera" ); mainCamera_->setNearClipDistance( 1 ); + cameraZoom_ = 75.0; secondCamera_ = sceneMgr_->createCamera( "SecondCamera" ); secondCamera_->setNearClipDistance( 1 ); @@ -199,12 +200,9 @@ timeSinceLastNetworkUpdate_ = 0.0; timeSinceLastHudUpdate_ = 0.0; - cameraRotateX_ = 0; - cameraRotateY_ = 0; -// cameraRotateScale_ = 0.0f; -// cameraMoveSpeed_ = 100; -// cameraMoveScale_ = 0.0f; -// cameraTranslate_ = Ogre::Vector3::ZERO; + cameraRotateX_ = 0.0; + cameraRotateY_ = 0.0; + cameraZoom_ = 75.0; // targetPointer_ = mainCamera_->getSceneManager()->getRootSceneNode()->createChildSceneNode( "TargetPointer" ); // BillboardSet* mySet = mainCamera_->getSceneManager()->createBillboardSet("mySet"); @@ -588,9 +586,11 @@ } // if avatar; if ( e.state.Z.rel < -10 ){ // mouse wheel up - setTarget( sector_->nextTarget() ); + if ( cameraMode_ == 1 ) cameraZoom_ = max( 20.0f, cameraZoom_ - 5 ); + else setTarget( sector_->nextTarget() ); } else if ( e.state.Z.rel > 10 ) { - setTarget( sector_->prevTarget() ); + if ( cameraMode_ == 1 ) cameraZoom_ = min( 500.0f, cameraZoom_ + 5 ); + else setTarget( sector_->prevTarget() ); } } else { CEGUI::System::getSingleton().injectMouseMove( e.state.X.rel,e.state.Y.rel ); @@ -598,7 +598,7 @@ return true; } -bool UnDockedState::mousePressed( const OIS::MouseEvent &e , OIS::MouseButtonID id ){ +bool UnDockedState::mousePressed( const OIS::MouseEvent & e , OIS::MouseButtonID id ){ if ( !configMode_ ){ if ( sector_->avatarObject() != NULL ){ // std::cout << "Mouse Button: " << id << std::endl; @@ -725,6 +725,7 @@ cameraRotateX_ = 0; cameraRotateY_ = 0; cameraViewKey_ = 1; + cameraZoom_ = 75; if ( sector_->avatarObject() != NULL ){ sector_->avatarObject()->setVisible( true ); break; @@ -808,9 +809,12 @@ Ogre::Vector3 camPos( Ogre::Math::Sin( cameraRotateX_ ) * Ogre::Math::Cos( cameraRotateY_ ), Ogre::Math::Sin( cameraRotateX_ ) * Ogre::Math::Sin( cameraRotateY_ ), Ogre::Math::Cos( cameraRotateX_ ) ); - // std::cout << camPos << std::endl; - mainCamera_->setPosition( avatarPos + camPos * 75.0 ); + camPos.normalise(); + // std::cout << camPos << std::endl; + // mainCamera_->setPosition( avatarPos + camPos * 75.0 ); + mainCamera_->setPosition( avatarPos + avatarOrient * camPos * cameraZoom_ ); + mainCamera_->lookAt( sector_->avatarObject()->mainNode()->getPosition( ) ); // mainCamera_->setOrientation( avatarOrient ); Modified: branches/ogsector/src/UnDockedState.h =================================================================== --- branches/ogsector/src/UnDockedState.h 2007-08-06 19:29:24 UTC (rev 655) +++ branches/ogsector/src/UnDockedState.h 2007-08-07 18:10:01 UTC (rev 656) @@ -183,6 +183,7 @@ double timeSinceLastHudUpdate_; int cameraMode_; int cameraViewKey_; + Ogre::Real cameraZoom_; Ogre::Degree cameraRotateX_; Ogre::Degree cameraRotateY_; Modified: trunk/data/stations/tauseti_wake.xml =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-08-18 18:09:21
|
Revision: 664 http://opengate.svn.sourceforge.net/opengate/?rev=664&view=rev Author: spom_spom Date: 2007-08-18 11:09:19 -0700 (Sat, 18 Aug 2007) Log Message: ----------- add very simple texture for tauseti-wake station. Normalmapping can be switched in runtime by pressing o/O-key. Background ambient lightness can be changed be pressing l/L-key. Modified Paths: -------------- branches/ogsector/data/asteroids/asteroid.material branches/ogsector/data/materials/advancedMaterials.material branches/ogsector/data/materials/station.material branches/ogsector/src/Console.cpp branches/ogsector/src/ResourceManager.h branches/ogsector/src/Station.cpp branches/ogsector/src/Station.h branches/ogsector/src/UnDockedState.cpp branches/ogsector/src/UnDockedState.h branches/ogsector/src/common.h trunk/data/stations/tauseti_wake.mesh trunk/data/stations/tauseti_wake_2.blend Added Paths: ----------- trunk/data/stations/TausetiStationBackground.png trunk/data/stations/TausetiStationBackground.xcf trunk/data/stations/TausetiStationBackgroundBM.png trunk/data/stations/TausetiStationBackgroundPlain.png trunk/data/stations/TausetiStationWindow.png trunk/data/stations/TausetiStationWindow.xcf trunk/data/stations/TausetiStationWindowBM.png Modified: branches/ogsector/data/asteroids/asteroid.material =================================================================== --- branches/ogsector/data/asteroids/asteroid.material 2007-08-16 21:44:01 UTC (rev 663) +++ branches/ogsector/data/asteroids/asteroid.material 2007-08-18 18:09:19 UTC (rev 664) @@ -1,180 +1,11 @@ -material Asteroid/BumpMapping -{ - - // This is the preferred technique which uses both vertex and - // fragment programs, supports coloured lights - technique - { - // Base ambient pass - pass - { - // base colours, not needed for rendering, but as information - // to lighting pass categorisation routine - ambient 1 1 1 - diffuse 0 0 0 - specular 0 0 0 0 - // Really basic vertex program - // NB we don't use fixed function here because GL does not like - // mixing fixed function and vertex programs, depth fighting can - // be an issue - vertex_program_ref BasicVertexPrograms/AmbientOneTextureUnified - { - param_named_auto worldViewProj worldviewproj_matrix - param_named_auto ambient ambient_light_colour - } - - } - // Now do the lighting pass - // NB we don't do decal texture here because this is repeated per light - pass - { - // base colours, not needed for rendering, but as information - // to lighting pass categorisation routine - ambient 0 0 0 - - // do this for each light - iteration once_per_light - - - scene_blend add - - // Vertex program reference - vertex_program_ref BumpMapVP - { - param_named_auto lightPosition light_position_object_space 0 - param_named_auto worldViewProj worldviewproj_matrix - } - - // Fragment program - fragment_program_ref BumpMapFP - { - param_named_auto lightDiffuse light_diffuse_colour 0 - } - - // Base bump map - texture_unit - { - texture asteroidBump.png - colour_op replace - } - // Normalisation cube map - texture_unit - { - cubic_texture nm.png combinedUVW - tex_coord_set 1 - tex_address_mode clamp - } - } - - // Decal pass - pass - { - // base colours, not needed for rendering, but as information - // to lighting pass categorisation routine - lighting off - // Really basic vertex program - // NB we don't use fixed function here because GL does not like - // mixing fixed function and vertex programs, depth fighting can - // be an issue - vertex_program_ref BasicVertexPrograms/AmbientOneTextureUnified - { - param_named_auto worldViewProj worldviewproj_matrix - param_named ambient float4 1 1 1 1 - } - scene_blend dest_colour zero - texture_unit - { - texture asteroid.png - } - - } - } - - // This is the fallback which cards which don't have fragment program - // support will use - // Note that it still requires vertex program support - technique - { - // Base ambient pass - pass - { - // base colours, not needed for rendering, but as information - // to lighting pass categorisation routine - ambient 1 1 1 - diffuse 0 0 0 - specular 0 0 0 0 - // Really basic vertex program - // NB we don't use fixed function here because GL does not like - // mixing fixed function and vertex programs, depth fighting can - // be an issue - vertex_program_ref BasicVertexPrograms/AmbientOneTextureUnified - { - param_named_auto worldViewProj worldviewproj_matrix - param_named_auto ambient ambient_light_colour - } - - } - // Now do the lighting pass - // NB we don't do decal texture here because this is repeated per light - pass - { - // base colours, not needed for rendering, but as information - // to lighting pass categorisation routine - ambient 0 0 0 - // do this for each light - iteration once_per_light - - - scene_blend add - - // Vertex program reference - vertex_program_ref BumpMapVP - { - param_named_auto lightPosition light_position_object_space 0 - param_named_auto worldViewProj worldviewproj_matrix - } - - // Base bump map - texture_unit - { - texture asteroidBump.png - colour_op replace - } - // Normalisation cube map, with dot product on bump map - texture_unit - { - cubic_texture nm.png combinedUVW - tex_coord_set 1 - tex_address_mode clamp - colour_op_ex dotproduct src_texture src_current - colour_op_multipass_fallback dest_colour zero - } - } - - // Decal pass - pass - { - lighting off - // Really basic vertex program - // NB we don't use fixed function here because GL does not like - // mixing fixed function and vertex programs, depth fighting can - // be an issue - vertex_program_ref BasicVertexPrograms/AmbientOneTextureUnified - { - param_named_auto worldViewProj worldviewproj_matrix - param_named ambient float4 1 1 1 1 - } - scene_blend dest_colour zero - texture_unit - { - texture asteroid.png - } - - } - - } +material Asteroid/BumpMapping : OpenGate/BumpMapping +{ + set_texture_alias Image asteroid.png + set_texture_alias ImageBumpMap asteroidBump.png + set_texture_alias ImageFallback asteroid.png } + material Asteroid { receive_shadows on @@ -184,7 +15,7 @@ { // ambient 0.500000 0.500000 0.500000 1.000000 // diffuse 0.900000 0.900000 0.900000 1.000000 - emissive 0.800000 0.800000 0.800000 1.000000 + emissive 0.500000 0.500000 0.500000 1.000000 texture_unit { texture asteroid.png Modified: branches/ogsector/data/materials/advancedMaterials.material =================================================================== --- branches/ogsector/data/materials/advancedMaterials.material 2007-08-16 21:44:01 UTC (rev 663) +++ branches/ogsector/data/materials/advancedMaterials.material 2007-08-18 18:09:19 UTC (rev 664) @@ -1,10 +1,11 @@ -material StationTileBackground/BumpMapping +material OpenGate/BumpMapping { // This is the preferred technique which uses both vertex and // fragment programs, supports coloured lights - technique + technique vpfp { + scheme vpfp // Base ambient pass pass { @@ -54,7 +55,7 @@ // Base bump map texture_unit { - texture stationTileBackgroundBump.png + texture_alias ImageBumpMap colour_op replace } // Normalisation cube map @@ -84,17 +85,17 @@ scene_blend dest_colour zero texture_unit { - texture stationTileBackground.png + texture_alias Image } } } - // This is the fallback which cards which don't have fragment program - // support will use + // This is the fallback which cards which don't have fragment program support will use // Note that it still requires vertex program support - technique + technique vp { + scheme vpOnly // Base ambient pass pass { @@ -137,7 +138,7 @@ // Base bump map texture_unit { - texture stationTileBackgroundBump.png + texture_alias ImageBumpMap colour_op replace } // Normalisation cube map, with dot product on bump map @@ -167,206 +168,80 @@ scene_blend dest_colour zero texture_unit { - texture stationTileBackground.png + texture_alias Image } } - - } -} - -material StationTileIcon/BumpMapping -{ - - // This is the preferred technique which uses both vertex and - // fragment programs, supports coloured lights - technique + } + // This is the fallback which cards which don't have fragment program and vertex program support + technique fallback { - // Base ambient pass + scheme Default pass { - // base colours, not needed for rendering, but as information - // to lighting pass categorisation routine - ambient 1 1 1 - diffuse 0 0 0 - specular 0 0 0 0 - // Really basic vertex program - // NB we don't use fixed function here because GL does not like - // mixing fixed function and vertex programs, depth fighting can - // be an issue - vertex_program_ref BasicVertexPrograms/AmbientOneTextureUnified + ambient 0.500000 0.500000 0.500000 1.000000 + diffuse 0.900000 0.900000 0.900000 1.000000 + emissive 0.500000 0.500000 0.500000 1.000000 + texture_unit { - param_named_auto worldViewProj worldviewproj_matrix - param_named_auto ambient ambient_light_colour + texture_alias ImageFallback } - } - // Now do the lighting pass - // NB we don't do decal texture here because this is repeated per light - pass - { - // base colours, not needed for rendering, but as information - // to lighting pass categorisation routine - ambient 0 0 0 - - // do this for each light - iteration once_per_light + } +} - - scene_blend add - // Vertex program reference - vertex_program_ref BumpMapVP - { - param_named_auto lightPosition light_position_object_space 0 - param_named_auto worldViewProj worldviewproj_matrix - } - - // Fragment program - fragment_program_ref BumpMapFP - { - param_named_auto lightDiffuse light_diffuse_colour 0 - } - - // Base bump map - texture_unit - { - texture stationTileIconBump.png - colour_op replace - } - // Normalisation cube map - texture_unit - { - cubic_texture nm.png combinedUVW - tex_coord_set 1 - tex_address_mode clamp - } - } - - // Decal pass +material OpenGate/SingleTexture +{ + receive_shadows on + technique + { pass { - // base colours, not needed for rendering, but as information - // to lighting pass categorisation routine - lighting off - // Really basic vertex program - // NB we don't use fixed function here because GL does not like - // mixing fixed function and vertex programs, depth fighting can - // be an issue - vertex_program_ref BasicVertexPrograms/AmbientOneTextureUnified - { - param_named_auto worldViewProj worldviewproj_matrix - param_named ambient float4 1 1 1 1 - } - scene_blend dest_colour zero +// ambient 0.500000 0.500000 0.500000 1.000000 +// diffuse 0.900000 0.900000 0.900000 1.000000 + emissive 0.500000 0.500000 0.500000 1.000000 texture_unit { - texture stationTileBackground.png + texture_alias Image } - } } +} - // This is the fallback which cards which don't have fragment program - // support will use - // Note that it still requires vertex program support - technique - { - // Base ambient pass - pass - { - // base colours, not needed for rendering, but as information - // to lighting pass categorisation routine - ambient 1 1 1 - diffuse 0 0 0 - specular 0 0 0 0 - // Really basic vertex program - // NB we don't use fixed function here because GL does not like - // mixing fixed function and vertex programs, depth fighting can - // be an issue - vertex_program_ref BasicVertexPrograms/AmbientOneTextureUnified - { - param_named_auto worldViewProj worldviewproj_matrix - param_named_auto ambient ambient_light_colour - } - - } - // Now do the lighting pass - // NB we don't do decal texture here because this is repeated per light - pass - { - // base colours, not needed for rendering, but as information - // to lighting pass categorisation routine - ambient 0 0 0 - // do this for each light - iteration once_per_light +material Sta/TS/Background : OpenGate/BumpMapping +{ + set_texture_alias Image TausetiStationBackgroundPlain.png + set_texture_alias ImageBumpMap TausetiStationBackgroundBM.png + set_texture_alias ImageFallback TausetiStationBackground.png +} - - scene_blend add +material Sta/TS/Window : OpenGate/BumpMapping +{ + set_texture_alias Image TausetiStationWindow.png + set_texture_alias ImageBumpMap TausetiStationWindowBM.png + set_texture_alias ImageFallback TausetiStationWindow.png +} - // Vertex program reference - vertex_program_ref BumpMapVP - { - param_named_auto lightPosition light_position_object_space 0 - param_named_auto worldViewProj worldviewproj_matrix - } - - // Base bump map - texture_unit - { - texture stationTileIconBump.png - colour_op replace - } - // Normalisation cube map, with dot product on bump map - texture_unit - { - cubic_texture nm.png combinedUVW - tex_coord_set 1 - tex_address_mode clamp - colour_op_ex dotproduct src_texture src_current - colour_op_multipass_fallback dest_colour zero - } - } - - // Decal pass - pass - { - lighting off - // Really basic vertex program - // NB we don't use fixed function here because GL does not like - // mixing fixed function and vertex programs, depth fighting can - // be an issue - vertex_program_ref BasicVertexPrograms/AmbientOneTextureUnified - { - param_named_auto worldViewProj worldviewproj_matrix - param_named ambient float4 1 1 1 1 - } - scene_blend dest_colour zero - texture_unit - { - texture stationTileBackground.png - } - - } - - } +material Sta/TS/Plain : OpenGate/SingleTexture +{ + set_texture_alias Image TausetiStationBackgroundPlain.png } -material StationTile +material Flashlight/Red { - receive_shadows on technique - { + { pass { - ambient 0.500000 0.500000 0.500000 1.000000 - diffuse 0.900000 0.900000 0.900000 1.000000 - emissive 0.800000 0.800000 0.800000 1.000000 + lighting on +// scene_blend alpha_blend + scene_blend add + emissive 1.000000 0.000000 0.000000 1.000000 texture_unit { - texture tausetiTile.png + texture flare.png } } } } - Modified: branches/ogsector/data/materials/station.material =================================================================== --- branches/ogsector/data/materials/station.material 2007-08-16 21:44:01 UTC (rev 663) +++ branches/ogsector/data/materials/station.material 2007-08-18 18:09:19 UTC (rev 664) @@ -1,21 +1,3 @@ -material Station/Background -{ - receive_shadows on - technique - { - pass - { - ambient 0.500000 0.500000 0.500000 1.000000 - diffuse 0.900000 0.900000 0.900000 1.000000 - emissive 0.800000 0.800000 0.800000 1.000000 - texture_unit - { - texture stationTileBackground.png - } - } - } -} - material Station/Tube { receive_shadows on @@ -34,23 +16,6 @@ } } -material Station/Logo -{ - receive_shadows on - technique - { - pass - { - ambient 0.500000 0.500000 0.500000 1.000000 - diffuse 0.900000 0.900000 0.900000 1.000000 - emissive 0.800000 0.800000 0.800000 1.000000 - texture_unit - { - texture stationTileBackground.png - } - } - } -} material Station/DockPad { Modified: branches/ogsector/src/Console.cpp =================================================================== --- branches/ogsector/src/Console.cpp 2007-08-16 21:44:01 UTC (rev 663) +++ branches/ogsector/src/Console.cpp 2007-08-18 18:09:19 UTC (rev 664) @@ -121,17 +121,19 @@ CEGUI::System::getSingleton().injectKeyDown( e.key ); CEGUI::System::getSingleton().injectChar( e.text ); - if ( e.key == OIS::KC_LCONTROL) { - resources_->setGlobalKeyModifier( KEY_LCONTROL ); - } + if ( e.key == OIS::KC_LCONTROL) resources_->setGlobalKeyModifier( KEY_LCONTROL ); + if ( e.key == OIS::KC_LSHIFT) resources_->setGlobalKeyModifier( KEY_SHIFT ); + if ( e.key == OIS::KC_RSHIFT) resources_->setGlobalKeyModifier( KEY_SHIFT ); + return true; } bool Console::keyReleased( const OIS::KeyEvent & e ){ CEGUI::System::getSingleton().injectKeyUp( e.key ); - if ( e.key == OIS::KC_LCONTROL) { - resources_->setGlobalKeyModifier( KEY_NONE ); - } + + if ( e.key == OIS::KC_LCONTROL ) resources_->setGlobalKeyModifier( KEY_NONE ); + if ( e.key == OIS::KC_LSHIFT) resources_->setGlobalKeyModifier( KEY_NONE ); + if ( e.key == OIS::KC_RSHIFT) resources_->setGlobalKeyModifier( KEY_NONE ); return true; } Modified: branches/ogsector/src/ResourceManager.h =================================================================== --- branches/ogsector/src/ResourceManager.h 2007-08-16 21:44:01 UTC (rev 663) +++ branches/ogsector/src/ResourceManager.h 2007-08-18 18:09:19 UTC (rev 664) @@ -48,7 +48,7 @@ class Entity; class Station; -enum GlobalKeyModifier{KEY_NONE, KEY_LCONTROL}; +enum GlobalKeyModifier{KEY_NONE, KEY_LCONTROL, KEY_SHIFT}; class ResourceManager : public Ogre::Singleton< ResourceManager > { public: @@ -99,7 +99,6 @@ return "unknown"; } - /*! Find file in resources and returns full name */ std::string findFullFileName( const std::string & fileName ); Modified: branches/ogsector/src/Station.cpp =================================================================== --- branches/ogsector/src/Station.cpp 2007-08-16 21:44:01 UTC (rev 663) +++ branches/ogsector/src/Station.cpp 2007-08-18 18:09:19 UTC (rev 664) @@ -31,6 +31,8 @@ #include <OgreMeshManager.h> #include <OgreSceneManager.h> #include <OgreManualObject.h> +#include <OgreBillboard.h> +#include <OgreBillboardSet.h> namespace OpenGate{ @@ -73,7 +75,7 @@ } std::string Station::meshName( ){ - return strCopyToLowerCase( strReplaceBlankToUnderscore( name_ ) ) + ".mesh"; + return strCopyToLowerCase( strReplaceBlankWithUnderscore( name_ ) ) + ".mesh"; } StationDockPad::StationDockPad( const std::string & name, Sector * sector, Ogre::SubEntity * dockPad, Ogre::SceneNode * dockPadNode ) @@ -146,22 +148,34 @@ : SectorObject( station.name(), sector ), station_( &station ){ dockPad_ = NULL; -// Ogre::MeshPtr pMesh = Ogre::MeshManager::getSingleton().load( station_->meshName(), -// Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, -// Ogre::HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY, -// Ogre::HardwareBuffer::HBU_STATIC_WRITE_ONLY, -// true, true); + flashLights_ = NULL; + Ogre::MeshPtr pMesh = Ogre::MeshManager::getSingleton().load( station_->meshName(), + Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, + Ogre::HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY, + Ogre::HardwareBuffer::HBU_STATIC_WRITE_ONLY, + true, true); -// unsigned short src, dest; -// if ( !pMesh->suggestTangentVectorBuildParams( Ogre::VES_TANGENT, src, dest) ) { -// pMesh->buildTangentVectors( Ogre::VES_TANGENT, src, dest); -// } + unsigned short src = 0, dest = 0; + if ( !pMesh->suggestTangentVectorBuildParams( Ogre::VES_TANGENT, src, dest) ) { + pMesh->buildTangentVectors( Ogre::VES_TANGENT, src, dest); + } setShape( station_->meshName() ); OpcodeCollisionDetection::getSingleton().changeCollClass( collObj_, "Station" ); for ( uint i = 0; i < entity()->getNumSubEntities(); i ++ ){ - std::cout << entity()->getSubEntity( i )->getMaterialName() << std::endl; + std::cout << entity()->getSubEntity( i )->getMaterialName() << " Techniques: " + << entity()->getSubEntity( i )->getMaterial()->getNumTechniques() << " used: " + << entity()->getSubEntity( i )->getTechnique()->getName() << std::endl; + +// for ( uint j = 0; j < entity()->getSubEntity( i )->getMaterial()->getNumTechniques(); j ++ ){ +// std::cout << entity()->getSubEntity( i )->getMaterial()->getTechnique( j )->getName() << std::endl; +// } + + if ( entity()->getSubEntity( i )->getMaterialName() == "Flashlight/Red" ){ + createFlashLights( entity()->getSubEntity( i ) ); + } + if ( entity()->getSubEntity( i )->getMaterialName() == "Station/DockPad" ){ dockPadNode_ = mainNodeEntityRot_->createChildSceneNode( name_ + "/DockPadNode" ); @@ -209,6 +223,12 @@ mainNodeEntityRot_->removeAndDestroyChild( dockPadNode_->getName() ); mainNodeEntityRot_->removeAndDestroyChild( launchPadNode_->getName() ); } + if ( flashLights_ ){ + mainNodeEntityRot_->detachObject( flashLights_ ); + sceneMgr_->destroyBillboardSet( flashLights_ ); + } + + Ogre::MeshManager::getSingleton().unload( station_->meshName() ); } void StationObject::collide( BaseObject * object ){ @@ -217,6 +237,29 @@ void StationObject::showRings( bool show ){ ringNode_->setVisible( show ); } +void StationObject::createFlashLights( Ogre::SubEntity * entity ){ + + entity->setVisible( false ); + std::vector< Ogre::Vector3 > verts; + std::vector< Triangle > tris; + readSubEntity( entity, verts, tris ); + + uint nLights = tris.size() / 2; + + flashLights_ = sceneMgr_->createBillboardSet( name_ + "_BBS", nLights ); + flashLights_->setMaterialName( entity->getMaterialName() ); + + Ogre::Billboard *bb; + + for ( uint i = 0; i < nLights; i ++ ){ + bb = flashLights_->createBillboard( Ogre::Vector3::ZERO, Ogre::ColourValue( 1.0f, 0.0f, 0.0f, 1.0f) ); + bb->setDimensions( (verts[ i * 4 + 1 ] - verts[ i * 4 ] ).length(), + (verts[ i * 4 + 1 ] - verts[ i * 4 ] ).length() ); + bb->setPosition( ( verts[ i * 4 ] + verts[ i * 4 + 1 ] + verts[ i * 4 + 2 ] + verts[ i * 4 + 3] ) / 4.0 ); + } + mainNodeEntityRot_->attachObject( flashLights_ ); +} + Ogre::Vector3 StationObject::launchPadPosition(){ return launchPadNode_->getWorldPosition(); } Modified: branches/ogsector/src/Station.h =================================================================== --- branches/ogsector/src/Station.h 2007-08-16 21:44:01 UTC (rev 663) +++ branches/ogsector/src/Station.h 2007-08-18 18:09:19 UTC (rev 664) @@ -90,6 +90,8 @@ void showRings( bool show ); + void createFlashLights( Ogre::SubEntity * entity ); + virtual void selectedBy( SectorObject * obj ){ SectorObject::selectedBy( obj ); if ( obj ){ @@ -111,6 +113,8 @@ Ogre::ManualObject * ringEntity_; + Ogre::BillboardSet * flashLights_; + StationDockPad * dockPad_; }; Modified: branches/ogsector/src/UnDockedState.cpp =================================================================== --- branches/ogsector/src/UnDockedState.cpp 2007-08-16 21:44:01 UTC (rev 663) +++ branches/ogsector/src/UnDockedState.cpp 2007-08-18 18:09:19 UTC (rev 664) @@ -166,6 +166,7 @@ Ogre::Viewport* vp = window_->addViewport( sceneMgr_->getCamera( "MainCamera" ), 0, 0.0, 0.0, 1.0f, 1.0f ); vp->setBackgroundColour( Ogre::ColourValue( 0, 0, 0) ); + // camera->setAspectRatio( Real(vp->getActualWidth()) / Real(vp->getActualHeight())); Ogre::Viewport* vp1 = window_->addViewport( sceneMgr_->getCamera( "SecondCamera" ), 1, 0.01, 0.84, 0.15, 0.15 ); @@ -204,6 +205,11 @@ cameraRotateY_ = 0.0; cameraZoom_ = 75.0; + ambientLight_ = 2; + setAmbientLight_(); + + schemeIdx_ = 0; + setScheme_(); // targetPointer_ = mainCamera_->getSceneManager()->getRootSceneNode()->createChildSceneNode( "TargetPointer" ); // BillboardSet* mySet = mainCamera_->getSceneManager()->createBillboardSet("mySet"); // targetPointerBB_ = mySet->createBillboard( Vector3(0, 0, 0) ); @@ -393,6 +399,13 @@ chatMode_ = true; } + if ( e.key == OIS::KC_L && resources_->globalKeyModifier( ) != KEY_SHIFT ) { decreaseAmbientLight(); } + if ( e.key == OIS::KC_L && resources_->globalKeyModifier( ) == KEY_SHIFT ) { increaseAmbientLight(); } + + if ( e.key == OIS::KC_O && resources_->globalKeyModifier( ) != KEY_SHIFT ) { decreaseScheme(); } + if ( e.key == OIS::KC_O && resources_->globalKeyModifier( ) == KEY_SHIFT ) { increaseScheme(); } + + if ( sector_->avatarObject() != NULL ){ //** Avatar yaw LEFT; if ( e.key == OIS::KC_A || e.key == OIS::KC_NUMPAD4 ) { sector_->avatarObject()->setScaledYaw( 1.0 ); } @@ -1181,6 +1194,48 @@ sector_->spawnAiObject( name ); } +void UnDockedState::increaseAmbientLight(){ + ambientLight_ = min( ambientLight_ + 1, 10 ); + setAmbientLight_(); +} + +void UnDockedState::decreaseAmbientLight(){ + ambientLight_ = max( ambientLight_ - 1, 0 ); + setAmbientLight_(); +} + +void UnDockedState::setAmbientLight_(){ + + std::cout << ambientLight_ << std::endl; + sceneMgr_->setAmbientLight( Ogre::ColourValue( (double)ambientLight_/10.0, + (double)ambientLight_/10.0, + (double)ambientLight_/10.0 ) ); +} + +void UnDockedState::increaseScheme(){ + schemeIdx_ = min( schemeIdx_ + 1, 2 ); + setScheme_(); +} + +void UnDockedState::decreaseScheme(){ + schemeIdx_ = max( schemeIdx_ - 1, 0 ); + setScheme_(); +} + +void UnDockedState::setScheme_(){ + + for ( uint i = 0; i < window_->getNumViewports(); i ++ ){ + Ogre::Viewport * vp = window_->getViewport( i ); + switch ( schemeIdx_ ){ + case 0: vp->setMaterialScheme( "Default" ); break; + case 1: vp->setMaterialScheme( "vpOnly" ); break; + case 2: vp->setMaterialScheme( "vpfp" ); break; + } + } + +} + + } // namespace OpenGate{ Modified: branches/ogsector/src/UnDockedState.h =================================================================== --- branches/ogsector/src/UnDockedState.h 2007-08-16 21:44:01 UTC (rev 663) +++ branches/ogsector/src/UnDockedState.h 2007-08-18 18:09:19 UTC (rev 664) @@ -89,6 +89,12 @@ void showHud(); void hideHud(); + void increaseAmbientLight(); + void decreaseAmbientLight(); + + void increaseScheme(); + void decreaseScheme(); + protected: UnDockedState( ); virtual ~UnDockedState( ){} @@ -97,6 +103,8 @@ inline bool handleMinimiseConsole( const CEGUI::EventArgs & e ){ minimiseConsole(); return true; } inline bool handleConfigBackButton( const CEGUI::EventArgs & e ){ return switchConfigDialog( ); } + void setAmbientLight_(); + void setScheme_(); void toggleNextCamera_( int mode = -1 ); void updateCamera_( Ogre::Real elapsedTime ); void updateHUD_( Ogre::Real elapsedTime ); @@ -203,6 +211,9 @@ int sceneDetailIndex_ ; + int ambientLight_; + int schemeIdx_; + }; }; Modified: branches/ogsector/src/common.h =================================================================== --- branches/ogsector/src/common.h 2007-08-16 21:44:01 UTC (rev 663) +++ branches/ogsector/src/common.h 2007-08-18 18:09:19 UTC (rev 664) @@ -83,7 +83,7 @@ /*! Read one line from a file stream and return a vector of strings. */ std::vector < std::string > getRowSubstrings( std::fstream & file, char comment = '#' ); -inline std::string strReplaceBlankToUnderscore( const std::string & str ) { +inline std::string strReplaceBlankWithUnderscore( const std::string & str ) { std::string res( str ); for ( uint i = 0; i < res.length(); i ++ ){ Added: trunk/data/stations/TausetiStationBackground.png =================================================================== (Binary files differ) Property changes on: trunk/data/stations/TausetiStationBackground.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/stations/TausetiStationBackground.xcf =================================================================== (Binary files differ) Property changes on: trunk/data/stations/TausetiStationBackground.xcf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/stations/TausetiStationBackgroundBM.png =================================================================== (Binary files differ) Property changes on: trunk/data/stations/TausetiStationBackgroundBM.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/stations/TausetiStationBackgroundPlain.png =================================================================== (Binary files differ) Property changes on: trunk/data/stations/TausetiStationBackgroundPlain.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/stations/TausetiStationWindow.png =================================================================== (Binary files differ) Property changes on: trunk/data/stations/TausetiStationWindow.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/stations/TausetiStationWindow.xcf =================================================================== (Binary files differ) Property changes on: trunk/data/stations/TausetiStationWindow.xcf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/stations/TausetiStationWindowBM.png =================================================================== (Binary files differ) Property changes on: trunk/data/stations/TausetiStationWindowBM.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/data/stations/tauseti_wake.mesh =================================================================== (Binary files differ) Modified: trunk/data/stations/tauseti_wake_2.blend =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-08-27 15:57:04
|
Revision: 695 http://opengate.svn.sourceforge.net/opengate/?rev=695&view=rev Author: spom_spom Date: 2007-08-26 09:17:11 -0700 (Sun, 26 Aug 2007) Log Message: ----------- animate cursor in docked-state Modified Paths: -------------- branches/ogsector/data/gui/imagesets/cursor.imageset branches/ogsector/data/gui/schemes/opengate.scheme branches/ogsector/src/ConfigDialog.cpp branches/ogsector/src/DockedState.cpp branches/ogsector/src/DockedState.h branches/ogsector/src/SectorObjects.cpp branches/ogsector/src/UnDockedState.cpp branches/ogsector/src/networkClient.cpp branches/ogsector/src/networkProtocol.h branches/ogsector/src/networkServer.cpp branches/ogsector/src/networkServerUser.cpp trunk/data/stations/tauseti_wake.mesh trunk/data/stations/tauseti_wake_2.blend Modified: branches/ogsector/data/gui/imagesets/cursor.imageset =================================================================== --- branches/ogsector/data/gui/imagesets/cursor.imageset 2007-08-26 15:57:23 UTC (rev 694) +++ branches/ogsector/data/gui/imagesets/cursor.imageset 2007-08-26 16:17:11 UTC (rev 695) @@ -1,16 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> -<Imageset Name="Cursor" Imagefile="cursor.png"> +<Imageset Name="opengateCurser" Imagefile="cursor.png"> <Image Name="Cursor1" XPos="00" YPos="00" Width="21" Height="21" /> - <Image Name="Cursor2" XPos="21" YPos="00" Width="21" Height="21" /> - <Image Name="Cursor3" XPos="42" YPos="00" Width="21" Height="21" /> - <Image Name="Cursor4" XPos="63" YPos="00" Width="21" Height="21" /> - <Image Name="Cursor5" XPos="84" YPos="00" Width="21" Height="21" /> + <Image Name="Cursor2" XPos="21" YPos="00" Width="21" Height="21" /> + <Image Name="Cursor3" XPos="42" YPos="00" Width="21" Height="21" /> + <Image Name="Cursor4" XPos="63" YPos="00" Width="21" Height="21" /> + <Image Name="Cursor5" XPos="84" YPos="00" Width="21" Height="21" /> - <Image Name="Cursor6" XPos="00" YPos="21" Width="21" Height="21" /> - <Image Name="Cursor7" XPos="21" YPos="21" Width="21" Height="21" /> - <Image Name="Cursor8" XPos="42" YPos="21" Width="21" Height="21" /> - <Image Name="Cursor9" XPos="63" YPos="21" Width="21" Height="21" /> + <Image Name="Cursor6" XPos="00" YPos="21" Width="21" Height="21" /> + <Image Name="Cursor7" XPos="21" YPos="21" Width="21" Height="21" /> + <Image Name="Cursor8" XPos="42" YPos="21" Width="21" Height="21" /> + <Image Name="Cursor9" XPos="63" YPos="21" Width="21" Height="21" /> <Image Name="Cursor10" XPos="84" YPos="21" Width="21" Height="21" /> <Image Name="Cursor11" XPos="00" YPos="42" Width="21" Height="21" /> Modified: branches/ogsector/data/gui/schemes/opengate.scheme =================================================================== --- branches/ogsector/data/gui/schemes/opengate.scheme 2007-08-26 15:57:23 UTC (rev 694) +++ branches/ogsector/data/gui/schemes/opengate.scheme 2007-08-26 16:17:11 UTC (rev 695) @@ -1,6 +1,7 @@ <?xml version="1.0" ?> <GUIScheme Name="opengate"> <Imageset Name="opengate" Filename="opengate.imageset" /> + <Imageset Name="opengateCurser" Filename="cursor.imageset" /> <Imageset Name="opengateHUD" Filename="defaultHUD.imageset" /> <ImagesetFromImage Name="MainWindowTopLeft" Filename="mainTopLeft.tga" /> Modified: branches/ogsector/src/ConfigDialog.cpp =================================================================== --- branches/ogsector/src/ConfigDialog.cpp 2007-08-26 15:57:23 UTC (rev 694) +++ branches/ogsector/src/ConfigDialog.cpp 2007-08-26 16:17:11 UTC (rev 695) @@ -78,7 +78,6 @@ creditsListBox_->ensureItemIsVisible( creditsListBox_->getItemCount() ); file.close(); - } bool ConfigDialog::handleCreditsButton( const CEGUI::EventArgs & e ){ Modified: branches/ogsector/src/DockedState.cpp =================================================================== --- branches/ogsector/src/DockedState.cpp 2007-08-26 15:57:23 UTC (rev 694) +++ branches/ogsector/src/DockedState.cpp 2007-08-26 16:17:11 UTC (rev 695) @@ -53,6 +53,10 @@ overlayRootWindow_ = CEGUI::WindowManager::getSingleton().loadWindowLayout((CEGUI::utf8*)"opengateDocked.layout"); + cursorFrame_ = 1; + cursorMaxFrames_ = CEGUI::ImagesetManager::getSingleton().getImageset( "opengateCurser" )->getImageCount(); + lastCursorFrameTime_ = 0.0f; + Ogre::SceneNode * backgroundNode = sceneMgr_->getRootSceneNode()->createChildSceneNode( "Background" ); Ogre::ManualObject * background = sceneMgr_->createManualObject( "BackgroundObject" ); @@ -101,8 +105,7 @@ resources_->inputManager->addKeyListener( this, "DockedStateKeyListener" ); resources_->inputManager->addMouseListener( this, "DockedStateMouseListener" ); - resources_->guiSystem->setDefaultMouseCursor( (CEGUI::utf8*)"opengate", (CEGUI::utf8*)"MouseArrow" ); - CEGUI::MouseCursor::getSingleton().setImage( (CEGUI::utf8*)"opengate", (CEGUI::utf8*)"MouseArrow" ); + resources_->guiSystem->setDefaultMouseCursor( (CEGUI::utf8*)"opengateCurser", (CEGUI::utf8*)"Cursor1" ); Ogre::Viewport * vp = resources_->renderWindow->addViewport( sceneMgr_->getCamera( "StationCamera" ), 0, 0.0, 0.0, 1.0f, 1.0f ); vp->setBackgroundColour( Ogre::ColourValue( 0, 0, 0) ); @@ -133,6 +136,24 @@ bool DockedState::frameStarted( const Ogre::FrameEvent & evt ){ if ( shipConfigDialog_ ) shipConfigDialog_->update( evt.timeSinceLastFrame ); + + lastCursorFrameTime_ += evt.timeSinceLastFrame; + + // CEGUI::MouseCursor::getSingleton().setImage( (CEGUI::utf8*)"opengateCurser", (CEGUI::utf8*)"Cursor5" ); +// resources_->guiSystem->setDefaultMouseCursor( (CEGUI::utf8*)"opengate", (CEGUI::utf8*)"MouseArrow" ); +// CEGUI::MouseCursor::getSingleton().setImage( (CEGUI::utf8*)"opengate", (CEGUI::utf8*)"MouseArrow" ); + + if ( lastCursorFrameTime_ > 1.0/15.0 ){ + + cursorFrame_ =((cursorFrame_)%cursorMaxFrames_)+1; + std::string imageName( "Cursor" + toStr( cursorFrame_ ) ); + + if ( CEGUI::ImagesetManager::getSingleton().getImageset( "opengateCurser" )->isImageDefined( imageName ) ){ + resources_->guiSystem->setDefaultMouseCursor( (CEGUI::utf8*)"opengateCurser", imageName); + } + lastCursorFrameTime_ = 0.0; + } + return true; } Modified: branches/ogsector/src/DockedState.h =================================================================== --- branches/ogsector/src/DockedState.h 2007-08-26 15:57:23 UTC (rev 694) +++ branches/ogsector/src/DockedState.h 2007-08-26 16:17:11 UTC (rev 695) @@ -97,6 +97,10 @@ bool consoleMax_; bool exitToUndockedState_; bool quitAllStates_; + + int cursorMaxFrames_; + int cursorFrame_; + Ogre::Real lastCursorFrameTime_; }; } // namespace OpenGate Modified: branches/ogsector/src/SectorObjects.cpp =================================================================== --- branches/ogsector/src/SectorObjects.cpp 2007-08-26 15:57:23 UTC (rev 694) +++ branches/ogsector/src/SectorObjects.cpp 2007-08-26 16:17:11 UTC (rev 695) @@ -590,7 +590,7 @@ if ( shield_ < 0 ){ armor_ += shield_; shield_ = 0; - armor_ = max( 0, armor_); + armor_ = max( Uint32(0), armor_); } statusChanged_ = true; } @@ -609,7 +609,7 @@ } powerLine -= engineIn; - powerLine = max( 0, powerLine ); + powerLine = max( Uint32(0), powerLine ); Uint32 shieldIn = 0; if ( vessel_->shield() ){ @@ -621,7 +621,7 @@ } powerLine -= shieldIn; - powerLine = max( 0, powerLine ); + powerLine = max( Uint32(0), powerLine ); if ( vessel_->capacitor() ){ capacity_ += (Uint32)rint( (Ogre::Real)powerLine * vessel_->capacitor()->efficiency() * elapsedTime ); Modified: branches/ogsector/src/UnDockedState.cpp =================================================================== --- branches/ogsector/src/UnDockedState.cpp 2007-08-26 15:57:23 UTC (rev 694) +++ branches/ogsector/src/UnDockedState.cpp 2007-08-26 16:17:11 UTC (rev 695) @@ -130,8 +130,8 @@ targetShieldText_ = CEGUI::WindowManager::getSingleton().getWindow( "HUDTargetShieldText" ); targetArmorText_ = CEGUI::WindowManager::getSingleton().getWindow( "HUDTargetArmorText" ); - resources_->guiSystem->setDefaultMouseCursor( (CEGUI::utf8*)"opengate", (CEGUI::utf8*)"MouseArrow" ); - CEGUI::MouseCursor::getSingleton().setImage( (CEGUI::utf8*)"opengate", (CEGUI::utf8*)"MouseArrow" ); +// resources_->guiSystem->setDefaultMouseCursor( (CEGUI::utf8*)"opengate", (CEGUI::utf8*)"MouseArrow" ); +// CEGUI::MouseCursor::getSingleton().setImage( (CEGUI::utf8*)"opengate", (CEGUI::utf8*)"MouseArrow" ); flightCurser_ = CEGUI::WindowManager::getSingleton().getWindow( "HUDFlightCurser" ); flightCurserHalfWidth_ = 10; Modified: branches/ogsector/src/networkClient.cpp =================================================================== --- branches/ogsector/src/networkClient.cpp 2007-08-26 15:57:23 UTC (rev 694) +++ branches/ogsector/src/networkClient.cpp 2007-08-26 16:17:11 UTC (rev 695) @@ -57,7 +57,7 @@ if ( !error ){ log_->info( "Connected: waiting for userID. " ); online_ = true; - asio::async_read( socket_, asio::buffer( readMsg_.data(), Message::HeaderLength+MessageBodyUserID( 0 ).dataSize() ), + asio::async_read( socket_, asio::buffer( readMsg_.data(), Message::HeaderLength+MessageBodyUserID( Uint32(0) ).dataSize() ), boost::bind( & NetworkClient::handleReceiveUserID, this, asio::placeholders::error ) ); } else { log_->fatal( error.what() ); @@ -119,7 +119,7 @@ log_->fatal( std::string( "unknown MESSAGE_PROTO " ) + toStr( base.type() ) ); log_->fatal( "wait for userid " ); asio::async_read( socket_, asio::buffer( readMsg_.data(), - Message::HeaderLength+MessageBodyUserID( 0 ).dataSize() ), + Message::HeaderLength+MessageBodyUserID( Uint32(0) ).dataSize() ), boost::bind( & NetworkClient::handleReceiveUserID, this, asio::placeholders::error ) ); Modified: branches/ogsector/src/networkProtocol.h =================================================================== --- branches/ogsector/src/networkProtocol.h 2007-08-26 15:57:23 UTC (rev 694) +++ branches/ogsector/src/networkProtocol.h 2007-08-26 16:17:11 UTC (rev 695) @@ -567,6 +567,7 @@ int count = 0; readFromData( bodyLength_, data_, count ); if ( bodyLength_ > MaxBodyLength ) { + std::cerr << "Message::decodeHeader fails: " << bodyLength_ << " > " << MaxBodyLength << std::endl; bodyLength_ = 0; return false; } Modified: branches/ogsector/src/networkServer.cpp =================================================================== --- branches/ogsector/src/networkServer.cpp 2007-08-26 15:57:23 UTC (rev 694) +++ branches/ogsector/src/networkServer.cpp 2007-08-26 16:17:11 UTC (rev 695) @@ -109,6 +109,7 @@ void Server::disconnectUser( UserSession * user ){ std::string name( user->userName() ); log_->info( std::string( "DISCONNECTING: " ) + toStr( user->userID() ) + " " + name ); + userSessions_.erase( user ); if ( user->registered() ){ allUsers_.leave( user ); @@ -124,7 +125,7 @@ // delete user; log_->info( std::string( "DISCONNECTED: " ) + name ); - userSessions_.erase( user ); + delete user; } Modified: branches/ogsector/src/networkServerUser.cpp =================================================================== --- branches/ogsector/src/networkServerUser.cpp 2007-08-26 15:57:23 UTC (rev 694) +++ branches/ogsector/src/networkServerUser.cpp 2007-08-26 16:17:11 UTC (rev 695) @@ -72,7 +72,7 @@ bool write_in_progress = !writeMsgs_.empty(); writeMsgs_.push_back( Message( msg ) ); - // std::cout << "send.length() = " << writeMsgs_.front().length() << std::endl; + // std::cout << "send.length() = " << writeMsgs_.front().length() << std::endl; if ( ! write_in_progress && connected_ ) { asio::async_write( socket_, asio::buffer( writeMsgs_.front().data(), writeMsgs_.front().length() ), @@ -107,21 +107,23 @@ void UserSession::handleReadHeader( const asio::error & error ) { if ( !error && readMsg_.decodeHeader() ) { - // std::cout << "User::handle_read_header: " << readMsg_.length() << std::endl; - +// std::cout << "User::handle_read_header: " << readMsg_.length() << std::endl; +// std::cout << readMsg_.bodyLength() << std::endl; + asio::async_read( socket_, asio::buffer( readMsg_.body(), readMsg_.bodyLength() ), - boost::bind( & UserSession::handleReadBody, this, asio::placeholders::error ) ); + boost::bind( & UserSession::handleReadBody, this, asio::placeholders::error ) ); } else { + std::cerr << "UserSession::handleReadHeader: " << error.what() << std::endl; connected_ = false; server_->disconnectUser( this ); } } void UserSession::handleReadBody( const asio::error & error ) { - // std::cout << "User::handle_read_body: " << userID_ << std::endl; + // std::cout << "User::handle_read_body: " << userID_ << std::endl; if ( !error ) { MessageBodyBase base( readMsg_.body() ); - // std::cout << "Type: = " << (int)base.type() << std::endl; + // std::cout << "Type: = " << (int)base.type() << std::endl; switch( base.type() ){ case PROTO_USERNAME: { @@ -175,7 +177,8 @@ asio::async_read( socket_, asio::buffer( readMsg_.data(), Message::HeaderLength ), boost::bind( & UserSession::handleReadHeader, this, asio::placeholders::error ) ); } else { - LogManager::getSingleton().fatal( std::string( "Cannot read body: " ) + toStr( userID_ ) ); + LogManager::getSingleton().fatal( std::string( "Cannot read body: " ) + + toStr( userID_ ) + " " + error.what() ); // room_.leave( this ); } } Modified: trunk/data/stations/tauseti_wake.mesh =================================================================== (Binary files differ) Modified: trunk/data/stations/tauseti_wake_2.blend =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-09-01 23:00:08
|
Revision: 710 http://opengate.svn.sourceforge.net/opengate/?rev=710&view=rev Author: spom_spom Date: 2007-09-01 16:00:01 -0700 (Sat, 01 Sep 2007) Log Message: ----------- Soundsupport the 2nd. Modified Paths: -------------- branches/ogsector/configure.ac branches/ogsector/src/DockedState.cpp branches/ogsector/src/Makefile.in branches/ogsector/src/OpenALSoundManager.cpp branches/ogsector/src/OpenALSoundManager.h branches/ogsector/src/SectorObjects.cpp branches/ogsector/src/SectorObjects.h branches/ogsector/src/UnDockedState.cpp branches/ogsector/src/UnDockedState.h branches/ogsector/src/testopenalmanager.cpp trunk/data/sounds/guns/laser2.ogg Modified: branches/ogsector/configure.ac =================================================================== --- branches/ogsector/configure.ac 2007-09-01 18:53:37 UTC (rev 709) +++ branches/ogsector/configure.ac 2007-09-01 23:00:01 UTC (rev 710) @@ -51,6 +51,15 @@ AC_SUBST(AM_CXXFLAGS, "$AM_CXXFLAGS $freealut_CFLAGS") AC_SUBST(AM_LDFLAGS, "$AM_LDFLAGS $freealut_LIBS") +#vorbis - http://xiph.org/vorbis/ +PKG_CHECK_MODULES(vorbis, [vorbis >= 1.1.2]) +AC_SUBST(AM_CXXFLAGS, "$AM_CXXFLAGS $vorbis_CFLAGS") +AC_SUBST(AM_LDFLAGS, "$AM_LDFLAGS $vorbis_LIBS") + +PKG_CHECK_MODULES(vorbisfile, [vorbisfile >= 1.1.2]) +AC_SUBST(AM_CXXFLAGS, "$AM_CXXFLAGS $vorbisfile_CFLAGS") +AC_SUBST(AM_LDFLAGS, "$AM_LDFLAGS $vorbisfile_LIBS") + AC_SUBST([CXXFLAGS], ["${CXXFLAGS} -Wall -I$OGSECTOR_EXTERNALS_PATH/include"]) AC_SUBST([CXXFLAGS], ["${CXXFLAGS} -I$OGSECTOR_EXTERNALS_PATH/ogreopcode/include"]) AC_SUBST([CXXFLAGS], ["${CXXFLAGS} -I$OGSECTOR_EXTERNALS_PATH/ogreopcode/opcode132"]) Modified: branches/ogsector/src/DockedState.cpp =================================================================== --- branches/ogsector/src/DockedState.cpp 2007-09-01 18:53:37 UTC (rev 709) +++ branches/ogsector/src/DockedState.cpp 2007-09-01 23:00:01 UTC (rev 710) @@ -87,7 +87,7 @@ overlayRootWindow_->addChildWindow( marketDialog_->rootWindow() ); backgroundSound_ = resources_->soundManager->createSoundSourceFromRessource( "sounds/docked/defaultMusic", - "stationBackground", true); + "stationBackground", true, true); clickSound_ = resources_->soundManager->createSoundSourceFromRessource( "sounds/GUI/click", "GUI/click" ); setupEventHandlers(); Modified: branches/ogsector/src/Makefile.in =================================================================== --- branches/ogsector/src/Makefile.in 2007-09-01 18:53:37 UTC (rev 709) +++ branches/ogsector/src/Makefile.in 2007-09-01 23:00:01 UTC (rev 710) @@ -189,6 +189,10 @@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +vorbis_CFLAGS = @vorbis_CFLAGS@ +vorbis_LIBS = @vorbis_LIBS@ +vorbisfile_CFLAGS = @vorbisfile_CFLAGS@ +vorbisfile_LIBS = @vorbisfile_LIBS@ opengateclient_SOURCES = \ opengateclient.cpp \ common.h \ Modified: branches/ogsector/src/OpenALSoundManager.cpp =================================================================== --- branches/ogsector/src/OpenALSoundManager.cpp 2007-09-01 18:53:37 UTC (rev 709) +++ branches/ogsector/src/OpenALSoundManager.cpp 2007-09-01 23:00:01 UTC (rev 710) @@ -24,41 +24,130 @@ #include "OpenALSoundManager.h" #include <iostream> #include <cerrno> +#include <OgreRoot.h> +#include <AL/alut.h> + + +#define STREAM_BUFFER_SIZE (4096 * 100) + namespace OpenGate{ bool OpenALSoundSource::play(){ - int sourceAudioState = 0; - alGetError(); - - // Are we currently playing the audio source? - alGetSourcei( sourceID_, AL_SOURCE_STATE, &sourceAudioState ); - if ( soundMgr_->checkOpenALError( "OpenALSound::play::alGetSourcei" ) ) return false; - - if ( sourceAudioState == AL_PLAYING ) { - // if ( forceRestart ) stopAudio( sourceId ); else return false; - } - - alSourcePlay( sourceID_ ); + if ( isPlaying() ) return true; + + alSourcePlay( source_ ); if ( soundMgr_->checkOpenALError( "OpenALSound::play::alSourcePlay" ) ) return false; return true; } +bool OpenALSoundSource::isPlaying(){ + ALenum state; + alGetSourcei( source_, AL_SOURCE_STATE, &state ); + if ( soundMgr_->checkOpenALError( "OpenALSound::isPlaying::alGetSourcei" ) ) return false; + return ( state == AL_PLAYING ); +} + bool OpenALSoundSource::stop(){ alGetError(); - alSourceStop( sourceID_ ); + alSourceStop( source_ ); if ( soundMgr_->checkOpenALError( "OpenALSoundSource::stop::alSourceStop" ) ) return false; return true; } +bool OpenALSoundSource::open( const std::string & fileName ){ + alGenBuffers( 1, &buffer_ ); + if ( soundMgr_->checkOpenALError( "OpenALSoundSource::open::alGenBuffers" ) ) return false; + + format_ = 0x0000; + size_ = 0; + freq_ = 0.0; + // ALboolean loop; + std::vector< char > data; + + int result = 0; + + if ( fileName.rfind( ".ogg" ) != std::string::npos ){ + FILE *oggFile; // file handle + OggVorbis_File oggStream; + + if ( ! ( oggFile = fopen( fileName.c_str(), "rb") ) ){ + LogManager::getSingleton().warn( "Could not open Ogg file.: " + fileName ); + return false; + } + if ( ( result = ov_open( oggFile, &oggStream, NULL, 0) ) < 0 ){ + fclose( oggFile ); + LogManager::getSingleton().warn( "Could not open Ogg file.: " ); +// LogManager::getSingleton().warn( "Could not open Ogg file.: " + errorString_( result ) ); + return false; + } + + vorbis_info *vorbisInfo = ov_info( &oggStream, -1 ); + if ( vorbisInfo->channels == 1 ){ + format_ = AL_FORMAT_MONO16; + } else { + format_ = AL_FORMAT_STEREO16; + } + freq_ = vorbisInfo->rate; + + char buf[ 4096 ]; + int section; + while ( (result = ov_read( &oggStream, buf, sizeof( buf ), 0, 2, 1, §ion )) > 0 ){ + data.insert( data.end(), buf, buf + result ); + } + + ov_clear( &oggStream); + size_ = data.size(); + } else { + void *buf; + buf = alutLoadMemoryFromFile( fileName.c_str(), &format_, &size_, &freq_ ); + if ( !buf ){ + LogManager::getSingleton().warn( "Audio file: " + fileName + " : " + alutGetErrorString( alutGetError() ) ); + return false; + } + data.insert( data.end(), (char*)buf, (char*)buf + size_ ); + free( buf ); + } + + // Copy the audio data into the buffer; + alBufferData( buffer_, format_, &data[0], (ALsizei)data.size(), (int)freq_ ); + if ( soundMgr_->checkOpenALError( "OpenALSoundSource::open::alBufferData" ) ) return false; + + alGenSources( 1, &source_ ); + if ( soundMgr_->checkOpenALError( "OpenALSoundSource::open::alGenSources" ) ) return false; + + alSourcei( source_, AL_BUFFER, buffer_ ); + if ( soundMgr_->checkOpenALError( "OpenALSoundSource::open::alSourcei" ) ) return false; + +// if ( checkOpenALError( "OpenALSoundManager::createSound::alSourcei" ) ) return false; +// alSourcei( source_, AL_LOOPING, loop_ ); + + return true; +} + +bool OpenALSoundSource::release( ){ + stop(); + alSourcei( source_, AL_BUFFER, 0); + alDeleteSources( 1, &source_ ); + if ( soundMgr_->checkOpenALError( "OpenALSoundSource::release::alDeleteSources" ) ) return false; + alDeleteBuffers( 1, &buffer_ ); + if ( soundMgr_->checkOpenALError( "OpenALSoundSource::release::alDeleteBuffers" ) ) return false; + return true; +} + +void OpenALSoundSource::showInfos(){ + LogManager::getSingleton().info( "Audio info: " + name_ + " format: " + toStr( format_ ) + + " size: " + toStr( size_ ) + " freq: " + toStr( freq_ ) ); +} + bool OpenALSoundSource::setPosition( float x, float y, float z ){ return setPosition( Ogre::Vector3( x, y, z ) ); } bool OpenALSoundSource::setPosition( const Ogre::Vector3 & pos ){ position_ = pos; alGetError(); - alSourcefv( sourceID_, AL_POSITION, position_.ptr() ); + alSourcefv( source_, AL_POSITION, position_.ptr() ); if ( soundMgr_->checkOpenALError( "OpenALSoundSource::setPosition::alSourcefv:AL_POSITION" ) ) return false; return true; } @@ -66,7 +155,7 @@ bool OpenALSoundSource::setVelocity( float x, float y, float z ){ return setVelocity( Ogre::Vector3( x, y, z ) ); } bool OpenALSoundSource::setVelocity( const Ogre::Vector3 & vel){ velocity_ = vel; - alSourcefv( sourceID_, AL_VELOCITY, velocity_.ptr() ); + alSourcefv( source_, AL_VELOCITY, velocity_.ptr() ); if ( soundMgr_->checkOpenALError( "OpenALSoundSource::alSourcefv:AL_VELOCITY" ) ) return false; return true; } @@ -76,14 +165,172 @@ bool OpenALSoundSource::setDirection( const Ogre::Vector3 & dir ){ direction_ = dir; - alSourcefv( sourceID_, AL_DIRECTION, direction_.ptr() ); + alSourcefv( source_, AL_DIRECTION, direction_.ptr() ); if ( soundMgr_->checkOpenALError( "OpenALListener::alSourcefv::AL_ORIENTATION" ) ) return false; return true; } +OpenALOggStreamSource::OpenALOggStreamSource( OpenALSoundManager * soundMgr, const std::string & name) + : OpenALSoundSource( soundMgr, name ){ +} + +bool OpenALOggStreamSource::open( const std::string & fileName ){ + int result = 0; + + if ( ! ( oggFile_ = fopen( fileName.c_str(), "rb") ) ){ + LogManager::getSingleton().warn( "Could not open Ogg file.: " + fileName ); + return false; + } + + if ( ( result = ov_open( oggFile_, &oggStream_, NULL, 0) ) < 0 ){ + fclose( oggFile_ ); + LogManager::getSingleton().warn( "Could not open Ogg file.: " + errorString_( result ) ); + return false; + } + + vorbisInfo_ = ov_info( &oggStream_, -1 ); + vorbisComment_ = ov_comment( &oggStream_, -1 ); + + if ( vorbisInfo_->channels == 1 ){ + format_ = AL_FORMAT_MONO16; + } else { + format_ = AL_FORMAT_STEREO16; + } + + alGenBuffers( 2, buffers_ ); + if ( soundMgr_->checkOpenALError( "OpenALOggStreamSource::open::alGenBuffers" ) ) return false; + alGenSources( 1, & source_ ); + if ( soundMgr_->checkOpenALError( "OpenALOggStreamSource::open::alGenSources" ) ) return false; + + // Rolloff factor judges the strength of attenuation over distance. + // By setting it to 0 we will have turned it off. + // This means that no matter how far away the Listener is to the source of the Ogg they will still hear it. + // The same idea applies to source relativity. + + alSourcef(source_, AL_ROLLOFF_FACTOR, 0.0 ); + alSourcei(source_, AL_SOURCE_RELATIVE, AL_TRUE ); + return true; +} + +bool OpenALOggStreamSource::release(){ + alSourceStop( source_ ); + empty_(); + alDeleteSources(1, &source_ ); + if ( soundMgr_->checkOpenALError( "OpenALOggStreamSource::release::alDeleteSources" ) ) return false; + alDeleteBuffers(1, buffers_ ); + if ( soundMgr_->checkOpenALError( "OpenALOggStreamSource::release::alDeleteBuffers" ) ) return false; + ov_clear( &oggStream_); + return true; +} + +void OpenALOggStreamSource::showInfos(){ + std::cout << "version " << vorbisInfo_->version << "\n" + << "channels " << vorbisInfo_->channels << "\n" + << "rate (hz) " << vorbisInfo_->rate << "\n" + << "bitrate upper " << vorbisInfo_->bitrate_upper << "\n" + << "bitrate nominal " << vorbisInfo_->bitrate_nominal << "\n" + << "bitrate lower " << vorbisInfo_->bitrate_lower << "\n" + << "bitrate window " << vorbisInfo_->bitrate_window << "\n" + << "\n" + << "vendor " << vorbisComment_->vendor << "\n"; + + for ( int i = 0; i < vorbisComment_->comments; i++ ){ + std::cout << " " << vorbisComment_->user_comments[ i ] << "\n"; + } + + std::cout << std::endl; +} + +bool OpenALOggStreamSource::play(){ + if ( isPlaying() ) return true; + + std::cout << "OpenALOggStreamSource::play()" << std::endl; + if( !stream_( buffers_[ 0 ] ) ) return false; + std::cout << "OpenALOggStreamSource::stream1" << std::endl; + if( !stream_( buffers_[ 1 ] ) ) return false; + std::cout << "OpenALOggStreamSource::stream2" << std::endl; + + alSourceQueueBuffers( source_, 2, buffers_ ); + alSourcePlay( source_ ); + + return true; +} + +bool OpenALOggStreamSource::update(){ + int processed = 0; + bool active = true; + + alGetSourcei( source_, AL_BUFFERS_PROCESSED, &processed ); + + while( processed-- ){ + ALuint buffer; + + alSourceUnqueueBuffers( source_, 1, &buffer ); + if ( soundMgr_->checkOpenALError( "OpenALOggStreamSource::update::alSourceUnqueueBuffers" ) ) return false; + + active = stream_( buffer ); + alSourceQueueBuffers(source_, 1, &buffer ); + if ( soundMgr_->checkOpenALError( "OpenALOggStreamSource::update::alSourceQueueBuffers" ) ) return false; + } + + return active; +} + +std::string OpenALOggStreamSource::errorString_( int error ){ + switch( error ) { + case OV_EREAD: return "Read from media."; + case OV_ENOTVORBIS: return "Not Vorbis data."; + case OV_EVERSION: return "Vorbis version mismatch."; + case OV_EBADHEADER: return "Invalid Vorbis header."; + case OV_EFAULT: return "Internal logic fault (bug or heap/stack corruption."; + default: return "Unknown Ogg error."; + } +} + +bool OpenALOggStreamSource::stream_( uint buffer ){ + char data[ STREAM_BUFFER_SIZE ]; + int size = 0; + int section = 0; + int result = 0; + + while ( size < STREAM_BUFFER_SIZE ) { + result = ov_read( &oggStream_, data + size, STREAM_BUFFER_SIZE - size, 0, 2, 1, §ion); + + if ( result > 0 ){ + size += result; + } else { + if ( result < 0 ){ + LogManager::getSingleton().warn( "throw oggString(result);" + toStr( result ) ); + return false; + } else { + break; + } + } + } + + if ( size == 0 ) return false; + + alBufferData( buffer, format_, data, size, vorbisInfo_->rate ); + if ( soundMgr_->checkOpenALError( "OpenALOggStreamSource::stream_::alBufferData" ) ) return false; + + return true; +} + +bool OpenALOggStreamSource::empty_(){ + int queued = 0; + alGetSourcei( source_, AL_BUFFERS_QUEUED, &queued ); + while( queued-- ){ + uint buffer; + alSourceUnqueueBuffers( source_, 1, &buffer ); + if ( soundMgr_->checkOpenALError( "OpenALOggStreamSource::empty_::alSourceUnqueueBuffers" ) ) return false; + } + return true; +} + OpenALListener::OpenALListener( OpenALSoundManager * soundMgr ) : soundMgr_( soundMgr ){ reset(); } + OpenALListener::~OpenALListener(){} void OpenALListener::reset( ){ @@ -93,6 +340,7 @@ } bool OpenALListener::setPosition( float x, float y, float z ){ return setPosition( Ogre::Vector3( x, y, z ) ); } + bool OpenALListener::setPosition( const Ogre::Vector3 & pos){ position_ = pos; alListenerfv( AL_POSITION, position_.ptr() ); @@ -101,6 +349,7 @@ } bool OpenALListener::setVelocity( float x, float y, float z ){ return setVelocity( Ogre::Vector3( x, y, z ) ); } + bool OpenALListener::setVelocity( const Ogre::Vector3 & vel){ velocity_ = vel; alListenerfv( AL_VELOCITY, position_.ptr() ); @@ -124,7 +373,7 @@ template<> OpenALSoundManager * Ogre::Singleton< OpenALSoundManager >::ms_Singleton = 0; OpenALSoundManager::OpenALSoundManager( ){ - maxSources_ = 32; + maxSources_ = 128; listener_ = NULL; oggVorbisExtension_ = false; mp3Extension_ = false; @@ -133,9 +382,11 @@ haveSoundDevice_ = true; init(); + Ogre::Root::getSingleton().addFrameListener( this ); } OpenALSoundManager::~OpenALSoundManager(){ + Ogre::Root::getSingleton().removeFrameListener( this ); log_->info( "Shoutdown soundmanager." ); // alDeleteSources( maxSources_, audioSources_ ); // alDeleteBuffers( maxBuffers_, audioBuffers_ ); @@ -156,21 +407,29 @@ } +bool OpenALSoundManager::frameStarted( const Ogre::FrameEvent & evt ){ + for ( std::map< std::string, OpenALSoundSource * >::iterator it = mapSoundSources_.begin(); + it != mapSoundSources_.end(); it++){ + it->second->update(); + } + return true; +} + bool OpenALSoundManager::init(){ alutInit( 0, NULL ); if ( checkOpenALError( "init::alutInit" ) ) return false; log_->info( "Initialize Soundmanager ..." ); - if ( alIsExtensionPresent( "AL_EXT_vorbis" ) == AL_TRUE ){ - oggVorbisExtension_ = true; - } - if ( alIsExtensionPresent( "AL_EXT_mp3" ) == AL_TRUE ){ - mp3Extension_ = true; - } - if ( !alcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT") ){ - std::cerr << "No ALC_ENUMERATION_EXT support." << std::endl; - } +// if ( alIsExtensionPresent( "AL_EXT_vorbis" ) == AL_TRUE ){ +// oggVorbisExtension_ = true; +// } +// if ( alIsExtensionPresent( "AL_EXT_mp3" ) == AL_TRUE ){ +// mp3Extension_ = true; +// } +// if ( !alcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT") ){ +// std::cerr << "No ALC_ENUMERATION_EXT support." << std::endl; +// } // //** identify sound device, for some reason works no yet under linux // const ALCchar *deviceSpecifiers = alcGetString( NULL, ALC_DEVICE_SPECIFIER ); @@ -240,6 +499,7 @@ TiXmlDocument doc( fileName ); bool loadOkay = doc.LoadFile(); + if ( !loadOkay ); TiXmlHandle docHandle( & doc ); TiXmlElement * pElem; @@ -273,61 +533,39 @@ } } -OpenALSoundSource * OpenALSoundManager::createSoundSource( const std::string & fileName, const std::string & name, bool loop ){ +OpenALSoundSource * OpenALSoundManager::createSoundSource( const std::string & fileName, const std::string & name, + bool loop, bool stream ){ OpenALSoundSource * sound = NULL; if ( haveSoundDevice_ ){ if ( mapSoundSources_.count( name ) ){ log_->warn( "Sound with name: " + name + " allready registered." ); return NULL; + } + + if ( stream ){ + log_->info( "create sound stream: " + name ); + sound = new OpenALOggStreamSource( this, name ); } else { sound = new OpenALSoundSource( this, name ); - mapSoundSources_[ name ] = sound; } - uint * buffer = NULL; - if ( mapAudioBuffers_.count( name ) ){ - buffer = mapAudioBuffers_[ name ]; - } else { - buffer = new uint; - alGenBuffers( 1, buffer ); - mapAudioBuffers_[ name ] = buffer; - if ( checkOpenALError( "OpenALSoundManager::createSound::alGenBuffers" ) ) return false; - if ( ! loadAndAssignAudio( fileName, *buffer ) ) return NULL; - } - - alGenSources( 1, sound->refSound() ); - if ( checkOpenALError( "OpenALSoundManager::createSound::alGenSources" ) ) return false; - - alSourcei( *sound->refSound(), AL_BUFFER, *buffer ); - if ( checkOpenALError( "OpenALSoundManager::createSound::alSourcei" ) ) return false; - alSourcei( *sound->refSound(), AL_LOOPING, loop ); + sound->open( fileName ); + sound->showInfos( ); + mapSoundSources_[ name ] = sound; } - return sound; } OpenALSoundSource * OpenALSoundManager::createSoundSourceFromRessource( const std::string & ressourceName, - const std::string & name, bool loop ){ - return createSoundSource( soundFileName( ressourceName ), name, loop ); + const std::string & name, + bool loop, bool stream ){ + return createSoundSource( soundFileName( ressourceName ), name, loop, stream ); } void OpenALSoundManager::destroySoundSource( OpenALSoundSource * sound ){ if ( sound ){ - sound->stop(); - alSourcei(*sound->refSound(), AL_BUFFER, 0); - alDeleteSources(1, sound->refSound() ); - checkOpenALError( "OpenALSoundManager::destroySoundSource::alDeleteSources" ); - - uint * bufferID = mapAudioBuffers_[ sound->name() ] ; - alDeleteBuffers( 1, bufferID ); - checkOpenALError( "OpenALSoundManager::destroySoundSource::alDeleteBuffers" ); - - mapAudioBuffers_.erase( sound->name() ); - delete bufferID; - - mapSoundSources_.erase( sound->name() ); - delete sound; + sound->release(); } } @@ -339,23 +577,12 @@ } } -void OpenALSoundManager::listAvailableExtensions( std::ostream & str ){ - log_->info( "Sound extensions available: " ); - if ( oggVorbisExtension_ ){ - log_->info( "\t OggVorbis extension available: TRUE" ); - } else log_->info( "\t OggVorbis extension available: FAIL" ); - - if ( mp3Extension_ == AL_TRUE ){ - log_->info( "\t mp3 extension available: TRUE" ); - } else log_->info( "\t mp3 extension available: FAIL" ); -} - bool OpenALSoundManager::checkOpenAlutError( const std::string & str ){ ALenum error = alGetError(); if ( error == AL_NO_ERROR ) return false; log_->warn( "Error: " + str + " " + toStr( error ) + - "Al: " + alGetErrorString( error ) + - "Alut: " + alutGetErrorString( error ) ); + "Al: " + alGetErrorString( error ) + + "Alut: " + alutGetErrorString( error ) ); return true; } @@ -387,61 +614,7 @@ return "unknown"; } -bool OpenALSoundManager::loadAndAssignAudio( const std::string & filename, uint buffer ){ - alutGetError(); - - ALenum format = 0x0000; - ALsizei size = 0; - ALfloat freq = 0.0; - // ALboolean loop; - ALvoid* data = NULL; - - if ( filename.rfind( ".ogg" ) != std::string::npos ){ - // AL_FORMAT_VORBIS_EXT = 0x10003; - format = 0x10003; - if ( !oggVorbisExtension_ ){ - log_->warn( "Ogg extension in filename but no OggVorbis not supported" ); - return false; - } else { - - FILE *file = fopen ( filename.c_str(), "rb" ); - if ( !file ) { - log_->warn( filename + ": " + strerror( errno ) ); - return false; - } - - struct stat sbuf; - if ( stat( filename.c_str(), &sbuf) != -1 ) { - size = sbuf.st_size; - data = malloc( size ); - } - - fread( data, 1, (size), file ); - } - } else { //** no oggVorbis using alut to determine audio type automically; - - data = alutLoadMemoryFromFile(filename.c_str(), &format, &size, &freq); - if ( !data ){ - log_->warn( "Audio file: " + filename + " : " + alutGetErrorString( alutGetError() ) ); - return false; - } else { - log_->info( "Audio info: " + filename + " format: " + toStr( format ) + - " size: " + toStr( size ) + " freq: " + toStr( freq ) ); - } - } - - // Copy the audio data into the buffer - alBufferData( buffer, format, data, size, (int)freq ); - if ( checkOpenALError( "loadAndAssignWAV::alBufferData" ) ){ - return false; - } - - free( data ); - - return true; -} - int OpenALSoundManager::getMaxSources_(){ uint source; std::vector< uint> sources; Modified: branches/ogsector/src/OpenALSoundManager.h =================================================================== --- branches/ogsector/src/OpenALSoundManager.h 2007-09-01 18:53:37 UTC (rev 709) +++ branches/ogsector/src/OpenALSoundManager.h 2007-09-01 23:00:01 UTC (rev 710) @@ -27,8 +27,12 @@ #include <OgreVector3.h> #include <OgreSingleton.h> +#include <OgreFrameListener.h> -#include <AL/alut.h> +#include <ogg/ogg.h> +#include <vorbis/codec.h> +#include <vorbis/vorbisenc.h> +#include <vorbis/vorbisfile.h> namespace OpenGate { @@ -40,11 +44,27 @@ OpenALSoundSource( OpenALSoundManager * soundMgr, const std::string & name ) : soundMgr_( soundMgr ), name_( name ){ position_ = Ogre::Vector3::ZERO; } - ~OpenALSoundSource(){} + virtual ~OpenALSoundSource(){} - bool play(); - bool stop(); + virtual bool play(); + virtual bool stop(); + + //** close the file handle and remove buffers + virtual bool release(); + + //** obtain a handle to the file + virtual bool open( const std::string & fileName ); + + virtual void showInfos(); + + virtual bool update(){ + return true; + } + + //** check if the source is playing + bool isPlaying(); + bool setPosition( float x, float y, float z ); bool setPosition( const Ogre::Vector3 & pos ); @@ -54,7 +74,7 @@ bool setDirection( float x, float y, float z ); bool setDirection( const Ogre::Vector3 & dir); - uint * refSound( ){ return &sourceID_; } + uint * refSound( ){ return &source_; } std::string name () const { return name_; } @@ -65,10 +85,56 @@ Ogre::Vector3 position_; Ogre::Vector3 velocity_; Ogre::Vector3 direction_; - uint sourceID_; + uint source_; + uint buffer_; + + int format_; + int size_; + float freq_; + }; +//! Based on: http://www.devmaster.net/articles/openal-tutorials/lesson8.php +class OpenALOggStreamSource : public OpenALSoundSource { +public: + OpenALOggStreamSource( OpenALSoundManager * soundMgr, const std::string & name); + + virtual ~OpenALOggStreamSource(){} + //** play the Ogg stream + virtual bool play(); + + //** obtain a handle to the file + virtual bool open( const std::string & fileName ); + + //** close the file handle and remove buffers + virtual bool release(); + + //** display some info on the Ogg + virtual void showInfos(); + + //** update the stream if necessary + bool update(); + +protected: + //** reloads a buffer + bool stream_( uint buffer ); + + //** empties the queue + bool empty_(); + + //** stringify an error code + std::string errorString_( int error ); + + FILE * oggFile_; // file handle + OggVorbis_File oggStream_; // stream handle + vorbis_info * vorbisInfo_; // some formatting data + vorbis_comment * vorbisComment_; // user comments + + uint buffers_[ 2 ]; // front and back buffers +}; + + /*! OpenALListener, there is just one. YOU! respectivly your avatar. */ class OpenALListener{ public: @@ -103,37 +169,37 @@ * \author Carsten <spo...@us...> */ -class OpenALSoundManager : public Ogre::Singleton< OpenALSoundManager >{ +class OpenALSoundManager : public Ogre::FrameListener, public Ogre::Singleton< OpenALSoundManager >{ public: OpenALSoundManager( ); - ~OpenALSoundManager(); + virtual ~OpenALSoundManager(); + virtual bool frameStarted( const Ogre::FrameEvent & evt ); + bool init(); void loadRessourceNames( const std::string & fileName ); - OpenALSoundSource * createSoundSource( const std::string & fileName, const std::string & name, bool loop = false ); + OpenALSoundSource * createSoundSource( const std::string & fileName, const std::string & name, + bool loop = false, bool stream = false ); OpenALSoundSource * createSoundSourceFromRessource( const std::string & ressourceName, - const std::string & name, bool loop = false ); + const std::string & name, + bool loop = false, bool stream = false ); void destroySoundSource( OpenALSoundSource * sound ); void destroySoundSource( const std::string & name ); - void listAvailableExtensions( std::ostream & str = std::cout ); - bool checkOpenAlutError( const std::string & str ); bool checkOpenALError( const std::string & str ); std::string alGetErrorString( int error ) const; - bool loadAndAssignAudio( const std::string & filename, uint buffer ); - inline OpenALListener * listener( ) { return listener_; } inline OpenALListener listener( ) const { return *listener_; } @@ -155,7 +221,6 @@ uint maxSources_; OpenALListener * listener_; - std::map < std::string, uint * > mapAudioBuffers_; std::map < std::string, OpenALSoundSource * > mapSoundSources_; std::map < std::string, std::string > mapSounds_; Modified: branches/ogsector/src/SectorObjects.cpp =================================================================== --- branches/ogsector/src/SectorObjects.cpp 2007-09-01 18:53:37 UTC (rev 709) +++ branches/ogsector/src/SectorObjects.cpp 2007-09-01 23:00:01 UTC (rev 710) @@ -801,14 +801,9 @@ if ( OpenALSoundManager::getSingleton().listener() ){ soundListener_ = OpenALSoundManager::getSingleton().listener(); } - soundBackround_ = OpenALSoundManager::getSingleton().createSoundSourceFromRessource( "sounds/undocked/defaultMusic", - name + "/Sound/Background/", true); - if ( soundBackround_ ) soundBackround_->play(); } SectorObjectAvatar::~SectorObjectAvatar(){ - OpenALSoundManager::getSingleton().destroySoundSource( soundBackround_ ); - if ( flightArrowNode_ ){ sceneMgr_->destroyEntity( name_ + "_FlightArrow_entity" ); flightArrowNode_->removeAndDestroyChild( name_ + "_FlightArrow_trans" ); @@ -845,7 +840,6 @@ soundListener_->setOrientation( mainNode_->getWorldOrientation().zAxis(), mainNode_->getWorldOrientation().yAxis() ); } - if ( soundBackround_ ) soundBackround_->setPosition( mainNode_->getWorldPosition() ); return SectorObjectMoveableLocal::update( elapsedTime ); } Modified: branches/ogsector/src/SectorObjects.h =================================================================== --- branches/ogsector/src/SectorObjects.h 2007-09-01 18:53:37 UTC (rev 709) +++ branches/ogsector/src/SectorObjects.h 2007-09-01 23:00:01 UTC (rev 710) @@ -473,7 +473,6 @@ Ogre::SceneNode * lightNode_; OpenALListener * soundListener_; - OpenALSoundSource * soundBackround_; }; } //namespace OpenGate Modified: branches/ogsector/src/UnDockedState.cpp =================================================================== --- branches/ogsector/src/UnDockedState.cpp 2007-09-01 18:53:37 UTC (rev 709) +++ branches/ogsector/src/UnDockedState.cpp 2007-09-01 23:00:01 UTC (rev 710) @@ -45,6 +45,7 @@ consoleMax_ = false; configMode_ = false; overlayRootWindow_ = NULL; + soundBackround_ = NULL; } void UnDockedState::createContent( ){ @@ -136,15 +137,19 @@ flightCursor_ = CEGUI::WindowManager::getSingleton().getWindow( "HUDFlightCursor" ); flightCursorHalfWidth_ = 10; flightCursorHalfHeight_ = 10; - + soundBackround_ = OpenALSoundManager::getSingleton().createSoundSourceFromRessource( "sounds/undocked/defaultMusic", + "sectorBackground", + true, true ); } void UnDockedState::destroyContent( ){ + OpenALSoundManager::getSingleton().destroySoundSource( soundBackround_ ); sceneMgr_->destroyAllCameras(); if ( overlayRootWindow_ ) CEGUI::WindowManager::getSingleton().destroyWindow( overlayRootWindow_ ); } void UnDockedState::enter(){ + if ( soundBackround_ ) soundBackround_->play(); log_->info("Entering undockstate"); try{ sector_ = new Sector( sceneMgr_, network_ ); @@ -285,6 +290,7 @@ } void UnDockedState::exit(){ + if ( soundBackround_ ) soundBackround_->stop(); log_->info("Exiting undockstate"); // std::cout << "start: " << dumpSceneNodes( sceneMgr_->getRootSceneNode() ) << std::endl; Modified: branches/ogsector/src/UnDockedState.h =================================================================== --- branches/ogsector/src/UnDockedState.h 2007-09-01 18:53:37 UTC (rev 709) +++ branches/ogsector/src/UnDockedState.h 2007-09-01 23:00:01 UTC (rev 710) @@ -213,6 +213,8 @@ int ambientLight_; int schemeIdx_; + + OpenALSoundSource * soundBackround_; }; }; Modified: branches/ogsector/src/testopenalmanager.cpp =================================================================== --- branches/ogsector/src/testopenalmanager.cpp 2007-09-01 18:53:37 UTC (rev 709) +++ branches/ogsector/src/testopenalmanager.cpp 2007-09-01 23:00:01 UTC (rev 710) @@ -20,6 +20,7 @@ #include "OpenALSoundManager.h" #include "LogManager.h" +#include <OgreRoot.h> #include "common.h" #include <iostream> @@ -28,10 +29,34 @@ OpenGate::LogManager log; std::cout << "Simple Sound Manager test application!" << std::endl; + Ogre::Root root; OpenGate::OpenALSoundManager * soundMgr = new OpenGate::OpenALSoundManager( ); + OpenGate::OpenALSoundSource * oggStream = soundMgr->createSoundSource( "../../trunk/data/sounds/sectors/tauseti/Simon_Mahler_-_HipDaHop.ogg", "testogg", false, true ); + + OpenGate::OpenALSoundSource * sound1 = soundMgr->createSoundSource( "data/sounds/test.wav", "test wav sound1" ); + sound1->play(); + sleep(1); + + OpenGate::OpenALSoundSource * oggClick = soundMgr->createSoundSource( "../../trunk/data/sounds/GUI/click.ogg", "ogg-click" ); + oggClick->play(); + sleep(2); +// ogg->play(); + +// while ( ogg->update() ) { +// if ( !ogg->isPlaying() ){ +// if ( !ogg->play() ) { +// std::cout << "Ogg abruptly stopped." <<std::endl; +// exit(1); +// } else { +// std::cout << "Ogg stream was interrupted.\n" << std::endl; +// } +// } +// } - soundMgr->listAvailableExtensions(); - + sound1->play(); + sleep(1); + oggClick->play(); + sleep(2); std::vector < OpenGate::OpenALSoundSource * > multSounds; for ( int i = 0; i < 2; i ++ ){ multSounds.push_back( soundMgr->createSoundSource( "data/sounds/test.wav", "mult" + toStr( i ), true ) ); @@ -46,14 +71,8 @@ soundMgr->destroySoundSource( multSounds[ i ] ); } - - OpenGate::OpenALSoundSource * sound1 = soundMgr->createSoundSource( "data/sounds/test.wav", "testsound1" ); OpenGate::OpenALSoundSource * sound2 = soundMgr->createSoundSource( "data/sounds/noo.wav", "testsound2", true ); - OpenGate::OpenALSoundSource * sound3 = soundMgr->createSoundSource( "click.wav", "testsound2" ); - OpenGate::OpenALSoundSource * sound4 = soundMgr->createSoundSource( "human-hit-5.ogg", "testsound4" ); - OpenGate::OpenALSoundSource * sound5 = soundMgr->createSoundSource( "test.ogg", "testsound5" ); - - sound5->play(); + std::cout << "Source played centre" << std::endl; sound1->play(); sleep( 1 ); Modified: trunk/data/sounds/guns/laser2.ogg =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eg...@us...> - 2007-09-20 20:33:38
|
Revision: 743 http://opengate.svn.sourceforge.net/opengate/?rev=743&view=rev Author: egore Date: 2007-09-20 13:33:41 -0700 (Thu, 20 Sep 2007) Log Message: ----------- Preparing to move branch ogsector into trunk by archiving current trunk Added Paths: ----------- branches/cegui-test.tar.bz2 Removed Paths: ------------- trunk/current/ Added: branches/cegui-test.tar.bz2 =================================================================== (Binary files differ) Property changes on: branches/cegui-test.tar.bz2 ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eg...@us...> - 2007-09-22 21:02:39
|
Revision: 762 http://opengate.svn.sourceforge.net/opengate/?rev=762&view=rev Author: egore Date: 2007-09-22 14:02:43 -0700 (Sat, 22 Sep 2007) Log Message: ----------- romve remains Added Paths: ----------- trunk/.svnignore Removed Paths: ------------- branches/ogsector/ Copied: trunk/.svnignore (from rev 759, branches/ogsector/.svnignore) =================================================================== --- trunk/.svnignore (rev 0) +++ trunk/.svnignore 2007-09-22 21:02:43 UTC (rev 762) @@ -0,0 +1,40 @@ +.anjuta +.tm_project* +.libs +.deps +.libs +.*swp +.nautilus-metafile.xml +*.autosave +*.pws +*.bak +*~ +#*# +*.gladep +*.la +*.lo +*.log +*.o +*.class +*.pyc +aclocal.m4 +autom4te.cache +config.h +config.h.in +config.log +config.status +configure +intltool-extract* +intltool-merge* +intltool-modules* +intltool-update* +libtool +prepare.sh +stamp-h* +ltmain.sh +mkinstalldirs +opengate.depend +config.guess +config.sub +Makefile +Makefile.in This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-09-27 20:21:03
|
Revision: 807 http://opengate.svn.sourceforge.net/opengate/?rev=807&view=rev Author: ultrasick Date: 2007-09-27 13:21:04 -0700 (Thu, 27 Sep 2007) Log Message: ----------- I am not sure what the jumpgate.svg file is for but it seams to be at the wrong place + removing the *.mesh.xml file Added Paths: ----------- templates/misc/jumpgate.svg Removed Paths: ------------- trunk/data/misc/jumpgate.mesh.xml trunk/data/misc/jumpgate.svg Added: templates/misc/jumpgate.svg =================================================================== (Binary files differ) Property changes on: templates/misc/jumpgate.svg ___________________________________________________________________ Name: svn:mime-type + image/svg+xml Name: svn:eol-style + native Deleted: trunk/data/misc/jumpgate.mesh.xml =================================================================== --- trunk/data/misc/jumpgate.mesh.xml 2007-09-27 20:19:00 UTC (rev 806) +++ trunk/data/misc/jumpgate.mesh.xml 2007-09-27 20:21:04 UTC (rev 807) @@ -1,3648 +0,0 @@ -<mesh> - <submeshes> - <submesh material="jumpgate" usesharedvertices="false"> - <faces count="306"> - <face v1="0" v2="1" v3="2"/> - <face v1="3" v2="4" v3="5"/> - <face v1="6" v2="7" v3="8"/> - <face v1="9" v2="10" v3="11"/> - <face v1="9" v2="11" v3="12"/> - <face v1="13" v2="14" v3="15"/> - <face v1="13" v2="15" v3="16"/> - <face v1="17" v2="18" v3="19"/> - <face v1="17" v2="19" v3="20"/> - <face v1="21" v2="22" v3="24"/> - <face v1="22" v2="23" v3="24"/> - <face v1="25" v2="26" v3="28"/> - <face v1="26" v2="27" v3="28"/> - <face v1="29" v2="30" v3="32"/> - <face v1="30" v2="31" v3="32"/> - <face v1="33" v2="34" v3="35"/> - <face v1="33" v2="35" v3="36"/> - <face v1="37" v2="38" v3="39"/> - <face v1="37" v2="39" v3="40"/> - <face v1="41" v2="42" v3="43"/> - <face v1="41" v2="43" v3="44"/> - <face v1="45" v2="46" v3="48"/> - <face v1="46" v2="47" v3="48"/> - <face v1="49" v2="50" v3="52"/> - <face v1="50" v2="51" v3="52"/> - <face v1="53" v2="54" v3="56"/> - <face v1="54" v2="55" v3="56"/> - <face v1="57" v2="58" v3="60"/> - <face v1="58" v2="59" v3="60"/> - <face v1="61" v2="62" v3="64"/> - <face v1="62" v2="63" v3="64"/> - <face v1="65" v2="66" v3="68"/> - <face v1="66" v2="67" v3="68"/> - <face v1="69" v2="70" v3="71"/> - <face v1="69" v2="71" v3="72"/> - <face v1="73" v2="74" v3="75"/> - <face v1="73" v2="75" v3="76"/> - <face v1="77" v2="78" v3="79"/> - <face v1="77" v2="79" v3="80"/> - <face v1="81" v2="82" v3="83"/> - <face v1="84" v2="85" v3="86"/> - <face v1="87" v2="88" v3="89"/> - <face v1="90" v2="91" v3="92"/> - <face v1="90" v2="92" v3="93"/> - <face v1="94" v2="95" v3="96"/> - <face v1="94" v2="96" v3="97"/> - <face v1="98" v2="99" v3="101"/> - <face v1="99" v2="100" v3="101"/> - <face v1="102" v2="103" v3="105"/> - <face v1="103" v2="104" v3="105"/> - <face v1="106" v2="107" v3="109"/> - <face v1="107" v2="108" v3="109"/> - <face v1="110" v2="111" v3="113"/> - <face v1="111" v2="112" v3="113"/> - <face v1="114" v2="115" v3="116"/> - <face v1="114" v2="116" v3="117"/> - <face v1="118" v2="119" v3="120"/> - <face v1="118" v2="120" v3="121"/> - <face v1="122" v2="123" v3="124"/> - <face v1="122" v2="124" v3="125"/> - <face v1="126" v2="127" v3="129"/> - <face v1="127" v2="128" v3="129"/> - <face v1="130" v2="131" v3="133"/> - <face v1="131" v2="132" v3="133"/> - <face v1="134" v2="135" v3="137"/> - <face v1="135" v2="136" v3="137"/> - <face v1="138" v2="139" v3="140"/> - <face v1="138" v2="140" v3="141"/> - <face v1="142" v2="143" v3="144"/> - <face v1="142" v2="144" v3="145"/> - <face v1="146" v2="147" v3="148"/> - <face v1="146" v2="148" v3="149"/> - <face v1="150" v2="151" v3="153"/> - <face v1="151" v2="152" v3="153"/> - <face v1="154" v2="155" v3="157"/> - <face v1="155" v2="156" v3="157"/> - <face v1="158" v2="159" v3="161"/> - <face v1="159" v2="160" v3="161"/> - <face v1="162" v2="163" v3="164"/> - <face v1="162" v2="164" v3="165"/> - <face v1="166" v2="167" v3="168"/> - <face v1="166" v2="168" v3="169"/> - <face v1="170" v2="171" v3="172"/> - <face v1="170" v2="172" v3="173"/> - <face v1="174" v2="175" v3="177"/> - <face v1="175" v2="176" v3="177"/> - <face v1="178" v2="179" v3="180"/> - <face v1="178" v2="180" v3="181"/> - <face v1="182" v2="183" v3="184"/> - <face v1="182" v2="184" v3="185"/> - <face v1="186" v2="187" v3="189"/> - <face v1="187" v2="188" v3="189"/> - <face v1="190" v2="191" v3="192"/> - <face v1="190" v2="192" v3="193"/> - <face v1="194" v2="195" v3="196"/> - <face v1="194" v2="196" v3="197"/> - <face v1="198" v2="199" v3="201"/> - <face v1="199" v2="200" v3="201"/> - <face v1="202" v2="203" v3="205"/> - <face v1="203" v2="204" v3="205"/> - <face v1="206" v2="207" v3="209"/> - <face v1="207" v2="208" v3="209"/> - <face v1="210" v2="211" v3="212"/> - <face v1="213" v2="214" v3="215"/> - <face v1="216" v2="217" v3="218"/> - <face v1="219" v2="220" v3="221"/> - <face v1="222" v2="223" v3="224"/> - <face v1="225" v2="226" v3="227"/> - <face v1="228" v2="229" v3="230"/> - <face v1="228" v2="230" v3="231"/> - <face v1="232" v2="233" v3="235"/> - <face v1="233" v2="234" v3="235"/> - <face v1="236" v2="237" v3="238"/> - <face v1="236" v2="238" v3="239"/> - <face v1="240" v2="241" v3="242"/> - <face v1="243" v2="244" v3="245"/> - <face v1="246" v2="247" v3="248"/> - <face v1="249" v2="250" v3="251"/> - <face v1="252" v2="253" v3="254"/> - <face v1="255" v2="256" v3="257"/> - <face v1="258" v2="259" v3="260"/> - <face v1="258" v2="260" v3="261"/> - <face v1="262" v2="263" v3="264"/> - <face v1="262" v2="264" v3="265"/> - <face v1="266" v2="267" v3="268"/> - <face v1="266" v2="268" v3="269"/> - <face v1="270" v2="271" v3="272"/> - <face v1="273" v2="274" v3="275"/> - <face v1="276" v2="277" v3="278"/> - <face v1="279" v2="280" v3="281"/> - <face v1="282" v2="283" v3="284"/> - <face v1="285" v2="286" v3="287"/> - <face v1="288" v2="289" v3="291"/> - <face v1="289" v2="290" v3="291"/> - <face v1="292" v2="293" v3="295"/> - <face v1="293" v2="294" v3="295"/> - <face v1="296" v2="297" v3="299"/> - <face v1="297" v2="298" v3="299"/> - <face v1="300" v2="301" v3="302"/> - <face v1="303" v2="304" v3="305"/> - <face v1="306" v2="307" v3="308"/> - <face v1="309" v2="310" v3="311"/> - <face v1="312" v2="313" v3="314"/> - <face v1="315" v2="316" v3="317"/> - <face v1="318" v2="319" v3="320"/> - <face v1="318" v2="320" v3="321"/> - <face v1="322" v2="323" v3="324"/> - <face v1="322" v2="324" v3="325"/> - <face v1="326" v2="327" v3="328"/> - <face v1="326" v2="328" v3="329"/> - <face v1="330" v2="331" v3="333"/> - <face v1="331" v2="332" v3="333"/> - <face v1="334" v2="335" v3="337"/> - <face v1="335" v2="336" v3="337"/> - <face v1="338" v2="339" v3="341"/> - <face v1="339" v2="340" v3="341"/> - <face v1="342" v2="343" v3="345"/> - <face v1="343" v2="344" v3="345"/> - <face v1="346" v2="347" v3="349"/> - <face v1="347" v2="348" v3="349"/> - <face v1="350" v2="351" v3="353"/> - <face v1="351" v2="352" v3="353"/> - <face v1="354" v2="355" v3="357"/> - <face v1="355" v2="356" v3="357"/> - <face v1="358" v2="359" v3="361"/> - <face v1="359" v2="360" v3="361"/> - <face v1="362" v2="363" v3="365"/> - <face v1="363" v2="364" v3="365"/> - <face v1="366" v2="367" v3="369"/> - <face v1="367" v2="368" v3="369"/> - <face v1="370" v2="371" v3="372"/> - <face v1="370" v2="372" v3="373"/> - <face v1="374" v2="375" v3="376"/> - <face v1="374" v2="376" v3="377"/> - <face v1="378" v2="379" v3="380"/> - <face v1="378" v2="380" v3="381"/> - <face v1="382" v2="383" v3="384"/> - <face v1="382" v2="384" v3="385"/> - <face v1="386" v2="387" v3="388"/> - <face v1="386" v2="388" v3="389"/> - <face v1="390" v2="391" v3="392"/> - <face v1="390" v2="392" v3="393"/> - <face v1="394" v2="395" v3="396"/> - <face v1="394" v2="396" v3="397"/> - <face v1="398" v2="399" v3="400"/> - <face v1="398" v2="400" v3="401"/> - <face v1="402" v2="403" v3="404"/> - <face v1="402" v2="404" v3="405"/> - <face v1="406" v2="407" v3="408"/> - <face v1="406" v2="408" v3="409"/> - <face v1="410" v2="411" v3="412"/> - <face v1="410" v2="412" v3="413"/> - <face v1="414" v2="415" v3="417"/> - <face v1="415" v2="416" v3="417"/> - <face v1="418" v2="419" v3="421"/> - <face v1="419" v2="420" v3="421"/> - <face v1="422" v2="423" v3="425"/> - <face v1="423" v2="424" v3="425"/> - <face v1="426" v2="427" v3="429"/> - <face v1="427" v2="428" v3="429"/> - <face v1="430" v2="431" v3="433"/> - <face v1="431" v2="432" v3="433"/> - <face v1="434" v2="435" v3="437"/> - <face v1="435" v2="436" v3="437"/> - <face v1="438" v2="439" v3="441"/> - <face v1="439" v2="440" v3="441"/> - <face v1="442" v2="443" v3="445"/> - <face v1="443" v2="444" v3="445"/> - <face v1="446" v2="447" v3="449"/> - <face v1="447" v2="448" v3="449"/> - <face v1="450" v2="451" v3="452"/> - <face v1="450" v2="452" v3="453"/> - <face v1="454" v2="455" v3="456"/> - <face v1="454" v2="456" v3="457"/> - <face v1="458" v2="459" v3="460"/> - <face v1="458" v2="460" v3="461"/> - <face v1="462" v2="463" v3="464"/> - <face v1="462" v2="464" v3="465"/> - <face v1="466" v2="467" v3="468"/> - <face v1="466" v2="468" v3="469"/> - <face v1="470" v2="471" v3="472"/> - <face v1="470" v2="472" v3="473"/> - <face v1="474" v2="475" v3="476"/> - <face v1="477" v2="478" v3="479"/> - <face v1="480" v2="481" v3="482"/> - <face v1="483" v2="484" v3="485"/> - <face v1="486" v2="487" v3="488"/> - <face v1="489" v2="490" v3="491"/> - <face v1="492" v2="493" v3="495"/> - <face v1="493" v2="494" v3="495"/> - <face v1="496" v2="497" v3="499"/> - <face v1="497" v2="498" v3="499"/> - <face v1="500" v2="501" v3="503"/> - <face v1="501" v2="502" v3="503"/> - <face v1="504" v2="505" v3="506"/> - <face v1="507" v2="508" v3="509"/> - <face v1="510" v2="511" v3="512"/> - <face v1="513" v2="514" v3="515"/> - <face v1="516" v2="517" v3="518"/> - <face v1="519" v2="520" v3="521"/> - <face v1="522" v2="523" v3="525"/> - <face v1="523" v2="524" v3="525"/> - <face v1="526" v2="527" v3="529"/> - <face v1="527" v2="528" v3="529"/> - <face v1="530" v2="531" v3="533"/> - <face v1="531" v2="532" v3="533"/> - <face v1="534" v2="535" v3="537"/> - <face v1="535" v2="536" v3="537"/> - <face v1="538" v2="539" v3="541"/> - <face v1="539" v2="540" v3="541"/> - <face v1="542" v2="543" v3="545"/> - <face v1="543" v2="544" v3="545"/> - <face v1="546" v2="547" v3="548"/> - <face v1="546" v2="548" v3="549"/> - <face v1="550" v2="551" v3="552"/> - <face v1="550" v2="552" v3="553"/> - <face v1="554" v2="555" v3="556"/> - <face v1="554" v2="556" v3="557"/> - <face v1="558" v2="559" v3="561"/> - <face v1="559" v2="560" v3="561"/> - <face v1="562" v2="563" v3="565"/> - <face v1="563" v2="564" v3="565"/> - <face v1="566" v2="567" v3="569"/> - <face v1="567" v2="568" v3="569"/> - <face v1="570" v2="571" v3="572"/> - <face v1="570" v2="572" v3="573"/> - <face v1="574" v2="575" v3="576"/> - <face v1="574" v2="576" v3="577"/> - <face v1="578" v2="579" v3="581"/> - <face v1="579" v2="580" v3="581"/> - <face v1="582" v2="583" v3="584"/> - <face v1="582" v2="584" v3="585"/> - <face v1="586" v2="587" v3="588"/> - <face v1="586" v2="588" v3="589"/> - <face v1="590" v2="591" v3="592"/> - <face v1="590" v2="592" v3="593"/> - <face v1="594" v2="595" v3="597"/> - <face v1="595" v2="596" v3="597"/> - <face v1="598" v2="599" v3="601"/> - <face v1="599" v2="600" v3="601"/> - <face v1="602" v2="603" v3="605"/> - <face v1="603" v2="604" v3="605"/> - <face v1="606" v2="607" v3="609"/> - <face v1="607" v2="608" v3="609"/> - <face v1="610" v2="611" v3="613"/> - <face v1="611" v2="612" v3="613"/> - <face v1="614" v2="615" v3="617"/> - <face v1="615" v2="616" v3="617"/> - <face v1="618" v2="619" v3="620"/> - <face v1="618" v2="620" v3="621"/> - <face v1="622" v2="623" v3="624"/> - <face v1="622" v2="624" v3="625"/> - <face v1="626" v2="627" v3="628"/> - <face v1="626" v2="628" v3="629"/> - <face v1="630" v2="631" v3="632"/> - <face v1="633" v2="634" v3="635"/> - <face v1="636" v2="637" v3="638"/> - <face v1="639" v2="640" v3="641"/> - <face v1="642" v2="643" v3="644"/> - <face v1="645" v2="646" v3="647"/> - <face v1="648" v2="649" v3="650"/> - <face v1="651" v2="652" v3="653"/> - <face v1="654" v2="655" v3="656"/> - <face v1="657" v2="658" v3="659"/> - <face v1="660" v2="661" v3="662"/> - <face v1="663" v2="664" v3="665"/> - </faces> - <geometry vertexcount="666"> - <vertexbuffer positions="true" normals="true" texture_coords="1" texture_coord_dimensions_0="2"> - <vertex> - <position x="0.290393" y="4.865298" z="0.192331"/> - <normal x="0.368612" y="0.904989" z="0.212414"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.275292" y="4.865274" z="0.192332"/> - <normal x="-0.368493" y="0.904966" z="0.212721"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="4.865323" z="0.992331"/> - <normal x="0.000000" y="0.952400" z="0.304852"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.007550" y="4.865274" z="-0.297567"/> - <normal x="0.000305" y="0.904976" z="-0.425463"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.290393" y="4.865298" z="0.192331"/> - <normal x="0.368612" y="0.904989" z="0.212414"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.841792" y="4.865298" z="-0.452618"/> - <normal x="0.264024" y="0.952393" z="-0.152445"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.275292" y="4.865274" z="0.192332"/> - <normal x="-0.368493" y="0.904966" z="0.212721"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.007550" y="4.865274" z="-0.297567"/> - <normal x="0.000305" y="0.904976" z="-0.425463"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.826691" y="4.865274" z="-0.452618"/> - <normal x="-0.264053" y="0.952385" z="-0.152444"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="4.865323" z="0.992331"/> - <normal x="0.000000" y="0.952400" z="0.304852"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.275292" y="4.865274" z="0.192332"/> - <normal x="-0.368493" y="0.904966" z="0.212721"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.512126" y="4.189327" z="0.867173"/> - <normal x="-0.726945" y="-0.493257" z="-0.477753"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="4.457394" z="1.513854"/> - <normal x="0.000000" y="0.722724" z="0.691137"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.841792" y="4.865298" z="-0.452618"/> - <normal x="0.264024" y="0.952393" z="-0.152445"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.290393" y="4.865298" z="0.192331"/> - <normal x="0.368612" y="0.904989" z="0.212414"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.993240" y="4.189303" z="0.060014"/> - <normal x="-0.050266" y="-0.493255" z="0.868431"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="1.293444" y="4.457369" z="-0.713380"/> - <normal x="0.598542" y="0.722724" z="-0.345568"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.826691" y="4.865274" z="-0.452618"/> - <normal x="-0.264053" y="0.952385" z="-0.152444"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.007550" y="4.865274" z="-0.297567"/> - <normal x="0.000305" y="0.904976" z="-0.425463"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.458463" y="4.189279" z="-0.840092"/> - <normal x="0.777236" y="-0.493253" z="-0.390647"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-1.278344" y="4.457345" z="-0.713379"/> - <normal x="-0.598542" y="0.722724" z="-0.345568"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.290393" y="4.865298" z="0.192331"/> - <normal x="0.368612" y="0.904989" z="0.212414"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="4.865323" z="0.992331"/> - <normal x="0.000000" y="0.952400" z="0.304852"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="4.457394" z="1.513854"/> - <normal x="0.000000" y="0.722724" z="0.691137"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.527227" y="4.189327" z="0.867173"/> - <normal x="0.721163" y="-0.498405" z="-0.481162"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.007550" y="4.865274" z="-0.297567"/> - <normal x="0.000305" y="0.904976" z="-0.425463"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.841792" y="4.865298" z="-0.452618"/> - <normal x="0.264024" y="0.952393" z="-0.152445"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="1.293444" y="4.457369" z="-0.713380"/> - <normal x="0.598542" y="0.722724" z="-0.345568"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.473563" y="4.189303" z="-0.840092"/> - <normal x="-0.777293" y="-0.498409" z="-0.383931"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.275292" y="4.865274" z="0.192332"/> - <normal x="-0.368493" y="0.904966" z="0.212721"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.826691" y="4.865274" z="-0.452618"/> - <normal x="-0.264053" y="0.952385" z="-0.152444"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-1.278344" y="4.457345" z="-0.713379"/> - <normal x="-0.598542" y="0.722724" z="-0.345568"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.978139" y="4.189279" z="0.060015"/> - <normal x="0.056125" y="-0.498407" z="0.865124"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="4.457394" z="1.513854"/> - <normal x="0.000000" y="0.722724" z="0.691137"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.512126" y="4.189327" z="0.867173"/> - <normal x="-0.726945" y="-0.493257" z="-0.477753"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.275292" y="-1.035226" z="4.112233"/> - <normal x="-0.574524" y="-0.500118" z="-0.647923"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="-0.585102" z="4.773587"/> - <normal x="0.000000" y="0.353654" z="0.935376"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="1.293444" y="4.457369" z="-0.713380"/> - <normal x="0.598542" y="0.722724" z="-0.345568"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.993240" y="4.189303" z="0.060014"/> - <normal x="-0.050266" y="-0.493255" z="0.868431"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.685128" y="-1.035251" z="-1.767621"/> - <normal x="-0.273849" y="-0.500118" z="0.821516"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="4.116456" y="-0.585127" z="-2.343247"/> - <normal x="0.810067" y="0.353655" z="-0.467674"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-1.278344" y="4.457345" z="-0.713379"/> - <normal x="-0.598542" y="0.722724" z="-0.345568"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.458463" y="4.189279" z="-0.840092"/> - <normal x="0.777236" y="-0.493253" z="-0.390647"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.387185" y="-1.035276" z="-2.257518"/> - <normal x="0.848382" y="-0.500124" z="-0.173565"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-4.101356" y="-0.585152" z="-2.343246"/> - <normal x="-0.810067" y="0.353655" z="-0.467674"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.527227" y="4.189327" z="0.867173"/> - <normal x="0.721163" y="-0.498405" z="-0.481162"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="4.457394" z="1.513854"/> - <normal x="0.000000" y="0.722724" z="0.691137"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="-0.585102" z="4.773587"/> - <normal x="0.000000" y="0.353654" z="0.935376"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.290393" y="-1.035226" z="4.112233"/> - <normal x="0.563230" y="-0.504999" z="-0.654024"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.473563" y="4.189303" z="-0.840092"/> - <normal x="-0.777293" y="-0.498409" z="-0.383931"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="1.293444" y="4.457369" z="-0.713380"/> - <normal x="0.598542" y="0.722724" z="-0.345568"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="4.116456" y="-0.585127" z="-2.343247"/> - <normal x="0.810067" y="0.353655" z="-0.467674"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.402285" y="-1.035251" z="-2.257519"/> - <normal x="-0.848015" y="-0.505006" z="-0.160746"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.978139" y="4.189279" z="0.060015"/> - <normal x="0.056125" y="-0.498407" z="0.865124"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-1.278344" y="4.457345" z="-0.713379"/> - <normal x="-0.598542" y="0.722724" z="-0.345568"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-4.101356" y="-0.585152" z="-2.343246"/> - <normal x="-0.810067" y="0.353655" z="-0.467674"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.670028" y="-1.035276" z="-1.767620"/> - <normal x="0.284778" y="-0.505008" z="0.814781"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="-0.585102" z="4.773587"/> - <normal x="0.000000" y="0.353654" z="0.935376"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.275292" y="-1.035226" z="4.112233"/> - <normal x="-0.574524" y="-0.500118" z="-0.647923"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.138944" y="-1.536729" z="4.535623"/> - <normal x="-0.545955" y="-0.832497" z="0.094243"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="-1.303594" z="4.878161"/> - <normal x="0.000000" y="-0.488917" z="0.872330"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="4.116456" y="-0.585127" z="-2.343247"/> - <normal x="0.810067" y="0.353655" z="-0.467674"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.685128" y="-1.035251" z="-1.767621"/> - <normal x="-0.273849" y="-0.500118" z="0.821516"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.983620" y="-1.536754" z="-2.097397"/> - <normal x="0.354601" y="-0.832499" z="0.425680"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="4.207020" y="-1.303618" z="-2.395534"/> - <normal x="0.755470" y="-0.488916" z="-0.436149"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-4.101356" y="-0.585152" z="-2.343246"/> - <normal x="-0.810067" y="0.353655" z="-0.467674"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.387185" y="-1.035276" z="-2.257518"/> - <normal x="0.848382" y="-0.500124" z="-0.173565"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.822026" y="-1.536779" z="-2.351131"/> - <normal x="0.191326" y="-0.832508" z="-0.519928"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-4.191920" y="-1.303644" z="-2.395533"/> - <normal x="-0.755470" y="-0.488916" z="-0.436149"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.290393" y="-1.035226" z="4.112233"/> - <normal x="0.563230" y="-0.504999" z="-0.654024"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="-0.585102" z="4.773587"/> - <normal x="0.000000" y="0.353654" z="0.935376"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="-1.303594" z="4.878161"/> - <normal x="0.000000" y="-0.488917" z="0.872330"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.154045" y="-1.536729" z="4.535623"/> - <normal x="0.545955" y="-0.832497" z="0.094243"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.402285" y="-1.035251" z="-2.257519"/> - <normal x="-0.848015" y="-0.505006" z="-0.160746"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="4.116456" y="-0.585127" z="-2.343247"/> - <normal x="0.810067" y="0.353655" z="-0.467674"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="4.207020" y="-1.303618" z="-2.395534"/> - <normal x="0.755470" y="-0.488916" z="-0.436149"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.837125" y="-1.536754" z="-2.351133"/> - <normal x="-0.191326" y="-0.832508" z="-0.519928"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.670028" y="-1.035276" z="-1.767620"/> - <normal x="0.284778" y="-0.505008" z="0.814781"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-4.101356" y="-0.585152" z="-2.343246"/> - <normal x="-0.810067" y="0.353655" z="-0.467674"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-4.191920" y="-1.303644" z="-2.395533"/> - <normal x="-0.755470" y="-0.488916" z="-0.436149"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.968520" y="-1.536779" z="-2.097395"/> - <normal x="-0.354601" y="-0.832499" z="0.425680"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.138944" y="-1.536729" z="4.535623"/> - <normal x="-0.545955" y="-0.832497" z="0.094243"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.154045" y="-1.536729" z="4.535623"/> - <normal x="0.545955" y="-0.832497" z="0.094243"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.007551" y="-1.303594" z="4.878161"/> - <normal x="0.000000" y="-0.488917" z="0.872330"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.983620" y="-1.536754" z="-2.097397"/> - <normal x="0.354601" y="-0.832499" z="0.425680"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.837125" y="-1.536754" z="-2.351133"/> - <normal x="-0.191326" y="-0.832508" z="-0.519928"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="4.207020" y="-1.303618" z="-2.395534"/> - <normal x="0.755470" y="-0.488916" z="-0.436149"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.822026" y="-1.536779" z="-2.351131"/> - <normal x="0.191326" y="-0.832508" z="-0.519928"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.968520" y="-1.536779" z="-2.097395"/> - <normal x="-0.354601" y="-0.832499" z="0.425680"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-4.191920" y="-1.303644" z="-2.395533"/> - <normal x="-0.755470" y="-0.488916" z="-0.436149"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.275292" y="-1.035226" z="4.112233"/> - <normal x="-0.574524" y="-0.500118" z="-0.647923"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.290393" y="-1.035226" z="4.112233"/> - <normal x="0.563230" y="-0.504999" z="-0.654024"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.154045" y="-1.536729" z="4.535623"/> - <normal x="0.545955" y="-0.832497" z="0.094243"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.138944" y="-1.536729" z="4.535623"/> - <normal x="-0.545955" y="-0.832497" z="0.094243"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.685128" y="-1.035251" z="-1.767621"/> - <normal x="-0.273849" y="-0.500118" z="0.821516"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.402285" y="-1.035251" z="-2.257519"/> - <normal x="-0.848015" y="-0.505006" z="-0.160746"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.837125" y="-1.536754" z="-2.351133"/> - <normal x="-0.191326" y="-0.832508" z="-0.519928"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.983620" y="-1.536754" z="-2.097397"/> - <normal x="0.354601" y="-0.832499" z="0.425680"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.387185" y="-1.035276" z="-2.257518"/> - <normal x="0.848382" y="-0.500124" z="-0.173565"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.670028" y="-1.035276" z="-1.767620"/> - <normal x="0.284778" y="-0.505008" z="0.814781"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.968520" y="-1.536779" z="-2.097395"/> - <normal x="-0.354601" y="-0.832499" z="0.425680"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.822026" y="-1.536779" z="-2.351131"/> - <normal x="0.191326" y="-0.832508" z="-0.519928"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.512126" y="4.189327" z="0.867173"/> - <normal x="-0.726945" y="-0.493257" z="-0.477753"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.527227" y="4.189327" z="0.867173"/> - <normal x="0.721163" y="-0.498405" z="-0.481162"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.201696" y="0.399338" z="3.297190"/> - <normal x="0.282758" y="-0.068546" z="-0.956739"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.156395" y="0.399338" z="3.297190"/> - <normal x="-0.303944" y="-0.073003" z="-0.949889"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.993240" y="4.189303" z="0.060014"/> - <normal x="-0.050266" y="-0.493255" z="0.868431"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.473563" y="4.189303" z="-0.840092"/> - <normal x="-0.777293" y="-0.498409" z="-0.383931"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="2.740785" y="0.399313" z="-1.773183"/> - <normal x="-0.969945" y="-0.068545" z="0.233468"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="2.919831" y="0.399313" z="-1.463067"/> - <normal x="-0.670641" y="-0.073003" z="0.738181"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.458463" y="4.189279" z="-0.840092"/> - <normal x="0.777236" y="-0.493253" z="-0.390647"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.978139" y="4.189279" z="0.060015"/> - <normal x="0.056125" y="-0.498407" z="0.865124"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.919831" y="0.399288" z="-1.436912"/> - <normal x="0.687176" y="-0.068547" z="0.723250"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.740785" y="0.399288" z="-1.747028"/> - <normal x="0.974608" y="-0.073003" z="0.211683"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.290393" y="-1.035226" z="4.112233"/> - <normal x="0.563230" y="-0.504999" z="-0.654024"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.275292" y="-1.035226" z="4.112233"/> - <normal x="-0.574524" y="-0.500118" z="-0.647923"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.153327" y="-0.717956" z="3.945640"/> - <normal x="-0.302049" y="-0.796431" z="-0.523894"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.198628" y="-0.717956" z="3.945640"/> - <normal x="0.281202" y="-0.803473" z="-0.524744"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.402285" y="-1.035251" z="-2.257519"/> - <normal x="-0.848015" y="-0.505006" z="-0.160746"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.685128" y="-1.035251" z="-1.767621"/> - <normal x="-0.273849" y="-0.500118" z="0.821516"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.479871" y="-0.717981" z="-1.789949"/> - <normal x="-0.302657" y="-0.796424" z="0.523553"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.303894" y="-0.717981" z="-2.094751"/> - <normal x="-0.595034" y="-0.803480" z="0.018830"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.670028" y="-1.035276" z="-1.767620"/> - <normal x="0.284778" y="-0.505008" z="0.814781"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.387185" y="-1.035276" z="-2.257518"/> - <normal x="0.848382" y="-0.500124" z="-0.173565"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.303894" y="-0.718006" z="-2.068596"/> - <normal x="0.604736" y="-0.796426" z="0.000336"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.479871" y="-0.718006" z="-1.763794"/> - <normal x="0.313826" y="-0.803471" z="0.505912"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.527227" y="4.189327" z="0.867173"/> - <normal x="0.721163" y="-0.498405" z="-0.481162"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.290393" y="-1.035226" z="4.112233"/> - <normal x="0.563230" y="-0.504999" z="-0.654024"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.198628" y="-0.717956" z="3.945640"/> - <normal x="0.281202" y="-0.803473" z="-0.524744"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.201696" y="0.399338" z="3.297190"/> - <normal x="0.282758" y="-0.068546" z="-0.956739"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.473563" y="4.189303" z="-0.840092"/> - <normal x="-0.777293" y="-0.498409" z="-0.383931"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.402285" y="-1.035251" z="-2.257519"/> - <normal x="-0.848015" y="-0.505006" z="-0.160746"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.303894" y="-0.717981" z="-2.094751"/> - <normal x="-0.595034" y="-0.803480" z="0.018830"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="2.740785" y="0.399313" z="-1.773183"/> - <normal x="-0.969945" y="-0.068545" z="0.233468"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.978139" y="4.189279" z="0.060015"/> - <normal x="0.056125" y="-0.498407" z="0.865124"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.670028" y="-1.035276" z="-1.767620"/> - <normal x="0.284778" y="-0.505008" z="0.814781"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.479871" y="-0.718006" z="-1.763794"/> - <normal x="0.313826" y="-0.803471" z="0.505912"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.919831" y="0.399288" z="-1.436912"/> - <normal x="0.687176" y="-0.068547" z="0.723250"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.275292" y="-1.035226" z="4.112233"/> - <normal x="-0.574524" y="-0.500118" z="-0.647923"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.512126" y="4.189327" z="0.867173"/> - <normal x="-0.726945" y="-0.493257" z="-0.477753"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.156395" y="0.399338" z="3.297190"/> - <normal x="-0.303944" y="-0.073003" z="-0.949889"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.153327" y="-0.717956" z="3.945640"/> - <normal x="-0.302049" y="-0.796431" z="-0.523894"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.685128" y="-1.035251" z="-1.767621"/> - <normal x="-0.273849" y="-0.500118" z="0.821516"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.993240" y="4.189303" z="0.060014"/> - <normal x="-0.050266" y="-0.493255" z="0.868431"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="2.919831" y="0.399313" z="-1.463067"/> - <normal x="-0.670641" y="-0.073003" z="0.738181"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.479871" y="-0.717981" z="-1.789949"/> - <normal x="-0.302657" y="-0.796424" z="0.523553"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.387185" y="-1.035276" z="-2.257518"/> - <normal x="0.848382" y="-0.500124" z="-0.173565"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.458463" y="4.189279" z="-0.840092"/> - <normal x="0.777236" y="-0.493253" z="-0.390647"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.740785" y="0.399288" z="-1.747028"/> - <normal x="0.974608" y="-0.073003" z="0.211683"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.303894" y="-0.718006" z="-2.068596"/> - <normal x="0.604736" y="-0.796426" z="0.000336"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.153327" y="-0.717956" z="3.945640"/> - <normal x="-0.302049" y="-0.796431" z="-0.523894"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.156395" y="0.399338" z="3.297190"/> - <normal x="-0.303944" y="-0.073003" z="-0.949889"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.156395" y="0.218766" z="2.986061"/> - <normal x="-0.497283" y="0.646706" z="0.578343"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.153327" y="-0.898527" z="3.634511"/> - <normal x="-0.503300" y="0.197218" z="0.841305"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.479871" y="-0.717981" z="-1.789949"/> - <normal x="-0.302657" y="-0.796424" z="0.523553"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="2.919831" y="0.399313" z="-1.463067"/> - <normal x="-0.670641" y="-0.073003" z="0.738181"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="2.650386" y="0.218742" z="-1.307503"/> - <normal x="0.749512" y="0.646694" z="0.141485"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.210426" y="-0.898552" z="-1.634385"/> - <normal x="0.980243" y="0.197214" z="0.015199"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.303894" y="-0.718006" z="-2.068596"/> - <normal x="0.604736" y="-0.796426" z="0.000336"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-2.740785" y="0.399288" z="-1.747028"/> - <normal x="0.974608" y="-0.073003" z="0.211683"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.471340" y="0.218717" z="-1.591464"/> - <normal x="-0.252213" y="0.646707" z="-0.719832"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.034449" y="-0.898577" z="-1.913032"/> - <normal x="-0.476929" y="0.197217" z="-0.856530"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.201696" y="0.399338" z="3.297190"/> - <normal x="0.282758" y="-0.068546" z="-0.956739"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.198628" y="-0.717956" z="3.945640"/> - <normal x="0.281202" y="-0.803473" z="-0.524744"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.198628" y="-0.898527" z="3.634511"/> - <normal x="0.503300" y="0.197218" z="0.841305"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.201696" y="0.218766" z="2.986061"/> - <normal x="0.497283" y="0.646706" z="0.578343"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="2.740785" y="0.399313" z="-1.773183"/> - <normal x="-0.969945" y="-0.068545" z="0.233468"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.303894" y="-0.717981" z="-2.094751"/> - <normal x="-0.595034" y="-0.803480" z="0.018830"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.034448" y="-0.898552" z="-1.939187"/> - <normal x="0.476929" y="0.197217" z="-0.856530"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="2.471340" y="0.218742" z="-1.617619"/> - <normal x="0.252213" y="0.646707" z="-0.719832"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-2.919831" y="0.399288" z="-1.436912"/> - <normal x="0.687176" y="-0.068547" z="0.723250"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.479871" y="-0.718006" z="-1.763794"/> - <normal x="0.313826" y="-0.803471" z="0.505912"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.210426" y="-0.898577" z="-1.608230"/> - <normal x="-0.980243" y="0.197214" z="0.015199"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.650385" y="0.218717" z="-1.281348"/> - <normal x="-0.749512" y="0.646694" z="0.141485"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.198628" y="-0.717956" z="3.945640"/> - <normal x="0.281202" y="-0.803473" z="-0.524744"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.153327" y="-0.717956" z="3.945640"/> - <normal x="-0.302049" y="-0.796431" z="-0.523894"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.153327" y="-0.898527" z="3.634511"/> - <normal x="-0.503300" y="0.197218" z="0.841305"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.198628" y="-0.898527" z="3.634511"/> - <normal x="0.503300" y="0.197218" z="0.841305"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.303894" y="-0.717981" z="-2.094751"/> - <normal x="-0.595034" y="-0.803480" z="0.018830"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="3.479871" y="-0.717981" z="-1.789949"/> - <normal x="-0.302657" y="-0.796424" z="0.523553"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.210426" y="-0.898552" z="-1.634385"/> - <normal x="0.980243" y="0.197214" z="0.015199"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.034448" y="-0.898552" z="-1.939187"/> - <normal x="0.476929" y="0.197217" z="-0.856530"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.479871" y="-0.718006" z="-1.763794"/> - <normal x="0.313826" y="-0.803471" z="0.505912"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-3.303894" y="-0.718006" z="-2.068596"/> - <normal x="0.604736" y="-0.796426" z="0.000336"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.034449" y="-0.898577" z="-1.913032"/> - <normal x="-0.476929" y="0.197217" z="-0.856530"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.210426" y="-0.898577" z="-1.608230"/> - <normal x="-0.980243" y="0.197214" z="0.015199"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.156395" y="0.399338" z="3.297190"/> - <normal x="-0.303944" y="-0.073003" z="-0.949889"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.201696" y="0.399338" z="3.297190"/> - <normal x="0.282758" y="-0.068546" z="-0.956739"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.201696" y="0.218766" z="2.986061"/> - <normal x="0.497283" y="0.646706" z="0.578343"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.156395" y="0.218766" z="2.986061"/> - <normal x="-0.497283" y="0.646706" z="0.578343"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="2.919831" y="0.399313" z="-1.463067"/> - <normal x="-0.670641" y="-0.073003" z="0.738181"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="2.740785" y="0.399313" z="-1.773183"/> - <normal x="-0.969945" y="-0.068545" z="0.233468"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="2.471340" y="0.218742" z="-1.617619"/> - <normal x="0.252213" y="0.646707" z="-0.719832"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="2.650386" y="0.218742" z="-1.307503"/> - <normal x="0.749512" y="0.646694" z="0.141485"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-2.740785" y="0.399288" z="-1.747028"/> - <normal x="0.974608" y="-0.073003" z="0.211683"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-2.919831" y="0.399288" z="-1.436912"/> - <normal x="0.687176" y="-0.068547" z="0.723250"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.650385" y="0.218717" z="-1.281348"/> - <normal x="-0.749512" y="0.646694" z="0.141485"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.471340" y="0.218717" z="-1.591464"/> - <normal x="-0.252213" y="0.646707" z="-0.719832"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.517881" y="1.663080" z="1.779412"/> - <normal x="0.318924" y="0.923720" z="0.212199"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.472579" y="1.663080" z="1.779412"/> - <normal x="-0.318924" y="0.923720" z="0.212199"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.156395" y="0.218766" z="2.986061"/> - <normal x="-0.497283" y="0.646706" z="0.578343"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.201696" y="0.218766" z="2.986061"/> - <normal x="0.497283" y="0.646706" z="0.578343"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="1.268259" y="1.663055" z="-1.288117"/> - <normal x="0.024293" y="0.923715" z="-0.382310"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="1.763489" y="1.663055" z="-0.430354"/> - <normal x="0.343247" y="0.923717" z="0.170082"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="2.650386" y="0.218742" z="-1.307503"/> - <normal x="0.749512" y="0.646694" z="0.141485"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="2.471340" y="0.218742" z="-1.617619"/> - <normal x="0.252213" y="0.646707" z="-0.719832"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-1.763489" y="1.663030" z="-0.404199"/> - <normal x="-0.343247" y="0.923717" z="0.170082"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-1.268259" y="1.663030" z="-1.261963"/> - <normal x="-0.024293" y="0.923715" z="-0.382310"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.471340" y="0.218717" z="-1.591464"/> - <normal x="-0.252213" y="0.646707" z="-0.719832"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.650385" y="0.218717" z="-1.281348"/> - <normal x="-0.749512" y="0.646694" z="0.141485"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="1.508340" y="0.859940" z="1.937498"/> - <normal x="0.737692" y="0.595287" z="0.318504"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.517881" y="1.663080" z="1.779412"/> - <normal x="0.318924" y="0.923720" z="0.212199"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.201696" y="0.218766" z="2.986061"/> - <normal x="0.497283" y="0.646706" z="0.578343"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.909935" y="0.859915" z="-2.224924"/> - <normal x="-0.092993" y="0.595284" z="-0.798116"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="1.268259" y="1.663055" z="-1.288117"/> - <normal x="0.024293" y="0.923715" z="-0.382310"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="2.471340" y="0.218742" z="-1.617619"/> - <normal x="0.252213" y="0.646707" z="-0.719832"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.395625" y="0.859890" z="0.374521"/> - <normal x="-0.644696" y="0.595285" z="0.479585"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-1.763489" y="1.663030" z="-0.404199"/> - <normal x="-0.343247" y="0.923717" z="0.170082"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.650385" y="0.218717" z="-1.281348"/> - <normal x="-0.749512" y="0.646694" z="0.141485"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.472579" y="1.663080" z="1.779412"/> - <normal x="-0.318924" y="0.923720" z="0.212199"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-1.463039" y="0.859940" z="1.937498"/> - <normal x="-0.737692" y="0.595287" z="0.318504"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.156395" y="0.218766" z="2.986061"/> - <normal x="-0.497283" y="0.646706" z="0.578343"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="1.763489" y="1.663055" z="-0.430354"/> - <normal x="0.343247" y="0.923717" z="0.170082"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="2.395625" y="0.859915" z="0.348366"/> - <normal x="0.644696" y="0.595285" z="0.479585"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="2.650386" y="0.218742" z="-1.307503"/> - <normal x="0.749512" y="0.646694" z="0.141485"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-1.268259" y="1.663030" z="-1.261963"/> - <normal x="-0.024293" y="0.923715" z="-0.382310"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.909936" y="0.859890" z="-2.198769"/> - <normal x="0.092993" y="0.595284" z="-0.798116"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-2.471340" y="0.218717" z="-1.591464"/> - <normal x="-0.252213" y="0.646707" z="-0.719832"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.464093" y="-4.509093" z="5.370379"/> - <normal x="-0.407309" y="-0.185404" z="0.894273"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="0.509395" y="-4.509093" z="5.370379"/> - <normal x="0.407309" y="-0.185404" z="0.894273"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="0.198628" y="-0.898527" z="3.634511"/> - <normal x="0.503300" y="0.197218" z="0.841305"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.153327" y="-0.898527" z="3.634511"/> - <normal x="-0.503300" y="0.197218" z="0.841305"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="4.869115" y="-4.509119" z="-2.233188"/> - <normal x="0.978120" y="-0.185406" z="-0.094366"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="4.382371" y="-4.509119" z="-3.076253"/> - <normal x="0.570803" y="-0.185405" z="-0.799881"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.034448" y="-0.898552" z="-1.939187"/> - <normal x="0.476929" y="0.197217" z="-0.856530"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="3.210426" y="-0.898552" z="-1.634385"/> - <normal x="0.980243" y="0.197214" z="0.015199"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-4.382371" y="-4.509144" z="-3.050097"/> - <normal x="-0.570803" y="-0.185405" z="-0.799881"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-4.869115" y="-4.509144" z="-2.207032"/> - <normal x="-0.978120" y="-0.185406" z="-0.094366"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.210426" y="-0.898577" z="-1.608230"/> - <normal x="-0.980243" y="0.197214" z="0.015199"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-3.034449" y="-0.898577" z="-1.913032"/> - <normal x="-0.476929" y="0.197217" z="-0.856530"/> - <texcoord u="1.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-1.205879" y="-3.777522" z="4.673820"/> - <normal x="-0.789880" y="0.056339" z="0.610668"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="-0.464093" y="-4.509093" z="5.370379"/> - <normal x="-0.407309" y="-0.185404" z="0.894273"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="-0.153327" y="-0.898527" z="3.634511"/> - <normal x="-0.503300" y="0.197218" z="0.841305"/> - <texcoord u="1.000000" v="1.000000"/> - </vertex> - <vertex> - <position x="4.636770" y="-3.777547" z="-1.242503"/> - <normal x="0.923801" y="0.056337" z="0.378706"/> - <texcoord u="0.000000" v="0.000000"/> - </vertex> - <vertex> - <position x="4.869115" y="-4.509119" z="-2.233188"/> - <normal x="0.978120" y="-0.185406" z="-0.094366"/> - <texcoord u="0.000000" v="1.000000"/> - </vertex> - <vertex> - <p... [truncated message content] |
From: <ult...@us...> - 2007-10-27 11:44:43
|
Revision: 829 http://opengate.svn.sourceforge.net/opengate/?rev=829&view=rev Author: ultrasick Date: 2007-10-27 04:44:47 -0700 (Sat, 27 Oct 2007) Log Message: ----------- adding radar: chime Added Paths: ----------- templates/radars/chime.blend trunk/data/radars/chime.xml trunk/data/radars/chime_big.png trunk/data/radars/chime_small.png Added: templates/radars/chime.blend =================================================================== (Binary files differ) Property changes on: templates/radars/chime.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/radars/chime.xml =================================================================== (Binary files differ) Property changes on: trunk/data/radars/chime.xml ___________________________________________________________________ Name: svn:mime-type + application/xml Name: svn:eol-style + native Added: trunk/data/radars/chime_big.png =================================================================== (Binary files differ) Property changes on: trunk/data/radars/chime_big.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/radars/chime_small.png =================================================================== (Binary files differ) Property changes on: trunk/data/radars/chime_small.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-10-27 18:12:55
|
Revision: 830 http://opengate.svn.sourceforge.net/opengate/?rev=830&view=rev Author: ultrasick Date: 2007-10-27 11:12:59 -0700 (Sat, 27 Oct 2007) Log Message: ----------- adding commodity: fiber optics Added Paths: ----------- templates/commodities/fiber_optics.blend trunk/data/commodities/fiber_optics.xml trunk/data/commodities/fiber_optics_big.png trunk/data/commodities/fiber_optics_small.png Added: templates/commodities/fiber_optics.blend =================================================================== (Binary files differ) Property changes on: templates/commodities/fiber_optics.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/commodities/fiber_optics.xml =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/fiber_optics.xml ___________________________________________________________________ Name: svn:mime-type + application/xml Name: svn:eol-style + native Added: trunk/data/commodities/fiber_optics_big.png =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/fiber_optics_big.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/commodities/fiber_optics_small.png =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/fiber_optics_small.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-10-28 09:28:00
|
Revision: 831 http://opengate.svn.sourceforge.net/opengate/?rev=831&view=rev Author: ultrasick Date: 2007-10-28 02:28:03 -0700 (Sun, 28 Oct 2007) Log Message: ----------- adding commodity: boron Added Paths: ----------- templates/commodities/boron.blend trunk/data/commodities/boron.xml trunk/data/commodities/boron_big.png trunk/data/commodities/boron_small.png Added: templates/commodities/boron.blend =================================================================== (Binary files differ) Property changes on: templates/commodities/boron.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/commodities/boron.xml =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/boron.xml ___________________________________________________________________ Name: svn:mime-type + application/xml Name: svn:eol-style + native Added: trunk/data/commodities/boron_big.png =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/boron_big.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/commodities/boron_small.png =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/boron_small.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-10-28 20:02:39
|
Revision: 832 http://opengate.svn.sourceforge.net/opengate/?rev=832&view=rev Author: ultrasick Date: 2007-10-28 13:02:42 -0700 (Sun, 28 Oct 2007) Log Message: ----------- adding commodity: lumber Added Paths: ----------- templates/commodities/lumber.blend trunk/data/commodities/lumber.xml trunk/data/commodities/lumber_big.png trunk/data/commodities/lumber_small.png Added: templates/commodities/lumber.blend =================================================================== (Binary files differ) Property changes on: templates/commodities/lumber.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/commodities/lumber.xml =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/lumber.xml ___________________________________________________________________ Name: svn:mime-type + application/xml Name: svn:eol-style + native Added: trunk/data/commodities/lumber_big.png =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/lumber_big.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/commodities/lumber_small.png =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/lumber_small.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-11-27 23:37:52
|
Revision: 872 http://opengate.svn.sourceforge.net/opengate/?rev=872&view=rev Author: ultrasick Date: 2007-11-27 15:37:55 -0800 (Tue, 27 Nov 2007) Log Message: ----------- adding commodity: electronics Added Paths: ----------- templates/commodities/electronics.blend trunk/data/commodities/electronics.xml trunk/data/commodities/electronics_big.png trunk/data/commodities/electronics_small.png Added: templates/commodities/electronics.blend =================================================================== (Binary files differ) Property changes on: templates/commodities/electronics.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/commodities/electronics.xml =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/electronics.xml ___________________________________________________________________ Name: svn:mime-type + application/xml Name: svn:eol-style + native Added: trunk/data/commodities/electronics_big.png =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/electronics_big.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/commodities/electronics_small.png =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/electronics_small.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |