Index: code/branches/buildsystem3/bin/CMakeLists.txt
===================================================================
--- code/branches/buildsystem3/bin/CMakeLists.txt	(revision 2684)
+++ code/branches/buildsystem3/bin/CMakeLists.txt	(revision 2685)
@@ -21,92 +21,8 @@
  #    Reto Grieder
  #  Description:
- #    Configures the binary output directory with files required for Orxonox
- #    to run like orxonox.ini or the default keybindings.
- #    Also creates a run-script in the root directory of the build tree.
+ #    Creates a run-script in the root directory of the build tree.
  #
- 
-SET(READ_ONLY_CONFIG_FILES
-  def_keybindings.ini
-  def_masterKeybindings.ini
-  disco.txt
-  irc.tcl
-  remote.tcl
-  telnet_server.tcl
-)
 
-SET(WRITABLE_CONFIG_FILES
-)
-
-# Not getting installed
-SET(ORXONOX_INI orxonox.ini)
-
-IF(TARDIS)
-  # OGRE can't find fonts to display config screen on Tardis,
-  # so providing default config file here (bug).
-  LIST(APPEND WRITABLE_CONFIG_FILES ogre.cfg)
-ENDIF(TARDIS)
-
-# We need the same code for both READ_ONLY and WRITABLE config files
-MACRO(CONFIGURE_FILES _file_name _build_configs _read_only_arg)
-  SET(_read_only ${_read_only_arg})
-  FOREACH(_build_config ${_build_configs})
-    # Is there an extra file in bin/Debug or bin/Release?
-    IF(${_build_config} MATCHES "Rel")
-      SET(_build_config_short "Release")
-    ELSE()
-      SET(_build_config_short "Debug")
-    ENDIF()
-    IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_build_config_short}/${_file_name})
-      SET(_in_file ${CMAKE_CURRENT_SOURCE_DIR}/${_build_config_short}/${_file_name})
-    ELSE()
-      SET(_in_file ${CMAKE_CURRENT_SOURCE_DIR}/${_file_name})
-    ENDIF()
-
-    # Copy to the folder named like the build config for Visual Studio
-    IF(CMAKE_CONFIGURATION_TYPES)
-      SET(_out_file ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_build_config}/${_file_name})
-    ELSE()
-      SET(_out_file ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_file_name})
-    ENDIF()
-    # Only copy if target file doesn't exist. This may result in problems but
-    # otherwise we might delete a user's config
-    IF(NOT EXISTS ${_out_file} OR _read_only)
-      CONFIGURE_FILE(${_in_file} ${_out_file} @ONLY)
-    ENDIF()
-  ENDFOREACH(_build_config)
-ENDMACRO(CONFIGURE_FILES)
-
-# Copy config files to all Visual Studio output directories
-IF(CMAKE_CONFIGURATION_TYPES)
-  SET(BUILD_CONFIGS ${CMAKE_CONFIGURATION_TYPES})
-ELSE()
-  SET(CONFIG_OUT_PATHS_REL ".")
-  SET(BUILD_CONFIGS ${CMAKE_BUILD_TYPE})
-ENDIF()
-
-FOREACH(_file_name ${READ_ONLY_CONFIG_FILES})
-  CONFIGURE_FILES("${_file_name}" "${BUILD_CONFIGS}" TRUE)
-ENDFOREACH(_file_name)
-FOREACH(_file_name ${WRITABLE_CONFIG_FILES} ${ORXONOX_INI})
-  CONFIGURE_FILES("${_file_name}" "${BUILD_CONFIGS}" FALSE)
-ENDFOREACH(_file_name)
-
-
-################ Installation #################
-
-# Not using collective call to allow configuration with CMake.
-FOREACH(_file ${READ_ONLY_CONFIG_FILES} ${WRITABLE_CONFIG_FILES})
-  IF(CMAKE_CONFIGURATION_TYPES)
-    FOREACH(_configuration ${CMAKE_CONFIGURATION_TYPES})
-      INSTALL(
-        FILES ${CMAKE_BINARY_DIR}/bin/${_configuration}/${_file}
-        DESTINATION ${ORXONOX_RUNTIME_INSTALL_PATH}
-        CONFIGURATIONS ${_configuration}
-      )
-    ENDFOREACH(_configuration)
-  ELSE()
-    INSTALL(FILES ${CMAKE_BINARY_DIR}/bin/${_file} DESTINATION ${ORXONOX_RUNTIME_INSTALL_PATH})
-  ENDIF()
-ENDFOREACH(_file)
+############ Configure Dev Build ##############
 
 
@@ -140,3 +56,7 @@
     CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${RUN_SCRIPT}.in ${CMAKE_BINARY_DIR}/${RUN_SCRIPT} @ONLY)
   ENDIF()
+
+  # In order to evaluate at run time whether it is a dev build in the build tree,
+  # we plant a special file
+  CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/orxonox_dev_build.keep_me ${CURRENT_RUNTIME_DIR}/orxonox_dev_build.keep_me)
 ENDFOREACH(_subdir)
Index: code/branches/buildsystem3/bin/def_keybindings.ini
===================================================================
--- code/branches/buildsystem3/bin/def_keybindings.ini	(revision 2684)
+++ 	(revision )
@@ -1,167 +1,0 @@
-[Keys]
-KeyA="scale -1 moveRightLeft"
-KeyABNT_C1=
-KeyABNT_C2=
-KeyAT=
-KeyAX=
-KeyApostrophe=
-KeyApps=
-KeyB=
-KeyBack=
-KeyBackslash=
-KeyC=switchCamera
-KeyCalculator=
-KeyCapsLock=
-KeyColon=
-KeyComma=
-KeyConvert=
-KeyD="scale 1 moveRightLeft"
-KeyDelete=
-KeyDivide=
-KeyDown=
-KeyE="scale -1 rotateRoll"
-KeyEnd=
-KeyEquals=
-KeyEscape="exit"
-KeyF="scale -1 moveUpDown"
-KeyF1=
-KeyF10=
-KeyF11=
-KeyF12=
-KeyF13=
-KeyF14=
-KeyF15=
-KeyF2="OverlayGroup toggleVisibility Stats"
-KeyF3=
-KeyF4=
-KeyF5=
-KeyF6=
-KeyF7=
-KeyF8=
-KeyF9=
-KeyG=greet
-KeyGrave=
-KeyH=
-KeyHome=
-KeyI=
-KeyInsert=
-KeyJ=
-KeyK=
-KeyKana=
-KeyKanji=
-KeyL=dropItems
-KeyLeft=
-KeyLeftAlt=
-KeyLeftBracket=
-KeyLeftControl=mouseLook
-KeyLeftShift=
-KeyLeftWindows=
-KeyLessThan=
-KeyM=
-KeyMail=
-KeyMediaSelect=
-KeyMediaStop=
-KeyMinus=
-KeyMultiply=
-KeyMute=
-KeyMyComputer=
-KeyN=
-KeyNextTrack=
-KeyNoConvert=
-KeyNumLock=
-KeyNumRow0=
-KeyNumRow1=
-KeyNumRow2=
-KeyNumRow3=
-KeyNumRow4=
-KeyNumRow5=
-KeyNumRow6=
-KeyNumRow7=
-KeyNumRow8=
-KeyNumRow9=
-KeyNumpad0=
-KeyNumpad1=
-KeyNumpad2=
-KeyNumpad3=
-KeyNumpad4=
-KeyNumpad5=
-KeyNumpad6=
-KeyNumpad7=
-KeyNumpad8=
-KeyNumpad9=
-KeyNumpadAdd=
-KeyNumpadComma=
-KeyNumpadEnter=
-KeyNumpadEquals=
-KeyNumpadPeriod=
-KeyNumpadSubtract=
-KeyO=
-KeyP=
-KeyPageDown=
-KeyPageUp=
-KeyPause=pause
-KeyPeriod=
-KeyPlayPause=
-KeyPower=
-KeyPreviousTrack=
-KeyQ="scale 1 rotateRoll"
-KeyR="scale 1 moveUpDown"
-KeyReturn=
-KeyRight=
-KeyRightAlt=
-KeyRightBracket=
-KeyRightControl=
-KeyRightShift=
-KeyRightWindows=
-KeyS="scale -1 moveFrontBack"
-KeyScrollLock=
-KeySemicolon=
-KeySlash=
-KeySleep=
-KeySpace=boost
-KeyStop=
-KeySystemRequest=
-KeyT=
-KeyTab="cycleNavigationFocus"
-KeyU=
-KeyUP=
-KeyUnassigned=
-KeyUnderline=
-KeyUnlabeled=
-KeyV=
-KeyVolumeDown=
-KeyVolumeUp=
-KeyW="scale 1 moveFrontBack"
-KeyWake=
-KeyWebBack=
-KeyWebFavorites=
-KeyWebForward=
-KeyWebHome=
-KeyWebRefresh=
-KeyWebSearch=
-KeyWebStop=
-KeyX=
-KeyY=
-KeyYen=
-KeyZ=
-
-[MouseButtons]
-MouseButton3=
-MouseButton4=
-MouseButton5=
-MouseButton6=
-MouseButton7=
-MouseLeft="fire"
-MouseMiddle=
-MouseRight="altfire"
-MouseWheel1Down=
-MouseWheel1Up=
-MouseWheel2Down=
-MouseWheel2Up=
-
-[MouseAxes]
-MouseXNeg="scale -1 rotateYaw"
-MouseXPos="scale 1 rotateYaw"
-MouseYNeg="scale -1 rotatePitch"
-MouseYPos="scale 1 rotatePitch"
-
Index: code/branches/buildsystem3/bin/def_masterKeybindings.ini
===================================================================
--- code/branches/buildsystem3/bin/def_masterKeybindings.ini	(revision 2684)
+++ 	(revision )
@@ -1,260 +1,0 @@
-[Keys]
-KeyA=
-KeyABNT_C1=
-KeyABNT_C2=
-KeyAT=
-KeyAX=
-KeyApostrophe=
-KeyApps=
-KeyB=
-KeyBack=
-KeyBackslash=
-KeyC=
-KeyCalculator=
-KeyCapsLock=
-KeyColon=
-KeyComma=
-KeyConvert=
-KeyD=
-KeyDelete=
-KeyDivide=
-KeyDown=
-KeyE=
-KeyEnd=
-KeyEquals=
-KeyEscape=
-KeyF=
-KeyF1="OverlayGroup toggleVisibility Debug"
-KeyF10=
-KeyF11=
-KeyF12=
-KeyF13=
-KeyF14=
-KeyF15=
-KeyF2=
-KeyF3=
-KeyF4=
-KeyF5=
-KeyF6=
-KeyF7=
-KeyF8=
-KeyF9=
-KeyG=
-KeyGrave="openConsole"
-KeyH=
-KeyHome=
-KeyI=
-KeyInsert=
-KeyJ=
-KeyK=
-KeyKana=
-KeyKanji=
-KeyL=
-KeyLeft=
-KeyLeftAlt=
-KeyLeftBracket=
-KeyLeftControl=
-KeyLeftShift=
-KeyLeftWindows=
-KeyLessThan=
-KeyM=
-KeyMail=
-KeyMediaSelect=
-KeyMediaStop=
-KeyMinus=
-KeyMultiply=
-KeyMute=
-KeyMyComputer=
-KeyN=
-KeyNextTrack=
-KeyNoConvert=
-KeyNumLock=
-KeyNumRow0=
-KeyNumRow1=
-KeyNumRow2=
-KeyNumRow3=
-KeyNumRow4=
-KeyNumRow5=
-KeyNumRow6=
-KeyNumRow7=
-KeyNumRow8=
-KeyNumRow9=
-KeyNumpad0=
-KeyNumpad1=
-KeyNumpad2=
-KeyNumpad3=
-KeyNumpad4=
-KeyNumpad5=
-KeyNumpad6=
-KeyNumpad7=
-KeyNumpad8=
-KeyNumpad9=
-KeyNumpadAdd=
-KeyNumpadComma=
-KeyNumpadEnter=
-KeyNumpadEquals=
-KeyNumpadPeriod=
-KeyNumpadSubtract=
-KeyO=
-KeyP=
-KeyPageDown=
-KeyPageUp=
-KeyPause=
-KeyPeriod=
-KeyPlayPause=
-KeyPower=
-KeyPreviousTrack=
-KeyQ=
-KeyR=
-KeyReturn=
-KeyRight=
-KeyRightAlt=
-KeyRightBracket=
-KeyRightControl=
-KeyRightShift=
-KeyRightWindows=
-KeyS=
-KeyScrollLock=
-KeySemicolon=
-KeySlash=
-KeySleep=
-KeySpace=
-KeyStop=
-KeySystemRequest=
-KeyT=
-KeyTab=
-KeyU=
-KeyUP=
-KeyUnassigned=
-KeyUnderline=
-KeyUnlabeled=
-KeyV=
-KeyVolumeDown=
-KeyVolumeUp=
-KeyW=
-KeyWake=
-KeyWebBack=
-KeyWebFavorites=
-KeyWebForward=
-KeyWebHome=
-KeyWebRefresh=
-KeyWebSearch=
-KeyWebStop=
-KeyX=
-KeyY=
-KeyYen=
-KeyZ=
-Key_084=
-Key_085=
-Key_089=
-Key_090=
-Key_091=
-Key_092=
-Key_093=
-Key_094=
-Key_095=
-Key_096=
-Key_097=
-Key_098=
-Key_099=
-Key_103=
-Key_104=
-Key_105=
-Key_106=
-Key_107=
-Key_108=
-Key_109=
-Key_110=
-Key_111=
-Key_112=
-Key_114=
-Key_115=
-Key_117=
-Key_118=
-Key_119=
-Key_120=
-Key_121=
-Key_123=
-Key_125=
-Key_128=
-Key_129=
-Key_130=
-Key_131=
-Key_132=
-Key_133=
-Key_134=
-Key_135=
-Key_136=
-Key_137=
-Key_138=
-Key_139=
-Key_140=
-Key_141=
-Key_143=
-Key_144=
-Key_154=
-Key_155=
-Key_158=
-Key_159=
-Key_163=
-Key_165=
-Key_166=
-Key_167=
-Key_168=
-Key_169=
-Key_170=
-Key_171=
-Key_172=
-Key_173=
-Key_175=
-Key_177=
-Key_180=
-Key_182=
-Key_185=
-Key_186=
-Key_187=
-Key_188=
-Key_189=
-Key_190=
-Key_191=
-Key_192=
-Key_193=
-Key_194=
-Key_195=
-Key_196=
-Key_198=
-Key_202=
-Key_204=
-Key_206=
-Key_212=
-Key_213=
-Key_214=
-Key_215=
-Key_216=
-Key_217=
-Key_218=
-Key_224=
-Key_225=
-Key_226=
-Key_228=
-
-[MouseButtons]
-MouseButton3=
-MouseButton4=
-MouseButton5=
-MouseButton6=
-MouseButton7=
-MouseLeft=
-MouseMiddle=
-MouseRight=
-MouseWheel1Down=
-MouseWheel1Up=
-MouseWheel2Down=
-MouseWheel2Up=
-
-[MouseAxes]
-MouseXNeg=
-MouseXPos=
-MouseYNeg=
-MouseYPos=
-
Index: code/branches/buildsystem3/bin/disco.txt
===================================================================
--- code/branches/buildsystem3/bin/disco.txt	(revision 2684)
+++ 	(revision )
@@ -1,4 +1,0 @@
-delay 0 Ambient setAmbientLightTest 1,0,0,1
-delay 0.2 Ambient setAmbientLightTest 0,1,0,1
-delay 0.4 Ambient setAmbientLightTest 0,0,1,1
-delay 0.6 source disco.txt
Index: code/branches/buildsystem3/bin/irc.tcl
===================================================================
--- code/branches/buildsystem3/bin/irc.tcl	(revision 2684)
+++ 	(revision )
@@ -1,6 +1,0 @@
-proc every {ms body} { eval $body; after $ms [list every $ms $body] }
-package require irk
-set conn [irk::connect orxonox $nickname]
-irk::join $conn #orxonox
-every 25 {}
-vwait termination
Index: code/branches/buildsystem3/bin/ogre.cfg
===================================================================
--- code/branches/buildsystem3/bin/ogre.cfg	(revision 2684)
+++ 	(revision )
@@ -1,7 +1,0 @@
-Render System=OpenGL Rendering Subsystem
-
-[OpenGL Rendering Subsystem]
-FSAA=0
-Full Screen=No
-RTT Preferred Mode=FBO
-Video Mode=800 x 600
Index: code/branches/buildsystem3/bin/remote.tcl
===================================================================
--- code/branches/buildsystem3/bin/remote.tcl	(revision 2684)
+++ 	(revision )
@@ -1,2 +1,0 @@
-set telnetserverthreadid [TclThreadManager create]
-TclThreadManager execute $telnetserverthreadid source telnet_server.tcl
Index: code/branches/buildsystem3/bin/telnet_server.tcl
===================================================================
--- code/branches/buildsystem3/bin/telnet_server.tcl	(revision 2684)
+++ 	(revision )
@@ -1,213 +1,0 @@
- #!/usr/bin/env tclsh
- # Pseudo-telnet server.  Includes basic auth, but no separate identities
- # or proper multi-threaded operation, so whoever runs this had better
- # trust those he gives identities/passwords to and they had better trust
- # each other too.  Note this script does not support command-line arguments.
-
- ## The names of this array are IP addresses of hosts that are not permitted
- ## to connect to any of our services.  Admin account(s) can change this
- ## at run-time, though this info is not maintained across whole-server shutdowns.
- array set denyHosts {}
-
- ## Keep the Tcl-thread busy
- proc every {ms body} { eval $body; after $ms [list every $ms $body] }
- every 200 {}
-
- ## Create a server on the given port with the given name/password map
- ## and the given core interaction handler.
- proc telnetServer {port {passmap} {handlerCmd remoteCommand}} {
-     if {$port == 0} {
-         return -code error "Only non-zero port numbers are supported"
-     }
-     set server [socket -server [list connect $port $handlerCmd] $port]
-     global passwords services
-     foreach {id pass} $passmap {set passwords($port,$id) $pass}
-     set services($server) $handlerCmd
-     return $server
- }
-
- ## Removes the server on the given port, cleaning up the extra state too.
- proc closedownServer {server} {
-     global services passwords connections auth
-     set port [lindex [fconfigure $server -sockname] 2]
-     catch {close $server}
-     unset services($server)
-     foreach passmap [array names passwords $port,*] {
-         unset passwords($passmap)
-     }
-     # Hmph!  Have to remove unauthorized connections too, though any
-     # connection which has been authorized can continue safely.
-     foreach {client data} [array get connections] {
-         if {$port == [lindex $data 0] && !$auth($client)} {
-             disconnect $client
-         }
-     }
- }
-
- ## Handle an incoming connection to the given server
- proc connect {serverport handlerCmd client clienthost clientport} {
-     global auth cmd denyHosts connections
-     if {[info exist denyHosts($clienthost)]} {
-         puts stdout "${clienthost}:${clientport} attempted connection"
-         catch {puts $client "Connection denied"}
-         catch {close $client}
-         return
-     }
-     puts stdout "${clienthost}:${clientport} connected on $client"
-     fileevent $client readable "handle $serverport $client"
-     set auth($client) 0
-     set cmd($client) $handlerCmd
-     set connections($client) [list $serverport $clienthost $clientport]
-     fconfigure $client -buffering none
-     catch {puts -nonewline $client "Login: "}
- }
-
- ## Disconnect the given client, cleaning up any connection-specific data
- proc disconnect {client} {
-     catch {close $client}
-     global auth cmd connections
-     unset auth($client)
-     unset cmd($client)
-     unset connections($client)
-     puts stdout "$client disconnected"
- }
-
- ## Handle data sent from the client.  Log-in is handled directly by this
- ## procedure, and requires the name and password on the same line
- proc handle {serverport client} {
-     global passwords auth cmd
-     if {[gets $client line] < 0} {
-         disconnect $client
-         return
-     }
-     if {[string equal $line "logout"] || [string equal $line "quit"]} {
-         disconnect $client
-         return
-     }
-     if {[string equal $line "exit"]} {
-         set ::termination 1
-         return
-     }
-     if {$auth($client)} {
-         eval $cmd($client) [list $client $line 0]
-         eval $cmd($client) [list $client $line 1]
-         return
-     }
-     foreach {id pass} [split $line] {break}
-     if {![info exist pass]} {
-         catch {puts -nonewline $client "Login: "}
-         return
-     }
-     if {
-         [info exist passwords($serverport,$id)] &&
-         [string equal $passwords($serverport,$id) $pass]
-     } then {
-         set auth($client) 1
-         puts stdout "$id logged in on $client"
-         catch {puts $client "Welcome, $id!"}
-         eval $cmd($client) [list $client $line 1]
-         return
-     }
-     puts stdout "AUTH FAILURE ON $client"
-     catch {puts $client "Unknown name or password"}
-     disconnect $client
- }
-
- ## Standard handler for logged-in conversations and prompt-generation.
- proc execCommand {client line prompt} {
-     global tcl_platform
-     if {$prompt} {
-         catch {puts -nonewline $client "\$ "}
-         return
-     }
-     switch $tcl_platform(platform) {
-         unix {
-             catch {exec sh -c $line <@$client >@$client 2>@$client}
-         }
-         default {
-             catch {exec $line} data
-             puts $client $data
-         }
-     }
- }
-
- ## Administration service handler.  Chains to the normal handler for
- ## everything it doesn't recognise itself.
- proc admin {client line prompt} {
-     if {$prompt} {
-         catch {puts -nonewline $client "# "}
-         return
-     }
-     set cmd [split $line]
-     global denyHosts connections services
-     if {[string equal $line "shutdown"]} {
-         set ::termination 1
-         puts stdout "Shutdown requested on $client"
-         catch {puts $client "System will shut down as soon as possible"}
-         return -code return "SHUTTING DOWN"
-     } elseif {[string equal [lindex $cmd 0] "deny"]} {
-         set denyHosts([lindex $cmd 1]) 1
-     } elseif {[string equal [lindex $cmd 0] "allow"]} {
-         catch {unset denyHosts([lindex $cmd 1])}
-     } elseif {[string equal $line "denied"]} {
-         foreach host [array names denyHosts] {
-             catch {puts $client $host}
-         }
-     } elseif {[string equal $line "connections"]} {
-         set len 0
-         foreach conn [array names connections] {
-             if {$len < [string length $conn]} {
-                 set len [string length $conn]
-             }
-         }
-         foreach {conn details} [array get connections] {
-             catch {puts $client [format "%-*s = %s" $len $conn $details]}
-         }
-     } elseif {[string equal [lindex $cmd 0] "close"]} {
-         set sock [lindex $cmd 1]
-         if {[info exist connections($sock)]} {
-             disconnect $sock
-         }
-     } elseif {[string equal $line "services"]} {
-         set len 0
-         foreach serv [array names services] {
-             if {$len < [string length $serv]} {
-                 set len [string length $serv]
-             }
-         }
-         foreach {serv handler} [array get services] {
-             set port [lindex [fconfigure $serv -sockname] 2]
-             catch {puts $client [format "%-*s (port %d) = handler %s" $len $serv $port $handler]}
-         }
-     } elseif {[string equal [lindex $cmd 0] "addService"]} {
-         set service [eval telnetServer [lrange $cmd 1 end]]
-         catch {puts $client "Created service as $service"}
-     } elseif {[string equal [lindex $cmd 0] "removeService"]} {
-         set service [lindex $cmd 1]
-         if {[info exist services($service)]} {
-             closedownServer $service
-         }
-     } else {
-         # CHAIN TO DEFAULT
-         execCommand $client $line 0
-     }
- }
- 
- ## Executes a given command
- proc remoteCommand {client line prompt} {
-     global tcl_platform
-     if {$prompt} {
-         catch {puts -nonewline $client "\$ "}
-         return
-     }
-     catch {eval $line} data
-     puts $client $data
- }
-
- telnetServer 2560 {orxonox rocks} remoteCommand
- telnetServer 2561 {orxadmin *****} admin
-
- puts stdout "Ready for service"
-
- vwait termination
- execute exit
