diff --git a/CMakeLists.txt b/CMakeLists.txt index a776a8d1..88355f0b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,7 +45,19 @@ file(GLOB HEADERS "*.h" "widgets/*.h" "launcher/*.h" "extras/*.h" -"global_include/*.h") +"global_include/*.h" +"simulation/*.h" +"scene/*.h" +"rendering/*.h" +"audio/*.h" +"environment/*.h" +"application/*.h" +"input/*.h" +"scripting/*.h" +"model/*.h" +"utilities/*.h" +"world/*.h" +"vehicle/*.h") set(GLOBAL_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}") set(GLOBAL_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/global_include") @@ -79,101 +91,100 @@ list(APPEND CMAKE_PREFIX_PATH "${VCPKG_INSTALLED_PATH}") list(APPEND CMAKE_MODULE_PATH "${VCPKG_INSTALLED_PATH}/share") set(SOURCES -"Texture.cpp" -"Timer.cpp" -"Track.cpp" -"Traction.cpp" -"TractionPower.cpp" -"Train.cpp" -"TrkFoll.cpp" -"AirCoupler.cpp" -"AnimModel.cpp" -"Button.cpp" -"Camera.cpp" -"Driver.cpp" -"driverhints.cpp" -"dumb3d.cpp" -"DynObj.cpp" +"model/Texture.cpp" +"utilities/Timer.cpp" +"world/Track.cpp" +"world/Traction.cpp" +"world/TractionPower.cpp" +"vehicle/Train.cpp" +"world/TrkFoll.cpp" +"vehicle/AirCoupler.cpp" +"model/AnimModel.cpp" +"vehicle/Button.cpp" +"vehicle/Camera.cpp" +"vehicle/Driver.cpp" +"application/driverhints.cpp" +"utilities/dumb3d.cpp" +"vehicle/DynObj.cpp" "EU07.cpp" "export_e3d_standalone.cpp" -"Event.cpp" -"EvLaunch.cpp" -"Float3d.cpp" -"Gauge.cpp" -"Globals.cpp" -"Logs.cpp" +"world/Event.cpp" +"world/EvLaunch.cpp" +"utilities/Float3d.cpp" +"vehicle/Gauge.cpp" +"utilities/Globals.cpp" +"utilities/Logs.cpp" "McZapkie/friction.cpp" "McZapkie/hamulce.cpp" "McZapkie/Mover.cpp" "McZapkie/Oerlikon_ESt.cpp" -"MdlMngr.cpp" -"MemCell.cpp" -"Model3d.cpp" -"mtable.cpp" -"parser.cpp" -"nullrenderer.cpp" -"renderer.cpp" -"ResourceManager.cpp" -"sn_utils.cpp" -"Segment.cpp" -"sky.cpp" -"sun.cpp" -"stars.cpp" -"lightarray.cpp" -"skydome.cpp" -"sound.cpp" -"Spring.cpp" -"frustum.cpp" -"uilayer.cpp" -"openglmatrixstack.cpp" -"moon.cpp" -"command.cpp" -"keyboardinput.cpp" -"gamepadinput.cpp" -"drivermouseinput.cpp" -"translation.cpp" -"material.cpp" +"model/MdlMngr.cpp" +"world/MemCell.cpp" +"model/Model3d.cpp" +"world/mtable.cpp" +"utilities/parser.cpp" +"rendering/nullrenderer.cpp" +"rendering/renderer.cpp" +"model/ResourceManager.cpp" +"scene/sn_utils.cpp" +"world/Segment.cpp" +"environment/sky.cpp" +"environment/sun.cpp" +"environment/stars.cpp" +"rendering/lightarray.cpp" +"environment/skydome.cpp" +"audio/sound.cpp" +"world/Spring.cpp" +"rendering/frustum.cpp" +"application/uilayer.cpp" +"rendering/openglmatrixstack.cpp" +"environment/moon.cpp" +"input/command.cpp" +"input/keyboardinput.cpp" +"input/gamepadinput.cpp" +"input/drivermouseinput.cpp" +"utilities/translation.cpp" +"model/material.cpp" "stdafx.cpp" -"messaging.cpp" -"scene.cpp" -"scenenode.cpp" -"simulation.cpp" -"vertex.cpp" -"audio.cpp" -"audiorenderer.cpp" -"motiontelemetry.cpp" -"utilities.cpp" -"uitranscripts.cpp" -"station.cpp" -"application.cpp" -"simulationtime.cpp" -"sceneeditor.cpp" -"screenshot.cpp" -"driverkeyboardinput.cpp" -"drivermode.cpp" -"driveruilayer.cpp" -"driveruipanels.cpp" -"editorkeyboardinput.cpp" -"editormode.cpp" -"editormouseinput.cpp" -"editoruilayer.cpp" -"editoruipanels.cpp" -"scenarioloadermode.cpp" -"scenarioloaderuilayer.cpp" -"scenenodegroups.cpp" -"simulationenvironment.cpp" -"simulationstateserializer.cpp" -"precipitation.cpp" -"pythonscreenviewer.cpp" -"dictionary.cpp" -"particles.cpp" -"headtrack.cpp" -"headtrack.h" -"ladderlogic.cpp" -"geometrybank.cpp" -"openglcolor.cpp" -"simulationsounds.cpp" -"openglcamera.cpp" +"input/messaging.cpp" +"scene/scene.cpp" +"scene/scenenode.cpp" +"simulation/simulation.cpp" +"model/vertex.cpp" +"audio/audio.cpp" +"audio/audiorenderer.cpp" +"utilities/motiontelemetry.cpp" +"utilities/utilities.cpp" +"application/uitranscripts.cpp" +"world/station.cpp" +"application/application.cpp" +"simulation/simulationtime.cpp" +"scene/sceneeditor.cpp" +"rendering/screenshot.cpp" +"input/driverkeyboardinput.cpp" +"application/drivermode.cpp" +"application/driveruilayer.cpp" +"application/driveruipanels.cpp" +"input/editorkeyboardinput.cpp" +"application/editormode.cpp" +"input/editormouseinput.cpp" +"application/editoruilayer.cpp" +"application/editoruipanels.cpp" +"application/scenarioloadermode.cpp" +"application/scenarioloaderuilayer.cpp" +"scene/scenenodegroups.cpp" +"simulation/simulationenvironment.cpp" +"simulation/simulationstateserializer.cpp" +"rendering/precipitation.cpp" +"scripting/pythonscreenviewer.cpp" +"utilities/dictionary.cpp" +"rendering/particles.cpp" +"utilities/headtrack.cpp" +"scripting/ladderlogic.cpp" +"rendering/geometrybank.cpp" +"rendering/openglcolor.cpp" +"simulation/simulationsounds.cpp" +"rendering/openglcamera.cpp" "network/network.cpp" "network/message.cpp" @@ -232,7 +243,7 @@ set_source_files_properties("imgui/imgui_impl_opengl2.cpp" PROPERTIES SKIP_PRECO if (WITH_CRASHPAD) set(DEFINITIONS ${DEFINITIONS} "WITH_CRASHPAD") - set(SOURCES ${SOURCES} "crashreporter.cpp") + set(SOURCES ${SOURCES} "utilities/crashreporter.cpp") if (WIN32) include_directories("${DEPS_DIR}/crashpad/include" "${DEPS_DIR}/crashpad/include/mini_chromium") else() @@ -242,19 +253,19 @@ endif() if (WITH_PYTHON) set(DEFINITIONS ${DEFINITIONS} "WITH_PYTHON") - set(SOURCES ${SOURCES} "PyInt.cpp") + set(SOURCES ${SOURCES} "scripting/PyInt.cpp") else() - set(SOURCES ${SOURCES} "PyIntStub.cpp") + set(SOURCES ${SOURCES} "scripting/PyIntStub.cpp") endif() if (WITH_UART) set(DEFINITIONS ${DEFINITIONS} "WITH_UART") - set(SOURCES ${SOURCES} "uart.cpp") + set(SOURCES ${SOURCES} "utilities/uart.cpp") endif() if (WITH_ZMQ) set(DEFINITIONS ${DEFINITIONS} "WITH_ZMQ") - set(SOURCES ${SOURCES} "zmq_input.cpp") + set(SOURCES ${SOURCES} "input/zmq_input.cpp") endif() if (WITH_OPENVR) @@ -264,7 +275,7 @@ endif() if (WITH_LUA) set(DEFINITIONS ${DEFINITIONS} "WITH_LUA") - set(SOURCES ${SOURCES} "lua.cpp") + set(SOURCES ${SOURCES} "scripting/lua.cpp") endif() if (WITHDUMPGEN) @@ -273,23 +284,23 @@ endif() if (WITH_OPENGL_MODERN) set(SOURCES ${SOURCES} - "opengl33geometrybank.cpp" - "opengl33light.cpp" - "opengl33skydome.cpp" - "opengl33precipitation.cpp" - "opengl33particles.cpp" - "opengl33renderer.cpp") + "rendering/opengl33geometrybank.cpp" + "rendering/opengl33light.cpp" + "rendering/opengl33skydome.cpp" + "rendering/opengl33precipitation.cpp" + "rendering/opengl33particles.cpp" + "rendering/opengl33renderer.cpp") set(DEFINITIONS ${DEFINITIONS} "WITH_OPENGL_MODERN") endif() if (WITH_OPENGL_LEGACY) set(SOURCES ${SOURCES} - "openglgeometrybank.cpp" - "opengllight.cpp" - "openglskydome.cpp" - "openglprecipitation.cpp" - "openglparticles.cpp" - "openglrenderer.cpp") + "rendering/openglgeometrybank.cpp" + "rendering/opengllight.cpp" + "rendering/openglskydome.cpp" + "rendering/openglprecipitation.cpp" + "rendering/openglparticles.cpp" + "rendering/openglrenderer.cpp") set(DEFINITIONS ${DEFINITIONS} "WITH_OPENGL_LEGACY") endif() @@ -393,7 +404,19 @@ target_include_directories(${PROJECT_NAME} PRIVATE "${DEPS_DIR}/glad/include" "${DEPS_DIR}/dds-ktx/include" "${CMAKE_BINARY_DIR}/geninc" - "${GLOBAL_INCLUDE_DIR}") + "${GLOBAL_INCLUDE_DIR}" + "simulation" + "scene" + "rendering" + "audio" + "environment" + "application" + "input" + "scripting" + "model" + "utilities" + "world" + "vehicle") if (${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC) # override cmake defaults diff --git a/application.cpp b/application/application.cpp similarity index 100% rename from application.cpp rename to application/application.cpp diff --git a/application.h b/application/application.h similarity index 100% rename from application.h rename to application/application.h diff --git a/applicationmode.h b/application/applicationmode.h similarity index 100% rename from applicationmode.h rename to application/applicationmode.h diff --git a/driverhints.cpp b/application/driverhints.cpp similarity index 100% rename from driverhints.cpp rename to application/driverhints.cpp diff --git a/driverhints.h b/application/driverhints.h similarity index 100% rename from driverhints.h rename to application/driverhints.h diff --git a/driverhints_def.h b/application/driverhints_def.h similarity index 100% rename from driverhints_def.h rename to application/driverhints_def.h diff --git a/drivermode.cpp b/application/drivermode.cpp similarity index 100% rename from drivermode.cpp rename to application/drivermode.cpp diff --git a/drivermode.h b/application/drivermode.h similarity index 100% rename from drivermode.h rename to application/drivermode.h diff --git a/driveruilayer.cpp b/application/driveruilayer.cpp similarity index 100% rename from driveruilayer.cpp rename to application/driveruilayer.cpp diff --git a/driveruilayer.h b/application/driveruilayer.h similarity index 100% rename from driveruilayer.h rename to application/driveruilayer.h diff --git a/driveruipanels.cpp b/application/driveruipanels.cpp similarity index 100% rename from driveruipanels.cpp rename to application/driveruipanels.cpp diff --git a/driveruipanels.h b/application/driveruipanels.h similarity index 100% rename from driveruipanels.h rename to application/driveruipanels.h diff --git a/editormode.cpp b/application/editormode.cpp similarity index 100% rename from editormode.cpp rename to application/editormode.cpp diff --git a/editormode.h b/application/editormode.h similarity index 100% rename from editormode.h rename to application/editormode.h diff --git a/editoruilayer.cpp b/application/editoruilayer.cpp similarity index 100% rename from editoruilayer.cpp rename to application/editoruilayer.cpp diff --git a/editoruilayer.h b/application/editoruilayer.h similarity index 100% rename from editoruilayer.h rename to application/editoruilayer.h diff --git a/editoruipanels.cpp b/application/editoruipanels.cpp similarity index 100% rename from editoruipanels.cpp rename to application/editoruipanels.cpp diff --git a/editoruipanels.h b/application/editoruipanels.h similarity index 100% rename from editoruipanels.h rename to application/editoruipanels.h diff --git a/scenarioloadermode.cpp b/application/scenarioloadermode.cpp similarity index 100% rename from scenarioloadermode.cpp rename to application/scenarioloadermode.cpp diff --git a/scenarioloadermode.h b/application/scenarioloadermode.h similarity index 100% rename from scenarioloadermode.h rename to application/scenarioloadermode.h diff --git a/scenarioloaderuilayer.cpp b/application/scenarioloaderuilayer.cpp similarity index 100% rename from scenarioloaderuilayer.cpp rename to application/scenarioloaderuilayer.cpp diff --git a/scenarioloaderuilayer.h b/application/scenarioloaderuilayer.h similarity index 100% rename from scenarioloaderuilayer.h rename to application/scenarioloaderuilayer.h diff --git a/uilayer.cpp b/application/uilayer.cpp similarity index 100% rename from uilayer.cpp rename to application/uilayer.cpp diff --git a/uilayer.h b/application/uilayer.h similarity index 100% rename from uilayer.h rename to application/uilayer.h diff --git a/uitranscripts.cpp b/application/uitranscripts.cpp similarity index 100% rename from uitranscripts.cpp rename to application/uitranscripts.cpp diff --git a/uitranscripts.h b/application/uitranscripts.h similarity index 100% rename from uitranscripts.h rename to application/uitranscripts.h diff --git a/audio.cpp b/audio/audio.cpp similarity index 100% rename from audio.cpp rename to audio/audio.cpp diff --git a/audio.h b/audio/audio.h similarity index 100% rename from audio.h rename to audio/audio.h diff --git a/audiorenderer.cpp b/audio/audiorenderer.cpp similarity index 100% rename from audiorenderer.cpp rename to audio/audiorenderer.cpp diff --git a/audiorenderer.h b/audio/audiorenderer.h similarity index 100% rename from audiorenderer.h rename to audio/audiorenderer.h diff --git a/audiorenderer_extra.h b/audio/audiorenderer_extra.h similarity index 100% rename from audiorenderer_extra.h rename to audio/audiorenderer_extra.h diff --git a/sound.cpp b/audio/sound.cpp similarity index 100% rename from sound.cpp rename to audio/sound.cpp diff --git a/sound.h b/audio/sound.h similarity index 100% rename from sound.h rename to audio/sound.h diff --git a/moon.cpp b/environment/moon.cpp similarity index 100% rename from moon.cpp rename to environment/moon.cpp diff --git a/moon.h b/environment/moon.h similarity index 100% rename from moon.h rename to environment/moon.h diff --git a/sky.cpp b/environment/sky.cpp similarity index 100% rename from sky.cpp rename to environment/sky.cpp diff --git a/sky.h b/environment/sky.h similarity index 100% rename from sky.h rename to environment/sky.h diff --git a/skydome.cpp b/environment/skydome.cpp similarity index 100% rename from skydome.cpp rename to environment/skydome.cpp diff --git a/skydome.h b/environment/skydome.h similarity index 100% rename from skydome.h rename to environment/skydome.h diff --git a/stars.cpp b/environment/stars.cpp similarity index 100% rename from stars.cpp rename to environment/stars.cpp diff --git a/stars.h b/environment/stars.h similarity index 100% rename from stars.h rename to environment/stars.h diff --git a/sun.cpp b/environment/sun.cpp similarity index 100% rename from sun.cpp rename to environment/sun.cpp diff --git a/sun.h b/environment/sun.h similarity index 100% rename from sun.h rename to environment/sun.h diff --git a/command.cpp b/input/command.cpp similarity index 100% rename from command.cpp rename to input/command.cpp diff --git a/command.h b/input/command.h similarity index 100% rename from command.h rename to input/command.h diff --git a/driverkeyboardinput.cpp b/input/driverkeyboardinput.cpp similarity index 100% rename from driverkeyboardinput.cpp rename to input/driverkeyboardinput.cpp diff --git a/driverkeyboardinput.h b/input/driverkeyboardinput.h similarity index 100% rename from driverkeyboardinput.h rename to input/driverkeyboardinput.h diff --git a/drivermouseinput.cpp b/input/drivermouseinput.cpp similarity index 100% rename from drivermouseinput.cpp rename to input/drivermouseinput.cpp diff --git a/drivermouseinput.h b/input/drivermouseinput.h similarity index 100% rename from drivermouseinput.h rename to input/drivermouseinput.h diff --git a/editorkeyboardinput.cpp b/input/editorkeyboardinput.cpp similarity index 100% rename from editorkeyboardinput.cpp rename to input/editorkeyboardinput.cpp diff --git a/editorkeyboardinput.h b/input/editorkeyboardinput.h similarity index 100% rename from editorkeyboardinput.h rename to input/editorkeyboardinput.h diff --git a/editormouseinput.cpp b/input/editormouseinput.cpp similarity index 100% rename from editormouseinput.cpp rename to input/editormouseinput.cpp diff --git a/editormouseinput.h b/input/editormouseinput.h similarity index 100% rename from editormouseinput.h rename to input/editormouseinput.h diff --git a/gamepadinput.cpp b/input/gamepadinput.cpp similarity index 100% rename from gamepadinput.cpp rename to input/gamepadinput.cpp diff --git a/gamepadinput.h b/input/gamepadinput.h similarity index 100% rename from gamepadinput.h rename to input/gamepadinput.h diff --git a/keyboardinput.cpp b/input/keyboardinput.cpp similarity index 100% rename from keyboardinput.cpp rename to input/keyboardinput.cpp diff --git a/keyboardinput.h b/input/keyboardinput.h similarity index 100% rename from keyboardinput.h rename to input/keyboardinput.h diff --git a/messaging.cpp b/input/messaging.cpp similarity index 100% rename from messaging.cpp rename to input/messaging.cpp diff --git a/messaging.h b/input/messaging.h similarity index 100% rename from messaging.h rename to input/messaging.h diff --git a/zmq_input.cpp b/input/zmq_input.cpp similarity index 100% rename from zmq_input.cpp rename to input/zmq_input.cpp diff --git a/zmq_input.h b/input/zmq_input.h similarity index 100% rename from zmq_input.h rename to input/zmq_input.h diff --git a/AnimModel.cpp b/model/AnimModel.cpp similarity index 100% rename from AnimModel.cpp rename to model/AnimModel.cpp diff --git a/AnimModel.h b/model/AnimModel.h similarity index 100% rename from AnimModel.h rename to model/AnimModel.h diff --git a/MdlMngr.cpp b/model/MdlMngr.cpp similarity index 100% rename from MdlMngr.cpp rename to model/MdlMngr.cpp diff --git a/MdlMngr.h b/model/MdlMngr.h similarity index 100% rename from MdlMngr.h rename to model/MdlMngr.h diff --git a/Model3d.cpp b/model/Model3d.cpp similarity index 100% rename from Model3d.cpp rename to model/Model3d.cpp diff --git a/Model3d.h b/model/Model3d.h similarity index 100% rename from Model3d.h rename to model/Model3d.h diff --git a/ResourceManager.cpp b/model/ResourceManager.cpp similarity index 100% rename from ResourceManager.cpp rename to model/ResourceManager.cpp diff --git a/ResourceManager.h b/model/ResourceManager.h similarity index 100% rename from ResourceManager.h rename to model/ResourceManager.h diff --git a/Texture.cpp b/model/Texture.cpp similarity index 100% rename from Texture.cpp rename to model/Texture.cpp diff --git a/Texture.h b/model/Texture.h similarity index 100% rename from Texture.h rename to model/Texture.h diff --git a/material.cpp b/model/material.cpp similarity index 100% rename from material.cpp rename to model/material.cpp diff --git a/material.h b/model/material.h similarity index 100% rename from material.h rename to model/material.h diff --git a/vertex.cpp b/model/vertex.cpp similarity index 100% rename from vertex.cpp rename to model/vertex.cpp diff --git a/vertex.h b/model/vertex.h similarity index 100% rename from vertex.h rename to model/vertex.h diff --git a/flip-s3tc.h b/rendering/flip-s3tc.h similarity index 100% rename from flip-s3tc.h rename to rendering/flip-s3tc.h diff --git a/frustum.cpp b/rendering/frustum.cpp similarity index 100% rename from frustum.cpp rename to rendering/frustum.cpp diff --git a/frustum.h b/rendering/frustum.h similarity index 100% rename from frustum.h rename to rendering/frustum.h diff --git a/geometrybank.cpp b/rendering/geometrybank.cpp similarity index 100% rename from geometrybank.cpp rename to rendering/geometrybank.cpp diff --git a/geometrybank.h b/rendering/geometrybank.h similarity index 100% rename from geometrybank.h rename to rendering/geometrybank.h diff --git a/light.h b/rendering/light.h similarity index 100% rename from light.h rename to rendering/light.h diff --git a/lightarray.cpp b/rendering/lightarray.cpp similarity index 100% rename from lightarray.cpp rename to rendering/lightarray.cpp diff --git a/lightarray.h b/rendering/lightarray.h similarity index 100% rename from lightarray.h rename to rendering/lightarray.h diff --git a/nullrenderer.cpp b/rendering/nullrenderer.cpp similarity index 100% rename from nullrenderer.cpp rename to rendering/nullrenderer.cpp diff --git a/nullrenderer.h b/rendering/nullrenderer.h similarity index 100% rename from nullrenderer.h rename to rendering/nullrenderer.h diff --git a/opengl33geometrybank.cpp b/rendering/opengl33geometrybank.cpp similarity index 100% rename from opengl33geometrybank.cpp rename to rendering/opengl33geometrybank.cpp diff --git a/opengl33geometrybank.h b/rendering/opengl33geometrybank.h similarity index 100% rename from opengl33geometrybank.h rename to rendering/opengl33geometrybank.h diff --git a/opengl33light.cpp b/rendering/opengl33light.cpp similarity index 100% rename from opengl33light.cpp rename to rendering/opengl33light.cpp diff --git a/opengl33light.h b/rendering/opengl33light.h similarity index 100% rename from opengl33light.h rename to rendering/opengl33light.h diff --git a/opengl33particles.cpp b/rendering/opengl33particles.cpp similarity index 100% rename from opengl33particles.cpp rename to rendering/opengl33particles.cpp diff --git a/opengl33particles.h b/rendering/opengl33particles.h similarity index 100% rename from opengl33particles.h rename to rendering/opengl33particles.h diff --git a/opengl33precipitation.cpp b/rendering/opengl33precipitation.cpp similarity index 100% rename from opengl33precipitation.cpp rename to rendering/opengl33precipitation.cpp diff --git a/opengl33precipitation.h b/rendering/opengl33precipitation.h similarity index 100% rename from opengl33precipitation.h rename to rendering/opengl33precipitation.h diff --git a/opengl33renderer.cpp b/rendering/opengl33renderer.cpp similarity index 100% rename from opengl33renderer.cpp rename to rendering/opengl33renderer.cpp diff --git a/opengl33renderer.h b/rendering/opengl33renderer.h similarity index 100% rename from opengl33renderer.h rename to rendering/opengl33renderer.h diff --git a/opengl33skydome.cpp b/rendering/opengl33skydome.cpp similarity index 100% rename from opengl33skydome.cpp rename to rendering/opengl33skydome.cpp diff --git a/opengl33skydome.h b/rendering/opengl33skydome.h similarity index 100% rename from opengl33skydome.h rename to rendering/opengl33skydome.h diff --git a/openglcamera.cpp b/rendering/openglcamera.cpp similarity index 100% rename from openglcamera.cpp rename to rendering/openglcamera.cpp diff --git a/openglcamera.h b/rendering/openglcamera.h similarity index 100% rename from openglcamera.h rename to rendering/openglcamera.h diff --git a/openglcolor.cpp b/rendering/openglcolor.cpp similarity index 100% rename from openglcolor.cpp rename to rendering/openglcolor.cpp diff --git a/openglcolor.h b/rendering/openglcolor.h similarity index 100% rename from openglcolor.h rename to rendering/openglcolor.h diff --git a/openglgeometrybank.cpp b/rendering/openglgeometrybank.cpp similarity index 100% rename from openglgeometrybank.cpp rename to rendering/openglgeometrybank.cpp diff --git a/openglgeometrybank.h b/rendering/openglgeometrybank.h similarity index 100% rename from openglgeometrybank.h rename to rendering/openglgeometrybank.h diff --git a/opengllight.cpp b/rendering/opengllight.cpp similarity index 100% rename from opengllight.cpp rename to rendering/opengllight.cpp diff --git a/opengllight.h b/rendering/opengllight.h similarity index 100% rename from opengllight.h rename to rendering/opengllight.h diff --git a/openglmatrixstack.cpp b/rendering/openglmatrixstack.cpp similarity index 100% rename from openglmatrixstack.cpp rename to rendering/openglmatrixstack.cpp diff --git a/openglmatrixstack.h b/rendering/openglmatrixstack.h similarity index 100% rename from openglmatrixstack.h rename to rendering/openglmatrixstack.h diff --git a/openglparticles.cpp b/rendering/openglparticles.cpp similarity index 100% rename from openglparticles.cpp rename to rendering/openglparticles.cpp diff --git a/openglparticles.h b/rendering/openglparticles.h similarity index 100% rename from openglparticles.h rename to rendering/openglparticles.h diff --git a/openglprecipitation.cpp b/rendering/openglprecipitation.cpp similarity index 100% rename from openglprecipitation.cpp rename to rendering/openglprecipitation.cpp diff --git a/openglprecipitation.h b/rendering/openglprecipitation.h similarity index 100% rename from openglprecipitation.h rename to rendering/openglprecipitation.h diff --git a/openglrenderer.cpp b/rendering/openglrenderer.cpp similarity index 100% rename from openglrenderer.cpp rename to rendering/openglrenderer.cpp diff --git a/openglrenderer.h b/rendering/openglrenderer.h similarity index 100% rename from openglrenderer.h rename to rendering/openglrenderer.h diff --git a/openglskydome.cpp b/rendering/openglskydome.cpp similarity index 100% rename from openglskydome.cpp rename to rendering/openglskydome.cpp diff --git a/openglskydome.h b/rendering/openglskydome.h similarity index 100% rename from openglskydome.h rename to rendering/openglskydome.h diff --git a/particles.cpp b/rendering/particles.cpp similarity index 100% rename from particles.cpp rename to rendering/particles.cpp diff --git a/particles.h b/rendering/particles.h similarity index 100% rename from particles.h rename to rendering/particles.h diff --git a/precipitation.cpp b/rendering/precipitation.cpp similarity index 100% rename from precipitation.cpp rename to rendering/precipitation.cpp diff --git a/precipitation.h b/rendering/precipitation.h similarity index 100% rename from precipitation.h rename to rendering/precipitation.h diff --git a/renderer.cpp b/rendering/renderer.cpp similarity index 100% rename from renderer.cpp rename to rendering/renderer.cpp diff --git a/renderer.h b/rendering/renderer.h similarity index 100% rename from renderer.h rename to rendering/renderer.h diff --git a/screenshot.cpp b/rendering/screenshot.cpp similarity index 100% rename from screenshot.cpp rename to rendering/screenshot.cpp diff --git a/screenshot.h b/rendering/screenshot.h similarity index 100% rename from screenshot.h rename to rendering/screenshot.h diff --git a/scene.cpp b/scene/scene.cpp similarity index 100% rename from scene.cpp rename to scene/scene.cpp diff --git a/scene.h b/scene/scene.h similarity index 100% rename from scene.h rename to scene/scene.h diff --git a/sceneeditor.cpp b/scene/sceneeditor.cpp similarity index 100% rename from sceneeditor.cpp rename to scene/sceneeditor.cpp diff --git a/sceneeditor.h b/scene/sceneeditor.h similarity index 100% rename from sceneeditor.h rename to scene/sceneeditor.h diff --git a/scenenode.cpp b/scene/scenenode.cpp similarity index 100% rename from scenenode.cpp rename to scene/scenenode.cpp diff --git a/scenenode.h b/scene/scenenode.h similarity index 100% rename from scenenode.h rename to scene/scenenode.h diff --git a/scenenodegroups.cpp b/scene/scenenodegroups.cpp similarity index 100% rename from scenenodegroups.cpp rename to scene/scenenodegroups.cpp diff --git a/scenenodegroups.h b/scene/scenenodegroups.h similarity index 100% rename from scenenodegroups.h rename to scene/scenenodegroups.h diff --git a/sn_utils.cpp b/scene/sn_utils.cpp similarity index 100% rename from sn_utils.cpp rename to scene/sn_utils.cpp diff --git a/sn_utils.h b/scene/sn_utils.h similarity index 100% rename from sn_utils.h rename to scene/sn_utils.h diff --git a/PyInt.cpp b/scripting/PyInt.cpp similarity index 100% rename from PyInt.cpp rename to scripting/PyInt.cpp diff --git a/PyInt.h b/scripting/PyInt.h similarity index 100% rename from PyInt.h rename to scripting/PyInt.h diff --git a/PyIntStub.cpp b/scripting/PyIntStub.cpp similarity index 100% rename from PyIntStub.cpp rename to scripting/PyIntStub.cpp diff --git a/ladderlogic.cpp b/scripting/ladderlogic.cpp similarity index 100% rename from ladderlogic.cpp rename to scripting/ladderlogic.cpp diff --git a/ladderlogic.h b/scripting/ladderlogic.h similarity index 100% rename from ladderlogic.h rename to scripting/ladderlogic.h diff --git a/lua.cpp b/scripting/lua.cpp similarity index 100% rename from lua.cpp rename to scripting/lua.cpp diff --git a/lua.h b/scripting/lua.h similarity index 100% rename from lua.h rename to scripting/lua.h diff --git a/lua_ffi.h b/scripting/lua_ffi.h similarity index 100% rename from lua_ffi.h rename to scripting/lua_ffi.h diff --git a/pythonscreenviewer.cpp b/scripting/pythonscreenviewer.cpp similarity index 100% rename from pythonscreenviewer.cpp rename to scripting/pythonscreenviewer.cpp diff --git a/pythonscreenviewer.h b/scripting/pythonscreenviewer.h similarity index 100% rename from pythonscreenviewer.h rename to scripting/pythonscreenviewer.h diff --git a/simulation.cpp b/simulation/simulation.cpp similarity index 100% rename from simulation.cpp rename to simulation/simulation.cpp diff --git a/simulation.h b/simulation/simulation.h similarity index 100% rename from simulation.h rename to simulation/simulation.h diff --git a/simulationenvironment.cpp b/simulation/simulationenvironment.cpp similarity index 100% rename from simulationenvironment.cpp rename to simulation/simulationenvironment.cpp diff --git a/simulationenvironment.h b/simulation/simulationenvironment.h similarity index 100% rename from simulationenvironment.h rename to simulation/simulationenvironment.h diff --git a/simulationsounds.cpp b/simulation/simulationsounds.cpp similarity index 100% rename from simulationsounds.cpp rename to simulation/simulationsounds.cpp diff --git a/simulationsounds.h b/simulation/simulationsounds.h similarity index 100% rename from simulationsounds.h rename to simulation/simulationsounds.h diff --git a/simulationstateserializer.cpp b/simulation/simulationstateserializer.cpp similarity index 100% rename from simulationstateserializer.cpp rename to simulation/simulationstateserializer.cpp diff --git a/simulationstateserializer.h b/simulation/simulationstateserializer.h similarity index 100% rename from simulationstateserializer.h rename to simulation/simulationstateserializer.h diff --git a/simulationtime.cpp b/simulation/simulationtime.cpp similarity index 100% rename from simulationtime.cpp rename to simulation/simulationtime.cpp diff --git a/simulationtime.h b/simulation/simulationtime.h similarity index 100% rename from simulationtime.h rename to simulation/simulationtime.h diff --git a/Classes.h b/utilities/Classes.h similarity index 100% rename from Classes.h rename to utilities/Classes.h diff --git a/Float3d.cpp b/utilities/Float3d.cpp similarity index 100% rename from Float3d.cpp rename to utilities/Float3d.cpp diff --git a/Float3d.h b/utilities/Float3d.h similarity index 100% rename from Float3d.h rename to utilities/Float3d.h diff --git a/Globals.cpp b/utilities/Globals.cpp similarity index 100% rename from Globals.cpp rename to utilities/Globals.cpp diff --git a/Globals.h b/utilities/Globals.h similarity index 100% rename from Globals.h rename to utilities/Globals.h diff --git a/Logs.cpp b/utilities/Logs.cpp similarity index 100% rename from Logs.cpp rename to utilities/Logs.cpp diff --git a/Logs.h b/utilities/Logs.h similarity index 100% rename from Logs.h rename to utilities/Logs.h diff --git a/Names.h b/utilities/Names.h similarity index 100% rename from Names.h rename to utilities/Names.h diff --git a/Timer.cpp b/utilities/Timer.cpp similarity index 100% rename from Timer.cpp rename to utilities/Timer.cpp diff --git a/Timer.h b/utilities/Timer.h similarity index 100% rename from Timer.h rename to utilities/Timer.h diff --git a/color.h b/utilities/color.h similarity index 100% rename from color.h rename to utilities/color.h diff --git a/comparison.h b/utilities/comparison.h similarity index 100% rename from comparison.h rename to utilities/comparison.h diff --git a/crashreporter.cpp b/utilities/crashreporter.cpp similarity index 100% rename from crashreporter.cpp rename to utilities/crashreporter.cpp diff --git a/crashreporter.h b/utilities/crashreporter.h similarity index 100% rename from crashreporter.h rename to utilities/crashreporter.h diff --git a/dictionary.cpp b/utilities/dictionary.cpp similarity index 100% rename from dictionary.cpp rename to utilities/dictionary.cpp diff --git a/dictionary.h b/utilities/dictionary.h similarity index 100% rename from dictionary.h rename to utilities/dictionary.h diff --git a/dumb3d.cpp b/utilities/dumb3d.cpp similarity index 100% rename from dumb3d.cpp rename to utilities/dumb3d.cpp diff --git a/dumb3d.h b/utilities/dumb3d.h similarity index 100% rename from dumb3d.h rename to utilities/dumb3d.h diff --git a/headtrack.cpp b/utilities/headtrack.cpp similarity index 100% rename from headtrack.cpp rename to utilities/headtrack.cpp diff --git a/headtrack.h b/utilities/headtrack.h similarity index 100% rename from headtrack.h rename to utilities/headtrack.h diff --git a/motiontelemetry.cpp b/utilities/motiontelemetry.cpp similarity index 100% rename from motiontelemetry.cpp rename to utilities/motiontelemetry.cpp diff --git a/motiontelemetry.h b/utilities/motiontelemetry.h similarity index 100% rename from motiontelemetry.h rename to utilities/motiontelemetry.h diff --git a/parser.cpp b/utilities/parser.cpp similarity index 100% rename from parser.cpp rename to utilities/parser.cpp diff --git a/parser.h b/utilities/parser.h similarity index 100% rename from parser.h rename to utilities/parser.h diff --git a/translation.cpp b/utilities/translation.cpp similarity index 100% rename from translation.cpp rename to utilities/translation.cpp diff --git a/translation.h b/utilities/translation.h similarity index 100% rename from translation.h rename to utilities/translation.h diff --git a/uart.cpp b/utilities/uart.cpp similarity index 100% rename from uart.cpp rename to utilities/uart.cpp diff --git a/uart.h b/utilities/uart.h similarity index 100% rename from uart.h rename to utilities/uart.h diff --git a/utilities.cpp b/utilities/utilities.cpp similarity index 100% rename from utilities.cpp rename to utilities/utilities.cpp diff --git a/utilities.h b/utilities/utilities.h similarity index 100% rename from utilities.h rename to utilities/utilities.h diff --git a/AirCoupler.cpp b/vehicle/AirCoupler.cpp similarity index 100% rename from AirCoupler.cpp rename to vehicle/AirCoupler.cpp diff --git a/AirCoupler.h b/vehicle/AirCoupler.h similarity index 100% rename from AirCoupler.h rename to vehicle/AirCoupler.h diff --git a/Button.cpp b/vehicle/Button.cpp similarity index 100% rename from Button.cpp rename to vehicle/Button.cpp diff --git a/Button.h b/vehicle/Button.h similarity index 100% rename from Button.h rename to vehicle/Button.h diff --git a/Camera.cpp b/vehicle/Camera.cpp similarity index 100% rename from Camera.cpp rename to vehicle/Camera.cpp diff --git a/Camera.h b/vehicle/Camera.h similarity index 100% rename from Camera.h rename to vehicle/Camera.h diff --git a/Driver.cpp b/vehicle/Driver.cpp similarity index 100% rename from Driver.cpp rename to vehicle/Driver.cpp diff --git a/Driver.h b/vehicle/Driver.h similarity index 100% rename from Driver.h rename to vehicle/Driver.h diff --git a/DynObj.cpp b/vehicle/DynObj.cpp similarity index 100% rename from DynObj.cpp rename to vehicle/DynObj.cpp diff --git a/DynObj.h b/vehicle/DynObj.h similarity index 100% rename from DynObj.h rename to vehicle/DynObj.h diff --git a/Gauge.cpp b/vehicle/Gauge.cpp similarity index 100% rename from Gauge.cpp rename to vehicle/Gauge.cpp diff --git a/Gauge.h b/vehicle/Gauge.h similarity index 100% rename from Gauge.h rename to vehicle/Gauge.h diff --git a/Train.cpp b/vehicle/Train.cpp similarity index 100% rename from Train.cpp rename to vehicle/Train.cpp diff --git a/Train.h b/vehicle/Train.h similarity index 100% rename from Train.h rename to vehicle/Train.h diff --git a/Curve.h b/world/Curve.h similarity index 100% rename from Curve.h rename to world/Curve.h diff --git a/EvLaunch.cpp b/world/EvLaunch.cpp similarity index 100% rename from EvLaunch.cpp rename to world/EvLaunch.cpp diff --git a/EvLaunch.h b/world/EvLaunch.h similarity index 100% rename from EvLaunch.h rename to world/EvLaunch.h diff --git a/Event.cpp b/world/Event.cpp similarity index 100% rename from Event.cpp rename to world/Event.cpp diff --git a/Event.h b/world/Event.h similarity index 100% rename from Event.h rename to world/Event.h diff --git a/MemCell.cpp b/world/MemCell.cpp similarity index 100% rename from MemCell.cpp rename to world/MemCell.cpp diff --git a/MemCell.h b/world/MemCell.h similarity index 100% rename from MemCell.h rename to world/MemCell.h diff --git a/Segment.cpp b/world/Segment.cpp similarity index 100% rename from Segment.cpp rename to world/Segment.cpp diff --git a/Segment.h b/world/Segment.h similarity index 100% rename from Segment.h rename to world/Segment.h diff --git a/Spring.cpp b/world/Spring.cpp similarity index 100% rename from Spring.cpp rename to world/Spring.cpp diff --git a/Spring.h b/world/Spring.h similarity index 100% rename from Spring.h rename to world/Spring.h diff --git a/Track.cpp b/world/Track.cpp similarity index 100% rename from Track.cpp rename to world/Track.cpp diff --git a/Track.h b/world/Track.h similarity index 100% rename from Track.h rename to world/Track.h diff --git a/Traction.cpp b/world/Traction.cpp similarity index 100% rename from Traction.cpp rename to world/Traction.cpp diff --git a/Traction.h b/world/Traction.h similarity index 100% rename from Traction.h rename to world/Traction.h diff --git a/TractionPower.cpp b/world/TractionPower.cpp similarity index 100% rename from TractionPower.cpp rename to world/TractionPower.cpp diff --git a/TractionPower.h b/world/TractionPower.h similarity index 100% rename from TractionPower.h rename to world/TractionPower.h diff --git a/TrkFoll.cpp b/world/TrkFoll.cpp similarity index 100% rename from TrkFoll.cpp rename to world/TrkFoll.cpp diff --git a/TrkFoll.h b/world/TrkFoll.h similarity index 100% rename from TrkFoll.h rename to world/TrkFoll.h diff --git a/mtable.cpp b/world/mtable.cpp similarity index 100% rename from mtable.cpp rename to world/mtable.cpp diff --git a/mtable.h b/world/mtable.h similarity index 100% rename from mtable.h rename to world/mtable.h diff --git a/station.cpp b/world/station.cpp similarity index 100% rename from station.cpp rename to world/station.cpp diff --git a/station.h b/world/station.h similarity index 100% rename from station.h rename to world/station.h