From d6ce6a9582a884698fbe8ab42865fa8985f8d17f Mon Sep 17 00:00:00 2001 From: Rokas Puzonas Date: Sun, 12 Nov 2023 11:37:43 +0200 Subject: [PATCH] integrate exporting .blend into build.zig --- .gitignore | 1 + build-models.sh | 4 - build.zig | 15 + src/assets/models/buttons/Button 0.obj | 277 -------------- src/assets/models/buttons/Button 1.obj | 277 -------------- src/assets/models/buttons/Button 2.obj | 277 -------------- src/assets/models/buttons/Button 3.obj | 277 -------------- src/assets/models/buttons/Button 4.obj | 277 -------------- src/assets/models/buttons/Button 5.obj | 277 -------------- src/assets/models/buttons/Button 6.obj | 277 -------------- src/assets/models/buttons/Button 7.obj | 277 -------------- src/assets/models/buttons/Button 8.obj | 277 -------------- src/assets/models/buttons/Button 9.obj | 277 -------------- src/assets/models/buttons/Button A.obj | 277 -------------- src/assets/models/buttons/Button B.obj | 277 -------------- src/assets/models/buttons/Button C.obj | 277 -------------- src/assets/models/buttons/Button D.obj | 277 -------------- src/assets/models/buttons/Button E.obj | 277 -------------- src/assets/models/buttons/Button F.obj | 277 -------------- src/assets/models/buttons/Button.mtl | 13 - src/assets/models/emulator.blend | Bin 1175632 -> 1254368 bytes src/assets/models/emulator.mtl | 33 -- src/assets/models/emulator.mtls.txt | 3 - src/assets/models/emulator.obj | 500 ------------------------- src/assets/models/emulator.objs.txt | 3 - src/assets/models/export_obj.py | 114 +++--- src/chip.zig | 48 ++- src/main-scene.zig | 205 ++++++---- src/raylib-chip.zig | 2 +- src/shaders/main.fs | 3 +- 30 files changed, 241 insertions(+), 5135 deletions(-) delete mode 100755 build-models.sh delete mode 100644 src/assets/models/buttons/Button 0.obj delete mode 100644 src/assets/models/buttons/Button 1.obj delete mode 100644 src/assets/models/buttons/Button 2.obj delete mode 100644 src/assets/models/buttons/Button 3.obj delete mode 100644 src/assets/models/buttons/Button 4.obj delete mode 100644 src/assets/models/buttons/Button 5.obj delete mode 100644 src/assets/models/buttons/Button 6.obj delete mode 100644 src/assets/models/buttons/Button 7.obj delete mode 100644 src/assets/models/buttons/Button 8.obj delete mode 100644 src/assets/models/buttons/Button 9.obj delete mode 100644 src/assets/models/buttons/Button A.obj delete mode 100644 src/assets/models/buttons/Button B.obj delete mode 100644 src/assets/models/buttons/Button C.obj delete mode 100644 src/assets/models/buttons/Button D.obj delete mode 100644 src/assets/models/buttons/Button E.obj delete mode 100644 src/assets/models/buttons/Button F.obj delete mode 100644 src/assets/models/buttons/Button.mtl delete mode 100644 src/assets/models/emulator.mtl delete mode 100644 src/assets/models/emulator.mtls.txt delete mode 100644 src/assets/models/emulator.obj delete mode 100644 src/assets/models/emulator.objs.txt diff --git a/.gitignore b/.gitignore index b9164e5..8d1d2c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ zig-cache zig-out *.blend1 +src/assets/models/emulator diff --git a/build-models.sh b/build-models.sh deleted file mode 100755 index 05f0c1d..0000000 --- a/build-models.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -cd src/assets/models -blender emulator.blend --background --python export_obj.py diff --git a/build.zig b/build.zig index 2f7ba16..b88e6d9 100644 --- a/build.zig +++ b/build.zig @@ -56,7 +56,22 @@ pub fn build(b: *std.Build) !void { // exe.addModule("raylib", rl.getModule(b, "libs/raylib-zig")); // exe.addModule("raylib-math", rl.math.getModule(b, "libs/raylib-zig")); + { + var build_models_step = b.step("models", "Export .blend files"); + var build_models = b.addSystemCommand(&[_][]const u8{ "blender" }); + build_models.addFileArg(.{ .path = "src/assets/models/emulator.blend" }); + build_models.addArg("--background"); + build_models.addArg("--python"); + build_models.addFileArg(.{ .path = "src/assets/models/export_obj.py" }); + build_models.addArg("--"); + build_models.addArg("src/assets/models/emulator"); + + build_models_step.dependOn(&build_models.step); + exe.step.dependOn(build_models_step); + } + const run_cmd = b.addRunArtifact(exe); + const run_step = b.step("run", "Run chip8-zig"); run_step.dependOn(&run_cmd.step); diff --git a/src/assets/models/buttons/Button 0.obj b/src/assets/models/buttons/Button 0.obj deleted file mode 100644 index 6ca5d17..0000000 --- a/src/assets/models/buttons/Button 0.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_0_Cube.016 -v 0.014723 -0.269111 0.000030 -v 0.007211 -0.275835 -0.008838 -v 0.002723 -0.281111 0.000030 -v 0.007552 -0.271081 -0.002568 -v 0.005498 -0.272263 -0.001463 -v 0.004037 -0.274596 -0.002568 -v 0.006237 -0.272626 0.000030 -v 0.116830 -0.281111 0.000030 -v 0.112341 -0.275835 -0.008838 -v 0.104830 -0.269111 0.000030 -v 0.115515 -0.274596 -0.002568 -v 0.114055 -0.272263 -0.001463 -v 0.112000 -0.271081 -0.002568 -v 0.113315 -0.272626 0.000030 -v 0.002723 -0.371066 0.000030 -v 0.007211 -0.376341 -0.008838 -v 0.014723 -0.383066 0.000030 -v 0.004037 -0.377581 -0.002568 -v 0.005498 -0.379914 -0.001463 -v 0.007552 -0.381096 -0.002568 -v 0.006237 -0.379551 0.000030 -v 0.014600 -0.286904 -0.023436 -v 0.031089 -0.293628 -0.032304 -v 0.019089 -0.305628 -0.032304 -v 0.021289 -0.291659 -0.029706 -v 0.020353 -0.294516 -0.030811 -v 0.022604 -0.297143 -0.032304 -v 0.017774 -0.295174 -0.029706 -v 0.104952 -0.286904 -0.023436 -v 0.100463 -0.305628 -0.032304 -v 0.088463 -0.293628 -0.032304 -v 0.101778 -0.295174 -0.029706 -v 0.099199 -0.294516 -0.030811 -v 0.096948 -0.297143 -0.032304 -v 0.098263 -0.291659 -0.029706 -v 0.019089 -0.346549 -0.032304 -v 0.031089 -0.358549 -0.032304 -v 0.014600 -0.365273 -0.023436 -v 0.022604 -0.355034 -0.032304 -v 0.020353 -0.357661 -0.030811 -v 0.021289 -0.360518 -0.029706 -v 0.017774 -0.357003 -0.029706 -v 0.088463 -0.358549 -0.032304 -v 0.100463 -0.346549 -0.032304 -v 0.104952 -0.365273 -0.023436 -v 0.096948 -0.355034 -0.032304 -v 0.099199 -0.357661 -0.030811 -v 0.101778 -0.357003 -0.029706 -v 0.098263 -0.360518 -0.029706 -v 0.104830 -0.383066 0.000030 -v 0.112341 -0.376341 -0.008838 -v 0.116830 -0.371066 0.000030 -v 0.112000 -0.381096 -0.002568 -v 0.114055 -0.379914 -0.001463 -v 0.115515 -0.377581 -0.002568 -v 0.113315 -0.379551 0.000030 -vt 0.591904 0.816945 -vt 0.555231 0.800598 -vt 0.526703 0.761118 -vt 0.643451 0.928957 -vt 0.678984 0.944967 -vt 0.704529 0.989611 -vt 0.574040 0.832837 -vt 0.649644 0.821714 -vt 0.665667 0.838593 -vt 0.569586 0.915507 -vt 0.550921 0.948324 -vt 0.503893 0.965391 -vt 0.723150 0.773338 -vt 0.724885 0.770022 -vt 0.728132 0.785700 -vt 0.716415 0.766608 -vt 0.711249 0.778567 -vt 0.719982 0.768323 -vt 0.717199 0.767477 -vt 0.715947 0.984706 -vt 0.720462 0.986947 -vt 0.722729 0.978016 -vt 0.709558 0.972754 -vt 0.721734 0.981983 -vt 0.724760 0.980377 -vt 0.515548 0.765478 -vt 0.510871 0.763467 -vt 0.508765 0.772184 -vt 0.522735 0.775993 -vt 0.509913 0.767783 -vt 0.506980 0.769082 -vt 0.671365 0.823745 -vt 0.665551 0.817971 -vt 0.683459 0.806279 -vt 0.661349 0.827349 -vt 0.659893 0.933152 -vt 0.666007 0.927468 -vt 0.655711 0.923696 -vt 0.661320 0.912606 -vt 0.579660 0.820909 -vt 0.575160 0.811380 -vt 0.569043 0.817047 -vt 0.573893 0.927590 -vt 0.563607 0.931466 -vt 0.569418 0.937224 -vt 0.585615 0.931927 -vt 0.509203 0.978098 -vt 0.507387 0.981307 -vt 0.515936 0.984843 -vt 0.521731 0.973881 -vt 0.512564 0.983486 -vt 0.515501 0.984655 -vt 0.704423 0.761660 -vt 0.527601 0.989430 -vt 0.503100 0.785061 -vt 0.725342 0.765908 -vt 0.723791 0.987087 -vt 0.507519 0.763293 -vt 0.666189 0.823560 -vt 0.660093 0.927626 -vt 0.575284 0.816132 -vt 0.569040 0.932227 -vt 0.506922 0.985456 -vt 0.728132 0.965668 -vn -0.8922 0.0000 -0.4516 -vn 0.8922 -0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn -0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3354 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3354 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3354 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4118 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4119 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4118 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4118 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3354 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn 0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2902 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7759 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7758 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1390 -0.3964 -0.9075 -vn -0.4461 -0.4461 -0.7759 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7759 -vn 0.3079 -0.8780 0.3665 -vn 0.6174 -0.6173 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button 1.obj b/src/assets/models/buttons/Button 1.obj deleted file mode 100644 index ccf27d0..0000000 --- a/src/assets/models/buttons/Button 1.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_1_Cube.006 -v 0.133830 0.087751 0.000030 -v 0.126318 0.081027 -0.008838 -v 0.121830 0.075751 0.000030 -v 0.126659 0.085782 -0.002568 -v 0.124605 0.084600 -0.001463 -v 0.123144 0.082267 -0.002568 -v 0.125344 0.084236 0.000030 -v 0.235937 0.075751 0.000030 -v 0.231448 0.081027 -0.008838 -v 0.223937 0.087751 0.000030 -v 0.234622 0.082267 -0.002568 -v 0.233162 0.084600 -0.001463 -v 0.231107 0.085782 -0.002568 -v 0.232422 0.084236 0.000030 -v 0.223937 -0.026203 0.000030 -v 0.231448 -0.019479 -0.008838 -v 0.235937 -0.014203 0.000030 -v 0.231107 -0.024234 -0.002568 -v 0.233162 -0.023052 -0.001463 -v 0.234622 -0.020719 -0.002568 -v 0.232422 -0.022688 0.000030 -v 0.121830 -0.014203 0.000030 -v 0.126318 -0.019479 -0.008838 -v 0.133830 -0.026203 0.000030 -v 0.123144 -0.020719 -0.002568 -v 0.124605 -0.023052 -0.001463 -v 0.126659 -0.024234 -0.002568 -v 0.125344 -0.022688 0.000030 -v 0.150196 0.063234 -0.032304 -v 0.138196 0.051234 -0.032304 -v 0.133707 0.069958 -0.023436 -v 0.141711 0.059719 -0.032304 -v 0.139460 0.062346 -0.030811 -v 0.136881 0.061689 -0.029706 -v 0.140396 0.065204 -0.029706 -v 0.224059 0.069958 -0.023436 -v 0.219570 0.051234 -0.032304 -v 0.207570 0.063234 -0.032304 -v 0.220885 0.061689 -0.029706 -v 0.218306 0.062346 -0.030811 -v 0.216055 0.059719 -0.032304 -v 0.217370 0.065204 -0.029706 -v 0.224059 -0.008410 -0.023436 -v 0.207570 -0.001686 -0.032304 -v 0.219570 0.010314 -0.032304 -v 0.217370 -0.003655 -0.029706 -v 0.218306 -0.000798 -0.030811 -v 0.216055 0.001829 -0.032304 -v 0.220885 -0.000141 -0.029706 -v 0.133707 -0.008410 -0.023436 -v 0.138196 0.010314 -0.032304 -v 0.150196 -0.001686 -0.032304 -v 0.136881 -0.000141 -0.029706 -v 0.139460 -0.000798 -0.030811 -v 0.141711 0.001829 -0.032304 -v 0.140396 -0.003655 -0.029706 -vt 0.098915 0.316576 -vt 0.062798 0.300159 -vt 0.033464 0.260802 -vt 0.080446 0.415670 -vt 0.062441 0.448528 -vt 0.015261 0.465383 -vt 0.082514 0.332524 -vt 0.153368 0.321493 -vt 0.170382 0.338459 -vt 0.158603 0.429100 -vt 0.193097 0.445356 -vt 0.213914 0.490611 -vt 0.231805 0.274565 -vt 0.233691 0.271293 -vt 0.237215 0.287029 -vt 0.224942 0.267786 -vt 0.218598 0.279501 -vt 0.228191 0.269475 -vt 0.225010 0.268559 -vt 0.225646 0.485709 -vt 0.229893 0.487995 -vt 0.232289 0.479053 -vt 0.220542 0.473593 -vt 0.231669 0.482979 -vt 0.234867 0.481364 -vt 0.020934 0.478147 -vt 0.019174 0.481356 -vt 0.027773 0.484940 -vt 0.033513 0.473990 -vt 0.024469 0.483570 -vt 0.027474 0.484761 -vt 0.022204 0.265028 -vt 0.017461 0.262996 -vt 0.015538 0.271699 -vt 0.029631 0.275508 -vt 0.016580 0.267268 -vt 0.013692 0.268536 -vt 0.164875 0.327174 -vt 0.174969 0.323694 -vt 0.168917 0.317880 -vt 0.187953 0.306521 -vt 0.175271 0.433335 -vt 0.181128 0.427660 -vt 0.170989 0.423804 -vt 0.175379 0.412679 -vt 0.074858 0.431687 -vt 0.080903 0.437482 -vt 0.085269 0.427819 -vt 0.097834 0.432162 -vt 0.082917 0.310996 -vt 0.077053 0.316652 -vt 0.087588 0.320535 -vt 0.213234 0.262818 -vt 0.010162 0.284608 -vt 0.039242 0.489593 -vt 0.234127 0.267191 -vt 0.233186 0.488150 -vt 0.018805 0.485513 -vt 0.014092 0.262799 -vt 0.169048 0.323384 -vt 0.176009 0.427743 -vt 0.080403 0.432484 -vt 0.083251 0.315725 -vt 0.237215 0.466805 -vn -0.8922 -0.0000 -0.4516 -vn -0.0000 -0.7968 -0.6042 -vn -0.0000 0.0000 -1.0000 -vn 0.8922 -0.0000 -0.4516 -vn -0.3605 0.8704 0.3353 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3353 -vn 0.3605 -0.8704 0.3353 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3353 -vn -0.1617 0.3905 -0.9063 -vn -0.4118 0.1706 -0.8951 -vn -0.4331 0.4331 -0.7904 -vn 0.4331 0.4331 -0.7904 -vn 0.4118 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn 0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4118 -0.1706 -0.8951 -vn -0.4331 -0.4331 -0.7904 -vn -0.4118 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn 0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2902 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn 0.3080 -0.8780 0.3665 -vn 0.6174 -0.6174 -0.4876 -vn 0.8274 -0.2902 0.4808 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn -0.4461 0.4461 -0.7759 -vn 0.4461 0.4461 -0.7759 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn 0.4461 -0.4461 -0.7759 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn -0.4461 -0.4461 -0.7759 -vn -0.4211 -0.1477 -0.8949 -vn -0.1391 -0.3964 -0.9075 -usemtl Button -s off -f 51/1/1 50/2/1 22/3/1 -f 44/4/2 43/5/2 15/6/2 -f 52/7/3 30/8/3 29/9/3 -f 37/10/4 36/11/4 8/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/12/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/6/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/3/14 -f 27/34/15 25/32/15 23/35/15 -f 28/33/16 27/36/16 24/37/16 -f 32/38/17 35/39/17 29/9/17 -f 34/40/18 32/38/18 30/8/18 -f 35/39/19 34/40/19 31/41/19 -f 39/42/20 42/43/20 36/11/20 -f 41/44/21 39/42/21 37/10/21 -f 42/43/22 41/44/22 38/45/22 -f 46/46/23 49/47/23 43/5/23 -f 48/48/24 46/46/24 44/4/24 -f 49/47/25 48/48/25 45/49/25 -f 53/50/26 56/51/26 50/2/26 -f 55/52/27 53/50/27 51/1/27 -f 56/51/28 55/52/28 52/7/28 -f 29/9/29 31/41/29 1/15/29 -f 2/17/1 31/41/1 3/53/1 -f 31/41/1 34/40/1 30/8/1 -f 3/53/1 31/41/1 30/8/1 -f 30/8/1 51/1/1 3/53/1 -f 51/1/1 53/50/1 50/2/1 -f 50/2/1 23/35/1 22/3/1 -f 23/35/1 25/32/1 22/3/1 -f 22/3/1 3/53/1 51/1/1 -f 3/53/1 6/16/1 2/17/1 -f 23/35/2 50/2/2 24/54/2 -f 50/2/2 56/51/2 52/7/2 -f 24/54/2 50/2/2 52/7/2 -f 52/7/2 44/4/2 24/54/2 -f 44/4/2 46/46/2 43/5/2 -f 43/5/2 16/29/2 15/6/2 -f 16/29/2 18/26/2 15/6/2 -f 15/6/2 24/54/2 44/4/2 -f 24/54/2 27/34/2 23/35/2 -f 44/4/3 52/7/3 29/9/3 -f 52/7/3 55/52/3 51/1/3 -f 30/8/3 52/7/3 51/1/3 -f 30/8/3 32/38/3 29/9/3 -f 29/9/3 38/45/3 44/4/3 -f 38/45/3 41/44/3 37/10/3 -f 44/4/3 38/45/3 45/49/3 -f 37/10/3 45/49/3 38/45/3 -f 45/49/3 48/48/3 44/4/3 -f 16/29/4 43/5/4 17/55/4 -f 43/5/4 49/47/4 45/49/4 -f 17/55/4 43/5/4 45/49/4 -f 45/49/4 37/10/4 17/55/4 -f 37/10/4 39/42/4 36/11/4 -f 36/11/4 9/23/4 8/12/4 -f 9/23/4 11/20/4 8/12/4 -f 8/12/4 17/55/4 37/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/34/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/36/41 -f 32/38/42 33/60/42 35/39/42 -f 34/40/43 33/60/43 32/38/43 -f 35/39/44 33/60/44 34/40/44 -f 39/42/45 40/61/45 42/43/45 -f 41/44/46 40/61/46 39/42/46 -f 42/43/47 40/61/47 41/44/47 -f 46/46/48 47/62/48 49/47/48 -f 48/48/49 47/62/49 46/46/49 -f 49/47/50 47/62/50 48/48/50 -f 53/50/51 54/63/51 56/51/51 -f 55/52/52 54/63/52 53/50/52 -f 56/51/53 54/63/53 55/52/53 -f 9/23/29 36/11/29 10/64/29 -f 36/11/29 42/43/29 38/45/29 -f 10/64/29 36/11/29 38/45/29 -f 38/45/29 29/9/29 10/64/29 -f 29/9/29 35/39/29 31/41/29 -f 31/41/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 29/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button 2.obj b/src/assets/models/buttons/Button 2.obj deleted file mode 100644 index 6f9f9ab..0000000 --- a/src/assets/models/buttons/Button 2.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_2_Cube.002 -v 0.014723 0.087751 0.000030 -v 0.007211 0.081027 -0.008838 -v 0.002723 0.075751 0.000030 -v 0.007552 0.085782 -0.002568 -v 0.005498 0.084600 -0.001463 -v 0.004037 0.082267 -0.002568 -v 0.006237 0.084236 0.000030 -v 0.116830 0.075751 0.000030 -v 0.112341 0.081027 -0.008838 -v 0.104830 0.087751 0.000030 -v 0.115515 0.082267 -0.002568 -v 0.114055 0.084600 -0.001463 -v 0.112000 0.085782 -0.002568 -v 0.113315 0.084236 0.000030 -v 0.002723 -0.014203 0.000030 -v 0.007211 -0.019479 -0.008838 -v 0.014723 -0.026203 0.000030 -v 0.004037 -0.020719 -0.002568 -v 0.005498 -0.023052 -0.001463 -v 0.007552 -0.024234 -0.002568 -v 0.006237 -0.022688 0.000030 -v 0.014600 0.069958 -0.023436 -v 0.031089 0.063234 -0.032304 -v 0.019089 0.051234 -0.032304 -v 0.021289 0.065204 -0.029706 -v 0.020353 0.062346 -0.030811 -v 0.022604 0.059719 -0.032304 -v 0.017774 0.061689 -0.029706 -v 0.104952 0.069958 -0.023436 -v 0.100463 0.051234 -0.032304 -v 0.088463 0.063234 -0.032304 -v 0.101778 0.061689 -0.029706 -v 0.099199 0.062346 -0.030811 -v 0.096948 0.059719 -0.032304 -v 0.098263 0.065204 -0.029706 -v 0.019089 0.010314 -0.032304 -v 0.031089 -0.001686 -0.032304 -v 0.014600 -0.008410 -0.023436 -v 0.022604 0.001829 -0.032304 -v 0.020353 -0.000798 -0.030811 -v 0.021289 -0.003655 -0.029706 -v 0.017774 -0.000141 -0.029706 -v 0.088463 -0.001686 -0.032304 -v 0.100463 0.010314 -0.032304 -v 0.104952 -0.008410 -0.023436 -v 0.096948 0.001829 -0.032304 -v 0.099199 -0.000798 -0.030811 -v 0.101778 -0.000141 -0.029706 -v 0.098263 -0.003655 -0.029706 -v 0.104830 -0.026203 0.000030 -v 0.112341 -0.019479 -0.008838 -v 0.116830 -0.014203 0.000030 -v 0.112000 -0.024234 -0.002568 -v 0.114055 -0.023052 -0.001463 -v 0.115515 -0.020719 -0.002568 -v 0.113315 -0.022688 0.000030 -vt 0.840008 0.316432 -vt 0.803335 0.300086 -vt 0.774807 0.260606 -vt 0.891554 0.428445 -vt 0.927088 0.444455 -vt 0.952633 0.489099 -vt 0.822144 0.332325 -vt 0.897748 0.321202 -vt 0.913771 0.338081 -vt 0.817689 0.414995 -vt 0.799025 0.447811 -vt 0.751997 0.464878 -vt 0.971254 0.272826 -vt 0.972989 0.269510 -vt 0.976235 0.285188 -vt 0.964519 0.266096 -vt 0.959353 0.278055 -vt 0.968086 0.267811 -vt 0.965303 0.266965 -vt 0.964051 0.484194 -vt 0.968565 0.486435 -vt 0.970832 0.477504 -vt 0.957662 0.472242 -vt 0.969838 0.481471 -vt 0.972863 0.479864 -vt 0.763652 0.264966 -vt 0.758974 0.262954 -vt 0.756869 0.271672 -vt 0.770839 0.275481 -vt 0.758017 0.267271 -vt 0.755084 0.268570 -vt 0.919469 0.323233 -vt 0.913655 0.317459 -vt 0.931562 0.305767 -vt 0.909453 0.326837 -vt 0.907997 0.432640 -vt 0.914111 0.426956 -vt 0.903815 0.423184 -vt 0.909424 0.412094 -vt 0.827764 0.320396 -vt 0.823264 0.310867 -vt 0.817147 0.316535 -vt 0.821997 0.427078 -vt 0.811711 0.430954 -vt 0.817522 0.436712 -vt 0.833718 0.431415 -vt 0.757307 0.477586 -vt 0.755491 0.480795 -vt 0.764040 0.484331 -vt 0.769835 0.473368 -vt 0.760668 0.482973 -vt 0.763605 0.484142 -vt 0.952527 0.261148 -vt 0.775705 0.488918 -vt 0.751204 0.284549 -vt 0.973446 0.265396 -vt 0.971895 0.486575 -vt 0.755623 0.262781 -vt 0.914293 0.323048 -vt 0.908197 0.427114 -vt 0.823388 0.315620 -vt 0.817144 0.431715 -vt 0.755026 0.484943 -vt 0.976235 0.465156 -vn -0.8922 0.0000 -0.4516 -vn 0.8922 0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn -0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3353 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3353 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3353 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4118 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4118 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4118 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4118 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3353 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn 0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2902 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7759 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7759 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1391 -0.3964 -0.9075 -vn -0.4461 -0.4461 -0.7759 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7759 -vn 0.3080 -0.8780 0.3665 -vn 0.6174 -0.6174 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button 3.obj b/src/assets/models/buttons/Button 3.obj deleted file mode 100644 index d9af10e..0000000 --- a/src/assets/models/buttons/Button 3.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_3_Cube.004 -v -0.104385 0.087751 0.000030 -v -0.111896 0.081027 -0.008838 -v -0.116385 0.075751 0.000030 -v -0.111555 0.085782 -0.002568 -v -0.113609 0.084600 -0.001463 -v -0.115070 0.082267 -0.002568 -v -0.112870 0.084236 0.000030 -v -0.002277 0.075751 0.000030 -v -0.006766 0.081027 -0.008838 -v -0.014277 0.087751 0.000030 -v -0.003592 0.082267 -0.002568 -v -0.005052 0.084600 -0.001463 -v -0.007107 0.085782 -0.002568 -v -0.005792 0.084236 0.000030 -v -0.116385 -0.014203 0.000030 -v -0.111896 -0.019479 -0.008838 -v -0.104385 -0.026203 0.000030 -v -0.115070 -0.020719 -0.002568 -v -0.113609 -0.023052 -0.001463 -v -0.111555 -0.024234 -0.002568 -v -0.112870 -0.022688 0.000030 -v -0.104507 0.069958 -0.023436 -v -0.088018 0.063234 -0.032304 -v -0.100018 0.051234 -0.032304 -v -0.097818 0.065204 -0.029706 -v -0.098754 0.062346 -0.030811 -v -0.096503 0.059719 -0.032304 -v -0.101333 0.061689 -0.029706 -v -0.014155 0.069958 -0.023436 -v -0.018644 0.051234 -0.032304 -v -0.030644 0.063234 -0.032304 -v -0.017329 0.061689 -0.029706 -v -0.019908 0.062346 -0.030811 -v -0.022159 0.059719 -0.032304 -v -0.020844 0.065204 -0.029706 -v -0.100018 0.010314 -0.032304 -v -0.088018 -0.001686 -0.032304 -v -0.104507 -0.008410 -0.023436 -v -0.096503 0.001829 -0.032304 -v -0.098754 -0.000798 -0.030811 -v -0.097818 -0.003655 -0.029706 -v -0.101333 -0.000141 -0.029706 -v -0.030644 -0.001686 -0.032304 -v -0.018644 0.010314 -0.032304 -v -0.014155 -0.008410 -0.023436 -v -0.022159 0.001829 -0.032304 -v -0.019908 -0.000798 -0.030811 -v -0.017329 -0.000141 -0.029706 -v -0.020844 -0.003655 -0.029706 -v -0.014277 -0.026203 0.000030 -v -0.006766 -0.019479 -0.008838 -v -0.002277 -0.014203 0.000030 -v -0.007107 -0.024234 -0.002568 -v -0.005052 -0.023052 -0.001463 -v -0.003592 -0.020719 -0.002568 -v -0.005792 -0.022688 0.000030 -vt 0.403868 0.184243 -vt 0.439068 0.200964 -vt 0.462160 0.241425 -vt 0.345894 0.066788 -vt 0.309901 0.049776 -vt 0.280980 0.010140 -vt 0.420789 0.169256 -vt 0.343533 0.179552 -vt 0.326442 0.161487 -vt 0.417100 0.091021 -vt 0.435270 0.058495 -vt 0.485393 0.039478 -vt 0.269489 0.228429 -vt 0.267819 0.231796 -vt 0.263941 0.215946 -vt 0.276337 0.235301 -vt 0.281517 0.223197 -vt 0.272901 0.233572 -vt 0.275776 0.234489 -vt 0.269626 0.014164 -vt 0.264894 0.012065 -vt 0.262969 0.020742 -vt 0.276942 0.024710 -vt 0.263955 0.016298 -vt 0.261042 0.017507 -vt 0.473601 0.237000 -vt 0.477952 0.239070 -vt 0.480234 0.230417 -vt 0.467886 0.226223 -vt 0.479462 0.234655 -vt 0.482565 0.233329 -vt 0.320937 0.177354 -vt 0.326942 0.183379 -vt 0.309090 0.195190 -vt 0.331114 0.173712 -vt 0.329943 0.060898 -vt 0.324055 0.066349 -vt 0.334509 0.070394 -vt 0.329321 0.081693 -vt 0.416237 0.180403 -vt 0.420680 0.189894 -vt 0.426556 0.184426 -vt 0.411792 0.078948 -vt 0.422009 0.075612 -vt 0.415992 0.069569 -vt 0.400357 0.072873 -vt 0.479876 0.027118 -vt 0.481799 0.023871 -vt 0.473004 0.020241 -vt 0.466451 0.031890 -vt 0.476216 0.021988 -vt 0.472996 0.021007 -vt 0.288000 0.240354 -vt 0.461333 0.015070 -vt 0.485393 0.217817 -vt 0.267485 0.235995 -vt 0.261516 0.011811 -vt 0.481242 0.239255 -vt 0.326236 0.177687 -vt 0.330222 0.065577 -vt 0.421162 0.185067 -vt 0.416031 0.075129 -vt 0.482252 0.019773 -vt 0.257746 0.033747 -vn -0.8922 -0.0000 -0.4516 -vn 0.8922 -0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn -0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3353 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3353 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3353 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4119 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4118 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4119 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4118 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3353 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn 0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2902 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7758 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7759 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1391 -0.3964 -0.9075 -vn -0.4461 -0.4461 -0.7758 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7759 -vn 0.3080 -0.8780 0.3665 -vn 0.6174 -0.6174 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button 4.obj b/src/assets/models/buttons/Button 4.obj deleted file mode 100644 index b095c51..0000000 --- a/src/assets/models/buttons/Button 4.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_4_Cube.007 -v 0.133830 -0.031203 0.000030 -v 0.126318 -0.037927 -0.008838 -v 0.121830 -0.043203 0.000030 -v 0.126659 -0.033172 -0.002568 -v 0.124605 -0.034354 -0.001463 -v 0.123144 -0.036687 -0.002568 -v 0.125344 -0.034718 0.000030 -v 0.235937 -0.043203 0.000030 -v 0.231448 -0.037927 -0.008838 -v 0.223937 -0.031203 0.000030 -v 0.234622 -0.036687 -0.002568 -v 0.233162 -0.034354 -0.001463 -v 0.231107 -0.033172 -0.002568 -v 0.232422 -0.034718 0.000030 -v 0.121830 -0.133157 0.000030 -v 0.126318 -0.138433 -0.008838 -v 0.133830 -0.145157 0.000030 -v 0.123144 -0.139673 -0.002568 -v 0.124605 -0.142006 -0.001463 -v 0.126659 -0.143188 -0.002568 -v 0.125344 -0.141642 0.000030 -v 0.133707 -0.048996 -0.023436 -v 0.150196 -0.055720 -0.032304 -v 0.138196 -0.067720 -0.032304 -v 0.140396 -0.053751 -0.029706 -v 0.139460 -0.056608 -0.030811 -v 0.141711 -0.059235 -0.032304 -v 0.136881 -0.057265 -0.029706 -v 0.224059 -0.048996 -0.023436 -v 0.219570 -0.067720 -0.032304 -v 0.207570 -0.055720 -0.032304 -v 0.220885 -0.057265 -0.029706 -v 0.218306 -0.056608 -0.030811 -v 0.216055 -0.059235 -0.032304 -v 0.217370 -0.053751 -0.029706 -v 0.138196 -0.108640 -0.032304 -v 0.150196 -0.120640 -0.032304 -v 0.133707 -0.127364 -0.023436 -v 0.141711 -0.117125 -0.032304 -v 0.139460 -0.119752 -0.030811 -v 0.140396 -0.122610 -0.029706 -v 0.136881 -0.119095 -0.029706 -v 0.207570 -0.120640 -0.032304 -v 0.219570 -0.108640 -0.032304 -v 0.224059 -0.127364 -0.023436 -v 0.216055 -0.117125 -0.032304 -v 0.218306 -0.119752 -0.030811 -v 0.220885 -0.119095 -0.029706 -v 0.217370 -0.122610 -0.029706 -v 0.223937 -0.145157 0.000030 -v 0.231448 -0.138433 -0.008838 -v 0.235937 -0.133157 0.000030 -v 0.231107 -0.143188 -0.002568 -v 0.233162 -0.142006 -0.001463 -v 0.234622 -0.139673 -0.002568 -v 0.232422 -0.141642 0.000030 -vt 0.346353 0.316576 -vt 0.310236 0.300159 -vt 0.280902 0.260802 -vt 0.406041 0.429100 -vt 0.440535 0.445356 -vt 0.461351 0.490611 -vt 0.329952 0.332524 -vt 0.400806 0.321493 -vt 0.417820 0.338459 -vt 0.327884 0.415670 -vt 0.309878 0.448528 -vt 0.262699 0.465383 -vt 0.479243 0.274565 -vt 0.481129 0.271293 -vt 0.484653 0.287029 -vt 0.472380 0.267786 -vt 0.466036 0.279501 -vt 0.475628 0.269475 -vt 0.472448 0.268559 -vt 0.473084 0.485709 -vt 0.477331 0.487995 -vt 0.479727 0.479052 -vt 0.467980 0.473593 -vt 0.479107 0.482979 -vt 0.482305 0.481364 -vt 0.269642 0.265028 -vt 0.264899 0.262996 -vt 0.262976 0.271699 -vt 0.277069 0.275508 -vt 0.264018 0.267268 -vt 0.261130 0.268536 -vt 0.422406 0.323694 -vt 0.416355 0.317880 -vt 0.435391 0.306521 -vt 0.412313 0.327174 -vt 0.422708 0.433335 -vt 0.428566 0.427660 -vt 0.418427 0.423804 -vt 0.422817 0.412679 -vt 0.335026 0.320535 -vt 0.330355 0.310996 -vt 0.324491 0.316652 -vt 0.332707 0.427819 -vt 0.322296 0.431687 -vt 0.328341 0.437482 -vt 0.345272 0.432162 -vt 0.268372 0.478147 -vt 0.266612 0.481356 -vt 0.275211 0.484941 -vt 0.280951 0.473990 -vt 0.271906 0.483570 -vt 0.274912 0.484761 -vt 0.460671 0.262818 -vt 0.286680 0.489593 -vt 0.257600 0.284608 -vt 0.481564 0.267191 -vt 0.480623 0.488150 -vt 0.261530 0.262799 -vt 0.416486 0.323384 -vt 0.423447 0.427743 -vt 0.330689 0.315725 -vt 0.327841 0.432484 -vt 0.266243 0.485514 -vt 0.484653 0.466805 -vn -0.8922 -0.0000 -0.4516 -vn 0.8922 -0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn 0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3353 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3353 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3353 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4118 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4118 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4119 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4119 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3353 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn -0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2902 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7759 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7759 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1391 -0.3964 -0.9075 -vn -0.4461 -0.4461 -0.7759 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7759 -vn 0.3079 -0.8780 0.3665 -vn 0.6174 -0.6173 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button 5.obj b/src/assets/models/buttons/Button 5.obj deleted file mode 100644 index d0aff49..0000000 --- a/src/assets/models/buttons/Button 5.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_5_Cube.008 -v 0.014723 -0.031203 0.000030 -v 0.007211 -0.037927 -0.008838 -v 0.002723 -0.043203 0.000030 -v 0.007552 -0.033172 -0.002568 -v 0.005498 -0.034354 -0.001463 -v 0.004037 -0.036687 -0.002568 -v 0.006237 -0.034718 0.000030 -v 0.116830 -0.043203 0.000030 -v 0.112341 -0.037927 -0.008838 -v 0.104830 -0.031203 0.000030 -v 0.115515 -0.036687 -0.002568 -v 0.114055 -0.034354 -0.001463 -v 0.112000 -0.033172 -0.002568 -v 0.113315 -0.034718 0.000030 -v 0.002723 -0.133157 0.000030 -v 0.007211 -0.138433 -0.008838 -v 0.014723 -0.145157 0.000030 -v 0.004037 -0.139673 -0.002568 -v 0.005498 -0.142006 -0.001463 -v 0.007552 -0.143188 -0.002568 -v 0.006237 -0.141642 0.000030 -v 0.014600 -0.048996 -0.023436 -v 0.031089 -0.055720 -0.032304 -v 0.019089 -0.067720 -0.032304 -v 0.021289 -0.053751 -0.029706 -v 0.020353 -0.056608 -0.030811 -v 0.022604 -0.059235 -0.032304 -v 0.017774 -0.057265 -0.029706 -v 0.104952 -0.048996 -0.023436 -v 0.100463 -0.067720 -0.032304 -v 0.088463 -0.055720 -0.032304 -v 0.101778 -0.057265 -0.029706 -v 0.099199 -0.056608 -0.030811 -v 0.096948 -0.059235 -0.032304 -v 0.098263 -0.053751 -0.029706 -v 0.019089 -0.108640 -0.032304 -v 0.031089 -0.120640 -0.032304 -v 0.014600 -0.127364 -0.023436 -v 0.022604 -0.117125 -0.032304 -v 0.020353 -0.119752 -0.030811 -v 0.021289 -0.122610 -0.029706 -v 0.017774 -0.119095 -0.029706 -v 0.088463 -0.120640 -0.032304 -v 0.100463 -0.108640 -0.032304 -v 0.104952 -0.127364 -0.023436 -v 0.096948 -0.117125 -0.032304 -v 0.099199 -0.119752 -0.030811 -v 0.101778 -0.119095 -0.029706 -v 0.098263 -0.122610 -0.029706 -v 0.104830 -0.145157 0.000030 -v 0.112341 -0.138433 -0.008838 -v 0.116830 -0.133157 0.000030 -v 0.112000 -0.143188 -0.002568 -v 0.114055 -0.142006 -0.001463 -v 0.115515 -0.139673 -0.002568 -v 0.113315 -0.141642 0.000030 -vt 0.345830 0.817827 -vt 0.309157 0.801481 -vt 0.280629 0.762000 -vt 0.397377 0.929840 -vt 0.432910 0.945849 -vt 0.458455 0.990493 -vt 0.327966 0.833719 -vt 0.403570 0.822597 -vt 0.419593 0.839476 -vt 0.323512 0.916390 -vt 0.304847 0.949206 -vt 0.257819 0.966273 -vt 0.477076 0.774221 -vt 0.478811 0.770905 -vt 0.482058 0.786582 -vt 0.470341 0.767491 -vt 0.465175 0.779449 -vt 0.473908 0.769205 -vt 0.471125 0.768359 -vt 0.469873 0.985589 -vt 0.474388 0.987830 -vt 0.476655 0.978898 -vt 0.463485 0.973637 -vt 0.475660 0.982865 -vt 0.478686 0.981259 -vt 0.269474 0.766361 -vt 0.264797 0.764349 -vt 0.262691 0.773066 -vt 0.276661 0.776875 -vt 0.263839 0.768666 -vt 0.260906 0.769965 -vt 0.425291 0.824627 -vt 0.419477 0.818853 -vt 0.437385 0.807161 -vt 0.415275 0.828231 -vt 0.413819 0.934035 -vt 0.419933 0.928351 -vt 0.409637 0.924578 -vt 0.415246 0.913489 -vt 0.333586 0.821791 -vt 0.329086 0.812262 -vt 0.322969 0.817929 -vt 0.327819 0.928473 -vt 0.317533 0.932349 -vt 0.323344 0.938106 -vt 0.339541 0.932810 -vt 0.263130 0.978980 -vt 0.261313 0.982190 -vt 0.269863 0.985725 -vt 0.275657 0.974763 -vt 0.266490 0.984368 -vt 0.269428 0.985537 -vt 0.458350 0.762543 -vt 0.281527 0.990312 -vt 0.257026 0.785943 -vt 0.479268 0.766790 -vt 0.477717 0.987970 -vt 0.261445 0.764176 -vt 0.420115 0.824443 -vt 0.414019 0.928509 -vt 0.329210 0.817015 -vt 0.322966 0.933109 -vt 0.260848 0.986338 -vt 0.482058 0.966550 -vn -0.8922 0.0000 -0.4516 -vn 0.8922 -0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn 0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3353 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3353 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3353 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4118 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4118 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4119 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4119 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3353 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn 0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2902 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7759 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7759 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1391 -0.3964 -0.9075 -vn -0.4461 -0.4461 -0.7759 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7759 -vn 0.3080 -0.8780 0.3665 -vn 0.6174 -0.6174 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button 6.obj b/src/assets/models/buttons/Button 6.obj deleted file mode 100644 index 5cba96f..0000000 --- a/src/assets/models/buttons/Button 6.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_6_Cube.009 -v -0.104385 -0.031203 0.000030 -v -0.111896 -0.037927 -0.008838 -v -0.116385 -0.043203 0.000030 -v -0.111555 -0.033172 -0.002568 -v -0.113609 -0.034354 -0.001463 -v -0.115070 -0.036687 -0.002568 -v -0.112870 -0.034718 0.000030 -v -0.002277 -0.043203 0.000030 -v -0.006766 -0.037927 -0.008838 -v -0.014277 -0.031203 0.000030 -v -0.003592 -0.036687 -0.002568 -v -0.005052 -0.034354 -0.001463 -v -0.007107 -0.033172 -0.002568 -v -0.005792 -0.034718 0.000030 -v -0.116385 -0.133157 0.000030 -v -0.111896 -0.138433 -0.008838 -v -0.104385 -0.145157 0.000030 -v -0.115070 -0.139673 -0.002568 -v -0.113609 -0.142006 -0.001463 -v -0.111555 -0.143188 -0.002568 -v -0.112870 -0.141642 0.000030 -v -0.104507 -0.048996 -0.023436 -v -0.088018 -0.055720 -0.032304 -v -0.100018 -0.067720 -0.032304 -v -0.097818 -0.053751 -0.029706 -v -0.098754 -0.056608 -0.030811 -v -0.096503 -0.059235 -0.032304 -v -0.101333 -0.057265 -0.029706 -v -0.014155 -0.048996 -0.023436 -v -0.018644 -0.067720 -0.032304 -v -0.030644 -0.055720 -0.032304 -v -0.017329 -0.057265 -0.029706 -v -0.019908 -0.056608 -0.030811 -v -0.022159 -0.059235 -0.032304 -v -0.020844 -0.053751 -0.029706 -v -0.100018 -0.108640 -0.032304 -v -0.088018 -0.120640 -0.032304 -v -0.104507 -0.127364 -0.023436 -v -0.096503 -0.117125 -0.032304 -v -0.098754 -0.119752 -0.030811 -v -0.097818 -0.122610 -0.029706 -v -0.101333 -0.119095 -0.029706 -v -0.030644 -0.120640 -0.032304 -v -0.018644 -0.108640 -0.032304 -v -0.014155 -0.127364 -0.023436 -v -0.022159 -0.117125 -0.032304 -v -0.019908 -0.119752 -0.030811 -v -0.017329 -0.119095 -0.029706 -v -0.020844 -0.122610 -0.029706 -v -0.014277 -0.145157 0.000030 -v -0.006766 -0.138433 -0.008838 -v -0.002277 -0.133157 0.000030 -v -0.007107 -0.143188 -0.002568 -v -0.005052 -0.142006 -0.001463 -v -0.003592 -0.139673 -0.002568 -v -0.005792 -0.141642 0.000030 -vt 0.561130 0.405765 -vt 0.544765 0.441013 -vt 0.504258 0.464443 -vt 0.672359 0.346379 -vt 0.687977 0.311142 -vt 0.732133 0.284683 -vt 0.577302 0.422528 -vt 0.564832 0.345600 -vt 0.581456 0.328297 -vt 0.659812 0.418314 -vt 0.692172 0.437298 -vt 0.708177 0.489626 -vt 0.515316 0.272381 -vt 0.511970 0.270734 -vt 0.527650 0.266963 -vt 0.508615 0.279199 -vt 0.520705 0.284240 -vt 0.510325 0.275744 -vt 0.509511 0.278587 -vt 0.727273 0.273004 -vt 0.729484 0.268382 -vt 0.720552 0.266312 -vt 0.715446 0.279659 -vt 0.724564 0.267153 -vt 0.722961 0.264135 -vt 0.508816 0.475799 -vt 0.506775 0.480157 -vt 0.515553 0.482466 -vt 0.519613 0.469993 -vt 0.511238 0.481616 -vt 0.512608 0.484694 -vt 0.566493 0.323084 -vt 0.560768 0.329107 -vt 0.548831 0.311435 -vt 0.570256 0.333149 -vt 0.676332 0.330584 -vt 0.670598 0.324699 -vt 0.666947 0.334962 -vt 0.655751 0.329927 -vt 0.565311 0.418058 -vt 0.555714 0.422576 -vt 0.561436 0.428443 -vt 0.671808 0.412896 -vt 0.675627 0.423373 -vt 0.681339 0.417333 -vt 0.676002 0.401321 -vt 0.720965 0.484022 -vt 0.724127 0.486051 -vt 0.727683 0.477177 -vt 0.717031 0.469999 -vt 0.726414 0.480251 -vt 0.727645 0.476899 -vt 0.503694 0.290873 -vt 0.732133 0.465715 -vt 0.528290 0.487836 -vt 0.507839 0.270405 -vt 0.729615 0.264999 -vt 0.506623 0.483437 -vt 0.566373 0.328343 -vt 0.670833 0.330583 -vt 0.560621 0.423008 -vt 0.676493 0.417139 -vt 0.728256 0.486556 -vt 0.708101 0.261289 -vn -0.8922 -0.0000 -0.4516 -vn 0.8922 -0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn 0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3353 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3353 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3353 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4119 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4118 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4119 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4119 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3353 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn -0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2902 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7758 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7759 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1391 -0.3964 -0.9075 -vn -0.4461 -0.4461 -0.7758 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7758 -vn 0.3080 -0.8780 0.3665 -vn 0.6174 -0.6174 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button 7.obj b/src/assets/models/buttons/Button 7.obj deleted file mode 100644 index fc45b1e..0000000 --- a/src/assets/models/buttons/Button 7.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_7_Cube.011 -v 0.133830 -0.150157 0.000030 -v 0.126318 -0.156881 -0.008838 -v 0.121830 -0.162157 0.000030 -v 0.126659 -0.152127 -0.002568 -v 0.124605 -0.153308 -0.001463 -v 0.123144 -0.155641 -0.002568 -v 0.125344 -0.153672 0.000030 -v 0.235937 -0.162157 0.000030 -v 0.231448 -0.156881 -0.008838 -v 0.223937 -0.150157 0.000030 -v 0.234622 -0.155641 -0.002568 -v 0.233162 -0.153308 -0.001463 -v 0.231107 -0.152127 -0.002568 -v 0.232422 -0.153672 0.000030 -v 0.121830 -0.252111 0.000030 -v 0.126318 -0.257387 -0.008838 -v 0.133830 -0.264111 0.000030 -v 0.123144 -0.258627 -0.002568 -v 0.124605 -0.260960 -0.001463 -v 0.126659 -0.262142 -0.002568 -v 0.125344 -0.260597 0.000030 -v 0.133707 -0.167950 -0.023436 -v 0.150196 -0.174674 -0.032304 -v 0.138196 -0.186674 -0.032304 -v 0.140396 -0.172705 -0.029706 -v 0.139460 -0.175562 -0.030811 -v 0.141711 -0.178189 -0.032304 -v 0.136881 -0.176219 -0.029706 -v 0.224059 -0.167950 -0.023436 -v 0.219570 -0.186674 -0.032304 -v 0.207570 -0.174674 -0.032304 -v 0.220885 -0.176219 -0.029706 -v 0.218306 -0.175562 -0.030811 -v 0.216055 -0.178189 -0.032304 -v 0.217370 -0.172705 -0.029706 -v 0.138196 -0.227594 -0.032304 -v 0.150196 -0.239594 -0.032304 -v 0.133707 -0.246318 -0.023436 -v 0.141711 -0.236080 -0.032304 -v 0.139460 -0.238706 -0.030811 -v 0.140396 -0.241564 -0.029706 -v 0.136881 -0.238049 -0.029706 -v 0.207570 -0.239594 -0.032304 -v 0.219570 -0.227594 -0.032304 -v 0.224059 -0.246318 -0.023436 -v 0.216055 -0.236080 -0.032304 -v 0.218306 -0.238706 -0.030811 -v 0.220885 -0.238049 -0.029706 -v 0.217370 -0.241564 -0.029706 -v 0.223937 -0.264111 0.000030 -v 0.231448 -0.257387 -0.008838 -v 0.235937 -0.252111 0.000030 -v 0.231107 -0.262142 -0.002568 -v 0.233162 -0.260960 -0.001463 -v 0.234622 -0.258627 -0.002568 -v 0.232422 -0.260597 0.000030 -vt 0.344441 0.566969 -vt 0.308148 0.549950 -vt 0.280563 0.510238 -vt 0.393914 0.685706 -vt 0.430206 0.702725 -vt 0.457791 0.742436 -vt 0.326288 0.581754 -vt 0.402185 0.573152 -vt 0.417899 0.591563 -vt 0.320456 0.661111 -vt 0.302145 0.694236 -vt 0.256921 0.713962 -vt 0.476379 0.526278 -vt 0.478139 0.522977 -vt 0.481434 0.538712 -vt 0.469674 0.519362 -vt 0.464343 0.531234 -vt 0.473190 0.521126 -vt 0.470388 0.520164 -vt 0.469009 0.738322 -vt 0.473631 0.740408 -vt 0.475813 0.731779 -vt 0.462075 0.727756 -vt 0.474683 0.736147 -vt 0.477641 0.734920 -vt 0.269345 0.514353 -vt 0.264723 0.512267 -vt 0.262541 0.520896 -vt 0.276280 0.524918 -vt 0.263671 0.516527 -vt 0.260714 0.517754 -vt 0.423915 0.575884 -vt 0.418164 0.569786 -vt 0.436209 0.558439 -vt 0.413802 0.579296 -vt 0.410557 0.691634 -vt 0.416727 0.686214 -vt 0.406245 0.682126 -vt 0.412067 0.670921 -vt 0.332110 0.570548 -vt 0.327798 0.561041 -vt 0.321628 0.566461 -vt 0.324553 0.673379 -vt 0.314440 0.676791 -vt 0.320191 0.682889 -vt 0.336170 0.679523 -vt 0.261976 0.726396 -vt 0.260215 0.729698 -vt 0.268681 0.733313 -vt 0.274011 0.721440 -vt 0.265165 0.731548 -vt 0.267967 0.732510 -vt 0.457791 0.514182 -vt 0.280563 0.738492 -vt 0.256921 0.533716 -vt 0.478612 0.518828 -vt 0.476972 0.740646 -vt 0.261383 0.512029 -vt 0.418721 0.575443 -vt 0.410544 0.686947 -vt 0.327811 0.565727 -vt 0.319634 0.677232 -vt 0.259743 0.733847 -vt 0.481434 0.718958 -vn -0.8922 -0.0000 -0.4516 -vn 0.8922 -0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn -0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3353 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3353 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3353 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4118 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4118 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4118 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4118 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3353 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn -0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2902 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7758 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7758 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1391 -0.3965 -0.9075 -vn -0.4461 -0.4461 -0.7759 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7758 -vn 0.3080 -0.8780 0.3664 -vn 0.6174 -0.6174 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button 8.obj b/src/assets/models/buttons/Button 8.obj deleted file mode 100644 index df5cf91..0000000 --- a/src/assets/models/buttons/Button 8.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_8_Cube.012 -v 0.014723 -0.150157 0.000030 -v 0.007211 -0.156881 -0.008838 -v 0.002723 -0.162157 0.000030 -v 0.007552 -0.152127 -0.002568 -v 0.005498 -0.153308 -0.001463 -v 0.004037 -0.155641 -0.002568 -v 0.006237 -0.153672 0.000030 -v 0.116830 -0.162157 0.000030 -v 0.112341 -0.156881 -0.008838 -v 0.104830 -0.150157 0.000030 -v 0.115515 -0.155641 -0.002568 -v 0.114055 -0.153308 -0.001463 -v 0.112000 -0.152127 -0.002568 -v 0.113315 -0.153672 0.000030 -v 0.002723 -0.252111 0.000030 -v 0.007211 -0.257387 -0.008838 -v 0.014723 -0.264111 0.000030 -v 0.004037 -0.258627 -0.002568 -v 0.005498 -0.260960 -0.001463 -v 0.007552 -0.262142 -0.002568 -v 0.006237 -0.260597 0.000030 -v 0.014600 -0.167950 -0.023436 -v 0.031089 -0.174674 -0.032304 -v 0.019089 -0.186674 -0.032304 -v 0.021289 -0.172705 -0.029706 -v 0.020353 -0.175562 -0.030811 -v 0.022604 -0.178189 -0.032304 -v 0.017774 -0.176219 -0.029706 -v 0.104952 -0.167950 -0.023436 -v 0.100463 -0.186674 -0.032304 -v 0.088463 -0.174674 -0.032304 -v 0.101778 -0.176219 -0.029706 -v 0.099199 -0.175562 -0.030811 -v 0.096948 -0.178189 -0.032304 -v 0.098263 -0.172705 -0.029706 -v 0.019089 -0.227594 -0.032304 -v 0.031089 -0.239594 -0.032304 -v 0.014600 -0.246318 -0.023436 -v 0.022604 -0.236080 -0.032304 -v 0.020353 -0.238706 -0.030811 -v 0.021289 -0.241564 -0.029706 -v 0.017774 -0.238049 -0.029706 -v 0.088463 -0.239594 -0.032304 -v 0.100463 -0.227594 -0.032304 -v 0.104952 -0.246318 -0.023436 -v 0.096948 -0.236080 -0.032304 -v 0.099199 -0.238706 -0.030811 -v 0.101778 -0.238049 -0.029706 -v 0.098263 -0.241564 -0.029706 -v 0.104830 -0.264111 0.000030 -v 0.112341 -0.257387 -0.008838 -v 0.116830 -0.252111 0.000030 -v 0.112000 -0.262142 -0.002568 -v 0.114055 -0.260960 -0.001463 -v 0.115515 -0.258627 -0.002568 -v 0.113315 -0.260597 0.000030 -vt 0.591139 0.566086 -vt 0.554846 0.549067 -vt 0.527261 0.509356 -vt 0.640611 0.684823 -vt 0.676904 0.701843 -vt 0.704489 0.741554 -vt 0.572985 0.580871 -vt 0.648883 0.572270 -vt 0.664596 0.590681 -vt 0.567153 0.660229 -vt 0.548843 0.693353 -vt 0.503618 0.713080 -vt 0.723076 0.525396 -vt 0.724837 0.522094 -vt 0.728132 0.537830 -vt 0.716371 0.518479 -vt 0.711041 0.530352 -vt 0.719887 0.520244 -vt 0.717086 0.519282 -vt 0.715707 0.737439 -vt 0.720329 0.739526 -vt 0.722511 0.730896 -vt 0.708772 0.726874 -vt 0.721381 0.735265 -vt 0.724339 0.734038 -vt 0.516043 0.513470 -vt 0.511421 0.511384 -vt 0.509239 0.520013 -vt 0.522978 0.524036 -vt 0.510369 0.515645 -vt 0.507411 0.516872 -vt 0.670612 0.575001 -vt 0.664862 0.568903 -vt 0.682907 0.557557 -vt 0.660499 0.578413 -vt 0.657255 0.690751 -vt 0.663424 0.685332 -vt 0.652942 0.681244 -vt 0.658764 0.670039 -vt 0.578808 0.569666 -vt 0.574495 0.560159 -vt 0.568325 0.565578 -vt 0.571251 0.672496 -vt 0.561137 0.675909 -vt 0.566888 0.682006 -vt 0.582867 0.678640 -vt 0.508674 0.725514 -vt 0.506913 0.728815 -vt 0.515378 0.732430 -vt 0.520709 0.720558 -vt 0.511863 0.730666 -vt 0.514664 0.731628 -vt 0.704489 0.513300 -vt 0.527261 0.737610 -vt 0.503618 0.532834 -vt 0.725310 0.517945 -vt 0.723669 0.739764 -vt 0.508080 0.511146 -vt 0.665419 0.574560 -vt 0.657241 0.686065 -vt 0.574509 0.564845 -vt 0.566331 0.676350 -vt 0.506440 0.732964 -vt 0.728132 0.718076 -vn -0.8922 0.0000 -0.4516 -vn 0.8922 -0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn -0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3353 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3353 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3353 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4118 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4118 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4118 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4118 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3354 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn -0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2902 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6173 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7758 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7758 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1390 -0.3964 -0.9075 -vn -0.4461 -0.4461 -0.7759 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7758 -vn 0.3080 -0.8780 0.3664 -vn 0.6174 -0.6174 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button 9.obj b/src/assets/models/buttons/Button 9.obj deleted file mode 100644 index 5a7c4d8..0000000 --- a/src/assets/models/buttons/Button 9.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_9_Cube.013 -v -0.104385 -0.150157 0.000030 -v -0.111896 -0.156881 -0.008838 -v -0.116385 -0.162157 0.000030 -v -0.111555 -0.152127 -0.002568 -v -0.113609 -0.153308 -0.001463 -v -0.115070 -0.155641 -0.002568 -v -0.112870 -0.153672 0.000030 -v -0.002277 -0.162157 0.000030 -v -0.006766 -0.156881 -0.008838 -v -0.014277 -0.150157 0.000030 -v -0.003592 -0.155641 -0.002568 -v -0.005052 -0.153308 -0.001463 -v -0.007107 -0.152127 -0.002568 -v -0.005792 -0.153672 0.000030 -v -0.116385 -0.252111 0.000030 -v -0.111896 -0.257387 -0.008838 -v -0.104385 -0.264111 0.000030 -v -0.115070 -0.258627 -0.002568 -v -0.113609 -0.260960 -0.001463 -v -0.111555 -0.262142 -0.002568 -v -0.112870 -0.260597 0.000030 -v -0.104507 -0.167950 -0.023436 -v -0.088018 -0.174674 -0.032304 -v -0.100018 -0.186674 -0.032304 -v -0.097818 -0.172705 -0.029706 -v -0.098754 -0.175562 -0.030811 -v -0.096503 -0.178189 -0.032304 -v -0.101333 -0.176219 -0.029706 -v -0.014155 -0.167950 -0.023436 -v -0.018644 -0.186674 -0.032304 -v -0.030644 -0.174674 -0.032304 -v -0.017329 -0.176219 -0.029706 -v -0.019908 -0.175562 -0.030811 -v -0.022159 -0.178189 -0.032304 -v -0.020844 -0.172705 -0.029706 -v -0.100018 -0.227594 -0.032304 -v -0.088018 -0.239594 -0.032304 -v -0.104507 -0.246318 -0.023436 -v -0.096503 -0.236080 -0.032304 -v -0.098754 -0.238706 -0.030811 -v -0.097818 -0.241564 -0.029706 -v -0.101333 -0.238049 -0.029706 -v -0.030644 -0.239594 -0.032304 -v -0.018644 -0.227594 -0.032304 -v -0.014155 -0.246318 -0.023436 -v -0.022159 -0.236080 -0.032304 -v -0.019908 -0.238706 -0.030811 -v -0.017329 -0.238049 -0.029706 -v -0.020844 -0.241564 -0.029706 -v -0.014277 -0.264111 0.000030 -v -0.006766 -0.257387 -0.008838 -v -0.002277 -0.252111 0.000030 -v -0.007107 -0.262142 -0.002568 -v -0.005052 -0.260960 -0.001463 -v -0.003592 -0.258627 -0.002568 -v -0.005792 -0.260597 0.000030 -vt 0.156430 0.184243 -vt 0.191630 0.200964 -vt 0.214722 0.241425 -vt 0.098457 0.066788 -vt 0.062463 0.049776 -vt 0.033542 0.010140 -vt 0.173352 0.169256 -vt 0.096095 0.179552 -vt 0.079004 0.161487 -vt 0.169662 0.091021 -vt 0.187833 0.058495 -vt 0.237955 0.039478 -vt 0.022051 0.228429 -vt 0.020381 0.231796 -vt 0.016504 0.215946 -vt 0.028899 0.235301 -vt 0.034079 0.223197 -vt 0.025463 0.233572 -vt 0.028339 0.234489 -vt 0.022188 0.014164 -vt 0.017456 0.012065 -vt 0.015531 0.020742 -vt 0.029505 0.024710 -vt 0.016517 0.016298 -vt 0.013604 0.017507 -vt 0.226163 0.237000 -vt 0.230515 0.239070 -vt 0.232796 0.230417 -vt 0.220448 0.226223 -vt 0.232025 0.234655 -vt 0.235127 0.233329 -vt 0.073499 0.177354 -vt 0.079505 0.183379 -vt 0.061652 0.195190 -vt 0.083676 0.173712 -vt 0.082505 0.060898 -vt 0.076618 0.066349 -vt 0.087071 0.070394 -vt 0.081883 0.081693 -vt 0.168799 0.180403 -vt 0.173242 0.189894 -vt 0.179118 0.184425 -vt 0.164354 0.078948 -vt 0.174571 0.075612 -vt 0.168554 0.069569 -vt 0.152919 0.072873 -vt 0.232439 0.027118 -vt 0.234362 0.023871 -vt 0.225566 0.020241 -vt 0.219013 0.031890 -vt 0.228778 0.021988 -vt 0.225558 0.021007 -vt 0.040562 0.240354 -vt 0.213896 0.015070 -vt 0.237955 0.217817 -vt 0.020047 0.235995 -vt 0.014078 0.011811 -vt 0.233804 0.239255 -vt 0.078798 0.177687 -vt 0.082784 0.065577 -vt 0.173724 0.185067 -vt 0.168594 0.075129 -vt 0.234815 0.019773 -vt 0.010308 0.033747 -vn -0.8922 -0.0000 -0.4516 -vn 0.8922 -0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn -0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3353 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3353 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3353 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4119 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4118 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4119 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4118 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3353 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn -0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2902 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3664 -vn -0.4461 0.4461 -0.7758 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7758 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1390 -0.3965 -0.9075 -vn -0.4461 -0.4461 -0.7758 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7759 -vn 0.3080 -0.8780 0.3664 -vn 0.6174 -0.6174 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button A.obj b/src/assets/models/buttons/Button A.obj deleted file mode 100644 index d0ea3c0..0000000 --- a/src/assets/models/buttons/Button A.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_A_Cube.015 -v 0.133830 -0.269111 0.000030 -v 0.126318 -0.275835 -0.008838 -v 0.121830 -0.281111 0.000030 -v 0.126659 -0.271081 -0.002568 -v 0.124605 -0.272263 -0.001463 -v 0.123144 -0.274596 -0.002568 -v 0.125344 -0.272626 0.000030 -v 0.235937 -0.281111 0.000030 -v 0.231448 -0.275835 -0.008838 -v 0.223937 -0.269111 0.000030 -v 0.234622 -0.274596 -0.002568 -v 0.233162 -0.272263 -0.001463 -v 0.231107 -0.271081 -0.002568 -v 0.232422 -0.272626 0.000030 -v 0.121830 -0.371066 0.000030 -v 0.126318 -0.376341 -0.008838 -v 0.133830 -0.383066 0.000030 -v 0.123144 -0.377581 -0.002568 -v 0.124605 -0.379914 -0.001463 -v 0.126659 -0.381096 -0.002568 -v 0.125344 -0.379551 0.000030 -v 0.133707 -0.286904 -0.023436 -v 0.150196 -0.293628 -0.032304 -v 0.138196 -0.305628 -0.032304 -v 0.140396 -0.291659 -0.029706 -v 0.139460 -0.294516 -0.030811 -v 0.141711 -0.297143 -0.032304 -v 0.136881 -0.295174 -0.029706 -v 0.224059 -0.286904 -0.023436 -v 0.219570 -0.305628 -0.032304 -v 0.207570 -0.293628 -0.032304 -v 0.220885 -0.295174 -0.029706 -v 0.218306 -0.294516 -0.030811 -v 0.216055 -0.297143 -0.032304 -v 0.217370 -0.291659 -0.029706 -v 0.138196 -0.346549 -0.032304 -v 0.150196 -0.358549 -0.032304 -v 0.133707 -0.365273 -0.023436 -v 0.141711 -0.355034 -0.032304 -v 0.139460 -0.357661 -0.030811 -v 0.140396 -0.360518 -0.029706 -v 0.136881 -0.357003 -0.029706 -v 0.207570 -0.358549 -0.032304 -v 0.219570 -0.346549 -0.032304 -v 0.224059 -0.365273 -0.023436 -v 0.216055 -0.355034 -0.032304 -v 0.218306 -0.357661 -0.030811 -v 0.220885 -0.357003 -0.029706 -v 0.217370 -0.360518 -0.029706 -v 0.223937 -0.383066 0.000030 -v 0.231448 -0.376341 -0.008838 -v 0.235937 -0.371066 0.000030 -v 0.231107 -0.381096 -0.002568 -v 0.233162 -0.379914 -0.001463 -v 0.234622 -0.377581 -0.002568 -v 0.232422 -0.379551 0.000030 -vt 0.836007 0.812284 -vt 0.799334 0.795938 -vt 0.770805 0.756457 -vt 0.887553 0.924297 -vt 0.923087 0.940307 -vt 0.948632 0.984951 -vt 0.818143 0.828176 -vt 0.893746 0.817054 -vt 0.909770 0.833933 -vt 0.813688 0.910847 -vt 0.795024 0.943663 -vt 0.747995 0.960730 -vt 0.967252 0.768678 -vt 0.968988 0.765362 -vt 0.972234 0.781040 -vt 0.960517 0.761948 -vt 0.955352 0.773907 -vt 0.964085 0.763663 -vt 0.961301 0.762817 -vt 0.960050 0.980046 -vt 0.964564 0.982287 -vt 0.966831 0.973356 -vt 0.953661 0.968094 -vt 0.965837 0.977323 -vt 0.968862 0.975716 -vt 0.759651 0.760818 -vt 0.754973 0.758806 -vt 0.752868 0.767524 -vt 0.766838 0.771333 -vt 0.754015 0.763123 -vt 0.751082 0.764422 -vt 0.915467 0.819085 -vt 0.909653 0.813311 -vt 0.927561 0.801619 -vt 0.905452 0.822689 -vt 0.903995 0.928492 -vt 0.910110 0.922808 -vt 0.899814 0.919036 -vt 0.905423 0.907946 -vt 0.823762 0.816248 -vt 0.819262 0.806719 -vt 0.813145 0.812387 -vt 0.817996 0.922930 -vt 0.807710 0.926806 -vt 0.813521 0.932564 -vt 0.829717 0.927267 -vt 0.753306 0.973438 -vt 0.751490 0.976647 -vt 0.760039 0.980183 -vt 0.765833 0.969220 -vt 0.756667 0.978825 -vt 0.759604 0.979994 -vt 0.948526 0.757000 -vt 0.771703 0.984770 -vt 0.747203 0.780401 -vt 0.969445 0.761248 -vt 0.967893 0.982427 -vt 0.751621 0.758633 -vt 0.910291 0.818900 -vt 0.904196 0.922966 -vt 0.819387 0.811472 -vt 0.813142 0.927567 -vt 0.751024 0.980795 -vt 0.972234 0.961007 -vn -0.8922 -0.0000 -0.4516 -vn 0.8922 -0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn -0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3354 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3354 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3354 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4118 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4118 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4118 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4118 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3354 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn 0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2902 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7759 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7759 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1391 -0.3964 -0.9075 -vn -0.4461 -0.4461 -0.7758 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7759 -vn 0.3079 -0.8780 0.3665 -vn 0.6174 -0.6173 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button B.obj b/src/assets/models/buttons/Button B.obj deleted file mode 100644 index 598be38..0000000 --- a/src/assets/models/buttons/Button B.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_B_Cube.017 -v -0.104385 -0.269111 0.000030 -v -0.111896 -0.275835 -0.008838 -v -0.116385 -0.281111 0.000030 -v -0.111555 -0.271081 -0.002568 -v -0.113609 -0.272263 -0.001463 -v -0.115070 -0.274596 -0.002568 -v -0.112870 -0.272626 0.000030 -v -0.002277 -0.281111 0.000030 -v -0.006766 -0.275835 -0.008838 -v -0.014277 -0.269111 0.000030 -v -0.003592 -0.274596 -0.002568 -v -0.005052 -0.272263 -0.001463 -v -0.007107 -0.271081 -0.002568 -v -0.005792 -0.272626 0.000030 -v -0.116385 -0.371066 0.000030 -v -0.111896 -0.376341 -0.008838 -v -0.104385 -0.383066 0.000030 -v -0.115070 -0.377581 -0.002568 -v -0.113609 -0.379914 -0.001463 -v -0.111555 -0.381096 -0.002568 -v -0.112870 -0.379551 0.000030 -v -0.104507 -0.286904 -0.023436 -v -0.088018 -0.293628 -0.032304 -v -0.100018 -0.305628 -0.032304 -v -0.097818 -0.291659 -0.029706 -v -0.098754 -0.294516 -0.030811 -v -0.096503 -0.297143 -0.032304 -v -0.101333 -0.295174 -0.029706 -v -0.014155 -0.286904 -0.023436 -v -0.018644 -0.305628 -0.032304 -v -0.030644 -0.293628 -0.032304 -v -0.017329 -0.295174 -0.029706 -v -0.019908 -0.294516 -0.030811 -v -0.022159 -0.297143 -0.032304 -v -0.020844 -0.291659 -0.029706 -v -0.100018 -0.346549 -0.032304 -v -0.088018 -0.358549 -0.032304 -v -0.104507 -0.365273 -0.023436 -v -0.096503 -0.355034 -0.032304 -v -0.098754 -0.357661 -0.030811 -v -0.097818 -0.360518 -0.029706 -v -0.101333 -0.357003 -0.029706 -v -0.030644 -0.358549 -0.032304 -v -0.018644 -0.346549 -0.032304 -v -0.014155 -0.365273 -0.023436 -v -0.022159 -0.355034 -0.032304 -v -0.019908 -0.357661 -0.030811 -v -0.017329 -0.357003 -0.029706 -v -0.020844 -0.360518 -0.029706 -v -0.014277 -0.383066 0.000030 -v -0.006766 -0.376341 -0.008838 -v -0.002277 -0.371066 0.000030 -v -0.007107 -0.381096 -0.002568 -v -0.005052 -0.379914 -0.001463 -v -0.003592 -0.377581 -0.002568 -v -0.005792 -0.379551 0.000030 -vt 0.561870 0.154715 -vt 0.545505 0.189963 -vt 0.504998 0.213393 -vt 0.673099 0.095329 -vt 0.688717 0.060091 -vt 0.732873 0.033633 -vt 0.578042 0.171477 -vt 0.565571 0.094549 -vt 0.582196 0.077247 -vt 0.660552 0.167263 -vt 0.692911 0.186247 -vt 0.708917 0.238576 -vt 0.516056 0.021330 -vt 0.512710 0.019683 -vt 0.528390 0.015913 -vt 0.509355 0.028149 -vt 0.521444 0.033189 -vt 0.511065 0.024693 -vt 0.510251 0.027536 -vt 0.728013 0.021954 -vt 0.730224 0.017332 -vt 0.721292 0.015261 -vt 0.716186 0.028608 -vt 0.725304 0.016103 -vt 0.723701 0.013084 -vt 0.509556 0.224749 -vt 0.507515 0.229106 -vt 0.516293 0.231415 -vt 0.520353 0.218943 -vt 0.511978 0.230566 -vt 0.513348 0.233644 -vt 0.567233 0.072034 -vt 0.561508 0.078057 -vt 0.549571 0.060385 -vt 0.570996 0.082098 -vt 0.677072 0.079533 -vt 0.671338 0.073648 -vt 0.667686 0.083911 -vt 0.656491 0.078876 -vt 0.566051 0.167008 -vt 0.556454 0.171525 -vt 0.562176 0.177392 -vt 0.672548 0.161846 -vt 0.676367 0.172323 -vt 0.682079 0.166282 -vt 0.676741 0.150270 -vt 0.721705 0.232971 -vt 0.724867 0.235001 -vt 0.728423 0.226126 -vt 0.717771 0.218949 -vt 0.727154 0.229201 -vt 0.728385 0.225848 -vt 0.504434 0.039823 -vt 0.732873 0.214664 -vt 0.529030 0.236785 -vt 0.508579 0.019354 -vt 0.730355 0.013949 -vt 0.507363 0.232387 -vt 0.567113 0.077292 -vt 0.671573 0.079532 -vt 0.561361 0.171957 -vt 0.677233 0.166089 -vt 0.728996 0.235505 -vt 0.708841 0.010238 -vn -0.8922 0.0000 -0.4516 -vn 0.8922 -0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn -0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3354 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3354 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3354 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4119 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4119 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4119 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4118 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3354 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn 0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2902 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6173 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7759 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7759 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1391 -0.3964 -0.9075 -vn -0.4461 -0.4461 -0.7758 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7759 -vn 0.3079 -0.8780 0.3665 -vn 0.6174 -0.6174 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button C.obj b/src/assets/models/buttons/Button C.obj deleted file mode 100644 index 511c70e..0000000 --- a/src/assets/models/buttons/Button C.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_C_Cube.005 -v -0.223492 0.087751 0.000030 -v -0.231003 0.081027 -0.008838 -v -0.235492 0.075751 0.000030 -v -0.230662 0.085782 -0.002568 -v -0.232716 0.084600 -0.001463 -v -0.234177 0.082267 -0.002568 -v -0.231977 0.084236 0.000030 -v -0.121384 0.075751 0.000030 -v -0.125873 0.081027 -0.008838 -v -0.133384 0.087751 0.000030 -v -0.122699 0.082267 -0.002568 -v -0.124160 0.084600 -0.001463 -v -0.126214 0.085782 -0.002568 -v -0.124899 0.084236 0.000030 -v -0.235492 -0.014203 0.000030 -v -0.231003 -0.019479 -0.008838 -v -0.223492 -0.026203 0.000030 -v -0.234177 -0.020719 -0.002568 -v -0.232717 -0.023052 -0.001463 -v -0.230662 -0.024234 -0.002568 -v -0.231977 -0.022688 0.000030 -v -0.223614 0.069958 -0.023436 -v -0.207125 0.063234 -0.032304 -v -0.219125 0.051234 -0.032304 -v -0.216925 0.065204 -0.029706 -v -0.217861 0.062346 -0.030811 -v -0.215610 0.059719 -0.032304 -v -0.220440 0.061689 -0.029706 -v -0.133262 0.069958 -0.023436 -v -0.137751 0.051234 -0.032304 -v -0.149751 0.063234 -0.032304 -v -0.136436 0.061689 -0.029706 -v -0.139015 0.062346 -0.030811 -v -0.141266 0.059719 -0.032304 -v -0.139951 0.065204 -0.029706 -v -0.219125 0.010314 -0.032304 -v -0.207125 -0.001686 -0.032304 -v -0.223614 -0.008410 -0.023436 -v -0.215610 0.001829 -0.032304 -v -0.217861 -0.000798 -0.030811 -v -0.216925 -0.003655 -0.029706 -v -0.220440 -0.000141 -0.029706 -v -0.149751 -0.001686 -0.032304 -v -0.137751 0.010314 -0.032304 -v -0.133262 -0.008410 -0.023436 -v -0.141266 0.001829 -0.032304 -v -0.139015 -0.000798 -0.030811 -v -0.136436 -0.000141 -0.029706 -v -0.139951 -0.003655 -0.029706 -v -0.133384 -0.026203 0.000030 -v -0.125873 -0.019479 -0.008838 -v -0.121384 -0.014203 0.000030 -v -0.126214 -0.024234 -0.002568 -v -0.124160 -0.023052 -0.001463 -v -0.122699 -0.020719 -0.002568 -v -0.124899 -0.022688 0.000030 -vt 0.836007 0.564729 -vt 0.799334 0.548383 -vt 0.770805 0.508902 -vt 0.887553 0.676742 -vt 0.923087 0.692751 -vt 0.948632 0.737395 -vt 0.818143 0.580621 -vt 0.893746 0.569499 -vt 0.909770 0.586378 -vt 0.813688 0.663292 -vt 0.795024 0.696108 -vt 0.747995 0.713175 -vt 0.967252 0.521123 -vt 0.968988 0.517807 -vt 0.972234 0.533485 -vt 0.960517 0.514393 -vt 0.955352 0.526352 -vt 0.964085 0.516107 -vt 0.961301 0.515262 -vt 0.960050 0.732491 -vt 0.964564 0.734732 -vt 0.966831 0.725800 -vt 0.953661 0.720539 -vt 0.965837 0.729768 -vt 0.968862 0.728161 -vt 0.759651 0.513263 -vt 0.754973 0.511251 -vt 0.752868 0.519969 -vt 0.766838 0.523777 -vt 0.754015 0.515568 -vt 0.751082 0.516867 -vt 0.915467 0.571530 -vt 0.909654 0.565755 -vt 0.927561 0.554064 -vt 0.905452 0.575134 -vt 0.903995 0.680937 -vt 0.910110 0.675253 -vt 0.899814 0.671481 -vt 0.905423 0.660391 -vt 0.823762 0.568693 -vt 0.819262 0.559164 -vt 0.813145 0.564831 -vt 0.817995 0.675375 -vt 0.807710 0.679251 -vt 0.813521 0.685009 -vt 0.829717 0.679712 -vt 0.753306 0.725882 -vt 0.751489 0.729092 -vt 0.760039 0.732627 -vt 0.765833 0.721665 -vt 0.756667 0.731270 -vt 0.759604 0.732439 -vt 0.948526 0.509445 -vt 0.771703 0.737215 -vt 0.747203 0.532845 -vt 0.969445 0.513693 -vt 0.967893 0.734872 -vt 0.751621 0.511078 -vt 0.910291 0.571345 -vt 0.904196 0.675411 -vt 0.819387 0.563917 -vt 0.813142 0.680011 -vt 0.751024 0.733240 -vt 0.972234 0.713452 -vn -0.8922 0.0000 -0.4516 -vn 0.8922 -0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn -0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3353 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3353 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3353 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4118 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4119 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4118 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4119 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3353 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn 0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2903 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7759 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7758 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1391 -0.3964 -0.9075 -vn -0.4461 -0.4461 -0.7759 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7759 -vn 0.3080 -0.8780 0.3665 -vn 0.6174 -0.6174 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button D.obj b/src/assets/models/buttons/Button D.obj deleted file mode 100644 index 9b28f50..0000000 --- a/src/assets/models/buttons/Button D.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_D_Cube.010 -v -0.223492 -0.031203 0.000030 -v -0.231003 -0.037927 -0.008838 -v -0.235492 -0.043203 0.000030 -v -0.230662 -0.033172 -0.002568 -v -0.232716 -0.034354 -0.001463 -v -0.234177 -0.036687 -0.002568 -v -0.231977 -0.034718 0.000030 -v -0.121384 -0.043203 0.000030 -v -0.125873 -0.037927 -0.008838 -v -0.133384 -0.031203 0.000030 -v -0.122699 -0.036687 -0.002568 -v -0.124160 -0.034354 -0.001463 -v -0.126214 -0.033172 -0.002568 -v -0.124899 -0.034718 0.000030 -v -0.235492 -0.133157 0.000030 -v -0.231003 -0.138433 -0.008838 -v -0.223492 -0.145157 0.000030 -v -0.234177 -0.139673 -0.002568 -v -0.232717 -0.142006 -0.001463 -v -0.230662 -0.143188 -0.002568 -v -0.231977 -0.141642 0.000030 -v -0.223614 -0.048996 -0.023436 -v -0.207125 -0.055720 -0.032304 -v -0.219125 -0.067720 -0.032304 -v -0.216925 -0.053751 -0.029706 -v -0.217861 -0.056608 -0.030811 -v -0.215610 -0.059235 -0.032304 -v -0.220440 -0.057265 -0.029706 -v -0.133262 -0.048996 -0.023436 -v -0.137751 -0.067720 -0.032304 -v -0.149751 -0.055720 -0.032304 -v -0.136436 -0.057265 -0.029706 -v -0.139015 -0.056608 -0.030811 -v -0.141266 -0.059235 -0.032304 -v -0.139951 -0.053751 -0.029706 -v -0.219125 -0.108640 -0.032304 -v -0.207125 -0.120640 -0.032304 -v -0.223614 -0.127364 -0.023436 -v -0.215610 -0.117125 -0.032304 -v -0.217861 -0.119752 -0.030811 -v -0.216925 -0.122610 -0.029706 -v -0.220440 -0.119095 -0.029706 -v -0.149751 -0.120640 -0.032304 -v -0.137751 -0.108640 -0.032304 -v -0.133262 -0.127364 -0.023436 -v -0.141266 -0.117125 -0.032304 -v -0.139015 -0.119752 -0.030811 -v -0.136436 -0.119095 -0.029706 -v -0.139951 -0.122610 -0.029706 -v -0.133384 -0.145157 0.000030 -v -0.125873 -0.138433 -0.008838 -v -0.121384 -0.133157 0.000030 -v -0.126214 -0.143188 -0.002568 -v -0.124160 -0.142006 -0.001463 -v -0.122699 -0.139673 -0.002568 -v -0.124899 -0.141642 0.000030 -vt 0.840748 0.065382 -vt 0.804075 0.049036 -vt 0.775546 0.009555 -vt 0.892294 0.177395 -vt 0.927828 0.193404 -vt 0.953373 0.238048 -vt 0.822884 0.081274 -vt 0.898488 0.070152 -vt 0.914511 0.087031 -vt 0.818429 0.163945 -vt 0.799765 0.196761 -vt 0.752737 0.213828 -vt 0.971994 0.021776 -vt 0.973729 0.018460 -vt 0.976975 0.034137 -vt 0.965259 0.015046 -vt 0.960093 0.027005 -vt 0.968826 0.016760 -vt 0.966043 0.015914 -vt 0.964791 0.233144 -vt 0.969305 0.235385 -vt 0.971572 0.226453 -vt 0.958402 0.221192 -vt 0.970578 0.230421 -vt 0.973603 0.228814 -vt 0.764392 0.013916 -vt 0.759714 0.011904 -vt 0.757609 0.020621 -vt 0.771579 0.024430 -vt 0.758757 0.016221 -vt 0.755824 0.017520 -vt 0.920209 0.072182 -vt 0.914395 0.066408 -vt 0.932302 0.054716 -vt 0.910193 0.075786 -vt 0.908737 0.181590 -vt 0.914851 0.175906 -vt 0.904555 0.172134 -vt 0.910164 0.161044 -vt 0.828503 0.069346 -vt 0.824004 0.059817 -vt 0.817887 0.065484 -vt 0.822737 0.176028 -vt 0.812451 0.179904 -vt 0.818262 0.185661 -vt 0.834458 0.180365 -vt 0.758047 0.226535 -vt 0.756231 0.229745 -vt 0.764780 0.233280 -vt 0.770575 0.222318 -vt 0.761408 0.231923 -vt 0.764345 0.233092 -vt 0.953267 0.010098 -vt 0.776445 0.237867 -vt 0.751944 0.033498 -vt 0.974186 0.014345 -vt 0.972634 0.235525 -vt 0.756362 0.011731 -vt 0.915033 0.071998 -vt 0.908937 0.176064 -vt 0.824128 0.064570 -vt 0.817883 0.180664 -vt 0.755765 0.233893 -vt 0.976975 0.214105 -vn -0.8922 0.0000 -0.4516 -vn 0.8922 0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn 0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3353 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3353 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3353 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4118 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4119 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4118 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4119 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3353 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn 0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2903 0.4808 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7759 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7759 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1391 -0.3964 -0.9075 -vn -0.4461 -0.4461 -0.7759 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7758 -vn 0.3080 -0.8780 0.3665 -vn 0.6174 -0.6174 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button E.obj b/src/assets/models/buttons/Button E.obj deleted file mode 100644 index 70fda20..0000000 --- a/src/assets/models/buttons/Button E.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_E_Cube.014 -v -0.223492 -0.150157 0.000030 -v -0.231003 -0.156881 -0.008838 -v -0.235492 -0.162157 0.000030 -v -0.230662 -0.152127 -0.002568 -v -0.232716 -0.153308 -0.001463 -v -0.234177 -0.155641 -0.002568 -v -0.231977 -0.153672 0.000030 -v -0.121384 -0.162157 0.000030 -v -0.125873 -0.156881 -0.008838 -v -0.133384 -0.150157 0.000030 -v -0.122699 -0.155641 -0.002568 -v -0.124160 -0.153308 -0.001463 -v -0.126214 -0.152127 -0.002568 -v -0.124899 -0.153672 0.000030 -v -0.235492 -0.252111 0.000030 -v -0.231003 -0.257387 -0.008838 -v -0.223492 -0.264111 0.000030 -v -0.234177 -0.258627 -0.002568 -v -0.232717 -0.260960 -0.001463 -v -0.230662 -0.262142 -0.002568 -v -0.231977 -0.260597 0.000030 -v -0.223614 -0.167950 -0.023436 -v -0.207125 -0.174674 -0.032304 -v -0.219125 -0.186674 -0.032304 -v -0.216925 -0.172705 -0.029706 -v -0.217861 -0.175562 -0.030811 -v -0.215610 -0.178189 -0.032304 -v -0.220440 -0.176219 -0.029706 -v -0.133262 -0.167950 -0.023436 -v -0.137751 -0.186674 -0.032304 -v -0.149751 -0.174674 -0.032304 -v -0.136436 -0.176219 -0.029706 -v -0.139015 -0.175562 -0.030811 -v -0.141266 -0.178189 -0.032304 -v -0.139951 -0.172705 -0.029706 -v -0.219125 -0.227594 -0.032304 -v -0.207125 -0.239594 -0.032304 -v -0.223614 -0.246318 -0.023436 -v -0.215610 -0.236080 -0.032304 -v -0.217861 -0.238706 -0.030811 -v -0.216925 -0.241564 -0.029706 -v -0.220440 -0.238049 -0.029706 -v -0.149751 -0.239594 -0.032304 -v -0.137751 -0.227594 -0.032304 -v -0.133262 -0.246318 -0.023436 -v -0.141266 -0.236080 -0.032304 -v -0.139015 -0.238706 -0.030811 -v -0.136436 -0.238049 -0.029706 -v -0.139951 -0.241564 -0.029706 -v -0.133384 -0.264111 0.000030 -v -0.125873 -0.257387 -0.008838 -v -0.121384 -0.252111 0.000030 -v -0.126214 -0.262142 -0.002568 -v -0.124160 -0.260960 -0.001463 -v -0.122699 -0.258627 -0.002568 -v -0.124899 -0.260597 0.000030 -vt 0.150435 0.685706 -vt 0.186728 0.702725 -vt 0.214313 0.742436 -vt 0.100962 0.566969 -vt 0.064669 0.549950 -vt 0.037084 0.510238 -vt 0.168588 0.670921 -vt 0.092691 0.679523 -vt 0.076977 0.661111 -vt 0.174420 0.591563 -vt 0.192731 0.558439 -vt 0.237955 0.538712 -vt 0.018497 0.726396 -vt 0.016736 0.729698 -vt 0.013442 0.713962 -vt 0.025202 0.733313 -vt 0.030533 0.721440 -vt 0.021686 0.731548 -vt 0.024488 0.732511 -vt 0.025866 0.514353 -vt 0.021245 0.512267 -vt 0.019062 0.520896 -vt 0.032801 0.524918 -vt 0.020192 0.516527 -vt 0.017235 0.517754 -vt 0.225531 0.738322 -vt 0.230153 0.740408 -vt 0.232334 0.731779 -vt 0.218596 0.727756 -vt 0.231205 0.736147 -vt 0.234162 0.734920 -vt 0.070961 0.676791 -vt 0.076712 0.682889 -vt 0.058667 0.694236 -vt 0.081074 0.673379 -vt 0.084319 0.561041 -vt 0.078149 0.566461 -vt 0.088631 0.570548 -vt 0.082809 0.581754 -vt 0.162766 0.682126 -vt 0.167078 0.691634 -vt 0.173248 0.686214 -vt 0.170323 0.579296 -vt 0.180436 0.575884 -vt 0.174685 0.569786 -vt 0.158706 0.573152 -vt 0.232900 0.526278 -vt 0.234661 0.522977 -vt 0.226195 0.519362 -vt 0.220864 0.531235 -vt 0.229711 0.521126 -vt 0.226909 0.520164 -vt 0.037084 0.738492 -vt 0.214313 0.514182 -vt 0.237955 0.718958 -vt 0.016264 0.733847 -vt 0.017904 0.512029 -vt 0.233493 0.740646 -vt 0.076155 0.677232 -vt 0.084332 0.565727 -vt 0.167065 0.686947 -vt 0.175242 0.575443 -vt 0.235133 0.518828 -vt 0.013442 0.533716 -vn -0.8922 0.0000 -0.4516 -vn 0.8922 0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn -0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3353 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3353 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3353 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4118 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4119 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4118 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4119 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3353 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn -0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2903 0.4807 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6173 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6174 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3664 -vn -0.4461 0.4461 -0.7759 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7758 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1390 -0.3964 -0.9075 -vn -0.4461 -0.4461 -0.7759 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7758 -vn 0.3080 -0.8780 0.3664 -vn 0.6174 -0.6174 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button F.obj b/src/assets/models/buttons/Button F.obj deleted file mode 100644 index 2fa8957..0000000 --- a/src/assets/models/buttons/Button F.obj +++ /dev/null @@ -1,277 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib Button.mtl -o Buttons_F_Cube.018 -v -0.223492 -0.269111 0.000030 -v -0.231003 -0.275835 -0.008838 -v -0.235492 -0.281111 0.000030 -v -0.230662 -0.271081 -0.002568 -v -0.232716 -0.272263 -0.001463 -v -0.234177 -0.274596 -0.002568 -v -0.231977 -0.272626 0.000030 -v -0.121384 -0.281111 0.000030 -v -0.125873 -0.275835 -0.008838 -v -0.133384 -0.269111 0.000030 -v -0.122699 -0.274596 -0.002568 -v -0.124160 -0.272263 -0.001463 -v -0.126214 -0.271081 -0.002568 -v -0.124899 -0.272626 0.000030 -v -0.235492 -0.371066 0.000030 -v -0.231003 -0.376341 -0.008838 -v -0.223492 -0.383066 0.000030 -v -0.234177 -0.377581 -0.002568 -v -0.232717 -0.379914 -0.001463 -v -0.230662 -0.381096 -0.002568 -v -0.231977 -0.379551 0.000030 -v -0.223614 -0.286904 -0.023436 -v -0.207125 -0.293628 -0.032304 -v -0.219125 -0.305628 -0.032304 -v -0.216925 -0.291659 -0.029706 -v -0.217861 -0.294516 -0.030811 -v -0.215610 -0.297143 -0.032304 -v -0.220440 -0.295174 -0.029706 -v -0.133262 -0.286904 -0.023436 -v -0.137751 -0.305628 -0.032304 -v -0.149751 -0.293628 -0.032304 -v -0.136436 -0.295174 -0.029706 -v -0.139015 -0.294516 -0.030811 -v -0.141266 -0.297143 -0.032304 -v -0.139951 -0.291659 -0.029706 -v -0.219125 -0.346549 -0.032304 -v -0.207125 -0.358549 -0.032304 -v -0.223614 -0.365273 -0.023436 -v -0.215610 -0.355034 -0.032304 -v -0.217861 -0.357661 -0.030811 -v -0.216925 -0.360518 -0.029706 -v -0.220440 -0.357003 -0.029706 -v -0.149751 -0.358549 -0.032304 -v -0.137751 -0.346549 -0.032304 -v -0.133262 -0.365273 -0.023436 -v -0.141266 -0.355034 -0.032304 -v -0.139015 -0.357661 -0.030811 -v -0.136436 -0.357003 -0.029706 -v -0.139951 -0.360518 -0.029706 -v -0.133384 -0.383066 0.000030 -v -0.125873 -0.376341 -0.008838 -v -0.121384 -0.371066 0.000030 -v -0.126214 -0.381096 -0.002568 -v -0.124160 -0.379914 -0.001463 -v -0.122699 -0.377581 -0.002568 -v -0.124899 -0.379551 0.000030 -vt 0.101728 0.817827 -vt 0.065055 0.801481 -vt 0.036526 0.762000 -vt 0.153274 0.929840 -vt 0.188808 0.945849 -vt 0.214353 0.990493 -vt 0.083864 0.833719 -vt 0.159467 0.822597 -vt 0.175491 0.839476 -vt 0.079409 0.916390 -vt 0.060745 0.949206 -vt 0.013716 0.966273 -vt 0.232974 0.774221 -vt 0.234709 0.770905 -vt 0.237955 0.786582 -vt 0.226239 0.767491 -vt 0.221073 0.779450 -vt 0.229806 0.769205 -vt 0.227022 0.768359 -vt 0.225771 0.985589 -vt 0.230285 0.987830 -vt 0.232552 0.978898 -vt 0.219382 0.973637 -vt 0.231558 0.982866 -vt 0.234583 0.981259 -vt 0.025372 0.766361 -vt 0.020694 0.764349 -vt 0.018589 0.773067 -vt 0.032559 0.776875 -vt 0.019736 0.768666 -vt 0.016804 0.769965 -vt 0.181188 0.824627 -vt 0.175374 0.818853 -vt 0.193282 0.807161 -vt 0.171173 0.828231 -vt 0.169716 0.934035 -vt 0.175831 0.928351 -vt 0.165535 0.924579 -vt 0.171144 0.913489 -vt 0.089483 0.821791 -vt 0.084983 0.812262 -vt 0.078866 0.817929 -vt 0.083717 0.928473 -vt 0.073431 0.932349 -vt 0.079242 0.938106 -vt 0.095438 0.932810 -vt 0.019027 0.978980 -vt 0.017211 0.982190 -vt 0.025760 0.985725 -vt 0.031555 0.974763 -vt 0.022388 0.984368 -vt 0.025325 0.985537 -vt 0.214247 0.762543 -vt 0.037424 0.990312 -vt 0.012924 0.785943 -vt 0.235166 0.766791 -vt 0.233614 0.987970 -vt 0.017342 0.764176 -vt 0.176012 0.824443 -vt 0.169917 0.928509 -vt 0.085108 0.817015 -vt 0.078863 0.933109 -vt 0.016745 0.986338 -vt 0.237955 0.966550 -vn -0.8922 0.0000 -0.4516 -vn 0.8922 0.0000 -0.4516 -vn -0.0000 0.0000 -1.0000 -vn -0.0000 -0.7968 -0.6042 -vn -0.3605 0.8704 0.3354 -vn -0.6330 0.6330 -0.4456 -vn -0.8289 0.3433 0.4417 -vn 0.8289 0.3433 0.4417 -vn 0.6330 0.6330 -0.4456 -vn 0.3605 0.8704 0.3354 -vn -0.8289 -0.3433 0.4417 -vn -0.6330 -0.6330 -0.4456 -vn -0.3605 -0.8704 0.3354 -vn -0.4331 0.4331 -0.7904 -vn -0.1617 0.3905 -0.9063 -vn -0.4118 0.1706 -0.8951 -vn 0.4331 0.4331 -0.7904 -vn 0.4119 0.1706 -0.8951 -vn 0.1617 0.3905 -0.9063 -vn -0.4118 -0.1706 -0.8951 -vn -0.1617 -0.3905 -0.9063 -vn -0.4331 -0.4331 -0.7904 -vn 0.1617 -0.3905 -0.9063 -vn 0.4118 -0.1706 -0.8951 -vn 0.4331 -0.4331 -0.7904 -vn 0.3605 -0.8704 0.3354 -vn 0.6330 -0.6330 -0.4456 -vn 0.8289 -0.3433 0.4417 -vn 0.0000 0.7968 -0.6042 -vn -0.3080 0.8780 0.3665 -vn -0.6174 0.6174 -0.4876 -vn -0.8274 0.2903 0.4807 -vn 0.8274 0.2902 0.4808 -vn 0.6174 0.6174 -0.4876 -vn 0.3080 0.8780 0.3665 -vn -0.8274 -0.2902 0.4808 -vn -0.6173 -0.6174 -0.4876 -vn -0.3080 -0.8780 0.3665 -vn -0.4461 0.4461 -0.7759 -vn -0.1391 0.3964 -0.9075 -vn -0.4211 0.1477 -0.8949 -vn 0.4461 0.4461 -0.7759 -vn 0.4211 0.1477 -0.8949 -vn 0.1391 0.3964 -0.9075 -vn -0.4211 -0.1477 -0.8949 -vn -0.1390 -0.3965 -0.9075 -vn -0.4461 -0.4461 -0.7759 -vn 0.1391 -0.3964 -0.9075 -vn 0.4211 -0.1477 -0.8949 -vn 0.4461 -0.4461 -0.7758 -vn 0.3079 -0.8780 0.3665 -vn 0.6174 -0.6173 -0.4876 -vn 0.8274 -0.2902 0.4808 -usemtl Button -s off -f 36/1/1 38/2/1 15/3/1 -f 30/4/2 29/5/2 8/6/2 -f 37/7/3 24/8/3 23/9/3 -f 43/10/4 45/11/4 50/12/4 -f 4/13/5 7/14/5 1/15/5 -f 6/16/6 4/13/6 2/17/6 -f 7/14/7 6/18/7 3/19/7 -f 11/20/8 14/21/8 8/6/8 -f 13/22/9 11/20/9 9/23/9 -f 14/21/10 13/24/10 10/25/10 -f 18/26/11 21/27/11 15/3/11 -f 20/28/12 18/26/12 16/29/12 -f 21/27/13 20/30/13 17/31/13 -f 25/32/14 28/33/14 22/34/14 -f 27/35/15 25/32/15 23/9/15 -f 28/33/16 27/35/16 24/8/16 -f 32/36/17 35/37/17 29/5/17 -f 34/38/18 32/36/18 30/4/18 -f 35/37/19 34/38/19 31/39/19 -f 39/40/20 42/41/20 36/1/20 -f 41/42/21 39/40/21 37/7/21 -f 42/41/22 41/42/22 38/2/22 -f 46/43/23 49/44/23 43/10/23 -f 48/45/24 46/43/24 44/46/24 -f 49/44/25 48/45/25 45/11/25 -f 53/47/26 56/48/26 50/12/26 -f 55/49/27 53/47/27 51/50/27 -f 56/48/28 55/51/28 52/52/28 -f 23/9/29 22/34/29 1/15/29 -f 2/17/1 22/34/1 3/53/1 -f 22/34/1 28/33/1 24/8/1 -f 3/53/1 22/34/1 24/8/1 -f 24/8/1 36/1/1 3/53/1 -f 36/1/1 42/41/1 38/2/1 -f 38/2/1 16/29/1 15/3/1 -f 16/29/1 18/26/1 15/3/1 -f 15/3/1 3/53/1 36/1/1 -f 3/53/1 6/16/1 2/17/1 -f 51/50/2 45/11/2 52/54/2 -f 45/11/2 48/45/2 44/46/2 -f 52/54/2 45/11/2 44/46/2 -f 44/46/2 30/4/2 52/54/2 -f 30/4/2 32/36/2 29/5/2 -f 29/5/2 9/23/2 8/6/2 -f 9/23/2 11/20/2 8/6/2 -f 8/6/2 52/54/2 30/4/2 -f 52/54/2 55/49/2 51/50/2 -f 43/10/3 37/7/3 23/9/3 -f 37/7/3 39/40/3 36/1/3 -f 24/8/3 37/7/3 36/1/3 -f 24/8/3 27/35/3 23/9/3 -f 23/9/3 31/39/3 43/10/3 -f 31/39/3 34/38/3 30/4/3 -f 43/10/3 31/39/3 44/46/3 -f 30/4/3 44/46/3 31/39/3 -f 44/46/3 46/43/3 43/10/3 -f 16/29/4 38/2/4 17/55/4 -f 38/2/4 41/42/4 37/7/4 -f 17/55/4 38/2/4 37/7/4 -f 37/7/4 43/10/4 17/55/4 -f 43/10/4 49/44/4 45/11/4 -f 45/11/4 51/50/4 50/12/4 -f 51/50/4 53/47/4 50/12/4 -f 50/12/4 17/55/4 43/10/4 -f 17/55/4 20/28/4 16/29/4 -f 4/13/30 5/56/30 7/14/30 -f 6/16/31 5/56/31 4/13/31 -f 7/14/32 5/56/32 6/18/32 -f 11/20/33 12/57/33 14/21/33 -f 13/22/34 12/57/34 11/20/34 -f 14/21/35 12/57/35 13/24/35 -f 18/26/36 19/58/36 21/27/36 -f 20/28/37 19/58/37 18/26/37 -f 21/27/38 19/58/38 20/30/38 -f 25/32/39 26/59/39 28/33/39 -f 27/35/40 26/59/40 25/32/40 -f 28/33/41 26/59/41 27/35/41 -f 32/36/42 33/60/42 35/37/42 -f 34/38/43 33/60/43 32/36/43 -f 35/37/44 33/60/44 34/38/44 -f 39/40/45 40/61/45 42/41/45 -f 41/42/46 40/61/46 39/40/46 -f 42/41/47 40/61/47 41/42/47 -f 46/43/48 47/62/48 49/44/48 -f 48/45/49 47/62/49 46/43/49 -f 49/44/50 47/62/50 48/45/50 -f 53/47/51 54/63/51 56/48/51 -f 55/49/52 54/63/52 53/47/52 -f 56/48/53 54/63/53 55/51/53 -f 9/23/29 29/5/29 10/64/29 -f 29/5/29 35/37/29 31/39/29 -f 10/64/29 29/5/29 31/39/29 -f 31/39/29 23/9/29 10/64/29 -f 23/9/29 25/32/29 22/34/29 -f 22/34/29 2/17/29 1/15/29 -f 2/17/29 4/13/29 1/15/29 -f 1/15/29 10/64/29 23/9/29 -f 10/64/29 13/22/29 9/23/29 diff --git a/src/assets/models/buttons/Button.mtl b/src/assets/models/buttons/Button.mtl deleted file mode 100644 index ed62c3d..0000000 --- a/src/assets/models/buttons/Button.mtl +++ /dev/null @@ -1,13 +0,0 @@ -# Blender MTL File: 'emulator.blend' -# Material Count: 1 - -newmtl Button -Ns 250.000000 -Ka 1.000000 1.000000 1.000000 -Kd 0.003095 0.002616 0.002869 -Ks 0.500000 0.500000 0.500000 -Ke 0.000000 0.000000 0.000000 -Ni 1.450000 -d 1.000000 -illum 2 -map_Kd ../Buttons texture.png diff --git a/src/assets/models/emulator.blend b/src/assets/models/emulator.blend index 2ef939e8fe47c41abf6a43447c6bdd694b5356fb..9c909f5e7ba25023d3f18034a20cfb81d1c6aae4 100644 GIT binary patch delta 193643 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 delta 167191 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 U7nXi{eg5&eP5H;~`Ra!M1EwQLtN;K2 diff --git a/src/assets/models/emulator.mtl b/src/assets/models/emulator.mtl deleted file mode 100644 index b97d0ad..0000000 --- a/src/assets/models/emulator.mtl +++ /dev/null @@ -1,33 +0,0 @@ -# Blender MTL File: 'emulator.blend' -# Material Count: 3 - -newmtl Behind_buttons -Ns 0.000000 -Ka 1.000000 1.000000 1.000000 -Kd 0.001734 0.004824 0.007141 -Ks 0.500000 0.500000 0.500000 -Ke 0.000000 0.000000 0.000000 -Ni 1.550000 -d 1.000000 -illum 2 - -newmtl Case -Ns 298.057005 -Ka 1.000000 1.000000 1.000000 -Kd 0.057402 0.087001 0.228570 -Ks 0.500000 0.500000 0.500000 -Ke 0.000000 0.000000 0.000000 -Ni 1.450000 -d 1.000000 -illum 2 - -newmtl Screen -Ns 250.000000 -Ka 1.000000 1.000000 1.000000 -Kd 0.010867 0.020340 0.012183 -Ks 0.500000 0.500000 0.500000 -Ke 0.000000 0.000000 0.000000 -Ni 1.450000 -d 1.000000 -illum 2 -map_Kd screen-texture.png diff --git a/src/assets/models/emulator.mtls.txt b/src/assets/models/emulator.mtls.txt deleted file mode 100644 index 4d47791..0000000 --- a/src/assets/models/emulator.mtls.txt +++ /dev/null @@ -1,3 +0,0 @@ -Behind_buttons -Case -Screen diff --git a/src/assets/models/emulator.obj b/src/assets/models/emulator.obj deleted file mode 100644 index c04d821..0000000 --- a/src/assets/models/emulator.obj +++ /dev/null @@ -1,500 +0,0 @@ -# Blender v3.6.5 OBJ File: 'emulator.blend' -# www.blender.org -mtllib emulator.mtl -o Case_Cube.001 -v -0.239271 -0.147539 -0.019172 -v -0.000000 -0.386810 -0.019172 -v 0.239271 -0.147539 -0.019172 -v -0.000000 0.091731 -0.019172 -v -0.239271 -0.267175 -0.019172 -v -0.119635 -0.386810 -0.019172 -v 0.239271 -0.267175 -0.019172 -v 0.119635 0.091731 -0.019172 -v -0.239271 -0.027904 -0.019172 -v 0.119635 -0.386810 -0.019172 -v 0.239271 -0.027904 -0.019172 -v -0.119635 0.091731 -0.019172 -v -0.239271 -0.267175 0.000034 -v -0.119635 -0.386810 0.000034 -v 0.239271 -0.267175 0.000034 -v 0.119635 0.091731 0.000034 -v -0.239271 -0.027904 0.000034 -v -0.239271 -0.147539 0.000034 -v 0.119635 -0.386810 0.000034 -v -0.000000 -0.386810 0.000034 -v 0.239271 -0.027904 0.000034 -v 0.239271 -0.147539 0.000034 -v -0.119635 0.091731 0.000034 -v -0.000000 0.091731 0.000034 -v -0.300000 -0.442539 0.075033 -v -0.295000 -0.447539 0.075033 -v -0.295000 -0.442539 0.080828 -v -0.295000 0.447461 0.080828 -v -0.295000 0.452461 0.075033 -v -0.300000 0.447461 0.075033 -v -0.295000 -0.447539 -0.013376 -v -0.300000 -0.442539 -0.013376 -v -0.295000 -0.442539 -0.019172 -v -0.300000 0.447461 -0.013376 -v -0.295000 0.452461 -0.013376 -v -0.294538 0.448820 -0.019172 -v 0.295000 -0.447539 0.075033 -v 0.300000 -0.442539 0.075033 -v 0.295000 -0.442539 0.080828 -v 0.300000 0.447461 0.075033 -v 0.295000 0.452461 0.075033 -v 0.295000 0.447461 0.080828 -v 0.295000 -0.442539 -0.019172 -v 0.300000 -0.442539 -0.013376 -v 0.295000 -0.447539 -0.013376 -v 0.295000 0.452461 -0.013376 -v 0.300000 0.447461 -0.013376 -v 0.294538 0.448820 -0.019172 -v -0.300000 0.142461 0.075033 -v -0.295000 0.142461 0.080828 -v -0.300000 0.142461 -0.013376 -v -0.294556 0.142461 -0.019172 -v 0.294556 0.142461 -0.019172 -v 0.300000 0.142461 -0.013376 -v 0.300000 0.142461 0.075033 -v 0.295000 0.142461 0.080828 -v -0.239271 -0.381810 -0.019172 -v -0.234271 -0.386810 -0.019172 -v -0.234271 -0.386810 -0.019172 -v -0.242806 -0.390345 -0.019172 -v -0.239271 -0.381810 -0.019172 -v 0.239271 -0.386810 -0.019172 -v 0.239271 -0.386810 -0.019172 -v 0.239271 -0.381810 -0.019172 -v 0.242806 -0.390345 -0.019172 -v 0.234271 -0.386810 -0.019172 -v -0.239271 0.091731 -0.019172 -v -0.239271 0.091731 -0.019172 -v -0.239271 0.086731 -0.019172 -v -0.243108 0.094937 -0.019172 -v -0.234271 0.091731 -0.019172 -v 0.239271 0.086731 -0.019172 -v 0.234271 0.091731 -0.019172 -v 0.234271 0.091731 -0.019172 -v 0.243108 0.094937 -0.019172 -v 0.239271 0.086731 -0.019172 -v 0.235000 0.412461 0.003237 -v 0.240000 0.407461 0.003237 -v 0.240000 0.177461 0.003237 -v 0.235000 0.172461 0.003237 -v -0.240000 0.407461 0.003237 -v -0.235000 0.412461 0.003237 -v -0.235000 0.172461 0.003237 -v -0.240000 0.177461 0.003237 -v -0.234271 -0.386810 0.000034 -v -0.239271 -0.381810 0.000034 -v 0.239271 -0.381810 0.000034 -v 0.234271 -0.386810 0.000034 -v 0.234271 0.091731 0.000034 -v 0.239271 0.086731 0.000034 -v -0.239271 0.086731 0.000034 -v -0.234271 0.091731 0.000034 -v 0.240000 0.407461 -0.013376 -v 0.235000 0.412461 -0.013376 -v 0.245873 0.416377 -0.019172 -v 0.240000 0.177461 -0.013376 -v 0.245880 0.169521 -0.019172 -v 0.235000 0.172461 -0.013376 -v -0.235000 0.412461 -0.013376 -v -0.240000 0.407461 -0.013376 -v -0.245874 0.416377 -0.019172 -v -0.235000 0.172461 -0.013376 -v -0.245880 0.169521 -0.019172 -v -0.240000 0.177461 -0.013376 -vt 0.872917 0.514488 -vt 0.627083 0.735512 -vt 0.627083 0.514488 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt -0.002104 -0.002805 -vt 0.622984 0.014488 -vt 0.500000 0.235512 -vt 0.500000 0.014488 -vt 0.500000 0.752083 -vt 0.376059 0.997917 -vt 0.376059 0.752083 -vt 0.000000 0.000000 -vt 0.021832 0.014554 -vt 0.344125 0.229417 -vt 0.622984 0.752083 -vt 0.500000 0.997917 -vt 0.622984 0.514488 -vt 0.500000 0.735512 -vt 0.500000 0.514488 -vt 0.372917 0.514488 -vt 0.127083 0.735512 -vt 0.127083 0.514488 -vt 0.406250 0.250000 -vt 0.376306 0.250000 -vt 0.376306 0.250000 -vt 0.000000 0.000000 -vt 0.021832 0.029109 -vt 0.344125 0.458834 -vt 0.625000 0.500000 -vt 0.852242 0.477242 -vt 0.625000 0.500000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.468750 0.250000 -vt 0.437500 0.250000 -vt 0.437500 0.250000 -vt 0.500000 0.497388 -vt 0.500000 0.437500 -vt 0.500000 0.437500 -vt 0.406250 0.250000 -vt 0.375000 0.375000 -vt 0.375000 0.437500 -vt 0.375000 0.437500 -vt 0.375000 0.312500 -vt 0.375000 0.375000 -vt 0.437500 0.500000 -vt 0.468750 0.500000 -vt 0.468750 0.500000 -vt 0.406250 0.500000 -vt 0.437500 0.500000 -vt 0.500000 0.375000 -vt 0.500000 0.312500 -vt 0.500000 0.312500 -vt 0.375000 0.252612 -vt 0.375000 0.312500 -vt 0.500000 0.375000 -vt 0.376306 0.500000 -vt 0.406250 0.500000 -vt 0.500000 0.252612 -vt 0.500000 0.250000 -vt 0.375000 0.497388 -vt 0.375000 0.500000 -vt 0.498694 0.250000 -vt 0.468750 0.250000 -vt 0.498694 0.500000 -vt 0.498694 0.500000 -vt 0.622396 0.500000 -vt 0.502604 0.500000 -vt 0.622396 0.500000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.376059 0.735512 -vt 0.376059 0.514488 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.625000 0.252604 -vt 0.625000 0.497396 -vt 0.625000 0.252604 -vt 0.500000 0.497396 -vt 0.500000 0.252604 -vt 0.500000 0.497396 -vt 0.502604 0.250000 -vt 0.622396 0.250000 -vt 0.502604 0.250000 -vt 0.125000 0.735512 -vt 0.127083 0.750000 -vt 0.622984 0.997917 -vt 0.625000 0.997917 -vt 0.622984 1.000000 -vt 0.125000 0.514488 -vt 0.127083 0.500000 -vt 0.875000 0.514488 -vt 0.872724 0.500000 -vt 0.372917 0.735512 -vt 0.375000 0.735512 -vt 0.372917 0.750000 -vt 0.622984 0.735512 -vt 0.625000 0.735512 -vt 0.622984 0.750000 -vt 0.376059 0.500000 -vt 0.375000 0.514488 -vt 0.627083 0.500000 -vt 0.625000 0.500000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.500000 0.500000 -vt 0.500000 0.500000 -vt 0.498694 0.500000 -vt 0.625000 0.500000 -vt 0.502604 0.500000 -vt 0.500000 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.250000 -vt 0.622396 0.250000 -vt 0.625000 0.250000 -vt 0.500000 0.252604 -vt 0.500000 0.250000 -vt 0.500000 0.250000 -vt 0.500000 1.000000 -vt 0.875000 0.735512 -vt 0.872917 0.735512 -vt 0.376059 0.250000 -vt 0.500000 0.250000 -vt 0.372917 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.752083 -vt 0.376059 1.000000 -vt 0.622984 0.235512 -vt 0.623532 0.250000 -vt 0.623532 0.500000 -vt 0.649473 0.274473 -vt 0.500000 0.250000 -vt 0.375000 0.252612 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.497396 -vt 0.376059 0.235512 -vt 0.376059 0.014488 -vt 0.000000 0.000000 -vt -0.002104 -0.001403 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.500000 0.497388 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.500000 0.500000 -vt 0.375000 0.500000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn -0.6036 -0.6036 0.5208 -vn -0.6036 0.6036 0.5208 -vn -0.6036 -0.6036 -0.5208 -vn -0.6323 0.6323 -0.4477 -vn 0.6036 -0.6036 0.5208 -vn 0.6036 0.6036 0.5208 -vn 0.6036 -0.6036 -0.5208 -vn 0.6323 0.6323 -0.4477 -vn -0.3427 -0.3428 -0.8747 -vn -0.3607 0.3607 -0.8601 -vn 0.3427 -0.3428 -0.8747 -vn 0.3607 0.3607 -0.8601 -vn -0.7071 -0.7071 0.0000 -vn -0.7571 0.0000 0.6532 -vn -0.7071 0.7071 0.0000 -vn -0.7289 0.0006 -0.6847 -vn 0.0000 -0.7571 -0.6532 -vn 0.0000 0.8467 -0.5320 -vn 0.7289 0.0006 -0.6847 -vn 0.7071 -0.7071 0.0000 -vn 0.7071 0.7071 0.0000 -vn 0.7571 0.0000 0.6532 -vn 0.0000 -0.7571 0.6532 -vn 0.0000 0.7571 0.6532 -vn -0.7277 0.0000 -0.6859 -vn 0.7277 0.0000 -0.6859 -vn 0.7572 0.0000 0.6532 -vn -0.7023 -0.0000 -0.7118 -vn 0.0000 -0.8286 -0.5599 -vn 0.6954 -0.6954 -0.1810 -vn 0.0000 0.8918 -0.4524 -vn 0.7023 -0.0000 -0.7118 -vn -0.7572 0.0000 0.6532 -vn -0.7571 0.0000 -0.6532 -vn 0.7571 0.0000 -0.6532 -vn -0.7289 0.0000 -0.6847 -vn 0.7289 0.0000 -0.6847 -vn -0.7020 0.0000 -0.7122 -vn 0.0000 -0.8286 -0.5598 -vn -0.6954 0.6954 -0.1810 -vn 0.7020 0.0000 -0.7122 -usemtl Case -s off -f 35/1/1 41/2/1 46/3/1 -f 76/4/2 75/5/2 53/6/2 -f 30/7/3 51/8/3 49/9/3 -f 56/10/4 27/11/4 39/12/4 -f 61/13/2 60/14/2 33/15/2 -f 42/16/4 50/17/4 56/10/4 -f 47/18/5 55/19/5 54/20/5 -f 45/21/6 26/22/6 31/23/6 -f 5/24/5 86/25/5 57/26/5 -f 66/27/2 65/28/2 43/29/2 -f 95/30/2 36/31/2 48/32/2 -f 53/33/2 95/34/2 48/35/2 -f 9/36/5 18/37/5 1/38/5 -f 73/39/6 16/40/6 8/41/6 -f 1/38/5 13/42/5 5/24/5 -f 2/43/1 19/44/1 10/45/1 -f 6/46/1 20/47/1 2/43/1 -f 3/48/3 21/49/3 11/50/3 -f 7/51/3 22/52/3 3/48/3 -f 4/53/6 23/54/6 12/55/6 -f 58/56/1 14/57/1 6/46/1 -f 8/41/6 24/58/6 4/53/6 -f 7/51/3 87/59/3 15/60/3 -f 12/55/6 92/61/6 68/62/6 -f 10/45/1 88/63/1 63/64/1 -f 9/36/5 91/65/5 17/66/5 -f 11/50/3 90/67/3 72/68/3 -f 93/69/3 79/70/3 78/71/3 -f 101/72/2 52/73/2 36/74/2 -f 54/20/5 38/75/5 44/76/5 -f 71/77/2 70/78/2 52/73/2 -f 97/79/2 52/73/2 103/80/2 -f 99/81/6 77/82/6 82/83/6 -f 98/84/1 83/85/1 80/86/1 -f 104/87/5 81/88/5 84/89/5 -f 25/90/7 26/22/7 27/91/7 -f 28/92/8 29/93/8 30/94/8 -f 31/23/9 32/95/9 33/96/9 -f 34/97/10 35/1/10 36/98/10 -f 37/99/11 38/100/11 39/101/11 -f 40/102/12 41/103/12 42/104/12 -f 43/105/13 44/76/13 45/106/13 -f 46/107/14 47/108/14 48/32/14 -f 58/109/2 60/14/2 61/13/2 -f 63/110/2 65/28/2 66/27/2 -f 68/111/2 70/78/2 71/77/2 -f 73/112/2 75/113/2 76/114/2 -f 93/69/15 94/115/15 95/30/15 -f 96/116/16 97/117/16 98/118/16 -f 99/119/17 100/120/17 101/121/17 -f 102/122/18 103/123/18 104/124/18 -f 26/22/19 32/95/19 31/23/19 -f 28/92/20 49/125/20 50/17/20 -f 35/1/21 30/126/21 29/127/21 -f 33/128/22 51/8/22 52/129/22 -f 31/23/23 43/130/23 45/21/23 -f 46/3/24 36/31/24 35/1/24 -f 54/20/25 43/105/25 53/131/25 -f 45/21/26 38/75/26 37/99/26 -f 41/2/27 47/18/27 46/3/27 -f 39/12/28 55/19/28 56/10/28 -f 37/99/29 27/91/29 26/22/29 -f 29/93/30 42/16/30 41/132/30 -f 50/17/20 25/133/20 27/11/20 -f 52/129/31 34/134/31 36/135/31 -f 47/18/32 53/131/32 48/136/32 -f 56/10/33 40/102/33 42/16/33 -f 97/117/34 93/69/34 95/30/34 -f 95/30/35 99/81/35 101/137/35 -f 91/65/36 67/138/36 92/61/36 -f 58/56/27 86/25/27 85/139/27 -f 62/140/4 87/141/4 63/64/4 -f 90/67/19 73/39/19 72/68/19 -f 98/84/37 103/123/37 102/122/37 -f 100/120/38 103/123/38 101/121/38 -f 78/71/19 94/142/19 93/69/19 -f 96/116/21 80/86/21 79/70/21 -f 82/83/26 100/120/26 99/81/26 -f 102/122/27 84/89/27 83/85/27 -f 49/9/3 32/143/3 25/144/3 -f 35/1/1 29/127/1 41/2/1 -f 53/6/2 43/29/2 64/145/2 -f 43/29/2 65/28/2 64/145/2 -f 64/145/2 76/4/2 53/6/2 -f 30/7/3 34/134/3 51/8/3 -f 56/10/4 50/17/4 27/11/4 -f 33/15/2 52/146/2 61/13/2 -f 52/146/2 70/78/2 69/147/2 -f 61/13/2 52/146/2 69/147/2 -f 42/16/4 28/92/4 50/17/4 -f 47/18/5 40/102/5 55/19/5 -f 45/21/6 37/99/6 26/22/6 -f 5/24/5 13/42/5 86/25/5 -f 43/29/2 33/15/2 59/148/2 -f 33/15/2 60/14/2 59/148/2 -f 59/148/2 66/27/2 43/29/2 -f 95/30/2 101/137/2 36/31/2 -f 53/33/2 97/79/2 95/34/2 -f 9/36/5 17/66/5 18/37/5 -f 73/39/6 89/149/6 16/40/6 -f 1/38/5 18/37/5 13/42/5 -f 2/43/1 20/47/1 19/44/1 -f 6/46/1 14/57/1 20/47/1 -f 3/48/3 22/52/3 21/49/3 -f 7/51/3 15/60/3 22/52/3 -f 4/53/6 24/58/6 23/54/6 -f 58/56/1 85/139/1 14/57/1 -f 8/41/6 16/40/6 24/58/6 -f 7/51/3 62/140/3 87/59/3 -f 12/55/6 23/54/6 92/61/6 -f 10/45/1 19/44/1 88/63/1 -f 9/36/5 67/138/5 91/65/5 -f 11/50/3 21/49/3 90/67/3 -f 93/69/3 96/116/3 79/70/3 -f 101/72/2 103/80/2 52/73/2 -f 54/20/5 55/19/5 38/75/5 -f 52/73/2 53/33/2 71/77/2 -f 53/33/2 75/5/2 74/150/2 -f 71/77/2 53/33/2 74/150/2 -f 97/79/2 53/33/2 52/73/2 -f 99/81/6 94/142/6 77/82/6 -f 98/84/1 102/122/1 83/85/1 -f 104/87/5 100/120/5 81/88/5 -f 58/109/4 59/148/4 60/14/4 -f 61/13/4 57/151/4 58/109/4 -f 66/27/4 62/152/4 63/110/4 -f 63/110/2 64/145/2 65/28/2 -f 71/77/4 67/153/4 68/111/4 -f 68/111/2 69/147/2 70/78/2 -f 73/112/4 74/154/4 75/113/4 -f 76/114/4 72/68/4 73/112/4 -f 26/22/19 25/90/19 32/95/19 -f 28/92/39 30/94/39 49/125/39 -f 35/1/21 34/97/21 30/126/21 -f 33/128/40 32/143/40 51/8/40 -f 31/23/23 33/96/23 43/130/23 -f 46/3/24 48/32/24 36/31/24 -f 54/20/41 44/76/41 43/105/41 -f 45/21/26 44/76/26 38/75/26 -f 41/2/27 40/102/27 47/18/27 -f 39/12/28 38/75/28 55/19/28 -f 37/99/29 39/101/29 27/91/29 -f 29/93/30 28/92/30 42/16/30 -f 50/17/20 49/125/20 25/133/20 -f 52/129/42 51/8/42 34/134/42 -f 47/18/43 54/20/43 53/131/43 -f 56/10/28 55/19/28 40/102/28 -f 97/117/44 96/116/44 93/69/44 -f 95/30/45 94/142/45 99/81/45 -f 91/65/4 68/62/4 67/138/4 -f 58/56/27 57/26/27 86/25/27 -f 62/140/46 88/155/46 87/141/46 -f 90/67/19 89/149/19 73/39/19 -f 98/84/37 97/117/37 103/123/37 -f 100/120/47 104/87/47 103/123/47 -f 78/71/19 77/82/19 94/142/19 -f 96/116/21 98/84/21 80/86/21 -f 82/83/26 81/88/26 100/120/26 -f 102/122/27 104/87/27 84/89/27 -f 49/9/3 51/8/3 32/143/3 -o Screen_Cube.003 -v 0.240000 0.412461 0.003237 -v 0.240000 0.172461 0.003237 -v -0.240000 0.412461 0.003237 -v -0.240000 0.172461 0.003237 -vt 1.000000 0.000000 -vt 0.000000 1.000000 -vt 1.000000 1.000000 -vt 0.000000 0.000000 -vn 0.0000 0.0000 -1.0000 -usemtl Screen -s off -f 107/156/48 106/157/48 108/158/48 -f 107/156/48 105/159/48 106/157/48 -o Behind_buttons_Plane -v -0.262422 -0.414205 0.036244 -v 0.262422 -0.414205 0.036244 -v -0.262422 0.110639 0.036244 -v 0.262422 0.110639 0.036244 -vt 0.071449 0.071449 -vt 0.732313 0.732313 -vt 0.732313 0.071449 -vt 0.071449 0.732313 -vn 0.0000 0.0000 -1.0000 -usemtl Behind_buttons -s off -f 111/160/49 110/161/49 109/162/49 -f 111/160/49 112/163/49 110/161/49 diff --git a/src/assets/models/emulator.objs.txt b/src/assets/models/emulator.objs.txt deleted file mode 100644 index fa9d829..0000000 --- a/src/assets/models/emulator.objs.txt +++ /dev/null @@ -1,3 +0,0 @@ -Case_Cube.001 -Screen_Cube.003 -Behind_buttons_Plane \ No newline at end of file diff --git a/src/assets/models/export_obj.py b/src/assets/models/export_obj.py index 8ad7161..e7de3ac 100644 --- a/src/assets/models/export_obj.py +++ b/src/assets/models/export_obj.py @@ -3,6 +3,7 @@ from os import path import os from dataclasses import dataclass import shutil +import sys @dataclass class OBJMetadata: @@ -21,7 +22,6 @@ def iter_buttons(): object_names = D.objects.keys() assert object_names for name in object_names: - print(name) if name.startswith("Buttons "): yield D.objects[name] @@ -53,54 +53,76 @@ def write_list_to_file(filename, values): if i > 0: f.write("\n") f.writelines(values[i]) -export_options = { - "use_triangles": True, - "use_materials": True, - "use_normals": True, - "use_vertex_groups": True, - "path_mode": "RELATIVE", -} +def main(output_folder): + if not path.exists(output_folder): + os.mkdir(output_folder) -bpy.ops.object.select_all(action="SELECT") -for btn in iter_buttons(): - btn.select_set(False) + export_options = { + "use_triangles": True, + "use_materials": True, + "use_normals": True, + "use_vertex_groups": True, + "path_mode": "RELATIVE", + } -bpy.ops.export_scene.obj( - filepath="emulator.obj", - use_selection=True, - **export_options -) + bpy.ops.object.select_all(action="SELECT") + for btn in iter_buttons(): + btn.select_set(False) -metadata = extract_metadata("emulator.obj") -write_list_to_file("emulator.mtls.txt", metadata.materials) -write_list_to_file("emulator.objs.txt", metadata.objects) + bpy.ops.export_scene.obj( + filepath=path.join(output_folder, "static_model.obj"), + use_selection=True, + **export_options + ) -object_names = D.objects.keys() -assert object_names -for name in object_names: - if name.startswith("Buttons "): - button_name = name.removeprefix("Buttons ") - button_obj_path = f"buttons/Button {button_name}.obj" - button_mtl_path = f"buttons/Button {button_name}.mtl" - select_one_object(D.objects[name]) - bpy.ops.export_scene.obj( - filepath=button_obj_path, - use_selection=True, - **export_options - ) + metadata = extract_metadata(path.join(output_folder, "static_model.obj")) + write_list_to_file(path.join(output_folder, "static_model.mtls.txt"), metadata.materials) + # write_list_to_file("static_model.objs.txt", metadata.objects) + + if not path.exists(path.join(output_folder, "buttons")): + os.mkdir(path.join(output_folder, "buttons")) + + object_names = D.objects.keys() + assert object_names + for name in object_names: + if name.startswith("Buttons "): + button_name = name.removeprefix("Buttons ") + button_obj_path = path.join(output_folder, f"buttons/Button {button_name}.obj") + button_mtl_path = path.join(output_folder, f"buttons/Button {button_name}.mtl") + select_one_object(D.objects[name]) + bpy.ops.export_scene.obj( + filepath=button_obj_path, + use_selection=True, + **export_options + ) + + tmp_file = "/tmp/blender_export" + with open(button_obj_path, "r") as src: + with open(tmp_file, "w") as dst: + for line in src.readlines(): + if line.startswith("mtllib"): + dst.write("mtllib Button.mtl\n") + else: + dst.write(line) + os.remove(button_obj_path) + shutil.move(tmp_file, button_obj_path) + + if button_name == "0": + os.rename(path.join(output_folder, "buttons/Button 0.mtl"), path.join(output_folder, "buttons/Button.mtl")) + else: + os.remove(button_mtl_path) + + power_switch = D.objects["Power switch"] + select_one_object(power_switch) + bpy.ops.export_scene.obj( + filepath=path.join(output_folder, "power-switch.obj"), + use_selection=True, + **export_options + ) + +argv = sys.argv +argv = argv[argv.index("--") + 1:] +assert len(argv) >= 1 +main(*argv) - tmp_file = "/tmp/blender_export" - with open(button_obj_path, "r") as src: - with open(tmp_file, "w") as dst: - for line in src.readlines(): - if line.startswith("mtllib"): - dst.write("mtllib Button.mtl\n") - else: - dst.write(line) - os.remove(button_obj_path) - shutil.move(tmp_file, button_obj_path) - if button_name == "0": - os.rename("buttons/Button 0.mtl", "buttons/Button.mtl") - else: - os.remove(button_mtl_path) diff --git a/src/chip.zig b/src/chip.zig index 2e44fbc..a40466f 100644 --- a/src/chip.zig +++ b/src/chip.zig @@ -2,7 +2,7 @@ const Self = @This(); const std = @import("std"); const Allocator = std.mem.Allocator; -const Errors = error { UnknownInstruction }; +const Errors = error { UnknownInstruction, ProgramCounterOutOfBounds, MemoryOutOfBounds, StackOverflow, StackUnderflow }; allocator: Allocator, @@ -17,11 +17,11 @@ input: [16]bool, V: [16]u8, -I: u16, // Address pointer -PC: u16, // Program counter -SP: u8, // Stack pointer -DT: u8, // Delay timer -ST: u8, // Sound timer +I: u16 = 0, // Address pointer +PC: u16 = 0, // Program counter +SP: u8 = 0, // Stack pointer +DT: u8 = 0, // Delay timer +ST: u8 = 0, // Sound timer fn get_inst_x(inst: u16) u4 { return @truncate((inst & 0x0F00) >> 8); @@ -61,11 +61,7 @@ pub fn init(allocator: Allocator) !Self { .memory = memory, .stack = [1]u16{0} ** 16, .V = [1]u8{0} ** 16, - .I = 0, .PC = 0x200, - .SP = 0, - .DT = 0, - .ST = 0, .rng = std.rand.DefaultPrng.init(seed), .input = [1]bool{false} ** 16 }; @@ -100,7 +96,7 @@ pub fn init_default_sprites(self: *Self) void { }); } -pub fn display_get(self: *Self, x: u8, y: u8) bool { +pub fn display_get(self: *const Self, x: u8, y: u8) bool { const idx: u16 = @as(u16, y) * self.display_width + x; return self.display[idx]; } @@ -110,6 +106,16 @@ pub fn display_set(self: *Self, x: u8, y: u8, value: bool) void { self.display[idx] = value; } +pub fn memory_set(self: *Self, address: u16, value: u8) !void { + if (address >= self.memory.len) { return Errors.MemoryOutOfBounds; } + self.memory[address] = value; +} + +pub fn memory_get(self: *const Self, address: u16) !u8 { + if (address >= self.memory.len) { return Errors.MemoryOutOfBounds; } + return self.memory[address]; +} + pub fn draw(self: *Self, x: u8, y: u8, n: u4) bool { var result = false; for (0..n) |i| { @@ -130,7 +136,7 @@ pub fn draw(self: *Self, x: u8, y: u8, n: u4) bool { return result; } -pub fn is_input_pressed(self: *Self, key: u4) bool { +pub fn is_input_pressed(self: *const Self, key: u4) bool { return self.input[key]; } @@ -155,13 +161,17 @@ pub fn set_memory_from_file(self: *Self, base_address: u16, file: std.fs.File) ! } } -pub fn current_instruction(self: *Self) u16 { +pub fn current_instruction(self: *const Self) u16 { const high_byte: u16 = self.memory[self.PC]; const low_byte: u16 = self.memory[self.PC+1]; return (high_byte << 8) | low_byte; } pub fn step(self: *Self) !void { + if (self.PC >= self.memory.len) { + return Errors.ProgramCounterOutOfBounds; + } + const instruction: u16 = self.current_instruction(); self.PC += 2; try self.run_instruction(instruction); @@ -302,6 +312,7 @@ pub fn run_instruction(self: *Self, inst: u16) !void { self.clear_display(); } else if (inst & 0xFFFF == 0x00EE) { // 00EE - RET + if (self.SP == 0) return Errors.StackOverflow; self.PC = self.stack[self.SP]; self.SP -= 1; @@ -313,6 +324,7 @@ pub fn run_instruction(self: *Self, inst: u16) !void { self.PC = addr; } else if (inst & 0xF000 == 0x2000) { // 2nnn - CALL addr + if (self.SP >= self.stack.len) return Errors.StackOverflow; const addr = inst & 0x0FFF; self.SP += 1; self.stack[self.SP] = self.PC; @@ -473,22 +485,22 @@ pub fn run_instruction(self: *Self, inst: u16) !void { } else if (inst & 0x00FF == 0x33) { // Fx33 - LD B, Vx const x = get_inst_x(inst); const Vx = self.V[x]; - self.memory[self.I+0] = @divFloor(Vx, 100); - self.memory[self.I+1] = @divFloor(Vx, 10) % 10; - self.memory[self.I+2] = Vx % 10; + try self.memory_set(self.I+0, @divFloor(Vx, 100)); + try self.memory_set(self.I+1, @divFloor(Vx, 10) % 10); + try self.memory_set(self.I+2, Vx % 10); } else if (inst & 0x00FF == 0x55) { // Fx55 - LD [I], Vx const x = get_inst_x(inst); var i: u4 = 0; while (i <= x) : (i += 1) { - self.memory[self.I + i] = self.V[i]; + try self.memory_set(self.I + i, self.V[i]); } } else if (inst & 0x00FF == 0x65) { // Fx65 - LD Vx, [I] const x = get_inst_x(inst); var i: u4 = 0; while (i <= x) : (i += 1) { - self.V[i] = self.memory[self.I + i]; + self.V[i] = try self.memory_get(self.I + i); } } else { return Errors.UnknownInstruction; diff --git a/src/main-scene.zig b/src/main-scene.zig index 2eae2cd..8cbd9bb 100644 --- a/src/main-scene.zig +++ b/src/main-scene.zig @@ -13,23 +13,25 @@ const StringList = std.ArrayList([]const u8); ctx: *GlobalContext, allocator: Allocator, -model: rl.Model, -model_bbox: rl.BoundingBox, -model_position: rl.Vector3, -model_buttons: [16]rl.Model, +// model: rl.Model, +// model_bbox: rl.BoundingBox, +// model_position: rl.Vector3, +// model_buttons: [16]rl.Model, + +emulator: EmulatorModel, camera_turn_vel: rl.Vector3 = rl.Vector3{ .x = 0, .y = 0, .z = 0 }, camera_target_orientation: ?rl.Vector3 = null, previous_click_time: f64 = 0.0, shader: rl.Shader, -light: Light, +lights: [2]Light, chip: *ChipContext, -raylib_chip: RaylibChip, +raylib_chip: *RaylibChip, chip_sound: rl.Sound, -screen_texture: rl.RenderTexture2D, +// screen_texture: rl.RenderTexture2D, pub fn gen_sin_wave(wave: *rl.Wave, frequency: f32) void { assert(wave.sampleSize == 16); // Only 16 bits are supported @@ -66,43 +68,50 @@ const Light = struct { colorLoc: i32, attenuationLoc: i32 = 0, - fn create(light_type: LightType, postion: rl.Vector3, target: rl.Vector3, color: rl.Color, shader: rl.Shader) Light { + fn getLightShaderLocation(shader: rl.Shader, idx: usize, comptime name: []const u8) i32 { + var buf: [128]u8 = undefined; + var fba = std.heap.FixedBufferAllocator.init(&buf); + const prop_name = std.fmt.allocPrintZ(fba.allocator(), "lights[{d}]." ++ name, .{idx}) catch unreachable; + return rl.GetShaderLocation(shader, prop_name); + } + + pub fn init(idx: usize, light_type: LightType, postion: rl.Vector3, target: rl.Vector3, color: rl.Color, shader: rl.Shader) Light { var light = Light{ .type = light_type, .enabled = true, .position = postion, .target = target, .color = color, - .enabledLoc = rl.GetShaderLocation(shader, "lights[0].enabled"), - .typeLoc = rl.GetShaderLocation(shader, "lights[0].type"), - .positionLoc = rl.GetShaderLocation(shader, "lights[0].position"), - .targetLoc = rl.GetShaderLocation(shader, "lights[0].target"), - .colorLoc = rl.GetShaderLocation(shader, "lights[0].color"), + .enabledLoc = Light.getLightShaderLocation(shader, idx, "enabled"), + .typeLoc = Light.getLightShaderLocation(shader, idx, "type"), + .positionLoc = Light.getLightShaderLocation(shader, idx, "position"), + .targetLoc = Light.getLightShaderLocation(shader, idx, "target"), + .colorLoc = Light.getLightShaderLocation(shader, idx, "color"), }; light.update_values(shader); return light; } - fn update_values(light: *Light, shader: rl.Shader) void { - const enabled: i32 = @intFromBool(light.enabled); - rl.SetShaderValue(shader, light.enabledLoc, &enabled, rl.ShaderUniformDataType.SHADER_UNIFORM_INT); + pub fn update_values(self: *Light, shader: rl.Shader) void { + const enabled: i32 = @intFromBool(self.enabled); + rl.SetShaderValue(shader, self.enabledLoc, &enabled, rl.ShaderUniformDataType.SHADER_UNIFORM_INT); - const lightType: i32 = @intFromEnum(light.type); - rl.SetShaderValue(shader, light.typeLoc, &lightType, rl.ShaderUniformDataType.SHADER_UNIFORM_INT); + const lightType: i32 = @intFromEnum(self.type); + rl.SetShaderValue(shader, self.typeLoc, &lightType, rl.ShaderUniformDataType.SHADER_UNIFORM_INT); - const position = [3]f32{ light.position.x, light.position.y, light.position.z }; - rl.SetShaderValue(shader, light.positionLoc, &position, rl.ShaderUniformDataType.SHADER_UNIFORM_VEC3); + const position = [3]f32{ self.position.x, self.position.y, self.position.z }; + rl.SetShaderValue(shader, self.positionLoc, &position, rl.ShaderUniformDataType.SHADER_UNIFORM_VEC3); - const target = [3]f32{ light.target.x, light.target.y, light.target.z }; - rl.SetShaderValue(shader, light.targetLoc, &target, rl.ShaderUniformDataType.SHADER_UNIFORM_VEC3); + const target = [3]f32{ self.target.x, self.target.y, self.target.z }; + rl.SetShaderValue(shader, self.targetLoc, &target, rl.ShaderUniformDataType.SHADER_UNIFORM_VEC3); const color = [4]f32{ - @as(f32, @floatFromInt(light.color.r)) / 255.0, - @as(f32, @floatFromInt(light.color.g)) / 255.0, - @as(f32, @floatFromInt(light.color.b)) / 255.0, - @as(f32, @floatFromInt(light.color.a)) / 255.0, + @as(f32, @floatFromInt(self.color.r)) / 255.0, + @as(f32, @floatFromInt(self.color.g)) / 255.0, + @as(f32, @floatFromInt(self.color.b)) / 255.0, + @as(f32, @floatFromInt(self.color.a)) / 255.0, }; - rl.SetShaderValue(shader, light.colorLoc, &color, rl.ShaderUniformDataType.SHADER_UNIFORM_VEC4); + rl.SetShaderValue(shader, self.colorLoc, &color, rl.ShaderUniformDataType.SHADER_UNIFORM_VEC4); } }; @@ -180,34 +189,82 @@ fn find_line_in_file(filename: []const u8, target: []const u8) !?usize { return null; } -pub fn init(allocator: Allocator, ctx: *GlobalContext) !Self { - var model_buttons = [1]rl.Model{ undefined } ** 16; - inline for ([_][]const u8{ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" }, 0..) |letter, i| { - model_buttons[i] = rl.LoadModel("src/assets/models/buttons/Button " ++ letter ++ ".obj"); +const EmulatorModel = struct { + static_model: rl.Model, + bbox: rl.BoundingBox, + button_models: [16]rl.Model, + + position: rl.Vector3, + screen_texture: rl.RenderTexture2D, + + rl_chip: *const RaylibChip, + + pub fn init(comptime location: []const u8, rl_chip: *const RaylibChip, shader: rl.Shader) !EmulatorModel { + var button_models = [1]rl.Model{ undefined } ** 16; + inline for ([_][]const u8{ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" }, 0..) |letter, i| { + button_models[i] = rl.LoadModel(location ++ "/buttons/Button " ++ letter ++ ".obj"); + } + + var static_model = rl.LoadModel(location ++ "/static_model.obj"); + + for (0..@intCast(static_model.materialCount)) |i| { + static_model.materials.?[i].shader = shader; + } + for (button_models) |btn_model| { + for (0..@intCast(btn_model.materialCount)) |i| { + btn_model.materials.?[i].shader = shader; + } + } + + const screen_texture = rl.LoadRenderTexture(rl_chip.chip.display_width, rl_chip.chip.display_height); + const screen_mtl_idx = try find_line_in_file(location ++ "/static_model.mtls.txt", "Screen"); + rl.SetMaterialTexture(@ptrCast(&static_model.materials.?[screen_mtl_idx.?]), rl.MATERIAL_MAP_DIFFUSE, screen_texture.texture); + + return EmulatorModel{ + .static_model = static_model, + .bbox = rl.GetModelBoundingBox(static_model), + .button_models = button_models, + .screen_texture = screen_texture, + .position = rl.Vector3{ .x = 0, .y = 0, .z = 0 }, + .rl_chip = rl_chip + }; } - var model = rl.LoadModel("src/assets/models/emulator.obj"); - const screen_idx = try find_line_in_file("src/assets/models/emulator.mtls.txt", "Screen"); - var model_bbox = rl.GetModelBoundingBox(model); + pub fn deinit(self: *EmulatorModel) void { + rl.UnloadModel(self.static_model); + for (self.button_models) |btn_model| { + rl.UnloadModel(btn_model); + } + rl.UnloadRenderTexture(self.screen_texture); + } - var model_position = rl.Vector3{ }; + pub fn update_display(self: *EmulatorModel) void { + rl.BeginTextureMode(self.screen_texture); + self.rl_chip.render(); + rl.EndTextureMode(); + } + pub fn draw(self: *EmulatorModel) void { + rl.DrawModel(self.static_model, self.position, 1.0, rl.WHITE); + for (self.button_models, 0..) |btn_model, i| { + var position = self.position; + if (self.rl_chip.chip.is_input_pressed(@intCast(i))) { + position.z += 0.035; + } + rl.DrawModel(btn_model, position, 1.0, rl.WHITE); + } + } +}; + +pub fn init(allocator: Allocator, ctx: *GlobalContext) !Self { const shader = rl.LoadShader("src/shaders/main.vs", "src/shaders/main.fs"); shader.locs.?[@intFromEnum(rl.ShaderLocationIndex.SHADER_LOC_VECTOR_VIEW)] = rl.GetShaderLocation(shader, "viewPos"); const ambientLoc = rl.GetShaderLocation(shader, "ambient"); - rl.SetShaderValue(shader, ambientLoc, &[4]f32{ 0.2, 0.2, 0.2, 1.0 }, .SHADER_UNIFORM_VEC4); + rl.SetShaderValue(shader, ambientLoc, &[4]f32{ 0.6, 0.6, 1, 1.0 }, .SHADER_UNIFORM_VEC4); - var light = Light.create(.DIRECTIONAL, rl.Vector3.new(0.2, 0, -0.2), rl.Vector3.zero(), rl.WHITE, shader); - - for (0..@intCast(model.materialCount)) |i| { - model.materials.?[i].shader = shader; - } - for (model_buttons) |btn_model| { - for (0..@intCast(btn_model.materialCount)) |i| { - btn_model.materials.?[i].shader = shader; - } - } + var light1 = Light.init(0, .DIRECTIONAL, rl.Vector3.new(0.2, 0, -0.2), rl.Vector3.zero(), rl.WHITE, shader); + var light2 = Light.init(1, .DIRECTIONAL, rl.Vector3.new(0.2, 0, 0.2), rl.Vector3.zero(), rl.WHITE, shader); var chip = try allocator.create(ChipContext); chip.* = try ChipContext.init(allocator); @@ -226,53 +283,46 @@ pub fn init(allocator: Allocator, ctx: *GlobalContext) !Self { gen_sin_wave(&chip_wave, 440); var chip_sound = rl.LoadSoundFromWave(chip_wave); rl.SetSoundVolume(chip_sound, 0.2); - var raylib_chip = RaylibChip.init(chip, chip_sound); - var screen_texture = rl.LoadRenderTexture(chip.display_width, chip.display_height); + var raylib_chip = try allocator.create(RaylibChip); + raylib_chip.* = RaylibChip.init(chip, chip_sound); - rl.SetMaterialTexture(@ptrCast(&model.materials.?[screen_idx.?]), rl.MATERIAL_MAP_DIFFUSE, screen_texture.texture); - - var self = Self { + return Self { .allocator = allocator, .ctx = ctx, - .model = model, - .model_bbox = model_bbox, - .model_position = model_position, - .model_buttons = model_buttons, + .emulator = try EmulatorModel.init("src/assets/models/emulator", raylib_chip, shader), .shader = shader, - .light = light, + .lights = .{light1, light2}, .chip = chip, .raylib_chip = raylib_chip, .chip_sound = chip_sound, - - .screen_texture = screen_texture, }; - - return self; } pub fn deinit(self: *Self) void { - rl.UnloadRenderTexture(self.screen_texture); + self.emulator.deinit(); rl.UnloadSound(self.chip_sound); self.chip.deinit(); + self.allocator.destroy(self.raylib_chip); self.allocator.destroy(self.chip); } fn update_camera(self: *Self, dt: f32) void { const mouse_delta = rl.GetMouseDelta(); const camera = &self.ctx.camera; + const emulator = &self.emulator; if (rl.IsWindowResized()) { - const distance = get_preffered_distance_to_box(camera, self.model_bbox); - const direction = camera.position.sub(self.model_position).normalize(); - camera.position = self.model_position.add(direction.scale(distance)); + const distance = get_preffered_distance_to_box(camera, emulator.bbox); + const direction = camera.position.sub(emulator.position).normalize(); + camera.position = emulator.position.add(direction.scale(distance)); } if (rl.Vector3Equals(camera.position, rl.Vector3Zero()) == 1) { - const distance = get_preffered_distance_to_box(camera, self.model_bbox); - camera.target = self.model_position; - camera.position = self.model_position.sub(rl.Vector3.new(0, 0, 1).scale(distance)); + const distance = get_preffered_distance_to_box(camera, self.emulator.bbox); + camera.target = emulator.position; + camera.position = emulator.position.sub(rl.Vector3.new(0, 0, 1).scale(distance)); } var camera_turn_acc = rl.Vector3Zero(); @@ -293,7 +343,7 @@ fn update_camera(self: *Self, dt: f32) void { const duration_between_clicks = now - self.previous_click_time; if (duration_between_clicks < 0.3) { const ray = rl.GetMouseRay(rl.GetMousePosition(), camera.*); - const collision = rl.GetRayCollisionBox(ray, self.model_bbox); + const collision = rl.GetRayCollisionBox(ray, self.emulator.bbox); if (collision.hit) { const front_face_normal = rl.Vector3.new(0, 0, -1); const back_face_normal = rl.Vector3.new(0, 0, 1); @@ -308,7 +358,7 @@ fn update_camera(self: *Self, dt: f32) void { } if (self.camera_target_orientation) |target| { - const current_direction = camera.position.sub(self.model_position).normalize(); + const current_direction = camera.position.sub(emulator.position).normalize(); const current_angle = std.math.atan2(f32, current_direction.z, current_direction.x); const target_angle = std.math.atan2(f32, target.z, target.x); const diff_angle = std.math.pi - @mod((target_angle - current_angle) + 3*std.math.pi, 2*std.math.pi); @@ -338,11 +388,11 @@ pub fn update(self: *Self, dt: f32) void { const camera = &self.ctx.camera; const cameraPos = [3]f32{ camera.position.x, camera.position.y, camera.position.z }; rl.SetShaderValue(self.shader, self.shader.locs.?[@intFromEnum(rl.ShaderLocationIndex.SHADER_LOC_VECTOR_VIEW)], &cameraPos, rl.ShaderUniformDataType.SHADER_UNIFORM_VEC3); - self.light.update_values(self.shader); + for (&self.lights) |*light| { + light.update_values(self.shader); + } - rl.BeginTextureMode(self.screen_texture); - self.raylib_chip.render(); - rl.EndTextureMode(); + self.emulator.update_display(); // { // var matProj = rl.MatrixIdentity(); @@ -394,12 +444,5 @@ pub fn update(self: *Self, dt: f32) void { } pub fn draw(self: *Self) void { - rl.DrawModel(self.model, self.model_position, 1.0, rl.WHITE); - for (self.model_buttons, 0..) |btn_model, i| { - var position = self.model_position; - if (self.chip.is_input_pressed(@intCast(i))) { - position.z += 0.035; - } - rl.DrawModel(btn_model, position, 1.0, rl.WHITE); - } + self.emulator.draw(); } diff --git a/src/raylib-chip.zig b/src/raylib-chip.zig index d5203ac..faeaa5b 100644 --- a/src/raylib-chip.zig +++ b/src/raylib-chip.zig @@ -83,7 +83,7 @@ pub fn update(self: *Self, dt: f32) void { } } -pub fn render(self: *Self) void { +pub fn render(self: *const Self) void { rl.DrawRectangle(0, 0, self.chip.display_width, self.chip.display_height, self.off_color); for (0..self.chip.display_height) |y| { diff --git a/src/shaders/main.fs b/src/shaders/main.fs index 14868d2..d2a423e 100644 --- a/src/shaders/main.fs +++ b/src/shaders/main.fs @@ -15,7 +15,7 @@ out vec4 finalColor; // NOTE: Add here your custom variables -#define MAX_LIGHTS 1 +#define MAX_LIGHTS 2 #define LIGHT_DIRECTIONAL 0 #define LIGHT_POINT 1 @@ -75,6 +75,7 @@ void main() } finalColor = (texelColor*((colDiffuse + vec4(specular, 1.0))*vec4(lightDot, 1.0))); + finalColor += texelColor*(ambient/10.0)*colDiffuse; // Gamma correction finalColor = pow(finalColor, vec4(1.0/1.9));