diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 13d8ffd..338a747 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -16,19 +16,6 @@ "cStandard": "c17", "cppStandard": "c++20", "intelliSenseMode": "linux-gcc-x64" - }, - { - "name": "main", - "includePath": [ - "${default}" - ], - "defines": [ - "_DEBUG", - "UNICODE", - "_UNICODE" - ], - "windowsSdkVersion": "10.0.22621.0", - "compilerPath": "cl.exe" } ], "version": 4 diff --git a/.vscode/settings.json b/.vscode/settings.json index 467cf26..0ea3fc5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,88 +1,93 @@ { - "files.associations": { - "*.pyx": "python", - "*.js": "javascript", - "*.c": "c", - "*.scene": "yaml", - "*.cene": "yaml", - "*.h": "cpp", - "memory": "cpp", - "array": "cpp", - "atomic": "cpp", - "bit": "cpp", - "*.tcc": "cpp", - "bitset": "cpp", - "cctype": "cpp", - "charconv": "cpp", - "chrono": "cpp", - "clocale": "cpp", - "cmath": "cpp", - "compare": "cpp", - "concepts": "cpp", - "condition_variable": "cpp", - "cstdarg": "cpp", - "cstddef": "cpp", - "cstdint": "cpp", - "cstdio": "cpp", - "cstdlib": "cpp", - "cstring": "cpp", - "ctime": "cpp", - "cwchar": "cpp", - "cwctype": "cpp", - "deque": "cpp", - "forward_list": "cpp", - "list": "cpp", - "map": "cpp", - "set": "cpp", - "string": "cpp", - "unordered_map": "cpp", - "vector": "cpp", - "exception": "cpp", - "algorithm": "cpp", - "functional": "cpp", - "iterator": "cpp", - "memory_resource": "cpp", - "numeric": "cpp", - "optional": "cpp", - "random": "cpp", - "ratio": "cpp", - "string_view": "cpp", - "system_error": "cpp", - "tuple": "cpp", - "type_traits": "cpp", - "utility": "cpp", - "format": "cpp", - "initializer_list": "cpp", - "iomanip": "cpp", - "iosfwd": "cpp", - "iostream": "cpp", - "istream": "cpp", - "limits": "cpp", - "mutex": "cpp", - "new": "cpp", - "numbers": "cpp", - "ostream": "cpp", - "semaphore": "cpp", - "shared_mutex": "cpp", - "span": "cpp", - "sstream": "cpp", - "stdexcept": "cpp", - "stop_token": "cpp", - "streambuf": "cpp", - "text_encoding": "cpp", - "thread": "cpp", - "cinttypes": "cpp", - "typeinfo": "cpp", - "valarray": "cpp", - "variant": "cpp", - "fstream": "cpp", - "codecvt": "cpp", - "*.inc": "cpp", - "future": "cpp", - "any": "cpp", - "ranges": "cpp", - "unordered_set": "cpp", - "source_location": "cpp", - "csignal": "cpp" - } + "files.associations": { + "*.pyx": "python", + "*.js": "javascript", + "*.c": "c", + "*.scene": "yaml", + "*.cene": "yaml", + "*.h": "cpp", + "memory": "cpp", + "array": "cpp", + "atomic": "cpp", + "bit": "cpp", + "*.tcc": "cpp", + "bitset": "cpp", + "cctype": "cpp", + "charconv": "cpp", + "chrono": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "compare": "cpp", + "concepts": "cpp", + "condition_variable": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "forward_list": "cpp", + "list": "cpp", + "map": "cpp", + "set": "cpp", + "string": "cpp", + "unordered_map": "cpp", + "vector": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "iterator": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "random": "cpp", + "ratio": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "format": "cpp", + "initializer_list": "cpp", + "iomanip": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "limits": "cpp", + "mutex": "cpp", + "new": "cpp", + "numbers": "cpp", + "ostream": "cpp", + "semaphore": "cpp", + "shared_mutex": "cpp", + "span": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "stop_token": "cpp", + "streambuf": "cpp", + "text_encoding": "cpp", + "thread": "cpp", + "cinttypes": "cpp", + "typeinfo": "cpp", + "valarray": "cpp", + "variant": "cpp", + "fstream": "cpp", + "codecvt": "cpp", + "*.inc": "cpp", + "future": "cpp", + "any": "cpp", + "ranges": "cpp", + "unordered_set": "cpp", + "source_location": "cpp", + "csignal": "cpp" + }, + // Use MS IntelliSense so IntelliCode works + "C_Cpp.intelliSenseEngine": "default", + "C_Cpp.limitSymbolsToIncludedHeaders": true, + "C_Cpp.exploreMode": "lightweight", + } \ No newline at end of file diff --git a/imgui.ini b/imgui.ini index e52a092..33f0cea 100644 --- a/imgui.ini +++ b/imgui.ini @@ -10,24 +10,24 @@ Collapsed=1 [Window][WindowOverViewport_11111111] Pos=0,19 -Size=1280,701 +Size=1920,1158 Collapsed=0 [Window][Inspector] -Pos=913,19 -Size=367,202 +Pos=1553,19 +Size=367,659 Collapsed=0 DockId=0x00000018,0 [Window][Scene Tree] Pos=0,19 -Size=342,350 +Size=342,579 Collapsed=0 DockId=0x0000000F,0 [Window][Viewport] Pos=344,19 -Size=567,202 +Size=1207,659 Collapsed=0 DockId=0x00000017,0 @@ -36,14 +36,14 @@ Size=1280,19 Collapsed=0 [Window][Performance Info] -Pos=1094,223 -Size=186,497 +Pos=1606,680 +Size=314,497 Collapsed=0 DockId=0x00000016,0 [Window][Console] -Pos=344,223 -Size=715,273 +Pos=344,680 +Size=1206,273 Collapsed=0 DockId=0x00000013,0 @@ -54,8 +54,8 @@ Collapsed=0 DockId=0x00000017,1 [Window][Profiler] -Pos=344,498 -Size=715,222 +Pos=344,955 +Size=1206,222 Collapsed=0 DockId=0x00000014,0 @@ -112,8 +112,8 @@ Collapsed=0 DockId=0x0000000E,0 [Window][Audio Output] -Pos=1061,223 -Size=31,497 +Pos=1552,680 +Size=52,497 Collapsed=0 DockId=0x00000012,0 @@ -124,13 +124,23 @@ Collapsed=0 DockId=0x0000000D,0 [Window][Resources] -Pos=0,371 -Size=342,349 +Pos=0,600 +Size=342,577 Collapsed=0 DockId=0x00000010,0 +[Window][Import Preview] +Pos=351,22 +Size=550,695 +Collapsed=0 + +[Table][0x96376740,2] +RefScale=13 +Column 0 Weight=1.0000 +Column 1 Width=120 + [Docking][Data] -DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=1280,701 Split=X +DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=1920,1158 Split=X DockNode ID=0x00000005 Parent=0x11111111 SizeRef=989,1158 Split=X DockNode ID=0x00000001 Parent=0x00000005 SizeRef=342,701 Split=Y Selected=0x12EF0F59 DockNode ID=0x00000003 Parent=0x00000001 SizeRef=342,637 Split=Y Selected=0x12EF0F59 diff --git a/remake/build.log b/remake/build.log index 28f14c5..9d26f09 100644 --- a/remake/build.log +++ b/remake/build.log @@ -1,2 +1,4 @@ -[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -Isrc/vendor/miniaudio -Isrc/vendor/imguizmo -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\core\utils\Popup.cpp -o src\build\core\utils\Popup.o +[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -Isrc/vendor/miniaudio -Isrc/vendor/imguizmo -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\editor\windows\AssetBrowser.cpp -o src\build\editor\windows\AssetBrowser.o [LINK] g++ src\build\Engine.o src\build\main.o src\build\Renderer.o src\build\Components\AnimationComponent.o src\build\Components\AudioPlayerComponent.o src\build\Components\CameraComponent.o src\build\Components\LightComponent.o src\build\Components\ParticleComponent.o src\build\Components\PhysicsComponent.o src\build\Components\ScriptComponent.o src\build\Components\SpriteComponent.o src\build\Components\TextComonent.o src\build\Components\TilemapComponent.o src\build\core\audio\AudioEngine.o src\build\core\utils\AssetManager.o src\build\core\utils\EngineConfig.o src\build\core\utils\ExceptionHandler.o src\build\core\utils\FileDialog.o src\build\core\utils\input.o src\build\core\utils\LoadingWindow.o src\build\core\utils\Logging.o src\build\core\utils\Popup.o src\build\core\utils\Profiler.o src\build\core\utils\Texture.o src\build\core\utils\utils.o src\build\editor\windows\AssetBrowser.o src\build\editor\windows\AudioInfo.o src\build\editor\windows\Inspector.o src\build\Entitys\Object.o src\build\utils\GameObjectsList.o src\build\utils\Shader.o src\build\utils\UID.o src\build\lapi.o src\build\lauxlib.o src\build\lbaselib.o src\build\lcode.o src\build\lcorolib.o src\build\lctype.o src\build\ldblib.o src\build\ldebug.o src\build\ldo.o src\build\ldump.o src\build\lfunc.o src\build\lgc.o src\build\linit.o src\build\liolib.o src\build\llex.o src\build\lmathlib.o src\build\lmem.o src\build\loadlib.o src\build\lobject.o src\build\lopcodes.o src\build\loslib.o src\build\lparser.o src\build\lstate.o src\build\lstring.o src\build\lstrlib.o src\build\ltable.o src\build\ltablib.o src\build\ltm.o src\build\lua.o src\build\luac.o src\build\lundump.o src\build\lutf8lib.o src\build\lvm.o src\build\lzio.o src\build\imgui.o src\build\imgui_demo.o src\build\imgui_draw.o src\build\imgui_impl_glfw.o src\build\imgui_impl_opengl3.o src\build\imgui_tables.o src\build\imgui_widgets.o src\build\aabb.o src\build\arena_allocator.o src\build\array.o src\build\bitset.o src\build\body.o src\build\broad_phase.o src\build\constraint_graph.o src\build\contact.o src\build\contact_solver.o src\build\core.o src\build\distance.o src\build\distance_joint.o src\build\dynamic_tree.o src\build\geometry.o src\build\hull.o src\build\id_pool.o src\build\island.o src\build\joint.o src\build\manifold.o src\build\math_functions.o src\build\motor_joint.o src\build\mouse_joint.o src\build\mover.o src\build\prismatic_joint.o src\build\revolute_joint.o src\build\sensor.o src\build\shape.o src\build\solver.o src\build\solver_set.o src\build\table.o src\build\timer.o src\build\types.o src\build\weld_joint.o src\build\wheel_joint.o src\build\world.o src\build\xxhash.o src\build\miniaudio.o src\build\ImGuizmo.o -o src\build\app.exe -LC:\msys64\mingw64\lib -lglfw3 -lglew32 -lopengl32 -lgdi32 -lyaml-cpp -lcomdlg32 -lssl -lcrypto -ldbghelp +[ERROR] Runtime crash +Command 'src\build\app.exe' returned non-zero exit status 3. diff --git a/src/assets/scenes/a_cool_isometric_world.cene b/src/assets/scenes/a_cool_isometric_world.cene index c3b9d03..92aae6c 100644 --- a/src/assets/scenes/a_cool_isometric_world.cene +++ b/src/assets/scenes/a_cool_isometric_world.cene @@ -1,4 +1,4 @@ -engine_version: 0.8.1 +engine_version: 0.8.2 scene_name: a_cool_isometric_world scene_hash: 200032c8d6daa18900792fcb08f7ed9789a0a2f785874bc4aec72adb9015fc2c format_version: 1 @@ -4469,33 +4469,1092 @@ color_correction: intensity: 4 threshold: 1 Assets: + - uaid: 117 + path: C:\Users\spenc\Music\creative-technology-showreel-241274.mp3 + filename: creative-technology-showreel-241274.mp3 + filetype: mp3 + type: 1 + hash: d7f8e8b2954d438f + lastModified: 1730076791 + - uaid: 118 + path: C:\Users\spenc\Music\ethereal-vistas-191254.mp3 + filename: ethereal-vistas-191254.mp3 + filetype: mp3 + type: 1 + hash: 0da03a50fc5a40a8 + lastModified: 1735362078 + - uaid: 119 + path: C:\Users\spenc\Music\good-night-lofi-cozy-chill-music-160166.mp3 + filename: good-night-lofi-cozy-chill-music-160166.mp3 + filetype: mp3 + type: 1 + hash: 246561eaa4e21fad + lastModified: 1735362096 + - uaid: 120 + path: C:\Users\spenc\Music\reflected-light-147979.mp3 + filename: reflected-light-147979.mp3 + filetype: mp3 + type: 1 + hash: b4d344d1f668e25d + lastModified: 1735362210 + - uaid: 121 + path: C:\Users\spenc\Music\simple-notification-152054.mp3 + filename: simple-notification-152054.mp3 + filetype: mp3 + type: 1 + hash: 3e57c2530f08c1ab + lastModified: 1745951639 + - uaid: 122 + path: C:\Users\spenc\Music\simple-notification-152054.wav + filename: simple-notification-152054.wav + filetype: wav + type: 1 + hash: 0f5adca8b95e7494 + lastModified: 1745953000 + - uaid: 123 + path: C:\Users\spenc\Music\Stereo Test - LeftRight Audio Test for HeadphonesSpeakers.mp3 + filename: Stereo Test - LeftRight Audio Test for HeadphonesSpeakers.mp3 + filetype: mp3 + type: 1 + hash: 5885c8cc38709f22 + lastModified: 1746052189 + - uaid: 116 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\spritesheet.png + filename: spritesheet.png + filetype: png + type: 0 + hash: d178a6f5b597b470 + lastModified: 1728871742 + size: [352, 352] + channels: 4 + format: GL_RGBA + - uaid: 115 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_114.png + filename: tile_114.png + filetype: png + type: 0 + hash: bffbedcad0c620c7 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 114 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_113.png + filename: tile_113.png + filetype: png + type: 0 + hash: 5d615b590fe9431a + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 113 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_112.png + filename: tile_112.png + filetype: png + type: 0 + hash: ea99517d8b684ab8 + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 112 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_111.png + filename: tile_111.png + filetype: png + type: 0 + hash: a5a090079e1eb3b5 + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 111 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_110.png + filename: tile_110.png + filetype: png + type: 0 + hash: a97225d051b0be0f + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 110 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_109.png + filename: tile_109.png + filetype: png + type: 0 + hash: 8f7568ef2b75f210 + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 109 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_108.png + filename: tile_108.png + filetype: png + type: 0 + hash: dc8c15964e615c28 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 108 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_107.png + filename: tile_107.png + filetype: png + type: 0 + hash: a0843e8681231325 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 107 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_106.png + filename: tile_106.png + filetype: png + type: 0 + hash: 9559b168bb797f61 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 106 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_105.png + filename: tile_105.png + filetype: png + type: 0 + hash: 893cb7a825c3def2 + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 105 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_104.png + filename: tile_104.png + filetype: png + type: 0 + hash: 2d73577cfe2985f8 + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 104 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_103.png + filename: tile_103.png + filetype: png + type: 0 + hash: 93be22329a97f13a + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 103 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_102.png + filename: tile_102.png + filetype: png + type: 0 + hash: ee4893b0b0e389b0 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 102 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_101.png + filename: tile_101.png + filetype: png + type: 0 + hash: e5a269d460d00e69 + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 101 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_100.png + filename: tile_100.png + filetype: png + type: 0 + hash: bce6842fe9a78d1e + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 100 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_099.png + filename: tile_099.png + filetype: png + type: 0 + hash: 64bc27961c23a597 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 99 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_098.png + filename: tile_098.png + filetype: png + type: 0 + hash: f505363f6721ed43 + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 98 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_097.png + filename: tile_097.png + filetype: png + type: 0 + hash: 4140eb0e01c42458 + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 97 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_096.png + filename: tile_096.png + filetype: png + type: 0 + hash: 61e5ba2ec5cc2e03 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 96 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_095.png + filename: tile_095.png + filetype: png + type: 0 + hash: 2c4018746bda7639 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 95 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_094.png + filename: tile_094.png + filetype: png + type: 0 + hash: 26efe00187d8dde5 + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 94 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_093.png + filename: tile_093.png + filetype: png + type: 0 + hash: fecc9a1f3e9802d8 + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 93 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_092.png + filename: tile_092.png + filetype: png + type: 0 + hash: d546c3d4f31aa5a0 + lastModified: 1728871746 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 92 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_091.png + filename: tile_091.png + filetype: png + type: 0 + hash: 2c31a5fc8d71be6e + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 91 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_090.png + filename: tile_090.png + filetype: png + type: 0 + hash: 49ac491580bfc4f8 + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 90 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_089.png + filename: tile_089.png + filetype: png + type: 0 + hash: 7f30d8350216f6bb + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 89 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_088.png + filename: tile_088.png + filetype: png + type: 0 + hash: a052591c3e581551 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 88 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_087.png + filename: tile_087.png + filetype: png + type: 0 + hash: b5be37e278b5a0e8 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 87 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_086.png + filename: tile_086.png + filetype: png + type: 0 + hash: 405549c9596a8b02 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 86 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_085.png + filename: tile_085.png + filetype: png + type: 0 + hash: c921026208aff689 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 85 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_084.png + filename: tile_084.png + filetype: png + type: 0 + hash: a720f40abed06305 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 84 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_083.png + filename: tile_083.png + filetype: png + type: 0 + hash: 7e26027e93ae8665 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 83 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_082.png + filename: tile_082.png + filetype: png + type: 0 + hash: a7d389b57649b8c1 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 82 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_081.png + filename: tile_081.png + filetype: png + type: 0 + hash: e37d943f98df117c + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 81 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_080.png + filename: tile_080.png + filetype: png + type: 0 + hash: 24af11a711c4a405 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 80 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_079.png + filename: tile_079.png + filetype: png + type: 0 + hash: 6a517ee8c8a504b3 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 79 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_078.png + filename: tile_078.png + filetype: png + type: 0 + hash: 0c75dd1dfcb324e2 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 78 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_077.png + filename: tile_077.png + filetype: png + type: 0 + hash: 51e120ce40647450 + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 77 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_076.png + filename: tile_076.png + filetype: png + type: 0 + hash: 414a4fc402bf8d9a + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 76 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_075.png + filename: tile_075.png + filetype: png + type: 0 + hash: 077768331bb39105 + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 75 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_074.png + filename: tile_074.png + filetype: png + type: 0 + hash: 42121b492147d8fb + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 74 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_073.png + filename: tile_073.png + filetype: png + type: 0 + hash: 75748e5776001213 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 73 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_072.png + filename: tile_072.png + filetype: png + type: 0 + hash: cda73d6cbd54d108 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 72 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_071.png + filename: tile_071.png + filetype: png + type: 0 + hash: 07cff9b3939795f5 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 71 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_070.png + filename: tile_070.png + filetype: png + type: 0 + hash: ee1ef8567b8a3df0 + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 70 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_069.png + filename: tile_069.png + filetype: png + type: 0 + hash: 6cc14afc186ec771 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 69 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_068.png + filename: tile_068.png + filetype: png + type: 0 + hash: be2caa45ef20fd82 + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 68 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_067.png + filename: tile_067.png + filetype: png + type: 0 + hash: fb3139953ea9d8d1 + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 67 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_066.png + filename: tile_066.png + filetype: png + type: 0 + hash: 7fcc1e121b9c475a + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 66 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_065.png + filename: tile_065.png + filetype: png + type: 0 + hash: 70dd4177ac2aacd3 + lastModified: 1728871745 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 65 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_064.png + filename: tile_064.png + filetype: png + type: 0 + hash: dc1ce13185d6f9dd + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 64 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_063.png + filename: tile_063.png + filetype: png + type: 0 + hash: 3f62dcdb053f6abe + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 63 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_062.png + filename: tile_062.png + filetype: png + type: 0 + hash: 54ba3afbbf9a9b9d + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 62 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_061.png + filename: tile_061.png + filetype: png + type: 0 + hash: c8a1b22d67f32e16 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 61 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_060.png + filename: tile_060.png + filetype: png + type: 0 + hash: 5871fcecf1d47e1c + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 60 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_059.png + filename: tile_059.png + filetype: png + type: 0 + hash: 8deb3108a6f2fd67 + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 29 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_028.png + filename: tile_028.png + filetype: png + type: 0 + hash: e7beb61a6e9cabf5 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 28 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_027.png + filename: tile_027.png + filetype: png + type: 0 + hash: 82735e0fe1556323 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 27 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_026.png + filename: tile_026.png + filetype: png + type: 0 + hash: 455f9cc034a4e240 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 26 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_025.png + filename: tile_025.png + filetype: png + type: 0 + hash: 59f5a825963b4b58 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 25 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_024.png + filename: tile_024.png + filetype: png + type: 0 + hash: 52d6f7a1f1aaf096 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 24 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_023.png + filename: tile_023.png + filetype: png + type: 0 + hash: ca52dd2852403677 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 23 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_022.png + filename: tile_022.png + filetype: png + type: 0 + hash: 2217b4ba2738d800 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 22 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_021.png + filename: tile_021.png + filetype: png + type: 0 + hash: a2b2f33d53eafbe1 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 21 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_020.png + filename: tile_020.png + filetype: png + type: 0 + hash: 9ab8e82f77ecda85 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 20 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_019.png + filename: tile_019.png + filetype: png + type: 0 + hash: f4d73b8ef85ddfbf + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 19 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_018.png + filename: tile_018.png + filetype: png + type: 0 + hash: 2f4aa3d6c9a88136 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 18 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_017.png + filename: tile_017.png + filetype: png + type: 0 + hash: 32c7b5c15559556f + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 17 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_016.png + filename: tile_016.png + filetype: png + type: 0 + hash: d66738b42167c25b + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 16 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_015.png + filename: tile_015.png + filetype: png + type: 0 + hash: dfbb87d88e7b361a + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 15 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_014.png + filename: tile_014.png + filetype: png + type: 0 + hash: e9c9d0a81a34e191 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 14 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_013.png + filename: tile_013.png + filetype: png + type: 0 + hash: be9b2566c79ca9e3 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 1 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_000.png + filename: tile_000.png + filetype: png + type: 0 + hash: 43b1a791b2f610aa + lastModified: 1728871741 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 2 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_001.png + filename: tile_001.png + filetype: png + type: 0 + hash: 58e2a6949c806ed4 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 3 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_002.png + filename: tile_002.png + filetype: png + type: 0 + hash: 9d00d31c498403a5 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 4 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_003.png + filename: tile_003.png + filetype: png + type: 0 + hash: 2ce62d3fa5f83a85 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 5 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_004.png + filename: tile_004.png + filetype: png + type: 0 + hash: 15054cba03033497 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 6 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_005.png + filename: tile_005.png + filetype: png + type: 0 + hash: 75d134cdb99c01b0 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 7 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_006.png + filename: tile_006.png + filetype: png + type: 0 + hash: 977d38606f54ec1a + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA - uaid: 8 path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_007.png filename: tile_007.png filetype: png type: 0 hash: acc98f6bf6af4471 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 9 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_008.png + filename: tile_008.png + filetype: png + type: 0 + hash: e38d301f66207712 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 10 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_009.png + filename: tile_009.png + filetype: png + type: 0 + hash: 0ea909aad0cb11d5 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 11 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_010.png + filename: tile_010.png + filetype: png + type: 0 + hash: 027bca2fa1b70126 lastModified: 1728871741 size: [32, 32] channels: 4 format: GL_RGBA + - uaid: 12 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_011.png + filename: tile_011.png + filetype: png + type: 0 + hash: 0c92bd2b1322d0e7 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 13 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_012.png + filename: tile_012.png + filetype: png + type: 0 + hash: 32bf6597d4a096f7 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA - uaid: 30 path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_029.png filename: tile_029.png filetype: png type: 0 hash: 3d1f20d336f5a0e4 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 31 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_030.png + filename: tile_030.png + filetype: png + type: 0 + hash: 2f6e1c7bd159e049 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 32 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_031.png + filename: tile_031.png + filetype: png + type: 0 + hash: 551fe37520f82310 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 33 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_032.png + filename: tile_032.png + filetype: png + type: 0 + hash: ab38b324f6e3068e + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 34 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_033.png + filename: tile_033.png + filetype: png + type: 0 + hash: 9bc4f952ca3d6104 lastModified: 1728871742 size: [32, 32] channels: 4 format: GL_RGBA + - uaid: 35 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_034.png + filename: tile_034.png + filetype: png + type: 0 + hash: 4c68d41935c4c205 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 36 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_035.png + filename: tile_035.png + filetype: png + type: 0 + hash: 4bf836f83d492422 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 37 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_036.png + filename: tile_036.png + filetype: png + type: 0 + hash: 9b60a4c308beee86 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 38 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_037.png + filename: tile_037.png + filetype: png + type: 0 + hash: b02749d8ee945f27 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 39 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_038.png + filename: tile_038.png + filetype: png + type: 0 + hash: 835f3dbf895d2518 + lastModified: 1728871742 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 40 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_039.png + filename: tile_039.png + filetype: png + type: 0 + hash: d35fb51aa3acdc47 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 41 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_040.png + filename: tile_040.png + filetype: png + type: 0 + hash: 56430e898f7e9789 + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 42 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_041.png + filename: tile_041.png + filetype: png + type: 0 + hash: 279113f5a4cbbc98 + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 43 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_042.png + filename: tile_042.png + filetype: png + type: 0 + hash: 00a8e91ac50d0582 + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 44 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_043.png + filename: tile_043.png + filetype: png + type: 0 + hash: 49e0ee588a2d510c + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 45 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_044.png + filename: tile_044.png + filetype: png + type: 0 + hash: cc99aeb78832013d + lastModified: 1728871743 + size: [32, 32] + channels: 4 + format: GL_RGBA + - uaid: 46 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_045.png + filename: tile_045.png + filetype: png + type: 0 + hash: a42f65407bd8d9c8 + lastModified: 1728871744 + size: [32, 32] + channels: 4 + format: GL_RGBA - uaid: 47 path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_046.png filename: tile_046.png filetype: png type: 0 hash: a6ce3c9db850be68 - lastModified: 1728871744 + lastModified: 1728871743 size: [32, 32] channels: 4 format: GL_RGBA @@ -4505,7 +5564,7 @@ Assets: filetype: png type: 0 hash: 6398a4447dcb5e13 - lastModified: 1728871744 + lastModified: 1728871743 size: [32, 32] channels: 4 format: GL_RGBA @@ -4515,7 +5574,7 @@ Assets: filetype: png type: 0 hash: 7d5264eea52a6006 - lastModified: 1728871744 + lastModified: 1728871743 size: [32, 32] channels: 4 format: GL_RGBA @@ -4545,17 +5604,7 @@ Assets: filetype: png type: 0 hash: 7bd2a717963c5a74 - lastModified: 1728871743 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 24 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_023.png - filename: tile_023.png - filetype: png - type: 0 - hash: ca52dd2852403677 - lastModified: 1728871742 + lastModified: 1728871744 size: [32, 32] channels: 4 format: GL_RGBA @@ -4565,87 +5614,7 @@ Assets: filetype: png type: 0 hash: ce606e9690950052 - lastModified: 1728871743 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 9 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_008.png - filename: tile_008.png - filetype: png - type: 0 - hash: e38d301f66207712 - lastModified: 1728871741 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 38 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_037.png - filename: tile_037.png - filetype: png - type: 0 - hash: b02749d8ee945f27 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 10 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_009.png - filename: tile_009.png - filetype: png - type: 0 - hash: 0ea909aad0cb11d5 - lastModified: 1728871741 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 39 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_038.png - filename: tile_038.png - filetype: png - type: 0 - hash: 835f3dbf895d2518 - lastModified: 1728871743 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 11 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_010.png - filename: tile_010.png - filetype: png - type: 0 - hash: 027bca2fa1b70126 - lastModified: 1728871741 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 40 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_039.png - filename: tile_039.png - filetype: png - type: 0 - hash: d35fb51aa3acdc47 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 12 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_011.png - filename: tile_011.png - filetype: png - type: 0 - hash: 0c92bd2b1322d0e7 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 41 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_040.png - filename: tile_040.png - filetype: png - type: 0 - hash: 56430e898f7e9789 - lastModified: 1728871743 + lastModified: 1728871744 size: [32, 32] channels: 4 format: GL_RGBA @@ -4659,26 +5628,6 @@ Assets: size: [32, 32] channels: 4 format: GL_RGBA - - uaid: 13 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_012.png - filename: tile_012.png - filetype: png - type: 0 - hash: 32bf6597d4a096f7 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 42 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_041.png - filename: tile_041.png - filetype: png - type: 0 - hash: 279113f5a4cbbc98 - lastModified: 1728871743 - size: [32, 32] - channels: 4 - format: GL_RGBA - uaid: 55 path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_054.png filename: tile_054.png @@ -4689,16 +5638,6 @@ Assets: size: [32, 32] channels: 4 format: GL_RGBA - - uaid: 43 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_042.png - filename: tile_042.png - filetype: png - type: 0 - hash: 00a8e91ac50d0582 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - uaid: 56 path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_055.png filename: tile_055.png @@ -4709,315 +5648,16 @@ Assets: size: [32, 32] channels: 4 format: GL_RGBA - - uaid: 44 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_043.png - filename: tile_043.png - filetype: png - type: 0 - hash: 49e0ee588a2d510c - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - uaid: 57 path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_056.png filename: tile_056.png filetype: png type: 0 hash: 54c17c59498db1fc - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 45 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_044.png - filename: tile_044.png - filetype: png - type: 0 - hash: cc99aeb78832013d - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 46 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_045.png - filename: tile_045.png - filetype: png - type: 0 - hash: a42f65407bd8d9c8 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 25 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_024.png - filename: tile_024.png - filetype: png - type: 0 - hash: 52d6f7a1f1aaf096 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 88 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_087.png - filename: tile_087.png - filetype: png - type: 0 - hash: b5be37e278b5a0e8 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 7 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_006.png - filename: tile_006.png - filetype: png - type: 0 - hash: 977d38606f54ec1a - lastModified: 1728871741 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 19 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_018.png - filename: tile_018.png - filetype: png - type: 0 - hash: 2f4aa3d6c9a88136 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 6 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_005.png - filename: tile_005.png - filetype: png - type: 0 - hash: 75d134cdb99c01b0 - lastModified: 1728871741 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 18 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_017.png - filename: tile_017.png - filetype: png - type: 0 - hash: 32c7b5c15559556f - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 123 - path: C:\Users\spenc\Music\Stereo Test - LeftRight Audio Test for HeadphonesSpeakers.mp3 - filename: Stereo Test - LeftRight Audio Test for HeadphonesSpeakers.mp3 - filetype: mp3 - type: 1 - hash: 5885c8cc38709f22 - lastModified: 1746052188 - - uaid: 5 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_004.png - filename: tile_004.png - filetype: png - type: 0 - hash: 15054cba03033497 - lastModified: 1728871741 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 17 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_016.png - filename: tile_016.png - filetype: png - type: 0 - hash: d66738b42167c25b lastModified: 1728871743 size: [32, 32] channels: 4 format: GL_RGBA - - uaid: 122 - path: C:\Users\spenc\Music\simple-notification-152054.wav - filename: simple-notification-152054.wav - filetype: wav - type: 1 - hash: 0f5adca8b95e7494 - lastModified: 1745952999 - - uaid: 4 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_003.png - filename: tile_003.png - filetype: png - type: 0 - hash: 2ce62d3fa5f83a85 - lastModified: 1728871741 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 16 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_015.png - filename: tile_015.png - filetype: png - type: 0 - hash: dfbb87d88e7b361a - lastModified: 1728871741 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 121 - path: C:\Users\spenc\Music\simple-notification-152054.mp3 - filename: simple-notification-152054.mp3 - filetype: mp3 - type: 1 - hash: 3e57c2530f08c1ab - lastModified: 1745951639 - - uaid: 3 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_002.png - filename: tile_002.png - filetype: png - type: 0 - hash: 9d00d31c498403a5 - lastModified: 1728871741 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 15 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_014.png - filename: tile_014.png - filetype: png - type: 0 - hash: e9c9d0a81a34e191 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 120 - path: C:\Users\spenc\Music\reflected-light-147979.mp3 - filename: reflected-light-147979.mp3 - filetype: mp3 - type: 1 - hash: b4d344d1f668e25d - lastModified: 1735362211 - - uaid: 2 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_001.png - filename: tile_001.png - filetype: png - type: 0 - hash: 58e2a6949c806ed4 - lastModified: 1728871741 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 14 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_013.png - filename: tile_013.png - filetype: png - type: 0 - hash: be9b2566c79ca9e3 - lastModified: 1728871741 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 119 - path: C:\Users\spenc\Music\good-night-lofi-cozy-chill-music-160166.mp3 - filename: good-night-lofi-cozy-chill-music-160166.mp3 - filetype: mp3 - type: 1 - hash: 246561eaa4e21fad - lastModified: 1735362096 - - uaid: 1 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_000.png - filename: tile_000.png - filetype: png - type: 0 - hash: 43b1a791b2f610aa - lastModified: 1728871741 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 118 - path: C:\Users\spenc\Music\ethereal-vistas-191254.mp3 - filename: ethereal-vistas-191254.mp3 - filetype: mp3 - type: 1 - hash: 0da03a50fc5a40a8 - lastModified: 1735362077 - - uaid: 59 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_058.png - filename: tile_058.png - filetype: png - type: 0 - hash: d7e53d66d6608e44 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 20 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_019.png - filename: tile_019.png - filetype: png - type: 0 - hash: f4d73b8ef85ddfbf - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 21 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_020.png - filename: tile_020.png - filetype: png - type: 0 - hash: 9ab8e82f77ecda85 - lastModified: 1728871743 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 22 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_021.png - filename: tile_021.png - filetype: png - type: 0 - hash: a2b2f33d53eafbe1 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 23 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_022.png - filename: tile_022.png - filetype: png - type: 0 - hash: 2217b4ba2738d800 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 28 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_027.png - filename: tile_027.png - filetype: png - type: 0 - hash: 82735e0fe1556323 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 87 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_086.png - filename: tile_086.png - filetype: png - type: 0 - hash: 405549c9596a8b02 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 117 - path: C:\Users\spenc\Music\creative-technology-showreel-241274.mp3 - filename: creative-technology-showreel-241274.mp3 - filetype: mp3 - type: 1 - hash: d7f8e8b2954d438f - lastModified: 1730076791 - uaid: 58 path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_057.png filename: tile_057.png @@ -5028,652 +5668,12 @@ Assets: size: [32, 32] channels: 4 format: GL_RGBA - - uaid: 26 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_025.png - filename: tile_025.png + - uaid: 59 + path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_058.png + filename: tile_058.png filetype: png type: 0 - hash: 59f5a825963b4b58 - lastModified: 1728871743 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 37 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_036.png - filename: tile_036.png - filetype: png - type: 0 - hash: 9b60a4c308beee86 - lastModified: 1728871743 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 36 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_035.png - filename: tile_035.png - filetype: png - type: 0 - hash: 4bf836f83d492422 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 35 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_034.png - filename: tile_034.png - filetype: png - type: 0 - hash: 4c68d41935c4c205 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 34 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_033.png - filename: tile_033.png - filetype: png - type: 0 - hash: 9bc4f952ca3d6104 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 33 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_032.png - filename: tile_032.png - filetype: png - type: 0 - hash: ab38b324f6e3068e - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 98 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_097.png - filename: tile_097.png - filetype: png - type: 0 - hash: 4140eb0e01c42458 - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 95 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_094.png - filename: tile_094.png - filetype: png - type: 0 - hash: 26efe00187d8dde5 - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 93 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_092.png - filename: tile_092.png - filetype: png - type: 0 - hash: d546c3d4f31aa5a0 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 92 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_091.png - filename: tile_091.png - filetype: png - type: 0 - hash: 2c31a5fc8d71be6e - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 97 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_096.png - filename: tile_096.png - filetype: png - type: 0 - hash: 61e5ba2ec5cc2e03 - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 91 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_090.png - filename: tile_090.png - filetype: png - type: 0 - hash: 49ac491580bfc4f8 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 32 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_031.png - filename: tile_031.png - filetype: png - type: 0 - hash: 551fe37520f82310 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 96 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_095.png - filename: tile_095.png - filetype: png - type: 0 - hash: 2c4018746bda7639 - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 90 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_089.png - filename: tile_089.png - filetype: png - type: 0 - hash: 7f30d8350216f6bb - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 31 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_030.png - filename: tile_030.png - filetype: png - type: 0 - hash: 2f6e1c7bd159e049 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 89 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_088.png - filename: tile_088.png - filetype: png - type: 0 - hash: a052591c3e581551 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 94 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_093.png - filename: tile_093.png - filetype: png - type: 0 - hash: fecc9a1f3e9802d8 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 29 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_028.png - filename: tile_028.png - filetype: png - type: 0 - hash: e7beb61a6e9cabf5 - lastModified: 1728871743 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 99 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_098.png - filename: tile_098.png - filetype: png - type: 0 - hash: f505363f6721ed43 - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 100 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_099.png - filename: tile_099.png - filetype: png - type: 0 - hash: 64bc27961c23a597 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 101 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_100.png - filename: tile_100.png - filetype: png - type: 0 - hash: bce6842fe9a78d1e - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 104 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_103.png - filename: tile_103.png - filetype: png - type: 0 - hash: 93be22329a97f13a - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 105 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_104.png - filename: tile_104.png - filetype: png - type: 0 - hash: 2d73577cfe2985f8 - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 106 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_105.png - filename: tile_105.png - filetype: png - type: 0 - hash: 893cb7a825c3def2 - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 107 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_106.png - filename: tile_106.png - filetype: png - type: 0 - hash: 9559b168bb797f61 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 108 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_107.png - filename: tile_107.png - filetype: png - type: 0 - hash: a0843e8681231325 - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 109 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_108.png - filename: tile_108.png - filetype: png - type: 0 - hash: dc8c15964e615c28 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 110 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_109.png - filename: tile_109.png - filetype: png - type: 0 - hash: 8f7568ef2b75f210 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 111 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_110.png - filename: tile_110.png - filetype: png - type: 0 - hash: a97225d051b0be0f - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 112 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_111.png - filename: tile_111.png - filetype: png - type: 0 - hash: a5a090079e1eb3b5 - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 113 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_112.png - filename: tile_112.png - filetype: png - type: 0 - hash: ea99517d8b684ab8 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 114 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_113.png - filename: tile_113.png - filetype: png - type: 0 - hash: 5d615b590fe9431a - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 115 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_114.png - filename: tile_114.png - filetype: png - type: 0 - hash: bffbedcad0c620c7 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 102 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_101.png - filename: tile_101.png - filetype: png - type: 0 - hash: e5a269d460d00e69 - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 103 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_102.png - filename: tile_102.png - filetype: png - type: 0 - hash: ee4893b0b0e389b0 - lastModified: 1728871746 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 75 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_074.png - filename: tile_074.png - filetype: png - type: 0 - hash: 42121b492147d8fb - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 76 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_075.png - filename: tile_075.png - filetype: png - type: 0 - hash: 077768331bb39105 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 77 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_076.png - filename: tile_076.png - filetype: png - type: 0 - hash: 414a4fc402bf8d9a - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 78 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_077.png - filename: tile_077.png - filetype: png - type: 0 - hash: 51e120ce40647450 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 80 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_079.png - filename: tile_079.png - filetype: png - type: 0 - hash: 6a517ee8c8a504b3 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 81 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_080.png - filename: tile_080.png - filetype: png - type: 0 - hash: 24af11a711c4a405 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 82 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_081.png - filename: tile_081.png - filetype: png - type: 0 - hash: e37d943f98df117c - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 83 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_082.png - filename: tile_082.png - filetype: png - type: 0 - hash: a7d389b57649b8c1 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 84 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_083.png - filename: tile_083.png - filetype: png - type: 0 - hash: 7e26027e93ae8665 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 85 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_084.png - filename: tile_084.png - filetype: png - type: 0 - hash: a720f40abed06305 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 79 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_078.png - filename: tile_078.png - filetype: png - type: 0 - hash: 0c75dd1dfcb324e2 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 27 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_026.png - filename: tile_026.png - filetype: png - type: 0 - hash: 455f9cc034a4e240 - lastModified: 1728871742 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 86 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_085.png - filename: tile_085.png - filetype: png - type: 0 - hash: c921026208aff689 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 74 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_073.png - filename: tile_073.png - filetype: png - type: 0 - hash: 75748e5776001213 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 73 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_072.png - filename: tile_072.png - filetype: png - type: 0 - hash: cda73d6cbd54d108 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 72 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_071.png - filename: tile_071.png - filetype: png - type: 0 - hash: 07cff9b3939795f5 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 116 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\spritesheet.png - filename: spritesheet.png - filetype: png - type: 0 - hash: d178a6f5b597b470 - lastModified: 1728871741 - size: [352, 352] - channels: 4 - format: GL_RGBA - - uaid: 64 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_063.png - filename: tile_063.png - filetype: png - type: 0 - hash: 3f62dcdb053f6abe - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 60 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_059.png - filename: tile_059.png - filetype: png - type: 0 - hash: 8deb3108a6f2fd67 - lastModified: 1728871743 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 61 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_060.png - filename: tile_060.png - filetype: png - type: 0 - hash: 5871fcecf1d47e1c - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 62 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_061.png - filename: tile_061.png - filetype: png - type: 0 - hash: c8a1b22d67f32e16 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 63 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_062.png - filename: tile_062.png - filetype: png - type: 0 - hash: 54ba3afbbf9a9b9d - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 65 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_064.png - filename: tile_064.png - filetype: png - type: 0 - hash: dc1ce13185d6f9dd - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 66 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_065.png - filename: tile_065.png - filetype: png - type: 0 - hash: 70dd4177ac2aacd3 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 67 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_066.png - filename: tile_066.png - filetype: png - type: 0 - hash: 7fcc1e121b9c475a - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 68 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_067.png - filename: tile_067.png - filetype: png - type: 0 - hash: fb3139953ea9d8d1 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 69 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_068.png - filename: tile_068.png - filetype: png - type: 0 - hash: be2caa45ef20fd82 - lastModified: 1728871744 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 70 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_069.png - filename: tile_069.png - filetype: png - type: 0 - hash: 6cc14afc186ec771 - lastModified: 1728871745 - size: [32, 32] - channels: 4 - format: GL_RGBA - - uaid: 71 - path: C:\Users\spenc\OneDrive\Pictures\isometric tileset\separated images\tile_070.png - filename: tile_070.png - filetype: png - type: 0 - hash: ee1ef8567b8a3df0 + hash: d7e53d66d6608e44 lastModified: 1728871744 size: [32, 32] channels: 4 diff --git a/src/src/Components/AudioPlayerComponent.cpp b/src/src/Components/AudioPlayerComponent.cpp index 8975ee9..42233b7 100644 --- a/src/src/Components/AudioPlayerComponent.cpp +++ b/src/src/Components/AudioPlayerComponent.cpp @@ -3,6 +3,8 @@ #include "../core/utils/AssetManager.h" #include "../core/audio/AudioEngine.h" + + AudioPlayerComponent::AudioPlayerComponent(Object* owner) : Component(owner) {} diff --git a/src/src/Components/Component.h b/src/src/Components/Component.h index 7b4f0fe..d945dda 100644 --- a/src/src/Components/Component.h +++ b/src/src/Components/Component.h @@ -9,6 +9,8 @@ #include "../core/utils/Logging.h" + + class Object; class Component { diff --git a/src/src/Engine.cpp b/src/src/Engine.cpp index 3513433..bc31c1e 100644 --- a/src/src/Engine.cpp +++ b/src/src/Engine.cpp @@ -35,6 +35,9 @@ #include #include + + + #include #include #include @@ -55,6 +58,8 @@ #include using json = nlohmann::json; + + static std::shared_ptr selected = nullptr; static bool playing = false; static bool lastPlaying = false; @@ -75,6 +80,7 @@ static const std::string tempScenePath = "__tmp_scene.yaml"; GLFWwindow *window = nullptr; + Engine::Engine() { @@ -1246,9 +1252,9 @@ void Engine::Run() } else if (previewObj && mouseReleased && hoveringViewport) { - previewObj = nullptr; previewUAID = 0; + } else if (previewObj && (!hoveringViewport || !draggingTexture)) { diff --git a/src/src/Entitys/Object.cpp b/src/src/Entitys/Object.cpp index 253d8de..9466fcd 100644 --- a/src/src/Entitys/Object.cpp +++ b/src/src/Entitys/Object.cpp @@ -286,4 +286,6 @@ void Object::Load(const YAML::Node &node) AddChild(child); } } -} \ No newline at end of file +} + + diff --git a/src/src/core/utils/AssetManager.cpp b/src/src/core/utils/AssetManager.cpp index e2eabee..2146036 100644 --- a/src/src/core/utils/AssetManager.cpp +++ b/src/src/core/utils/AssetManager.cpp @@ -6,6 +6,7 @@ #include "LoadingWindow.h" #define STB_IMAGE_IMPLEMENTATION #include +#include "../../Entitys/Object.h" @@ -170,6 +171,71 @@ const char *MiniaudioResultToString(ma_result result) + +// PrefabAssetInfo.cpp + +PrefabAssetInfo::PrefabAssetInfo() { + type = AssetType::Prefab; +} + +void PrefabAssetInfo::Save(YAML::Emitter& out) const { + out << YAML::BeginMap; + out << YAML::Key << "uaid" << YAML::Value << uaid; + out << YAML::Key << "path" << YAML::Value << path; + out << YAML::Key << "filename" << YAML::Value << filename; + out << YAML::Key << "filetype" << YAML::Value << filetype; + out << YAML::Key << "type" << YAML::Value << "Prefab"; + out << YAML::Key << "hash" << YAML::Value << hash; + out << YAML::Key << "lastModified" << YAML::Value << lastModified; + out << YAML::Key << "loaded" << YAML::Value << loaded; + out << YAML::Key << "prefabYAML" << YAML::Value << prefabYAML; + + // Prefab metadata + out << YAML::Key << "prefabName" << YAML::Value << prefabName; + + out << YAML::EndMap; +} + + +void PrefabAssetInfo::Load(const YAML::Node& node) { + uaid = node["uaid"].as(); + path = node["path"].as(); + filename = node["filename"].as(); + filetype = node["filetype"].as(); + hash = node["hash"].as(); + lastModified = node["lastModified"].as(); + loaded = node["loaded"].as(); + prefabYAML = node["prefabYAML"] ? node["prefabYAML"].as() : ""; + + + if (node["prefabName"]) + prefabName = node["prefabName"].as(); + + + ReloadFromYAML(); +} + +void PrefabAssetInfo::ReloadFromYAML() +{ + if (prefabYAML.empty()) + return; + + YAML::Node root; + try { + root = YAML::Load(prefabYAML); + } + catch (const std::exception& e) { + Logger::LogError("[Prefab] YAML parse error: %s", e.what()); + return; + } + + prefabRoot = std::make_shared("PrefabRoot"); + prefabRoot->Load(root); +} + + + + void AssetManager::Init() { Logger::LogOk("AssetManager Core"); @@ -214,6 +280,9 @@ void AssetManager::LoadAssetAsync(const std::string &path, AssetType type) LoadImageInternal(path, uaid); else if (type == AssetType::Audio) LoadAudioInternal(path, uaid); + else if (type == AssetType::Prefab) + LoadPrefabInternal(path, uaid); + } void AssetManager::LoadImageInternal(const std::string &path, uint64_t uaid) @@ -273,6 +342,9 @@ void AssetManager::LoadImageInternal(const std::string &path, uint64_t uaid) Logger::LogVerbose("[AssetManager] Loaded image: %s (%dx%d)", path.c_str(), w, h); } + + + void AssetManager::LoadAudioInternal(const std::string &path, uint64_t uaid) { auto it = s_Assets.find(uaid); @@ -302,6 +374,55 @@ void AssetManager::LoadAudioInternal(const std::string &path, uint64_t uaid) Logger::LogVerbose("[AssetManager] Loaded audio: %s", path.c_str()); } + + +void AssetManager::LoadPrefabInternal(const std::string& path, uint64_t uaid) +{ + // Skip if already loaded and not dirty + auto it = s_Assets.find(uaid); + if (it != s_Assets.end() && it->second->loaded) + return; + + if (!FileExists(path)) + { + Logger::LogError("[AssetManager] Prefab file not found: %s", path.c_str()); + return; + } + + std::string yamlContent; + if (!ReadTextFile(path, yamlContent)) + { + Logger::LogError("[AssetManager] Failed to read prefab file: %s", path.c_str()); + return; + } + + auto prefab = std::make_shared(); + prefab->uaid = uaid; + prefab->path = path; + prefab->filename = GetFilenameFromPath(path); + prefab->filetype = GetFileExtension(path); + prefab->type = AssetType::Prefab; + prefab->prefabYAML = yamlContent; + prefab->lastModified = GetFileLastWrite(path); + prefab->hash = GetFileHash(path); + prefab->loaded = true; + + prefab->ReloadFromYAML(); + + if (!prefab->prefabRoot) + { + Logger::LogError("[AssetManager] Failed to deserialize prefab object: %s", path.c_str()); + return; + } + + s_Assets[uaid] = prefab; + + Logger::LogVerbose("[AssetManager] Loaded prefab: %s (UAID: %llu)", path.c_str(), uaid); +} + + + + const AssetInfo *AssetManager::GetAssetByID(uint64_t uaid) { auto it = s_Assets.find(uaid); diff --git a/src/src/core/utils/AssetManager.h b/src/src/core/utils/AssetManager.h index 46bd93e..9c8c2d5 100644 --- a/src/src/core/utils/AssetManager.h +++ b/src/src/core/utils/AssetManager.h @@ -9,7 +9,15 @@ #include #include "miniaudio.h" -enum class AssetType { Image, Audio, Unknown }; +class Object; + +enum class AssetType { + Image, + Audio, + Prefab, + Unknown +}; + struct AssetInfo { @@ -51,6 +59,25 @@ struct AudioAssetInfo : public AssetInfo void Load(const YAML::Node& node) override; }; + + +struct PrefabAssetInfo : public AssetInfo +{ + std::string prefabYAML; + std::shared_ptr prefabRoot = nullptr; + + std::string prefabName = "Unnamed Prefab"; + + + PrefabAssetInfo(); + void Save(YAML::Emitter& out) const override; + void Load(const YAML::Node& node) override; + + void ReloadFromYAML(); // reparses prefabYAML into prefabRoot +}; + + + const char* MiniaudioResultToString(ma_result result); @@ -75,4 +102,6 @@ private: static uint64_t GenerateUAID(); static void LoadImageInternal(const std::string& path, uint64_t uaid); static void LoadAudioInternal(const std::string& path, uint64_t uaid); + static void LoadPrefabInternal(const std::string& path, uint64_t uaid); + }; diff --git a/src/src/core/utils/EngineConfig.cpp b/src/src/core/utils/EngineConfig.cpp index 43cb43e..f64eebb 100644 --- a/src/src/core/utils/EngineConfig.cpp +++ b/src/src/core/utils/EngineConfig.cpp @@ -12,7 +12,7 @@ //! Macro Fuckery my Gz EngineConfig g_engineConfig{ - .version = "0.8.2", + .version = "0.8.3", .gl_version = "430", .gl_maxLight = 512, .settings = UserSettings{} diff --git a/src/src/core/utils/FileDialog.cpp b/src/src/core/utils/FileDialog.cpp index fbe9d80..00cd308 100644 --- a/src/src/core/utils/FileDialog.cpp +++ b/src/src/core/utils/FileDialog.cpp @@ -13,14 +13,16 @@ //TODO: Make this all memroy safe. static std::unordered_map filters = { - { FileDialogType::Images, "Image Files\0*.png;*.jpg;*.jpeg;*.bmp;*.tga;*.gif;*.dds\0All Files\0*.*\0" }, - { FileDialogType::Scenes, "CreateScene Files\0*.cene;*.cscene;*.yaml\0All Files\0*.*\0" }, - { FileDialogType::Audio, "Audio Files\0*.mp3;*.wav;*.ogg;*.flac;*.aac\0All Files\0*.*\0" }, - { FileDialogType::Scripts, "Lua Scripts\0*.lua\0All Files\0*.*\0" }, - { FileDialogType::Shaders, "Shader Files\0*.glsl;*.vert;*.frag;*.hlsl\0All Files\0*.*\0" }, - { FileDialogType::Fonts, "Font Files\0*.ttf;*.otf;*.fnt\0All Files\0*.*\0" }, - { FileDialogType::Models, "3D Models\0*.obj;*.fbx;*.gltf;*.dae\0All Files\0*.*\0" }, - { FileDialogType::All, "All Files\0*.*\0" } + { FileDialogType::Images, "Image Files\0*.png;*.jpg;*.jpeg;*.bmp;*.tga;*.gif;*.dds\0All Files\0*.*\0" }, + { FileDialogType::Scenes, "CreateScene Files\0*.cene;*.cscene;*.yaml\0All Files\0*.*\0" }, + { FileDialogType::Prefabs, "Prefab Files\0*.cpfb\0All Files\0*.*\0" }, + { FileDialogType::AssetPacks, "Asset Pack Files\0*.cpack;*.capk\0All Files\0*.*\0" }, + { FileDialogType::Audio, "Audio Files\0*.mp3;*.wav;*.ogg;*.flac;*.aac\0All Files\0*.*\0" }, + { FileDialogType::Scripts, "Lua Scripts\0*.lua\0All Files\0*.*\0" }, + { FileDialogType::Shaders, "Shader Files\0*.glsl;*.vert;*.frag;*.hlsl\0All Files\0*.*\0" }, + { FileDialogType::Fonts, "Font Files\0*.ttf;*.otf;*.fnt\0All Files\0*.*\0" }, + { FileDialogType::Models, "3D Models\0*.obj;*.fbx;*.gltf;*.dae\0All Files\0*.*\0" }, + { FileDialogType::All, "All Files\0*.*\0" } }; diff --git a/src/src/core/utils/FileDialog.h b/src/src/core/utils/FileDialog.h index 914053e..50c6722 100644 --- a/src/src/core/utils/FileDialog.h +++ b/src/src/core/utils/FileDialog.h @@ -4,17 +4,21 @@ enum class FileDialogType { - Images, - Scenes, - Audio, - Scripts, - Shaders, - Fonts, - Models, - All + Images, // .png, .jpg, .bmp, etc. + Scenes, // .cene + Prefabs, // .cpfb + AssetPacks, // .cpack, .capk + Audio, // .wav, .mp3, .ogg + Scripts, // .lua, .py + Shaders, // .vert, .frag, .glsl + Fonts, // .ttf, .otf + Models, // .obj, .fbx, .gltf, etc. + All }; + + std::string OpenFileDialog(FileDialogType type); std::string SaveFileDialog(FileDialogType type); std::string CreateFileDialog(FileDialogType type); diff --git a/src/src/core/utils/utils.h b/src/src/core/utils/utils.h index dd793a8..44fdb2d 100644 --- a/src/src/core/utils/utils.h +++ b/src/src/core/utils/utils.h @@ -6,6 +6,11 @@ #include #include #include +#include +#include +#include +#include +#include // here so i only need to include once. @@ -76,4 +81,40 @@ inline std::string GetFileExtension(const std::string &path) if (dot == std::string::npos) return ""; return path.substr(dot + 1); -} \ No newline at end of file +} + + +inline std::string GetFileExtension_Name(const std::string &path) +{ + size_t dot = path.find_last_of('.'); + if (dot == std::string::npos || dot == path.length() - 1) + return ""; + + std::string ext = path.substr(dot + 1); + + // Convert to lowercase + std::transform(ext.begin(), ext.end(), ext.begin(), + [](unsigned char c) { return std::tolower(c); }); + + return ext; +} + + +inline bool FileExists(const std::string& path) +{ + return std::filesystem::exists(path) && std::filesystem::is_regular_file(path); +} + + + +inline bool ReadTextFile(const std::string& path, std::string& out) +{ + std::ifstream file(path); + if (!file.is_open()) + return false; + + std::stringstream buffer; + buffer << file.rdbuf(); + out = buffer.str(); + return true; +} diff --git a/src/src/editor/windows/AssetBrowser.cpp b/src/src/editor/windows/AssetBrowser.cpp index 8ce26ce..a71a854 100644 --- a/src/src/editor/windows/AssetBrowser.cpp +++ b/src/src/editor/windows/AssetBrowser.cpp @@ -13,6 +13,9 @@ static int sortMode = 0; // 0 = Name, 1 = Type, 2 = UAID static bool showImages = true; static bool showAudio = true; +static std::vector> pendingImports; +static bool showImportPopup = false; + void ShowAssetBrowser() { PROFILE_ENGINE_SCOPE("Editor::AssetBrowser"); @@ -20,50 +23,35 @@ void ShowAssetBrowser() if (!g_engineConfig.settings.show_asset_window) return; + // Open modal popup if needed + if (showImportPopup) + ImGui::OpenPopup("Import Preview"); + ImGui::Begin("Resources"); - // Top bar layout - ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(6, 4)); - ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(8, 6)); - - // Load Buttons - if (ImGui::Button("Load Images")) + if (ImGui::Button("Import Assets")) { - std::vector paths = OpenMultipleFilesDialog(FileDialogType::Images); + std::vector paths = OpenMultipleFilesDialog(FileDialogType::All); if (!paths.empty()) { - LoadingWindow loader; - loader.Create("Loading Images..."); + pendingImports.clear(); - for (size_t i = 0; i < paths.size(); ++i) + for (const auto &path : paths) { - const std::string &path = paths[i]; - loader.Update("Loading Image", path, static_cast(i + 1) / paths.size()); - AssetManager::LoadAssetAsync(path, AssetType::Image); + std::string ext = GetFileExtension_Name(path); + AssetType type = AssetType::Unknown; + + if (ext == "png" || ext == "jpg" || ext == "jpeg" || ext == "bmp" || ext == "tga" || ext == "gif" || ext == "dds") + type = AssetType::Image; + else if (ext == "wav" || ext == "mp3" || ext == "ogg" || ext == "flac" || ext == "aac") + type = AssetType::Audio; + else if (ext == "cpfb") + type = AssetType::Prefab; + + pendingImports.emplace_back(path, type); } - loader.Destroy(); - } - } - - ImGui::SameLine(); - - if (ImGui::Button("Load Audio")) - { - std::vector paths = OpenMultipleFilesDialog(FileDialogType::Audio); - if (!paths.empty()) - { - LoadingWindow loader; - loader.Create("Loading Audio..."); - - for (size_t i = 0; i < paths.size(); ++i) - { - const std::string &path = paths[i]; - loader.Update("Loading Audio", path, static_cast(i + 1) / paths.size()); - AssetManager::LoadAssetAsync(path, AssetType::Audio); - } - - loader.Destroy(); + showImportPopup = true; } } @@ -72,7 +60,6 @@ void ShowAssetBrowser() if (ImGui::Button("Filters / Sort")) ImGui::OpenPopup("AssetBrowserFilterPopup"); - // Filters Popup if (ImGui::BeginPopup("AssetBrowserFilterPopup")) { ImGui::Text("Sort By:"); @@ -93,59 +80,43 @@ void ShowAssetBrowser() ImGui::EndPopup(); } - ImGui::PopStyleVar(2); - - // Search field (spaced below buttons) ImGui::Spacing(); - ImGui::Spacing(); - char buffer[256] = {}; strncpy(buffer, assetSearchQuery.c_str(), sizeof(buffer) - 1); ImGui::SetNextItemWidth(-1); if (ImGui::InputTextWithHint("##Search", "Search", buffer, sizeof(buffer))) - { assetSearchQuery = buffer; - } - - ImGui::Separator(); ImGui::BeginChild("##AssetScroll", ImVec2(0, 0), true); - const float padding = 8.0f; - const float thumbnailSize = 64.0f; - const float cellSize = thumbnailSize + padding; - + float padding = 8.0f; + float thumbnailSize = 64.0f; + float cellSize = thumbnailSize + padding; float availWidth = ImGui::GetContentRegionAvail().x; int columns = static_cast(availWidth / cellSize); if (columns < 1) columns = 1; - ImGui::Columns(columns, nullptr, false); - // Collect, filter and sort assets std::vector sortedAssets; for (const auto &[uaid, asset] : AssetManager::GetAllAssets()) { if (!asset || !asset->loaded) continue; - if (!assetSearchQuery.empty() && asset->filename.find(assetSearchQuery) == std::string::npos && asset->path.find(assetSearchQuery) == std::string::npos) continue; - if ((asset->type == AssetType::Image && !showImages) || (asset->type == AssetType::Audio && !showAudio)) continue; - sortedAssets.push_back(asset.get()); } std::sort(sortedAssets.begin(), sortedAssets.end(), [](const AssetInfo *a, const AssetInfo *b) { - switch (sortMode) - { + switch (sortMode) { case 0: return sortAscending ? a->filename < b->filename : a->filename > b->filename; case 1: return sortAscending ? a->type < b->type : a->type > b->type; case 2: return sortAscending ? a->uaid < b->uaid : a->uaid > b->uaid; @@ -153,38 +124,34 @@ void ShowAssetBrowser() } }); int idx = 0; - for (const AssetInfo *baseAsset : sortedAssets) + for (const AssetInfo *asset : sortedAssets) { ImGui::PushID(idx++); - std::string displayName = GetFilenameFromPath(baseAsset->path); + std::string displayName = GetFilenameFromPath(asset->path); - if (baseAsset->type == AssetType::Image) + if (asset->type == AssetType::Image) { - const auto *imageAsset = dynamic_cast(baseAsset); - if (!imageAsset) + const auto *image = dynamic_cast(asset); + if (!image) { ImGui::PopID(); continue; } - ImGui::Image((ImTextureID)(intptr_t)imageAsset->textureID, - ImVec2(thumbnailSize, thumbnailSize)); - + ImGui::Image((ImTextureID)(intptr_t)image->textureID, ImVec2(thumbnailSize, thumbnailSize)); if (ImGui::BeginDragDropSource(ImGuiDragDropFlags_SourceAllowNullID)) { - ImGui::SetDragDropPayload("ASSET_TEXTURE", &baseAsset->uaid, sizeof(uint64_t)); + ImGui::SetDragDropPayload("ASSET_TEXTURE", &asset->uaid, sizeof(uint64_t)); ImGui::Text("%s", displayName.c_str()); ImGui::EndDragDropSource(); } } - else if (baseAsset->type == AssetType::Audio) + else if (asset->type == AssetType::Audio) { - std::string buttonLabel = baseAsset->filetype.empty() ? "Audio" : baseAsset->filetype; - ImGui::Button(buttonLabel.c_str(), ImVec2(thumbnailSize, thumbnailSize)); - + ImGui::Button(asset->filetype.empty() ? "Audio" : asset->filetype.c_str(), ImVec2(thumbnailSize, thumbnailSize)); if (ImGui::BeginDragDropSource(ImGuiDragDropFlags_SourceAllowNullID)) { - ImGui::SetDragDropPayload("ASSET_AUDIO", &baseAsset->uaid, sizeof(uint64_t)); + ImGui::SetDragDropPayload("ASSET_AUDIO", &asset->uaid, sizeof(uint64_t)); ImGui::Text("%s", displayName.c_str()); ImGui::EndDragDropSource(); } @@ -198,23 +165,17 @@ void ShowAssetBrowser() if (ImGui::IsItemHovered()) { ImGui::BeginTooltip(); - ImGui::Text("Path: %s", baseAsset->path.c_str()); - ImGui::Text("UAID: %llu", baseAsset->uaid); - - if (baseAsset->type == AssetType::Image) + ImGui::Text("Path: %s", asset->path.c_str()); + ImGui::Text("UAID: %llu", asset->uaid); + if (asset->type == AssetType::Image) { - const auto *imageAsset = dynamic_cast(baseAsset); - if (imageAsset) + auto *image = dynamic_cast(asset); + if (image) { - ImGui::Text("Texture ID: %u", imageAsset->textureID); - ImGui::Text("Size: (%.0f, %.0f)", imageAsset->size.x, imageAsset->size.y); + ImGui::Text("Texture ID: %u", image->textureID); + ImGui::Text("Size: (%.0f, %.0f)", image->size.x, image->size.y); } } - else if (baseAsset->type == AssetType::Audio) - { - ImGui::Text("Audio file"); - } - ImGui::EndTooltip(); } @@ -222,23 +183,15 @@ void ShowAssetBrowser() { if (ImGui::MenuItem("Unload")) { - Logger::LogInfo("[AssetBrowser] Unloaded: %s", baseAsset->path.c_str()); - AssetManager::UnloadAsset(baseAsset->uaid); + AssetManager::UnloadAsset(asset->uaid); ImGui::EndPopup(); ImGui::PopID(); continue; } - if (ImGui::MenuItem("Copy Path")) - { - ImGui::SetClipboardText(baseAsset->path.c_str()); - } - + ImGui::SetClipboardText(asset->path.c_str()); if (ImGui::MenuItem("Copy UAID")) - { - ImGui::SetClipboardText(std::to_string(baseAsset->uaid).c_str()); - } - + ImGui::SetClipboardText(std::to_string(asset->uaid).c_str()); ImGui::EndPopup(); } @@ -250,4 +203,83 @@ void ShowAssetBrowser() ImGui::Columns(1); ImGui::EndChild(); ImGui::End(); + + if (ImGui::BeginPopupModal("Import Preview", nullptr, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoResize)) + { + ImGui::TextWrapped("Review and confirm asset imports. Adjust type if needed."); + ImGui::Spacing(); + + constexpr float tableWidth = 520.0f; + if (ImGui::BeginTable("ImportTable", 2, ImGuiTableFlags_Borders | ImGuiTableFlags_RowBg | ImGuiTableFlags_Resizable, ImVec2(tableWidth, 300))) + { + ImGui::TableSetupColumn("Filename", ImGuiTableColumnFlags_WidthStretch); + ImGui::TableSetupColumn("Type", ImGuiTableColumnFlags_WidthFixed, 120.0f); + ImGui::TableHeadersRow(); + + for (auto &[path, type] : pendingImports) + { + ImGui::TableNextRow(); + ImGui::TableSetColumnIndex(0); + std::string filename = GetFilenameFromPath(path); + ImGui::TextWrapped("%s", filename.c_str()); + + ImGui::TableSetColumnIndex(1); + const char *currentLabel = + type == AssetType::Image ? "Image" : type == AssetType::Audio ? "Audio" + : type == AssetType::Prefab ? "Prefab" + : "Unknown"; + + ImGui::SetNextItemWidth(-1); + if (ImGui::BeginCombo(("##type_" + path).c_str(), currentLabel)) + { + if (ImGui::Selectable("Image", type == AssetType::Image)) + type = AssetType::Image; + if (ImGui::Selectable("Audio", type == AssetType::Audio)) + type = AssetType::Audio; + if (ImGui::Selectable("Prefab", type == AssetType::Prefab)) + type = AssetType::Prefab; + ImGui::EndCombo(); + } + } + + ImGui::EndTable(); + } + + ImGui::Spacing(); + ImGui::Separator(); + ImGui::Spacing(); + + float buttonWidth = 120.0f; + float totalWidth = buttonWidth * 2 + ImGui::GetStyle().ItemSpacing.x; + + ImGui::SetCursorPosX((tableWidth - totalWidth) * 0.5f); // center buttons + if (ImGui::Button("Import", ImVec2(buttonWidth, 0))) + { + LoadingWindow loader; + loader.Create("Importing..."); + + for (size_t i = 0; i < pendingImports.size(); ++i) + { + const auto &[path, type] = pendingImports[i]; + loader.Update("Importing", path, static_cast(i + 1) / pendingImports.size()); + AssetManager::LoadAssetAsync(path, type); + } + + loader.Destroy(); + pendingImports.clear(); + showImportPopup = false; + ImGui::CloseCurrentPopup(); + } + + ImGui::SameLine(); + + if (ImGui::Button("Cancel", ImVec2(buttonWidth, 0))) + { + pendingImports.clear(); + showImportPopup = false; + ImGui::CloseCurrentPopup(); + } + + ImGui::EndPopup(); + } }