Changeset 3196 for code/trunk
- Timestamp:
- Jun 20, 2009, 9:20:47 AM (15 years ago)
- Location:
- code/trunk
- Files:
-
- 29 deleted
- 479 edited
- 35 copied
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:mergeinfo changed
/code/branches/pch (added) merged: 3114-3118,3124-3125,3127-3131,3133,3138-3194
- Property svn:mergeinfo changed
-
code/trunk/bin/CMakeLists.txt
r2762 r3196 33 33 ENDFOREACH(_script) 34 34 ENDIF() 35 # Also copy vld.ini (visual leak detector config) for MSVC 36 IF(MSVC) 37 LIST(APPEND RUN_SCRIPTS vld.ini) 38 ENDIF() 35 39 36 40 IF(NOT CMAKE_CONFIGURATION_TYPES) … … 39 43 ELSE() 40 44 SET(_subdirs ${CMAKE_CONFIGURATION_TYPES}) 41 SEt(_default_subdir Debug)45 SEt(_default_subdir) # No default subdir 42 46 ENDIF() 43 47 STRING(REPLACE "/" "\\" ORXONOX_RUNTIME_LIBRARY_DIRECTORY_WINDOWS ${ORXONOX_RUNTIME_LIBRARY_DIRECTORY}) … … 52 56 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${_script}.in ${CURRENT_RUNTIME_DIR}/${_script} @ONLY) 53 57 IF(_subdir STREQUAL _default_subdir) 54 # Convenience script to be used when sitting in the binary directory. D efaults to Debug for msvc.58 # Convenience script to be used when sitting in the binary directory. Does nothing for MSVC 55 59 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${_script}.in ${CMAKE_BINARY_DIR}/${_script} @ONLY) 56 60 ENDIF() -
code/trunk/cmake/BuildConfig.cmake
r2896 r3196 70 70 ENDIF() 71 71 72 # Enable expensive optimisations: Use this for a binary release build 73 OPTION(ORXONOX_RELEASE "Enable when building restributable releases" FALSE) 74 75 # Use WinMain() or main()? 76 OPTION(ORXONOX_USE_WINMAIN "Use WinMain (doesn't show console) or main" FALSE) 72 77 73 78 ################# OGRE Plugins ################## -
code/trunk/cmake/BuildConfigGCC.cmake
r3111 r3196 24 24 # 25 25 26 # Shortcut for CMAKE_COMPILER_IS_GNUCXX and ..._GNUC 27 SET(CMAKE_COMPILER_IS_GNU TRUE) 28 26 29 # Determine compiler version 27 30 EXEC_PROGRAM( … … 38 41 IF(_compare_result LESS 0) 39 42 SET(GCC_NO_SYSTEM_HEADER_SUPPORT TRUE) 43 ENDIF() 44 45 # GCC only supports PCH in versions 3.4 and above 46 INCLUDE(CompareVersionStrings) 47 COMPARE_VERSION_STRINGS("${GCC_VERSION}" "3.4.0" _compare_result) 48 IF(_compare_result GREATER -1) 49 SET(PCH_COMPILER_SUPPORT TRUE) 40 50 ENDIF() 41 51 … … 67 77 ADD_COMPILER_FLAGS("-Wno-deprecated" CXX CACHE) 68 78 79 # Always show why a precompiled header file could not be used 80 ADD_COMPILER_FLAGS("-Winvalid-pch" CXX CACHE) 81 69 82 # Increase warning level if requested 70 83 IF(EXTRA_COMPILER_WARNINGS) -
code/trunk/cmake/BuildConfigMSVC.cmake
r2710 r3196 24 24 # 25 25 26 ################### Compiler Version #################### 27 28 # We make use of variadic macros, which is only supported by MSVC 8 and above 29 IF(MSVC_VERSION LESS 1400) 30 MESSAGE(FATAL_ERROR "Microsoft Visual Studio versions below 8 (2005) are not supported because of missing compiler extensions.") 31 ENDIF() 32 33 26 34 ######################## Options ######################## 27 35 28 OPTION(VISUAL_LEAK_DETECTOR_ENABLE "Memory leak detector" FALSE) 36 # Currently VLD has a problem with MSVC9 although it actually is supported 37 IF(MSVC8) 38 OPTION(VISUAL_LEAK_DETECTOR_ENABLE "Memory leak detector" off) 39 ENDIF() 40 # Make sure the value is "on" or "off" for vld.ini 41 IF(VISUAL_LEAK_DETECTOR_ENABLE) 42 SET(VISUAL_LEAK_DETECTOR_ENABLE on) 43 ELSE() 44 SET(VISUAL_LEAK_DETECTOR_ENABLE off) 45 ENDIF() 46 47 # Orxonox only supports MSVC 8 and above, which gets asserted above 48 SET(PCH_COMPILER_SUPPORT TRUE) 49 29 50 30 51 #################### Compiler Flags ##################### … … 47 68 48 69 # Overwrite CMake default flags here. 49 SET_COMPILER_FLAGS("-MDd -Od -Z I-D_DEBUG -Gm -RTC1" Debug CACHE)70 SET_COMPILER_FLAGS("-MDd -Od -Zi -D_DEBUG -Gm -RTC1" Debug CACHE) 50 71 SET_COMPILER_FLAGS("-MD -O2 -DNDEBUG -MP2" Release CACHE) 51 72 SET_COMPILER_FLAGS("-MD -O2 -Zi -DNDEBUG -MP2" RelWithDebInfo CACHE) … … 75 96 # Happens on STL member variables which are not public 76 97 ADD_COMPILER_FLAGS("-w44251" CACHE) 98 ADD_COMPILER_FLAGS("-w44275" CACHE) # For inheritance 77 99 78 100 # Multiple assignment operators specified -
code/trunk/cmake/FlagUtilities.cmake
r2792 r3196 24 24 # Release, Debug, RelWithDebInfo, MinSizeRel: Build configs (inclusive) 25 25 # ReleaseAll: Sets the flags of all three release builds 26 # CACHE: Values are witten with SET_CACHE (see above)26 # CACHE: Values are witten with SET_CACHE_ADVANCED 27 27 # FORCE: When writing to the cache, the values are set anyway 28 28 # Any variable names (like WIN32, MSVC, etc.): Condition (combined with AND) 29 29 # You can suffix the condition with a NOT if you wish 30 # Function s:30 # Function names: 31 31 # [ADD/SET/REMOVE]_[COMPILER/LINKER]_FLAGS 32 32 # Caution: -If you use CACHE after calling the macro without CACHE, the value 33 # Will not getwritten unless FORCE is specified.33 # Will not be written unless FORCE is specified. 34 34 # - Also be aware to always specify the flags in quotes. 35 35 # Example: … … 37 37 # This will only remove the CXX (C++) flags on a non Unix system for the 38 38 # Release, RelWithDebInfo and MinSizeRel configurations. The macros should 39 # be able to cope with "test -foo" that is like another flag in the string.39 # be able to cope with "test -foo" as string argument for a flag. 40 40 # 41 41 42 # Write to the cache by force, but only if the user didn't edit the value 43 # Additional argument is the value (may also be a list) 44 MACRO(SET_CACHE _varname _type _docstring) 45 SET(_value ${ARGN}) 46 IF(NOT "${_type}" MATCHES "^(STRING|BOOL|PATH|FILEPATH)$") 47 MESSAGE(FATAL_ERROR "${_type} is not a valid CACHE entry type") 48 ENDIF() 42 INCLUDE(SeparateFlags) 43 INCLUDE(SetCacheAdvanced) 49 44 50 IF(NOT DEFINED _INTERNAL_${_varname} OR "${_INTERNAL_${_varname}}" STREQUAL "${${_varname}}") 51 SET(${_varname} "${_value}" CACHE ${_type} "${_docstring}" FORCE) 52 SET(_INTERNAL_${_varname} "${_value}" CACHE INTERNAL "Do not edit in any case!") 53 ENDIF() 54 ENDMACRO(SET_CACHE) 45 # Compiler flags, additional arguments: 46 # C, CXX: Specify a language, default is both 47 MACRO(SET_COMPILER_FLAGS _flags) 48 _INTERNAL_PARSE_FLAGS_ARGS(SET "C;CXX" "" "${_flags}" "${ARGN}") 49 ENDMACRO(SET_COMPILER_FLAGS) 50 # Add flags (flags don't get added twice) 51 MACRO(ADD_COMPILER_FLAGS _flags) 52 _INTERNAL_PARSE_FLAGS_ARGS(APPEND "C;CXX" "" "${_flags}" "${ARGN}") 53 ENDMACRO(ADD_COMPILER_FLAGS) 54 # Remove flags 55 MACRO(REMOVE_COMPILER_FLAGS _flags) 56 _INTERNAL_PARSE_FLAGS_ARGS(REMOVE_ITEM "C;CXX" "" "${_flags}" "${ARGN}") 57 ENDMACRO(REMOVE_COMPILER_FLAGS) 55 58 56 # Visual studio (esp. IntelliSense) doesn't like dashes to specify arguments57 # Always use foward slashes instead58 IF(MSVC)59 SET(ARGUMENT_STARTER "/")60 ELSE()61 SET(ARGUMENT_STARTER "-")62 ENDIF(MSVC)63 59 64 # Separates a string of flags. " -" or " /" denotes the start of a flag. 65 # The same sequence inside double quotation marks is ignored. 66 # Spaces not within quotes are cleaned meaningfully. 67 # This macro cannot cope with semicolons in the flag string! 68 MACRO(SEPARATE_FLAGS _flags _output_variable) 69 SET(_flags_prep " ${_flags} -") 70 STRING(REPLACE " " " ;" _flag_chunks ${_flags_prep}) # Max loop iterations 71 SET(_flag_string) 72 SET(_parsed_flags) 73 # Loop is necessary because the regex engine is greedy 74 FOREACH(_chunk ${_flag_chunks}) 75 SET(_flag_string "${_flag_string}${_chunk}") 76 # Replace all " -" and " /" inside quotation marks 77 STRING(REGEX REPLACE "^(([^\"]*\"[^\"]*\")*[^\"]*\"[^\"]*) [/-]([^\"]*\")" 78 "\\1@39535493@\\3" _flag_string "${_flag_string}") 79 # Extract one flag if possible 80 SET(_flag) 81 STRING(REGEX REPLACE "^.* [/-](.+)( [/-].*$)" "${ARGUMENT_STARTER}\\1" _flag "${_flag_string}") 82 STRING(REGEX REPLACE "^.* [/-](.+)( [/-].*$)" "\\2" _flag_string "${_flag_string}") 83 IF(NOT _flag STREQUAL _flag_string) 84 LIST(APPEND _parsed_flags "${_flag}") 85 ENDIF(NOT _flag STREQUAL _flag_string) 86 ENDFOREACH(_chunk) 60 # Linker flags, additional arguments: 61 # EXE, SHARED, MODULE: Specify a linker mode, default is all three 62 MACRO(SET_LINKER_FLAGS _flags) 63 _INTERNAL_PARSE_FLAGS_ARGS(SET "EXE;SHARED;MODULE" "_LINKER" "${_flags}" "${ARGN}") 64 ENDMACRO(SET_LINKER_FLAGS) 65 # Add flags (flags don't get added twice) 66 MACRO(ADD_LINKER_FLAGS _flags) 67 _INTERNAL_PARSE_FLAGS_ARGS(APPEND "EXE;SHARED;MODULE" "_LINKER" "${_flags}" "${ARGN}") 68 ENDMACRO(ADD_LINKER_FLAGS) 69 # Remove flags 70 MACRO(REMOVE_LINKER_FLAGS _flags) 71 _INTERNAL_PARSE_FLAGS_ARGS(REMOVE_ITEM "EXE;SHARED;MODULE" "_LINKER" "${_flags}" "${ARGN}") 72 ENDMACRO(REMOVE_LINKER_FLAGS) 87 73 88 # Re-replace all " -" and " /" inside quotation marks89 STRING(REGEX REPLACE "@39535493@" " -" ${_output_variable} "${_parsed_flags}")90 ENDMACRO(SEPARATE_FLAGS)91 92 # Internal macro, do not use93 # Modifies the flags according to the mode: set, add or remove94 # Also sets flags according to the CACHE and FORCE parameter.95 # If only CACHE is specified, SET_CACHE() is used.96 MACRO(_INTERNAL_PARSE_FLAGS _mode _flags _varname _write_to_cache _force)97 SEPARATE_FLAGS("${_flags}" _arg_flag_list)98 99 IF("${_mode}" STREQUAL "SET")100 # SET101 SET(_flag_list "${_arg_flag_list}")102 ELSE()103 # ADD or REMOVE104 SEPARATE_FLAGS("${${_varname}}" _flag_list)105 FOREACH(_flag ${_arg_flag_list})106 LIST(${_mode} _flag_list "${_flag}")107 ENDFOREACH(_flag)108 ENDIF()109 110 LIST(REMOVE_DUPLICATES _flag_list)111 LIST(SORT _flag_list)112 STRING(REPLACE ";" " " _flag_list "${_flag_list}")113 114 IF(_write_to_cache)115 IF(_force)116 SET(${_varname} "${_flag_list}" CACHE STRING "${${_varname}}" FORCE)117 SET(${_varname} "${_flag_list}" CACHE STRING "${${_varname}}" FORCE)118 ELSE()119 SET_CACHE(${_varname} STRING "${${_varname}}" "${_flag_list}")120 ENDIF()121 ELSE()122 SET(${_varname} "${_flag_list}")123 ENDIF()124 ENDMACRO(_INTERNAL_PARSE_FLAGS)125 74 126 75 # Internal macro, do not use … … 155 104 IF(_invert_condition) 156 105 SET(_invert_condition FALSE) 157 IF(${_arg})106 IF(${_arg}) 158 107 SET(_arg_cond FALSE) 159 ELSE()108 ELSE() 160 109 SET(_arg_cond TRUE) 161 ENDIF()110 ENDIF() 162 111 ELSE() 163 112 SET(_arg_cond ${${_arg}}) … … 191 140 192 141 193 # Compiler flags, additional arguments: 194 # C, CXX: Specify a language, default is both 195 MACRO(SET_COMPILER_FLAGS _flags) 196 _INTERNAL_PARSE_FLAGS_ARGS(SET "C;CXX" "" "${_flags}" "${ARGN}") 197 ENDMACRO(SET_COMPILER_FLAGS) 198 # Add flags (flags don't get added twice) 199 MACRO(ADD_COMPILER_FLAGS _flags) 200 _INTERNAL_PARSE_FLAGS_ARGS(APPEND "C;CXX" "" "${_flags}" "${ARGN}") 201 ENDMACRO(ADD_COMPILER_FLAGS) 202 # Remove flags 203 MACRO(REMOVE_COMPILER_FLAGS _flags) 204 _INTERNAL_PARSE_FLAGS_ARGS(REMOVE_ITEM "C;CXX" "" "${_flags}" "${ARGN}") 205 ENDMACRO(REMOVE_COMPILER_FLAGS) 142 # Internal macro, do not use 143 # Modifies the flags according to the mode: set, add or remove 144 # Also sets flags according to the CACHE and FORCE parameter. 145 # If only CACHE is specified, SET_CACHE_ADVANCED() is used. 146 MACRO(_INTERNAL_PARSE_FLAGS _mode _flags _varname _write_to_cache _force) 147 SEPARATE_FLAGS("${_flags}" _arg_flag_list) 206 148 207 # Linker flags, additional arguments: 208 # EXE, SHARED, MODULE: Specify a linker mode, default is all three 209 MACRO(SET_LINKER_FLAGS _flags) 210 _INTERNAL_PARSE_FLAGS_ARGS(SET "EXE;SHARED;MODULE" "_LINKER" "${_flags}" "${ARGN}") 211 ENDMACRO(SET_LINKER_FLAGS) 212 # Add flags (flags don't get added twice) 213 MACRO(ADD_LINKER_FLAGS _flags) 214 _INTERNAL_PARSE_FLAGS_ARGS(APPEND "EXE;SHARED;MODULE" "_LINKER" "${_flags}" "${ARGN}") 215 ENDMACRO(ADD_LINKER_FLAGS) 216 # Remove flags 217 MACRO(REMOVE_LINKER_FLAGS _flags) 218 _INTERNAL_PARSE_FLAGS_ARGS(REMOVE_ITEM "EXE;SHARED;MODULE" "_LINKER" "${_flags}" "${ARGN}") 219 ENDMACRO(REMOVE_LINKER_FLAGS) 149 IF("${_mode}" STREQUAL "SET") 150 # SET 151 SET(_flag_list "${_arg_flag_list}") 152 ELSE() 153 # ADD or REMOVE 154 SEPARATE_FLAGS("${${_varname}}" _flag_list) 155 IF(NOT _flag_list) 156 SET(_flag_list "") # LIST command requires a list in any case 157 ENDIF() 158 FOREACH(_flag ${_arg_flag_list}) 159 LIST(${_mode} _flag_list "${_flag}") 160 ENDFOREACH(_flag) 161 ENDIF() 162 163 LIST(REMOVE_DUPLICATES _flag_list) 164 LIST(SORT _flag_list) 165 STRING(REPLACE ";" " " _flag_list "${_flag_list}") 166 167 IF(_write_to_cache) 168 IF(_force) 169 SET(${_varname} "${_flag_list}" CACHE STRING "${${_varname}}" FORCE) 170 SET(${_varname} "${_flag_list}" CACHE STRING "${${_varname}}" FORCE) 171 ELSE() 172 SET_CACHE_ADVANCED(${_varname} STRING "${${_varname}}" "${_flag_list}") 173 ENDIF() 174 ELSE() 175 SET(${_varname} "${_flag_list}") 176 ENDIF() 177 ENDMACRO(_INTERNAL_PARSE_FLAGS) -
code/trunk/cmake/GenerateToluaBindings.cmake
r2710 r3196 48 48 ) 49 49 SOURCE_GROUP("Tolua" FILES ${_tolua_cxxfile} ${_tolua_hfile}) 50 # Disable annoying GCC warnings 51 IF(CMAKE_COMPILER_IS_GNU) 52 SET_SOURCE_FILES_PROPERTIES(${_tolua_cxxfile} PROPERTIES COMPILE_FLAGS "-w") 53 ENDIF() 50 54 51 55 # Create temporary package file -
code/trunk/cmake/LibraryConfig.cmake
r2925 r3196 67 67 INCLUDE(PackageConfigMinGW) 68 68 INCLUDE(PackageConfigMSVC) 69 70 # On Windows, DLLs have to be in the executable folder, install them 71 IF(DEP_BINARY_DIR AND WIN32) 72 # When installing a debug version, we really can't know which libraries 73 # are used in released mode because there might be deps of deps. 74 INSTALL( 75 DIRECTORY ${DEP_BINARY_DIR}/ 76 DESTINATION bin 77 CONFIGURATIONS Debug 78 REGEX "^.*\\.pdb$" EXCLUDE 79 ) 80 81 # Try to filter out all the debug libraries. If the regex doesn't do the 82 # job anymore, simply adjust it. 83 INSTALL( 84 DIRECTORY ${DEP_BINARY_DIR}/ 85 DESTINATION bin 86 CONFIGURATIONS Release RelWithDebInfo MinSizeRel 87 REGEX "_[Dd]\\.[a-zA-Z0-9+-]+$|-mt-gd-|^.*\\.pdb$" EXCLUDE 88 ) 89 ENDIF(DEP_BINARY_DIR AND WIN32) 90 ENDIF(NOT DEPENDENCY_PACKAGE_DIR) 69 INCLUDE(PackageConfig) # For both msvc and mingw 70 ENDIF() 91 71 ENDIF(DEPENDENCY_PACKAGE_ENABLE) 92 72 … … 172 152 ##### Boost ##### 173 153 # Expand the next statement if newer boost versions than 1.36.1 are released 174 SET(Boost_ADDITIONAL_VERSIONS 1.37 1.37.0 )154 SET(Boost_ADDITIONAL_VERSIONS 1.37 1.37.0 1.38 1.38.0 1.39 1.39.0) 175 155 # MSVC seems to be the only compiler requiring date_time 176 156 IF(MSVC) -
code/trunk/cmake/PackageConfigMSVC.cmake
r2710 r3196 28 28 IF(MSVC) 29 29 30 # MAJOR: Interface breaking change somewhere or added a new library31 # MINOR: Updated a library to a new version32 # PATCH: Bug fix or smaller things33 SET(DEPENDENCY_VERSION 0.0.1)34 35 MESSAGE(STATUS "Using library package for the dependencies.")36 37 30 # 64 bit system? 38 31 IF(CMAKE_SIZEOF_VOID_P EQUAL 8) … … 45 38 STRING(REGEX REPLACE "^Visual Studio ([0-9][0-9]?) .*$" "\\1" 46 39 _msvc_version "${CMAKE_GENERATOR}") 47 IF(MSVC71)48 SET(_msvc_version "7.1")49 ENDIF(MSVC71)50 40 51 41 SET(DEP_INCLUDE_DIR ${DEPENDENCY_PACKAGE_DIR}/include) … … 62 52 SET(CMAKE_LIBRARY_PATH ${DEP_LIBRARY_DIR}) 63 53 64 # Include paths and other special treatments 65 SET(ENV{ALUTDIR} ${DEP_INCLUDE_DIR}/freealut-1.1.0) 66 SET(ENV{BOOST_ROOT} ${DEP_INCLUDE_DIR}/boost-1.37.0) 67 SET(ENV{CEGUIDIR} ${DEP_INCLUDE_DIR}/cegui-0.6.2) 68 SET(ENV{DXSDK_DIR} ${DEP_INCLUDE_DIR}/directx-2007.aug) 69 SET(ENV{ENETDIR} ${DEP_INCLUDE_DIR}/enet-1.2) 70 SET(ENV{LUA_DIR} ${DEP_INCLUDE_DIR}/lua-5.1.4) 71 SET(ENV{OGGDIR} ${DEP_INCLUDE_DIR}/libogg-1.1.3) 72 SET(ENV{VORBISDIR} ${DEP_INCLUDE_DIR}/libvorbis-1.2.0) 73 SET(ENV{OGRE_HOME} ${DEP_INCLUDE_DIR}/ogre-1.4.9) 74 SET(ENV{OGRE_PLUGIN_DIR} ${DEP_BINARY_DIR}) 75 SET(ENV{OPENALDIR} ${DEP_INCLUDE_DIR}/openal-1.1) 76 LIST(APPEND CMAKE_INCLUDE_PATH ${DEP_INCLUDE_DIR}/tcl-8.5.2/include) 77 SET(TCL_LIBRARY ${DEP_LIBRARY_DIR}/tcl85.lib CACHE FILEPATH "") 78 LIST(APPEND CMAKE_INCLUDE_PATH ${DEP_INCLUDE_DIR}/zlib-1.2.3/include) 79 SET(ZLIB_LIBRARY ${DEP_LIBRARY_DIR}/zdll.lib CACHE FILEPATH "") 54 # Certain find scripts don't behave as ecpected to we have 55 # to specify the libraries ourselves. 56 SET(TCL_LIBRARY ${DEP_LIBRARY_DIR}/tcl85.lib CACHE FILEPATH "") 57 SET(ZLIB_LIBRARY ${DEP_LIBRARY_DIR}/zdll.lib CACHE FILEPATH "") 58 59 # Visual Leak Detector 60 SET(VLD_INCLUDE_DIR ${DEP_INCLUDE_DIR}/vld-1.9h CACHE PATH "") 61 SET(VLD_LIBRARY_DIR ${DEP_LIBRARY_DIR} CACHE PATH "") 62 LINK_DIRECTORIES(${VLD_LIBRARY_DIR}) # Used for auto-linking 63 MARK_AS_ADVANCED(VLD_INCLUDE_DIR VLD_LIBRARY_DIR) 80 64 81 65 ENDIF(MSVC) -
code/trunk/cmake/PackageConfigMinGW.cmake
r2710 r3196 28 28 IF(MINGW) 29 29 30 # MAJOR: Interface breaking change somewhere or added a new library31 # MINOR: Updated a library to a new version32 # PATCH: Bug fix or smaller things33 SET(DEPENDENCY_VERSION 0.0.1)34 35 MESSAGE(STATUS "Using library package for the dependencies.")36 37 30 # 64 bit system? 38 31 IF(CMAKE_SIZEOF_VOID_P EQUAL 8) … … 52 45 SET(CMAKE_LIBRARY_PATH ${DEP_LIBRARY_DIR} ${DEP_BINARY_DIR}) 53 46 54 # Include paths and other special treatments 55 SET(ENV{ALUTDIR} ${DEP_INCLUDE_DIR}/freealut-1.1.0) 56 SET(ENV{BOOST_ROOT} ${DEP_INCLUDE_DIR}/boost-1.37.0) 57 SET(ENV{CEGUIDIR} ${DEP_INCLUDE_DIR}/cegui-0.6.2) 58 SET(ENV{DXSDK_DIR} ${DEP_INCLUDE_DIR}/directx-2007.aug) 59 SET(ENV{ENETDIR} ${DEP_INCLUDE_DIR}/enet-1.2) 60 SET(ENV{LUA_DIR} ${DEP_INCLUDE_DIR}/lua-5.1.4) 61 SET(ENV{OGGDIR} ${DEP_INCLUDE_DIR}/libogg-1.1.3) 62 SET(ENV{VORBISDIR} ${DEP_INCLUDE_DIR}/libvorbis-1.2.0) 63 SET(ENV{OGRE_HOME} ${DEP_INCLUDE_DIR}/ogre-1.4.9) 64 SET(ENV{OGRE_PLUGIN_DIR} ${DEP_BINARY_DIR}) 65 SET(ENV{OPENALDIR} ${DEP_INCLUDE_DIR}/openal-1.1) 66 LIST(APPEND CMAKE_INCLUDE_PATH ${DEP_INCLUDE_DIR}/tcl-8.5.2/include) 67 SET(TCL_LIBRARY ${DEP_BINARY_DIR}/tcl85.dll CACHE FILEPATH "") 68 LIST(APPEND CMAKE_INCLUDE_PATH ${DEP_INCLUDE_DIR}/zlib-1.2.3/include) 69 SET(ZLIB_LIBRARY ${DEP_BINARY_DIR}/zlib1.dll CACHE FILEPATH "") 47 # Certain find scripts don't behave as ecpected to we have 48 # to specify the libraries ourselves. 49 SET(TCL_LIBRARY ${DEP_BINARY_DIR}/tcl85.dll CACHE FILEPATH "") 50 SET(ZLIB_LIBRARY ${DEP_BINARY_DIR}/zlib1.dll CACHE FILEPATH "") 70 51 71 52 ENDIF(MINGW) -
code/trunk/doc/api/CMakeLists.txt
r2710 r3196 50 50 # use (configured) doxy.config from (out of place) BUILD tree: 51 51 SET(DOXY_CONFIG ${CMAKE_CURRENT_BINARY_DIR}/doxy.config) 52 SET(DOXY_LOGFILE ${CMAKE_CURRENT_BINARY_DIR}/doxy.log) 52 53 ELSE() 53 MESSAGE( STATUS"Warning: Could not find dox.config.in in the root directory.")54 MESSAGE(FATAL_ERROR "Warning: Could not find dox.config.in in the root directory.") 54 55 ENDIF() 55 56 … … 64 65 SET(TMP ${DOXY_OUTPUT_DIR}/html/index.hhp) 65 66 STRING(REGEX REPLACE "/" "\\\\" HHP_FILE ${TMP}) 66 ADD_CUSTOM_TARGET( chmdoc${HTML_HELP_COMPILER} ${HHP_FILE})67 ADD_DEPENDENCIES( chmdocdoc)67 ADD_CUSTOM_TARGET(doc_chm ${HTML_HELP_COMPILER} ${HHP_FILE}) 68 ADD_DEPENDENCIES(doc_chm doc) 68 69 # Adding a dependency somehow adds doc target as default build target 69 SET_TARGET_PROPERTIES(doc chmdocPROPERTIES EXCLUDE_FROM_DEFAULT_BUILD TRUE)70 SET_TARGET_PROPERTIES(doc doc_chm PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD TRUE) 70 71 ENDIF(HTML_HELP_COMPILER) 71 72 ENDIF (WIN32) … … 78 79 OPTIONAL 79 80 ) 80 # Install command always needs the directory to work81 # Install command always needs the directory 81 82 IF(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/html) 82 83 FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html) -
code/trunk/doc/api/doxy.config.in
r2891 r3196 53 53 54 54 OUTPUT_LANGUAGE = English 55 56 # This tag can be used to specify the encoding used in the generated output.57 # The encoding is not always determined by the language that is chosen,58 # but also whether or not the output is meant for Windows or non-Windows users.59 # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES60 # forces the Windows encoding (this is the default for the Windows binary),61 # whereas setting the tag to NO uses a Unix-style encoding (the default for62 # all platforms other than Windows).63 64 USE_WINDOWS_ENCODING = YES65 55 66 56 # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will … … 377 367 # documentation sections, marked by \if sectionname ... \endif. 378 368 379 ENABLED_SECTIONS = 369 ENABLED_SECTIONS = YES 380 370 381 371 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines … … 401 391 SHOW_DIRECTORIES = YES 402 392 393 # Set the SHOW_FILES tag to NO to disable the generation of the Files page. 394 # This will remove the Files entry from the Quick Index and from the Folder 395 # Tree View (if specified). The default is YES. 396 397 SHOW_FILES = YES 398 399 # Set the SHOW_NAMESPACES tag to NO to disable the generation of the 400 # Namespaces page. This will remove the Namespaces entry from the Quick Index 401 # and from the Folder Tree View (if specified). The default is YES. 402 403 SHOW_NAMESPACES = YES 404 403 405 # The FILE_VERSION_FILTER tag can be used to specify a program or script that 404 406 # doxygen should invoke to get the current version for each file (typically from the … … 460 462 # to stderr. 461 463 462 WARN_LOGFILE = @DOXY_ OUTPUT_DIR@/doxy.log464 WARN_LOGFILE = @DOXY_LOGFILE@ 463 465 464 466 #--------------------------------------------------------------------------- … … 472 474 473 475 INPUT = @CMAKE_SOURCE_DIR@/src \ 476 @CMAKE_CURRENT_SOURCE_DIR@ \ 474 477 @CMAKE_BINARY_DIR@/src 475 478 … … 518 521 # the \include command). 519 522 520 EXAMPLE_PATH = @CMAKE_ SOURCE_DIR@/doc/examples/523 EXAMPLE_PATH = @CMAKE_CURRENT_SOURCE_DIR@/examples/ 521 524 522 525 # If the value of the EXAMPLE_PATH tag contains directories, you can use the … … 542 545 # the \image command). 543 546 544 IMAGE_PATH = @CMAKE_ SOURCE_DIR@/doc/images/547 IMAGE_PATH = @CMAKE_CURRENT_SOURCE_DIR@/images/ 545 548 546 549 … … 1030 1033 # instead of the = operator. 1031 1034 1032 PREDEFINED = 1035 PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS 1033 1036 1034 1037 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then … … 1140 1143 1141 1144 UML_LOOK = NO 1142 # UML_LOOK = YES1143 1145 1144 1146 # If set to YES, the inheritance and collaboration graphs will show the … … 1196 1198 # \dotfile command). 1197 1199 1198 DOTFILE_DIRS = 1200 DOTFILE_DIRS = @CMAKE_CURRENT_SOURCE_DIR@/dot 1199 1201 1200 1202 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the … … 1222 1224 # makes dot run faster, but since only newer versions of dot (>1.8.10) 1223 1225 # support this, this feature is disabled by default. 1224 # JW 1225 # DOT_MULTI_TARGETS = NO 1226 1226 1227 DOT_MULTI_TARGETS = NO 1227 1228 … … 1245 1246 # used. If set to NO the values of all tags below this one will be ignored. 1246 1247 1247 # JW SEARCHENGINE = NO1248 1248 SEARCHENGINE = YES -
code/trunk/src/CMakeLists.txt
r3084 r3196 22 22 # various macro includes 23 23 INCLUDE(FlagUtilities) 24 INCLUDE(GenerateToluaBindings) 25 INCLUDE(InstallUtilities) 26 INCLUDE(SourceFileUtilities) 24 INCLUDE(TargetUtilities) 27 25 28 26 # Use TinyXML++ … … 31 29 ADD_COMPILER_FLAGS("-DOIS_DYNAMIC_LIB") 32 30 # Tolua binding speedup if required 33 ADD_COMPILER_FLAGS("-DTOLUA_RELEASE" Release MinSizeRel TOLUA_PARSER_RELEASE) 31 ADD_COMPILER_FLAGS("-DTOLUA_RELEASE" ORXONOX_RELEASE) 32 33 # Default linking is SHARED 34 SET(ORXONOX_DEFAULT_LINK SHARED) 34 35 35 36 ################ OrxonoxConfig.h ################ … … 76 77 77 78 SET(GENERATED_FILE_COMMENT 78 "DO NOT EDIT THIS FILE! 79 "DO NOT EDIT THIS FILE! <br> 79 80 It has been automatically generated by CMake from OrxonoxConfig.h.in") 80 81 # Copy and configure OrxonoxConfig which gets included in every file … … 83 84 CONFIGURE_FILE(SpecialConfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/SpecialConfig.h) 84 85 86 SET(ORXONOX_CONFIG_FILES 87 ${CMAKE_CURRENT_BINARY_DIR}/OrxonoxConfig.h 88 ${CMAKE_CURRENT_SOURCE_DIR}/OrxonoxConfig.h.in 89 ${CMAKE_CURRENT_BINARY_DIR}/SpecialConfig.h 90 ${CMAKE_CURRENT_SOURCE_DIR}/SpecialConfig.h.in 91 ) 85 92 86 93 ############## Include Directories ############## … … 101 108 ${DIRECTX_INCLUDE_DIR} 102 109 ${ZLIB_INCLUDE_DIR} 110 ${VLD_INCLUDE_DIR} 103 111 104 112 # All library includes are prefixed with the path to avoid conflicts … … 145 153 ADD_SUBDIRECTORY(network) 146 154 ADD_SUBDIRECTORY(orxonox) 147 148 # Apply version info149 SET_TARGET_PROPERTIES(util core network orxonox150 PROPERTIES VERSION ${ORXONOX_VERSION}) -
code/trunk/src/OrxonoxConfig.h.in
r2946 r3196 34 34 35 35 /** 36 37 36 @file 37 @brief 38 38 Various constants for compiler, architecture and platform. 39 39 @remarks 40 40 @GENERATED_FILE_COMMENT@ 41 41 */ 42 42 43 43 #ifndef _OrxonoxConfig_H__ … … 52 52 #cmakedefine ORXONOX_PLATFORM_UNIX /* Apple and Linux */ 53 53 54 / * Determine compiler and set ORXONOX_COMP_VER */54 // Determine compiler and set ORXONOX_COMP_VER 55 55 #if defined( _MSC_VER ) 56 56 # define ORXONOX_COMPILER_MSVC … … 75 75 #endif 76 76 77 / * Endianness */77 // Endianness 78 78 #cmakedefine ORXONOX_BIG_ENDIAN 79 79 #cmakedefine ORXONOX_LITTLE_ENDIAN 80 80 81 / * Architecture */81 // Architecture 82 82 #cmakedefine ORXONOX_ARCH_32 83 83 #cmakedefine ORXONOX_ARCH_64 84 84 85 / * See if we can use __forceinline or if we need to use __inline instead */85 // See if we can use __forceinline or if we need to use __inline instead 86 86 #cmakedefine HAVE_FORCEINLINE 87 87 #ifndef FORCEINLINE … … 93 93 #endif 94 94 95 / * Try to define function information */95 // Try to define function information 96 96 #ifndef __FUNCTIONNAME__ 97 97 # ifdef ORXONOX_COMPILER_BORLAND … … 115 115 #define ORXONOX_VERSION_NAME "@ORXONOX_VERSION_NAME@" 116 116 117 #define ORXONOX_VERSION ((ORXONOX_VERSION_MAJOR << 16) | (ORXONOX_VERSION_MINOR << 8) | ORXONOX_VERSION_PATCH) 117 //! Defines version info encoded as 0xMMIIPP (M: Major version, I: Minor version, P: Patch version, all as hex) 118 #define ORXONOX_VERSION \ 119 ((ORXONOX_VERSION_MAJOR << 16) | (ORXONOX_VERSION_MINOR << 8) | ORXONOX_VERSION_PATCH) 118 120 119 121 … … 123 125 #ifdef ORXONOX_PLATFORM_UNIX 124 126 125 / * TODO: Check what this actually is and whether we need it or not */127 // TODO: Check what this actually is and whether we need it or not 126 128 #if 0 127 129 # ifdef ORXONOX_PLATFORM_APPLE 128 130 # define ORXONOX_PLATFORM_LIB "OrxonoxPlatform.bundle" 129 # else 130 /* ORXONOX_PLATFORM_LINUX */ 131 # else // ORXONOX_PLATFORM_LINUX 131 132 # define ORXONOX_PLATFORM_LIB "libOrxonoxPlatform.so" 132 133 # endif … … 142 143 143 144 /*--------------------------------- 144 * Special Macros 145 *-------------------------------*/ 146 #define MACRO_CONCATENATE_AUX(a, b) a##b 147 #define MACRO_CONCATENATE(a, b) MACRO_CONCATENATE_AUX(a, b) 148 #define MACRO_QUOTEME_AUX(x) #x 149 #define MACRO_QUOTEME(x) MACRO_QUOTEME_AUX(x) 150 151 152 /*--------------------------------- 153 * Includes 154 *-------------------------------*/ 155 /* Define the english written operators like and, or, xor 156 * This is C++ standard, but the Microsoft compiler doesn't define them. */ 145 * Options 146 *-------------------------------*/ 147 /** 148 @def ORXONOX_RELEASE 149 Enables expensive (build time) optimisations and disables certain features 150 */ 151 #cmakedefine ORXONOX_RELEASE 152 153 154 /*--------------------------------- 155 * Includes and Declarations 156 *-------------------------------*/ 157 // Define the english written operators like and, or, xor 158 // This is C++ standard, but the Microsoft compiler doesn't define them. 157 159 #cmakedefine HAVE_ISO646_H 158 160 #ifdef HAVE_ISO646_H … … 181 183 */ 182 184 183 / * Visual Leak Detector looks for memory leaks */184 #cmakedefine VISUAL_LEAK_DETECTOR_ENABLE 185 #if def VISUAL_LEAK_DETECTOR_ENABLE185 // Always include the memory leak detector for MSVC except for actual releases 186 // Note: Although officially supported, VLD does not work with MSVC 9 187 #if defined(ORXONOX_COMPILER_MSVC) && _MSC_VER < 1500 && !defined(ORXONOX_RELEASE) 186 188 # include <vld.h> 187 189 #endif 188 190 191 // Forward declare the everywhere used std::string 192 namespace std 193 { 194 template<class _Elem> struct char_traits; 195 template<class _Ty> class allocator; 196 template<class _Elem, class _Traits, class _Ax> class basic_string; 197 typedef basic_string<char, char_traits<char>, allocator<char> > string; 198 } 199 189 200 #endif /* _OrxonoxConfig_H__ */ -
code/trunk/src/SpecialConfig.h.in
r2946 r3196 28 28 29 29 /** 30 31 30 @file 31 @brief 32 32 Various constants and options that only affect very little code. 33 33 @note 34 34 This is merely to avoid recompiling everything when only a path changes. 35 35 @remarks 36 36 @GENERATED_FILE_COMMENT@ 37 37 */ 38 38 39 39 #ifndef _SpecialConfig_H__ … … 41 41 42 42 #include "OrxonoxConfig.h" 43 #include <boost/preprocessor/stringize.hpp> 43 44 44 /* Set whether we must suffix "ceguilua/" for the CEGUILua.h include */ 45 /** 46 @def CEGUILUA_USE_INTERNAL_LIBRARY 47 Set whether we must suffix "ceguilua/" for the CEGUILua.h include 48 */ 45 49 #cmakedefine CEGUILUA_USE_INTERNAL_LIBRARY 46 50 47 /* Defined if a precompiled depdency package was used. We then copy all libraries 48 too when installing. */ 51 /** 52 @def DEPENDENCY_PACKAGE_ENABLE 53 Defined if a precompiled depdency package was used. We then copy all libraries 54 too when installing. 55 */ 49 56 #cmakedefine DEPENDENCY_PACKAGE_ENABLE 50 57 51 /* Orxonox either gets installed to the system or just into a folder. 52 The latter uses relative paths. */ 58 /** 59 @def INSTALL_COPYABLE 60 Orxonox either gets installed to the system or just into a folder. 61 The latter uses relative paths. 62 */ 53 63 #cmakedefine INSTALL_COPYABLE 54 64 55 /* Using MSVC or XCode IDE */ 65 /** 66 @def CMAKE_CONFIGURATION_TYPES 67 Using MSVC or XCode IDE 68 */ 56 69 #cmakedefine CMAKE_CONFIGURATION_TYPES 57 70 58 / * Handle default ConfigValues */71 // Handle default ConfigValues 59 72 namespace orxonox 60 73 { 61 const char* const ORXONOX_RUNTIME_INSTALL_PATH("@ORXONOX_RUNTIME_INSTALL_PATH@"); 62 const char* const ORXONOX_MEDIA_INSTALL_PATH ("@ORXONOX_MEDIA_INSTALL_PATH@"); 74 // INSTALLATION PATHS 75 const char ORXONOX_RUNTIME_INSTALL_PATH[] = "@ORXONOX_RUNTIME_INSTALL_PATH@"; 76 const char ORXONOX_MEDIA_INSTALL_PATH[] = "@ORXONOX_MEDIA_INSTALL_PATH@"; 63 77 /* Config and Log path might be relative because they could be user and therefore runtime dependent */ 64 const char * const ORXONOX_CONFIG_INSTALL_PATH ("@ORXONOX_CONFIG_INSTALL_PATH@");65 const char * const ORXONOX_LOG_INSTALL_PATH ("@ORXONOX_LOG_INSTALL_PATH@");78 const char ORXONOX_CONFIG_INSTALL_PATH[] = "@ORXONOX_CONFIG_INSTALL_PATH@"; 79 const char ORXONOX_LOG_INSTALL_PATH[] = "@ORXONOX_LOG_INSTALL_PATH@"; 66 80 67 const char* const ORXONOX_MEDIA_DEV_PATH ("@CMAKE_MEDIA_OUTPUT_DIRECTORY@"); 81 // DEVELOPMENT RUN PATHS 82 const char ORXONOX_MEDIA_DEV_PATH[] = "@CMAKE_MEDIA_OUTPUT_DIRECTORY@"; 68 83 #ifdef CMAKE_CONFIGURATION_TYPES 69 const char * const ORXONOX_CONFIG_DEV_PATH ("@CMAKE_CONFIG_OUTPUT_DIRECTORY@/" MACRO_QUOTEME(CMAKE_BUILD_TYPE));70 const char * const ORXONOX_LOG_DEV_PATH ("@CMAKE_LOG_OUTPUT_DIRECTORY@/" MACRO_QUOTEME(CMAKE_BUILD_TYPE));84 const char ORXONOX_CONFIG_DEV_PATH[] = "@CMAKE_CONFIG_OUTPUT_DIRECTORY@/" BOOST_PP_STRINGIZE(CMAKE_BUILD_TYPE); 85 const char ORXONOX_LOG_DEV_PATH[] = "@CMAKE_LOG_OUTPUT_DIRECTORY@/" BOOST_PP_STRINGIZE(CMAKE_BUILD_TYPE); 71 86 #else 72 const char * const ORXONOX_CONFIG_DEV_PATH ("@CMAKE_CONFIG_OUTPUT_DIRECTORY@");73 const char * const ORXONOX_LOG_DEV_PATH ("@CMAKE_LOG_OUTPUT_DIRECTORY@");87 const char ORXONOX_CONFIG_DEV_PATH[] = "@CMAKE_CONFIG_OUTPUT_DIRECTORY@"; 88 const char ORXONOX_LOG_DEV_PATH[] = "@CMAKE_LOG_OUTPUT_DIRECTORY@"; 74 89 #endif 75 90 76 91 /* OGRE Plugins */ 77 92 #ifdef NDEBUG 78 const char * const ORXONOX_OGRE_PLUGINS("@OGRE_PLUGINS_RELEASE@");93 const char ORXONOX_OGRE_PLUGINS[] = "@OGRE_PLUGINS_RELEASE@"; 79 94 # ifdef DEPENDENCY_PACKAGE_ENABLE 80 const char * const ORXONOX_OGRE_PLUGINS_FOLDER(".");95 const char ORXONOX_OGRE_PLUGINS_FOLDER[] = "."; 81 96 # else 82 const char * const ORXONOX_OGRE_PLUGINS_FOLDER("@OGRE_PLUGINS_FOLDER_RELEASE@");97 const char ORXONOX_OGRE_PLUGINS_FOLDER[] = "@OGRE_PLUGINS_FOLDER_RELEASE@"; 83 98 # endif 84 99 #else 85 const char * const ORXONOX_OGRE_PLUGINS("@OGRE_PLUGINS_DEBUG@");100 const char ORXONOX_OGRE_PLUGINS[] = "@OGRE_PLUGINS_DEBUG@"; 86 101 # ifdef DEPENDENCY_PACKAGE_ENABLE 87 const char * const ORXONOX_OGRE_PLUGINS_FOLDER(".");102 const char ORXONOX_OGRE_PLUGINS_FOLDER[] = "."; 88 103 # else 89 const char * const ORXONOX_OGRE_PLUGINS_FOLDER("@OGRE_PLUGINS_FOLDER_DEBUG@");104 const char ORXONOX_OGRE_PLUGINS_FOLDER[] = "@OGRE_PLUGINS_FOLDER_DEBUG@"; 90 105 # endif 91 106 #endif 92 107 } 93 108 109 /** 110 @def ORXONOX_USE_WINMAIN 111 Use main() or WinMain()? 112 */ 113 #cmakedefine ORXONOX_USE_WINMAIN 114 94 115 #endif /* _SpecialConfig_H__ */ -
code/trunk/src/bullet/CMakeLists.txt
r2710 r3196 27 27 ADD_SUBDIRECTORY(LinearMath) 28 28 29 GENERATE_SOURCE_GROUPS(${BULLET_FILES})30 31 29 # No warnings needed from third party libraries 32 30 REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC) 33 31 ADD_COMPILER_FLAGS("-w") 34 32 35 IF(MSVC) 36 ADD_LIBRARY(bullet_orxonox STATIC ${BULLET_FILES})37 ELSE(MSVC) 38 ADD_LIBRARY(bullet_orxonox SHARED ${BULLET_FILES})39 ORXONOX_INSTALL(bullet_orxonox)40 ENDIF(MSVC) 41 42 SET_TARGET_PROPERTIES(bullet_orxonox PROPERTIES VERSION 2.73)33 ORXONOX_ADD_LIBRARY(bullet_orxonox 34 ORXONOX_EXTERNAL 35 NO_DLL_INTERFACE 36 VERSION 37 2.74 38 SOURCE_FILES 39 ${BULLET_FILES} 40 ) -
code/trunk/src/ceguilua/CMakeLists.txt
r2710 r3196 75 75 SET(CEGUILUA_LIBRARY ceguilua_orxonox) 76 76 SET(CEGUILUA_LIBRARY ${CEGUILUA_LIBRARY} PARENT_SCOPE) 77 ADD_LIBRARY(${CEGUILUA_LIBRARY} SHARED ${CEGUILUA_FILES}) 78 SET_TARGET_PROPERTIES(${CEGUILUA_LIBRARY} PROPERTIES DEFINE_SYMBOL "CEGUILUA_EXPORTS") 79 TARGET_LINK_LIBRARIES(${CEGUILUA_LIBRARY} 80 tolua++_orxonox 81 ${LUA_LIBRARIES} 82 ${CEGUI_LIBRARY} 77 ORXONOX_ADD_LIBRARY(${CEGUILUA_LIBRARY} 78 ORXONOX_EXTERNAL 79 NO_SOURCE_GROUPS 80 DEFINE_SYMBOL 81 "CEGUILUA_EXPORTS" 82 VERSION 83 ${CEGUI_VERSION} 84 LINK_LIBRARIES 85 tolua++_orxonox 86 ${LUA_LIBRARIES} 87 ${CEGUI_LIBRARY} 88 SOURCE_FILES 89 ${CEGUILUA_FILES} 83 90 ) 84 85 SET_TARGET_PROPERTIES(ceguilua_orxonox PROPERTIES VERSION ${CEGUI_VERSION})86 87 ORXONOX_INSTALL(ceguilua_orxonox) -
code/trunk/src/core/ArgumentCompletionFunctions.cc
r2759 r3196 29 29 #include "ArgumentCompletionFunctions.h" 30 30 31 #include <iostream>32 31 #include <map> 33 32 #include <boost/version.hpp> 34 33 #include <boost/filesystem.hpp> 35 34 36 #include "CoreIncludes.h" 35 #include "util/Convert.h" 36 #include "util/String.h" 37 37 #include "Identifier.h" 38 38 #include "ConfigValueContainer.h" 39 39 #include "TclThreadManager.h" 40 #include "util/Convert.h"41 #include "util/String.h"42 40 43 41 // Boost 1.36 has some issues with deprecated functions that have been omitted -
code/trunk/src/core/ArgumentCompletionListElement.h
r1784 r3196 32 32 #include "CorePrereqs.h" 33 33 34 #include <list> 34 35 #include <string> 35 #include <list>36 37 36 38 37 namespace orxonox -
code/trunk/src/core/BaseObject.cc
r2710 r3196 36 36 #include <tinyxml/tinyxml.h> 37 37 38 #include "util/String.h" 38 39 #include "CoreIncludes.h" 40 #include "Event.h" 39 41 #include "EventIncludes.h" 40 42 #include "Functor.h" 41 #include "XMLPort.h" 43 #include "Iterator.h" 44 #include "Template.h" 42 45 #include "XMLFile.h" 43 46 #include "XMLNameListener.h" 44 #include "Template.h" 45 #include "util/String.h" 46 #include "util/mbool.h" 47 #include "XMLPort.h" 47 48 48 49 namespace orxonox … … 293 294 void BaseObject::processEvent(Event& event) 294 295 { 295 SetEvent(BaseObject, "activity", setActive, event);296 SetEvent(BaseObject, "visibility", setVisible, event);296 ORXONOX_SET_EVENT(BaseObject, "activity", setActive, event); 297 ORXONOX_SET_EVENT(BaseObject, "visibility", setVisible, event); 297 298 } 298 299 -
code/trunk/src/core/BaseObject.h
r2662 r3196 44 44 } 45 45 46 47 #include "CorePrereqs.h" 48 46 49 #include <map> 47 48 #include "CorePrereqs.h" 49 50 #include <list> 51 52 #include "util/mbool.h" 53 #include "OrxonoxClass.h" 50 54 #include "Super.h" 51 #include "OrxonoxClass.h"52 #include "XMLIncludes.h"53 #include "Event.h"54 #include "util/mbool.h"55 55 56 56 namespace orxonox -
code/trunk/src/core/CMakeLists.txt
r3036 r3196 63 63 ) 64 64 ADD_SUBDIRECTORY(input) 65 GET_ALL_HEADER_FILES(CORE_HDR_FILES)66 SET(CORE_FILES ${CORE_SRC_FILES} ${CORE_HDR_FILES})67 65 68 GENERATE_SOURCE_GROUPS(${CORE_FILES}) 69 GENERATE_TOLUA_BINDINGS(Core CORE_FILES INPUTFILES LuaBind.h CommandExecutor.h Game.h) 70 71 ADD_LIBRARY(core SHARED ${CORE_FILES}) 72 73 SET_TARGET_PROPERTIES(core PROPERTIES DEFINE_SYMBOL "CORE_SHARED_BUILD") 74 TARGET_LINK_LIBRARIES(core 75 ${OGRE_LIBRARY} 76 ${Boost_THREAD_LIBRARY} 77 ${Boost_FILESYSTEM_LIBRARY} 78 ${Boost_SYSTEM_LIBRARY} 79 ${Boost_DATE_TIME_LIBRARY} # MSVC only 80 ${LUA_LIBRARIES} 81 cpptcl_orxonox 82 ois_orxonox 83 tinyxml++_orxonox 84 tolua++_orxonox 85 util 66 ORXONOX_ADD_LIBRARY(core 67 FIND_HEADER_FILES 68 TOLUA_FILES 69 CommandExecutor.h 70 Game.h 71 LuaBind.h 72 DEFINE_SYMBOL 73 "CORE_SHARED_BUILD" 74 PCH_FILE 75 CorePrecompiledHeaders.h 76 LINK_LIBRARIES 77 ${OGRE_LIBRARY} 78 ${Boost_THREAD_LIBRARY} 79 ${Boost_FILESYSTEM_LIBRARY} 80 ${Boost_SYSTEM_LIBRARY} 81 ${Boost_DATE_TIME_LIBRARY} # MSVC only 82 ${LUA_LIBRARIES} 83 cpptcl_orxonox 84 ois_orxonox 85 tinyxml++_orxonox 86 tolua++_orxonox 87 util 88 SOURCE_FILES 89 ${CORE_SRC_FILES} 86 90 ) 87 88 ORXONOX_INSTALL(core) -
code/trunk/src/core/ClassFactory.h
r2171 r3196 41 41 #include <string> 42 42 43 #include "util/Debug.h" 43 44 #include "Factory.h" 44 45 #include "Identifier.h" 45 #include "util/Debug.h"46 46 47 47 namespace orxonox … … 88 88 */ 89 89 template <class T> 90 BaseObject* ClassFactory<T>::fabricate(BaseObject* creator)90 inline BaseObject* ClassFactory<T>::fabricate(BaseObject* creator) 91 91 { 92 92 return ClassFactory<T>::createNewObject(creator); … … 98 98 */ 99 99 template <class T> 100 T* ClassFactory<T>::createNewObject(BaseObject* creator)100 inline T* ClassFactory<T>::createNewObject(BaseObject* creator) 101 101 { 102 102 return new T(creator); -
code/trunk/src/core/ClassTreeMask.cc
r2171 r3196 34 34 #include "ClassTreeMask.h" 35 35 #include "Identifier.h" 36 #include "BaseObject.h"37 36 38 37 namespace orxonox -
code/trunk/src/core/ClassTreeMask.h
r2171 r3196 75 75 #include <list> 76 76 #include <stack> 77 77 #include "BaseObject.h" 78 78 #include "Iterator.h" 79 #include "BaseObject.h"80 79 81 80 namespace orxonox -
code/trunk/src/core/Clock.cc
r1755 r3196 57 57 tickTime_ = storedTime_ + timersTime; 58 58 tickDt_ = timersTime - lastTimersTime_; 59 tickDtFloat_ = (float)tickDt_/ 1000000.0f;59 tickDtFloat_ = static_cast<float>(tickDt_) / 1000000.0f; 60 60 61 61 if (timersTime > 0x7FFFFFF0) -
code/trunk/src/core/Clock.h
r2896 r3196 39 39 40 40 #include "CorePrereqs.h" 41 #include <OgrePrerequisites.h>41 #include "util/OgreForwardRefs.h" 42 42 43 43 namespace orxonox … … 53 53 unsigned long long getMicroseconds() const { return tickTime_; } 54 54 unsigned long long getMilliseconds() const { return tickTime_ / 1000; } 55 int getSeconds() const { return tickTime_ / 1000000; }56 float getSecondsPrecise() const { return (float)tickTime_ / 1000000.0f; }55 unsigned long getSeconds() const { return static_cast<long> (tickTime_ / 1000000); } 56 float getSecondsPrecise() const { return static_cast<float>(tickTime_ / 1000000.0f); } 57 57 58 58 float getDeltaTime() const { return tickDtFloat_; } 59 intgetDeltaTimeMicroseconds() const { return tickDt_; }59 long getDeltaTimeMicroseconds() const { return tickDt_; } 60 60 61 61 unsigned long long getRealMicroseconds() const; … … 67 67 unsigned long long storedTime_; 68 68 unsigned long long tickTime_; 69 inttickDt_;69 long tickDt_; 70 70 float tickDtFloat_; 71 71 unsigned long lastTimersTime_; -
code/trunk/src/core/CommandEvaluation.cc
r2087 r3196 28 28 29 29 #include "CommandEvaluation.h" 30 31 #include "util/Debug.h" 32 #include "util/String.h" 30 33 #include "ConsoleCommand.h" 31 34 #include "Identifier.h" 32 #include "util/Debug.h"33 #include "util/String.h"34 35 35 36 namespace orxonox -
code/trunk/src/core/CommandExecutor.cc
r3035 r3196 28 28 29 29 #include "CommandExecutor.h" 30 31 #include "util/Debug.h" 32 #include "util/String.h" 30 33 #include "ConsoleCommand.h" 31 #include "util/String.h"32 #include "util/Debug.h"33 34 #include "Identifier.h" 34 35 #include "Language.h" -
code/trunk/src/core/CommandExecutor.h
r3035 r3196 33 33 34 34 #include <map> 35 #include <set> 36 #include <string> 35 37 38 #include "util/MultiType.h" 36 39 #include "CommandEvaluation.h" 37 40 -
code/trunk/src/core/CommandLine.cc
r2759 r3196 30 30 31 31 #include <boost/filesystem.hpp> 32 33 #include "util/Convert.h" 34 #include "util/Debug.h" 35 #include "util/Exception.h" 32 36 #include "util/String.h" 33 37 #include "util/SubString.h" -
code/trunk/src/core/CommandLine.h
r2662 r3196 31 31 32 32 #include "CorePrereqs.h" 33 33 34 #include <map> 34 #include "util/Convert.h" 35 #include "util/Debug.h" 36 #include "util/Exception.h" 35 #include "util/OrxAssert.h" 37 36 #include "util/MultiType.h" 38 37 -
code/trunk/src/core/ConfigFileManager.cc
r2896 r3196 29 29 #include "ConfigFileManager.h" 30 30 31 #include <cassert>32 31 #include <boost/filesystem.hpp> 33 32 34 33 #include "util/Convert.h" 34 #include "util/Math.h" 35 35 #include "util/String.h" 36 36 #include "ConsoleCommand.h" … … 312 312 // There might be an array index 313 313 unsigned int index = 0; 314 if ( ConvertValue(&index, line.substr(pos2 + 1, pos3 - pos2 - 1)))314 if (convertValue(&index, line.substr(pos2 + 1, pos3 - pos2 - 1))) 315 315 { 316 316 // New array -
code/trunk/src/core/ConfigFileManager.h
r2662 r3196 32 32 #include "CorePrereqs.h" 33 33 34 #include < iostream>34 #include <cassert> 35 35 #include <string> 36 36 #include <list> 37 37 #include <map> 38 38 39 #include "util/Math.h"40 39 #include "util/OrxEnum.h" 41 40 -
code/trunk/src/core/ConfigValueContainer.cc
r2662 r3196 34 34 #include "ConfigValueContainer.h" 35 35 36 #include <fstream> 37 36 #include "util/Convert.h" 38 37 #include "util/SubString.h" 39 #include "util/Convert.h"40 38 #include "Language.h" 41 #include "Identifier.h"42 43 44 39 45 40 namespace orxonox … … 303 298 304 299 if (token.size() > 0) 305 success = ConvertValue(&index, token[0]);300 success = convertValue(&index, token[0]); 306 301 307 302 if (!success || index < 0 || index > (signed int)MAX_VECTOR_INDEX) -
code/trunk/src/core/ConfigValueContainer.h
r2662 r3196 49 49 #include <vector> 50 50 51 #include "util/Math.h"52 51 #include "util/MultiType.h" 53 52 #include "ConfigFileManager.h" -
code/trunk/src/core/ConsoleCommand.h
r2662 r3196 32 32 #include "CorePrereqs.h" 33 33 34 #include "ArgumentCompletionFunctions.h" 35 #include "CommandExecutor.h" 34 36 #include "Executor.h" 35 37 #include "Identifier.h" 36 #include "CommandExecutor.h"37 #include "ArgumentCompletionFunctions.h"38 38 39 39 -
code/trunk/src/core/ConsoleCommandCompilation.cc
r1747 r3196 28 28 29 29 #include "ConsoleCommandCompilation.h" 30 #include "ConsoleCommand.h" 30 31 #include <fstream> 32 #include <set> 33 #include <string> 34 31 35 #include "util/Debug.h" 32 36 #include "util/ExprParser.h" 37 #include "ConsoleCommand.h" 33 38 34 39 namespace orxonox … … 165 170 COUT(2) << "Warning: Expression could not be parsed to the end! Remains: '" << expr.getRemains() << "'" << std::endl; 166 171 } 167 return expr.getResult();172 return static_cast<float>(expr.getResult()); 168 173 } 169 174 else -
code/trunk/src/core/ConsoleCommandCompilation.h
r1505 r3196 32 32 #include "CorePrereqs.h" 33 33 34 #include <string>35 36 34 namespace orxonox 37 35 { -
code/trunk/src/core/Core.cc
r3103 r3196 29 29 30 30 /** 31 @file 32 @brief Implementation of the Core class. 31 @file 32 @brief 33 Implementation of the Core singleton with its global variables (avoids boost include) 33 34 */ 34 35 … … 81 82 static boost::filesystem::path logPath_g; //!< Path to the log file folder 82 83 84 //! Static pointer to the singleton 83 85 Core* Core::singletonRef_s = 0; 84 86 … … 365 367 if (!bInitialized && this->bInitializeRandomNumberGenerator_) 366 368 { 367 srand( time(0));369 srand(static_cast<unsigned int>(time(0))); 368 370 rand(); 369 371 bInitialized = true; … … 472 474 If found it means that this is not an installed run, hence we 473 475 don't write the logs and config files to ~/.orxonox 476 @throws 477 GeneralException 474 478 */ 475 479 void Core::checkDevBuild() … … 532 536 Checks for the log and the config directory and creates them 533 537 if necessary. Otherwise me might have problems opening those files. 538 @throws 539 orxonox::GeneralException if the directory to be created is a file. 534 540 */ 535 541 void Core::createDirectories() 536 542 { 537 543 std::vector<std::pair<boost::filesystem::path, std::string> > directories; 538 directories.push_back(std::pair<boost::filesystem::path, std::string> 539 (boost::filesystem::path(configPath_g), "config")); 540 directories.push_back(std::pair<boost::filesystem::path, std::string> 541 (boost::filesystem::path(logPath_g), "log")); 544 directories.push_back(std::make_pair(boost::filesystem::path(configPath_g), "config")); 545 directories.push_back(std::make_pair(boost::filesystem::path(logPath_g), "log")); 542 546 543 547 for (std::vector<std::pair<boost::filesystem::path, std::string> >::iterator it = directories.begin(); -
code/trunk/src/core/Core.h
r2896 r3196 29 29 30 30 /** 31 @file 32 @brief Declaration of the Core class. 33 31 @file 32 @brief 33 Declaration of the Core class. 34 @details 34 35 The Core class is a singleton, only used to configure some variables 35 36 in the core through the config-file. … … 45 46 #include "util/OutputHandler.h" 46 47 47 // boost::filesystem header has quite a large tail, use forward declaration48 namespace boost { namespace filesystem49 {50 struct path_traits;51 template<class String, class Traits> class basic_path;52 typedef basic_path< std::string, path_traits> path;53 } }54 55 48 namespace orxonox 56 49 { 57 //! The Core class is a singleton, only used to configure some config-values. 50 /** 51 @brief 52 The Core class is a singleton used to configure the program basics. 53 @details 54 The class provides information about the media, config and log path. 55 It determines those by the use of platform specific functions. 56 */ 58 57 class _CoreExport Core : public OrxonoxClass 59 58 { 60 59 public: 60 /** 61 @brief 62 Determines the executable path, checks for build directory runs, creates 63 the output directories and sets up the other core library singletons. 64 @throws 65 GeneralException 66 */ 61 67 Core(); 62 68 ~Core(); … … 76 82 static void tsetMediaPath(const std::string& path) 77 83 { assert(singletonRef_s); singletonRef_s->_tsetMediaPath(path); } 84 //! Returns the path to the config files as boost::filesystem::path 78 85 static const boost::filesystem::path& getMediaPath(); 86 //! Returns the path to the config files as boost::filesystem::path 79 87 static const boost::filesystem::path& getConfigPath(); 88 //! Returns the path to the log files as boost::filesystem::path 80 89 static const boost::filesystem::path& getLogPath(); 90 //! Returns the path to the data files as std::string 81 91 static std::string getMediaPathString(); 92 //! Returns the path to the config files as std::string 82 93 static std::string getConfigPathString(); 94 //! Returns the path to the log files as std::string 83 95 static std::string getLogPathString(); 84 96 85 97 private: 86 Core(const Core&); 98 Core(const Core&); //!< Don't use (undefined symbol) 87 99 88 100 void checkDevBuild(); -
code/trunk/src/core/CoreIncludes.h
r2171 r3196 43 43 #include "CorePrereqs.h" 44 44 45 #include "util/Debug.h" 45 46 #include "Identifier.h" 46 47 #include "Factory.h" 47 48 #include "ClassFactory.h" 48 #include "Functor.h" 49 #include "util/Debug.h" 49 #include "ObjectList.h" 50 50 51 51 … … 129 129 orxonox::Factory::getIdentifier(networkID) 130 130 131 /**132 @brief Registers a member function as callback when an object of 'type' is created.133 @param134 */135 #define RegisterConstructionCallback(ThisClassName, TargetClassName, FunctionName) \136 orxonox::ClassIdentifier<TargetClassName>::getIdentifier()->addConstructionCallback( \137 orxonox::createFunctor(&ThisClassName::FunctionName)->setObject(this))138 139 131 #endif /* _CoreIncludes_H__ */ -
code/trunk/src/core/CorePrereqs.h
r2896 r3196 36 36 37 37 #include "OrxonoxConfig.h" 38 39 #include <string>40 38 41 39 //----------------------------------------------------------------------- … … 64 62 namespace orxonox 65 63 { 66 namespace XMLPort 67 { 68 enum Mode 64 namespace XMLPort 69 65 { 70 LoadObject, 71 SaveObject, 72 ExpandObject 66 enum Mode 67 { 68 LoadObject, 69 SaveObject, 70 ExpandObject 71 }; 72 } 73 74 namespace KeybindMode 75 { 76 enum Enum 77 { 78 OnPress, 79 OnHold, 80 OnRelease, 81 None 82 }; 73 83 }; 74 } 75 76 namespace KeybindMode 77 { 78 enum Enum 79 { 80 OnPress, 81 OnHold, 82 OnRelease, 83 None 84 }; 85 }; 86 87 typedef std::string LanguageEntryLabel; 88 89 class ArgumentCompleter; 90 class ArgumentCompletionListElement; 91 class BaseFactory; 92 class BaseMetaObjectListElement; 93 class BaseObject; 94 template <class T> 95 class ClassFactory; 96 template <class T> 97 class ClassIdentifier; 98 class ClassTreeMask; 99 class ClassTreeMaskIterator; 100 class ClassTreeMaskNode; 101 class ClassTreeMaskObjectIterator; 102 class Clock; 103 class CommandEvaluation; 104 class CommandExecutor; 105 class CommandLine; 106 class CommandLineArgument; 107 class ConfigFile; 108 class ConfigFileEntry; 109 class ConfigFileEntryComment; 110 class ConfigFileEntryValue; 111 class ConfigFileManager; 112 class ConfigFileSection; 113 class ConfigValueContainer; 114 class ConsoleCommand; 115 class Core; 116 struct Event; 117 class EventContainer; 118 class Executor; 119 template <class T> 120 class ExecutorMember; 121 class ExecutorStatic; 122 class Factory; 123 class Functor; 124 template <class T> 125 class FunctorMember; 126 class FunctorStatic; 127 class Identifier; 128 class IRC; 129 template <class T> 130 class Iterator; 131 class IteratorBase; 132 class Language; 133 class LanguageEntry; 134 class Loader; 135 class LuaBind; 136 class MetaObjectList; 137 class MetaObjectListElement; 138 class Namespace; 139 class NamespaceNode; 140 template <class T> 141 class ObjectList; 142 class ObjectListBase; 143 class ObjectListBaseElement; 144 template <class T> 145 class ObjectListElement; 146 template <class T> 147 class ObjectListIterator; 148 class OrxonoxClass; 149 class Shell; 150 class ShellListener; 151 template <class T> 152 class SubclassIdentifier; 153 class TclBind; 154 struct TclInterpreterBundle; 155 class TclThreadManager; 156 class Template; 157 class Tickable; 158 class XMLFile; 159 class XMLNameListener; 160 template <class T, class O> 161 class XMLPortClassObjectContainer; 162 template <class T> 163 class XMLPortClassParamContainer; 164 class XMLPortObjectContainer; 165 class XMLPortParamContainer; 166 167 // game states 168 class Game; 169 class GameState; 170 struct GameStateTreeNode; 171 172 // input 173 class BaseCommand; 174 class BufferedParamCommand; 175 class Button; 176 class CalibratorCallback; 177 class ExtendedInputState; 178 class HalfAxis; 179 class InputBuffer; 180 class InputManager; 181 class InputState; 182 class JoyStickHandler; 183 class MouseHandler; 184 class KeyBinder; 185 class KeyDetector; 186 class KeyHandler; 187 class ParamCommand; 188 class SimpleCommand; 189 class SimpleInputState; 190 } 84 85 typedef std::string LanguageEntryLabel; 86 87 class ArgumentCompleter; 88 class ArgumentCompletionListElement; 89 class BaseFactory; 90 class BaseMetaObjectListElement; 91 class BaseObject; 92 template <class T> 93 class ClassFactory; 94 template <class T> 95 class ClassIdentifier; 96 class ClassTreeMask; 97 class ClassTreeMaskIterator; 98 class ClassTreeMaskNode; 99 class ClassTreeMaskObjectIterator; 100 class Clock; 101 class CommandEvaluation; 102 class CommandExecutor; 103 class CommandLine; 104 class CommandLineArgument; 105 class ConfigFile; 106 class ConfigFileEntry; 107 class ConfigFileEntryComment; 108 class ConfigFileEntryValue; 109 class ConfigFileManager; 110 class ConfigFileSection; 111 class ConfigValueContainer; 112 class ConsoleCommand; 113 class Core; 114 struct Event; 115 class EventContainer; 116 class Executor; 117 template <class T> 118 class ExecutorMember; 119 class ExecutorStatic; 120 class Factory; 121 class Functor; 122 template <class T> 123 class FunctorMember; 124 class FunctorStatic; 125 class Identifier; 126 class IRC; 127 template <class T> 128 class Iterator; 129 class IteratorBase; 130 class Language; 131 class LanguageEntry; 132 class Loader; 133 class LuaBind; 134 class MetaObjectList; 135 class MetaObjectListElement; 136 class Namespace; 137 class NamespaceNode; 138 template <class T> 139 class ObjectList; 140 class ObjectListBase; 141 class ObjectListBaseElement; 142 template <class T> 143 class ObjectListElement; 144 template <class T> 145 class ObjectListIterator; 146 class OrxonoxClass; 147 class Shell; 148 class ShellListener; 149 template <class T> 150 class SubclassIdentifier; 151 class TclBind; 152 struct TclInterpreterBundle; 153 class TclThreadManager; 154 class Template; 155 class Tickable; 156 class XMLFile; 157 class XMLNameListener; 158 template <class T, class O> 159 class XMLPortClassObjectContainer; 160 template <class T> 161 class XMLPortClassParamContainer; 162 class XMLPortObjectContainer; 163 class XMLPortParamContainer; 164 165 // game states 166 class Game; 167 class GameState; 168 struct GameStateTreeNode; 169 170 // input 171 class BaseCommand; 172 class BufferedParamCommand; 173 class Button; 174 class CalibratorCallback; 175 class ExtendedInputState; 176 class HalfAxis; 177 class InputBuffer; 178 class InputManager; 179 class InputState; 180 class JoyStickHandler; 181 class MouseHandler; 182 class KeyBinder; 183 class KeyDetector; 184 class KeyHandler; 185 class ParamCommand; 186 class SimpleCommand; 187 class SimpleInputState; 188 } 189 190 // CppTcl 191 namespace Tcl 192 { 193 class interpreter; 194 class object; 195 } 196 197 // Boost 198 namespace boost { namespace filesystem 199 { 200 struct path_traits; 201 template <class String, class Traits> class basic_path; 202 typedef basic_path<std::string, path_traits> path; 203 } } 204 205 // TinyXML and TinyXML++ 206 class TiXmlString; 207 class TiXmlOutStream; 208 class TiXmlNode; 209 class TiXmlHandle; 210 class TiXmlDocument; 211 class TiXmlElement; 212 class TiXmlComment; 213 class TiXmlUnknown; 214 class TiXmlAttribute; 215 class TiXmlText; 216 class TiXmlDeclaration; 217 class TiXmlParsingData; 218 namespace ticpp 219 { 220 class Document; 221 class Element; 222 class Declaration; 223 class StylesheetReference; 224 class Text; 225 class Comment; 226 class Attribute; 227 } 228 namespace orxonox 229 { 230 using ticpp::Document; 231 using ticpp::Element; 232 using ticpp::Declaration; 233 using ticpp::StylesheetReference; 234 using ticpp::Text; 235 using ticpp::Comment; 236 using ticpp::Attribute; 237 } 238 191 239 192 240 #endif /* _CorePrereqs_H__ */ -
code/trunk/src/core/Event.cc
r2087 r3196 28 28 29 29 #include "Event.h" 30 30 31 #include "BaseObject.h" 31 32 #include "Executor.h" -
code/trunk/src/core/Event.h
r2087 r3196 31 31 32 32 #include "CorePrereqs.h" 33 #include <string> 33 34 34 35 namespace orxonox -
code/trunk/src/core/EventIncludes.h
r2087 r3196 33 33 #include "Executor.h" 34 34 35 #define SetEvent(classname, eventname, functionname, event) \36 SetEventGeneric(eventcontainer##classname##functionname, classname, eventname, functionname, event, BaseObject)35 #define ORXONOX_SET_EVENT(classname, eventname, functionname, event) \ 36 ORXONOX_SET_EVENT_GENERIC(eventcontainer##classname##functionname, classname, eventname, functionname, event, BaseObject) 37 37 38 #define SetEventTemplate(classname, eventname, functionname, event, ...) \39 SetEventGenericTemplate(eventcontainer##classname##functionname, classname, eventname, functionname, event, BaseObject, __VA_ARGS__)38 #define ORXONOX_SET_EVENT_TEMPLATE(classname, eventname, functionname, event, ...) \ 39 ORXONOX_SET_EVENT_GENERIC_TEMPLATE(eventcontainer##classname##functionname, classname, eventname, functionname, event, BaseObject, __VA_ARGS__) 40 40 41 #define SetSubclassEvent(classname, eventname, functionname, event, subclassname) \42 SetEventGeneric(eventcontainer##classname##functionname, classname, eventname, functionname, event, subclassname)41 #define ORXONOX_SET_SUBCLASS_EVENT(classname, eventname, functionname, event, subclassname) \ 42 ORXONOX_SET_EVENT_GENERIC(eventcontainer##classname##functionname, classname, eventname, functionname, event, subclassname) 43 43 44 #define SetSubclassEventTemplate(classname, eventname, functionname, event, subclassname, ...) \45 SetEventGenericTemplate(eventcontainer##classname##functionname, classname, eventname, functionname, event, subclassname, __VA_ARGS__)44 #define ORXONOX_SET_SUBCLASS_EVENT_TEMPLATE(classname, eventname, functionname, event, subclassname, ...) \ 45 ORXONOX_SET_EVENT_GENERIC_TEMPLATE(eventcontainer##classname##functionname, classname, eventname, functionname, event, subclassname, __VA_ARGS__) 46 46 47 #define SetEventGeneric(containername, classname, eventname, functionname, event, subclassname) \47 #define ORXONOX_SET_EVENT_GENERIC(containername, classname, eventname, functionname, event, subclassname) \ 48 48 orxonox::EventContainer* containername = this->getEventContainer(eventname); \ 49 49 if (!containername) \ … … 57 57 containername->process(this, event) 58 58 59 #define SetEventGenericTemplate(containername, classname, eventname, functionname, event, subclassname, ...) \59 #define ORXONOX_SET_EVENT_GENERIC_TEMPLATE(containername, classname, eventname, functionname, event, subclassname, ...) \ 60 60 orxonox::EventContainer* containername = this->getEventContainer(eventname); \ 61 61 if (!containername) \ -
code/trunk/src/core/Executor.cc
r1879 r3196 29 29 30 30 #include "Executor.h" 31 #include "util/Math.h" 31 32 32 #include "util/Convert.h" 33 33 #include "Language.h" -
code/trunk/src/core/Executor.h
r1889 r3196 33 33 #include "CorePrereqs.h" 34 34 35 #include "util/Debug.h" 36 #include "util/Math.h" 37 #include "util/String.h" 35 38 #include "util/SubString.h" 36 #include "util/String.h"37 #include "util/Math.h"38 39 #include "Functor.h" 39 #include "util/Debug.h"40 40 41 41 -
code/trunk/src/core/Factory.cc
r2761 r3196 33 33 34 34 #include "Factory.h" 35 36 #include "util/Debug.h" 35 37 #include "Identifier.h" 36 38 #include "BaseObject.h" 37 #include "util/Debug.h"38 39 39 40 namespace orxonox -
code/trunk/src/core/Functor.h
r2710 r3196 33 33 #include "CorePrereqs.h" 34 34 35 #include "util/Debug.h" 35 36 #include "util/MultiType.h" 36 37 #include "util/String.h" 37 #include "util/Debug.h"38 39 38 40 39 namespace orxonox -
code/trunk/src/core/Game.cc
r3084 r3196 36 36 37 37 #include <exception> 38 #include < cassert>38 #include <boost/weak_ptr.hpp> 39 39 40 40 #include "util/Debug.h" … … 51 51 namespace orxonox 52 52 { 53 using boost::shared_ptr; 54 using boost::weak_ptr; 55 53 56 static void stop_game() 54 57 { Game::getInstance().stop(); } … … 57 60 struct _CoreExport GameStateTreeNode 58 61 { 59 GameState* 60 GameStateTreeNode*parent_;61 std::vector< GameStateTreeNode*> children_;62 GameState* state_; 63 weak_ptr<GameStateTreeNode> parent_; 64 std::vector<shared_ptr<GameStateTreeNode> > children_; 62 65 }; 63 66 … … 73 76 assert(singletonRef_s == 0); 74 77 singletonRef_s = this; 75 76 this->rootStateNode_ = 0;77 this->activeStateNode_ = 0;78 78 79 79 this->abort_ = false; … … 105 105 // Destroy pretty much everyhting left 106 106 delete this->core_; 107 108 // Delete all the created nodes109 for (std::vector<GameStateTreeNode*>::const_iterator it = this->allStateNodes_.begin(); it != this->allStateNodes_.end(); ++it)110 delete *it;111 107 112 108 delete this->gameClock_; … … 172 168 { 173 169 // Note: this->requestedStateNodes_.front() is the currently active state node 174 std::vector< GameStateTreeNode*>::iterator it = this->requestedStateNodes_.begin() + 1;175 if (*it == this->activeStateNode_->parent_ )170 std::vector<shared_ptr<GameStateTreeNode> >::iterator it = this->requestedStateNodes_.begin() + 1; 171 if (*it == this->activeStateNode_->parent_.lock()) 176 172 this->unloadState(this->activeStateNode_->state_); 177 173 else // has to be child … … 194 190 195 191 if ((*it)->getCountTickTime()) 196 this->addTickTime( this->gameClock_->getRealMicroseconds() - timeBeforeTick);192 this->addTickTime(static_cast<uint32_t>(this->gameClock_->getRealMicroseconds() - timeBeforeTick)); 197 193 } 198 194 … … 216 212 217 213 uint32_t framesPerPeriod = this->statisticsTickTimes_.size(); 218 this->avgFPS_ = (float)framesPerPeriod / (currentTime - this->statisticsTickTimes_.front().tickTime) * 1000000.0;219 this->avgTickTime_ = (float)this->periodTickTime_ / framesPerPeriod / 1000.0;214 this->avgFPS_ = static_cast<float>(framesPerPeriod) / (currentTime - this->statisticsTickTimes_.front().tickTime) * 1000000.0f; 215 this->avgTickTime_ = static_cast<float>(this->periodTickTime_) / framesPerPeriod / 1000.0f; 220 216 221 217 this->periodTime_ -= this->statisticsRefreshCycle_; … … 226 222 while (!this->activeStates_.empty()) 227 223 this->unloadState(this->activeStates_.back()); 228 this->activeStateNode_ = 0;224 this->activeStateNode_.reset(); 229 225 this->requestedStateNodes_.clear(); 230 226 } … … 251 247 return; 252 248 253 GameStateTreeNode* requestedNode = 0;249 shared_ptr<GameStateTreeNode> requestedNode; 254 250 255 251 // this->requestedStateNodes_.back() is the currently active state 256 GameStateTreeNode*lastRequestedNode = this->requestedStateNodes_.back();252 shared_ptr<GameStateTreeNode> lastRequestedNode = this->requestedStateNodes_.back(); 257 253 258 254 // Already the active node? … … 274 270 275 271 // Check parent and all its grand parents 276 GameStateTreeNode*currentNode = lastRequestedNode;272 shared_ptr<GameStateTreeNode> currentNode = lastRequestedNode; 277 273 while (requestedNode == NULL && currentNode != NULL) 278 274 { 279 275 if (currentNode->state_ == state) 280 276 requestedNode = currentNode; 281 currentNode = currentNode->parent_ ;277 currentNode = currentNode->parent_.lock(); 282 278 } 283 279 … … 297 293 void Game::popState() 298 294 { 299 if (this->activeStateNode_ != NULL && this->requestedStateNodes_.back()->parent_ )300 this->requestState(this->requestedStateNodes_.back()->parent_ ->state_->getName());295 if (this->activeStateNode_ != NULL && this->requestedStateNodes_.back()->parent_.lock()) 296 this->requestState(this->requestedStateNodes_.back()->parent_.lock()->state_->getName()); 301 297 else 302 298 COUT(2) << "Warning: Could not pop GameState. Ignoring." << std::endl; … … 333 329 } 334 330 unsigned int currentLevel = 0; 335 GameStateTreeNode* currentNode = 0;331 shared_ptr<GameStateTreeNode> currentNode; 336 332 for (std::vector<std::pair<std::string, unsigned> >::const_iterator it = stateStrings.begin(); it != stateStrings.end(); ++it) 337 333 { … … 346 342 if (this->rootStateNode_ != NULL) 347 343 ThrowException(GameState, "No two root GameStates are allowed!"); 348 GameStateTreeNode* newNode = new GameStateTreeNode; 349 this->allStateNodes_.push_back(newNode); 344 shared_ptr<GameStateTreeNode> newNode(new GameStateTreeNode); 350 345 newNode->state_ = newState; 351 newNode->parent_ = 0;352 346 this->rootStateNode_ = newNode; 353 347 currentNode = this->rootStateNode_; … … 355 349 else if (currentNode) 356 350 { 357 GameStateTreeNode* newNode = new GameStateTreeNode; 358 this->allStateNodes_.push_back(newNode); 351 shared_ptr<GameStateTreeNode> newNode(new GameStateTreeNode); 359 352 newNode->state_ = newState; 360 353 if (newLevel < currentLevel) … … 362 355 // Get down the hierarchy 363 356 do 364 currentNode = currentNode->parent_ ;357 currentNode = currentNode->parent_.lock(); 365 358 while (newLevel < --currentLevel); 366 359 } … … 369 362 // same level 370 363 newNode->parent_ = currentNode->parent_; 371 newNode->parent_ ->children_.push_back(newNode);364 newNode->parent_.lock()->children_.push_back(newNode); 372 365 } 373 366 else if (newLevel == currentLevel + 1) -
code/trunk/src/core/Game.h
r3084 r3196 37 37 38 38 #include "CorePrereqs.h" 39 39 40 #include <cassert> 40 41 #include <list> 41 42 #include <map> 43 #include <string> 42 44 #include <vector> 45 #include <boost/shared_ptr.hpp> 46 #include <boost/preprocessor/cat.hpp> 47 43 48 #include "OrxonoxClass.h" 44 49 … … 49 54 */ 50 55 #define AddGameState(classname, ...) \ 51 static bool MACRO_CONCATENATE(bGameStateDummy_##classname, __LINE__) = orxonox::Game::addGameState(new classname(__VA_ARGS__))56 static bool BOOST_PP_CAT(bGameStateDummy_##classname, __LINE__) = orxonox::Game::addGameState(new classname(__VA_ARGS__)) 52 57 53 58 // tolua_begin … … 106 111 107 112 std::vector<GameState*> activeStates_; 108 GameStateTreeNode* rootStateNode_; 109 GameStateTreeNode* activeStateNode_; 110 std::vector<GameStateTreeNode*> requestedStateNodes_; 111 std::vector<GameStateTreeNode*> allStateNodes_; 113 boost::shared_ptr<GameStateTreeNode> rootStateNode_; 114 boost::shared_ptr<GameStateTreeNode> activeStateNode_; 115 std::vector<boost::shared_ptr<GameStateTreeNode> > requestedStateNodes_; 112 116 113 117 Core* core_; -
code/trunk/src/core/GameState.cc
r3084 r3196 34 34 35 35 #include "GameState.h" 36 #include <cassert> 36 37 37 #include "util/Debug.h" 38 38 #include "util/Exception.h" 39 #include " Clock.h"39 #include "util/OrxAssert.h" 40 40 41 41 namespace orxonox -
code/trunk/src/core/GameState.h
r3084 r3196 38 38 #include "CorePrereqs.h" 39 39 40 #include <map> 40 41 #include <string> 41 #include <map>42 #include "CorePrereqs.h"43 42 44 43 namespace orxonox -
code/trunk/src/core/IRC.cc
r1792 r3196 29 29 #include "IRC.h" 30 30 31 #include <boost/thread/thread.hpp> 31 #include <cpptcl/cpptcl.h> 32 33 #include "util/Convert.h" 32 34 #include "ConsoleCommand.h" 35 #include "CoreIncludes.h" 33 36 #include "TclThreadManager.h" 34 #include "CoreIncludes.h"35 #include "util/Convert.h"36 37 37 38 38 namespace orxonox -
code/trunk/src/core/IRC.h
r2710 r3196 32 32 #include "CorePrereqs.h" 33 33 34 #include < cpptcl/cpptcl.h>34 #include <string> 35 35 #include "OrxonoxClass.h" 36 36 -
code/trunk/src/core/Identifier.cc
r2662 r3196 36 36 #include <ostream> 37 37 38 #include " Factory.h"38 #include "util/String.h" 39 39 #include "ConfigValueContainer.h" 40 40 #include "ConsoleCommand.h" 41 #include " CommandExecutor.h"41 #include "Factory.h" 42 42 #include "XMLPort.h" 43 43 … … 63 63 this->bHasConfigValues_ = false; 64 64 this->bHasConsoleCommands_ = false; 65 this->bHasConstructionCallback_ = false;66 65 67 66 this->children_ = new std::set<const Identifier*>(); … … 93 92 for (std::map<std::string, XMLPortObjectContainer*>::iterator it = this->xmlportObjectContainers_.begin(); it != this->xmlportObjectContainers_.end(); ++it) 94 93 delete (it->second); 95 for (std::vector<Functor*>::iterator it = this->constructionCallbacks_.begin(); it != this->constructionCallbacks_.end(); ++it)96 delete *it;97 94 } 98 95 … … 519 516 520 517 /** 521 @brief Adds a construction callback functor that gets called every time an object is created.522 @param functor Functor pointer to any function with no argument.523 */524 void Identifier::addConstructionCallback(Functor* functor)525 {526 for (unsigned int i = 0; i < this->constructionCallbacks_.size(); ++i)527 {528 if (this->constructionCallbacks_[i] == functor)529 return;530 }531 this->constructionCallbacks_.push_back(functor);532 this->bHasConstructionCallback_ = true;533 }534 535 /**536 @brief Removes a construction callback functor that gets called every time an object is created.537 @param functor Functor pointer to any function with no argument.538 */539 void Identifier::removeConstructionCallback(Functor* functor)540 {541 for (unsigned int i = 0; i < this->constructionCallbacks_.size(); ++i)542 {543 if (this->constructionCallbacks_[i] == functor)544 {545 this->constructionCallbacks_.erase(this->constructionCallbacks_.begin() + i);546 }547 }548 if (constructionCallbacks_.empty())549 this->bHasConstructionCallback_ = false;550 }551 552 /**553 518 @brief Lists the names of all Identifiers in a std::set<const Identifier*>. 554 519 @param out The outstream -
code/trunk/src/core/Identifier.h
r2784 r3196 55 55 #include "CorePrereqs.h" 56 56 57 #include <cassert> 58 #include <map> 57 59 #include <set> 58 #include <map>59 #include <vector>60 60 #include <string> 61 #include <utility>62 61 #include <typeinfo> 63 #include <cstdlib> 64 #include <cassert> 65 62 63 #include "util/Debug.h" 66 64 #include "MetaObjectList.h" 67 #include "Iterator.h" 65 #include "ObjectList.h" 66 #include "ObjectListBase.h" 68 67 #include "Super.h" 69 #include "Functor.h"70 #include "util/Debug.h"71 #include "util/String.h"72 68 73 69 namespace orxonox … … 223 219 /** @brief Returns true if this class has at least one console command. @return True if this class has at least one console command */ 224 220 inline bool hasConsoleCommands() const { return this->bHasConsoleCommands_; } 225 /** @brief Returns true if this class has at least one construction callback Functor registered. */226 inline bool hasConstructionCallback() const { return this->bHasConstructionCallback_; }227 221 228 222 /** @brief Returns true, if a branch of the class-hierarchy is being created, causing all new objects to store their parents. @return The status of the class-hierarchy creation */ … … 251 245 ConsoleCommand* getConsoleCommand(const std::string& name) const; 252 246 ConsoleCommand* getLowercaseConsoleCommand(const std::string& name) const; 253 254 void addConstructionCallback(Functor* functor);255 void removeConstructionCallback(Functor* functor);256 247 257 248 void initializeClassHierarchy(std::set<const Identifier*>* parents, bool bRootClass); … … 276 267 /** @brief Returns the direct children of the class the Identifier belongs to. @return The list of all direct children */ 277 268 inline std::set<const Identifier*>& getDirectChildrenIntern() const { return (*this->directChildren_); } 278 279 bool bHasConstructionCallback_; //!< True if at least one Functor is registered to get informed when an object of type T is created.280 std::vector<Functor*> constructionCallbacks_; //!< All construction callback Functors of this class.281 269 282 270 ObjectListBase* objects_; //!< The list of all objects of this class … … 383 371 */ 384 372 template <class T> 385 ClassIdentifier<T>* ClassIdentifier<T>::getIdentifier()373 inline ClassIdentifier<T>* ClassIdentifier<T>::getIdentifier() 386 374 { 387 375 // check if the static field has already been filled … … 398 386 */ 399 387 template <class T> 400 ClassIdentifier<T>* ClassIdentifier<T>::getIdentifier(const std::string& name)388 inline ClassIdentifier<T>* ClassIdentifier<T>::getIdentifier(const std::string& name) 401 389 { 402 390 ClassIdentifier<T>* identifier = ClassIdentifier<T>::getIdentifier(); … … 435 423 */ 436 424 template <class T> 437 void ClassIdentifier<T>::addObject(T* object)425 inline void ClassIdentifier<T>::addObject(T* object) 438 426 { 439 427 COUT(5) << "*** ClassIdentifier: Added object to " << this->getName() << "-list." << std::endl; 440 428 object->getMetaList().add(this->objects_, this->objects_->add(new ObjectListElement<T>(object))); 441 if (this->bHasConstructionCallback_)442 {443 // Call all registered callbacks that a new object of type T has been created.444 // Do NOT deliver a T* pointer here because it's way too risky (object not yet fully created).445 for (unsigned int i = 0; i < this->constructionCallbacks_.size(); ++i)446 (*constructionCallbacks_[i])();447 }448 429 } 449 430 -
code/trunk/src/core/Iterator.h
r2896 r3196 47 47 #include "CorePrereqs.h" 48 48 49 #include "Identifier.h" 49 50 #include "ObjectListBase.h" 50 #include "ObjectListIterator.h"51 #include "OrxonoxClass.h"52 51 53 52 namespace orxonox … … 305 304 } 306 305 307 // Include ObjectList.h so the user only has to include one file: Iterator.h308 #include "ObjectList.h"309 310 306 #endif /* _Iterator_H__ */ -
code/trunk/src/core/Language.cc
r2759 r3196 37 37 #include <boost/filesystem.hpp> 38 38 39 #include "util/Debug.h" 39 40 #include "Core.h" 40 #include "util/Debug.h"41 41 42 42 namespace orxonox -
code/trunk/src/core/Loader.cc
r3008 r3196 32 32 #include <boost/filesystem.hpp> 33 33 34 #include "XMLFile.h" 34 #include "util/Debug.h" 35 #include "util/Exception.h" 35 36 #include "BaseObject.h" 36 #include " Identifier.h"37 #include "Core.h" 37 38 #include "Iterator.h" 38 39 #include "ObjectList.h" 39 #include "CoreIncludes.h"40 40 #include "LuaBind.h" 41 41 #include "Namespace.h" 42 #include "util/Debug.h" 43 #include "util/Exception.h" 44 #include "Core.h" 42 #include "XMLFile.h" 45 43 46 44 namespace orxonox -
code/trunk/src/core/Loader.h
r3008 r3196 33 33 34 34 #include <vector> 35 36 35 #include "ClassTreeMask.h" 37 36 -
code/trunk/src/core/LuaBind.cc
r3068 r3196 31 31 #include <fstream> 32 32 #include <map> 33 34 33 extern "C" { 35 #include <lua.h>36 34 #include <lualib.h> 37 35 } … … 39 37 #include <boost/filesystem.hpp> 40 38 39 #include "util/Debug.h" 41 40 #include "util/String.h" 42 #include "util/Debug.h"43 41 #include "ToluaBindCore.h" 44 42 #include "Core.h" … … 72 70 } 73 71 74 void LuaBind::luaPrint( std::stringstr)72 void LuaBind::luaPrint(const std::string& str) 75 73 { 76 74 output_ += str; … … 84 82 @param luaTags if true, the loaded file gets stripped off luaTags 85 83 */ 86 void LuaBind::loadFile( std::stringfilename, bool luaTags)84 void LuaBind::loadFile(const std::string& filename, bool luaTags) 87 85 { 88 86 boost::filesystem::path filepath(filename); … … 117 115 } 118 116 119 void LuaBind::loadString( std::stringcode)117 void LuaBind::loadString(const std::string& code) 120 118 { 121 119 luaSource_ = code; -
code/trunk/src/core/LuaBind.h
r3068 r3196 38 38 #include "CorePrereqs.h" 39 39 40 #include <cassert> 41 #include <string> 40 42 extern "C" { 41 43 #include <lua.h> 42 44 } 43 44 #include <cassert>45 #include <list>46 #include <string>47 45 48 46 // tolua_begin … … 64 62 inline static LuaBind& getInstance() { assert(singletonRef_s); return *LuaBind::singletonRef_s; } // tolua_export 65 63 66 void loadFile( std::stringfilename, bool luaTags);67 void loadString( std::stringcode);64 void loadFile(const std::string& filename, bool luaTags); 65 void loadString(const std::string& code); 68 66 //void init(lua_State *state_); 69 67 //void xmlToLua(); 70 68 void run(); 71 void luaPrint( std::stringstr); // tolua_export69 void luaPrint(const std::string& str); // tolua_export 72 70 73 71 #if LUA_VERSION_NUM != 501 … … 76 74 77 75 inline lua_State* getLuaState() { return luaState_; }; 78 inline std::stringgetLuaOutput() { return output_; };76 inline const std::string& getLuaOutput() { return output_; }; 79 77 //inline std::string* getFileString() { return &fileString_; }; 80 78 inline void clearLuaOutput() { output_ = ""; } -
code/trunk/src/core/MetaObjectList.cc
r2171 r3196 33 33 34 34 #include "MetaObjectList.h" 35 36 #include "util/Debug.h" 37 #include "Identifier.h" 35 38 #include "ObjectListBase.h" 36 #include "Identifier.h"37 #include "util/Debug.h"38 39 39 40 namespace orxonox -
code/trunk/src/core/Namespace.cc
r2087 r3196 28 28 29 29 #include "Namespace.h" 30 31 #include <set> 32 30 33 #include "NamespaceNode.h" 31 34 #include "CoreIncludes.h" -
code/trunk/src/core/Namespace.h
r2087 r3196 32 32 #include "CorePrereqs.h" 33 33 34 #include <map> 35 36 #include "XMLIncludes.h" 34 #include <set> 35 #include <string> 37 36 #include "BaseObject.h" 38 37 -
code/trunk/src/core/ObjectListBase.cc
r2784 r3196 35 35 */ 36 36 37 #include "ObjectListBase.h" 38 37 39 #include <set> 38 39 #include "CorePrereqs.h"40 41 #include "ObjectListBase.h"42 40 #include "Identifier.h" 43 41 #include "Iterator.h" 42 #include "ObjectListIterator.h" 44 43 45 44 namespace orxonox -
code/trunk/src/core/ObjectListBase.h
r2896 r3196 38 38 #define _ObjectListBase_H__ 39 39 40 #include "CorePrereqs.h" 41 40 42 #include <vector> 41 42 #include "CorePrereqs.h" 43 #include "OrxonoxClass.h" 43 44 44 45 namespace orxonox … … 139 140 140 141 private: 141 Identifier* identifier_; //!< The Iterator owning this list142 ObjectListBaseElement* first_; //!< The first element in the list143 ObjectListBaseElement* last_; //!< The last element in the list142 Identifier* identifier_; //!< The Iterator owning this list 143 ObjectListBaseElement* first_; //!< The first element in the list 144 ObjectListBaseElement* last_; //!< The last element in the list 144 145 std::vector<void*> iterators_; //!< A list of Iterators pointing on an element in this list 145 146 std::vector<void*> objectListIterators_; //!< A list of ObjectListIterators pointing on an element in this list -
code/trunk/src/core/ObjectListIterator.h
r2784 r3196 28 28 29 29 /** 30 @file Iterator.h30 @file 31 31 @brief Definition and implementation of the Iterator class. 32 32 … … 47 47 48 48 #include "CorePrereqs.h" 49 #include "ObjectListBase.h" 49 #include "Identifier.h" 50 #include "ObjectList.h" 50 51 51 52 namespace orxonox … … 230 231 } 231 232 232 // Include ObjectList.h so the user only has to include one file: Iterator.h233 #include "ObjectList.h"234 235 233 #endif /* _ObjectListIterator_H__ */ -
code/trunk/src/core/OrxonoxClass.cc
r2171 r3196 33 33 34 34 #include "OrxonoxClass.h" 35 35 36 #include "MetaObjectList.h" 36 37 #include "Identifier.h" -
code/trunk/src/core/OrxonoxClass.h
r2171 r3196 39 39 40 40 #include "CorePrereqs.h" 41 42 41 #include <set> 43 #include <string>44 42 45 43 namespace orxonox -
code/trunk/src/core/Shell.cc
r2662 r3196 28 28 29 29 #include "Shell.h" 30 31 #include "util/OutputHandler.h" 30 32 #include "CommandExecutor.h" 31 33 #include "CoreIncludes.h" … … 33 35 #include "Core.h" 34 36 #include "ConsoleCommand.h" 35 #include "util/OutputHandler.h"36 37 37 38 #define SHELL_UPDATE_LISTENERS(function) \ -
code/trunk/src/core/Shell.h
r1792 r3196 32 32 #include "CorePrereqs.h" 33 33 34 #include <cassert> 34 35 #include <list> 36 #include <string> 35 37 #include <vector> 36 38 -
code/trunk/src/core/Super.h
r2662 r3196 67 67 #define _Super_H__ 68 68 69 #include <iostream>70 71 69 #include "CorePrereqs.h" 72 70 73 71 #include "util/Debug.h" 74 #include "XMLIncludes.h"75 72 #include "Event.h" 76 73 -
code/trunk/src/core/TclBind.cc
r2710 r3196 29 29 #include "TclBind.h" 30 30 31 #include < iostream>31 #include <exception> 32 32 #include <string> 33 #include "ConsoleCommand.h" 34 #include "CommandExecutor.h" 35 #include "TclThreadManager.h" 33 #include <cpptcl/cpptcl.h> 34 36 35 #include "util/Debug.h" 37 36 #include "util/String.h" 37 #include "CommandExecutor.h" 38 #include "ConsoleCommand.h" 39 #include "TclThreadManager.h" 38 40 39 41 namespace orxonox -
code/trunk/src/core/TclBind.h
r2710 r3196 32 32 #include "CorePrereqs.h" 33 33 34 #include <cpptcl/cpptcl.h> 34 #include <cassert> 35 #include <string> 35 36 36 37 namespace orxonox -
code/trunk/src/core/TclThreadManager.cc
r2896 r3196 29 29 #include "TclThreadManager.h" 30 30 31 #include <iostream>32 #include <string>33 #include <boost/thread/thread.hpp>34 31 #include <boost/bind.hpp> 35 32 #include <OgreTimer.h> 36 33 #include <cpptcl/cpptcl.h> 34 35 #include "util/Convert.h" 36 #include "util/Debug.h" 37 37 #include "Clock.h" 38 #include "CommandExecutor.h" 39 #include "ConsoleCommand.h" 38 40 #include "CoreIncludes.h" 39 #include "ConsoleCommand.h"40 #include "CommandExecutor.h"41 41 #include "TclBind.h" 42 #include "util/Debug.h"43 #include "util/Convert.h"44 45 42 46 43 namespace orxonox -
code/trunk/src/core/TclThreadManager.h
r2896 r3196 32 32 #include "CorePrereqs.h" 33 33 34 #include < queue>34 #include <list> 35 35 #include <map> 36 #include < list>37 36 #include <string> 37 #include <boost/thread/condition.hpp> 38 38 #include <boost/thread/mutex.hpp> 39 #include <boost/thread/condition.hpp>40 39 #include <boost/thread/thread.hpp> 41 40 42 #include <cpptcl/cpptcl.h>43 41 #include "core/OrxonoxClass.h" 44 42 -
code/trunk/src/core/Template.cc
r3068 r3196 29 29 #include "Template.h" 30 30 31 #include <tinyxml/tinyxml.h> 31 32 #include <tinyxml/ticpp.h> 32 33 34 #include "util/Debug.h" 33 35 #include "core/CoreIncludes.h" 34 36 #include "core/XMLPort.h" 35 #include "util/Debug.h"36 37 37 38 namespace orxonox … … 39 40 CreateFactory(Template); 40 41 41 Template::Template(BaseObject* creator) : BaseObject(creator) , xmlelement_("")42 Template::Template(BaseObject* creator) : BaseObject(creator) 42 43 { 44 this->xmlelement_ = new TiXmlElement(""); 45 43 46 RegisterObject(Template); 44 47 … … 52 55 { 53 56 Template::getTemplateMap().erase(this->getName()); 57 delete this->xmlelement_; 54 58 } 55 59 … … 90 94 } 91 95 96 void Template::setXMLElement(const TiXmlElement& xmlelement) 97 { 98 *this->xmlelement_ = xmlelement; 99 } 100 92 101 const TiXmlElement& Template::getXMLElement() const 93 102 { … … 115 124 } 116 125 117 return this->xmlelement_;126 return *this->xmlelement_; 118 127 } 119 128 -
code/trunk/src/core/Template.h
r3068 r3196 30 30 #define _Template_H__ 31 31 32 #include <map>33 34 32 #include "CorePrereqs.h" 35 33 36 #include <tinyxml/tinyxml.h> 34 #include <map> 35 #include <string> 37 36 #include "BaseObject.h" 38 37 … … 58 57 { return this->bLoadDefaults_; } 59 58 60 inline void setXMLElement(const TiXmlElement& xmlelement) 61 { this->xmlelement_ = xmlelement; } 59 void setXMLElement(const TiXmlElement& xmlelement); 62 60 const TiXmlElement& getXMLElement() const; 63 61 … … 75 73 76 74 private: 77 TiXmlElement xmlelement_;75 TiXmlElement* xmlelement_; 78 76 std::string link_; 79 77 std::string baseclass_; -
code/trunk/src/core/XMLFile.h
r3068 r3196 33 33 34 34 #include <string> 35 36 35 #include "ClassTreeMask.h" 37 36 -
code/trunk/src/core/XMLPort.cc
r1789 r3196 28 28 29 29 #include "XMLPort.h" 30 #include "Language.h" 30 31 31 #include "Loader.h" 32 32 #include "Namespace.h" 33 #include "CoreIncludes.h"34 33 35 34 namespace orxonox … … 40 39 bool XMLPortObjectContainer::identifierIsIncludedInLoaderMask(const Identifier* identifier) 41 40 { 42 return ((!this->bApplyLoaderMask_) || identifier->isA(Class (Namespace)) || Loader::currentMask_s.isIncluded(identifier));41 return ((!this->bApplyLoaderMask_) || identifier->isA(ClassIdentifier<Namespace>::getIdentifier()) || Loader::currentMask_s.isIncluded(identifier)); 43 42 } 44 43 } -
code/trunk/src/core/XMLPort.h
r2896 r3196 44 44 45 45 #include <cassert> 46 #include <string> 46 47 #include <tinyxml/ticpp.h> 48 47 49 #include "util/Debug.h" 48 50 #include "util/Exception.h" 49 51 #include "util/MultiType.h" 50 #include "XMLIncludes.h" 52 #include "util/OrxAssert.h" 53 #include "Factory.h" 54 #include "Identifier.h" 51 55 #include "Executor.h" 52 #include "CoreIncludes.h"53 56 #include "BaseObject.h" 54 57 … … 176 179 */ 177 180 #define XMLPortParamGeneric(containername, classname, objectclass, object, paramname, loadexecutor, saveexecutor, xmlelement, mode) \ 178 orxonox::XMLPortClassParamContainer<objectclass>* containername = (orxonox::XMLPortClassParamContainer<objectclass>*)(ClassIdentifier<classname>::getIdentifier()->getXMLPortParamContainer(paramname)); \181 orxonox::XMLPortClassParamContainer<objectclass>* containername = static_cast<orxonox::XMLPortClassParamContainer<objectclass>*>(ClassIdentifier<classname>::getIdentifier()->getXMLPortParamContainer(paramname)); \ 179 182 if (!containername) \ 180 183 { \ … … 545 548 for (ticpp::Iterator<ticpp::Element> child = xmlsubelement->FirstChildElement(false); child != child.end(); child++) 546 549 { 547 Identifier* identifier = ClassByString(child->Value());550 Identifier* identifier = Factory::getIdentifier(child->Value()); 548 551 if (identifier) 549 552 { 550 if (identifier->isA(Class (O)))553 if (identifier->isA(ClassIdentifier<O>::getIdentifier())) 551 554 { 552 555 if (identifier->isLoadable()) … … 606 609 else 607 610 { 608 COUT(2) << object->getLoaderIndentation() << "Warning: '" << child->Value() << "' is not a '" << Class (O)->getName() << "'." << std::endl;611 COUT(2) << object->getLoaderIndentation() << "Warning: '" << child->Value() << "' is not a '" << ClassIdentifier<O>::getIdentifier()->getName() << "'." << std::endl; 609 612 } 610 613 } … … 626 629 { 627 630 COUT(1) << std::endl; 628 COUT(1) << "An error occurred in XMLPort.h while loading a '" << Class (O)->getName() << "' in '" << this->sectionname_ << "' of '" << this->identifier_->getName() << "' (objectname: " << object->getName() << ") in " << object->getFilename() << ":" << std::endl;631 COUT(1) << "An error occurred in XMLPort.h while loading a '" << ClassIdentifier<O>::getIdentifier()->getName() << "' in '" << this->sectionname_ << "' of '" << this->identifier_->getName() << "' (objectname: " << object->getName() << ") in " << object->getFilename() << ":" << std::endl; 629 632 COUT(1) << ex.what() << std::endl; 630 633 } -
code/trunk/src/core/input/CMakeLists.txt
r2710 r3196 1 1 ADD_SOURCE_FILES(CORE_SRC_FILES 2 2 Button.cc 3 CalibratorCallback.cc4 3 ExtendedInputState.cc 5 4 HalfAxis.cc -
code/trunk/src/core/input/ExtendedInputState.cc
r2896 r3196 36 36 37 37 #include <cassert> 38 #include " util/Debug.h"38 #include "core/Executor.h" 39 39 40 40 namespace orxonox … … 457 457 this->bHandlersChanged_ = true; 458 458 } 459 460 void ExtendedInputState::onEnter() 461 { 462 if (executorOnEnter_) 463 (*executorOnEnter_)(); 464 } 465 466 void ExtendedInputState::onLeave() 467 { 468 if (executorOnLeave_) 469 (*executorOnLeave_)(); 470 } 459 471 } -
code/trunk/src/core/input/ExtendedInputState.h
r2896 r3196 38 38 39 39 #include <vector> 40 41 40 #include "InputInterfaces.h" 42 41 #include "InputState.h" … … 89 88 void update(); 90 89 90 void onEnter(); 91 void onLeave(); 92 91 93 std::vector<KeyHandler*> keyHandlers_; 92 94 std::vector<MouseHandler*> mouseHandlers_; -
code/trunk/src/core/input/HalfAxis.h
r2087 r3196 37 37 38 38 #include "core/CorePrereqs.h" 39 39 40 #include "Button.h" 40 41 #include "InputCommands.h" -
code/trunk/src/core/input/InputBuffer.cc
r2896 r3196 28 28 29 29 #include "InputBuffer.h" 30 31 #include <iostream>32 30 33 31 #include "util/Clipboard.h" … … 57 55 } 58 56 59 InputBuffer::InputBuffer(const std::string allowedChars)57 InputBuffer::InputBuffer(const std::string& allowedChars) 60 58 { 61 59 RegisterRootObject(InputBuffer); -
code/trunk/src/core/input/InputBuffer.h
r2896 r3196 32 32 #include "core/CorePrereqs.h" 33 33 34 #include <list> 34 35 #include <string> 35 #include <list>36 37 36 #include "core/OrxonoxClass.h" 38 37 #include "InputInterfaces.h" … … 80 79 InputBuffer(); 81 80 ~InputBuffer(); 82 InputBuffer(const std::string allowedChars);81 InputBuffer(const std::string& allowedChars); 83 82 84 83 void setConfigValues(); … … 145 144 void updated(const char& update, bool bSingleInput); 146 145 147 inline std::stringget() const146 inline const std::string& get() const 148 147 { return this->buffer_; } 149 148 inline unsigned int getSize() const -
code/trunk/src/core/input/InputCommands.cc
r2087 r3196 35 35 #include "InputCommands.h" 36 36 #include "util/Math.h" 37 #include "core/CommandExecutor.h"38 37 39 38 namespace orxonox -
code/trunk/src/core/input/InputInterfaces.h
r2896 r3196 38 38 #include "core/CorePrereqs.h" 39 39 40 #include "ois/OISKeyboard.h"41 #include "ois/OISMouse.h"42 #include "ois/OISJoyStick.h"40 #include <ois/OISKeyboard.h> 41 #include <ois/OISMouse.h> 42 #include <ois/OISJoyStick.h> 43 43 #include "util/Math.h" 44 44 -
code/trunk/src/core/input/InputManager.cc
r3084 r3196 38 38 #include <climits> 39 39 #include <cassert> 40 41 #include "ois/OISException.h" 42 #include "ois/OISInputManager.h" 43 #include "core/ConsoleCommand.h" 44 45 // HACK 46 #ifdef ORXONOX_PLATFORM_LINUX 47 # include "ois/linux/LinuxMouse.h" 48 #endif 49 40 #include <ois/OISException.h> 41 #include <ois/OISInputManager.h> 42 43 #include "util/Convert.h" 50 44 #include "util/Exception.h" 45 #include "util/Debug.h" 51 46 #include "core/Clock.h" 52 47 #include "core/CoreIncludes.h" 53 48 #include "core/ConfigValueIncludes.h" 54 #include "core/Co mmandExecutor.h"49 #include "core/ConsoleCommand.h" 55 50 #include "core/CommandLine.h" 56 #include "util/Debug.h"57 51 58 52 #include "InputBuffer.h" 59 #include "KeyBinder.h"60 53 #include "KeyDetector.h" 61 #include "CalibratorCallback.h"62 54 #include "InputState.h" 63 55 #include "SimpleInputState.h" 64 56 #include "ExtendedInputState.h" 65 57 #include "JoyStickDeviceNumberListener.h" 58 59 // HACK (include this as last, X11 seems to define some macros...) 60 #ifdef ORXONOX_PLATFORM_LINUX 61 # include <ois/linux/LinuxMouse.h> 62 #endif 66 63 67 64 namespace orxonox … … 367 364 for (unsigned int i = 0; i < configValueVectorSize; ++i) 368 365 { 369 list[i] = omni_cast<int>(ConfigFileManager::getInstance().getValue(370 ConfigFileType::JoyStickCalibration, sectionName, valueName, i, omni_cast<std::string>(defaultValue), false));366 list[i] = multi_cast<int>(ConfigFileManager::getInstance().getValue( 367 ConfigFileType::JoyStickCalibration, sectionName, valueName, i, multi_cast<std::string>(defaultValue), false)); 371 368 } 372 369 … … 403 400 // Generate some sort of execution unique id per joy stick 404 401 std::string id = "JoyStick_"; 405 id += omni_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Button)) + "_";406 id += omni_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Axis)) + "_";407 id += omni_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Slider)) + "_";408 id += omni_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_POV)) + "_";409 id += omni_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Vector3)) + "_";402 id += multi_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Button)) + "_"; 403 id += multi_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Axis)) + "_"; 404 id += multi_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Slider)) + "_"; 405 id += multi_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_POV)) + "_"; 406 id += multi_cast<std::string>(joySticks_[iJoyStick]->getNumberOfComponents(OIS::OIS_Vector3)) + "_"; 410 407 id += joySticks_[iJoyStick]->vendor(); 411 408 for (unsigned int i = 0; i < iJoyStick; ++i) … … 414 411 { 415 412 // Two joysticks are probably equal --> add the index as well 416 id += "_" + omni_cast<std::string>(iJoyStick);413 id += "_" + multi_cast<std::string>(iJoyStick); 417 414 } 418 415 } … … 497 494 joyStickMinValues_[iJoyStick][i] = -32768; 498 495 ConfigFileManager::getInstance().setValue(ConfigFileType::JoyStickCalibration, 499 this->joyStickIDs_[iJoyStick], "MinValue", i, omni_cast<std::string>(joyStickMinValues_[iJoyStick][i]), false);496 this->joyStickIDs_[iJoyStick], "MinValue", i, multi_cast<std::string>(joyStickMinValues_[iJoyStick][i]), false); 500 497 501 498 // Maximum values … … 503 500 joyStickMaxValues_[iJoyStick][i] = 32767; 504 501 ConfigFileManager::getInstance().setValue(ConfigFileType::JoyStickCalibration, 505 this->joyStickIDs_[iJoyStick], "MaxValue", i, omni_cast<std::string>(joyStickMaxValues_[iJoyStick][i]), false);502 this->joyStickIDs_[iJoyStick], "MaxValue", i, multi_cast<std::string>(joyStickMaxValues_[iJoyStick][i]), false); 506 503 507 504 // Middle values 508 505 ConfigFileManager::getInstance().setValue(ConfigFileType::JoyStickCalibration, 509 this->joyStickIDs_[iJoyStick], "MiddleValue", i, omni_cast<std::string>(joyStickMiddleValues_[iJoyStick][i]), false);506 this->joyStickIDs_[iJoyStick], "MiddleValue", i, multi_cast<std::string>(joyStickMiddleValues_[iJoyStick][i]), false); 510 507 } 511 508 } … … 1169 1166 else 1170 1167 { 1171 float fValue = value - joyStickCalibrations_[iJoyStick].middleValue[axis];1168 float fValue = static_cast<float>(value - joyStickCalibrations_[iJoyStick].middleValue[axis]); 1172 1169 if (fValue > 0.0f) 1173 1170 fValue *= joyStickCalibrations_[iJoyStick].positiveCoeff[axis]; -
code/trunk/src/core/input/InputManager.h
r3084 r3196 40 40 41 41 #include <map> 42 #include <set> 43 #include <string> 42 44 #include <vector> 43 #include <stack> 45 #include <ois/OISKeyboard.h> 46 #include <ois/OISMouse.h> 47 #include <ois/OISJoyStick.h> 48 44 49 #include "util/Math.h" 45 50 #include "util/OrxEnum.h" -
code/trunk/src/core/input/InputState.h
r2896 r3196 39 39 #include <string> 40 40 #include <vector> 41 #include "core/Executor.h"42 41 #include "InputInterfaces.h" 43 42 … … 63 62 void resetHandlersChanged() { bHandlersChanged_ = false; } 64 63 65 virtual void onEnter() { if (executorOnEnter_) (*executorOnEnter_)(); }66 virtual void onLeave() { if (executorOnLeave_) (*executorOnLeave_)(); }64 virtual void onEnter() = 0; 65 virtual void onLeave() = 0; 67 66 68 67 virtual void registerOnEnter(Executor* executor) { executorOnEnter_ = executor; } … … 92 91 InputState() 93 92 : bHandlersChanged_(false) 93 , executorOnEnter_(0) 94 , executorOnLeave_(0) 94 95 , priority_(0) 95 96 , bAlwaysGetsInput_(false) 96 97 , bTransparent_(false) 97 , executorOnEnter_(0)98 , executorOnLeave_(0)99 98 { } 100 99 virtual ~InputState() { } … … 108 107 109 108 bool bHandlersChanged_; 109 Executor* executorOnEnter_; 110 Executor* executorOnLeave_; 110 111 111 112 private: … … 123 124 bool bAlwaysGetsInput_; 124 125 bool bTransparent_; 125 126 Executor* executorOnEnter_;127 Executor* executorOnLeave_;128 126 }; 129 127 } -
code/trunk/src/core/input/KeyBinder.cc
r2896 r3196 33 33 34 34 #include "KeyBinder.h" 35 36 #include <fstream>37 #include <string>38 35 39 36 #include "util/Convert.h" … … 320 317 { 321 318 mouseAxes_[2*i + 0].absVal_ 322 = -mouseRelative_[i] / deriveTime_ * 0.0005 * mouseSensitivityDerived_;319 = -mouseRelative_[i] / deriveTime_ * 0.0005f * mouseSensitivityDerived_; 323 320 mouseAxes_[2*i + 1].absVal_ = 0.0f; 324 321 } … … 327 324 mouseAxes_[2*i + 0].absVal_ = 0.0f; 328 325 mouseAxes_[2*i + 1].absVal_ 329 = mouseRelative_[i] / deriveTime_ * 0.0005 * mouseSensitivityDerived_;326 = mouseRelative_[i] / deriveTime_ * 0.0005f * mouseSensitivityDerived_; 330 327 } 331 328 else -
code/trunk/src/core/input/KeyBinder.h
r2896 r3196 38 38 #include "core/CorePrereqs.h" 39 39 40 #include <cassert> 41 #include <string> 40 42 #include <vector> 41 #include <cassert>42 43 43 44 #include "InputInterfaces.h" -
code/trunk/src/core/input/KeyDetector.cc
r1887 r3196 34 34 35 35 #include "KeyDetector.h" 36 36 37 #include "util/Debug.h" 37 38 #include "core/CoreIncludes.h" 38 #include "core/CommandExecutor.h"39 #include "core/CommandEvaluation.h"40 #include "InputCommands.h"41 39 #include "Button.h" 42 40 -
code/trunk/src/core/input/KeyDetector.h
r1887 r3196 38 38 #include "core/CorePrereqs.h" 39 39 40 #include <string> 40 41 #include "KeyBinder.h" 41 42 -
code/trunk/src/core/input/SimpleInputState.cc
r1887 r3196 34 34 35 35 #include "SimpleInputState.h" 36 #include "core/Executor.h" 36 37 37 38 namespace orxonox … … 148 149 bHandlersChanged_ = true; 149 150 } 151 152 void SimpleInputState::onEnter() 153 { 154 if (executorOnEnter_) 155 (*executorOnEnter_)(); 156 } 157 158 void SimpleInputState::onLeave() 159 { 160 if (executorOnLeave_) 161 (*executorOnLeave_)(); 162 } 150 163 } -
code/trunk/src/core/input/SimpleInputState.h
r2896 r3196 79 79 void update(); 80 80 void numberOfJoySticksChanged(unsigned int n); 81 82 void onEnter(); 83 void onLeave(); 81 84 82 85 KeyHandler* keyHandler_; -
code/trunk/src/cpptcl/CMakeLists.txt
r2710 r3196 31 31 details/methods_v.h 32 32 ) 33 GENERATE_SOURCE_GROUPS(${CPPTCL_FILES})34 33 35 34 # No warnings needed from third party libraries … … 37 36 ADD_COMPILER_FLAGS("-w") 38 37 39 IF(MSVC) 40 ADD_LIBRARY(cpptcl_orxonox STATIC ${CPPTCL_FILES})41 ELSE() 42 ADD_LIBRARY(cpptcl_orxonox SHARED ${CPPTCL_FILES})43 ORXONOX_INSTALL(cpptcl_orxonox)44 ENDIF() 45 46 TARGET_LINK_LIBRARIES(cpptcl_orxonox ${TCL_LIBRARY}) 47 48 SET_TARGET_PROPERTIES(cpptcl_orxonox PROPERTIES VERSION 1.1.3)38 ORXONOX_ADD_LIBRARY(cpptcl_orxonox 39 ORXONOX_EXTERNAL 40 NO_DLL_INTERFACE 41 VERSION 42 1.1.3 43 LINK_LIBRARIES 44 ${TCL_LIBRARY} 45 SOURCE_FILES 46 ${CPPTCL_FILES} 47 ) -
code/trunk/src/network/CMakeLists.txt
r3084 r3196 37 37 ADD_SUBDIRECTORY(packet) 38 38 ADD_SUBDIRECTORY(synchronisable) 39 GET_ALL_HEADER_FILES(NETWORK_HDR_FILES)40 SET(NETWORK_FILES ${NETWORK_SRC_FILES} ${NETWORK_HDR_FILES})41 39 42 GENERATE_SOURCE_GROUPS(${NETWORK_FILES}) 43 44 ADD_LIBRARY(network SHARED ${NETWORK_FILES}) 45 SET_TARGET_PROPERTIES(network PROPERTIES DEFINE_SYMBOL "NETWORK_SHARED_BUILD") 46 TARGET_LINK_LIBRARIES(network 47 ${ZLIB_LIBRARY} 48 ${ENET_LIBRARY} 49 ${Boost_THREAD_LIBRARY} 50 util 51 core 40 ORXONOX_ADD_LIBRARY(network 41 FIND_HEADER_FILES 42 DEFINE_SYMBOL 43 "NETWORK_SHARED_BUILD" 44 PCH_FILE 45 NetworkPrecompiledHeaders.h 46 LINK_LIBRARIES 47 ${ZLIB_LIBRARY} 48 ${ENET_LIBRARY} 49 ${Boost_THREAD_LIBRARY} 50 util 51 core 52 SOURCE_FILES 53 ${NETWORK_SRC_FILES} 52 54 ) 53 54 ORXONOX_INSTALL(network) -
code/trunk/src/network/GamestateClient.cc
r3102 r3196 34 34 #include "core/CoreIncludes.h" 35 35 #include "core/BaseObject.h" 36 #include "core/Iterator.h"37 36 #include "synchronisable/Synchronisable.h" 38 37 #include "synchronisable/NetworkCallbackManager.h" -
code/trunk/src/network/Host.h
r3084 r3196 36 36 namespace orxonox { 37 37 38 const int CLIENTID_SERVER = 0;38 const unsigned int CLIENTID_SERVER = 0; 39 39 const unsigned int NETWORK_FREQUENCY = 30; 40 40 const float NETWORK_PERIOD = 1.0f/NETWORK_FREQUENCY; -
code/trunk/src/network/NetworkFunction.h
r3084 r3196 36 36 #include <map> 37 37 #include <cassert> 38 #include <boost/preprocessor/cat.hpp> 38 39 #include "util/MultiType.h" 40 #include "core/Functor.h" 39 41 #include "synchronisable/Synchronisable.h" 40 42 #include "OrxonoxConfig.h" … … 214 216 215 217 #define registerStaticNetworkFunction( functionPointer ) \ 216 static void* MACRO_CONCATENATE( NETWORK_FUNCTION_, __LINE__ ) = registerStaticNetworkFunctionFct( functionPointer, #functionPointer );218 static void* BOOST_PP_CAT( NETWORK_FUNCTION_, __LINE__ ) = registerStaticNetworkFunctionFct( functionPointer, #functionPointer ); 217 219 #define registerMemberNetworkFunction( class, function ) \ 218 static void* MACRO_CONCATENATE( NETWORK_FUNCTION_##class, __LINE__ ) = registerMemberNetworkFunctionFct<class>( &class::function, #class "_" #function);220 static void* BOOST_PP_CAT( NETWORK_FUNCTION_##class, __LINE__ ) = registerMemberNetworkFunctionFct<class>( &class::function, #class "_" #function); 219 221 // call it with functionPointer, clientID, args 220 222 #define callStaticNetworkFunction( functionPointer, ...) \ -
code/trunk/src/network/Server.cc
r3102 r3196 54 54 #include "core/ConsoleCommand.h" 55 55 #include "core/CoreIncludes.h" 56 #include "core/Iterator.h"57 56 #include "packet/Chat.h" 58 57 #include "packet/Packet.h" -
code/trunk/src/network/packet/Gamestate.cc
r3084 r3196 36 36 #include "core/GameMode.h" 37 37 #include "core/CoreIncludes.h" 38 #include "core/Iterator.h"39 38 40 39 -
code/trunk/src/ogreceguirenderer/CMakeLists.txt
r2710 r3196 27 27 OgreCEGUITexture.cpp 28 28 ) 29 GENERATE_SOURCE_GROUPS(${OCR_FILES})30 29 31 30 # No warnings needed from third party libraries … … 33 32 ADD_COMPILER_FLAGS("-w") 34 33 35 ADD_LIBRARY(ogreceguirenderer_orxonox SHARED ${OCR_FILES}) 36 SET_TARGET_PROPERTIES(ogreceguirenderer_orxonox PROPERTIES DEFINE_SYMBOL "OGRE_GUIRENDERER_EXPORTS") 37 TARGET_LINK_LIBRARIES(ogreceguirenderer_orxonox 38 ${OGRE_LIBRARY} 39 ${CEGUI_LIBRARY} 34 ORXONOX_ADD_LIBRARY(ogreceguirenderer_orxonox 35 ORXONOX_EXTERNAL 36 LINK_LIBRARIES 37 ${OGRE_LIBRARY} 38 ${CEGUI_LIBRARY} 39 DEFINE_SYMBOL 40 "OGRE_GUIRENDERER_EXPORTS" 41 VERSION 42 1.4.9 43 SOURCE_FILES 44 ${OCR_FILES} 40 45 ) 41 42 SET_TARGET_PROPERTIES(ogreceguirenderer_orxonox PROPERTIES VERSION 1.4.9)43 44 ORXONOX_INSTALL(ogreceguirenderer_orxonox) -
code/trunk/src/ois/CMakeLists.txt
r2710 r3196 50 50 ENDIF() 51 51 52 GENERATE_SOURCE_GROUPS(${OIS_FILES})53 54 52 # No warnings needed from third party libraries 55 53 REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC) … … 58 56 INCLUDE_DIRECTORIES(.) 59 57 60 ADD_LIBRARY(ois_orxonox SHARED ${OIS_FILES}) 61 SET_TARGET_PROPERTIES(ois_orxonox PROPERTIES DEFINE_SYMBOL "OIS_NONCLIENT_BUILD") 58 ORXONOX_ADD_LIBRARY(ois_orxonox 59 ORXONOX_EXTERNAL 60 DEFINE_SYMBOL 61 "OIS_NONCLIENT_BUILD" 62 VERSION 63 1.2 64 SOURCE_FILES 65 ${OIS_FILES} 66 ) 62 67 63 68 IF(WIN32) 64 69 TARGET_LINK_LIBRARIES(ois_orxonox ${DIRECTX_LIBRARIES}) 65 70 ENDIF() 66 67 SET_TARGET_PROPERTIES(ois_orxonox PROPERTIES VERSION 1.2)68 69 ORXONOX_INSTALL(ois_orxonox) -
code/trunk/src/orxonox/CMakeLists.txt
r3110 r3196 28 28 ADD_SUBDIRECTORY(gamestates) 29 29 ADD_SUBDIRECTORY(gui) 30 ADD_SUBDIRECTORY(interfaces) 30 31 ADD_SUBDIRECTORY(objects) 31 32 ADD_SUBDIRECTORY(overlays) 33 ADD_SUBDIRECTORY(sound) 32 34 ADD_SUBDIRECTORY(tools) 33 ADD_SUBDIRECTORY(sound)34 GET_ALL_HEADER_FILES(ORXONOX_HDR_FILES)35 SET(ORXONOX_FILES ${ORXONOX_SRC_FILES} ${ORXONOX_HDR_FILES})36 35 37 GENERATE_SOURCE_GROUPS(${ORXONOX_FILES}) 38 GENERATE_TOLUA_BINDINGS(Orxonox ORXONOX_FILES INPUTFILES gui/GUIManager.h objects/quest/QuestManager.h objects/quest/QuestDescription.h objects/pickup/PickupInventory.h objects/pickup/BaseItem.h) 36 # Translate argument 37 IF(ORXONOX_USE_WINMAIN) 38 SET(ORXONOX_WIN32 WIN32) 39 ENDIF() 39 40 40 ADD_EXECUTABLE(orxonox ${ORXONOX_FILES}) 41 ORXONOX_ADD_EXECUTABLE(orxonox 42 FIND_HEADER_FILES 43 TOLUA_FILES 44 gui/GUIManager.h 45 objects/pickup/BaseItem.h 46 objects/pickup/PickupInventory.h 47 objects/quest/QuestDescription.h 48 objects/quest/QuestManager.h 49 PCH_FILE 50 OrxonoxPrecompiledHeaders.h 51 PCH_NO_DEFAULT 52 # When defined as WIN32 this removes the console window on Windows 53 ${ORXONOX_WIN32} 54 LINK_LIBRARIES 55 ${OGRE_LIBRARY} 56 ${CEGUI_LIBRARY} 57 ${LUA_LIBRARIES} 58 ${CEGUILUA_LIBRARY} 59 ${Boost_SYSTEM_LIBRARY} 60 ${OPENAL_LIBRARY} 61 ${ALUT_LIBRARY} 62 ${VORBISFILE_LIBRARY} 63 ${VORBIS_LIBRARY} 64 ${OGG_LIBRARY} 65 ogreceguirenderer_orxonox 66 tinyxml++_orxonox 67 tolua++_orxonox 68 bullet_orxonox 69 util 70 core 71 network 72 SOURCE_FILES ${ORXONOX_SRC_FILES} 73 ) 74 41 75 GET_TARGET_PROPERTY(_exec_loc orxonox LOCATION) 42 76 GET_FILENAME_COMPONENT(_exec_name ${_exec_loc} NAME) 43 77 SET(ORXONOX_EXECUTABLE_NAME ${_exec_name} CACHE INTERNAL "") 44 45 TARGET_LINK_LIBRARIES(orxonox46 ${OGRE_LIBRARY}47 ${CEGUI_LIBRARY}48 ${LUA_LIBRARIES}49 ${CEGUILUA_LIBRARY}50 ${Boost_SYSTEM_LIBRARY}51 ${OPENAL_LIBRARY}52 ${ALUT_LIBRARY}53 ${VORBISFILE_LIBRARY}54 ${VORBIS_LIBRARY}55 ${OGG_LIBRARY}56 ogreceguirenderer_orxonox57 tinyxml++_orxonox58 tolua++_orxonox59 bullet_orxonox60 util61 core62 network63 )64 65 ORXONOX_INSTALL(orxonox)66 78 67 79 … … 81 93 STRING(REGEX REPLACE "^Visual Studio ([0-9][0-9]?) .*$" "\\1" 82 94 VISUAL_STUDIO_VERSION_SIMPLE "${CMAKE_GENERATOR}") 83 CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/orxonox.vcproj.user " "${CMAKE_CURRENT_BINARY_DIR}/orxonox.vcproj.user")95 CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/orxonox.vcproj.user.in" "${CMAKE_CURRENT_BINARY_DIR}/orxonox.vcproj.user") 84 96 ENDIF(MSVC) -
code/trunk/src/orxonox/CameraManager.cc
r3110 r3196 30 30 #include <OgreSceneManager.h> 31 31 #include <OgreViewport.h> 32 #include <OgreCamera.h>33 32 #include <OgreCompositorManager.h> 34 #include <OgreResource.h>35 33 34 #include "util/String.h" 36 35 #include "core/GameMode.h" 37 #include "core/Iterator.h" 36 #include "core/ObjectList.h" 37 #include "tools/Shader.h" 38 38 #include "objects/worldentities/Camera.h" 39 39 #include "objects/Scene.h" 40 #include "tools/Shader.h"41 #include "util/String.h"42 40 #include "gui/GUIManager.h" 43 41 -
code/trunk/src/orxonox/CameraManager.h
r3068 r3196 40 40 #include <cassert> 41 41 #include <list> 42 #include <OgrePrerequisites.h>42 #include "util/OgreForwardRefs.h" 43 43 44 44 namespace orxonox … … 55 55 void releaseFocus(Camera* camera); 56 56 57 void useCamera(Ogre::Camera* camera); 58 57 59 static CameraManager& getInstance() { assert(singletonRef_s); return *singletonRef_s; } 58 60 static CameraManager* getInstancePtr() { return singletonRef_s; } 59 61 60 void useCamera(Ogre::Camera* camera); 62 private: 63 CameraManager(const CameraManager&); // don't use 61 64 62 private: 63 CameraManager(const CameraManager&); 64 65 std::list<Camera*> cameraList_; 66 Ogre::Viewport* viewport_; 67 Ogre::Camera* fallbackCamera_; 65 std::list<Camera*> cameraList_; 66 Ogre::Viewport* viewport_; 67 Ogre::Camera* fallbackCamera_; 68 68 69 69 static CameraManager* singletonRef_s; -
code/trunk/src/orxonox/GraphicsManager.cc
r3110 r3196 52 52 53 53 #include "SpecialConfig.h" 54 #include "util/Debug.h"55 54 #include "util/Exception.h" 56 55 #include "util/String.h" … … 63 62 #include "core/Game.h" 64 63 #include "core/GameMode.h" 65 #include "tools/WindowEventListener.h"66 64 #include "tools/ParticleInterface.h" 65 #include "interfaces/WindowEventListener.h" 66 67 // HACK! 68 #include "overlays/map/Map.h" 67 69 68 70 namespace orxonox … … 88 90 , viewport_(0) 89 91 , ogreWindowEventListener_(0) 90 , avgTickTime_(0.0f)91 , avgFramesPerSecond_(0.0f)92 92 { 93 93 RegisterObject(GraphicsManager); … … 144 144 // Ogre::RenderSystem* renderer = this->ogreRoot_->getRenderSystem(); 145 145 // renderer->destroyRenderWindow("Orxonox"); 146 147 // HACK! This fixes an exit crash 148 Map::hackDestroyMap(); 146 149 147 150 // unload all compositors -
code/trunk/src/orxonox/GraphicsManager.h
r2896 r3196 39 39 #include "OrxonoxPrereqs.h" 40 40 41 #include <cassert> 41 42 #include <string> 42 #include <cassert>43 43 #include <OgreLog.h> 44 45 44 #include "core/OrxonoxClass.h" 46 45 … … 66 65 { return this->detailLevelParticle_; } 67 66 68 inline Ogre::Viewport* getViewport() const67 inline Ogre::Viewport* getViewport() 69 68 { return this->viewport_; } 70 69 inline Ogre::RenderWindow* getRenderWindow() … … 73 72 void setCamera(Ogre::Camera* camera); 74 73 75 static GraphicsManager& getInstance() { assert(singletonRef_s); return *singletonRef_s; } 74 inline static GraphicsManager& getInstance() 75 { assert(singletonRef_s); return *singletonRef_s; } 76 76 77 77 private: … … 101 101 OgreWindowEventListener* ogreWindowEventListener_; 102 102 103 // stats (Hack)104 float avgTickTime_; //!< time in ms to tick() one frame105 float avgFramesPerSecond_; //!< number of frames processed in one second106 107 103 // config values 108 104 unsigned int detailLevelParticle_; //!< Detail level of particle effects (0: off, 1: low, 2: normal, 3: high) -
code/trunk/src/orxonox/LevelManager.cc
r3110 r3196 29 29 #include "LevelManager.h" 30 30 31 #include <map> 31 32 #include "PlayerManager.h" 32 33 #include "objects/Level.h" -
code/trunk/src/orxonox/LevelManager.h
r2171 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <cassert> 34 35 #include <list> 35 #include <map>36 #include <cassert>37 36 38 37 namespace orxonox … … 57 56 58 57 std::list<Level*> levels_s; 58 59 59 static LevelManager* singletonRef_s; 60 60 }; -
code/trunk/src/orxonox/Main.cc
r3110 r3196 28 28 */ 29 29 30 /** 31 @mainpage Orxonox Documentation 32 */ 30 /** 31 @file 32 @brief 33 Entry point of the program. 34 */ 33 35 34 /** 35 @file 36 @brief Entry point of the program. 37 */ 38 39 #include "OrxonoxConfig.h" 36 #include "OrxonoxPrereqs.h" 40 37 41 38 #include "util/Debug.h" … … 47 44 Main method. Game starts here (except for static initialisations). 48 45 */ 46 #ifdef ORXONOX_USE_WINMAIN 47 INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT) 48 #else 49 49 int main(int argc, char** argv) 50 #endif 50 51 { 51 52 { -
code/trunk/src/orxonox/OrxonoxPrereqs.h
r3099 r3196 247 247 template <class T> 248 248 class Timer; 249 class DynamicLines;250 class DynamicRenderable;251 249 252 250 // overlays … … 254 252 class DebugFPSText; 255 253 class DebugRTRText; 254 class GUIOverlay; 256 255 class HUDBar; 257 256 class HUDNavigation; … … 288 287 namespace Ogre 289 288 { 290 // some got forgotten in OgrePrerequisites 291 class BorderPanelOverlayElement; 292 class PanelOverlayElement; 293 class TextAreaOverlayElement; 289 // OGRE Wiki adapted code 290 class DynamicLines; 291 class DynamicRenderable; 294 292 } 295 293 296 294 namespace CEGUI 297 295 { 296 class DefaultLogger; 298 297 class LuaScriptModule; 299 298 … … 304 303 305 304 // Bullet Physics Engine 306 307 305 class btTransform; 308 306 class btVector3; … … 324 322 class btSequentialImpulseConstraintSolver; 325 323 326 // lua 324 // ALUT 325 typedef struct ALCcontext_struct ALCcontext; 326 typedef struct ALCdevice_struct ALCdevice; 327 typedef unsigned int ALuint; 328 typedef int ALint; 329 330 // Lua 327 331 struct lua_State; 328 332 -
code/trunk/src/orxonox/PawnManager.cc
r3110 r3196 31 31 #include "core/CoreIncludes.h" 32 32 #include "objects/worldentities/pawns/Pawn.h" 33 34 33 35 34 namespace orxonox -
code/trunk/src/orxonox/PawnManager.h
r2662 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 #include " objects/Tickable.h"33 #include "interfaces/Tickable.h" 34 34 35 35 namespace orxonox -
code/trunk/src/orxonox/PlayerManager.cc
r3110 r3196 29 29 #include "PlayerManager.h" 30 30 31 #include " LevelManager.h"31 #include "core/CoreIncludes.h" 32 32 #include "core/GameMode.h" 33 #include "core/CoreIncludes.h"34 33 #include "objects/Level.h" 35 34 #include "objects/infos/HumanPlayer.h" 35 #include "LevelManager.h" 36 36 37 37 namespace orxonox -
code/trunk/src/orxonox/PlayerManager.h
r2662 r3196 44 44 virtual ~PlayerManager(); 45 45 46 static PlayerManager& getInstance()47 { assert(singletonRef_s); return *singletonRef_s; }46 inline static PlayerManager& getInstance() 47 { assert(singletonRef_s); return *singletonRef_s; } 48 48 49 49 PlayerInfo* getClient(unsigned int clientID) const; -
code/trunk/src/orxonox/gamestates/GSClient.cc
r3110 r3196 29 29 #include "GSClient.h" 30 30 31 #include " core/input/InputManager.h"31 #include "util/Exception.h" 32 32 #include "core/Clock.h" 33 33 #include "core/CommandLine.h" -
code/trunk/src/orxonox/gamestates/GSClient.h
r2896 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "core/GameState.h" 34 35 #include "network/NetworkPrereqs.h" -
code/trunk/src/orxonox/gamestates/GSDedicated.cc
r3110 r3196 29 29 #include "GSDedicated.h" 30 30 31 #include "util/Debug.h" 32 #include "util/Sleep.h" 31 33 #include "core/Clock.h" 32 34 #include "core/CommandLine.h" 33 35 #include "core/Game.h" 34 36 #include "core/GameMode.h" 35 #include "core/Iterator.h"36 37 #include "network/Server.h" 37 #include "objects/Tickable.h"38 #include "util/Sleep.h"39 38 40 39 namespace orxonox -
code/trunk/src/orxonox/gamestates/GSDedicated.h
r2896 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "core/GameState.h" 34 35 #include "network/NetworkPrereqs.h" -
code/trunk/src/orxonox/gamestates/GSGraphics.cc
r3110 r3196 28 28 29 29 /** 30 @file 31 @brief Implementation of Graphics GameState class. 30 @file 31 @brief 32 Implementation of Graphics GameState class. 32 33 */ 33 34 … … 37 38 #include <OgreRenderWindow.h> 38 39 39 #include "util/Debug.h"40 40 #include "core/ConfigValueIncludes.h" 41 41 #include "core/Clock.h" … … 52 52 #include "overlays/console/InGameConsole.h" 53 53 #include "gui/GUIManager.h" 54 #include "sound/SoundManager.h" 54 55 #include "GraphicsManager.h" 55 56 … … 64 65 , guiManager_(0) 65 66 , graphicsManager_(0) 67 , soundManager_(0) 66 68 , masterKeyBinder_(0) 67 69 , masterInputState_(0) … … 95 97 \li creates input manager 96 98 \li loads master key bindings 99 \li loads the SoundManager 97 100 \li loads ingame console 98 101 \li loads GUI interface (GUIManager) … … 128 131 masterKeyBinder_->loadBindings("masterKeybindings.ini"); 129 132 masterInputState_->setKeyHandler(masterKeyBinder_); 133 134 // Load the SoundManager 135 soundManager_ = new SoundManager(); 130 136 131 137 // Load the InGameConsole … … 173 179 delete this->debugOverlay_; 174 180 181 delete this->soundManager_; 182 175 183 delete this->inputManager_; 176 184 this->inputManager_ = 0; -
code/trunk/src/orxonox/gamestates/GSGraphics.h
r3084 r3196 27 27 */ 28 28 29 /** 30 @file 31 @brief Declaration of the Graphics GameState class. 32 */ 29 /** 30 @file 31 @brief 32 Declaration of the Graphics GameState class. 33 */ 33 34 34 35 #ifndef _GSGraphics_H__ … … 36 37 37 38 #include "OrxonoxPrereqs.h" 39 38 40 #include "core/GameState.h" 39 #include " tools/WindowEventListener.h"41 #include "interfaces/WindowEventListener.h" 40 42 41 43 namespace orxonox 42 44 { 43 45 /** 44 @class GSGraphics45 46 @brief 46 Game state used when displaying graphics of any kind 47 Game state used when displaying graphics of any kind. Another blubb resides here. 47 48 48 49 This game state is only left out if we start a dedicated server where no graphics are present. … … 71 72 GUIManager* guiManager_; //!< Interface to GUI 72 73 GraphicsManager* graphicsManager_; //!< Interface to Ogre 74 SoundManager* soundManager_; //!< Keeps track of SoundBase objects 73 75 74 76 KeyBinder* masterKeyBinder_; //!< Key binder for master key bindings -
code/trunk/src/orxonox/gamestates/GSIOConsole.cc
r3110 r3196 30 30 31 31 #include <iostream> 32 #include <OgreFrameListener.h>33 #include <OgreRoot.h>34 #include <OgreTimer.h>35 32 36 33 #include "core/ConsoleCommand.h" -
code/trunk/src/orxonox/gamestates/GSLevel.cc
r3110 r3196 33 33 #include "core/input/SimpleInputState.h" 34 34 #include "core/input/KeyBinder.h" 35 #include "core/Loader.h" 36 #include "core/XMLFile.h" 37 #include "core/CommandExecutor.h" 35 #include "core/Clock.h" 36 #include "core/CommandLine.h" 38 37 #include "core/ConsoleCommand.h" 39 #include "core/CommandLine.h"40 38 #include "core/ConfigValueIncludes.h" 41 #include "core/Core.h"42 39 #include "core/CoreIncludes.h" 43 40 #include "core/Game.h" 44 41 #include "core/GameMode.h" 45 #include "objects/Tickable.h" 42 #include "core/Core.h" 43 #include "core/Loader.h" 44 #include "core/XMLFile.h" 45 46 #include "interfaces/Tickable.h" 46 47 #include "objects/Radar.h" 48 #include "objects/quest/QuestManager.h" 49 #include "overlays/notifications/NotificationManager.h" 50 #include "gui/GUIManager.h" 47 51 #include "CameraManager.h" 48 52 #include "GraphicsManager.h" 49 53 #include "LevelManager.h" 50 54 #include "PlayerManager.h" 51 #include "gui/GUIManager.h"52 #include "objects/quest/QuestManager.h"53 #include "overlays/notifications/NotificationManager.h"54 55 55 56 namespace orxonox … … 148 149 if (show) 149 150 { 150 GUIManager::getInstance Ptr()->showGUI("inGameTest");151 GUIManager::getInstance Ptr()->executeCode("showCursor()");151 GUIManager::getInstance().showGUI("inGameTest"); 152 GUIManager::getInstance().executeCode("showCursor()"); 152 153 InputManager::getInstance().requestEnterState("guiMouseOnly"); 153 154 } 154 155 else 155 156 { 156 GUIManager::getInstance Ptr()->executeCode("hideGUI(\"inGameTest\")");157 GUIManager::getInstance Ptr()->executeCode("hideCursor()");157 GUIManager::getInstance().executeCode("hideGUI(\"inGameTest\")"); 158 GUIManager::getInstance().executeCode("hideCursor()"); 158 159 InputManager::getInstance().requestLeaveState("guiMouseOnly"); 159 160 } -
code/trunk/src/orxonox/gamestates/GSLevel.h
r3008 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include <string> 33 35 #include "core/OrxonoxClass.h" 34 36 #include "core/GameState.h" … … 48 50 49 51 static void showIngameGUI(bool show); 50 static void setLevel(std::string levelName);51 52 52 53 static XMLFile* startFile_s; … … 69 70 LevelManager* levelManager_; //!< global level manager 70 71 PlayerManager* playerManager_; //!< player manager for this level 71 QuestManager* 72 QuestManager* questManager_; 72 73 NotificationManager* notificationManager_; 73 74 -
code/trunk/src/orxonox/gamestates/GSMainMenu.cc
r3110 r3196 29 29 #include "GSMainMenu.h" 30 30 31 //#include <OgreViewport.h>32 31 #include <OgreSceneManager.h> 32 33 #include "core/input/InputManager.h" 34 #include "core/input/SimpleInputState.h" 35 #include "core/Game.h" 33 36 #include "core/Clock.h" 34 37 #include "core/ConsoleCommand.h" 35 #include "core/Game.h" 36 #include "core/input/InputManager.h" 37 #include "core/input/SimpleInputState.h" 38 #include "objects/Scene.h" 38 39 #include "gui/GUIManager.h" 39 #include " objects/Scene.h"40 #include "sound/SoundMainMenu.h" 40 41 #include "GraphicsManager.h" 41 #include "sound/SoundMainMenu.h"42 42 43 43 namespace orxonox -
code/trunk/src/orxonox/gamestates/GSMainMenu.h
r3094 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 #include <OgrePrerequisites.h> 33 34 #include "util/OgreForwardRefs.h" 34 35 #include "core/GameState.h" 35 36 -
code/trunk/src/orxonox/gamestates/GSRoot.cc
r3110 r3196 29 29 #include "GSRoot.h" 30 30 31 #include "util/Exception.h"32 #include "util/Debug.h"33 31 #include "core/Clock.h" 32 #include "core/CommandLine.h" 33 #include "core/ConsoleCommand.h" 34 34 #include "core/Game.h" 35 35 #include "core/GameMode.h" 36 #include "core/CommandLine.h"37 #include "core/ConsoleCommand.h"38 #include "tools/TimeFactorListener.h"39 36 #include "tools/Timer.h" 40 #include "objects/Tickable.h" 37 #include "interfaces/TimeFactorListener.h" 38 #include "interfaces/Tickable.h" 41 39 42 40 namespace orxonox -
code/trunk/src/orxonox/gamestates/GSRoot.h
r3084 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 #include "core/GameState.h" 34 #include "core/OrxonoxClass.h"35 34 36 35 namespace orxonox -
code/trunk/src/orxonox/gamestates/GSServer.cc
r3110 r3196 29 29 #include "GSServer.h" 30 30 31 #include "util/Debug.h" 31 32 #include "core/CommandLine.h" 32 33 #include "core/Game.h" -
code/trunk/src/orxonox/gamestates/GSServer.h
r2896 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "core/GameState.h" 34 35 #include "network/NetworkPrereqs.h" -
code/trunk/src/orxonox/gamestates/GSStandalone.cc
r3110 r3196 29 29 #include "GSStandalone.h" 30 30 31 #include <OgreViewport.h>32 #include <OgreCamera.h>33 31 #include "core/Game.h" 34 32 #include "core/GameMode.h" 35 #include "core/ConsoleCommand.h"36 #include "gui/GUIManager.h"37 #include "GraphicsManager.h"38 33 39 34 namespace orxonox -
code/trunk/src/orxonox/gui/GUIManager.cc
r3110 r3196 24 24 * Benjamin Knecht 25 25 * Co-authors: 26 * 26 * ... 27 27 * 28 28 */ 29 29 30 30 /** 31 32 33 31 @file 32 @brief 33 Implementation of the GUIManager class. 34 34 */ 35 35 36 36 #include "GUIManager.h" 37 37 38 #include <boost/filesystem/path.hpp> 39 #include < OgreRenderWindow.h>40 #include <CEGUI.h> 38 extern "C" { 39 #include <lua.h> 40 } 41 41 #include <CEGUIDefaultLogger.h> 42 #include <CEGUIExceptions.h> 43 #include <CEGUIInputEvent.h> 44 #include <CEGUIResourceProvider.h> 45 #include <CEGUISystem.h> 42 46 #include <ogreceguirenderer/OgreCEGUIRenderer.h> 47 43 48 #include "SpecialConfig.h" // Configures the macro below 44 49 #ifdef CEGUILUA_USE_INTERNAL_LIBRARY … … 49 54 50 55 #include "util/Exception.h" 51 #include "core/ConsoleCommand.h"52 56 #include "core/Core.h" 53 57 #include "core/Clock.h" … … 56 60 #include "core/Loader.h" 57 61 58 extern "C" {59 #include <lua.h>60 }61 62 62 namespace orxonox 63 63 { 64 static CEGUI::MouseButton convertButton(MouseButtonCode::ByEnum button); 64 65 GUIManager* GUIManager::singletonRef_s = 0; 65 66 … … 139 140 140 141 // Create our own logger to specify the filepath 141 boost::filesystem::path ceguiLogFilepath(Core::getLogPath() / "cegui.log");142 142 this->ceguiLogger_ = new DefaultLogger(); 143 this->ceguiLogger_->setLogFilename( ceguiLogFilepath.string());143 this->ceguiLogger_->setLogFilename(Core::getLogPathString() + "cegui.log"); 144 144 // set the log level according to ours (translate by subtracting 1) 145 145 this->ceguiLogger_->setLoggingLevel( … … 271 271 Returns false if the Overlay was already present. 272 272 */ 273 bool GUIManager::registerOverlay( std::stringname, GUIOverlay* overlay)273 bool GUIManager::registerOverlay(const std::string& name, GUIOverlay* overlay) 274 274 { 275 275 return (this->guiOverlays_.insert(std::pair<std::string, GUIOverlay*>(name, overlay))).second; … … 284 284 Returns a pointer to the GUIOverlay. 285 285 */ 286 GUIOverlay* GUIManager::getOverlay( std::stringname)286 GUIOverlay* GUIManager::getOverlay(const std::string& name) 287 287 { 288 288 return (this->guiOverlays_.find(name))->second; … … 340 340 } 341 341 342 void GUIManager::keyPressed(const KeyEvent& evt) 343 { 344 guiSystem_->injectKeyDown(evt.key); guiSystem_->injectChar(evt.text); 345 } 346 void GUIManager::keyReleased(const KeyEvent& evt) 347 { 348 guiSystem_->injectKeyUp(evt.key); 349 } 350 342 351 /** 343 352 @brief … … 382 391 COUT(1) << ex.getMessage() << std::endl; 383 392 } 393 } 394 395 void GUIManager::mouseMoved(IntVector2 abs, IntVector2 rel, IntVector2 clippingSize) 396 { 397 guiSystem_->injectMouseMove(static_cast<float>(rel.x), static_cast<float>(rel.y)); 398 } 399 void GUIManager::mouseScrolled(int abs, int rel) 400 { 401 guiSystem_->injectMouseWheelChange(static_cast<float>(rel)); 384 402 } 385 403 … … 394 412 Simple convertion from mouse event code in Orxonox to the one used in CEGUI. 395 413 */ 396 inline CEGUI::MouseButton GUIManager::convertButton(MouseButtonCode::ByEnum button)414 static inline CEGUI::MouseButton convertButton(MouseButtonCode::ByEnum button) 397 415 { 398 416 switch (button) -
code/trunk/src/orxonox/gui/GUIManager.h
r3008 r3196 22 22 * Author: 23 23 * Reto Grieder 24 * Benjamin Knecht 24 25 * Co-authors: 25 * Benjamin Knecht26 * ... 26 27 * 27 28 */ 28 29 29 30 /** 30 @file 31 @brief Declaration of the GUIManager class. 31 @file 32 @brief 33 Declaration of the GUIManager class. 32 34 */ 33 35 … … 36 38 37 39 #include "OrxonoxPrereqs.h" 38 #include <OgrePrerequisites.h> 40 41 #include <map> 42 #include <string> 39 43 #include <CEGUIForwardRefs.h> 40 #include <CEGUIInputEvent.h> 41 #include <CEGUISystem.h>44 45 #include "util/OgreForwardRefs.h" 42 46 #include "core/input/InputInterfaces.h" 43 #include <map>44 #include "overlays/GUIOverlay.h"45 46 // Forward declaration47 namespace CEGUI { class DefaultLogger; }48 47 49 48 // tolua_begin … … 89 88 void executeCode(const std::string& str); 90 89 91 bool registerOverlay( std::stringname, GUIOverlay* overlay); //!< Register a GUIOverlay with the GUIManager.92 GUIOverlay* getOverlay( std::stringname); // Get the GUIOverlay of the GUI with the given name.90 bool registerOverlay(const std::string& name, GUIOverlay* overlay); //!< Register a GUIOverlay with the GUIManager. 91 GUIOverlay* getOverlay(const std::string& name); // Get the GUIOverlay of the GUI with the given name. 93 92 94 93 void setCamera(Ogre::Camera* camera); … … 105 104 106 105 // keyHandler functions 107 void keyPressed (const KeyEvent& evt) 108 { guiSystem_->injectKeyDown(evt.key); guiSystem_->injectChar(evt.text); } 109 void keyReleased(const KeyEvent& evt) 110 { guiSystem_->injectKeyUp(evt.key); } 106 void keyPressed (const KeyEvent& evt); 107 void keyReleased(const KeyEvent& evt); 111 108 void keyHeld (const KeyEvent& evt) { } 112 109 … … 115 112 void mouseButtonReleased(MouseButtonCode::ByEnum id); 116 113 void mouseButtonHeld (MouseButtonCode::ByEnum id) { } 117 void mouseMoved (IntVector2 abs, IntVector2 rel, IntVector2 clippingSize) 118 { guiSystem_->injectMouseMove(rel.x, rel.y); } 119 void mouseScrolled (int abs, int rel) 120 { guiSystem_->injectMouseWheelChange(rel);} 114 void mouseMoved (IntVector2 abs, IntVector2 rel, IntVector2 clippingSize); 115 void mouseScrolled (int abs, int rel); 121 116 122 117 void updateInput(float dt) { } 123 118 void updateKey (float dt) { } 124 119 void updateMouse(float dt) { } 125 126 static CEGUI::MouseButton convertButton(MouseButtonCode::ByEnum button);127 120 128 121 Ogre::RenderWindow* renderWindow_; //!< Ogre's render window to give CEGUI access to it -
code/trunk/src/orxonox/objects/CMakeLists.txt
r3099 r3196 3 3 EventDispatcher.cc 4 4 EventTarget.cc 5 GametypeMessageListener.cc6 5 GlobalShader.cc 7 6 Level.cc 8 7 Radar.cc 9 RadarListener.cc10 RadarViewable.cc11 Teamcolourable.cc12 Tickable.cc13 8 Scene.cc 14 9 Script.cc -
code/trunk/src/orxonox/objects/EventDispatcher.cc
r3110 r3196 32 32 #include "core/EventIncludes.h" 33 33 #include "core/XMLPort.h" 34 #include "core/EventIncludes.h"35 34 #include "EventTarget.h" 36 35 -
code/trunk/src/orxonox/objects/EventDispatcher.h
r2087 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include <list> 33 35 #include "core/BaseObject.h" 34 36 -
code/trunk/src/orxonox/objects/EventListener.cc
r3110 r3196 30 30 31 31 #include "core/CoreIncludes.h" 32 #include "core/EventIncludes.h"33 32 #include "core/XMLPort.h" 34 33 -
code/trunk/src/orxonox/objects/EventListener.h
r2087 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include <string> 33 35 #include "core/BaseObject.h" 34 36 #include "core/XMLNameListener.h" -
code/trunk/src/orxonox/objects/EventTarget.cc
r3110 r3196 28 28 29 29 #include "EventTarget.h" 30 31 30 #include "core/CoreIncludes.h" 32 #include "core/EventIncludes.h"33 31 34 32 namespace orxonox -
code/trunk/src/orxonox/objects/EventTarget.h
r2087 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "core/BaseObject.h" 34 35 #include "core/XMLNameListener.h" -
code/trunk/src/orxonox/objects/GlobalShader.cc
r3110 r3196 29 29 #include "GlobalShader.h" 30 30 31 #include "util/Exception.h" 31 32 #include "core/CoreIncludes.h" 32 33 #include "core/XMLPort.h" 33 34 #include "objects/Scene.h" 34 #include "util/Exception.h"35 35 36 36 namespace orxonox -
code/trunk/src/orxonox/objects/Level.cc
r3110 r3196 29 29 #include "Level.h" 30 30 31 #include "util/Math.h" 32 #include "core/Core.h" 31 33 #include "core/CoreIncludes.h" 34 #include "core/Loader.h" 35 #include "core/Template.h" 36 #include "core/XMLFile.h" 32 37 #include "core/XMLPort.h" 33 #include "core/Loader.h"34 #include "core/XMLFile.h"35 #include "core/Template.h"36 #include "core/Core.h"37 38 38 #include "LevelManager.h"39 39 #include "objects/infos/PlayerInfo.h" 40 40 #include "objects/gametypes/Gametype.h" 41 41 #include "overlays/OverlayGroup.h" 42 42 #include "sound/SoundBase.h" 43 44 #include "util/Math.h" 43 #include "LevelManager.h" 45 44 46 45 namespace orxonox -
code/trunk/src/orxonox/objects/Level.h
r3068 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <list> 35 #include <string> 36 #include "core/BaseObject.h" 34 37 #include "network/synchronisable/Synchronisable.h" 35 #include "core/BaseObject.h"36 38 37 39 namespace orxonox -
code/trunk/src/orxonox/objects/Radar.cc
r3110 r3196 28 28 29 29 /** 30 31 30 @file 31 @brief 32 32 */ 33 33 34 34 #include "Radar.h" 35 #include <cfloat> 35 36 36 #include <cassert> 37 #include "core/CoreIncludes.h" 37 38 //#include "util/Math.h" 38 39 #include "core/ConsoleCommand.h" 39 #include "core/ Iterator.h"40 #include " RadarListener.h"40 #include "core/ObjectList.h" 41 #include "interfaces/RadarListener.h" 41 42 42 43 namespace orxonox -
code/trunk/src/orxonox/objects/Radar.h
r1818 r3196 28 28 29 29 /** 30 31 30 @file 31 @brief 32 32 */ 33 33 … … 39 39 #include <map> 40 40 #include <string> 41 #include "core/Iterator.h" 42 #include "core/O rxonoxClass.h"43 #include " objects/Tickable.h"44 #include " RadarViewable.h"41 42 #include "core/ObjectListIterator.h" 43 #include "interfaces/RadarViewable.h" 44 #include "interfaces/Tickable.h" 45 45 46 46 namespace orxonox -
code/trunk/src/orxonox/objects/Scene.cc
r3110 r3196 31 31 32 32 #include <OgreRoot.h> 33 #include <OgreSceneManager.h> 33 34 #include <OgreSceneManagerEnumerator.h> 34 35 #include <OgreSceneNode.h> 35 36 36 #include "BulletCollision/BroadphaseCollision/btAxisSweep3.h"37 #include "BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h"38 #include "BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h"39 #include "BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h"37 #include <BulletCollision/BroadphaseCollision/btAxisSweep3.h> 38 #include <BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h> 39 #include <BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h> 40 #include <BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h> 40 41 41 42 #include "core/CoreIncludes.h" … … 58 59 if (GameMode::showsGraphics()) 59 60 { 60 if (Ogre::Root::getSingletonPtr()) 61 { 62 this->sceneManager_ = Ogre::Root::getSingleton().createSceneManager(Ogre::ST_GENERIC); 63 this->rootSceneNode_ = this->sceneManager_->getRootSceneNode(); 64 } 65 else 66 { 67 this->sceneManager_ = 0; 68 this->rootSceneNode_ = 0; 69 } 61 assert(Ogre::Root::getSingletonPtr()); 62 this->sceneManager_ = Ogre::Root::getSingleton().createSceneManager(Ogre::ST_GENERIC); 63 this->rootSceneNode_ = this->sceneManager_->getRootSceneNode(); 70 64 } 71 65 else … … 94 88 if (this->isInitialized()) 95 89 { 96 if (Ogre::Root::getSingletonPtr()) 97 { 90 if (GameMode::showsGraphics()) 98 91 Ogre::Root::getSingleton().destroySceneManager(this->sceneManager_); 99 } 100 else if (!GameMode::showsGraphics()) 101 { 92 else 102 93 delete this->sceneManager_; 103 }104 94 105 95 this->setPhysicalWorld(false); … … 112 102 113 103 XMLPortParam(Scene, "skybox", setSkybox, getSkybox, xmlelement, mode); 114 XMLPortParam(Scene, "ambientlight", setAmbientLight, getAmbientLight, xmlelement, mode).defaultValues(ColourValue(0.2 , 0.2, 0.2, 1));104 XMLPortParam(Scene, "ambientlight", setAmbientLight, getAmbientLight, xmlelement, mode).defaultValues(ColourValue(0.2f, 0.2f, 0.2f, 1.0f)); 115 105 XMLPortParam(Scene, "shadow", setShadow, getShadow, xmlelement, mode).defaultValues(true); 116 106 … … 139 129 { 140 130 CCOUT(2) << "Warning: Setting the negative world range to a very small value: " 141 << omni_cast<std::string>(range) << std::endl;131 << multi_cast<std::string>(range) << std::endl; 142 132 } 143 133 if (this->hasPhysics()) … … 158 148 { 159 149 CCOUT(2) << "Warning: Setting the positive world range to a very small value: " 160 << omni_cast<std::string>(range) << std::endl;150 << multi_cast<std::string>(range) << std::endl; 161 151 } 162 152 if (this->hasPhysics()) … … 176 166 this->gravity_ = gravity; 177 167 if (this->hasPhysics()) 178 this->physicalWorld_->setGravity( omni_cast<btVector3>(this->gravity_));168 this->physicalWorld_->setGravity(multi_cast<btVector3>(this->gravity_)); 179 169 } 180 170 … … 187 177 // It would require further investigation to properly dertermine the right choices. 188 178 this->broadphase_ = new bt32BitAxisSweep3( 189 omni_cast<btVector3>(this->negativeWorldRange_), omni_cast<btVector3>(this->positiveWorldRange_));179 multi_cast<btVector3>(this->negativeWorldRange_), multi_cast<btVector3>(this->positiveWorldRange_)); 190 180 this->collisionConfig_ = new btDefaultCollisionConfiguration(); 191 181 this->dispatcher_ = new btCollisionDispatcher(this->collisionConfig_); … … 193 183 194 184 this->physicalWorld_ = new btDiscreteDynamicsWorld(this->dispatcher_, this->broadphase_, this->solver_, this->collisionConfig_); 195 this->physicalWorld_->setGravity( omni_cast<btVector3>(this->gravity_));185 this->physicalWorld_->setGravity(multi_cast<btVector3>(this->gravity_)); 196 186 197 187 // also set the collision callback variable. -
code/trunk/src/orxonox/objects/Scene.h
r2662 r3196 33 33 #include "OrxonoxPrereqs.h" 34 34 35 #include <list> 36 #include <set> 37 #include <string> 38 39 #include "util/Math.h" 40 #include "util/OgreForwardRefs.h" 41 #include "core/BaseObject.h" 35 42 #include "network/synchronisable/Synchronisable.h" 36 #include "core/BaseObject.h" 37 #include "util/Math.h" 38 #include "objects/Tickable.h" 43 #include "interfaces/Tickable.h" 39 44 40 45 namespace orxonox -
code/trunk/src/orxonox/objects/Script.cc
r3110 r3196 29 29 #include "Script.h" 30 30 31 #include "util/Debug.h"31 #include <tinyxml/ticpp.h> 32 32 #include "core/CoreIncludes.h" 33 #include "core/XMLPort.h"34 33 #include "core/LuaBind.h" 35 34 -
code/trunk/src/orxonox/objects/Script.h
r2087 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <string> 34 35 #include "core/BaseObject.h" 35 36 -
code/trunk/src/orxonox/objects/Test.h
r3084 r3196 33 33 #include "core/BaseObject.h" 34 34 #include "network/synchronisable/Synchronisable.h" 35 #include " Tickable.h"35 #include "interfaces/Tickable.h" 36 36 37 37 -
code/trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.cc
r3110 r3196 29 29 #include "BoxCollisionShape.h" 30 30 31 #include "BulletCollision/CollisionShapes/btBoxShape.h"31 #include <BulletCollision/CollisionShapes/btBoxShape.h> 32 32 33 33 #include "core/CoreIncludes.h" … … 72 72 btCollisionShape* BoxCollisionShape::createNewShape() const 73 73 { 74 return new btBoxShape( omni_cast<btVector3>(this->halfExtents_));74 return new btBoxShape(multi_cast<btVector3>(this->halfExtents_)); 75 75 } 76 76 } -
code/trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.h
r2662 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "util/Math.h" 34 35 #include "CollisionShape.h" 35 36 -
code/trunk/src/orxonox/objects/collisionshapes/CollisionShape.cc
r3110 r3196 29 29 #include "CollisionShape.h" 30 30 31 #include "BulletCollision/CollisionShapes/btCollisionShape.h"31 #include <BulletCollision/CollisionShapes/btCollisionShape.h> 32 32 33 #include "util/Exception.h"34 33 #include "core/CoreIncludes.h" 35 34 #include "core/XMLPort.h" 36 #include "tools/BulletConversions.h"37 38 35 #include "objects/worldentities/WorldEntity.h" 39 36 #include "CompoundCollisionShape.h" … … 129 126 bool CollisionShape::hasTransform() const 130 127 { 131 return (!this->position_.positionEquals(Vector3(0, 0, 0), 0.001 ) ||132 !this->orientation_.equals(Quaternion(1,0,0,0), Degree(0.1 )));128 return (!this->position_.positionEquals(Vector3(0, 0, 0), 0.001f) || 129 !this->orientation_.equals(Quaternion(1,0,0,0), Degree(0.1f))); 133 130 } 134 131 -
code/trunk/src/orxonox/objects/collisionshapes/CompoundCollisionShape.cc
r3110 r3196 29 29 #include "CompoundCollisionShape.h" 30 30 31 #include "BulletCollision/CollisionShapes/btCompoundShape.h"31 #include <BulletCollision/CollisionShapes/btCompoundShape.h> 32 32 33 #include "util/Exception.h"34 33 #include "core/CoreIncludes.h" 35 34 #include "core/XMLPort.h" … … 89 88 { 90 89 // Only actually attach if we didn't pick a CompoundCollisionShape with no content 91 btTransform transf( omni_cast<btQuaternion>(shape->getOrientation()), omni_cast<btVector3>(shape->getPosition()));90 btTransform transf(multi_cast<btQuaternion>(shape->getOrientation()), multi_cast<btVector3>(shape->getPosition())); 92 91 this->compoundShape_->addChildShape(transf, shape->getCollisionShape()); 93 92 … … 134 133 { 135 134 // Only actually attach if we didn't pick a CompoundCollisionShape with no content 136 btTransform transf( omni_cast<btQuaternion>(shape->getOrientation()), omni_cast<btVector3>(shape->getPosition()));135 btTransform transf(multi_cast<btQuaternion>(shape->getOrientation()), multi_cast<btVector3>(shape->getPosition())); 137 136 this->compoundShape_->addChildShape(transf, shape->getCollisionShape()); 138 137 it->second = shape->getCollisionShape(); -
code/trunk/src/orxonox/objects/collisionshapes/CompoundCollisionShape.h
r2662 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <vector>35 34 #include <cassert> 35 #include <map> 36 36 #include "CollisionShape.h" 37 37 -
code/trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.cc
r3110 r3196 29 29 #include "ConeCollisionShape.h" 30 30 31 #include "BulletCollision/CollisionShapes/btConeShape.h"31 #include <BulletCollision/CollisionShapes/btConeShape.h> 32 32 33 33 #include "core/CoreIncludes.h" 34 34 #include "core/XMLPort.h" 35 #include "tools/BulletConversions.h"36 35 37 36 namespace orxonox -
code/trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.h
r2662 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 33 #include "CollisionShape.h" 35 34 -
code/trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.cc
r3110 r3196 29 29 #include "PlaneCollisionShape.h" 30 30 31 #include "BulletCollision/CollisionShapes/btStaticPlaneShape.h"31 #include <BulletCollision/CollisionShapes/btStaticPlaneShape.h> 32 32 33 33 #include "core/CoreIncludes.h" … … 72 72 btCollisionShape* PlaneCollisionShape::createNewShape() const 73 73 { 74 return new btStaticPlaneShape( omni_cast<btVector3>(this->normal_), this->offset_);74 return new btStaticPlaneShape(multi_cast<btVector3>(this->normal_), this->offset_); 75 75 } 76 76 } -
code/trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.h
r2662 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "util/Math.h" 34 35 #include "CollisionShape.h" 35 36 -
code/trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.cc
r3110 r3196 29 29 #include "SphereCollisionShape.h" 30 30 31 #include "BulletCollision/CollisionShapes/btSphereShape.h"31 #include <BulletCollision/CollisionShapes/btSphereShape.h> 32 32 33 33 #include "core/CoreIncludes.h" 34 34 #include "core/XMLPort.h" 35 #include "tools/BulletConversions.h"36 35 37 36 namespace orxonox -
code/trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.h
r2662 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 33 #include "CollisionShape.h" 35 34 -
code/trunk/src/orxonox/objects/collisionshapes/WorldEntityCollisionShape.cc
r3110 r3196 29 29 #include "WorldEntityCollisionShape.h" 30 30 31 #include "BulletCollision/CollisionShapes/btCompoundShape.h"31 #include <BulletCollision/CollisionShapes/btCompoundShape.h> 32 32 33 #include "util/ Exception.h"33 #include "util/OrxAssert.h" 34 34 #include "core/CoreIncludes.h" 35 35 #include "objects/worldentities/WorldEntity.h" -
code/trunk/src/orxonox/objects/collisionshapes/WorldEntityCollisionShape.h
r2662 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 33 #include "CompoundCollisionShape.h" 35 34 -
code/trunk/src/orxonox/objects/controllers/AIController.cc
r3110 r3196 29 29 #include "AIController.h" 30 30 31 #include "util/Math.h" 31 32 #include "core/CoreIncludes.h" 32 33 #include "core/Executor.h" … … 107 108 this->moveToTargetPosition(); 108 109 109 if (this->getControllableEntity() && this->bShooting_ && this->isCloseAtTarget(1000) && this->isLookingAtTarget(Ogre::Math::PI / 20.0 ))110 if (this->getControllableEntity() && this->bShooting_ && this->isCloseAtTarget(1000) && this->isLookingAtTarget(Ogre::Math::PI / 20.0f)) 110 111 this->getControllableEntity()->fire(0); 111 112 -
code/trunk/src/orxonox/objects/controllers/AIController.h
r2662 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "tools/Timer.h" 35 #include "interfaces/Tickable.h" 34 36 #include "ArtificialController.h" 35 #include "objects/Tickable.h"36 #include "tools/Timer.h"37 37 38 38 namespace orxonox -
code/trunk/src/orxonox/objects/controllers/ArtificialController.cc
r3110 r3196 32 32 #include "objects/worldentities/ControllableEntity.h" 33 33 #include "objects/worldentities/pawns/Pawn.h" 34 34 #include "objects/worldentities/pawns/TeamBaseMatchBase.h" 35 35 #include "objects/gametypes/TeamDeathmatch.h" 36 36 #include "objects/controllers/WaypointPatrolController.h" 37 #include "objects/worldentities/pawns/TeamBaseMatchBase.h"38 37 39 38 namespace orxonox -
code/trunk/src/orxonox/objects/controllers/ArtificialController.h
r3049 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "util/Math.h" 35 #include "interfaces/PawnListener.h" 34 36 #include "Controller.h" 35 #include "objects/worldentities/pawns/Pawn.h"36 #include "util/Math.h"37 37 38 38 namespace orxonox -
code/trunk/src/orxonox/objects/controllers/Controller.cc
r3110 r3196 28 28 29 29 #include "Controller.h" 30 31 30 #include "core/CoreIncludes.h" 32 #include "overlays/OverlayGroup.h"33 31 34 32 namespace orxonox -
code/trunk/src/orxonox/objects/controllers/Controller.h
r2826 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 33 #include "core/BaseObject.h" 35 34 -
code/trunk/src/orxonox/objects/controllers/HumanController.cc
r3110 r3196 192 192 HumanController::localController_s->controllableEntity_->dropItems(); 193 193 } 194 195 Pawn* HumanController::getLocalControllerEntityAsPawn() 196 { 197 if (HumanController::localController_s) 198 return dynamic_cast<Pawn*>(HumanController::localController_s->getControllableEntity()); 199 else 200 return NULL; 201 } 194 202 } -
code/trunk/src/orxonox/objects/controllers/HumanController.h
r3089 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include "util/Math.h"35 33 #include "Controller.h" 36 #include "objects/worldentities/pawns/Pawn.h"37 34 38 35 namespace orxonox … … 69 66 static inline HumanController* getLocalControllerSingleton() 70 67 { return HumanController::localController_s; } 71 static inline Pawn* getLocalControllerEntityAsPawn() 72 { 73 if (HumanController::localController_s) { 74 return dynamic_cast<Pawn*>(HumanController::localController_s->getControllableEntity()); 75 } else { 76 return NULL; 77 } 78 } 79 68 static Pawn* getLocalControllerEntityAsPawn(); 80 69 //friend class, for mouselook 81 70 friend class Map; -
code/trunk/src/orxonox/objects/controllers/PongAI.cc
r3110 r3196 31 31 #include "core/CoreIncludes.h" 32 32 #include "core/ConfigValueIncludes.h" 33 #include "tools/Timer.h" 33 34 #include "objects/worldentities/ControllableEntity.h" 34 35 #include "objects/worldentities/PongBall.h" 35 #include "tools/Timer.h"36 36 37 37 namespace orxonox … … 39 39 CreateUnloadableFactory(PongAI); 40 40 41 const static float MAX_REACTION_TIME = 0.4 ;41 const static float MAX_REACTION_TIME = 0.4f; 42 42 43 43 PongAI::PongAI(BaseObject* creator) : Controller(creator) … … 49 49 this->ballEndPosition_ = 0; 50 50 this->randomOffset_ = 0; 51 this->relHysteresisOffset_ = 0.02 ;52 this->strength_ = 0.5 ;51 this->relHysteresisOffset_ = 0.02f; 52 this->strength_ = 0.5f; 53 53 this->movement_ = 0; 54 54 this->oldMove_ = 0; … … 171 171 172 172 // The position shouln't be larger than 0.5 (50% of the bat-length from the middle is the end) 173 position *= 0.48 ;173 position *= 0.48f; 174 174 175 175 // Both sides are equally probable … … 190 190 191 191 // Calculate bounces 192 for (float limit = 0.35 ; limit < this->strength_ || this->strength_ > 0.99; limit += 0.4)192 for (float limit = 0.35f; limit < this->strength_ || this->strength_ > 0.99f; limit += 0.4f) 193 193 { 194 194 // Calculate a random prediction error, based on the vertical speed of the ball and the strength of the AI -
code/trunk/src/orxonox/objects/controllers/PongAI.h
r2885 r3196 33 33 34 34 #include <list> 35 35 #include "util/Math.h" 36 #include "interfaces/Tickable.h" 36 37 #include "Controller.h" 37 #include "objects/Tickable.h"38 #include "util/Math.h"39 38 40 39 namespace orxonox -
code/trunk/src/orxonox/objects/controllers/ScriptController.cc
r3110 r3196 28 28 29 29 #include "ScriptController.h" 30 31 30 #include "core/CoreIncludes.h" 32 31 … … 39 38 RegisterObject(ScriptController); 40 39 } 41 42 ScriptController::~ScriptController()43 {44 }45 40 } -
code/trunk/src/orxonox/objects/controllers/ScriptController.h
r2662 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 33 #include "ArtificialController.h" 35 34 … … 40 39 public: 41 40 ScriptController(BaseObject* creator); 42 virtual ~ScriptController(); 43 44 protected: 41 virtual ~ScriptController() { } 45 42 46 43 private: -
code/trunk/src/orxonox/objects/controllers/WaypointController.cc
r3110 r3196 31 31 #include "core/CoreIncludes.h" 32 32 #include "core/XMLPort.h" 33 #include "objects/worldentities/ControllableEntity.h" 33 34 34 35 namespace orxonox -
code/trunk/src/orxonox/objects/controllers/WaypointController.h
r3078 r3196 33 33 34 34 #include <vector> 35 35 #include "interfaces/Tickable.h" 36 36 #include "ArtificialController.h" 37 #include "objects/Tickable.h"38 37 39 38 namespace orxonox -
code/trunk/src/orxonox/objects/controllers/WaypointPatrolController.cc
r3110 r3196 29 29 #include "WaypointPatrolController.h" 30 30 31 #include "util/Math.h" 31 32 #include "core/CoreIncludes.h" 32 33 #include "core/XMLPort.h" 34 #include "objects/worldentities/pawns/Pawn.h" 33 35 34 36 namespace orxonox -
code/trunk/src/orxonox/objects/controllers/WaypointPatrolController.h
r3078 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "tools/Timer.h" 34 35 #include "WaypointController.h" 35 #include "tools/Timer.h"36 36 37 37 namespace orxonox -
code/trunk/src/orxonox/objects/gametypes/Asteroids.cc
r3110 r3196 30 30 31 31 #include "core/CoreIncludes.h" 32 #include " objects/infos/PlayerInfo.h"32 #include "network/Host.h" 33 33 #include "objects/worldentities/pawns/Pawn.h" 34 35 #include "network/Host.h"36 34 37 35 namespace orxonox -
code/trunk/src/orxonox/objects/gametypes/Asteroids.h
r3064 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 33 #include "Gametype.h" 35 34 -
code/trunk/src/orxonox/objects/gametypes/Deathmatch.cc
r3110 r3196 30 30 31 31 #include "core/CoreIncludes.h" 32 #include "network/Host.h" 32 33 #include "objects/infos/PlayerInfo.h" 33 34 #include "objects/worldentities/pawns/Pawn.h" 34 35 #include "network/Host.h"36 35 37 36 namespace orxonox -
code/trunk/src/orxonox/objects/gametypes/Deathmatch.h
r2826 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 33 #include "Gametype.h" 35 34 -
code/trunk/src/orxonox/objects/gametypes/Gametype.cc
r3110 r3196 29 29 #include "Gametype.h" 30 30 31 #include <cstdlib> 32 #include <ctime> 33 31 #include "util/Math.h" 34 32 #include "core/CoreIncludes.h" 35 33 #include "core/ConfigValueIncludes.h" 36 #include "core/Template.h"37 34 #include "core/GameMode.h" 38 #include "overlays/OverlayGroup.h" 35 39 36 #include "objects/infos/PlayerInfo.h" 40 37 #include "objects/infos/Bot.h" 38 #include "objects/worldentities/Camera.h" 39 #include "objects/worldentities/ControllableEntity.h" 40 #include "objects/worldentities/SpawnPoint.h" 41 41 #include "objects/worldentities/pawns/Spectator.h" 42 #include "objects/worldentities/ SpawnPoint.h"43 #include "o bjects/worldentities/Camera.h"42 #include "objects/worldentities/pawns/Pawn.h" 43 #include "overlays/OverlayGroup.h" 44 44 45 45 namespace orxonox … … 287 287 if (this->spawnpoints_.size() > 0) 288 288 { 289 unsigned int randomspawn = (unsigned int)rnd(this->spawnpoints_.size());289 unsigned int randomspawn = static_cast<unsigned int>(rnd(static_cast<float>(this->spawnpoints_.size()))); 290 290 unsigned int index = 0; 291 291 for (std::set<SpawnPoint*>::const_iterator it = this->spawnpoints_.begin(); it != this->spawnpoints_.end(); ++it) -
code/trunk/src/orxonox/objects/gametypes/Gametype.h
r3033 r3196 33 33 34 34 #include <map> 35 #include <set> 36 #include <string> 35 37 36 38 #include "core/BaseObject.h" 37 39 #include "core/Identifier.h" 38 #include "objects/worldentities/ControllableEntity.h" 39 #include "objects/Tickable.h" 40 #include "interfaces/Tickable.h" 40 41 #include "objects/infos/GametypeInfo.h" 41 42 -
code/trunk/src/orxonox/objects/gametypes/Pong.cc
r3110 r3196 30 30 31 31 #include "core/CoreIncludes.h" 32 #include "core/ConfigValueIncludes.h"33 32 #include "core/Executor.h" 34 #include "objects/worldentities/Model.h"35 33 #include "objects/worldentities/PongCenterpoint.h" 36 34 #include "objects/worldentities/PongBall.h" 37 35 #include "objects/worldentities/PongBat.h" 38 #include "objects/infos/HumanPlayer.h"39 36 #include "objects/infos/PongBot.h" 40 37 #include "objects/controllers/PongAI.h" -
code/trunk/src/orxonox/objects/gametypes/Pong.h
r2890 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "tools/Timer.h" 34 35 #include "Deathmatch.h" 35 #include "tools/Timer.h"36 36 37 37 namespace orxonox -
code/trunk/src/orxonox/objects/gametypes/TeamBaseMatch.cc
r3104 r3196 29 29 #include "TeamBaseMatch.h" 30 30 31 #include "core/CoreIncludes.h" 32 #include "core/Executor.h" 31 33 #include "objects/worldentities/pawns/TeamBaseMatchBase.h" 32 #include "core/CoreIncludes.h"33 34 #include "objects/infos/PlayerInfo.h" 34 35 -
code/trunk/src/orxonox/objects/gametypes/TeamBaseMatch.h
r3104 r3196 33 33 34 34 #include <set> 35 #include "tools/Timer.h" 35 36 #include "TeamDeathmatch.h" 36 #include "tools/Timer.h"37 37 38 38 namespace orxonox -
code/trunk/src/orxonox/objects/gametypes/TeamDeathmatch.cc
r3110 r3196 31 31 #include "core/CoreIncludes.h" 32 32 #include "core/ConfigValueIncludes.h" 33 #include " objects/Teamcolourable.h"33 #include "interfaces/TeamColourable.h" 34 34 #include "objects/worldentities/TeamSpawnPoint.h" 35 #include "objects/worldentities/pawns/Pawn.h" 35 36 36 37 namespace orxonox … … 53 54 static ColourValue colours[] = 54 55 { 55 ColourValue(1.0 , 0.3, 0.3),56 ColourValue(0.3 , 0.3, 1.0),57 ColourValue(0.3 , 1.0, 0.3),58 ColourValue(1.0 , 1.0, 0.0)56 ColourValue(1.0f, 0.3f, 0.3f), 57 ColourValue(0.3f, 0.3f, 1.0f), 58 ColourValue(0.3f, 1.0f, 0.3f), 59 ColourValue(1.0f, 1.0f, 0.0f) 59 60 }; 60 61 static std::vector<ColourValue> defaultcolours(colours, colours + sizeof(colours) / sizeof(ColourValue)); … … 138 139 if (teamSpawnPoints.size() > 0) 139 140 { 140 unsigned int randomspawn = (unsigned int)rnd(teamSpawnPoints.size());141 unsigned int randomspawn = static_cast<unsigned int>(rnd(static_cast<float>(teamSpawnPoints.size()))); 141 142 unsigned int index = 0; 142 143 for (std::set<SpawnPoint*>::const_iterator it = teamSpawnPoints.begin(); it != teamSpawnPoints.end(); ++it) … … 168 169 for (std::set<WorldEntity*>::iterator it = pawnAttachments.begin(); it != pawnAttachments.end(); ++it) 169 170 { 170 if ((*it)->isA(Class(Team colourable)))171 if ((*it)->isA(Class(TeamColourable))) 171 172 { 172 Team colourable* tc = dynamic_cast<Teamcolourable*>(*it);173 TeamColourable* tc = dynamic_cast<TeamColourable*>(*it); 173 174 tc->setTeamColour(this->teamcolours_[it_player->second]); 174 175 } -
code/trunk/src/orxonox/objects/gametypes/TeamDeathmatch.h
r3068 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <map> 34 35 #include <vector> 35 36 36 #include "Deathmatch.h" 37 37 -
code/trunk/src/orxonox/objects/gametypes/UnderAttack.cc
r3110 r3196 29 29 #include "UnderAttack.h" 30 30 31 #include "util/Convert.h" 31 32 #include "core/CoreIncludes.h" 32 33 #include "core/ConfigValueIncludes.h" 33 #include "util/Convert.h"34 34 #include "network/Host.h" 35 36 35 #include "objects/worldentities/pawns/Destroyer.h" 37 36 #include "objects/infos/PlayerInfo.h" -
code/trunk/src/orxonox/objects/gametypes/UnderAttack.h
r3033 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "interfaces/PawnListener.h" 34 35 #include "TeamDeathmatch.h" 35 #include "objects/worldentities/pawns/Pawn.h"36 36 37 37 namespace orxonox -
code/trunk/src/orxonox/objects/infos/Bot.cc
r3110 r3196 29 29 #include "Bot.h" 30 30 31 #include "util/Math.h" 31 32 #include "core/GameMode.h" 32 33 #include "core/CoreIncludes.h" … … 34 35 #include "objects/gametypes/Gametype.h" 35 36 #include "objects/controllers/AIController.h" 36 #include "util/Math.h"37 37 38 38 namespace orxonox … … 66 66 void Bot::setConfigValues() 67 67 { 68 static std::string names[] =68 static const std::string names[] = 69 69 { 70 70 "Dr. Julius No", -
code/trunk/src/orxonox/objects/infos/Bot.h
r2662 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <vector> 34 35 35 #include "PlayerInfo.h" 36 36 -
code/trunk/src/orxonox/objects/infos/GametypeInfo.cc
r3110 r3196 33 33 #include "network/NetworkFunction.h" 34 34 #include "network/Host.h" 35 #include " objects/GametypeMessageListener.h"35 #include "interfaces/GametypeMessageListener.h" 36 36 37 37 namespace orxonox … … 68 68 } 69 69 70 void GametypeInfo::sendAnnounceMessage(const std::string& message) const70 void GametypeInfo::sendAnnounceMessage(const std::string& message) 71 71 { 72 72 if (GameMode::isMaster()) … … 77 77 } 78 78 79 void GametypeInfo::sendAnnounceMessage(const std::string& message, unsigned int clientID) const79 void GametypeInfo::sendAnnounceMessage(const std::string& message, unsigned int clientID) 80 80 { 81 81 if (GameMode::isMaster()) … … 88 88 } 89 89 90 void GametypeInfo::sendKillMessage(const std::string& message, unsigned int clientID) const90 void GametypeInfo::sendKillMessage(const std::string& message, unsigned int clientID) 91 91 { 92 92 if (GameMode::isMaster()) … … 99 99 } 100 100 101 void GametypeInfo::sendDeathMessage(const std::string& message, unsigned int clientID) const101 void GametypeInfo::sendDeathMessage(const std::string& message, unsigned int clientID) 102 102 { 103 103 if (GameMode::isMaster()) … … 110 110 } 111 111 112 void GametypeInfo::dispatchAnnounceMessage(const std::string& message) const112 void GametypeInfo::dispatchAnnounceMessage(const std::string& message) 113 113 { 114 114 for (ObjectList<GametypeMessageListener>::iterator it = ObjectList<GametypeMessageListener>::begin(); it != ObjectList<GametypeMessageListener>::end(); ++it) … … 116 116 } 117 117 118 void GametypeInfo::dispatchKillMessage(const std::string& message) const118 void GametypeInfo::dispatchKillMessage(const std::string& message) 119 119 { 120 120 for (ObjectList<GametypeMessageListener>::iterator it = ObjectList<GametypeMessageListener>::begin(); it != ObjectList<GametypeMessageListener>::end(); ++it) … … 122 122 } 123 123 124 void GametypeInfo::dispatchDeathMessage(const std::string& message) const124 void GametypeInfo::dispatchDeathMessage(const std::string& message) 125 125 { 126 126 for (ObjectList<GametypeMessageListener>::iterator it = ObjectList<GametypeMessageListener>::begin(); it != ObjectList<GametypeMessageListener>::end(); ++it) -
code/trunk/src/orxonox/objects/infos/GametypeInfo.h
r3099 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <string> 34 35 #include "Info.h" 35 36 … … 59 60 { return this->hudtemplate_; } 60 61 61 void sendAnnounceMessage(const std::string& message) const;62 void sendAnnounceMessage(const std::string& message, unsigned int clientID) const;63 void sendKillMessage(const std::string& message, unsigned int clientID) const;64 void sendDeathMessage(const std::string& message, unsigned int clientID) const;62 void sendAnnounceMessage(const std::string& message); 63 void sendAnnounceMessage(const std::string& message, unsigned int clientID); 64 void sendKillMessage(const std::string& message, unsigned int clientID); 65 void sendDeathMessage(const std::string& message, unsigned int clientID); 65 66 66 void dispatchAnnounceMessage(const std::string& message) const;67 void dispatchKillMessage(const std::string& message) const;68 void dispatchDeathMessage(const std::string& message) const;67 void dispatchAnnounceMessage(const std::string& message); 68 void dispatchKillMessage(const std::string& message); 69 void dispatchDeathMessage(const std::string& message); 69 70 70 71 private: -
code/trunk/src/orxonox/objects/infos/HumanPlayer.cc
r3110 r3196 29 29 #include "HumanPlayer.h" 30 30 31 #include "core/GameMode.h"32 31 #include "core/CoreIncludes.h" 33 32 #include "core/ConfigValueIncludes.h" 33 #include "core/GameMode.h" 34 34 #include "network/ClientInformation.h" 35 35 #include "network/Host.h" … … 143 143 float HumanPlayer::getPing() const 144 144 { 145 return ClientInformation::findClient(this->getClientID())->getRTT();145 return static_cast<float>(ClientInformation::findClient(this->getClientID())->getRTT()); 146 146 } 147 147 148 148 float HumanPlayer::getPacketLossRatio() const 149 149 { 150 return ClientInformation::findClient(this->getClientID())->getPacketLoss();150 return static_cast<float>(ClientInformation::findClient(this->getClientID())->getPacketLoss()); 151 151 } 152 152 -
code/trunk/src/orxonox/objects/infos/HumanPlayer.h
r2973 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <string> 34 35 #include "PlayerInfo.h" 35 36 -
code/trunk/src/orxonox/objects/infos/Info.cc
r3110 r3196 28 28 29 29 #include "Info.h" 30 31 30 #include "core/CoreIncludes.h" 32 31 -
code/trunk/src/orxonox/objects/infos/PlayerInfo.cc
r3110 r3196 34 34 #include "network/ClientInformation.h" 35 35 #include "objects/gametypes/Gametype.h" 36 #include "objects/worldentities/ControllableEntity.h" 36 37 37 38 namespace orxonox -
code/trunk/src/orxonox/objects/infos/PongBot.h
r2839 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 33 #include "Bot.h" 35 34 -
code/trunk/src/orxonox/objects/items/Engine.cc
r3110 r3196 29 29 #include "Engine.h" 30 30 31 #include "util/Math.h" 31 32 #include "core/CoreIncludes.h" 32 33 #include "core/ConfigValueIncludes.h" … … 34 35 #include "objects/Scene.h" 35 36 #include "objects/worldentities/pawns/SpaceShip.h" 37 #include "objects/pickup/ModifierType.h" 36 38 #include "tools/Shader.h" 37 39 #include "sound/SoundBase.h" -
code/trunk/src/orxonox/objects/items/Engine.h
r3060 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "interfaces/Tickable.h" 34 35 #include "Item.h" 35 #include "objects/Tickable.h"36 #include "util/Math.h"37 36 38 37 namespace orxonox -
code/trunk/src/orxonox/objects/items/Item.cc
r3110 r3196 28 28 29 29 #include "Item.h" 30 31 30 #include "core/CoreIncludes.h" 32 31 … … 37 36 RegisterObject(Item); 38 37 } 39 40 Item::~Item()41 {42 }43 38 } -
code/trunk/src/orxonox/objects/items/Item.h
r2662 r3196 41 41 public: 42 42 Item(BaseObject* creator); 43 virtual ~Item() ;43 virtual ~Item() {} 44 44 }; 45 45 } -
code/trunk/src/orxonox/objects/items/MultiStateEngine.cc
r3110 r3196 29 29 #include "MultiStateEngine.h" 30 30 31 #include "core/CoreIncludes.h" 31 32 #include "core/GameMode.h" 32 #include "core/CoreIncludes.h"33 33 #include "core/XMLPort.h" 34 34 #include "objects/worldentities/pawns/SpaceShip.h" -
code/trunk/src/orxonox/objects/items/MultiStateEngine.h
r2662 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <list> 34 35 #include "Engine.h" 35 36 -
code/trunk/src/orxonox/objects/pickup/BaseItem.cc
r3073 r3196 34 34 #include "BaseItem.h" 35 35 36 #include "PickupCollection.h"37 38 36 #include "core/CoreIncludes.h" 39 37 #include "core/XMLPort.h" … … 55 53 this->setGUIText(""); 56 54 } 57 //! De constructor.55 //! Destructor. 58 56 BaseItem::~BaseItem() 59 57 { … … 105 103 } 106 104 107 const std::string& BaseItem::getGUIText() const { return this->guiText_; } 105 const std::string& BaseItem::getGUIText() const 106 { 107 return this->guiText_; 108 } 108 109 } -
code/trunk/src/orxonox/objects/pickup/BaseItem.h
r3073 r3196 37 37 #include "OrxonoxPrereqs.h" 38 38 39 #include <string> 39 40 #include "core/BaseObject.h" 40 41 -
code/trunk/src/orxonox/objects/pickup/DroppedItem.cc
r3079 r3196 29 29 #include "DroppedItem.h" 30 30 31 #include "util/Math.h" 32 #include "core/CoreIncludes.h" 33 #include "core/Executor.h" 31 34 #include "BaseItem.h" 35 #include "objects/worldentities/Billboard.h" 36 #include "objects/worldentities/Model.h" 32 37 #include "objects/worldentities/pawns/Pawn.h" 33 #include "objects/worldentities/Model.h"34 #include "objects/worldentities/Billboard.h"35 36 #include "core/CoreIncludes.h"37 38 38 39 namespace orxonox -
code/trunk/src/orxonox/objects/pickup/DroppedItem.h
r3079 r3196 29 29 /** 30 30 @file 31 @brief Definition of BaseItem (base-class for items/pickups).31 @brief Definition of DroppedItem 32 32 */ 33 33 … … 37 37 #include "OrxonoxPrereqs.h" 38 38 39 #include "objects/Tickable.h" 39 #include "tools/Timer.h" 40 #include "interfaces/Tickable.h" 40 41 #include "objects/worldentities/StaticEntity.h" 41 #include "tools/Timer.h"42 42 43 43 namespace orxonox -
code/trunk/src/orxonox/objects/pickup/EquipmentItem.cc
r3073 r3196 33 33 34 34 #include "EquipmentItem.h" 35 36 35 #include "core/CoreIncludes.h" 37 36 … … 46 45 RegisterObject(EquipmentItem); 47 46 } 48 //! Deconstructor.49 EquipmentItem::~EquipmentItem()50 {51 }52 47 } -
code/trunk/src/orxonox/objects/pickup/EquipmentItem.h
r3073 r3196 38 38 39 39 #include "BaseItem.h" 40 41 40 namespace orxonox 42 41 { … … 49 48 public: 50 49 EquipmentItem(BaseObject* creator); 51 virtual ~EquipmentItem() ;50 virtual ~EquipmentItem() {} 52 51 }; 53 52 } -
code/trunk/src/orxonox/objects/pickup/ModifierPickup.cc
r3079 r3196 33 33 34 34 #include "ModifierPickup.h" 35 #include "PickupCollection.h"36 35 37 36 #include "core/CoreIncludes.h" 38 37 #include "core/XMLPort.h" 39 40 38 #include "objects/worldentities/pawns/Pawn.h" 41 39 -
code/trunk/src/orxonox/objects/pickup/ModifierPickup.h
r3073 r3196 35 35 #define _ModifierPickup_H__ 36 36 37 #include <climits>38 39 37 #include "OrxonoxPrereqs.h" 40 38 39 #include <climits> 40 #include <map> 41 42 #include "orxonox/tools/Timer.h" 43 #include "ModifierType.h" 41 44 #include "PassiveItem.h" 42 #include "ModifierType.h"43 #include "orxonox/tools/Timer.h"44 45 45 46 namespace orxonox -
code/trunk/src/orxonox/objects/pickup/ModifierType.h
r3073 r3196 35 35 #define _ModifierType_H__ 36 36 37 #include "OrxonoxPrereqs.h" 38 37 39 namespace orxonox 38 40 { -
code/trunk/src/orxonox/objects/pickup/PassiveItem.cc
r3073 r3196 28 28 29 29 #include "PassiveItem.h" 30 31 30 #include "core/CoreIncludes.h" 32 31 … … 41 40 RegisterObject(PassiveItem); 42 41 } 43 //! Deconstructor.44 PassiveItem::~PassiveItem()45 {46 }47 42 } -
code/trunk/src/orxonox/objects/pickup/PassiveItem.h
r3073 r3196 36 36 37 37 #include "OrxonoxPrereqs.h" 38 39 38 #include "BaseItem.h" 40 39 … … 49 48 public: 50 49 PassiveItem(BaseObject* creator); 51 virtual ~PassiveItem() ;50 virtual ~PassiveItem() {} 52 51 }; 53 52 } -
code/trunk/src/orxonox/objects/pickup/PickupCollection.cc
r3079 r3196 34 34 #include "PickupCollection.h" 35 35 36 #include " BaseItem.h"36 #include "core/CoreIncludes.h" 37 37 #include "EquipmentItem.h" 38 38 #include "PassiveItem.h" 39 39 #include "UsableItem.h" 40 41 #include "core/CoreIncludes.h"42 40 43 41 namespace orxonox -
code/trunk/src/orxonox/objects/pickup/PickupCollection.h
r3079 r3196 37 37 #include "OrxonoxPrereqs.h" 38 38 39 #include <deque> 39 40 #include <map> 40 #include <deque>41 41 #include <string> 42 42 43 43 #include "util/Math.h" 44 45 44 #include "ModifierType.h" 46 45 -
code/trunk/src/orxonox/objects/pickup/PickupInventory.cc
r3085 r3196 28 28 29 29 #include "PickupInventory.h" 30 31 #include "EquipmentItem.h"32 #include "PassiveItem.h"33 #include "UsableItem.h"34 35 #include "core/ConsoleCommand.h"36 #include "core/input/InputManager.h"37 38 #include "gui/GUIManager.h"39 #include "objects/controllers/HumanController.h"40 #include "objects/worldentities/pawns/Pawn.h"41 30 42 31 #include <CEGUIImage.h> … … 47 36 #include <elements/CEGUITabControl.h> 48 37 38 #include "core/ConsoleCommand.h" 39 #include "core/input/InputManager.h" 40 #include "gui/GUIManager.h" 41 #include "objects/controllers/HumanController.h" 42 #include "objects/worldentities/pawns/Pawn.h" 43 44 #include "EquipmentItem.h" 45 #include "PassiveItem.h" 46 #include "UsableItem.h" 47 48 49 49 namespace orxonox 50 50 { … … 86 86 { 87 87 if(PickupInventory::getSingleton()->isVisible()) { 88 GUIManager::getInstance Ptr()->executeCode("hideGUI(\"PickupInventory\")");89 GUIManager::getInstance Ptr()->executeCode("hideCursor()");88 GUIManager::getInstance().executeCode("hideGUI(\"PickupInventory\")"); 89 GUIManager::getInstance().executeCode("hideCursor()"); 90 90 InputManager::getInstance().requestLeaveState("guiMouseOnly"); 91 91 } 92 92 else 93 93 { 94 GUIManager::getInstance Ptr()->showGUI("PickupInventory");95 GUIManager::getInstance Ptr()->executeCode("showCursor()");94 GUIManager::getInstance().showGUI("PickupInventory"); 95 GUIManager::getInstance().executeCode("showCursor()"); 96 96 InputManager::getInstance().requestEnterState("guiMouseOnly"); 97 97 } -
code/trunk/src/orxonox/objects/pickup/PickupInventory.h
r3079 r3196 37 37 #include "OrxonoxPrereqs.h" 38 38 39 #include <CEGUIForwardRefs.h> 39 40 #include "core/BaseObject.h" 40 41 namespace CEGUI { class Window; class WindowManager; class Image; }42 41 43 42 // tolua_begin -
code/trunk/src/orxonox/objects/pickup/PickupSpawner.cc
r3079 r3196 33 33 34 34 #include "PickupSpawner.h" 35 35 36 #include "BaseItem.h" 36 #include "PickupInventory.h" // HACK; Only for hack, remove later37 #include "gui/GUIManager.h" // HACK; see above38 37 39 38 #include "core/CoreIncludes.h" 39 #include "core/Template.h" 40 40 #include "core/XMLPort.h" 41 #include "core/Template.h" 41 #include "gui/GUIManager.h" // HACK; see below 42 #include "objects/worldentities/pawns/Pawn.h" 43 #include "PickupInventory.h" // HACK; Only for hack, remove later 42 44 43 #include "objects/worldentities/pawns/Pawn.h"44 45 45 46 namespace orxonox … … 95 96 // & load the GUI itself too, along with some empty windows 96 97 // = even less delays 97 GUIManager::getInstance Ptr()->showGUI("PickupInventory");98 GUIManager::getInstance Ptr()->executeCode("hideGUI(\"PickupInventory\")");98 GUIManager::getInstance().showGUI("PickupInventory"); 99 GUIManager::getInstance().executeCode("hideGUI(\"PickupInventory\")"); 99 100 PickupInventory::getSingleton(); 100 101 } -
code/trunk/src/orxonox/objects/pickup/PickupSpawner.h
r3079 r3196 37 37 #include "OrxonoxPrereqs.h" 38 38 39 #include "objects/Tickable.h" 39 #include <string> 40 #include "tools/Timer.h" 41 #include "interfaces/Tickable.h" 40 42 #include "objects/worldentities/StaticEntity.h" 41 #include "tools/Timer.h"42 43 43 44 namespace orxonox -
code/trunk/src/orxonox/objects/pickup/UsableItem.cc
r3073 r3196 33 33 34 34 #include "UsableItem.h" 35 36 35 #include "core/CoreIncludes.h" 37 36 … … 46 45 RegisterObject(UsableItem); 47 46 } 48 //! Deconstructor.49 UsableItem::~UsableItem()50 {51 }52 47 } -
code/trunk/src/orxonox/objects/pickup/UsableItem.h
r3073 r3196 36 36 37 37 #include "OrxonoxPrereqs.h" 38 39 38 #include "BaseItem.h" 40 39 … … 49 48 public: 50 49 UsableItem(BaseObject* creator); 51 virtual ~UsableItem() ;50 virtual ~UsableItem() { } 52 51 53 52 /** -
code/trunk/src/orxonox/objects/pickup/items/HealthImmediate.cc
r3079 r3196 34 34 #include "HealthImmediate.h" 35 35 36 #include "objects/worldentities/pawns/Pawn.h"37 38 36 #include "core/CoreIncludes.h" 39 37 #include "core/XMLPort.h" 38 #include "objects/worldentities/pawns/Pawn.h" 40 39 41 40 namespace orxonox -
code/trunk/src/orxonox/objects/pickup/items/HealthImmediate.h
r3079 r3196 36 36 37 37 #include "OrxonoxPrereqs.h" 38 39 38 #include "objects/pickup/PassiveItem.h" 40 39 -
code/trunk/src/orxonox/objects/pickup/items/HealthUsable.cc
r3079 r3196 33 33 34 34 #include "HealthUsable.h" 35 #include "objects/pickup/DroppedItem.h"36 35 37 #include "objects/worldentities/pawns/Pawn.h" 38 36 #include "util/Math.h" 39 37 #include "core/CoreIncludes.h" 40 38 #include "core/XMLPort.h" 39 #include "objects/pickup/DroppedItem.h" 40 #include "objects/worldentities/pawns/Pawn.h" 41 41 42 42 namespace orxonox -
code/trunk/src/orxonox/objects/pickup/items/HealthUsable.h
r3081 r3196 35 35 #define _HealthUsable_H__ 36 36 37 #include <climits>38 39 37 #include "OrxonoxPrereqs.h" 40 38 39 #include <climits> 41 40 #include "objects/pickup/UsableItem.h" 42 #include "util/Math.h"43 41 44 42 namespace orxonox -
code/trunk/src/orxonox/objects/pickup/items/Jump.cc
r3079 r3196 33 33 34 34 #include "Jump.h" 35 #include "objects/pickup/DroppedItem.h"36 37 #include "objects/worldentities/pawns/Pawn.h"38 35 39 36 #include "core/CoreIncludes.h" 40 37 #include "core/XMLPort.h" 38 #include "objects/pickup/DroppedItem.h" 39 #include "objects/worldentities/pawns/Pawn.h" 41 40 42 41 namespace orxonox -
code/trunk/src/orxonox/objects/pickup/items/Jump.h
r3079 r3196 39 39 #include "OrxonoxPrereqs.h" 40 40 41 #include <climits> 42 #include "util/Math.h" 41 43 #include "objects/pickup/UsableItem.h" 42 #include "util/Math.h"43 44 44 45 namespace orxonox -
code/trunk/src/orxonox/objects/quest/AddQuest.cc
r3110 r3196 28 28 29 29 /** 30 @file AddQuest.cc30 @file 31 31 @brief Implementation of the AddQuest class. 32 32 */ … … 34 34 #include "AddQuest.h" 35 35 36 #include <string> 37 36 #include "util/Exception.h" 38 37 #include "core/CoreIncludes.h" 39 #include "util/Exception.h"40 41 #include "orxonox/objects/infos/PlayerInfo.h"42 38 #include "QuestManager.h" 43 #include "QuestDescription.h"44 39 #include "Quest.h" 45 40 -
code/trunk/src/orxonox/objects/quest/AddQuest.h
r3068 r3196 28 28 29 29 /** 30 @file AddQuest.h30 @file 31 31 @brief Definition of the AddQuest class. 32 32 */ … … 36 36 37 37 #include "OrxonoxPrereqs.h" 38 39 #include <string>40 41 #include "core/XMLPort.h"42 38 #include "ChangeQuestStatus.h" 43 39 -
code/trunk/src/orxonox/objects/quest/AddQuestHint.cc
r3110 r3196 28 28 29 29 /** 30 @file AddQuestHint.cc30 @file 31 31 @brief Implementation of the AddQuestHint class. 32 32 */ … … 34 34 #include "AddQuestHint.h" 35 35 36 #include "util/Exception.h" 36 37 #include "core/CoreIncludes.h" 37 #include "util/Exception.h" 38 39 #include "orxonox/objects/infos/PlayerInfo.h" 38 #include "core/XMLPort.h" 40 39 #include "QuestManager.h" 41 40 #include "QuestItem.h" -
code/trunk/src/orxonox/objects/quest/AddQuestHint.h
r3068 r3196 28 28 29 29 /** 30 @file AddQuestHint.h30 @file 31 31 @brief Definition of the AddQuestHint class. 32 32 */ … … 38 38 39 39 #include <string> 40 41 40 #include "QuestEffect.h" 42 41 -
code/trunk/src/orxonox/objects/quest/AddReward.cc
r3110 r3196 28 28 29 29 /** 30 @file AddReward.cc30 @file 31 31 @brief Implementation of the AddReward class. 32 32 */ … … 35 35 36 36 #include "core/CoreIncludes.h" 37 38 #include "orxonox/objects/infos/PlayerInfo.h" 39 #include "Rewardable.h" 37 #include "core/XMLPort.h" 38 #include "interfaces/Rewardable.h" 40 39 41 40 namespace orxonox -
code/trunk/src/orxonox/objects/quest/AddReward.h
r3068 r3196 28 28 29 29 /** 30 @file AddReward.h30 @file 31 31 @brief Definition of the AddReward class. 32 32 */ … … 38 38 39 39 #include <list> 40 41 #include "core/XMLPort.h"42 40 #include "QuestEffect.h" 43 41 -
code/trunk/src/orxonox/objects/quest/CMakeLists.txt
r2911 r3196 17 17 QuestManager.cc 18 18 QuestNotification.cc 19 Rewardable.cc20 19 ) -
code/trunk/src/orxonox/objects/quest/ChangeQuestStatus.cc
r3110 r3196 28 28 29 29 /** 30 @file ChangeQuestStatus.cc30 @file 31 31 @brief Implementation of the ChangeQuestStatus class. 32 32 */ … … 35 35 36 36 #include "core/CoreIncludes.h" 37 37 #include "core/XMLPort.h" 38 38 #include "QuestItem.h" 39 39 -
code/trunk/src/orxonox/objects/quest/ChangeQuestStatus.h
r3068 r3196 28 28 29 29 /** 30 @file ChangeQuestStatus.h30 @file 31 31 @brief Definition of the ChangeQuestStatus class. 32 32 */ … … 38 38 39 39 #include <string> 40 41 #include "core/XMLPort.h"42 40 #include "QuestEffect.h" 43 41 -
code/trunk/src/orxonox/objects/quest/CompleteQuest.cc
r3110 r3196 28 28 29 29 /** 30 @file CompleteQuest.cc30 @file 31 31 @brief Implementation of the CompleteQuest class. 32 32 */ … … 35 35 36 36 #include "core/CoreIncludes.h" 37 #include "util/Exception.h" 38 39 #include "orxonox/objects/infos/PlayerInfo.h" 37 #include "core/XMLPort.h" 40 38 #include "QuestManager.h" 41 39 #include "Quest.h" -
code/trunk/src/orxonox/objects/quest/CompleteQuest.h
r3068 r3196 28 28 29 29 /** 30 @file CompleteQuest.h30 @file 31 31 @brief Definition of the CompleteQuest class. 32 32 */ … … 36 36 37 37 #include "OrxonoxPrereqs.h" 38 39 #include <string>40 41 #include "core/XMLPort.h"42 38 #include "ChangeQuestStatus.h" 43 39 -
code/trunk/src/orxonox/objects/quest/FailQuest.cc
r3110 r3196 28 28 29 29 /** 30 @file FailQuest.cc30 @file 31 31 @brief Implementation of the FailQuest class. 32 32 */ … … 35 35 36 36 #include "core/CoreIncludes.h" 37 #include "util/Exception.h" 38 39 #include "orxonox/objects/infos/PlayerInfo.h" 37 #include "core/XMLPort.h" 40 38 #include "QuestManager.h" 41 39 #include "Quest.h" -
code/trunk/src/orxonox/objects/quest/FailQuest.h
r3068 r3196 28 28 29 29 /** 30 @file FailQuest.h30 @file 31 31 @brief Definition of the FailQuest class. 32 32 */ … … 36 36 37 37 #include "OrxonoxPrereqs.h" 38 39 #include <string>40 41 #include "core/XMLPort.h"42 38 #include "ChangeQuestStatus.h" 43 39 -
code/trunk/src/orxonox/objects/quest/GlobalQuest.cc
r3110 r3196 28 28 29 29 /** 30 @file GlobalQuest.cc30 @file 31 31 @brief Implementation of the GlobalQuest class. 32 32 */ … … 34 34 #include "GlobalQuest.h" 35 35 36 #include "orxonox/objects/infos/PlayerInfo.h"37 36 #include "core/CoreIncludes.h" 38 #include "core/Super.h" 39 #include "util/Exception.h" 40 37 #include "core/XMLPort.h" 41 38 #include "QuestEffect.h" 42 39 -
code/trunk/src/orxonox/objects/quest/GlobalQuest.h
r3068 r3196 28 28 29 29 /** 30 @file GlobalQuest.h30 @file 31 31 @brief Definition of the GlobalQuest class. 32 32 */ … … 37 37 #include "OrxonoxPrereqs.h" 38 38 39 #include <list> 39 40 #include <set> 40 #include <list>41 42 #include "core/XMLPort.h"43 41 #include "Quest.h" 44 42 -
code/trunk/src/orxonox/objects/quest/LocalQuest.cc
r3110 r3196 28 28 29 29 /** 30 @file LocalQuest.cc30 @file 31 31 @brief Implementation of the LocalQuest class. 32 32 */ … … 35 35 36 36 #include "core/CoreIncludes.h" 37 #include "core/Super.h" 38 #include "util/Exception.h" 39 40 #include "orxonox/objects/infos/PlayerInfo.h" 37 #include "core/XMLPort.h" 41 38 #include "QuestEffect.h" 42 39 -
code/trunk/src/orxonox/objects/quest/LocalQuest.h
r3068 r3196 28 28 29 29 /** 30 @file LocalQuest.h30 @file 31 31 @brief Definition of the LocalQuest class. 32 32 */ … … 38 38 39 39 #include <map> 40 #include <string>41 42 #include "core/XMLPort.h"43 40 #include "Quest.h" 44 41 -
code/trunk/src/orxonox/objects/quest/Quest.cc
r3110 r3196 28 28 29 29 /** 30 @file Quest.cc30 @file 31 31 @brief Implementation of the Quest class. 32 32 */ … … 35 35 36 36 #include "core/CoreIncludes.h" 37 38 #include "orxonox/objects/infos/PlayerInfo.h" 37 #include "core/XMLPort.h" 39 38 #include "QuestManager.h" 40 39 #include "QuestDescription.h" -
code/trunk/src/orxonox/objects/quest/Quest.h
r3068 r3196 28 28 29 29 /** 30 @file Quest.h30 @file 31 31 @brief Definition of the Quest class. 32 32 The Quest is the parent class of LocalQuest and GlobalQuest. … … 39 39 40 40 #include <list> 41 #include <string>42 43 #include "core/XMLPort.h"44 45 41 #include "QuestItem.h" 46 42 -
code/trunk/src/orxonox/objects/quest/QuestDescription.cc
r3110 r3196 28 28 29 29 /** 30 @file QuestDescription.cc30 @file 31 31 @brief Implementation of the QuestDescription class. 32 32 */ … … 36 36 37 37 #include "core/CoreIncludes.h" 38 #include "core/XMLPort.h" 38 39 #include "QuestNotification.h" 39 40 -
code/trunk/src/orxonox/objects/quest/QuestDescription.h
r3068 r3196 28 28 29 29 /** 30 @file QuestDescription.h30 @file 31 31 @brief Definition of the QuestDescription class. 32 32 */ … … 38 38 39 39 #include <string> 40 41 40 #include "core/BaseObject.h" 42 #include "core/XMLPort.h"43 41 44 42 // tolua_begin -
code/trunk/src/orxonox/objects/quest/QuestEffect.cc
r3110 r3196 28 28 29 29 /** 30 @file QuestEffect.cc30 @file 31 31 @brief Implementation of the QuestEffect class. 32 32 */ 33 33 34 34 #include "QuestEffect.h" 35 36 35 #include "core/CoreIncludes.h" 37 38 #include "orxonox/objects/infos/PlayerInfo.h"39 36 40 37 namespace orxonox -
code/trunk/src/orxonox/objects/quest/QuestEffect.h
r3068 r3196 28 28 29 29 /** 30 @file QuestEffect.h30 @file 31 31 @brief Definition of the QuestEffect class. 32 32 */ … … 38 38 39 39 #include <list> 40 41 40 #include "core/BaseObject.h" 42 41 -
code/trunk/src/orxonox/objects/quest/QuestEffectBeacon.cc
r3110 r3196 28 28 29 29 /** 30 @file QuestEffectBeacon.cc30 @file 31 31 @brief Implementation of the QuestEffectBeacon class. 32 32 */ … … 36 36 #include "core/CoreIncludes.h" 37 37 #include "core/XMLPort.h" 38 #include "core/Event.h"39 38 #include "core/EventIncludes.h" 40 41 #include "orxonox/objects/infos/PlayerInfo.h"42 39 #include "orxonox/objects/worldentities/pawns/Pawn.h" 43 40 #include "orxonox/objects/worldentities/triggers/PlayerTrigger.h" … … 89 86 SUPER(QuestEffectBeacon, processEvent, event); 90 87 91 SetSubclassEvent(QuestEffectBeacon, "execute", execute, event, PlayerTrigger);88 ORXONOX_SET_SUBCLASS_EVENT(QuestEffectBeacon, "execute", execute, event, PlayerTrigger); 92 89 } 93 90 -
code/trunk/src/orxonox/objects/quest/QuestEffectBeacon.h
r2911 r3196 28 28 29 29 /** 30 @file QuestEffectBeacon.h30 @file 31 31 @brief Definition of the QuestEffectBeacon class. 32 32 */ … … 37 37 #include "OrxonoxPrereqs.h" 38 38 39 #include <list> 39 40 #include "orxonox/objects/worldentities/StaticEntity.h" 40 41 -
code/trunk/src/orxonox/objects/quest/QuestHint.cc
r3110 r3196 28 28 29 29 /** 30 @file QuestHint.cc30 @file 31 31 @brief Implementation of the QuestHint class. 32 32 */ … … 35 35 36 36 #include "core/CoreIncludes.h" 37 #include "util/Exception.h" 38 39 #include "orxonox/objects/infos/PlayerInfo.h" 37 #include "core/XMLPort.h" 40 38 #include "QuestManager.h" 41 39 #include "QuestDescription.h" -
code/trunk/src/orxonox/objects/quest/QuestHint.h
r3068 r3196 28 28 29 29 /** 30 @file QuestHint.h30 @file 31 31 @brief Definition of the QuestHint class. 32 32 */ … … 38 38 39 39 #include <map> 40 #include <string>41 42 #include "core/XMLPort.h"43 40 #include "QuestItem.h" 44 41 -
code/trunk/src/orxonox/objects/quest/QuestItem.cc
r3110 r3196 28 28 29 29 /** 30 @file QuestItem.cc30 @file 31 31 @brief Implementation of the QuestItem class. 32 32 */ … … 35 35 36 36 #include "core/CoreIncludes.h" 37 37 #include "core/XMLPort.h" 38 38 #include "QuestDescription.h" 39 39 -
code/trunk/src/orxonox/objects/quest/QuestItem.h
r3068 r3196 28 28 29 29 /** 30 @file QuestItem.h30 @file 31 31 @brief Definition of the QuestItem class. 32 32 The QuestItem is the parent class of Quest and QuestHint. … … 40 40 41 41 #include <string> 42 43 42 #include "core/BaseObject.h" 44 #include "core/XMLPort.h"45 43 46 44 namespace orxonox -
code/trunk/src/orxonox/objects/quest/QuestListener.cc
r3110 r3196 28 28 29 29 /** 30 @file QuestListener.cc30 @file 31 31 @brief Implementation of the QuestListener class. 32 32 */ … … 36 36 #include "core/CoreIncludes.h" 37 37 #include "core/XMLPort.h" 38 #include "util/Exception.h"39 40 38 #include "Quest.h" 41 39 #include "QuestManager.h" … … 164 162 Return the mode of the QuestListener. Can be eighter 'all', 'start', 'fail' or 'complete'. 165 163 */ 166 conststd::string QuestListener::getMode(void)164 std::string QuestListener::getMode(void) 167 165 { 168 166 if(this->mode_ == questListenerMode::all) … … 191 189 /** 192 190 @brief 191 Get the questId of the Quest the QuestListener reacts to. 192 @return 193 Returns the questId of the Quest the QuestListener reacts to. 194 */ 195 const std::string & QuestListener::getQuestId(void) 196 { 197 return this->quest_->getId(); 198 } 199 200 /** 201 @brief 193 202 Executes the QuestListener, resp. fires an Event. 194 203 @return -
code/trunk/src/orxonox/objects/quest/QuestListener.h
r2911 r3196 28 28 29 29 /** 30 @file QuestListener.h30 @file 31 31 @brief Definition of the QuestListener class. 32 32 */ … … 39 39 #include <string> 40 40 #include <list> 41 42 41 #include "core/BaseObject.h" 43 44 #include "Quest.h"45 42 46 43 namespace orxonox … … 90 87 bool setMode(const std::string & mode); //!< Sets the mode of the QuestListener. 91 88 92 conststd::string getMode(void); //!< Get the mode of the QuestListener.89 std::string getMode(void); //!< Get the mode of the QuestListener. 93 90 94 /** 95 @brief Get the questId of the Quest the QuestListener reacts to. 96 @return Returns the questId of the Quest the QuestListener reacts to. 97 */ 98 inline const std::string & getQuestId(void) 99 { return this->quest_->getId(); } 100 91 const std::string & getQuestId(void); 101 92 bool execute(void); //!< Executes the QuestListener, resp. fires an Event. 102 93 -
code/trunk/src/orxonox/objects/quest/QuestManager.cc
r3110 r3196 28 28 29 29 /** 30 @file QuestManager.cc30 @file 31 31 @brief Implementation of the QuestManager class. 32 32 */ … … 34 34 #include "QuestManager.h" 35 35 36 #include "util/Exception.h" 36 37 #include "core/CoreIncludes.h" 37 #include "core/ConsoleCommand.h"38 #include "core/input/InputManager.h"39 40 #include "util/Exception.h"41 38 #include "gui/GUIManager.h" 39 42 40 #include "objects/infos/PlayerInfo.h" 41 #include "objects/infos/PlayerInfo.h" 42 #include "overlays/GUIOverlay.h" 43 43 #include "Quest.h" 44 44 #include "QuestHint.h" 45 #include "QuestItem.h" 45 46 46 47 namespace orxonox -
code/trunk/src/orxonox/objects/quest/QuestManager.h
r3068 r3196 28 28 29 29 /** 30 @file QuestManager.h30 @file 31 31 @brief Definition of the QuestManager class. 32 32 */ … … 37 37 #include "OrxonoxPrereqs.h" 38 38 39 #include <list> 39 40 #include <map> 40 #include <list>41 41 #include <string> 42 43 42 #include "core/OrxonoxClass.h" 44 #include "orxonox/objects/infos/PlayerInfo.h"45 #include "overlays/GUIOverlay.h"46 43 47 44 // tolua_begin -
code/trunk/src/orxonox/objects/quest/QuestNotification.cc
r3110 r3196 28 28 29 29 #include "QuestNotification.h" 30 31 30 #include "core/CoreIncludes.h" 32 33 #include "orxonox/overlays/notifications/Notification.h"34 31 35 32 namespace orxonox { -
code/trunk/src/orxonox/objects/quest/QuestNotification.h
r3078 r3196 33 33 34 34 #include <string> 35 36 #include "orxonox/overlays/notifications/Notification.h" 35 #include "overlays/notifications/Notification.h" 37 36 38 37 namespace orxonox { -
code/trunk/src/orxonox/objects/weaponsystem/DefaultWeaponmodeLink.cc
r3110 r3196 31 31 #include "core/CoreIncludes.h" 32 32 #include "core/XMLPort.h" 33 34 33 #include "WeaponSystem.h" 35 34 -
code/trunk/src/orxonox/objects/weaponsystem/Munition.cc
r3110 r3196 29 29 30 30 #include "Munition.h" 31 32 31 #include "core/CoreIncludes.h" 33 32 -
code/trunk/src/orxonox/objects/weaponsystem/Munition.h
r3053 r3196 34 34 35 35 #include <map> 36 37 36 #include "core/BaseObject.h" 38 37 #include "tools/Timer.h" -
code/trunk/src/orxonox/objects/weaponsystem/MuzzleFlash.cc
r3110 r3196 30 30 #include "MuzzleFlash.h" 31 31 32 #include "core/GameMode.h"33 32 #include "core/CoreIncludes.h" 34 #include "core/XMLPort.h" 35 #include "util/Math.h" 33 #include "core/Executor.h" 36 34 37 35 namespace orxonox … … 42 40 { 43 41 RegisterObject(MuzzleFlash); 44 this->setScale(0.1 );42 this->setScale(0.1f); 45 43 46 44 this->delayTimer_.setTimer(0.1f, false, this, createExecutor(createFunctor(&MuzzleFlash::destroy))); -
code/trunk/src/orxonox/objects/weaponsystem/MuzzleFlash.h
r3053 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include "tools/Timer.h" 33 35 #include "objects/worldentities/Billboard.h" 34 #include "tools/Timer.h"35 36 36 37 37 namespace orxonox -
code/trunk/src/orxonox/objects/weaponsystem/Weapon.h
r3053 r3196 32 32 33 33 #include "OrxonoxPrereqs.h" 34 35 #include <map> 36 #include "tools/Timer.h" 34 37 #include "objects/worldentities/StaticEntity.h" 35 36 #include "tools/Timer.h"37 38 38 39 namespace orxonox -
code/trunk/src/orxonox/objects/weaponsystem/WeaponMode.h
r3053 r3196 32 32 33 33 #include "OrxonoxPrereqs.h" 34 35 #include <string> 36 #include "util/Math.h" 34 37 #include "core/BaseObject.h" 35 38 #include "core/Identifier.h" 36 39 #include "tools/Timer.h" 37 #include "core/Identifier.h"38 #include "util/Math.h"39 40 40 41 namespace orxonox -
code/trunk/src/orxonox/objects/weaponsystem/WeaponPack.cc
r3110 r3196 31 31 #include "core/CoreIncludes.h" 32 32 #include "core/XMLPort.h" 33 #include "objects/worldentities/pawns/Pawn.h"34 33 35 34 #include "Weapon.h" 36 #include "WeaponSlot.h"37 35 #include "WeaponSystem.h" 38 36 #include "DefaultWeaponmodeLink.h" -
code/trunk/src/orxonox/objects/weaponsystem/WeaponPack.h
r3053 r3196 34 34 35 35 #include <set> 36 37 36 #include "core/BaseObject.h" 38 37 -
code/trunk/src/orxonox/objects/weaponsystem/WeaponSet.h
r3053 r3196 34 34 35 35 #include <map> 36 37 36 #include "core/BaseObject.h" 38 37 -
code/trunk/src/orxonox/objects/weaponsystem/WeaponSystem.h
r3053 r3196 33 33 #include "OrxonoxPrereqs.h" 34 34 35 #include <map> 35 36 #include <set> 36 #include <map>37 37 #include <vector> 38 39 38 #include "core/BaseObject.h" 40 39 -
code/trunk/src/orxonox/objects/weaponsystem/munitions/FusionMunition.cc
r3110 r3196 28 28 29 29 #include "FusionMunition.h" 30 31 30 #include "core/CoreIncludes.h" 32 31 -
code/trunk/src/orxonox/objects/weaponsystem/munitions/LaserMunition.cc
r3110 r3196 28 28 29 29 #include "LaserMunition.h" 30 31 30 #include "core/CoreIncludes.h" 32 31 -
code/trunk/src/orxonox/objects/weaponsystem/munitions/ReplenishingMunition.cc
r3110 r3196 28 28 29 29 #include "ReplenishingMunition.h" 30 31 30 #include "core/CoreIncludes.h" 32 31 -
code/trunk/src/orxonox/objects/weaponsystem/munitions/ReplenishingMunition.h
r3053 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include "tools/Timer.h" 33 35 #include "objects/weaponsystem/Munition.h" 34 #include "tools/Timer.h"35 36 36 37 namespace orxonox -
code/trunk/src/orxonox/objects/weaponsystem/projectiles/BillboardProjectile.cc
r3110 r3196 29 29 #include "BillboardProjectile.h" 30 30 31 #include <OgreBillboardSet.h> 32 31 #include "core/CoreIncludes.h" 33 32 #include "core/GameMode.h" 34 #include "core/CoreIncludes.h"35 33 #include "objects/Scene.h" 36 34 … … 46 44 { 47 45 assert(this->getScene()->getSceneManager()); // getScene() was already checked by WorldEntity 48 this->billboard_.setBillboardSet(this->getScene()->getSceneManager(), "Examples/Flare", ColourValue(0.5 , 0.5, 0.7, 0.8), 1);46 this->billboard_.setBillboardSet(this->getScene()->getSceneManager(), "Examples/Flare", ColourValue(0.5f, 0.5f, 0.7f, 0.8f), 1); 49 47 this->attachOgreObject(this->billboard_.getBillboardSet()); 50 48 } -
code/trunk/src/orxonox/objects/weaponsystem/projectiles/BillboardProjectile.h
r3053 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "util/Math.h" 35 #include "tools/BillboardSet.h" 34 36 #include "Projectile.h" 35 #include "tools/BillboardSet.h"36 #include "util/Math.h"37 37 38 38 namespace orxonox -
code/trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.cc
r3110 r3196 29 29 #include "LightningGunProjectile.h" 30 30 31 #include <OgreBillboardSet.h> 32 33 #include "core/GameMode.h" 31 #include "util/Convert.h" 34 32 #include "core/CoreIncludes.h" 35 #include "objects/Scene.h"36 #include "util/Convert.h"37 33 38 34 namespace orxonox … … 46 42 this->textureIndex_ = 1; 47 43 this->maxTextureIndex_ = 8; 48 this->textureTimer_.setTimer(0.01 , true, this, createExecutor(createFunctor(&LightningGunProjectile::changeTexture)));44 this->textureTimer_.setTimer(0.01f, true, this, createExecutor(createFunctor(&LightningGunProjectile::changeTexture))); 49 45 50 46 registerVariables(); -
code/trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.h
r3088 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <string> 34 35 #include "tools/Timer.h" 35 36 36 #include "BillboardProjectile.h" 37 37 -
code/trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.cc
r3110 r3196 29 29 #include "ParticleProjectile.h" 30 30 31 #include <OgreParticleSystem.h>32 31 #include <OgreParticleEmitter.h> 33 34 #include "core/GameMode.h" 32 #include "tools/ParticleInterface.h" 35 33 #include "core/CoreIncludes.h" 36 #include "core/ConfigValueIncludes.h"37 34 #include "objects/Scene.h" 38 35 -
code/trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.h
r3053 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 33 #include "BillboardProjectile.h" 35 #include "tools/ParticleInterface.h"36 #include "util/Math.h"37 34 38 35 namespace orxonox -
code/trunk/src/orxonox/objects/weaponsystem/projectiles/Projectile.cc
r3110 r3196 29 29 #include "Projectile.h" 30 30 31 #include <OgreBillboard.h>32 33 31 #include "core/CoreIncludes.h" 32 #include "core/ConfigValueIncludes.h" 34 33 #include "core/Executor.h" 35 #include "core/ConfigValueIncludes.h" 36 #include "core/Iterator.h" 37 #include "tools/ParticleInterface.h" 38 39 #include "objects/worldentities/Model.h" 34 #include "core/GameMode.h" 35 #include "objects/collisionshapes/SphereCollisionShape.h" 36 #include "objects/worldentities/pawns/Pawn.h" 40 37 #include "objects/worldentities/ParticleSpawner.h" 41 #include "objects/collisionshapes/SphereCollisionShape.h"42 #include "core/GameMode.h"43 38 44 39 namespace orxonox -
code/trunk/src/orxonox/objects/weaponsystem/projectiles/Projectile.h
r3053 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "tools/Timer.h" 35 #include "interfaces/PawnListener.h" 34 36 #include "objects/worldentities/MovableEntity.h" 35 #include "objects/worldentities/pawns/Pawn.h"36 #include "tools/Timer.h"37 37 38 38 namespace orxonox -
code/trunk/src/orxonox/objects/weaponsystem/weaponmodes/EnergyDrink.cc
r3110 r3196 30 30 31 31 #include "core/CoreIncludes.h" 32 #include "core/Executor.h" 32 33 #include "core/XMLPort.h" 33 #include "objects/weaponsystem/projectiles/ParticleProjectile.h"34 34 #include "objects/worldentities/Model.h" 35 36 #include "objects/weaponsystem/projectiles/Projectile.h" 35 37 #include "objects/weaponsystem/MuzzleFlash.h" 36 37 38 #include "objects/weaponsystem/Weapon.h" 38 39 #include "objects/weaponsystem/WeaponPack.h" … … 69 70 { 70 71 this->material_ = material; 71 }72 73 std::string& EnergyDrink::getMaterial()74 {75 return this->material_;76 72 } 77 73 -
code/trunk/src/orxonox/objects/weaponsystem/weaponmodes/EnergyDrink.h
r3053 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include <string> 35 #include "tools/Timer.h" 33 36 #include "objects/weaponsystem/WeaponMode.h" 34 #include "tools/Timer.h"35 37 36 38 namespace orxonox … … 47 49 private: 48 50 void setMaterial(const std::string& material); 49 std::string& getMaterial(); 51 inline const std::string& getMaterial() 52 { return this->material_; } 50 53 void setDelay(float d); 51 54 float getDelay() const; -
code/trunk/src/orxonox/objects/weaponsystem/weaponmodes/FusionFire.cc
r3110 r3196 29 29 #include "FusionFire.h" 30 30 31 #include "util/Math.h" 31 32 #include "core/CoreIncludes.h" 32 33 #include "objects/weaponsystem/projectiles/BillboardProjectile.h" -
code/trunk/src/orxonox/objects/weaponsystem/weaponmodes/HsW01.cc
r3110 r3196 30 30 31 31 #include "core/CoreIncludes.h" 32 #include "core/Executor.h" 32 33 #include "core/XMLPort.h" 33 #include "objects/weaponsystem/projectiles/ParticleProjectile.h"34 34 #include "objects/worldentities/Model.h" 35 36 #include "objects/weaponsystem/projectiles/Projectile.h" 35 37 #include "objects/weaponsystem/MuzzleFlash.h" 36 37 38 #include "objects/weaponsystem/Weapon.h" 38 39 #include "objects/weaponsystem/WeaponPack.h" -
code/trunk/src/orxonox/objects/weaponsystem/weaponmodes/HsW01.h
r3053 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include "tools/Timer.h" 33 35 #include "objects/weaponsystem/WeaponMode.h" 34 #include "tools/Timer.h"35 36 36 37 namespace orxonox -
code/trunk/src/orxonox/objects/weaponsystem/weaponmodes/LaserFire.cc
r3110 r3196 31 31 #include "core/CoreIncludes.h" 32 32 #include "objects/weaponsystem/projectiles/ParticleProjectile.h" 33 34 33 #include "objects/weaponsystem/Weapon.h" 35 34 #include "objects/weaponsystem/WeaponPack.h" -
code/trunk/src/orxonox/objects/weaponsystem/weaponmodes/LightningGun.cc
r3110 r3196 30 30 31 31 #include "core/CoreIncludes.h" 32 33 #include "objects/worldentities/Billboard.h" 34 32 #include "objects/weaponsystem/projectiles/LightningGunProjectile.h" 35 33 #include "objects/weaponsystem/Weapon.h" 36 34 #include "objects/weaponsystem/WeaponPack.h" 37 35 #include "objects/weaponsystem/WeaponSystem.h" 38 39 #include "objects/weaponsystem/projectiles/LightningGunProjectile.h"40 41 #include "util/Math.h"42 36 43 37 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/Attacher.h
r3078 r3196 33 33 34 34 #include <list> 35 35 #include <string> 36 #include "core/XMLNameListener.h" 36 37 #include "objects/worldentities/StaticEntity.h" 37 #include "core/XMLNameListener.h"38 38 39 39 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/Backlight.cc
r3110 r3196 31 31 #include <OgreRibbonTrail.h> 32 32 #include <OgreSceneManager.h> 33 33 #include <OgreSceneNode.h> 34 35 #include "util/Exception.h" 36 #include "core/CoreIncludes.h" 34 37 #include "core/GameMode.h" 35 #include "core/CoreIncludes.h"36 #include "core/Executor.h"37 38 #include "core/XMLPort.h" 38 39 #include "objects/Scene.h" 39 #include "util/Exception.h"40 40 41 41 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/Backlight.h
r3068 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include <string> 35 #include "interfaces/TimeFactorListener.h" 33 36 #include "FadingBillboard.h" 34 #include "tools/TimeFactorListener.h"35 37 36 38 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/BigExplosion.cc
r3110 r3196 28 28 29 29 #include "BigExplosion.h" 30 #include "MovableEntity.h" 30 31 //#include <sstream> 32 33 #include "util/Exception.h" 34 #include "core/CoreIncludes.h" 35 #include "core/CommandExecutor.h" 36 #include "core/Executor.h" 37 #include "core/GameMode.h" 38 #include "tools/ParticleInterface.h" 39 #include "objects/Scene.h" 40 #include "objects/worldentities/ParticleSpawner.h" 31 41 #include "Model.h" 32 33 #include <OgreParticleSystem.h>34 #include <OgreSceneNode.h>35 #include <sstream>36 37 #include "core/GameMode.h"38 #include "core/CoreIncludes.h"39 #include "core/Executor.h"40 #include "core/CommandExecutor.h"41 #include "objects/Scene.h"42 #include "tools/ParticleInterface.h"43 #include "objects/worldentities/ParticleSpawner.h"44 #include "util/Exception.h"45 42 46 43 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/BigExplosion.h
r3087 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <string> 34 35 35 #include "tools/Timer.h" 36 36 #include "MovableEntity.h" 37 #include "tools/Timer.h"38 37 39 38 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/Billboard.cc
r3110 r3196 29 29 #include "Billboard.h" 30 30 31 #include <OgreBillboardSet.h>32 33 31 #include "core/CoreIncludes.h" 32 #include "core/GameMode.h" 34 33 #include "core/XMLPort.h" 35 #include "core/GameMode.h"36 34 #include "objects/Scene.h" 37 35 -
code/trunk/src/orxonox/objects/worldentities/Billboard.h
r3053 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 #include "StaticEntity.h" 33 34 34 #include "util/Math.h" 35 35 #include "tools/BillboardSet.h" 36 #include "objects/Teamcolourable.h" 36 #include "interfaces/TeamColourable.h" 37 #include "StaticEntity.h" 37 38 38 39 namespace orxonox 39 40 { 40 class _OrxonoxExport Billboard : public StaticEntity, public Team colourable41 class _OrxonoxExport Billboard : public StaticEntity, public TeamColourable 41 42 { 42 43 public: -
code/trunk/src/orxonox/objects/worldentities/BlinkingBillboard.cc
r3110 r3196 29 29 #include "BlinkingBillboard.h" 30 30 31 #include "core/CoreIncludes.h" 31 32 #include "core/GameMode.h" 32 #include "core/CoreIncludes.h"33 33 #include "core/XMLPort.h" 34 #include "util/Math.h"35 34 36 35 namespace orxonox … … 80 79 this->time_ += dt; 81 80 if (this->bQuadratic_) 82 this->setScale(this->amplitude_ * s quare(sin((6.2831853 * this->time_ + this->phase_.valueRadians()) * this->frequency_)));81 this->setScale(this->amplitude_ * static_cast<float>(square(sin((6.2831853 * this->time_ + this->phase_.valueRadians()) * this->frequency_)))); 83 82 else 84 this->setScale(this->amplitude_ * s in((6.2831853 * this->time_ + this->phase_.valueRadians()) * this->frequency_));83 this->setScale(this->amplitude_ * static_cast<float>(sin((6.2831853 * this->time_ + this->phase_.valueRadians()) * this->frequency_))); 85 84 } 86 85 } -
code/trunk/src/orxonox/objects/worldentities/BlinkingBillboard.h
r2087 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include "util/Math.h" 35 #include "interfaces/Tickable.h" 33 36 #include "Billboard.h" 34 #include "objects/Tickable.h"35 37 36 38 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/Camera.cc
r3110 r3196 29 29 #include "Camera.h" 30 30 31 #include <string>32 #include <cassert>33 34 31 #include <OgreCamera.h> 35 32 #include <OgreSceneManager.h> … … 37 34 38 35 #include "util/Exception.h" 36 #include "util/String.h" 39 37 #include "core/CoreIncludes.h" 40 38 #include "core/ConfigValueIncludes.h" -
code/trunk/src/orxonox/objects/worldentities/Camera.h
r3068 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <OgrePrerequisites.h> 34 #include "util/OgreForwardRefs.h" 35 #include "interfaces/Tickable.h" 35 36 #include "objects/worldentities/StaticEntity.h" 36 #include "objects/Tickable.h"37 37 38 38 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/CameraPosition.cc
r3110 r3196 28 28 29 29 #include "CameraPosition.h" 30 31 #include <OgreCamera.h>32 30 33 31 #include "core/CoreIncludes.h" -
code/trunk/src/orxonox/objects/worldentities/CameraPosition.h
r3089 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 33 #include "objects/worldentities/StaticEntity.h" 35 34 -
code/trunk/src/orxonox/objects/worldentities/ControllableEntity.cc
r3110 r3196 30 30 31 31 #include <OgreSceneManager.h> 32 #include <OgreSceneNode.h> 32 33 33 34 #include "core/CoreIncludes.h" … … 35 36 #include "core/GameMode.h" 36 37 #include "core/XMLPort.h" 37 #include "core/Template.h"38 38 39 39 #include "objects/Scene.h" -
code/trunk/src/orxonox/objects/worldentities/ControllableEntity.h
r3089 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include <list> 35 #include <string> 36 #include "util/Math.h" 33 37 #include "MobileEntity.h" 34 38 -
code/trunk/src/orxonox/objects/worldentities/ExplosionChunk.cc
r3110 r3196 29 29 #include "ExplosionChunk.h" 30 30 31 #include <OgreParticleSystem.h>32 33 #include "core/GameMode.h"34 31 #include "core/CoreIncludes.h" 35 32 #include "core/Executor.h" 33 #include "core/GameMode.h" 34 #include "util/Exception.h" 36 35 #include "objects/Scene.h" 37 36 #include "tools/ParticleInterface.h" 38 #include "util/Exception.h"39 37 40 38 namespace orxonox … … 153 151 Vector3 change(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1)); 154 152 change.normalise(); 155 change *= rnd(0.4 , 0.8);153 change *= rnd(0.4f, 0.8f); 156 154 Vector3 velocity = this->getVelocity(); 157 155 velocity.normalise(); 158 156 velocity += change; 159 157 velocity.normalise(); 160 velocity *= length * rnd(0.8 , 1.0);158 velocity *= length * rnd(0.8f, 1.0f); 161 159 162 160 this->setVelocity(velocity); -
code/trunk/src/orxonox/objects/worldentities/ExplosionChunk.h
r2662 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "tools/Timer.h" 34 35 #include "MovableEntity.h" 35 #include "tools/Timer.h"36 36 37 37 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/FadingBillboard.cc
r3110 r3196 30 30 31 31 #include "core/CoreIncludes.h" 32 #include "core/Executor.h"33 32 #include "core/XMLPort.h" 34 33 -
code/trunk/src/orxonox/objects/worldentities/FadingBillboard.h
r2662 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include "util/Math.h" 35 #include "tools/Timer.h" 36 #include "interfaces/Tickable.h" 33 37 #include "Billboard.h" 34 #include "objects/Tickable.h"35 #include "tools/Timer.h"36 38 37 39 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/ForceField.cc
r3064 r3196 28 28 29 29 #include "ForceField.h" 30 #include "core/XMLPort.h"31 30 32 31 #include "core/CoreIncludes.h" 32 #include "core/XMLPort.h" 33 33 #include "objects/worldentities/MobileEntity.h" 34 34 -
code/trunk/src/orxonox/objects/worldentities/ForceField.h
r3064 r3196 31 31 #define _ForceField_H__ 32 32 33 #include "OrxonoxPrereqs.h" 34 35 #include "interfaces/Tickable.h" 33 36 #include "StaticEntity.h" 34 #include "objects/Tickable.h"35 37 36 38 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/Light.cc
r3110 r3196 29 29 #include "Light.h" 30 30 31 #include <sstream>32 #include <cassert>33 34 31 #include <OgreSceneManager.h> 32 #include <OgreLight.h> 33 #include <boost/static_assert.hpp> 35 34 36 35 #include "util/String.h" 37 36 #include "util/Exception.h" 37 #include "core/CoreIncludes.h" 38 38 #include "core/GameMode.h" 39 #include "core/CoreIncludes.h"40 39 #include "core/XMLPort.h" 41 40 #include "objects/Scene.h" … … 44 43 { 45 44 CreateFactory(Light); 45 46 // Be sure we don't do bad conversions 47 BOOST_STATIC_ASSERT((int)Ogre::Light::LT_POINT == (int)Light::LT_POINT); 48 BOOST_STATIC_ASSERT((int)Ogre::Light::LT_DIRECTIONAL == (int)Light::LT_DIRECTIONAL); 49 BOOST_STATIC_ASSERT((int)Ogre::Light::LT_SPOTLIGHT == (int)Light::LT_SPOTLIGHT); 46 50 47 51 Light::Light(BaseObject* creator) : StaticEntity(creator) … … 52 56 this->diffuse_ = ColourValue::White; 53 57 this->specular_ = ColourValue::White; 54 this->type_ = Ogre::Light::LT_POINT;58 this->type_ = Light::LT_POINT; 55 59 this->attenuation_ = Vector4(100000, 1, 0, 0); 56 60 this->spotlightRange_ = Vector3(40.0f, 30.0f, 1.0f); … … 136 140 { 137 141 if (type == "point") 138 this->setType( Ogre::Light::LT_POINT);142 this->setType(Light::LT_POINT); 139 143 else if (type == "directional") 140 this->setType( Ogre::Light::LT_DIRECTIONAL);144 this->setType(Light::LT_DIRECTIONAL); 141 145 else if (type == "spotlight") 142 this->setType( Ogre::Light::LT_SPOTLIGHT);146 this->setType(Light::LT_SPOTLIGHT); 143 147 else 144 this->setType( Ogre::Light::LT_POINT);148 this->setType(Light::LT_POINT); 145 149 } 146 150 … … 149 153 switch (this->type_) 150 154 { 151 case Ogre::Light::LT_DIRECTIONAL:155 case Light::LT_DIRECTIONAL: 152 156 return "directional"; 153 case Ogre::Light::LT_SPOTLIGHT:157 case Light::LT_SPOTLIGHT: 154 158 return "spotlight"; 155 case Ogre::Light::LT_POINT:159 case Light::LT_POINT: 156 160 default: 157 161 return "point"; … … 163 167 if (this->light_) 164 168 { 165 this->light_->setType( this->type_);169 this->light_->setType(static_cast<Ogre::Light::LightTypes>(this->type_)); 166 170 167 171 if (this->type_ != Ogre::Light::LT_DIRECTIONAL) -
code/trunk/src/orxonox/objects/worldentities/Light.h
r2826 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 #include "StaticEntity.h"34 33 35 34 #include <string> 36 #include <OgreLight.h>37 38 35 #include "util/Math.h" 39 #include "objects/Teamcolourable.h" 36 #include "interfaces/TeamColourable.h" 37 #include "StaticEntity.h" 40 38 41 39 namespace orxonox 42 40 { 43 class _OrxonoxExport Light : public StaticEntity, public Team colourable41 class _OrxonoxExport Light : public StaticEntity, public TeamColourable 44 42 { 43 public: 44 enum LightTypes // Copy from the Ogre enum 45 { 46 /// Point light sources give off light equally in all directions, so require only position not direction 47 LT_POINT, 48 /// Directional lights simulate parallel light beams from a distant source, hence have direction but no position 49 LT_DIRECTIONAL, 50 /// Spotlights simulate a cone of light from a source so require position and direction, plus extra values for falloff 51 LT_SPOTLIGHT 52 }; 53 45 54 public: 46 55 Light(BaseObject* creator); … … 55 64 { return this->light_; } 56 65 57 inline void setType( Ogre::Light::LightTypes type)66 inline void setType(Light::LightTypes type) 58 67 { this->type_ = type; this->updateType(); } 59 inline Ogre::Light::LightTypes getType() const68 inline Light::LightTypes getType() const 60 69 { return this->type_; } 61 70 … … 133 142 134 143 Ogre::Light* light_; 135 Ogre::Light::LightTypes type_;144 LightTypes type_; 136 145 ColourValue diffuse_; 137 146 ColourValue specular_; -
code/trunk/src/orxonox/objects/worldentities/MobileEntity.cc
r3110 r3196 30 30 31 31 #include <OgreSceneNode.h> 32 #include "BulletDynamics/Dynamics/btRigidBody.h" 33 34 #include "util/Debug.h" 35 #include "util/MathConvert.h" 36 #include "util/Exception.h" 32 #include <BulletDynamics/Dynamics/btRigidBody.h> 33 37 34 #include "core/CoreIncludes.h" 38 35 #include "core/XMLPort.h" 39 40 36 #include "objects/Scene.h" 41 37 … … 96 92 this->angularVelocity_.z += angularAcceleration_.z * dt; 97 93 // Calculate new orientation with quaternion derivative. This is about 30% faster than with angle/axis method. 98 float mult = dt * 0.5 ;94 float mult = dt * 0.5f; 99 95 // TODO: this could be optimized by writing it out. The calls currently create 4 new Quaternions! 100 96 Quaternion newOrientation(0.0f, this->angularVelocity_.x * mult, this->angularVelocity_.y * mult, this->angularVelocity_.z * mult); -
code/trunk/src/orxonox/objects/worldentities/MobileEntity.h
r3084 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "util/Math.h" 35 #include "interfaces/Tickable.h" 34 36 #include "WorldEntity.h" 35 #include "objects/Tickable.h"36 37 37 38 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/Model.cc
r3110 r3196 27 27 */ 28 28 29 #include "Model.h" 29 30 30 31 #include <OgreEntity.h> 31 #include "Model.h" 32 33 #include "core/CoreIncludes.h" 32 34 #include "core/GameMode.h" 33 #include "core/CoreIncludes.h"34 35 #include "core/XMLPort.h" 35 36 #include "objects/Scene.h" -
code/trunk/src/orxonox/objects/worldentities/Model.h
r2662 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include <string> 35 #include "tools/Mesh.h" 33 36 #include "StaticEntity.h" 34 #include "tools/Mesh.h"35 37 36 38 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/MovableEntity.cc
r3110 r3196 31 31 32 32 #include "core/CoreIncludes.h" 33 #include "core/XMLPort.h"34 33 #include "core/Executor.h" 35 34 #include "core/GameMode.h" 35 #include "core/XMLPort.h" 36 36 #include "objects/worldentities/pawns/Pawn.h" 37 37 -
code/trunk/src/orxonox/objects/worldentities/MovableEntity.h
r3033 r3196 33 33 #include "OrxonoxPrereqs.h" 34 34 35 #include " MobileEntity.h"35 #include "util/Math.h" 36 36 #include "network/ClientConnectionListener.h" 37 37 #include "tools/Timer.h" 38 #include "MobileEntity.h" 38 39 39 40 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/ParticleEmitter.cc
r3110 r3196 34 34 #include "ParticleEmitter.h" 35 35 36 #include <OgreParticleSystem.h> 37 36 #include "util/Exception.h" 37 #include "core/CoreIncludes.h" 38 #include "core/GameMode.h" 39 #include "core/XMLPort.h" 38 40 #include "tools/ParticleInterface.h" 39 #include "util/Exception.h"40 #include "core/GameMode.h"41 #include "core/CoreIncludes.h"42 #include "core/XMLPort.h"43 41 #include "objects/Scene.h" 44 42 -
code/trunk/src/orxonox/objects/worldentities/ParticleEmitter.h
r2662 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include <string> 33 35 #include "StaticEntity.h" 34 36 -
code/trunk/src/orxonox/objects/worldentities/ParticleSpawner.cc
r3110 r3196 75 75 SUPER(ParticleSpawner, processEvent, event); 76 76 77 SetEvent(ParticleSpawner, "spawn", spawn, event);77 ORXONOX_SET_EVENT(ParticleSpawner, "spawn", spawn, event); 78 78 } 79 79 -
code/trunk/src/orxonox/objects/worldentities/ParticleSpawner.h
r3068 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "tools/Timer.h" 34 35 #include "ParticleEmitter.h" 35 #include "tools/Timer.h"36 36 37 37 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/Planet.cc
r3110 r3196 29 29 #include "Planet.h" 30 30 31 #include <math.h>32 33 31 #include <OgreEntity.h> 34 32 #include <OgreBillboardSet.h> 35 #include <OgreHardwareVertexBuffer.h> 36 #include <OgreMeshManager.h> 33 #include <OgreProgressiveMesh.h> 37 34 38 35 #include "core/CoreIncludes.h" 36 #include "core/GameMode.h" 39 37 #include "core/XMLPort.h" 40 38 #include "objects/Scene.h" 39 #include "Camera.h" 41 40 #include "CameraManager.h" 42 #include "Camera.h"43 #include "GraphicsManager.h"44 41 45 42 namespace orxonox … … 70 67 return; 71 68 72 Camera* activeCamera = CameraManager::getInstance().getActiveCamera(); 73 if(activeCamera) 69 if (GameMode::showsGraphics()) 74 70 { 75 float distance = this->getPosition().distance( activeCamera->getWorldPosition() ); 76 // COUT(2) << distance << std::endl; 77 float planetRadius = this->getScale(); 71 Camera* activeCamera = CameraManager::getInstance().getActiveCamera(); 72 if(activeCamera) 73 { 74 float distance = this->getPosition().distance( activeCamera->getWorldPosition() ); 75 // COUT(2) << distance << std::endl; 76 float planetRadius = this->getScale(); 78 77 79 float newScale = 2 * distance / sqrt(distance*distance - planetRadius*planetRadius);80 float tempTest = newScale*(1+float(this->atmosphereSize)/float(this->imageSize));81 newScale = tempTest;78 float newScale = 2 * distance / sqrt(distance*distance - planetRadius*planetRadius); 79 float tempTest = newScale*(1+float(this->atmosphereSize)/float(this->imageSize)); 80 newScale = tempTest; 82 81 83 this->billboard_.getBillboardSet()->setDefaultDimensions(newScale, newScale); 82 this->billboard_.getBillboardSet()->setDefaultDimensions(newScale, newScale); 83 } 84 84 } 85 85 … … 91 91 float scaleFactor = this->getScale(); 92 92 93 this->distList.push_back(10.0 *scaleFactor);94 this->distList.push_back(19.0 *scaleFactor);95 this->distList.push_back(27.0 *scaleFactor);96 this->distList.push_back(34.0 *scaleFactor);97 this->distList.push_back(40.0 *scaleFactor);98 this->distList.push_back(45.0 *scaleFactor);99 this->distList.push_back(49.0 *scaleFactor);100 this->distList.push_back(52.0 *scaleFactor);101 this->distList.push_back(54.0 *scaleFactor);102 this->distList.push_back(55.0 *scaleFactor);93 this->distList.push_back(10.0f*scaleFactor); 94 this->distList.push_back(19.0f*scaleFactor); 95 this->distList.push_back(27.0f*scaleFactor); 96 this->distList.push_back(34.0f*scaleFactor); 97 this->distList.push_back(40.0f*scaleFactor); 98 this->distList.push_back(45.0f*scaleFactor); 99 this->distList.push_back(49.0f*scaleFactor); 100 this->distList.push_back(52.0f*scaleFactor); 101 this->distList.push_back(54.0f*scaleFactor); 102 this->distList.push_back(55.0f*scaleFactor); 103 103 104 float reductionValue = 0.2 ;104 float reductionValue = 0.2f; 105 105 106 106 this->mesh_.getEntity()->getMesh()->generateLodLevels(distList, Ogre::ProgressiveMesh::VRQ_PROPORTIONAL, reductionValue); … … 145 145 SUPER(Planet, XMLPort, xmlelement, mode); 146 146 147 XMLPortParam(Planet, "atmosphere", setAtmosphere, getAtmosphere, xmlelement, mode).defaultValues("planet/Atmosphere"); 148 XMLPortParam(Planet, "atmospheresize", setAtmosphereSize, getAtmosphereSize, xmlelement,mode); 149 XMLPortParam(Planet, "imagesize", setImageSize, getImageSize, xmlelement,mode); 150 XMLPortParam(Planet, "mesh", setMeshSource, getMeshSource, xmlelement, mode); 151 XMLPortParam(Planet, "shadow", setCastShadows, getCastShadows, xmlelement, mode).defaultValues(true); 147 if (GameMode::showsGraphics()) 148 { 149 XMLPortParam(Planet, "atmosphere", setAtmosphere, getAtmosphere, xmlelement, mode).defaultValues("planet/Atmosphere"); 150 XMLPortParam(Planet, "atmospheresize", setAtmosphereSize, getAtmosphereSize, xmlelement,mode); 151 XMLPortParam(Planet, "imagesize", setImageSize, getImageSize, xmlelement,mode); 152 XMLPortParam(Planet, "mesh", setMeshSource, getMeshSource, xmlelement, mode); 153 XMLPortParam(Planet, "shadow", setCastShadows, getCastShadows, xmlelement, mode).defaultValues(true); 154 } 152 155 } 153 156 -
code/trunk/src/orxonox/objects/worldentities/Planet.h
r2710 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <OgreMesh.h> 35 34 #include <string> 36 35 #include "tools/BillboardSet.h" 37 36 #include "tools/Mesh.h" 38 37 #include "MovableEntity.h" 39 #include "objects/Tickable.h"40 38 41 39 namespace orxonox … … 108 106 float atmosphereSize; 109 107 float imageSize; 110 Ogre::Mesh::LodDistanceListdistList;108 std::vector<float> distList; 111 109 BillboardSet billboard_; 112 110 bool bCastShadows_; -
code/trunk/src/orxonox/objects/worldentities/PongBall.cc
r3110 r3196 32 32 #include "core/GameMode.h" 33 33 #include "objects/gametypes/Gametype.h" 34 #include "objects/worldentities/PongBat.h" 34 35 #include "sound/SoundBase.h" 35 36 … … 49 50 this->batID_[0] = OBJECTID_UNKNOWN; 50 51 this->batID_[1] = OBJECTID_UNKNOWN; 51 this->relMercyOffset_ = 0.05 ;52 this->relMercyOffset_ = 0.05f; 52 53 53 54 this->registerVariables(); … … 102 103 if (position.x > this->fieldWidth_ / 2 && this->bat_[1]) 103 104 { 104 distance = (position.z - this->bat_[1]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10 ) / 2);105 distance = (position.z - this->bat_[1]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10f) / 2); 105 106 if (fabs(distance) <= 1) 106 107 { … … 122 123 if (position.x < -this->fieldWidth_ / 2 && this->bat_[0]) 123 124 { 124 distance = (position.z - this->bat_[0]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10 ) / 2);125 distance = (position.z - this->bat_[0]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10f) / 2); 125 126 if (fabs(distance) <= 1) 126 127 { … … 172 173 if (position.x > this->fieldWidth_ / 2 && this->bat_[1]) 173 174 { 174 distance = (position.z - this->bat_[1]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10 ) / 2);175 distance = (position.z - this->bat_[1]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10f) / 2); 175 176 if (fabs(distance) <= 1) 176 177 { … … 183 184 if (position.x < -this->fieldWidth_ / 2 && this->bat_[0]) 184 185 { 185 distance = (position.z - this->bat_[0]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10 ) / 2);186 distance = (position.z - this->bat_[0]->getPosition().z) / (this->fieldHeight_ * (this->batlength_ * 1.10f) / 2); 186 187 if (fabs(distance) <= 1) 187 188 { … … 217 218 } 218 219 } 220 221 void PongBall::setBats(PongBat** bats) 222 { 223 this->bat_ = bats; 224 this->batID_[0] = this->bat_[0]->getObjectID(); 225 this->batID_[1] = this->bat_[1]->getObjectID(); 226 } 227 228 void PongBall::applyBats() 229 { 230 if (!this->bat_) 231 this->bat_ = new PongBat*[2]; 232 if (this->batID_[0] != OBJECTID_UNKNOWN) 233 this->bat_[0] = dynamic_cast<PongBat*>(Synchronisable::getSynchronisable(this->batID_[0])); 234 if (this->batID_[1] != OBJECTID_UNKNOWN) 235 this->bat_[1] = dynamic_cast<PongBat*>(Synchronisable::getSynchronisable(this->batID_[1])); 236 } 219 237 } -
code/trunk/src/orxonox/objects/worldentities/PongBall.h
r3108 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "util/Math.h" 34 35 #include "objects/worldentities/MovableEntity.h" 35 #include "objects/worldentities/PongBat.h"36 36 37 37 namespace orxonox … … 63 63 { return this->batlength_; } 64 64 65 void setBats(PongBat** bats) 66 { this->bat_ = bats; this->batID_[0] = this->bat_[0]->getObjectID(); this->batID_[1] = this->bat_[1]->getObjectID(); } 67 68 void applyBats() 69 { if(!this->bat_) this->bat_ = new PongBat*[2]; if(this->batID_[0] != OBJECTID_UNKNOWN) this->bat_[0] = dynamic_cast<PongBat*>(Synchronisable::getSynchronisable(this->batID_[0])); if(this->batID_[1] != OBJECTID_UNKNOWN) this->bat_[1] = dynamic_cast<PongBat*>(Synchronisable::getSynchronisable(this->batID_[1])); } 65 void setBats(PongBat** bats); 66 void applyBats(); 70 67 71 68 static const float MAX_REL_Z_VELOCITY; -
code/trunk/src/orxonox/objects/worldentities/PongBat.h
r2839 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 33 #include "objects/worldentities/ControllableEntity.h" 35 34 -
code/trunk/src/orxonox/objects/worldentities/PongCenterpoint.h
r2826 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <string> 35 #include <util/Math.h> 34 36 #include "objects/worldentities/StaticEntity.h" 35 37 -
code/trunk/src/orxonox/objects/worldentities/SpawnPoint.cc
r3110 r3196 30 30 31 31 #include "core/CoreIncludes.h" 32 #include "core/Template.h" 32 33 #include "core/XMLPort.h" 33 34 #include "objects/gametypes/Gametype.h" 35 #include "objects/worldentities/pawns/Pawn.h" 34 36 35 37 namespace orxonox … … 71 73 } 72 74 75 void SpawnPoint::setTemplate(Template* temp) 76 { 77 this->template_ = temp; 78 this->templatename_ = temp->getName(); 79 } 80 73 81 Pawn* SpawnPoint::spawn() 74 82 { -
code/trunk/src/orxonox/objects/worldentities/SpawnPoint.h
r2662 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <string> 34 35 #include "core/Identifier.h" 35 #include "core/Template.h"36 #include "objects/worldentities/pawns/Pawn.h"37 36 #include "objects/worldentities/StaticEntity.h" 38 37 … … 52 51 { return this->spawnclass_; } 53 52 54 inline void setTemplate(Template* temp) 55 { this->template_ = temp; this->templatename_ = temp->getName(); } 53 void setTemplate(Template* temp); 56 54 inline Template* getTemplate() const 57 55 { return this->template_; } -
code/trunk/src/orxonox/objects/worldentities/StaticEntity.cc
r3110 r3196 31 31 32 32 #include <OgreSceneNode.h> 33 #include "BulletDynamics/Dynamics/btRigidBody.h" 34 35 #include "util/Exception.h" 33 #include <BulletDynamics/Dynamics/btRigidBody.h> 34 #include "util/OrxAssert.h" 36 35 #include "core/CoreIncludes.h" 37 36 -
code/trunk/src/orxonox/objects/worldentities/TeamSpawnPoint.h
r2826 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "objects/worldentities/pawns/Pawn.h" 34 35 #include "SpawnPoint.h" 35 36 -
code/trunk/src/orxonox/objects/worldentities/WorldEntity.cc
r3110 r3196 30 30 #include "WorldEntity.h" 31 31 32 #include <cassert> 32 #include <OgreBillboardSet.h> 33 #include <OgreCamera.h> 34 #include <OgreEntity.h> 35 #include <OgreParticleSystem.h> 36 #include <OgreSceneManager.h> 33 37 #include <OgreSceneNode.h> 34 #include <OgreSceneManager.h> 35 #include "BulletDynamics/Dynamics/btRigidBody.h" 36 38 #include <BulletDynamics/Dynamics/btRigidBody.h> 39 #include <boost/static_assert.hpp> 40 41 #include "util/OrxAssert.h" 42 #include "util/Convert.h" 37 43 #include "util/Exception.h" 38 #include "util/Convert.h"39 44 #include "core/CoreIncludes.h" 40 45 #include "core/XMLPort.h" 41 42 46 #include "objects/Scene.h" 43 47 #include "objects/collisionshapes/WorldEntityCollisionShape.h" … … 51 55 const Vector3 WorldEntity::DOWN = Vector3::NEGATIVE_UNIT_Y; 52 56 const Vector3 WorldEntity::UP = Vector3::UNIT_Y; 57 58 // Be sure we don't do bad conversions 59 BOOST_STATIC_ASSERT((int)Ogre::Node::TS_LOCAL == (int)WorldEntity::Local); 60 BOOST_STATIC_ASSERT((int)Ogre::Node::TS_PARENT == (int)WorldEntity::Parent); 61 BOOST_STATIC_ASSERT((int)Ogre::Node::TS_WORLD == (int)WorldEntity::World); 53 62 54 63 /** … … 463 472 //! Attaches an Ogre::MovableObject to this WorldEntity. 464 473 void WorldEntity::attachOgreObject(Ogre::MovableObject* object) 465 { 466 this->node_->attachObject(object); 467 } 474 { this->node_->attachObject(object); } 475 void WorldEntity::attachOgreObject(Ogre::BillboardSet* object) 476 { this->node_->attachObject(object); } 477 void WorldEntity::attachOgreObject(Ogre::Camera* object) 478 { this->node_->attachObject(object); } 479 void WorldEntity::attachOgreObject(Ogre::Entity* object) 480 { this->node_->attachObject(object); } 481 void WorldEntity::attachOgreObject(Ogre::ParticleSystem* object) 482 { this->node_->attachObject(object); } 468 483 469 484 //! Detaches an Ogre::MovableObject from this WorldEntity. 470 485 void WorldEntity::detachOgreObject(Ogre::MovableObject* object) 471 { 472 this->node_->detachObject(object); 473 } 486 { this->node_->detachObject(object); } 487 void WorldEntity::detachOgreObject(Ogre::BillboardSet* object) 488 { this->node_->detachObject(object); } 489 void WorldEntity::detachOgreObject(Ogre::Camera* object) 490 { this->node_->detachObject(object); } 491 void WorldEntity::detachOgreObject(Ogre::Entity* object) 492 { this->node_->detachObject(object); } 493 void WorldEntity::detachOgreObject(Ogre::ParticleSystem* object) 494 { this->node_->detachObject(object); } 474 495 475 496 //! Detaches an Ogre::MovableObject (by string) from this WorldEntity. … … 501 522 502 523 // Note: These functions are placed in WorldEntity.h as inline functions for the release build. 503 #ifndef NDEBUG524 #ifndef ORXONOX_RELEASE 504 525 const Vector3& WorldEntity::getPosition() const 505 526 { … … 574 595 Translates this WorldEntity by a vector. 575 596 @param relativeTo 576 @see TransformSpace::Enum577 */ 578 void WorldEntity::translate(const Vector3& distance, TransformSpace ::EnumrelativeTo)597 @see WorldEntity::TransformSpace 598 */ 599 void WorldEntity::translate(const Vector3& distance, TransformSpace relativeTo) 579 600 { 580 601 switch (relativeTo) 581 602 { 582 case TransformSpace::Local:603 case WorldEntity::Local: 583 604 // position is relative to parent so transform downwards 584 605 this->setPosition(this->getPosition() + this->getOrientation() * distance); 585 606 break; 586 case TransformSpace::Parent:607 case WorldEntity::Parent: 587 608 this->setPosition(this->getPosition() + distance); 588 609 break; 589 case TransformSpace::World:610 case WorldEntity::World: 590 611 // position is relative to parent so transform upwards 591 612 if (this->node_->getParent()) … … 602 623 Rotates this WorldEntity by a quaternion. 603 624 @param relativeTo 604 @see TransformSpace::Enum605 */ 606 void WorldEntity::rotate(const Quaternion& rotation, TransformSpace ::EnumrelativeTo)625 @see WorldEntity::TransformSpace 626 */ 627 void WorldEntity::rotate(const Quaternion& rotation, TransformSpace relativeTo) 607 628 { 608 629 switch(relativeTo) 609 630 { 610 case TransformSpace::Local:631 case WorldEntity::Local: 611 632 this->setOrientation(this->getOrientation() * rotation); 612 633 break; 613 case TransformSpace::Parent:634 case WorldEntity::Parent: 614 635 // Rotations are normally relative to local axes, transform up 615 636 this->setOrientation(rotation * this->getOrientation()); 616 637 break; 617 case TransformSpace::World:638 case WorldEntity::World: 618 639 // Rotations are normally relative to local axes, transform up 619 640 this->setOrientation(this->getOrientation() * this->getWorldOrientation().Inverse() … … 627 648 Makes this WorldEntity look a specific target location. 628 649 @param relativeTo 629 @see TransformSpace::Enum650 @see WorldEntity::TransformSpace 630 651 @param localDirectionVector 631 652 The vector which normally describes the natural direction of the object, usually -Z. 632 653 */ 633 void WorldEntity::lookAt(const Vector3& target, TransformSpace ::EnumrelativeTo, const Vector3& localDirectionVector)634 { 635 Vector3 origin ;654 void WorldEntity::lookAt(const Vector3& target, TransformSpace relativeTo, const Vector3& localDirectionVector) 655 { 656 Vector3 origin(0, 0, 0); 636 657 switch (relativeTo) 637 658 { 638 case TransformSpace::Local:659 case WorldEntity::Local: 639 660 origin = Vector3::ZERO; 640 661 break; 641 case TransformSpace::Parent:662 case WorldEntity::Parent: 642 663 origin = this->getPosition(); 643 664 break; 644 case TransformSpace::World:665 case WorldEntity::World: 645 666 origin = this->getWorldPosition(); 646 667 break; … … 653 674 Makes this WorldEntity look in specific direction. 654 675 @param relativeTo 655 @see TransformSpace::Enum676 @see WorldEntity::TransformSpace 656 677 @param localDirectionVector 657 678 The vector which normally describes the natural direction of the object, usually -Z. 658 679 */ 659 void WorldEntity::setDirection(const Vector3& direction, TransformSpace ::EnumrelativeTo, const Vector3& localDirectionVector)680 void WorldEntity::setDirection(const Vector3& direction, TransformSpace relativeTo, const Vector3& localDirectionVector) 660 681 { 661 682 Quaternion savedOrientation(this->getOrientation()); 662 Ogre::Node::TransformSpace ogreRelativeTo; 663 switch (relativeTo) 664 { 665 case TransformSpace::Local: 666 ogreRelativeTo = Ogre::Node::TS_LOCAL; break; 667 case TransformSpace::Parent: 668 ogreRelativeTo = Ogre::Node::TS_PARENT; break; 669 case TransformSpace::World: 670 ogreRelativeTo = Ogre::Node::TS_WORLD; break; 671 default: OrxAssert(false, "Faulty TransformSpace::Enum assigned."); 672 } 673 this->node_->setDirection(direction, ogreRelativeTo, localDirectionVector); 683 this->node_->setDirection(direction, static_cast<Ogre::Node::TransformSpace>(relativeTo), localDirectionVector); 674 684 Quaternion newOrientation(this->node_->getOrientation()); 675 685 this->node_->setOrientation(savedOrientation); … … 772 782 break; 773 783 case Kinematic: 774 this->physicalBody_->setCollisionFlags( this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_STATIC_OBJECT| btCollisionObject::CF_KINEMATIC_OBJECT);784 this->physicalBody_->setCollisionFlags((this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_STATIC_OBJECT) | btCollisionObject::CF_KINEMATIC_OBJECT); 775 785 break; 776 786 case Static: 777 this->physicalBody_->setCollisionFlags( this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_KINEMATIC_OBJECT| btCollisionObject::CF_STATIC_OBJECT);787 this->physicalBody_->setCollisionFlags((this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_KINEMATIC_OBJECT) | btCollisionObject::CF_STATIC_OBJECT); 778 788 break; 779 789 case None: -
code/trunk/src/orxonox/objects/worldentities/WorldEntity.h
r3077 r3196 33 33 #include "OrxonoxPrereqs.h" 34 34 35 #ifdef NDEBUG 36 #include <OgreSceneNode.h> 37 #else 38 #include <OgrePrerequisites.h> 35 #ifdef ORXONOX_RELEASE 36 # include <OgreSceneNode.h> 39 37 #endif 40 #include "LinearMath/btMotionState.h"38 #include <LinearMath/btMotionState.h> 41 39 42 40 #include "util/Math.h" 41 #include "util/OgreForwardRefs.h" 43 42 #include "core/BaseObject.h" 44 43 #include "network/synchronisable/Synchronisable.h" … … 75 74 76 75 public: 76 // Define our own transform space enum to avoid Ogre includes here 77 /** 78 @brief 79 Enumeration denoting the spaces which a transform can be relative to. 80 */ 81 enum TransformSpace 82 { 83 //! Transform is relative to the local space 84 Local, 85 //! Transform is relative to the space of the parent node 86 Parent, 87 //! Transform is relative to world space 88 World 89 }; 90 91 public: 77 92 WorldEntity(BaseObject* creator); 78 93 virtual ~WorldEntity(); … … 97 112 const Vector3& getWorldPosition() const; 98 113 99 void translate(const Vector3& distance, TransformSpace ::Enum relativeTo = TransformSpace::Parent);100 inline void translate(float x, float y, float z, TransformSpace ::Enum relativeTo = TransformSpace::Parent)114 void translate(const Vector3& distance, TransformSpace relativeTo = WorldEntity::Parent); 115 inline void translate(float x, float y, float z, TransformSpace relativeTo = WorldEntity::Parent) 101 116 { this->translate(Vector3(x, y, z), relativeTo); } 102 117 … … 114 129 const Quaternion& getWorldOrientation() const; 115 130 116 void rotate(const Quaternion& rotation, TransformSpace ::Enum relativeTo = TransformSpace::Local);117 inline void rotate(const Vector3& axis, const Degree& angle, TransformSpace ::Enum relativeTo = TransformSpace::Local)131 void rotate(const Quaternion& rotation, TransformSpace relativeTo = WorldEntity::Local); 132 inline void rotate(const Vector3& axis, const Degree& angle, TransformSpace relativeTo = WorldEntity::Local) 118 133 { this->rotate(Quaternion(angle, axis), relativeTo); } 119 134 120 inline void yaw(const Degree& angle, TransformSpace ::Enum relativeTo = TransformSpace::Local)135 inline void yaw(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local) 121 136 { this->rotate(Quaternion(angle, Vector3::UNIT_Y), relativeTo); } 122 inline void pitch(const Degree& angle, TransformSpace ::Enum relativeTo = TransformSpace::Local)137 inline void pitch(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local) 123 138 { this->rotate(Quaternion(angle, Vector3::UNIT_X), relativeTo); } 124 inline void roll(const Degree& angle, TransformSpace ::Enum relativeTo = TransformSpace::Local)139 inline void roll(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local) 125 140 { this->rotate(Quaternion(angle, Vector3::UNIT_Z), relativeTo); } 126 141 127 void lookAt(const Vector3& target, TransformSpace ::Enum relativeTo = TransformSpace::Parent, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);128 void setDirection(const Vector3& direction, TransformSpace ::Enum relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);129 inline void setDirection(float x, float y, float z, TransformSpace ::Enum relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z)142 void lookAt(const Vector3& target, TransformSpace relativeTo = WorldEntity::Parent, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z); 143 void setDirection(const Vector3& direction, TransformSpace relativeTo = WorldEntity::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z); 144 inline void setDirection(float x, float y, float z, TransformSpace relativeTo = WorldEntity::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z) 130 145 { this->setDirection(Vector3(x, y, z), relativeTo, localDirectionVector); } 131 146 … … 157 172 { return this->children_; } 158 173 159 void attachOgreObject(Ogre::MovableObject* object); 160 void detachOgreObject(Ogre::MovableObject* object); 174 void attachOgreObject(Ogre::MovableObject* object); 175 void attachOgreObject(Ogre::BillboardSet* object); 176 void attachOgreObject(Ogre::Camera* object); 177 void attachOgreObject(Ogre::Entity* object); 178 void attachOgreObject(Ogre::ParticleSystem* object); 179 180 void detachOgreObject(Ogre::MovableObject* object); 181 void detachOgreObject(Ogre::BillboardSet* object); 182 void detachOgreObject(Ogre::Camera* object); 183 void detachOgreObject(Ogre::Entity* object); 184 void detachOgreObject(Ogre::ParticleSystem* object); 185 161 186 Ogre::MovableObject* detachOgreObject(const Ogre::String& name); 162 187 … … 427 452 428 453 // Inline heavily used functions for release builds. In debug, we better avoid including OgreSceneNode here. 429 #ifdef NDEBUG454 #ifdef ORXONOX_RELEASE 430 455 inline const Vector3& WorldEntity::getPosition() const 431 456 { return this->node_->getPosition(); } -
code/trunk/src/orxonox/objects/worldentities/pawns/Pawn.cc
r3110 r3196 29 29 #include "Pawn.h" 30 30 31 #include "core/CoreIncludes.h" 31 32 #include "core/GameMode.h" 32 #include "core/CoreIncludes.h"33 33 #include "core/XMLPort.h" 34 #include "util/Math.h" 34 #include "network/NetworkFunction.h" 35 36 #include "interfaces/PawnListener.h" 35 37 #include "PawnManager.h" 36 38 #include "objects/infos/PlayerInfo.h" … … 39 41 #include "objects/worldentities/ExplosionChunk.h" 40 42 #include "objects/worldentities/BigExplosion.h" 41 42 43 #include "objects/weaponsystem/WeaponSystem.h" 43 44 #include "objects/weaponsystem/WeaponSlot.h" … … 45 46 #include "objects/weaponsystem/WeaponSet.h" 46 47 47 #include "network/NetworkFunction.h"48 48 49 49 namespace orxonox … … 373 373 this->isHumanShip_ = true; 374 374 } 375 376 377 ///////////////////378 // Pawn Listener //379 ///////////////////380 PawnListener::PawnListener()381 {382 RegisterRootObject(PawnListener);383 }384 375 } -
code/trunk/src/orxonox/objects/worldentities/pawns/Pawn.h
r3089 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include <string> 35 #include "interfaces/RadarViewable.h" 33 36 #include "objects/worldentities/ControllableEntity.h" 34 #include "objects/RadarViewable.h"35 37 #include "objects/pickup/PickupCollection.h" 36 38 … … 147 149 { this->weaponSystem_ = weaponsystem; } 148 150 }; 149 150 class _OrxonoxExport PawnListener : virtual public OrxonoxClass151 {152 public:153 PawnListener();154 virtual ~PawnListener() {}155 156 virtual void destroyedPawn(Pawn* pawn) = 0;157 };158 151 } 159 152 -
code/trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.cc
r3110 r3196 29 29 #include "SpaceShip.h" 30 30 31 #include "BulletDynamics/Dynamics/btRigidBody.h" 32 33 #include "util/Math.h" 34 #include "util/Exception.h" 31 #include <BulletDynamics/Dynamics/btRigidBody.h> 32 35 33 #include "core/CoreIncludes.h" 36 34 #include "core/ConfigValueIncludes.h" -
code/trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.h
r2662 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "LinearMath/btVector3.h" 35 34 #include <string> 35 #include <LinearMath/btVector3.h> 36 #include "util/Math.h" 36 37 #include "Pawn.h" 37 38 -
code/trunk/src/orxonox/objects/worldentities/pawns/Spectator.cc
r3110 r3196 29 29 #include "Spectator.h" 30 30 31 #include <OgreBillboardSet.h>32 33 31 #include "core/CoreIncludes.h" 34 32 #include "core/ConfigValueIncludes.h" 35 33 #include "core/GameMode.h" 36 #include "objects/worldentities/Model.h" 34 35 #include "tools/BillboardSet.h" 37 36 #include "objects/Scene.h" 38 37 #include "objects/infos/PlayerInfo.h" 39 #include "objects/gametypes/Gametype.h"40 #include "tools/BillboardSet.h"41 #include "overlays/OverlayText.h"42 #include "overlays/OverlayGroup.h"43 #include "util/Convert.h"44 38 45 39 namespace orxonox … … 65 59 { 66 60 this->greetingFlare_ = new BillboardSet(); 67 this->greetingFlare_->setBillboardSet(this->getScene()->getSceneManager(), "Examples/Flare", ColourValue(1.0 , 1.0, 0.8), Vector3(0, 20, 0), 1);61 this->greetingFlare_->setBillboardSet(this->getScene()->getSceneManager(), "Examples/Flare", ColourValue(1.0f, 1.0f, 0.8f), Vector3(0, 20, 0), 1); 68 62 if (this->greetingFlare_->getBillboardSet()) 69 63 this->attachOgreObject(this->greetingFlare_->getBillboardSet()); -
code/trunk/src/orxonox/objects/worldentities/pawns/Spectator.h
r3053 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "util/Math.h" 34 35 #include "objects/worldentities/ControllableEntity.h" 35 36 -
code/trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.cc
r3086 r3196 29 29 30 30 #include "TeamBaseMatchBase.h" 31 31 32 #include "core/CoreIncludes.h" 33 #include "interfaces/PawnListener.h" 34 #include "interfaces/TeamColourable.h" 32 35 #include "objects/gametypes/TeamBaseMatch.h" 33 #include "objects/Teamcolourable.h"34 36 35 37 namespace orxonox … … 80 82 for (std::set<WorldEntity*>::iterator it = attachments.begin(); it != attachments.end(); ++it) 81 83 { 82 if ((*it)->isA(Class(Team colourable)))84 if ((*it)->isA(Class(TeamColourable))) 83 85 { 84 Team colourable* tc = dynamic_cast<Teamcolourable*>(*it);86 TeamColourable* tc = dynamic_cast<TeamColourable*>(*it); 85 87 tc->setTeamColour(colour); 86 88 } -
code/trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.h
r3033 r3196 30 30 #define _TeamBaseMatchBase_H__ 31 31 32 #include "OrxonoxPrereqs.h" 33 32 34 #include "Pawn.h" 33 35 34 36 namespace orxonox 35 37 { 36 37 38 38 namespace BaseState 39 39 { -
code/trunk/src/orxonox/objects/worldentities/triggers/CheckPoint.cc
r3110 r3196 31 31 #include "core/CoreIncludes.h" 32 32 #include "core/XMLPort.h" 33 34 33 #include "objects/gametypes/Asteroids.h" 35 #include "o rxonox/objects/worldentities/pawns/Pawn.h"34 #include "objects/worldentities/pawns/Pawn.h" 36 35 37 36 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/triggers/CheckPoint.h
r3064 r3196 35 35 #define _CheckPoint_H__ 36 36 37 #include "OrxonoxPrereqs.h" 38 39 #include "interfaces/RadarViewable.h" 37 40 #include "DistanceTrigger.h" 38 #include "objects/RadarViewable.h"39 41 40 42 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc
r3110 r3196 29 29 #include "DistanceTrigger.h" 30 30 31 #include <OgreNode.h>32 33 31 #include "core/CoreIncludes.h" 34 32 #include "core/XMLPort.h" 35 36 33 #include "orxonox/objects/worldentities/pawns/Pawn.h" 37 34 -
code/trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h
r3068 r3196 30 30 #define _DistanceTrigger_H__ 31 31 32 #include " PlayerTrigger.h"32 #include "OrxonoxPrereqs.h" 33 33 34 34 #include <set> 35 36 35 #include "core/ClassTreeMask.h" 37 #include "core/BaseObject.h" 38 39 #include "orxonox/objects/worldentities/ControllableEntity.h" 36 #include "PlayerTrigger.h" 40 37 41 38 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.cc
r3110 r3196 51 51 SUPER(EventTrigger, processEvent, event); 52 52 53 SetEvent(EventTrigger, "trigger", trigger, event);53 ORXONOX_SET_EVENT(EventTrigger, "trigger", trigger, event); 54 54 } 55 55 -
code/trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.h
r2087 r3196 30 30 #define _EventTrigger_H__ 31 31 32 #include "OrxonoxPrereqs.h" 32 33 #include "Trigger.h" 33 34 #include "core/ClassTreeMask.h"35 #include "core/BaseObject.h"36 34 37 35 namespace orxonox -
code/trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.cc
r3110 r3196 34 34 35 35 #include "PlayerTrigger.h" 36 37 36 #include "core/CoreIncludes.h" 38 37 -
code/trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.h
r3033 r3196 37 37 38 38 #include "OrxonoxPrereqs.h" 39 40 39 #include "Trigger.h" 41 40 -
code/trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc
r3110 r3196 29 29 #include "Trigger.h" 30 30 31 #include <OgreBillboard.h>32 #include <OgreBillboardSet.h>33 #include "util/Debug.h"34 31 #include "core/CoreIncludes.h" 35 32 #include "core/ConsoleCommand.h" 33 #include "core/GameMode.h" 36 34 #include "core/XMLPort.h" 37 #include "core/GameMode.h"38 35 #include "objects/Scene.h" 39 36 … … 237 234 { 238 235 if (( (this->latestState_ & 2) && this->bStayActive_ && (this->remainingActivations_ <= 0)) 239 || (!(this->latestState_ & 2) ) && (this->remainingActivations_ == 0))236 || (!(this->latestState_ & 2) && (this->remainingActivations_ == 0))) 240 237 return false; 241 238 else -
code/trunk/src/orxonox/objects/worldentities/triggers/Trigger.h
r3068 r3196 30 30 #define _Trigger_H__ 31 31 32 #include "OrxonoxPrereqs.h" 33 32 34 #include <set> 33 35 #include <queue> 34 36 35 #include "OrxonoxPrereqs.h" 36 37 #include "objects/Tickable.h" 37 #include "tools/BillboardSet.h" 38 #include "interfaces/Tickable.h" 38 39 #include "objects/worldentities/StaticEntity.h" 39 #include "tools/BillboardSet.h"40 40 41 41 namespace orxonox -
code/trunk/src/orxonox/overlays/FadeoutText.cc
r3110 r3196 30 30 31 31 #include <OgreTextAreaOverlayElement.h> 32 32 #include "util/Math.h" 33 33 #include "core/CoreIncludes.h" 34 34 #include "core/XMLPort.h" -
code/trunk/src/orxonox/overlays/FadeoutText.h
r3099 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "tools/Timer.h" 35 #include "interfaces/Tickable.h" 34 36 #include "overlays/OverlayText.h" 35 #include "objects/Tickable.h"36 #include "tools/Timer.h"37 37 38 38 namespace orxonox -
code/trunk/src/orxonox/overlays/GUIOverlay.cc
r3110 r3196 28 28 29 29 #include "GUIOverlay.h" 30 30 31 #include <string> 31 32 #include <sstream> 33 32 34 #include "core/input/InputManager.h" 33 34 #include "../gui/GUIManager.h" 35 #include "core/CoreIncludes.h" 36 #include "core/XMLPort.h" 37 #include "gui/GUIManager.h" 35 38 36 39 namespace orxonox … … 53 56 XMLPortParam(GUIOverlay, "guiname", setGUIName, getGUIName, xmlElement, mode); 54 57 55 GUIManager::getInstance Ptr()->registerOverlay(this->guiName_, this);58 GUIManager::getInstance().registerOverlay(this->guiName_, this); 56 59 } 57 60 … … 66 69 out << (long)this; 67 70 str = out.str(); 68 GUIManager::getInstance Ptr()->executeCode("showCursor()");71 GUIManager::getInstance().executeCode("showCursor()"); 69 72 InputManager::getInstance().requestEnterState("guiMouseOnly"); 70 GUIManager::getInstance Ptr()->executeCode("showGUI(\"" + this->guiName_ + "\", " + str + ")");73 GUIManager::getInstance().executeCode("showGUI(\"" + this->guiName_ + "\", " + str + ")"); 71 74 } 72 75 else 73 76 { 74 GUIManager::getInstance Ptr()->executeCode("hideGUI(\"" + this->guiName_ + "\")");75 GUIManager::getInstance Ptr()->executeCode("hideCursor()");77 GUIManager::getInstance().executeCode("hideGUI(\"" + this->guiName_ + "\")"); 78 GUIManager::getInstance().executeCode("hideCursor()"); 76 79 InputManager::getInstance().requestLeaveState("guiMouseOnly"); 77 80 } -
code/trunk/src/orxonox/overlays/GUIOverlay.h
r3078 r3196 30 30 #define _GUIOverlay_H__ 31 31 32 33 #include "OrxonoxOverlay.h"34 32 #include "OrxonoxPrereqs.h" 35 33 36 #include <OgrePrerequisites.h> 37 38 #include "core/XMLPort.h" 34 #include <string> 35 #include "OrxonoxOverlay.h" 39 36 40 37 namespace orxonox -
code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc
r3110 r3196 215 215 if (angle < 0.0) 216 216 angle = -angle; 217 angle -= 180.0 * (int)(angle / 180.0);217 angle -= 180.0f * (int)(angle / 180.0); 218 218 219 219 // take the reverse if angle is about 90 degrees 220 220 float tempAspect; 221 if (angle > 89.0 && angle < 91.0)221 if (angle > 89.0f && angle < 91.0f) 222 222 { 223 223 tempAspect = 1.0 / this->windowAspectRatio_; … … 231 231 else 232 232 { 233 tempAspect = 1.0 ;233 tempAspect = 1.0f; 234 234 rotState_ = Inbetween; 235 235 } … … 238 238 // magnitude of the width is about the magnitude of the height. 239 239 // Correctly we would have to take the square root of width*height 240 this->sizeCorrection_.x = 2.0 / (tempAspect + 1.0);240 this->sizeCorrection_.x = 2.0f / (tempAspect + 1.0f); 241 241 this->sizeCorrection_.y = tempAspect * this->sizeCorrection_.x; 242 242 } -
code/trunk/src/orxonox/overlays/OrxonoxOverlay.h
r2993 r3196 37 37 #include "OrxonoxPrereqs.h" 38 38 39 #include < OgrePrerequisites.h>40 #include "tools/WindowEventListener.h" 39 #include <string> 40 41 41 #include "util/Math.h" 42 #include "util/OgreForwardRefs.h" 42 43 #include "core/BaseObject.h" 44 #include "interfaces/WindowEventListener.h" 43 45 44 46 namespace orxonox … … 134 136 135 137 //! Gets the current size that was set (uncorrected) 136 const Vector2& getSize() const 138 const Vector2& getSize() const { return this->size_; } 137 139 138 140 //! Gets the actual size of the overlay on the screen (corrected) 139 Vector2 getActualSize() const { return this->size_ * this->sizeCorrection_; }141 Vector2 getActualSize() const { return this->size_ * this->sizeCorrection_; } 140 142 141 143 //! Gets the current size correction (default: 1.0, 1.0) … … 198 200 Vector2 pickPoint_; //!< Point on the overlay to pick when translating 199 201 Degree angle_; //!< Rotation angle of the overlay 200 RotationState rotState_; //!< horizontal, vertical or inbetween202 RotationState rotState_; //!< horizontal, vertical or inbetween 201 203 202 204 private: -
code/trunk/src/orxonox/overlays/OverlayGroup.cc
r3110 r3196 34 34 #include "OverlayGroup.h" 35 35 36 #include "util/Debug.h"37 36 #include "core/ConsoleCommand.h" 38 37 #include "core/CoreIncludes.h" 39 #include "core/Iterator.h"40 38 #include "core/XMLPort.h" 41 39 #include "OrxonoxOverlay.h" -
code/trunk/src/orxonox/overlays/OverlayGroup.h
r2911 r3196 38 38 39 39 #include <set> 40 #include <OgrePrerequisites.h> 40 #include "util/Math.h" 41 #include "util/OgreForwardRefs.h" 41 42 #include "core/BaseObject.h" 42 #include "util/Math.h"43 43 44 44 namespace orxonox -
code/trunk/src/orxonox/overlays/OverlayText.cc
r3110 r3196 31 31 #include <OgreOverlayManager.h> 32 32 #include <OgrePanelOverlayElement.h> 33 #include <OgreTextAreaOverlayElement.h> 34 #include <boost/static_assert.hpp> 33 35 34 36 #include "util/String.h" … … 36 38 #include "core/XMLPort.h" 37 39 40 38 41 namespace orxonox 39 42 { 40 43 CreateFactory(OverlayText); 44 45 BOOST_STATIC_ASSERT((int)Ogre::TextAreaOverlayElement::Left == (int)OverlayText::Left); 46 BOOST_STATIC_ASSERT((int)Ogre::TextAreaOverlayElement::Center == (int)OverlayText::Center); 47 BOOST_STATIC_ASSERT((int)Ogre::TextAreaOverlayElement::Right == (int)OverlayText::Right); 41 48 42 49 OverlayText::OverlayText(BaseObject* creator) … … 76 83 } 77 84 78 void OverlayText::setFont(const std::string& font)79 {80 if (font != "")81 this->text_->setFontName(font);82 }83 84 85 void OverlayText::setAlignmentString(const std::string& alignment) 85 86 { 86 87 if (alignment == "right") 87 this->setAlignment(O gre::TextAreaOverlayElement::Right);88 this->setAlignment(OverlayText::Right); 88 89 else if (alignment == "center") 89 this->setAlignment(O gre::TextAreaOverlayElement::Center);90 this->setAlignment(OverlayText::Center); 90 91 else // "left" and default 91 this->setAlignment(O gre::TextAreaOverlayElement::Left);92 this->setAlignment(OverlayText::Left); 92 93 } 93 94 … … 120 121 positionChanged(); 121 122 } 123 124 void OverlayText::setCaption(const std::string& caption) 125 { 126 this->text_->setCaption(caption); 127 this->changedCaption(); 128 } 129 std::string OverlayText::getCaption() const 130 { 131 return this->text_->getCaption(); 132 } 133 134 void OverlayText::setFont(const std::string& font) 135 { 136 if (font != "") 137 this->text_->setFontName(font); 138 } 139 const std::string& OverlayText::getFont() const 140 { 141 return this->text_->getFontName(); 142 } 143 144 void OverlayText::setSpaceWidth(float width) 145 { 146 this->text_->setSpaceWidth(width); 147 } 148 float OverlayText::getSpaceWidth() const 149 { 150 return this->text_->getSpaceWidth(); 151 } 152 153 void OverlayText::setColour(const ColourValue& colour) 154 { 155 this->text_->setColour(colour); this->changedColour(); 156 } 157 const ColourValue& OverlayText::getColour() const 158 { 159 return this->text_->getColour(); 160 } 161 162 void OverlayText::setAlignment(OverlayText::Alignment alignment) 163 { 164 this->text_->setAlignment(static_cast<Ogre::TextAreaOverlayElement::Alignment>(alignment)); 165 } 166 OverlayText::Alignment OverlayText::getAlignment() const 167 { 168 return static_cast<OverlayText::Alignment>(this->text_->getAlignment()); 169 } 122 170 } -
code/trunk/src/orxonox/overlays/OverlayText.h
r3099 r3196 33 33 34 34 #include <string> 35 #include <OgrePrerequisites.h>36 #include <OgreTextAreaOverlayElement.h>35 #include "util/Math.h" 36 #include "util/OgreForwardRefs.h" 37 37 #include "OrxonoxOverlay.h" 38 38 … … 42 42 { 43 43 public: 44 enum Alignment 45 { 46 Left, 47 Right, 48 Center 49 }; 50 44 51 OverlayText(BaseObject* creator); 45 52 virtual ~OverlayText(); … … 47 54 virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode); 48 55 49 inline void setCaption(const std::string& caption) { this->text_->setCaption(caption); this->changedCaption(); }50 inline std::string getCaption() const { return this->text_->getCaption(); }56 void setCaption(const std::string& caption); 57 std::string getCaption() const; 51 58 52 59 void setFont(const std::string& font); 53 inline const std::string& getFont() const { return this->text_->getFontName(); }60 const std::string& getFont() const; 54 61 55 inline void setSpaceWidth(float width) { this->text_->setSpaceWidth(width); }56 inline float getSpaceWidth() const { return this->text_->getSpaceWidth(); }62 void setSpaceWidth(float width); 63 float getSpaceWidth() const; 57 64 58 inline void setColour(const ColourValue& colour) { this->text_->setColour(colour); this->changedColour(); }59 inline const ColourValue& getColour() const { return this->text_->getColour(); }65 void setColour(const ColourValue& colour); 66 const ColourValue& getColour() const; 60 67 61 inline void setAlignment(Ogre::TextAreaOverlayElement::Alignment alignment) { this->text_->setAlignment(alignment); }62 inline Ogre::TextAreaOverlayElement::Alignment getAlignment() const { return this->text_->getAlignment(); }68 void setAlignment(OverlayText::Alignment alignment); 69 OverlayText::Alignment getAlignment() const; 63 70 64 71 void setAlignmentString(const std::string& alignment); -
code/trunk/src/orxonox/overlays/console/InGameConsole.cc
r3110 r3196 35 35 #include <OgreOverlayManager.h> 36 36 #include <OgreOverlayContainer.h> 37 #include <OgreBorderPanelOverlayElement.h> 38 #include <OgreTextAreaOverlayElement.h> 37 39 #include <OgreFontManager.h> 38 40 #include <OgreFont.h> … … 40 42 #include "util/Math.h" 41 43 #include "util/Convert.h" 42 #include "util/ Debug.h"44 #include "util/UTFStringConversions.h" 43 45 #include "core/Clock.h" 44 46 #include "core/CoreIncludes.h" … … 466 468 { 467 469 ++linesUsed; 468 this->consoleOverlayTextAreas_[index]->setCaption( convert2UTF(output.substr(0, this->maxCharsPerLine_)));470 this->consoleOverlayTextAreas_[index]->setCaption(multi_cast<Ogre::UTFString>(output.substr(0, this->maxCharsPerLine_))); 469 471 output.erase(0, this->maxCharsPerLine_); 470 472 output.insert(0, 1, ' '); … … 473 475 this->colourLine(level, index); 474 476 } 475 this->consoleOverlayTextAreas_[index]->setCaption( convert2UTF(output));477 this->consoleOverlayTextAreas_[index]->setCaption(multi_cast<Ogre::UTFString>(output)); 476 478 this->displayedText_ = output; 477 479 this->numLinesShifted_ = linesUsed; … … 491 493 this->inputWindowStart_ = 0; 492 494 this->displayedText_ = output; 493 this->consoleOverlayTextAreas_[index]->setCaption( convert2UTF(output));495 this->consoleOverlayTextAreas_[index]->setCaption(multi_cast<Ogre::UTFString>(output)); 494 496 } 495 497 } … … 606 608 InGameConsole::getInstance().deactivate(); 607 609 } 608 609 /**610 @brief Converts a string into an Ogre::UTFString.611 @param s The string to convert612 @return The converted string613 */614 /*static*/ Ogre::UTFString InGameConsole::convert2UTF(const std::string& text)615 {616 Ogre::UTFString utf;617 Ogre::UTFString::code_point cp;618 for (unsigned int i = 0; i < text.size(); ++i)619 {620 cp = text[i];621 cp &= 0xFF;622 utf.append(1, cp);623 }624 return utf;625 }626 610 } -
code/trunk/src/orxonox/overlays/console/InGameConsole.h
r2896 r3196 32 32 33 33 #include "OrxonoxPrereqs.h" 34 #include <OgrePrerequisites.h>35 #include <OgreBorderPanelOverlayElement.h>36 #include <OgreTextAreaOverlayElement.h>37 34 35 #include <string> 36 #include "util/OgreForwardRefs.h" 38 37 #include "core/Shell.h" 39 #include "core/OrxonoxClass.h" 40 #include "tools/WindowEventListener.h" 41 38 #include "interfaces/WindowEventListener.h" 42 39 43 40 namespace orxonox 44 41 { 45 class _OrxonoxExport InGameConsole : virtual public OrxonoxClass,public ShellListener, public WindowEventListener42 class _OrxonoxExport InGameConsole : public ShellListener, public WindowEventListener 46 43 { 47 44 public: // functions … … 60 57 static void openConsole(); 61 58 static void closeConsole(); 62 63 static Ogre::UTFString convert2UTF(const std::string& text);64 59 65 60 private: // functions -
code/trunk/src/orxonox/overlays/debug/DebugFPSText.cc
r3110 r3196 28 28 29 29 #include "DebugFPSText.h" 30 #include <OgreTextAreaOverlayElement.h> 30 31 31 #include "util/Convert.h" 32 32 #include "core/CoreIncludes.h" … … 51 51 52 52 float fps = Game::getInstance().getAvgFPS(); 53 this->setCaption( convertToString(fps));53 this->setCaption(multi_cast<std::string>(fps)); 54 54 } 55 55 } -
code/trunk/src/orxonox/overlays/debug/DebugFPSText.h
r2087 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "interfaces/Tickable.h" 34 35 #include "overlays/OverlayText.h" 35 #include "objects/Tickable.h"36 36 37 37 namespace orxonox … … 41 41 public: 42 42 DebugFPSText(BaseObject* creator); 43 ~DebugFPSText();43 virtual ~DebugFPSText(); 44 44 45 45 virtual void tick(float dt); -
code/trunk/src/orxonox/overlays/debug/DebugRTRText.cc
r3110 r3196 28 28 29 29 #include "DebugRTRText.h" 30 #include <OgreTextAreaOverlayElement.h> 30 31 #include "util/Convert.h" 31 32 #include "core/CoreIncludes.h" 32 #include "util/Convert.h"33 33 #include "core/Game.h" 34 34 … … 51 51 52 52 float rtr = Game::getInstance().getAvgTickTime(); 53 this->setCaption( convertToString(rtr));53 this->setCaption(multi_cast<std::string>(rtr)); 54 54 } 55 55 } -
code/trunk/src/orxonox/overlays/debug/DebugRTRText.h
r2087 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "interfaces/Tickable.h" 34 35 #include "overlays/OverlayText.h" 35 #include "objects/Tickable.h"36 36 37 37 namespace orxonox … … 41 41 public: 42 42 DebugRTRText(BaseObject* creator); 43 ~DebugRTRText();43 virtual ~DebugRTRText(); 44 44 45 45 virtual void tick(float dt); -
code/trunk/src/orxonox/overlays/hud/AnnounceMessage.h
r3099 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "interfaces/GametypeMessageListener.h" 34 35 #include "overlays/FadeoutText.h" 35 #include "objects/GametypeMessageListener.h"36 36 37 37 namespace orxonox -
code/trunk/src/orxonox/overlays/hud/ChatOverlay.cc
r3110 r3196 29 29 #include "ChatOverlay.h" 30 30 31 #include <string> 31 32 #include <OgreTextAreaOverlayElement.h> 32 33 34 #include "util/Convert.h" 35 #include "util/UTFStringConversions.h" 33 36 #include "core/CoreIncludes.h" 34 37 #include "core/ConfigValueIncludes.h" 35 38 #include "core/Executor.h" 36 39 37 #include " network/ClientInformation.h"38 40 #include "tools/Timer.h" 41 #include "objects/infos/PlayerInfo.h" 39 42 #include "PlayerManager.h" 40 #include "objects/infos/PlayerInfo.h"41 #include "overlays/console/InGameConsole.h"42 #include "tools/Timer.h"43 44 #include "util/Convert.h"45 43 46 44 namespace orxonox … … 86 84 } 87 85 88 this->messages_.push_back( InGameConsole::convert2UTF(text));86 this->messages_.push_back(multi_cast<Ogre::UTFString>(text)); 89 87 COUT(0) << "Chat: " << text << std::endl; 90 88 -
code/trunk/src/orxonox/overlays/hud/ChatOverlay.h
r2171 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <OgreTextAreaOverlayElement.h> 34 #include <list> 35 #include <OgreUTFString.h> 35 36 36 37 #include "network/ChatListener.h" … … 43 44 public: 44 45 ChatOverlay(BaseObject* creator); 45 ~ChatOverlay();46 virtual ~ChatOverlay(); 46 47 47 48 void setConfigValues(); -
code/trunk/src/orxonox/overlays/hud/DeathMessage.h
r3099 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "interfaces/GametypeMessageListener.h" 34 35 #include "overlays/FadeoutText.h" 35 #include "objects/GametypeMessageListener.h"36 36 37 37 namespace orxonox -
code/trunk/src/orxonox/overlays/hud/GametypeStatus.cc
r3110 r3196 29 29 #include "GametypeStatus.h" 30 30 31 #include <OgreTextAreaOverlayElement.h> 32 31 #include "util/Convert.h" 33 32 #include "core/CoreIncludes.h" 34 #include "util/Convert.h"35 33 #include "objects/infos/GametypeInfo.h" 36 34 #include "objects/infos/PlayerInfo.h" -
code/trunk/src/orxonox/overlays/hud/GametypeStatus.h
r2973 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "interfaces/Tickable.h" 34 35 #include "overlays/OverlayText.h" 35 #include "objects/Tickable.h"36 36 37 37 namespace orxonox … … 41 41 public: 42 42 GametypeStatus(BaseObject* creator); 43 ~GametypeStatus();43 virtual ~GametypeStatus(); 44 44 45 45 virtual void tick(float dt); -
code/trunk/src/orxonox/overlays/hud/HUDBar.cc
r3110 r3196 34 34 #include <OgreMaterialManager.h> 35 35 #include <OgreTechnique.h> 36 #include <OgrePass.h> 36 37 #include <OgrePanelOverlayElement.h> 37 38 … … 77 78 this->textureUnitState_->setTextureName("bar2.tga"); 78 79 // use the default colour 79 this->textureUnitState_->setColourOperationEx(Ogre::LBX_MODULATE, Ogre::LBS_MANUAL, Ogre::LBS_CURRENT, ColourValue(0.2 , 0.7, 0.2));80 this->textureUnitState_->setColourOperationEx(Ogre::LBX_MODULATE, Ogre::LBS_MANUAL, Ogre::LBS_CURRENT, ColourValue(0.2f, 0.7f, 0.2f)); 80 81 81 82 this->bar_ = static_cast<Ogre::PanelOverlayElement*>(Ogre::OverlayManager::getSingleton() -
code/trunk/src/orxonox/overlays/hud/HUDBar.h
r2662 r3196 35 35 36 36 #include <map> 37 #include <OgrePrerequisites.h> 37 #include <vector> 38 38 39 #include "util/Math.h" 40 #include "util/OgreForwardRefs.h" 41 #include "core/BaseObject.h" 39 42 #include "overlays/OrxonoxOverlay.h" 40 43 … … 45 48 public: 46 49 BarColour(BaseObject* creator); 47 ~BarColour() { }50 virtual ~BarColour() { } 48 51 49 52 virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode); -
code/trunk/src/orxonox/overlays/hud/HUDHealthBar.cc
r3110 r3196 29 29 #include "HUDHealthBar.h" 30 30 31 #include <OgreOverlayManager.h> 32 #include <OgrePanelOverlayElement.h> 33 31 #include "util/Convert.h" 34 32 #include "core/CoreIncludes.h" 35 33 #include "core/XMLPort.h" 36 34 #include "objects/worldentities/pawns/Pawn.h" 37 #include "objects/items/Engine.h"38 35 #include "overlays/OverlayGroup.h" 39 #include "util/Convert.h"40 36 41 37 namespace orxonox -
code/trunk/src/orxonox/overlays/hud/HUDHealthBar.h
r2662 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "util/Math.h" 35 #include "interfaces/Tickable.h" 36 #include "overlays/OverlayText.h" 34 37 #include "HUDBar.h" 35 #include "objects/Tickable.h"36 #include "overlays/OverlayText.h"37 38 38 39 namespace orxonox … … 42 43 public: 43 44 HUDHealthBar(BaseObject* creator); 44 ~HUDHealthBar();45 virtual ~HUDHealthBar(); 45 46 46 47 virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode); … … 64 65 { return this->bUseBarColour_; } 65 66 66 inline void setTextAlignment(O gre::TextAreaOverlayElement::Alignment alignment)67 inline void setTextAlignment(OverlayText::Alignment alignment) 67 68 { this->textoverlay_->setAlignment(alignment); } 68 inline O gre::TextAreaOverlayElement::Alignment getTextAlignment() const69 inline OverlayText::Alignment getTextAlignment() const 69 70 { return this->textoverlay_->getAlignment(); } 70 71 -
code/trunk/src/orxonox/overlays/hud/HUDNavigation.cc
r3110 r3196 29 29 #include "HUDNavigation.h" 30 30 31 #include <string> 31 32 #include <OgreOverlayManager.h> 32 33 #include <OgreTextAreaOverlayElement.h> … … 36 37 #include "util/String.h" 37 38 #include "util/Convert.h" 38 #include "core/ConsoleCommand.h"39 39 #include "core/CoreIncludes.h" 40 40 #include "core/XMLPort.h" -
code/trunk/src/orxonox/overlays/hud/HUDNavigation.h
r2087 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <OgrePrerequisites.h> 34 #include "util/OgreForwardRefs.h" 35 #include "interfaces/Tickable.h" 35 36 #include "overlays/OrxonoxOverlay.h" 36 #include "objects/Tickable.h"37 37 38 38 namespace orxonox … … 42 42 public: 43 43 HUDNavigation(BaseObject* creator); 44 ~HUDNavigation();44 virtual ~HUDNavigation(); 45 45 46 46 virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode); -
code/trunk/src/orxonox/overlays/hud/HUDRadar.cc
r3110 r3196 35 35 #include "util/Math.h" 36 36 #include "util/String.h" 37 #include "core/ConsoleCommand.h"38 37 #include "core/CoreIncludes.h" 39 38 #include "core/XMLPort.h" 40 #include " objects/Radar.h"39 #include "tools/TextureGenerator.h" 41 40 #include "objects/worldentities/WorldEntity.h" 42 41 #include "objects/worldentities/pawns/Pawn.h" 43 #include "tools/TextureGenerator.h"44 42 45 43 namespace orxonox -
code/trunk/src/orxonox/overlays/hud/HUDRadar.h
r2662 r3196 33 33 #include "OrxonoxPrereqs.h" 34 34 35 #include <map> 35 36 #include <vector> 36 #include <map> 37 #include <OgrePrerequisites.h> 37 38 #include "util/OgreForwardRefs.h" 39 #include "interfaces/RadarListener.h" 40 #include "interfaces/RadarViewable.h" 38 41 #include "overlays/OrxonoxOverlay.h" 39 #include "objects/RadarListener.h"40 #include "objects/RadarViewable.h"41 42 42 43 namespace orxonox … … 46 47 public: 47 48 HUDRadar(BaseObject* creator); 48 ~HUDRadar();49 virtual ~HUDRadar(); 49 50 50 51 virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode); -
code/trunk/src/orxonox/overlays/hud/HUDSpeedBar.cc
r3110 r3196 29 29 30 30 #include "HUDSpeedBar.h" 31 31 32 #include "core/CoreIncludes.h" 32 33 #include "objects/worldentities/pawns/SpaceShip.h" -
code/trunk/src/orxonox/overlays/hud/HUDSpeedBar.h
r2662 r3196 33 33 #include "OrxonoxPrereqs.h" 34 34 35 #include "interfaces/Tickable.h" 35 36 #include "HUDBar.h" 36 #include "objects/Tickable.h"37 37 38 38 namespace orxonox … … 42 42 public: 43 43 HUDSpeedBar(BaseObject* creator); 44 ~HUDSpeedBar();44 virtual ~HUDSpeedBar(); 45 45 46 46 virtual void tick(float dt); -
code/trunk/src/orxonox/overlays/hud/HUDTimer.cc
r3110 r3196 29 29 #include "HUDTimer.h" 30 30 31 #include "util/Convert.h" 31 32 #include "core/CoreIncludes.h" 32 #include "util/Convert.h"33 33 #include "objects/worldentities/ControllableEntity.h" 34 34 #include "objects/gametypes/Gametype.h" … … 36 36 namespace orxonox 37 37 { 38 CreateFactory(HUDTimer);38 CreateFactory(HUDTimer); 39 39 40 HUDTimer::HUDTimer(BaseObject* creator) : OverlayText(creator)41 {42 RegisterObject(HUDTimer);40 HUDTimer::HUDTimer(BaseObject* creator) : OverlayText(creator) 41 { 42 RegisterObject(HUDTimer); 43 43 44 this->owner_ = 0;45 }44 this->owner_ = 0; 45 } 46 46 47 HUDTimer::~HUDTimer()48 {49 }47 HUDTimer::~HUDTimer() 48 { 49 } 50 50 51 void HUDTimer::tick(float dt)52 {53 SUPER(HUDTimer, tick, dt);51 void HUDTimer::tick(float dt) 52 { 53 SUPER(HUDTimer, tick, dt); 54 54 55 Gametype* gametype = this->getGametype(); 56 57 if(gametype) 55 Gametype* gametype = this->getGametype(); 56 57 if (gametype) 58 { 59 if (gametype->getTimerIsActive()) 60 { 61 this->setCaption(convertToString((int)gametype->getTime() + 1)); 62 } 63 } 64 } 65 66 void HUDTimer::changedOwner() 58 67 { 59 if (gametype->getTimerIsActive()) 60 { 61 this->setCaption(convertToString((int)gametype->getTime() + 1)); 62 } 68 SUPER(HUDTimer, changedOwner); 69 70 this->owner_ = dynamic_cast<ControllableEntity*>(this->getOwner()); 63 71 } 64 }65 66 void HUDTimer::changedOwner()67 {68 SUPER(HUDTimer, changedOwner);69 70 this->owner_ = dynamic_cast<ControllableEntity*>(this->getOwner());71 }72 72 } -
code/trunk/src/orxonox/overlays/hud/HUDTimer.h
r3033 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "interfaces/Tickable.h" 34 35 #include "overlays/OverlayText.h" 35 #include "objects/Tickable.h"36 36 37 37 namespace orxonox 38 38 { 39 class _OrxonoxExport HUDTimer : public OverlayText, public Tickable40 {39 class _OrxonoxExport HUDTimer : public OverlayText, public Tickable 40 { 41 41 public: 42 HUDTimer(BaseObject* creator);43 ~HUDTimer();42 HUDTimer(BaseObject* creator); 43 virtual ~HUDTimer(); 44 44 45 virtual void tick(float dt);45 virtual void tick(float dt); 46 46 47 virtual void changedOwner();47 virtual void changedOwner(); 48 48 49 49 private: 50 50 ControllableEntity* owner_; 51 };51 }; 52 52 } 53 53 #endif /* _HUDTimer_H__ */ -
code/trunk/src/orxonox/overlays/hud/KillMessage.h
r3099 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "interfaces/GametypeMessageListener.h" 34 35 #include "overlays/FadeoutText.h" 35 #include "objects/GametypeMessageListener.h"36 36 37 37 namespace orxonox -
code/trunk/src/orxonox/overlays/hud/PongScore.cc
r3110 r3196 29 29 #include "PongScore.h" 30 30 31 #include <OgreTextAreaOverlayElement.h> 32 31 #include "util/Convert.h" 33 32 #include "core/CoreIncludes.h" 34 33 #include "core/XMLPort.h" 35 #include "util/Convert.h"36 34 #include "objects/gametypes/Pong.h" 37 35 #include "objects/infos/PlayerInfo.h" -
code/trunk/src/orxonox/overlays/hud/PongScore.h
r3078 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "interfaces/Tickable.h" 34 35 #include "overlays/OverlayText.h" 35 #include "objects/Tickable.h"36 36 37 37 namespace orxonox … … 41 41 public: 42 42 PongScore(BaseObject* creator); 43 ~PongScore();43 virtual ~PongScore(); 44 44 45 45 virtual void tick(float dt); -
code/trunk/src/orxonox/overlays/hud/TeamBaseMatchScore.cc
r3110 r3196 28 28 29 29 #include "TeamBaseMatchScore.h" 30 31 #include <OgreTextAreaOverlayElement.h>32 30 33 31 #include "core/CoreIncludes.h" -
code/trunk/src/orxonox/overlays/hud/TeamBaseMatchScore.h
r3104 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "interfaces/Tickable.h" 34 35 #include "overlays/OverlayText.h" 35 #include "objects/Tickable.h"36 36 37 37 namespace orxonox … … 41 41 public: 42 42 TeamBaseMatchScore(BaseObject* creator); 43 ~TeamBaseMatchScore();43 virtual ~TeamBaseMatchScore(); 44 44 45 45 virtual void tick(float dt); -
code/trunk/src/orxonox/overlays/hud/UnderAttackHealthBar.cc
r3110 r3196 47 47 this->text_ = new OverlayText(this); 48 48 this->text_->setFont("Monofur"); 49 this->text_->setTextSize(0.04 );49 this->text_->setTextSize(0.04f); 50 50 this->text_->setAlignmentString("center"); 51 51 this->text_->setColour(ColourValue::White); -
code/trunk/src/orxonox/overlays/hud/UnderAttackHealthBar.h
r3104 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include "util/Math.h" 35 #include "tools/Timer.h" 34 36 #include "HUDHealthBar.h" 35 #include "tools/Timer.h"36 37 37 38 namespace orxonox -
code/trunk/src/orxonox/overlays/map/Map.cc
r3110 r3196 24 24 * 25 25 */ 26 26 27 #include "Map.h" 27 28 28 29 #include <string> 29 #include "util/String.h" 30 31 #include <OgreBorderPanelOverlayElement.h> 32 #include <OgreCamera.h> 33 #include <OgreEntity.h> 34 #include <OgreHardwarePixelBuffer.h> 35 #include <OgreMaterialManager.h> 36 #include <OgreMovablePlane.h> 37 #include <OgreOverlay.h> 38 #include <OgreOverlayContainer.h> 39 #include <OgreOverlayManager.h> 40 #include <OgrePass.h> 41 #include <OgreRenderTexture.h> 42 #include <OgreResourceGroupManager.h> 43 #include <OgreRoot.h> 30 44 #include <OgreSceneManager.h> 31 45 #include <OgreSceneNode.h> 32 #include <OgreEntity.h> 33 #include <OgreNode.h> 34 35 36 #include <OgreRenderWindow.h> 37 #include <OgreRenderTexture.h> 46 #include <OgreTechnique.h> 38 47 #include <OgreTexture.h> 48 #include <OgreTextureManager.h> 39 49 #include <OgreViewport.h> 40 50 41 #include <OgreMaterialManager.h> 42 #include <OgreRoot.h> 43 #include <OgreHardwarePixelBuffer.h> 51 #include "core/ConsoleCommand.h" 52 #include "core/CoreIncludes.h" 53 #include "core/XMLPort.h" 54 #include "interfaces/RadarViewable.h" 55 #include "objects/Scene.h" 56 #include "objects/controllers/HumanController.h" 57 #include "objects/worldentities/CameraPosition.h" 44 58 #include "objects/worldentities/ControllableEntity.h" 45 #include "objects/worldentities/CameraPosition.h"46 47 #include <OgreOverlay.h>48 #include <OgreMovablePlane.h>49 #include <OgreOverlayElement.h>50 #include <OgreOverlayManager.h>51 #include <OgreOverlayContainer.h>52 #include "core/CoreIncludes.h"53 #include "core/ConfigValueIncludes.h"54 #include "core/ConsoleCommand.h"55 #include "objects/Scene.h"56 #include "objects/RadarViewable.h"57 #include "objects/controllers/HumanController.h"58 59 59 60 namespace orxonox … … 264 265 } 265 266 266 Ogre::MaterialPtr Map::createRenderCamera(Ogre::Camera * cam, std::stringmatName)267 Ogre::MaterialPtr Map::createRenderCamera(Ogre::Camera * cam, const std::string& matName) 267 268 { 268 269 Ogre::TexturePtr rttTex = Ogre::TextureManager::getSingleton().createManual(matName+"_tex", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, Ogre::TEX_TYPE_2D, 512, 512, 0, Ogre::PF_R8G8B8, Ogre::TU_RENDERTARGET); … … 400 401 } 401 402 403 // HACK! 404 void Map::hackDestroyMap() 405 { 406 Map::OverlayMaterial_.setNull(); 407 } 408 402 409 void Map::tick(float dt) 403 410 { -
code/trunk/src/orxonox/overlays/map/Map.h
r3101 r3196 25 25 */ 26 26 27 #ifndef _M AP_H__28 #define _M AP_H__27 #ifndef _Map_H__ 28 #define _Map_H__ 29 29 30 #include <string>31 30 #include "OrxonoxPrereqs.h" 32 #include <OgrePrerequisites.h>33 #include <OgreSceneManager.h>34 #include <OgreSceneNode.h>35 #include <OgreEntity.h>36 #include <OgreOverlay.h>37 #include <OgreOverlayElement.h>38 #include <OgreOverlayManager.h>39 #include <OgreOverlayContainer.h>40 #include <OgreMovablePlane.h>41 31 42 #include <OgreBorderPanelOverlayElement.h> 43 #include <OgreTextAreaOverlayElement.h> 32 #include <OgreMaterial.h> 44 33 34 #include "util/UtilPrereqs.h" 35 #include "interfaces/Tickable.h" 45 36 #include "overlays/OrxonoxOverlay.h" 46 #include "objects/Tickable.h"47 48 49 37 50 38 namespace orxonox … … 55 43 public: // functions 56 44 Map(BaseObject* creator); 57 ~Map();45 virtual ~Map(); 58 46 59 47 virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode); … … 61 49 virtual void changedOwner(); 62 50 63 static Ogre::MaterialPtr createRenderCamera(Ogre::Camera * cam, std::stringmatName);51 static Ogre::MaterialPtr createRenderCamera(Ogre::Camera * cam, const std::string& matName); 64 52 65 53 static void openMap(); 54 // HACK! 55 static void hackDestroyMap(); 66 56 67 57 //Not yet implemented … … 126 116 } 127 117 128 #endif /* _M AP_H__ */118 #endif /* _Map_H__ */ -
code/trunk/src/orxonox/overlays/notifications/Notification.cc
r3110 r3196 28 28 29 29 /** 30 @file Notification.cc30 @file 31 31 @brief Implementation of the Notification class. 32 32 */ … … 35 35 36 36 #include "core/CoreIncludes.h" 37 #include "util/Exception.h"38 39 37 #include "NotificationManager.h" 40 38 … … 48 46 Notification::Notification(BaseObject* creator) : BaseObject(creator) 49 47 { 48 RegisterObject(Notification); 50 49 this->initialize(); 51 50 } … … 76 75 void Notification::initialize(void) 77 76 { 78 RegisterObject(Notification);79 80 77 this->message_ = ""; 81 78 this->sender_ = NotificationManager::NONE; -
code/trunk/src/orxonox/overlays/notifications/Notification.h
r3034 r3196 28 28 29 29 /** 30 @file Notification.h30 @file 31 31 @brief Definition of the Notification class. 32 32 */ … … 38 38 39 39 #include <string> 40 41 40 #include "core/BaseObject.h" 42 41 -
code/trunk/src/orxonox/overlays/notifications/NotificationManager.cc
r3110 r3196 28 28 29 29 /** 30 @file NotificationManager.cc30 @file 31 31 @brief Implementation of the NotificationManager class. 32 32 */ … … 34 34 #include "NotificationManager.h" 35 35 36 #include <set> 37 36 38 #include "core/CoreIncludes.h" 37 38 #include <set>39 40 39 #include "Notification.h" 41 40 #include "NotificationQueue.h" -
code/trunk/src/orxonox/overlays/notifications/NotificationManager.h
r3034 r3196 28 28 29 29 /** 30 @file NotificationManager.h30 @file 31 31 @brief Definition of the NotificationManager class. 32 32 */ … … 37 37 #include "OrxonoxPrereqs.h" 38 38 39 #include "core/OrxonoxClass.h" 40 39 #include <ctime> 41 40 #include <map> 42 41 #include <string> 43 #include <ctime> 44 45 #include "NotificationOverlay.h" 42 #include "core/OrxonoxClass.h" 46 43 47 44 namespace orxonox -
code/trunk/src/orxonox/overlays/notifications/NotificationOverlay.cc
r3110 r3196 28 28 29 29 /** 30 @file NotificationOverlay.cc30 @file 31 31 @brief Implementation of the NotificationOverlay class. 32 32 */ … … 34 34 #include "NotificationOverlay.h" 35 35 36 #include <OgreOverlayManager.h> 37 #include <OgreTextAreaOverlayElement.h> 38 #include <OgrePanelOverlayElement.h> 39 36 #include "util/Exception.h" 40 37 #include "core/CoreIncludes.h" 41 #include "util/Exception.h"42 43 38 #include "Notification.h" 44 39 #include "NotificationQueue.h" … … 53 48 NotificationOverlay::NotificationOverlay(BaseObject* creator) : OverlayText(creator) 54 49 { 50 RegisterObject(NotificationOverlay); 55 51 this->initialize(); 56 52 } … … 87 83 void NotificationOverlay::initialize(void) 88 84 { 89 RegisterObject(NotificationOverlay);90 91 85 this->queue_ = NULL; 92 86 } … … 133 127 Clips the input message so that it meets the requirements for the maximal length of Notifications given by the NotificationQueue. 134 128 */ 135 conststd::string NotificationOverlay::clipMessage(const std::string & message)129 std::string NotificationOverlay::clipMessage(const std::string & message) 136 130 { 137 131 if(message.length() <= (unsigned int)this->queue_->getNotificationLength()) //!< If the message is not too long. -
code/trunk/src/orxonox/overlays/notifications/NotificationOverlay.h
r3078 r3196 28 28 29 29 /** 30 @file NotificationOverlay.h30 @file 31 31 @brief Definition of the NotificationOverlay class. 32 32 */ … … 38 38 #include "OrxonoxPrereqs.h" 39 39 40 #include <string> 40 41 #include "orxonox/overlays/OverlayText.h" 41 42 #include <string>43 #include <set>44 #include <OgrePrerequisites.h>45 #include <OgreTextAreaOverlayElement.h>46 42 47 43 namespace orxonox … … 72 68 73 69 protected: 74 conststd::string clipMessage(const std::string & message); //!< Clips the input message if too long.70 std::string clipMessage(const std::string & message); //!< Clips the input message if too long. 75 71 76 72 private: -
code/trunk/src/orxonox/overlays/notifications/NotificationQueue.cc
r3110 r3196 28 28 29 29 /** 30 @file NotificationQueue.cc30 @file 31 31 @brief Implementation of the NotificationQueue class. 32 32 */ … … 34 34 #include "NotificationQueue.h" 35 35 36 #include <OgreOverlayManager.h>37 #include <OgreTextAreaOverlayElement.h>38 #include <list>39 #include <iostream>40 36 #include <sstream> 41 37 42 38 #include "core/CoreIncludes.h" 43 39 #include "core/XMLPort.h" 44 45 #include "Notification.h"46 40 #include "NotificationOverlay.h" 41 #include "NotificationManager.h" 47 42 48 43 namespace orxonox … … 53 48 const std::string NotificationQueue::DEFAULT_FONT = "VeraMono"; 54 49 const Vector2 NotificationQueue::DEFAULT_POSITION = Vector2(0.0,0.0); 55 const float NotificationQueue::DEFAULT_FONT_SIZE = 0.025 ;50 const float NotificationQueue::DEFAULT_FONT_SIZE = 0.025f; 56 51 57 52 /** … … 61 56 NotificationQueue::NotificationQueue(BaseObject* creator) : OverlayGroup(creator) 62 57 { 58 RegisterObject(NotificationQueue); 63 59 this->initialize(); 64 60 } … … 81 77 void NotificationQueue::initialize(void) 82 78 { 83 RegisterObject(NotificationQueue);84 85 79 this->size_ = 0; 86 80 this->tickTime_ = 0.0; -
code/trunk/src/orxonox/overlays/notifications/NotificationQueue.h
r2926 r3196 28 28 29 29 /** 30 @file NotificationQueue.h30 @file 31 31 @brief Definition of the NotificationQueue class. 32 32 */ … … 37 37 #include "OrxonoxPrereqs.h" 38 38 39 #include <ctime> 40 #include <map> 41 #include <set> 39 42 #include <string> 40 #include <set> 41 #include <OgreOverlayManager.h> 42 #include <OgreTextAreaOverlayElement.h> 43 #include <OgrePanelOverlayElement.h> 44 #include <map> 45 #include <ctime> 46 47 #include "orxonox/overlays/OverlayGroup.h" 48 #include "orxonox/objects/Tickable.h" 49 50 #include "NotificationManager.h" 43 44 #include "util/Math.h" 45 #include "interfaces/Tickable.h" 46 #include "overlays/OverlayGroup.h" 51 47 52 48 namespace orxonox -
code/trunk/src/orxonox/overlays/stats/CMakeLists.txt
r2710 r3196 3 3 Scoreboard.cc 4 4 Stats.cc 5 StatsTest.cc6 5 ) -
code/trunk/src/orxonox/overlays/stats/CreateLines.cc
r3110 r3196 26 26 27 27 #include "CreateLines.h" 28 29 #include <string>30 #include <OgreOverlay.h>31 #include <OgreOverlayElement.h>32 #include <OgreOverlayManager.h>33 #include <OgreOverlayContainer.h>34 35 #include "util/Convert.h"36 #include "util/Debug.h"37 #include "core/CoreIncludes.h"38 #include "core/ConfigValueIncludes.h"39 28 40 29 #include "overlays/OverlayText.h" -
code/trunk/src/orxonox/overlays/stats/CreateLines.h
r2662 r3196 28 28 #define _CreateLines_H__ 29 29 30 31 30 #include "OrxonoxPrereqs.h" 32 #include <OgrePrerequisites.h>33 #include <OgreBorderPanelOverlayElement.h>34 #include <OgreTextAreaOverlayElement.h>35 36 #include "overlays/OrxonoxOverlay.h"37 #include "objects/Tickable.h"38 39 31 40 32 namespace orxonox -
code/trunk/src/orxonox/overlays/stats/Scoreboard.cc
r3110 r3196 27 27 #include "Scoreboard.h" 28 28 29 #include <string>30 #include <OgreOverlay.h>31 #include <OgreOverlayElement.h>32 #include <OgreOverlayManager.h>33 #include <OgreOverlayContainer.h>34 35 29 #include "util/Convert.h" 36 #include "util/Debug.h"37 30 #include "core/CoreIncludes.h" 38 #include "core/ConfigValueIncludes.h"39 31 #include "objects/gametypes/Gametype.h" 40 32 #include "objects/infos/PlayerInfo.h" … … 101 93 for (std::map<PlayerInfo*, Player>::const_iterator it = playerList.begin(); it != playerList.end(); ++it) 102 94 { 103 this->lines_[index]->setPlayerName( omni_cast<std::string>(it->first->getName()));104 this->lines_[index]->setScore( omni_cast<std::string>(it->second.frags_));105 this->lines_[index]->setDeaths( omni_cast<std::string>(it->second.killed_));95 this->lines_[index]->setPlayerName(multi_cast<std::string>(it->first->getName())); 96 this->lines_[index]->setScore(multi_cast<std::string>(it->second.frags_)); 97 this->lines_[index]->setDeaths(multi_cast<std::string>(it->second.killed_)); 106 98 index++; 107 99 } -
code/trunk/src/orxonox/overlays/stats/Scoreboard.h
r2662 r3196 30 30 31 31 #include "OrxonoxPrereqs.h" 32 #include <OgrePrerequisites.h>33 #include <OgreBorderPanelOverlayElement.h>34 #include <OgreTextAreaOverlayElement.h>35 32 33 #include <string> 34 #include <vector> 35 #include "interfaces/Tickable.h" 36 36 #include "overlays/OrxonoxOverlay.h" 37 #include "objects/Tickable.h"38 39 37 40 38 namespace orxonox … … 42 40 class _OrxonoxExport Scoreboard : public OrxonoxOverlay, public Tickable 43 41 { 44 45 42 public: // functions 46 43 Scoreboard(BaseObject* creator); -
code/trunk/src/orxonox/overlays/stats/Stats.cc
r3110 r3196 30 30 31 31 #include <string> 32 #include <OgreOverlay.h>33 #include <OgreOverlayElement.h>34 32 #include <OgreOverlayManager.h> 35 #include <Ogre OverlayContainer.h>33 #include <OgreBorderPanelOverlayElement.h> 36 34 37 #include "util/Convert.h" 38 #include "util/Debug.h" 35 #include "util/String.h" 39 36 #include "core/CoreIncludes.h" 40 37 #include "core/ConfigValueIncludes.h" -
code/trunk/src/orxonox/overlays/stats/Stats.h
r2662 r3196 30 30 #define _Stats_H__ 31 31 32 #include "OrxonoxPrereqs.h" 32 33 33 #include "OrxonoxPrereqs.h" 34 #include <OgrePrerequisites.h> 35 #include <OgreBorderPanelOverlayElement.h> 36 #include <OgreTextAreaOverlayElement.h> 37 34 #include "util/OgreForwardRefs.h" 35 #include "interfaces/Tickable.h" 38 36 #include "overlays/OrxonoxOverlay.h" 39 #include "objects/Tickable.h"40 41 37 42 38 namespace orxonox -
code/trunk/src/orxonox/sound/CMakeLists.txt
r3078 r3196 1 1 ADD_SOURCE_FILES(ORXONOX_SRC_FILES 2 SoundManager.h3 SoundBase.h4 SoundMainMenu.h5 6 2 SoundManager.cc 7 3 SoundBase.cc -
code/trunk/src/orxonox/sound/SoundBase.cc
r3108 r3196 26 26 * 27 27 */ 28 29 #include "SoundBase.h" 30 31 #include <string> 28 32 #include <vector> 29 33 #include <AL/alut.h> 30 34 #include <vorbis/vorbisfile.h> 31 35 36 #include "util/Math.h" 37 #include "core/Core.h" 32 38 #include "orxonox/objects/worldentities/WorldEntity.h" 33 #include "util/Math.h"34 #include "SoundBase.h"35 39 #include "SoundManager.h" 36 #include "core/Core.h"37 40 38 41 namespace orxonox 39 42 { 40 SoundManager* SoundBase::soundmanager_s = NULL;41 42 43 SoundBase::SoundBase(WorldEntity* entity) 43 44 { 44 if(SoundBase::soundmanager_s == NULL)45 {46 SoundBase::soundmanager_s = new SoundManager();47 }48 49 45 this->source_ = 0; 50 46 this->buffer_ = 0; 51 47 this->entity_ = entity; 52 48 53 Sound Base::soundmanager_s->addSound(this);49 SoundManager::getInstance().addSound(this); 54 50 } 55 51 … … 141 137 filename = Core::getMediaPathString() + "/audio/" + filename; 142 138 143 if(!Sound Base::soundmanager_s->isSoundAvailable())139 if(!SoundManager::getInstance().isSoundAvailable()) 144 140 { 145 141 COUT(3) << "Sound: not available, skipping " << filename << std::endl; … … 179 175 } 180 176 181 ALuint SoundBase::loadOggFile( std::stringfilename)177 ALuint SoundBase::loadOggFile(const std::string& filename) 182 178 { 183 179 char inbuffer[4096]; -
code/trunk/src/orxonox/sound/SoundBase.h
r3078 r3196 26 26 * 27 27 */ 28 #ifndef _SOUNDBASE_H__ 29 #define _SOUNDBASE_H__ 30 31 #include <AL/al.h> 32 #include <string> 28 #ifndef _SoundBase_H__ 29 #define _SoundBase_H__ 33 30 34 31 #include "OrxonoxPrereqs.h" 32 #include <cstring> // define NULL 35 33 36 34 namespace orxonox … … 60 58 61 59 private: 62 ALuint loadOggFile( std::stringfilename);60 ALuint loadOggFile(const std::string& filename); 63 61 ALuint source_; 64 62 ALuint buffer_; … … 66 64 67 65 ALint getSourceState(); 68 69 static SoundManager* soundmanager_s;70 66 }; // class SoundBase 71 67 } // namepsace orxonox 72 68 73 #endif / / _SOUNDBASE_H__69 #endif /* _SoundBase_H__ */ -
code/trunk/src/orxonox/sound/SoundMainMenu.cc
r3078 r3196 28 28 29 29 #include "SoundMainMenu.h" 30 30 31 #include "core/CoreIncludes.h" 31 32 #include "core/ConfigValueIncludes.h" -
code/trunk/src/orxonox/sound/SoundMainMenu.h
r3078 r3196 27 27 */ 28 28 29 #ifndef _SOUNDMAINMENU_H__ 30 #define _SOUNDMAINMENU_H__ 29 #ifndef _SoundMainMenu_H__ 30 #define _SoundMainMenu_H__ 31 32 #include "OrxonoxPrereqs.h" 31 33 32 34 #include <string> 33 34 35 #include "core/OrxonoxClass.h" 35 #include "OrxonoxPrereqs.h"36 36 #include "SoundBase.h" 37 37 … … 48 48 }; 49 49 } 50 #endif 50 51 #endif /* _SoundMainMenu_H__ */ -
code/trunk/src/orxonox/sound/SoundManager.cc
r3108 r3196 27 27 */ 28 28 29 #include "SoundManager.h" 30 29 31 #include <AL/alut.h> 30 32 33 #include "util/Math.h" 31 34 #include "orxonox/CameraManager.h" 32 35 #include "orxonox/objects/worldentities/Camera.h" 33 #include "util/Math.h"34 36 #include "SoundBase.h" 35 #include "SoundManager.h"36 37 37 38 namespace orxonox 38 39 { 40 SoundManager* SoundManager::singletonRef_s = NULL; 39 41 ALCdevice* SoundManager::device_s = NULL; 40 42 … … 44 46 SoundManager::SoundManager() 45 47 { 48 assert(singletonRef_s == NULL); 49 singletonRef_s = this; 50 46 51 this->soundavailable_ = true; 47 52 if(!alutInitWithoutContext(NULL,NULL)) … … 90 95 SoundManager::~SoundManager() 91 96 { 97 assert(singletonRef_s != NULL); 98 singletonRef_s = NULL; 99 92 100 alcDestroyContext(this->context_); 93 101 alcCloseDevice(SoundManager::device_s); -
code/trunk/src/orxonox/sound/SoundManager.h
r3078 r3196 25 25 * ... 26 26 */ 27 #ifndef _SOUNDMANGER_H__ 28 #define _SOUNDMANGER_H__ 29 30 #include <AL/al.h> 31 #include <AL/alc.h> 27 #ifndef _SoundManager_H__ 28 #define _SoundManager_H__ 32 29 33 30 #include "OrxonoxPrereqs.h" 34 #include "orxonox/objects/Tickable.h" 31 32 #include <cassert> 33 #include <list> 34 #include "interfaces/Tickable.h" 35 35 36 36 namespace orxonox … … 49 49 void addSound(SoundBase* sound); 50 50 void removeSound(SoundBase* sound); 51 v irtual void tick(float dt);51 void tick(float dt); 52 52 bool isSoundAvailable(); 53 54 static SoundManager& getInstance() { assert(singletonRef_s); return *singletonRef_s; } 53 55 54 56 private: … … 58 60 bool soundavailable_; 59 61 62 static SoundManager* singletonRef_s; 60 63 }; // class SoundManager 61 64 } // namespace orxonox 62 65 63 #endif / / _SOUNDMANAGER_H__66 #endif /* _SoundManager_H__ */ -
code/trunk/src/orxonox/tools/BillboardSet.cc
r3110 r3196 29 29 #include "BillboardSet.h" 30 30 31 #include <cassert> 32 #include <string> 31 33 #include <sstream> 32 #include <cassert>33 34 34 #include <OgreSceneManager.h> 35 35 #include <OgreBillboardSet.h> 36 36 #include <OgreBillboard.h> 37 37 38 #include "util/Convert.h" 39 #include "util/Math.h" 40 #include "util/String.h" 38 41 #include "core/GameMode.h" 39 #include "util/Convert.h"40 #include "util/String.h"41 42 42 43 namespace orxonox -
code/trunk/src/orxonox/tools/BillboardSet.h
r2662 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include <string> 35 #include <OgrePrerequisites.h> 36 37 #include "util/Math.h" 33 #include "util/OgreForwardRefs.h" 38 34 39 35 namespace orxonox … … 52 48 inline Ogre::BillboardSet* getBillboardSet() 53 49 { return this->billboardSet_; } 54 inline Ogre::SceneManager* getSceneManager() 50 inline Ogre::SceneManager* getSceneManager() const 55 51 { return this->scenemanager_; } 56 52 … … 69 65 void destroyBillboardSet(); 70 66 71 static unsigned int billboardSetCounter_s;72 67 Ogre::BillboardSet* billboardSet_; 73 68 Ogre::SceneManager* scenemanager_; 69 70 static unsigned int billboardSetCounter_s; 74 71 }; 75 72 } -
code/trunk/src/orxonox/tools/BulletConversions.h
r2662 r3196 34 34 #include "util/Convert.h" 35 35 #include "util/Math.h" 36 #include "LinearMath/btQuaternion.h"37 #include "LinearMath/btVector3.h"36 #include <LinearMath/btQuaternion.h> 37 #include <LinearMath/btVector3.h> 38 38 39 39 namespace orxonox … … 43 43 struct ConverterExplicit<orxonox::Vector3, btVector3> 44 44 { 45 static bool convert(btVector3* output, const orxonox::Vector3& input)45 FORCEINLINE static bool convert(btVector3* output, const orxonox::Vector3& input) 46 46 { 47 47 output->setX(input.x); … … 56 56 struct ConverterExplicit<btVector3, orxonox::Vector3> 57 57 { 58 static bool convert(orxonox::Vector3* output, const btVector3& input)58 FORCEINLINE static bool convert(orxonox::Vector3* output, const btVector3& input) 59 59 { 60 60 output->x = input.x(); … … 69 69 struct ConverterExplicit<orxonox::Quaternion, btQuaternion> 70 70 { 71 static bool convert(btQuaternion* output, const orxonox::Quaternion& input)71 FORCEINLINE static bool convert(btQuaternion* output, const orxonox::Quaternion& input) 72 72 { 73 73 output->setW(input.w); … … 83 83 struct ConverterExplicit<btQuaternion, orxonox::Quaternion> 84 84 { 85 static bool convert(orxonox::Quaternion* output, const btQuaternion& input)85 FORCEINLINE static bool convert(orxonox::Quaternion* output, const btQuaternion& input) 86 86 { 87 87 output->w = input.w(); -
code/trunk/src/orxonox/tools/CMakeLists.txt
r3089 r3196 1 1 ADD_SOURCE_FILES(ORXONOX_SRC_FILES 2 2 BillboardSet.cc 3 DynamicLines.cc 4 DynamicRenderable.cc 3 5 Mesh.cc 4 6 ParticleInterface.cc 5 7 Shader.cc 6 8 TextureGenerator.cc 7 TimeFactorListener.cc8 9 Timer.cc 9 WindowEventListener.cc10 DynamicLines.cpp11 DynamicRenderable.cpp12 10 ) -
code/trunk/src/orxonox/tools/DynamicLines.h
r3089 r3196 1 #ifndef _DYNAMIC_LINES_H_ 2 #define _DYNAMIC_LINES_H_ 1 /* 2 * ORXONOX - the hottest 3D action shooter ever to exist 3 * > www.orxonox.net < 4 * 5 * 6 * License notice: 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License 10 * as published by the Free Software Foundation; either version 2 11 * of the License, or (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 * 22 * Author: 23 * Baxissimo, Emmeran, DWORD, EtherDrive (OGRE Wiki) 24 * Co-authors: 25 * ... 26 * 27 */ 3 28 29 #ifndef _DynamicLines_H__ 30 #define _DynamicLines_H__ 31 32 #include "OrxonoxPrereqs.h" 33 34 #include <vector> 4 35 #include "DynamicRenderable.h" 5 #include <vector>6 36 7 namespace orxonox37 namespace Ogre 8 38 { 9 class DynamicLines : public DynamicRenderable 10 { 11 typedef Ogre::Vector3 Vector3; 12 typedef Ogre::Quaternion Quaternion; 13 typedef Ogre::Camera Camera; 14 typedef Ogre::Real Real; 15 typedef Ogre::RenderOperation::OperationType OperationType; 39 class DynamicLines : public DynamicRenderable 40 { 41 typedef RenderOperation::OperationType OperationType; 16 42 17 public:18 /// Constructor - see setOperationType() for description of argument.19 DynamicLines(OperationType opType=Ogre::RenderOperation::OT_LINE_STRIP);20 virtual ~DynamicLines();43 public: 44 /// Constructor - see setOperationType() for description of argument. 45 DynamicLines(OperationType opType = RenderOperation::OT_LINE_STRIP); 46 virtual ~DynamicLines(); 21 47 22 /// Add a point to the point list23 void addPoint(const Ogre::Vector3 &p);24 /// Add a point to the point list25 void addPoint(Real x, Real y, Real z);48 /// Add a point to the point list 49 void addPoint(const Vector3 &p); 50 /// Add a point to the point list 51 void addPoint(Real x, Real y, Real z); 26 52 27 /// Change the location of an existing point in the point list28 void setPoint(unsigned short index, const Vector3 &value);53 /// Change the location of an existing point in the point list 54 void setPoint(unsigned short index, const Vector3 &value); 29 55 30 /// Return the location of an existing point in the point list31 const Vector3& getPoint(unsigned short index) const;56 /// Return the location of an existing point in the point list 57 const Vector3& getPoint(unsigned short index) const; 32 58 33 /// Return the total number of points in the point list34 unsigned short getNumPoints(void) const;59 /// Return the total number of points in the point list 60 unsigned short getNumPoints(void) const; 35 61 36 /// Remove all points from the point list37 void clear();62 /// Remove all points from the point list 63 void clear(); 38 64 39 /// Call this to update the hardware buffer after making changes.40 void update();65 /// Call this to update the hardware buffer after making changes. 66 void update(); 41 67 42 /** Set the type of operation to draw with. 43 * @param opType Can be one of 44 * - RenderOperation::OT_LINE_STRIP 45 * - RenderOperation::OT_LINE_LIST 46 * - RenderOperation::OT_POINT_LIST 47 * - RenderOperation::OT_TRIANGLE_LIST 48 * - RenderOperation::OT_TRIANGLE_STRIP 49 * - RenderOperation::OT_TRIANGLE_FAN 50 * The default is OT_LINE_STRIP. 51 */ 52 void setOperationType(OperationType opType); 53 OperationType getOperationType() const; 68 /** 69 @brief 70 Set the type of operation to draw with. 71 @param opType 72 Can be one of 73 - RenderOperation::OT_LINE_STRIP 74 - RenderOperation::OT_LINE_LIST 75 - RenderOperation::OT_POINT_LIST 76 - RenderOperation::OT_TRIANGLE_LIST 77 - RenderOperation::OT_TRIANGLE_STRIP 78 - RenderOperation::OT_TRIANGLE_FAN 79 The default is OT_LINE_STRIP. 80 */ 81 void setOperationType(OperationType opType); 82 OperationType getOperationType() const; 54 83 55 protected:56 /// Implementation DynamicRenderable, creates a simple vertex-only decl57 virtual void createVertexDeclaration();58 /// Implementation DynamicRenderable, pushes point list out to hardware memory59 virtual void fillHardwareBuffers();84 protected: 85 /// Implementation DynamicRenderable, creates a simple vertex-only decl 86 virtual void createVertexDeclaration(); 87 /// Implementation DynamicRenderable, pushes point list out to hardware memory 88 virtual void fillHardwareBuffers(); 60 89 61 private:62 std::vector<Vector3> mPoints;63 bool mDirty;64 };90 private: 91 std::vector<Vector3> mPoints; 92 bool mDirty; 93 }; 65 94 } 66 95 67 #endif 96 #endif /* _DynamicLines_H__ */ -
code/trunk/src/orxonox/tools/DynamicRenderable.h
r3089 r3196 1 #ifndef DYNAMIC_RENDERABLE_H 2 #define DYNAMIC_RENDERABLE_H 1 /* 2 * ORXONOX - the hottest 3D action shooter ever to exist 3 * > www.orxonox.net < 4 * 5 * 6 * License notice: 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License 10 * as published by the Free Software Foundation; either version 2 11 * of the License, or (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 * 22 * Author: 23 * Sinbad, Baxissimo, DWORD, TheBren (OGRE Wiki) 24 * Co-authors: 25 * ... 26 * 27 */ 28 29 #ifndef _DynamicRenderable_H__ 30 #define _DynamicRenderable_H__ 31 32 #include "OrxonoxPrereqs.h" 3 33 4 34 #include <OgreSimpleRenderable.h> 5 35 6 namespace orxonox36 namespace Ogre 7 37 { 8 /// Abstract base class providing mechanisms for dynamically growing hardware buffers.9 class DynamicRenderable : public Ogre::SimpleRenderable10 {11 public:12 /// Constructor13 DynamicRenderable();14 /// Virtual destructor15 virtual ~DynamicRenderable();38 /// Abstract base class providing mechanisms for dynamically growing hardware buffers. 39 class DynamicRenderable : public SimpleRenderable 40 { 41 public: 42 /// Constructor 43 DynamicRenderable(); 44 /// Virtual destructor 45 virtual ~DynamicRenderable(); 16 46 17 /** Initializes the dynamic renderable. 18 @remarks 19 This function should only be called once. It initializes the 20 render operation, and calls the abstract function 21 createVertexDeclaration(). 22 @param operationType The type of render operation to perform. 23 @param useIndices Specifies whether to use indices to determine the 24 vertices to use as input. */ 25 void initialize(Ogre::RenderOperation::OperationType operationType, 26 bool useIndices); 47 /** 48 @brief 49 Initializes the dynamic renderable. 50 @remarks 51 This function should only be called once. It initializes the 52 render operation, and calls the abstract function 53 createVertexDeclaration(). 54 @param operationType 55 The type of render operation to perform. 56 @param useIndices 57 Specifies whether to use indices to determine the vertices to use as input. 58 */ 59 void initialize(RenderOperation::OperationType operationType, 60 bool useIndices); 27 61 28 /// Implementation of Ogre::SimpleRenderable29 virtual Ogre::Real getBoundingRadius(void) const;30 /// Implementation of Ogre::SimpleRenderable31 virtual Ogre::Real getSquaredViewDepth(const Ogre::Camera* cam) const;62 /// Implementation of SimpleRenderable 63 virtual Real getBoundingRadius(void) const; 64 /// Implementation of SimpleRenderable 65 virtual Real getSquaredViewDepth(const Camera* cam) const; 32 66 33 protected:34 /// Maximum capacity of the currently allocated vertex buffer.35 size_t mVertexBufferCapacity;36 /// Maximum capacity of the currently allocated index buffer.37 size_t mIndexBufferCapacity;67 protected: 68 /// Maximum capacity of the currently allocated vertex buffer. 69 size_t mVertexBufferCapacity; 70 /// Maximum capacity of the currently allocated index buffer. 71 size_t mIndexBufferCapacity; 38 72 39 /** Creates the vertex declaration. 40 @remarks 41 Override and set mRenderOp.vertexData->vertexDeclaration here. 42 mRenderOp.vertexData will be created for you before this method 43 is called. */ 44 virtual void createVertexDeclaration() = 0; 73 /** 74 @brief 75 Creates the vertex declaration. 76 @remarks 77 Override and set mRenderOp.vertexData->vertexDeclaration here. 78 mRenderOp.vertexData will be created for you before this method 79 is called. 80 */ 81 virtual void createVertexDeclaration() = 0; 45 82 46 /** Prepares the hardware buffers for the requested vertex and index counts. 47 @remarks 48 This function must be called before locking the buffers in 49 fillHardwareBuffers(). It guarantees that the hardware buffers 50 are large enough to hold at least the requested number of 51 vertices and indices (if using indices). The buffers are 52 possibly reallocated to achieve this. 53 @par 54 The vertex and index count in the render operation are set to 55 the values of vertexCount and indexCount respectively. 56 @param vertexCount The number of vertices the buffer must hold. 83 /** 84 @brief 85 Prepares the hardware buffers for the requested vertex and index counts. 86 @remarks 87 This function must be called before locking the buffers in 88 fillHardwareBuffers(). It guarantees that the hardware buffers 89 are large enough to hold at least the requested number of 90 vertices and indices (if using indices). The buffers are 91 possibly reallocated to achieve this. 92 @par 93 The vertex and index count in the render operation are set to 94 the values of vertexCount and indexCount respectively. 95 @param vertexCount 96 The number of vertices the buffer must hold. 97 @param indexCount 98 The number of indices the buffer must hold. This 99 parameter is ignored if not using indices. 100 */ 101 void prepareHardwareBuffers(size_t vertexCount, size_t indexCount); 57 102 58 @param indexCount The number of indices the buffer must hold. This 59 parameter is ignored if not using indices. */ 60 void prepareHardwareBuffers(size_t vertexCount, size_t indexCount); 61 62 /** Fills the hardware vertex and index buffers with data. 63 @remarks 64 This function must call prepareHardwareBuffers() before locking 65 the buffers to ensure the they are large enough for the data to 66 be written. Afterwards the vertex and index buffers (if using 67 indices) can be locked, and data can be written to them. */ 68 virtual void fillHardwareBuffers() = 0; 69 }; 103 /** 104 @brief 105 Fills the hardware vertex and index buffers with data. 106 @remarks 107 This function must call prepareHardwareBuffers() before locking 108 the buffers to ensure the they are large enough for the data to 109 be written. Afterwards the vertex and index buffers (if using 110 indices) can be locked, and data can be written to them. 111 */ 112 virtual void fillHardwareBuffers() = 0; 113 }; 70 114 } 71 115 72 #endif / / DYNAMIC_RENDERABLE_H116 #endif /* _DynamicRenderable_H__ */ -
code/trunk/src/orxonox/tools/Mesh.cc
r3110 r3196 29 29 #include "Mesh.h" 30 30 31 #include <cassert> 31 32 #include <sstream> 33 #include <string> 32 34 #include <OgreEntity.h> 33 35 #include <OgreSceneManager.h> 34 #include <cassert>35 36 36 #include "core/GameMode.h"37 37 #include "util/Convert.h" 38 38 #include "util/String.h" 39 #include "core/GameMode.h" 39 40 40 41 namespace orxonox -
code/trunk/src/orxonox/tools/Mesh.h
r2662 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 34 #include <string> 35 #include <OgrePrerequisites.h> 33 #include "util/OgreForwardRefs.h" 36 34 37 35 namespace orxonox … … 58 56 59 57 private: 60 static unsigned int meshCounter_s;61 58 Ogre::Entity* entity_; 62 59 bool bCastShadows_; 63 60 Ogre::SceneManager* scenemanager_; 61 62 static unsigned int meshCounter_s; 64 63 }; 65 64 } -
code/trunk/src/orxonox/tools/ParticleInterface.cc
r3110 r3196 34 34 #include "ParticleInterface.h" 35 35 36 #include <cassert> 37 #include <string> 36 38 #include <OgreParticleSystem.h> 37 39 #include <OgreParticleEmitter.h> 38 40 #include <OgreSceneManager.h> 39 #include <cassert> 40 41 42 #include "util/Convert.h" 43 #include "util/Math.h" 44 #include "core/CoreIncludes.h" 45 #include "core/GameMode.h" 41 46 #include "GraphicsManager.h" 42 #include "core/GameMode.h"43 #include "core/CoreIncludes.h"44 #include "util/Convert.h"45 47 46 48 namespace orxonox … … 132 134 return 0; 133 135 } 134 Ogre::ParticleAffector* ParticleInterface::getAffector(unsigned int affectorNr) const136 Ogre::ParticleAffector* ParticleInterface::getAffector(unsigned int affectorNr) 135 137 { 136 138 if (this->particleSystem_ && (affectorNr < this->particleSystem_->getNumAffectors())) -
code/trunk/src/orxonox/tools/ParticleInterface.h
r2896 r3196 32 32 #include "OrxonoxPrereqs.h" 33 33 34 #include <string> 35 #include <OgrePrerequisites.h> 36 37 #include "core/OrxonoxClass.h" 38 #include "util/Math.h" 39 #include "tools/TimeFactorListener.h" 34 #include "util/OgreForwardRefs.h" 35 #include "interfaces/TimeFactorListener.h" 40 36 41 37 #define getAllEmitters() \ … … 52 48 virtual ~ParticleInterface(); 53 49 54 inline Ogre::ParticleSystem* getParticleSystem() const50 inline Ogre::ParticleSystem* getParticleSystem() 55 51 { return this->particleSystem_; } 56 52 … … 62 58 63 59 Ogre::ParticleAffector* addAffector(const std::string& name); 64 Ogre::ParticleAffector* getAffector(unsigned int affectorNr) const;60 Ogre::ParticleAffector* getAffector(unsigned int affectorNr); 65 61 void removeAffector(unsigned int affectorNr); 66 62 void removeAllAffectors(); … … 95 91 void updateVisibility(); 96 92 97 static ParticleInterface* currentParticleInterface_s;98 static unsigned int counter_s;99 100 93 Ogre::ParticleSystem* particleSystem_; 94 Ogre::SceneManager* scenemanager_; 101 95 bool bVisible_; 102 96 bool bEnabled_; … … 104 98 unsigned int detaillevel_; //!< Detail level of this particle effect (0: off, 1: low, 2: normal, 3: high) 105 99 float speedFactor_; 106 Ogre::SceneManager* scenemanager_; 100 101 static ParticleInterface* currentParticleInterface_s; 102 static unsigned int counter_s; 107 103 }; 108 104 } -
code/trunk/src/orxonox/tools/Shader.cc
r3110 r3196 34 34 #include <OgreRoot.h> 35 35 #include <OgrePlugin.h> 36 37 #include "core/GameMode.h"38 #include "core/CoreIncludes.h"39 #include "core/Executor.h"40 #include "GraphicsManager.h"41 #include "util/Exception.h"42 43 36 #include <OgreMaterial.h> 44 37 #include <OgreTechnique.h> 45 38 #include <OgrePass.h> 46 39 #include <OgreMaterialManager.h> 40 41 #include "core/CoreIncludes.h" 42 #include "core/GameMode.h" 43 #include "GraphicsManager.h" 47 44 48 45 namespace orxonox … … 219 216 return (*((float*)pointer->second)); 220 217 else 221 return (*((int*)pointer->second));218 return static_cast<float>(*((int*)pointer->second)); 222 219 } 223 220 else -
code/trunk/src/orxonox/tools/Shader.h
r2662 r3196 31 31 32 32 #include "OrxonoxPrereqs.h" 33 #include <OgrePrerequisites.h> 33 34 #include <map> 35 #include <string> 34 36 #include <vector> 35 #include <map>36 37 37 #include "objects/Tickable.h" 38 #include "util/OgreForwardRefs.h" 39 #include "interfaces/Tickable.h" 38 40 39 41 namespace orxonox -
code/trunk/src/orxonox/tools/TextureGenerator.cc
r3110 r3196 33 33 34 34 #include "TextureGenerator.h" 35 35 36 #include <OgreMaterialManager.h> 36 37 #include <OgreTechnique.h> 37 38 #include "util/Convert.h" 39 #include "util/Math.h" 38 40 39 41 namespace std 40 42 { 41 43 template <> 42 bool less<orxonox::ColourValue>::operator()(const orxonox::ColourValue& __x, const orxonox::ColourValue& __y) const44 inline bool less<orxonox::ColourValue>::operator()(const orxonox::ColourValue& __x, const orxonox::ColourValue& __y) const 43 45 { 44 46 if (__x.r == __y.r) … … 63 65 unsigned int TextureGenerator::materialCount_s = 0; 64 66 65 /*static*/ const std::string& TextureGenerator::getMaterialName( std::stringtextureName, const ColourValue& colour)67 /*static*/ const std::string& TextureGenerator::getMaterialName(const std::string& textureName, const ColourValue& colour) 66 68 { 67 69 std::map<ColourValue, std::string>& colourMap = materials_s[textureName]; -
code/trunk/src/orxonox/tools/TextureGenerator.h
r1625 r3196 36 36 37 37 #include "OrxonoxPrereqs.h" 38 39 #include <map> 38 40 #include <string> 39 #include <map> 40 #include "util/Math.h" 41 #include "util/UtilPrereqs.h" 41 42 42 43 namespace orxonox … … 45 46 { 46 47 public: 47 static const std::string& getMaterialName( std::stringtextureName, const ColourValue& colour);48 static const std::string& getMaterialName(const std::string& textureName, const ColourValue& colour); 48 49 49 50 private: -
code/trunk/src/orxonox/tools/Timer.cc
r3110 r3196 27 27 */ 28 28 29 #include "Timer.h" 30 29 31 #include <set> 30 32 31 #include "Timer.h"32 33 #include "core/Executor.h"34 33 #include "core/CoreIncludes.h" 35 34 #include "core/ConsoleCommand.h" 36 35 #include "core/CommandExecutor.h" 37 36 #include "core/Clock.h" 37 #include "core/Functor.h" 38 38 39 39 namespace orxonox -
code/trunk/src/orxonox/tools/Timer.h
r2896 r3196 62 62 63 63 #include "OrxonoxPrereqs.h" 64 64 65 #include "core/Executor.h" 65 66 #include "core/OrxonoxClass.h" 66 #include " tools/TimeFactorListener.h"67 #include "interfaces/TimeFactorListener.h" 67 68 68 69 namespace orxonox -
code/trunk/src/tinyxml/CMakeLists.txt
r2710 r3196 30 30 tinyxmlparser.cpp 31 31 ) 32 GENERATE_SOURCE_GROUPS(${TINYXML++_FILES})33 32 34 33 # No warnings needed from third party libraries … … 36 35 ADD_COMPILER_FLAGS("-w") 37 36 38 IF(MSVC) 39 ADD_LIBRARY(tinyxml++_orxonox STATIC ${TINYXML++_FILES})40 ELSE() 41 ADD_LIBRARY(tinyxml++_orxonox SHARED ${TINYXML++_FILES})42 ORXONOX_INSTALL(tinyxml++_orxonox)43 ENDIF() 44 45 SET_TARGET_PROPERTIES(tinyxml++_orxonox PROPERTIES VERSION 2.5.3)37 ORXONOX_ADD_LIBRARY(tinyxml++_orxonox 38 ORXONOX_EXTERNAL 39 NO_DLL_INTERFACE 40 VERSION 41 2.5.3 42 SOURCE_FILES 43 ${TINYXML++_FILES} 44 ) -
code/trunk/src/tolua/CMakeLists.txt
r2710 r3196 36 36 ADD_COMPILER_FLAGS("-w") 37 37 38 ADD_LIBRARY(tolua++_orxonox SHARED ${TOLUA++_FILES}) 39 SET_TARGET_PROPERTIES(tolua++_orxonox PROPERTIES DEFINE_SYMBOL "TOLUA_SHARED_BUILD") 40 TARGET_LINK_LIBRARIES(tolua++_orxonox ${LUA_LIBRARIES}) 41 42 SET_TARGET_PROPERTIES(tolua++_orxonox PROPERTIES VERSION 1.0.92) 43 44 ORXONOX_INSTALL(tolua++_orxonox) 38 ORXONOX_ADD_LIBRARY(tolua++_orxonox 39 ORXONOX_EXTERNAL 40 DEFINE_SYMBOL 41 "TOLUA_SHARED_BUILD" 42 VERSION 43 1.0.92 44 LINK_LIBRARIES 45 ${LUA_LIBRARIES} 46 SOURCE_FILES 47 ${TOLUA++_FILES} 48 ) 45 49 46 50 47 51 ################## Tolua++ generator ################## 48 52 49 ADD_EXECUTABLE(tolua++app_orxonox tolua.c) 50 TARGET_LINK_LIBRARIES(tolua++app_orxonox tolua++_orxonox ${LUA_LIBRARIES}) 51 52 OPTION(TOLUA_PARSER_RELEASE "Disable all debug messages from tolua bind files for Release and MinSizeRel build types." FALSE) 53 ORXONOX_ADD_EXECUTABLE(tolua++app_orxonox 54 ORXONOX_EXTERNAL 55 VERSION 56 1.0.92 57 LINK_LIBRARIES 58 ${LUA_LIBRARIES} 59 SOURCE_FILES 60 tolua.c 61 ) 53 62 54 63 # Set some variables to the cache in order to use them in the TOLUA macro -
code/trunk/src/util/CMakeLists.txt
r3089 r3196 18 18 # 19 19 20 SET_SOURCE_FILES(UTIL_FILES 21 CRC32.h 22 Clipboard.h 23 Convert.h 24 Debug.h 25 Exception.h 26 ExprParser.h 27 Math.h 28 MathConvert.h 29 MultiType.h 30 MultiTypeValue.h 31 OrxEnum.h 32 OutputBuffer.h 33 OutputHandler.h 34 SignalHandler.h 35 Sleep.h 36 String.h 37 SubString.h 38 UtilPrereqs.h 39 mbool.h 40 20 SET_SOURCE_FILES(UTIL_SRC_FILES 41 21 Clipboard.cc 42 22 CRC32.cc … … 52 32 SubString.cc 53 33 ) 54 #GET_ALL_HEADER_FILES(UTIL_HDR_FILES)55 #SET(UTIL_FILES ${UTIL_SRC_FILES} ${UTIL_HDR_FILES})56 GENERATE_SOURCE_GROUPS(${UTIL_FILES})57 # Also add OrxonoxConfig to have it least somewhere in the IDE58 LIST(APPEND UTIL_FILES59 ${CMAKE_BINARY_DIR}/src/OrxonoxConfig.h60 ${CMAKE_SOURCE_DIR}/src/OrxonoxConfig.h.in61 ${CMAKE_BINARY_DIR}/src/SpecialConfig.h62 ${CMAKE_SOURCE_DIR}/src/SpecialConfig.h.in63 )64 SOURCE_GROUP("" FILES65 ${CMAKE_BINARY_DIR}/src/OrxonoxConfig.h66 ${CMAKE_SOURCE_DIR}/src/OrxonoxConfig.h.in67 ${CMAKE_BINARY_DIR}/src/SpecialConfig.h68 ${CMAKE_SOURCE_DIR}/src/SpecialConfig.h.in69 )70 34 71 35 IF(GCC_NO_SYSTEM_HEADER_SUPPORT) … … 74 38 ENDIF() 75 39 76 ADD_LIBRARY(util SHARED ${UTIL_FILES}) 77 SET_TARGET_PROPERTIES(util PROPERTIES DEFINE_SYMBOL "UTIL_SHARED_BUILD") 78 TARGET_LINK_LIBRARIES(util ${OGRE_LIBRARY}) 79 80 ORXONOX_INSTALL(util) 40 ORXONOX_ADD_LIBRARY(util 41 FIND_HEADER_FILES 42 DEFINE_SYMBOL 43 "UTIL_SHARED_BUILD" 44 LINK_LIBRARIES 45 ${OGRE_LIBRARY} 46 SOURCE_FILES 47 ${UTIL_SRC_FILES} 48 ) -
code/trunk/src/util/CRC32.h
r2710 r3196 31 31 32 32 #include "UtilPrereqs.h" 33 #include <iostream>34 33 35 34 namespace orxonox -
code/trunk/src/util/Clipboard.cc
r2710 r3196 112 112 namespace orxonox 113 113 { 114 st d::string clipboard = ""; //!< Keeps the text of our internal clipboard114 static std::string clipboard = ""; //!< Keeps the text of our internal clipboard 115 115 116 116 /** -
code/trunk/src/util/Clipboard.h
r2171 r3196 43 43 44 44 #include "UtilPrereqs.h" 45 46 45 #include <string> 47 46 -
code/trunk/src/util/Convert.h
r2710 r3196 40 40 #include <string> 41 41 #include <sstream> 42 #include <istream>43 #include <ostream>44 42 #include <typeinfo> 45 43 … … 123 121 namespace orxonox 124 122 { 125 namespace 123 namespace detail 126 124 { 127 125 //! Little template that maps integers to entire types (Alexandrescu 2001) … … 139 137 struct ConverterFallback 140 138 { 141 static bool convert(ToType* output, const FromType& input)139 FORCEINLINE static bool convert(ToType* output, const FromType& input) 142 140 { 143 141 COUT(2) << "Could not convert value of type " << typeid(FromType).name() … … 151 149 struct ConverterFallback<FromType*, ToType*> 152 150 { 153 static bool convert(ToType** output, FromType* const input)151 FORCEINLINE static bool convert(ToType** output, FromType* const input) 154 152 { 155 153 ToType* temp = dynamic_cast<ToType*>(input); … … 174 172 struct ConverterStringStream 175 173 { 176 static bool convert(ToType* output, const FromType& input)174 FORCEINLINE static bool convert(ToType* output, const FromType& input) 177 175 { 178 176 return orxonox::ConverterFallback<FromType, ToType>::convert(output, input); … … 188 186 { 189 187 template <class FromType> 190 inlinebool operator <<(std::ostream& outstream, const FromType& input)188 FORCEINLINE bool operator <<(std::ostream& outstream, const FromType& input) 191 189 { 192 190 std::string temp; … … 205 203 struct ConverterStringStream<FromType, std::string> 206 204 { 207 static bool convert(std::string* output, const FromType& input)205 FORCEINLINE static bool convert(std::string* output, const FromType& input) 208 206 { 209 207 using namespace fallbackTemplates; … … 228 226 { 229 227 template <class ToType> 230 inlinebool operator >>(std::istream& instream, ToType& output)228 FORCEINLINE bool operator >>(std::istream& instream, ToType& output) 231 229 { 232 230 return orxonox::ConverterFallback<std::string, ToType> … … 239 237 struct ConverterStringStream<std::string, ToType> 240 238 { 241 static bool convert(ToType* output, const std::string& input)239 FORCEINLINE static bool convert(ToType* output, const std::string& input) 242 240 { 243 241 using namespace fallbackTemplates; … … 262 260 // implicit cast not possible, try stringstream conversion next 263 261 template <class FromType, class ToType> 264 inline bool convertImplicitely(ToType* output, const FromType& input, orxonox::Int2Type<false>)262 FORCEINLINE bool convertImplicitely(ToType* output, const FromType& input, detail::Int2Type<false>) 265 263 { 266 264 return ConverterStringStream<FromType, ToType>::convert(output, input); … … 269 267 // We can cast implicitely 270 268 template <class FromType, class ToType> 271 inline bool convertImplicitely(ToType* output, const FromType& input, orxonox::Int2Type<true>)269 FORCEINLINE bool convertImplicitely(ToType* output, const FromType& input, detail::Int2Type<true>) 272 270 { 273 271 (*output) = static_cast<ToType>(input); … … 284 282 struct ConverterExplicit 285 283 { 286 static bool convert(ToType* output, const FromType& input)284 FORCEINLINE static bool convert(ToType* output, const FromType& input) 287 285 { 288 286 // Try implict cast and probe first. If a simple cast is not possible, it will not compile 289 287 // We therefore have to out source it into another template function 290 288 const bool probe = ImplicitConversion<FromType, ToType>::exists; 291 return convertImplicitely(output, input, orxonox::Int2Type<probe>());289 return convertImplicitely(output, input, detail::Int2Type<probe>()); 292 290 } 293 291 }; … … 306 304 */ 307 305 template <class FromType, class ToType> 308 inlinebool convertValue(ToType* output, const FromType& input)306 FORCEINLINE bool convertValue(ToType* output, const FromType& input) 309 307 { 310 308 return ConverterExplicit<FromType, ToType>::convert(output, input); 311 }312 313 // For compatibility reasons. The same, but with capital ConvertValue314 template<class FromType, class ToType>315 inline bool ConvertValue(ToType* output, const FromType& input)316 {317 return convertValue(output, input);318 309 } 319 310 … … 331 322 */ 332 323 template<class FromType, class ToType> 333 inlinebool convertValue(ToType* output, const FromType& input, const ToType& fallback)324 FORCEINLINE bool convertValue(ToType* output, const FromType& input, const ToType& fallback) 334 325 { 335 326 if (convertValue(output, input)) … … 342 333 } 343 334 344 // for compatibility reason. (capital 'c' in ConvertValue)345 template<class FromType, class ToType>346 inline bool ConvertValue(ToType* output, const FromType& input, const ToType& fallback)347 {348 return convertValue(output, input, fallback);349 }350 351 335 // Directly returns the converted value, even if the conversion was not successful. 352 336 template<class FromType, class ToType> 353 inlineToType getConvertedValue(const FromType& input)337 FORCEINLINE ToType getConvertedValue(const FromType& input) 354 338 { 355 339 ToType output; … … 360 344 // Directly returns the converted value, but uses the fallback on failure. 361 345 template<class FromType, class ToType> 362 inlineToType getConvertedValue(const FromType& input, const ToType& fallback)346 FORCEINLINE ToType getConvertedValue(const FromType& input, const ToType& fallback) 363 347 { 364 348 ToType output; … … 370 354 // That means you can call it exactly like static_cast<ToType>(fromTypeValue). 371 355 template<class ToType, class FromType> 372 inline ToType omni_cast(const FromType& input)356 FORCEINLINE ToType multi_cast(const FromType& input) 373 357 { 374 358 ToType output; … … 379 363 // convert to string Shortcut 380 364 template <class FromType> 381 inlinestd::string convertToString(FromType value)382 { 383 return getConvertedValue<FromType, std::string>(value);365 FORCEINLINE std::string convertToString(FromType value) 366 { 367 return getConvertedValue<FromType, std::string>(value); 384 368 } 385 369 386 370 // convert from string Shortcut 387 371 template <class ToType> 388 inlineToType convertFromString(std::string str)389 { 390 return getConvertedValue<std::string, ToType>(str);372 FORCEINLINE ToType convertFromString(std::string str) 373 { 374 return getConvertedValue<std::string, ToType>(str); 391 375 } 392 376 … … 399 383 struct ConverterExplicit<const char*, ToType> 400 384 { 401 static bool convert(ToType* output, const char* input)385 FORCEINLINE static bool convert(ToType* output, const char* input) 402 386 { 403 387 return convertValue<std::string, ToType>(output, input); … … 409 393 struct ConverterExplicit<char, std::string> 410 394 { 411 static bool convert(std::string* output, const char input)395 FORCEINLINE static bool convert(std::string* output, const char input) 412 396 { 413 397 *output = std::string(1, input); … … 418 402 struct ConverterExplicit<unsigned char, std::string> 419 403 { 420 static bool convert(std::string* output, const unsigned char input)404 FORCEINLINE static bool convert(std::string* output, const unsigned char input) 421 405 { 422 406 *output = std::string(1, input); … … 427 411 struct ConverterExplicit<std::string, char> 428 412 { 429 static bool convert(char* output, const std::string input)413 FORCEINLINE static bool convert(char* output, const std::string input) 430 414 { 431 415 if (input != "") … … 439 423 struct ConverterExplicit<std::string, unsigned char> 440 424 { 441 static bool convert(unsigned char* output, const std::string input)425 FORCEINLINE static bool convert(unsigned char* output, const std::string input) 442 426 { 443 427 if (input != "") … … 454 438 struct ConverterExplicit<bool, std::string> 455 439 { 456 static bool convert(std::string* output, const bool& input)440 FORCEINLINE static bool convert(std::string* output, const bool& input) 457 441 { 458 442 if (input) -
code/trunk/src/util/Debug.h
r2171 r3196 63 63 #include "UtilPrereqs.h" 64 64 65 #include <stdio.h>66 67 65 #include "OutputHandler.h" 68 66 … … 73 71 @return The soft debug level 74 72 */ 75 staticinline int getSoftDebugLevel()73 inline int getSoftDebugLevel() 76 74 { 77 75 return OutputHandler::getSoftDebugLevel(); -
code/trunk/src/util/Exception.cc
r3068 r3196 37 37 namespace orxonox 38 38 { 39 Exception::Exception(const std::string& description, int lineNumber,39 Exception::Exception(const std::string& description, unsigned int lineNumber, 40 40 const char* filename, const char* functionName) 41 41 : description_(description) … … 52 52 { } 53 53 54 /** 55 @remarks 56 The composed full description gets stored to fullDescription_. But for compliance 57 with std::exception, this method has to be const. Hence fullDescription_ is declared 58 as mutable. 59 */ 54 60 const std::string& Exception::getFullDescription() const 55 61 { -
code/trunk/src/util/Exception.h
r3068 r3196 30 30 @file 31 31 @brief 32 Declaration of the Exception class.32 Declaration of facilities to handle exceptions. 33 33 */ 34 34 … … 38 38 #include "UtilPrereqs.h" 39 39 40 #include <exception> 41 #include <sstream> 40 42 #include <string> 41 #include <exception>42 #include <cassert>43 43 #include "Debug.h" 44 44 45 45 namespace orxonox 46 46 { 47 /** 48 @brief 49 Base class for all exceptions (derived from std::exception). 50 @details 51 This class provides support for information about the file, the line 52 and the function the error occured. 53 */ 47 54 class _UtilExport Exception : public std::exception 48 55 { 49 56 public: 50 51 Exception(const std::string& description, int lineNumber, 57 /** 58 @brief 59 Creates the exception but doesn't yet compose the full descrption (because of the virtual functions) 60 @param description 61 Exception description as string. This message is supposed to help developers! 62 */ 63 Exception(const std::string& description, unsigned int lineNumber, 52 64 const char* filename, const char* functionName); 65 //! Simplified constructor with just a description. If you need more, use the other one. 53 66 Exception(const std::string& description); 54 67 55 // / Needed for compatibility with std::exception (from Ogre::Exception)68 //! Needed for compatibility with std::exception 56 69 virtual ~Exception() throw() { } 57 70 71 //! Returns a full description with type, line, file and function 58 72 virtual const std::string& getFullDescription() const; 73 //! Returns the string name of the exception type 59 74 virtual std::string getTypeName() const = 0; 75 //! Returns the short developer written exception 60 76 virtual const std::string& getDescription() const { return this->description_; } 61 virtual const int getLineNumber() const { return this->lineNumber_; } 77 //! Returns the line number on which the exception occurred. 78 virtual const unsigned int getLineNumber() const { return this->lineNumber_; } 79 //! Returns the function in which the exception occurred. 62 80 virtual const std::string& getFunctionName() const { return this->functionName_; } 81 //! Returns the filename in which the exception occurred. 82 virtual const std::string& getFilename() const { return this->filename_; } 63 83 64 // / Override std::exception::what (from Ogre::Exception)84 //! Returns a full description of the error. 65 85 const char* what() const throw() { return getFullDescription().c_str(); } 66 86 67 87 protected: 68 std::string description_; 69 int lineNumber_;70 std::string functionName_; 71 std::string filename_; 88 std::string description_; //!< User typed text about why the exception occurred 89 unsigned int lineNumber_; //!< Line on which the exception occurred 90 std::string functionName_; //!< Function (including namespace and class) where the exception occurred 91 std::string filename_; //!< File where the exception occurred 72 92 // mutable because "what()" is a const method 73 mutable std::string fullDescription_; 93 mutable std::string fullDescription_; //!< Full description with line, file and function 74 94 }; 75 95 76 96 //! Creates a new type of exception that inherits from tracker::Exception 77 97 #define CREATE_ORXONOX_EXCEPTION(ExceptionName) \ 78 98 class ExceptionName##Exception : public Exception \ 79 99 { \ 80 100 public: \ 81 ExceptionName##Exception(const std::string& description, int lineNumber, \ 82 const char* filename, const char* functionName) \ 83 : Exception(description, lineNumber, filename, functionName) \ 101 ExceptionName##Exception(const std::string& description, \ 102 unsigned int lineNumber, const char* filename, \ 103 const char* functionName) \ 104 : Exception(description, lineNumber, filename, functionName) \ 84 105 { } \ 85 106 \ 86 107 ExceptionName##Exception(const std::string& description) \ 87 : Exception(description)\108 : Exception(description) \ 88 109 { } \ 89 110 \ … … 91 112 \ 92 113 std::string getTypeName() const { return #ExceptionName; } \ 93 } ;114 } 94 115 95 116 // Creates all possible exception types. 96 117 // If you want to add a new type, simply copy and adjust a new line here. 118 #ifndef DOXYGEN_SHOULD_SKIP_THIS 97 119 CREATE_ORXONOX_EXCEPTION(General); 98 120 CREATE_ORXONOX_EXCEPTION(FileNotFound); … … 106 128 CREATE_ORXONOX_EXCEPTION(NoGraphics); 107 129 CREATE_ORXONOX_EXCEPTION(AbortLoading); 108 } 130 #endif 109 131 110 132 /** 111 133 @brief 112 Helper function that creates an exception, displays the message, but doesn't throw it. 134 Helper function that forwards an exception and displays the message. 135 @details 136 This is necessary because only when using 'throw' the objects storage is managed. 113 137 */ 114 138 template <class T> 115 inline const T& InternalHandleException(const T& exception)139 inline const T& exceptionThrowerHelper(const T& exception) 116 140 { 117 141 // let the catcher decide whether to display the message below level 4 … … 120 144 } 121 145 122 #define ThrowException(type, description) \ 123 throw InternalHandleException(type##Exception(description, __LINE__, __FILE__, __FUNCTIONNAME__)) 146 /** 147 @brief 148 Throws an exception and logs a message beforehand. 149 @param type 150 Type of the exception as literal (General, Initialisation, etc.) 151 @param description 152 Exception description as string 153 */ 154 #define ThrowException(type, description, ...) \ 155 throw orxonox::exceptionThrowerHelper(type##Exception(static_cast<std::ostringstream&>(std::ostringstream().flush() << description).str(), __LINE__, __FILE__, __FUNCTIONNAME__)) 124 156 125 // define an assert macro that can display a message 126 #ifndef NDEBUG 127 #define OrxAssert(Assertion, ErrorMessage) \ 128 Assertion ? ((void)0) : (void)(orxonox::OutputHandler::getOutStream().setOutputLevel(ORX_ERROR) << ErrorMessage << std::endl); \ 129 assert(Assertion) 130 #else 131 #define OrxAssert(condition, errorMessage) ((void)0) 132 #endif 157 } /* namespace orxonox */ 133 158 134 159 #endif /* _Exception_H__ */ -
code/trunk/src/util/ExprParser.cc
r2171 r3196 35 35 #include <cmath> 36 36 #include <cstring> 37 #include < stdlib.h>37 #include <cstdlib> 38 38 39 39 // macros for easier if, else statements … … 247 247 return 0; 248 248 } 249 else if ( *reading_stream > 47 && *reading_stream < 59|| *reading_stream == 46)249 else if ((*reading_stream > 47 && *reading_stream < 59) || *reading_stream == 46) 250 250 { // number 251 251 value = strtod(reading_stream, const_cast<char**>(&reading_stream)); 252 252 } 253 else if ( *reading_stream > 64 && *reading_stream < 91 || *reading_stream > 96 && *reading_stream < 123|| *reading_stream == 46)253 else if ((*reading_stream > 64 && *reading_stream < 91) || (*reading_stream > 96 && *reading_stream < 123) || *reading_stream == 46) 254 254 { // variable or function 255 255 char* word = new char[256]; … … 384 384 char* word = str; 385 385 int counter = 0; 386 while ( *reading_stream > 47 && *reading_stream < 58 || *reading_stream > 64 && *reading_stream < 91 || *reading_stream > 96 && *reading_stream < 123|| *reading_stream == 46)386 while ((*reading_stream > 47 && *reading_stream < 58) || (*reading_stream > 64 && *reading_stream < 91) || (*reading_stream > 96 && *reading_stream < 123) || *reading_stream == 46) 387 387 { 388 388 *word++ = *reading_stream++; -
code/trunk/src/util/ExprParser.h
r2171 r3196 72 72 73 73 ExprParser(const std::string& str); 74 std::string& getRemains() { return this->remains_; }75 double getResult() { return this->result_; }76 bool getSuccess() { return !this->failed_; }74 const std::string& getRemains() { return this->remains_; } 75 double getResult() { return this->result_; } 76 bool getSuccess() { return !this->failed_; } 77 77 78 78 private: -
code/trunk/src/util/Math.cc
r3049 r3196 35 35 36 36 #include <OgrePlane.h> 37 37 38 #include "MathConvert.h" 38 39 #include "SubString.h" 39 40 // Do not remove this include to avoid linker errors. 40 // Do not remove this include, it avoids linker errors. 41 41 #include "mbool.h" 42 42 … … 238 238 if (tokens.size() >= 2) 239 239 { 240 if (! ConvertValue(&(output->x), tokens[0]))241 return false; 242 if (! ConvertValue(&(output->y), tokens[1]))240 if (!convertValue(&(output->x), tokens[0])) 241 return false; 242 if (!convertValue(&(output->y), tokens[1])) 243 243 return false; 244 244 … … 261 261 if (tokens.size() >= 3) 262 262 { 263 if (! ConvertValue(&(output->x), tokens[0]))264 return false; 265 if (! ConvertValue(&(output->y), tokens[1]))266 return false; 267 if (! ConvertValue(&(output->z), tokens[2]))263 if (!convertValue(&(output->x), tokens[0])) 264 return false; 265 if (!convertValue(&(output->y), tokens[1])) 266 return false; 267 if (!convertValue(&(output->z), tokens[2])) 268 268 return false; 269 269 … … 286 286 if (tokens.size() >= 4) 287 287 { 288 if (! ConvertValue(&(output->x), tokens[0]))289 return false; 290 if (! ConvertValue(&(output->y), tokens[1]))291 return false; 292 if (! ConvertValue(&(output->z), tokens[2]))293 return false; 294 if (! ConvertValue(&(output->w), tokens[3]))288 if (!convertValue(&(output->x), tokens[0])) 289 return false; 290 if (!convertValue(&(output->y), tokens[1])) 291 return false; 292 if (!convertValue(&(output->z), tokens[2])) 293 return false; 294 if (!convertValue(&(output->w), tokens[3])) 295 295 return false; 296 296 … … 309 309 if (tokens.size() >= 4) 310 310 { 311 if (! ConvertValue(&(output->w), tokens[0]))312 return false; 313 if (! ConvertValue(&(output->x), tokens[1]))314 return false; 315 if (! ConvertValue(&(output->y), tokens[2]))316 return false; 317 if (! ConvertValue(&(output->z), tokens[3]))311 if (!convertValue(&(output->w), tokens[0])) 312 return false; 313 if (!convertValue(&(output->x), tokens[1])) 314 return false; 315 if (!convertValue(&(output->y), tokens[2])) 316 return false; 317 if (!convertValue(&(output->z), tokens[3])) 318 318 return false; 319 319 … … 332 332 if (tokens.size() >= 3) 333 333 { 334 if (! ConvertValue(&(output->r), tokens[0]))335 return false; 336 if (! ConvertValue(&(output->g), tokens[1]))337 return false; 338 if (! ConvertValue(&(output->b), tokens[2]))334 if (!convertValue(&(output->r), tokens[0])) 335 return false; 336 if (!convertValue(&(output->g), tokens[1])) 337 return false; 338 if (!convertValue(&(output->b), tokens[2])) 339 339 return false; 340 340 if (tokens.size() >= 4) 341 341 { 342 if (! ConvertValue(&(output->a), tokens[3]))342 if (!convertValue(&(output->a), tokens[3])) 343 343 return false; 344 344 } -
code/trunk/src/util/Math.h
r2872 r3196 37 37 #include "UtilPrereqs.h" 38 38 39 #include <ostream>40 39 #include <string> 41 40 #include <cmath> 42 #include <boost/static_assert.hpp>43 41 44 42 #include <OgreMath.h> … … 46 44 #include <OgreVector3.h> 47 45 #include <OgreVector4.h> 48 #include <OgreMatrix3.h>49 #include <OgreMatrix4.h>50 46 #include <OgreQuaternion.h> 51 47 #include <OgreColourValue.h> … … 58 54 namespace orxonox 59 55 { 60 using Ogre::Radian;61 using Ogre::Degree;62 using Ogre::Vector2;63 using Ogre::Vector3;64 using Ogre::Vector4;65 using Ogre::Matrix3;66 using Ogre::Matrix4;67 using Ogre::Quaternion;68 using Ogre::ColourValue;69 70 // Also define our own transform space enum71 namespace TransformSpace72 {73 /**74 @brief75 Enumeration denoting the spaces which a transform can be relative to.76 */77 enum Enum78 {79 //! Transform is relative to the local space80 Local,81 //! Transform is relative to the space of the parent node82 Parent,83 //! Transform is relative to world space84 World85 };86 }87 88 56 _UtilExport std::ostream& operator<<(std::ostream& out, const orxonox::Radian& radian); 89 57 _UtilExport std::istream& operator>>(std::istream& in, orxonox::Radian& radian); … … 217 185 template <> inline orxonox::Quaternion zeroise<orxonox::Quaternion>() { return orxonox::Quaternion (0, 0, 0, 0); } 218 186 187 //! Provides zero value symbols that can be returned as reference 188 template <typename T> 189 struct NilValue 190 { 191 inline operator const T&() const 192 { 193 return value; 194 } 195 static T value; 196 }; 197 template <typename T> 198 T NilValue<T>::value = zeroise<T>(); 199 219 200 /** 220 201 @brief Interpolates between two values for a time between 0 and 1. … … 225 206 */ 226 207 template <typename T> 227 T interpolate(float time, const T& start, const T& end)208 inline T interpolate(float time, const T& start, const T& end) 228 209 { 229 210 return time * (end - start) + start; … … 238 219 */ 239 220 template <typename T> 240 T interpolateSmooth(float time, const T& start, const T& end)221 inline T interpolateSmooth(float time, const T& start, const T& end) 241 222 { 242 223 return (-2 * (end - start) * cube(time)) + (3 * (end - start) * square(time)) + start; … … 248 229 inline float rnd() 249 230 { 250 return rand() / (RAND_MAX + 1.0 );231 return rand() / (RAND_MAX + 1.0f); 251 232 } 252 233 … … 275 256 inline float rndsgn() 276 257 { 277 return ((rand() & 0x2) - 1); // rand() & 0x2 is either 2 or 0258 return static_cast<float>((rand() & 0x2) - 1); // rand() & 0x2 is either 2 or 0 278 259 } 279 260 … … 283 264 { 284 265 public: 285 IntVector2() : x(0), y(0) { }286 IntVector2(int _x, int _y) : x(_x), y(_y) { }287 int x;288 int y;266 IntVector2() : x(0), y(0) { } 267 IntVector2(int _x, int _y) : x(_x), y(_y) { } 268 int x; 269 int y; 289 270 }; 290 271 … … 292 273 { 293 274 public: 294 IntVector3() : x(0), y(0), z(0) { }295 IntVector3(int _x, int _y, int _z) : x(_x), y(_y), z(_z) { }296 int x;297 int y;298 int z;275 IntVector3() : x(0), y(0), z(0) { } 276 IntVector3(int _x, int _y, int _z) : x(_x), y(_y), z(_z) { } 277 int x; 278 int y; 279 int z; 299 280 }; 300 281 } -
code/trunk/src/util/MathConvert.h
r2171 r3196 50 50 struct ConverterExplicit<orxonox::Vector2, std::string> 51 51 { 52 static bool convert(std::string* output, const orxonox::Vector2& input)52 FORCEINLINE static bool convert(std::string* output, const orxonox::Vector2& input) 53 53 { 54 54 std::ostringstream ostream; … … 66 66 struct ConverterExplicit<orxonox::Vector3, std::string> 67 67 { 68 static bool convert(std::string* output, const orxonox::Vector3& input)68 FORCEINLINE static bool convert(std::string* output, const orxonox::Vector3& input) 69 69 { 70 70 std::ostringstream ostream; … … 82 82 struct ConverterExplicit<orxonox::Vector4, std::string> 83 83 { 84 static bool convert(std::string* output, const orxonox::Vector4& input)84 FORCEINLINE static bool convert(std::string* output, const orxonox::Vector4& input) 85 85 { 86 86 std::ostringstream ostream; … … 98 98 struct ConverterExplicit<orxonox::Quaternion, std::string> 99 99 { 100 static bool convert(std::string* output, const orxonox::Quaternion& input)100 FORCEINLINE static bool convert(std::string* output, const orxonox::Quaternion& input) 101 101 { 102 102 std::ostringstream ostream; … … 114 114 struct ConverterExplicit<orxonox::ColourValue, std::string> 115 115 { 116 static bool convert(std::string* output, const orxonox::ColourValue& input)116 FORCEINLINE static bool convert(std::string* output, const orxonox::ColourValue& input) 117 117 { 118 118 std::ostringstream ostream; … … 156 156 struct ConverterFallback<orxonox::Radian, ToType> 157 157 { 158 static bool convert(ToType* output, const orxonox::Radian& input)158 FORCEINLINE static bool convert(ToType* output, const orxonox::Radian& input) 159 159 { 160 160 return convertValue<Ogre::Real, ToType>(output, input.valueRadians()); … … 166 166 struct ConverterFallback<orxonox::Degree, ToType> 167 167 { 168 static bool convert(ToType* output, const orxonox::Degree& input)168 FORCEINLINE static bool convert(ToType* output, const orxonox::Degree& input) 169 169 { 170 170 return convertValue<Ogre::Real, ToType>(output, input.valueDegrees()); … … 176 176 struct ConverterFallback<FromType, orxonox::Radian> 177 177 { 178 static bool convert(orxonox::Radian* output, const FromType& input)178 FORCEINLINE static bool convert(orxonox::Radian* output, const FromType& input) 179 179 { 180 180 float temp; … … 193 193 struct ConverterFallback<FromType, orxonox::Degree> 194 194 { 195 static bool convert(orxonox::Degree* output, const FromType& input)195 FORCEINLINE static bool convert(orxonox::Degree* output, const FromType& input) 196 196 { 197 197 float temp; -
code/trunk/src/util/MultiType.cc
r2662 r3196 159 159 } 160 160 161 MultiType::operator char() const { return (this->value_) ? ((this->value_->type_ == MT_char ) ? ( (MT_Value<char> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */162 MultiType::operator unsigned char() const { return (this->value_) ? ((this->value_->type_ == MT_uchar ) ? ( (MT_Value<unsigned char> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */163 MultiType::operator short() const { return (this->value_) ? ((this->value_->type_ == MT_short ) ? ( (MT_Value<short> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */164 MultiType::operator unsigned short() const { return (this->value_) ? ((this->value_->type_ == MT_ushort ) ? ( (MT_Value<unsigned short> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */165 MultiType::operator int() const { return (this->value_) ? ((this->value_->type_ == MT_int ) ? ( (MT_Value<int> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */166 MultiType::operator unsigned int() const { return (this->value_) ? ((this->value_->type_ == MT_uint ) ? ( (MT_Value<unsigned int> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */167 MultiType::operator long() const { return (this->value_) ? ((this->value_->type_ == MT_long ) ? ( (MT_Value<long> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */168 MultiType::operator unsigned long() const { return (this->value_) ? ((this->value_->type_ == MT_ulong ) ? ( (MT_Value<unsigned long> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */169 MultiType::operator long long() const { return (this->value_) ? ((this->value_->type_ == MT_longlong ) ? ( (MT_Value<long long> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */170 MultiType::operator unsigned long long() const { return (this->value_) ? ((this->value_->type_ == MT_ulonglong ) ? ( (MT_Value<unsigned long long> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */171 MultiType::operator float() const { return (this->value_) ? ((this->value_->type_ == MT_float ) ? ( (MT_Value<float> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */172 MultiType::operator double() const { return (this->value_) ? ((this->value_->type_ == MT_double ) ? ( (MT_Value<double> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */173 MultiType::operator long double() const { return (this->value_) ? ((this->value_->type_ == MT_longdouble ) ? ( (MT_Value<long double> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */174 MultiType::operator bool() const { return (this->value_) ? ((this->value_->type_ == MT_bool ) ? ( (MT_Value<bool> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */175 MultiType::operator void*() const { return (this->value_) ? ((this->value_->type_ == MT_void ) ? ( (MT_Value<void*> *)this->value_)->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */176 MultiType::operator std::string() const { return (this->value_) ? ((this->value_->type_ == MT_string ) ? ( (MT_Value<std::string> *)this->value_)->value_ : (*this->value_)) : zeroise<std::string>(); } /** @brief Returns the current value, converted to the requested type. */177 MultiType::operator orxonox::Vector2() const { return (this->value_) ? ((this->value_->type_ == MT_vector2 ) ? ( (MT_Value<orxonox::Vector2> *)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::Vector2>(); } /** @brief Returns the current value, converted to the requested type. */178 MultiType::operator orxonox::Vector3() const { return (this->value_) ? ((this->value_->type_ == MT_vector3 ) ? ( (MT_Value<orxonox::Vector3> *)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::Vector3>(); } /** @brief Returns the current value, converted to the requested type. */179 MultiType::operator orxonox::Vector4() const { return (this->value_) ? ((this->value_->type_ == MT_vector4 ) ? ( (MT_Value<orxonox::Vector4> *)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::Vector4>(); } /** @brief Returns the current value, converted to the requested type. */180 MultiType::operator orxonox::ColourValue() const { return (this->value_) ? ((this->value_->type_ == MT_colourvalue) ? ( (MT_Value<orxonox::ColourValue>*)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::ColourValue>(); } /** @brief Returns the current value, converted to the requested type. */181 MultiType::operator orxonox::Quaternion() const { return (this->value_) ? ((this->value_->type_ == MT_quaternion ) ? ( (MT_Value<orxonox::Quaternion> *)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::Quaternion>(); } /** @brief Returns the current value, converted to the requested type. */182 MultiType::operator orxonox::Radian() const { return (this->value_) ? ((this->value_->type_ == MT_radian ) ? ( (MT_Value<orxonox::Radian> *)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::Radian>(); } /** @brief Returns the current value, converted to the requested type. */183 MultiType::operator orxonox::Degree() const { return (this->value_) ? ((this->value_->type_ == MT_degree ) ? ( (MT_Value<orxonox::Degree> *)this->value_)->value_ : (*this->value_)) : zeroise<orxonox::Degree>(); } /** @brief Returns the current value, converted to the requested type. */161 MultiType::operator char() const { return (this->value_) ? ((this->value_->type_ == MT_char ) ? (static_cast<MT_Value<char> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 162 MultiType::operator unsigned char() const { return (this->value_) ? ((this->value_->type_ == MT_uchar ) ? (static_cast<MT_Value<unsigned char> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 163 MultiType::operator short() const { return (this->value_) ? ((this->value_->type_ == MT_short ) ? (static_cast<MT_Value<short> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 164 MultiType::operator unsigned short() const { return (this->value_) ? ((this->value_->type_ == MT_ushort ) ? (static_cast<MT_Value<unsigned short> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 165 MultiType::operator int() const { return (this->value_) ? ((this->value_->type_ == MT_int ) ? (static_cast<MT_Value<int> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 166 MultiType::operator unsigned int() const { return (this->value_) ? ((this->value_->type_ == MT_uint ) ? (static_cast<MT_Value<unsigned int> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 167 MultiType::operator long() const { return (this->value_) ? ((this->value_->type_ == MT_long ) ? (static_cast<MT_Value<long> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 168 MultiType::operator unsigned long() const { return (this->value_) ? ((this->value_->type_ == MT_ulong ) ? (static_cast<MT_Value<unsigned long> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 169 MultiType::operator long long() const { return (this->value_) ? ((this->value_->type_ == MT_longlong ) ? (static_cast<MT_Value<long long> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 170 MultiType::operator unsigned long long() const { return (this->value_) ? ((this->value_->type_ == MT_ulonglong ) ? (static_cast<MT_Value<unsigned long long> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 171 MultiType::operator float() const { return (this->value_) ? ((this->value_->type_ == MT_float ) ? (static_cast<MT_Value<float> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 172 MultiType::operator double() const { return (this->value_) ? ((this->value_->type_ == MT_double ) ? (static_cast<MT_Value<double> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 173 MultiType::operator long double() const { return (this->value_) ? ((this->value_->type_ == MT_longdouble ) ? (static_cast<MT_Value<long double> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 174 MultiType::operator bool() const { return (this->value_) ? ((this->value_->type_ == MT_bool ) ? (static_cast<MT_Value<bool> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 175 MultiType::operator void*() const { return (this->value_) ? ((this->value_->type_ == MT_void ) ? (static_cast<MT_Value<void*> *>(this->value_))->value_ : (*this->value_)) : 0; } /** @brief Returns the current value, converted to the requested type. */ 176 MultiType::operator std::string() const { return (this->value_) ? ((this->value_->type_ == MT_string ) ? (static_cast<MT_Value<std::string> *>(this->value_))->value_ : (*this->value_)) : NilValue<std::string>(); } /** @brief Returns the current value, converted to the requested type. */ 177 MultiType::operator orxonox::Vector2() const { return (this->value_) ? ((this->value_->type_ == MT_vector2 ) ? (static_cast<MT_Value<orxonox::Vector2> *>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::Vector2>(); } /** @brief Returns the current value, converted to the requested type. */ 178 MultiType::operator orxonox::Vector3() const { return (this->value_) ? ((this->value_->type_ == MT_vector3 ) ? (static_cast<MT_Value<orxonox::Vector3> *>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::Vector3>(); } /** @brief Returns the current value, converted to the requested type. */ 179 MultiType::operator orxonox::Vector4() const { return (this->value_) ? ((this->value_->type_ == MT_vector4 ) ? (static_cast<MT_Value<orxonox::Vector4> *>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::Vector4>(); } /** @brief Returns the current value, converted to the requested type. */ 180 MultiType::operator orxonox::ColourValue() const { return (this->value_) ? ((this->value_->type_ == MT_colourvalue) ? (static_cast<MT_Value<orxonox::ColourValue>*>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::ColourValue>(); } /** @brief Returns the current value, converted to the requested type. */ 181 MultiType::operator orxonox::Quaternion() const { return (this->value_) ? ((this->value_->type_ == MT_quaternion ) ? (static_cast<MT_Value<orxonox::Quaternion> *>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::Quaternion>(); } /** @brief Returns the current value, converted to the requested type. */ 182 MultiType::operator orxonox::Radian() const { return (this->value_) ? ((this->value_->type_ == MT_radian ) ? (static_cast<MT_Value<orxonox::Radian> *>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::Radian>(); } /** @brief Returns the current value, converted to the requested type. */ 183 MultiType::operator orxonox::Degree() const { return (this->value_) ? ((this->value_->type_ == MT_degree ) ? (static_cast<MT_Value<orxonox::Degree> *>(this->value_))->value_ : (*this->value_)) : NilValue<orxonox::Degree>(); } /** @brief Returns the current value, converted to the requested type. */ 184 184 185 185 template <> void MultiType::createNewValueContainer(const char& value) { this->value_ = new MT_Value<char> (value, MT_char ); } /** @brief Creates a new value container for the given type. */ -
code/trunk/src/util/MultiType.h
r3084 r3196 69 69 #include "UtilPrereqs.h" 70 70 71 #include <boost/static_assert.hpp> 72 73 #include "Math.h" 71 #include <cassert> 72 #include <string> 73 #include <OgreVector2.h> 74 #include <OgreVector3.h> 75 #include <OgreVector4.h> 76 #include <OgreQuaternion.h> 77 #include <OgreColourValue.h> 74 78 75 79 namespace orxonox … … 441 445 template <typename T> inline void changeValueContainer(const T& value) { if (this->value_) { delete this->value_; } this->createNewValueContainer<T>(value); } 442 446 /** @brief Creates a new value container (works only with specialized types). */ 443 template <typename T> void createNewValueContainer(const T& value) { BOOST_STATIC_ASSERT(sizeof(T) == 0); return false; }447 template <typename T> void createNewValueContainer(const T& value) { /* STATIC ASSERT */ *****value; return false; } 444 448 445 449 MT_ValueBase* value_; //!< A pointer to the value container -
code/trunk/src/util/MultiTypeValue.h
r3084 r3196 38 38 39 39 #include "UtilPrereqs.h" 40 41 #include <cassert> 40 42 #include "MathConvert.h" 41 43 #include "MultiType.h" 42 44 #include "Serialise.h" 43 #include <cassert>44 45 45 46 namespace orxonox … … 75 76 } 76 77 77 inline bool getValue(char* value) const { return ConvertValue<T, char >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */78 inline bool getValue(unsigned char* value) const { return ConvertValue<T, unsigned char >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */79 inline bool getValue(short* value) const { return ConvertValue<T, short >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */80 inline bool getValue(unsigned short* value) const { return ConvertValue<T, unsigned short >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */81 inline bool getValue(int* value) const { return ConvertValue<T, int >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */82 inline bool getValue(unsigned int* value) const { return ConvertValue<T, unsigned int >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */83 inline bool getValue(long* value) const { return ConvertValue<T, long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */84 inline bool getValue(unsigned long* value) const { return ConvertValue<T, unsigned long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */85 inline bool getValue(long long* value) const { return ConvertValue<T, long long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */86 inline bool getValue(unsigned long long* value) const { return ConvertValue<T, unsigned long long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */87 inline bool getValue(float* value) const { return ConvertValue<T, float >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */88 inline bool getValue(double* value) const { return ConvertValue<T, double >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */89 inline bool getValue(long double* value) const { return ConvertValue<T, long double >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */90 inline bool getValue(bool* value) const { return ConvertValue<T, bool >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */91 inline bool getValue(void** value) const { return ConvertValue<T, void* >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */92 inline bool getValue(std::string* value) const { return ConvertValue<T, std::string >(value, value_, zeroise<std::string> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */93 inline bool getValue(orxonox::Vector2* value) const { return ConvertValue<T, orxonox::Vector2 >(value, value_, zeroise<orxonox::Vector2> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */94 inline bool getValue(orxonox::Vector3* value) const { return ConvertValue<T, orxonox::Vector3 >(value, value_, zeroise<orxonox::Vector3> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */95 inline bool getValue(orxonox::Vector4* value) const { return ConvertValue<T, orxonox::Vector4 >(value, value_, zeroise<orxonox::Vector4> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */96 inline bool getValue(orxonox::ColourValue* value) const { return ConvertValue<T, orxonox::ColourValue>(value, value_, zeroise<orxonox::ColourValue>()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */97 inline bool getValue(orxonox::Quaternion* value) const { return ConvertValue<T, orxonox::Quaternion >(value, value_, zeroise<orxonox::Quaternion> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */98 inline bool getValue(orxonox::Radian* value) const { return ConvertValue<T, orxonox::Radian >(value, value_, zeroise<orxonox::Radian> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */99 inline bool getValue(orxonox::Degree* value) const { return ConvertValue<T, orxonox::Degree >(value, value_, zeroise<orxonox::Degree> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */100 101 inline bool setValue(const char& value) { return !(bHasDefaultValue_ = ! ConvertValue<char , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */102 inline bool setValue(const unsigned char& value) { return !(bHasDefaultValue_ = ! ConvertValue<unsigned char , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */103 inline bool setValue(const short& value) { return !(bHasDefaultValue_ = ! ConvertValue<short , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */104 inline bool setValue(const unsigned short& value) { return !(bHasDefaultValue_ = ! ConvertValue<unsigned short , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */105 inline bool setValue(const int& value) { return !(bHasDefaultValue_ = ! ConvertValue<int , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */106 inline bool setValue(const unsigned int& value) { return !(bHasDefaultValue_ = ! ConvertValue<unsigned int , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */107 inline bool setValue(const long& value) { return !(bHasDefaultValue_ = ! ConvertValue<long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */108 inline bool setValue(const unsigned long& value) { return !(bHasDefaultValue_ = ! ConvertValue<unsigned long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */109 inline bool setValue(const long long& value) { return !(bHasDefaultValue_ = ! ConvertValue<long long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */110 inline bool setValue(const unsigned long long& value) { return !(bHasDefaultValue_ = ! ConvertValue<unsigned long long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */111 inline bool setValue(const float& value) { return !(bHasDefaultValue_ = ! ConvertValue<float , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */112 inline bool setValue(const double& value) { return !(bHasDefaultValue_ = ! ConvertValue<double , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */113 inline bool setValue(const long double& value) { return !(bHasDefaultValue_ = ! ConvertValue<long double , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */114 inline bool setValue(const bool& value) { return !(bHasDefaultValue_ = ! ConvertValue<bool , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */115 inline bool setValue( void* const& value) { return !(bHasDefaultValue_ = ! ConvertValue<void* , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */116 inline bool setValue(const std::string& value) { return !(bHasDefaultValue_ = ! ConvertValue<std::string , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */117 inline bool setValue(const orxonox::Vector2& value) { return !(bHasDefaultValue_ = ! ConvertValue<orxonox::Vector2 , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */118 inline bool setValue(const orxonox::Vector3& value) { return !(bHasDefaultValue_ = ! ConvertValue<orxonox::Vector3 , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */119 inline bool setValue(const orxonox::Vector4& value) { return !(bHasDefaultValue_ = ! ConvertValue<orxonox::Vector4 , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */120 inline bool setValue(const orxonox::ColourValue& value) { return !(bHasDefaultValue_ = ! ConvertValue<orxonox::ColourValue, T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */121 inline bool setValue(const orxonox::Quaternion& value) { return !(bHasDefaultValue_ = ! ConvertValue<orxonox::Quaternion , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */122 inline bool setValue(const orxonox::Radian& value) { return !(bHasDefaultValue_ = ! ConvertValue<orxonox::Radian , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */123 inline bool setValue(const orxonox::Degree& value) { return !(bHasDefaultValue_ = ! ConvertValue<orxonox::Degree , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */78 inline bool getValue(char* value) const { return convertValue<T, char >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 79 inline bool getValue(unsigned char* value) const { return convertValue<T, unsigned char >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 80 inline bool getValue(short* value) const { return convertValue<T, short >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 81 inline bool getValue(unsigned short* value) const { return convertValue<T, unsigned short >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 82 inline bool getValue(int* value) const { return convertValue<T, int >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 83 inline bool getValue(unsigned int* value) const { return convertValue<T, unsigned int >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 84 inline bool getValue(long* value) const { return convertValue<T, long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 85 inline bool getValue(unsigned long* value) const { return convertValue<T, unsigned long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 86 inline bool getValue(long long* value) const { return convertValue<T, long long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 87 inline bool getValue(unsigned long long* value) const { return convertValue<T, unsigned long long >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 88 inline bool getValue(float* value) const { return convertValue<T, float >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 89 inline bool getValue(double* value) const { return convertValue<T, double >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 90 inline bool getValue(long double* value) const { return convertValue<T, long double >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 91 inline bool getValue(bool* value) const { return convertValue<T, bool >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 92 inline bool getValue(void** value) const { return convertValue<T, void* >(value, value_, 0); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 93 inline bool getValue(std::string* value) const { return convertValue<T, std::string >(value, value_, zeroise<std::string> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 94 inline bool getValue(orxonox::Vector2* value) const { return convertValue<T, orxonox::Vector2 >(value, value_, zeroise<orxonox::Vector2> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 95 inline bool getValue(orxonox::Vector3* value) const { return convertValue<T, orxonox::Vector3 >(value, value_, zeroise<orxonox::Vector3> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 96 inline bool getValue(orxonox::Vector4* value) const { return convertValue<T, orxonox::Vector4 >(value, value_, zeroise<orxonox::Vector4> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 97 inline bool getValue(orxonox::ColourValue* value) const { return convertValue<T, orxonox::ColourValue>(value, value_, zeroise<orxonox::ColourValue>()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 98 inline bool getValue(orxonox::Quaternion* value) const { return convertValue<T, orxonox::Quaternion >(value, value_, zeroise<orxonox::Quaternion> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 99 inline bool getValue(orxonox::Radian* value) const { return convertValue<T, orxonox::Radian >(value, value_, zeroise<orxonox::Radian> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 100 inline bool getValue(orxonox::Degree* value) const { return convertValue<T, orxonox::Degree >(value, value_, zeroise<orxonox::Degree> ()); } /** @brief Assigns the value to the given pointer. The value gets converted if the types don't match. */ 101 102 inline bool setValue(const char& value) { return !(bHasDefaultValue_ = !convertValue<char , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 103 inline bool setValue(const unsigned char& value) { return !(bHasDefaultValue_ = !convertValue<unsigned char , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 104 inline bool setValue(const short& value) { return !(bHasDefaultValue_ = !convertValue<short , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 105 inline bool setValue(const unsigned short& value) { return !(bHasDefaultValue_ = !convertValue<unsigned short , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 106 inline bool setValue(const int& value) { return !(bHasDefaultValue_ = !convertValue<int , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 107 inline bool setValue(const unsigned int& value) { return !(bHasDefaultValue_ = !convertValue<unsigned int , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 108 inline bool setValue(const long& value) { return !(bHasDefaultValue_ = !convertValue<long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 109 inline bool setValue(const unsigned long& value) { return !(bHasDefaultValue_ = !convertValue<unsigned long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 110 inline bool setValue(const long long& value) { return !(bHasDefaultValue_ = !convertValue<long long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 111 inline bool setValue(const unsigned long long& value) { return !(bHasDefaultValue_ = !convertValue<unsigned long long , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 112 inline bool setValue(const float& value) { return !(bHasDefaultValue_ = !convertValue<float , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 113 inline bool setValue(const double& value) { return !(bHasDefaultValue_ = !convertValue<double , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 114 inline bool setValue(const long double& value) { return !(bHasDefaultValue_ = !convertValue<long double , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 115 inline bool setValue(const bool& value) { return !(bHasDefaultValue_ = !convertValue<bool , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 116 inline bool setValue( void* const& value) { return !(bHasDefaultValue_ = !convertValue<void* , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 117 inline bool setValue(const std::string& value) { return !(bHasDefaultValue_ = !convertValue<std::string , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 118 inline bool setValue(const orxonox::Vector2& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::Vector2 , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 119 inline bool setValue(const orxonox::Vector3& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::Vector3 , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 120 inline bool setValue(const orxonox::Vector4& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::Vector4 , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 121 inline bool setValue(const orxonox::ColourValue& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::ColourValue, T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 122 inline bool setValue(const orxonox::Quaternion& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::Quaternion , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 123 inline bool setValue(const orxonox::Radian& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::Radian , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 124 inline bool setValue(const orxonox::Degree& value) { return !(bHasDefaultValue_ = !convertValue<orxonox::Degree , T>(&value_, value, zeroise<T>())); } /** @brief Assigns the value by converting it to T. */ 124 125 125 126 inline operator char() const { return getConvertedValue<T, char> (this->value_, 0); } /** @brief Returns the current value, converted to the requested type. */ … … 194 195 saveAndIncrease( this->value_.z, mem ); 195 196 saveAndIncrease( this->value_.w, mem ); 196 }template <> inline uint8_t MT_Value<Ogre::Quaternion>::getSize() const 197 } 198 template <> inline uint8_t MT_Value<Ogre::Quaternion>::getSize() const 197 199 { 198 200 return 4*returnSize(this->value_.x); -
code/trunk/src/util/OutputBuffer.cc
r2710 r3196 44 44 void OutputBuffer::registerListener(OutputBufferListener* listener) 45 45 { 46 this->listeners_. insert(this->listeners_.end(),listener);46 this->listeners_.push_back(listener); 47 47 } 48 48 … … 53 53 void OutputBuffer::unregisterListener(OutputBufferListener* listener) 54 54 { 55 for (std:: list<OutputBufferListener*>::iterator it = this->listeners_.begin(); it != this->listeners_.end(); )55 for (std::vector<OutputBufferListener*>::iterator it = this->listeners_.begin(); it != this->listeners_.end(); ) 56 56 { 57 57 if ((*it) == listener) 58 this->listeners_.erase(it++);58 it = this->listeners_.erase(it); 59 59 else 60 60 ++it; … … 127 127 void OutputBuffer::callListeners() 128 128 { 129 for (std:: list<OutputBufferListener*>::iterator it = this->listeners_.begin(); it != this->listeners_.end(); ++it)129 for (std::vector<OutputBufferListener*>::iterator it = this->listeners_.begin(); it != this->listeners_.end(); ++it) 130 130 (*it)->outputChanged(); 131 131 } -
code/trunk/src/util/OutputBuffer.h
r2171 r3196 43 43 #define _OutputBuffer_H__ 44 44 45 #include <list> 45 #include "UtilPrereqs.h" 46 47 #include <vector> 46 48 #include <sstream> 47 #include <iostream>48 49 #include "UtilPrereqs.h"50 49 51 50 namespace orxonox … … 167 166 void callListeners(); 168 167 169 std::stringstream stream_; //!< The stringstream that stores the assigned text170 std:: list<OutputBufferListener*> listeners_; //!< A list of all listeners168 std::stringstream stream_; //!< The stringstream that stores the assigned text 169 std::vector<OutputBufferListener*> listeners_; //!< A list of all listeners 171 170 }; 172 171 } -
code/trunk/src/util/OutputHandler.h
r2710 r3196 63 63 64 64 /** @brief Puts some text on the outstream. @param text The text */ 65 static inline std::stringlog(const std::string& text)65 static inline const std::string& log(const std::string& text) 66 66 { OutputHandler::getOutStream().setOutputLevel(0); OutputHandler::getOutStream().output(text + "\n"); return text; } 67 67 68 68 /** @brief Puts an error on the outstream. @param text The text */ 69 static inline std::stringerror(const std::string& text)69 static inline const std::string& error(const std::string& text) 70 70 { OutputHandler::getOutStream().setOutputLevel(1); OutputHandler::getOutStream().output(text + "\n"); return text; } 71 71 72 72 /** @brief Puts a warning on the outstream. @param text The text */ 73 static inline std::stringwarning(const std::string& text)73 static inline const std::string& warning(const std::string& text) 74 74 { OutputHandler::getOutStream().setOutputLevel(2); OutputHandler::getOutStream().output(text + "\n"); return text; } 75 75 76 76 /** @brief Puts an info on the outstream. @param text The text */ 77 static inline std::stringinfo(const std::string& text)77 static inline const std::string& info(const std::string& text) 78 78 { OutputHandler::getOutStream().setOutputLevel(3); OutputHandler::getOutStream().output(text + "\n"); return text; } 79 79 80 80 /** @brief Puts some debug output on the outstream. @param text The text */ 81 static inline std::stringdebug(const std::string& text)81 static inline const std::string& debug(const std::string& text) 82 82 { OutputHandler::getOutStream().setOutputLevel(4); OutputHandler::getOutStream().output(text + "\n"); return text; } 83 83 -
code/trunk/src/util/SignalHandler.cc
r3068 r3196 33 33 34 34 #include "SignalHandler.h" 35 #include "Debug.h"36 35 37 36 #include <iostream> 38 37 #include <cstdlib> 39 38 #include <cstring> 39 #include "Debug.h" 40 40 41 41 namespace orxonox … … 209 209 { 210 210 if ( 211 charsFound == 0 && byte == '('||212 charsFound == 1 && byte == 'g'||213 charsFound == 2 && byte == 'd'||214 charsFound == 3 && byte == 'b'||215 charsFound == 4 && byte == ')'||216 charsFound == 5 && byte == ' '211 (charsFound == 0 && byte == '(') || 212 (charsFound == 1 && byte == 'g') || 213 (charsFound == 2 && byte == 'd') || 214 (charsFound == 3 && byte == 'b') || 215 (charsFound == 4 && byte == ')') || 216 (charsFound == 5 && byte == ' ') 217 217 ) 218 218 charsFound++; … … 246 246 247 247 if ( 248 charsFound == 0 && byte == '('||249 charsFound == 1 && byte == 'g'||250 charsFound == 2 && byte == 'd'||251 charsFound == 3 && byte == 'b'||252 charsFound == 4 && byte == ')'||253 charsFound == 5 && byte == ' '248 (charsFound == 0 && byte == '(') || 249 (charsFound == 1 && byte == 'g') || 250 (charsFound == 2 && byte == 'd') || 251 (charsFound == 3 && byte == 'b') || 252 (charsFound == 4 && byte == ')') || 253 (charsFound == 5 && byte == ' ') 254 254 ) 255 255 charsFound++; -
code/trunk/src/util/Sleep.cc
r2774 r3196 28 28 29 29 /** 30 @file 31 @brief Implementation of three sleep functions. 30 @file 31 @brief 32 Implementation of three sleep functions. Avoids including windows.h 32 33 */ 33 34 … … 43 44 { 44 45 if (microseconds < 1000) 45 COUT(2) << "Warning: Windows can 46 COUT(2) << "Warning: Windows cannot sleep less than 1ms, ignoring" << std::endl; 46 47 Sleep(microseconds / 1000); 47 48 } -
code/trunk/src/util/Sleep.h
r2773 r3196 28 28 29 29 /** 30 31 32 Functions for using sleep() and usleep() on windows.30 @file 31 @brief 32 Functions declarations to make the current thread sleep. 33 33 */ 34 34 … … 40 40 namespace orxonox 41 41 { 42 //! Makes the thread sleep for a few @a microseconds 42 43 _UtilExport void usleep(unsigned long microseconds); 44 //! Makes the thread sleep for a few @a milliseconds 43 45 _UtilExport void msleep(unsigned long milliseconds); 46 //! Makes the thread sleep for a few @a seconds 44 47 _UtilExport void sleep (unsigned long seconds); 45 48 } -
code/trunk/src/util/String.cc
r2662 r3196 35 35 36 36 #include <cctype> 37 #include <iostream>38 39 37 #include "Convert.h" 40 38 #include "Math.h" -
code/trunk/src/util/String.h
r2171 r3196 36 36 37 37 #include "UtilPrereqs.h" 38 39 38 #include <string> 40 #include <sstream>41 39 42 40 namespace orxonox -
code/trunk/src/util/SubString.cc
r3089 r3196 39 39 40 40 #include "SubString.h" 41 #include < stdio.h>41 #include <cstdio> 42 42 43 43 namespace orxonox -
code/trunk/src/util/UtilPrereqs.h
r2710 r3196 60 60 // Forward declarations 61 61 //----------------------------------------------------------------------- 62 namespace Ogre 63 { 64 class Radian; 65 class Degree; 66 class Vector2; 67 class Vector3; 68 class Vector4; 69 class Matrix3; 70 class Matrix4; 71 class Quaternion; 72 class ColourValue; 73 } 74 62 75 namespace orxonox 63 76 { 77 using Ogre::Radian; 78 using Ogre::Degree; 79 using Ogre::Vector2; 80 using Ogre::Vector3; 81 using Ogre::Vector4; 82 using Ogre::Matrix3; 83 using Ogre::Matrix4; 84 using Ogre::Quaternion; 85 using Ogre::ColourValue; 86 64 87 class Exception; 65 88 class ExprParser; -
code/trunk/src/util/mbool.h
r2662 r3196 36 36 struct _UtilExport mbool 37 37 { 38 // friend Synchronisable::registerVariable<>()39 38 public: 40 39 inline mbool(bool value = false)
Note: See TracChangeset
for help on using the changeset viewer.