From 07ba751e488a7bc85aabd4bddb24361c74e1adfb Mon Sep 17 00:00:00 2001 From: Jean-LouisH Date: Mon, 23 Sep 2024 00:05:01 -0400 Subject: [PATCH] 2024.09.23 --- .../demo_data}/boot.yml | 0 .../demo_data}/escape_to_selection_menu.py | 0 .../demo_data}/gamecontrollerdb.txt | 0 .../paper_airplanes/fonts/Lato-Regular.ttf | Bin .../games/paper_airplanes/models/airplane.glb | Bin .../scenes/paper_airplanes.yml | 0 .../scripts/python/constants.py | 0 .../scripts/python/game_mechanics.py | 0 .../scripts/python/player_control.py | 0 .../games/pong/fonts/Lato-Regular.ttf | Bin .../demo_data}/games/pong/scenes/pong.yml | 0 .../games/pong/scripts/python/ai_control.py | 0 .../games/pong/scripts/python/ai_score.py | 0 .../games/pong/scripts/python/camera_shake.py | 0 .../games/pong/scripts/python/constants.py | 0 .../pong/scripts/python/game_mechanics.py | 0 .../pong/scripts/python/player_control.py | 0 .../games/pong/scripts/python/player_score.py | 0 .../games/table_tennis/fonts/Lato-Regular.ttf | Bin .../table_tennis/scenes/table_tennis.yml | 0 .../table_tennis/scripts/python/ai_control.py | 0 .../table_tennis/scripts/python/ai_score.py | 0 .../table_tennis/scripts/python/constants.py | 0 .../scripts/python/game_mechanics.py | 0 .../scripts/python/player_control.py | 0 .../scripts/python/player_score.py | 0 .../scripts/python/return_to_main.py | 0 .../demo_data}/icon.png | Bin .../demo_data}/reload_active_scene.py | 0 .../demo_data}/selection_menu.py | 2 + .../demo_data}/selection_menu.yml | 0 .../demo_data}/tests/fonts/Lato-Regular.ttf | Bin .../demo_data}/tests/images/black.jpg | Bin .../images/brown_wooden_planks_edited.jpg | Bin .../demo_data}/tests/images/collision.png | Bin .../demo_data}/tests/images/grey.jpg | Bin .../tests/images/orange_to_brown.jpg | Bin .../tests/images/scraped_from_the_black.jpg | Bin .../demo_data}/tests/images/sky.png | Bin .../demo_data}/tests/models/blue_cube.glb | Bin .../demo_data}/tests/models/cube_textured.glb | Bin .../demo_data}/tests/models/green_cube.glb | Bin .../tests/models/rainbow_cylinder.glb | Bin .../tests/models/random_objects.glb | Bin .../demo_data}/tests/models/red_cube.glb | Bin .../demo_data}/tests/models/suzanne.glb | Bin .../tests/models/suzanne_textured.glb | Bin .../tests/scenes/components_demonstration.yml | 0 .../scenes/entity_tree_rotation_demo.yml | 0 .../demo_data}/tests/scenes/event_bus.yml | 0 .../demo_data}/tests/scenes/gui_test.yml | 0 .../tests/scenes/loading_models.yml | 0 .../tests/scenes/scene_tree_layers.yml | 0 .../tests/scripts/python/camera_control.py | 0 .../python/change_texture_on_collision.py | 0 .../tests/scripts/python/constantly_rotate.py | 0 .../scripts/python/debug_camera_control.py | 0 .../scripts/python/foreground_cube_rotate.py | 0 .../tests/scripts/python/fps_gui.py | 0 .../tests/scripts/python/light_movement.py | 0 .../python/middleground_cube_rotate.py | 0 .../tests/scripts/python/model_rotation.py | 0 .../python/model_view_camera_control.py | 0 .../tests/scripts/python/move_with_input.py | 0 .../python/phong_shader_parameter_control.py | 0 .../tests/scripts/python/rainbow.py | 3 +- .../python/shader_parameter_control.py | 0 .../tests/scripts/python/x_vibration.py | 0 .../tests/scripts/python/z_rotation.py | 0 .../tests/shaders/light_source_fragment.glsl | 0 .../tests/shaders/phong_fragment.glsl | 0 .../demo_data}/tests/shaders/unlit.glsl | 0 .../tests/shaders/unlit_and_coloured.glsl | 0 .../studio_data}/boot.yml | 0 .../studio_data}/fonts/Lato-Regular.ttf | Bin .../studio_data}/gamecontrollerdb.txt | 0 .../studio_data}/icon.png | Bin .../studio_data}/scenes/debug.yml | 0 .../studio_data}/scenes/export.yml | 0 .../studio_data}/scenes/os_file_selection.yml | 0 .../studio_data}/scenes/projects_list.yml | 0 .../studio_data}/scenes/scene_editor.yml | 0 .../studio_data}/scenes/splash_screen.yml | 0 .../python/debug_escape_to_splash_screen.py | 0 .../scripts/python/debug_input_logging.py | 0 .../scripts/python/debug_time_display.py | 0 .../scripts/python/default_python_script.py | 0 .../scripts/python/os_file_selection.py | 0 .../scripts/python/projects_list.py | 0 .../python/splash_screen_transition.py | 0 src/omnific_engine/CMakeLists.txt | 8 +- src/omnific_engine/foundations/constants.hpp | 10 +- .../foundations/singletons/configuration.cpp | 2 +- .../singletons/platform/file_access.cpp | 51 +- .../singletons/platform/file_access.hpp | 50 +- src/omnific_engine/omnific_engine.cpp | 33 +- src/omnific_engine/omnific_engine.hpp | 5 + .../scene/components/audio_source.cpp | 4 +- src/omnific_engine/scene/components/gui.cpp | 4 +- .../scene/components/script_collection.cpp | 4 +- .../scene/components/sprite.cpp | 2 +- src/omnific_engine/scene/scene.cpp | 4 +- .../python_scripting_system.cpp | 17 +- .../rendering_system/rendering_system.cpp | 2 +- thirdparty/python312/include/Python.h | 109 - thirdparty/python312/include/abstract.h | 899 ------ thirdparty/python312/include/bltinmodule.h | 14 - thirdparty/python312/include/boolobject.h | 42 - .../python312/include/bytearrayobject.h | 44 - thirdparty/python312/include/bytesobject.h | 69 - thirdparty/python312/include/ceval.h | 168 -- thirdparty/python312/include/codecs.h | 248 -- thirdparty/python312/include/compile.h | 22 - thirdparty/python312/include/complexobject.h | 30 - .../python312/include/cpython/abstract.h | 206 -- .../include/cpython/bytearrayobject.h | 34 - .../python312/include/cpython/bytesobject.h | 129 - .../python312/include/cpython/cellobject.h | 44 - thirdparty/python312/include/cpython/ceval.h | 35 - .../python312/include/cpython/classobject.h | 71 - thirdparty/python312/include/cpython/code.h | 389 --- .../python312/include/cpython/compile.h | 69 - .../python312/include/cpython/complexobject.h | 44 - .../python312/include/cpython/context.h | 78 - .../python312/include/cpython/descrobject.h | 64 - .../python312/include/cpython/dictobject.h | 118 - .../python312/include/cpython/fileobject.h | 19 - .../python312/include/cpython/fileutils.h | 8 - .../python312/include/cpython/floatobject.h | 27 - .../python312/include/cpython/frameobject.h | 29 - .../python312/include/cpython/funcobject.h | 190 -- .../python312/include/cpython/genobject.h | 89 - thirdparty/python312/include/cpython/import.h | 46 - .../python312/include/cpython/initconfig.h | 256 -- .../include/cpython/interpreteridobject.h | 11 - .../python312/include/cpython/listobject.h | 47 - .../python312/include/cpython/longintrepr.h | 133 - .../python312/include/cpython/longobject.h | 100 - .../python312/include/cpython/memoryobject.h | 52 - .../python312/include/cpython/methodobject.h | 66 - .../python312/include/cpython/modsupport.h | 109 - thirdparty/python312/include/cpython/object.h | 575 ---- .../python312/include/cpython/objimpl.h | 95 - .../python312/include/cpython/odictobject.h | 43 - .../include/cpython/picklebufobject.h | 31 - .../python312/include/cpython/pthread_stubs.h | 88 - .../python312/include/cpython/pyctype.h | 39 - .../python312/include/cpython/pydebug.h | 38 - .../python312/include/cpython/pyerrors.h | 178 -- thirdparty/python312/include/cpython/pyfpe.h | 15 - .../python312/include/cpython/pyframe.h | 35 - .../python312/include/cpython/pylifecycle.h | 111 - thirdparty/python312/include/cpython/pymem.h | 98 - .../python312/include/cpython/pystate.h | 456 --- .../python312/include/cpython/pythonrun.h | 121 - .../python312/include/cpython/pythread.h | 42 - thirdparty/python312/include/cpython/pytime.h | 331 -- .../python312/include/cpython/setobject.h | 72 - .../python312/include/cpython/sysmodule.h | 16 - .../python312/include/cpython/traceback.h | 16 - .../python312/include/cpython/tupleobject.h | 39 - .../python312/include/cpython/unicodeobject.h | 963 ------ .../python312/include/cpython/warnings.h | 20 - .../python312/include/cpython/weakrefobject.h | 56 - thirdparty/python312/include/datetime.h | 267 -- thirdparty/python312/include/descrobject.h | 100 - thirdparty/python312/include/dictobject.h | 97 - .../python312/include/dynamic_annotations.h | 499 --- thirdparty/python312/include/enumobject.h | 17 - thirdparty/python312/include/errcode.h | 38 - thirdparty/python312/include/exports.h | 36 - thirdparty/python312/include/fileobject.h | 49 - thirdparty/python312/include/fileutils.h | 26 - thirdparty/python312/include/floatobject.h | 54 - thirdparty/python312/include/frameobject.h | 20 - .../python312/include/genericaliasobject.h | 14 - thirdparty/python312/include/import.h | 98 - .../include/internal/pycore_abstract.h | 25 - .../python312/include/internal/pycore_asdl.h | 112 - .../python312/include/internal/pycore_ast.h | 922 ------ .../include/internal/pycore_ast_state.h | 265 -- .../include/internal/pycore_atexit.h | 57 - .../include/internal/pycore_atomic.h | 557 ---- .../include/internal/pycore_atomic_funcs.h | 94 - .../include/internal/pycore_bitutils.h | 186 -- .../internal/pycore_blocks_output_buffer.h | 317 -- .../include/internal/pycore_bytes_methods.h | 73 - .../include/internal/pycore_bytesobject.h | 47 - .../python312/include/internal/pycore_call.h | 133 - .../python312/include/internal/pycore_ceval.h | 164 - .../include/internal/pycore_ceval_state.h | 103 - .../python312/include/internal/pycore_code.h | 496 --- .../include/internal/pycore_compile.h | 118 - .../include/internal/pycore_condvar.h | 97 - .../include/internal/pycore_context.h | 71 - .../include/internal/pycore_descrobject.h | 26 - .../python312/include/internal/pycore_dict.h | 199 -- .../include/internal/pycore_dict_state.h | 50 - .../python312/include/internal/pycore_dtoa.h | 73 - .../internal/pycore_emscripten_signal.h | 25 - .../include/internal/pycore_exceptions.h | 37 - .../include/internal/pycore_faulthandler.h | 99 - .../include/internal/pycore_fileutils.h | 292 -- .../internal/pycore_fileutils_windows.h | 98 - .../include/internal/pycore_floatobject.h | 71 - .../include/internal/pycore_flowgraph.h | 120 - .../include/internal/pycore_format.h | 27 - .../python312/include/internal/pycore_frame.h | 286 -- .../include/internal/pycore_function.h | 26 - .../python312/include/internal/pycore_gc.h | 211 -- .../include/internal/pycore_genobject.h | 49 - .../include/internal/pycore_getopt.h | 22 - .../python312/include/internal/pycore_gil.h | 50 - .../include/internal/pycore_global_objects.h | 105 - .../pycore_global_objects_fini_generated.h | 1532 ---------- .../include/internal/pycore_global_strings.h | 788 ----- .../python312/include/internal/pycore_hamt.h | 134 - .../include/internal/pycore_hashtable.h | 149 - .../include/internal/pycore_import.h | 183 -- .../include/internal/pycore_initconfig.h | 179 -- .../include/internal/pycore_instruments.h | 106 - .../include/internal/pycore_interp.h | 275 -- .../include/internal/pycore_intrinsics.h | 32 - .../python312/include/internal/pycore_list.h | 83 - .../python312/include/internal/pycore_long.h | 258 -- .../include/internal/pycore_memoryobject.h | 18 - .../include/internal/pycore_moduleobject.h | 45 - .../include/internal/pycore_namespace.h | 20 - .../include/internal/pycore_object.h | 443 --- .../include/internal/pycore_object_state.h | 36 - .../include/internal/pycore_obmalloc.h | 700 ----- .../include/internal/pycore_obmalloc_init.h | 73 - .../include/internal/pycore_opcode.h | 587 ---- .../include/internal/pycore_opcode_utils.h | 92 - .../include/internal/pycore_parser.h | 66 - .../include/internal/pycore_pathconfig.h | 24 - .../include/internal/pycore_pyarena.h | 64 - .../include/internal/pycore_pyerrors.h | 117 - .../include/internal/pycore_pyhash.h | 40 - .../include/internal/pycore_pylifecycle.h | 99 - .../include/internal/pycore_pymath.h | 205 -- .../python312/include/internal/pycore_pymem.h | 98 - .../include/internal/pycore_pymem_init.h | 85 - .../include/internal/pycore_pystate.h | 180 -- .../include/internal/pycore_pythread.h | 81 - .../python312/include/internal/pycore_range.h | 21 - .../include/internal/pycore_runtime.h | 235 -- .../include/internal/pycore_runtime_init.h | 195 -- .../internal/pycore_runtime_init_generated.h | 1526 ---------- .../include/internal/pycore_signal.h | 98 - .../include/internal/pycore_sliceobject.h | 22 - .../include/internal/pycore_strhex.h | 36 - .../include/internal/pycore_structseq.h | 39 - .../include/internal/pycore_symtable.h | 160 - .../include/internal/pycore_sysmodule.h | 29 - .../python312/include/internal/pycore_time.h | 25 - .../python312/include/internal/pycore_token.h | 108 - .../include/internal/pycore_traceback.h | 101 - .../include/internal/pycore_tracemalloc.h | 123 - .../python312/include/internal/pycore_tuple.h | 79 - .../include/internal/pycore_typeobject.h | 149 - .../include/internal/pycore_typevarobject.h | 24 - .../include/internal/pycore_ucnhash.h | 34 - .../include/internal/pycore_unicodeobject.h | 70 - .../internal/pycore_unicodeobject_generated.h | 2096 ------------- .../include/internal/pycore_unionobject.h | 23 - .../include/internal/pycore_warnings.h | 29 - .../python312/include/interpreteridobject.h | 17 - thirdparty/python312/include/intrcheck.h | 30 - thirdparty/python312/include/iterobject.h | 27 - thirdparty/python312/include/listobject.h | 52 - thirdparty/python312/include/longobject.h | 108 - thirdparty/python312/include/marshal.h | 31 - thirdparty/python312/include/memoryobject.h | 34 - thirdparty/python312/include/methodobject.h | 132 - thirdparty/python312/include/modsupport.h | 168 -- thirdparty/python312/include/moduleobject.h | 119 - thirdparty/python312/include/object.h | 993 ------ thirdparty/python312/include/objimpl.h | 234 -- thirdparty/python312/include/opcode.h | 271 -- thirdparty/python312/include/osdefs.h | 51 - thirdparty/python312/include/osmodule.h | 17 - thirdparty/python312/include/patchlevel.h | 35 - thirdparty/python312/include/py_curses.h | 99 - thirdparty/python312/include/pybuffer.h | 145 - thirdparty/python312/include/pycapsule.h | 59 - thirdparty/python312/include/pyconfig.h | 2682 ----------------- thirdparty/python312/include/pydtrace.h | 59 - thirdparty/python312/include/pyerrors.h | 337 --- thirdparty/python312/include/pyexpat.h | 57 - thirdparty/python312/include/pyframe.h | 26 - thirdparty/python312/include/pyhash.h | 144 - thirdparty/python312/include/pylifecycle.h | 78 - thirdparty/python312/include/pymacconfig.h | 99 - thirdparty/python312/include/pymacro.h | 163 - thirdparty/python312/include/pymath.h | 62 - thirdparty/python312/include/pymem.h | 104 - thirdparty/python312/include/pyport.h | 782 ----- thirdparty/python312/include/pystate.h | 132 - thirdparty/python312/include/pystats.h | 110 - thirdparty/python312/include/pystrcmp.h | 23 - thirdparty/python312/include/pystrtod.h | 46 - thirdparty/python312/include/pythonrun.h | 49 - thirdparty/python312/include/pythread.h | 135 - thirdparty/python312/include/pytypedefs.h | 30 - thirdparty/python312/include/rangeobject.h | 27 - thirdparty/python312/include/setobject.h | 49 - thirdparty/python312/include/sliceobject.h | 65 - thirdparty/python312/include/structmember.h | 56 - thirdparty/python312/include/structseq.h | 49 - thirdparty/python312/include/sysmodule.h | 54 - thirdparty/python312/include/traceback.h | 26 - thirdparty/python312/include/tracemalloc.h | 72 - thirdparty/python312/include/tupleobject.h | 46 - thirdparty/python312/include/typeslots.h | 88 - thirdparty/python312/include/unicodeobject.h | 1020 ------- thirdparty/python312/include/warnings.h | 45 - thirdparty/python312/include/weakrefobject.h | 42 - thirdparty/python37/Include/Python-ast.h | 637 ---- thirdparty/python37/Include/Python.h | 159 - thirdparty/python37/Include/abstract.h | 1109 ------- thirdparty/python37/Include/accu.h | 37 - thirdparty/python37/Include/asdl.h | 46 - thirdparty/python37/Include/ast.h | 29 - thirdparty/python37/Include/bitset.h | 32 - thirdparty/python37/Include/bltinmodule.h | 14 - thirdparty/python37/Include/boolobject.h | 34 - thirdparty/python37/Include/bytearrayobject.h | 62 - thirdparty/python37/Include/bytes_methods.h | 69 - thirdparty/python37/Include/bytesobject.h | 224 -- thirdparty/python37/Include/cellobject.h | 29 - thirdparty/python37/Include/ceval.h | 239 -- thirdparty/python37/Include/classobject.h | 58 - thirdparty/python37/Include/code.h | 157 - thirdparty/python37/Include/codecs.h | 240 -- thirdparty/python37/Include/compile.h | 93 - thirdparty/python37/Include/complexobject.h | 69 - thirdparty/python37/Include/context.h | 84 - thirdparty/python37/Include/datetime.h | 273 -- thirdparty/python37/Include/descrobject.h | 110 - thirdparty/python37/Include/dictobject.h | 179 -- thirdparty/python37/Include/dtoa.h | 19 - .../python37/Include/dynamic_annotations.h | 499 --- thirdparty/python37/Include/enumobject.h | 17 - thirdparty/python37/Include/errcode.h | 38 - thirdparty/python37/Include/eval.h | 37 - thirdparty/python37/Include/fileobject.h | 55 - thirdparty/python37/Include/fileutils.h | 201 -- thirdparty/python37/Include/floatobject.h | 130 - thirdparty/python37/Include/frameobject.h | 93 - thirdparty/python37/Include/funcobject.h | 103 - thirdparty/python37/Include/genobject.h | 105 - thirdparty/python37/Include/graminit.h | 89 - thirdparty/python37/Include/grammar.h | 94 - thirdparty/python37/Include/import.h | 151 - thirdparty/python37/Include/internal/ceval.h | 52 - .../python37/Include/internal/condvar.h | 91 - .../python37/Include/internal/context.h | 41 - thirdparty/python37/Include/internal/gil.h | 46 - thirdparty/python37/Include/internal/hamt.h | 125 - thirdparty/python37/Include/internal/hash.h | 6 - thirdparty/python37/Include/internal/import.h | 6 - thirdparty/python37/Include/internal/mem.h | 175 -- .../python37/Include/internal/pycore_long.h | 49 - .../python37/Include/internal/pygetopt.h | 19 - .../python37/Include/internal/pystate.h | 141 - .../python37/Include/internal/warnings.h | 21 - thirdparty/python37/Include/intrcheck.h | 33 - thirdparty/python37/Include/iterobject.h | 25 - thirdparty/python37/Include/listobject.h | 81 - thirdparty/python37/Include/longintrepr.h | 99 - thirdparty/python37/Include/longobject.h | 220 -- thirdparty/python37/Include/marshal.h | 28 - thirdparty/python37/Include/memoryobject.h | 72 - thirdparty/python37/Include/metagrammar.h | 18 - thirdparty/python37/Include/methodobject.h | 135 - thirdparty/python37/Include/modsupport.h | 229 -- thirdparty/python37/Include/moduleobject.h | 89 - thirdparty/python37/Include/namespaceobject.h | 19 - thirdparty/python37/Include/node.h | 44 - thirdparty/python37/Include/object.h | 1105 ------- thirdparty/python37/Include/objimpl.h | 374 --- thirdparty/python37/Include/odictobject.h | 43 - thirdparty/python37/Include/opcode.h | 147 - thirdparty/python37/Include/osdefs.h | 47 - thirdparty/python37/Include/osmodule.h | 17 - thirdparty/python37/Include/parsetok.h | 108 - thirdparty/python37/Include/patchlevel.h | 35 - thirdparty/python37/Include/pgen.h | 18 - thirdparty/python37/Include/pgenheaders.h | 43 - thirdparty/python37/Include/py_curses.h | 159 - thirdparty/python37/Include/pyarena.h | 64 - thirdparty/python37/Include/pyatomic.h | 535 ---- thirdparty/python37/Include/pycapsule.h | 59 - thirdparty/python37/Include/pyconfig.h | 2272 -------------- thirdparty/python37/Include/pyctype.h | 33 - thirdparty/python37/Include/pydebug.h | 40 - thirdparty/python37/Include/pydtrace.d | 21 - thirdparty/python37/Include/pydtrace.h | 57 - thirdparty/python37/Include/pyerrors.h | 504 ---- thirdparty/python37/Include/pyexpat.h | 55 - thirdparty/python37/Include/pyfpe.h | 12 - thirdparty/python37/Include/pyhash.h | 145 - thirdparty/python37/Include/pylifecycle.h | 238 -- thirdparty/python37/Include/pymacconfig.h | 102 - thirdparty/python37/Include/pymacro.h | 100 - thirdparty/python37/Include/pymath.h | 230 -- thirdparty/python37/Include/pymem.h | 244 -- thirdparty/python37/Include/pyport.h | 793 ----- thirdparty/python37/Include/pystate.h | 456 --- thirdparty/python37/Include/pystrcmp.h | 23 - thirdparty/python37/Include/pystrhex.h | 19 - thirdparty/python37/Include/pystrtod.h | 45 - thirdparty/python37/Include/pythonrun.h | 181 -- thirdparty/python37/Include/pythread.h | 155 - thirdparty/python37/Include/pytime.h | 246 -- thirdparty/python37/Include/rangeobject.h | 27 - thirdparty/python37/Include/setobject.h | 108 - thirdparty/python37/Include/sliceobject.h | 63 - thirdparty/python37/Include/structmember.h | 74 - thirdparty/python37/Include/structseq.h | 49 - thirdparty/python37/Include/symtable.h | 118 - thirdparty/python37/Include/sysmodule.h | 48 - thirdparty/python37/Include/token.h | 92 - thirdparty/python37/Include/traceback.h | 119 - thirdparty/python37/Include/tupleobject.h | 73 - thirdparty/python37/Include/typeslots.h | 85 - thirdparty/python37/Include/ucnhash.h | 36 - thirdparty/python37/Include/unicodeobject.h | 2334 -------------- thirdparty/python37/Include/warnings.h | 67 - thirdparty/python37/Include/weakrefobject.h | 86 - thirdparty/python37/LICENSE | 254 -- thirdparty/python37/README.rst | 261 -- thirdparty/python37/lib/libpython37.a | Bin 1232690 -> 0 bytes thirdparty/python37/lib/python3.dll | Bin 58896 -> 0 bytes thirdparty/python37/lib/python3.lib | Bin 170564 -> 0 bytes thirdparty/python37/lib/python37.dll | Bin 3750416 -> 0 bytes thirdparty/python37/lib/python37.lib | Bin 342420 -> 0 bytes thirdparty/python37/setup.py | 2407 --------------- vcpkg.json | 1 + 440 files changed, 119 insertions(+), 58584 deletions(-) rename {assets/demo_assets => app_data/demo_data}/boot.yml (100%) rename {assets/demo_assets => app_data/demo_data}/escape_to_selection_menu.py (100%) rename {assets/demo_assets => app_data/demo_data}/gamecontrollerdb.txt (100%) rename {assets/demo_assets => app_data/demo_data}/games/paper_airplanes/fonts/Lato-Regular.ttf (100%) rename {assets/demo_assets => app_data/demo_data}/games/paper_airplanes/models/airplane.glb (100%) rename {assets/demo_assets => app_data/demo_data}/games/paper_airplanes/scenes/paper_airplanes.yml (100%) rename {assets/demo_assets => app_data/demo_data}/games/paper_airplanes/scripts/python/constants.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/paper_airplanes/scripts/python/game_mechanics.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/paper_airplanes/scripts/python/player_control.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/pong/fonts/Lato-Regular.ttf (100%) rename {assets/demo_assets => app_data/demo_data}/games/pong/scenes/pong.yml (100%) rename {assets/demo_assets => app_data/demo_data}/games/pong/scripts/python/ai_control.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/pong/scripts/python/ai_score.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/pong/scripts/python/camera_shake.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/pong/scripts/python/constants.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/pong/scripts/python/game_mechanics.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/pong/scripts/python/player_control.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/pong/scripts/python/player_score.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/table_tennis/fonts/Lato-Regular.ttf (100%) rename {assets/demo_assets => app_data/demo_data}/games/table_tennis/scenes/table_tennis.yml (100%) rename {assets/demo_assets => app_data/demo_data}/games/table_tennis/scripts/python/ai_control.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/table_tennis/scripts/python/ai_score.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/table_tennis/scripts/python/constants.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/table_tennis/scripts/python/game_mechanics.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/table_tennis/scripts/python/player_control.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/table_tennis/scripts/python/player_score.py (100%) rename {assets/demo_assets => app_data/demo_data}/games/table_tennis/scripts/python/return_to_main.py (100%) rename {assets/demo_assets => app_data/demo_data}/icon.png (100%) rename {assets/demo_assets => app_data/demo_data}/reload_active_scene.py (100%) rename {assets/demo_assets => app_data/demo_data}/selection_menu.py (97%) rename {assets/demo_assets => app_data/demo_data}/selection_menu.yml (100%) rename {assets/demo_assets => app_data/demo_data}/tests/fonts/Lato-Regular.ttf (100%) rename {assets/demo_assets => app_data/demo_data}/tests/images/black.jpg (100%) rename {assets/demo_assets => app_data/demo_data}/tests/images/brown_wooden_planks_edited.jpg (100%) rename {assets/demo_assets => app_data/demo_data}/tests/images/collision.png (100%) rename {assets/demo_assets => app_data/demo_data}/tests/images/grey.jpg (100%) rename {assets/demo_assets => app_data/demo_data}/tests/images/orange_to_brown.jpg (100%) rename {assets/demo_assets => app_data/demo_data}/tests/images/scraped_from_the_black.jpg (100%) rename {assets/demo_assets => app_data/demo_data}/tests/images/sky.png (100%) rename {assets/demo_assets => app_data/demo_data}/tests/models/blue_cube.glb (100%) rename {assets/demo_assets => app_data/demo_data}/tests/models/cube_textured.glb (100%) rename {assets/demo_assets => app_data/demo_data}/tests/models/green_cube.glb (100%) rename {assets/demo_assets => app_data/demo_data}/tests/models/rainbow_cylinder.glb (100%) rename {assets/demo_assets => app_data/demo_data}/tests/models/random_objects.glb (100%) rename {assets/demo_assets => app_data/demo_data}/tests/models/red_cube.glb (100%) rename {assets/demo_assets => app_data/demo_data}/tests/models/suzanne.glb (100%) rename {assets/demo_assets => app_data/demo_data}/tests/models/suzanne_textured.glb (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scenes/components_demonstration.yml (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scenes/entity_tree_rotation_demo.yml (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scenes/event_bus.yml (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scenes/gui_test.yml (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scenes/loading_models.yml (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scenes/scene_tree_layers.yml (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/camera_control.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/change_texture_on_collision.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/constantly_rotate.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/debug_camera_control.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/foreground_cube_rotate.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/fps_gui.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/light_movement.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/middleground_cube_rotate.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/model_rotation.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/model_view_camera_control.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/move_with_input.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/phong_shader_parameter_control.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/rainbow.py (91%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/shader_parameter_control.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/x_vibration.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/scripts/python/z_rotation.py (100%) rename {assets/demo_assets => app_data/demo_data}/tests/shaders/light_source_fragment.glsl (100%) rename {assets/demo_assets => app_data/demo_data}/tests/shaders/phong_fragment.glsl (100%) rename {assets/demo_assets => app_data/demo_data}/tests/shaders/unlit.glsl (100%) rename {assets/demo_assets => app_data/demo_data}/tests/shaders/unlit_and_coloured.glsl (100%) rename {assets/studio_assets => app_data/studio_data}/boot.yml (100%) rename {assets/studio_assets => app_data/studio_data}/fonts/Lato-Regular.ttf (100%) rename {assets/studio_assets => app_data/studio_data}/gamecontrollerdb.txt (100%) rename {assets/studio_assets => app_data/studio_data}/icon.png (100%) rename {assets/studio_assets => app_data/studio_data}/scenes/debug.yml (100%) rename {assets/studio_assets => app_data/studio_data}/scenes/export.yml (100%) rename {assets/studio_assets => app_data/studio_data}/scenes/os_file_selection.yml (100%) rename {assets/studio_assets => app_data/studio_data}/scenes/projects_list.yml (100%) rename {assets/studio_assets => app_data/studio_data}/scenes/scene_editor.yml (100%) rename {assets/studio_assets => app_data/studio_data}/scenes/splash_screen.yml (100%) rename {assets/studio_assets => app_data/studio_data}/scripts/python/debug_escape_to_splash_screen.py (100%) rename {assets/studio_assets => app_data/studio_data}/scripts/python/debug_input_logging.py (100%) rename {assets/studio_assets => app_data/studio_data}/scripts/python/debug_time_display.py (100%) rename {assets/studio_assets => app_data/studio_data}/scripts/python/default_python_script.py (100%) rename {assets/studio_assets => app_data/studio_data}/scripts/python/os_file_selection.py (100%) rename {assets/studio_assets => app_data/studio_data}/scripts/python/projects_list.py (100%) rename {assets/studio_assets => app_data/studio_data}/scripts/python/splash_screen_transition.py (100%) delete mode 100644 thirdparty/python312/include/Python.h delete mode 100644 thirdparty/python312/include/abstract.h delete mode 100644 thirdparty/python312/include/bltinmodule.h delete mode 100644 thirdparty/python312/include/boolobject.h delete mode 100644 thirdparty/python312/include/bytearrayobject.h delete mode 100644 thirdparty/python312/include/bytesobject.h delete mode 100644 thirdparty/python312/include/ceval.h delete mode 100644 thirdparty/python312/include/codecs.h delete mode 100644 thirdparty/python312/include/compile.h delete mode 100644 thirdparty/python312/include/complexobject.h delete mode 100644 thirdparty/python312/include/cpython/abstract.h delete mode 100644 thirdparty/python312/include/cpython/bytearrayobject.h delete mode 100644 thirdparty/python312/include/cpython/bytesobject.h delete mode 100644 thirdparty/python312/include/cpython/cellobject.h delete mode 100644 thirdparty/python312/include/cpython/ceval.h delete mode 100644 thirdparty/python312/include/cpython/classobject.h delete mode 100644 thirdparty/python312/include/cpython/code.h delete mode 100644 thirdparty/python312/include/cpython/compile.h delete mode 100644 thirdparty/python312/include/cpython/complexobject.h delete mode 100644 thirdparty/python312/include/cpython/context.h delete mode 100644 thirdparty/python312/include/cpython/descrobject.h delete mode 100644 thirdparty/python312/include/cpython/dictobject.h delete mode 100644 thirdparty/python312/include/cpython/fileobject.h delete mode 100644 thirdparty/python312/include/cpython/fileutils.h delete mode 100644 thirdparty/python312/include/cpython/floatobject.h delete mode 100644 thirdparty/python312/include/cpython/frameobject.h delete mode 100644 thirdparty/python312/include/cpython/funcobject.h delete mode 100644 thirdparty/python312/include/cpython/genobject.h delete mode 100644 thirdparty/python312/include/cpython/import.h delete mode 100644 thirdparty/python312/include/cpython/initconfig.h delete mode 100644 thirdparty/python312/include/cpython/interpreteridobject.h delete mode 100644 thirdparty/python312/include/cpython/listobject.h delete mode 100644 thirdparty/python312/include/cpython/longintrepr.h delete mode 100644 thirdparty/python312/include/cpython/longobject.h delete mode 100644 thirdparty/python312/include/cpython/memoryobject.h delete mode 100644 thirdparty/python312/include/cpython/methodobject.h delete mode 100644 thirdparty/python312/include/cpython/modsupport.h delete mode 100644 thirdparty/python312/include/cpython/object.h delete mode 100644 thirdparty/python312/include/cpython/objimpl.h delete mode 100644 thirdparty/python312/include/cpython/odictobject.h delete mode 100644 thirdparty/python312/include/cpython/picklebufobject.h delete mode 100644 thirdparty/python312/include/cpython/pthread_stubs.h delete mode 100644 thirdparty/python312/include/cpython/pyctype.h delete mode 100644 thirdparty/python312/include/cpython/pydebug.h delete mode 100644 thirdparty/python312/include/cpython/pyerrors.h delete mode 100644 thirdparty/python312/include/cpython/pyfpe.h delete mode 100644 thirdparty/python312/include/cpython/pyframe.h delete mode 100644 thirdparty/python312/include/cpython/pylifecycle.h delete mode 100644 thirdparty/python312/include/cpython/pymem.h delete mode 100644 thirdparty/python312/include/cpython/pystate.h delete mode 100644 thirdparty/python312/include/cpython/pythonrun.h delete mode 100644 thirdparty/python312/include/cpython/pythread.h delete mode 100644 thirdparty/python312/include/cpython/pytime.h delete mode 100644 thirdparty/python312/include/cpython/setobject.h delete mode 100644 thirdparty/python312/include/cpython/sysmodule.h delete mode 100644 thirdparty/python312/include/cpython/traceback.h delete mode 100644 thirdparty/python312/include/cpython/tupleobject.h delete mode 100644 thirdparty/python312/include/cpython/unicodeobject.h delete mode 100644 thirdparty/python312/include/cpython/warnings.h delete mode 100644 thirdparty/python312/include/cpython/weakrefobject.h delete mode 100644 thirdparty/python312/include/datetime.h delete mode 100644 thirdparty/python312/include/descrobject.h delete mode 100644 thirdparty/python312/include/dictobject.h delete mode 100644 thirdparty/python312/include/dynamic_annotations.h delete mode 100644 thirdparty/python312/include/enumobject.h delete mode 100644 thirdparty/python312/include/errcode.h delete mode 100644 thirdparty/python312/include/exports.h delete mode 100644 thirdparty/python312/include/fileobject.h delete mode 100644 thirdparty/python312/include/fileutils.h delete mode 100644 thirdparty/python312/include/floatobject.h delete mode 100644 thirdparty/python312/include/frameobject.h delete mode 100644 thirdparty/python312/include/genericaliasobject.h delete mode 100644 thirdparty/python312/include/import.h delete mode 100644 thirdparty/python312/include/internal/pycore_abstract.h delete mode 100644 thirdparty/python312/include/internal/pycore_asdl.h delete mode 100644 thirdparty/python312/include/internal/pycore_ast.h delete mode 100644 thirdparty/python312/include/internal/pycore_ast_state.h delete mode 100644 thirdparty/python312/include/internal/pycore_atexit.h delete mode 100644 thirdparty/python312/include/internal/pycore_atomic.h delete mode 100644 thirdparty/python312/include/internal/pycore_atomic_funcs.h delete mode 100644 thirdparty/python312/include/internal/pycore_bitutils.h delete mode 100644 thirdparty/python312/include/internal/pycore_blocks_output_buffer.h delete mode 100644 thirdparty/python312/include/internal/pycore_bytes_methods.h delete mode 100644 thirdparty/python312/include/internal/pycore_bytesobject.h delete mode 100644 thirdparty/python312/include/internal/pycore_call.h delete mode 100644 thirdparty/python312/include/internal/pycore_ceval.h delete mode 100644 thirdparty/python312/include/internal/pycore_ceval_state.h delete mode 100644 thirdparty/python312/include/internal/pycore_code.h delete mode 100644 thirdparty/python312/include/internal/pycore_compile.h delete mode 100644 thirdparty/python312/include/internal/pycore_condvar.h delete mode 100644 thirdparty/python312/include/internal/pycore_context.h delete mode 100644 thirdparty/python312/include/internal/pycore_descrobject.h delete mode 100644 thirdparty/python312/include/internal/pycore_dict.h delete mode 100644 thirdparty/python312/include/internal/pycore_dict_state.h delete mode 100644 thirdparty/python312/include/internal/pycore_dtoa.h delete mode 100644 thirdparty/python312/include/internal/pycore_emscripten_signal.h delete mode 100644 thirdparty/python312/include/internal/pycore_exceptions.h delete mode 100644 thirdparty/python312/include/internal/pycore_faulthandler.h delete mode 100644 thirdparty/python312/include/internal/pycore_fileutils.h delete mode 100644 thirdparty/python312/include/internal/pycore_fileutils_windows.h delete mode 100644 thirdparty/python312/include/internal/pycore_floatobject.h delete mode 100644 thirdparty/python312/include/internal/pycore_flowgraph.h delete mode 100644 thirdparty/python312/include/internal/pycore_format.h delete mode 100644 thirdparty/python312/include/internal/pycore_frame.h delete mode 100644 thirdparty/python312/include/internal/pycore_function.h delete mode 100644 thirdparty/python312/include/internal/pycore_gc.h delete mode 100644 thirdparty/python312/include/internal/pycore_genobject.h delete mode 100644 thirdparty/python312/include/internal/pycore_getopt.h delete mode 100644 thirdparty/python312/include/internal/pycore_gil.h delete mode 100644 thirdparty/python312/include/internal/pycore_global_objects.h delete mode 100644 thirdparty/python312/include/internal/pycore_global_objects_fini_generated.h delete mode 100644 thirdparty/python312/include/internal/pycore_global_strings.h delete mode 100644 thirdparty/python312/include/internal/pycore_hamt.h delete mode 100644 thirdparty/python312/include/internal/pycore_hashtable.h delete mode 100644 thirdparty/python312/include/internal/pycore_import.h delete mode 100644 thirdparty/python312/include/internal/pycore_initconfig.h delete mode 100644 thirdparty/python312/include/internal/pycore_instruments.h delete mode 100644 thirdparty/python312/include/internal/pycore_interp.h delete mode 100644 thirdparty/python312/include/internal/pycore_intrinsics.h delete mode 100644 thirdparty/python312/include/internal/pycore_list.h delete mode 100644 thirdparty/python312/include/internal/pycore_long.h delete mode 100644 thirdparty/python312/include/internal/pycore_memoryobject.h delete mode 100644 thirdparty/python312/include/internal/pycore_moduleobject.h delete mode 100644 thirdparty/python312/include/internal/pycore_namespace.h delete mode 100644 thirdparty/python312/include/internal/pycore_object.h delete mode 100644 thirdparty/python312/include/internal/pycore_object_state.h delete mode 100644 thirdparty/python312/include/internal/pycore_obmalloc.h delete mode 100644 thirdparty/python312/include/internal/pycore_obmalloc_init.h delete mode 100644 thirdparty/python312/include/internal/pycore_opcode.h delete mode 100644 thirdparty/python312/include/internal/pycore_opcode_utils.h delete mode 100644 thirdparty/python312/include/internal/pycore_parser.h delete mode 100644 thirdparty/python312/include/internal/pycore_pathconfig.h delete mode 100644 thirdparty/python312/include/internal/pycore_pyarena.h delete mode 100644 thirdparty/python312/include/internal/pycore_pyerrors.h delete mode 100644 thirdparty/python312/include/internal/pycore_pyhash.h delete mode 100644 thirdparty/python312/include/internal/pycore_pylifecycle.h delete mode 100644 thirdparty/python312/include/internal/pycore_pymath.h delete mode 100644 thirdparty/python312/include/internal/pycore_pymem.h delete mode 100644 thirdparty/python312/include/internal/pycore_pymem_init.h delete mode 100644 thirdparty/python312/include/internal/pycore_pystate.h delete mode 100644 thirdparty/python312/include/internal/pycore_pythread.h delete mode 100644 thirdparty/python312/include/internal/pycore_range.h delete mode 100644 thirdparty/python312/include/internal/pycore_runtime.h delete mode 100644 thirdparty/python312/include/internal/pycore_runtime_init.h delete mode 100644 thirdparty/python312/include/internal/pycore_runtime_init_generated.h delete mode 100644 thirdparty/python312/include/internal/pycore_signal.h delete mode 100644 thirdparty/python312/include/internal/pycore_sliceobject.h delete mode 100644 thirdparty/python312/include/internal/pycore_strhex.h delete mode 100644 thirdparty/python312/include/internal/pycore_structseq.h delete mode 100644 thirdparty/python312/include/internal/pycore_symtable.h delete mode 100644 thirdparty/python312/include/internal/pycore_sysmodule.h delete mode 100644 thirdparty/python312/include/internal/pycore_time.h delete mode 100644 thirdparty/python312/include/internal/pycore_token.h delete mode 100644 thirdparty/python312/include/internal/pycore_traceback.h delete mode 100644 thirdparty/python312/include/internal/pycore_tracemalloc.h delete mode 100644 thirdparty/python312/include/internal/pycore_tuple.h delete mode 100644 thirdparty/python312/include/internal/pycore_typeobject.h delete mode 100644 thirdparty/python312/include/internal/pycore_typevarobject.h delete mode 100644 thirdparty/python312/include/internal/pycore_ucnhash.h delete mode 100644 thirdparty/python312/include/internal/pycore_unicodeobject.h delete mode 100644 thirdparty/python312/include/internal/pycore_unicodeobject_generated.h delete mode 100644 thirdparty/python312/include/internal/pycore_unionobject.h delete mode 100644 thirdparty/python312/include/internal/pycore_warnings.h delete mode 100644 thirdparty/python312/include/interpreteridobject.h delete mode 100644 thirdparty/python312/include/intrcheck.h delete mode 100644 thirdparty/python312/include/iterobject.h delete mode 100644 thirdparty/python312/include/listobject.h delete mode 100644 thirdparty/python312/include/longobject.h delete mode 100644 thirdparty/python312/include/marshal.h delete mode 100644 thirdparty/python312/include/memoryobject.h delete mode 100644 thirdparty/python312/include/methodobject.h delete mode 100644 thirdparty/python312/include/modsupport.h delete mode 100644 thirdparty/python312/include/moduleobject.h delete mode 100644 thirdparty/python312/include/object.h delete mode 100644 thirdparty/python312/include/objimpl.h delete mode 100644 thirdparty/python312/include/opcode.h delete mode 100644 thirdparty/python312/include/osdefs.h delete mode 100644 thirdparty/python312/include/osmodule.h delete mode 100644 thirdparty/python312/include/patchlevel.h delete mode 100644 thirdparty/python312/include/py_curses.h delete mode 100644 thirdparty/python312/include/pybuffer.h delete mode 100644 thirdparty/python312/include/pycapsule.h delete mode 100644 thirdparty/python312/include/pyconfig.h delete mode 100644 thirdparty/python312/include/pydtrace.h delete mode 100644 thirdparty/python312/include/pyerrors.h delete mode 100644 thirdparty/python312/include/pyexpat.h delete mode 100644 thirdparty/python312/include/pyframe.h delete mode 100644 thirdparty/python312/include/pyhash.h delete mode 100644 thirdparty/python312/include/pylifecycle.h delete mode 100644 thirdparty/python312/include/pymacconfig.h delete mode 100644 thirdparty/python312/include/pymacro.h delete mode 100644 thirdparty/python312/include/pymath.h delete mode 100644 thirdparty/python312/include/pymem.h delete mode 100644 thirdparty/python312/include/pyport.h delete mode 100644 thirdparty/python312/include/pystate.h delete mode 100644 thirdparty/python312/include/pystats.h delete mode 100644 thirdparty/python312/include/pystrcmp.h delete mode 100644 thirdparty/python312/include/pystrtod.h delete mode 100644 thirdparty/python312/include/pythonrun.h delete mode 100644 thirdparty/python312/include/pythread.h delete mode 100644 thirdparty/python312/include/pytypedefs.h delete mode 100644 thirdparty/python312/include/rangeobject.h delete mode 100644 thirdparty/python312/include/setobject.h delete mode 100644 thirdparty/python312/include/sliceobject.h delete mode 100644 thirdparty/python312/include/structmember.h delete mode 100644 thirdparty/python312/include/structseq.h delete mode 100644 thirdparty/python312/include/sysmodule.h delete mode 100644 thirdparty/python312/include/traceback.h delete mode 100644 thirdparty/python312/include/tracemalloc.h delete mode 100644 thirdparty/python312/include/tupleobject.h delete mode 100644 thirdparty/python312/include/typeslots.h delete mode 100644 thirdparty/python312/include/unicodeobject.h delete mode 100644 thirdparty/python312/include/warnings.h delete mode 100644 thirdparty/python312/include/weakrefobject.h delete mode 100644 thirdparty/python37/Include/Python-ast.h delete mode 100644 thirdparty/python37/Include/Python.h delete mode 100644 thirdparty/python37/Include/abstract.h delete mode 100644 thirdparty/python37/Include/accu.h delete mode 100644 thirdparty/python37/Include/asdl.h delete mode 100644 thirdparty/python37/Include/ast.h delete mode 100644 thirdparty/python37/Include/bitset.h delete mode 100644 thirdparty/python37/Include/bltinmodule.h delete mode 100644 thirdparty/python37/Include/boolobject.h delete mode 100644 thirdparty/python37/Include/bytearrayobject.h delete mode 100644 thirdparty/python37/Include/bytes_methods.h delete mode 100644 thirdparty/python37/Include/bytesobject.h delete mode 100644 thirdparty/python37/Include/cellobject.h delete mode 100644 thirdparty/python37/Include/ceval.h delete mode 100644 thirdparty/python37/Include/classobject.h delete mode 100644 thirdparty/python37/Include/code.h delete mode 100644 thirdparty/python37/Include/codecs.h delete mode 100644 thirdparty/python37/Include/compile.h delete mode 100644 thirdparty/python37/Include/complexobject.h delete mode 100644 thirdparty/python37/Include/context.h delete mode 100644 thirdparty/python37/Include/datetime.h delete mode 100644 thirdparty/python37/Include/descrobject.h delete mode 100644 thirdparty/python37/Include/dictobject.h delete mode 100644 thirdparty/python37/Include/dtoa.h delete mode 100644 thirdparty/python37/Include/dynamic_annotations.h delete mode 100644 thirdparty/python37/Include/enumobject.h delete mode 100644 thirdparty/python37/Include/errcode.h delete mode 100644 thirdparty/python37/Include/eval.h delete mode 100644 thirdparty/python37/Include/fileobject.h delete mode 100644 thirdparty/python37/Include/fileutils.h delete mode 100644 thirdparty/python37/Include/floatobject.h delete mode 100644 thirdparty/python37/Include/frameobject.h delete mode 100644 thirdparty/python37/Include/funcobject.h delete mode 100644 thirdparty/python37/Include/genobject.h delete mode 100644 thirdparty/python37/Include/graminit.h delete mode 100644 thirdparty/python37/Include/grammar.h delete mode 100644 thirdparty/python37/Include/import.h delete mode 100644 thirdparty/python37/Include/internal/ceval.h delete mode 100644 thirdparty/python37/Include/internal/condvar.h delete mode 100644 thirdparty/python37/Include/internal/context.h delete mode 100644 thirdparty/python37/Include/internal/gil.h delete mode 100644 thirdparty/python37/Include/internal/hamt.h delete mode 100644 thirdparty/python37/Include/internal/hash.h delete mode 100644 thirdparty/python37/Include/internal/import.h delete mode 100644 thirdparty/python37/Include/internal/mem.h delete mode 100644 thirdparty/python37/Include/internal/pycore_long.h delete mode 100644 thirdparty/python37/Include/internal/pygetopt.h delete mode 100644 thirdparty/python37/Include/internal/pystate.h delete mode 100644 thirdparty/python37/Include/internal/warnings.h delete mode 100644 thirdparty/python37/Include/intrcheck.h delete mode 100644 thirdparty/python37/Include/iterobject.h delete mode 100644 thirdparty/python37/Include/listobject.h delete mode 100644 thirdparty/python37/Include/longintrepr.h delete mode 100644 thirdparty/python37/Include/longobject.h delete mode 100644 thirdparty/python37/Include/marshal.h delete mode 100644 thirdparty/python37/Include/memoryobject.h delete mode 100644 thirdparty/python37/Include/metagrammar.h delete mode 100644 thirdparty/python37/Include/methodobject.h delete mode 100644 thirdparty/python37/Include/modsupport.h delete mode 100644 thirdparty/python37/Include/moduleobject.h delete mode 100644 thirdparty/python37/Include/namespaceobject.h delete mode 100644 thirdparty/python37/Include/node.h delete mode 100644 thirdparty/python37/Include/object.h delete mode 100644 thirdparty/python37/Include/objimpl.h delete mode 100644 thirdparty/python37/Include/odictobject.h delete mode 100644 thirdparty/python37/Include/opcode.h delete mode 100644 thirdparty/python37/Include/osdefs.h delete mode 100644 thirdparty/python37/Include/osmodule.h delete mode 100644 thirdparty/python37/Include/parsetok.h delete mode 100644 thirdparty/python37/Include/patchlevel.h delete mode 100644 thirdparty/python37/Include/pgen.h delete mode 100644 thirdparty/python37/Include/pgenheaders.h delete mode 100644 thirdparty/python37/Include/py_curses.h delete mode 100644 thirdparty/python37/Include/pyarena.h delete mode 100644 thirdparty/python37/Include/pyatomic.h delete mode 100644 thirdparty/python37/Include/pycapsule.h delete mode 100644 thirdparty/python37/Include/pyconfig.h delete mode 100644 thirdparty/python37/Include/pyctype.h delete mode 100644 thirdparty/python37/Include/pydebug.h delete mode 100644 thirdparty/python37/Include/pydtrace.d delete mode 100644 thirdparty/python37/Include/pydtrace.h delete mode 100644 thirdparty/python37/Include/pyerrors.h delete mode 100644 thirdparty/python37/Include/pyexpat.h delete mode 100644 thirdparty/python37/Include/pyfpe.h delete mode 100644 thirdparty/python37/Include/pyhash.h delete mode 100644 thirdparty/python37/Include/pylifecycle.h delete mode 100644 thirdparty/python37/Include/pymacconfig.h delete mode 100644 thirdparty/python37/Include/pymacro.h delete mode 100644 thirdparty/python37/Include/pymath.h delete mode 100644 thirdparty/python37/Include/pymem.h delete mode 100644 thirdparty/python37/Include/pyport.h delete mode 100644 thirdparty/python37/Include/pystate.h delete mode 100644 thirdparty/python37/Include/pystrcmp.h delete mode 100644 thirdparty/python37/Include/pystrhex.h delete mode 100644 thirdparty/python37/Include/pystrtod.h delete mode 100644 thirdparty/python37/Include/pythonrun.h delete mode 100644 thirdparty/python37/Include/pythread.h delete mode 100644 thirdparty/python37/Include/pytime.h delete mode 100644 thirdparty/python37/Include/rangeobject.h delete mode 100644 thirdparty/python37/Include/setobject.h delete mode 100644 thirdparty/python37/Include/sliceobject.h delete mode 100644 thirdparty/python37/Include/structmember.h delete mode 100644 thirdparty/python37/Include/structseq.h delete mode 100644 thirdparty/python37/Include/symtable.h delete mode 100644 thirdparty/python37/Include/sysmodule.h delete mode 100644 thirdparty/python37/Include/token.h delete mode 100644 thirdparty/python37/Include/traceback.h delete mode 100644 thirdparty/python37/Include/tupleobject.h delete mode 100644 thirdparty/python37/Include/typeslots.h delete mode 100644 thirdparty/python37/Include/ucnhash.h delete mode 100644 thirdparty/python37/Include/unicodeobject.h delete mode 100644 thirdparty/python37/Include/warnings.h delete mode 100644 thirdparty/python37/Include/weakrefobject.h delete mode 100644 thirdparty/python37/LICENSE delete mode 100644 thirdparty/python37/README.rst delete mode 100644 thirdparty/python37/lib/libpython37.a delete mode 100644 thirdparty/python37/lib/python3.dll delete mode 100644 thirdparty/python37/lib/python3.lib delete mode 100644 thirdparty/python37/lib/python37.dll delete mode 100644 thirdparty/python37/lib/python37.lib delete mode 100644 thirdparty/python37/setup.py diff --git a/assets/demo_assets/boot.yml b/app_data/demo_data/boot.yml similarity index 100% rename from assets/demo_assets/boot.yml rename to app_data/demo_data/boot.yml diff --git a/assets/demo_assets/escape_to_selection_menu.py b/app_data/demo_data/escape_to_selection_menu.py similarity index 100% rename from assets/demo_assets/escape_to_selection_menu.py rename to app_data/demo_data/escape_to_selection_menu.py diff --git a/assets/demo_assets/gamecontrollerdb.txt b/app_data/demo_data/gamecontrollerdb.txt similarity index 100% rename from assets/demo_assets/gamecontrollerdb.txt rename to app_data/demo_data/gamecontrollerdb.txt diff --git a/assets/demo_assets/games/paper_airplanes/fonts/Lato-Regular.ttf b/app_data/demo_data/games/paper_airplanes/fonts/Lato-Regular.ttf similarity index 100% rename from assets/demo_assets/games/paper_airplanes/fonts/Lato-Regular.ttf rename to app_data/demo_data/games/paper_airplanes/fonts/Lato-Regular.ttf diff --git a/assets/demo_assets/games/paper_airplanes/models/airplane.glb b/app_data/demo_data/games/paper_airplanes/models/airplane.glb similarity index 100% rename from assets/demo_assets/games/paper_airplanes/models/airplane.glb rename to app_data/demo_data/games/paper_airplanes/models/airplane.glb diff --git a/assets/demo_assets/games/paper_airplanes/scenes/paper_airplanes.yml b/app_data/demo_data/games/paper_airplanes/scenes/paper_airplanes.yml similarity index 100% rename from assets/demo_assets/games/paper_airplanes/scenes/paper_airplanes.yml rename to app_data/demo_data/games/paper_airplanes/scenes/paper_airplanes.yml diff --git a/assets/demo_assets/games/paper_airplanes/scripts/python/constants.py b/app_data/demo_data/games/paper_airplanes/scripts/python/constants.py similarity index 100% rename from assets/demo_assets/games/paper_airplanes/scripts/python/constants.py rename to app_data/demo_data/games/paper_airplanes/scripts/python/constants.py diff --git a/assets/demo_assets/games/paper_airplanes/scripts/python/game_mechanics.py b/app_data/demo_data/games/paper_airplanes/scripts/python/game_mechanics.py similarity index 100% rename from assets/demo_assets/games/paper_airplanes/scripts/python/game_mechanics.py rename to app_data/demo_data/games/paper_airplanes/scripts/python/game_mechanics.py diff --git a/assets/demo_assets/games/paper_airplanes/scripts/python/player_control.py b/app_data/demo_data/games/paper_airplanes/scripts/python/player_control.py similarity index 100% rename from assets/demo_assets/games/paper_airplanes/scripts/python/player_control.py rename to app_data/demo_data/games/paper_airplanes/scripts/python/player_control.py diff --git a/assets/demo_assets/games/pong/fonts/Lato-Regular.ttf b/app_data/demo_data/games/pong/fonts/Lato-Regular.ttf similarity index 100% rename from assets/demo_assets/games/pong/fonts/Lato-Regular.ttf rename to app_data/demo_data/games/pong/fonts/Lato-Regular.ttf diff --git a/assets/demo_assets/games/pong/scenes/pong.yml b/app_data/demo_data/games/pong/scenes/pong.yml similarity index 100% rename from assets/demo_assets/games/pong/scenes/pong.yml rename to app_data/demo_data/games/pong/scenes/pong.yml diff --git a/assets/demo_assets/games/pong/scripts/python/ai_control.py b/app_data/demo_data/games/pong/scripts/python/ai_control.py similarity index 100% rename from assets/demo_assets/games/pong/scripts/python/ai_control.py rename to app_data/demo_data/games/pong/scripts/python/ai_control.py diff --git a/assets/demo_assets/games/pong/scripts/python/ai_score.py b/app_data/demo_data/games/pong/scripts/python/ai_score.py similarity index 100% rename from assets/demo_assets/games/pong/scripts/python/ai_score.py rename to app_data/demo_data/games/pong/scripts/python/ai_score.py diff --git a/assets/demo_assets/games/pong/scripts/python/camera_shake.py b/app_data/demo_data/games/pong/scripts/python/camera_shake.py similarity index 100% rename from assets/demo_assets/games/pong/scripts/python/camera_shake.py rename to app_data/demo_data/games/pong/scripts/python/camera_shake.py diff --git a/assets/demo_assets/games/pong/scripts/python/constants.py b/app_data/demo_data/games/pong/scripts/python/constants.py similarity index 100% rename from assets/demo_assets/games/pong/scripts/python/constants.py rename to app_data/demo_data/games/pong/scripts/python/constants.py diff --git a/assets/demo_assets/games/pong/scripts/python/game_mechanics.py b/app_data/demo_data/games/pong/scripts/python/game_mechanics.py similarity index 100% rename from assets/demo_assets/games/pong/scripts/python/game_mechanics.py rename to app_data/demo_data/games/pong/scripts/python/game_mechanics.py diff --git a/assets/demo_assets/games/pong/scripts/python/player_control.py b/app_data/demo_data/games/pong/scripts/python/player_control.py similarity index 100% rename from assets/demo_assets/games/pong/scripts/python/player_control.py rename to app_data/demo_data/games/pong/scripts/python/player_control.py diff --git a/assets/demo_assets/games/pong/scripts/python/player_score.py b/app_data/demo_data/games/pong/scripts/python/player_score.py similarity index 100% rename from assets/demo_assets/games/pong/scripts/python/player_score.py rename to app_data/demo_data/games/pong/scripts/python/player_score.py diff --git a/assets/demo_assets/games/table_tennis/fonts/Lato-Regular.ttf b/app_data/demo_data/games/table_tennis/fonts/Lato-Regular.ttf similarity index 100% rename from assets/demo_assets/games/table_tennis/fonts/Lato-Regular.ttf rename to app_data/demo_data/games/table_tennis/fonts/Lato-Regular.ttf diff --git a/assets/demo_assets/games/table_tennis/scenes/table_tennis.yml b/app_data/demo_data/games/table_tennis/scenes/table_tennis.yml similarity index 100% rename from assets/demo_assets/games/table_tennis/scenes/table_tennis.yml rename to app_data/demo_data/games/table_tennis/scenes/table_tennis.yml diff --git a/assets/demo_assets/games/table_tennis/scripts/python/ai_control.py b/app_data/demo_data/games/table_tennis/scripts/python/ai_control.py similarity index 100% rename from assets/demo_assets/games/table_tennis/scripts/python/ai_control.py rename to app_data/demo_data/games/table_tennis/scripts/python/ai_control.py diff --git a/assets/demo_assets/games/table_tennis/scripts/python/ai_score.py b/app_data/demo_data/games/table_tennis/scripts/python/ai_score.py similarity index 100% rename from assets/demo_assets/games/table_tennis/scripts/python/ai_score.py rename to app_data/demo_data/games/table_tennis/scripts/python/ai_score.py diff --git a/assets/demo_assets/games/table_tennis/scripts/python/constants.py b/app_data/demo_data/games/table_tennis/scripts/python/constants.py similarity index 100% rename from assets/demo_assets/games/table_tennis/scripts/python/constants.py rename to app_data/demo_data/games/table_tennis/scripts/python/constants.py diff --git a/assets/demo_assets/games/table_tennis/scripts/python/game_mechanics.py b/app_data/demo_data/games/table_tennis/scripts/python/game_mechanics.py similarity index 100% rename from assets/demo_assets/games/table_tennis/scripts/python/game_mechanics.py rename to app_data/demo_data/games/table_tennis/scripts/python/game_mechanics.py diff --git a/assets/demo_assets/games/table_tennis/scripts/python/player_control.py b/app_data/demo_data/games/table_tennis/scripts/python/player_control.py similarity index 100% rename from assets/demo_assets/games/table_tennis/scripts/python/player_control.py rename to app_data/demo_data/games/table_tennis/scripts/python/player_control.py diff --git a/assets/demo_assets/games/table_tennis/scripts/python/player_score.py b/app_data/demo_data/games/table_tennis/scripts/python/player_score.py similarity index 100% rename from assets/demo_assets/games/table_tennis/scripts/python/player_score.py rename to app_data/demo_data/games/table_tennis/scripts/python/player_score.py diff --git a/assets/demo_assets/games/table_tennis/scripts/python/return_to_main.py b/app_data/demo_data/games/table_tennis/scripts/python/return_to_main.py similarity index 100% rename from assets/demo_assets/games/table_tennis/scripts/python/return_to_main.py rename to app_data/demo_data/games/table_tennis/scripts/python/return_to_main.py diff --git a/assets/demo_assets/icon.png b/app_data/demo_data/icon.png similarity index 100% rename from assets/demo_assets/icon.png rename to app_data/demo_data/icon.png diff --git a/assets/demo_assets/reload_active_scene.py b/app_data/demo_data/reload_active_scene.py similarity index 100% rename from assets/demo_assets/reload_active_scene.py rename to app_data/demo_data/reload_active_scene.py diff --git a/assets/demo_assets/selection_menu.py b/app_data/demo_data/selection_menu.py similarity index 97% rename from assets/demo_assets/selection_menu.py rename to app_data/demo_data/selection_menu.py index 504e0224..cd501003 100644 --- a/assets/demo_assets/selection_menu.py +++ b/app_data/demo_data/selection_menu.py @@ -1,4 +1,5 @@ import omnific +import sys project_name_type_pairs = { @@ -28,6 +29,7 @@ def __init__(self): pass def on_start(self): + print("Python: " + sys.version) project_print_string = "" project_selection_letters = list(self.project_paths.keys()) diff --git a/assets/demo_assets/selection_menu.yml b/app_data/demo_data/selection_menu.yml similarity index 100% rename from assets/demo_assets/selection_menu.yml rename to app_data/demo_data/selection_menu.yml diff --git a/assets/demo_assets/tests/fonts/Lato-Regular.ttf b/app_data/demo_data/tests/fonts/Lato-Regular.ttf similarity index 100% rename from assets/demo_assets/tests/fonts/Lato-Regular.ttf rename to app_data/demo_data/tests/fonts/Lato-Regular.ttf diff --git a/assets/demo_assets/tests/images/black.jpg b/app_data/demo_data/tests/images/black.jpg similarity index 100% rename from assets/demo_assets/tests/images/black.jpg rename to app_data/demo_data/tests/images/black.jpg diff --git a/assets/demo_assets/tests/images/brown_wooden_planks_edited.jpg b/app_data/demo_data/tests/images/brown_wooden_planks_edited.jpg similarity index 100% rename from assets/demo_assets/tests/images/brown_wooden_planks_edited.jpg rename to app_data/demo_data/tests/images/brown_wooden_planks_edited.jpg diff --git a/assets/demo_assets/tests/images/collision.png b/app_data/demo_data/tests/images/collision.png similarity index 100% rename from assets/demo_assets/tests/images/collision.png rename to app_data/demo_data/tests/images/collision.png diff --git a/assets/demo_assets/tests/images/grey.jpg b/app_data/demo_data/tests/images/grey.jpg similarity index 100% rename from assets/demo_assets/tests/images/grey.jpg rename to app_data/demo_data/tests/images/grey.jpg diff --git a/assets/demo_assets/tests/images/orange_to_brown.jpg b/app_data/demo_data/tests/images/orange_to_brown.jpg similarity index 100% rename from assets/demo_assets/tests/images/orange_to_brown.jpg rename to app_data/demo_data/tests/images/orange_to_brown.jpg diff --git a/assets/demo_assets/tests/images/scraped_from_the_black.jpg b/app_data/demo_data/tests/images/scraped_from_the_black.jpg similarity index 100% rename from assets/demo_assets/tests/images/scraped_from_the_black.jpg rename to app_data/demo_data/tests/images/scraped_from_the_black.jpg diff --git a/assets/demo_assets/tests/images/sky.png b/app_data/demo_data/tests/images/sky.png similarity index 100% rename from assets/demo_assets/tests/images/sky.png rename to app_data/demo_data/tests/images/sky.png diff --git a/assets/demo_assets/tests/models/blue_cube.glb b/app_data/demo_data/tests/models/blue_cube.glb similarity index 100% rename from assets/demo_assets/tests/models/blue_cube.glb rename to app_data/demo_data/tests/models/blue_cube.glb diff --git a/assets/demo_assets/tests/models/cube_textured.glb b/app_data/demo_data/tests/models/cube_textured.glb similarity index 100% rename from assets/demo_assets/tests/models/cube_textured.glb rename to app_data/demo_data/tests/models/cube_textured.glb diff --git a/assets/demo_assets/tests/models/green_cube.glb b/app_data/demo_data/tests/models/green_cube.glb similarity index 100% rename from assets/demo_assets/tests/models/green_cube.glb rename to app_data/demo_data/tests/models/green_cube.glb diff --git a/assets/demo_assets/tests/models/rainbow_cylinder.glb b/app_data/demo_data/tests/models/rainbow_cylinder.glb similarity index 100% rename from assets/demo_assets/tests/models/rainbow_cylinder.glb rename to app_data/demo_data/tests/models/rainbow_cylinder.glb diff --git a/assets/demo_assets/tests/models/random_objects.glb b/app_data/demo_data/tests/models/random_objects.glb similarity index 100% rename from assets/demo_assets/tests/models/random_objects.glb rename to app_data/demo_data/tests/models/random_objects.glb diff --git a/assets/demo_assets/tests/models/red_cube.glb b/app_data/demo_data/tests/models/red_cube.glb similarity index 100% rename from assets/demo_assets/tests/models/red_cube.glb rename to app_data/demo_data/tests/models/red_cube.glb diff --git a/assets/demo_assets/tests/models/suzanne.glb b/app_data/demo_data/tests/models/suzanne.glb similarity index 100% rename from assets/demo_assets/tests/models/suzanne.glb rename to app_data/demo_data/tests/models/suzanne.glb diff --git a/assets/demo_assets/tests/models/suzanne_textured.glb b/app_data/demo_data/tests/models/suzanne_textured.glb similarity index 100% rename from assets/demo_assets/tests/models/suzanne_textured.glb rename to app_data/demo_data/tests/models/suzanne_textured.glb diff --git a/assets/demo_assets/tests/scenes/components_demonstration.yml b/app_data/demo_data/tests/scenes/components_demonstration.yml similarity index 100% rename from assets/demo_assets/tests/scenes/components_demonstration.yml rename to app_data/demo_data/tests/scenes/components_demonstration.yml diff --git a/assets/demo_assets/tests/scenes/entity_tree_rotation_demo.yml b/app_data/demo_data/tests/scenes/entity_tree_rotation_demo.yml similarity index 100% rename from assets/demo_assets/tests/scenes/entity_tree_rotation_demo.yml rename to app_data/demo_data/tests/scenes/entity_tree_rotation_demo.yml diff --git a/assets/demo_assets/tests/scenes/event_bus.yml b/app_data/demo_data/tests/scenes/event_bus.yml similarity index 100% rename from assets/demo_assets/tests/scenes/event_bus.yml rename to app_data/demo_data/tests/scenes/event_bus.yml diff --git a/assets/demo_assets/tests/scenes/gui_test.yml b/app_data/demo_data/tests/scenes/gui_test.yml similarity index 100% rename from assets/demo_assets/tests/scenes/gui_test.yml rename to app_data/demo_data/tests/scenes/gui_test.yml diff --git a/assets/demo_assets/tests/scenes/loading_models.yml b/app_data/demo_data/tests/scenes/loading_models.yml similarity index 100% rename from assets/demo_assets/tests/scenes/loading_models.yml rename to app_data/demo_data/tests/scenes/loading_models.yml diff --git a/assets/demo_assets/tests/scenes/scene_tree_layers.yml b/app_data/demo_data/tests/scenes/scene_tree_layers.yml similarity index 100% rename from assets/demo_assets/tests/scenes/scene_tree_layers.yml rename to app_data/demo_data/tests/scenes/scene_tree_layers.yml diff --git a/assets/demo_assets/tests/scripts/python/camera_control.py b/app_data/demo_data/tests/scripts/python/camera_control.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/camera_control.py rename to app_data/demo_data/tests/scripts/python/camera_control.py diff --git a/assets/demo_assets/tests/scripts/python/change_texture_on_collision.py b/app_data/demo_data/tests/scripts/python/change_texture_on_collision.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/change_texture_on_collision.py rename to app_data/demo_data/tests/scripts/python/change_texture_on_collision.py diff --git a/assets/demo_assets/tests/scripts/python/constantly_rotate.py b/app_data/demo_data/tests/scripts/python/constantly_rotate.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/constantly_rotate.py rename to app_data/demo_data/tests/scripts/python/constantly_rotate.py diff --git a/assets/demo_assets/tests/scripts/python/debug_camera_control.py b/app_data/demo_data/tests/scripts/python/debug_camera_control.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/debug_camera_control.py rename to app_data/demo_data/tests/scripts/python/debug_camera_control.py diff --git a/assets/demo_assets/tests/scripts/python/foreground_cube_rotate.py b/app_data/demo_data/tests/scripts/python/foreground_cube_rotate.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/foreground_cube_rotate.py rename to app_data/demo_data/tests/scripts/python/foreground_cube_rotate.py diff --git a/assets/demo_assets/tests/scripts/python/fps_gui.py b/app_data/demo_data/tests/scripts/python/fps_gui.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/fps_gui.py rename to app_data/demo_data/tests/scripts/python/fps_gui.py diff --git a/assets/demo_assets/tests/scripts/python/light_movement.py b/app_data/demo_data/tests/scripts/python/light_movement.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/light_movement.py rename to app_data/demo_data/tests/scripts/python/light_movement.py diff --git a/assets/demo_assets/tests/scripts/python/middleground_cube_rotate.py b/app_data/demo_data/tests/scripts/python/middleground_cube_rotate.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/middleground_cube_rotate.py rename to app_data/demo_data/tests/scripts/python/middleground_cube_rotate.py diff --git a/assets/demo_assets/tests/scripts/python/model_rotation.py b/app_data/demo_data/tests/scripts/python/model_rotation.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/model_rotation.py rename to app_data/demo_data/tests/scripts/python/model_rotation.py diff --git a/assets/demo_assets/tests/scripts/python/model_view_camera_control.py b/app_data/demo_data/tests/scripts/python/model_view_camera_control.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/model_view_camera_control.py rename to app_data/demo_data/tests/scripts/python/model_view_camera_control.py diff --git a/assets/demo_assets/tests/scripts/python/move_with_input.py b/app_data/demo_data/tests/scripts/python/move_with_input.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/move_with_input.py rename to app_data/demo_data/tests/scripts/python/move_with_input.py diff --git a/assets/demo_assets/tests/scripts/python/phong_shader_parameter_control.py b/app_data/demo_data/tests/scripts/python/phong_shader_parameter_control.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/phong_shader_parameter_control.py rename to app_data/demo_data/tests/scripts/python/phong_shader_parameter_control.py diff --git a/assets/demo_assets/tests/scripts/python/rainbow.py b/app_data/demo_data/tests/scripts/python/rainbow.py similarity index 91% rename from assets/demo_assets/tests/scripts/python/rainbow.py rename to app_data/demo_data/tests/scripts/python/rainbow.py index 6d1c1f8b..8c965041 100644 --- a/assets/demo_assets/tests/scripts/python/rainbow.py +++ b/app_data/demo_data/tests/scripts/python/rainbow.py @@ -1,5 +1,4 @@ import omnific -import math class omnific_script: @@ -13,7 +12,7 @@ def on_logic(self): delta = omnific.get_time_delta() colourChange = 0.1 - renderable = omnific.get_component("RenderableComponent") + renderable = omnific.get_component("Model") renderable.shader_parameters.set_float_uniform("red", self.red) renderable.shader_parameters.set_float_uniform("green", self.green) diff --git a/assets/demo_assets/tests/scripts/python/shader_parameter_control.py b/app_data/demo_data/tests/scripts/python/shader_parameter_control.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/shader_parameter_control.py rename to app_data/demo_data/tests/scripts/python/shader_parameter_control.py diff --git a/assets/demo_assets/tests/scripts/python/x_vibration.py b/app_data/demo_data/tests/scripts/python/x_vibration.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/x_vibration.py rename to app_data/demo_data/tests/scripts/python/x_vibration.py diff --git a/assets/demo_assets/tests/scripts/python/z_rotation.py b/app_data/demo_data/tests/scripts/python/z_rotation.py similarity index 100% rename from assets/demo_assets/tests/scripts/python/z_rotation.py rename to app_data/demo_data/tests/scripts/python/z_rotation.py diff --git a/assets/demo_assets/tests/shaders/light_source_fragment.glsl b/app_data/demo_data/tests/shaders/light_source_fragment.glsl similarity index 100% rename from assets/demo_assets/tests/shaders/light_source_fragment.glsl rename to app_data/demo_data/tests/shaders/light_source_fragment.glsl diff --git a/assets/demo_assets/tests/shaders/phong_fragment.glsl b/app_data/demo_data/tests/shaders/phong_fragment.glsl similarity index 100% rename from assets/demo_assets/tests/shaders/phong_fragment.glsl rename to app_data/demo_data/tests/shaders/phong_fragment.glsl diff --git a/assets/demo_assets/tests/shaders/unlit.glsl b/app_data/demo_data/tests/shaders/unlit.glsl similarity index 100% rename from assets/demo_assets/tests/shaders/unlit.glsl rename to app_data/demo_data/tests/shaders/unlit.glsl diff --git a/assets/demo_assets/tests/shaders/unlit_and_coloured.glsl b/app_data/demo_data/tests/shaders/unlit_and_coloured.glsl similarity index 100% rename from assets/demo_assets/tests/shaders/unlit_and_coloured.glsl rename to app_data/demo_data/tests/shaders/unlit_and_coloured.glsl diff --git a/assets/studio_assets/boot.yml b/app_data/studio_data/boot.yml similarity index 100% rename from assets/studio_assets/boot.yml rename to app_data/studio_data/boot.yml diff --git a/assets/studio_assets/fonts/Lato-Regular.ttf b/app_data/studio_data/fonts/Lato-Regular.ttf similarity index 100% rename from assets/studio_assets/fonts/Lato-Regular.ttf rename to app_data/studio_data/fonts/Lato-Regular.ttf diff --git a/assets/studio_assets/gamecontrollerdb.txt b/app_data/studio_data/gamecontrollerdb.txt similarity index 100% rename from assets/studio_assets/gamecontrollerdb.txt rename to app_data/studio_data/gamecontrollerdb.txt diff --git a/assets/studio_assets/icon.png b/app_data/studio_data/icon.png similarity index 100% rename from assets/studio_assets/icon.png rename to app_data/studio_data/icon.png diff --git a/assets/studio_assets/scenes/debug.yml b/app_data/studio_data/scenes/debug.yml similarity index 100% rename from assets/studio_assets/scenes/debug.yml rename to app_data/studio_data/scenes/debug.yml diff --git a/assets/studio_assets/scenes/export.yml b/app_data/studio_data/scenes/export.yml similarity index 100% rename from assets/studio_assets/scenes/export.yml rename to app_data/studio_data/scenes/export.yml diff --git a/assets/studio_assets/scenes/os_file_selection.yml b/app_data/studio_data/scenes/os_file_selection.yml similarity index 100% rename from assets/studio_assets/scenes/os_file_selection.yml rename to app_data/studio_data/scenes/os_file_selection.yml diff --git a/assets/studio_assets/scenes/projects_list.yml b/app_data/studio_data/scenes/projects_list.yml similarity index 100% rename from assets/studio_assets/scenes/projects_list.yml rename to app_data/studio_data/scenes/projects_list.yml diff --git a/assets/studio_assets/scenes/scene_editor.yml b/app_data/studio_data/scenes/scene_editor.yml similarity index 100% rename from assets/studio_assets/scenes/scene_editor.yml rename to app_data/studio_data/scenes/scene_editor.yml diff --git a/assets/studio_assets/scenes/splash_screen.yml b/app_data/studio_data/scenes/splash_screen.yml similarity index 100% rename from assets/studio_assets/scenes/splash_screen.yml rename to app_data/studio_data/scenes/splash_screen.yml diff --git a/assets/studio_assets/scripts/python/debug_escape_to_splash_screen.py b/app_data/studio_data/scripts/python/debug_escape_to_splash_screen.py similarity index 100% rename from assets/studio_assets/scripts/python/debug_escape_to_splash_screen.py rename to app_data/studio_data/scripts/python/debug_escape_to_splash_screen.py diff --git a/assets/studio_assets/scripts/python/debug_input_logging.py b/app_data/studio_data/scripts/python/debug_input_logging.py similarity index 100% rename from assets/studio_assets/scripts/python/debug_input_logging.py rename to app_data/studio_data/scripts/python/debug_input_logging.py diff --git a/assets/studio_assets/scripts/python/debug_time_display.py b/app_data/studio_data/scripts/python/debug_time_display.py similarity index 100% rename from assets/studio_assets/scripts/python/debug_time_display.py rename to app_data/studio_data/scripts/python/debug_time_display.py diff --git a/assets/studio_assets/scripts/python/default_python_script.py b/app_data/studio_data/scripts/python/default_python_script.py similarity index 100% rename from assets/studio_assets/scripts/python/default_python_script.py rename to app_data/studio_data/scripts/python/default_python_script.py diff --git a/assets/studio_assets/scripts/python/os_file_selection.py b/app_data/studio_data/scripts/python/os_file_selection.py similarity index 100% rename from assets/studio_assets/scripts/python/os_file_selection.py rename to app_data/studio_data/scripts/python/os_file_selection.py diff --git a/assets/studio_assets/scripts/python/projects_list.py b/app_data/studio_data/scripts/python/projects_list.py similarity index 100% rename from assets/studio_assets/scripts/python/projects_list.py rename to app_data/studio_data/scripts/python/projects_list.py diff --git a/assets/studio_assets/scripts/python/splash_screen_transition.py b/app_data/studio_data/scripts/python/splash_screen_transition.py similarity index 100% rename from assets/studio_assets/scripts/python/splash_screen_transition.py rename to app_data/studio_data/scripts/python/splash_screen_transition.py diff --git a/src/omnific_engine/CMakeLists.txt b/src/omnific_engine/CMakeLists.txt index 7832bd86..cb96af3a 100644 --- a/src/omnific_engine/CMakeLists.txt +++ b/src/omnific_engine/CMakeLists.txt @@ -44,7 +44,10 @@ else() find_package(OpenAL REQUIRED) find_package(SDL2 REQUIRED) find_package(SDL2_ttf REQUIRED) - find_package(Python COMPONENTS Interpreter Development REQUIRED) + find_package(pybind11 CONFIG REQUIRED) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -rdynamic") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -rdynamic") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -rdynamic") endif() add_dependencies (omnific_engine @@ -55,7 +58,6 @@ target_include_directories(omnific_engine PUBLIC ${THIRD_PARTY_DIR}/glad/include ${THIRD_PARTY_DIR}/glm ${THIRD_PARTY_DIR}/libretti/include - ${THIRD_PARTY_DIR}/pybind11/include ${THIRD_PARTY_DIR}/stb_image ${THIRD_PARTY_DIR}/tinygltf ${THIRD_PARTY_DIR}/tinyobjloader @@ -69,7 +71,7 @@ target_link_libraries (omnific_engine OpenAL::OpenAL SDL2::SDL2 SDL2_ttf::SDL2_ttf - Python::Python + pybind11::embed ) if (${LIBRARY_TYPE} STREQUAL "SHARED") diff --git a/src/omnific_engine/foundations/constants.hpp b/src/omnific_engine/foundations/constants.hpp index 9e812261..1ac01781 100644 --- a/src/omnific_engine/foundations/constants.hpp +++ b/src/omnific_engine/foundations/constants.hpp @@ -26,10 +26,10 @@ #include "time_conversions.hpp" #include "physics_constants.hpp" -#define DATA_DIRECTORY_NAME "assets" -#define DATA_DIRECTORY "assets/" -#define DEBUG_STUDIO_ASSETS_DIRECTORY "../../../../../assets/studio_assets/" -#define DEBUG_DEMO_ASSETS_DIRECTORY "../../../../../assets/demo_assets/" +#define DEFAULT_APP_DATA_DIRECTORY_NAME "app_data" +#define DEFAULT_APP_DATA_DIRECTORY "app_data/" +#define DEFAULT_DEBUG_STUDIO_DATA_DIRECTORY "../../../../../app_data/studio_data/" +#define DEFAULT_DEBUG_DEMO_DATA_DIRECTORY "../../../../../app_data/demo_data/" #ifdef _DEBUG #define DEBUG_CONSOLE_ENABLED @@ -41,6 +41,8 @@ #define DEFAULT_TARGET_COMPUTE_FPS (DEFAULT_TARGET_UPDATE_FPS * 2.0) #define DEFAULT_TARGET_OUTPUT_FPS DEFAULT_TARGET_FPS +#define DEFAULT_COMPUTE_FRAME_TIME 8 + #define BOOT_FILE_NAME "boot.yml" #define MAIN_THREAD_CLOCK_NAME "main_thread_clock" diff --git a/src/omnific_engine/foundations/singletons/configuration.cpp b/src/omnific_engine/foundations/singletons/configuration.cpp index aae2f7ac..08d28424 100644 --- a/src/omnific_engine/foundations/singletons/configuration.cpp +++ b/src/omnific_engine/foundations/singletons/configuration.cpp @@ -39,7 +39,7 @@ void Omnific::Configuration::load_from_file(std::string boot_filepath) configuration->performance_settings.target_input_fps = DEFAULT_TARGET_INPUT_FPS; configuration->performance_settings.target_update_fps = DEFAULT_TARGET_UPDATE_FPS; configuration->performance_settings.target_output_fps = DEFAULT_TARGET_OUTPUT_FPS; - configuration->performance_settings.compute_frame_time = 8; + configuration->performance_settings.compute_frame_time = DEFAULT_COMPUTE_FRAME_TIME; configuration->performance_settings.enable_multithreading = true; for (YAML::const_iterator it0 = yaml_node.begin(); it0 != yaml_node.end(); ++it0) diff --git a/src/omnific_engine/foundations/singletons/platform/file_access.cpp b/src/omnific_engine/foundations/singletons/platform/file_access.cpp index 5793a4ba..c17a263d 100644 --- a/src/omnific_engine/foundations/singletons/platform/file_access.cpp +++ b/src/omnific_engine/foundations/singletons/platform/file_access.cpp @@ -37,10 +37,19 @@ Omnific::FileAccess::~FileAccess() file_loading_thread->join(); } -void Omnific::FileAccess::set_data_directory(std::string asset_directory) +void Omnific::FileAccess::set_app_data_directories(std::vector app_data_directories) { - this->data_directory = asset_directory; - Platform::get_logger().write("Data Directory set to \"" + asset_directory + "\""); + this->app_data_directories = app_data_directories; + std::string app_data_directories_string; + + for (int i = 0; i < app_data_directories.size(); i++) + { + app_data_directories_string.append(app_data_directories.at(i)); + if (i < app_data_directories.size() - 1) + app_data_directories_string.append(", "); + } + + Platform::get_logger().write("Data Directory set to \"" + app_data_directories_string + "\""); } std::shared_ptr Omnific::FileAccess::load_scene(std::string filepath) @@ -49,6 +58,21 @@ std::shared_ptr Omnific::FileAccess::load_scene(std::string file return scene; } +std::string Omnific::FileAccess::find_path_among_app_data_directories(std::string filepath) +{ + std::string combined_filepath; + + for (int i = 0; i < this->app_data_directories.size(); i++) + { + std::string app_data_directory = app_data_directories[i]; + std::string tentative_combined_filepath = app_data_directory + filepath; + if (this->exists(tentative_combined_filepath)) + combined_filepath = tentative_combined_filepath; + } + + return combined_filepath; +} + std::string Omnific::FileAccess::get_executable_file_path() { return this->executable_filepath; @@ -64,11 +88,6 @@ std::string Omnific::FileAccess::get_executable_directory_path() return this->get_path_before_file(this->executable_filepath); } -std::string Omnific::FileAccess::get_data_directory_path() -{ - return this->data_directory; -} - std::string Omnific::FileAccess::get_file_name_without_extension(std::string filepath) { std::string file_name; @@ -143,6 +162,8 @@ std::string Omnific::FileAccess::get_path_before_file(std::string filepath) path += filepath.at(j); } + path += "/"; + return path; } @@ -163,7 +184,7 @@ std::string Omnific::FileAccess::read_string(std::string filepath, bool apply_da std::vector Omnific::FileAccess::read_binary(std::string filepath, bool apply_data_directory) { std::vector output_binary; - std::string full_filepath = this->get_filepath_with_data_directory(filepath, apply_data_directory); + std::string full_filepath = this->get_filepath_with_app_data_directory(filepath, apply_data_directory); std::FILE* file_pointer = std::fopen(full_filepath.c_str(), "rb"); if (file_pointer) @@ -185,7 +206,7 @@ void Omnific::FileAccess::write_binary(std::string filepath, std::vectorget_filepath_with_data_directory(filepath, apply_data_directory); + std::string full_filepath = this->get_filepath_with_app_data_directory(filepath, apply_data_directory); if (!this->asynchronously_loaded_binaries.count(full_filepath)) this->io_threads.push_back(new std::thread(&FileAccess::read_binary_asynchronously, this, filepath, apply_data_directory)); @@ -193,31 +214,31 @@ void Omnific::FileAccess::request_asynchronous_binary_reading(std::string filepa void Omnific::FileAccess::request_asynchronous_binary_writing(std::string filepath, std::vector binary, bool apply_data_directory) { - std::string full_filepath = this->get_filepath_with_data_directory(filepath, apply_data_directory); + std::string full_filepath = this->get_filepath_with_app_data_directory(filepath, apply_data_directory); this->io_threads.push_back(new std::thread(&FileAccess::write_binary_asynchronously, this, filepath, binary, apply_data_directory)); } bool Omnific::FileAccess::has_binary_been_read_asynchronously(std::string filepath, bool apply_data_directory) { - std::string full_filepath = this->get_filepath_with_data_directory(filepath, apply_data_directory); + std::string full_filepath = this->get_filepath_with_app_data_directory(filepath, apply_data_directory); return this->asynchronously_loaded_binaries.count(full_filepath); } std::vector Omnific::FileAccess::fetch_asynchronously_read_binary(std::string filepath, bool apply_data_directory) { - std::string full_filepath = this->get_filepath_with_data_directory(filepath, apply_data_directory); + std::string full_filepath = this->get_filepath_with_app_data_directory(filepath, apply_data_directory); std::vector binary; if (this->asynchronously_loaded_binaries.count(full_filepath)) binary = this->asynchronously_loaded_binaries.at(full_filepath); return binary; } -std::string Omnific::FileAccess::get_filepath_with_data_directory(std::string filepath, bool apply_data_directory) +std::string Omnific::FileAccess::get_filepath_with_app_data_directory(std::string filepath, bool apply_data_directory) { std::string full_filepath; if (apply_data_directory) - full_filepath = this->get_data_directory_path() + filepath; + full_filepath = this->find_path_among_app_data_directories(filepath); else full_filepath = filepath; diff --git a/src/omnific_engine/foundations/singletons/platform/file_access.hpp b/src/omnific_engine/foundations/singletons/platform/file_access.hpp index 27d49119..4ae2f74b 100644 --- a/src/omnific_engine/foundations/singletons/platform/file_access.hpp +++ b/src/omnific_engine/foundations/singletons/platform/file_access.hpp @@ -37,56 +37,56 @@ namespace Omnific public: FileAccess(std::string executable_filepath); ~FileAccess(); - void set_data_directory(std::string asset_directory); + void set_app_data_directories(std::vector app_data_directories); std::shared_ptr load_scene(std::string filepath); + std::string find_path_among_app_data_directories(std::string filepath); std::string get_executable_file_path(); std::string get_executable_name(); std::string get_executable_directory_path(); - std::string get_data_directory_path(); std::string get_file_name_without_extension(std::string filepath); std::string get_file_extension(std::string filepath); std::string get_path_before_file(std::string filepath); bool exists(std::string filepath); - std::string read_string(std::string filepath, bool apply_data_directory = true); - std::vector read_binary(std::string filepath, bool apply_data_directory = true); - void write_binary(std::string filepath, std::vector binary, bool apply_data_directory = true); + std::string read_string(std::string filepath, bool apply_app_data_directory = true); + std::vector read_binary(std::string filepath, bool apply_app_data_directory = true); + void write_binary(std::string filepath, std::vector binary, bool apply_app_data_directory = true); - void request_asynchronous_binary_reading(std::string filepath, bool apply_data_directory = true); - void request_asynchronous_binary_writing(std::string filepath, std::vector binary, bool apply_data_directory = true); - bool has_binary_been_read_asynchronously(std::string filepath, bool apply_data_directory = true); - std::vector fetch_asynchronously_read_binary(std::string filepath, bool apply_data_directory = true); + void request_asynchronous_binary_reading(std::string filepath, bool apply_app_data_directory = true); + void request_asynchronous_binary_writing(std::string filepath, std::vector binary, bool apply_app_data_directory = true); + bool has_binary_been_read_asynchronously(std::string filepath, bool apply_app_data_directory = true); + std::vector fetch_asynchronously_read_binary(std::string filepath, bool apply_app_data_directory = true); - template - std::shared_ptr load_asset_by_type(std::string filepath, bool apply_data_directory = true) + template + std::shared_ptr load_resource_by_type(std::string filepath, bool apply_app_data_directory = true) { - std::shared_ptr derived_asset; - std::string full_filepath = this->get_filepath_with_data_directory(filepath, apply_data_directory); + std::shared_ptr derived_resource; + std::string full_filepath = this->get_filepath_with_app_data_directory(filepath, apply_app_data_directory); - if (this->assets.count(filepath) != 0) + if (this->resources.count(filepath) != 0) { - derived_asset = std::dynamic_pointer_cast(this->assets.at(filepath)); + derived_resource = std::dynamic_pointer_cast(this->resources.at(filepath)); } else { - derived_asset = std::shared_ptr(new DerivedAsset(full_filepath)); - std::shared_ptr asset = std::static_pointer_cast(derived_asset); - if (!this->assets.count(asset->get_name())) - this->assets.emplace(asset->get_name(), asset); + derived_resource = std::shared_ptr(new DerivedResource(full_filepath)); + std::shared_ptr resource = std::static_pointer_cast(derived_resource); + if (!this->resources.count(resource->get_name())) + this->resources.emplace(resource->get_name(), resource); } - return derived_asset; + return derived_resource; } private: std::string executable_filepath; - std::string data_directory; - std::unordered_map> assets; + std::vector app_data_directories; + std::unordered_map> resources; std::vector io_threads; std::unordered_map> asynchronously_loaded_binaries; - std::string get_filepath_with_data_directory(std::string filepath, bool apply_data_directory = true); - void read_binary_asynchronously(std::string filepath, bool apply_data_directory); - void write_binary_asynchronously(std::string filepath, std::vector binary, bool apply_data_directory); + std::string get_filepath_with_app_data_directory(std::string filepath, bool apply_app_data_directory = true); + void read_binary_asynchronously(std::string filepath, bool apply_app_data_directory); + void write_binary_asynchronously(std::string filepath, std::vector binary, bool apply_app_data_directory); }; } \ No newline at end of file diff --git a/src/omnific_engine/omnific_engine.cpp b/src/omnific_engine/omnific_engine.cpp index 6b95836a..df996ad7 100644 --- a/src/omnific_engine/omnific_engine.cpp +++ b/src/omnific_engine/omnific_engine.cpp @@ -56,6 +56,20 @@ void Omnific::Engine::set_callback_functions( this->application_callback_functions.on_output = on_output; } +void Omnific::Engine::add_app_data_directory(std::string app_data_directory) +{ + this->app_data_directories.push_back(app_data_directory); +} + +void Omnific::Engine::add_app_data_directories(std::vector app_data_directories) +{ + this->app_data_directories.insert( + this->app_data_directories.end(), + app_data_directories.begin(), + app_data_directories.end() + ); +} + void Omnific::Engine::run( int argc, @@ -164,7 +178,7 @@ void Omnific::Engine::initialize() logger.write("Retrieved OS Name: \"" + Platform::get_platform_name() + "\""); logger.write("Retrieved System RAM: " + std::to_string(Platform::get_system_ram()) + " MB"); - std::string data_directory = DATA_DIRECTORY; + std::string app_data_directory = DEFAULT_APP_DATA_DIRECTORY; #ifdef _DEBUG while (true) @@ -186,12 +200,12 @@ void Omnific::Engine::initialize() } else if (input_string == "1") { - data_directory = DEBUG_DEMO_ASSETS_DIRECTORY; + app_data_directory = DEFAULT_DEBUG_DEMO_DATA_DIRECTORY; break; } else if (input_string == "2") { - data_directory = DEBUG_STUDIO_ASSETS_DIRECTORY; + app_data_directory = DEFAULT_DEBUG_STUDIO_DATA_DIRECTORY; break; } else @@ -200,14 +214,14 @@ void Omnific::Engine::initialize() } } #endif - std::string boot_filepath = data_directory + BOOT_FILE_NAME; FileAccess& file_access = Platform::get_file_access(); + this->app_data_directories.push_back(app_data_directory); + file_access.set_app_data_directories(app_data_directories); + + std::string boot_filepath = file_access.find_path_among_app_data_directories(BOOT_FILE_NAME); if (file_access.exists(boot_filepath)) - { Configuration::load_from_file(boot_filepath); - Platform::get_file_access().set_data_directory(data_directory); - } #ifdef DEBUG_CONSOLE_ENABLED std::cout << "\n\nPress '`' in-application to write to command line via console."; @@ -219,7 +233,7 @@ void Omnific::Engine::initialize() Window& window = Platform::get_window(); window.resize(Configuration::get_instance()->window_settings.width, Configuration::get_instance()->window_settings.height); window.change_title(Configuration::get_instance()->metadata.title.c_str()); - logger.write("Loaded application project \"" + Configuration::get_instance()->metadata.title + "\" at: " + data_directory); + logger.write("Loaded application project \"" + Configuration::get_instance()->metadata.title + "\" at: " + app_data_directory); } else { @@ -268,7 +282,8 @@ void Omnific::Engine::run_loop() FileAccess& file_access = Platform::get_file_access(); std::string entry_scene_filepath = configuration->metadata.entry_scene_filepath; - if (file_access.exists(file_access.get_data_directory_path() + entry_scene_filepath)) + std::string app_data_entry_scene_filepath = file_access.find_path_among_app_data_directories(entry_scene_filepath); + if (app_data_entry_scene_filepath != "") SceneStorage::load_scene(std::shared_ptr(new Scene(entry_scene_filepath))); this->state = State::RUNNING; diff --git a/src/omnific_engine/omnific_engine.hpp b/src/omnific_engine/omnific_engine.hpp index e84c4a65..bc51cd7a 100644 --- a/src/omnific_engine/omnific_engine.hpp +++ b/src/omnific_engine/omnific_engine.hpp @@ -61,6 +61,10 @@ namespace Omnific void (*on_output)() ); + void add_app_data_directory(std::string app_data_directory); + + void add_app_data_directories(std::vector app_data_directories); + void run( int argc, char* argv[] @@ -74,6 +78,7 @@ namespace Omnific FINALIZING }; + std::vector app_data_directories; State state; std::unordered_map> systems; diff --git a/src/omnific_engine/scene/components/audio_source.cpp b/src/omnific_engine/scene/components/audio_source.cpp index 3ca73f81..1bd6fd0e 100644 --- a/src/omnific_engine/scene/components/audio_source.cpp +++ b/src/omnific_engine/scene/components/audio_source.cpp @@ -36,7 +36,7 @@ void Omnific::AudioSource::deserialize(YAML::Node yaml_node) { for (int i = 0; i < it3->second.size(); i++) { - std::shared_ptr audio_stream(Platform::get_file_access().load_asset_by_type(it3->second[i].as(), false)); + std::shared_ptr audio_stream(Platform::get_file_access().load_resource_by_type(it3->second[i].as(), false)); this->add_audio(audio_stream); } } @@ -44,7 +44,7 @@ void Omnific::AudioSource::deserialize(YAML::Node yaml_node) { for (int i = 0; i < it3->second.size(); i++) { - std::shared_ptr audio_synthesis(Platform::get_file_access().load_asset_by_type(it3->second[i].as(), false)); + std::shared_ptr audio_synthesis(Platform::get_file_access().load_resource_by_type(it3->second[i].as(), false)); this->add_audio(audio_synthesis); } } diff --git a/src/omnific_engine/scene/components/gui.cpp b/src/omnific_engine/scene/components/gui.cpp index 27734354..dd67e174 100644 --- a/src/omnific_engine/scene/components/gui.cpp +++ b/src/omnific_engine/scene/components/gui.cpp @@ -163,7 +163,7 @@ void Omnific::GUI::deserialize(YAML::Node yaml_node) } else if (it6->first.as() == "font") { - std::shared_ptr font = Platform::get_file_access().load_asset_by_type(it6->second[0].as()); + std::shared_ptr font = Platform::get_file_access().load_resource_by_type(it6->second[0].as()); *font = Font(font->get_name(), it6->second[1].as()); gui_button->gui_text->font = font; gui_button->gui_text->size = it6->second[1].as(); @@ -260,7 +260,7 @@ void Omnific::GUI::deserialize(YAML::Node yaml_node) } else if (it6->first.as() == "font") { - std::shared_ptr font = Platform::get_file_access().load_asset_by_type(it6->second[0].as()); + std::shared_ptr font = Platform::get_file_access().load_resource_by_type(it6->second[0].as()); *font = Font(font->get_name(), it6->second[1].as()); gui_text->font = font; gui_text->size = it6->second[1].as(); diff --git a/src/omnific_engine/scene/components/script_collection.cpp b/src/omnific_engine/scene/components/script_collection.cpp index 0f7e48c4..9c0146ca 100644 --- a/src/omnific_engine/scene/components/script_collection.cpp +++ b/src/omnific_engine/scene/components/script_collection.cpp @@ -35,7 +35,7 @@ void Omnific::ScriptCollection::deserialize(YAML::Node yaml_node) { for (int i = 0; i < it3->second.size(); i++) { - std::shared_ptr